/* Persian typography
   Vazirmatn is loaded from jsDelivr; text numbers are converted to Persian with app.js.
   Keep all font imports before other CSS rules. */
@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@33.003/Vazirmatn-font-face.css');

html,body,body *,input,textarea,button,select,.btn,.form-control,.form-select,.dropdown-menu,.modal,.popover{
  font-family:'Vazirmatn','Vazir',Tahoma,Arial,sans-serif!important;
  letter-spacing:0!important;
}
body,input,textarea,button,select{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:'ss01' 1,'tnum' 1;
}
[dir='rtl'] input,[dir='rtl'] textarea{direction:rtl;text-align:right;}
input[type='number'],input[name*='mobile'],input[name*='phone'],input[name*='amount'],input[name*='price']{font-family:'Vazirmatn',Tahoma,Arial,sans-serif!important;}
body{background:#f7f8fb;color:#1f2937}body,input,textarea,button,select{font-feature-settings:"ss01"}.card{border:0;border-radius:20px;box-shadow:0 10px 30px #0000000a}.btn{border-radius:12px}.form-control,.form-select{border-radius:12px}.nav-link:hover,.nav-link.active{background:#f1f5f9}.minimal-hero{min-height:65vh;display:grid;place-items:center}.table>:not(caption)>*>*{background:transparent}.timer{font-variant-numeric:tabular-nums;font-size:22px}.chat-box{height:58vh;overflow:auto;background:#fff;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}.msg{position:relative;max-width:76%;padding:10px 12px 8px;border-radius:18px;margin:2px 0;background:#eef2ff;box-shadow:0 3px 14px #0000000a;align-self:flex-start}.msg.me{align-self:flex-end;background:#dcfce7}.msg.closed{background:#f1f5f9;color:#64748b;align-self:center;text-align:center}.msg .meta{font-size:11px;color:#64748b;display:flex;align-items:center;gap:6px}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere}.reply-btn{border:0;background:transparent;color:#64748b;padding:0 4px;line-height:1}.reply-btn:hover{color:#0d6efd}.reply-preview{border-right:3px solid #0d6efd;background:#ffffff80;border-radius:10px;padding:6px 9px;margin:6px 0;font-size:12px;color:#475569;max-height:55px;overflow:hidden}.reply-compose{display:flex;align-items:center;justify-content:space-between;background:#f1f5f9;border-right:4px solid #0d6efd;border-radius:14px;padding:8px 10px;margin-bottom:8px}.chat-toolbar{display:flex;gap:6px;align-items:center}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid #e5e7eb;background:#fff}.emoji-panel{display:none;position:absolute;bottom:70px;right:18px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:8px;box-shadow:0 12px 30px #0001;z-index:5}.emoji-panel button{border:0;background:transparent;font-size:22px;padding:4px}.composer{position:relative}.voice-preview{display:none;align-items:center;gap:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;padding:8px;margin-bottom:8px}.ticks{font-size:13px;margin-right:4px;color:#64748b}.ticks.read{color:#0d6efd}.file-link,.voice-player{display:block;margin-top:6px}.voice-player{max-width:260px}.recording{background:#fee2e2!important;border-color:#fecaca!important;color:#991b1b}.small-muted{font-size:12px;color:#64748b}

/* Fix 12 UI polish: authentication, dashboard and plan cards */
:root{
  --soft-primary:#2563eb;
  --soft-primary-2:#60a5fa;
  --soft-success:#16a34a;
  --soft-bg:#f6f8fc;
  --soft-card:#ffffffcc;
  --soft-border:#e8edf5;
  --soft-text:#172033;
}
body{background:linear-gradient(180deg,#f8fafc 0%,#f3f6fb 100%);color:var(--soft-text)}
.auth-body{min-height:100vh;background:radial-gradient(circle at top right,#e0f2fe 0,#f8fafc 36%,#ffffff 100%);}
.admin-auth-body{background:radial-gradient(circle at top right,#f1f5f9 0,#f8fafc 40%,#ffffff 100%)}
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.auth-card{width:100%;max-width:520px;border:1px solid #eef2f7!important;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(15,23,42,.08)!important;}
.auth-logo{width:62px;height:62px;display:grid;place-items:center;border-radius:22px;background:#eff6ff;font-size:30px;box-shadow:inset 0 0 0 1px #dbeafe;}
.admin-logo{background:#f8fafc;box-shadow:inset 0 0 0 1px #e2e8f0;}
.auth-home{display:block;text-align:center;margin-top:18px;text-decoration:none;color:#64748b;font-size:13px;}
.otp-input{letter-spacing:8px!important;font-weight:800;direction:ltr;}
.user-hero{position:relative;border:1px solid var(--soft-border)!important;background:linear-gradient(135deg,#ffffff 0%,#f8fbff 58%,#eef6ff 100%);box-shadow:0 24px 60px rgba(15,23,42,.06)!important;}
.user-hero:after{content:"";position:absolute;left:-80px;top:-100px;width:220px;height:220px;border-radius:50%;background:rgba(37,99,235,.08);}
.mini-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe;font-size:12px;font-weight:700;}
.balance-panel{border-radius:26px;background:rgba(255,255,255,.8);border:1px solid #e8eef8;box-shadow:0 18px 50px rgba(37,99,235,.08);}
.pulse-dot{width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 7px rgba(34,197,94,.12);}
.stat-card{min-height:132px;border:1px solid var(--soft-border)!important;transition:.25s ease;}
.stat-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,23,42,.08)!important;}
.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:16px;background:#f8fafc;margin-bottom:10px;font-size:22px;}
.plans-grid{align-items:stretch;}
.plan-card{position:relative;display:flex;flex-direction:column;border:1px solid #e8eef8;border-radius:28px;background:#fff;padding:24px;box-shadow:0 18px 46px rgba(15,23,42,.06);transition:.25s ease;overflow:hidden;}
.plan-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#60a5fa,#2563eb);opacity:.55;}
.plan-card:hover{transform:translateY(-6px);box-shadow:0 28px 70px rgba(37,99,235,.12);border-color:#dbeafe;}
.plan-card.featured{border-color:#bfdbfe;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);}
.plan-ribbon{position:absolute;top:16px;left:16px;border-radius:999px;background:#dcfce7;color:#15803d;padding:6px 10px;font-size:12px;font-weight:800;}
.plan-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:#eff6ff;font-size:26px;margin-bottom:16px;}
.plan-minutes{display:inline-flex;align-items:center;align-self:flex-start;border-radius:999px;background:#f8fafc;border:1px solid #eef2f7;padding:8px 12px;color:#475569;font-size:13px;font-weight:700;}
.plan-price{font-size:26px;font-weight:900;color:#0f172a;}
.plan-features li{position:relative;padding-right:22px;margin-bottom:9px;color:#64748b;font-size:14px;}
.plan-features li:before{content:"✓";position:absolute;right:0;color:#16a34a;font-weight:900;}
.table{--bs-table-bg:transparent;}
.table thead th{font-size:13px;color:#64748b;font-weight:700;border-bottom-color:#eef2f7;}
.table td{vertical-align:middle;border-color:#f1f5f9;}

/* Fix 13: unified user panel, OTP UX, toast notifications and floating chat */
main.container{padding-bottom:105px!important}
.side-panel{border:1px solid #e8eef8!important;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);box-shadow:0 18px 45px rgba(15,23,42,.055)!important}
.side-link{display:flex;align-items:center;gap:10px;color:#475569;margin:3px 0;transition:.2s ease;font-weight:700}
.side-link span{width:34px;height:34px;display:grid;place-items:center;border-radius:14px;background:#f8fafc}
.side-link:hover,.side-link.active{background:#eff6ff;color:#1d4ed8;transform:translateX(-2px)}
.side-link.active span{background:#dbeafe}
.page-hero{position:relative;overflow:hidden;border:1px solid #e8eef8!important;background:linear-gradient(135deg,#ffffff 0%,#f9fbff 62%,#eef6ff 100%);box-shadow:0 20px 55px rgba(15,23,42,.055)!important}
.page-hero:after{content:"";position:absolute;left:-70px;top:-90px;width:190px;height:190px;border-radius:50%;background:rgba(37,99,235,.07)}
.summary-pill,.wallet-chip{display:flex;flex-direction:column;gap:4px;align-items:flex-start;border:1px solid #dbeafe;background:#fff;border-radius:22px;padding:14px 18px;box-shadow:0 12px 30px rgba(37,99,235,.07)}
.summary-pill span{font-size:12px;color:#64748b}.summary-pill b{font-size:22px;color:#0f172a}.wallet-chip{font-weight:900;color:#1d4ed8;font-size:18px}
.soft-table-card{border:1px solid #e8eef8!important}.soft-table thead th{padding:16px 18px;background:#f8fafc;color:#64748b;border-bottom:1px solid #eef2f7}.soft-table tbody td{padding:17px 18px}.soft-table tbody tr:hover{background:#f8fbff}
.empty-state{background:linear-gradient(180deg,#fff,#f8fbff)}.empty-icon{width:64px;height:64px;border-radius:24px;background:#eff6ff;margin:0 auto 14px;display:grid;place-items:center;font-size:30px}
.consult-card{border:1px solid #e8eef8!important;transition:.22s ease;background:#fff}.consult-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(15,23,42,.07)!important}.consult-icon{width:54px;height:54px;border-radius:19px;background:#eff6ff;display:grid;place-items:center;font-size:25px}
.profile-avatar{width:70px;height:70px;border-radius:28px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;box-shadow:0 16px 35px rgba(37,99,235,.2)}
.profile-form{border:1px solid #e8eef8!important}.charge-card{border:1px solid #e8eef8!important}.quick-amounts{display:flex;flex-wrap:wrap;gap:8px}.quick-amounts .btn{font-weight:800}
.otp-countdown-wrap{border:1px dashed #bfdbfe;background:#eff6ff;color:#1d4ed8;border-radius:16px;padding:10px 12px}.otp-countdown-wrap.expired{border-color:#fecaca;background:#fef2f2;color:#dc2626}.otp-countdown{direction:ltr;display:inline-block;font-variant-numeric:tabular-nums;font-size:18px}
.otp-input{font-size:28px!important;text-align:center!important;letter-spacing:12px!important;direction:ltr!important;border:2px solid #dbeafe!important;background:#f8fbff!important}
.app-toast{background:linear-gradient(135deg,#1e293b,#334155);color:#fff;border-radius:18px;box-shadow:0 18px 55px rgba(15,23,42,.24);overflow:hidden}.app-toast .toast-body{display:flex;align-items:center;gap:10px;font-weight:700}.toast-icon{width:28px;height:28px;border-radius:12px;background:rgba(255,255,255,.13);display:grid;place-items:center;flex:0 0 auto}
.floating-chat-widget{position:fixed;right:24px;bottom:24px;z-index:1045;display:flex;align-items:center;gap:12px;text-decoration:none;color:#0f172a;background:rgba(255,255,255,.94);border:1px solid #e8eef8;border-radius:24px;padding:10px 14px 10px 10px;box-shadow:0 22px 70px rgba(15,23,42,.16);backdrop-filter:blur(16px);transition:.22s ease;max-width:min(390px,calc(100vw - 40px))}
.floating-chat-widget:hover{transform:translateY(-4px);color:#0f172a;box-shadow:0 28px 80px rgba(37,99,235,.18)}.chat-fab-icon{position:relative;width:54px;height:54px;border-radius:20px;background:linear-gradient(135deg,#2563eb,#60a5fa);color:#fff;display:grid;place-items:center;font-size:25px;box-shadow:0 14px 30px rgba(37,99,235,.25)}.admin-chat-widget .chat-fab-icon{background:linear-gradient(135deg,#0f172a,#475569)}
.chat-fab-badge{position:absolute;right:44px;top:-8px;min-width:26px;height:26px;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;border:3px solid #fff;display:grid;place-items:center;font-size:12px;font-weight:900;box-shadow:0 8px 22px rgba(239,68,68,.26)}
.chat-fab-preview{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-fab-preview b{font-size:14px}.chat-fab-preview small{font-size:12px;color:#64748b;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:576px){.floating-chat-widget{right:14px;bottom:14px;padding:8px}.chat-fab-preview{display:none}.chat-fab-icon{width:52px;height:52px}.chat-fab-badge{right:40px}}

/* fix16 advisor + in-person consultation */
.advisor-card,.advisor-profile,.admin-plan-card{border:1px solid rgba(15,23,42,.08);border-radius:24px;box-shadow:0 18px 45px rgba(15,23,42,.06);background:linear-gradient(180deg,#fff,#fbfdff)}
.advisor-avatar{width:58px;height:58px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;background:#eef6ff;font-size:28px;box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}
.advisor-avatar-lg{width:120px;height:120px;border-radius:36px;font-size:56px;background:linear-gradient(135deg,#edf6ff,#fff7ed)}
.booking-step{padding:18px;border:1px solid rgba(15,23,42,.08);border-radius:20px;background:#fff}
.booking-step .btn{border-radius:14px;padding:.65rem 1rem;min-width:116px}
.booking-step .btn.active{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 10px 26px rgba(37,99,235,.24)}
.booking-step .btn-danger.disabled{opacity:.78;color:#fff;pointer-events:none}
.advisor-chat-widget .chat-fab-icon{background:linear-gradient(135deg,#0891b2,#2563eb)}
.admin-plan-card .summary-pill{background:#f8fafc;border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:.55rem .75rem;display:inline-flex;flex-direction:column;min-width:92px}


/* Fix 20: improved in-person booking UI and unavailable date states */
.inperson-hero .inperson-summary-card{border-radius:24px;background:rgba(255,255,255,.78);border:1px solid #dbeafe;padding:18px 20px;box-shadow:0 18px 45px rgba(37,99,235,.08);display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.inperson-summary-card span{font-size:12px;color:#64748b;font-weight:700}.inperson-summary-card b{font-size:24px;color:#1d4ed8}
.inperson-booking-card{border:1px solid #e8eef8!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 24px 60px rgba(15,23,42,.065)!important}
.booking-wizard{display:flex;align-items:center;gap:10px;overflow:auto;padding-bottom:4px}.wizard-line{height:2px;background:#e2e8f0;min-width:34px;flex:1}.wizard-step{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#94a3b8;font-size:13px;font-weight:800}.wizard-step span{width:32px;height:32px;border-radius:13px;display:grid;place-items:center;background:#f1f5f9;color:#64748b}.wizard-step.active{color:#1d4ed8}.wizard-step.active span{background:#dbeafe;color:#1d4ed8;box-shadow:0 8px 22px rgba(37,99,235,.12)}
.booking-panel{border:1px solid #e8eef8;background:#fff;border-radius:24px;padding:20px;box-shadow:0 14px 35px rgba(15,23,42,.045)}
.quick-date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-height:305px;overflow:auto;padding:2px}.quick-date-card{border:1px solid #dbeafe;background:#f8fbff;border-radius:18px;padding:12px 10px;text-align:center;transition:.2s ease;color:#1e293b}.quick-date-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(37,99,235,.12);border-color:#93c5fd}.quick-date-card.selected{background:#2563eb;color:#fff;border-color:#2563eb;box-shadow:0 14px 34px rgba(37,99,235,.24)}.quick-date-card .q-day{display:block;font-size:12px;color:#64748b}.quick-date-card b{display:block;font-size:22px;line-height:1.2;margin:4px 0}.quick-date-card small{font-size:11px;color:#64748b;font-weight:800}.quick-date-card.selected .q-day,.quick-date-card.selected small{color:#dbeafe}.quick-date-card.is-full{background:#f8fafc;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed;opacity:.88}.quick-date-card.is-full small{color:#ef4444}.quick-date-card:disabled:hover{transform:none;box-shadow:none}
.date-status-alert{border-radius:18px;padding:12px 14px;font-weight:800;font-size:13px;border:1px solid #e2e8f0;background:#f8fafc;color:#475569}.date-status-alert.success{background:#ecfdf5;border-color:#bbf7d0;color:#15803d}.date-status-alert.warning{background:#fffbeb;border-color:#fde68a;color:#b45309}.date-status-alert.danger{background:#fef2f2;border-color:#fecaca;color:#dc2626}
.slot-legend{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#64748b}.slot-legend span{display:inline-flex;align-items:center;gap:5px;border:1px solid #e8eef8;border-radius:999px;padding:6px 9px;background:#fff}.slot-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.slot-legend .free{background:#2563eb}.slot-legend .booked{background:#ef4444}.slot-legend .blocked{background:#f59e0b}
.time-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.time-slot-btn{border:1px solid #dbeafe;border-radius:18px;background:#fff;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:.2s ease}.time-slot-btn b{direction:ltr;font-size:17px}.time-slot-btn small{font-size:11px;font-weight:800}.time-slot-btn.is-free{color:#1d4ed8;background:#f8fbff}.time-slot-btn.is-free:hover,.time-slot-btn.selected{background:#2563eb;color:#fff;border-color:#2563eb;transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,99,235,.22)}.time-slot-btn.is-disabled{cursor:not-allowed;opacity:.78}.time-slot-btn.is-booked{background:#fef2f2;border-color:#fecaca;color:#dc2626}.time-slot-btn.is-blocked{background:#fffbeb;border-color:#fde68a;color:#b45309}.blocked-date-state{border:1px dashed #fecaca;background:#fef2f2;color:#dc2626;border-radius:18px;padding:18px;text-align:center;font-weight:900}
.booking-submit-bar{border:1px solid #e8eef8;background:#f8fbff;border-radius:22px;padding:16px;display:flex;justify-content:space-between;align-items:center;gap:16px}.inperson-my-booking{border:1px solid #e8eef8!important;background:linear-gradient(180deg,#fff,#fbfdff)}.my-booking-time{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;border-radius:999px;background:#eff6ff;color:#1d4ed8;border:1px solid #dbeafe;padding:8px 12px;font-weight:900;direction:ltr}
@media (max-width:768px){.booking-submit-bar{flex-direction:column;align-items:stretch}.booking-submit-bar .btn{width:100%}.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Fix24 - continuation plans inside chat */
.continue-panel{
  border:1px solid #dbeafe;
  background:linear-gradient(180deg,#f8fbff,#ffffff);
  border-radius:24px;
  padding:20px;
  box-shadow:0 18px 45px rgba(30,64,175,.08);
}
.continue-plan-card{
  position:relative;
  border:1px solid #e8eef8;
  background:#fff;
  border-radius:22px;
  padding:18px;
  transition:.2s ease;
}
.continue-plan-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 38px rgba(15,23,42,.08);
  border-color:#bfdbfe;
}
.continue-plan-card .small-icon{
  width:42px;
  height:42px;
  font-size:20px;
  margin-bottom:10px;
}
.continue-minutes{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#1d4ed8;
  background:#eff6ff;
  border:1px solid #dbeafe;
  border-radius:999px;
  padding:7px 10px;
  font-size:13px;
  font-weight:900;
}

/* =========================================================
   Fix27: Able-inspired full UI redesign for admin/user/advisor
   ========================================================= */
:root{
  --app-bg:#f6f8fc;
  --app-card:#ffffff;
  --app-card-soft:#fbfdff;
  --app-line:#e7edf7;
  --app-text:#172033;
  --app-muted:#718096;
  --app-blue:#3f7cff;
  --app-blue-2:#6ea1ff;
  --app-blue-soft:#edf4ff;
  --app-green:#24b47e;
  --app-orange:#ff9f43;
  --app-purple:#8b5cf6;
  --app-red:#ef4444;
  --app-radius:22px;
  --app-shadow:0 18px 50px rgba(15,35,80,.06);
  --app-shadow-strong:0 28px 80px rgba(15,35,80,.11);
}
html,body{min-height:100%;}
.app-body{
  background:
    radial-gradient(circle at 17% 12%,rgba(64,124,255,.06),transparent 32%),
    linear-gradient(180deg,#fbfcff 0,#f6f8fc 100%);
  color:var(--app-text);
  overflow-x:hidden;
}
.public-body{background:#fbfcff;}
a{color:var(--app-blue)}
.btn{border-radius:14px;font-weight:800;padding:.64rem 1.05rem;box-shadow:none!important}
.btn-primary{background:linear-gradient(135deg,var(--app-blue),#2264f4);border:0;color:#fff;box-shadow:0 14px 30px rgba(63,124,255,.20)!important}
.btn-primary:hover{filter:brightness(.97);transform:translateY(-1px)}
.btn-outline-primary{border-color:#cbdcff;color:#2765e6;background:#fff}.btn-outline-primary:hover{background:#edf4ff;color:#1d4ed8;border-color:#a8c4ff}
.btn-success{background:linear-gradient(135deg,#25c58b,#16a36f);border:0}.btn-outline-success{border-color:#b8efd7;color:#159367;background:#fff}.btn-outline-success:hover{background:#ecfdf5;color:#0f7a57;border-color:#9be6c4}
.btn-danger,.btn-outline-danger:hover{background:#ef4444;border-color:#ef4444}.btn-outline-danger{border-color:#fecaca;color:#dc2626;background:#fff}
.card{border:1px solid var(--app-line)!important;border-radius:var(--app-radius)!important;background:rgba(255,255,255,.92)!important;box-shadow:var(--app-shadow)!important;backdrop-filter:blur(10px)}
.form-control,.form-select{border:1px solid #dfe7f3;border-radius:15px!important;padding:.75rem 1rem;background:#fff;color:#1e293b;box-shadow:none!important}
.form-control:focus,.form-select:focus{border-color:#a8c4ff;box-shadow:0 0 0 4px rgba(63,124,255,.10)!important}
.form-label{font-weight:800;color:#344054;font-size:.88rem}.text-muted{color:#7b879a!important}
.badge{border-radius:999px;padding:.48rem .7rem;font-weight:900}.text-bg-success{background:#e8fbf3!important;color:#149367!important}.text-bg-warning{background:#fff5df!important;color:#c27803!important}.text-bg-danger{background:#fff0f0!important;color:#dc2626!important}.text-bg-info{background:#edf4ff!important;color:#2563eb!important}.text-bg-secondary{background:#f1f5f9!important;color:#64748b!important}

/* App shell */
.app-topbar{height:78px;position:sticky;top:0;z-index:1020;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid #e7edf7;display:flex;align-items:center;gap:24px;padding:0 34px 0 360px;box-shadow:0 10px 35px rgba(15,35,80,.035)}
.topbar-profile{display:flex;align-items:center;gap:12px;min-width:205px}.topbar-avatar{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#eff6ff,#e4edff);border:1px solid #d7e5ff;color:#1d4ed8;display:grid;place-items:center;font-weight:900;font-size:18px}.topbar-profile-text b{display:block;font-size:15px}.topbar-profile-text small{display:block;color:#718096;font-size:12px}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-icon{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:15px;border:1px solid transparent;color:#607089;text-decoration:none;font-size:18px}.topbar-icon:hover{background:#f5f8ff;border-color:#e7edf7}.topbar-icon em{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--app-blue);color:#fff;font-style:normal;font-size:11px;display:grid;place-items:center;border:2px solid #fff;font-weight:900}.topbar-search{margin-inline-start:auto;width:min(380px,34vw);height:44px;border:1px solid #dce5f4;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 10px;box-shadow:0 10px 28px rgba(15,35,80,.035)}.topbar-search input{border:0;background:transparent;outline:0;flex:1;color:#344054}.topbar-search button{border:0;background:transparent;color:#667085;font-size:20px}.shortcut{direction:ltr;border:1px solid #dfe7f3;background:#f8fafc;border-radius:8px;padding:3px 9px;font-size:12px;color:#8591a6}.topbar-menu{border:0;background:#fff;width:42px;height:42px;border-radius:14px;color:#64748b;font-size:21px;display:grid;place-items:center;border:1px solid #e7edf7}.app-main{padding:34px 34px 70px 34px}.app-layout{display:flex;flex-direction:row-reverse;gap:28px;align-items:flex-start}.app-sidebar{position:sticky;top:96px;width:286px;flex:0 0 286px;min-height:calc(100vh - 118px);background:rgba(255,255,255,.86);border:1px solid #e7edf7;border-radius:0 0 0 30px;padding:24px 18px;box-shadow:var(--app-shadow);backdrop-filter:blur(18px)}.app-content{min-width:0;flex:1}.brand-card{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--app-text);padding:6px 10px 22px;margin-bottom:12px;border-bottom:1px dashed #e4eaf4}.brand-icon{width:52px;height:52px;border-radius:19px;background:linear-gradient(135deg,#4f8cff,#2d6cff);color:#fff;display:grid;place-items:center;font-size:24px;box-shadow:0 16px 36px rgba(63,124,255,.25)}.brand-card b{display:block;color:#2f70ff;font-size:22px;line-height:1.1}.brand-card small{display:block;color:#718096;font-size:12px;margin-top:4px}.app-nav{display:flex;flex-direction:column;gap:8px}.app-nav-link{height:52px;display:flex;align-items:center;gap:13px;text-decoration:none;color:#667085;border-radius:15px;padding:0 12px;transition:.2s ease;border:1px solid transparent}.app-nav-link .nav-ico{width:38px;height:38px;display:grid;place-items:center;border-radius:14px;color:#64748b;background:transparent;font-size:19px}.app-nav-link b{font-size:15px;font-weight:800}.app-nav-link:hover{background:#f6f9ff;color:#2f70ff;transform:translateX(-2px)}.app-nav-link.active{background:#edf4ff;color:#2f70ff;border-color:#e1eaff}.app-nav-link.active .nav-ico{background:#dfeaff;color:#2f70ff}.sidebar-support{margin-top:28px;border:1px solid #e3ebf6;border-radius:20px;padding:16px;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#fff,#f8fbff)}.support-ico{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:#edf4ff;font-size:22px}.sidebar-support b{display:block;font-size:14px}.sidebar-support small{display:block;color:#7b879a;font-size:11px;margin-top:3px}
@media (min-width:1200px){.app-topbar{padding-left:340px}.app-main{padding-right:34px}}
@media (max-width:992px){.app-topbar{padding:0 16px;gap:12px}.topbar-search{display:none}.topbar-profile{min-width:auto}.topbar-profile-text{display:none}.app-main{padding:18px}.app-layout{display:block}.app-sidebar{position:static;width:auto;min-height:0;border-radius:24px;margin-bottom:20px}.app-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-support{display:none}}
@media (max-width:576px){.app-nav{grid-template-columns:1fr}.topbar-actions .topbar-icon:nth-child(n+2){display:none}.app-topbar{height:66px}.app-main{padding:14px}}

/* Unified cards & data pages */
.page-hero,.user-hero{background:linear-gradient(135deg,#fff 0%,#fbfdff 55%,#edf4ff 100%)!important;border:1px solid #e3ebf6!important;border-radius:28px!important;box-shadow:var(--app-shadow)!important}.page-hero h3,.user-hero h2{font-size:clamp(1.4rem,2vw,2.1rem)}.mini-badge{background:#edf4ff!important;color:#2f70ff!important;border:1px solid #dbe7ff!important;border-radius:999px!important;padding:8px 12px!important;font-weight:900}.stat-card{min-height:150px;border-radius:24px!important;padding:24px!important;position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfdff)!important}.stat-card:after{content:"";position:absolute;left:-28px;top:-28px;width:110px;height:110px;border-radius:50%;background:rgba(63,124,255,.05)}.stat-card .stat-icon,.stat-icon{width:58px!important;height:58px!important;border-radius:22px!important;background:#edf4ff!important;color:#2f70ff!important;font-size:27px!important;box-shadow:inset 0 0 0 1px #dce8ff}.stat-card:nth-child(2n) .stat-icon,.row .col-md-3:nth-child(2n) .stat-icon,.row .col-md-4:nth-child(2n) .stat-icon{background:#edfdf6!important;color:#14a66f!important}.stat-card:nth-child(3n) .stat-icon,.row .col-md-3:nth-child(3n) .stat-icon{background:#fff4e5!important;color:#ff9f43!important}.stat-card h2,.stat-card h4{font-weight:900;color:#111827;margin:8px 0 0}.stat-card .small,.stat-card h6{font-weight:800;color:#667085}.summary-pill,.wallet-chip{background:#fff!important;border:1px solid #e3ebf6!important;border-radius:22px!important;box-shadow:0 14px 35px rgba(15,35,80,.055)!important}.soft-table-card,.table-responsive,.card:has(table){overflow:hidden}.table{margin-bottom:0}.table th{font-size:13px;color:#667085;background:#fbfcff!important;padding:18px!important;border-bottom:1px solid #e7edf7!important;font-weight:900}.table td{padding:17px 18px!important;border-color:#eef3fa!important;color:#344054}.table tr:hover td{background:#fbfdff!important}.table .btn-sm{border-radius:11px;padding:.38rem .7rem}.admin-plan-card,.advisor-card,.consult-card,.charge-card,.profile-form{border-radius:24px!important}.avatar-table,.table-avatar{width:46px;height:46px;border-radius:17px;background:#edf4ff;display:grid;place-items:center;color:#2f70ff;font-weight:900}.filter-bar{background:#fff;border:1px solid #e7edf7;border-radius:24px;padding:18px;box-shadow:var(--app-shadow)}

/* Plans like final mockup */
.plans-grid{row-gap:28px}.plan-card,.admin-plan-card,.continue-plan-card{border-radius:28px!important;border:1px solid #e5ebf6!important;background:#fff!important;box-shadow:var(--app-shadow)!important;padding:28px!important;min-height:100%;transition:.22s ease}.plan-card:hover,.admin-plan-card:hover,.continue-plan-card:hover{transform:translateY(-5px);box-shadow:var(--app-shadow-strong)!important;border-color:#c6d7ff!important}.plan-card.featured{border:2px solid #4f8cff!important;background:linear-gradient(180deg,#fff,#f9fbff)!important}.plan-card:before,.admin-plan-card:before{display:none}.plan-icon{width:66px!important;height:66px!important;border-radius:50%!important;background:#edf4ff!important;color:#2f70ff!important;font-size:30px!important}.plan-ribbon{top:18px;left:18px;background:#2f70ff!important;color:#fff!important;border-radius:0 0 16px 16px!important;padding:7px 14px!important}.plan-minutes,.continue-minutes{border:0!important;border-radius:12px!important;background:#edf4ff!important;color:#2f70ff!important;padding:12px 14px!important;display:block;text-align:center}.plan-price{font-size:30px!important;color:#0f172a!important;font-weight:950!important}.plan-features li{font-weight:700;color:#667085;margin-bottom:12px}.plan-features li:before{background:#e8f7f0;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;line-height:18px;color:#16a36f;font-size:12px}

/* Chat page in Able-like style */
.chat-page-card,.card:has(#chatbox){border-radius:26px!important;padding:0!important;overflow:hidden}.card:has(#chatbox)>.d-flex:first-child{padding:20px 26px!important;background:#fff;border-bottom:1px solid #e7edf7!important}.chat-box{height:calc(100vh - 310px);min-height:520px;background:#fbfcff!important;border-radius:0!important;padding:34px 36px!important;gap:16px!important}.msg{border-radius:20px!important;background:#fff!important;border:1px solid #e4ebf6!important;box-shadow:0 10px 26px rgba(15,35,80,.045)!important;padding:14px 16px!important;max-width:min(650px,78%)!important}.msg.me{background:#edf4ff!important;border-color:#dce8ff!important}.msg.closed{background:#f8fafc!important;border-style:dashed!important;color:#64748b!important}.msg .meta{font-size:11px;color:#7b879a;margin-bottom:5px}.reply-preview{background:#f8fbff!important;border-right:3px solid #4f8cff!important}.composer{padding:16px 26px 22px;background:#fff;border-top:1px solid #e7edf7;margin:0!important}.composer .input-group{align-items:center;background:#fff;border:1px solid #e1e8f3;border-radius:20px;padding:8px;box-shadow:0 12px 35px rgba(15,35,80,.05)}.composer .input-group .form-control{border:0!important;background:transparent!important}.composer input[type=file]{max-width:210px;font-size:12px}.icon-btn{border:0!important;background:#f3f7ff!important;color:#2f70ff!important;border-radius:15px!important}.composer .btn-primary{border-radius:16px!important}.timer{font-weight:950;color:#ef4444;font-size:24px!important;direction:ltr}.voice-player{width:280px}.continue-panel{margin:22px!important;border-radius:24px!important}.continue-plan-card .small-icon{width:46px!important;height:46px!important;font-size:20px!important}

/* Auth split page */
.auth-body{min-height:100vh;background:linear-gradient(135deg,#f7faff,#fff)}.auth-shell{min-height:100vh;display:grid;place-items:stretch;padding:0}.auth-split{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(460px,680px);background:#fff}.auth-visual{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:64px;background:radial-gradient(circle at 45% 28%,#e4edff 0,#eef4ff 34%,#f7faff 72%);overflow:hidden}.auth-visual:before{content:"";position:absolute;inset:8% 12%;border-radius:50%;background:rgba(63,124,255,.10);filter:blur(3px)}.auth-illustration{position:relative;width:min(460px,70%);aspect-ratio:1.1/1;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}.doctor-card{position:relative;width:230px;height:275px;background:#fff;border-radius:34px;box-shadow:0 28px 80px rgba(63,124,255,.15);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.doctor-face{width:92px;height:92px;border-radius:35px;background:linear-gradient(135deg,#4f8cff,#9bbcff);display:grid;place-items:center;color:#fff;font-size:42px}.doctor-actions{display:flex;gap:10px}.doctor-actions span{width:44px;height:44px;border-radius:18px;background:#edf4ff;color:#2f70ff;display:grid;place-items:center}.auth-floating-note{position:absolute;background:#fff;border-radius:20px;padding:14px 18px;box-shadow:0 16px 40px rgba(15,35,80,.08);font-weight:900}.auth-floating-note.one{right:18%;top:26%}.auth-floating-note.two{left:16%;bottom:28%}.auth-visual h2{position:relative;margin-top:44px;font-weight:950;font-size:30px;color:#172033}.auth-visual p{position:relative;max-width:540px;color:#667085;font-size:16px;line-height:2}.auth-benefits{position:relative;display:flex;gap:46px;margin-top:32px}.auth-benefits div{display:flex;flex-direction:column;align-items:center;gap:8px;color:#667085;font-size:13px}.auth-benefits span{width:44px;height:44px;border-radius:17px;background:#fff;color:#2f70ff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(15,35,80,.06)}.auth-form-zone{display:flex;align-items:center;justify-content:center;padding:44px}.auth-card{width:100%;max-width:640px;border:1px solid #e7edf7!important;border-radius:30px!important;box-shadow:0 30px 90px rgba(15,35,80,.09)!important;background:#fff!important}.auth-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:26px}.auth-brand .brand-icon{width:46px;height:46px}.auth-tabs{display:flex;border-bottom:1px solid #e7edf7;margin-bottom:28px}.auth-tabs a,.auth-tabs span{flex:1;text-align:center;text-decoration:none;color:#9aa5b5;font-weight:900;padding:14px 0}.auth-tabs .active{color:#2f70ff;border-bottom:3px solid #2f70ff}.auth-steps{display:flex;align-items:center;justify-content:space-between;margin:26px 0}.auth-step{display:flex;flex-direction:column;align-items:center;gap:8px;color:#98a2b3;font-size:12px;font-weight:800}.auth-step i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f1f5f9;font-style:normal}.auth-step.active{color:#2f70ff}.auth-step.active i{background:#2f70ff;color:#fff;box-shadow:0 12px 30px rgba(63,124,255,.24)}.auth-line{height:1px;background:#e7edf7;flex:1;margin:0 10px}.auth-phone-wrap{display:flex;gap:8px;direction:ltr}.auth-phone-prefix{border:1px solid #dfe7f3;border-radius:15px;padding:.75rem 1rem;display:flex;align-items:center;gap:7px;background:#fff;color:#475569;min-width:90px;justify-content:center}.auth-socials{display:flex;gap:14px;justify-content:center}.auth-socials span{width:92px;height:52px;border:1px solid #e7edf7;border-radius:16px;display:grid;place-items:center;background:#fff;font-weight:950;font-size:22px}.otp-input{font-size:32px!important;border-radius:20px!important;letter-spacing:14px!important;background:#fbfdff!important}
@media(max-width:1000px){.auth-split{grid-template-columns:1fr}.auth-visual{display:none}.auth-form-zone{min-height:100vh;padding:24px}.auth-card{max-width:560px}.auth-shell{padding:0!important}}

/* Home/public */
.minimal-hero{min-height:calc(100vh - 40px);border-radius:32px;background:radial-gradient(circle at 70% 20%,#e3ecff 0,#fff 44%,#f8fbff 100%);box-shadow:var(--app-shadow);padding:60px 24px}.minimal-hero h1{font-weight:950;color:#172033}.minimal-hero p{font-size:18px}

/* Responsive table polish */
@media(max-width:768px){.table{min-width:760px}.card:has(table){overflow:auto}.stat-card{min-height:120px}.chat-box{min-height:430px;height:55vh;padding:20px!important}.msg{max-width:92%!important}.composer input[type=file]{display:none}.auth-socials span{width:70px}.topbar-menu{display:grid}}
@media(max-width:992px){.app-layout:not(.menu-open) .app-sidebar{display:none}.app-layout.menu-open .app-sidebar{display:block}}
.ui-line-chart{height:290px;position:relative;border-radius:22px;background:repeating-linear-gradient(to bottom,transparent 0 47px,#e7edf7 48px),linear-gradient(180deg,#ffffff,#fbfdff);overflow:hidden;border:1px solid #eef3fa}
.ui-line-chart:before{content:"";position:absolute;inset:46px 34px 44px 34px;background:linear-gradient(120deg,transparent 0 8%,#3f7cff 8% 9%,transparent 9% 18%,#3f7cff 18% 19%,transparent 19% 30%,#3f7cff 30% 31%,transparent 31% 42%,#3f7cff 42% 43%,transparent 43% 54%,#3f7cff 54% 55%,transparent 55% 66%,#3f7cff 66% 67%,transparent 67% 78%,#3f7cff 78% 79%,transparent 79%);opacity:.16;clip-path:polygon(0 75%,12% 58%,24% 63%,36% 38%,48% 68%,60% 34%,74% 57%,88% 46%,100% 56%,100% 100%,0 100%)}
.ui-line-chart:after{content:"";position:absolute;inset:48px 35px 48px 35px;border-radius:18px;background:linear-gradient(180deg,rgba(63,124,255,.12),transparent 78%);clip-path:polygon(0 76%,12% 60%,24% 65%,36% 42%,48% 69%,60% 36%,74% 59%,88% 48%,100% 58%,100% 100%,0 100%)}
.ui-line-chart span{position:absolute;left:var(--x);top:var(--y);width:11px;height:11px;border-radius:50%;background:#3f7cff;border:3px solid #fff;box-shadow:0 0 0 3px rgba(63,124,255,.13);z-index:3}.small-chart{height:250px}.alert-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #eef3fa}.alert-row:last-child{border-bottom:0}.alert-row-icon{width:46px;height:46px;border-radius:17px;background:#edf4ff;color:#2f70ff;display:grid;place-items:center;font-size:20px}.advisor-profile-box{text-align:center}.app-content>h4{font-weight:950;margin-bottom:18px}.app-content>h4+table,.app-content>table{background:#fff;border:1px solid #e7edf7;border-radius:24px;overflow:hidden;box-shadow:var(--app-shadow)}
.auth-shell > .auth-card{place-self:center;width:100%;max-width:540px;margin:24px}.admin-auth-body .auth-shell{place-items:center}


/* Fix 28: closer Able-like layout, right sidebar and stable cards */
.app-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 286px!important;
  grid-template-areas:"content sidebar"!important;
  gap:28px!important;
  align-items:start!important;
  direction:ltr!important;
}
.app-sidebar{grid-area:sidebar!important;direction:rtl!important;right:auto!important;left:auto!important;border-radius:0 0 0 30px!important;align-self:start!important;z-index:10!important;}
.app-content{grid-area:content!important;direction:rtl!important;min-width:0!important;width:100%!important;}
@media (min-width:1200px){.app-topbar{padding-right:34px!important;padding-left:34px!important}.app-main{padding-right:34px!important;padding-left:34px!important}}
@media (max-width:992px){.app-layout{display:block!important;direction:rtl!important}.app-sidebar{border-radius:24px!important;width:auto!important}.app-content{width:100%!important}}

.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:28px}.dashboard-kpi-grid .stat-card{height:100%;min-height:154px!important;display:flex;flex-direction:column;justify-content:space-between}.dashboard-kpi-grid h3,.stat-card h3,.stat-card h4{font-size:clamp(1.35rem,1.7vw,2rem)!important;line-height:1.55!important;white-space:normal!important;overflow-wrap:anywhere!important}.dashboard-kpi-grid .stat-icon{margin-bottom:10px}
.admin-dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:24px}.admin-bottom-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:24px}@media(max-width:1200px){.admin-dashboard-grid,.admin-bottom-grid{grid-template-columns:1fr}}

/* Fix 28: final mockup-like pricing cards */
.pricing-page-head{position:relative;text-align:center;margin:14px 0 26px;padding:28px 16px 18px;border-bottom:1px solid #e8eef8}.pricing-page-head h3{font-size:clamp(1.7rem,2.6vw,2.65rem);font-weight:950;color:#111827;margin-bottom:10px}.pricing-page-head p{color:#7b879a;font-weight:700;margin:0}.pricing-tabs{width:min(520px,100%);margin:24px auto 0;background:#fff;border:1px solid #dfe8f6;border-radius:16px;padding:5px;display:flex;gap:6px;box-shadow:0 12px 30px rgba(15,35,80,.045)}.pricing-tabs span{flex:1;text-align:center;border-radius:12px;padding:12px;color:#667085;font-weight:900}.pricing-tabs span.active{background:#edf4ff;color:#2f70ff;box-shadow:inset 0 0 0 1px #d8e4ff}.plans-grid.pricing-grid{align-items:stretch;justify-content:center}.pricing-grid>[class*="col-"]{display:flex}.plan-card{align-items:center;text-align:center;min-height:610px!important;padding:42px 30px 34px!important}.plan-card .plan-icon{margin:0 auto 22px!important;width:74px!important;height:74px!important}.plan-card h5{font-size:1.45rem!important;margin-bottom:7px!important}.plan-subtitle{font-size:.93rem;color:#7b879a;font-weight:800;min-height:28px}.plan-card .plan-price{font-size:2.2rem!important;line-height:1.1;margin-top:22px!important}.plan-card .price-unit{color:#667085;font-weight:800;font-size:.86rem}.plan-card .plan-minutes{width:100%;margin:24px 0!important;border-radius:15px!important;font-weight:950!important}.plan-card .plan-features{width:100%;text-align:right;margin-top:8px!important}.plan-card .plan-features li{padding-right:30px!important}.plan-card .plan-features li:before{top:1px}.plan-card .btn{width:100%;margin-top:auto}.plan-card.theme-phone{--plan-color:#8b5cf6;--plan-soft:#f4edff}.plan-card.theme-basic{--plan-color:#16a36f;--plan-soft:#ecfdf5}.plan-card.theme-standard{--plan-color:#2f70ff;--plan-soft:#edf4ff}.plan-card.theme-pro{--plan-color:#ff9f43;--plan-soft:#fff4e5}.plan-card.theme-phone .plan-icon,.plan-card.theme-phone .plan-minutes{background:var(--plan-soft)!important;color:var(--plan-color)!important}.plan-card.theme-basic .plan-icon,.plan-card.theme-basic .plan-minutes{background:var(--plan-soft)!important;color:var(--plan-color)!important}.plan-card.theme-standard .plan-icon,.plan-card.theme-standard .plan-minutes{background:var(--plan-soft)!important;color:var(--plan-color)!important}.plan-card.theme-pro .plan-icon,.plan-card.theme-pro .plan-minutes{background:var(--plan-soft)!important;color:var(--plan-color)!important}.plan-card.theme-phone .btn-outline-success,.plan-card.theme-phone .btn-outline-primary{border-color:#d8c4ff;color:#8b5cf6}.plan-card.theme-basic .btn-outline-success,.plan-card.theme-basic .btn-outline-primary{border-color:#a7e8c9;color:#16a36f}.plan-card.theme-pro .btn-outline-success,.plan-card.theme-pro .btn-outline-primary{border-color:#ffd399;color:#e67e00}.plan-card.featured{transform:translateY(-10px);box-shadow:0 28px 90px rgba(47,112,255,.16)!important}.plan-ribbon{left:auto!important;right:18px!important;top:0!important;border-radius:0 0 16px 16px!important;background:#2f70ff!important}.pricing-guarantee{max-width:900px;margin:26px auto 0;border:1px solid #e6edf8;border-radius:20px;background:#fff;padding:16px 22px;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 14px 36px rgba(15,35,80,.045);color:#667085}.pricing-guarantee b{color:#2f70ff}.pricing-guarantee .shield{width:52px;height:52px;border-radius:18px;background:#edf4ff;color:#2f70ff;display:grid;place-items:center;font-size:24px;flex:0 0 52px}@media(max-width:768px){.plan-card{min-height:auto!important}.pricing-guarantee{align-items:flex-start;text-align:right}}

/* Fix 28: admin plan management cards aligned */
.admin-plan-card{display:flex!important;flex-direction:column!important;gap:10px!important;min-height:300px!important}.admin-plan-card h5{font-size:1.25rem!important}.admin-plan-card .summary-pill{flex:1;min-width:0!important}.admin-plan-card .d-flex.gap-2.mb-3{display:grid!important;grid-template-columns:1fr 1fr!important}.admin-plan-card .btn{min-width:92px}.form-card-clean{background:#fff;border:1px solid #e7edf7;border-radius:26px;box-shadow:var(--app-shadow);padding:24px}
.admin-dashboard-grid > [class*="col-"],.admin-bottom-grid > [class*="col-"]{width:100%!important;max-width:none!important;flex:none!important}


/* Fix 29: chat, working plan tabs, hamburger behavior and advisor profile polish */
.pricing-tabs button{flex:1;border:0;background:transparent;text-align:center;border-radius:12px;padding:12px;color:#667085;font-weight:900;transition:.18s ease}.pricing-tabs button.active{background:#edf4ff;color:#2f70ff;box-shadow:inset 0 0 0 1px #d8e4ff}.pricing-tabs button:hover{background:#f6f9ff;color:#2f70ff}.plans-grid [data-plan-type]{transition:.2s ease}.plans-grid [data-plan-type].d-none{display:none!important}

@media(min-width:993px){
  body.sidebar-collapsed .app-layout{grid-template-columns:minmax(0,1fr) 92px!important;gap:20px!important}
  body.sidebar-collapsed .app-sidebar{width:92px!important;flex-basis:92px!important;padding:18px 12px!important;overflow:hidden}
  body.sidebar-collapsed .brand-card{justify-content:center;padding:6px 0 18px}
  body.sidebar-collapsed .brand-card span:not(.brand-icon),body.sidebar-collapsed .app-nav-link b,body.sidebar-collapsed .sidebar-support div{display:none!important}
  body.sidebar-collapsed .brand-icon{width:54px;height:54px}
  body.sidebar-collapsed .app-nav-link{justify-content:center;padding:0;height:52px}
  body.sidebar-collapsed .app-nav-link .nav-ico{background:#f6f9ff}
  body.sidebar-collapsed .sidebar-support{justify-content:center;padding:12px}
  body.sidebar-collapsed .topbar-menu{background:#edf4ff;color:#2f70ff;border-color:#d8e4ff}
}
@media(max-width:992px){body.sidebar-open{overflow:hidden}.sidebar-open:before{content:"";position:fixed;inset:0;background:rgba(15,23,42,.22);z-index:1010}.sidebar-open .app-sidebar{position:fixed!important;top:82px;right:16px;left:16px;max-height:calc(100vh - 104px);overflow:auto;z-index:1030;box-shadow:0 28px 80px rgba(15,23,42,.25)!important}}

.modern-chat-shell{display:grid;grid-template-columns:340px minmax(0,1fr);gap:22px;min-height:calc(100vh - 150px)}.chat-threads-panel{background:#fff;border:1px solid #e6edf8;border-radius:28px;box-shadow:var(--app-shadow);padding:18px;height:calc(100vh - 150px);position:sticky;top:96px;display:flex;flex-direction:column;min-height:620px}.chat-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.chat-panel-head div{font-weight:950;color:#2f70ff}.chat-panel-head div span{margin-inline-start:8px;background:#edf4ff;border-radius:999px;padding:4px 10px;font-size:12px}.chat-search{height:52px;border:1px solid #dfe8f6;border-radius:16px;display:flex;align-items:center;gap:8px;padding:0 14px;margin-bottom:14px}.chat-search input{border:0;outline:0;background:transparent;flex:1}.chat-tabs-mini{display:flex;gap:18px;border-bottom:1px solid #edf2f8;margin-bottom:12px;color:#7b879a;font-weight:850}.chat-tabs-mini>*{padding:12px 0}.chat-tabs-mini b{color:#2f70ff;border-bottom:3px solid #2f70ff}.thread-list{overflow:auto;padding-left:2px}.thread-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;text-decoration:none;color:#344054;border-radius:18px;padding:12px;margin:4px 0;transition:.18s ease}.thread-item:hover,.thread-item.active{background:#f1f5ff}.thread-avatar,.chat-peer-avatar{width:48px;height:48px;border-radius:18px;background:linear-gradient(135deg,#edf4ff,#dfe9ff);display:grid;place-items:center;color:#2f70ff;font-weight:950}.thread-name{font-weight:950;color:#1f2937}.thread-body small{display:block;color:#7b879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-meta{text-align:left;color:#98a2b3;font-size:11px}.thread-meta em{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:#2f70ff;color:#fff;font-style:normal;font-weight:950;margin-bottom:6px}.chat-room-card{background:#fff;border:1px solid #e6edf8;border-radius:28px;box-shadow:var(--app-shadow);overflow:hidden;display:flex;flex-direction:column;min-height:calc(100vh - 150px)}.chat-room-head{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;border-bottom:1px solid #e7edf7;background:#fff}.chat-peer{display:flex;align-items:center;gap:14px}.chat-peer-avatar{width:58px;height:58px;border-radius:22px}.chat-peer h4{font-size:1.15rem;font-weight:950;margin:0}.chat-peer h4 span{color:#98a2b3}.chat-room-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.remaining-card{height:54px;display:flex;align-items:center;gap:12px;border:1px solid #edf2f8;background:#fbfdff;border-radius:18px;padding:8px 14px}.remaining-card span{font-size:12px;color:#7b879a;font-weight:850}.remaining-card b{color:#ef4444}.chat-room-notices{padding:0 24px}.chat-room-notices .alert,.chat-room-notices form{margin-top:14px}.modern-chat-shell .chat-box{height:auto!important;min-height:0!important;flex:1;background:linear-gradient(180deg,#fbfcff,#fff)!important;padding:34px 46px!important}.modern-chat-shell .msg{border-radius:20px!important;background:#fff!important;border:1px solid #e3eaf6!important;box-shadow:0 10px 28px rgba(15,35,80,.045)!important}.modern-chat-shell .msg.me{background:#edf4ff!important;border-color:#dce8ff!important}.modern-chat-shell .msg:not(.me):not(.closed):before{content:"";position:absolute;right:-34px;top:6px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#edf4ff,#dbeafe);border:1px solid #dce8ff}.modern-chat-shell .composer{padding:18px 24px 24px!important;background:#fff;border-top:1px solid #e7edf7!important}.modern-chat-shell .composer .input-group{border-radius:22px!important;padding:9px 10px!important}.file-label{position:relative;overflow:hidden;cursor:pointer}.file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}.send-round{width:52px;height:52px;border-radius:18px!important;padding:0!important;display:grid!important;place-items:center}.add-btn{background:#2f70ff!important;color:#fff!important}.continue-panel{background:#fbfdff;border:1px solid #e6edf8;border-radius:24px;padding:20px;margin:18px 24px!important}
@media(max-width:1200px){.modern-chat-shell{grid-template-columns:1fr}.chat-threads-panel{position:static;height:auto;min-height:0}.thread-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px;max-height:280px}.chat-room-card{min-height:620px}}@media(max-width:768px){.chat-room-head{align-items:flex-start;flex-direction:column}.modern-chat-shell .chat-box{padding:24px 20px!important}.chat-threads-panel{display:none}.modern-chat-shell{display:block}.chat-room-card{min-height:calc(100vh - 140px)}}

.advisor-public-profile{display:flex;flex-direction:column;gap:24px}.advisor-hero-card{position:relative;overflow:hidden;background:#fff;border:1px solid #e6edf8;border-radius:32px;box-shadow:var(--app-shadow);padding:34px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:center}.advisor-hero-bg{position:absolute;inset:auto -120px -160px auto;width:360px;height:360px;border-radius:50%;background:rgba(47,112,255,.08)}.advisor-main-info{position:relative;display:flex;align-items:center;gap:24px}.advisor-photo-xl{width:112px;height:112px;border-radius:36px;background:linear-gradient(135deg,#2f70ff,#83a9ff);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:950;box-shadow:0 24px 60px rgba(47,112,255,.22);flex:0 0 112px}.advisor-main-info h1{font-weight:950;margin:14px 0 6px}.advisor-main-info p{color:#667085;font-weight:800;margin-bottom:12px}.advisor-rating-row{display:flex;flex-wrap:wrap;gap:10px}.advisor-rating-row span{background:#f8fafc;border:1px solid #edf2f8;border-radius:999px;padding:8px 12px;color:#475569;font-weight:850}.advisor-cta-card{position:relative;background:linear-gradient(180deg,#fbfdff,#fff);border:1px solid #e3ebf6;border-radius:26px;padding:24px;box-shadow:0 18px 50px rgba(15,35,80,.06)}.advisor-cta-card h5{font-weight:950}.advisor-cta-card p{color:#7b879a;font-size:.92rem;line-height:1.9}.advisor-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:24px}.advisor-info-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #eef3fa}.advisor-info-row:last-child{border-bottom:0}.advisor-info-row span{color:#7b879a;font-weight:800}.advisor-info-row b{color:#1f2937}.advisor-feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.advisor-feature-strip>div{background:#fff;border:1px solid #e6edf8;border-radius:24px;padding:20px;box-shadow:var(--app-shadow);display:flex;flex-direction:column;gap:8px}.advisor-feature-strip span{width:54px;height:54px;border-radius:19px;background:#edf4ff;color:#2f70ff;display:grid;place-items:center;font-size:24px}.advisor-feature-strip b{font-weight:950}.advisor-feature-strip small{color:#7b879a;font-weight:700}@media(max-width:1000px){.advisor-hero-card,.advisor-detail-grid{grid-template-columns:1fr}.advisor-feature-strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:576px){.advisor-main-info{flex-direction:column;text-align:center}.advisor-feature-strip{grid-template-columns:1fr}}

/* Fix 30: clean header, logout button and robust plan tabs */
.app-topbar{padding:0 34px!important;gap:18px!important}
.topbar-spacer{flex:1 1 auto}
.topbar-search{display:none!important}
.topbar-actions-minimal{gap:8px!important}
.topbar-icon{width:38px!important;height:38px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e6edf8!important;color:#607089!important;font-size:0!important;box-shadow:0 8px 22px rgba(15,35,80,.03)!important}
.topbar-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.topbar-icon:hover{color:#2f70ff!important;background:#f6f9ff!important;border-color:#d8e4ff!important}
.topbar-icon em{top:-7px!important;right:-7px!important;min-width:19px!important;height:19px!important;font-size:10px!important;background:#2f70ff!important;border:2px solid #fff!important}
.topbar-menu{width:40px!important;height:40px!important;gap:4px!important;border-radius:14px!important;background:#fff!important;border:1px solid #e6edf8!important;box-shadow:0 8px 22px rgba(15,35,80,.03)!important;font-size:0!important;display:grid!important;place-items:center!important;padding:0!important}
.topbar-menu span{display:block;width:17px;height:2px;background:#64748b;border-radius:999px;margin:2px 0;transition:.18s ease}
.topbar-menu:hover,.topbar-menu:focus{background:#f6f9ff!important;border-color:#d8e4ff!important}.topbar-menu:hover span{background:#2f70ff}
.topbar-logout{height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border-radius:14px;border:1px solid #fee2e2;background:#fff5f5;color:#dc2626;text-decoration:none;font-weight:900;font-size:13px;white-space:nowrap;box-shadow:0 8px 22px rgba(220,38,38,.035)}
.topbar-logout:before{content:"↪";font-size:16px;line-height:1;transform:scaleX(-1)}
.topbar-logout:hover{background:#fee2e2;color:#b91c1c;border-color:#fecaca}.plan-tabs-scope{position:relative}.plan-col[hidden]{display:none!important}.plans-grid .plan-col.d-none{display:none!important}.pricing-tabs{max-width:560px;margin-inline:auto}.pricing-tabs button{cursor:pointer}.pricing-tabs button.active{pointer-events:auto}
@media(max-width:768px){.app-topbar{padding:0 14px!important}.topbar-actions-minimal .topbar-icon:nth-child(n+3){display:none!important}.topbar-logout{padding:0 10px;font-size:12px}.topbar-profile{min-width:0!important}.topbar-avatar{width:42px!important;height:42px!important;border-radius:15px!important}}
@media(min-width:993px){body.sidebar-collapsed .app-topbar{padding-right:34px!important;padding-left:34px!important}}

/* fix31: standalone plans page and server-side tabs */
.pricing-tabs a{flex:1;border:0;background:transparent;text-align:center;border-radius:12px;padding:12px;color:#667085;font-weight:900;transition:.18s ease;text-decoration:none;display:block}
.pricing-tabs a.active{background:#edf4ff;color:#2f70ff;box-shadow:inset 0 0 0 1px #d8e4ff}
.pricing-tabs a:hover{background:#f6f9ff;color:#2f70ff}
.dashboard-quick-plan{border:1px solid #e6edf8;background:linear-gradient(135deg,#fff,#f8fbff);border-radius:24px;box-shadow:var(--app-shadow)}
.sms-pattern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.sms-pattern-box{border:1px solid #e7edf7;border-radius:18px;padding:14px;background:#fbfdff}
.sms-pattern-box small{display:block;color:#7b879a;margin-top:8px;direction:ltr;text-align:left}

/* Fix 32: clean auth image panel and remove country code box */
.auth-visual.auth-image-panel{
  padding:0!important;
  background:#eef5ff!important;
  overflow:hidden!important;
  min-height:100vh;
}
.auth-visual.auth-image-panel:before{display:none!important;}
.auth-visual-img{
  width:100%;
  height:100%;
  min-height:100vh;
  display:block;
  object-fit:cover;
}
.auth-phone-wrap{
  display:block!important;
  direction:rtl!important;
}
.auth-phone-wrap .form-control{
  width:100%!important;
  text-align:right!important;
  direction:ltr!important;
  border-radius:18px!important;
  padding:0.9rem 1rem!important;
}
.auth-phone-prefix{display:none!important;}
@media(max-width:1000px){
  .auth-visual.auth-image-panel{display:none!important;}
}
