:root{
  --v2-ink:#252A34;
  --v2-muted:#74808F;
  --v2-line:#DCE8EF;
  --v2-bg:#F7FAFC;
  --v2-blue:#367FA9;
  --v2-teal:#43A785;
  --v2-amber:#F2A65A;
  --v2-green:#43A785;
  --v2-rose:#E66A6A;
  --v2-violet:#7776C5;
  --event-past:#A7AFB9;
  --event-done:#43A785;
  --event-missed:#E66A6A;
  --event-future:#72B8E6;
}
html,body{max-width:100%;overflow-x:hidden}
body{direction:rtl;text-align:right}
body.owner-ui{font-family:var(--font, Vazirmatn, Arial, sans-serif);background:var(--v2-bg);color:var(--v2-ink)}
.owner-ui,.owner-ui *{box-sizing:border-box;min-width:0}
.owner-ui{direction:rtl;text-align:right;overflow-x:hidden}
.owner-ui html,.owner-ui body{overflow-x:hidden}
.owner-ui .panel-l{background:var(--v2-bg);min-height:calc(100vh - 70px)}
.owner-ui .panel-l,.owner-ui .pc,.owner-ui .owner-page,.owner-ui .owner-box,.owner-ui .v2-card{max-width:100%;overflow-wrap:anywhere}
.owner-ui .pc{padding:20px;max-width:min(1280px,100%);width:100%;margin-inline:auto;overflow-x:hidden}
.owner-ui .sb{background:#252A34;color:#eef6fb;border-left:0;box-shadow:-10px 0 30px #252a3412}
.owner-ui .sb-l{display:flex;align-items:center;gap:9px;color:#d9e7f7;border-radius:10px;margin:5px 10px;padding:11px 12px}
.owner-ui .sb-l:before{content:"";width:8px;height:8px;border-radius:50%;background:#A8D8EA;box-shadow:0 0 0 4px #a8d8ea33}
.owner-ui .sb-l.ac,.owner-ui .sb-l:hover{background:#ffffff18;color:#fff}
.owner-ui .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;font-weight:850;min-height:38px;white-space:normal;text-align:center;line-height:1.55;box-shadow:0 8px 18px #0f172a0d}
.owner-ui .btn .icon{width:16px;height:16px;stroke-width:2.4}
.owner-ui .btn-p{background:#367FA9;border:0;color:#fff}
.owner-ui .btn-p:hover{background:#28698E}
.owner-ui .btn-a{background:#F2A65A;border:0;color:#252A34}
.owner-ui .btn-o{background:#fff;border:1px solid var(--v2-line);color:#1e293b}
.owner-ui .btn:hover{transform:translateY(-1px)}
.v2-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#DDF2FA;color:#367FA9;font-size:.68rem;font-weight:900}
.v2-badge .icon{width:14px;height:14px}
.owner-head.simple-head{background:#fff;border:1px solid #DCE8EF;border-radius:14px;padding:18px;box-shadow:0 8px 24px rgba(37,42,52,.08)}
.owner-head h1{letter-spacing:0;color:#252A34}
.owner-head p{color:var(--v2-muted)}
.owner-box{background:#fff;border:1px solid var(--v2-line);border-radius:16px;padding:15px;margin:14px 0;box-shadow:0 8px 24px rgba(37,42,52,.08)}
.owner-box h2{display:flex;align-items:center;gap:8px;font-size:.98rem;margin:0 0 13px;color:#172033}
.owner-box h2 .icon{width:19px;height:19px;color:#367FA9}
.owner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}
.owner-stat.simple-stat{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:8px;background:#fff;border:1px solid var(--v2-line);border-radius:16px;padding:13px;overflow:hidden;box-shadow:0 8px 24px rgba(37,42,52,.08)}
.owner-stat.simple-stat:after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--tone,#2563eb)}
.owner-stat .icon{grid-row:1/3;width:34px;height:34px;padding:8px;border-radius:10px;background:color-mix(in srgb,var(--tone,#2563eb) 13%,#fff);color:var(--tone,#2563eb)}
.owner-stat small{font-size:.68rem;color:var(--v2-muted);font-weight:850}
.owner-stat strong{font-size:1.05rem;color:#0f172a}
.owner-stat[data-tone="credit-card"]{--tone:var(--v2-green)}
.owner-stat[data-tone="video"]{--tone:var(--v2-violet)}
.owner-stat[data-tone="briefcase-business"]{--tone:var(--v2-teal)}
.owner-stat[data-tone="clipboard-list"]{--tone:var(--v2-amber)}
.owner-stat[data-tone="badge-up"]{--tone:var(--v2-rose)}
.owner-stat[data-tone="sparkles"]{--tone:var(--v2-blue)}
.v2-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:14px 0}
.v2-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.v2-card{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid var(--v2-line);border-radius:12px;padding:15px;box-shadow:0 10px 25px #0f172a0a;position:relative;overflow:hidden}
.v2-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#2563eb,#0f766e,#f59e0b)}
.v2-card h3{font-size:.96rem;margin:4px 0 8px;color:#111827}
.v2-card p,.v2-card li{font-size:.76rem;line-height:1.9;color:var(--v2-muted)}
.student-admin-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.student-admin-card{padding:12px}
.student-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:8px}
.student-card-head h3{margin:0 0 2px;font-size:.9rem}
.student-card-head p{margin:0;font-size:.68rem;line-height:1.5}
.student-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.student-card-meta span{display:flex;align-items:center;gap:5px;min-width:0;padding:6px 7px;border-radius:8px;background:#f3f7fb;color:#334155;font-size:.67rem;font-weight:800;line-height:1.5}
.student-card-meta .icon{width:14px;height:14px;flex:0 0 14px;color:#2563eb}
.student-card-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.student-card-actions .btn{min-height:31px;padding:6px 8px;border-radius:8px;font-size:.68rem;flex:0 0 auto;box-shadow:none}
.student-card-actions .btn .icon{width:14px;height:14px}
.advisor-admin-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.advisor-admin-card{padding:11px;display:grid;gap:8px}
.advisor-admin-card .owner-box{padding:10px;margin:9px 0;box-shadow:none}
.advisor-admin-card .owner-box h2{font-size:.82rem;margin-bottom:8px}
.advisor-compact-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.advisor-compact-line span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:8px;background:#f3f7fb;color:#334155;font-size:.66rem;font-weight:850;line-height:1.4}
.advisor-compact-line .icon{width:13px;height:13px;color:#2563eb;flex:0 0 13px}
.advisor-mini-stats{grid-template-columns:repeat(2,1fr);gap:7px;margin:8px 0}
.advisor-mini-stats .owner-stat{padding:9px}
.advisor-mini-stats .owner-stat strong{font-size:.86rem}
.advisor-mini-stats .owner-stat small{font-size:.62rem}
.advisor-mini-stats .owner-stat .icon{width:28px;height:28px;padding:7px}
.advisor-admin-card .v2-table table{min-width:0}
.advisor-admin-card .v2-table th,.advisor-admin-card .v2-table td{font-size:.68rem;padding:7px}
.v2-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:12px 0}
.v2-step{background:#f8fafc;border:1px solid var(--v2-line);border-radius:10px;padding:11px;font-size:.72rem}
.v2-step b{display:block;color:var(--v2-blue);font-size:.9rem;margin-bottom:4px}
.v2-step.ok{background:#dcfce7;border-color:#86efac;color:#166534}
.v2-slot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.v2-slot{border:1px solid #bfd3ea;background:#fff;border-radius:11px;padding:11px;text-align:center;font-size:.73rem;font-weight:900;cursor:pointer;color:#12324c;box-shadow:0 8px 18px #0f172a0a}
.v2-slot:not([data-state]):hover{border-color:#0f766e;background:#ecfdf5;color:#065f46}
.v2-slot[data-state="booked"]{background:#fee2e2;color:#991b1b;border-color:#fecaca;cursor:not-allowed;box-shadow:none}
.v2-slot[data-state="blocked"]{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:not-allowed;box-shadow:none}
.v2-kpi{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--v2-line)}
.v2-kpi:last-child{border-bottom:0}
.v2-kpi small{color:var(--v2-muted)}
.v2-kpi strong{font-size:1rem}
.v2-progress{height:10px;background:#dfe8f2;border-radius:99px;overflow:hidden;margin:8px 0}
.v2-progress i{display:block;height:100%;background:linear-gradient(90deg,#0f766e,#22c55e)}
.v2-progress.warn i{background:linear-gradient(90deg,#f59e0b,#f97316)}
.score-progress{background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:14px;margin:14px 0;box-shadow:0 10px 24px #0f172a0a}
.score-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.score-head strong{display:block;font-size:.9rem;color:#0f172a}
.score-head span{display:block;font-size:.72rem;color:var(--v2-muted);font-weight:850;margin-top:3px}
.score-head b{font-size:1.4rem;color:#0f766e}
.score-parts{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}
.score-parts span{background:#f1f5f9;color:#334155;border-radius:8px;padding:6px 8px;font-size:.68rem;font-weight:850}
.week-tabs{display:flex;gap:7px;overflow:auto;padding-bottom:6px;margin-bottom:10px}
.week-tab{border:1px solid var(--v2-line);background:#fff;color:#334155;border-radius:9px;padding:8px 12px;font-family:inherit;font-weight:900;cursor:pointer;white-space:nowrap}
.week-tab.ac,.week-tab:hover{background:#2563eb;color:#fff;border-color:#2563eb}
.week-board{display:grid;gap:10px}
.week-day{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.time-card{border:1px solid var(--v2-line);border-radius:12px;padding:12px;background:#fff;box-shadow:0 8px 20px #0f172a08}
.time-card.free{background:#f8fafc;border-style:dashed}
.time-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.time-card header strong{font-size:.86rem;color:#0f172a}
.time-card header span{font-size:.68rem;font-weight:900;color:#475569}
.time-student{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.time-student img{width:42px;height:42px;border-radius:10px;background:#eef5ff;border:1px solid #dbeafe}
.time-student b{display:block;font-size:.82rem;color:#111827}
.time-student small{display:block;color:#64748b;font-size:.68rem;margin-top:2px}
.time-warn{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.time-warn span{background:#eef5ff;color:#1e3a5f;border-radius:8px;padding:5px 7px;font-size:.65rem;font-weight:850}
.compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.compare-card{position:relative;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:12px;box-shadow:0 8px 20px #0f172a08;display:grid;gap:4px}
.compare-card .icon{width:24px;height:24px;color:var(--tone)}
.compare-card small{color:#64748b;font-weight:900}
.compare-card strong{font-size:1.25rem;color:#0f172a}
.compare-card span,.compare-card b{font-size:.7rem;color:#475569}
.compare-card.blue{--tone:#2563eb}.compare-card.black{--tone:#111827}.compare-card.orange{--tone:#f59e0b}
.tg-chat-wrap{position:fixed;left:20px;bottom:20px;z-index:1000;direction:rtl;font-family:Vazirmatn,Arial,sans-serif;--tg-primary:#2563eb;--tg-ink:#172033;--tg-muted:#718096;--tg-line:#e5eaf1}
.tg-fab{width:60px;height:60px;border-radius:20px;border:1px solid #ffffff44;background:linear-gradient(145deg,#3b82f6,#1d4ed8);color:#fff;display:grid;place-items:center;box-shadow:0 16px 38px #1d4ed84d,0 3px 8px #0f172a22;cursor:pointer;position:relative;transition:.2s ease}
.tg-fab:hover{transform:translateY(-2px);box-shadow:0 20px 44px #1d4ed85c}
.tg-fab .icon{width:25px;height:25px}
.tg-fab span{position:absolute;top:-3px;right:-3px;background:#ef4444;color:#fff;border:2px solid #fff;min-width:20px;height:20px;border-radius:999px;font-size:.64rem;font-weight:900;display:grid;place-items:center}
.tg-panel{position:absolute;left:0;bottom:74px;width:min(860px,calc(100vw - 40px));height:min(660px,calc(100vh - 112px));background:#fff;border:1px solid #dce3ed;border-radius:24px;overflow:hidden;box-shadow:0 30px 90px #0f172a35;display:grid;grid-template-rows:auto auto 1fr}
.tg-panel[hidden]{display:none!important}
.tg-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(125deg,#172554,#1e3a8a 55%,#2563eb);color:#fff;padding:16px 18px}
.tg-brand{display:flex;align-items:center;gap:11px}.tg-brand-icon{width:42px;height:42px;border-radius:14px;background:#ffffff18;display:grid;place-items:center}.tg-brand-icon .icon{width:22px}
.tg-head button{width:34px;height:34px;border:0;border-radius:11px;background:#ffffff14;color:#fff;cursor:pointer;display:grid;place-items:center}.tg-head button .icon{width:19px}
.tg-head strong{display:block;font-size:.94rem}.tg-head small{display:block;font-size:.67rem;color:#dbeafe;margin-top:3px}
.tg-tabs{height:62px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--tg-line);background:#fff;padding:0 12px}
.tg-tabs button{border:0;background:transparent;color:#7b8799;font-family:inherit;font-weight:850;font-size:.67rem;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;cursor:pointer}.tg-tabs button .icon{width:17px}.tg-tabs button.active{color:var(--tg-primary)}.tg-tabs button.active:after{content:"";position:absolute;bottom:0;width:48px;height:3px;border-radius:3px 3px 0 0;background:var(--tg-primary)}
.tg-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:0}.tg-list-pane{min-width:0;border-left:1px solid var(--tg-line);display:grid;grid-template-rows:auto auto 1fr;background:#fbfcfe;min-height:0}.tg-search{margin:12px 12px 8px;height:42px;border:1px solid #dce3ec;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:0 11px}.tg-search .icon{width:17px;color:#94a3b8}.tg-search input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:.72rem;color:var(--tg-ink)}
.tg-scope-note{margin:0 12px 8px;padding:8px 9px;border-radius:10px;background:#eff6ff;color:#1e40af;display:flex;align-items:flex-start;gap:6px;font-size:.6rem;line-height:1.65}.tg-scope-note .icon{width:15px;min-width:15px;margin-top:2px}
.tg-list{overflow:auto;padding:0 8px 10px}.tg-row{width:100%;border:0;border-radius:14px;background:transparent;padding:10px 8px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:9px;text-align:right;font-family:inherit;cursor:pointer;position:relative}.tg-row:hover{background:#f1f5fb}.tg-row.active{background:#eaf2ff}.tg-avatar{width:44px;height:44px;border-radius:14px;background:#e7efff;color:#2563eb;display:grid;place-items:center}.tg-avatar .icon{width:20px}.tg-avatar.urgent{background:#fee2e2;color:#dc2626}.tg-row-main{min-width:0;display:block}.tg-row-main>span{display:flex;align-items:center;justify-content:space-between;gap:5px}.tg-row-main b{font-size:.73rem;color:var(--tg-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-row-main time{font-size:.55rem;color:#94a3b8}.tg-row-main small{display:block;font-size:.58rem;color:#557099;font-weight:800;margin:2px 0}.tg-row-main em{display:block;font-style:normal;font-size:.62rem;color:#8793a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tg-unread{align-self:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#2563eb;color:#fff;font-size:.58rem;font-weight:950;display:grid;place-items:center}.tg-list-empty{height:100%;display:grid;place-items:center;align-content:center;text-align:center;color:#94a3b8;padding:22px}.tg-list-empty .icon{width:35px;margin-bottom:8px}.tg-list-empty b{font-size:.75rem;color:#64748b}.tg-list-empty small{font-size:.62rem;margin-top:5px;line-height:1.7}
.tg-conversation{display:grid;grid-template-rows:auto auto 1fr auto;min-width:0;min-height:0;background:#f7f9fc}.tg-conv-head{height:64px;padding:0 15px;background:#fff;border-bottom:1px solid var(--tg-line);display:flex;align-items:center;gap:10px}.tg-conv-head .tg-avatar{width:40px;height:40px;border-radius:13px}.tg-conv-head>div{min-width:0;flex:1}.tg-conv-head strong{display:block;font-size:.79rem;color:var(--tg-ink)}.tg-conv-head small{display:block;font-size:.61rem;color:#718096;margin-top:3px}.tg-more,.tg-mobile-back{border:0!important;background:#f1f5f9!important;color:#64748b!important;width:34px!important;height:34px!important;border-radius:11px!important;display:grid!important;place-items:center}.tg-more .icon,.tg-mobile-back .icon{width:17px}.tg-mobile-back{display:none!important}.tg-privacy{padding:7px 13px;background:#fffbeb;color:#92400e;font-size:.58rem;font-weight:800;display:flex;align-items:center;gap:6px}.tg-privacy .icon{width:14px}
.tg-body{padding:14px;overflow:auto;background:radial-gradient(circle at 20% 10%,#eaf2ff 0,transparent 38%),#f7f9fc;display:flex;flex-direction:column;gap:8px}
.tg-msg{max-width:82%;align-self:flex-start;background:#fff;border-radius:14px 14px 14px 4px;padding:8px 10px;box-shadow:0 4px 12px #0f172a12}
.tg-msg.me{align-self:flex-end;background:#d9fdd3;border-radius:14px 14px 4px 14px}
.tg-msg p{margin:0;color:#111827;font-size:.78rem;line-height:1.8}
.tg-msg span{display:block;margin-top:4px;color:#64748b;font-size:.58rem;text-align:left}
.tg-empty{margin:auto;background:#ffffffaa;border-radius:999px;padding:8px 12px;color:#64748b;font-size:.72rem;font-weight:850}
.tg-compose{display:grid;grid-template-columns:34px 1fr 34px 38px;gap:7px;align-items:end;background:#fff;padding:10px 12px;border-top:1px solid var(--tg-line)}
.tg-compose button{border:0;border-radius:50%;height:34px;width:34px;background:#e2edf5;color:#0f5f8d;display:grid;place-items:center;cursor:pointer}
.tg-compose button:last-child{width:38px;height:38px;background:#229ed9;color:#fff}
.tg-compose .tg-mic.recording{background:#ef4444;color:#fff;box-shadow:0 0 0 4px #fecaca}
.tg-compose .icon{width:18px;height:18px}
.tg-compose textarea{resize:none;border:1px solid #cbd8e6;border-radius:18px;padding:9px 12px;font-family:inherit;font-size:.78rem;line-height:1.5;max-height:90px;outline:none;background:#fff}
.tg-compose small{grid-column:1/-1;color:#64748b;font-size:.62rem;font-weight:850;padding-inline:8px;min-height:0}
.tg-readonly{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;background:#f1f5f9;color:#64748b;border-radius:12px;padding:10px;font-size:.68rem;font-weight:850}.tg-readonly .icon{width:16px}
.tg-recorder,.tg-ready{grid-column:1/-1;display:grid;grid-template-columns:34px auto auto 1fr 34px;gap:8px;align-items:center;background:#fff;border:1px solid #d7e5ef;border-radius:999px;padding:6px 8px;box-shadow:0 8px 18px #0f172a10}
.tg-recorder[hidden],.tg-ready[hidden]{display:none!important}
.tg-compose:has(.tg-recorder:not([hidden]))>textarea,.tg-compose:has(.tg-recorder:not([hidden]))>[data-app="attach-chat"],.tg-compose:has(.tg-recorder:not([hidden]))>.tg-mic,.tg-compose:has(.tg-recorder:not([hidden]))>[data-app="send-chat"]{display:none}
.tg-ready{grid-template-columns:34px 34px 1fr auto}
.tg-compose.has-voice>textarea{display:none}
.tg-trash{background:#fee2e2!important;color:#dc2626!important}
.tg-stop{background:#ef4444!important;color:#fff!important}
.tg-rec-dot{width:9px;height:9px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 5px #fee2e2;animation:tgPulse 1s infinite}
.tg-recorder span,.tg-ready span{font-size:.72rem;font-weight:950;color:#334155;direction:ltr}
.tg-live-wave,.voice-wave{height:30px;display:flex;align-items:center;gap:2px;overflow:hidden}
.tg-live-wave i,.voice-wave i{display:block;width:3px;height:var(--h);min-height:5px;border-radius:99px;background:#7aa7c7}
.tg-live-wave i{background:#ef4444;animation:tgWave .9s ease-in-out infinite alternate;animation-delay:calc(var(--h) * -7ms)}
.voice-bubble{display:grid;grid-template-columns:36px minmax(120px,1fr) auto;gap:8px;align-items:center;min-width:230px}
.voice-play{background:#229ed9!important;color:#fff!important;width:36px!important;height:36px!important}
.voice-bubble time{font-size:.68rem;font-weight:950;color:#64748b;direction:ltr}
.voice-caption{font-size:.7rem!important;color:#334155!important;margin-top:6px!important}
.tg-msg.me .voice-play{background:#22c55e!important}
.tg-msg.me .voice-wave i{background:#22a06b}
@keyframes tgPulse{50%{opacity:.45;transform:scale(.85)}}
@keyframes tgWave{to{height:12%}}
.student-profile-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:14px;margin:14px 0;box-shadow:0 10px 26px #0f172a0a}
.student-avatar{width:76px;height:76px;border-radius:14px;background:#eef5ff;border:1px solid #dbeafe;display:grid;place-items:center;overflow:hidden}
.student-avatar img{width:64px;height:64px;object-fit:contain}
.student-profile-main h2{font-size:1rem;margin:0 0 4px;color:#0f172a}
.student-profile-main p{margin:0;color:var(--v2-muted);font-size:.78rem}
.student-profile-main small{display:block;color:#475569;font-weight:850;margin-top:6px}
.profile-hero-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;align-items:stretch;background:linear-gradient(135deg,#ffffff,#f5fbff);border:1px solid #dbe7f3;border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 16px 42px #0f172a12}
.profile-photo-wrap{position:relative;display:grid;place-items:center;align-content:center;gap:10px;background:#eef6ff;border:1px solid #dbeafe;border-radius:14px;min-height:176px;overflow:hidden}
.profile-photo-wrap img{width:112px;height:112px;object-fit:contain;border-radius:28px;background:#fff;border:1px solid #dbeafe;padding:10px;box-shadow:0 10px 24px #0f172a12}
.profile-photo-btn{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin:0!important;padding:7px 10px;border-radius:9px;background:#2563eb;color:#fff!important;font-size:.68rem!important;font-weight:950!important;cursor:pointer}
.profile-photo-btn input{display:none}
.profile-hero-main{display:grid;gap:12px;min-width:0}
.profile-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.profile-title-row h2{font-size:1.25rem;line-height:1.4;color:#0f172a;margin:6px 0 2px}
.profile-title-row p{font-size:.78rem;color:#64748b;font-weight:850;margin:0}
.profile-status{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;background:#dcfce7;color:#166534;border:1px solid #86efac;border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:950}
.profile-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.profile-info-grid article{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:10px;min-width:0}
.profile-info-grid small,.profile-package small{display:block;color:#64748b;font-size:.64rem;font-weight:950;margin-bottom:4px}
.profile-info-grid strong{display:block;color:#0f172a;font-size:.78rem;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-package{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:center;background:#fff;border:1px solid #dbe7f3;border-radius:14px;padding:12px}
.profile-package strong{display:block;color:#0f172a;font-size:.95rem;margin-bottom:4px}
.profile-package span{display:block;color:#475569;font-size:.7rem;font-weight:850}
.profile-progress b{display:block;text-align:left;color:#1d4ed8;font-size:1.1rem;margin-bottom:5px}
.level-secure{min-width:112px;border:1px dashed #f59e0b;background:#fffbeb;border-radius:10px;padding:10px;text-align:center}
.level-secure small,.level-secure span{display:block;color:#92400e;font-size:.64rem;font-weight:850}
.level-secure strong{display:block;color:#78350f;font-size:1.35rem;line-height:1.2}
.event-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:950;margin-inline-end:5px;border:1px solid transparent}
.event-badge .icon{width:14px;height:14px}
.event-badge.done{background:#dcfce7;color:#166534;border-color:#86efac}
.event-badge.missed{background:#fee2e2;color:#991b1b;border-color:#fecaca}
.event-badge.future{background:#dbeafe;color:#1d4ed8;border-color:#bfdbfe}
.event-badge.past{background:#f1f5f9;color:#475569;border-color:#e2e8f0}
.v2-form{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.v2-form label{font-size:.72rem;font-weight:900;color:#334155}
.v2-form input,.v2-form select,.v2-form textarea{width:100%;margin-top:6px;border:1px solid #cbd8e6;border-radius:9px;padding:10px;font-family:inherit;background:#fff;color:#0f172a}
.v2-form input:focus,.v2-form select:focus,.v2-form textarea:focus{outline:2px solid #93c5fd;border-color:#2563eb}
.v2-form .wide{grid-column:1/-1}
.v2-pill-row{display:flex;gap:7px;flex-wrap:wrap;margin:8px 0}
.v2-pill{display:inline-flex;align-items:center;padding:6px 9px;border-radius:99px;background:#dbeafe;color:#1d4ed8;font-size:.7rem;font-weight:900}
.v2-pill.success{background:#dcfce7;color:#166534}
.v2-pill.warn{background:#ffedd5;color:#9a3412}
.v2-pill.danger{background:#fee2e2;color:#991b1b}
.v2-table{max-width:100%;overflow-x:auto;overflow-y:hidden;border:1px solid var(--v2-line);border-radius:12px;background:#fff;direction:rtl}
.v2-table table{width:100%;border-collapse:separate;border-spacing:0;min-width:680px;direction:rtl}
.admin-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:12px 0}
.admin-action-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:12px;box-shadow:0 10px 24px #0f172a08}
.admin-action-card>.icon{width:42px;height:42px;border-radius:11px;padding:10px;background:#eff6ff;color:#2563eb}
.admin-action-card.green>.icon{background:#ecfdf5;color:#0f766e}.admin-action-card.amber>.icon{background:#fffbeb;color:#d97706}.admin-action-card.violet>.icon{background:#f5f3ff;color:#7c3aed}
.admin-action-card h3{margin:0 0 3px;font-size:.86rem;color:#0f172a}.admin-action-card p{margin:0;color:#64748b;font-size:.68rem;line-height:1.6}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.admin-mini-list{display:grid;gap:7px}.admin-mini-list article{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1.3fr) auto;gap:8px;align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:9px}
.admin-mini-list b{font-size:.78rem;color:#0f172a}.admin-mini-list span{font-size:.68rem;color:#64748b;font-weight:850}
.admin-drawer-wrap{align-items:stretch;justify-content:flex-start;padding:0;background:#0f172a55}
.admin-drawer{width:min(720px,100vw);height:100vh;background:#fff;box-shadow:18px 0 70px #02061755;display:grid;grid-template-rows:auto 1fr;animation:drawerIn .18s ease-out}
.admin-drawer header{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--v2-line);padding:14px 16px;background:#f8fafc}
.admin-drawer header h2{margin:0;font-size:1rem;color:#0f172a}.admin-drawer header p{margin:3px 0 0;color:#64748b;font-size:.7rem;font-weight:850}
.admin-drawer .modal-x{position:static;flex:0 0 auto}.admin-drawer-body{overflow:auto;padding:14px 16px 28px}
.admin-drawer .form-wizard{display:grid;gap:10px}.admin-drawer .wizard-step,.admin-drawer details{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px;box-shadow:none}
.admin-drawer .wizard-step h3{margin:0 0 10px;font-size:.84rem;color:#0f172a}
.package-wizard .wizard-step{position:relative}
.package-wizard .wizard-step h3{display:flex;align-items:center;gap:8px}
.package-wizard .wizard-step h3:before{content:"";width:24px;height:24px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe}
.package-item-picker{display:grid;gap:8px}
.package-item-picker article{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:8px;align-items:center;border:1px solid #e2e8f0;border-radius:11px;background:#fff;padding:9px}
.package-item-picker label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;align-items:center;cursor:pointer}
.package-item-picker label b{font-size:.78rem;color:#0f172a}.package-item-picker label span{grid-column:2;color:#64748b;font-size:.66rem;font-weight:850}
.package-item-picker input[type="number"]{height:34px;border:1px solid #cbd8e6;border-radius:8px;padding:6px;text-align:center;font-family:inherit}
.package-item-picker article:has(.pkg-item-check:checked){border-color:#2563eb;background:#eff6ff}
.package-total{margin-top:9px;border:1px dashed #93c5fd;background:#eff6ff;color:#1d4ed8;border-radius:10px;padding:9px;font-size:.75rem;font-weight:950}
@keyframes drawerIn{from{transform:translateX(-24px);opacity:.6}to{transform:none;opacity:1}}
.v2-table th{background:#eef5ff;color:#1e3a5f;font-size:.72rem;font-weight:950}
.v2-table th,.v2-table td{padding:11px 10px;border-bottom:1px solid var(--v2-line);font-size:.74rem;text-align:right!important;vertical-align:middle}
.v2-table tr:last-child td{border-bottom:0}
.v2-table tbody tr:hover{background:#f8fbff}
.answer-key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:7px}
.answer-key-grid label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;border:1px solid var(--v2-line);border-radius:9px;padding:6px;background:#f8fbff;font-size:.68rem;font-weight:900}
.answer-key-grid span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#dbeafe;color:#1d4ed8}
.answer-key-grid select{border:1px solid #cbd8e6;border-radius:7px;padding:4px;font-family:inherit;background:#fff}
.radio-key-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}
.radio-key-grid fieldset{border:1px solid var(--v2-line);border-radius:10px;background:#f8fbff;padding:8px;display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.radio-key-grid fieldset[hidden]{display:none!important}
.radio-key-grid legend{font-size:.68rem;font-weight:950;color:#1d4ed8;padding:0 5px}
.radio-key-grid label{display:flex;align-items:center;justify-content:center;gap:3px;border:1px solid #dbe3ee;background:#fff;border-radius:8px;padding:5px;font-size:.66rem;font-weight:900}

/* Student portal live refinements */
.legacy-portal-shell .panel-l.dense{background:#f6f9fc}
.legacy-portal-shell .panel-l.dense .sb{background:#252A34;border-left:0;color:#eef6fb;box-shadow:-10px 0 30px #252a3412}
.legacy-portal-shell .panel-l.dense .sb-l{color:#d9e7f7;background:transparent;border:0}
.legacy-portal-shell .panel-l.dense .sb-l:hover{background:#ffffff18;color:#fff}
.legacy-portal-shell .panel-l.dense .sb-l.ac{background:#ffffff18;color:#fff}
.field-hint{display:block;margin-top:6px;color:#64748b;font-size:12px;line-height:1.7}
.jalali-date-row{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:8px}
.jalali-date-row select{width:100%;min-height:42px;border:1px solid #d7e2ee;border-radius:8px;background:#fff;padding:8px;color:#0f172a}
.external-report-form input[type=file]{padding:9px;background:#f8fafc}
.session-list-stack{display:grid;gap:14px}
.session-list-card{margin:0}
.session-stepper{display:inline-flex!important;align-items:center;gap:8px;padding:6px;border:1px solid #bfdbfe;border-radius:12px;background:#eff6ff;box-shadow:0 8px 20px #2563eb12}
.session-stepper b,.simple-actions>b.v2-pill{min-width:58px;justify-content:center;text-align:center;background:#fff;color:#1e40af;border:1px solid #bfdbfe}
.session-stepper .btn,.simple-actions [data-app="session-prev"],.simple-actions [data-app="session-next"]{background:#fff!important;color:#1d4ed8!important;border:1px solid #93c5fd!important;box-shadow:none!important}
.session-stepper .btn[disabled],.simple-actions [data-app="session-prev"][disabled],.simple-actions [data-app="session-next"][disabled]{opacity:.45;filter:grayscale(.25)}
.live-portfolio-shell{overflow:hidden}.portfolio-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.portfolio-stat{border:1px solid var(--v2-line);border-radius:8px;padding:10px;background:#fff;display:grid;gap:4px;min-height:82px}.portfolio-stat small,.portfolio-line small{color:#64748b}.portfolio-stat strong{font-size:18px;color:#0f172a}.portfolio-section{border:1px solid var(--v2-line);border-radius:8px;padding:10px;margin:10px 0;background:#fff}.portfolio-section h3{margin:0 0 8px;font-size:14px}.portfolio-lines{display:grid;gap:6px}.portfolio-line{display:flex;justify-content:space-between;gap:10px;padding:8px;border-radius:8px;background:#f8fafc}.portfolio-pills{display:flex;gap:6px;flex-wrap:wrap}.portfolio-pill{background:#eef6ff;border:1px solid #dbeafe;border-radius:999px;padding:5px 8px;font-size:12px;color:#1d4ed8;font-weight:900}.portfolio-chart{width:100%;height:auto;display:block}.portfolio-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:768px){.legacy-portal-shell .hdr-act{gap:8px}.legacy-portal-shell .panel-l.menu-open .sb{background:#252A34!important}.legacy-portal-shell .simple-hero .simple-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.legacy-portal-shell .simple-hero .simple-actions .session-stepper{grid-column:1/-1;width:100%;justify-content:space-between}.legacy-portal-shell .simple-hero .simple-actions>.btn{width:100%;justify-content:center}.portfolio-two,.portfolio-kpis{grid-template-columns:1fr}.portfolio-line{align-items:flex-start;flex-direction:column}.portfolio-stat strong{font-size:16px}}
.radio-key-grid input{accent-color:#2563eb}
.advisor-qualification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.advisor-qualification-grid fieldset{border:1px solid var(--v2-line);border-radius:10px;background:#f8fbff;padding:9px;display:grid;gap:6px}
.advisor-qualification-grid legend{font-size:.72rem;font-weight:950;color:#1d4ed8;padding:0 5px}
.advisor-qualification-grid label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #dbe3ee;border-radius:8px;padding:7px;font-size:.68rem;font-weight:900}
.advisor-qualification-grid input{accent-color:#2563eb}
.exam-answer-lessons{display:grid;gap:8px;margin-top:8px}
.exam-answer-lessons label{display:grid;gap:5px;background:#f8fbff;border:1px solid var(--v2-line);border-radius:10px;padding:9px}
.exam-answer-lessons strong{font-size:.72rem;color:#0f172a}
.exam-answer-lessons textarea{min-height:64px;border:1px solid #cbd8e6;border-radius:8px;padding:8px;font-family:inherit}
.exam-wizard{display:grid;gap:10px}
.form-wizard{display:grid;gap:10px}
.accordion-form details{border:1px solid var(--v2-line);border-radius:12px;background:#fff;overflow:hidden}
.accordion-form summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:10px 12px;background:#f8fbff;color:#0f172a;font-size:.82rem;font-weight:950}
.accordion-form summary::-webkit-details-marker{display:none}
.accordion-form summary:after{content:"+";display:grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#e8f0ff;color:#2563eb;font-weight:950}
.accordion-form details[open] summary{border-bottom:1px solid var(--v2-line)}
.accordion-form details[open] summary:after{content:"-"}
.accordion-form details>div{padding:10px}
.wizard-step{border:1px solid var(--v2-line);border-radius:12px;background:#fff;padding:12px}
.wizard-step h3{font-size:.86rem;margin:0 0 9px;color:#0f172a}
.exam-wizard-step{border:1px solid var(--v2-line);border-radius:12px;background:#fff;padding:12px}
.exam-wizard-step h3{font-size:.86rem;margin:0 0 9px;color:#0f172a}
.exam-chapter-rows{display:grid;gap:8px}
.exam-chapter-rows section{border:1px dashed #cbd8e6;border-radius:10px;background:#f8fbff;padding:10px}
.exam-chapter-rows section[hidden]{display:none!important}
.exam-chapter-rows h3{font-size:.78rem;margin:0 0 7px;color:#1d4ed8}
.clear-line-legend{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 10px}
.clear-line-legend span{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f8fafc;border:1px solid var(--v2-line);font-size:.68rem;font-weight:900;color:#334155}
.clear-line-legend span:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--line)}
.clear-line-legend .study{--line:#2563eb}.clear-line-legend .tests{--line:#111827}.clear-line-legend .quiz{--line:#f59e0b}.clear-line-legend .review{--line:#e11d48}
.clear-line-chart{width:100%;height:auto;min-height:280px;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:8px;overflow:visible}
.clear-line-chart .grid line{stroke:#e2e8f0;stroke-width:1}
.clear-line-chart .axis text{font-size:12px;fill:#64748b;font-weight:800;text-anchor:middle}
.clear-line-chart .series{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(15,23,42,.08))}
.clear-line-chart .series.study{stroke:#2563eb}.clear-line-chart .series.tests{stroke:#111827}.clear-line-chart .series.quiz{stroke:#f59e0b}.clear-line-chart .series.review{stroke:#e11d48}
.clear-line-chart .dots circle{stroke:#fff;stroke-width:2}
.clear-line-chart .dots .study{fill:#2563eb}.clear-line-chart .dots .tests{fill:#111827}.clear-line-chart .dots .quiz{fill:#f59e0b}.clear-line-chart .dots .review{fill:#e11d48}
.trend-mini-list{display:grid;gap:7px}
.trend-mini-list p{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:8px;border-radius:9px;background:#f8fbff;border:1px solid var(--v2-line)}
.trend-mini-list span{font-size:.68rem;color:#64748b;font-weight:900}.trend-mini-list b{font-size:.86rem;color:#0f172a}
.v2-public-band{padding:34px 0;background:#f8fafc}
.v2-public-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.v2-session-chart{display:grid;gap:10px}
.v2-session-row{display:grid;grid-template-columns:150px 170px 1fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--v2-line);border-radius:12px;background:#fff;box-shadow:0 8px 20px #0f172a08}
.v2-session-row strong{display:block;font-size:.82rem}
.v2-session-row small{display:block;color:var(--v2-muted);font-size:.68rem;margin-top:3px}
.v2-session-row p{font-size:.74rem;line-height:1.9;color:#334155;margin:0}
.v2-bars{height:72px;display:flex;align-items:end;gap:7px;border-bottom:1px solid #cbd5e1}
.v2-bars span{display:block;width:28px;min-height:8px;border-radius:6px 6px 0 0;background:#2563eb}
.v2-bars span:nth-child(2){background:#0f766e}
.v2-bars span:nth-child(3){background:#f59e0b}
.trend-board{display:grid;gap:13px;overflow:hidden}
.trend-legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.trend-legend span{display:inline-flex;align-items:center;gap:5px;background:#f8fafc;border:1px solid var(--v2-line);border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:900;color:#334155}
.legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block;background:#2563eb}
.legend-dot.study,.trend-bars .study{background:#2563eb}
.legend-dot.tests,.trend-bars .tests{background:#111827}
.legend-dot.quiz,.trend-bars .quiz{background:#f59e0b}
.legend-dot.exam,.trend-bars .exam{background:#0f766e}
.legend-dot.inst,.trend-bars .inst{background:#7c3aed}
.legend-dot.review,.trend-bars .review{background:#e11d48}
.trend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}
.trend-week{background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:12px;box-shadow:0 10px 24px #0f172a0a}
.trend-week header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}
.trend-week header strong{font-size:.86rem;color:#0f172a}
.trend-week header small{font-size:.68rem;color:var(--v2-muted);font-weight:850}
.trend-bars{height:170px;display:flex;align-items:end;gap:8px;padding:10px 6px 0;border-bottom:1px solid #cbd5e1;background:linear-gradient(180deg,#f8fbff,#fff)}
.trend-bars span{position:relative;flex:1;min-width:24px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;color:#fff;font-size:.62rem;font-weight:950;padding-top:5px}
.trend-bars b{writing-mode:vertical-rl;line-height:1;white-space:nowrap}
.trend-meta{display:flex;gap:6px;flex-wrap:wrap;margin:9px 0}
.trend-meta span{background:#f1f5f9;border-radius:8px;padding:5px 7px;font-size:.66rem;font-weight:850;color:#334155}
.trend-week p{font-size:.72rem;line-height:1.8;color:#475569;margin:0}
.mega-chart{display:grid;grid-template-columns:42px 1fr;gap:8px;background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:14px;box-shadow:0 12px 30px #0f172a0a;overflow-x:auto}
.year-overview{display:grid;grid-template-columns:repeat(var(--weeks),minmax(34px,1fr));gap:5px;background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:10px;box-shadow:0 10px 24px #0f172a08;overflow-x:auto}
.year-overview.medium{grid-template-columns:repeat(var(--weeks),minmax(26px,1fr))}
.year-overview.dense{grid-template-columns:repeat(var(--weeks),minmax(18px,1fr))}
.week-dot{height:34px;border:0;border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,#2563eb var(--activity),#e2e8f0),color-mix(in srgb,#0f766e var(--activity),#f8fafc));box-shadow:inset 0 -1px 0 #0f172a12;cursor:pointer;padding:0;color:#0f172a;font-size:.62rem;font-weight:950}
.year-overview.medium .week-dot{height:28px;border-radius:7px}
.year-overview.dense .week-dot{height:22px;border-radius:5px;font-size:0}
.week-dot:hover{outline:2px solid #2563eb;outline-offset:2px}
.chart-window-note{font-size:.72rem;color:#475569;background:#f8fafc;border:1px solid var(--v2-line);border-radius:10px;padding:8px 10px}
.annual-chart{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:7px;background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:12px;box-shadow:0 12px 28px #0f172a0a}
.annual-week{min-height:54px;border:1px solid #dbe5f0;border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,#2563eb var(--activity),#f8fafc),#fff);padding:5px;display:grid;grid-template-rows:auto 1fr;gap:4px;overflow:hidden}
.annual-week b{font-size:.58rem;color:#0f172a;line-height:1;text-align:center}
.annual-week.done{border-color:#60a5fa;box-shadow:inset 0 0 0 1px #dbeafe}
.annual-week.missing{background:#f1f5f9;border-style:dashed}
.annual-week.future{background:#eff6ff;border-color:#bfdbfe;opacity:.62}
.annual-bars{height:32px;display:flex;align-items:end;justify-content:center;gap:2px;border-bottom:1px solid #cbd5e1}
.annual-bars span{width:4px;min-height:3px;border-radius:3px 3px 0 0}
.annual-bars .study,.detail-meter .study{background:#2563eb}.annual-bars .tests,.detail-meter .tests{background:#111827}.annual-bars .quiz,.detail-meter .quiz{background:#f59e0b}.annual-bars .exam,.detail-meter .exam{background:#0f766e}.annual-bars .review,.detail-meter .review{background:#e11d48}
.year-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.year-detail-card{background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:10px;box-shadow:0 10px 24px #0f172a08}
.year-detail-card strong{display:block;color:#0f172a;font-size:.78rem}.year-detail-card small{display:block;color:#64748b;font-size:.62rem;margin:2px 0 8px}
.year-detail-card.missing{background:#f8fafc}.year-detail-card.future{opacity:.7}
.detail-meter{position:relative;height:25px;background:#f1f5f9;border-radius:7px;overflow:hidden;margin-top:6px}
.detail-meter i{position:absolute;inset-block:0;right:0;border-radius:7px}
.detail-meter span{position:relative;z-index:1;display:flex;align-items:center;height:100%;padding-inline:8px;font-size:.62rem;font-weight:900;color:#0f172a}
.academic-trend{display:grid;gap:12px;background:#fbfdff;border:1px solid #e2e8f0;border-radius:16px;padding:12px;box-shadow:0 18px 45px #0f172a0a}
.trend-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.trend-kpis article{background:#fff;border:1px solid #e5edf6;border-radius:14px;padding:14px;display:grid;grid-template-columns:46px 1fr;gap:4px 12px;align-items:center;box-shadow:0 10px 26px #0f172a0b}
.trend-kpis .icon{grid-row:1/4;width:42px;height:42px;padding:10px;border-radius:12px;background:#eef7f1;color:#16a34a}
.trend-kpis article:nth-child(2) .icon{background:#fff7e6;color:#f59e0b}.trend-kpis article:nth-child(3) .icon{background:#ecfdf5;color:#16a34a}.trend-kpis article:nth-child(4) .icon{background:#f3e8ff;color:#7c3aed}
.trend-kpis small{font-size:.66rem;color:#475569;font-weight:950}.trend-kpis strong{font-size:1.15rem;color:#0f172a}.trend-kpis span{font-size:.64rem;color:#64748b;font-weight:800}
.heatmap-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 10px 26px #0f172a08}
.heat-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.heat-head strong{font-size:.86rem;color:#0f172a}.heat-head span{font-size:.64rem;color:#64748b;font-weight:850}
.heat-row{display:grid;grid-template-columns:132px 1fr;gap:10px;align-items:center;margin-top:8px}
.heat-label{display:flex;align-items:center;gap:8px;color:#0f172a;font-size:.68rem;font-weight:950}.heat-label .icon{width:22px;height:22px;padding:4px;border-radius:7px;background:#eff6ff;color:#2563eb}
.heat-cells{display:grid;grid-template-columns:repeat(52,minmax(8px,1fr));gap:4px;direction:ltr}
.heat-cells b{position:relative;height:17px;border-radius:4px;background:#e5e7eb;box-shadow:inset 0 -1px 0 #0f172a12}
.heat-cells b.overall{background:color-mix(in srgb,#22c55e var(--v),#e5f4e8)}.heat-cells b.study{background:color-mix(in srgb,#3b82f6 var(--v),#e8f1ff)}.heat-cells b.tests{background:color-mix(in srgb,#111827 var(--v),#e5e7eb)}.heat-cells b.quiz{background:color-mix(in srgb,#f97316 var(--v),#ffedd5)}
.heat-cells b.future{opacity:.28}.heat-cells b.missing{opacity:.62;border:1px dashed #94a3b8}.heat-cells em{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-style:normal;font-size:.55rem;color:#475569}
.line-trend-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:14px;box-shadow:0 10px 26px #0f172a08}
.line-legend{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.line-legend span{display:inline-flex;align-items:center;gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;font-size:.68rem;font-weight:950;color:#334155}
.line-legend span:before{content:"";width:10px;height:10px;border-radius:50%;background:#2563eb}.line-legend .tests:before{background:#111827}.line-legend .quiz:before{background:#f97316}.line-legend .review:before{background:#e11d48}
.line-chart-wrap{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:stretch}
.line-y{height:280px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#64748b;font-size:.62rem;font-weight:950;padding-block:5px}
.line-chart{position:relative;height:300px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #e2e8f0;border-radius:12px;padding:10px 10px 24px;overflow:hidden}
.line-grid{position:absolute;inset:10px 10px 34px;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none}
.line-grid i{border-top:1px dashed #cbd5e1}
.line-chart svg{position:absolute;inset:10px 10px 34px;width:calc(100% - 20px);height:calc(100% - 44px);overflow:visible}
.line-chart polyline{fill:none;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 4px #0f172a18)}
.line-chart .study{stroke:#2563eb}.line-chart .tests{stroke:#111827}.line-chart .quiz{stroke:#f97316}.line-chart .review{stroke:#e11d48}
.line-marks{position:absolute;inset:auto 10px 7px 10px;height:18px;direction:ltr}
.line-marks span{position:absolute;transform:translateX(50%);font-size:.56rem;color:#475569;font-weight:950}
.trend-bottom{display:grid;grid-template-columns:250px 1fr 1fr;gap:10px}
.week-detail,.trend-lines,.advisor-analysis{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:14px;box-shadow:0 10px 24px #0f172a08}
.week-detail h3,.trend-lines h3,.advisor-analysis h3{margin:0 0 10px;font-size:.82rem;color:#0f172a}.week-detail p{display:flex;justify-content:space-between;margin:7px 0;font-size:.7rem;color:#64748b}.week-detail b{color:#0f172a}
.trend-lines svg{width:100%;height:150px;background:linear-gradient(#fff,#f8fafc);border-bottom:1px solid #cbd5e1}.trend-lines polyline{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.trend-lines .study{stroke:#22c55e}.trend-lines .tests{stroke:#3b82f6}.trend-lines .quiz{stroke:#f97316}.trend-lines div{display:flex;justify-content:space-between;font-size:.58rem;color:#64748b;margin-top:6px}
.advisor-analysis p{font-size:.78rem;line-height:2;color:#334155;background:#f1f7fb;border-radius:10px;padding:10px;margin:0 0 10px;text-align:center}
.mega-y{height:280px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#64748b;font-size:.62rem;font-weight:900;padding-block:4px}
.mega-plot{position:relative;min-width:max(640px,calc(var(--weeks) * 170px));height:310px;display:grid;grid-template-columns:repeat(var(--weeks),minmax(130px,1fr));gap:16px;padding:12px 12px 0}
.mega-chart.medium .mega-plot{min-width:max(760px,calc(var(--weeks) * 92px));gap:10px}
.mega-chart.dense .mega-plot{min-width:max(920px,calc(var(--weeks) * 42px));gap:4px}
.mega-grid-lines{position:absolute;inset:12px 12px 42px 12px;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none}
.mega-grid-lines i{border-top:1px dashed #cbd5e1}
.score-line{position:absolute;inset:12px 12px 42px 12px;width:calc(100% - 24px);height:calc(100% - 54px);overflow:visible;pointer-events:none}
.score-line polyline{fill:none;stroke:#7c3aed;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 4px 5px #7c3aed33)}
.access-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px}.access-grid label,.newsletter-recipient-list label{display:flex;align-items:center;gap:8px;border:1px solid var(--v2-line);border-radius:10px;padding:10px;background:#f8fafc;font-size:.74rem}.exam-question-list{display:grid;gap:12px;margin:14px 0}.exam-question{border:1px solid var(--v2-line);border-radius:14px;padding:14px}.exam-question legend{font-weight:850;font-size:.82rem;padding:0 8px}.exam-question label{display:flex;gap:7px;padding:7px;font-size:.76rem}.newsletter-recipient-list{display:grid;gap:7px;max-height:340px;overflow:auto}.form-error{display:block;color:#b91c1c;font-size:.68rem;margin-top:4px}
@media(max-width:760px){.access-grid{grid-template-columns:1fr 1fr}.exam-question{padding:10px}}
.owner-empty{display:grid;place-items:center;gap:7px;min-height:150px;padding:24px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b;text-align:center}.owner-empty .icon{width:30px;height:30px}.owner-empty strong{color:#334155;font-size:.82rem}.owner-empty span{font-size:.7rem}.owner-skeleton{display:grid;gap:10px}.owner-skeleton i{display:block;height:56px;border-radius:14px;background:linear-gradient(90deg,#eef2f7 25%,#fff 50%,#eef2f7 75%);background-size:200% 100%;animation:ownerShimmer 1.2s infinite}@keyframes ownerShimmer{to{background-position:-200% 0}}button[aria-disabled="true"]{cursor:not-allowed;opacity:.48;filter:grayscale(.5)}
.owner-loading-overlay{position:absolute;inset:0;z-index:25;padding:24px;background:#f6f8fb}.pc{position:relative}
.mega-week{position:relative;z-index:1;display:grid;grid-template-rows:1fr auto auto;gap:5px;align-items:end;text-align:center}
.mega-bars{height:245px;display:flex;align-items:end;justify-content:center;gap:7px;padding-inline:5px;border-bottom:1px solid #94a3b8}
.mega-bars span{position:relative;width:18px;min-height:10px;border-radius:8px 8px 0 0;display:flex;align-items:flex-start;justify-content:center;color:#fff;font-size:.56rem;font-weight:950;padding-top:5px;box-shadow:0 6px 14px #0f172a18}
.mega-chart.medium .mega-bars span{width:13px;font-size:.48rem}
.mega-chart.dense .mega-bars span{width:7px;font-size:0;border-radius:5px 5px 0 0}
.mega-bars span b{writing-mode:vertical-rl;white-space:nowrap;line-height:1}
.mega-bars .study{background:#2563eb}.mega-bars .tests{background:#111827}.mega-bars .quiz{background:#f59e0b}.mega-bars .exam{background:#0f766e}.mega-bars .review{background:#e11d48}
.mega-week strong{font-size:.72rem;color:#0f172a}
.mega-week small{font-size:.61rem;color:#64748b;font-weight:850}
.mega-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.mega-summary article{background:#f8fafc;border:1px solid var(--v2-line);border-radius:10px;padding:9px;display:flex;gap:6px;flex-wrap:wrap}
.mega-summary strong{width:100%;font-size:.75rem;color:#0f172a}
.mega-summary span{background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:4px 7px;font-size:.64rem;font-weight:850;color:#334155}
.simple-modal{backdrop-filter:blur(6px)}
.simple-modal-card{border-radius:14px;border:1px solid var(--v2-line);box-shadow:0 24px 80px #02061733}
.lesson-percent-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.trend-toggle-legend label{display:inline-flex;align-items:center;gap:6px;border:1px solid #e2e8f0;border-radius:999px;padding:6px 10px;background:#fff;font-size:.68rem;font-weight:900;color:#334155;cursor:pointer}
.trend-toggle-legend input{accent-color:#2563eb}
.line-trend-card.hide-study .series.study,.line-trend-card.hide-study .dots .study{display:none}
.line-trend-card.hide-tests .series.tests,.line-trend-card.hide-tests .dots .tests{display:none}
.line-trend-card.hide-quiz .series.quiz,.line-trend-card.hide-quiz .dots .quiz{display:none}
.line-trend-card.hide-review .series.review,.line-trend-card.hide-review .dots .review{display:none}
.newsletter-recipient-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding:4px}
.newsletter-recipient{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:8px;align-items:center;border:1px solid var(--v2-line);border-radius:10px;background:#fff;padding:9px}
.newsletter-recipient label{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:900;color:#0f172a}
.newsletter-recipient span{font-size:.68rem;color:#64748b;font-weight:800}
.newsletter-selected{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:8px;margin:8px 0;color:#334155;font-size:.72rem}
.newsletter-selected b{color:#0f172a}.newsletter-composer .tg-body{min-height:105px}.newsletter-composer .tg-compose{position:static}
.chat-attachments{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.chat-attachments span{display:inline-flex;align-items:center;gap:4px;border:1px solid #dbe4ef;background:#f8fafc;color:#334155;border-radius:999px;padding:4px 8px;font-size:.66rem;font-weight:850}
.chat-attachments .icon{width:13px;height:13px}
@media(max-width:1100px){.owner-grid{grid-template-columns:repeat(2,1fr)}.v2-grid{grid-template-columns:repeat(2,1fr)}.v2-slot-grid{grid-template-columns:repeat(3,1fr)}.trend-kpis{grid-template-columns:repeat(2,1fr)}.trend-bottom{grid-template-columns:1fr}.heat-row{grid-template-columns:110px 1fr}.heat-cells{gap:3px}}
@media(max-width:850px){
  .admin-two-col{grid-template-columns:1fr}
  .admin-action-card{grid-template-columns:36px minmax(0,1fr);align-items:start}.admin-action-card .btn{grid-column:1/-1}
  .admin-mini-list article{grid-template-columns:1fr}
  .admin-drawer{width:100vw}.admin-drawer-body{padding:10px}
  .owner-ui .pc{padding:12px}
  .owner-head.simple-head{padding:14px}
  .owner-grid,.v2-grid,.v2-grid.two,.v2-flow,.v2-public-grid{grid-template-columns:1fr}
  .compare-grid{grid-template-columns:1fr}
  .v2-slot-grid{grid-template-columns:repeat(2,1fr)}
  .v2-session-row{grid-template-columns:1fr}
  .v2-bars{max-width:180px}
  .student-profile-card{grid-template-columns:58px 1fr}
  .student-avatar{width:58px;height:58px;border-radius:12px}
  .student-avatar img{width:50px;height:50px}
  .profile-hero-card{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:12px;border-radius:13px}
  .profile-photo-wrap{min-height:140px;border-radius:12px}
  .profile-photo-wrap img{width:82px;height:82px;border-radius:20px}
  .profile-title-row{display:grid;gap:8px}
  .profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-package{grid-template-columns:1fr}
  .profile-progress b{text-align:right}
  .level-secure{grid-column:1/-1;text-align:right}
  .owner-actions{gap:7px;flex-wrap:wrap}
  .tg-chat-wrap{left:12px;bottom:12px}
  .tg-panel{width:calc(100vw - 24px);height:min(680px,calc(100dvh - 92px));bottom:68px;border-radius:20px}
  .tg-workspace{grid-template-columns:290px minmax(0,1fr)}
  .annual-chart{grid-template-columns:repeat(8,minmax(34px,1fr));gap:5px;overflow-x:auto}
  .annual-week{min-height:48px;padding:4px}
  .annual-bars{height:27px}
  .trend-kpis{grid-template-columns:1fr}
  .heatmap-card{overflow-x:auto}
  .heat-row{grid-template-columns:92px minmax(620px,1fr)}
  .heat-label{font-size:.62rem}
  .owner-ui .btn{min-height:36px;padding-inline:10px;font-size:.75rem}
  .v2-table{overflow:visible;border:0;background:transparent}
  .v2-table table,.v2-table thead,.v2-table tbody,.v2-table tr,.v2-table td{display:block;width:100%;min-width:0}
  .v2-table thead{display:none}
  .v2-table tbody{display:grid;gap:10px}
  .v2-table tr{background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:10px;box-shadow:0 8px 20px #0f172a08}
  .v2-table td{display:block!important;padding:8px 0!important;border-bottom:1px solid #e8eef6;text-align:right!important}
  .v2-table td:last-child{border-bottom:0}
  .v2-table td .btn{width:100%;margin:3px 0;justify-content:center}
}
@media(max-width:560px){
  .tg-chat-wrap{left:8px;bottom:8px}.tg-fab{width:54px;height:54px;border-radius:18px}.tg-panel{position:fixed;inset:8px;width:auto;height:auto;border-radius:20px;bottom:8px}.tg-head{padding:13px 14px}.tg-brand-icon{width:38px;height:38px}.tg-tabs{height:58px;padding:0 4px}.tg-tabs button{display:grid;place-items:center;align-content:center;gap:3px;font-size:.59rem}.tg-workspace{display:block;min-height:0;overflow:hidden}.tg-list-pane{height:100%;border-left:0}.tg-conversation{display:none;height:100%}.tg-panel.show-conversation .tg-list-pane{display:none}.tg-panel.show-conversation .tg-conversation{display:grid}.tg-mobile-back{display:grid!important}.tg-scope-note{font-size:.57rem}.tg-row{padding:10px}.tg-conv-head{height:60px}.tg-privacy{line-height:1.6}.tg-compose{padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .v2-form{grid-template-columns:1fr}
  .v2-form .wide{grid-column:auto}
  .owner-stat.simple-stat{grid-template-columns:30px 1fr;padding:11px}
  .owner-stat .icon{width:30px;height:30px;padding:7px}
  .v2-card,.owner-box{padding:12px}
  .v2-slot-grid{grid-template-columns:1fr}
  .student-admin-grid{grid-template-columns:1fr}
  .student-admin-card{padding:10px}
  .student-card-meta{grid-template-columns:1fr}
  .student-card-actions .btn{width:auto!important;min-width:0;flex:0 0 auto;padding-inline:7px}
  .advisor-admin-grid{grid-template-columns:1fr}
  .advisor-admin-card{display:grid;grid-template-columns:1fr;align-items:center;gap:8px;padding:9px}
  .advisor-admin-card:before{height:3px}
  .advisor-admin-card .student-card-head{display:block;margin:0;min-width:0}
  .advisor-admin-card .student-card-head h3{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}
  .advisor-admin-card .student-card-head p{display:none}
  .advisor-admin-card .student-card-head .v2-pill{display:inline-flex;margin-top:4px;padding:4px 7px;font-size:.62rem}
  .advisor-admin-card .advisor-compact-line,.advisor-admin-card .advisor-mini-stats,.advisor-admin-card .owner-box{display:none}
  .advisor-admin-card .student-card-actions{grid-column:1;grid-row:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;margin:0}
  .advisor-admin-card .student-card-actions .btn{width:100%!important;height:auto;min-height:36px;padding:6px 7px;border-radius:9px;font-size:.66rem;overflow:visible;white-space:normal}
  .advisor-admin-card .student-card-actions .btn .icon{width:14px;height:14px;margin:0;flex:0 0 14px}
  .advisor-admin-card .student-card-actions .btn span{position:static;width:auto;height:auto;overflow:visible;clip:auto}
}
@media(max-width:760px){
  body.owner-ui{padding-bottom:64px}
  .owner-ui .pc{padding:6px 6px 64px!important;background:#eef4fb}
  .owner-ui .owner-page{display:grid;gap:6px;align-content:start}
  .owner-ui .owner-page[hidden]{display:none!important}
  .owner-head.simple-head{padding:8px 9px!important;margin:0!important;border-radius:9px;gap:5px;align-items:flex-start;box-shadow:none}
  .owner-head.simple-head h1{font-size:.92rem!important;margin:1px 0 2px;line-height:1.35}
  .owner-head.simple-head p{font-size:.62rem!important;line-height:1.45!important;margin:0}
  .v2-badge{padding:4px 7px;font-size:.6rem;gap:4px}
  .v2-badge .icon{width:12px;height:12px}
  .owner-actions{gap:5px}
  .owner-ui .btn{min-height:29px!important;padding:4px 7px!important;border-radius:7px!important;font-size:.63rem!important;line-height:1.3;box-shadow:none}
  .owner-ui .btn .icon{width:13px;height:13px}
  .student-profile-card{grid-template-columns:38px minmax(0,1fr)!important;gap:7px;padding:7px!important;margin:0!important;border-radius:9px;box-shadow:none}
  .student-avatar{width:38px!important;height:38px!important;border-radius:8px}
  .student-avatar img{width:32px!important;height:32px!important}
  .student-profile-main h2{font-size:.86rem;margin-bottom:1px}
  .student-profile-main p{font-size:.66rem;line-height:1.35}
  .student-profile-main small{font-size:.62rem;margin-top:3px}
  .profile-hero-card{grid-template-columns:1fr!important;padding:9px!important;margin:0!important;border-radius:10px;gap:8px;box-shadow:none}
  .profile-photo-wrap{min-height:116px}
  .profile-photo-wrap img{width:72px;height:72px;border-radius:18px;padding:7px}
  .profile-photo-btn{padding:5px 8px!important;font-size:.6rem!important;border-radius:7px}
  .profile-title-row h2{font-size:.98rem;margin:4px 0 1px}
  .profile-title-row p{font-size:.64rem}
  .profile-status{width:max-content;padding:4px 8px;font-size:.58rem}
  .profile-info-grid{grid-template-columns:1fr 1fr;gap:5px}
  .profile-info-grid article{padding:7px;border-radius:8px}
  .profile-info-grid small,.profile-package small{font-size:.56rem}
  .profile-info-grid strong{font-size:.65rem}
  .profile-package{padding:8px;border-radius:9px;gap:6px}
  .profile-package strong{font-size:.78rem}
  .profile-package span{font-size:.6rem}
  .profile-progress b{font-size:.86rem}
  .v2-progress{height:6px;margin:5px 0}
  .v2-pill-row{gap:3px;margin:4px 0}
  .v2-pill{padding:2px 5px;font-size:.56rem;line-height:1.3}
  .owner-ui .owner-banner{padding:8px!important;margin:0!important;border-radius:9px!important;box-shadow:none}
  .owner-banner h2{font-size:.88rem;margin:0 0 4px}
  .owner-banner p{font-size:.65rem;line-height:1.55;margin:0}
  .simple-actions{gap:4px;margin-top:6px}
  .simple-actions .btn{width:auto!important;flex:1 1 calc(50% - 5px)}
  .owner-grid,.v2-grid,.v2-grid.two,.compare-grid{gap:5px!important;margin:0!important}
  .owner-ui .owner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .v2-grid,.v2-grid.two{grid-template-columns:1fr!important}
  .owner-stat.simple-stat{grid-template-columns:22px 1fr;gap:4px;padding:6px!important;border-radius:8px;box-shadow:none}
  .owner-stat .icon{width:24px!important;height:24px!important;padding:5px;border-radius:7px}
  .owner-stat small{font-size:.58rem;line-height:1.25}
  .owner-stat strong{font-size:.82rem;line-height:1.35;margin:0}
  .owner-box{padding:7px!important;margin:0!important;border-radius:9px!important;box-shadow:none!important}
  .owner-box h2{gap:4px;font-size:.74rem!important;margin:0 0 5px!important;line-height:1.35}
  .owner-box h2 .icon{width:15px;height:15px}
  .owner-ui .owner-box h2:before{width:6px;height:6px}
  .owner-note{padding:6px 7px!important;border-radius:7px;font-size:.61rem!important;line-height:1.5!important;margin:0}
  .v2-card{padding:7px!important;border-radius:9px;box-shadow:none}
  .v2-card:before{height:3px}
  .v2-card h3{font-size:.78rem;margin:1px 0 4px}
  .v2-card p,.v2-card li{font-size:.61rem;line-height:1.45;margin:3px 0}
  .v2-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px}
  .v2-slot{padding:6px 4px;border-radius:8px;font-size:.61rem;line-height:1.35;box-shadow:none}
  .v2-form{gap:5px}
  .v2-form label{font-size:.6rem;line-height:1.3}
  .v2-form input,.v2-form select,.v2-form textarea{margin-top:2px;padding:5px 7px;border-radius:7px;font-size:.64rem;min-height:30px;line-height:1.35}
  .v2-form textarea{min-height:48px}
  .v2-table tbody{gap:6px!important}
  .v2-table tr{padding:6px 7px!important;border-radius:8px!important;box-shadow:none!important}
  .v2-table td{padding:4px 0!important;font-size:.61rem!important;line-height:1.35}
  .v2-table td .btn{min-height:27px!important;margin:2px 0!important}
  #profile .v2-table tbody{gap:4px!important}
  #profile .v2-table tr{display:grid!important;grid-template-columns:1fr auto;gap:3px 8px;padding:7px!important}
  #profile .v2-table td{display:block!important;border:0!important;padding:0!important;font-size:.6rem!important}
  #profile .v2-table td:nth-child(1){grid-column:1/-1;font-weight:900;font-size:.66rem!important}
  #profile .v2-table td:nth-child(2),
  #profile .v2-table td:nth-child(3),
  #profile .v2-table td:nth-child(4){color:#475569}
  #profile .v2-form{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}
  #profile .v2-form label{font-size:.58rem!important}
  #profile .v2-form input,
  #profile .v2-form select{height:28px!important;min-height:28px!important;padding:3px 6px!important;font-size:.61rem!important}
  #profile .v2-form textarea{min-height:40px!important;padding:5px 6px!important;font-size:.61rem!important}
  #profile .v2-form .wide{grid-column:1/-1!important}
  #profile .owner-actions .btn{flex:1 1 calc(50% - 4px)!important}
  #profile .owner-box{padding:6px!important}
  #profile .owner-box h2{margin-bottom:4px!important}
  .event-badge{padding:3px 6px;font-size:.58rem;margin-inline-end:3px}
  .event-badge .icon{width:12px;height:12px}
  .compare-card{padding:8px;border-radius:9px;gap:2px;box-shadow:none}
  .compare-card .icon{width:19px;height:19px}
  .compare-card strong{font-size:.94rem}
  .compare-card span,.compare-card b,.compare-card small{font-size:.6rem}
  .trend-kpis{gap:6px}
  .trend-kpis article,.line-trend-card,.trend-detail-card,.heatmap-card{padding:8px!important;border-radius:10px!important;box-shadow:none!important}
  .line-chart-wrap{min-height:150px}
  .simple-modal{padding:6px!important}
  .simple-modal-card{padding:10px!important;border-radius:14px 14px 0 0!important}
  .answer-key-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .answer-key-grid label{grid-template-columns:1fr;padding:4px;gap:3px;text-align:center;font-size:.56rem}
  .answer-key-grid span{width:100%;height:18px;border-radius:5px}
  .answer-key-grid select{padding:2px;font-size:.58rem}
  .radio-key-grid{grid-template-columns:1fr 1fr;gap:5px}
  .radio-key-grid fieldset{padding:5px;gap:3px}
  .radio-key-grid label{font-size:.56rem;padding:3px}
  .advisor-qualification-grid{grid-template-columns:1fr 1fr;gap:5px}
  .advisor-qualification-grid fieldset{padding:6px}
  .advisor-qualification-grid label{font-size:.58rem;padding:5px}
  .exam-answer-lessons{gap:5px}
  .exam-answer-lessons label{padding:6px}
  .exam-answer-lessons textarea{min-height:42px;font-size:.61rem}
  .exam-wizard{gap:6px}
  .form-wizard{gap:6px}
  .wizard-step{padding:7px;border-radius:9px}
  .wizard-step h3{font-size:.68rem;margin-bottom:5px}
  .exam-wizard-step,.exam-chapter-rows section{padding:7px;border-radius:9px}
  .exam-wizard-step h3,.exam-chapter-rows h3{font-size:.68rem;margin-bottom:5px}
  .clear-line-legend{gap:4px;margin:6px 0}
  .clear-line-legend span{font-size:.57rem;padding:4px 6px}
  .clear-line-chart{min-height:220px;padding:4px}
  .clear-line-chart .series{stroke-width:5}
  .clear-line-chart .axis text{font-size:11px}
  .trend-mini-list p{padding:6px}.trend-mini-list span{font-size:.58rem}.trend-mini-list b{font-size:.72rem}
  .ux-topbar{padding:6px 8px!important}
  .ux-bottom-nav{right:6px!important;left:6px!important;bottom:6px!important;gap:3px;padding:4px!important;border-radius:14px!important}
  .ux-bottom-nav button{padding:5px 2px!important;border-radius:10px!important;font-size:.54rem!important}
  .ux-bottom-nav button span{font-size:.86rem!important;margin-bottom:0!important}
}
@media(max-width:420px){
  .owner-ui .pc{padding-inline:5px!important}
  .owner-head.simple-head{padding:7px!important}
  .owner-ui .owner-grid{gap:4px!important}
  .simple-actions .btn{flex-basis:100%}
  .v2-form input,.v2-form select,.v2-form textarea{min-height:28px}
  #profile .v2-form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Final mobile readability pass for the active student session card. */
.legacy-portal-shell .owner-banner.simple-hero{
  background:#fff!important;
  color:#0f172a!important;
  border:1px solid #dbe4ef!important;
  box-shadow:0 10px 24px #0f172a0d!important;
}
.legacy-portal-shell .owner-banner.simple-hero h2,
.legacy-portal-shell .owner-banner.simple-hero p,
.legacy-portal-shell .owner-banner.simple-hero b{color:#0f172a!important}
.legacy-portal-shell .owner-banner.simple-hero p{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;margin-top:8px!important}
.legacy-portal-shell .owner-banner.simple-hero .owner-note{background:#eff6ff!important;color:#1e40af!important;border:1px solid #bfdbfe!important;margin-top:8px!important}
.legacy-portal-shell .owner-banner.simple-hero .v2-pill{background:#eef6ff!important;color:#1d4ed8!important;border:1px solid #bfdbfe!important}
.legacy-portal-shell .owner-banner.simple-hero .v2-pill.success{background:#dcfce7!important;color:#166534!important;border-color:#86efac!important}
.legacy-portal-shell .owner-banner.simple-hero .simple-actions{align-items:stretch}
.legacy-portal-shell .owner-banner.simple-hero .simple-actions .btn{font-weight:950!important}
@media(max-width:760px){
  .legacy-portal-shell .owner-banner.simple-hero{padding:10px!important;border-radius:12px!important}
  .legacy-portal-shell .owner-banner.simple-hero h2{font-size:.86rem!important;line-height:1.55!important}
  .legacy-portal-shell .owner-banner.simple-hero p{font-size:.66rem!important;line-height:1.8!important}
  .legacy-portal-shell .owner-banner.simple-hero .owner-note{font-size:.63rem!important;line-height:1.7!important}
  .legacy-portal-shell .owner-banner.simple-hero .simple-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .legacy-portal-shell .owner-banner.simple-hero .simple-actions .session-stepper{grid-column:1/-1}
  .legacy-portal-shell .owner-banner.simple-hero .simple-actions .btn{min-height:36px!important;font-size:.68rem!important}
}
.session-period-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:5px;background:#f1f5f9;border:1px solid #dbe5f0;border-radius:14px}
.session-period-tabs button{flex:1;min-width:90px;border:0;border-radius:10px;background:transparent;color:#475569;font:inherit;font-weight:800;padding:10px 16px;cursor:pointer}
.session-period-tabs button.ac{background:#fff;color:#1677a8;box-shadow:0 2px 10px rgba(15,23,42,.08)}
.session-review-simple{grid-template-columns:minmax(220px,1fr)}
@media(max-width:640px){.session-period-tabs{position:sticky;top:0;z-index:3}.session-period-tabs button{min-width:70px;padding:9px 8px}}
.student-exam-list{display:grid;gap:16px}.student-exam-panel{position:relative;overflow:hidden;padding:20px;border:1px solid #dbe7ef;border-radius:18px;background:linear-gradient(145deg,#fff,#f8fbfd);box-shadow:0 10px 30px rgba(15,23,42,.07)}.student-exam-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#94a3b8}.student-exam-panel.is-open:before{background:#0d9488}.student-exam-panel.is-submitted:before{background:#f59e0b}.student-exam-panel.is-result:before{background:#2563eb}.student-exam-panel header,.student-exam-title,.student-exam-window,.student-exam-facts{display:flex;align-items:center}.student-exam-panel header{justify-content:space-between;gap:16px}.student-exam-title{gap:12px}.student-exam-title h3{margin:0 0 4px;color:#0f172a;font-size:1.05rem}.student-exam-title p{margin:0;color:#64748b;font-size:.78rem}.student-exam-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#e6fffb;color:#0f766e;font-size:1.2rem;font-weight:900}.student-exam-badge{padding:7px 11px;border-radius:999px;background:#eef2f7;color:#334155;font-size:.75rem;font-weight:900;white-space:nowrap}.is-open .student-exam-badge{background:#ccfbf1;color:#115e59}.is-submitted .student-exam-badge{background:#fef3c7;color:#92400e}.is-result .student-exam-badge{background:#dbeafe;color:#1e40af}.student-exam-window{margin:18px 0 12px;padding:13px 15px;border-radius:14px;background:#f1f5f9;justify-content:space-between;gap:12px}.student-exam-window div{display:grid;gap:4px}.student-exam-window div:last-child{text-align:left}.student-exam-window small,.student-exam-facts small{color:#64748b;font-size:.7rem}.student-exam-window b{color:#0f172a;font-size:.82rem}.student-exam-window i{color:#94a3b8;font-style:normal}.student-exam-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.student-exam-facts span{display:grid;gap:4px;padding:10px;border:1px solid #e2e8f0;border-radius:11px;background:#fff}.student-exam-facts b{font-size:.8rem;color:#1e293b}.student-exam-note{margin:13px 0;color:#475569;font-size:.78rem;line-height:1.8}.student-exam-cta{display:flex;justify-content:flex-end}.student-exam-cta .btn{min-width:170px;justify-content:center}@media(max-width:640px){.student-exam-panel{padding:15px}.student-exam-panel header{align-items:flex-start}.student-exam-window{display:grid;grid-template-columns:1fr}.student-exam-window i{display:none}.student-exam-window div:last-child{text-align:right}.student-exam-facts{grid-template-columns:1fr 1fr}.student-exam-facts span:last-child{grid-column:1/-1}.student-exam-cta .btn{width:100%}}
.live-exam-guide{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:11px 13px;border:1px solid #99f6e4;border-radius:12px;background:#f0fdfa;color:#115e59;font-size:.76rem}.live-exam-guide b{white-space:nowrap}.live-exam-question-files,.answer-sheet-files{display:grid;gap:14px}.live-exam-question-files figure,.answer-sheet-files figure{margin:0;padding:10px;border:1px solid #dbe7ef;border-radius:14px;background:#f8fafc}.live-exam-question-files img,.answer-sheet-files img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;border-radius:10px;background:#fff}.live-exam-pdf{display:block;width:100%;height:min(70vh,760px);min-height:480px;border:0;border-radius:10px;background:#fff}.live-exam-question-files figcaption,.answer-sheet-files figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-weight:800;color:#334155}.live-exam-question-files figcaption .btn,.answer-sheet-files figcaption .btn{margin:0;color:#0f766e;font-size:.72rem}.answer-sheet-files>button{justify-self:start;min-width:180px}@media(max-width:760px){.live-exam-guide{align-items:flex-start;flex-direction:column;gap:3px}.live-exam-pdf{height:62vh;min-height:430px}.live-exam-question-files figcaption,.answer-sheet-files figcaption{align-items:stretch;flex-direction:column}.live-exam-question-files figcaption .btn,.answer-sheet-files figcaption .btn{width:100%}.answer-sheet-files>button{width:100%}}
