/* V43 bundle: V42 production cascade + premium enterprise overrides */
/* ===== app.css ===== */
:root{
  --bg0:#070b14;
  --bg1:#0b1220;
  --card:rgba(255,255,255,.06);
  --card-strong:rgba(255,255,255,.09);
  --stroke:rgba(255,255,255,.11);
  --text:#eaf0ff;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);
  --shadow:0 14px 48px rgba(0,0,0,.40);
  --r:18px;
  --a1:#7c3aed;
  --a2:#06b6d4;
  --a3:#22c55e;
  --warn:#f59e0b;
  --danger:#ef4444;
  --success:#22c55e;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Vazirmatn",system-ui,-apple-system,Segoe UI,Roboto,Arial;
  color:var(--text);
  background:
    radial-gradient(980px 660px at 10% 0%, rgba(124,58,237,.22), transparent 55%),
    radial-gradient(900px 600px at 90% 10%, rgba(6,182,212,.18), transparent 55%),
    radial-gradient(800px 560px at 50% 100%, rgba(34,197,94,.10), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

.overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.45); opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:998;
}
body.drawer-open .overlay{opacity:1;pointer-events:auto}
.drawerOnly{display:none}

.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:340px 1fr;
  gap:16px;
  padding:18px;
  max-width:1650px;
  margin:0 auto;
}
.main,.side{
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.04));
  backdrop-filter:blur(14px);
  border-radius:calc(var(--r) + 12px);
  box-shadow:var(--shadow);
  overflow:hidden;
  min-height:0;
  display:flex;
  flex-direction:column;
}
.sideTop,.mainTop{
  padding:14px;
  border-bottom:1px solid var(--stroke);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.sideBody,.mainBody{padding:14px;min-height:0;overflow:auto}
.sideBody{display:flex;flex-direction:column;gap:12px}
.mainBody{display:flex;flex-direction:column;gap:14px}

.brand{display:flex;align-items:center;gap:10px;min-width:0}
.logo{
  width:42px;height:42px;border-radius:16px;
  background:
    radial-gradient(16px 16px at 30% 25%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(135deg, var(--a1), var(--a2));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 26px rgba(6,182,212,.12);
}
.brandText b{display:block;font-weight:900;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brandText span{display:block;font-size:11px;color:var(--muted2);margin-top:2px}

.glassBox,.contentCard,.metricCard,.heroPanel,.exportCard,.exportSummaryCard,.dayCard,.memoryCard,.stackCard,.alertRow{
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.05);
  border-radius:20px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.profileBox,.helperBox{padding:12px}
.profileRow,.stackHead,.sectionHead,.rowActions,.inlineForm,.topActions,.heroStats{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.profileRow,.stackHead,.sectionHead{justify-content:space-between}

.navGroup{display:grid;gap:8px}
.navGroupTitle{font-size:11px;color:var(--muted2);font-weight:900;padding:0 4px}
.navBtn{
  width:100%;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.05);
  color:var(--text);
  border-radius:16px;
  padding:10px 12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-weight:900;
  transition:transform .12s ease, background .12s ease, border-color .12s ease;
}
.navBtn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.navBtn.active{background:rgba(6,182,212,.10);border-color:rgba(6,182,212,.35);box-shadow:0 0 0 4px rgba(6,182,212,.10)}
.navBtn small{color:var(--muted2);font-weight:800}
.navBtnDanger{margin-top:auto;background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.24)}

.codeBox,.topChip,.heroBadge,.badge,.quickRangeBtn{
  display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;border:1px solid var(--stroke);font-weight:800;font-size:12px;
}
.codeBox{justify-content:center;background:rgba(124,58,237,.12);color:#d8b4fe;letter-spacing:.8px}
.badge,.topChip,.heroBadge{background:rgba(255,255,255,.06);color:var(--text)}
.quickRangeBtn{background:rgba(255,255,255,.04);color:var(--text);cursor:pointer;justify-content:center;text-align:center}
.quickRangeBtn:hover{background:rgba(255,255,255,.10)}

.heroPanel{padding:18px 20px;display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.heroPanel h2,.sectionHead h3,.mainTop h1{margin:0;font-weight:900}
.heroPanel p,.analysisText,.muted,.sectionNote,.alertRow p,.memoryCard p,.planPreview,.empty-state,.empty-cell,.small{color:var(--muted);line-height:1.9}

.statsRow{display:grid;gap:14px}
.statsRow.four{grid-template-columns:repeat(4,1fr)}
.statsRow.five{grid-template-columns:repeat(5,1fr)}
.metricCard{padding:16px}
.metricCard span{display:block;color:var(--muted2);margin-bottom:10px;font-size:12px}
.metricCard strong{font-size:1.35rem;font-weight:900}
.metricCard.compact strong{font-size:1rem}

.contentGrid{display:grid;gap:14px}
.contentGrid.twoWide{grid-template-columns:1.1fr .9fr}
.contentGrid.twoCols{grid-template-columns:1fr 1fr}
.contentGrid.threeCols{grid-template-columns:1fr 1fr 1fr}
.contentCard{padding:18px}
.sectionHead{margin-bottom:12px}
.chartWrap{min-height:320px}

.formGrid{display:grid;gap:14px}
.formGrid.twoCols{grid-template-columns:1fr 1fr}
.field{display:grid;gap:8px}
.field label{font-size:12px;font-weight:900;color:var(--muted2)}
.field input,.field textarea,.field select{
  width:100%;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.06);
  color:var(--text);
  border-radius:14px;
  padding:12px 14px;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:rgba(6,182,212,.42);box-shadow:0 0 0 4px rgba(6,182,212,.12)}
.field textarea{min-height:100px;resize:vertical}
.spanAll{grid-column:1 / -1}
.grow{flex:1}
.inlineForm{align-items:flex-end}
.checkboxGrid{display:grid;gap:10px}
.compactChecks{grid-template-columns:repeat(2, minmax(0,1fr))}
.checkboxGrid label,.checkboxRow label{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:800;background:rgba(255,255,255,.04);padding:10px 12px;border-radius:14px;border:1px solid var(--stroke)}

.btn{
  border:1px solid var(--stroke);background:rgba(255,255,255,.06);color:var(--text);padding:10px 12px;border-radius:14px;cursor:pointer;font-weight:900;transition:transform .12s ease, background .12s ease
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.10)}
.btn.primary,.primary{background:linear-gradient(135deg, var(--a1), var(--a2));border-color:transparent;color:#fff}
.btn.danger,.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.24);color:#fecaca}
.btn.ghost{background:rgba(255,255,255,.04)}
.btn-sm{padding:8px 10px;border-radius:12px;font-size:12px}

.stackList,.memoryGrid,.quickRangeGrid{display:grid;gap:12px}
.quickRangeGrid{grid-template-columns:repeat(2, minmax(0,1fr))}
.stackCard{padding:14px}
.stackCard.disabledCard{opacity:.72}
.planPreview{padding:12px;border-radius:14px;background:rgba(255,255,255,.04);white-space:pre-wrap;max-height:220px;overflow:auto}
.tableWrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{padding:12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:right}
thead th{color:var(--muted2);background:rgba(255,255,255,.03)}
.compactTable table{font-size:14px}

.weekGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.dayCard{padding:14px;display:grid;gap:8px}
.dayCard.current{outline:2px solid rgba(6,182,212,.28);background:rgba(6,182,212,.08)}
.dayCard h4{margin:0}

.chatBox{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow:auto;padding:8px;border-radius:18px;background:rgba(0,0,0,.10);border:1px solid var(--stroke)}
.msg{max-width:86%;padding:12px 14px;border-radius:18px;border:1px solid var(--stroke);display:grid;gap:8px;background:rgba(255,255,255,.05)}
.msg.mine{align-self:flex-start;background:rgba(124,58,237,.12)}
.msg.theirs{align-self:flex-end;background:rgba(6,182,212,.12)}
.msg-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted2);font-size:12px}
.sticker{font-size:1.6rem}
.file-link{color:#8be9ff;text-decoration:underline}

.exportHub{align-items:start}
.exportCard,.exportSummaryCard{padding:16px;display:grid;gap:12px}
.exportCard h4{margin:0}
.exportCard.spanTwo{grid-column:span 2}
.specialCard{background:linear-gradient(180deg, rgba(124,58,237,.16), rgba(6,182,212,.08))}
.memoryGrid{grid-template-columns:repeat(2,1fr)}
.memoryCard{padding:14px;display:grid;gap:10px}
.memoryCard.done{opacity:.68}
.alertRow{padding:14px;display:grid;gap:8px}
.alertRow.high{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.22)}
.alertRow.medium{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.22)}
.alertRow.low{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.18)}
.taskCard.done{opacity:.72}

.flash-wrap{display:grid;gap:10px}
.flash{padding:12px 14px;border-radius:16px;border:1px solid transparent;font-weight:800}
.flash-success{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.18);color:#bbf7d0}
.flash-danger{background:rgba(239,68,68,.10);border-color:rgba(239,68,68,.18);color:#fecaca}
.flash-warning{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.18);color:#fde68a}

.viewSection{display:none;gap:14px}
.viewSection.active{display:grid}
.top-gap{margin-top:12px}

.auth-shell{display:block;padding:18px}
.auth-main{max-width:760px;margin:0 auto}
.auth-center{min-height:calc(100vh - 36px);display:grid;place-items:center}
.auth-card{padding:26px}

.mobile-nav-toggle{
  position:fixed;right:14px;top:14px;z-index:1000;border:1px solid var(--stroke);background:rgba(11,18,32,.86);color:var(--text);border-radius:14px;padding:10px 12px;font-weight:900;box-shadow:var(--shadow)
}

@media (max-width: 1180px){
  .statsRow.four,.statsRow.five,.contentGrid.twoWide,.contentGrid.twoCols,.contentGrid.threeCols,.weekGrid,.memoryGrid,.formGrid.twoCols{grid-template-columns:1fr 1fr}
}
@media (max-width: 980px){
  .app-shell{grid-template-columns:1fr;padding:12px}
  .drawerOnly{display:inline-flex}
  .side{
    position:fixed;top:12px;bottom:12px;right:12px;width:min(92vw,420px);transform:translateX(110%);transition:transform .22s ease;z-index:999
  }
  body.drawer-open .side{transform:translateX(0)}
  .mainTop{padding-inline:54px 14px}
}
@media (max-width: 720px){
  .statsRow.four,.statsRow.five,.contentGrid.twoWide,.contentGrid.twoCols,.contentGrid.threeCols,.weekGrid,.memoryGrid,.formGrid.twoCols,.quickRangeGrid,.compactChecks{grid-template-columns:1fr}
  .heroPanel{flex-direction:column}
  .exportCard.spanTwo{grid-column:auto}
}

/* v13 — استودیوی برنامه‌ریزی مشاور */
.plannerStudio{padding:0;overflow:hidden;background:linear-gradient(180deg,rgba(12,20,36,.96),rgba(9,15,27,.92))}
.plannerHero{padding:26px;display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid var(--stroke);background:radial-gradient(700px 280px at 85% 0%,rgba(6,182,212,.18),transparent 68%),radial-gradient(620px 260px at 10% 0%,rgba(124,58,237,.20),transparent 70%)}
.plannerHero h3{font-size:clamp(1.35rem,2.2vw,2.05rem);margin:7px 0 8px;font-weight:900}
.plannerHero p{max-width:780px;margin:0;color:var(--muted);line-height:2}
.plannerEyebrow,.stepKicker{font-size:11px;font-weight:900;letter-spacing:.2px;color:#67e8f9;background:rgba(6,182,212,.10);border:1px solid rgba(6,182,212,.24);border-radius:999px;padding:7px 10px;display:inline-flex}
.plannerHeroStats{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px;min-width:min(420px,42%)}
.plannerHeroStats div{padding:14px;border-radius:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.055);text-align:center}
.plannerHeroStats strong,.plannerHeroStats span{display:block}.plannerHeroStats strong{font-size:1.15rem}.plannerHeroStats span{font-size:11px;color:var(--muted2);margin-top:5px}
.plannerForm{display:grid}.plannerStepRail{padding:18px 22px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-bottom:1px solid var(--stroke);background:rgba(255,255,255,.025)}
.plannerStep{position:relative;border:1px solid var(--stroke);background:rgba(255,255,255,.035);color:var(--text);border-radius:17px;padding:12px;text-align:right;cursor:pointer;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;transition:.18s ease}
.plannerStep>span{grid-row:1/3;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(255,255,255,.07);font-weight:900;border:1px solid var(--stroke)}
.plannerStep b{font-size:13px}.plannerStep small{font-size:10px;color:var(--muted2);margin-top:2px}
.plannerStep.active{border-color:rgba(6,182,212,.42);background:linear-gradient(135deg,rgba(6,182,212,.13),rgba(124,58,237,.08));box-shadow:0 0 0 4px rgba(6,182,212,.07)}
.plannerStep.active>span{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent}.plannerStep.done>span{background:rgba(34,197,94,.15);color:#86efac;border-color:rgba(34,197,94,.28)}
.plannerPanels{padding:22px}.plannerPanel{display:none;animation:plannerIn .22s ease}.plannerPanel.active{display:grid;gap:20px}@keyframes plannerIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.plannerPanelHead{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.plannerPanelHead h4{font-size:1.22rem;margin:8px 0 0}.plannerPanelHead p{margin:5px 0 0}
.plannerFields{padding:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.028);border-radius:20px}.plannerInfoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.plannerInfoGrid article{padding:17px;border:1px solid var(--stroke);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025))}.plannerInfoGrid article>span{font-size:10px;color:#67e8f9}.plannerInfoGrid strong{display:block;margin:6px 0;font-size:1rem}.plannerInfoGrid p{margin:0;color:var(--muted);line-height:1.85;font-size:12px}
.plannerSelectionBadge{min-width:165px;text-align:center;padding:11px 14px;border:1px solid rgba(124,58,237,.28);background:rgba(124,58,237,.10);border-radius:18px}.plannerSelectionBadge strong,.plannerSelectionBadge span{display:block}.plannerSelectionBadge strong{font-size:1.45rem}.plannerSelectionBadge span{font-size:10px;color:var(--muted)}
.curriculumToolbar{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(3,minmax(130px,.65fr)) auto auto;gap:10px;align-items:center}.curriculumToolbar select,.curriculumSearch{border:1px solid var(--stroke);background:rgba(255,255,255,.045);border-radius:14px;color:var(--text);min-height:46px}.curriculumToolbar select{padding:0 12px}.curriculumSearch{display:flex;align-items:center;gap:9px;padding:0 12px}.curriculumSearch span{font-size:1.35rem;color:#67e8f9}.curriculumSearch input{background:transparent;border:0;outline:0;color:var(--text);width:100%}.curriculumSearch input::placeholder{color:var(--muted2)}
.curriculumWorkspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(310px,.72fr);gap:14px;align-items:start}.curriculumBrowser,.selectionBasket{border:1px solid var(--stroke);background:rgba(255,255,255,.025);border-radius:22px;overflow:hidden}.curriculumBrowserHead{padding:14px 16px;border-bottom:1px solid var(--stroke);display:flex;justify-content:space-between;gap:12px;align-items:center}.curriculumBrowserHead strong,.curriculumBrowserHead span{display:block}.curriculumBrowserHead span{font-size:11px;color:var(--muted2);margin-top:4px}.viewSwitch{display:flex;padding:3px;border:1px solid var(--stroke);border-radius:12px;background:rgba(0,0,0,.12)}.viewSwitch button{border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:9px;cursor:pointer;font-size:11px}.viewSwitch button.active{background:rgba(6,182,212,.14);color:#a5f3fc}
.curriculumTree{padding:12px;display:grid;gap:10px;max-height:660px;overflow:auto}.curriculumEmpty,.basketEmpty{padding:32px 16px;text-align:center;color:var(--muted2);border:1px dashed var(--stroke);border-radius:17px;background:rgba(255,255,255,.02)}
.curriculumBook{border:1px solid var(--stroke);border-radius:18px;background:rgba(255,255,255,.035);overflow:hidden;transition:.15s}.curriculumBook.fullySelected{border-color:rgba(34,197,94,.34);background:rgba(34,197,94,.055)}.curriculumBook.partiallySelected{border-color:rgba(6,182,212,.30)}
.curriculumBookHead,.curriculumNode{display:flex;align-items:center;justify-content:space-between;gap:10px}.curriculumBookHead{padding:13px 14px}.curriculumBookHead>label,.curriculumNode>label,.curriculumLesson{display:flex;align-items:center;gap:10px;cursor:pointer;min-width:0}.curriculumBook input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.nodeCheck{width:21px;height:21px;flex:0 0 21px;border-radius:7px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.045);position:relative}.curriculumBook input:checked+.nodeCheck{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent}.curriculumBook input:checked+.nodeCheck:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900}.curriculumBook input:indeterminate+.nodeCheck:after{content:'−';position:absolute;inset:0;display:grid;place-items:center;color:#67e8f9;font-weight:900}.curriculumBook input:indeterminate+.nodeCheck{border-color:rgba(6,182,212,.5);background:rgba(6,182,212,.11)}
.bookIdentity b,.bookIdentity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bookIdentity small{font-size:10px;color:var(--muted2);margin-top:3px}.bookHeadMeta{display:flex;align-items:center;gap:8px}.bookHeadMeta>span{font-size:10px;color:var(--muted2);white-space:nowrap}.nodeToggle{border:1px solid var(--stroke);background:rgba(255,255,255,.045);color:var(--text);width:31px;height:31px;border-radius:10px;cursor:pointer;font-weight:900}.curriculumChapters{border-top:1px solid var(--stroke);background:rgba(0,0,0,.08);padding:8px 10px 12px;display:grid;gap:7px}.curriculumChapter{border:1px solid rgba(255,255,255,.07);border-radius:14px;overflow:hidden}.chapterNode{padding:9px 10px;background:rgba(255,255,255,.025)}.chapterNode b{font-size:12px}.chapterNode small{font-size:9px;color:var(--muted2)}.curriculumLessons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:7px}.curriculumLesson{padding:9px;border:1px solid rgba(255,255,255,.065);border-radius:12px;background:rgba(255,255,255,.025)}.curriculumLesson.selected{background:rgba(6,182,212,.07);border-color:rgba(6,182,212,.24)}.curriculumLesson b,.curriculumLesson small{display:block}.curriculumLesson b{font-size:11px}.curriculumLesson small{font-size:9px;color:var(--muted2);margin-top:3px}.curriculumTree.compact .curriculumChapters{grid-template-columns:repeat(2,minmax(0,1fr))}.curriculumTree.compact .curriculumLessons{display:none}
.selectionBasket{position:sticky;top:12px}.basketHead{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:8px;border-bottom:1px solid var(--stroke)}.basketHead>div{padding:10px;border-radius:14px;background:rgba(255,255,255,.04)}.basketHead span,.basketHead strong{display:block}.basketHead span{font-size:9px;color:var(--muted2)}.basketHead strong{font-size:13px;margin-top:4px}.selectionBasketList{padding:10px;display:grid;gap:9px;max-height:490px;overflow:auto}.basketGroup{border:1px solid var(--stroke);border-radius:16px;padding:11px;background:rgba(255,255,255,.035)}.basketGroupHead,.basketGroupFoot{display:flex;align-items:center;justify-content:space-between;gap:8px}.basketGroupHead strong,.basketGroupHead small{display:block}.basketGroupHead small{font-size:9px;color:var(--muted2);margin-top:3px}.basketGroupHead button{border:1px solid rgba(239,68,68,.24);background:rgba(239,68,68,.09);color:#fecaca;width:28px;height:28px;border-radius:9px;cursor:pointer}.basketLessonChips{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.basketLessonChips span,.basketMore{padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.045);font-size:8px;color:var(--muted)}.basketGroupFoot{font-size:9px;color:var(--muted2)}.basketGroupFoot label{display:flex;align-items:center;gap:5px}.basketGroupFoot select{border:1px solid var(--stroke);background:rgba(255,255,255,.055);color:var(--text);border-radius:8px;padding:4px;font-size:9px}.customTopicBox{padding:10px;border-top:1px solid var(--stroke)}.customTopicToggle{width:100%;border:1px dashed rgba(6,182,212,.3);background:rgba(6,182,212,.055);color:#a5f3fc;border-radius:13px;padding:10px;cursor:pointer;font-weight:800}.customTopicForm{display:grid;grid-template-columns:1fr 1fr 90px;gap:7px;margin-top:9px}.customTopicForm input{min-width:0;border:1px solid var(--stroke);background:rgba(255,255,255,.045);color:var(--text);border-radius:11px;padding:9px;font-size:10px}.customTopicForm .btn{grid-column:1/-1}
.budgetModeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.budgetModeCard{position:relative;border:1px solid var(--stroke);border-radius:20px;padding:17px;background:rgba(255,255,255,.032);cursor:pointer;transition:.15s}.budgetModeCard input{position:absolute;opacity:0}.budgetModeCard span,.budgetModeCard strong,.budgetModeCard small{display:block}.budgetModeCard span{font-size:10px;color:#67e8f9}.budgetModeCard strong{margin:6px 0}.budgetModeCard small{font-size:11px;line-height:1.75;color:var(--muted2)}.budgetModeCard.active{border-color:rgba(6,182,212,.42);background:linear-gradient(135deg,rgba(6,182,212,.10),rgba(124,58,237,.07));box-shadow:0 0 0 4px rgba(6,182,212,.06)}.budgetModeCard.active:after{content:'✓';position:absolute;left:13px;top:13px;width:24px;height:24px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--a1),var(--a2));font-size:11px}.fieldMuted{opacity:.52}.inputWithUnit{display:flex;align-items:center;border:1px solid var(--stroke);background:rgba(255,255,255,.06);border-radius:14px;overflow:hidden}.inputWithUnit input{border:0!important;background:transparent!important;box-shadow:none!important}.inputWithUnit span{padding:0 12px;color:var(--muted2);font-size:10px;white-space:nowrap;border-right:1px solid var(--stroke)}
.plannerSubsection,.weekDistributionPreview{padding:17px;border:1px solid var(--stroke);border-radius:20px;background:rgba(255,255,255,.025)}.subsectionHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.subsectionHead strong,.subsectionHead span{display:block}.subsectionHead span{font-size:10px;color:var(--muted2);margin-top:4px}.plannerPresetGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.planPresetCard{border:1px solid var(--stroke);background:rgba(255,255,255,.035);color:var(--text);border-radius:15px;padding:12px;text-align:right;cursor:pointer}.planPresetCard span,.planPresetCard small{display:block}.planPresetCard span{font-size:11px;font-weight:900}.planPresetCard small{font-size:9px;color:var(--muted2);line-height:1.7;margin-top:4px}.planPresetCard.active{border-color:rgba(124,58,237,.42);background:rgba(124,58,237,.10)}
.dayBudgetGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.dayBudgetCard{display:grid;gap:7px;text-align:center;padding:9px;border:1px solid var(--stroke);border-radius:14px;background:rgba(255,255,255,.025)}.dayBudgetCard span,.dayBudgetCard strong{font-size:9px}.dayBudgetCard span{color:var(--muted2)}.dayBudgetCard>div{height:65px;border-radius:9px;background:rgba(0,0,0,.15);display:flex;align-items:flex-end;overflow:hidden}.dayBudgetCard i{display:block;width:100%;min-height:8px;background:linear-gradient(180deg,var(--a2),var(--a1));border-radius:8px}.dayBudgetMore{display:grid;place-items:center;color:var(--muted2);font-size:10px;border:1px dashed var(--stroke);border-radius:14px}
.finalReviewGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.reviewSummaryCard{padding:15px;border:1px solid var(--stroke);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.025))}.reviewSummaryCard span,.reviewSummaryCard strong,.reviewSummaryCard small{display:block}.reviewSummaryCard span{font-size:9px;color:#67e8f9}.reviewSummaryCard strong{font-size:1rem;margin:6px 0}.reviewSummaryCard small{font-size:9px;color:var(--muted2);line-height:1.65}.reviewScopeList{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.reviewScopeList article{padding:12px;border:1px solid var(--stroke);border-radius:15px;background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:space-between;gap:8px}.reviewScopeList strong,.reviewScopeList span{display:block}.reviewScopeList strong{font-size:11px}.reviewScopeList span{font-size:9px;color:var(--muted2);margin-top:3px}.reviewScopeList b{font-size:10px;color:#a5f3fc;white-space:nowrap}
.plannerFooter{position:sticky;bottom:0;z-index:20;padding:14px 22px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;border-top:1px solid var(--stroke);background:rgba(7,11,20,.92);backdrop-filter:blur(18px)}.plannerFooterStatus{display:flex;align-items:center;gap:10px;justify-content:center}.plannerFooterStatus span{font-size:10px;color:var(--muted2)}.plannerFooterStatus>div{width:min(260px,35vw);height:6px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.plannerFooterStatus i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--a1),var(--a2));transition:width .2s}.plannerSubmit{min-width:220px}.plannerInlineError{grid-column:1/-1;padding:10px 13px;border:1px solid rgba(245,158,11,.28);background:rgba(245,158,11,.10);color:#fde68a;border-radius:13px;font-size:11px;text-align:center}.recentPlansSection{margin-top:0}.recentPlanGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.recentPlanCard{display:grid;gap:10px}
@media (max-width:1300px){.curriculumToolbar{grid-template-columns:1fr 1fr 1fr}.curriculumToolbar .curriculumSearch{grid-column:span 2}.plannerPresetGrid{grid-template-columns:repeat(2,1fr)}.finalReviewGrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:1050px){.plannerHero{align-items:flex-start}.plannerHeroStats{min-width:300px}.plannerStep small{display:none}.curriculumWorkspace{grid-template-columns:1fr}.selectionBasket{position:static}.selectionBasketList{max-height:390px}.plannerInfoGrid,.budgetModeGrid{grid-template-columns:1fr}.dayBudgetGrid{grid-template-columns:repeat(4,1fr)}.reviewScopeList{grid-template-columns:repeat(2,1fr)}}
@media (max-width:720px){.plannerHero{padding:18px;display:grid}.plannerHeroStats{min-width:0;width:100%;grid-template-columns:repeat(3,1fr)}.plannerHeroStats div{padding:10px 5px}.plannerStepRail{padding:12px;grid-template-columns:repeat(4,1fr);gap:6px}.plannerStep{display:grid;place-items:center;padding:8px 4px;text-align:center}.plannerStep>span{grid-row:auto;width:32px;height:32px}.plannerStep b{font-size:8px}.plannerStep small{display:none}.plannerPanels{padding:13px}.plannerPanelHead{display:grid}.plannerSelectionBadge{min-width:0}.curriculumToolbar{grid-template-columns:1fr 1fr}.curriculumToolbar .curriculumSearch{grid-column:1/-1}.curriculumToolbar .btn{font-size:9px}.curriculumBrowserHead{align-items:flex-start}.curriculumLessons{grid-template-columns:1fr}.curriculumTree.compact .curriculumChapters{grid-template-columns:1fr}.customTopicForm{grid-template-columns:1fr}.customTopicForm .btn{grid-column:auto}.plannerPresetGrid,.finalReviewGrid,.reviewScopeList,.recentPlanGrid{grid-template-columns:1fr}.dayBudgetGrid{grid-template-columns:repeat(2,1fr)}.plannerFooter{grid-template-columns:1fr 1fr;padding:11px}.plannerFooterStatus{grid-column:1/-1;grid-row:1}.plannerFooterStatus>div{width:55vw}.plannerFooter .btn{font-size:10px;padding:10px 7px}.plannerSubmit{min-width:0;grid-column:1/-1}.plannerInfoGrid{grid-template-columns:1fr}.budgetModeGrid{grid-template-columns:1fr}}

/* v14: سطح چهارم درخت برنامه‌ریزی (زیرمبحث) */
.curriculumLessonGroup{border:1px solid rgba(255,255,255,.075);border-radius:13px;background:rgba(255,255,255,.018);overflow:hidden}
.groupLessonNode{justify-content:space-between;border:0;border-radius:0;background:rgba(255,255,255,.035)}
.groupLessonNode>label{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer;flex:1}
.groupLessonNode .nodeToggle{width:28px;height:28px;border-radius:9px;flex:0 0 auto}
.curriculumSubtopics{display:grid;gap:5px;padding:7px;border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.08)}
.curriculumSubtopic{display:flex;align-items:center;gap:9px;padding:8px 10px;margin-right:18px;border:1px solid rgba(255,255,255,.06);border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer;position:relative}
.curriculumSubtopic:before{content:'';position:absolute;right:-13px;top:50%;width:10px;border-top:1px dashed rgba(148,163,184,.45)}
.curriculumSubtopic.selected{background:rgba(124,58,237,.09);border-color:rgba(124,58,237,.32)}
.curriculumSubtopic b,.curriculumSubtopic small{display:block}
.curriculumSubtopic b{font-size:10.5px}
.curriculumSubtopic small{font-size:8.7px;color:var(--muted2);margin-top:3px;line-height:1.55}
.curriculumTree.compact .curriculumSubtopics{display:none}
@media (max-width:720px){.curriculumSubtopic{margin-right:9px}.curriculumSubtopic small{font-size:8px}}

/* v16 - بازطراحی روشن و حرفه‌ای استودیوی برنامه‌ریزی */
.plannerStudio{
  --planner-ink:#14213d;--planner-muted:#667085;--planner-line:#dfe5ef;--planner-soft:#f6f8fc;
  --planner-blue:#2563eb;--planner-navy:#172554;--planner-teal:#0f766e;--planner-orange:#f59e0b;
  color:var(--planner-ink);background:#f5f7fb;border:1px solid #e1e7f0;box-shadow:0 24px 70px rgba(15,23,42,.10)
}
.plannerStudio .plannerHero{border-bottom:0;background:linear-gradient(125deg,#172554 0%,#1e3a8a 58%,#0f766e 135%);color:#fff;padding:30px 32px}
.plannerStudio .plannerHero p{color:#dbe7ff}.plannerStudio .plannerEyebrow{color:#dffdf9;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.20)}
.plannerStudio .plannerHeroStats div{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.17);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.plannerStudio .plannerHeroStats span{color:#dbe7ff}.plannerStudio .plannerStepRail{background:#fff;border-bottom:1px solid var(--planner-line)}
.plannerStudio .plannerStep{background:#f8fafc;border-color:var(--planner-line);color:var(--planner-ink);box-shadow:none}
.plannerStudio .plannerStep>span{background:#fff;border-color:#d7deea;color:#475467}.plannerStudio .plannerStep small{color:var(--planner-muted)}
.plannerStudio .plannerStep.active{background:#eef4ff;border-color:#9bb7f7;box-shadow:0 0 0 4px rgba(37,99,235,.07)}
.plannerStudio .plannerStep.active>span{background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff}.plannerStudio .plannerStep.done>span{background:#dcfce7;color:#166534;border-color:#86efac}
.plannerStudio .plannerPanels{background:#f5f7fb}.plannerStudio .plannerPanelHead h4,.plannerStudio .subsectionHead strong{color:var(--planner-ink)}
.plannerStudio .plannerPanelHead p,.plannerStudio .muted,.plannerStudio .subsectionHead span{color:var(--planner-muted)}
.plannerStudio .stepKicker{color:#1d4ed8;background:#eaf1ff;border-color:#c5d6fb}.plannerStudio .badge{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}
.plannerStudio .plannerFields,.plannerStudio .plannerSubsection,.plannerStudio .weekDistributionPreview{background:#fff;border-color:var(--planner-line);box-shadow:0 8px 24px rgba(15,23,42,.04)}
.plannerStudio .plannerFields label,.plannerStudio .field label{color:#344054}.plannerStudio .plannerFields input,.plannerStudio .plannerFields select,.plannerStudio .plannerAdvancedFields input,.plannerStudio .plannerAdvancedFields select{background:#fff!important;color:#101828!important;border-color:#d0d5dd!important}
.plannerStudio .inputWithUnit{background:#fff;border-color:#d0d5dd}.plannerStudio .inputWithUnit span{color:#667085;border-color:#e4e7ec}
.plannerStudio .plannerInfoGrid article{background:#fff;border-color:var(--planner-line);box-shadow:0 8px 22px rgba(15,23,42,.035)}
.plannerStudio .plannerInfoGrid article>span{color:#2563eb}.plannerStudio .plannerInfoGrid p{color:var(--planner-muted)}
.plannerStudio .plannerSelectionBadge{background:#eff6ff;border-color:#bfdbfe}.plannerStudio .plannerSelectionBadge strong{color:#1d4ed8}.plannerStudio .plannerSelectionBadge span{color:#667085}
.plannerStudio .curriculumToolbar select,.plannerStudio .curriculumSearch{background:#fff;border-color:#d0d5dd;color:#101828;box-shadow:0 2px 6px rgba(15,23,42,.025)}
.plannerStudio .curriculumSearch span{color:#2563eb}.plannerStudio .curriculumSearch input{color:#101828}.plannerStudio .curriculumSearch input::placeholder{color:#98a2b3}
.plannerPreferenceStrip{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:10px}
.plannerSwitchCard,.curriculumTrustNote{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px solid var(--planner-line);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,23,42,.035)}
.plannerSwitchCard{cursor:pointer}.plannerSwitchCard input{position:absolute;opacity:0}.plannerSwitchCard>span:last-child,.curriculumTrustNote{min-width:0}.plannerSwitchCard strong,.plannerSwitchCard small,.curriculumTrustNote span,.curriculumTrustNote strong,.curriculumTrustNote small{display:block}
.plannerSwitchCard strong,.curriculumTrustNote strong{font-size:11.5px;color:#1d2939}.plannerSwitchCard small,.curriculumTrustNote small{font-size:9.5px;color:#667085;line-height:1.65;margin-top:3px}
.switchVisual{position:relative;width:42px;height:24px;flex:0 0 42px;border-radius:999px;background:#d0d5dd;transition:.2s}.switchVisual:after{content:'';position:absolute;top:3px;right:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.2s}
.plannerSwitchCard input:checked+.switchVisual{background:linear-gradient(90deg,#2563eb,#0f766e)}.plannerSwitchCard input:checked+.switchVisual:after{right:21px}
.curriculumTrustNote{display:block;border-right:4px solid #0f766e}.curriculumTrustNote>span{font-size:9px;color:#0f766e;font-weight:800}.curriculumTrustNote strong{margin-top:2px}
.plannerStudio .curriculumBrowser,.plannerStudio .selectionBasket{background:#fff;border-color:var(--planner-line);box-shadow:0 12px 32px rgba(15,23,42,.055)}
.plannerStudio .curriculumBrowserHead{border-color:var(--planner-line);background:#fbfcfe}.plannerStudio .curriculumBrowserHead span{color:#667085}
.plannerStudio .viewSwitch{background:#eef2f7;border-color:#dbe2ec}.plannerStudio .viewSwitch button{color:#667085}.plannerStudio .viewSwitch button.active{background:#fff;color:#1d4ed8;box-shadow:0 1px 5px rgba(15,23,42,.10)}
.plannerStudio .curriculumTree{background:#f8fafc;scrollbar-color:#cbd5e1 transparent}.plannerStudio .curriculumEmpty,.plannerStudio .basketEmpty{color:#667085;border-color:#cfd8e6;background:#fff}
.plannerStudio .curriculumBook{background:#fff;border-color:#dce3ed;box-shadow:0 4px 16px rgba(15,23,42,.035)}
.plannerStudio .curriculumBook:hover{border-color:#b9c8e2;box-shadow:0 8px 24px rgba(15,23,42,.07)}
.plannerStudio .curriculumBook.fullySelected{border-color:#86d6bd;background:#f4fffb}.plannerStudio .curriculumBook.partiallySelected{border-color:#93c5fd;background:#f8fbff}
.plannerStudio .curriculumBookHead{padding:15px 16px;align-items:flex-start}.courseSelectControl{flex:1}.courseSelectText{font-size:9px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;padding:5px 8px;border-radius:999px;white-space:nowrap}
.plannerStudio .bookIdentity b{font-size:13px;color:#101828}.plannerStudio .bookIdentity small,.plannerStudio .bookHeadMeta>span{color:#667085}
.plannerStudio .nodeCheck{border-color:#b8c2d1;background:#fff}.plannerStudio .curriculumBook input:indeterminate+.nodeCheck{border-color:#3b82f6;background:#eff6ff}.plannerStudio .curriculumBook input:indeterminate+.nodeCheck:after{color:#1d4ed8}
.bookHeadMeta{flex-wrap:wrap;justify-content:flex-end}.sourceBadge{font-style:normal;font-size:8.5px;font-weight:900;padding:5px 7px;border-radius:999px;white-space:nowrap}.sourceBadge.verified{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.sourceBadge.planning{background:#fffaeb;color:#b54708;border:1px solid #fedf89}
.plannerStudio .courseDetailsBtn{width:auto;height:31px;padding:0 10px;color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;font-size:9px}
.bookSourceLine{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px 11px;color:#667085;font-size:9px}.bookSourceLine small{color:#98a2b3;white-space:nowrap}
.plannerStudio .curriculumChapters{background:#f8fafc;border-color:#e4e7ec}.plannerStudio .curriculumChapter{border-color:#dfe5ef;background:#fff}
.plannerStudio .chapterNode{background:#f2f5f9}.plannerStudio .chapterNode b{color:#1d2939}.plannerStudio .chapterNode small{color:#667085}
.plannerStudio .nodeToggle{background:#fff;border-color:#cfd8e6;color:#344054}.plannerStudio .curriculumLessonGroup{border-color:#e0e6ef;background:#fff}
.plannerStudio .curriculumLesson{background:#fff;border-color:#e2e8f0}.plannerStudio .curriculumLesson.selected,.plannerStudio .curriculumSubtopic.selected{background:#eff8ff;border-color:#84caff}
.plannerStudio .curriculumLesson b,.plannerStudio .curriculumSubtopic b{color:#1d2939}.plannerStudio .curriculumLesson small,.plannerStudio .curriculumSubtopic small{color:#667085}
.plannerStudio .curriculumSubtopics{background:#f8fafc;border-color:#e4e7ec}.plannerStudio .curriculumSubtopic{background:#fff;border-color:#e1e7ef}.plannerStudio .curriculumSubtopic:before{border-color:#b8c2d1}
.plannerStudio .basketHead{border-color:var(--planner-line);background:#fbfcfe}.plannerStudio .basketHead>div{background:#f2f4f7}.plannerStudio .basketHead span{color:#667085}.plannerStudio .basketHead strong{color:#1d2939}
.plannerStudio .basketGroup{background:#fff;border-color:#dfe5ef}.plannerStudio .basketGroupHead strong{color:#101828}.plannerStudio .basketGroupHead small,.plannerStudio .basketGroupFoot{color:#667085}
.plannerStudio .basketGroupHead button{color:#b42318;background:#fef3f2;border-color:#fecdca}.plannerStudio .basketLessonChips span,.plannerStudio .basketMore{background:#f2f4f7;color:#475467}
.plannerStudio .basketGroupFoot select{background:#fff;color:#1d2939;border-color:#d0d5dd}.basketTimeHint{margin:0 10px 10px;padding:10px 12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:13px}.basketTimeHint strong,.basketTimeHint span{display:block}.basketTimeHint strong{font-size:10px;color:#075985}.basketTimeHint span{font-size:8.5px;color:#0369a1;margin-top:3px;line-height:1.6}
.basketTimeEditor{margin-top:10px;border-top:1px solid #eef2f6;padding-top:8px}.basketTimeEditor summary{cursor:pointer;color:#1d4ed8;font-size:9px;font-weight:900}.basketTimeEditor>div{display:grid;gap:6px;margin-top:8px}.basketTimeRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-radius:10px;background:#f8fafc}.basketTimeRow>span{font-size:8.5px;color:#475467;line-height:1.45}.basketTimeRow>div{display:flex;align-items:center;gap:4px;flex:0 0 auto}.basketTimeRow input{width:58px;padding:5px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#101828;font-size:9px}.basketTimeRow small{color:#667085;font-size:8px}
.plannerStudio .customTopicBox{border-color:#e4e7ec}.plannerStudio .customTopicToggle{color:#0f766e;background:#f0fdfa;border-color:#99f6e4}.plannerStudio .customTopicForm input{background:#fff;color:#101828;border-color:#d0d5dd}
.plannerStudio .budgetModeCard,.plannerStudio .planPresetCard,.plannerStudio .reviewSummaryCard,.plannerStudio .reviewScopeList article,.plannerStudio .dayBudgetCard{background:#fff;color:#1d2939;border-color:var(--planner-line)}
.plannerStudio .budgetModeCard span{color:#1d4ed8}.plannerStudio .budgetModeCard small,.plannerStudio .planPresetCard small,.plannerStudio .reviewSummaryCard small,.plannerStudio .reviewScopeList span,.plannerStudio .dayBudgetCard span{color:#667085}
.plannerStudio .budgetModeCard.active{background:#eff6ff;border-color:#93c5fd;box-shadow:0 0 0 4px rgba(37,99,235,.06)}.plannerStudio .planPresetCard.active{background:#f0fdfa;border-color:#5eead4}
.plannerStudio .reviewSummaryCard span{color:#1d4ed8}.plannerStudio .reviewScopeList b{color:#0f766e}
.plannerStudio .dayBudgetCard>div{background:#eaf0f7}.plannerStudio .plannerFooter{background:rgba(255,255,255,.96);border-color:#dfe5ef;box-shadow:0 -12px 30px rgba(15,23,42,.06)}.plannerStudio .plannerFooterStatus span{color:#667085}.plannerStudio .plannerFooterStatus>div{background:#e4e7ec}
.plannerStudio .plannerInlineError{background:#fffaeb;color:#b54708;border-color:#fedf89}
.plannerForm.hideSuggestedTimes .timeSuggestion{display:none!important}.plannerForm.hideSuggestedTimes #basketEstimatedTime{opacity:.55}.plannerForm.hideSuggestedTimes #basketEstimatedTime:after{content:'پنهان';font-size:8px;margin-right:5px;color:#667085}
@media(max-width:1050px){.plannerPreferenceStrip{grid-template-columns:1fr}.bookHeadMeta{max-width:52%}}
@media(max-width:720px){.plannerStudio .plannerHero{padding:20px}.plannerPreferenceStrip{grid-template-columns:1fr}.curriculumBookHead{display:grid!important}.bookHeadMeta{max-width:none;justify-content:flex-start}.courseSelectText{display:none}.bookSourceLine{align-items:flex-start}.plannerStudio .courseDetailsBtn{flex:1}.plannerSwitchCard,.curriculumTrustNote{padding:12px}}
.plannerStudio .curriculumLoading{position:relative;padding-top:62px;color:#344054;font-weight:800}
.plannerStudio .curriculumLoading:before{content:'';position:absolute;top:24px;right:50%;width:24px;height:24px;margin-right:-12px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:plannerCatalogSpin .7s linear infinite}
@keyframes plannerCatalogSpin{to{transform:rotate(360deg)}}
/* v17 - lesson-first curriculum selector */
.lessonQuickTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px 7px;border-top:1px solid #eef2f6;color:#344054}
.lessonQuickTitle b{font-size:10.5px}.lessonQuickTitle span{font-size:8.8px;color:#667085}
.lessonQuickGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 16px 14px}
.lessonQuick{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #e1e7ef;border-radius:13px;background:#fbfcfe;cursor:pointer;min-width:0;transition:.14s}
.lessonQuick:hover{border-color:#93c5fd;background:#f8fbff;transform:translateY(-1px)}
.lessonQuick.selected{border-color:#86d6bd;background:#f0fdf8}
.lessonQuick>span:last-child{min-width:0}.lessonQuick b,.lessonQuick small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lessonQuick b{font-size:9.7px;color:#1d2939}.lessonQuick small{font-size:8px;color:#667085;margin-top:2px}
.topicKind{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:7.2px;font-style:normal;font-weight:800}
.topicKind.high{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.topicKind.planning{background:#fff7ed;color:#b54708;border:1px solid #fed7aa}
@media(max-width:720px){.lessonQuickTitle{display:grid}.lessonQuickGrid{grid-template-columns:1fr;padding-inline:12px}.lessonQuick{padding:10px}.topicKind{font-size:6.8px}}

/* ===============================
   V19 | موتور برنامه‌ریزی تطبیقی
=============================== */
.adaptivePlanningStudio{border:1px solid #dbe5f1;border-radius:24px;padding:18px;background:linear-gradient(145deg,#f8fbff 0%,#ffffff 58%,#f6f3ff 100%);box-shadow:0 16px 40px rgba(15,23,42,.07);display:grid;gap:16px;position:relative;overflow:hidden}
.adaptivePlanningStudio:before{content:"";position:absolute;inset:-120px auto auto -80px;width:280px;height:280px;background:radial-gradient(circle,rgba(59,130,246,.13),transparent 68%);pointer-events:none}
.adaptiveStudioHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;position:relative}.adaptiveStudioHead h4{margin:4px 0 6px;color:#172033;font-size:18px}.adaptiveStudioHead p{margin:0;color:#667085;font-size:11px;line-height:1.9;max-width:760px}
.adaptiveProfileState{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;border:1px solid #d8e4f2;background:#fff;color:#475467;font-size:10px;font-weight:800;white-space:nowrap}.adaptiveProfileState i{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px rgba(148,163,184,.12)}.adaptiveProfileState.loading i{background:#3b82f6;animation:profilePulse 1s infinite}.adaptiveProfileState.ready i{background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.12)}.adaptiveProfileState.error i{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.12)}
@keyframes profilePulse{50%{transform:scale(.7);opacity:.55}}
.adaptiveSettingsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;position:relative}.adaptiveControlCard{display:grid;gap:8px;background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:13px;box-shadow:0 8px 24px rgba(15,23,42,.035)}.adaptiveControlCard>span{font-size:10px;font-weight:900;color:#1d2939}.adaptiveControlCard small{font-size:9px;line-height:1.7;color:#667085}.adaptiveControlCard select,.adaptiveControlCard input{background:#f7f9fc!important;color:#1f2937!important;border-color:#dde5ef!important}.rangeValue{display:flex;align-items:center;gap:10px}.rangeValue input[type=range]{padding:0;border:0;background:transparent!important;accent-color:#4f46e5}.rangeValue b{min-width:38px;color:#4f46e5;font-size:12px}
.adaptiveSwitchRow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.adaptiveSwitchRow label{display:flex;align-items:flex-start;gap:9px;background:#fff;border:1px solid #e0e7f0;border-radius:16px;padding:12px;cursor:pointer}.adaptiveSwitchRow input{margin-top:4px;accent-color:#4f46e5}.adaptiveSwitchRow span,.adaptiveSwitchRow strong,.adaptiveSwitchRow small{display:block}.adaptiveSwitchRow strong{font-size:10px;color:#1d2939}.adaptiveSwitchRow small{font-size:9px;color:#667085;line-height:1.7;margin-top:3px}
.historyInsightGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.historyInsightGrid article{background:linear-gradient(180deg,#16233d,#1f3155);border:1px solid rgba(255,255,255,.08);color:#fff;border-radius:17px;padding:13px;min-height:105px;display:grid;align-content:start;gap:5px;box-shadow:0 12px 28px rgba(15,23,42,.14)}.historyInsightGrid span{font-size:9px;color:#b9c7df}.historyInsightGrid strong{font-size:14px;line-height:1.5}.historyInsightGrid small{font-size:8.5px;line-height:1.7;color:#cbd5e1}
.weeklyCapacityHeader{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px dashed #d8e1ed;padding-top:15px}.weeklyCapacityHeader strong,.weeklyCapacityHeader span{display:block}.weeklyCapacityHeader strong{font-size:12px;color:#172033}.weeklyCapacityHeader span{font-size:9.5px;color:#667085;margin-top:4px}
.weeklyCapacityEditor{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:9px;overflow-x:auto;padding-bottom:4px}.capacityLoading{grid-column:1/-1;padding:30px;text-align:center;color:#667085;border:1px dashed #d8e1ed;border-radius:16px;background:#fff}.capacityDayCard{min-width:155px;background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:11px;display:grid;gap:9px;box-shadow:0 7px 20px rgba(15,23,42,.035)}.capacityDayHead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:7px;border-bottom:1px solid #eef2f7}.capacityDayHead span,.capacityDayHead strong{display:block}.capacityDayHead span{font-size:10px;color:#1d4ed8;font-weight:900}.capacityDayHead strong{font-size:9px;color:#475467;margin-top:3px}.energyDot{width:10px;height:10px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.energyDot.high{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.energyDot.low{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.capacityDayCard label{display:grid;gap:4px}.capacityDayCard label>span{font-size:8.5px;color:#667085;font-weight:800}.capacityDayCard input,.capacityDayCard select{padding:7px 8px!important;border-radius:10px!important;background:#f8fafc!important;color:#1f2937!important;border-color:#e2e8f0!important;font-size:9px!important}.capacityMiniGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.capacityDayCard .inputWithUnit span{font-size:8px;color:#667085}.dayCommitmentBadges{display:flex;flex-wrap:wrap;gap:4px}.dayCommitmentBadges span{font-size:7.5px;color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;padding:4px 6px;border-radius:999px}.dayCommitmentBadges small{font-size:8px;color:#98a2b3}
.commitmentEditor:empty{display:none}.commitmentEditor{display:grid;gap:8px;background:#fff;border:1px solid #e0e7f0;border-radius:18px;padding:13px}.commitmentListHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.commitmentListHead strong{font-size:11px;color:#1d2939}.commitmentListHead span{font-size:9px;color:#667085}.commitmentRows{display:grid;gap:7px}.commitmentRow{display:grid;grid-template-columns:110px 1.2fr 1fr 82px 82px 100px auto;gap:6px;align-items:center}.commitmentRow input,.commitmentRow select{padding:8px!important;background:#f8fafc!important;color:#1f2937!important;border-color:#e2e8f0!important;font-size:9px!important}
.profileNoteRow{display:grid;grid-template-columns:220px 1fr;gap:10px}.profileNoteRow label{display:grid;gap:5px}.profileNoteRow label>span{font-size:9px;color:#475467;font-weight:900}.profileNoteRow input{background:#fff!important;color:#1f2937!important;border-color:#dde5ef!important}.profileNoteField input{height:100%}
.dayBudgetCard.adaptive small{font-size:7px;color:#98a2b3;line-height:1.4}.dayBudgetCard.adaptive i.high{background:linear-gradient(180deg,#34d399,#059669)}.dayBudgetCard.adaptive i.medium{background:linear-gradient(180deg,#60a5fa,#4f46e5)}.dayBudgetCard.adaptive i.low{background:linear-gradient(180deg,#fb7185,#e11d48)}
@media(max-width:1250px){.adaptiveSettingsGrid{grid-template-columns:repeat(2,1fr)}.historyInsightGrid{grid-template-columns:repeat(2,1fr)}.weeklyCapacityEditor{grid-template-columns:repeat(4,minmax(160px,1fr))}.commitmentRow{grid-template-columns:110px 1fr 1fr 82px 82px}.commitmentRow select[data-commitment-field="commitment_type"],.commitmentRow .btn{grid-column:auto}}
@media(max-width:760px){.adaptivePlanningStudio{padding:13px;border-radius:19px}.adaptiveStudioHead,.weeklyCapacityHeader{display:grid}.adaptiveProfileState{white-space:normal}.adaptiveSettingsGrid,.adaptiveSwitchRow,.historyInsightGrid,.profileNoteRow{grid-template-columns:1fr}.weeklyCapacityEditor{display:flex;overflow-x:auto}.capacityDayCard{min-width:78vw}.commitmentRow{grid-template-columns:1fr 1fr}.commitmentRow input[data-commitment-field="title"],.commitmentRow input[data-commitment-field="subject"]{grid-column:1/-1}.commitmentRow .btn{grid-column:1/-1}.commitmentListHead{display:grid}}

/* اجرای برنامه و ثبت بازخورد */
.executionHero{background:linear-gradient(135deg,#13233f,#253f70);border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:22px;color:#fff;display:flex;justify-content:space-between;gap:18px;box-shadow:0 18px 46px rgba(15,23,42,.25)}.executionHero h2{margin:4px 0 8px;font-size:24px}.executionHero p{margin:0;color:#cbd5e1;font-size:11px;line-height:1.9}.executionProgress{min-width:240px;display:grid;align-content:center;gap:8px}.executionProgress strong{font-size:28px}.executionProgress>div{height:9px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.executionProgress i{display:block;height:100%;background:linear-gradient(90deg,#38bdf8,#34d399);border-radius:inherit}.executionInsightRow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.executionInsightRow article{border:1px solid var(--stroke);background:rgba(255,255,255,.045);border-radius:18px;padding:13px}.executionInsightRow span,.executionInsightRow strong,.executionInsightRow small{display:block}.executionInsightRow span{font-size:9px;color:var(--muted2)}.executionInsightRow strong{font-size:15px;margin:5px 0}.executionInsightRow small{font-size:8px;color:var(--muted2);line-height:1.6}.executionDay{border:1px solid var(--stroke);background:rgba(255,255,255,.035);border-radius:22px;padding:15px;display:grid;gap:10px}.executionDayHead{display:flex;justify-content:space-between;align-items:center;gap:10px}.executionDayHead h3{margin:0;font-size:15px}.executionDayHead span{font-size:9px;color:var(--muted2)}.executionTask{border:1px solid var(--stroke);background:rgba(255,255,255,.04);border-radius:17px;padding:13px;display:grid;grid-template-columns:minmax(220px,1.2fr) 2fr;gap:14px;scroll-margin-top:20px}.executionTask.done{border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.055)}.executionTask.partial{border-color:rgba(245,158,11,.35)}.executionTask.missed{border-color:rgba(239,68,68,.35)}.taskSummary h4{margin:4px 0;font-size:13px}.taskSummary p{margin:0;color:var(--muted2);font-size:9px;line-height:1.8}.taskMetaLine{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.taskMetaLine span{font-size:8px;padding:5px 7px;border:1px solid var(--stroke);border-radius:999px;color:var(--muted)}.feedbackForm{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.feedbackForm label{display:grid;gap:4px}.feedbackForm label>span{font-size:8px;color:var(--muted2)}.feedbackForm input,.feedbackForm select,.feedbackForm textarea{padding:8px 9px;font-size:9px}.feedbackForm textarea{min-height:50px;grid-column:1/-1}.feedbackForm .feedbackActions{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}.feedbackStatusBadge{font-size:8px;padding:5px 8px;border-radius:999px;border:1px solid var(--stroke)}
@media(max-width:900px){.executionHero{display:grid}.executionProgress{min-width:0}.executionInsightRow{grid-template-columns:repeat(2,1fr)}.executionTask{grid-template-columns:1fr}.feedbackForm{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.executionInsightRow,.feedbackForm{grid-template-columns:1fr}.executionDayHead{display:grid}.feedbackForm textarea,.feedbackForm .feedbackActions{grid-column:auto}}

/* ===============================
   V20 | برنامه‌ساز منظم و انتخاب بدون پرش
=============================== */
.plannerStepRail{grid-template-columns:repeat(5,minmax(0,1fr))}
.plannerStep{min-width:0}.plannerStep b,.plannerStep small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.plannerCurriculumControls{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px;border:1px solid #dfe5ef;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}
.curriculumToolbarPrimary{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:9px;align-items:center}
.curriculumFilterRow{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px;padding-top:10px;border-top:1px solid #eef2f6}
.curriculumFilterRow label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:5px 8px 5px 5px;border:1px solid #e4e7ec;border-radius:13px;background:#f8fafc}
.curriculumFilterRow label>span{font-size:9px;font-weight:900;color:#475467;white-space:nowrap}
.curriculumFilterRow select{width:100%;min-width:0;border:0!important;background:#fff!important;color:#1d2939!important;min-height:36px!important;border-radius:9px!important;padding:0 9px!important}
.plannerCurriculumControls .curriculumSearch{background:#f8fafc!important;border-color:#d8e1ed!important;min-height:48px}
.plannerCurriculumControls .curriculumSearch input{color:#101828!important}
.plannerCurriculumControls .curriculumSearch input::placeholder{color:#98a2b3!important}

.selectionFlowGuide,.plannerStageGuide{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;padding:12px 14px;border:1px solid #dfe7f1;border-radius:18px;background:linear-gradient(90deg,#f8fbff,#fff,#f8fffd)}
.selectionFlowGuide article,.plannerStageGuide article{display:flex;align-items:center;gap:9px;min-width:0}
.selectionFlowGuide article>span,.plannerStageGuide article>span{width:28px;height:28px;flex:0 0 28px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#2563eb,#0f766e);color:#fff;font-size:10px;font-weight:900;box-shadow:0 5px 14px rgba(37,99,235,.18)}
.selectionFlowGuide strong,.selectionFlowGuide small,.plannerStageGuide strong,.plannerStageGuide small{display:block}
.selectionFlowGuide strong,.plannerStageGuide strong{font-size:10px;color:#1d2939}
.selectionFlowGuide small,.plannerStageGuide small{font-size:8.5px;color:#667085;margin-top:3px;line-height:1.55}
.selectionFlowGuide>i{width:34px;height:1px;background:linear-gradient(90deg,#c7d7ee,#9ed7c8);position:relative}
.selectionFlowGuide>i:after{content:'‹';position:absolute;left:-2px;top:-9px;color:#7c9bbd;font-style:normal;font-size:15px}
.plannerStageGuide{grid-template-columns:repeat(3,1fr);background:#fff}

.curriculumWorkspace,.curriculumTree,.selectionBasket,.curriculumBook{overflow-anchor:none}
.curriculumTree{scroll-behavior:auto;overscroll-behavior:contain}
.curriculumBook input:focus-visible+.nodeCheck{outline:3px solid rgba(37,99,235,.20);outline-offset:2px}
.lessonQuick small{white-space:normal!important;line-height:1.45;max-height:2.9em}
.lessonQuickGrid{grid-template-columns:repeat(3,minmax(0,1fr))}
.curriculumBookHead{position:relative}
.curriculumBook.fullySelected .curriculumBookHead:before,.curriculumBook.partiallySelected .curriculumBookHead:before{content:'';position:absolute;right:0;top:10px;bottom:10px;width:4px;border-radius:4px;background:#10b981}
.curriculumBook.partiallySelected .curriculumBookHead:before{background:#3b82f6}

.capacityPlanningSection{border:1px solid #dbe5f1;border-radius:24px;padding:18px;background:linear-gradient(145deg,#f8fbff 0%,#fff 60%,#f5fffb 100%);box-shadow:0 14px 36px rgba(15,23,42,.055);display:grid;gap:16px}
.commitmentSectionHead{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px dashed #d8e1ed}
.commitmentSectionHead strong,.commitmentSectionHead span{display:block}
.commitmentSectionHead strong{font-size:12px;color:#172033}.commitmentSectionHead span{font-size:9px;color:#667085;margin-top:4px}
.compactHead{padding-bottom:2px;border-bottom:1px dashed #d8e1ed}
.compactFields{box-shadow:0 10px 28px rgba(15,23,42,.04)}
.distributionSection{background:linear-gradient(145deg,#fff,#f8fbff)}

/* انتخاب درخت بدون بازسازی کامل DOM */
.curriculumLesson,.curriculumSubtopic,.lessonQuick,.curriculumBook{transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease}
.curriculumLessonGroup .groupLessonNode.selected{background:#eff8ff;border-color:#84caff}
.selectionBasketList{scrollbar-gutter:stable}

@media(max-width:1250px){
  .plannerStepRail{grid-template-columns:repeat(5,minmax(145px,1fr));overflow-x:auto;scrollbar-width:thin}
  .plannerStep{min-width:145px}
  .lessonQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .curriculumToolbarPrimary{grid-template-columns:1fr 1fr}.curriculumToolbarPrimary .curriculumSearch{grid-column:1/-1}
  .curriculumFilterRow{grid-template-columns:1fr}
  .selectionFlowGuide{grid-template-columns:1fr}.selectionFlowGuide>i{display:none}
  .plannerStageGuide{grid-template-columns:1fr}
}
@media(max-width:720px){
  .plannerStepRail{display:flex;overflow-x:auto;padding:12px}.plannerStep{flex:0 0 178px}
  .plannerPanels{padding:13px}
  .curriculumToolbarPrimary{grid-template-columns:1fr}.curriculumToolbarPrimary .curriculumSearch{grid-column:auto}
  .curriculumToolbarPrimary .btn{width:100%}
  .lessonQuickGrid{grid-template-columns:1fr}
  .capacityPlanningSection{padding:13px;border-radius:19px}
  .selectionFlowGuide,.plannerStageGuide{padding:10px}
}

/* ===============================
   V20 | سبد ثابت و استودیوی بازبینی دستی
=============================== */
.selectionBasket{position:sticky;top:14px;max-height:calc(100vh - 110px);overflow:hidden;display:flex;flex-direction:column;align-self:start}
.selectionBasketList{max-height:calc(100vh - 285px);overflow:auto;overscroll-behavior:contain;overflow-anchor:none;padding-inline-end:4px}
.subtopicHelp{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;margin:7px 0 10px;padding:9px 11px;border:1px dashed #b9cbe0;border-radius:13px;background:#f7fbff;color:#475467}
.subtopicHelp strong{font-size:9px;color:#175cd3}.subtopicHelp span{font-size:8.5px;line-height:1.7}

.draftReviewStudio{margin-top:18px;border:1px solid #d8e3f0;border-radius:26px;padding:18px;background:linear-gradient(145deg,#f8fbff 0%,#fff 52%,#f5fffb 100%);box-shadow:0 16px 42px rgba(15,23,42,.065);display:grid;gap:14px;overflow:hidden}
.draftReviewHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.draftReviewHead h4{margin:4px 0 6px;color:#101828;font-size:17px}.draftReviewHead p{margin:0;max-width:780px;color:#667085;font-size:9.5px;line-height:1.9}
.draftReviewActions{display:flex;gap:8px;flex:0 0 auto}.draftReviewActions .btn{white-space:nowrap}
.draftLegend{display:flex;flex-wrap:wrap;gap:8px 16px;padding:9px 12px;border:1px solid #e5eaf1;border-radius:14px;background:#fff}
.draftLegend span{display:flex;align-items:center;gap:6px;color:#475467;font-size:8.5px}.draftLegend i{width:9px;height:9px;border-radius:50%;display:block}.legendCore{background:#3b82f6}.legendReview{background:#8b5cf6}.legendClass{background:#10b981}.legendOver{background:#ef4444}
.draftReviewStatus{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:10px 13px;border:1px solid #dce5ef;border-radius:14px;background:#fff;color:#475467;font-size:9px}
.draftReviewStatus strong,.draftReviewStatus span{display:block}.draftReviewStatus strong{font-size:10.5px;color:#1d2939}.draftReviewStatus span{color:#667085}.draftReviewStatus.loading{justify-content:center;background:#f8fbff;color:#175cd3}.draftReviewStatus.error{background:#fff5f5;border-color:#fecaca;color:#b42318}.draftReviewStatus.stale{background:#fffaeb;border-color:#fedf89;color:#b54708}.draftReviewStatus.warning{border-color:#fdb022;background:#fffcf5}
.draftWeekBoard{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(310px,1fr);gap:12px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 10px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain;scrollbar-gutter:stable}
.draftDayColumn{scroll-snap-align:start;border:1px solid #dce5ef;border-radius:20px;background:#fff;min-height:330px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.draftDayColumn.overCapacity{border-color:#fda29b;box-shadow:0 0 0 3px rgba(240,68,56,.07)}
.draftDayHead{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px 9px;background:linear-gradient(135deg,#f8fafc,#fff)}
.draftDayHead span,.draftDayHead strong{display:block}.draftDayHead span{font-size:9px;color:#667085}.draftDayHead strong{margin-top:2px;font-size:12px;color:#101828}.draftDayHead em{font-style:normal;font-size:10px;font-weight:900;color:#175cd3;padding:6px 8px;border-radius:999px;background:#eff8ff}
.draftCapacityBar{height:5px;margin:0 14px;background:#eef2f6;border-radius:999px;overflow:hidden}.draftCapacityBar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#10b981)}.overCapacity .draftCapacityBar i{background:linear-gradient(90deg,#f79009,#f04438)}
.draftDayMeta{display:flex;justify-content:space-between;gap:8px;padding:8px 14px 10px;color:#667085;font-size:8px}.draftDayMeta b{color:#344054}.overCapacity .draftDayMeta b{color:#b42318}
.draftTaskList{display:flex;flex-direction:column;gap:9px;min-height:230px;padding:10px 11px 14px;background:#f8fafc;flex:1;transition:background .15s ease,outline-color .15s ease}.draftTaskList.dragOver{background:#eff8ff;outline:2px dashed #2e90fa;outline-offset:-6px}
.draftTaskCard{position:relative;display:grid;grid-template-columns:21px minmax(0,1fr);gap:9px;padding:11px;border:1px solid #d0d5dd;border-right:4px solid #3b82f6;border-radius:15px;background:#fff;box-shadow:0 4px 12px rgba(16,24,40,.045);cursor:default;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.draftTaskCard[draggable="true"]{cursor:grab}.draftTaskCard[draggable="true"]:active{cursor:grabbing}.draftTaskCard.dragging{opacity:.45;transform:scale(.985)}.draftTaskCard.review{border-right-color:#8b5cf6}.draftTaskCard.classSupport{border-right-color:#10b981}.draftTaskCard.test{border-right-color:#f59e0b}.draftTaskCard.locked{background:#f6fffb}
.draftTaskGrip{font-size:15px;color:#98a2b3;line-height:1.2;text-align:center;padding-top:2px;user-select:none}.draftTaskContent{min-width:0}.draftTaskTop{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:5px}.draftTaskTop small{font-size:7.5px;color:#98a2b3;white-space:nowrap}.draftTypeBadge{font-size:7.5px;font-weight:900;color:#175cd3;background:#eff8ff;padding:4px 6px;border-radius:999px}.review .draftTypeBadge{color:#6941c6;background:#f4f3ff}.classSupport .draftTypeBadge{color:#027a48;background:#ecfdf3}.test .draftTypeBadge{color:#b54708;background:#fffaeb}
.draftTaskContent>strong{display:block;color:#101828;font-size:10.5px}.draftTaskContent>b{display:block;margin-top:3px;color:#344054;font-size:9px;line-height:1.6}.draftTaskContent>p{margin:4px 0 0;color:#667085;font-size:7.8px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.draftTaskControls{grid-column:1/-1;display:grid;grid-template-columns:95px minmax(125px,1fr) auto;gap:7px;align-items:end;padding-top:8px;border-top:1px dashed #e4e7ec}.draftTaskControls label{display:grid;gap:3px}.draftTaskControls label>span{font-size:7px;color:#667085}.draftTaskControls input,.draftTaskControls select{width:100%;min-height:32px;padding:5px 7px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#1d2939;font-size:8px}.draftMinutesControl>div{display:flex;align-items:center;gap:4px}.draftMinutesControl small{font-size:7px;color:#667085}.draftOrderControls{display:flex;gap:4px}.draftOrderControls button{width:31px;height:31px;padding:0;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-weight:900;cursor:pointer}.draftOrderControls button:hover:not(:disabled){border-color:#84adff;background:#eff8ff;color:#175cd3}.draftOrderControls button.danger:hover:not(:disabled){border-color:#fda29b;background:#fff1f0;color:#b42318}.draftOrderControls button:disabled{opacity:.35;cursor:not-allowed}
.draftEmptyDay{min-height:120px;display:grid;place-items:center;text-align:center;padding:18px;border:1px dashed #cfd8e5;border-radius:14px;color:#98a2b3;font-size:8.5px;background:rgba(255,255,255,.7)}
.draftReviewNote{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;background:#eefaf6;color:#067647}.draftReviewNote strong{font-size:9px}.draftReviewNote span{font-size:8px;color:#027a48}
.draftLoadingCard{grid-column:1/-1;min-height:240px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed #b9cbe0;border-radius:20px;background:#fff;color:#475467}.draftLoadingCard i{width:28px;height:28px;border:3px solid #dbeafe;border-top-color:#2563eb;border-radius:50%;animation:draftSpin .8s linear infinite}.draftLoadingCard strong{font-size:11px}.draftLoadingCard span{font-size:8.5px;color:#667085}@keyframes draftSpin{to{transform:rotate(360deg)}}

@media(max-width:1180px){.selectionBasket{position:relative;top:auto;max-height:none}.selectionBasketList{max-height:420px}.draftWeekBoard{grid-auto-columns:minmax(290px,78vw)}}
@media(max-width:720px){.draftReviewStudio{padding:13px;border-radius:20px}.draftReviewHead{display:grid}.draftReviewActions{display:grid;grid-template-columns:1fr 1fr}.draftReviewActions .btn{width:100%}.draftReviewStatus{display:grid}.draftWeekBoard{grid-auto-columns:88vw}.draftTaskControls{grid-template-columns:1fr 1fr}.draftOrderControls{grid-column:1/-1;justify-content:flex-end}.draftReviewNote{display:grid}.subtopicHelp{grid-template-columns:1fr}}

/* V20.1 | سه مرحله کلان مطابق گردش کار واقعی مشاور */
.plannerStepRail.threeStage{grid-template-columns:repeat(3,minmax(0,1fr))}
.plannerPanels>.plannerPanel.active+.plannerPanel.active{margin-top:18px;border-top:1px dashed #d8e1ed;padding-top:24px}
@media(max-width:1250px){.plannerStepRail.threeStage{grid-template-columns:repeat(3,minmax(190px,1fr))}}
@media(max-width:720px){.plannerStepRail.threeStage{display:grid;grid-template-columns:repeat(3,minmax(145px,1fr));overflow-x:auto}.plannerStepRail.threeStage .plannerStep{min-width:145px;flex:none}}

/* V20 curriculum audit states */
.bookSourceLine.verified{color:#067647;background:#ecfdf3;border-top:1px solid #d1fadf;padding-top:10px}
.bookSourceLine.planning{color:#9a3412;background:#fff7ed;border-top:1px solid #fed7aa;padding-top:10px}
.bookAuditWarning{margin:0 16px 12px;padding:10px 12px;border:1px solid #fed7aa;border-radius:13px;background:#fff7ed;display:flex;align-items:flex-start;gap:8px;color:#9a3412;line-height:1.75}
.bookAuditWarning b{font-size:9px;white-space:nowrap}.bookAuditWarning span{font-size:8.3px;color:#b54708}
@media(max-width:720px){.bookAuditWarning{display:grid;margin-inline:11px}}


/* V21 | dashboard polish + multi-grade scope */
.kpiRow{grid-template-columns:repeat(6,minmax(0,1fr))}
.advisorHeroPro{background:linear-gradient(135deg,#f8fbff 0%,#ffffff 55%,#f5fffb 100%);border:1px solid #d9e5f2;box-shadow:0 16px 36px rgba(15,23,42,.06)}
.compactHeroStats{display:grid;grid-template-columns:1fr;gap:8px}.compactHeroStats .heroBadge{min-width:auto}
.advisorQuickActions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.quickActionCard{display:grid;gap:4px;padding:14px 16px;border:1px solid #dde6f1;border-radius:18px;background:#fff;text-decoration:none;color:#0f172a;box-shadow:0 6px 18px rgba(15,23,42,.04);transition:.18s}.quickActionCard:hover{transform:translateY(-2px);border-color:#b8cff0}.quickActionCard strong{font-size:11px}.quickActionCard small{font-size:8.5px;color:#667085;line-height:1.8}
.chartWrap.tall{min-height:330px}.dashboardGrid .contentCard,.dashboardGridSmall .contentCard{overflow:hidden}.chartCardLarge{min-height:430px}.chartCardSide{min-height:430px}.miniListStatus{display:grid;gap:8px;margin-top:12px}.miniListStatus article{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:12px;background:#f8fafc;color:#475467;font-size:8.5px}.miniListStatus article strong{color:#101828}.compactAgenda{max-height:330px;overflow:auto}.studentAnalysisHeader{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.studentAnalysisHeader>div{padding:12px;border:1px solid #e4e7ec;border-radius:16px;background:#f8fbff}.studentAnalysisHeader span{display:block;font-size:8px;color:#667085}.studentAnalysisHeader strong{display:block;margin-top:5px;font-size:15px;color:#101828}
.gradeScopePlannerBox{margin:16px 0 0;padding:15px 16px;border:1px solid #d9e5f2;border-radius:20px;background:linear-gradient(135deg,#fbfdff,#f8fbff)}.gradeScopeHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.gradeScopeHead span{display:block;font-size:8.5px;color:#667085}.gradeScopeHead strong{display:block;margin-top:4px;color:#101828;font-size:11px}.gradeScopeHead small{font-size:8px;color:#175cd3;max-width:340px;line-height:1.9}.gradeScopeChips{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.gradeScopeChip{min-height:38px;padding:0 14px;border-radius:999px;border:1px solid #cbd5e1;background:#fff;color:#344054;font-weight:800;cursor:pointer;transition:.16s}.gradeScopeChip.active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.08)}.gradeScopeInlineNote{display:grid;gap:4px;padding:10px 12px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.gradeScopeInlineNote span{font-size:8px;color:#667085}.gradeScopeInlineNote strong{font-size:9.5px;color:#101828}.inlineMuted{font-size:8.5px;color:#667085}
@media(max-width:1180px){.kpiRow{grid-template-columns:repeat(3,minmax(0,1fr))}.advisorQuickActions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.kpiRow{grid-template-columns:repeat(2,minmax(0,1fr))}.advisorQuickActions{grid-template-columns:1fr}.chartWrap.tall{min-height:260px}.studentAnalysisHeader{grid-template-columns:1fr}.gradeScopeHead{display:grid}}


/* V22 | polished dark analytics, smart filters, heatmap and calmer multi-grade browser */
.advisorHeroPro{background:linear-gradient(135deg,rgba(124,58,237,.16),rgba(6,182,212,.09) 55%,rgba(34,197,94,.06));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 55px rgba(0,0,0,.25)}
.advisorHeroPro h2{color:var(--text)}.advisorHeroPro p{color:var(--muted)}
.compactHeroStats .heroBadge{background:rgba(255,255,255,.055);color:var(--text);border-color:rgba(255,255,255,.11)}
.kpiRow .metricCard{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-color:rgba(255,255,255,.1)}
.kpiRow .metricCard:before{content:"";position:absolute;inset:auto -25px -38px auto;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.16),transparent 68%)}
.kpiRow .metricCard span,.kpiRow .metricCard small{color:var(--muted2)}.kpiRow .metricCard strong{color:#fff}
.advisorQuickActions .quickActionCard{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.105);color:var(--text);box-shadow:none}.advisorQuickActions .quickActionCard:hover{background:rgba(255,255,255,.075);border-color:rgba(6,182,212,.35)}.advisorQuickActions .quickActionCard small{color:var(--muted2)}
.analyticsFilterBar{border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.035);padding:12px 14px}.analyticsFilterForm{display:grid;grid-template-columns:minmax(170px,1.3fr) repeat(2,minmax(140px,1fr)) auto auto;align-items:end;gap:10px}.analyticsFilterForm .field{margin:0}.analyticsQuickRanges{display:flex;gap:6px;align-items:center}.analyticsQuickRanges .btn{min-width:52px}
.smartInsightSection{margin-top:14px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.035)}.smartInsightSection .sectionHead{margin-bottom:12px}.smartInsightSection h3{margin:0}.smartInsightSection p{margin:2px 0 0}.smartInsightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.smartInsightCard{display:grid;grid-template-columns:6px 1fr;gap:10px;min-height:92px;padding:12px;border-radius:16px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035)}.smartInsightCard>span{border-radius:999px;background:#38bdf8}.smartInsightCard strong{display:block;color:var(--text);font-size:10.5px}.smartInsightCard p{margin:5px 0 0;color:var(--muted);font-size:8.5px;line-height:1.9}.smartInsightCard.success>span{background:#22c55e}.smartInsightCard.warning>span{background:#f59e0b}.smartInsightCard.danger>span{background:#ef4444}.smartInsightCard.info>span{background:#06b6d4}
.miniListStatus article{background:rgba(255,255,255,.04);color:var(--muted);border:1px solid rgba(255,255,255,.07)}.miniListStatus article strong{color:var(--text)}.studentAnalysisHeader>div{border-color:rgba(255,255,255,.09);background:rgba(255,255,255,.04)}.studentAnalysisHeader span{color:var(--muted2)}.studentAnalysisHeader strong{color:var(--text)}
.studyHeatmap{display:grid;grid-template-columns:minmax(90px,.8fr) repeat(3,minmax(120px,1fr));gap:8px;margin-top:12px}.heatmapCorner,.heatmapHeader,.heatmapDay,.heatmapCell{min-height:58px;border-radius:14px;border:1px solid rgba(255,255,255,.08);display:grid;place-items:center;text-align:center;padding:8px}.heatmapCorner,.heatmapHeader{min-height:42px;background:rgba(255,255,255,.055);color:var(--muted);font-size:9px;font-weight:900}.heatmapDay{background:rgba(255,255,255,.035);color:var(--text);font-weight:900;font-size:9.5px}.heatmapCell{background:linear-gradient(145deg,rgba(6,182,212,calc(var(--heat) * .65)),rgba(124,58,237,calc(var(--heat) * .45)));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.heatmapCell strong{display:block;color:#fff;font-size:12px}.heatmapCell small{display:block;color:rgba(255,255,255,.72);font-size:7.5px;margin-top:2px}
.gradeScopePlannerBox{background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(6,182,212,.04));border-color:rgba(255,255,255,.1)}.gradeScopeHead span,.gradeScopeHead small{color:var(--muted2)}.gradeScopeHead strong{color:var(--text)}.gradeScopeChip{border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.04);color:var(--muted)}.gradeScopeChip.active{border-color:rgba(6,182,212,.45);background:rgba(6,182,212,.13);color:#a5f3fc;box-shadow:0 0 0 3px rgba(6,182,212,.08)}.gradeScopeInlineNote{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.035)}.gradeScopeInlineNote span{color:var(--muted2)}.gradeScopeInlineNote strong{color:var(--text)}
.curriculumBrowserTools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.curriculumGradeTabs{display:flex;gap:6px;flex-wrap:wrap}.curriculumGradeTabs button{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:var(--muted);border-radius:999px;padding:7px 10px;cursor:pointer;font-weight:900;font-size:8px}.curriculumGradeTabs button.active{background:rgba(6,182,212,.13);border-color:rgba(6,182,212,.4);color:#a5f3fc}.curriculumGradeDivider{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;margin:8px 0 2px;border-radius:14px;background:linear-gradient(90deg,rgba(124,58,237,.16),rgba(6,182,212,.08));border:1px solid rgba(255,255,255,.08)}.curriculumGradeDivider strong{font-size:11px;color:#fff}.curriculumGradeDivider span{font-size:8px;color:var(--muted)}#curriculumSelectedOnly.active{border-color:rgba(6,182,212,.45);background:rgba(6,182,212,.12);color:#a5f3fc}
@media(max-width:1180px){.analyticsFilterForm{grid-template-columns:repeat(2,minmax(0,1fr))}.smartInsightGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.analyticsQuickRanges{grid-column:1/-1}.studyHeatmap{grid-template-columns:minmax(80px,.7fr) repeat(3,minmax(100px,1fr))}}
@media(max-width:720px){.analyticsFilterForm{grid-template-columns:1fr}.smartInsightGrid{grid-template-columns:1fr}.studyHeatmap{grid-template-columns:72px repeat(3,minmax(82px,1fr));overflow-x:auto}.heatmapCorner,.heatmapHeader,.heatmapDay,.heatmapCell{min-height:50px;padding:6px}.curriculumBrowserTools{justify-content:flex-start}.curriculumGradeTabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.curriculumGradeTabs button{white-space:nowrap}}

/* ===============================
   V30 | مرکز هوشمند مشاور و ارائه‌دهنده عمومی AI
=============================== */
.aiCommandHero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;border:1px solid #d8e3f0;border-radius:26px;background:linear-gradient(135deg,#f8fbff 0%,#fff 52%,#f5fffb 100%);box-shadow:0 18px 42px rgba(15,23,42,.065)}
.aiCommandHero h2{margin:5px 0 7px;color:#101828;font-size:19px}.aiCommandHero p{margin:0;max-width:790px;color:#667085;font-size:9.5px;line-height:1.95}
.aiLiveState{display:grid;grid-template-columns:11px auto;align-items:center;gap:3px 8px;min-width:170px;padding:12px 14px;border:1px solid #d0d5dd;border-radius:18px;background:#fff}.aiLiveState i{grid-row:1/3;width:11px;height:11px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 5px rgba(152,162,179,.12)}.aiLiveState.online i{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.12)}.aiLiveState strong{font-size:10px;color:#101828}.aiLiveState span{font-size:8px;color:#667085;direction:ltr;text-align:right}
.aiUsageRow{margin-top:16px}.aiUsageRow .metricCard small{display:block;margin-top:4px;color:#98a2b3;font-size:7.6px}
.aiMainGrid{align-items:stretch}.aiChatStudio,.aiResultStudio{min-height:590px}.aiChatControls{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1fr);gap:10px;margin-bottom:12px}.aiChatControls label{display:grid;gap:5px}.aiChatControls label>span{font-size:8px;color:#667085}.aiChatControls select{min-height:40px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;padding:6px 10px;font-family:inherit}
.aiSensitiveToggle{display:flex!important;align-items:center;gap:8px;padding:9px 11px;border:1px solid #fedf89;border-radius:13px;background:#fffaeb}.aiSensitiveToggle input{width:17px;height:17px}.aiSensitiveToggle span{display:grid}.aiSensitiveToggle strong{font-size:8.8px;color:#93370d}.aiSensitiveToggle small{font-size:7.4px;color:#b54708;line-height:1.7}
.aiConversation{display:flex;flex-direction:column;gap:10px;min-height:310px;max-height:390px;overflow:auto;padding:13px;border:1px solid #e4e7ec;border-radius:18px;background:linear-gradient(180deg,#f8fafc,#fff);scroll-behavior:smooth}.aiBubble{max-width:86%;padding:11px 13px;border-radius:16px;background:#fff;border:1px solid #e4e7ec;box-shadow:0 4px 14px rgba(15,23,42,.04)}.aiBubble.user{align-self:flex-start;background:#eff8ff;border-color:#b2ddff}.aiBubble.assistant{align-self:flex-end;background:#f6fef9;border-color:#abefc6}.aiBubble.pending{opacity:.75;animation:aiPulse 1.2s ease-in-out infinite}.aiBubble span{display:block;margin-bottom:3px;font-size:7px;font-weight:900;color:#667085}.aiBubble p{margin:0;white-space:pre-wrap;color:#1d2939;font-size:9.2px;line-height:1.9}@keyframes aiPulse{50%{opacity:.45}}
.aiComposer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:11px}.aiComposer textarea{min-height:80px;resize:vertical;border:1px solid #d0d5dd;border-radius:15px;padding:11px 12px;font-family:inherit;font-size:9px;line-height:1.8}.aiComposer .btn{align-self:end;min-height:42px}
.aiProposedAction{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding:11px 13px;border:1px solid #b2ddff;border-radius:14px;background:#eff8ff}.aiProposedAction div:first-child{display:grid;gap:3px}.aiProposedAction strong{font-size:9px;color:#175cd3}.aiProposedAction span{font-size:8px;color:#344054}.aiProposedAction div:last-child{display:flex;gap:6px}
.aiResultMeta{padding:9px 11px;border-radius:12px;background:#f8fafc;color:#667085;font-size:8px}.aiResultText{min-height:420px;max-height:510px;overflow:auto;margin:10px 0 0;padding:15px 16px;border:1px solid #e4e7ec;border-radius:18px;background:#fff;color:#1d2939;font-family:Vazirmatn,system-ui;white-space:pre-wrap;line-height:2;font-size:9.2px;direction:rtl;text-align:right}
.aiStudentPolicyGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.aiStudentPolicyCard{display:grid;gap:11px;padding:15px;border:1px solid #dce5ef;border-radius:20px;background:#fff;box-shadow:0 6px 18px rgba(15,23,42,.04)}.aiStudentPolicyCard.warning{border-color:#fedf89;background:#fffcf5}.aiStudentPolicyCard.locked{border-color:#fda29b;background:#fff8f7}.aiStudentPolicyHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.aiStudentPolicyHead div{display:grid;gap:3px}.aiStudentPolicyHead strong{font-size:11px;color:#101828}.aiStudentPolicyHead span{font-size:7.8px;color:#667085}.aiStudentPolicyHead em{font-style:normal;font-size:7.5px;font-weight:900;color:#027a48;background:#ecfdf3;padding:5px 7px;border-radius:999px}.warning .aiStudentPolicyHead em{color:#b54708;background:#fffaeb}.locked .aiStudentPolicyHead em{color:#b42318;background:#fef3f2}
.aiStudentPolicyStats{display:flex;flex-wrap:wrap;gap:6px 12px;padding:9px 10px;border-radius:13px;background:#f8fafc}.aiStudentPolicyStats span{font-size:7.7px;color:#667085}.aiStudentPolicyStats b{color:#344054}.aiPolicyControls{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;gap:8px;align-items:end}.aiPolicyControls label{display:grid;gap:4px}.aiPolicyControls label>span{font-size:7px;color:#667085}.aiPolicyControls select{min-height:34px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;padding:4px 8px;font-family:inherit;font-size:8px}.miniCheck{display:flex!important;align-items:center;gap:6px;min-height:34px;padding:6px 8px;border:1px solid #e4e7ec;border-radius:10px;background:#fff}.miniCheck input{width:15px;height:15px}.aiStudentButtons{display:flex;flex-wrap:wrap}.aiStudentButtons .btn{flex:1 1 auto}.btn.success{border-color:#6ce9a6;background:#ecfdf3;color:#027a48}
.aiArtifactGrid{display:grid;gap:8px}.aiArtifactGrid article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:14px;background:#fff}.aiArtifactGrid article>div{display:grid;gap:3px}.aiArtifactGrid strong{font-size:9px;color:#101828}.aiArtifactGrid span{font-size:7.5px;color:#667085;direction:rtl}.aiStudentQuickGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.aiStudentQuickGrid article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid #dce5ef;border-radius:16px;background:#fff}.aiStudentQuickGrid article>div{display:grid;gap:3px}.aiStudentQuickGrid strong{font-size:9.5px;color:#101828}.aiStudentQuickGrid span{font-size:7.5px;color:#667085}
.aiGlowBtn{border-color:#c7d7fe!important;background:linear-gradient(135deg,#eef4ff,#f4f3ff)!important;color:#3538cd!important;box-shadow:0 0 0 3px rgba(97,114,243,.08)}.aiPlanReviewOutput{white-space:pre-wrap;padding:14px 15px;border:1px solid #c7d7fe;border-radius:17px;background:#f5f8ff;color:#344054;font-size:8.7px;line-height:1.95;max-height:360px;overflow:auto}
.aiLockedPanel{max-width:720px;margin:40px auto;text-align:center;padding:34px}.aiLockedIcon{font-size:48px}.aiLockedPanel h2{margin:8px 0;color:#101828}.aiLockedPanel p{color:#667085;line-height:2}.aiLockedReason{display:grid;gap:5px;margin:18px 0;padding:15px;border:1px solid #fedf89;border-radius:16px;background:#fffaeb}.aiLockedReason span{font-size:8px;color:#b54708}.aiLockedReason strong{font-size:10px;color:#7a2e0e}.aiLockedMeta{font-size:8px;color:#667085}
@media(max-width:1180px){.aiStudentPolicyGrid{grid-template-columns:1fr}.aiStudentQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.aiMainGrid{grid-template-columns:1fr}.aiChatStudio,.aiResultStudio{min-height:auto}}
@media(max-width:720px){.aiCommandHero{display:grid;padding:16px;border-radius:20px}.aiLiveState{width:100%}.aiChatControls{grid-template-columns:1fr}.aiComposer{grid-template-columns:1fr}.aiProposedAction{display:grid}.aiPolicyControls{grid-template-columns:1fr}.aiStudentQuickGrid{grid-template-columns:1fr}.aiStudentPolicyHead{display:grid}.aiResultText{min-height:320px}.aiChatStudio,.aiResultStudio{min-height:auto}}

/* ===============================
   V24 | Phase 2 AI student center and knowledge bank
=============================== */
.phase2Hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid #d9e5f2;border-radius:28px;background:linear-gradient(135deg,#f7fbff 0%,#fff 54%,#f6fffb 100%);box-shadow:0 18px 42px rgba(15,23,42,.07)}
.phase2Hero h2{margin:5px 0 8px;font-size:20px;color:#101828}.phase2Hero p{margin:0;max-width:880px;color:#667085;font-size:10px;line-height:2}.phase2Eyebrow{font-size:8px;font-weight:900;color:#175cd3;letter-spacing:.5px}.phase2LiveState{display:grid;place-items:center;min-width:150px;padding:16px;border:1px solid #d0d5dd;border-radius:20px;background:#fff}.phase2LiveState i{width:12px;height:12px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 6px rgba(245,158,11,.12)}.phase2LiveState.online i{background:#10b981;box-shadow:0 0 0 6px rgba(16,185,129,.12)}.phase2LiveState strong{margin-top:10px;font-size:10px;color:#101828}.phase2LiveState span{font-size:8px;color:#667085}.phase2SideStatus{display:grid;gap:4px}.phase2SideStatus span,.phase2SideStatus small{font-size:8px;color:#98a2b3}.phase2SideStatus strong{font-size:15px;color:#fff}.phase2KpiRow{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px}.riskText.low{color:#12b76a}.riskText.medium{color:#f79009}.riskText.high,.riskText.critical{color:#f04438}
.phase2MainGrid{align-items:start}.studentAiChatCard{min-height:690px}.studentAiModes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.studentAiModes button{border:1px solid #d0d5dd;background:#fff;color:#475467;border-radius:999px;padding:8px 11px;font-size:8.5px;font-weight:900;cursor:pointer}.studentAiModes button.active{background:#eff8ff;border-color:#84adff;color:#175cd3}.studentAiFilters{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.studentAiFilters label{display:grid;gap:4px}.studentAiFilters span{font-size:8px;color:#667085}.studentAiConversation{height:430px;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #dce5ef;border-radius:20px;background:#f8fafc}.studentAiBubble{max-width:88%;padding:11px 13px;border-radius:16px;background:#fff;border:1px solid #e4e7ec;box-shadow:0 4px 12px rgba(15,23,42,.04)}.studentAiBubble.user{align-self:flex-start;background:#eff8ff;border-color:#b2ddff}.studentAiBubble.assistant{align-self:flex-end}.studentAiBubble.pending{opacity:.75}.studentAiBubble span{display:block;font-size:7px;color:#667085}.studentAiBubble p{margin:5px 0 0;font-size:9.5px;line-height:1.95;color:#1d2939;white-space:normal}.studentAiComposer{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.studentAiComposer textarea{min-height:86px}.studentAiComposer .btn{align-self:stretch}.studentSourcePanel{margin-top:12px;padding:12px;border:1px solid #d1e9ff;border-radius:18px;background:#f5fbff;display:grid;gap:9px}.studentSourceTitle{font-size:9px;font-weight:900;color:#175cd3}.studentSourcePanel article{padding:10px;border:1px solid #dbe7f3;border-radius:13px;background:#fff}.studentSourcePanel article strong,.studentSourcePanel article span{display:block}.studentSourcePanel article strong{font-size:9px;color:#101828}.studentSourcePanel article span,.studentSourcePanel article small{font-size:7.5px;color:#667085}.studentSourcePanel article p{margin:5px 0;font-size:8px;color:#344054}.studentPrerequisiteBlock{padding:10px;border-radius:13px;background:#f4f3ff;color:#5925dc}.studentPrerequisiteBlock strong{font-size:8.5px}.studentPrerequisiteBlock p{margin:5px 0;font-size:8px;line-height:1.7}
.phase2SideStack{display:grid;gap:14px}.riskCard{border-top:4px solid #12b76a}.riskCard.medium{border-top-color:#f79009}.riskCard.high,.riskCard.critical{border-top-color:#f04438}.riskGauge{height:8px;border-radius:999px;background:#eaecf0;overflow:hidden}.riskGauge i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#12b76a,#f79009,#f04438)}.riskFactorList{display:grid;gap:8px;margin-top:12px}.riskFactorList article{display:flex;justify-content:space-between;gap:10px;padding:9px;border-radius:12px;background:#f8fafc}.riskFactorList strong{font-size:8.5px;color:#344054}.riskFactorList span{font-size:7.5px;color:#667085}.riskRecommendations{margin-top:10px;padding:10px;border-radius:13px;background:#fffaeb}.riskRecommendations p{margin:3px 0;font-size:8px;color:#b54708;line-height:1.7}.reviewMiniList{display:grid;gap:8px}.reviewMiniList article{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e4e7ec;border-radius:13px}.reviewMiniList strong,.reviewMiniList span{display:block}.reviewMiniList strong{font-size:9px;color:#101828}.reviewMiniList span{font-size:7.5px;color:#667085}.reviewMiniList em{font-size:7.5px;color:#6941c6;font-style:normal;white-space:nowrap}
.activePlanStrip{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px;border:1px solid #d1e9ff;border-radius:15px;background:#f5fbff}.activePlanStrip span,.activePlanStrip strong{display:block}.activePlanStrip span{font-size:7.5px;color:#667085}.activePlanStrip strong{font-size:10px;color:#101828}.planChangeForm{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.planChangeForm textarea{min-height:110px}.planChangeProposal{margin-top:12px;padding:13px;border:1px solid #d0d5dd;border-radius:16px;background:#fff;color:#344054}.planChangeProposal.loading{background:#f8fbff;color:#175cd3}.planChangeProposal.error{background:#fff5f5;border-color:#fda29b;color:#b42318}.planChangeProposal.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.planChangeProposal p{font-size:8.5px;line-height:1.9}.changeHistory{display:grid;gap:8px;margin-top:14px}.changeHistory article{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid #e4e7ec;border-radius:13px}.changeHistory strong,.changeHistory span{display:block}.changeHistory strong{font-size:8.5px;color:#101828}.changeHistory span{font-size:7.5px;color:#667085}.changeStatus{font-size:7.5px;font-style:normal;padding:5px 7px;border-radius:999px;background:#fffaeb;color:#b54708;white-space:nowrap}.changeStatus.applied{background:#ecfdf3;color:#067647}.changeStatus.rejected{background:#f2f4f7;color:#475467}.forecastSummary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.forecastSummary>div{padding:11px;border:1px solid #e4e7ec;border-radius:14px;background:#f8fafc}.forecastSummary span,.forecastSummary strong{display:block}.forecastSummary span{font-size:7.5px;color:#667085}.forecastSummary strong{margin-top:4px;font-size:10px;color:#101828}
.knowledgeHeroStats{display:grid;grid-template-columns:auto auto;gap:6px 10px;align-items:center}.knowledgeHeroStats strong{font-size:18px;color:#101828}.knowledgeHeroStats span{font-size:8px;color:#667085}.knowledgeGrid{align-items:start}.knowledgeForm textarea{min-height:170px}.knowledgeNotice{margin-top:14px;padding:11px;border:1px solid #fedf89;border-radius:14px;background:#fffaeb;color:#b54708}.knowledgeNotice strong,.knowledgeNotice span{display:block}.knowledgeNotice strong{font-size:8.5px}.knowledgeNotice span{margin-top:4px;font-size:8px;line-height:1.8}.knowledgeSourceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.knowledgeSourceCard{padding:14px;border:1px solid #dce5ef;border-radius:18px;background:#fff;display:grid;gap:9px}.knowledgeSourceCard.official{border-top:4px solid #12b76a}.knowledgeSourceCard.manual{border-top:4px solid #2e90fa}.knowledgeSourceHead{display:flex;justify-content:space-between;gap:10px}.knowledgeSourceHead strong,.knowledgeSourceHead span{display:block}.knowledgeSourceHead strong{font-size:9.5px;color:#101828}.knowledgeSourceHead span{font-size:7.5px;color:#667085}.knowledgeSourceHead em{font-size:7px;font-style:normal;padding:5px 7px;border-radius:999px;background:#f2f4f7;color:#475467;white-space:nowrap}.knowledgeSourceCard p{margin:0;font-size:8px;color:#475467;line-height:1.8}.knowledgeSourceMeta{display:flex;gap:6px;flex-wrap:wrap}.knowledgeSourceMeta span{font-size:7px;padding:4px 6px;border-radius:999px;background:#f8fafc;color:#667085}.knowledgeSourceCard .rowActions{justify-content:space-between}.knowledgeSourceCard .rowActions small{font-size:7px;color:#98a2b3}
.studentAiLaunch{position:fixed;left:18px;bottom:18px;z-index:1000;display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;text-decoration:none;font-weight:900;box-shadow:0 16px 36px rgba(6,182,212,.28)}
@media(max-width:1180px){.phase2KpiRow{grid-template-columns:repeat(3,minmax(0,1fr))}.knowledgeSourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.phase2Hero{display:grid;padding:16px}.phase2LiveState{min-width:0}.phase2KpiRow{grid-template-columns:repeat(2,minmax(0,1fr))}.studentAiFilters,.studentAiComposer,.planChangeForm{grid-template-columns:1fr}.studentAiConversation{height:390px}.forecastSummary{grid-template-columns:1fr}.knowledgeSourceGrid{grid-template-columns:1fr}.studentAiLaunch{left:12px;bottom:12px;font-size:12px}}

/* ===== v25.css ===== */
/* =========================================================
   V25 — Mobile-first premium UI
   ========================================================= */
.v25-ui{
  --bg:#f4f7fb;
  --surface:#ffffff;
  --surface-soft:#f8fafc;
  --surface-blue:#f2f7ff;
  --line:#e6ebf2;
  --line-strong:#d8e0ea;
  --ink:#162033;
  --ink-soft:#344054;
  --muted-v25:#667085;
  --primary:#3157d5;
  --primary-dark:#2447bd;
  --primary-soft:#edf2ff;
  --accent:#0da6a6;
  --success-v25:#139b67;
  --warning-v25:#dc8618;
  --danger-v25:#d9485f;
  --shadow-v25:0 10px 30px rgba(29,41,57,.07);
  --shadow-hover:0 16px 42px rgba(29,41,57,.11);
  background:var(--bg)!important;
  color:var(--ink)!important;
  min-height:100vh;
  -webkit-tap-highlight-color:transparent;
}
.v25-ui::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(700px 400px at 100% 0%,rgba(49,87,213,.08),transparent 65%),
    radial-gradient(560px 360px at 0% 100%,rgba(13,166,166,.07),transparent 70%);
}
.v25-ui *{scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.v25-ui ::selection{background:#dbe7ff;color:#183b9c}
.v25-ui a{color:inherit}
.v25-ui .muted,.v25-ui .small,.v25-ui .empty-state,.v25-ui .empty-cell,.v25-ui .analysisText,.v25-ui .planPreview{color:var(--muted-v25)}

/* Shell */
.v25-ui .app-shell{max-width:1880px;grid-template-columns:284px minmax(0,1fr);gap:18px;padding:18px;min-height:100vh}
.v25-ui .side,.v25-ui .main{
  background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:26px;
  box-shadow:var(--shadow-v25);backdrop-filter:blur(18px);color:var(--ink);
}
.v25-ui .side{position:sticky;top:18px;height:calc(100vh - 36px)}
.v25-ui .sideTop{padding:18px 16px;border-bottom:1px solid var(--line)}
.v25-ui .sideBody{padding:14px 12px 16px;gap:14px}
.v25-ui .main{min-width:0}
.v25-ui .mainTop{position:sticky;top:0;z-index:30;padding:16px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.9);backdrop-filter:blur(18px)}
.v25-ui .mainBody{padding:20px 22px 28px;gap:16px;overflow-x:hidden}
.v25-ui .pageTitleWrap h1{margin:0;color:var(--ink);font-size:20px;line-height:1.3}
.v25-ui .pageSubtitle{display:block;margin-top:3px;color:#98a2b3;font-size:11px}
.v25-ui .topActions{justify-content:flex-end}

/* Branding & user */
.v25-ui .logo{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#3157d5,#0da6a6);box-shadow:0 10px 22px rgba(49,87,213,.2);border:0;color:#fff}
.v25-ui .logo span{font-size:20px;font-weight:900}
.v25-ui .brandText b{color:var(--ink);font-size:13px}.v25-ui .brandText span{color:#98a2b3;font-size:9px}
.profileBoxV25{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);background:var(--surface-soft);border-radius:17px}
.profileAvatar,.mobileUserMini{display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#e8edff,#dff8f7);color:#2447bd;font-weight:900}
.profileAvatar{width:42px;height:42px}.profileIdentity{min-width:0}.profileIdentity strong,.profileIdentity span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profileIdentity strong{font-size:10.5px;color:var(--ink)}.profileIdentity span{font-size:8px;color:#98a2b3}.profileBoxV25 em{font-style:normal;font-size:7.5px;font-weight:800;color:#3157d5;background:#edf2ff;border:1px solid #d7e1ff;border-radius:999px;padding:5px 7px}
.sidebarDateCard{display:grid;gap:2px;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:#fbfcfe}.sidebarDateCard span,.sidebarDateCard small{font-size:8px;color:#98a2b3}.sidebarDateCard strong{font-size:10px;color:var(--ink)}

/* Navigation */
.v25-ui .sidebarNavigation{display:grid;gap:14px}.v25-ui .navGroup{gap:5px}.v25-ui .navGroupTitle{padding:0 9px 4px;font-size:8px;letter-spacing:.2px;color:#98a2b3}
.v25-ui .navBtn{min-height:45px;padding:9px 11px;border:1px solid transparent;border-radius:13px;background:transparent;color:#475467;box-shadow:none;font-size:10px;transition:.16s ease}
.v25-ui .navBtn:hover{transform:none;background:#f7f9fc;border-color:var(--line)}
.v25-ui .navBtn.active{color:#2447bd;background:var(--primary-soft);border-color:#d8e2ff;box-shadow:none}
.v25-ui .navBtn.smartNav{color:#6b35c7;background:#f7f2ff}.v25-ui .navBtn small{font-size:7.5px;color:#98a2b3}.v25-ui .navBtnDanger{margin-top:auto;color:#b42318;background:#fff5f4;border-color:#fee4e2}
.v25-ui .topChip,.v25-ui .badge,.v25-ui .heroBadge,.v25-ui .codeBox{padding:7px 10px;border:1px solid var(--line);background:#fff;color:#475467;font-size:9px;box-shadow:none}.v25-ui .topChipAccent{color:#6b35c7;background:#f7f2ff;border-color:#e8d7ff}

/* Generic cards */
.v25-ui .glassBox,.v25-ui .contentCard,.v25-ui .metricCard,.v25-ui .heroPanel,.v25-ui .exportCard,.v25-ui .exportSummaryCard,.v25-ui .dayCard,.v25-ui .memoryCard,.v25-ui .stackCard,.v25-ui .alertRow{
  background:var(--surface);border:1px solid var(--line);box-shadow:0 5px 18px rgba(29,41,57,.045);color:var(--ink);border-radius:20px
}
.v25-ui .contentCard{padding:18px}.v25-ui .metricCard{padding:15px 16px}.v25-ui .metricCard span{font-size:9px;color:#98a2b3;margin-bottom:7px}.v25-ui .metricCard strong{font-size:21px;color:var(--ink)}.v25-ui .metricCard small{display:block;margin-top:4px;font-size:8px;color:#98a2b3}
.v25-ui .sectionHead{margin-bottom:14px}.v25-ui .sectionHead h3{font-size:13px;color:var(--ink)}.v25-ui .sectionHead p{margin:3px 0 0;font-size:8.5px;line-height:1.7}.v25-ui .contentGrid{gap:14px}.v25-ui .statsRow{gap:12px}
.v25-ui .heroPanel{padding:20px}.v25-ui .heroPanel h2{font-size:18px;color:var(--ink)}.v25-ui .heroPanel p{font-size:9.5px;line-height:1.9}
.v25-ui .btn{min-height:42px;padding:9px 14px;border-radius:13px;border:1px solid var(--line-strong);background:#fff;color:#344054;box-shadow:none;font-size:9.5px}
.v25-ui .btn:hover{transform:none;border-color:#b8c5d6;background:#f9fafb}.v25-ui .btn.primary{background:linear-gradient(135deg,#3157d5,#2447bd);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(49,87,213,.18)}.v25-ui .btn.danger{background:#fff4f4;border-color:#fecaca;color:#b42318}.v25-ui .btn.success{background:#ecfdf3;border-color:#abefc6;color:#067647}.v25-ui .btn-sm{min-height:34px;padding:7px 10px;font-size:8px}
.v25-ui .field label{font-size:9px;color:#667085}.v25-ui .field input,.v25-ui .field textarea,.v25-ui .field select,.v25-ui input,.v25-ui textarea,.v25-ui select{background:#fff;color:var(--ink);border-color:var(--line-strong);border-radius:12px;min-height:43px;padding:10px 12px;font-size:10px}.v25-ui textarea{line-height:1.8}.v25-ui input::placeholder,.v25-ui textarea::placeholder{color:#aab2bf}.v25-ui .field input:focus,.v25-ui .field textarea:focus,.v25-ui .field select:focus{border-color:#8fa7ef;box-shadow:0 0 0 4px rgba(49,87,213,.09)}
.v25-ui .inputWithUnit{background:#fff;border-color:var(--line-strong);border-radius:12px}.v25-ui .inputWithUnit input{border:0}.v25-ui .inputWithUnit span{color:#667085;border-color:var(--line);font-size:9px}
.v25-ui .chartWrap{min-height:280px}.v25-ui canvas{max-width:100%}
.v25-ui .tableWrap{border:1px solid var(--line);border-radius:16px;background:#fff}.v25-ui th,.v25-ui td{padding:11px;border-bottom:1px solid #edf0f4;color:#475467;font-size:9px}.v25-ui thead th{color:#667085;background:#f8fafc}
.v25-ui .flash{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;border-radius:14px;color:#344054;font-size:9px}.v25-ui .flash button{border:0;background:none;color:inherit;font-size:18px;cursor:pointer}

/* Mobile frame */
.mobileAppHeader,.mobileBottomNav{display:none}

/* Student dashboard */
.studentWelcomeHero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;align-items:center;padding:26px;border:1px solid #dbe5fb;border-radius:26px;background:linear-gradient(135deg,#f7f9ff 0%,#fff 52%,#effafa 100%);box-shadow:var(--shadow-v25)}
.studentWelcomeHero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;left:-120px;top:-140px;background:rgba(49,87,213,.07)}
.welcomeKicker{font-size:10px;font-weight:800;color:#3157d5}.studentWelcomeCopy h2{margin:5px 0 8px;font-size:23px;color:var(--ink)}.studentWelcomeCopy p{margin:0;max-width:760px;color:#667085;font-size:10px;line-height:2}.welcomeActions{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}.softAi{color:#6b35c7!important;background:#f7f2ff!important;border-color:#e4d4ff!important}
.studentRiskOrb{position:relative;display:grid;place-items:center;align-content:center;min-height:172px;border-radius:24px;border:1px solid #e0e6f0;background:#fff}.studentRiskOrb span{font-size:8px;color:#98a2b3}.studentRiskOrb strong{margin-top:5px;font-size:17px}.studentRiskOrb em{margin-top:2px;font-style:normal;font-size:8px;color:#667085}.studentRiskOrb i{position:absolute;inset:12px;border-radius:19px;border:5px solid #eef2f6;border-top-color:#3157d5;opacity:.75}.studentRiskOrb.risk-high i,.studentRiskOrb.risk-critical i{border-top-color:#d9485f}.studentRiskOrb.risk-medium i{border-top-color:#dc8618}.studentRiskOrb.risk-low i{border-top-color:#139b67}
.studentKpiGrid{margin-top:14px}.studentQuickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:2px}.studentQuickGrid>a,.studentQuickGrid>button{display:flex;align-items:center;gap:10px;min-height:68px;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--ink);text-align:right;cursor:pointer;box-shadow:0 4px 14px rgba(29,41,57,.04)}.studentQuickGrid>*>span{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#eef3ff;color:#3157d5;font-size:18px;flex:0 0 auto}.studentQuickGrid strong,.studentQuickGrid small{display:block}.studentQuickGrid strong{font-size:9.5px}.studentQuickGrid small{margin-top:3px;font-size:7.5px;color:#98a2b3}
.studentOverviewGrid{align-items:stretch}.studentTrendCard,.nextStepCard{min-height:390px}.mobileChart{min-height:300px}.nextReviewFeatured{padding:15px;border-radius:17px;background:linear-gradient(135deg,#edf3ff,#f6f8ff);border:1px solid #d8e3ff}.nextReviewFeatured.clean{background:#f4fbf8;border-color:#d9f0e5}.nextReviewFeatured span,.nextReviewFeatured strong,.nextReviewFeatured p{display:block}.nextReviewFeatured span{font-size:8px;color:#3157d5}.nextReviewFeatured strong{margin-top:5px;font-size:14px}.nextReviewFeatured p{margin:4px 0 10px;font-size:9px;color:#667085;line-height:1.7}.nextReviewFeatured>div{display:flex;gap:7px;flex-wrap:wrap}.nextReviewFeatured em{font-style:normal;padding:5px 7px;border-radius:999px;background:#fff;color:#475467;font-size:7.5px}.microInsight{margin-top:12px;padding:13px;border-radius:16px;background:#fafbfc;border:1px solid var(--line)}.microInsight span{font-size:8px;font-weight:800;color:#0a8b83}.microInsight p{margin:5px 0 0;font-size:8.5px;color:#667085;line-height:1.9}
.linkButton{border:0;background:transparent;color:#3157d5;font-size:8.5px;font-weight:800;cursor:pointer}.featuredPlan{display:grid;gap:14px}.featuredPlanTop{display:flex;justify-content:space-between;gap:12px}.featuredPlanTop span,.featuredPlanTop strong,.featuredPlanTop small{display:block}.featuredPlanTop span{font-size:8px;color:#3157d5}.featuredPlanTop strong{margin-top:4px;font-size:13px}.featuredPlanTop small{margin-top:4px;font-size:7.5px;color:#98a2b3}.featuredPlanTop em{font-style:normal;font-size:12px;font-weight:900;color:#3157d5;padding:8px 10px;border-radius:13px;background:#edf2ff;height:max-content}.planProgressMeta{display:flex;gap:7px;flex-wrap:wrap}.planProgressMeta span{padding:6px 8px;border-radius:999px;background:#f6f8fb;color:#667085;font-size:7.5px}
.activityTimeline{display:grid;gap:8px}.activityTimeline article{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #eff1f4}.activityTimeline article:last-child{border-bottom:0}.activityTimeline i{width:8px;height:8px;border-radius:50%;background:#3157d5;box-shadow:0 0 0 5px #edf2ff}.activityTimeline strong,.activityTimeline span{display:block}.activityTimeline strong{font-size:9px}.activityTimeline span{font-size:7.5px;color:#98a2b3}.activityTimeline em{font-style:normal;text-align:left;font-size:7.5px;color:#667085;line-height:1.7}
.compactPageHero{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 23px;border:1px solid #dfe6f0;border-radius:23px;background:linear-gradient(135deg,#f8faff,#fff)}.compactPageHero>div>span{font-size:8px;color:#3157d5;font-weight:800}.compactPageHero h2{margin:4px 0 6px;font-size:18px}.compactPageHero p{margin:0;color:#667085;font-size:9px;line-height:1.9}.compactHeroIcon{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:linear-gradient(145deg,#3157d5,#0da6a6);color:#fff;font-size:27px;box-shadow:0 10px 22px rgba(49,87,213,.18)}
.entryStudioGrid{align-items:start}.entryFormCard{padding:20px}.largeAction{min-height:48px}.todayGuideCard{position:sticky;top:92px}.cleanTipList{display:grid;gap:10px}.cleanTipList article{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.cleanTipList article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#edf2ff;color:#3157d5;font-weight:900}.cleanTipList strong{font-size:9px}.cleanTipList p{margin:3px 0 0;font-size:8px;color:#667085;line-height:1.75}.softAiBanner{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;border-radius:15px;background:#f7f2ff;border:1px solid #e7d8ff}.softAiBanner>span{font-size:20px;color:#6b35c7}.softAiBanner strong,.softAiBanner small{display:block}.softAiBanner strong{font-size:9px}.softAiBanner small{font-size:7.5px;color:#8664bd}
.studentPlanGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.studentPlanCard{display:grid;gap:13px;padding:16px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 6px 18px rgba(29,41,57,.05)}.studentPlanCardHead{display:flex;justify-content:space-between;gap:10px}.studentPlanCardHead span,.studentPlanCardHead strong{display:block}.studentPlanCardHead span{font-size:7.5px;color:#98a2b3}.studentPlanCardHead strong{margin-top:4px;font-size:11px}.studentPlanCardHead em{font-style:normal;font-size:10px;font-weight:900;color:#3157d5}.studentPlanStats,.studentPlanPreview{display:flex;gap:6px;flex-wrap:wrap}.studentPlanStats span{font-size:7px;padding:5px 7px;background:#f7f8fa;border-radius:999px;color:#667085}.studentPlanPreview{display:grid;gap:5px}.studentPlanPreview span{font-size:8px;color:#475467;padding:7px 9px;border-radius:10px;background:#fafbfc}.fullWidthEmpty{grid-column:1/-1}
.reportFilterCard{padding:17px}.reportExportActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.responsiveEntryList{display:grid;gap:9px}.responsiveEntryList>article{display:grid;grid-template-columns:120px minmax(0,1fr) auto 32px;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.entryDateBadge strong,.entryDateBadge span,.entryMain strong,.entryMain span{display:block}.entryDateBadge strong{font-size:9px}.entryDateBadge span{font-size:7px;color:#98a2b3}.entryMain strong{font-size:9.5px}.entryMain span{font-size:7.5px;color:#667085}.entryMain p{margin:3px 0 0;font-size:7.5px;color:#98a2b3}.entryNumbers{display:flex;gap:7px}.entryNumbers span{padding:7px 8px;border-radius:11px;background:#f7f9fc;color:#667085;font-size:7.5px}.entryNumbers b{color:#344054}.iconDanger{width:30px;height:30px;border:0;border-radius:10px;background:#fff1f2;color:#b42318;cursor:pointer}
.modernChatBox{min-height:420px;background:#f8fafc;border-color:var(--line)}.v25-ui .msg{border-color:var(--line);background:#fff;color:#344054;box-shadow:0 3px 12px rgba(29,41,57,.04)}.v25-ui .msg.mine{background:#edf3ff}.v25-ui .msg.theirs{background:#f1fbf9}.studentMessageComposer{display:grid;gap:9px;margin-top:12px}.studentMessageComposer textarea{min-height:82px}.studentMessageComposer>div{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:8px}.studentMessageComposer input[type=file]{padding:8px}
.availabilityCards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.availabilityCards>article{display:grid;grid-template-columns:90px 1fr 1fr;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.availabilityCards>article>strong{align-self:center;font-size:9px}.availabilityCards label{display:grid;gap:4px}.availabilityCards label span{font-size:7px;color:#98a2b3}.connectionCodeForm{display:grid;grid-template-columns:1fr auto;gap:8px}.connectionListV25{display:grid;gap:8px;margin-top:14px}.connectionListV25 article{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px}.connectionListV25 strong,.connectionListV25 span{display:block}.connectionListV25 strong{font-size:9px}.connectionListV25 span{font-size:7.5px;color:#98a2b3}.connectionListV25 em{font-style:normal;font-size:7px;color:#067647;background:#ecfdf3;padding:5px 7px;border-radius:999px}.connectionListV25 em.pending{color:#b54708;background:#fffaeb}.memoryAddForm{align-items:end}

/* Advisor dashboard clean-up */
.v25-ui .advisorHeroPro,.v25-ui .aiCommandHero,.v25-ui .phase2Hero{border-color:var(--line);border-radius:24px;box-shadow:var(--shadow-v25);background:linear-gradient(135deg,#f7f9ff,#fff 55%,#f0fbf8)}
.v25-ui .advisorHeroPro h2,.v25-ui .aiCommandHero h2,.v25-ui .phase2Hero h2{color:var(--ink)}
.v25-ui .advisorHeroPro p,.v25-ui .aiCommandHero p,.v25-ui .phase2Hero p{color:#667085;font-size:9px}
.v25-ui .quickActionCard{border-color:var(--line);border-radius:16px;box-shadow:0 4px 14px rgba(29,41,57,.04)}
.v25-ui .quickActionCard:hover{transform:none;box-shadow:var(--shadow-hover)}
.v25-ui .aiStudentPolicyCard,.v25-ui .aiStudentQuickGrid article,.v25-ui .aiArtifactGrid article{border-color:var(--line);background:#fff;box-shadow:0 4px 14px rgba(29,41,57,.04)}
.v25-ui .aiResultText,.v25-ui .aiConversation{background:#f8fafc;border-color:var(--line);color:#344054}
.v25-ui .aiBubble{background:#fff;border-color:var(--line);color:#344054}
.v25-ui .phase2SideStatus strong{color:var(--ink)}

/* Student AI */
.v25-ui .studentAiChatCard{min-height:640px}.v25-ui .studentAiConversation{background:#f7f9fc;border-color:var(--line);height:410px}.v25-ui .studentAiBubble{border-color:var(--line);box-shadow:0 3px 12px rgba(29,41,57,.04)}.v25-ui .studentAiBubble.user{background:#edf3ff}.v25-ui .studentAiBubble.assistant{background:#fff}.v25-ui .studentAiModes button{min-height:36px;font-size:8px}.v25-ui .riskCard.low{border-top:4px solid #139b67}.v25-ui .riskCard.medium{border-top:4px solid #dc8618}.v25-ui .riskCard.high,.v25-ui .riskCard.critical{border-top:4px solid #d9485f}.v25-ui .reviewMiniList article,.v25-ui .changeHistory article{border-color:var(--line);background:#fbfcfe}.v25-ui .planChangeProposal{border-color:#d8e3ff;background:#f5f8ff}.v25-ui .forecastSummary>div{border-color:var(--line);background:#fbfcfe}

/* Knowledge bank */
.v25-ui .knowledgeSourceGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.v25-ui .knowledgeSourceCard{border-color:var(--line);border-radius:18px;box-shadow:0 5px 16px rgba(29,41,57,.045)}.v25-ui .knowledgeNotice{border-radius:15px}.v25-ui .knowledgeHeroStats{padding:12px 14px;border:1px solid var(--line);background:#fff;border-radius:17px}

/* Planner */
.v25-ui .plannerStudio{border-color:var(--line);border-radius:24px;box-shadow:var(--shadow-v25)}
.v25-ui .plannerStudio .plannerHero{background:linear-gradient(125deg,#203e9e,#3157d5 55%,#0b8e8d);padding:25px 28px}
.v25-ui .plannerStudio .plannerPanels{background:#f6f8fb}.v25-ui .plannerStudio .plannerPanel{padding:20px}.v25-ui .plannerStudio .plannerStepRail{padding:13px}.v25-ui .plannerStudio .plannerStep{border-radius:14px}.v25-ui .selectionBasket{border-radius:18px}.v25-ui .curriculumBrowser{border-radius:18px}.v25-ui .draftReviewStudio{border-radius:20px;box-shadow:none}

/* Auth */
.v25-ui .auth-shell{padding:18px}.v25-ui .auth-main{max-width:520px}.v25-ui .auth-center{min-height:calc(100vh - 36px)}.v25-ui .auth-card{width:min(100%,460px);padding:28px;border-radius:25px;border:1px solid var(--line);background:#fff;box-shadow:0 24px 65px rgba(29,41,57,.12)}.v25-ui .auth-card h2{color:var(--ink)}.v25-ui .auth-card p{color:#667085}.v25-ui .btn-primary{background:linear-gradient(135deg,#3157d5,#2447bd);color:#fff;border:0}.v25-ui .auth-footer{color:#667085}.v25-ui .auth-footer a{color:#3157d5;font-weight:800}

/* Tablet */
@media(max-width:1180px){
  .v25-ui .app-shell{grid-template-columns:250px minmax(0,1fr);padding:12px;gap:12px}.v25-ui .side{top:12px;height:calc(100vh - 24px)}
  .studentPlanGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.studentQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .knowledgeSourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Mobile */
@media(max-width:820px){
  .v25-ui{padding-top:58px;padding-bottom:76px}
  .mobileAppHeader{display:flex;position:fixed;top:0;right:0;left:0;height:58px;z-index:900;align-items:center;justify-content:space-between;padding:8px 12px calc(8px + env(safe-area-inset-top));background:rgba(255,255,255,.93);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
  .mobileIconButton{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;color:#344054;font-size:18px;cursor:pointer}
  .mobileBrandMini{display:flex;align-items:center;gap:7px}.mobileBrandMini i{width:25px;height:25px;border-radius:9px;background:linear-gradient(145deg,#3157d5,#0da6a6)}.mobileBrandMini span{font-size:11px;font-weight:900}.mobileUserMini{width:38px;height:38px}
  .mobileBottomNav{display:grid;position:fixed;right:8px;left:8px;bottom:max(8px,env(safe-area-inset-bottom));z-index:950;grid-template-columns:repeat(5,1fr);height:64px;padding:5px;border:1px solid rgba(220,227,237,.95);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 12px 35px rgba(29,41,57,.15);backdrop-filter:blur(18px)}
  .mobileBottomNav a,.mobileBottomNav button{display:grid;place-items:center;align-content:center;gap:2px;border:0;background:transparent;color:#7a8596;border-radius:14px;cursor:pointer}.mobileBottomNav span{font-size:18px;line-height:1}.mobileBottomNav b{font-size:7px}.mobileBottomNav a.active{color:#3157d5;background:#edf2ff}
  .v25-ui .app-shell{display:block;min-height:auto;padding:0}.v25-ui .side{position:fixed;right:8px;top:8px;bottom:8px;width:min(88vw,330px);height:auto;z-index:1000;transform:translateX(110%);transition:transform .22s ease;border-radius:23px}.v25-ui.drawer-open .side,body.drawer-open .side{transform:translateX(0)}.v25-ui .drawerOnly{display:grid}.v25-ui .main{border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}.v25-ui .mainTop{display:none}.v25-ui .mainBody{padding:12px 11px 18px;overflow:visible;gap:12px}
  .v25-ui .contentGrid.twoWide,.v25-ui .contentGrid.twoCols,.v25-ui .contentGrid.threeCols,.v25-ui .formGrid.twoCols,.v25-ui .formGrid.threeCols{grid-template-columns:1fr}.v25-ui .statsRow.four,.v25-ui .statsRow.five,.v25-ui .statsRow.six,.v25-ui .kpiRow,.v25-ui .phase2KpiRow{grid-template-columns:repeat(2,minmax(0,1fr))}.v25-ui .contentCard{padding:14px;border-radius:18px}.v25-ui .metricCard{padding:12px;border-radius:16px}.v25-ui .metricCard strong{font-size:18px}.v25-ui .chartWrap{min-height:230px}.v25-ui .mobileChart{min-height:240px}.v25-ui .heroPanel{display:grid;padding:16px;border-radius:20px}.v25-ui .heroPanel h2{font-size:16px}.v25-ui .top-gap{margin-top:8px}
  .studentWelcomeHero{grid-template-columns:1fr;padding:18px;border-radius:22px}.studentWelcomeCopy h2{font-size:19px}.studentWelcomeCopy p{font-size:9px}.studentRiskOrb{min-height:110px;grid-template-columns:1fr;place-items:start;padding:15px}.studentRiskOrb i{display:none}.studentRiskOrb strong{font-size:15px}.welcomeActions{display:grid;grid-template-columns:1fr 1fr}.welcomeActions .btn{width:100%;justify-content:center}.studentKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.studentQuickGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.studentQuickGrid>a,.studentQuickGrid>button{min-height:62px;padding:10px}.studentQuickGrid>*>span{width:35px;height:35px}.studentTrendCard,.nextStepCard{min-height:auto}.compactPageHero{padding:16px;border-radius:20px}.compactPageHero h2{font-size:15px}.compactHeroIcon{width:48px;height:48px;border-radius:15px}.todayGuideCard{position:static}.mobileSingleForm{grid-template-columns:1fr!important}.studentPlanGrid{grid-template-columns:1fr}.responsiveEntryList>article{grid-template-columns:1fr auto;padding:12px}.entryDateBadge,.entryMain{grid-column:1}.entryNumbers{grid-column:1}.responsiveEntryList form{grid-column:2;grid-row:1}.studentMessageComposer>div{grid-template-columns:1fr}.availabilityCards{grid-template-columns:1fr}.availabilityCards>article{grid-template-columns:74px 1fr}.availabilityCards>article label:last-child{grid-column:1/-1}.connectionCodeForm{grid-template-columns:1fr}.memoryAddForm,.mobileFilterForm{display:grid;grid-template-columns:1fr}.reportExportActions{display:grid;grid-template-columns:repeat(3,1fr)}.reportExportActions .btn{padding-inline:6px;justify-content:center}
  .v25-ui .phase2Hero,.v25-ui .aiCommandHero{display:grid;padding:16px;border-radius:20px}.v25-ui .phase2LiveState,.v25-ui .aiLiveState{display:flex;justify-content:center;gap:9px;min-width:0;width:100%;padding:11px}.v25-ui .phase2LiveState strong,.v25-ui .aiLiveState strong{margin:0}.v25-ui .studentAiChatCard{min-height:auto}.v25-ui .studentAiConversation{height:360px;padding:10px}.v25-ui .studentAiBubble{max-width:94%}.v25-ui .studentAiComposer{position:sticky;bottom:72px;z-index:20;padding:8px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:16px;box-shadow:0 9px 26px rgba(29,41,57,.12)}.v25-ui .studentAiComposer textarea{min-height:65px}.v25-ui .studentAiModes{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.v25-ui .studentAiModes button{flex:0 0 auto}.v25-ui .studentAiFilters{grid-template-columns:1fr 1fr}.v25-ui .knowledgeSourceGrid{grid-template-columns:1fr!important}.v25-ui .knowledgeGrid{grid-template-columns:1fr}
  .v25-ui .advisorQuickActions{grid-template-columns:repeat(2,minmax(0,1fr))}.v25-ui .aiStudentPolicyGrid{grid-template-columns:1fr}.v25-ui .aiStudentPolicyCard{padding:13px}.v25-ui .aiStudentButtons{display:grid;grid-template-columns:repeat(2,1fr)}.v25-ui .aiStudentButtons .btn{width:100%}.v25-ui .aiUsageRow{grid-template-columns:repeat(2,1fr)}
  .v25-ui .plannerStudio{border-radius:18px}.v25-ui .plannerStudio .plannerHero{padding:17px}.v25-ui .plannerStudio .plannerHero h3{font-size:16px}.v25-ui .plannerStudio .plannerPanels{padding:0}.v25-ui .plannerStudio .plannerPanel{padding:13px}.v25-ui .plannerStepRail.threeStage{display:flex;overflow-x:auto;grid-template-columns:none;padding:9px;gap:7px;scroll-snap-type:x mandatory}.v25-ui .plannerStepRail.threeStage .plannerStep{min-width:170px;scroll-snap-align:start}.v25-ui .curriculumWorkspace{grid-template-columns:1fr}.v25-ui .selectionBasket{position:static;max-height:none}.v25-ui .selectionBasketList{max-height:340px}.v25-ui .plannerFooter{position:sticky;bottom:72px;z-index:40;padding:9px;border-radius:16px;box-shadow:0 -8px 24px rgba(29,41,57,.1)}.v25-ui .plannerFooterStatus{display:none}.v25-ui .plannerFooter .btn{flex:1}.v25-ui .draftWeekBoard{grid-auto-columns:88vw}.v25-ui .weeklyCapacityEditor{grid-template-columns:1fr}.v25-ui .capacityDayCard{min-width:0}
  .v25-ui .tableWrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.v25-ui table{min-width:660px}.v25-ui .rowActions{gap:6px}.v25-ui .rowActions .btn{flex:1;justify-content:center}
}

@media(max-width:420px){
  .studentQuickGrid{grid-template-columns:1fr 1fr}.studentQuickGrid>a,.studentQuickGrid>button{gap:7px}.studentQuickGrid strong{font-size:8.5px}.studentQuickGrid small{font-size:7px}.v25-ui .metricCard strong{font-size:16px}.v25-ui .contentCard{padding:12px}.welcomeActions{grid-template-columns:1fr}.v25-ui .studentAiFilters{grid-template-columns:1fr}.reportExportActions{grid-template-columns:1fr 1fr}.responsiveEntryList>article{grid-template-columns:1fr auto}.mobileBottomNav{right:5px;left:5px}.mobileBottomNav b{font-size:6.5px}
}

/* V25 AI workspace tabs */
.studentAiWorkspaceTabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:6px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(29,41,57,.04)}
.studentAiWorkspaceTabs button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:43px;border:0;border-radius:13px;background:transparent;color:#667085;font-size:9px;font-weight:900;cursor:pointer}.studentAiWorkspaceTabs button span{font-size:15px}.studentAiWorkspaceTabs button.active{background:#edf2ff;color:#2447bd}
.aiWorkspacePanel{display:none}.aiWorkspacePanel.active{display:block}.compactAiContext{display:grid;gap:12px}.sourceTrustCard{display:grid;gap:4px;background:linear-gradient(135deg,#f6f2ff,#fff)!important;border-color:#e8ddff!important}.sourceTrustCard span,.sourceTrustCard small{font-size:8px;color:#8664bd}.sourceTrustCard strong{font-size:12px;color:#5b35a7}.riskScoreHero{display:flex;align-items:flex-end;gap:5px;margin:8px 0}.riskScoreHero strong{font-size:42px;line-height:1;color:var(--ink)}.riskScoreHero span{font-size:9px;color:#98a2b3;margin-bottom:5px}.reviewDetailedList{display:grid;gap:8px}.reviewDetailedList article{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fbfcfe}.reviewDetailedList span,.reviewDetailedList strong,.reviewDetailedList p{display:block}.reviewDetailedList span{font-size:7px;color:#98a2b3}.reviewDetailedList strong{margin-top:2px;font-size:9px}.reviewDetailedList p{margin:3px 0 0;font-size:7.5px;color:#667085}.reviewDetailedList em{font-style:normal;font-size:7.5px;color:#3157d5;background:#edf2ff;padding:6px 8px;border-radius:999px}.focusedStudio{max-width:1180px;margin:0 auto}
@media(max-width:820px){.studentAiWorkspaceTabs{position:sticky;top:64px;z-index:35;grid-template-columns:repeat(4,1fr);gap:3px;padding:4px;border-radius:16px}.studentAiWorkspaceTabs button{display:grid;gap:1px;min-height:48px;padding:4px 2px;font-size:6.8px}.studentAiWorkspaceTabs button span{font-size:16px}.v25AiKpis{grid-template-columns:repeat(2,1fr)!important}.compactAiContext{grid-template-columns:1fr}.focusedStudio{max-width:none}}

/* Auth refinements */
.brand-block{display:flex;align-items:center;gap:12px;margin-bottom:20px}.center-brand{justify-content:center;text-align:center;display:grid}.brand-icon{width:64px;height:64px;margin:0 auto 6px;border-radius:20px;background:linear-gradient(145deg,#3157d5,#0da6a6);box-shadow:0 14px 30px rgba(49,87,213,.22)}.brand-block h2{margin:0;font-size:20px}.brand-block p{margin:5px 0 0;font-size:9px;line-height:1.8}.form-grid{display:grid;gap:13px}.form-grid.two-col{grid-template-columns:1fr 1fr}.form-grid .field-span{grid-column:1/-1}.form-grid .btn{width:100%;grid-column:1/-1;justify-content:center;min-height:48px}.auth-footer{text-align:center;margin-top:16px;font-size:9px}
@media(max-width:620px){.form-grid.two-col{grid-template-columns:1fr}.form-grid .field-span{grid-column:auto}.v25-ui .auth-shell{padding:10px}.v25-ui .auth-card{padding:21px}.brand-icon{width:55px;height:55px;border-radius:17px}}

/* ===== v26.css ===== */
/* V26 — Follow-up Operations Center */
.v26-ui{--fu-navy:#16213e;--fu-blue:#3157d5;--fu-blue-soft:#eef3ff;--fu-red:#d94b64;--fu-red-soft:#fff1f3;--fu-orange:#d88718;--fu-orange-soft:#fff7e8;--fu-green:#14966f;--fu-green-soft:#ecfbf5;--fu-line:#e8ebf1;--fu-muted:#7b8496}
.v26-ui .followupHeroV26{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);align-items:center;gap:22px;margin-bottom:14px;padding:24px;border:1px solid #dfe6f5;border-radius:25px;background:radial-gradient(circle at 90% 15%,rgba(49,87,213,.1),transparent 34%),linear-gradient(135deg,#f9fbff,#fff 55%,#f5fbfa);box-shadow:0 14px 38px rgba(34,48,83,.07)}
.v26-ui .followupHeroV26 h2{margin:5px 0 7px;font-size:22px;color:var(--fu-navy)}.v26-ui .followupHeroV26 p{max-width:760px;margin:0;color:#697386;font-size:9.5px;line-height:2}
.v26-ui .followupCommandBar{display:flex;gap:8px;padding:7px;border:1px solid #dce3f2;border-radius:17px;background:rgba(255,255,255,.88);box-shadow:0 8px 22px rgba(34,48,83,.06)}.v26-ui .followupCommandBar input{min-width:0;flex:1;border:0!important;background:transparent!important;box-shadow:none!important}.v26-ui .followupCommandBar .btn{flex:0 0 auto;white-space:nowrap}
.v26-ui .followupKpiGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:12px}.v26-ui .fuKpi{position:relative;overflow:hidden;min-height:92px;padding:14px;border:1px solid var(--fu-line);border-radius:18px;background:#fff;box-shadow:0 6px 20px rgba(34,48,83,.045)}.v26-ui .fuKpi:after{content:"";position:absolute;width:52px;height:52px;border-radius:50%;left:-14px;bottom:-16px;background:var(--fu-blue-soft)}.v26-ui .fuKpi span,.v26-ui .fuKpi strong,.v26-ui .fuKpi small{display:block;position:relative;z-index:1}.v26-ui .fuKpi span{font-size:8px;color:var(--fu-muted)}.v26-ui .fuKpi strong{margin:5px 0 3px;font-size:23px;color:var(--fu-navy)}.v26-ui .fuKpi small{font-size:7px;color:#9aa2b1}.v26-ui .fuKpi.urgent:after{background:var(--fu-red-soft)}.v26-ui .fuKpi.warning:after{background:var(--fu-orange-soft)}.v26-ui .fuKpi.success:after{background:var(--fu-green-soft)}
.v26-ui .followupWorkspace{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(350px,.82fr);gap:12px;align-items:start}.v26-ui .followupQueuePanel{padding:15px}.v26-ui .followupSectionHead{align-items:flex-end}.v26-ui .followupFilterChips{display:flex;gap:5px;padding:4px;border-radius:12px;background:#f4f6fa}.v26-ui .followupFilterChips button{border:0;border-radius:9px;padding:7px 10px;background:transparent;color:#788195;font-family:inherit;font-size:7.5px;font-weight:800;cursor:pointer}.v26-ui .followupFilterChips button.active{background:#fff;color:var(--fu-blue);box-shadow:0 3px 10px rgba(34,48,83,.08)}
.v26-ui .followupQueueList{display:grid;gap:8px;margin-top:12px}.v26-ui .fuStudentCard{position:relative;padding:13px;border:1px solid var(--fu-line);border-radius:18px;background:#fff;transition:.2s ease}.v26-ui .fuStudentCard:hover,.v26-ui .fuStudentCard.selected{border-color:#bdcbf2;box-shadow:0 9px 25px rgba(49,87,213,.08);transform:translateY(-1px)}.v26-ui .fuStudentCard.urgent{border-right:4px solid var(--fu-red)}.v26-ui .fuStudentCard.important{border-right:4px solid var(--fu-orange)}.v26-ui .fuStudentCard.normal{border-right:4px solid var(--fu-green)}
.v26-ui .fuStudentTop{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.v26-ui .fuAvatar{display:grid;place-items:center;width:39px;height:39px;border-radius:13px;background:linear-gradient(145deg,#3157d5,#6d86dd);color:#fff;font-size:13px;font-weight:900;box-shadow:0 8px 18px rgba(49,87,213,.18)}.v26-ui .fuAvatar.large{width:48px;height:48px;border-radius:16px;font-size:16px}.v26-ui .fuStudentIdentity strong,.v26-ui .fuStudentIdentity span{display:block}.v26-ui .fuStudentIdentity strong{font-size:10.5px;color:var(--fu-navy)}.v26-ui .fuStudentIdentity span{margin-top:3px;font-size:7px;color:#9aa2b1}.v26-ui .fuPriorityScore{text-align:center;min-width:46px;padding:5px 8px;border-radius:12px;background:#f6f8fb}.v26-ui .fuPriorityScore b,.v26-ui .fuPriorityScore span{display:block}.v26-ui .fuPriorityScore b{font-size:14px;color:var(--fu-navy)}.v26-ui .fuPriorityScore span{font-size:6.5px;color:#9aa2b1}
.v26-ui .fuSignals{display:flex;gap:5px;flex-wrap:wrap;margin-top:10px}.v26-ui .fuSignals span{padding:5px 7px;border-radius:999px;background:#f5f7fa;color:#687286;font-size:6.7px;font-weight:700}.v26-ui .fuSignals .risk-high,.v26-ui .fuSignals .risk-critical{background:var(--fu-red-soft);color:#c13c55}.v26-ui .fuSignals .risk-medium,.v26-ui .fuSignals .warning{background:var(--fu-orange-soft);color:#b66a08}.v26-ui .fuSignals .risk-low{background:var(--fu-green-soft);color:#11815f}.v26-ui .fuSignals .paused{background:#f0f1f4;color:#737b89}
.v26-ui .fuRecommendation{display:grid;grid-template-columns:8px minmax(0,1fr);gap:8px;margin-top:10px;padding:9px 10px;border-radius:13px;background:#fafbfe}.v26-ui .fuRecommendation i{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--fu-blue);box-shadow:0 0 0 4px var(--fu-blue-soft)}.v26-ui .fuRecommendation strong{display:block;font-size:8px;color:#334261}.v26-ui .fuRecommendation p{margin:2px 0 0;font-size:7px;line-height:1.7;color:#7c8596}.v26-ui .fuCardActions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.v26-ui .fuCardActions form{display:inline-flex}.v26-ui .fuCardActions .btn{min-height:31px}
.v26-ui .followupDetailColumn{display:grid;gap:10px;position:sticky;top:14px}.v26-ui .fuSelectedCard{background:linear-gradient(145deg,#fff,#fbfcff)}.v26-ui .fuSelectedHeader{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center}.v26-ui .fuSelectedHeader span{font-size:7px;color:var(--fu-blue);font-weight:800}.v26-ui .fuSelectedHeader h3{margin:2px 0;font-size:14px}.v26-ui .fuSelectedHeader p{margin:0;color:#7b8496;font-size:7.2px;line-height:1.65}.v26-ui .fuSelectedHeader em{font-style:normal;padding:6px 8px;border-radius:999px;font-size:7px;font-weight:900}.v26-ui .fuSelectedHeader em.urgent{background:var(--fu-red-soft);color:var(--fu-red)}.v26-ui .fuSelectedHeader em.important{background:var(--fu-orange-soft);color:var(--fu-orange)}.v26-ui .fuSelectedHeader em.normal{background:var(--fu-green-soft);color:var(--fu-green)}
.v26-ui .fuSelectedStats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:12px}.v26-ui .fuSelectedStats div{padding:8px;border-radius:12px;background:#f7f8fb}.v26-ui .fuSelectedStats span,.v26-ui .fuSelectedStats strong{display:block}.v26-ui .fuSelectedStats span{font-size:6.5px;color:#929aaa}.v26-ui .fuSelectedStats strong{margin-top:3px;font-size:8px;color:#34405a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v26-ui .fuQuickActionGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}.v26-ui .fuQuickActionGrid form{margin:0}.v26-ui .fuQuickActionGrid button{width:100%;min-height:58px;border:1px solid var(--fu-line);border-radius:13px;background:#fff;color:#47536d;font-family:inherit;cursor:pointer}.v26-ui .fuQuickActionGrid button:hover{border-color:#becbf0;background:var(--fu-blue-soft);color:var(--fu-blue)}.v26-ui .fuQuickActionGrid span,.v26-ui .fuQuickActionGrid b{display:block}.v26-ui .fuQuickActionGrid span{font-size:15px}.v26-ui .fuQuickActionGrid b{margin-top:3px;font-size:6.5px}
.v26-ui .fuResultRecorder,.v26-ui .fuPolicyCard,.v26-ui .fuCreateTask{padding:0;overflow:hidden}.v26-ui .fuResultRecorder summary,.v26-ui .fuPolicyCard summary,.v26-ui .fuCreateTask summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;cursor:pointer}.v26-ui .fuResultRecorder summary::-webkit-details-marker,.v26-ui .fuPolicyCard summary::-webkit-details-marker,.v26-ui .fuCreateTask summary::-webkit-details-marker{display:none}.v26-ui details summary strong,.v26-ui details summary span{display:block}.v26-ui details summary strong{font-size:9.5px}.v26-ui details summary span{margin-top:3px;font-size:7px;color:#949cac}.v26-ui details summary i{font-style:normal;color:var(--fu-blue);font-size:15px}.v26-ui .fuResultForm,.v26-ui .fuPolicyCard form,.v26-ui .fuCreateTask>form,.v26-ui .fuCreateTask>.quickRangeGrid{padding:0 14px 14px}.v26-ui .fuCloseCheck{display:flex;align-items:center;gap:6px;padding:8px;border-radius:11px;background:#f7f8fb;font-size:7px}.v26-ui .fuCloseCheck input{width:auto}
.v26-ui .fuTimelineCard{overflow:hidden}.v26-ui .fuTimeline{position:relative;display:grid;gap:0;padding-right:14px}.v26-ui .fuTimeline:before{content:"";position:absolute;right:3px;top:8px;bottom:8px;width:2px;background:#edf0f5}.v26-ui .fuTimeline article{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;padding:9px 12px 9px 0;border-bottom:1px solid #f0f2f6}.v26-ui .fuTimeline article:last-child{border-bottom:0}.v26-ui .fuTimeline article>i{position:absolute;right:-15px;top:17px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--fu-blue);box-shadow:0 0 0 3px var(--fu-blue-soft)}.v26-ui .fuTimeline article.danger>i{background:var(--fu-red);box-shadow:0 0 0 3px var(--fu-red-soft)}.v26-ui .fuTimeline article.warning>i{background:var(--fu-orange);box-shadow:0 0 0 3px var(--fu-orange-soft)}.v26-ui .fuTimeline article.success>i{background:var(--fu-green);box-shadow:0 0 0 3px var(--fu-green-soft)}.v26-ui .fuTimelineTime strong,.v26-ui .fuTimelineTime span,.v26-ui .fuTimelineBody strong{display:block}.v26-ui .fuTimelineTime strong{font-size:7px;color:#6f788a}.v26-ui .fuTimelineTime span{margin-top:2px;font-size:6.5px;color:#a0a7b5}.v26-ui .fuTimelineBody strong{font-size:8.5px}.v26-ui .fuTimelineBody p{margin:3px 0 0;font-size:7.3px;line-height:1.7;color:#778093}
.v26-ui .followupActionInbox{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.v26-ui .fuInboxGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.v26-ui .fuInboxGrid div{padding:11px;border:1px solid var(--fu-line);border-radius:14px;background:#fbfcfe}.v26-ui .fuInboxGrid span,.v26-ui .fuInboxGrid strong{display:block}.v26-ui .fuInboxGrid span{font-size:7px;color:#858e9f}.v26-ui .fuInboxGrid strong{margin-top:5px;font-size:17px}.v26-ui .fuInboxList{display:grid;gap:5px;margin-top:10px}.v26-ui .fuInboxList article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;background:#f8f9fc}.v26-ui .fuInboxList strong,.v26-ui .fuInboxList span{display:block}.v26-ui .fuInboxList strong{font-size:8px}.v26-ui .fuInboxList span{margin-top:2px;font-size:6.5px;color:#949cac}.v26-ui .fuInboxList em{font-style:normal;font-size:6.5px;color:#6e7890}
@media(max-width:1100px){.v26-ui .followupHeroV26{grid-template-columns:1fr}.v26-ui .followupKpiGrid{grid-template-columns:repeat(3,1fr)}.v26-ui .followupWorkspace{grid-template-columns:1fr}.v26-ui .followupDetailColumn{position:static;grid-template-columns:1fr 1fr}.v26-ui .fuSelectedCard{grid-column:1/-1}.v26-ui .followupActionInbox{grid-template-columns:1fr}}
@media(max-width:820px){.v26-ui .followupHeroV26{padding:16px;border-radius:19px}.v26-ui .followupHeroV26 h2{font-size:17px}.v26-ui .followupCommandBar{display:grid;grid-template-columns:1fr}.v26-ui .followupKpiGrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.v26-ui .fuKpi{min-width:145px;scroll-snap-align:start}.v26-ui .followupSectionHead{display:grid;gap:9px}.v26-ui .followupFilterChips{position:sticky;top:61px;z-index:25;overflow-x:auto}.v26-ui .followupFilterChips button{flex:1;min-width:58px}.v26-ui .fuStudentCard{padding:11px}.v26-ui .fuCardActions{display:grid;grid-template-columns:1fr 1fr}.v26-ui .fuCardActions>a{grid-column:1/-1}.v26-ui .fuCardActions form,.v26-ui .fuCardActions .btn{width:100%}.v26-ui .followupDetailColumn{grid-template-columns:1fr}.v26-ui .fuSelectedStats{grid-template-columns:1fr 1fr}.v26-ui .fuQuickActionGrid{grid-template-columns:1fr 1fr}.v26-ui .fuTimeline article{grid-template-columns:1fr;gap:3px}.v26-ui .fuTimelineTime{display:flex;justify-content:space-between}.v26-ui .fuInboxGrid{grid-template-columns:1fr}.v26-ui .fuResultForm .formGrid,.v26-ui .fuPolicyCard .formGrid{grid-template-columns:1fr}.v26-ui .fuResultForm .spanAll,.v26-ui .fuPolicyCard .spanAll{grid-column:auto}.v26-ui .followupActionInbox{gap:8px}}
@media(max-width:430px){.v26-ui .followupHeroV26{margin-inline:-3px}.v26-ui .followupQueuePanel{padding:11px}.v26-ui .fuStudentTop{grid-template-columns:auto minmax(0,1fr) auto}.v26-ui .fuAvatar{width:35px;height:35px}.v26-ui .fuPriorityScore{min-width:40px}.v26-ui .fuSignals span{font-size:6.2px}.v26-ui .fuSelectedHeader{grid-template-columns:auto minmax(0,1fr)}.v26-ui .fuSelectedHeader em{grid-column:1/-1;width:max-content}.v26-ui .fuTimelineCard{padding:12px}}

/* ===== v27.css ===== */
/* =========================================================
   V27 — Messenger-first, mobile-first UX
   ========================================================= */
.v27-ui{
  --v27-primary:#4658d6;
  --v27-primary-2:#6f5be7;
  --v27-cyan:#16a6b6;
  --v27-ink:#182033;
  --v27-muted:#6f788a;
  --v27-line:#e8ebf2;
  --v27-soft:#f6f7fb;
  --v27-success:#18a875;
  --v27-danger:#dc4d66;
  --v27-shadow:0 18px 50px rgba(31,42,68,.10);
  font-size:16px;
  overflow-x:hidden;
}
.v27-ui button,.v27-ui input,.v27-ui textarea,.v27-ui select{font-family:inherit}
.v27-ui button,.v27-ui a,.v27-ui input,.v27-ui textarea,.v27-ui select{-webkit-tap-highlight-color:transparent}
.v27-ui button:focus-visible,.v27-ui a:focus-visible,.v27-ui input:focus-visible,.v27-ui textarea:focus-visible,.v27-ui select:focus-visible{outline:3px solid rgba(70,88,214,.20);outline-offset:2px}
.v27-ui .btn{min-height:42px;font-size:12px;border-radius:13px}
.v27-ui .field label{font-size:11px;line-height:1.5}
.v27-ui .field input,.v27-ui .field select,.v27-ui .field textarea{min-height:44px;font-size:13px;border-radius:13px}
.v27-ui .field textarea{min-height:96px}
.v27-ui .navBtn{position:relative}
.v27-ui .navUnreadBadge{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#ef476f;color:#fff;font-size:9px;font-weight:900;box-shadow:0 5px 12px rgba(239,71,111,.25)}
.v27-ui .messengerNavHighlight{background:linear-gradient(135deg,#eef1ff,#eefbfb)!important;border-color:#dbe1ff!important}
.v27-ui .messengerNavHighlight>span{color:var(--v27-primary)!important;font-weight:900}
.v27-ui .mobileHeaderLeading{display:flex;align-items:center;gap:4px}
.v27-ui .mobileSmartBack{font-size:28px;line-height:1;padding-bottom:3px}
.v27-ui .mobileUserMini{position:relative;text-decoration:none}
.v27-ui .mobileUserMini b{position:absolute;top:-5px;left:-6px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#ef476f;color:#fff;font-size:8px}
.v27-ui .mobileMessengerNav{position:relative}
.v27-ui .mobileMessengerNav i{position:absolute;top:2px;right:50%;margin-right:7px;display:grid;place-items:center;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:#ef476f;color:#fff;font-size:7px;font-style:normal;font-weight:900}

/* Global usability refinements */
.v27-ui .contentCard{border-color:var(--v27-line);box-shadow:0 8px 28px rgba(31,42,68,.055)}
.v27-ui .sectionHead h3{font-size:14px;line-height:1.55}
.v27-ui .sectionHead p,.v27-ui .muted{font-size:10.5px;line-height:1.75}
.v27-ui .metricCard>span{font-size:10px}.v27-ui .metricCard>strong{font-size:22px}.v27-ui .metricCard>small{font-size:9px}
.v27-ui .empty-state{font-size:11px;line-height:1.8}
.v27-ui .flash{font-size:11px;box-shadow:0 12px 35px rgba(31,42,68,.12)}
.v27-ui form.is-submitting button[type="submit"]{pointer-events:none;opacity:.75}
.v27-ui form.is-submitting button[type="submit"]:after{content:"";display:inline-block;width:14px;height:14px;margin-right:7px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;vertical-align:-3px;animation:v27spin .75s linear infinite}
@keyframes v27spin{to{transform:rotate(360deg)}}

/* Messenger launch card */
.messengerLaunchCard{position:relative;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:28px;min-height:310px;padding:36px;border:1px solid #e1e5f5;border-radius:28px;overflow:hidden;background:linear-gradient(145deg,#fff 0%,#f8f9ff 54%,#f0fbfc 100%);box-shadow:var(--v27-shadow)}
.messengerLaunchCard:before{content:"";position:absolute;width:380px;height:380px;left:-170px;bottom:-230px;border-radius:50%;background:radial-gradient(circle,rgba(22,166,182,.14),transparent 68%)}
.messengerLaunchCard>div:last-child{position:relative;z-index:2}
.messengerLaunchCard>div:last-child>span{display:inline-flex;padding:7px 12px;border-radius:999px;background:#eef1ff;color:var(--v27-primary);font-size:10px;font-weight:900}
.messengerLaunchCard h2{margin:12px 0 8px;font-size:25px;color:var(--v27-ink)}
.messengerLaunchCard p{max-width:650px;margin:0 0 20px;color:var(--v27-muted);font-size:12px;line-height:2}
.messengerLaunchVisual{position:relative;display:grid;place-items:center;width:150px;height:150px;margin:auto;border-radius:44px;background:linear-gradient(145deg,var(--v27-primary),var(--v27-primary-2));box-shadow:0 25px 55px rgba(70,88,214,.30)}
.messengerLaunchVisual span{font-size:55px;color:#fff}.messengerLaunchVisual i{position:absolute;width:42px;height:27px;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(40,55,90,.15)}.messengerLaunchVisual i:after{content:"";position:absolute;bottom:-5px;right:8px;width:10px;height:10px;background:#fff;transform:rotate(35deg)}.messengerLaunchVisual i:nth-of-type(1){top:-12px;right:-14px}.messengerLaunchVisual i:nth-of-type(2){bottom:6px;left:-22px;transform:scale(.82)}.messengerLaunchVisual i:nth-of-type(3){top:30px;left:-35px;transform:scale(.55)}

/* Dedicated messenger shell */
.messenger-page .mainBody{padding:12px!important;height:calc(100vh - 76px);min-height:600px;overflow:hidden}
.messenger-page .main{overflow:hidden}
.messenger-page .mainTop{padding-block:12px}
.messengerApp{position:relative;display:grid;grid-template-columns:330px minmax(0,1fr);height:100%;min-height:560px;border:1px solid #e3e7f0;border-radius:25px;overflow:hidden;background:#fff;box-shadow:0 18px 50px rgba(31,42,68,.10)}

/* Inbox */
.messengerInbox{display:flex;flex-direction:column;min-width:0;background:#fbfcff;border-left:1px solid #e8ebf2}
.inboxHeader{display:flex;align-items:center;justify-content:space-between;padding:22px 20px 14px}
.messengerEyebrow{display:block;color:#8b94a6;font-size:9px;font-weight:800}.inboxHeader h2{margin:3px 0 0;font-size:22px;color:#171e2f}.inboxHeaderBadge{display:grid;place-items:center;width:35px;height:35px;border-radius:12px;background:#edf0ff;color:var(--v27-primary);font-size:12px;font-weight:900}
.messengerSearch{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0 16px;padding:0 12px;height:44px;border:1px solid #e5e8ef;border-radius:14px;background:#fff;transition:.2s}.messengerSearch:focus-within{border-color:#bbc4f4;box-shadow:0 0 0 4px rgba(70,88,214,.08)}.messengerSearch>span{color:#9aa3b2;font-size:18px}.messengerSearch input{width:100%;height:100%;padding:0;border:0;outline:0;background:transparent;color:#273049;font-size:12px}.messengerSearch button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:8px;background:#f1f3f7;color:#8b94a4;cursor:pointer}
.conversationFilterRow{display:flex;gap:5px;padding:12px 16px 8px;overflow-x:auto}.conversationFilterRow button{flex:0 0 auto;min-height:31px;padding:0 11px;border:1px solid #e7eaf0;border-radius:999px;background:#fff;color:#788195;font-size:9px;font-weight:800;cursor:pointer}.conversationFilterRow button.active{border-color:#d5dcff;background:#edf1ff;color:var(--v27-primary)}
.conversationList{flex:1;min-height:0;padding:4px 10px 12px;overflow-y:auto;overscroll-behavior:contain}
.conversationItem{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:3px 0;padding:11px;border:1px solid transparent;border-radius:17px;text-decoration:none;transition:.2s}.conversationItem:hover{background:#f3f5fb}.conversationItem.active{border-color:#dfe4fb;background:linear-gradient(135deg,#eef1ff,#f2fbfc);box-shadow:0 8px 20px rgba(70,88,214,.07)}
.conversationAvatar{position:relative;display:grid;place-items:center;width:45px;height:45px;border-radius:15px;background:linear-gradient(145deg,#dfe4ff,#d9f5f4);color:#394cc6;font-size:15px;font-weight:900}.conversationAvatar i{position:absolute;bottom:-1px;left:-1px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#1fba83}.conversationAvatar.large{width:43px;height:43px;border-radius:14px}
.conversationText{min-width:0}.conversationText>div{display:flex;align-items:center;justify-content:space-between;gap:6px}.conversationText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#20283b;font-size:11px}.conversationText time{color:#9aa2b1;font-size:8px}.conversationText p{margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#727c8f;font-size:9px;line-height:1.5}.conversationText small{display:block;margin-top:3px;color:#a0a7b4;font-size:7.5px}.conversationUnread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:linear-gradient(145deg,#5367e4,#705ce7);color:#fff;font-size:8px;box-shadow:0 5px 12px rgba(70,88,214,.22)}
.inboxFooter{display:flex;align-items:center;gap:9px;margin:0 13px 13px;padding:10px 12px;border:1px solid #e9ecf2;border-radius:14px;background:#fff}.privacyPulse{width:9px;height:9px;border-radius:50%;background:#1fb381;box-shadow:0 0 0 5px rgba(31,179,129,.10)}.inboxFooter strong,.inboxFooter small{display:block}.inboxFooter strong{font-size:8px;color:#4c566a}.inboxFooter small{margin-top:2px;font-size:7px;color:#9aa2af}

/* Conversation */
.messengerConversation{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(rgba(248,249,253,.94),rgba(248,249,253,.94)),radial-gradient(circle at 20% 25%,rgba(70,88,214,.08) 0 2px,transparent 3px);background-size:auto,28px 28px}
.conversationHeader{position:relative;z-index:10;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:10px 16px;border-bottom:1px solid #e8ebf1;background:rgba(255,255,255,.94);backdrop-filter:blur(16px)}
.mobileChatBack{display:none;width:38px;height:38px;border:0;border-radius:12px;background:#f2f4f8;color:#3e4a61;font-size:28px;cursor:pointer}.conversationIdentity{min-width:0}.conversationIdentity strong,.conversationIdentity span{display:block}.conversationIdentity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1d2537;font-size:12px}.conversationIdentity span{margin-top:3px;color:#9199a8;font-size:8px}.conversationIdentity span.online{color:#16996d}.conversationHeaderActions{display:flex;gap:5px}.conversationHeaderActions button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #e7eaf0;border-radius:12px;background:#fff;color:#687287;font-size:16px;cursor:pointer;transition:.2s}.conversationHeaderActions button:hover{border-color:#ccd4fa;background:#eff2ff;color:var(--v27-primary)}
.messageSearchBar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid #e8ebf1;background:#fff}.messageSearchBar input{height:37px;border:0;outline:0;background:transparent;font-size:11px}.messageSearchBar button{width:30px;height:30px;border:0;border-radius:9px;background:#f1f3f7;color:#7c8596;cursor:pointer}
.pinnedMessageBar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:calc(100% - 24px);margin:8px 12px 0;padding:8px 11px;border:1px solid #dfe5fb;border-radius:13px;background:rgba(242,245,255,.95);text-align:right;cursor:pointer}.pinnedMessageBar>span{color:var(--v27-primary);font-size:18px}.pinnedMessageBar strong,.pinnedMessageBar small{display:block}.pinnedMessageBar strong{font-size:8px;color:#53617c}.pinnedMessageBar small{max-width:440px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#778197;font-size:7px}.pinnedMessageBar i{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:#fff;color:var(--v27-primary);font-size:8px;font-style:normal;font-weight:900}
.messageStream{position:relative;flex:1;min-height:0;padding:14px 18px 24px;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth}.streamDatePill{width:max-content;margin:0 auto 15px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.86);color:#969ead;font-size:7.5px;box-shadow:0 5px 14px rgba(40,50,70,.06)}
.messageRow{position:relative;display:flex;align-items:flex-end;gap:7px;max-width:80%;margin:5px 0}.messageRow.mine{margin-right:auto;flex-direction:row-reverse}.messageRow.theirs{margin-left:auto}.messageMiniAvatar{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:9px;background:#e2e7ff;color:#4559d0;font-size:9px;font-weight:900}
.messageBubble{position:relative;min-width:95px;max-width:100%;padding:9px 11px 6px;border:1px solid #e2e6ee;border-radius:18px 18px 5px 18px;background:#fff;color:#263047;box-shadow:0 6px 18px rgba(38,49,77,.065)}.messageRow.mine .messageBubble{border-color:#5365d9;background:linear-gradient(145deg,#5367df,#6558d5);color:#fff;border-radius:18px 18px 18px 5px;box-shadow:0 8px 22px rgba(70,88,214,.20)}.messageRow.pinned .messageBubble{box-shadow:0 0 0 2px rgba(246,184,67,.28),0 8px 22px rgba(40,50,70,.08)}
.messageBody{margin:0;white-space:pre-wrap;word-break:break-word;font-size:11.5px;line-height:1.9}.messageSticker{font-size:36px;line-height:1.35}.deletedMessageText{font-size:9px;font-style:italic;opacity:.65}
.replyPreview{margin:-3px -4px 7px;padding:7px 9px;border-right:3px solid #7c8ae7;border-radius:9px;background:#f4f5fa;color:#4f5b71}.messageRow.mine .replyPreview{border-right-color:#cbd2ff;background:rgba(255,255,255,.13);color:#fff}.replyPreview strong,.replyPreview span{display:block}.replyPreview strong{font-size:7.5px}.replyPreview span{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;opacity:.78}
.messageMeta{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:3px;color:#98a0ae;font-size:6.7px}.messageRow.mine .messageMeta{color:rgba(255,255,255,.72)}.readReceipt{font-size:9px;letter-spacing:-3px}.readReceipt.read{color:#8ff3d5}
.messageTools{position:absolute;top:50%;left:calc(100% + 7px);display:flex;gap:2px;padding:3px;border:1px solid #e5e8ef;border-radius:10px;background:#fff;box-shadow:0 8px 20px rgba(36,47,73,.10);opacity:0;pointer-events:none;transform:translateY(-50%) translateX(5px);transition:.18s;z-index:5}.messageRow.mine .messageTools{left:auto;right:calc(100% + 7px)}.messageRow:hover .messageTools,.messageRow.actions-open .messageTools{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0)}.messageTools button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:8px;background:transparent;color:#687286;cursor:pointer}.messageTools button:hover{background:#f0f2f8;color:var(--v27-primary)}
.messageReaction{position:absolute;bottom:-12px;left:8px;display:grid;place-items:center;min-width:27px;height:24px;padding:0 6px;border:2px solid #f8f9fd;border-radius:999px;background:#fff;font-size:12px;box-shadow:0 5px 12px rgba(40,50,70,.10);cursor:pointer}.messageRow.mine .messageReaction{left:auto;right:8px}
.messageImage{display:block;max-width:320px;margin:-3px -5px 6px;border-radius:13px;overflow:hidden}.messageImage img{display:block;width:100%;max-height:310px;object-fit:cover}.messageVideo{display:block;width:min(330px,100%);max-height:330px;margin:0 0 6px;border-radius:12px;background:#111}.messageFile{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:220px;padding:9px;border-radius:12px;background:#f5f6fa;color:#4c586f;text-decoration:none}.messageRow.mine .messageFile{background:rgba(255,255,255,.13);color:#fff}.messageFile>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#5367dd;font-size:17px}.messageFile strong,.messageFile small{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messageFile strong{font-size:8px}.messageFile small{margin-top:3px;font-size:7px;opacity:.7}
.voiceMessage{display:grid;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:8px;min-width:220px}.voiceMessage>button{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:50%;background:#edf0ff;color:#5063dc;cursor:pointer}.messageRow.mine .voiceMessage>button{background:#fff;color:#5367dc}.voiceWave{display:flex;align-items:center;gap:2px;height:22px}.voiceWave i{display:block;width:3px;border-radius:4px;background:#8d97aa}.messageRow.mine .voiceWave i{background:rgba(255,255,255,.74)}.voiceWave i:nth-child(3n){height:18px}.voiceWave i:nth-child(3n+1){height:9px}.voiceWave i:nth-child(3n+2){height:14px}.voiceMessage>span{grid-column:2;font-size:6.8px;opacity:.72}
.typingIndicator{display:flex;align-items:center;gap:4px;width:max-content;margin-left:auto;padding:9px 12px;border:1px solid #e5e8ef;border-radius:16px 16px 5px 16px;background:#fff;box-shadow:0 5px 15px rgba(40,50,70,.06)}.typingIndicator>span{width:6px;height:6px;border-radius:50%;background:#8e98aa;animation:typingBounce 1.2s infinite}.typingIndicator>span:nth-child(2){animation-delay:.15s}.typingIndicator>span:nth-child(3){animation-delay:.3s}.typingIndicator small{margin-right:5px;color:#8b94a4;font-size:7px}@keyframes typingBounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}

/* Composer */
.replyComposerBar,.attachmentPreviewBar,.voiceRecordingBar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin:0 14px 7px;padding:8px 11px;border:1px solid #dfe4f5;border-radius:12px;background:#fff}.replyComposerBar>span{color:var(--v27-primary);font-size:18px}.replyComposerBar strong,.replyComposerBar small,.attachmentPreviewBar strong,.attachmentPreviewBar small{display:block}.replyComposerBar strong,.attachmentPreviewBar strong{font-size:8px}.replyComposerBar small,.attachmentPreviewBar small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8a93a3;font-size:7px}.replyComposerBar button,.attachmentPreviewBar button{width:27px;height:27px;border:0;border-radius:8px;background:#f1f3f7;color:#778195;cursor:pointer}
.voiceRecordingBar{grid-template-columns:auto minmax(0,1fr) auto auto;border-color:#ffd9df;background:#fff8f9}.voiceRecordingBar strong{font-size:8px;color:#b83f55}.voiceRecordingBar time{font-size:9px;color:#d64b65}.voiceRecordingBar button{border:0;background:transparent;color:#d34860;font-size:8px;font-weight:900}.recordingDot{width:10px;height:10px;border-radius:50%;background:#e34d68;box-shadow:0 0 0 5px rgba(227,77,104,.12);animation:recordPulse 1.1s infinite}@keyframes recordPulse{50%{opacity:.45;transform:scale(.85)}}
.quickMessageChips{display:flex;gap:6px;padding:0 14px 7px;overflow-x:auto}.quickMessageChips button{flex:0 0 auto;min-height:29px;padding:0 10px;border:1px solid #e2e6ef;border-radius:999px;background:rgba(255,255,255,.9);color:#6f788b;font-size:7.5px;cursor:pointer}.quickMessageChips button:hover{border-color:#cbd3fb;background:#f0f3ff;color:var(--v27-primary)}
.messengerComposer{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:end;gap:6px;margin:0 12px 5px;padding:6px;border:1px solid #dfe3ec;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(35,45,70,.10)}.messengerComposer:focus-within{border-color:#bac5f6;box-shadow:0 0 0 4px rgba(70,88,214,.07),0 10px 28px rgba(35,45,70,.10)}.messengerComposer textarea{width:100%;max-height:120px;min-height:40px;padding:10px 5px;border:0;outline:0;resize:none;background:transparent;color:#273148;font-size:11px;line-height:1.7}.composerIcon,.sendMessageButton{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:0;border-radius:13px;cursor:pointer}.composerIcon{background:#f3f5f8;color:#687287;font-size:19px}.composerIcon:hover{background:#edf0ff;color:var(--v27-primary)}.sendMessageButton{background:linear-gradient(145deg,#5367e1,#6b59df);color:#fff;box-shadow:0 8px 17px rgba(70,88,214,.25)}.sendMessageButton span{font-size:17px;transform:rotate(180deg)}.sendMessageButton.sending{pointer-events:none;opacity:.7}.sendMessageButton.sending span{width:15px;height:15px;border:2px solid #fff;border-left-color:transparent;border-radius:50%;font-size:0;animation:v27spin .7s linear infinite}.emojiPanel{position:absolute;right:42px;bottom:54px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;width:190px;padding:9px;border:1px solid #e3e6ed;border-radius:16px;background:#fff;box-shadow:0 18px 40px rgba(31,42,68,.17);z-index:20}.emojiPanel button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:transparent;font-size:20px;cursor:pointer}.emojiPanel button:hover{background:#f1f3f8}.composerHint{padding:0 18px 7px;color:#a0a7b4;font-size:6.5px;text-align:center}

/* Info drawer */
.chatInfoDrawer{position:absolute;z-index:50;top:0;left:0;width:310px;height:100%;padding:25px 20px;background:#fff;box-shadow:20px 0 50px rgba(31,42,68,.16);transform:translateX(-105%);transition:.28s ease;text-align:center}.messengerConversation.info-open .chatInfoDrawer{transform:translateX(0)}.chatInfoOverlay{position:absolute;z-index:45;inset:0;background:rgba(22,28,45,.25);opacity:0;pointer-events:none;transition:.25s}.messengerConversation.info-open .chatInfoOverlay{opacity:1;pointer-events:auto}.chatInfoClose{position:absolute;top:12px;right:12px;width:34px;height:34px;border:0;border-radius:11px;background:#f2f4f8;color:#697286;font-size:19px;cursor:pointer}.chatInfoAvatar{display:grid;place-items:center;width:76px;height:76px;margin:20px auto 10px;border-radius:25px;background:linear-gradient(145deg,#dfe4ff,#d9f6f2);color:#4054cc;font-size:25px;font-weight:900}.chatInfoDrawer h3{margin:0;font-size:17px}.chatInfoDrawer>p{margin:4px 0 18px;color:#8f97a6;font-size:9px}.chatInfoStats{display:grid;grid-template-columns:1fr 1fr;gap:7px}.chatInfoStats div{padding:12px;border-radius:13px;background:#f6f7fa}.chatInfoStats span,.chatInfoStats strong{display:block}.chatInfoStats span{font-size:7px;color:#929aaa}.chatInfoStats strong{margin-top:4px;font-size:8px;color:#3e4960}.chatInfoActions{display:grid;gap:7px;margin-top:13px}.chatInfoActions button,.chatInfoActions a{display:grid;place-items:center;min-height:40px;border:1px solid #e4e7ef;border-radius:12px;background:#fff;color:#53607a;font-size:8px;text-decoration:none;cursor:pointer}.chatPrivacyNote{display:flex;gap:8px;margin-top:18px;padding:11px;border-radius:13px;background:#f0fbf8;text-align:right}.chatPrivacyNote span{color:#16a278}.chatPrivacyNote p{margin:0;color:#648076;font-size:7px;line-height:1.8}

/* Empty states and toasts */
.messengerEmpty{display:grid;place-items:center;align-content:center;text-align:center;color:#8d96a6}.messengerEmpty>div{display:grid;place-items:center;width:58px;height:58px;margin-bottom:10px;border-radius:20px;background:#eef1ff;color:#5669dd;font-size:25px}.messengerEmpty strong{font-size:11px;color:#4e596e}.messengerEmpty p{max-width:300px;margin:5px 0 0;font-size:8px;line-height:1.8}.streamEmpty{min-height:100%;padding:30px}.conversationEmpty{height:100%;padding:30px}.searchEmpty{padding:35px 10px}.searchEmpty[hidden]{display:none}.appToastStack{position:fixed;z-index:9999;right:20px;bottom:20px;display:grid;gap:8px;max-width:min(360px,calc(100vw - 30px))}.appToast{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:11px 13px;border:1px solid #e4e7ef;border-radius:14px;background:#fff;color:#3f4a60;font-size:9px;box-shadow:0 16px 42px rgba(31,42,68,.17);animation:toastIn .25s ease}.appToast.success>span{color:#17a474}.appToast.error>span{color:#dd4b64}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.exitBackToast{position:fixed;z-index:10000;right:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translateX(50%);display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:999px;background:#1e2638;color:#fff;font-size:10px;box-shadow:0 15px 38px rgba(18,24,38,.28);animation:toastIn .2s ease}.exitBackToast b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;color:#28324a;font-size:9px}

/* Message search results */
.messageRow.search-hidden{display:none}.messageRow.search-match .messageBubble{box-shadow:0 0 0 3px rgba(255,193,64,.35),0 8px 22px rgba(40,50,70,.09)}

@media(max-width:1180px){
  .messengerApp{grid-template-columns:290px minmax(0,1fr)}
  .messageRow{max-width:88%}
}
@media(max-width:820px){
  .v27-ui{font-size:16px}
  .v27-ui .mainBody{padding-bottom:90px}
  .v27-ui .btn{min-height:46px;font-size:13px}
  .v27-ui .field input,.v27-ui .field select,.v27-ui .field textarea{font-size:16px;min-height:48px}
  .v27-ui .contentCard{padding:15px;border-radius:18px}
  .v27-ui .sectionHead h3{font-size:15px}.v27-ui .sectionHead p,.v27-ui .muted{font-size:11px}
  .v27-ui .metricCard>span{font-size:10px}.v27-ui .metricCard>strong{font-size:22px}.v27-ui .metricCard>small{font-size:9px}
  .messengerLaunchCard{grid-template-columns:1fr;gap:18px;padding:22px;text-align:center}.messengerLaunchVisual{width:120px;height:120px;border-radius:34px}.messengerLaunchVisual span{font-size:44px}.messengerLaunchCard h2{font-size:20px}.messengerLaunchCard p{font-size:11px}.messengerLaunchCard .btn{width:100%}
  .messenger-page .mainTop{display:none!important}.messenger-page .mainBody{height:calc(100dvh - 124px);min-height:0;padding:0!important}.messenger-page .app-shell{padding-top:58px}.messenger-page .main{border:0;border-radius:0;box-shadow:none}.messengerApp{display:block;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
  .messengerInbox,.messengerConversation{position:absolute;inset:0;transition:transform .28s ease,opacity .24s ease}.messengerInbox{z-index:2;border:0;transform:translateX(0);opacity:1}.messengerConversation{z-index:3;transform:translateX(-105%);opacity:0;pointer-events:none}.messengerApp.has-active-chat .messengerInbox{transform:translateX(35%);opacity:0;pointer-events:none}.messengerApp.has-active-chat .messengerConversation{transform:translateX(0);opacity:1;pointer-events:auto}
  .inboxHeader{padding:18px 16px 12px}.inboxHeader h2{font-size:23px}.messengerSearch{height:48px}.messengerSearch input{font-size:16px}.conversationFilterRow button{min-height:36px;font-size:10px}.conversationItem{min-height:72px;padding:11px}.conversationAvatar{width:48px;height:48px}.conversationText strong{font-size:13px}.conversationText p{font-size:10.5px}.conversationText small{font-size:9px}.conversationText time{font-size:9px}.conversationUnread{min-width:25px;height:25px;font-size:9px}
  .conversationHeader{grid-template-columns:auto auto minmax(0,1fr) auto;min-height:61px;padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top))}.mobileChatBack{display:grid;place-items:center}.conversationHeaderActions button{width:36px;height:36px}.conversationHeaderActions button:nth-child(2){display:none}.conversationIdentity strong{font-size:12px}.conversationIdentity span{font-size:9px}
  .messageStream{padding:12px 9px 18px}.messageRow{max-width:91%;margin:6px 0}.messageBody{font-size:13px;line-height:1.85}.messageBubble{padding:9px 10px 6px}.messageTools{top:auto;bottom:calc(100% + 5px);left:0;right:auto;transform:none}.messageRow.mine .messageTools{right:0;left:auto}.messageRow.actions-open .messageTools{transform:none}.messageTools button{width:34px;height:34px}
  .messageImage{max-width:255px}.messageFile,.voiceMessage{min-width:190px}.messageMeta{font-size:7.5px}.replyPreview strong{font-size:8.5px}.replyPreview span{font-size:8px}
  .quickMessageChips{padding-inline:9px}.quickMessageChips button{min-height:33px;font-size:8.5px}
  .messengerComposer{grid-template-columns:auto minmax(0,1fr) auto auto;margin:0 7px 3px;padding:5px;border-radius:17px}.messengerComposer textarea{font-size:16px;min-height:42px;padding:9px 4px}.emojiButton{display:none}.composerIcon,.sendMessageButton{width:42px;height:42px}.emojiPanel{right:5px;bottom:56px}.composerHint{display:none}.replyComposerBar,.attachmentPreviewBar,.voiceRecordingBar{margin-inline:8px}.appToastStack{right:12px;bottom:88px}.chatInfoDrawer{width:min(86vw,320px)}
}
@media(max-width:430px){
  .conversationHeaderActions button:nth-child(1){display:none}.conversationAvatar.large{width:39px;height:39px}.messageRow{max-width:94%}.messageMiniAvatar{display:none}.messageFile,.voiceMessage{min-width:170px}.messageImage{max-width:230px}.inboxFooter{display:none}.conversationList{padding-bottom:80px}
}

/* ===== v28.css ===== */
/* =========================================================
   V28 — Telegram / WhatsApp inspired private messenger
   ========================================================= */
[hidden]{display:none!important}

.v28-ui{
  --chat-blue:#2aabee;
  --chat-blue-dark:#168acd;
  --chat-green:#20b96b;
  --chat-ink:#17212b;
  --chat-muted:#7f8b97;
  --chat-line:#e3e8ed;
  --chat-panel:#ffffff;
  --chat-list:#f7f9fb;
  --chat-mine:#dff5ff;
  --chat-theirs:#ffffff;
  --chat-wall:#e8eef2;
}

/* Messenger must be a dedicated full-screen product, not a third panel inside the dashboard. */
.messenger-v28-page{
  margin:0!important;
  padding:0!important;
  width:100%;
  height:100dvh;
  min-height:100dvh;
  overflow:hidden!important;
  background:#dfe7ec!important;
}
.messenger-v28-page .overlay,
.messenger-v28-page .side,
.messenger-v28-page .mainTop,
.messenger-v28-page .mobileAppHeader,
.messenger-v28-page .mobileBottomNav{display:none!important}
.messenger-v28-page .app-shell{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  margin:0!important;
  padding:0!important;
}
.messenger-v28-page .main{
  display:block!important;
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.messenger-v28-page .mainBody{
  display:block!important;
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  overflow:hidden!important;
}

.messengerAppV28{
  direction:rtl;
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  border:0!important;
  border-radius:0!important;
  background:var(--chat-panel)!important;
  box-shadow:none!important;
  overflow:hidden!important;
}

/* Conversation list */
.messengerAppV28 .messengerInbox{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
  border-left:1px solid #dfe5ea;
  background:var(--chat-list);
  overflow:hidden;
}
.messengerAppV28 .inboxHeader{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 42px;
  align-items:center;
  gap:10px;
  min-height:68px;
  padding:10px 13px;
  border-bottom:1px solid var(--chat-line);
  background:#fff;
}
.messengerHomeButton,
.mobileChatBack{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:#536170;
  font-size:30px;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
}
.messengerHomeButton:hover,.mobileChatBack:hover{background:#f0f3f5;color:var(--chat-blue-dark)}
.inboxTitleBlock{min-width:0}
.inboxTitleBlock strong{display:block;font-size:19px;font-weight:900;color:var(--chat-ink)}
.inboxTitleBlock span{display:block;margin-top:2px;font-size:11px;color:var(--chat-muted)}
.inboxHeaderAvatar{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,#2aabee,#34c6a8);
  color:#fff;
  font-size:16px;
  font-weight:900;
  box-shadow:0 6px 16px rgba(42,171,238,.22);
}
.inboxSearchWrap{padding:10px 11px 8px;background:#fff;border-bottom:1px solid var(--chat-line)}
.messengerAppV28 .messengerSearch{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) 30px;
  align-items:center;
  height:44px;
  padding:0 6px;
  border:1px solid transparent;
  border-radius:22px;
  background:#eef2f5;
  transition:.18s ease;
}
.messengerAppV28 .messengerSearch:focus-within{border-color:#a8d9f2;background:#fff;box-shadow:0 0 0 3px rgba(42,171,238,.1)}
.messengerAppV28 .messengerSearch>span{display:grid;place-items:center;color:#80909e;font-size:20px}
.messengerAppV28 .messengerSearch input{width:100%;border:0!important;outline:0!important;background:transparent!important;color:var(--chat-ink)!important;font-size:14px!important;min-height:0!important;padding:0 4px!important;box-shadow:none!important}
.messengerAppV28 .messengerSearch button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:#8795a1;font-size:20px;cursor:pointer}
.conversationFilterRow{display:flex;gap:6px;margin-top:8px;overflow-x:auto;scrollbar-width:none}
.conversationFilterRow::-webkit-scrollbar{display:none}
.conversationFilterRow button{flex:0 0 auto;min-height:32px;padding:0 13px;border:0;border-radius:16px;background:#f2f5f7;color:#73808c;font-size:11px;font-weight:800;cursor:pointer}
.conversationFilterRow button.active{background:#e0f2fd;color:#168acd}
.conversationList{flex:1;min-height:0;overflow-y:auto;padding:5px 7px 16px;scrollbar-width:thin;scrollbar-color:#c8d1d8 transparent}
.conversationItem{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:70px;
  padding:8px 10px;
  border:0!important;
  border-radius:13px;
  background:transparent;
  color:inherit;
  text-decoration:none;
  transition:.16s ease;
}
.conversationItem:hover{background:#edf2f5}
.conversationItem.active{background:#dff2fc!important}
.conversationAvatar{
  position:relative;
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:linear-gradient(145deg,#cdeeff,#d9f7ee);
  color:#168acd;
  font-size:18px;
  font-weight:900;
}
.conversationAvatar i{position:absolute;left:1px;bottom:1px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#2ac769}
.conversationText{min-width:0}
.conversationText>div{display:flex;align-items:center;justify-content:space-between;gap:8px}
.conversationText strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;color:#1f2933}
.conversationText time{flex:0 0 auto;font-size:10px;color:#8a97a3}
.conversationText p{margin:5px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#72808c;font-size:12px;line-height:1.4}
.conversationUnread{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#2aabee;color:#fff;font-size:10px;font-weight:900}

/* Chat surface */
.messengerAppV28 .messengerConversation{
  position:relative;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr) auto;
  min-width:0;
  height:100%;
  background:var(--chat-wall);
  overflow:hidden;
}
.messengerAppV28 .messengerConversation:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:
    radial-gradient(circle at 18px 18px,rgba(98,119,132,.15) 1.2px,transparent 1.3px),
    radial-gradient(circle at 55px 45px,rgba(98,119,132,.1) 1px,transparent 1.1px);
  background-size:72px 72px,88px 88px;
}
.conversationHeader{
  position:relative;
  z-index:30;
  display:grid;
  grid-template-columns:auto 48px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  min-height:68px;
  padding:8px 14px;
  border-bottom:1px solid #d9e0e5;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
}
.mobileChatBack{display:none}
.conversationAvatar.large{width:48px;height:48px;font-size:17px}
.conversationIdentity{display:block;min-width:0;padding:0;border:0;background:transparent;text-align:right;cursor:pointer}
.conversationIdentity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1f2933;font-size:15px;font-weight:900}
.conversationIdentity span{display:block;margin-top:3px;color:#7f8d98;font-size:11px}
.conversationIdentity span.online{color:#1aa95f}
.conversationHeaderActions{display:flex;align-items:center;gap:3px}
.conversationHeaderActions button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#657481;font-size:22px;cursor:pointer}
.conversationHeaderActions button:hover{background:#eef2f4;color:#168acd}
.messageSearchBar{
  position:relative;
  z-index:29;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 34px;
  align-items:center;
  min-height:48px;
  padding:5px 14px;
  border-bottom:1px solid var(--chat-line);
  background:#fff;
}
.messageSearchBar input{width:100%;border:0!important;outline:0!important;background:transparent!important;font-size:14px!important;min-height:0!important;box-shadow:none!important}
.messageSearchBar button{width:32px;height:32px;border:0;border-radius:50%;background:#eef2f4;color:#677581;font-size:20px;cursor:pointer}
.pinnedMessageBar{
  position:relative;
  z-index:28;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:7px 16px;
  border:0;
  border-bottom:1px solid var(--chat-line);
  background:rgba(255,255,255,.96);
  text-align:right;
  cursor:pointer;
}
.pinnedMessageBar>span{font-size:18px}.pinnedMessageBar div{min-width:0}.pinnedMessageBar strong{display:block;color:#168acd;font-size:11px}.pinnedMessageBar small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71808c;font-size:10px}.pinnedMessageBar i{display:grid;place-items:center;min-width:24px;height:24px;border-radius:12px;background:#e7f4fb;color:#168acd;font-size:10px;font-style:normal}

.messageStream{
  position:relative;
  z-index:2;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:18px clamp(12px,4vw,58px) 16px;
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:rgba(93,113,126,.35) transparent;
}
.streamDatePill{position:sticky;top:4px;z-index:5;width:max-content;margin:0 auto 13px;padding:5px 11px;border-radius:14px;background:rgba(86,106,119,.68);color:#fff;font-size:10px;font-weight:800;backdrop-filter:blur(8px)}
.messageRow{position:relative;display:flex;width:100%;max-width:none!important;margin:3px 0;direction:ltr}
.messageRow.mine{justify-content:flex-end}
.messageRow.theirs{justify-content:flex-start}
.messageBubble{
  position:relative;
  width:fit-content;
  min-width:76px;
  max-width:min(68%,620px);
  padding:7px 10px 5px;
  border:1px solid rgba(145,160,170,.18);
  border-radius:15px;
  background:var(--chat-theirs);
  color:var(--chat-ink);
  direction:rtl;
  box-shadow:0 1px 2px rgba(35,50,60,.13);
}
.messageRow.mine .messageBubble{background:var(--chat-mine);border-bottom-right-radius:4px}
.messageRow.theirs .messageBubble{border-bottom-left-radius:4px}
.messageRow.mine .messageBubble:after,
.messageRow.theirs .messageBubble:after{content:"";position:absolute;bottom:-1px;width:10px;height:12px;background:inherit}
.messageRow.mine .messageBubble:after{right:-6px;clip-path:polygon(0 0,100% 100%,0 100%)}
.messageRow.theirs .messageBubble:after{left:-6px;clip-path:polygon(100% 0,100% 100%,0 100%)}
.messageBody{margin:0;padding:1px 0 2px;white-space:pre-wrap;overflow-wrap:anywhere;color:#17212b;font-size:14px;line-height:1.65}
.messageMeta{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-height:14px;margin-top:1px;color:#7c8993;font-size:9px;line-height:1}
.readReceipt{letter-spacing:-3px;color:#84919c}.readReceipt.read{color:#229ed9}
.messageMenuTrigger{position:absolute;top:3px;left:4px;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#7c8993;font-size:15px;opacity:0;cursor:pointer;transition:.15s}
.messageBubble:hover .messageMenuTrigger,.messageRow.actions-open .messageMenuTrigger{opacity:1}
.messageTools{position:absolute;z-index:25;bottom:calc(100% + 6px);left:0;display:none;gap:2px;padding:5px;border:1px solid var(--chat-line);border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(25,39,50,.18);white-space:nowrap}
.messageRow.theirs .messageTools{left:auto;right:0}
.messageRow.actions-open .messageTools{display:flex}
.messageTools button{min-height:30px;padding:0 9px;border:0;border-radius:8px;background:transparent;color:#52616d;font-size:10px;font-weight:800;cursor:pointer}
.messageTools button:hover{background:#eef3f6}.messageTools button.danger{color:#d5475c}
.replyPreview{margin:0 0 6px;padding:5px 8px;border-right:3px solid #2aabee;border-radius:6px;background:rgba(42,171,238,.09)}
.replyPreview strong{display:block;color:#168acd;font-size:10px}.replyPreview span{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64717c;font-size:10px}
.messageReaction{position:absolute;bottom:-12px;left:10px;display:grid;place-items:center;min-width:30px;height:23px;padding:0 7px;border:1px solid #dde4e8;border-radius:12px;background:#fff;font-size:14px;cursor:pointer;box-shadow:0 2px 6px rgba(30,45,55,.12)}
.messageRow.sticker-only .messageBubble{min-width:0;padding:0;border:0;background:transparent;box-shadow:none}
.messageRow.sticker-only .messageBubble:after{display:none}
.messageSticker{display:grid;place-items:center;min-width:74px;min-height:74px;padding:3px;font-size:64px;line-height:1}
.messageRow.sticker-only .messageMeta{width:max-content;margin:-5px auto 0;padding:4px 7px;border-radius:10px;background:rgba(54,69,79,.56);color:#fff}
.deletedMessageText{padding:4px 8px;color:#7f8b95;font-size:12px;font-style:italic}
.messageImage{display:block;max-width:min(360px,50vw);margin:2px -4px 4px;border-radius:12px;overflow:hidden}.messageImage img{display:block;width:100%;max-height:440px;object-fit:cover}
.messageVideo{display:block;max-width:min(380px,55vw);max-height:430px;margin:2px -4px 4px;border-radius:12px;background:#111}
.messageFile,.voiceMessage{display:flex;align-items:center;gap:10px;min-width:240px;max-width:360px;margin:2px 0;padding:8px;border-radius:11px;background:rgba(255,255,255,.56);color:inherit;text-decoration:none}
.messageFile>span,.voiceMessage>button{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:0;border-radius:50%;background:#2aabee;color:#fff;font-size:17px;cursor:pointer}
.messageFile div{min-width:0}.messageFile strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.messageFile small{display:block;margin-top:3px;color:#74818c;font-size:9px}
.voiceWave{display:flex;align-items:center;gap:2px;flex:1;height:30px}.voiceWave i{width:3px;border-radius:3px;background:#62a8c9}.voiceWave i:nth-child(3n+1){height:10px}.voiceWave i:nth-child(3n+2){height:22px}.voiceWave i:nth-child(3n){height:15px}.voiceMessage>span{font-size:10px;color:#6d7a85}
.typingIndicator{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:5px 0 2px;color:#667681;font-size:10px}
.typingDots{display:flex;align-items:center;gap:3px;padding:8px 10px;border-radius:14px 14px 4px 14px;background:#fff;box-shadow:0 1px 2px rgba(35,50,60,.12)}
.typingDots span{width:5px;height:5px;border-radius:50%;background:#7f8c96;animation:v28Typing 1.1s infinite}.typingDots span:nth-child(2){animation-delay:.15s}.typingDots span:nth-child(3){animation-delay:.3s}@keyframes v28Typing{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-4px);opacity:1}}

/* Composer and integrated keyboard */
.chatComposerDock{position:relative;z-index:35;padding:7px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid rgba(208,218,224,.92);background:rgba(244,247,249,.96);backdrop-filter:blur(18px)}
.replyComposerBar,.attachmentPreviewBar,.voiceRecordingBar{display:grid;grid-template-columns:30px minmax(0,1fr) 32px;align-items:center;gap:8px;min-height:48px;margin:0 42px 6px 0;padding:6px 9px;border-radius:12px;background:#fff;border-right:3px solid #2aabee;box-shadow:0 2px 8px rgba(35,50,60,.08)}
.replyComposerBar>span,.attachmentPreviewBar>span{font-size:18px}.replyComposerBar div,.attachmentPreviewBar div{min-width:0}.replyComposerBar strong,.attachmentPreviewBar strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#168acd;font-size:11px}.replyComposerBar small,.attachmentPreviewBar small{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#71808c;font-size:9px}.replyComposerBar button,.attachmentPreviewBar button{width:28px;height:28px;border:0;border-radius:50%;background:#eef2f4;color:#677681;font-size:18px;cursor:pointer}
.voiceRecordingBar{grid-template-columns:20px minmax(0,1fr) auto auto;border-right-color:#ed4c5c}.recordingDot{width:10px;height:10px;border-radius:50%;background:#ed4c5c;animation:v28Record 1s infinite}@keyframes v28Record{50%{opacity:.35}}.voiceRecordingBar strong{font-size:11px;color:#d33f50}.voiceRecordingBar time{font-size:11px;color:#d33f50}.voiceRecordingBar button{border:0;background:transparent;color:#d33f50;font-size:11px;font-weight:900;cursor:pointer}
.messengerComposer{display:grid!important;grid-template-columns:44px 44px minmax(0,1fr) 46px!important;align-items:end!important;gap:4px!important;min-height:54px!important;margin:0!important;padding:5px!important;border:1px solid #dce3e7!important;border-radius:27px!important;background:#fff!important;box-shadow:0 3px 14px rgba(35,50,60,.11)!important}
.messengerComposer textarea{width:100%!important;min-height:44px!important;max-height:128px!important;margin:0!important;padding:10px 6px 8px!important;border:0!important;outline:0!important;resize:none!important;background:transparent!important;color:#17212b!important;font-size:15px!important;line-height:1.55!important;box-shadow:none!important}
.composerIcon,.sendMessageButton{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;transition:.15s ease}
.composerIcon{background:transparent;color:#71808c;font-size:23px}.composerIcon:hover,.composerIcon.active{background:#e9f4fa;color:#168acd}.voiceButton{font-size:18px;color:#168acd}.voiceButton.recording{background:#ffe7ea;color:#e23f53}
.sendMessageButton{background:#2aabee;color:#fff;box-shadow:0 5px 12px rgba(42,171,238,.28)}.sendMessageButton span{font-size:20px;transform:rotate(180deg)}.sendMessageButton.sending{pointer-events:none;opacity:.7}.sendMessageButton.sending span{width:17px;height:17px;border:2px solid #fff;border-left-color:transparent;border-radius:50%;font-size:0;animation:v28Spin .7s linear infinite}@keyframes v28Spin{to{transform:rotate(360deg)}}
.emojiKeyboard{position:absolute;right:10px;bottom:calc(100% + 7px);display:block;width:min(430px,calc(100% - 20px));height:310px;border:1px solid #dce3e7;border-radius:18px;background:#fff;box-shadow:0 18px 48px rgba(25,39,50,.22);overflow:hidden}
.emojiKeyboardHeader{display:grid;grid-template-columns:1fr 1fr 38px;align-items:center;gap:4px;height:48px;padding:5px 7px;border-bottom:1px solid #e4e9ed;background:#f8fafb}.emojiKeyboardHeader button{height:36px;border:0;border-radius:10px;background:transparent;color:#71808c;font-size:11px;font-weight:900;cursor:pointer}.emojiKeyboardHeader button.active{background:#e1f2fc;color:#168acd}.emojiKeyboardHeader .keyboardClose{font-size:20px}
.keyboardPane{display:none;grid-template-columns:repeat(8,1fr);align-content:start;gap:3px;height:262px;padding:10px;overflow-y:auto}.keyboardPane.active{display:grid}.keyboardPane button{display:grid;place-items:center;aspect-ratio:1;border:0;border-radius:10px;background:transparent;font-size:26px;cursor:pointer}.keyboardPane button:hover{background:#eef3f6}.stickerPane{grid-template-columns:repeat(5,1fr)}.stickerPane button{font-size:44px}

/* Chat info drawer */
.chatInfoDrawer{position:absolute;z-index:60;top:0;left:0;width:min(360px,92vw);height:100%;padding:22px 18px;background:#fff;box-shadow:18px 0 45px rgba(25,39,50,.18);transform:translateX(-105%);transition:.22s ease;text-align:center}.messengerConversation.info-open .chatInfoDrawer{transform:translateX(0)}
.chatInfoOverlay{position:absolute;z-index:55;inset:0;background:rgba(20,30,38,.34);opacity:0;pointer-events:none;transition:.2s}.messengerConversation.info-open .chatInfoOverlay{opacity:1;pointer-events:auto}.chatInfoClose{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:#eef2f4;color:#60707c;font-size:22px;cursor:pointer}.chatInfoAvatar{display:grid;place-items:center;width:86px;height:86px;margin:28px auto 12px;border-radius:50%;background:linear-gradient(145deg,#cdeeff,#d9f7ee);color:#168acd;font-size:30px;font-weight:900}.chatInfoDrawer h3{margin:0;font-size:19px;color:#1f2933}.chatInfoDrawer>p{margin:4px 0 18px;color:#7d8a95;font-size:11px}.chatInfoStats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chatInfoStats div{padding:13px;border-radius:13px;background:#f3f6f8}.chatInfoStats span,.chatInfoStats strong{display:block}.chatInfoStats span{font-size:9px;color:#87949f}.chatInfoStats strong{margin-top:5px;font-size:11px;color:#40505c}.chatInfoActions{display:grid;gap:8px;margin-top:14px}.chatInfoActions button,.chatInfoActions a{display:grid;place-items:center;min-height:44px;border:1px solid #dfe5e9;border-radius:12px;background:#fff;color:#53636f;font-size:11px;font-weight:800;text-decoration:none;cursor:pointer}

/* Empty states, toasts and menus */
.messengerEmpty{display:grid;place-items:center;align-content:center;text-align:center;color:#82909c}.messengerEmpty>div{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:50%;background:#e1f2fc;font-size:30px}.messengerEmpty strong{font-size:15px;color:#43515d}.messengerEmpty p{max-width:300px;margin:6px 0 0;font-size:11px;line-height:1.8}.streamEmpty,.conversationEmpty{height:100%;min-height:260px;padding:30px}.searchEmpty{padding:35px 12px}.appToastStack{position:fixed;z-index:9999;right:18px;bottom:18px;display:grid;gap:8px;max-width:min(360px,calc(100vw - 30px))}.appToast{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;padding:11px 13px;border:1px solid #dce3e7;border-radius:13px;background:#fff;color:#3e4c57;font-size:11px;box-shadow:0 14px 38px rgba(25,39,50,.18)}.reactionPicker{position:absolute;z-index:40;bottom:calc(100% + 7px);left:0;display:flex;gap:2px;padding:5px;border:1px solid #dce3e7;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(25,39,50,.2)}.messageRow.theirs .reactionPicker{left:auto;right:0}.reactionPicker button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;font-size:18px;cursor:pointer}.reactionPicker button:hover{background:#eef3f6}.messageRow.search-hidden{display:none}.messageRow.search-match .messageBubble{box-shadow:0 0 0 3px rgba(255,193,64,.45),0 2px 8px rgba(35,50,60,.13)}

@media(max-width:1050px){
  .messengerAppV28{grid-template-columns:320px minmax(0,1fr)!important}
  .messageBubble{max-width:min(76%,560px)}
}

@media(max-width:860px){
  .messenger-v28-page{padding:0!important}
  .messengerAppV28{display:block!important;position:relative;height:100dvh!important}
  .messengerInbox,.messengerConversation{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;transition:transform .22s ease,opacity .18s ease}
  .messengerInbox{z-index:2;transform:translateX(0);opacity:1;border:0!important}
  .messengerConversation{z-index:3;transform:translateX(-105%);opacity:0;pointer-events:none}
  .messengerAppV28.has-active-chat .messengerInbox{transform:translateX(35%);opacity:0;pointer-events:none}
  .messengerAppV28.has-active-chat .messengerConversation{transform:translateX(0);opacity:1;pointer-events:auto}
  .inboxHeader{min-height:64px;padding-top:max(8px,env(safe-area-inset-top))}
  .inboxTitleBlock strong{font-size:18px}.inboxTitleBlock span{font-size:10px}
  .conversationItem{min-height:74px;padding:9px}.conversationAvatar{width:54px;height:54px}.conversationText strong{font-size:14px}.conversationText p{font-size:12px}
  .conversationHeader{grid-template-columns:42px 44px minmax(0,1fr) auto;min-height:62px;padding:7px 8px;padding-top:max(7px,env(safe-area-inset-top))}
  .mobileChatBack{display:grid}.conversationAvatar.large{width:44px;height:44px}.conversationIdentity strong{font-size:14px}.conversationIdentity span{font-size:10px}.conversationHeaderActions button{width:38px;height:38px}.conversationHeaderActions button:first-child{display:none}
  .messageStream{padding:12px 8px 12px}.messageBubble{max-width:86%;padding:7px 9px 5px}.messageBody{font-size:14.5px;line-height:1.6}.messageMenuTrigger{opacity:.55}.messageTools{position:fixed;right:12px!important;left:12px!important;bottom:calc(76px + env(safe-area-inset-bottom));justify-content:space-around;padding:8px;border-radius:16px}.messageTools button{flex:1;min-height:42px;font-size:11px}.messageImage{max-width:min(290px,76vw)}.messageVideo{max-width:min(300px,78vw)}.messageFile,.voiceMessage{min-width:min(240px,72vw)}.messageSticker{font-size:58px;min-width:68px;min-height:68px}
  .chatComposerDock{padding:6px 6px max(7px,env(safe-area-inset-bottom))}.messengerComposer{grid-template-columns:42px 42px minmax(0,1fr) 44px!important;min-height:52px!important;padding:4px!important;border-radius:26px!important}.composerIcon,.sendMessageButton{width:42px;height:42px}.messengerComposer textarea{min-height:42px!important;padding:9px 4px!important;font-size:16px!important}.replyComposerBar,.attachmentPreviewBar,.voiceRecordingBar{margin-right:0;margin-bottom:5px}
  .emojiKeyboard{right:0;bottom:100%;width:100%;height:min(42dvh,330px);border-right:0;border-left:0;border-radius:20px 20px 0 0}.keyboardPane{height:calc(min(42dvh,330px) - 48px);grid-template-columns:repeat(7,1fr)}.stickerPane{grid-template-columns:repeat(5,1fr)}
  .appToastStack{right:10px;bottom:78px}
}

@media(max-width:430px){
  .keyboardPane{grid-template-columns:repeat(6,1fr)}.stickerPane{grid-template-columns:repeat(4,1fr)}
  .conversationHeaderActions button:last-child{display:grid}
  .messageBubble{max-width:90%}.messageBody{font-size:14px}.messageMeta{font-size:8.5px}.messageFile,.voiceMessage{min-width:min(220px,72vw)}
}

/* ===== v29.css ===== */
/* =========================================================
   V29 — Student Experience / Analytics-first, mobile-first
   ========================================================= */
:root{
  --student-ink:#10213b;
  --student-muted:#6b7890;
  --student-line:#e6ebf4;
  --student-soft:#f5f8fc;
  --student-blue:#2563eb;
  --student-cyan:#06b6d4;
  --student-violet:#7c3aed;
  --student-green:#10b981;
  --student-orange:#f59e0b;
  --student-red:#ef4444;
  --student-shadow:0 16px 44px rgba(30,64,175,.08);
  --student-radius:24px;
}

body.v29-ui.role-student{
  background:
    radial-gradient(780px 380px at 5% -5%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(650px 350px at 95% 0%, rgba(6,182,212,.08), transparent 58%),
    #f4f7fb;
  color:var(--student-ink);
}
body.v29-ui.role-student .mainBody{
  width:100%;
  max-width:1460px;
  margin-inline:auto;
  padding:22px;
  overflow-x:hidden;
}
body.v29-ui.role-student .mainTop{
  border-bottom:1px solid rgba(226,232,240,.85);
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px);
}
body.v29-ui.role-student .pageSubtitle{color:#8792a6}
body.v29-ui.role-student .viewSection{animation:studentViewIn .24s ease both}
@keyframes studentViewIn{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:none}}

/* Hero */
.studentCommandHero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  align-items:center;
  gap:28px;
  padding:34px;
  border:1px solid rgba(99,102,241,.14);
  border-radius:30px;
  background:
    radial-gradient(340px 210px at 8% 0%, rgba(255,255,255,.92), transparent 72%),
    linear-gradient(135deg,#eef5ff 0%,#f4f7ff 48%,#ecfeff 100%);
  box-shadow:0 20px 60px rgba(37,99,235,.10);
}
.studentCommandHero::after{
  content:"";position:absolute;inset:auto -70px -100px auto;width:280px;height:280px;border-radius:50%;
  background:linear-gradient(145deg,rgba(37,99,235,.13),rgba(6,182,212,.08));
}
.studentCommandCopy{position:relative;z-index:1;min-width:0}
.studentHelloRow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.studentEyebrow{font-size:13px;font-weight:900;color:var(--student-blue);letter-spacing:-.15px}
.studentTrendPill{font-style:normal;font-size:11px;font-weight:900;border-radius:999px;padding:7px 11px;background:#fff;border:1px solid var(--student-line)}
.studentTrendPill.up,.trendText.up,.analyticsScoreCard .up{color:#047857;background:#ecfdf5;border-color:#a7f3d0}
.studentTrendPill.down,.trendText.down,.analyticsScoreCard .down{color:#b91c1c;background:#fef2f2;border-color:#fecaca}
.studentTrendPill.steady,.trendText.steady,.analyticsScoreCard .steady{color:#475569;background:#f8fafc;border-color:#e2e8f0}
.studentCommandCopy h2{margin:0;color:#0f2550;font-size:clamp(25px,3vw,42px);line-height:1.35;letter-spacing:-1.15px}
.studentCommandCopy>p{max-width:780px;margin:13px 0 0;color:#65728a;font-size:14px;line-height:2}
.studentHeroActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.studentHeroActions .btn{min-height:46px;border-radius:15px;padding-inline:18px}
.studentAnalyticsButton{background:#fff!important;color:#3048b8!important;border-color:#d8e1ff!important}
.studentPerformanceGauge{
  --score:0;
  position:relative;z-index:1;width:176px;height:176px;border-radius:50%;padding:13px;
  background:conic-gradient(var(--student-blue) calc(var(--score)*1%),#dfe7f5 0);
  box-shadow:0 18px 45px rgba(37,99,235,.18);
}
.studentPerformanceGauge::before{content:"";position:absolute;inset:10px;border-radius:50%;background:rgba(255,255,255,.96);box-shadow:inset 0 0 0 1px #e6ebf5}
.studentPerformanceGauge>div{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.studentPerformanceGauge strong{font-size:42px;line-height:1;color:#193a8a;font-weight:900}
.studentPerformanceGauge span{font-size:12px;font-weight:900;color:#4f5e75;margin-top:5px}
.studentPerformanceGauge small{font-size:10px;color:#97a1b2;margin-top:3px}

/* metrics and actions */
.studentMetricStrip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:16px}
.studentMetricStrip article{
  min-width:0;display:flex;align-items:center;gap:12px;padding:17px 15px;border:1px solid var(--student-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.035)
}
.studentMetricStrip .metricIcon{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;font-style:normal;font-size:19px;flex:0 0 auto}
.metricIcon.study{background:#eff6ff;color:#2563eb}.metricIcon.tests{background:#f3e8ff;color:#7c3aed}.metricIcon.days{background:#ecfeff;color:#0891b2}.metricIcon.plan{background:#ecfdf5;color:#059669}.metricIcon.review{background:#fff7ed;color:#ea580c}
.studentMetricStrip article>div{min-width:0;display:flex;flex-direction:column}
.studentMetricStrip span{font-size:10px;font-weight:800;color:#8490a3;white-space:nowrap}
.studentMetricStrip strong{font-size:19px;color:#172c4e;margin-top:4px;white-space:nowrap}
.studentMetricStrip small{font-size:9.5px;color:#8c96a6;margin-top:4px;white-space:nowrap}
.studentMetricStrip small.delta.up{color:#059669}.studentMetricStrip small.delta.down{color:#dc2626}
.studentActionDock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.studentActionDock>a,.studentActionDock>button{
  appearance:none;border:1px solid var(--student-line);background:#fff;border-radius:18px;padding:13px 14px;display:flex;align-items:center;gap:11px;text-align:right;color:inherit;cursor:pointer;transition:.18s ease;box-shadow:0 8px 26px rgba(15,23,42,.025)
}
.studentActionDock>a:hover,.studentActionDock>button:hover{transform:translateY(-2px);border-color:#cbd8ff;box-shadow:0 14px 30px rgba(37,99,235,.08)}
.studentActionDock>a>span,.studentActionDock>button>span{width:38px;height:38px;display:grid;place-items:center;border-radius:13px;background:#eef4ff;color:#3159d8;font-size:18px;font-weight:900;flex:0 0 auto}
.studentActionDock div{display:flex;flex-direction:column;min-width:0}.studentActionDock strong{font-size:12px;color:#1e314f}.studentActionDock small{font-size:9.5px;color:#8a95a7;margin-top:3px}

/* home cards */
.studentHomeGrid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px;align-items:stretch}
.studentFocusCard,.studentPulseCard,.studentInsightCard,.studentRecentCard{
  border:1px solid var(--student-line);border-radius:var(--student-radius);background:#fff;padding:20px;box-shadow:var(--student-shadow);min-width:0
}
.studentSectionTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.studentSectionTitle>div{min-width:0}.studentSectionTitle>div>span{display:block;color:#7081a0;font-size:10px;font-weight:900;margin-bottom:4px}.studentSectionTitle h3{margin:0;color:#172a49;font-size:16px}
.studentSectionTitle button,.studentSectionTitle a{appearance:none;border:0;background:#f2f6ff;color:#3158c9;border-radius:11px;padding:8px 11px;font-family:inherit;font-size:10px;font-weight:900;cursor:pointer;white-space:nowrap}
.studentFocusCard{grid-row:span 2}
.studentActivePlan{border:1px solid #dae4ff;border-radius:20px;padding:17px;background:linear-gradient(145deg,#f7f9ff,#f0f6ff);display:grid;gap:14px}
.activePlanIdentity{display:flex;align-items:center;gap:12px}.activePlanIdentity>i{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,#335eea,#6d5bea);color:#fff;font-style:normal;font-size:20px;box-shadow:0 12px 26px rgba(51,94,234,.22)}
.activePlanIdentity div{min-width:0;display:flex;flex-direction:column}.activePlanIdentity span{font-size:9px;color:#74839c;font-weight:800}.activePlanIdentity strong{font-size:14px;color:#172e57;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activePlanIdentity small{font-size:9.5px;color:#8590a2;margin-top:4px}
.activePlanTags{display:flex;gap:7px;flex-wrap:wrap}.activePlanTags span{font-size:9px;font-weight:800;color:#546176;border:1px solid #dfe6f2;background:#fff;border-radius:999px;padding:6px 9px}
.studentActivePlan .btn{justify-content:center;width:100%}
.studentNextReview{margin-top:12px;border:1px solid #fed7aa;background:#fffaf3;border-radius:19px;padding:15px}.studentNextReview>div{display:flex;align-items:center;gap:8px;color:#c2410c;font-size:10px;font-weight:900}.studentNextReview>div i{font-style:normal;width:27px;height:27px;display:grid;place-items:center;background:#ffedd5;border-radius:9px}.studentNextReview>strong{display:block;color:#7c2d12;font-size:14px;margin-top:10px}.studentNextReview p{color:#8f614d;font-size:11px;margin:5px 0 10px}.studentNextReview footer{display:flex;justify-content:space-between;color:#9a6a55;font-size:9.5px}.studentNextReview.clear{border-color:#bbf7d0;background:#f0fdf4}.studentNextReview.clear>div,.studentNextReview.clear>strong{color:#047857}.studentNextReview.clear p{color:#648377}
.studentEmptyAction{text-align:center;padding:24px 12px;background:#f8fafc;border:1px dashed #d8e0ec;border-radius:18px}.studentEmptyAction i{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 9px;border-radius:15px;background:#eef2ff;color:#4f46e5;font-style:normal}.studentEmptyAction strong{display:block;color:#263954}.studentEmptyAction p{font-size:10px;color:#8490a1}
.studentOverviewChart{height:260px;min-width:0}.studentPulseFooter{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.studentPulseFooter span{background:#f7f9fc;border:1px solid #edf0f5;border-radius:12px;padding:9px;text-align:center;font-size:9px;color:#78869b}.studentPulseFooter b{display:block;color:#273b59;font-size:12px;margin-bottom:2px}
.studentInsightStack{display:grid;gap:9px}.studentInsightStack article,.analyticsInsightBoard article{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:15px;border:1px solid #e7ecf3;background:#fafbfd}.studentInsightStack article>i,.analyticsInsightBoard article>i{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:0 0 auto;background:#64748b}.studentInsightStack article.positive>i,.analyticsInsightBoard article.positive>i{background:#10b981}.studentInsightStack article.warning>i,.analyticsInsightBoard article.warning>i{background:#f59e0b}.studentInsightStack article.danger>i,.analyticsInsightBoard article.danger>i{background:#ef4444}.studentInsightStack article.info>i,.analyticsInsightBoard article.info>i{background:#3b82f6}.studentInsightStack strong,.analyticsInsightBoard strong{display:block;font-size:11px;color:#263852}.studentInsightStack p,.analyticsInsightBoard p{font-size:9.5px;line-height:1.8;color:#778398;margin:3px 0 0}
.studentRecentList{display:grid;gap:7px}.studentRecentList article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border-radius:14px;transition:.15s}.studentRecentList article:hover{background:#f7f9fc}.recentSubjectMark{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eff6ff;color:#2563eb;font-weight:900}.studentRecentList article>div{min-width:0;display:flex;flex-direction:column}.studentRecentList strong{font-size:11px;color:#273a57}.studentRecentList small{font-size:9px;color:#8b96a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studentRecentList em{font-style:normal;font-size:8.5px;line-height:1.8;color:#8995a6;text-align:left;white-space:nowrap}

/* Analytics hub */
.studentAnalyticsView{scroll-behavior:smooth}
.studentAnalyticsHero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#132b56,#1d4ed8 58%,#0891b2);color:#fff;box-shadow:0 20px 55px rgba(30,64,175,.20);overflow:hidden;position:relative}
.studentAnalyticsHero::after{content:"";position:absolute;width:270px;height:270px;border-radius:50%;left:-70px;top:-130px;border:45px solid rgba(255,255,255,.06)}
.studentAnalyticsHero>div:first-child{position:relative;z-index:1}.studentAnalyticsHero>div:first-child>span{font-size:11px;font-weight:900;color:#bfdbfe}.studentAnalyticsHero h2{font-size:clamp(23px,3vw,36px);margin:7px 0 8px;letter-spacing:-.7px}.studentAnalyticsHero p{font-size:12px;line-height:1.9;color:#dbeafe;margin:0;max-width:800px}
.analyticsScoreCard{position:relative;z-index:1;width:145px;min-width:145px;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.12);backdrop-filter:blur(12px);border-radius:22px;padding:17px;text-align:center}.analyticsScoreCard small{display:block;color:#dbeafe;font-size:9px}.analyticsScoreCard strong{display:block;font-size:38px;line-height:1.2;margin:4px 0}.analyticsScoreCard span{display:inline-flex;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:5px 9px;font-size:9px;font-weight:900;background:rgba(255,255,255,.12)!important;color:#fff!important}
.analyticsAnchorNav{display:flex;align-items:center;gap:7px;overflow:auto;padding:12px 3px 8px;scrollbar-width:none;position:sticky;top:0;z-index:5;background:rgba(244,247,251,.92);backdrop-filter:blur(14px)}.analyticsAnchorNav::-webkit-scrollbar{display:none}.analyticsAnchorNav a{white-space:nowrap;border:1px solid #e0e7f2;background:#fff;color:#53627a;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:900}.analyticsAnchorNav a:hover{border-color:#b9c9ff;color:#2747bd}
.analyticsSummaryGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:8px 0 18px}.analyticsSummaryGrid article{background:#fff;border:1px solid var(--student-line);border-radius:18px;padding:15px}.analyticsSummaryGrid span{display:block;font-size:9.5px;font-weight:800;color:#7b8799}.analyticsSummaryGrid strong{display:block;font-size:18px;color:#203653;margin:5px 0 10px}.analyticsSummaryGrid div{height:6px;background:#edf1f7;border-radius:999px;overflow:hidden}.analyticsSummaryGrid div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#06b6d4)}.analyticsSummaryGrid small{display:block;font-size:8.5px;color:#95a0b0;margin-top:7px}
.analyticsSection{scroll-margin-top:85px;margin-top:18px;padding-top:3px}.analyticsSectionHead{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px}.analyticsSectionHead>div{display:flex;align-items:center;gap:11px}.analyticsSectionHead>div>span{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:#e8efff;color:#3158ca;font-weight:900;font-size:12px}.analyticsSectionHead h3{margin:0;color:#172d4c;font-size:17px}.analyticsSectionHead p{margin:3px 0 0;color:#8490a2;font-size:9.5px}.analyticsSectionHead>em{font-style:normal;border:1px solid #e3e8f0;background:#fff;border-radius:999px;padding:7px 10px;color:#7d899a;font-size:9px;white-space:nowrap}
.analyticsChartGrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:12px}.analyticsChartGrid.threeCharts{grid-template-columns:repeat(3,minmax(0,1fr))}.analyticsChartCard{min-width:0;background:#fff;border:1px solid var(--student-line);border-radius:22px;padding:16px;box-shadow:0 10px 32px rgba(15,23,42,.035)}.analyticsChartCard header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.analyticsChartCard header>div{display:flex;flex-direction:column}.analyticsChartCard header strong{font-size:12px;color:#263a58}.analyticsChartCard header small{font-size:8.5px;color:#8f99a8;margin-top:3px}.analyticsChartCard header>span{font-size:9.5px;font-weight:900;color:#3158ca;background:#eff4ff;border-radius:999px;padding:6px 9px;white-space:nowrap}.analyticsCanvas{height:280px;min-width:0}.analyticsCanvas.large{height:330px}
.studentHeatmapLegend{display:flex;align-items:center;justify-content:flex-end;gap:5px;font-size:8px;color:#8a95a5;margin:8px 0}.studentHeatmapLegend i{width:13px;height:13px;border-radius:4px}.studentHeatmapLegend i[data-level="1"]{background:#dbeafe}.studentHeatmapLegend i[data-level="2"]{background:#93c5fd}.studentHeatmapLegend i[data-level="3"]{background:#3b82f6}.studentHeatmapLegend i[data-level="4"]{background:#1d4ed8}
.studentHeatmap{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;direction:rtl;padding-top:7px}.studentHeatmap>div{aspect-ratio:1;border-radius:7px;background:#eef2f7;display:grid;place-items:center;position:relative;transition:.15s}.studentHeatmap>div:hover{transform:scale(1.08);z-index:2}.studentHeatmap .heatLevel1{background:#dbeafe}.studentHeatmap .heatLevel2{background:#93c5fd}.studentHeatmap .heatLevel3{background:#3b82f6}.studentHeatmap .heatLevel4{background:#1d4ed8}.studentHeatmap .today{outline:2px solid #7c3aed;outline-offset:2px}.studentHeatmap span{font-size:7px;font-weight:900;color:#fff}.studentHeatmap .heatLevel0 span,.studentHeatmap .heatLevel1 span{color:#64748b}.heatmapWeekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:7px;text-align:center;color:#94a3b8;font-size:8px}
.studentSubjectTable{margin-top:11px;border:1px solid var(--student-line);border-radius:19px;background:#fff;overflow:hidden}.subjectTableHead,.studentSubjectTable>article{display:grid;grid-template-columns:minmax(150px,1.5fr) repeat(5,minmax(74px,.7fr));align-items:center;gap:8px;padding:10px 14px}.subjectTableHead{background:#f5f7fb;color:#7c8799;font-size:8.5px;font-weight:900}.studentSubjectTable>article{border-top:1px solid #eef1f5;font-size:9.5px;color:#627088}.studentSubjectTable>article strong{font-size:10.5px;color:#253955}.studentSubjectTable>article:hover{background:#fafcff}
.analyticsInsightBoard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.analyticsInsightBoard article{background:#fff;padding:14px}

/* Improve all student secondary pages */
body.v29-ui.role-student .compactPageHero{border-radius:26px;background:linear-gradient(135deg,#f0f5ff,#f7fbff);border-color:#dfe8f8;padding:26px 28px}
body.v29-ui.role-student .compactPageHero h2{color:#17325d;font-size:24px}
body.v29-ui.role-student .contentCard{border-radius:22px;border-color:var(--student-line);box-shadow:0 12px 35px rgba(15,23,42,.045)}
body.v29-ui.role-student .entryFormCard,body.v29-ui.role-student .todayGuideCard{min-width:0}
body.v29-ui.role-student .studentPlanGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
body.v29-ui.role-student .studentPlanCard{border-radius:22px;border-color:var(--student-line);box-shadow:0 12px 34px rgba(15,23,42,.04)}
body.v29-ui.role-student .responsiveEntryList article{border-radius:17px;border-color:#e8edf4}
body.v29-ui.role-student input,body.v29-ui.role-student textarea,body.v29-ui.role-student select{border-radius:14px;border-color:#dfe6ef;background:#fbfcfe;min-height:45px}
body.v29-ui.role-student textarea{min-height:100px}
body.v29-ui.role-student input:focus,body.v29-ui.role-student textarea:focus,body.v29-ui.role-student select:focus{border-color:#90a8ff;box-shadow:0 0 0 4px rgba(37,99,235,.08)}

@media (max-width:1180px){
  .studentMetricStrip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .studentHomeGrid{grid-template-columns:1fr 1fr}.studentFocusCard{grid-row:auto}.studentFocusCard,.studentPulseCard{grid-column:span 1}.studentInsightCard,.studentRecentCard{grid-column:span 1}
  .analyticsChartGrid.threeCharts{grid-template-columns:repeat(2,minmax(0,1fr))}.analyticsChartGrid.threeCharts .analyticsChartCard:last-child{grid-column:span 2}
}

@media (max-width:820px){
  body.v29-ui.role-student .mainBody{padding:12px 11px calc(92px + env(safe-area-inset-bottom))}
  .studentCommandHero{grid-template-columns:1fr;padding:22px 18px;border-radius:24px;gap:18px}.studentPerformanceGauge{position:absolute;left:17px;top:18px;width:82px;height:82px;padding:7px;box-shadow:none}.studentPerformanceGauge::before{inset:6px}.studentPerformanceGauge strong{font-size:23px}.studentPerformanceGauge span{font-size:7px}.studentPerformanceGauge small{display:none}.studentCommandCopy{padding-left:78px}.studentCommandCopy h2{font-size:24px}.studentCommandCopy>p{font-size:11px;line-height:1.85}.studentHeroActions{margin-right:-78px}.studentHeroActions .btn{flex:1 1 calc(50% - 5px);justify-content:center;min-height:44px;padding-inline:10px;font-size:10px}.studentHeroActions .softAi{flex-basis:100%}
  .studentMetricStrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.studentMetricStrip article{padding:13px 11px;border-radius:17px}.studentMetricStrip article:last-child{grid-column:span 2}.studentMetricStrip .metricIcon{width:38px;height:38px;border-radius:12px}.studentMetricStrip strong{font-size:16px}
  .studentActionDock{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.studentActionDock>a,.studentActionDock>button{padding:11px;border-radius:16px}.studentActionDock>a>span,.studentActionDock>button>span{width:35px;height:35px}
  .studentHomeGrid{grid-template-columns:1fr}.studentFocusCard,.studentPulseCard,.studentInsightCard,.studentRecentCard{grid-column:auto;padding:15px;border-radius:20px}.studentOverviewChart{height:235px}.studentPulseFooter{gap:5px}.studentPulseFooter span{padding:8px 4px}
  .studentAnalyticsHero{padding:22px 17px;border-radius:23px;align-items:flex-start}.studentAnalyticsHero h2{font-size:23px}.studentAnalyticsHero p{font-size:10px}.analyticsScoreCard{min-width:84px;width:84px;padding:11px;border-radius:17px}.analyticsScoreCard strong{font-size:28px}.analyticsScoreCard small{font-size:7px}.analyticsScoreCard span{font-size:7px;padding:4px 6px}
  .analyticsAnchorNav{margin-inline:-11px;padding-inline:11px;top:52px}.analyticsSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.analyticsSummaryGrid article{padding:12px;border-radius:16px}.analyticsSummaryGrid strong{font-size:15px}
  .analyticsSection{scroll-margin-top:110px}.analyticsSectionHead h3{font-size:15px}.analyticsSectionHead p{font-size:8.5px}.analyticsSectionHead>em{display:none}.analyticsSectionHead>div>span{width:31px;height:31px}
  .analyticsChartGrid,.analyticsChartGrid.threeCharts{grid-template-columns:1fr}.analyticsChartGrid.threeCharts .analyticsChartCard:last-child{grid-column:auto}.analyticsChartCard{padding:13px;border-radius:19px}.analyticsCanvas,.analyticsCanvas.large{height:265px}.analyticsChartCard header strong{font-size:11px}
  .studentHeatmap{gap:5px}.studentHeatmap>div{border-radius:6px}.studentHeatmap span{font-size:6px}
  .subjectTableHead{display:none}.studentSubjectTable{border:0;background:transparent;display:grid;gap:8px}.studentSubjectTable>article{grid-template-columns:repeat(3,1fr);gap:7px;padding:12px;background:#fff;border:1px solid var(--student-line);border-radius:16px}.studentSubjectTable>article strong{grid-column:span 3;font-size:12px;padding-bottom:7px;border-bottom:1px solid #edf0f5}.studentSubjectTable>article span{font-size:8.5px;background:#f6f8fb;border-radius:9px;padding:7px;text-align:center}.analyticsInsightBoard{grid-template-columns:1fr}
  body.v29-ui.role-student .studentPlanGrid{grid-template-columns:1fr}
  body.v29-ui.role-student .contentGrid.twoWide,body.v29-ui.role-student .entryStudioGrid{grid-template-columns:1fr}
}

@media (max-width:430px){
  .studentCommandCopy h2{font-size:21px}.studentCommandCopy>p{font-size:10px}.studentHelloRow{max-width:175px}.studentTrendPill{font-size:8px;padding:5px 8px}
  .studentMetricStrip article{gap:8px}.studentMetricStrip span{font-size:8.5px}.studentMetricStrip strong{font-size:14px}.studentMetricStrip small{font-size:8px}
  .studentSectionTitle h3{font-size:14px}.studentPulseFooter b{font-size:10px}.studentAnalyticsHero h2{font-size:20px}
  .analyticsCanvas,.analyticsCanvas.large{height:240px}
}

/* V30 | Provider-neutral AI operations */
.aiProviderStrip{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(210px,auto);align-items:center;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid rgba(72,88,255,.14);border-radius:20px;background:linear-gradient(135deg,rgba(79,70,229,.06),rgba(6,182,212,.05)),#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.aiProviderIdentity{display:flex;align-items:center;gap:11px;min-width:0}.aiProviderLogo{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.22)}.aiProviderIdentity div{display:grid;gap:3px;min-width:0}.aiProviderIdentity strong{font-size:13px;color:#111827}.aiProviderIdentity small{font-size:9px;color:#667085;direction:ltr;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aiProviderFacts{display:flex;align-items:center;gap:10px}.aiProviderFacts span{display:grid;gap:2px;min-width:112px;padding:9px 12px;border:1px solid #e6eaf0;border-radius:14px;background:rgba(255,255,255,.8);text-align:center}.aiProviderFacts b{font-size:12px;color:#111827}.aiProviderFacts small{font-size:8px;color:#667085}
.aiProviderTestBox{display:grid;gap:5px;justify-items:stretch}.aiProviderTestBox small{max-width:220px;font-size:8px;color:#667085;text-align:center;line-height:1.7}
@media(max-width:900px){.aiProviderStrip{grid-template-columns:1fr 1fr}.aiProviderTestBox{grid-column:1/-1}.aiProviderFacts{justify-content:flex-end}}
@media(max-width:620px){.aiProviderStrip{grid-template-columns:1fr;padding:12px;border-radius:17px}.aiProviderFacts{justify-content:stretch}.aiProviderFacts span{flex:1;min-width:0}.aiProviderTestBox{grid-column:auto}.aiProviderIdentity small{white-space:normal;direction:rtl}.aiProviderTestBox .btn{min-height:44px}}

/* ===== v30.css ===== */
/* V30 | Provider-neutral AI operations */
.aiProviderStrip{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(210px,auto);align-items:center;gap:16px;margin-top:14px;padding:14px 16px;border:1px solid rgba(72,88,255,.14);border-radius:20px;background:linear-gradient(135deg,rgba(79,70,229,.06),rgba(6,182,212,.05)),#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.aiProviderIdentity{display:flex;align-items:center;gap:11px;min-width:0}.aiProviderLogo{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.22)}.aiProviderIdentity div{display:grid;gap:3px;min-width:0}.aiProviderIdentity strong{font-size:13px;color:#111827}.aiProviderIdentity small{font-size:9px;color:#667085;direction:ltr;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aiProviderFacts{display:flex;align-items:center;gap:10px}.aiProviderFacts span{display:grid;gap:2px;min-width:112px;padding:9px 12px;border:1px solid #e6eaf0;border-radius:14px;background:rgba(255,255,255,.8);text-align:center}.aiProviderFacts b{font-size:12px;color:#111827}.aiProviderFacts small{font-size:8px;color:#667085}
.aiProviderTestBox{display:grid;gap:5px;justify-items:stretch}.aiProviderTestBox small{max-width:220px;font-size:8px;color:#667085;text-align:center;line-height:1.7}
@media(max-width:900px){.aiProviderStrip{grid-template-columns:1fr 1fr}.aiProviderTestBox{grid-column:1/-1}.aiProviderFacts{justify-content:flex-end}}
@media(max-width:620px){.aiProviderStrip{grid-template-columns:1fr;padding:12px;border-radius:17px}.aiProviderFacts{justify-content:stretch}.aiProviderFacts span{flex:1;min-width:0}.aiProviderTestBox{grid-column:auto}.aiProviderIdentity small{white-space:normal;direction:rtl}.aiProviderTestBox .btn{min-height:44px}}

/* ===== v31.css ===== */
/* V31 | advisor intelligence command center, scale layer and unified notifications */
:root{
  --v31-ink:#172033;
  --v31-muted:#718096;
  --v31-line:#e8edf5;
  --v31-soft:#f7f9fd;
  --v31-primary:#4658d6;
  --v31-aqua:#0891b2;
  --v31-success:#0f9f74;
  --v31-warning:#d97706;
  --v31-danger:#dc4251;
  --v31-violet:#7c3aed;
}
.v31-ui .mainTop{position:sticky;top:0;z-index:38;backdrop-filter:blur(18px);background:rgba(247,249,253,.88);border-bottom:1px solid rgba(226,232,240,.72)}
.v31-ui .topActions{align-items:center}.v31-ui .secondaryKpiRow{margin-top:18px}

/* Cohort command center */
.cohortCommandCenter{display:grid;gap:18px;margin-bottom:22px}
.cohortCommandHero{position:relative;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.55fr);gap:22px;overflow:hidden;padding:26px 28px;border:1px solid rgba(70,88,214,.13);border-radius:28px;background:
  radial-gradient(circle at 8% 8%,rgba(6,182,212,.14),transparent 28%),
  radial-gradient(circle at 96% 0,rgba(124,58,237,.15),transparent 34%),
  linear-gradient(135deg,#fff 0%,#f8faff 55%,#f5f3ff 100%);box-shadow:0 18px 46px rgba(31,41,75,.08)}
.cohortCommandHero:after{content:"";position:absolute;inset:auto -90px -120px auto;width:260px;height:260px;border:38px solid rgba(70,88,214,.035);border-radius:50%;pointer-events:none}
.cohortCommandTitle{position:relative;z-index:1}.commandEyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid rgba(70,88,214,.13);border-radius:999px;background:#fff;color:var(--v31-primary);font-size:10px;font-weight:900;box-shadow:0 6px 16px rgba(70,88,214,.07)}
.cohortCommandTitle h2{max-width:760px;margin:12px 0 8px;color:#172033;font-size:clamp(20px,2.25vw,31px);line-height:1.55;letter-spacing:-.5px}.cohortCommandTitle>p{max-width:850px;margin:0;color:#64748b;font-size:12px;line-height:2}
.commandSummaryPoints{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.commandSummaryPoints span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e6ebf4;border-radius:12px;background:rgba(255,255,255,.88);color:#475569;font-size:9px;font-weight:700}.commandSummaryPoints span:before{content:"";width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#4658d6,#06b6d4);box-shadow:0 0 0 4px rgba(70,88,214,.08)}
.commandFreshness{position:relative;z-index:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:18px 20px;border:1px solid rgba(255,255,255,.9);border-radius:22px;background:rgba(255,255,255,.7);box-shadow:0 12px 32px rgba(40,48,90,.07);backdrop-filter:blur(12px)}.commandFreshness i{width:10px;height:10px;margin-bottom:7px;border:2px solid #fff;border-radius:50%;background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.13)}.commandFreshness span{color:#718096;font-size:9px;font-weight:700}.commandFreshness strong{color:#172033;font-size:14px}.commandFreshness small{margin-top:6px;color:#8491a3;font-size:8px;line-height:1.8}
.cohortPulseGrid{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:10px}.pulseCard{position:relative;overflow:hidden;min-height:112px;padding:15px 14px;border:1px solid var(--v31-line);border-radius:19px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.045)}.pulseCard:after{content:"";position:absolute;left:-20px;bottom:-28px;width:70px;height:70px;border-radius:50%;background:var(--pulse-color,rgba(70,88,214,.09))}.pulseCard span,.pulseCard small,.pulseCard strong{position:relative;z-index:1;display:block}.pulseCard span{color:#6b778a;font-size:9px;font-weight:800}.pulseCard strong{margin:7px 0 4px;color:#172033;font-size:24px;line-height:1}.pulseCard small{color:#94a0b1;font-size:7.8px;line-height:1.7}.pulseCard.critical{--pulse-color:rgba(220,66,81,.12);border-color:rgba(220,66,81,.16)}.pulseCard.warning{--pulse-color:rgba(217,119,6,.13);border-color:rgba(217,119,6,.16)}.pulseCard.success,.pulseCard.calm{--pulse-color:rgba(15,159,116,.12);border-color:rgba(15,159,116,.15)}.pulseCard.primary{--pulse-color:rgba(70,88,214,.12)}.pulseCard.aqua{--pulse-color:rgba(8,145,178,.12)}.pulseCard.violet{--pulse-color:rgba(124,58,237,.12)}.pulseCard.muted{--pulse-color:rgba(100,116,139,.10)}
.commandMainGrid{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);gap:16px}.dailyDigestCard,.attentionRadarCard{min-width:0;border:1px solid var(--v31-line);border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.055)}.dailyDigestCard{overflow:hidden}.dailyDigestHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid #eef2f7;background:linear-gradient(135deg,rgba(70,88,214,.06),rgba(6,182,212,.04))}.dailyDigestHead>div{display:grid;gap:4px}.dailyDigestHead span{color:#4658d6;font-size:10px;font-weight:900}.dailyDigestHead h3{margin:0;color:#172033;font-size:16px}.dailyDigestHead small{color:#7c899b;font-size:8px}.digestNowButton{white-space:nowrap}.dailyDigestText{max-height:330px;overflow:auto;padding:22px;color:#334155;font-size:11px;line-height:2.15;white-space:pre-line;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.digestScheduleForm{display:grid;grid-template-columns:minmax(120px,.75fr) minmax(120px,.75fr) auto auto;align-items:end;gap:10px;padding:15px 18px;border-top:1px solid #edf1f6;background:#fafbfe}.digestScheduleForm>div{display:grid;gap:6px}.digestScheduleForm label{color:#687588;font-size:8px;font-weight:800}.digestScheduleForm input[type=time],.digestScheduleForm select{width:100%;min-height:39px;padding:0 10px;border:1px solid #dfe6ef;border-radius:11px;background:#fff;color:#172033;font-family:inherit;font-size:10px}.digestScheduleForm>small{grid-column:1/-1;color:#8a96a7;font-size:7.5px}.digestToggle{display:flex!important;align-items:center;gap:8px;min-height:39px;padding:0 10px;border:1px solid #e3e8f0;border-radius:11px;background:#fff;white-space:nowrap}.digestToggle input{position:absolute;opacity:0;pointer-events:none}.digestToggle span{position:relative;width:33px;height:19px;border-radius:999px;background:#cbd5e1;transition:.2s}.digestToggle span:after{content:"";position:absolute;top:3px;right:3px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.22);transition:.2s}.digestToggle input:checked+span{background:#4658d6}.digestToggle input:checked+span:after{transform:translateX(-14px)}.digestToggle b{color:#526071;font-size:8px}
.attentionRadarCard{padding:20px}.dangerBadge{border-color:rgba(220,66,81,.16)!important;background:rgba(220,66,81,.08)!important;color:#c73645!important}.attentionRadarList{display:grid;gap:8px;max-height:550px;overflow:auto;padding-left:3px;scrollbar-width:thin;scrollbar-color:#d6deea transparent}.attentionRadarRow{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px;border:1px solid #e9edf4;border-radius:16px;background:#fbfcff;transition:.18s}.attentionRadarRow:hover{transform:translateY(-1px);border-color:#d6deeb;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.05)}.attentionRadarRow.risk-high{border-right:4px solid #dc4251}.attentionRadarRow.risk-medium{border-right:4px solid #d97706}.attentionScore{display:grid;place-items:center;align-content:center;width:50px;height:50px;border-radius:15px;background:#fff;border:1px solid #e6ebf3}.attentionScore strong{color:#172033;font-size:17px}.attentionScore span{color:#8a96a7;font-size:7px}.attentionStudent{min-width:0}.attentionStudent>div{display:flex;justify-content:space-between;align-items:center;gap:10px}.attentionStudent strong{color:#172033;font-size:11px}.attentionStudent>div span{color:#7f8b9d;font-size:7.5px;white-space:nowrap}.attentionStudent p{margin:4px 0;color:#59677a;font-size:8px;line-height:1.7}.attentionStudent small{display:block;color:#4658d6;font-size:7.5px;font-weight:700}.attentionRadarRow>a{padding:7px 9px;border:1px solid #dce3ee;border-radius:10px;background:#fff;color:#4658d6;font-size:7.5px;font-weight:800;white-space:nowrap}.attentionEmpty{display:grid;place-items:center;gap:5px;min-height:250px;text-align:center}.attentionEmpty span{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:rgba(16,185,129,.10);color:#0f9f74;font-size:22px}.attentionEmpty strong{font-size:12px}.attentionEmpty p{margin:0;color:#8b97a8;font-size:9px}
.cohortChartGrid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:16px}.cohortTrendCard,.cohortRiskCard{border-radius:24px!important}.cohortRiskCard .chartWrap{height:230px}.trendMiniColumns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.trendMiniColumns>div{display:grid;gap:6px;padding:10px;border:1px solid #edf1f6;border-radius:13px;background:#fbfcff}.trendMiniColumns strong{color:#526071;font-size:8.5px}.trendMiniColumns span{display:flex;justify-content:space-between;gap:7px;color:#768296;font-size:7.5px}.trendMiniColumns b{color:#172033}

/* Global notification center */
.notificationBell,.mobileNotificationBell{position:relative;border:1px solid #dfe5ee;background:#fff;color:#526071;cursor:pointer;transition:.18s}.notificationBell{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 11px;border-radius:12px;box-shadow:0 5px 16px rgba(15,23,42,.04)}.notificationBell:hover{border-color:#cdd6e4;transform:translateY(-1px)}.notificationBellIcon{display:grid;place-items:center;width:23px;height:23px;border-radius:8px;background:rgba(70,88,214,.08);color:#4658d6;font-size:15px}.notificationBellText{font-size:8px;font-weight:800}.notificationBell b,.mobileNotificationBell b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#dc4251;color:#fff;font-size:7px;box-shadow:0 3px 8px rgba(220,66,81,.26)}.notificationBell b{position:absolute;top:-7px;left:-6px}.notificationBell b[hidden],.mobileNotificationBell b[hidden]{display:none!important}.mobileHeaderActions{display:flex;align-items:center;gap:7px}.mobileNotificationBell{display:none;width:37px;height:37px;border-radius:12px}.mobileNotificationBell>span{font-size:18px;color:#4658d6}.mobileNotificationBell b{position:absolute;top:-5px;left:-5px}
.notificationScrim{position:fixed;inset:0;z-index:110;visibility:hidden;background:rgba(15,23,42,.25);opacity:0;backdrop-filter:blur(2px);transition:.22s}.notificationDrawer{position:fixed;top:0;left:0;z-index:111;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(390px,92vw);height:100dvh;border-right:1px solid rgba(255,255,255,.8);background:rgba(250,251,254,.97);box-shadow:24px 0 60px rgba(15,23,42,.18);transform:translateX(-104%);transition:transform .26s cubic-bezier(.22,.9,.3,1);backdrop-filter:blur(20px)}.notification-open{overflow:hidden}.notification-open .notificationScrim{visibility:visible;opacity:1}.notification-open .notificationDrawer{transform:translateX(0)}.notificationDrawerHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 19px 15px;border-bottom:1px solid #e8edf4;background:linear-gradient(145deg,#fff,#f5f7ff)}.notificationDrawerHead>div{display:grid;gap:3px}.notificationDrawerHead span{color:#4658d6;font-size:9px;font-weight:900}.notificationDrawerHead strong{color:#172033;font-size:13px}.notificationDrawerHead button{display:grid;place-items:center;width:33px;height:33px;border:1px solid #dfe5ee;border-radius:11px;background:#fff;color:#64748b;font-size:19px;cursor:pointer}.notificationDrawerTools{display:flex;align-items:center;justify-content:space-between;padding:10px 18px;border-bottom:1px solid #edf1f6;background:#fff}.notificationDrawerTools span{color:#7c899b;font-size:8px}.notificationDrawerTools span b{color:#172033}.notificationDrawerTools button{border:0;background:none;color:#4658d6;font-family:inherit;font-size:8px;font-weight:800;cursor:pointer}.notificationDrawerTools button:disabled{opacity:.5}.notificationList{overflow:auto;padding:12px;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.notificationLoading,.notificationEmpty{display:grid;place-items:center;align-content:center;gap:8px;min-height:300px;text-align:center}.notificationLoading i{width:24px;height:24px;border:3px solid #e2e8f0;border-top-color:#4658d6;border-radius:50%;animation:v31spin .8s linear infinite}.notificationLoading span,.notificationEmpty p{color:#8a96a7;font-size:8px}.notificationEmpty span{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:rgba(70,88,214,.08);color:#4658d6;font-size:25px}.notificationEmpty strong{color:#334155;font-size:11px}.notificationEmpty p{margin:0}.notificationEmpty.error span{background:rgba(220,66,81,.09);color:#dc4251}.notificationItem{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;width:100%;margin-bottom:8px;padding:11px;border:1px solid #e6ebf2;border-radius:16px;background:#fff;cursor:pointer;transition:.18s}.notificationItem:hover{border-color:#d4dce8;transform:translateY(-1px);box-shadow:0 8px 20px rgba(15,23,42,.05)}.notificationItem.is-read{opacity:.72;background:#fbfcfe}.notificationItem.is-unread{border-color:rgba(70,88,214,.18);box-shadow:0 8px 22px rgba(70,88,214,.06)}.notificationItemIcon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:rgba(70,88,214,.08);font-size:18px}.notificationItem.level-danger .notificationItemIcon{background:rgba(220,66,81,.10)}.notificationItem.level-warning .notificationItemIcon{background:rgba(217,119,6,.11)}.notificationItem.level-success .notificationItemIcon{background:rgba(15,159,116,.10)}.notificationItemBody{min-width:0}.notificationItemBody>div{display:flex;justify-content:space-between;gap:8px}.notificationItemBody strong{overflow:hidden;color:#263247;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.notificationItemBody time{flex:none;color:#97a2b2;font-size:6.8px}.notificationItemBody p{margin:4px 0 0;color:#6f7c8e;font-size:7.8px;line-height:1.75}.notificationActionHint{display:inline-flex;margin-top:6px;color:#4658d6;font-size:7px;font-weight:900}.notificationUnreadDot{align-self:start;width:7px;height:7px;margin-top:5px;border-radius:50%;background:#4658d6;box-shadow:0 0 0 4px rgba(70,88,214,.10)}.notificationDrawerFoot{padding:10px 16px;border-top:1px solid #e9eef5;background:#fff;color:#8d99aa;font-size:7px;text-align:center}.notificationToastStack{position:fixed;left:18px;bottom:22px;z-index:120;display:grid;gap:8px;width:min(340px,calc(100vw - 30px));pointer-events:none}.notificationToast{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:center;width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 16px 40px rgba(15,23,42,.18);font-family:inherit;text-align:right;opacity:0;transform:translateY(16px) scale(.98);transition:.25s;pointer-events:auto;cursor:pointer;backdrop-filter:blur(16px)}.notificationToast.show{opacity:1;transform:none}.notificationToast>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:rgba(70,88,214,.09);font-size:17px}.notificationToast>div{display:grid;gap:2px}.notificationToast strong{color:#243047;font-size:9px}.notificationToast small{overflow:hidden;color:#718096;font-size:7.5px;text-overflow:ellipsis;white-space:nowrap}.notificationToast.level-danger{border-right:4px solid #dc4251}.notificationToast.level-success{border-right:4px solid #0f9f74}.notificationToast.level-warning{border-right:4px solid #d97706}@keyframes v31spin{to{transform:rotate(360deg)}}

/* Perceived performance */
.v31-ui img{content-visibility:auto}.v31-ui .viewSection:not(.active){content-visibility:hidden}.v31-ui .chartWrap{contain:layout paint}.v31-ui .contentCard,.v31-ui .metricCard{content-visibility:auto;contain-intrinsic-size:260px}.v31-ui button,.v31-ui a{-webkit-tap-highlight-color:transparent}

@media(max-width:1350px){.cohortPulseGrid{grid-template-columns:repeat(4,1fr)}.commandMainGrid{grid-template-columns:1fr}.attentionRadarList{max-height:460px}}
@media(max-width:1050px){.cohortCommandHero{grid-template-columns:1fr}.commandFreshness{min-height:110px}.cohortChartGrid{grid-template-columns:1fr}.digestScheduleForm{grid-template-columns:1fr 1fr}.digestScheduleForm .digestToggle,.digestScheduleForm>.btn{align-self:stretch}}
@media(max-width:760px){.v31-ui .mainTop{position:relative}.notificationBell{display:none}.mobileNotificationBell{display:grid;place-items:center}.cohortCommandCenter{gap:12px}.cohortCommandHero{padding:18px;border-radius:21px}.cohortCommandTitle h2{font-size:20px}.cohortCommandTitle>p{font-size:10px}.commandSummaryPoints{display:grid}.commandSummaryPoints span{justify-content:flex-start}.cohortPulseGrid{grid-template-columns:repeat(2,1fr);gap:8px}.pulseCard{min-height:100px;border-radius:16px}.pulseCard strong{font-size:21px}.commandMainGrid{gap:12px}.dailyDigestCard,.attentionRadarCard{border-radius:19px}.dailyDigestHead{display:grid;padding:16px}.digestNowButton{width:100%}.dailyDigestText{max-height:390px;padding:17px;font-size:10px}.digestScheduleForm{grid-template-columns:1fr;padding:13px}.digestScheduleForm>small{grid-column:auto}.attentionRadarCard{padding:14px}.attentionRadarRow{grid-template-columns:46px minmax(0,1fr);gap:9px}.attentionScore{width:44px;height:44px}.attentionRadarRow>a{grid-column:1/-1;text-align:center}.attentionStudent>div{align-items:flex-start;flex-direction:column;gap:2px}.attentionStudent>div span{white-space:normal}.cohortChartGrid{gap:12px}.trendMiniColumns{grid-template-columns:1fr}.notificationDrawer{width:min(370px,94vw)}.notificationToastStack{left:10px;bottom:78px;width:calc(100vw - 20px)}}
@media(max-width:430px){.cohortPulseGrid{grid-template-columns:1fr 1fr}.pulseCard{padding:13px 11px}.cohortCommandHero{padding:16px}.commandFreshness{padding:15px}.dailyDigestHead h3{font-size:13px}.notificationItemBody>div{display:grid}.notificationItemBody time{margin-top:1px}.notificationToast{grid-template-columns:34px minmax(0,1fr);padding:10px}}
@media(prefers-reduced-motion:reduce){.notificationDrawer,.notificationScrim,.notificationToast,.attentionRadarRow,.notificationBell{transition:none!important}.notificationLoading i{animation:none}}

/* V31 readability pass: compact, but never microscopic */
.commandSummaryPoints span{font-size:11px}.commandFreshness span{font-size:11px}.commandFreshness small{font-size:10px}
.pulseCard span{font-size:11px}.pulseCard small{font-size:10px}.dailyDigestHead small{font-size:10px}
.digestScheduleForm label,.digestToggle b{font-size:10px}.digestScheduleForm>small{font-size:9.5px}
.attentionScore span{font-size:9px}.attentionStudent>div span{font-size:9.5px}.attentionStudent p{font-size:10px}.attentionStudent small{font-size:9.5px}.attentionRadarRow>a{font-size:9.5px}
.trendMiniColumns strong{font-size:10.5px}.trendMiniColumns span{font-size:9.5px}
.notificationBellText{font-size:11px}.notificationBell b,.mobileNotificationBell b{font-size:9px}
.notificationDrawerHead span{font-size:11px}.notificationDrawerHead strong{font-size:16px}.notificationDrawerTools span,.notificationDrawerTools button{font-size:10.5px}
.notificationLoading span,.notificationEmpty p{font-size:10.5px}.notificationEmpty strong{font-size:13px}
.notificationItemBody strong{font-size:12px}.notificationItemBody time{font-size:9px}.notificationItemBody p{font-size:10.5px}.notificationActionHint{font-size:10px}.notificationDrawerFoot{font-size:9.5px}
.notificationToast strong{font-size:12px}.notificationToast small{font-size:10.5px}
@media(max-width:760px){.cohortCommandTitle>p{font-size:12px}.dailyDigestText{font-size:12px}.notificationItemBody strong{font-size:12px}.notificationItemBody p{font-size:10.5px}}

/* ===== v32.css ===== */
/* v32 — Student mock-exam analytics */
.studentExamPage .mainBody{max-width:1500px;margin-inline:auto;width:100%}
.examHeroV32{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,.55fr);gap:30px;align-items:center;padding:34px;border:1px solid #e4e8f6;border-radius:28px;background:linear-gradient(135deg,#f7f8ff 0%,#eefbf8 100%);box-shadow:0 18px 54px rgba(58,70,125,.09)}
.examHeroV32:before,.examHeroV32:after{content:"";position:absolute;border-radius:999px;filter:blur(2px);pointer-events:none}.examHeroV32:before{width:240px;height:240px;background:rgba(75,89,211,.09);inset:-120px auto auto -60px}.examHeroV32:after{width:180px;height:180px;background:rgba(16,168,141,.10);inset:auto -55px -95px auto}
.examHeroCopy,.examHeroScore{position:relative;z-index:1}.examEyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#fff;color:#4b59d3;font-size:12px;font-weight:900;box-shadow:0 5px 18px rgba(75,89,211,.08)}
.examHeroCopy h2{margin:14px 0 9px;font-size:clamp(23px,3vw,36px);line-height:1.45;color:#18213e}.examHeroCopy p{max-width:760px;margin:0;color:#68738c;line-height:2;font-size:14px}.examHeroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.examHeroScore{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);box-shadow:0 16px 38px rgba(47,60,117,.09)}.examHeroScore small{color:#707b94;font-weight:700}.examHeroScore strong{font-size:54px;line-height:1.1;color:#4656d2;margin-top:8px}.examHeroScore span{font-size:12px;color:#8a93a8}.examHeroScore em{margin-top:13px;font-style:normal;padding:6px 10px;border-radius:999px;background:#f0f3fa;color:#68738c;font-size:11px;font-weight:800}.examHeroScore em.up{background:#e9f8f3;color:#09876f}.examHeroScore em.down{background:#fff0f2;color:#c63e55}
.examMetricGridV32{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.examMetricGridV32 article{display:flex;align-items:center;gap:12px;min-height:112px;padding:18px;border:1px solid #e8ebf4;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(47,60,117,.055)}.examMetricGridV32 i{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:#f0f2ff;color:#4857d3;font-size:20px;font-style:normal}.examMetricGridV32 article:nth-child(2) i{background:#ebfaf6;color:#07927a}.examMetricGridV32 article:nth-child(3) i{background:#fff5e9;color:#d57a21}.examMetricGridV32 article:nth-child(4) i{background:#f5efff;color:#7e50c9}.examMetricGridV32 div{display:flex;flex-direction:column;min-width:0}.examMetricGridV32 span{font-size:11px;color:#7c869d;font-weight:700}.examMetricGridV32 strong{font-size:23px;color:#1f2945;margin:2px 0}.examMetricGridV32 small{font-size:10px;color:#9098aa}
.examWorkspaceV32{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(285px,.75fr);gap:18px;align-items:start}.examEntryCardV32,.examInsightPanelV32,.examAnalyticsV32,.examHistoryV32,.examSubjectProgressV32{border:1px solid #e6e9f3;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(44,58,110,.055)}.examEntryCardV32{padding:24px}.examInsightPanelV32{position:sticky;top:18px;padding:22px}
.examSectionHeadV32{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.examSectionHeadV32>div span,.examInsightPanelV32 header span,.examSubjectProgressHead span{display:block;color:#5261d5;font-size:11px;font-weight:900;margin-bottom:5px}.examSectionHeadV32 h3,.examInsightPanelV32 h3,.examSubjectProgressHead h3{margin:0;color:#202a46;font-size:19px}.examSectionHeadV32 em,.examSectionHeadV32>a{font-style:normal;font-size:11px;color:#7c859a;background:#f4f6fb;border-radius:999px;padding:7px 11px;text-decoration:none}
.examMainFieldsV32{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.examMainFieldsV32 .span2{grid-column:span 2}.examFormV32 .field label{display:block;margin:0 3px 7px;color:#5f6981;font-size:11px;font-weight:800}.examFormV32 input,.examFormV32 select,.examFormV32 textarea{width:100%;border:1px solid #dfe4f0;border-radius:13px;background:#fbfcff;color:#25304d;min-height:44px;padding:10px 12px;font:inherit;outline:none;transition:.2s}.examFormV32 textarea{resize:vertical;line-height:1.9}.examFormV32 input:focus,.examFormV32 select:focus,.examFormV32 textarea:focus{border-color:#7b86e2;background:#fff;box-shadow:0 0 0 4px rgba(76,91,212,.09)}
.examSubjectsEditorV32{margin:22px 0;padding:18px;border:1px solid #e8eaf4;border-radius:20px;background:#fafbff}.examSubjectsHeadV32{display:flex;justify-content:space-between;align-items:center;gap:12px}.examSubjectsHeadV32 span{color:#68738b;font-size:11px;font-weight:700}.examSubjectsHeadV32 h4{margin:2px 0 0;color:#212b47}.examQuickSubjectsV32{display:flex;gap:7px;flex-wrap:wrap;margin:14px 0}.examQuickSubjectsV32 button{border:1px solid #dfe3f2;border-radius:999px;background:#fff;color:#59647d;padding:6px 9px;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.examQuickSubjectsV32 button:hover{border-color:#7783df;color:#4856cf;background:#f4f5ff}
.examSubjectHeaderV32,.examSubjectRowV32{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(4,minmax(64px,.7fr)) minmax(76px,.8fr) minmax(62px,.65fr) minmax(54px,.55fr) 34px;gap:7px;align-items:center}.examSubjectHeaderV32{padding:0 5px 8px;color:#8992a6;font-size:9px;font-weight:800;text-align:center}.examSubjectHeaderV32 span:first-child{text-align:right}.examSubjectRowsV32{display:flex;flex-direction:column;gap:8px}.examSubjectRowV32{padding:8px;border:1px solid #e7eaf3;border-radius:15px;background:#fff;transition:.2s}.examSubjectRowV32.pulseRow{border-color:#6f7bdc;box-shadow:0 0 0 5px rgba(76,91,212,.09)}.examSubjectRowV32 input{min-height:38px;padding:7px 8px;border-radius:10px;text-align:center;font-size:11px}.examSubjectRowV32 input:first-child{text-align:right}.examSubjectRowV32 button{width:30px;height:30px;border:0;border-radius:9px;background:#fff0f2;color:#d0485e;font-size:18px;cursor:pointer}.examFormulaHintV32{margin:11px 3px 0;color:#7f899f;font-size:10px;line-height:1.8}.examSaveButtonV32{width:100%;margin-top:14px;min-height:49px;font-weight:900}
.examInsightPanelV32 header{padding-bottom:16px;border-bottom:1px solid #edf0f6}.examInsightListV32{display:flex;flex-direction:column;gap:10px;margin:16px 0}.examInsightListV32 article{display:flex;gap:10px;padding:12px;border-radius:15px;background:#f7f8fc}.examInsightListV32 i{width:9px;height:9px;margin-top:5px;border-radius:50%;background:#8691aa}.examInsightListV32 article.success i{background:#11a48a}.examInsightListV32 article.warning i{background:#e29a35}.examInsightListV32 article.danger i{background:#df536a}.examInsightListV32 strong{display:block;color:#303a56;font-size:11px}.examInsightListV32 p{margin:4px 0 0;color:#727c92;font-size:10px;line-height:1.8}.examLatestMiniV32{padding:15px;border-radius:17px;background:linear-gradient(145deg,#eef0ff,#effbf8)}.examLatestMiniV32>span{font-size:10px;color:#68738c}.examLatestMiniV32>strong{display:block;margin:4px 0;color:#26304c}.examLatestMiniV32>small{color:#7f899d;font-size:10px}.examLatestMiniV32>div{display:flex;gap:8px;margin-top:11px}.examLatestMiniV32 b{padding:6px 8px;background:#fff;border-radius:10px;color:#4656d2;font-size:11px}
.examAnalyticsV32,.examHistoryV32{margin-top:18px;padding:24px}.examChartGridV32{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.examChartCardV32{min-width:0;border:1px solid #e8eaf2;border-radius:18px;padding:16px;background:#fcfdff}.examChartCardV32.wide{grid-column:span 2}.examChartCardV32 header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.examChartCardV32 strong{display:block;color:#28324f;font-size:12px}.examChartCardV32 small{color:#8790a3;font-size:9px}.examChartCardV32 select{max-width:165px;border:1px solid #dfe4ef;background:#fff;border-radius:10px;padding:7px 10px;color:#3f4965;font:inherit;font-size:10px}.examChartCanvasV32{height:250px}.examChartCanvasV32.large{height:285px}.examChartEmptyV32{height:100%;display:grid;place-items:center;text-align:center;color:#8a93a6;font-size:11px;padding:20px}
.examSubjectProgressV32{margin-top:15px;padding:20px;box-shadow:none}.examSubjectProgressHead{margin-bottom:14px}.examSubjectProgressTableV32{overflow:hidden;border:1px solid #e9ebf3;border-radius:15px}.examProgressHeader,.examSubjectProgressTableV32 article{display:grid;grid-template-columns:minmax(130px,1.5fr) repeat(5,minmax(80px,1fr));gap:8px;align-items:center;padding:11px 14px}.examProgressHeader{background:#f4f6fb;color:#80899d;font-size:9px;font-weight:900}.examSubjectProgressTableV32 article{border-top:1px solid #edf0f5;color:#626d84;font-size:10px}.examSubjectProgressTableV32 article strong{color:#2c3652}.examSubjectProgressTableV32 .up{color:#0b957a;font-weight:900}.examSubjectProgressTableV32 .down{color:#d14960;font-weight:900}
.examHistoryListV32{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.examHistoryCardV32{border:1px solid #e7eaf2;border-radius:20px;padding:18px;background:#fcfdff;scroll-margin-top:20px}.examHistoryCardV32>header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.examHistoryIdentityV32{display:flex;align-items:center;gap:11px;min-width:0}.examHistoryIdentityV32>i{width:44px;height:44px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:#eef0ff;color:#4a59d2;font-style:normal;font-size:18px;font-weight:900}.examHistoryIdentityV32 span{color:#68738b;font-size:9px}.examHistoryIdentityV32 h4{margin:2px 0;color:#26304c;font-size:14px}.examHistoryIdentityV32 small{color:#8b94a7;font-size:9px}.examHistoryScoreV32{text-align:left;white-space:nowrap}.examHistoryScoreV32 strong{display:block;color:#4756d2;font-size:24px}.examHistoryScoreV32 span{font-size:9px;color:#778198}.examHistoryStatsV32{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.examHistoryStatsV32 span{padding:9px;border-radius:12px;background:#f5f7fb;text-align:center}.examHistoryStatsV32 small{display:block;color:#8b94a7;font-size:8px}.examHistoryStatsV32 b{color:#3c4662;font-size:11px}.examSubjectPillsV32{display:flex;gap:6px;flex-wrap:wrap}.examSubjectPillsV32 span{display:flex;gap:6px;align-items:center;padding:5px 8px;border-radius:999px;background:#f0f2f8;color:#59647c;font-size:9px}.examSubjectPillsV32 span.good{background:#eaf8f4;color:#088970}.examSubjectPillsV32 span.weak{background:#fff0f2;color:#c33f56}.examSubjectPillsV32 em{font-style:normal;font-weight:900}.examHistoryNotesV32{margin:12px 0 0;padding:10px;border-radius:12px;background:#fff;color:#69748a;font-size:10px;line-height:1.9}.examAiSummaryV32{margin-top:13px;padding:13px;border:1px solid #dedff5;border-radius:15px;background:linear-gradient(145deg,#f5f3ff,#f1fbf8)}.examAiSummaryV32 header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.examAiSummaryV32 header span{color:#7050c5;font-size:10px;font-weight:900}.examAiSummaryV32 header small{color:#8991a5;font-size:8px}.examAiSummaryV32>div{color:#58637b;font-size:10px;line-height:2}.examHistoryCardV32>footer{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:14px}.examHistoryCardV32>footer form{margin:0}.btn.compact{min-height:34px;padding:7px 11px;font-size:10px}.btn.danger{background:#fff0f2;color:#c94259;border-color:#ffd8de}.examEmptyV32{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;text-align:center;border:1px dashed #dfe3ee;border-radius:19px;background:#fafbfe}.examEmptyV32 i{font-size:38px;color:#7e88df;font-style:normal}.examEmptyV32 strong{margin-top:8px;color:#313b57}.examEmptyV32 p{color:#7c869b;font-size:11px}
.examNavActive{position:relative}.examNavActive:after{content:"جدید";margin-right:auto;padding:3px 7px;border-radius:999px;background:#eaf8f4;color:#087f6b;font-size:8px;font-weight:900}
@media(max-width:1180px){.examMetricGridV32{grid-template-columns:repeat(2,1fr)}.examWorkspaceV32{grid-template-columns:1fr}.examInsightPanelV32{position:static}.examMainFieldsV32{grid-template-columns:repeat(2,minmax(0,1fr))}.examChartGridV32{grid-template-columns:repeat(2,minmax(0,1fr))}.examChartCardV32.wide{grid-column:span 2}}
@media(max-width:760px){.examHeroV32{grid-template-columns:1fr;padding:22px;border-radius:22px}.examHeroScore{min-height:155px}.examMetricGridV32{grid-template-columns:1fr 1fr;gap:9px}.examMetricGridV32 article{min-height:98px;padding:13px}.examMetricGridV32 strong{font-size:19px}.examEntryCardV32,.examAnalyticsV32,.examHistoryV32{padding:16px;border-radius:19px}.examMainFieldsV32{grid-template-columns:1fr}.examMainFieldsV32 .span2{grid-column:auto}.examSubjectHeaderV32{display:none}.examSubjectRowV32{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.examSubjectRowV32 input:first-child{grid-column:1/-2}.examSubjectRowV32 button{grid-column:-2/-1;grid-row:1}.examSubjectRowV32 input:before{content:attr(aria-label)}.examChartGridV32{grid-template-columns:1fr}.examChartCardV32.wide{grid-column:auto}.examHistoryListV32{grid-template-columns:1fr}.examProgressHeader{display:none}.examSubjectProgressTableV32 article{grid-template-columns:repeat(2,1fr);padding:12px}.examSubjectProgressTableV32 article strong{grid-column:1/-1}.examHistoryStatsV32{grid-template-columns:repeat(2,1fr)}.examHistoryCardV32>header{align-items:center}.examSectionHeadV32{align-items:flex-start}.examQuickSubjectsV32{max-height:86px;overflow:auto}.examHeroActions .btn{flex:1 1 150px}.examChartCanvasV32,.examChartCanvasV32.large{height:235px}}
@media(max-width:460px){.examMetricGridV32{grid-template-columns:1fr}.examSubjectRowV32{grid-template-columns:repeat(3,minmax(0,1fr))}.examSubjectRowV32 input:first-child{grid-column:1/-2}.examHistoryScoreV32 strong{font-size:19px}.examHeroCopy h2{font-size:24px}.examHeroScore strong{font-size:44px}}
.examAiSummaryV32>div{white-space:pre-line}

/* ===== v33.css ===== */
:root{--family-ink:#17223b;--family-muted:#718096;--family-line:#e4e9f3;--family-soft:#f6f8fd;--family-primary:#4d5fdd;--family-aqua:#16a6b6;--family-success:#20a56b;--family-warning:#d98b22;--family-danger:#d24f68}
.v33-ui .familyNavV33{background:linear-gradient(135deg,#eef1ff,#f0fbfc);border-color:#dfe5fb}
.familyJoinPage{background:linear-gradient(145deg,#f6f8ff,#f9fcfd)}
.familyJoinShell{max-width:1180px;margin:0 auto;padding:32px 20px 60px}.familyJoinBrand{display:flex;align-items:center;gap:12px;margin-bottom:26px}.familyJoinBrand>i{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#5367e1,#19a8b6);color:#fff;font-style:normal;font-weight:900;font-size:22px;box-shadow:0 14px 30px rgba(70,88,214,.2)}.familyJoinBrand strong,.familyJoinBrand span{display:block}.familyJoinBrand strong{font-size:16px;color:var(--family-ink)}.familyJoinBrand span{font-size:10px;color:var(--family-muted)}
.familyJoinGrid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr);gap:22px;align-items:stretch}.familyJoinIntro,.familyJoinCard{border:1px solid var(--family-line);border-radius:30px;box-shadow:0 22px 60px rgba(34,48,83,.09)}.familyJoinIntro{position:relative;overflow:hidden;padding:42px;background:linear-gradient(145deg,#24365f,#4055be 72%,#16a6b6);color:#fff}.familyJoinIntro:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;left:-120px;bottom:-170px;background:rgba(255,255,255,.08)}.familyKicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.13);font-size:9px;font-weight:900}.familyJoinIntro h1{max-width:560px;margin:20px 0 12px;font-size:30px;line-height:1.55}.familyJoinIntro>p{max-width:570px;color:#e5eaff;line-height:2;font-size:12px}.familyJoinFacts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}.familyJoinFacts div{padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(255,255,255,.08)}.familyJoinFacts span,.familyJoinFacts strong{display:block}.familyJoinFacts span{font-size:8px;color:#cbd5ff}.familyJoinFacts strong{margin-top:5px;font-size:11px}.familyJoinIntro ul{position:relative;z-index:2;display:grid;gap:10px;margin:28px 0 0;padding:0;list-style:none}.familyJoinIntro li{font-size:10px}.familyJoinIntro li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;margin-left:7px;border-radius:7px;background:rgba(255,255,255,.16)}
.familyJoinCard{padding:30px;background:#fff}.familyJoinCardHead span{font-size:9px;font-weight:900;color:var(--family-primary)}.familyJoinCardHead h2{margin:7px 0 20px;font-size:20px;color:var(--family-ink)}.familyRoleChooser{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.familyRoleChooser label{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon sub";gap:2px 9px;align-items:center;padding:13px;border:1px solid var(--family-line);border-radius:16px;cursor:pointer;transition:.2s}.familyRoleChooser input{position:absolute;opacity:0}.familyRoleChooser label:has(input:checked){border-color:#9ca8f2;background:#f1f3ff;box-shadow:0 0 0 3px rgba(77,95,221,.08)}.familyRoleChooser span{grid-area:icon;font-size:23px}.familyRoleChooser b{grid-area:title;font-size:10px;color:var(--family-ink)}.familyRoleChooser small{grid-area:sub;font-size:7px;color:var(--family-muted)}.familyJoinFields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.familyJoinSubmit{width:100%;margin-top:16px;min-height:48px}.familyPrivacy{display:block;margin-top:11px;color:#8993a7;font-size:7.5px;line-height:1.8;text-align:center}.familyJoinInvalid{max-width:560px;margin:60px auto;padding:36px;border:1px solid #ffd8df;border-radius:28px;background:#fff;text-align:center;box-shadow:0 20px 50px rgba(66,43,51,.08)}.familyJoinInvalid>span{display:grid;place-items:center;width:54px;height:54px;margin:0 auto;border-radius:18px;background:#fff0f3;color:var(--family-danger);font-size:25px;font-weight:900}.familyJoinInvalid h1{font-size:22px}.familyJoinInvalid p{color:var(--family-muted)}
.familyAdminHero,.familyHeroPanel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:22px;align-items:center;padding:28px;border:1px solid var(--family-line);border-radius:26px;background:radial-gradient(circle at 90% 10%,rgba(22,166,182,.12),transparent 35%),linear-gradient(145deg,#fff,#f8faff);box-shadow:0 16px 45px rgba(34,48,83,.07)}.familyAdminHero>div>span,.familyHeroPanel>div>span{font-size:9px;font-weight:900;color:var(--family-primary)}.familyAdminHero h2,.familyHeroPanel h2{margin:7px 0 8px;font-size:22px;color:var(--family-ink)}.familyAdminHero p,.familyHeroPanel p{max-width:760px;color:var(--family-muted);font-size:10px;line-height:1.9}.familyAdminHeroStats{display:grid!important;grid-template-columns:repeat(3,1fr);gap:7px}.familyAdminHeroStats article{padding:15px;border:1px solid #e5e9f4;border-radius:17px;background:#fff}.familyAdminHeroStats span,.familyAdminHeroStats strong,.familyAdminHeroStats small{display:block}.familyAdminHeroStats span{font-size:7px;color:var(--family-muted)}.familyAdminHeroStats strong{margin-top:5px;font-size:18px;color:var(--family-ink)}.familyAdminHeroStats small{font-size:7px;color:#8a94a7}
.familyAdminGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.familyAdminForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.familyAdminForm .full{grid-column:1/-1}.familyAdminForm>.btn{align-self:end;min-height:42px}.familyInviteList,.familyMembersSection,.familyFeeTable{margin-top:14px}.familyInviteRows{display:grid;gap:9px}.familyInviteRow{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(280px,1.3fr) auto auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--family-line);border-radius:17px;background:#fff}.familyInviteRow.disabled{opacity:.58;background:#f7f8fa}.familyInviteIdentity{display:flex;align-items:center;gap:9px}.familyInviteIdentity>i{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#eef1ff;font-style:normal}.familyInviteIdentity strong,.familyInviteIdentity span{display:block}.familyInviteIdentity strong{font-size:9px;color:var(--family-ink)}.familyInviteIdentity span{margin-top:3px;font-size:7px;color:var(--family-muted)}.familyInviteUrl{display:flex;gap:5px;padding:4px;border:1px solid #e1e5ef;border-radius:12px;background:#f8f9fc}.familyInviteUrl input{min-width:0;flex:1;border:0!important;background:transparent!important;font-size:7px!important;direction:ltr}.familyInviteUrl button{border:0;border-radius:8px;background:#fff;color:var(--family-primary);font-family:inherit;font-size:7px;font-weight:900;cursor:pointer}.familyInviteMeta span,.familyInviteMeta b{display:block;white-space:nowrap}.familyInviteMeta span{font-size:7px;color:var(--family-muted)}.familyInviteMeta b{margin-top:4px;font-size:8px;color:var(--family-success)}
.familyMemberGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.familyMemberCard{padding:15px;border:1px solid var(--family-line);border-radius:19px;background:linear-gradient(145deg,#fff,#fbfcff)}.familyMemberCard>header{display:grid;grid-template-columns:auto 1fr auto;gap:9px;align-items:center}.familyAvatar{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:linear-gradient(145deg,#5367e1,#18a7b6);color:#fff;font-weight:900}.familyMemberCard header strong,.familyMemberCard header span{display:block}.familyMemberCard header strong{font-size:10px;color:var(--family-ink)}.familyMemberCard header span{font-size:7px;color:var(--family-muted)}.familyMemberCard header em{padding:5px 8px;border-radius:999px;background:#eaf8f2;color:var(--family-success);font-size:7px;font-style:normal}.familyMemberChannels{display:flex;gap:5px;margin:12px 0}.familyMemberChannels span{padding:6px 8px;border-radius:9px;background:#f2f4f9;color:#657087;font-size:7px}.familyLatestReport{padding:10px;border-radius:13px;background:#f6f8fd}.familyLatestReport span,.familyLatestReport strong,.familyLatestReport small{display:block}.familyLatestReport span{font-size:6.5px;color:var(--family-muted)}.familyLatestReport strong{margin-top:3px;font-size:8px;color:var(--family-ink)}.familyLatestReport small{margin-top:3px;font-size:6.5px;color:#8a94a7}.familyMemberActions{display:grid;gap:8px;margin-top:10px}.familySmartMessageForm{display:grid;grid-template-columns:minmax(0,1fr) 90px auto;gap:5px}.familySmartMessageForm input,.familySmartMessageForm select{min-width:0;font-size:8px!important}.familyPendingStudent{margin-top:10px;padding:9px;border-radius:11px;background:#fff8e9;color:#9b6a19;font-size:7.5px}.feeInlineForm{display:flex;gap:4px}.feeInlineForm input{width:100px}.feeInlineForm select{width:110px}.feeInlineForm button{border:0;border-radius:8px;background:#eef1ff;color:var(--family-primary);font-family:inherit;font-size:7px;font-weight:900}.feeStatus{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:7px;font-weight:900}.feeStatus.paid{background:#e9f8f1;color:#19885a}.feeStatus.unpaid,.feeStatus.overdue{background:#fff0f3;color:#c54059}.feeStatus.partial{background:#fff6e7;color:#a96c15}.familyFeeTable td strong,.familyFeeTable td small{display:block}.familyFeeTable td small{font-size:6.5px;color:#929aaa}
.familyChildSwitcher{display:flex;gap:8px;overflow:auto;padding:2px 0 12px}.familyChildSwitcher a{display:flex;align-items:center;gap:8px;min-width:190px;padding:10px;border:1px solid var(--family-line);border-radius:15px;background:#fff;text-decoration:none}.familyChildSwitcher a.active{border-color:#aeb8f4;background:#f1f3ff}.familyChildSwitcher i{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef1ff;color:var(--family-primary);font-style:normal;font-weight:900}.familyChildSwitcher strong,.familyChildSwitcher small{display:block}.familyChildSwitcher strong{font-size:9px;color:var(--family-ink)}.familyChildSwitcher small{font-size:7px;color:var(--family-muted)}.familyHeroActions{display:flex;gap:8px;margin-top:15px}.familyHeroActions form{margin:0}.familyScoreRing{position:relative;display:grid;place-items:center;width:180px;height:180px;margin:auto;border-radius:50%;background:conic-gradient(var(--family-primary) calc(var(--family-score)*1%),#e7eaf3 0);box-shadow:0 18px 40px rgba(70,88,214,.15)}.familyScoreRing:before{content:"";position:absolute;width:135px;height:135px;border-radius:50%;background:#fff}.familyScoreRing>div{position:relative;z-index:2;text-align:center}.familyScoreRing strong,.familyScoreRing span{display:block}.familyScoreRing strong{font-size:34px;color:var(--family-ink)}.familyScoreRing span{font-size:8px;color:var(--family-muted)}
.familyMetricGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:14px 0}.familyMetricGrid article{padding:14px;border:1px solid var(--family-line);border-radius:17px;background:#fff}.familyMetricGrid span,.familyMetricGrid strong,.familyMetricGrid small{display:block}.familyMetricGrid span{font-size:7px;color:var(--family-muted)}.familyMetricGrid strong{margin-top:5px;font-size:19px;color:var(--family-ink)}.familyMetricGrid small{margin-top:4px;font-size:7px;color:#8a94a7}.familyMetricGrid article[class*="risk-"]{background:linear-gradient(145deg,#fff,#fff7f8)}.familyChartsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.familyInsightGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.familyInsightGrid article{display:flex;gap:9px;padding:12px;border:1px solid var(--family-line);border-radius:15px;background:#fff}.familyInsightGrid i{flex:0 0 auto;width:9px;height:9px;margin-top:4px;border-radius:50%;background:var(--family-primary)}.familyInsightGrid article.warning i,.familyInsightGrid article.danger i{background:var(--family-warning)}.familyInsightGrid article.positive i,.familyInsightGrid article.success i{background:var(--family-success)}.familyInsightGrid strong{font-size:8px;color:var(--family-ink)}.familyInsightGrid p{margin:4px 0 0;font-size:7px;line-height:1.8;color:var(--family-muted)}
.familyAiCenter,.familyFinancePanel,.familySettingsPanel,.familyInsights{margin-top:14px}.familyAiGrid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:12px}.familyAiQuestion{padding:14px;border:1px solid #dfe4fb;border-radius:17px;background:linear-gradient(145deg,#f3f5ff,#f6fcfd)}.familyAiQuestion label{display:block;margin-bottom:7px;font-size:9px;font-weight:900;color:var(--family-ink)}.familyAiQuestion textarea{width:100%}.familyAiQuestion .btn{width:100%;margin-top:8px}.familyAiQuestion small{display:block;margin-top:7px;font-size:7px;color:var(--family-muted)}.familyAiReports{display:grid;gap:8px;max-height:560px;overflow:auto}.familyAiReports article{padding:14px;border:1px solid var(--family-line);border-radius:16px;background:#fff}.familyAiReports header{display:flex;justify-content:space-between;gap:8px}.familyAiReports strong{font-size:9px;color:var(--family-ink)}.familyAiReports header span{font-size:6.5px;color:var(--family-muted)}.familyAiReports p{white-space:pre-line;margin:10px 0 0;color:#516079;font-size:8px;line-height:2}.familyFeeCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.familyFeeCards article{padding:14px;border:1px solid var(--family-line);border-radius:17px;background:#fff}.familyFeeCards article.overdue{border-color:#ffd4dc;background:#fffafb}.familyFeeCards article.paid{border-color:#caeddd;background:#fbfffd}.familyFeeCards header,.familyFeeCards footer{display:flex;justify-content:space-between;gap:8px;align-items:center}.familyFeeCards header span,.familyFeeCards header strong{display:block}.familyFeeCards header span{font-size:7px;color:var(--family-muted)}.familyFeeCards header strong{margin-top:3px;font-size:10px;color:var(--family-ink)}.familyFeeCards header em{padding:5px 8px;border-radius:999px;background:#f2f4f8;color:#667085;font-size:7px;font-style:normal}.familyFeeAmounts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0}.familyFeeAmounts span{padding:8px;border-radius:10px;background:#f6f8fb;font-size:6.5px;color:var(--family-muted)}.familyFeeAmounts b{display:block;margin-top:4px;font-size:8px;color:var(--family-ink)}.familyFeeCards footer time{font-size:7px;color:var(--family-muted)}.familyFeeCards>article>p{margin:9px 0 0;padding-top:9px;border-top:1px solid #edf0f5;font-size:7px;color:var(--family-muted)}.familySettingsForm{display:grid;grid-template-columns:repeat(3,1fr) 160px 160px auto;gap:8px;align-items:end}.familySettingToggle{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--family-line);border-radius:14px;background:#fff}.familySettingToggle>input{display:none}.familySettingToggle>span{position:relative;flex:0 0 auto;width:36px;height:20px;border-radius:999px;background:#dfe3eb}.familySettingToggle>span:after{content:"";position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:.2s}.familySettingToggle:has(input:checked)>span{background:var(--family-primary)}.familySettingToggle:has(input:checked)>span:after{right:19px}.familySettingToggle strong,.familySettingToggle small{display:block}.familySettingToggle strong{font-size:8px;color:var(--family-ink)}.familySettingToggle small{font-size:6.5px;color:var(--family-muted)}.familyEmptyPanel{max-width:650px;margin:70px auto;padding:35px;border:1px solid var(--family-line);border-radius:25px;background:#fff;text-align:center}.familyEmptyPanel>span{font-size:42px}.familyEmptyPanel h2{font-size:20px;color:var(--family-ink)}.familyEmptyPanel p{color:var(--family-muted)}
@media(max-width:1100px){.familyMetricGrid{grid-template-columns:repeat(3,1fr)}.familySettingsForm{grid-template-columns:repeat(3,1fr)}.familySettingsForm>.field,.familySettingsForm>.btn{grid-column:auto}.familyInviteRow{grid-template-columns:1fr}.familyMemberGrid,.familyFeeCards{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.familyJoinShell{padding:18px 12px 40px}.familyJoinGrid,.familyAdminHero,.familyHeroPanel,.familyAdminGrid,.familyChartsGrid,.familyAiGrid{grid-template-columns:1fr}.familyJoinIntro{padding:25px}.familyJoinIntro h1{font-size:22px}.familyJoinFacts{grid-template-columns:1fr}.familyJoinCard{padding:18px}.familyRoleChooser,.familyJoinFields,.familyMemberGrid,.familyFeeCards,.familyInsightGrid{grid-template-columns:1fr}.familyAdminHeroStats{grid-template-columns:repeat(3,1fr)}.familyMetricGrid{grid-template-columns:repeat(2,1fr)}.familySmartMessageForm{grid-template-columns:1fr}.familySettingsForm{grid-template-columns:1fr}.familyScoreRing{width:145px;height:145px}.familyScoreRing:before{width:108px;height:108px}.familyScoreRing strong{font-size:28px}.familyAdminForm{grid-template-columns:1fr}.familyAdminForm .full{grid-column:auto}.feeInlineForm{flex-direction:column}.feeInlineForm input,.feeInlineForm select{width:100%}}
.familyAccessForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) minmax(105px,.8fr) auto;gap:7px;align-items:center;padding:9px;border:1px solid #edf0f6;border-radius:13px;background:#fafbfe}.familyAccessForm label{display:flex;align-items:center;gap:6px;color:var(--family-ink);font-size:8px;font-weight:800}.familyAccessForm input{accent-color:var(--family-primary)}.familyAccessForm select,.familyAccessForm button{min-height:33px;border:1px solid #dfe5ee;border-radius:9px;background:#fff;color:var(--family-ink);font-family:inherit;font-size:8px}.familyAccessForm button{padding:0 9px;background:#eef1ff;color:var(--family-primary);font-weight:900;cursor:pointer}.familyRestrictedPanel{display:grid;place-items:center;gap:8px;min-height:190px;padding:28px;border:1px dashed #d8deeb;border-radius:22px;background:linear-gradient(145deg,#fbfcff,#f5f7fb);text-align:center}.familyRestrictedPanel>span{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:#e9edf6;font-size:22px}.familyRestrictedPanel h3{margin:0;color:var(--family-ink);font-size:15px}.familyRestrictedPanel p{max-width:480px;margin:0;color:var(--family-muted);font-size:9px;line-height:1.9}
@media(max-width:760px){.familyAccessForm{grid-template-columns:1fr 1fr}.familyAccessForm select,.familyAccessForm button{width:100%}}

/* ===== v34.css ===== */
/* v34 — Commercial polish, professional student scoring and cohort command dashboard */
:root{
  --v34-ink:#101828;
  --v34-ink-soft:#344054;
  --v34-muted:#667085;
  --v34-line:#e4e7ec;
  --v34-line-strong:#d0d5dd;
  --v34-surface:#fff;
  --v34-soft:#f8fafc;
  --v34-primary:#3157d5;
  --v34-primary-dark:#243fa6;
  --v34-aqua:#0e9f9a;
  --v34-success:#16845b;
  --v34-warning:#b76406;
  --v34-danger:#c3313f;
  --v34-shadow:0 18px 48px rgba(16,24,40,.08);
  --v34-shadow-soft:0 8px 24px rgba(16,24,40,.06);
}
.v34-ui,.v34-ui button,.v34-ui input,.v34-ui select,.v34-ui textarea{
  font-family:"Vazirmatn","Noto Sans Arabic",Tahoma,Arial,sans-serif!important;
}
.v34-ui{color:var(--v34-ink);background:#f5f7fb}
.v34-ui h1,.v34-ui h2,.v34-ui h3,.v34-ui h4,.v34-ui h5,.v34-ui strong,.v34-ui b,.v34-ui label,.v34-ui legend{color:var(--v34-ink)}
.v34-ui input,.v34-ui select,.v34-ui textarea{color:var(--v34-ink)!important;background:#fff;border-color:var(--v34-line-strong)}
.v34-ui input::placeholder,.v34-ui textarea::placeholder{color:#98a2b3}
.v34-ui .pageSubtitle{display:none}
.v34-ui .navBtn small{display:none}
.v34-ui .navBtn{min-height:46px;align-items:center}
.v34-ui .mainBody{max-width:1680px}
.v34-ui .contentCard,.v34-ui .heroPanel,.v34-ui .plannerStudio{border-color:var(--v34-line);box-shadow:var(--v34-shadow-soft)}
.v34-ui .muted{color:var(--v34-muted)}
.v34-ui .btn{font-weight:750}
.v34-ui .btn.primary{background:linear-gradient(135deg,var(--v34-primary),var(--v34-primary-dark));border-color:transparent;box-shadow:0 8px 18px rgba(49,87,213,.20)}
.v34-ui .field label,.v34-ui .field>label{font-size:13px;font-weight:750;color:var(--v34-ink)}
.v34-ui .field input,.v34-ui .field select,.v34-ui .field textarea{border-radius:12px;min-height:46px;font-size:14px;font-weight:550}

/* Student command and scoring */
.v34-ui .studentCommandHeroV34{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,520px);gap:24px;align-items:stretch;
  background:linear-gradient(135deg,#ffffff 0%,#f5f7ff 58%,#eefaf9 100%);border:1px solid var(--v34-line);border-radius:24px;padding:26px;box-shadow:var(--v34-shadow)
}
.v34-ui .studentCommandHeroV34 .studentCommandCopy{display:flex;flex-direction:column;justify-content:center;min-height:230px}
.v34-ui .studentCommandHeroV34 h2{max-width:650px;font-size:clamp(26px,3vw,42px);line-height:1.45;letter-spacing:-1.2px;margin:18px 0 26px;font-weight:900}
.v34-ui .studentEyebrow{font-weight:800;color:var(--v34-primary);font-size:14px}
.v34-ui .studentScoreIntelligence{background:#fff;border:1px solid var(--v34-line);border-radius:20px;padding:20px;display:grid;gap:18px;box-shadow:0 12px 30px rgba(16,24,40,.07)}
.v34-ui .studentScorePrimary{display:flex;align-items:center;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--v34-line)}
.v34-ui .studentScoreIntelligence .studentPerformanceGauge{width:126px;height:126px;min-width:126px}
.v34-ui .studentScoreIntelligence .studentPerformanceGauge:before{background:conic-gradient(var(--score-color,var(--v34-primary)) calc(var(--score)*1%),#e8ecf4 0)}
.v34-ui .studentScoreIntelligence.excellent{--score-color:#16845b}.v34-ui .studentScoreIntelligence.good{--score-color:#3157d5}.v34-ui .studentScoreIntelligence.fair{--score-color:#b76406}.v34-ui .studentScoreIntelligence.warning,.v34-ui .studentScoreIntelligence.critical{--score-color:#c3313f}
.v34-ui .studentScoreMeta{display:flex;flex-direction:column;gap:5px}.v34-ui .studentScoreMeta>span{font-size:18px;font-weight:900;color:var(--score-color,var(--v34-primary))}.v34-ui .studentScoreMeta>strong{font-size:14px}.v34-ui .studentScoreMeta>small{font-size:12px;color:var(--v34-muted)}
.v34-ui .studentScoreBreakdown{display:grid;gap:10px}.v34-ui .studentScoreBreakdown>div{display:grid;grid-template-columns:92px 1fr 30px;gap:10px;align-items:center;font-size:12px}.v34-ui .studentScoreBreakdown span{font-weight:700;color:var(--v34-ink-soft)}.v34-ui .studentScoreBreakdown i{height:7px;border-radius:999px;background:#edf0f5;overflow:hidden}.v34-ui .studentScoreBreakdown i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--v34-primary),#5ca5ff)}.v34-ui .studentScoreBreakdown>div>strong{text-align:left;font-size:12px}
.v34-ui .analyticsScoreCard em{font-style:normal;font-size:11px;color:var(--v34-muted)}

/* Today entry studio */
.v34-ui .todayCaptureShellV34{border:1px solid var(--v34-line);border-radius:26px;background:linear-gradient(180deg,#fff,#f8faff);box-shadow:var(--v34-shadow);overflow:hidden}
.v34-ui .todayCaptureHeaderV34{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 28px;border-bottom:1px solid var(--v34-line);background:#fff}
.v34-ui .todayCaptureHeaderV34>div:first-child{display:flex;align-items:baseline;gap:14px}.v34-ui .todayCaptureHeaderV34 span{font-size:13px;font-weight:800;color:var(--v34-primary)}.v34-ui .todayCaptureHeaderV34 h2{font-size:24px;margin:0;font-weight:900}
.v34-ui .todayCaptureKpisV34{display:flex;gap:8px}.v34-ui .todayCaptureKpisV34 article{min-width:76px;padding:10px 14px;border:1px solid var(--v34-line);border-radius:13px;background:var(--v34-soft);text-align:center}.v34-ui .todayCaptureKpisV34 strong{display:block;font-size:18px}.v34-ui .todayCaptureKpisV34 span{font-size:11px;color:var(--v34-muted)}
.v34-ui .todayCaptureGridV34{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:0}
.v34-ui .todayFormSurfaceV34{padding:30px;border-left:1px solid var(--v34-line);background:#fff}
.v34-ui .todayEntryFormV34{display:grid;gap:24px}
.v34-ui .todayPrimaryFieldsV34{display:grid;grid-template-columns:minmax(180px,.38fr) minmax(260px,.62fr);gap:14px}.v34-ui .todayPrimaryFieldsV34 label,.v34-ui .testsFieldV34{display:grid;gap:8px}.v34-ui .todayPrimaryFieldsV34 label>span,.v34-ui .testsFieldV34>span,.v34-ui .todayControlTitleV34>span,.v34-ui .moodFieldV34 legend{font-size:13px;font-weight:850;color:var(--v34-ink)}
.v34-ui .todayPrimaryFieldsV34 input,.v34-ui .testsFieldV34 input{height:54px;border:1px solid var(--v34-line-strong);border-radius:14px;padding:0 16px;font-size:15px;outline:none;transition:.2s}.v34-ui .todayPrimaryFieldsV34 input:focus,.v34-ui .testsFieldV34 input:focus{border-color:var(--v34-primary);box-shadow:0 0 0 4px rgba(49,87,213,.10)}
.v34-ui .todayControlBlockV34{display:grid;gap:12px}.v34-ui .todayControlTitleV34{display:flex;align-items:center;justify-content:space-between}.v34-ui .todayControlTitleV34 output{font-size:12px;font-weight:850;color:var(--v34-primary);background:#eef2ff;border-radius:999px;padding:5px 10px}
.v34-ui .durationPresetRowV34{display:grid;grid-template-columns:repeat(5,minmax(54px,1fr)) minmax(130px,1.7fr);gap:8px}.v34-ui .durationPresetRowV34>button{height:48px;border:1px solid var(--v34-line);border-radius:13px;background:#f8fafc;color:var(--v34-ink);font-size:14px;font-weight:850;cursor:pointer;transition:.18s}.v34-ui .durationPresetRowV34>button:hover,.v34-ui .durationPresetRowV34>button.active{background:var(--v34-primary);color:#fff;border-color:var(--v34-primary);transform:translateY(-1px)}
.v34-ui .durationCustomV34{display:flex;align-items:center;border:1px solid var(--v34-line-strong);border-radius:13px;overflow:hidden;background:#fff}.v34-ui .durationCustomV34 input{width:100%;height:46px;border:0!important;padding:0 12px;text-align:center;font-weight:850;box-shadow:none!important}.v34-ui .durationCustomV34 span{padding-left:12px;color:var(--v34-muted);font-size:11px;white-space:nowrap}
.v34-ui .todaySecondaryGridV34{display:grid;grid-template-columns:minmax(160px,.34fr) minmax(340px,.66fr);gap:16px;align-items:end}.v34-ui .moodFieldV34{border:0;padding:0;margin:0;display:grid;gap:8px}.v34-ui .moodFieldV34>div{display:flex}.v34-ui .moodFieldV34 label{position:relative}.v34-ui .moodFieldV34 label input{position:absolute;opacity:0}.v34-ui .moodFieldV34 label span{display:flex;height:54px;min-width:78px;align-items:center;justify-content:center;border:1px solid var(--v34-line);background:#f8fafc;font-size:13px;font-weight:800;cursor:pointer}.v34-ui .moodFieldV34 label:first-of-type span{border-radius:0 13px 13px 0}.v34-ui .moodFieldV34 label:last-of-type span{border-radius:13px 0 0 13px}.v34-ui .moodFieldV34 label+label span{border-right:0}.v34-ui .moodFieldV34 input:checked+span{background:#eaf0ff;color:var(--v34-primary-dark);border-color:#aab9f2;box-shadow:inset 0 0 0 1px #aab9f2}
.v34-ui .todayOptionalV34{border-top:1px solid var(--v34-line);padding-top:14px}.v34-ui .todayOptionalV34 summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--v34-ink-soft);list-style:none}.v34-ui .todayOptionalV34 summary::-webkit-details-marker{display:none}.v34-ui .todayOptionalV34 summary:before{content:"＋";display:inline-grid;place-items:center;width:24px;height:24px;margin-left:8px;border-radius:7px;background:#eef2ff;color:var(--v34-primary)}.v34-ui .todayOptionalV34[open] summary:before{content:"−"}.v34-ui .todayOptionalV34 textarea{width:100%;min-height:90px;margin-top:12px;border:1px solid var(--v34-line-strong);border-radius:14px;padding:14px;resize:vertical}
.v34-ui .todaySubmitV34{height:60px;border:0;border-radius:15px;padding:0 20px;background:linear-gradient(135deg,var(--v34-primary),var(--v34-primary-dark));color:#fff;display:flex;align-items:center;justify-content:space-between;cursor:pointer;box-shadow:0 12px 26px rgba(49,87,213,.24)}.v34-ui .todaySubmitV34 span{color:#fff;font-size:16px;font-weight:900}.v34-ui .todaySubmitV34 b{color:#dfe6ff;font-size:12px}.v34-ui .todaySubmitV34:disabled{opacity:.7;cursor:wait}
.v34-ui .todayLedgerV34{padding:28px;background:#f7f9fd;display:flex;flex-direction:column;min-height:100%}.v34-ui .todayLedgerV34>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--v34-line)}.v34-ui .todayLedgerV34>header div{display:grid;gap:3px}.v34-ui .todayLedgerV34>header span{font-size:11px;color:var(--v34-muted);font-weight:750}.v34-ui .todayLedgerV34>header strong{font-size:15px}.v34-ui .todayLedgerV34>header i{font-style:normal;font-size:22px;font-weight:900;color:var(--v34-primary)}
.v34-ui .todayLedgerListV34{display:grid;gap:9px;padding:18px 0;max-height:390px;overflow:auto}.v34-ui .todayLedgerListV34 article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--v34-line);border-radius:13px;padding:10px}.v34-ui .todayLedgerListV34 article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef2ff;color:var(--v34-primary);font-weight:900}.v34-ui .todayLedgerListV34 article>div{display:grid;gap:2px}.v34-ui .todayLedgerListV34 article strong{font-size:13px}.v34-ui .todayLedgerListV34 article small{font-size:11px;color:var(--v34-muted)}.v34-ui .todayLedgerListV34 article em{font-style:normal;font-size:11px;color:var(--v34-ink-soft);text-align:left}.v34-ui .todayLedgerListV34 article em b{display:block;font-size:10px;color:var(--v34-primary)}
.v34-ui .todayLedgerEmptyV34{display:grid;place-items:center;min-height:160px;border:1px dashed var(--v34-line-strong);border-radius:14px;background:#fff}.v34-ui .todayLedgerEmptyV34 strong{font-size:13px;color:var(--v34-muted)}.v34-ui .todayAiLinkV34{margin-top:auto;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:13px;border:1px solid #cfd8ff;background:#fff;color:var(--v34-primary);font-size:12px;font-weight:850;text-decoration:none}

/* Advisor commercial dashboard */
.v34-ui .advisorOverviewV34{display:grid;gap:20px}
.v34-ui .advisorExecutiveHeadV34{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:22px;background:linear-gradient(125deg,#172554,#263ea0 58%,#147d7b);box-shadow:0 20px 48px rgba(23,37,84,.22)}
.v34-ui .advisorExecutiveHeadV34 span{color:#a9c2ff;font-size:12px;font-weight:800}.v34-ui .advisorExecutiveHeadV34 h2{color:#fff;margin:6px 0 0;font-size:clamp(23px,2.5vw,34px);font-weight:900}.v34-ui .advisorExecutiveActionsV34{display:flex;gap:10px;align-items:center}.v34-ui .advisorExecutiveActionsV34 .btn:not(.primary){background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22);color:#fff}
.v34-ui .advisorMasterKpisV34{display:grid;grid-template-columns:repeat(8,minmax(125px,1fr));gap:10px}.v34-ui .advisorMasterKpisV34 article{position:relative;overflow:hidden;min-height:118px;padding:17px;border:1px solid var(--v34-line);border-radius:17px;background:#fff;box-shadow:var(--v34-shadow-soft);display:flex;flex-direction:column;justify-content:center}.v34-ui .advisorMasterKpisV34 article:before{content:"";position:absolute;right:0;top:0;bottom:0;width:4px;background:#98a2b3}.v34-ui .advisorMasterKpisV34 article.primary:before{background:var(--v34-primary)}.v34-ui .advisorMasterKpisV34 article.success:before{background:var(--v34-success)}.v34-ui .advisorMasterKpisV34 article.warning:before{background:var(--v34-warning)}.v34-ui .advisorMasterKpisV34 article.danger:before{background:var(--v34-danger)}.v34-ui .advisorMasterKpisV34 span{font-size:11px;color:var(--v34-muted);font-weight:750}.v34-ui .advisorMasterKpisV34 strong{font-size:27px;line-height:1.25;margin:6px 0 2px}.v34-ui .advisorMasterKpisV34 small{font-size:10px;color:#98a2b3}
.v34-ui .advisorOverviewChartsV34{display:grid;grid-template-columns:1.65fr .7fr .7fr;gap:14px}.v34-ui .commercialChartCardV34{padding:19px;border:1px solid var(--v34-line);border-radius:19px;background:#fff;box-shadow:var(--v34-shadow-soft);min-height:300px}.v34-ui .commercialChartCardV34 header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v34-ui .commercialChartCardV34 header div{display:grid;gap:3px}.v34-ui .commercialChartCardV34 header span{font-size:11px;color:var(--v34-muted);font-weight:700}.v34-ui .commercialChartCardV34 header strong{font-size:15px}.v34-ui .commercialChartCardV34 header em{font-style:normal;font-size:12px;font-weight:850;color:var(--v34-primary);background:#eef2ff;padding:6px 10px;border-radius:999px}.v34-ui .commercialChartCardV34>div:last-child{height:235px}
.v34-ui .advisorStudentUniverseV34{border:1px solid var(--v34-line);border-radius:20px;background:#fff;box-shadow:var(--v34-shadow-soft);overflow:hidden}.v34-ui .studentUniverseHeadV34{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--v34-line)}.v34-ui .studentUniverseHeadV34>div:first-child span{font-size:11px;font-weight:800;color:var(--v34-primary)}.v34-ui .studentUniverseHeadV34 h3{font-size:18px;margin:4px 0 0}.v34-ui .studentUniverseToolsV34{display:flex;gap:8px}.v34-ui .studentUniverseToolsV34 label{display:flex;align-items:center;gap:8px;width:240px;height:42px;padding:0 12px;border:1px solid var(--v34-line-strong);border-radius:11px;background:#fff}.v34-ui .studentUniverseToolsV34 input{width:100%;border:0!important;height:auto!important;min-height:0!important;padding:0!important;box-shadow:none!important}.v34-ui .studentUniverseToolsV34 select{height:42px;min-width:140px;border-radius:11px;padding:0 10px}
.v34-ui .advisorStudentTableWrapV34{overflow:auto;max-height:610px}.v34-ui .advisorStudentTableV34{width:100%;border-collapse:separate;border-spacing:0;min-width:1050px}.v34-ui .advisorStudentTableV34 th{position:sticky;top:0;z-index:2;background:#f8fafc;color:var(--v34-muted);font-size:11px;font-weight:800;padding:12px 14px;border-bottom:1px solid var(--v34-line);text-align:right}.v34-ui .advisorStudentTableV34 td{padding:12px 14px;border-bottom:1px solid #f0f2f5;font-size:12px;color:var(--v34-ink-soft);white-space:nowrap}.v34-ui .advisorStudentTableV34 tr:hover td{background:#fafbff}.v34-ui .cohortStudentIdentityV34{display:flex;align-items:center;gap:10px}.v34-ui .cohortStudentIdentityV34>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef2ff;color:var(--v34-primary);font-weight:900}.v34-ui .cohortStudentIdentityV34 strong{font-size:13px}
.v34-ui .performanceCellV34{display:flex;align-items:center;gap:7px}.v34-ui .performanceCellV34 strong{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf1f8}.v34-ui .performanceCellV34 span{font-size:10px;font-weight:800}.v34-ui .performanceCellV34.excellent strong,.v34-ui .performanceCellV34.excellent span{color:#137a53}.v34-ui .performanceCellV34.good strong,.v34-ui .performanceCellV34.good span{color:#244fc4}.v34-ui .performanceCellV34.fair strong,.v34-ui .performanceCellV34.fair span{color:#a75b05}.v34-ui .performanceCellV34.attention strong,.v34-ui .performanceCellV34.attention span{color:#bd2c3a}
.v34-ui .cohortTrendV34{font-weight:900}.v34-ui .cohortTrendV34.up{color:var(--v34-success)}.v34-ui .cohortTrendV34.down{color:var(--v34-danger)}.v34-ui .cohortTrendV34.steady{color:var(--v34-muted)}.v34-ui .riskStatusV34{display:inline-flex;align-items:center;justify-content:center;min-width:54px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.v34-ui .riskStatusV34.low{background:#eaf8f2;color:#137a53}.v34-ui .riskStatusV34.medium{background:#fff4df;color:#9b5200}.v34-ui .riskStatusV34.high{background:#ffeaed;color:#b42332}.v34-ui .studentRowActionV34{display:inline-flex;padding:6px 10px;border-radius:9px;background:#eef2ff;color:var(--v34-primary);font-weight:850;text-decoration:none}.v34-ui .studentUniverseEmptyV34{padding:24px;text-align:center;color:var(--v34-muted)}
.v34-ui .advisorDecisionGridV34{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.v34-ui .advisorDigestV34,.v34-ui .advisorAttentionV34{border:1px solid var(--v34-line);border-radius:20px;background:#fff;box-shadow:var(--v34-shadow-soft);padding:20px}.v34-ui .advisorDigestV34>header,.v34-ui .advisorAttentionV34>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--v34-line)}.v34-ui .advisorDigestV34>header div,.v34-ui .advisorAttentionV34>header div{display:grid;gap:3px}.v34-ui .advisorDigestV34>header span,.v34-ui .advisorAttentionV34>header span{font-size:11px;color:var(--v34-primary);font-weight:800}.v34-ui .advisorDigestV34>header strong,.v34-ui .advisorAttentionV34>header strong{font-size:15px}.v34-ui .advisorDigestV34>header em{font-style:normal;font-size:10px;color:var(--v34-muted)}.v34-ui .advisorDigestContentV34{max-height:220px;overflow:auto;white-space:pre-line;padding:16px 2px;font-size:12px;line-height:2;color:var(--v34-ink-soft)}
.v34-ui .digestScheduleCompactV34{display:flex;align-items:end;gap:8px;padding-top:14px;border-top:1px solid var(--v34-line)}.v34-ui .digestScheduleCompactV34 label:not(.digestMiniToggleV34){display:grid;gap:5px}.v34-ui .digestScheduleCompactV34 label>span{font-size:10px;color:var(--v34-muted)}.v34-ui .digestScheduleCompactV34 input[type=time],.v34-ui .digestScheduleCompactV34 select{height:38px;border-radius:10px;padding:0 9px;min-width:100px}.v34-ui .digestMiniToggleV34{display:flex;align-items:center;gap:6px;height:38px}.v34-ui .digestMiniToggleV34 input{width:16px;height:16px}.v34-ui .digestMiniToggleV34 b{font-size:11px}
.v34-ui .advisorAttentionV34>header>b{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#ffeaed;color:var(--v34-danger)}.v34-ui .advisorAttentionListV34{display:grid;gap:8px;padding-top:14px}.v34-ui .advisorAttentionListV34>article{display:grid;grid-template-columns:45px 1fr auto;gap:10px;align-items:center;border:1px solid var(--v34-line);border-radius:13px;padding:9px}.v34-ui .attentionRiskV34{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff4df}.v34-ui .attentionRiskV34.high{background:#ffeaed}.v34-ui .attentionRiskV34 strong{font-size:14px;color:var(--v34-danger)}.v34-ui .attentionRiskV34 span{font-size:8px;color:var(--v34-muted)}.v34-ui .advisorAttentionListV34>article>div:nth-child(2){display:grid;gap:2px}.v34-ui .advisorAttentionListV34>article>div:nth-child(2)>strong{font-size:12px}.v34-ui .advisorAttentionListV34 small{font-size:9px;color:var(--v34-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v34-ui .advisorAttentionListV34 a{font-size:10px;font-weight:850;color:var(--v34-primary);text-decoration:none}
.v34-ui .advisorCommercialBottomV34{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v34-ui .advisorCommercialBottomV34>article{border:1px solid var(--v34-line);border-radius:20px;background:#fff;box-shadow:var(--v34-shadow-soft);padding:20px}.v34-ui .advisorCommercialBottomV34>article:first-child>header{display:grid;gap:3px}.v34-ui .advisorCommercialBottomV34>article:first-child>header span{font-size:11px;color:var(--v34-muted)}.v34-ui .advisorCommercialBottomV34>article:first-child>div{height:250px;margin-top:10px}.v34-ui .advisorQuickCommercialV34{display:grid!important;grid-template-columns:repeat(2,1fr);gap:10px}.v34-ui .advisorQuickCommercialV34 a{display:flex;align-items:center;gap:12px;min-height:82px;border:1px solid var(--v34-line);border-radius:15px;padding:14px;text-decoration:none;background:#fafbff}.v34-ui .advisorQuickCommercialV34 a span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef2ff;color:var(--v34-primary);font-size:19px}.v34-ui .advisorQuickCommercialV34 a strong{font-size:13px}
.v34-ui .individualAnalyticsHeadV34{margin-bottom:12px;padding:22px 24px;border-radius:20px;background:#fff;border:1px solid var(--v34-line)}.v34-ui .individualAnalyticsHeadV34 span{font-size:11px;color:var(--v34-primary);font-weight:800}.v34-ui .individualAnalyticsHeadV34 h2{font-size:23px;margin:5px 0 0}.v34-ui .analyticsFilterBarV34{margin-bottom:18px}

/* Plan builder: concise, high-contrast commercial controls */
.v34-ui .plannerHero p,.v34-ui .plannerInfoGrid,.v34-ui .selectionFlowGuide{display:none!important}
.v34-ui .plannerStep small{display:none}.v34-ui .plannerStep{min-height:64px}
.v34-ui .gradeScopePlannerBox{background:#fff;border:1px solid var(--v34-line-strong);padding:16px;border-radius:15px}.v34-ui .gradeScopeHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v34-ui .gradeScopeHead span,.v34-ui .gradeScopeHead strong,.v34-ui .gradeScopeEmpty{color:var(--v34-ink)!important;font-weight:850}.v34-ui .gradeScopeChip{color:var(--v34-ink);background:#f8fafc;border-color:var(--v34-line-strong)}.v34-ui .gradeScopeChip.active{color:#fff;background:var(--v34-primary);border-color:var(--v34-primary)}
.v34-ui .curriculumBrowserHead span,.v34-ui .basketEmpty,.v34-ui .curriculumEmpty{color:var(--v34-ink-soft)}
.v34-ui .plannerPreferenceStrip{grid-template-columns:1fr 1fr .75fr}.v34-ui .plannerSwitchCard,.v34-ui .curriculumTrustNote{min-height:64px}

@media(max-width:1280px){
  .v34-ui .advisorMasterKpisV34{grid-template-columns:repeat(4,1fr)}
  .v34-ui .advisorOverviewChartsV34{grid-template-columns:1fr 1fr}.v34-ui .commercialChartCardV34.trend{grid-column:1/-1}
  .v34-ui .studentCommandHeroV34{grid-template-columns:1fr}.v34-ui .studentCommandHeroV34 .studentCommandCopy{min-height:auto}
}
@media(max-width:900px){
  .v34-ui .todayCaptureGridV34,.v34-ui .advisorDecisionGridV34,.v34-ui .advisorCommercialBottomV34{grid-template-columns:1fr}
  .v34-ui .todayFormSurfaceV34{border-left:0;border-bottom:1px solid var(--v34-line)}
  .v34-ui .advisorOverviewChartsV34{grid-template-columns:1fr}.v34-ui .commercialChartCardV34.trend{grid-column:auto}
  .v34-ui .studentUniverseHeadV34,.v34-ui .advisorExecutiveHeadV34{align-items:flex-start;flex-direction:column}
  .v34-ui .studentUniverseToolsV34{width:100%}.v34-ui .studentUniverseToolsV34 label{width:100%}
}
@media(max-width:640px){
  .v34-ui .mainBody{padding-left:12px;padding-right:12px}
  .v34-ui .studentCommandHeroV34{padding:18px;border-radius:20px}.v34-ui .studentCommandHeroV34 h2{font-size:26px}
  .v34-ui .studentScorePrimary{align-items:flex-start}.v34-ui .studentScoreIntelligence .studentPerformanceGauge{width:104px;height:104px;min-width:104px}
  .v34-ui .studentScoreBreakdown>div{grid-template-columns:82px 1fr 28px}
  .v34-ui .todayCaptureHeaderV34{align-items:flex-start;flex-direction:column;padding:18px}.v34-ui .todayCaptureKpisV34{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}.v34-ui .todayCaptureKpisV34 article{min-width:0}
  .v34-ui .todayFormSurfaceV34,.v34-ui .todayLedgerV34{padding:18px}.v34-ui .todayPrimaryFieldsV34,.v34-ui .todaySecondaryGridV34{grid-template-columns:1fr}
  .v34-ui .durationPresetRowV34{grid-template-columns:repeat(5,1fr)}.v34-ui .durationPresetRowV34>button{height:42px}.v34-ui .durationCustomV34{grid-column:1/-1}
  .v34-ui .moodFieldV34 label{flex:1}.v34-ui .moodFieldV34 label span{min-width:0;width:100%;padding:0 8px}
  .v34-ui .advisorExecutiveHeadV34{padding:20px}.v34-ui .advisorExecutiveActionsV34{width:100%;display:grid;grid-template-columns:1fr 1fr}.v34-ui .advisorExecutiveActionsV34 form,.v34-ui .advisorExecutiveActionsV34 button{width:100%}
  .v34-ui .advisorMasterKpisV34{grid-template-columns:repeat(2,1fr)}.v34-ui .advisorMasterKpisV34 article{min-height:105px}.v34-ui .advisorMasterKpisV34 strong{font-size:24px}
  .v34-ui .studentUniverseToolsV34{display:grid;grid-template-columns:1fr}.v34-ui .studentUniverseToolsV34 select{width:100%}
  .v34-ui .digestScheduleCompactV34{display:grid;grid-template-columns:1fr 1fr}.v34-ui .digestScheduleCompactV34 button{grid-column:1/-1}
  .v34-ui .advisorQuickCommercialV34{grid-template-columns:1fr 1fr}
}
.v34-ui .plannerPanelHead p,.v34-ui .gradeScopeInlineNote:nth-child(3){display:none!important}
.v34-ui .inlineMuted{color:var(--v34-ink)!important;font-weight:750}
.v34-ui .compactPageHero p,.v34-ui.role-advisor .sectionHead p.muted,.v34-ui.role-teacher .sectionHead p.muted{display:none!important}

/* Commercial planner cleanup — keep decisions visible, remove tutorial prose */
.v34-ui.role-advisor .plannerPanel .plannerStageGuide,
.v34-ui.role-teacher .plannerPanel .plannerStageGuide,
.v34-ui.role-advisor .plannerPanel .curriculumBrowserHead span,
.v34-ui.role-teacher .plannerPanel .curriculumBrowserHead span,
.v34-ui.role-advisor .plannerPanel .basketTimeHint,
.v34-ui.role-teacher .plannerPanel .basketTimeHint,
.v34-ui.role-advisor .plannerPanel .budgetModeCard small,
.v34-ui.role-teacher .plannerPanel .budgetModeCard small,
.v34-ui.role-advisor .plannerPanel .adaptiveStudioHead p,
.v34-ui.role-teacher .plannerPanel .adaptiveStudioHead p,
.v34-ui.role-advisor .plannerPanel .weeklyCapacityHeader span,
.v34-ui.role-teacher .plannerPanel .weeklyCapacityHeader span,
.v34-ui.role-advisor .plannerPanel .commitmentSectionHead span,
.v34-ui.role-teacher .plannerPanel .commitmentSectionHead span,
.v34-ui.role-advisor .plannerPanel .historyInsightGrid small,
.v34-ui.role-teacher .plannerPanel .historyInsightGrid small{display:none!important}
.v34-ui.role-advisor .plannerPanel h4,.v34-ui.role-teacher .plannerPanel h4{font-weight:900;letter-spacing:-.25px}
.v34-ui.role-advisor .plannerPanel select,.v34-ui.role-advisor .plannerPanel input,.v34-ui.role-teacher .plannerPanel select,.v34-ui.role-teacher .plannerPanel input{color:#101828!important;font-weight:650}
.v34-ui.role-advisor .plannerPanel .curriculumEmpty,.v34-ui.role-advisor .plannerPanel .basketEmpty,.v34-ui.role-teacher .plannerPanel .curriculumEmpty,.v34-ui.role-teacher .plannerPanel .basketEmpty{color:#344054!important;font-weight:750}

/* v35 — professional five-stage planner + advisor-controlled smart recommendations */
.v34-ui .plannerStepRail.fiveStage{grid-template-columns:repeat(5,minmax(0,1fr))}
.v34-ui .gradeScopeProfessionalHint{
  margin:10px 0 0;padding:10px 13px;border:1px solid #dbe3f8;border-radius:12px;
  background:#f6f8ff;color:#344054;font-size:12px;font-weight:750;line-height:1.9
}
.v34-ui .smartRecommendationPanel{display:grid;gap:18px}
.v34-ui .smartRecommendationHead{align-items:center}
.v34-ui .smartRecommendationHead p{display:block!important;max-width:820px;color:var(--v34-muted)!important;line-height:1.9}
.v34-ui .smartRecommendButton{min-width:210px;min-height:48px;white-space:nowrap}
.v34-ui .smartRecommendButton:disabled{opacity:.7;cursor:wait;box-shadow:none}
.v34-ui .smartRecommendationHowItWorks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v34-ui .smartRecommendationHowItWorks article{
  display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--v34-line);border-radius:15px;background:#fff
}
.v34-ui .smartRecommendationHowItWorks article>span{
  width:32px;height:32px;min-width:32px;border-radius:10px;display:grid;place-items:center;background:#eef2ff;color:var(--v34-primary);font-weight:900
}
.v34-ui .smartRecommendationHowItWorks article div{display:grid;gap:3px}
.v34-ui .smartRecommendationHowItWorks strong{font-size:13px}
.v34-ui .smartRecommendationHowItWorks small{font-size:11px;color:var(--v34-muted);line-height:1.7}
.v34-ui .smartRecommendationStatus{
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:15px;border:1px solid var(--v34-line);background:#f8fafc
}
.v34-ui .smartRecommendationStatus>div{display:flex;align-items:center;gap:9px}
.v34-ui .smartRecommendationStatus i{width:9px;height:9px;border-radius:999px;background:#98a2b3;display:block}
.v34-ui .smartRecommendationStatus strong{font-size:13px}.v34-ui .smartRecommendationStatus>span{font-size:11px;color:var(--v34-muted);line-height:1.8}
.v34-ui .smartRecommendationStatus.loading{border-color:#c7d2fe;background:#f5f7ff}.v34-ui .smartRecommendationStatus.loading i{background:var(--v34-primary);animation:v35SmartPulse 1s infinite alternate}
.v34-ui .smartRecommendationStatus.ready{border-color:#b7e2d2;background:#f1fbf7}.v34-ui .smartRecommendationStatus.ready i{background:var(--v34-success)}
.v34-ui .smartRecommendationStatus.error{border-color:#f3c4c8;background:#fff5f5}.v34-ui .smartRecommendationStatus.error i{background:var(--v34-danger)}
.v34-ui .smartRecommendationStatus.stale{border-color:#f0d3ac;background:#fff9f1}.v34-ui .smartRecommendationStatus.stale i{background:var(--v34-warning)}
@keyframes v35SmartPulse{from{transform:scale(.8);opacity:.45}to{transform:scale(1.35);opacity:1}}
.v34-ui .smartRecommendationMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v34-ui .smartRecommendationMetrics article{display:grid;gap:5px;padding:13px 15px;border:1px solid var(--v34-line);border-radius:14px;background:#fff}
.v34-ui .smartRecommendationMetrics span{font-size:11px;color:var(--v34-muted);font-weight:700}.v34-ui .smartRecommendationMetrics strong{font-size:15px;font-weight:900}
.v34-ui .smartRecommendationList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.v34-ui .smartRecommendationEmpty,.v34-ui .smartRecommendationLoading{
  grid-column:1/-1;min-height:155px;padding:24px;border:1px dashed #cfd6e4;border-radius:18px;background:#fbfcfe;display:grid;place-items:center;text-align:center;align-content:center;gap:7px
}
.v34-ui .smartRecommendationEmpty>span{font-size:25px;color:var(--v34-primary)}
.v34-ui .smartRecommendationEmpty strong,.v34-ui .smartRecommendationLoading strong{font-size:14px}.v34-ui .smartRecommendationEmpty p,.v34-ui .smartRecommendationLoading span{margin:0;color:var(--v34-muted);font-size:12px;line-height:1.8}
.v34-ui .smartRecommendationLoading>i{width:27px;height:27px;border:3px solid #dfe4ef;border-top-color:var(--v34-primary);border-radius:999px;animation:v35SmartSpin .8s linear infinite}
@keyframes v35SmartSpin{to{transform:rotate(360deg)}}
.v34-ui .smartRecommendationCard{
  border:1px solid var(--v34-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 7px 20px rgba(16,24,40,.045);transition:.18s
}
.v34-ui .smartRecommendationCard.enabled{border-color:#bdc9f5;box-shadow:0 8px 22px rgba(49,87,213,.08)}
.v34-ui .smartRecommendationCard.disabled{opacity:.62;background:#fafafa;box-shadow:none}
.v34-ui .smartRecommendationCardTop{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--v34-line);background:#f8faff}
.v34-ui .smartRecommendationType{display:grid;gap:2px}.v34-ui .smartRecommendationType>span{font-size:12px;font-weight:900;color:var(--v34-primary)}.v34-ui .smartRecommendationType small{font-size:10px;color:var(--v34-muted)}
.v34-ui .smartRecToggle{display:flex;align-items:center;gap:7px;cursor:pointer;user-select:none}.v34-ui .smartRecToggle input{position:absolute;opacity:0;pointer-events:none}
.v34-ui .smartRecToggle>span{position:relative;width:38px;height:22px;border-radius:999px;background:#d8dde6;transition:.18s}.v34-ui .smartRecToggle>span:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;right:3px;box-shadow:0 1px 4px rgba(16,24,40,.22);transition:.18s}
.v34-ui .smartRecToggle input:checked+span{background:var(--v34-primary)}.v34-ui .smartRecToggle input:checked+span:after{transform:translateX(-16px)}.v34-ui .smartRecToggle b{font-size:11px;min-width:32px}
.v34-ui .smartRecommendationBody{padding:16px;display:grid;gap:10px}.v34-ui .smartRecommendationBody h5{margin:0;font-size:15px;font-weight:900}.v34-ui .smartRecommendationAction{margin:0;color:var(--v34-ink-soft);font-size:12px;line-height:1.9}
.v34-ui .smartRecommendationTarget{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:11px;background:#f7f8fb}.v34-ui .smartRecommendationTarget span{font-size:10px;color:var(--v34-muted)}.v34-ui .smartRecommendationTarget strong{font-size:11px;text-align:left}
.v34-ui .smartRecommendationReason{display:grid;gap:6px}.v34-ui .smartRecommendationReason>span{font-size:11px;font-weight:850}.v34-ui .smartRecommendationReason textarea{width:100%;min-height:67px;border:1px solid var(--v34-line-strong);border-radius:11px;padding:9px 11px;resize:vertical;font-size:12px!important;line-height:1.8}
.v34-ui .smartRecommendationConfidence{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px 15px 13px}.v34-ui .smartRecommendationConfidence>span,.v34-ui .smartRecommendationConfidence>strong{font-size:10px;color:var(--v34-muted)}.v34-ui .smartRecommendationConfidence>div{height:5px;border-radius:999px;background:#edf0f5;overflow:hidden}.v34-ui .smartRecommendationConfidence i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--v34-primary),var(--v34-aqua))}
.v34-ui .smartRecommendationFooterNote{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;border-radius:14px;background:#eef4ff;border:1px solid #d8e3ff}.v34-ui .smartRecommendationFooterNote strong{font-size:12px;color:var(--v34-primary-dark)}.v34-ui .smartRecommendationFooterNote span{font-size:11px;color:#475467;line-height:1.8}
.v34-ui .draftReviewStatus.warning{border-color:#f0d3ac!important;background:#fff9f1!important;color:#8a4b00!important}
.v34-ui .draftReviewStatus.success{border-color:#b7e2d2!important;background:#f1fbf7!important;color:#126a49!important}

@media(max-width:1100px){
  .v34-ui .plannerStepRail.fiveStage{grid-template-columns:repeat(5,minmax(170px,1fr));overflow-x:auto}
  .v34-ui .smartRecommendationList{grid-template-columns:1fr}
}
@media(max-width:760px){
  .v34-ui .plannerStepRail.fiveStage{display:flex;overflow-x:auto}.v34-ui .plannerStepRail.fiveStage .plannerStep{flex:0 0 150px}
  .v34-ui .smartRecommendationHead{display:grid;gap:13px}.v34-ui .smartRecommendButton{width:100%;min-width:0}
  .v34-ui .smartRecommendationHowItWorks,.v34-ui .smartRecommendationMetrics{grid-template-columns:1fr}
  .v34-ui .smartRecommendationStatus,.v34-ui .smartRecommendationFooterNote{display:grid}
  .v34-ui .smartRecommendationCardTop{align-items:flex-start}.v34-ui .smartRecommendationConfidence{grid-template-columns:92px 1fr 34px}
  .v34-ui .gradeScopeProfessionalHint{font-size:11px}
}

/* ===== v36.css ===== */
.studentBoardHeroV36{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;padding:28px;border-radius:28px;background:linear-gradient(135deg,#eef2ff,#f0fdfa);border:1px solid #dfe5ff;margin-bottom:20px}.studentBoardHeroV36>div:first-child>span,.enrollmentHeadV36>div>span{font-size:12px;font-weight:900;color:#5664d9;letter-spacing:.5px}.studentBoardHeroV36 h2,.enrollmentHeadV36 h2{margin:7px 0 8px;font-size:27px}.studentBoardHeroV36 p,.enrollmentHeadV36 p{margin:0;color:#667085;line-height:1.9}.studentBoardHeroFactsV36{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.studentBoardHeroFactsV36 article{background:#fff;border:1px solid #e8ebf5;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:5px}.studentBoardHeroFactsV36 article b{font-size:22px;color:#5868d9}.studentBoardHeroFactsV36 article strong{font-size:13px}.studentBoardHeroFactsV36 article small{font-size:11px;color:#7a8496}.studentBoardSelectFormV36{display:flex;gap:12px;align-items:center}.studentBoardSelectFormV36 select{min-width:260px}.goalStudioV36{display:grid;gap:20px;margin-top:20px}.goalBuilderFormV36{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.goalBuilderFormV36 label{display:flex;flex-direction:column;gap:7px}.goalBuilderFormV36 label>span{font-size:12px;font-weight:800;color:#586174}.goalBuilderFormV36 input,.goalBuilderFormV36 select,.goalBuilderFormV36 textarea,.enrollmentCreateFormV36 input,.enrollmentCreateFormV36 select{width:100%;border:1px solid #dfe3ee;border-radius:12px;padding:11px 12px;background:#fff;font:inherit}.goalDescriptionV36{grid-column:span 2}.goalAutoTrackV36{grid-column:span 2!important;flex-direction:row!important;align-items:center;background:#f6f8ff;border:1px solid #e3e7fb;border-radius:14px;padding:10px 12px}.goalAutoTrackV36 input{width:auto}.goalAutoTrackV36 span{display:flex;flex-direction:column}.goalAutoTrackV36 small{font-weight:500;color:#7d8698}.goalColumnsV36{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.goalColumnV36{background:#f7f8fb;border:1px solid #e7eaf1;border-radius:22px;padding:14px}.goalColumnV36>header{display:flex;justify-content:space-between;align-items:center;padding:4px 4px 14px}.goalColumnV36>header div{display:flex;flex-direction:column}.goalColumnV36>header span{font-size:12px;color:#6d7686}.goalColumnV36>header strong{font-size:18px}.goalColumnV36>header i{font-style:normal;font-size:11px;color:#7d8797;background:#fff;padding:5px 8px;border-radius:10px}.goalCardStackV36{display:grid;gap:12px}.goalCardV36{background:#fff;border:1px solid #e2e5ec;border-radius:18px;padding:15px;box-shadow:0 8px 22px rgba(40,48,90,.04)}.goalCardV36.reached{border-color:#bfe7d3}.goalCardHeadV36{display:flex;justify-content:space-between;gap:10px}.goalCardHeadV36 span{font-size:11px;color:#6c76d8;font-weight:800}.goalCardHeadV36 h4{margin:5px 0 0;font-size:15px}.goalTrendV36{font-style:normal;border-radius:10px;padding:5px 7px;font-size:12px;font-weight:900;height:max-content}.goalTrendV36.up{color:#15845c;background:#ebfbf4}.goalTrendV36.down{color:#c94d4d;background:#fff0f0}.goalTrendV36.flat{color:#7a8391;background:#f1f3f6}.goalCardV36>p{font-size:12px;line-height:1.8;color:#697386}.goalNumbersV36{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:13px 0}.goalNumbersV36 div{background:#f7f8fb;border-radius:11px;padding:8px}.goalNumbersV36 span{display:block;font-size:10px;color:#8a93a2}.goalNumbersV36 b{font-size:12px}.goalProgressV36{display:flex;gap:9px;align-items:center}.goalProgressV36>div{height:9px;border-radius:20px;background:#edf0f6;overflow:hidden;flex:1}.goalProgressV36 i{display:block;height:100%;background:linear-gradient(90deg,#5f70e6,#27b99a);border-radius:20px}.goalProgressV36 strong{font-size:12px}.goalMetaV36{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.goalMetaV36 span{font-size:10px;background:#f6f7fa;padding:4px 6px;border-radius:7px;color:#727b8b}.goalEvidenceV36{margin-top:10px;border-top:1px dashed #e1e4ea;padding-top:9px}.goalEvidenceV36 summary{cursor:pointer;font-size:11px;font-weight:800;color:#5868d9}.goalEvidenceV36 summary b{background:#eef1ff;border-radius:8px;padding:2px 5px}.goalEvidenceV36 details{} .goalEvidenceV36>div{display:grid;gap:6px;margin-top:8px}.goalEvidenceV36 article{display:flex;flex-direction:column;background:#f8fafc;border-radius:9px;padding:7px}.goalEvidenceV36 article strong{font-size:10px}.goalEvidenceV36 article span{font-size:10px;color:#798291}.goalActionsV36{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.goalEmptyV36{padding:20px;text-align:center;color:#8a93a2;background:#fff;border:1px dashed #d9dde7;border-radius:14px}.enrollmentCenterV36{margin-top:26px;display:grid;gap:18px}.enrollmentHeadV36{display:flex;justify-content:space-between;align-items:center;padding:24px;border-radius:24px;background:#111827;color:#fff}.enrollmentHeadV36 p{color:#cbd5e1}.enrollmentHeadV36>div>span{color:#88a0ff}.pendingEnrollmentBadgeV36{background:#f59e0b;color:#1f2937;font-weight:900;border-radius:14px;padding:11px 14px}.enrollmentGridV36{display:grid;grid-template-columns:.8fr 1.2fr;gap:16px}.enrollmentCreateFormV36{display:grid;gap:11px}.enrollmentCreateFormV36 label{display:grid;gap:6px}.enrollmentCreateFormV36 span{font-size:12px;font-weight:800}.enrollmentInviteListV36{display:grid;gap:9px;max-height:340px;overflow:auto}.enrollmentInviteListV36>article{border:1px solid #e2e6ef;border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.enrollmentInviteListV36>article.disabled{opacity:.55}.enrollmentInviteListV36>article>div:first-child{display:flex;flex-direction:column}.enrollmentInviteListV36>article span{font-size:10px;color:#7d8695}.enrollUrlV36{grid-column:1/-1;display:flex}.enrollUrlV36 input{flex:1;direction:ltr;text-align:left;border:1px solid #e0e4ec;border-radius:10px 0 0 10px;padding:8px}.enrollUrlV36 button{border:0;background:#eef1ff;color:#5262d5;font-weight:800;border-radius:0 10px 10px 0;padding:0 12px}.applicationGridV36{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.applicationCardV36{border:1px solid #e3e6ed;border-radius:17px;padding:14px}.applicationCardV36.pending{border-color:#f0d59b;background:#fffdf7}.applicationCardV36.approved{border-color:#bfe6d3}.applicationCardV36.rejected{opacity:.7}.applicationCardV36>header{display:flex;align-items:center;gap:9px}.applicationAvatarV36{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#eef1ff;color:#5666d7;font-weight:900}.applicationCardV36>header>div:nth-child(2){display:flex;flex-direction:column;flex:1}.applicationCardV36>header span{font-size:11px;color:#7d8696}.applicationCardV36>header em{font-style:normal;font-size:10px;border-radius:8px;padding:4px 6px;background:#f1f3f6}.applicationInfoV36{display:grid;gap:5px;margin:12px 0;font-size:11px;color:#667085}.applicationDecisionV36{display:grid;grid-template-columns:1fr auto auto;gap:6px}.applicationDecisionV36 input{border:1px solid #dfe3ea;border-radius:10px;padding:9px}.applicationNoteV36{font-size:11px;background:#f7f8fa;padding:8px;border-radius:9px}.publicEnrollmentShellV36{max-width:870px;margin:28px auto;display:grid;gap:16px}.publicEnrollmentBrandV36{text-align:center;padding:14px}.publicEnrollmentBrandV36 .logo{margin:auto;width:58px;height:58px;border-radius:18px;background:#5264d8;color:#fff;display:grid;place-items:center;font-size:27px;font-weight:900}.publicEnrollmentBrandV36 span{display:block;margin-top:10px;font-size:12px;color:#667085}.publicEnrollmentBrandV36 h1{margin:5px 0}.publicEnrollmentBrandV36 p{margin:0;color:#7a8493}.publicEnrollmentCardV36{background:#fff;border:1px solid #e2e6ef;border-radius:26px;padding:24px;box-shadow:0 18px 55px rgba(36,45,88,.08)}.publicEnrollmentCardV36.invalid{text-align:center;border-color:#f2c9c9}.publicEnrollmentCardV36.success{text-align:center;border-color:#bfe6d2}.publicEnrollIntroV36{text-align:center;margin-bottom:18px}.publicEnrollIntroV36>span{color:#5969d9;font-size:12px;font-weight:900}.publicEnrollIntroV36 h2{margin:5px 0}.publicEnrollIntroV36 p{color:#6f7889}.publicEnrollFormV36{display:grid;gap:15px}.publicEnrollFormV36 fieldset{border:1px solid #e5e8ef;border-radius:18px;padding:15px;display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.publicEnrollFormV36 legend{padding:0 8px;font-weight:900;color:#4f5fd1}.publicEnrollFormV36 label{display:grid;gap:6px}.publicEnrollFormV36 label span{font-size:12px;font-weight:800}.publicEnrollFormV36 input,.publicEnrollFormV36 select{border:1px solid #dfe3eb;border-radius:11px;padding:11px;font:inherit}.publicEnrollNoticeV36,.pendingApprovalV36{background:#fff8e7;border:1px solid #f3dfad;border-radius:12px;padding:10px;color:#775a12;font-size:12px}.successIconV36{display:grid;place-items:center;width:56px;height:56px;margin:auto;border-radius:50%;background:#eaf9f2;color:#169266;font-size:28px;font-weight:900}.credentialGridV36{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.credentialGridV36 article{display:grid;gap:7px;background:#f6f8ff;border:1px solid #e0e5ff;border-radius:16px;padding:15px}.credentialGridV36 article span{font-size:11px;color:#6472d7}.credentialGridV36 article b{font-size:13px;direction:ltr}.credentialGridV36 article strong{font-size:17px;direction:ltr}.pendingApprovalV36{margin-bottom:16px}
@media(max-width:900px){.studentBoardHeroV36,.enrollmentGridV36{grid-template-columns:1fr}.studentBoardHeroFactsV36{grid-template-columns:repeat(3,1fr)}.goalBuilderFormV36{grid-template-columns:repeat(2,1fr)}.goalColumnsV36{grid-template-columns:1fr}.applicationGridV36{grid-template-columns:1fr}.applicationDecisionV36{grid-template-columns:1fr}.publicEnrollFormV36 fieldset{grid-template-columns:1fr}}
@media(max-width:560px){.studentBoardHeroV36{padding:18px;border-radius:20px}.studentBoardHeroFactsV36{grid-template-columns:1fr}.studentBoardHeroFactsV36 article{padding:12px}.studentBoardHeroV36 h2,.enrollmentHeadV36 h2{font-size:21px}.studentBoardSelectFormV36{align-items:stretch;flex-direction:column}.studentBoardSelectFormV36 select{min-width:0;width:100%}.goalBuilderFormV36{grid-template-columns:1fr}.goalDescriptionV36,.goalAutoTrackV36{grid-column:auto}.enrollmentHeadV36{align-items:flex-start;flex-direction:column;gap:14px}.credentialGridV36{grid-template-columns:1fr}.publicEnrollmentCardV36{padding:17px;border-radius:20px}}
.goalEditV36{margin-top:10px}.goalEditV36 summary{cursor:pointer;font-size:11px;font-weight:800;color:#5968d7}.goalEditV36 form{display:grid;grid-template-columns:1.5fr .8fr .7fr .9fr;gap:6px;margin-top:8px}.goalEditV36 input,.goalEditV36 select,.goalEditV36 textarea{border:1px solid #dfe3ea;border-radius:9px;padding:7px;font:inherit;font-size:11px}.goalEditV36 textarea{grid-column:1/-1}.goalEditV36 button{justify-self:start}@media(max-width:560px){.goalEditV36 form{grid-template-columns:1fr}.goalEditV36 textarea{grid-column:auto}}

/* ===== v37.css ===== */
:root{
  --ui-bg:#f4f7ff;
  --ui-bg-soft:#eef4ff;
  --ui-surface:#ffffff;
  --ui-surface-2:#f9fbff;
  --ui-border:#dbe4fb;
  --ui-border-strong:#c9d8fb;
  --ui-text:#0f172a;
  --ui-muted:#5b6885;
  --ui-accent:#4f46e5;
  --ui-accent-2:#06b6d4;
  --ui-accent-3:#14b8a6;
  --ui-danger:#dc2626;
  --ui-success:#059669;
  --ui-warning:#d97706;
  --ui-shadow:0 22px 60px rgba(79,70,229,.10);
  --ui-shadow-soft:0 10px 30px rgba(15,23,42,.08);
}
body.v37-ui{
  color:var(--ui-text);
  background:
    radial-gradient(680px 340px at 0% 0%, rgba(79,70,229,.12), transparent 60%),
    radial-gradient(760px 420px at 100% 0%, rgba(6,182,212,.10), transparent 60%),
    linear-gradient(180deg,#f8fbff 0%, #f2f6ff 100%);
}
body.v37-ui .app-shell{gap:20px;padding:22px;max-width:1720px}
body.v37-ui .main,
body.v37-ui .side{
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,255,.96));
  border:1px solid rgba(205,216,245,.9);
  box-shadow:var(--ui-shadow);
  backdrop-filter:blur(14px);
}
body.v37-ui .sideTop,
body.v37-ui .mainTop{padding:16px 18px;border-bottom:1px solid #e6ecfb;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,249,255,.92))}
body.v37-ui .sideBody,
body.v37-ui .mainBody{padding:18px}
body.v37-ui .brandText b,
body.v37-ui .brandText span,
body.v37-ui .pageSubtitle,
body.v37-ui .mainTop h1,
body.v37-ui .profileIdentity strong,
body.v37-ui .profileIdentity span,
body.v37-ui .sidebarDateCard,
body.v37-ui .sectionHead h3,
body.v37-ui .heroPanel h2,
body.v37-ui .metricCard strong,
body.v37-ui .contentCard,
body.v37-ui .goalCardV36,
body.v37-ui .applicationCardV36{color:var(--ui-text)}
body.v37-ui .brandText span,
body.v37-ui .pageSubtitle,
body.v37-ui .muted,
body.v37-ui .sectionHead p,
body.v37-ui .profileIdentity span,
body.v37-ui .sidebarDateCard span,
body.v37-ui .sidebarDateCard small,
body.v37-ui .metricCard span,
body.v37-ui .goalCardV36 p,
body.v37-ui .applicationInfoV36,
body.v37-ui .goalMetaV36 span,
body.v37-ui .goalNumbersV36 span{color:var(--ui-muted)}
body.v37-ui .logo,
body.v37-ui .mobileBrandMini i{
  box-shadow:0 14px 24px rgba(79,70,229,.18);
  background:
    radial-gradient(18px 18px at 30% 25%, rgba(255,255,255,.65), transparent 60%),
    linear-gradient(135deg,#6d5efc,#33b7ee);
}
body.v37-ui .profileBoxV25,
body.v37-ui .sidebarDateCard,
body.v37-ui .contentCard,
body.v37-ui .metricCard,
body.v37-ui .heroPanel,
body.v37-ui .stackCard,
body.v37-ui .dayCard,
body.v37-ui .memoryCard,
body.v37-ui .alertRow,
body.v37-ui .notificationDrawer,
body.v37-ui .flash{
  background:var(--ui-surface);
  border:1px solid var(--ui-border);
  box-shadow:var(--ui-shadow-soft);
}
body.v37-ui .navBtn{
  background:linear-gradient(180deg,#fff,#f7faff);
  border:1px solid #dde6fb;
  color:var(--ui-text);
  min-height:58px;
}
body.v37-ui .navBtn:hover{border-color:#c6d6ff;box-shadow:0 12px 22px rgba(79,70,229,.10);transform:translateY(-2px)}
body.v37-ui .navBtn.active{background:linear-gradient(135deg,#eef2ff,#effcf8);border-color:#b9c9ff;box-shadow:0 0 0 4px rgba(79,70,229,.07)}
body.v37-ui .navBtn small{color:#7a86a1}
body.v37-ui .navBtnDanger{background:linear-gradient(180deg,#fff5f5,#fff);border-color:#fecaca;color:#991b1b}
body.v37-ui .sidebarDateCard{border-radius:20px;padding:16px}
body.v37-ui .sidebarDateCard strong{font-size:1.2rem;color:#334155}
body.v37-ui .topChip,
body.v37-ui .badge,
body.v37-ui .topChipAccent,
body.v37-ui .heroBadge{background:#eef4ff;border:1px solid #d8e3ff;color:#4352c8}
body.v37-ui .topChipAccent{background:linear-gradient(135deg,#ede9fe,#e0f2fe);border-color:#c7d2fe}
body.v37-ui .btn{
  background:linear-gradient(180deg,#fff,#f6f8ff);
  border:1px solid #d9e2fb;
  color:var(--ui-text);
  padding:11px 14px;
  border-radius:16px;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}
body.v37-ui .btn:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(79,70,229,.12)}
body.v37-ui .btn.primary,
body.v37-ui .primary{background:linear-gradient(135deg,#5b52f5,#22c5f3);color:#fff;border-color:transparent}
body.v37-ui .btn.success,
body.v37-ui .success{background:linear-gradient(135deg,#10b981,#34d399);color:#fff;border-color:transparent}
body.v37-ui .btn.danger,
body.v37-ui .danger{background:linear-gradient(135deg,#ef4444,#f97316);color:#fff;border-color:transparent}
body.v37-ui .btn.ghost{background:#f8fbff}
body.v37-ui .field input,
body.v37-ui .field select,
body.v37-ui .field textarea,
body.v37-ui input,
body.v37-ui select,
body.v37-ui textarea{
  background:#fff;
  color:var(--ui-text);
  border:1px solid #d9e3f9;
  border-radius:16px;
}
body.v37-ui input:focus,
body.v37-ui select:focus,
body.v37-ui textarea:focus{outline:none;border-color:#9db3ff;box-shadow:0 0 0 4px rgba(79,70,229,.12)}
body.v37-ui .mainTop{position:sticky;top:0;z-index:8}
body.v37-ui .mobileAppHeader,
body.v37-ui .mobileBottomNav,
body.v37-ui .notificationDrawer{background:rgba(255,255,255,.95);border:1px solid #dce6fb;box-shadow:var(--ui-shadow-soft);backdrop-filter:blur(16px)}
body.v37-ui .mobileBottomNav a,
body.v37-ui .mobileBottomNav button{color:#4a5875}
body.v37-ui .mobileBottomNav a.active,
body.v37-ui .mobileBottomNav a:hover,
body.v37-ui .mobileBottomNav button:hover{color:#4f46e5}
body.v37-ui .flash-success{background:#ecfdf5;border-color:#bbf7d0;color:#065f46}
body.v37-ui .flash-danger{background:#fef2f2;border-color:#fecaca;color:#991b1b}
body.v37-ui .flash-warning{background:#fffbeb;border-color:#fde68a;color:#92400e}

/* Student board page */
body.v37-ui .studentBoardHeroV36{
  position:relative;
  overflow:hidden;
  grid-template-columns:1.25fr .95fr;
  padding:32px;
  border-radius:32px;
  background:linear-gradient(135deg,#eef2ff 0%,#ffffff 52%,#ecfeff 100%);
  border:1px solid #d6e2ff;
  box-shadow:0 25px 70px rgba(79,70,229,.12);
}
body.v37-ui .studentBoardHeroV36::before{
  content:"";
  position:absolute;inset:auto auto -80px -60px;
  width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.14),transparent 70%);
}
body.v37-ui .studentBoardHeroIntroV37{position:relative;z-index:1}
body.v37-ui .studentBoardHeroIntroV37>span,
body.v37-ui .enrollmentHeadV36>div>span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #dbe4fd;color:#4f46e5;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.08)}
body.v37-ui .studentBoardHeroV36 h2,
body.v37-ui .enrollmentHeadV36 h2{font-size:2rem;line-height:1.4;margin:12px 0 10px;color:#111827}
body.v37-ui .studentBoardHeroV36 p,
body.v37-ui .enrollmentHeadV36 p{font-size:15px;line-height:2;color:#5d6985;max-width:720px}
body.v37-ui .studentBoardHeroActionsV37{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
body.v37-ui .studentBoardHeroFactsV37{align-self:stretch;position:relative;z-index:1}
body.v37-ui .studentBoardHeroFactsV37 article{
  padding:18px;
  border-radius:24px;
  border:1px solid #deebff;
  background:linear-gradient(180deg,#fff,#f9fbff);
  box-shadow:0 16px 30px rgba(51,65,85,.06);
}
body.v37-ui .studentBoardHeroFactsV37 article b{font-size:24px;line-height:1;color:#4f46e5}
body.v37-ui .studentBoardHeroFactsV37 article strong{font-size:14px}
body.v37-ui .studentBoardHeroFactsV37 article small{font-size:12px;color:#66748f;line-height:1.8}
body.v37-ui .boardStudentChooserV37,
body.v37-ui .goalBuilderV37,
body.v37-ui .enrollmentApplicationsV36{border-radius:28px;padding:22px}
body.v37-ui .boardStudentChooserV37 .studentBoardSelectFormV36{background:#f8fbff;border:1px solid #e2eafd;padding:14px;border-radius:22px}
body.v37-ui .goalBuilderFormV36{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
body.v37-ui .goalBuilderFormV36 label>span,
body.v37-ui .enrollmentCreateFormV36 span,
body.v37-ui .publicEnrollFormV36 label span{color:#475569;font-size:12px;font-weight:900}
body.v37-ui .goalAutoTrackV36{background:linear-gradient(135deg,#eef2ff,#f0fdfa);border:1px solid #d7e4ff;border-radius:18px;padding:14px}
body.v37-ui .goalColumnsV37{gap:18px}
body.v37-ui .goalColumnV36{background:linear-gradient(180deg,#f9fbff,#f3f7ff);border:1px solid #dbe5fb;border-radius:28px;padding:16px;box-shadow:0 14px 32px rgba(15,23,42,.05)}
body.v37-ui .goalColumnV36.short>header{border-color:#c7d2fe}
body.v37-ui .goalColumnV36.medium>header{border-color:#bfdbfe}
body.v37-ui .goalColumnV36.long>header{border-color:#a7f3d0}
body.v37-ui .goalColumnV36>header{padding:8px 8px 16px;border-bottom:1px dashed #d9e2f7;margin-bottom:12px}
body.v37-ui .goalColumnV36>header i{background:#fff;border:1px solid #e1e8fb;color:#52617d;padding:7px 10px;border-radius:12px}
body.v37-ui .goalCardV36{border-radius:22px;padding:16px;border:1px solid #dfe7fb;box-shadow:0 14px 26px rgba(15,23,42,.05)}
body.v37-ui .goalCardV36.reached{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#a7f3d0}
body.v37-ui .goalCardHeadV36 h4{font-size:16px;line-height:1.8}
body.v37-ui .goalTrendV36{min-width:58px;text-align:center;padding:8px 10px;border-radius:12px}
body.v37-ui .goalTrendV36.up{background:#ecfdf5;color:#047857}
body.v37-ui .goalTrendV36.down{background:#fef2f2;color:#b91c1c}
body.v37-ui .goalTrendV36.flat{background:#f1f5f9;color:#475569}
body.v37-ui .goalNumbersV36{gap:10px}
body.v37-ui .goalNumbersV36 div{background:#f8fbff;border:1px solid #e5ecfb;border-radius:14px;padding:12px}
body.v37-ui .goalNumbersV36 b{font-size:13px;color:#1e293b}
body.v37-ui .goalProgressV36{margin-top:8px}
body.v37-ui .goalProgressV36>div{height:12px;background:#e7eefb;border-radius:999px;overflow:hidden;border:1px solid #d7e1f7}
body.v37-ui .goalProgressV36 i{background:linear-gradient(90deg,#4f46e5,#22c5f3,#14b8a6)}
body.v37-ui .goalMetaV36{gap:8px;margin-top:12px}
body.v37-ui .goalMetaV36 span{padding:6px 8px;background:#f8fbff;border:1px solid #e4ebfb;border-radius:10px;color:#607089}
body.v37-ui .goalEvidenceV36,
body.v37-ui .goalEditV36{margin-top:12px;border-top:1px dashed #dce4f8;padding-top:12px}
body.v37-ui .goalEvidenceV36 summary,
body.v37-ui .goalEditV36 summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:4px 0;color:#4f46e5;font-weight:900}
body.v37-ui .goalEvidenceV36 article{background:#f8fbff;border:1px solid #e4ebfb;border-radius:12px;padding:10px}
body.v37-ui .goalActionsV36{justify-content:space-between;gap:8px;flex-wrap:wrap}
body.v37-ui .goalActionsV36 form{flex:1}
body.v37-ui .goalActionsV36 .btn{width:100%}
body.v37-ui .goalEmptyV36{background:repeating-linear-gradient(135deg,#fff,#fff 10px,#f8fbff 10px,#f8fbff 20px);border:1px dashed #cfdaf6;border-radius:18px;padding:28px;color:#6b7893}

body.v37-ui .enrollmentCenterV37{gap:20px}
body.v37-ui .enrollmentHeadV36{
  background:linear-gradient(135deg,#111827 0%,#1f2937 40%,#0f766e 100%);
  box-shadow:0 20px 45px rgba(15,23,42,.18);
  border-radius:30px;
  padding:28px;
}
body.v37-ui .pendingEnrollmentBadgeV36{background:#f8fafc;color:#111827;border:1px solid rgba(255,255,255,.35);box-shadow:0 14px 24px rgba(0,0,0,.14)}
body.v37-ui .enrollmentGridV36{grid-template-columns:.9fr 1.1fr;gap:18px}
body.v37-ui .enrollmentCreateFormV36,
body.v37-ui .publicEnrollFormV36{gap:14px}
body.v37-ui .enrollmentInviteListV36>article,
body.v37-ui .applicationCardV36,
body.v37-ui .publicEnrollmentCardV36{
  background:linear-gradient(180deg,#fff,#f9fbff);
  border:1px solid #dde5fb;
  border-radius:20px;
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}
body.v37-ui .enrollUrlV36 input{border-radius:14px 0 0 14px;background:#f8fbff}
body.v37-ui .enrollUrlV36 button{border-radius:0 14px 14px 0;background:linear-gradient(135deg,#ede9fe,#e0f2fe);color:#4f46e5;font-weight:900}
body.v37-ui .applicationCardV36.pending{background:linear-gradient(180deg,#fffdf6,#fff);border-color:#fde68a}
body.v37-ui .applicationCardV36.approved{background:linear-gradient(180deg,#f0fdf4,#fff);border-color:#bbf7d0}
body.v37-ui .applicationCardV36.rejected{background:linear-gradient(180deg,#fff7f7,#fff);border-color:#fecaca}
body.v37-ui .applicationAvatarV36{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#e0e7ff,#dbeafe);color:#4f46e5}
body.v37-ui .applicationCardV36>header em{padding:6px 9px;border-radius:10px;background:#eef4ff;color:#4f46e5;font-weight:900}
body.v37-ui .applicationDecisionV36{grid-template-columns:1fr auto auto;align-items:center}
body.v37-ui .applicationNoteV36{background:#f8fbff;border:1px solid #e4ebfb;border-radius:12px;padding:10px}
body.v37-ui .publicEnrollmentShellV36{max-width:960px;margin:30px auto;padding:0 18px}
body.v37-ui .publicEnrollmentBrandV36 .logo{box-shadow:0 16px 28px rgba(79,70,229,.16)}
body.v37-ui .publicEnrollmentCardV36{border-radius:30px;padding:26px}
body.v37-ui .publicEnrollFormV36 fieldset{background:#fbfdff;border-radius:22px;border:1px solid #e1e8fb}
body.v37-ui .credentialGridV36 article{background:linear-gradient(180deg,#f8fbff,#eef4ff);border:1px solid #d7e4ff;border-radius:20px}
body.v37-ui .publicEnrollNoticeV36,
body.v37-ui .pendingApprovalV36{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}
body.v37-ui .successIconV36{background:#ecfdf5;color:#059669;box-shadow:0 12px 24px rgba(5,150,105,.14)}

@media (max-width: 1100px){
  body.v37-ui .studentBoardHeroV36,
  body.v37-ui .enrollmentGridV36{grid-template-columns:1fr}
}
@media (max-width: 900px){
  body.v37-ui .app-shell{grid-template-columns:1fr;padding:14px;gap:14px}
  body.v37-ui .goalBuilderFormV36{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  body.v37-ui .studentBoardHeroV36{padding:20px;border-radius:24px}
  body.v37-ui .studentBoardHeroV36 h2,
  body.v37-ui .enrollmentHeadV36 h2{font-size:1.4rem}
  body.v37-ui .studentBoardHeroActionsV37{flex-direction:column}
  body.v37-ui .studentBoardHeroActionsV37 .btn{width:100%}
  body.v37-ui .goalBuilderFormV36,
  body.v37-ui .applicationDecisionV36,
  body.v37-ui .goalEditV36 form{grid-template-columns:1fr}
  body.v37-ui .boardStudentChooserV37 .studentBoardSelectFormV36{flex-direction:column;align-items:stretch}
}

/* ===== v38.css ===== */
/* V38 — competition rooms + six-stage planner polish */
body.v38-ui .plannerStepRail.sixStage{grid-template-columns:repeat(6,minmax(0,1fr))}
body.v38-ui .plannerStudio{border-radius:30px;overflow:hidden;border:1px solid #d9e4fb;box-shadow:0 24px 60px rgba(48,61,120,.08)}
body.v38-ui .plannerStudio .plannerHero{background:linear-gradient(135deg,#3f47c9 0%,#5b5cf0 45%,#13b8c8 100%);padding:26px 28px}
body.v38-ui .plannerStudio .plannerHero h3{font-size:1.55rem;letter-spacing:-.4px}
body.v38-ui .plannerStudio .plannerStepRail{padding:15px;background:#fff;gap:8px;position:sticky;top:0;z-index:7}
body.v38-ui .plannerStudio .plannerStep{min-height:82px;border-radius:18px;border:1px solid #e0e7f7;background:linear-gradient(180deg,#fff,#f8faff);transition:.2s ease}
body.v38-ui .plannerStudio .plannerStep:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(79,70,229,.08)}
body.v38-ui .plannerStudio .plannerStep.active{background:linear-gradient(135deg,#eef2ff,#ecfeff);border-color:#acbdf6;box-shadow:0 0 0 4px rgba(79,70,229,.07)}
body.v38-ui .plannerStudio .plannerStep.done{background:#f0fdf8;border-color:#b7ebdb}
body.v38-ui .plannerStudio .plannerStep>span{background:#eef2ff;color:#4f46e5}
body.v38-ui .plannerStudio .plannerStep.active>span{background:linear-gradient(135deg,#4f46e5,#22b7e6);color:#fff}
body.v38-ui .plannerStudio .plannerStep.done>span{background:#10b981;color:#fff}
body.v38-ui .plannerStudio .plannerPanel{padding:24px;border-radius:26px;background:#fff;border:1px solid #e1e8f8;box-shadow:0 12px 30px rgba(15,23,42,.04)}
body.v38-ui .plannerStudio .plannerPanelHead{padding-bottom:16px;border-bottom:1px solid #edf1fa}
body.v38-ui .plannerStudio .plannerPanelHead h4{font-size:1.25rem}
body.v38-ui .plannerStudio .plannerFooter{background:rgba(255,255,255,.96);border-top:1px solid #dce5f8;box-shadow:0 -12px 30px rgba(15,23,42,.06)}
body.v38-ui .plannerStudio .plannerFooterStatus>div{background:#e8eefb}
body.v38-ui .plannerStudio .plannerFooterStatus i{background:linear-gradient(90deg,#4f46e5,#22c5f3)}

.competitionHeroV38{display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:center;padding:32px;border:1px solid #dbe5fb;border-radius:32px;background:linear-gradient(135deg,#f1f4ff 0%,#fff 52%,#eafcfe 100%);box-shadow:0 24px 65px rgba(79,70,229,.10);overflow:hidden;position:relative}
.competitionHeroV38:after{content:"";position:absolute;width:350px;height:350px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.12),transparent 68%);left:-140px;bottom:-180px}
.competitionHeroCopyV38{position:relative;z-index:2}.competitionKickerV38{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d8e1fb;color:#4f46e5;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.08)}
.competitionHeroCopyV38 h2{margin:14px 0 10px;font-size:2rem;line-height:1.45;color:#111827}.competitionHeroCopyV38 h2 em{font-style:normal;color:#4f46e5}.competitionHeroCopyV38 p{margin:0;color:#5f6c86;line-height:2;max-width:760px}.competitionHeroBadgesV38{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.competitionHeroBadgesV38 span{padding:7px 10px;border-radius:12px;background:#fff;border:1px solid #e0e7f7;color:#48566f;font-size:11px;font-weight:850}
.competitionHeroVisualV38{height:260px;position:relative;border-radius:28px;background:radial-gradient(circle at center,rgba(79,70,229,.18),transparent 25%),linear-gradient(160deg,#151b3e,#263d70 58%,#0f766e);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 18px 35px rgba(15,23,42,.18)}.competitionHeroVisualV38:before,.competitionHeroVisualV38:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.13);border-radius:50%;inset:26px}.competitionHeroVisualV38:after{inset:66px}.heroCenterV38{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:128px;height:128px;border-radius:50%;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px);color:white;text-align:center}.heroCenterV38 b{font-size:28px}.heroCenterV38 strong{font-size:13px}.heroCenterV38 span{font-size:9px;color:#dbeafe}.heroNodeV38{position:absolute;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#273156;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.22);border:3px solid rgba(255,255,255,.6)}.heroNodeV38.crown{right:15%;top:15%;background:#fef3c7;color:#92400e}.heroNodeV38.n2{left:14%;top:24%}.heroNodeV38.n3{right:20%;bottom:12%}.heroNodeV38.n4{left:22%;bottom:12%;background:#d1fae5;color:#047857}
.competitionToolbarV38{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px!important}.competitionRoomTabsV38{display:flex;gap:8px;flex-wrap:wrap}.competitionRoomTabsV38 a,.competitionRoomTabsV38 button{display:flex;align-items:center;gap:7px;padding:10px 12px;border:1px solid #dfe6f7;border-radius:14px;background:#f9fbff;color:#45536c;cursor:pointer;font:inherit}.competitionRoomTabsV38 a i{width:8px;height:8px;border-radius:50%;background:#94a3b8}.competitionRoomTabsV38 a.active{background:#eef2ff;border-color:#b9c6fb;color:#3730a3}.competitionRoomTabsV38 a.active i{background:#4f46e5}.competitionRoomTabsV38 a small{font-size:9px;color:#8490a8}.competitionRoomActionsV38{display:flex;gap:8px;flex-wrap:wrap}.competitionCreateFormV38{display:grid;grid-template-columns:1fr .35fr 1.4fr auto;gap:12px;align-items:end}.competitionCreateFormV38 label{display:grid;gap:6px}.competitionCreateFormV38 label span{font-size:11px;font-weight:900;color:#55627b}.competitionCreateFormV38 input{width:100%}
.competitionRoomHeadV38{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:22px 24px;border-radius:26px;background:#fff;border:1px solid #dce5f8;box-shadow:0 12px 30px rgba(15,23,42,.05)}.competitionRoomHeadV38>div>span{font-size:11px;color:#059669;font-weight:900}.competitionRoomHeadV38 h2{margin:5px 0;font-size:1.5rem}.competitionRoomHeadV38 p{margin:0;color:#69758c;line-height:1.8;font-size:12px}.competitionPeriodTabsV38{display:flex;gap:6px;flex-wrap:wrap}.competitionPeriodTabsV38 a{padding:9px 11px;border-radius:12px;background:#f6f8fc;border:1px solid #e0e6f4;color:#65728a;font-size:11px;font-weight:900}.competitionPeriodTabsV38 a.active{background:linear-gradient(135deg,#4f46e5,#22b7e6);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(79,70,229,.18)}
.competitionKpiGridV38{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.competitionKpiGridV38 article{display:grid;grid-template-columns:38px 1fr;gap:3px 10px;align-items:center;padding:15px 16px;border-radius:20px;background:#fff;border:1px solid #dfe7f8;box-shadow:0 10px 24px rgba(15,23,42,.045)}.competitionKpiGridV38 i{grid-row:1/4;width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#eef2ff,#e0f2fe);color:#4f46e5;font-style:normal;font-weight:900}.competitionKpiGridV38 span{font-size:10px;color:#718099}.competitionKpiGridV38 strong{font-size:20px}.competitionKpiGridV38 small{font-size:9px;color:#8994a8}
.competitionChampionTimelineV38{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.competitionChampionTimelineV38 article{padding:13px;border-radius:18px;border:1px solid #dfe6f5;background:linear-gradient(180deg,#fff,#f9fbff);display:grid;gap:8px}.competitionChampionTimelineV38 article.active{border-color:#adbdf8;box-shadow:0 0 0 4px rgba(79,70,229,.06)}.competitionChampionTimelineV38 article>span{font-size:10px;color:#66758e;font-weight:900}.competitionChampionTimelineV38 article>div{display:grid;grid-template-columns:auto 1fr;gap:0 7px;align-items:center}.competitionChampionTimelineV38 article>div b{grid-row:1/3;font-size:18px}.competitionChampionTimelineV38 article>div strong{font-size:12px}.competitionChampionTimelineV38 article>div small{font-size:9px;color:#8a96aa}.competitionChampionTimelineV38 article .growth{padding-top:7px;border-top:1px dashed #e3e8f3}.competitionChampionTimelineV38 article .growth b{color:#059669}
.competitionMainGridV38{display:grid;grid-template-columns:1.5fr .62fr;gap:16px}.competitionUniverseCardV38{padding:18px;border-radius:26px;background:#fff;border:1px solid #dce5f7;box-shadow:0 14px 35px rgba(15,23,42,.05)}.competitionUniverseCardV38>header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.competitionUniverseCardV38>header span{font-size:10px;color:#69758d}.competitionUniverseCardV38 h3{margin:3px 0;font-size:1rem}.universeLegendV38{display:flex;gap:10px;flex-wrap:wrap}.universeLegendV38 span{display:flex!important;align-items:center;gap:5px}.universeLegendV38 i{width:9px;height:9px;border-radius:50%;background:#64748b}.universeLegendV38 i.leader{background:#f59e0b}.universeLegendV38 i.growth{background:#10b981}.universeLegendV38 i.me{background:#4f46e5}
.competitionUniverseV38{height:510px;position:relative;overflow:hidden;border-radius:24px;background:radial-gradient(circle at 50% 50%,#1d2852 0,#121a3d 34%,#0b132e 75%,#071025 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.competitionUniverseV38:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.13) 1px,transparent 1px);background-size:24px 24px;opacity:.38}.universeOrbitV38{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(124,154,255,.16);border-radius:50%}.universeOrbitV38.orbit1{width:55%;height:55%}.universeOrbitV38.orbit2{width:86%;height:86%}.universeCoreV38{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:142px;height:142px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;background:linear-gradient(145deg,rgba(79,70,229,.86),rgba(6,182,212,.62));border:1px solid rgba(255,255,255,.30);box-shadow:0 0 45px rgba(79,70,229,.36),inset 0 0 30px rgba(255,255,255,.10);color:#fff;z-index:2}.universeCoreV38 b{font-size:26px}.universeCoreV38 strong{font-size:11px;max-width:105px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.universeCoreV38 span{font-size:9px;color:#e0f2fe}
.competitionNodeV38{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:var(--size);height:var(--size);border-radius:50%;display:grid;place-items:center;align-content:center;background:linear-gradient(145deg,#e9efff,#a7c7ff);border:3px solid rgba(255,255,255,.72);box-shadow:0 9px 22px rgba(0,0,0,.24),0 0 0 5px rgba(112,145,255,.08);color:#172554;z-index:3;transition:.2s}.competitionNodeV38:hover{transform:translate(-50%,-50%) scale(1.08);z-index:5}.competitionNodeV38>span{position:absolute;top:-8px;right:-4px;min-width:22px;height:22px;border-radius:999px;display:grid;place-items:center;padding:0 5px;background:#1e293b;color:#fff;border:2px solid #fff;font-size:8px;font-weight:900}.competitionNodeV38 strong{font-size:9px}.competitionNodeV38 small{font-size:9px;font-weight:900;color:#475569}.competitionNodeV38.leader{background:linear-gradient(145deg,#fff7cc,#fbbf24);color:#78350f;box-shadow:0 0 34px rgba(251,191,36,.38),0 9px 22px rgba(0,0,0,.2)}.competitionNodeV38.growth{outline:3px solid #34d399;outline-offset:3px}.competitionNodeV38.me{background:linear-gradient(145deg,#ddd6fe,#818cf8);outline:4px solid #fff;outline-offset:2px;color:#312e81}.universeMoreV38{text-align:center;padding:10px;color:#68758c;font-size:10px}
.competitionHighlightsV38{display:grid;gap:10px}.competitionHighlightsV38 article{padding:16px;border-radius:22px;background:#fff;border:1px solid #dfe6f6;display:grid;gap:5px;box-shadow:0 10px 24px rgba(15,23,42,.045)}.competitionHighlightsV38 article>span{font-size:10px;color:#68768e;font-weight:900}.competitionHighlightsV38 article>strong{font-size:20px}.competitionHighlightsV38 article>b{font-size:12px}.competitionHighlightsV38 article>small{font-size:10px;color:#7a879d;line-height:1.7}.competitionHighlightsV38 .leader{background:linear-gradient(135deg,#fffaf0,#fff);border-color:#f8dda1}.competitionHighlightsV38 .growth{background:linear-gradient(135deg,#ecfdf5,#fff);border-color:#b9ead6}.competitionHighlightsV38 .consistency{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#caddfa}.competitionHighlightsV38 .analysis{background:linear-gradient(145deg,#111827,#1e293b);color:#fff}.competitionHighlightsV38 .analysis>span{color:#a5b4fc}.competitionHighlightsV38 .analysis ul{margin:5px 0 0;padding:0 17px 0 0;display:grid;gap:8px}.competitionHighlightsV38 .analysis li{font-size:10px;color:#e2e8f0;line-height:1.7}
.competitionTableWrapV38{overflow:auto;border:1px solid #e1e7f5;border-radius:18px}.competitionLeaderboardV38 table{min-width:1030px}.competitionLeaderboardV38 th{font-size:10px;color:#65728b;background:#f8faff;white-space:nowrap}.competitionLeaderboardV38 td{font-size:11px;color:#334155}.competitionLeaderboardV38 tr.top1{background:#fffdf3}.competitionLeaderboardV38 tr.top2{background:#fbfcff}.competitionLeaderboardV38 tr.top3{background:#fffaf7}.competitionLeaderboardV38 tr.me{background:#eef2ff!important;box-shadow:inset -4px 0 #4f46e5}.competitionLeaderboardV38 td small{display:block;color:#8a95a8;font-size:8px}.publicCodeV38{direction:ltr;display:inline-flex;padding:5px 7px;border-radius:8px;background:#eef2ff;color:#4338ca;letter-spacing:.4px}.rankMedalV38{font-size:15px}.growthValueV38{font-weight:900;color:#64748b}.growthValueV38.up,.rankMoveV38.up{color:#059669}.growthValueV38.down,.rankMoveV38.down{color:#dc2626}.meBadgeV38{font-style:normal;margin-right:5px;padding:2px 5px;border-radius:6px;background:#4f46e5;color:#fff;font-size:8px}
.competitionMemberGridV38{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.competitionMemberGridV38 article{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid #e1e7f5;border-radius:16px;background:#fbfdff}.competitionMemberGridV38 article.off{opacity:.58;background:#f8fafc}.memberIdentityV38{display:flex;align-items:center;gap:9px}.memberIdentityV38>span{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#e0e7ff,#dbeafe);color:#4f46e5;font-weight:900}.memberIdentityV38>div{display:grid}.memberIdentityV38 strong{font-size:11px}.memberIdentityV38 small{font-size:9px;color:#4f46e5;direction:ltr}.memberStateV38{display:flex;align-items:center;gap:8px}.memberStateV38>span{font-size:9px;color:#768399}.competitionScoreInfoV38{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.competitionScoreInfoV38 article{padding:17px;border-radius:20px;background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #dfe7f7}.competitionScoreInfoV38 span{display:block;font-size:10px;color:#5362d4;font-weight:900}.competitionScoreInfoV38 strong{display:block;margin-top:4px;font-size:13px}.competitionScoreInfoV38 p{margin:7px 0 0;color:#6c7890;font-size:10px;line-height:1.9}
.competitionStudentHeroV38{display:grid;grid-template-columns:1fr 250px;gap:20px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#171d42,#283a7a 52%,#0f766e);color:#fff;box-shadow:0 22px 55px rgba(15,23,42,.18)}.competitionStudentHeroV38>div:first-child>span{font-size:11px;color:#a5b4fc;font-weight:900}.competitionStudentHeroV38 h2{margin:7px 0;font-size:1.7rem}.competitionStudentHeroV38 p{margin:0;color:#d8e1f5;line-height:1.9;font-size:12px}.myCompetitionCodeV38{display:inline-grid;margin-top:16px;padding:9px 13px;border-radius:14px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14)}.myCompetitionCodeV38 small{font-size:8px;color:#cbd5e1}.myCompetitionCodeV38 strong{font-size:17px;direction:ltr}.myCompetitionRankV38{border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;align-content:center;text-align:center}.myCompetitionRankV38 span{font-size:10px;color:#dbeafe}.myCompetitionRankV38 strong{font-size:52px;line-height:1}.myCompetitionRankV38 small{font-size:9px;color:#cbd5e1}.myCompetitionRankV38 em{margin-top:8px;padding:5px 9px;border-radius:999px;background:#d1fae5;color:#047857;font-size:9px;font-style:normal;font-weight:900}.studentCompetitionRoomTabsV38{display:flex;gap:8px;overflow:auto}.studentCompetitionRoomTabsV38 a{white-space:nowrap;padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #dfe6f4;color:#65728a;font-size:10px;font-weight:900}.studentCompetitionRoomTabsV38 a.active{background:#eef2ff;color:#4338ca;border-color:#b8c7fb}.studentPodiumV38{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:end}.studentPodiumV38 article{position:relative;padding:18px;border-radius:22px;background:#fff;border:1px solid #dfe6f6;display:grid;justify-items:center;text-align:center;gap:5px;box-shadow:0 12px 28px rgba(15,23,42,.05)}.studentPodiumV38 article.rank1{min-height:210px;background:linear-gradient(180deg,#fff7d6,#fff);border-color:#f4d47f;order:2}.studentPodiumV38 article.rank2{min-height:180px;order:1}.studentPodiumV38 article.rank3{min-height:165px;background:linear-gradient(180deg,#fff4ed,#fff);order:3}.studentPodiumV38 article.me{outline:3px solid #6366f1;outline-offset:2px}.podiumAvatarV38{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#e0e7ff,#bae6fd);color:#4338ca;font-weight:900}.studentPodiumV38 span{font-size:10px;color:#6c7890}.studentPodiumV38 strong{font-size:16px}.studentPodiumV38 b{font-size:11px;color:#4f46e5}.studentPodiumV38 small{font-size:9px;color:#8792a6}.studentPodiumV38 em{font-style:normal;padding:3px 7px;border-radius:8px;background:#4f46e5;color:#fff;font-size:8px}.studentCompetitionFairnessV38{display:flex;gap:14px;align-items:center;padding:18px;border-radius:22px;background:#eff6ff;border:1px solid #cfe0fb}.studentCompetitionFairnessV38>div:first-child{font-size:30px}.studentCompetitionFairnessV38 strong{font-size:12px}.studentCompetitionFairnessV38 p{margin:4px 0 0;font-size:10px;line-height:1.8;color:#53617a}.competitionEmptyStudentV38{min-height:460px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;border-radius:30px;background:linear-gradient(135deg,#f0f4ff,#fff,#edfeff);border:1px solid #dce5f8}.competitionEmptyStudentV38>div{font-size:52px}.competitionEmptyStudentV38 h2{margin:8px}.competitionEmptyStudentV38 p{max-width:520px;color:#66758e;line-height:1.9}
@media(max-width:1250px){body.v38-ui .plannerStepRail.sixStage{grid-template-columns:repeat(6,minmax(155px,1fr));overflow-x:auto}.competitionKpiGridV38{grid-template-columns:repeat(3,1fr)}.competitionMemberGridV38{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){.competitionHeroV38,.competitionStudentHeroV38,.competitionMainGridV38{grid-template-columns:1fr}.competitionHeroVisualV38{height:230px}.competitionChampionTimelineV38{grid-template-columns:repeat(5,minmax(150px,1fr));overflow:auto}.competitionRoomHeadV38{align-items:flex-start;flex-direction:column}.competitionKpiGridV38{grid-template-columns:repeat(2,1fr)}.competitionCreateFormV38{grid-template-columns:1fr 1fr}.competitionCreateFormV38 .wide,.competitionCreateFormV38 button{grid-column:1/-1}.competitionScoreInfoV38{grid-template-columns:1fr}.myCompetitionRankV38{min-height:180px}}
@media(max-width:700px){body.v38-ui .plannerStudio .plannerStepRail.sixStage{display:flex;overflow:auto}body.v38-ui .plannerStudio .plannerStepRail.sixStage .plannerStep{flex:0 0 155px}.competitionHeroV38{padding:20px;border-radius:24px}.competitionHeroCopyV38 h2{font-size:1.45rem}.competitionToolbarV38{align-items:stretch;flex-direction:column}.competitionRoomActionsV38 form,.competitionRoomActionsV38 .btn{flex:1;width:100%}.competitionKpiGridV38{grid-template-columns:1fr 1fr}.competitionUniverseV38{height:410px}.universeCoreV38{width:112px;height:112px}.competitionMemberGridV38{grid-template-columns:1fr}.studentPodiumV38{grid-template-columns:1fr}.studentPodiumV38 article.rank1,.studentPodiumV38 article.rank2,.studentPodiumV38 article.rank3{order:initial;min-height:0}.competitionStudentHeroV38{padding:20px}.competitionPeriodTabsV38{flex-wrap:nowrap;overflow:auto;width:100%}.competitionPeriodTabsV38 a{white-space:nowrap}.competitionCreateFormV38{grid-template-columns:1fr}.competitionCreateFormV38 .wide,.competitionCreateFormV38 button{grid-column:auto}}
@media(max-width:480px){.competitionKpiGridV38{grid-template-columns:1fr}.competitionUniverseV38{height:360px}.competitionNodeV38{transform:translate(-50%,-50%) scale(.82)}.competitionNodeV38:hover{transform:translate(-50%,-50%) scale(.88)}.competitionHeroBadgesV38 span{flex:1;text-align:center}.competitionStudentHeroV38 h2{font-size:1.3rem}}
body.v38-ui .competitionKpiGridV38{grid-template-columns:repeat(6,1fr)}
.anomalyFlagV38{display:block!important;margin-top:4px;color:#b45309!important;font-size:8px!important;font-weight:900}
@media(max-width:1250px){body.v38-ui .competitionKpiGridV38{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){body.v38-ui .competitionKpiGridV38{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){body.v38-ui .competitionKpiGridV38{grid-template-columns:1fr}}
.competitionHighlightsV38 .study{background:linear-gradient(135deg,#f0f9ff,#fff);border-color:#bae6fd}
.competitionHighlightsV38 .completion{background:linear-gradient(135deg,#f0fdf4,#fff);border-color:#bbf7d0}
.competitionHighlightsV38 .jump{background:linear-gradient(135deg,#faf5ff,#fff);border-color:#ddd6fe}

/* ===== v39.css ===== */
/* V39 — enrollment management + advisor accounting */
body.v39-ui{--v39-indigo:#4f46e5;--v39-cyan:#06b6d4;--v39-emerald:#10b981;--v39-amber:#f59e0b;--v39-rose:#ef4444;--v39-ink:#0f172a;--v39-muted:#64748b;--v39-line:#dbe5f7;--v39-soft:#f7f9ff}
body.v39-ui .enrollmentNavV39,body.v39-ui .accountingNavV39{position:relative;overflow:hidden}
body.v39-ui .enrollmentNavV39:after,body.v39-ui .accountingNavV39:after{content:"";position:absolute;inset:auto 12px 8px 12px;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--v39-indigo),var(--v39-cyan));opacity:.3}

/* Enrollment command center */
.enrollManagerHeroV39{position:relative;overflow:hidden;display:grid;grid-template-columns:1.2fr .9fr;gap:26px;padding:32px;border-radius:32px;border:1px solid #d7e2fb;background:linear-gradient(135deg,#eef2ff 0%,#ffffff 52%,#ecfeff 100%);box-shadow:0 25px 70px rgba(79,70,229,.11)}
.enrollManagerHeroV39:before{content:"";position:absolute;left:-70px;bottom:-100px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.15),transparent 68%)}
.enrollManagerHeroCopyV39{position:relative;z-index:1}.enrollManagerHeroCopyV39>span,.accountingHeroV39>div:first-child>span{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid #d9e4ff;color:#4f46e5;font-size:12px;font-weight:900;box-shadow:0 8px 18px rgba(79,70,229,.07)}
.enrollManagerHeroV39 h2,.accountingHeroV39 h2{margin:12px 0 8px;color:#111827;font-size:2rem;line-height:1.45}.enrollManagerHeroV39 p,.accountingHeroV39 p{margin:0;max-width:760px;color:#5d6985;line-height:2}
.enrollHeroActionsV39,.accountingHeroActionsV39{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.enrollFlowV39{display:flex;align-items:center;justify-content:center;gap:8px;position:relative;z-index:1}.enrollFlowV39 article{flex:1;min-width:0;background:rgba(255,255,255,.88);border:1px solid #dee7fb;border-radius:22px;padding:16px 10px;text-align:center;box-shadow:0 14px 28px rgba(15,23,42,.05)}.enrollFlowV39 article b{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 9px;border-radius:12px;background:linear-gradient(135deg,#4f46e5,#22c5f3);color:#fff}.enrollFlowV39 article span{display:block;font-size:12px;font-weight:900;color:#1e293b}.enrollFlowV39 article small{display:block;margin-top:4px;color:#7b879c;font-size:10px}.enrollFlowV39>i{font-style:normal;color:#9aa8c3}
.enrollStatsV39,.accountingKpisV39{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.enrollStatsV39 article,.accountingKpisV39 article{background:#fff;border:1px solid #dfe7f8;border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.045);position:relative;overflow:hidden}.enrollStatsV39 article:before,.accountingKpisV39 article:before{content:"";position:absolute;right:0;top:0;width:5px;height:100%;background:#cbd5e1}.enrollStatsV39 article.success:before,.accountingKpisV39 article.success:before{background:#10b981}.enrollStatsV39 article.warning:before,.accountingKpisV39 article.warning:before{background:#f59e0b}.enrollStatsV39 article.danger:before,.accountingKpisV39 article.danger:before{background:#ef4444}.enrollStatsV39 article.info:before{background:#06b6d4}.enrollStatsV39 span,.accountingKpisV39 span{display:block;color:#66738e;font-size:11px;font-weight:800}.enrollStatsV39 strong,.accountingKpisV39 strong{display:block;margin:5px 0 2px;font-size:1.55rem;color:#111827}.enrollStatsV39 small,.accountingKpisV39 small{color:#8a94a8;font-size:10px}
.oneTimeCredentialV39{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:22px;border-radius:26px;background:linear-gradient(135deg,#111827,#1e293b 55%,#0f766e);color:#fff;box-shadow:0 20px 45px rgba(15,23,42,.18)}.oneTimeCredentialV39 h3{margin:5px 0}.oneTimeCredentialV39 p{margin:0;color:#cbd5e1;line-height:1.9}.credentialTilesV39{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.credentialTilesV39 article{display:grid;gap:5px;padding:14px;border:1px solid rgba(255,255,255,.15);border-radius:18px;background:rgba(255,255,255,.08)}.credentialTilesV39 span{color:#a5f3fc;font-size:11px}.credentialTilesV39 strong{font-size:1.35rem;letter-spacing:1px}.credentialTilesV39 small{color:#dbeafe}.credentialTilesV39 em{font-style:normal;color:#bbf7d0;font-size:11px;line-height:1.8}
.enrollBuilderGridV39,.accountingBuilderGridV39{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.manualEnrollmentFormV39{display:grid;gap:14px}.manualEnrollmentFormV39 fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid #e1e8f8;border-radius:22px;background:#fbfdff;padding:16px}.manualEnrollmentFormV39 legend{padding:0 8px;color:#4f46e5;font-weight:900}.manualEnrollmentFormV39 label,.inviteCreateV39 label,.accountingFormV39 label{display:grid;gap:6px}.manualEnrollmentFormV39 label>span,.inviteCreateV39 label>span,.accountingFormV39 label>span{font-size:11px;font-weight:900;color:#52617a}.manualEnrollmentFormV39 input,.manualEnrollmentFormV39 select,.manualEnrollmentFormV39 textarea,.inviteCreateV39 input,.inviteCreateV39 select,.accountingFormV39 input,.accountingFormV39 select,.accountingFormV39 textarea{width:100%;background:#fff;border:1px solid #dbe4f6;border-radius:14px;padding:11px 12px;color:#0f172a}.activateNowV39{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:10px;padding:13px 14px;border:1px solid #cfe2ff;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#ecfeff)}.activateNowV39 input{width:auto!important}.activateNowV39 span{display:grid}.activateNowV39 small{color:#64748b;font-weight:500}.inviteCreateV39{display:grid;grid-template-columns:1.3fr .8fr .8fr auto;gap:10px;align-items:end;padding:14px;border-radius:20px;background:#f8fbff;border:1px solid #e2e9f8}.inviteRowsV39{display:grid;gap:10px;margin-top:14px;max-height:520px;overflow:auto}.inviteRowsV39>article{padding:13px;border:1px solid #dfe7f7;border-radius:18px;background:#fff;box-shadow:0 10px 20px rgba(15,23,42,.035)}.inviteRowsV39>article.disabled{opacity:.58}.inviteRowsV39 header{display:flex;justify-content:space-between;gap:10px}.inviteRowsV39 header div{display:grid}.inviteRowsV39 header span{font-size:10px;color:#75839b}.inviteRowsV39 header em{font-style:normal;font-size:10px;padding:5px 8px;border-radius:9px;background:#ecfdf5;color:#047857;height:max-content}.inviteCopyV39{display:flex;margin:10px 0}.inviteCopyV39 input{flex:1;direction:ltr;text-align:left;border:1px solid #dce5f6;border-radius:12px 0 0 12px;padding:9px;background:#f8fbff}.inviteCopyV39 button{border:0;border-radius:0 12px 12px 0;padding:0 12px;background:#eef2ff;color:#4f46e5;font-weight:900;cursor:pointer}
.pendingCardsV39,.studentAccountGridV39{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pendingCardsV39 article,.studentAccountCardV39{padding:15px;border:1px solid #dfe7f7;border-radius:21px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 12px 25px rgba(15,23,42,.04)}.pendingCardsV39 article{border-color:#fde2a6;background:linear-gradient(180deg,#fffdf7,#fff)}.pendingCardsV39 header,.studentAccountCardV39>header{display:flex;align-items:center;gap:10px}.regAvatarV39{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;background:linear-gradient(135deg,#e0e7ff,#cffafe);color:#4f46e5;font-weight:900}.pendingCardsV39 header>div:nth-child(2),.studentAccountCardV39>header>div:nth-child(2){display:grid;flex:1}.pendingCardsV39 header span,.studentAccountCardV39>header span{font-size:10px;color:#738099}.pendingCardsV39 header em,.studentAccountCardV39>header em{font-style:normal;font-size:10px;padding:6px 8px;border-radius:10px;background:#fff7ed;color:#c2410c}.pendingInfoV39,.accountFactsV39{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.pendingInfoV39 span,.accountFactsV39 span{padding:9px;border-radius:12px;background:#f8fbff;border:1px solid #e5ecf9;font-size:11px;color:#64748b}.accountFactsV39 span b{display:block;color:#334155;margin-bottom:3px}.pendingDecisionV39{display:grid;grid-template-columns:1fr auto auto;gap:7px}.pendingDecisionV39 input{border:1px solid #dce5f6;border-radius:12px;padding:9px}.studentManagerFilterV39,.accountingFiltersV39{display:grid;grid-template-columns:1fr .35fr auto auto;gap:9px;padding:12px;margin-bottom:14px;border-radius:18px;background:#f8fbff;border:1px solid #e2e9f8}.studentManagerFilterV39 input,.studentManagerFilterV39 select,.accountingFiltersV39 input,.accountingFiltersV39 select{border:1px solid #dbe4f6;border-radius:13px;padding:10px;background:#fff}.studentAccountCardV39.status-suspended{border-color:#fecaca;background:linear-gradient(180deg,#fff7f7,#fff)}.studentAccountCardV39.status-pending{border-color:#fde68a}.studentAccountCardV39.status-approved>header em{background:#ecfdf5;color:#047857}.studentAccountCardV39.status-suspended>header em{background:#fef2f2;color:#b91c1c}.accountQuickActionsV39{display:flex;gap:6px;flex-wrap:wrap}.accountEditV39{margin-top:12px;border-top:1px dashed #dce4f6;padding-top:10px}.accountEditV39 summary{cursor:pointer;color:#4f46e5;font-size:11px;font-weight:900}.accountEditV39 form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.accountEditV39 label{display:grid;gap:5px}.accountEditV39 label span{font-size:10px;color:#64748b;font-weight:800}.accountEditV39 .wide{grid-column:1/-1}.accountEditV39 input,.accountEditV39 select,.accountEditV39 textarea{border:1px solid #dbe4f6;border-radius:11px;padding:9px;background:#fff}.boardEnrollmentShortcutV39{display:flex;align-items:center;justify-content:space-between;gap:20px;border-radius:26px!important;background:linear-gradient(135deg,#f5f3ff,#ecfeff)!important}.boardEnrollmentShortcutV39 h3{margin:5px 0}.boardEnrollmentShortcutV39 p{margin:0;color:#64748b;line-height:1.8}.boardEnrollmentShortcutV39 span{color:#4f46e5;font-size:11px;font-weight:900}

/* Accounting */
.accountingHeroV39{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;padding:30px;border-radius:32px;background:linear-gradient(135deg,#eff6ff,#fff 48%,#ecfdf5);border:1px solid #d7e4fb;box-shadow:0 24px 65px rgba(15,23,42,.08)}.accountingBalanceV39{display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:26px;padding:22px;background:linear-gradient(135deg,#111827,#1e293b 60%,#0f766e);color:#fff;box-shadow:0 18px 38px rgba(15,23,42,.18)}.accountingBalanceV39 span{color:#bae6fd;font-size:12px}.accountingBalanceV39 strong{font-size:2.1rem;margin:8px 0}.accountingBalanceV39 strong.negative{color:#fecaca}.accountingBalanceV39 small{color:#cbd5e1}.accountingFormV39{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.accountingFormV39 .wide{grid-column:1/-1}.balanceCardsV39{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.balanceCardsV39 article{padding:14px;border:1px solid #dfe7f7;border-radius:18px;background:#fff}.balanceCardsV39 article.overdue{border-color:#fecaca;background:#fff8f8}.balanceCardsV39 header{display:flex;justify-content:space-between;gap:8px}.balanceCardsV39 header span{font-size:10px;color:#64748b}.balanceCardsV39 article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:10px 0}.balanceCardsV39 article>div span{font-size:9px;color:#718096}.balanceCardsV39 article>div b,.balanceCardsV39 article>div strong{display:block;color:#1e293b;font-size:11px}.balanceCardsV39 article>a{font-size:10px;color:#4f46e5;font-weight:900}.accountingTableV39{overflow:auto;border:1px solid #e2e8f6;border-radius:18px}.accountingTableV39 table{min-width:980px;background:#fff}.accountingTableV39 th{position:sticky;top:0;background:#f8fbff;color:#56657e;font-size:10px;z-index:1}.accountingTableV39 td{vertical-align:middle}.accountingTableV39 td small{display:block;color:#8490a4;font-size:9px}.accountingTableV39 tr.void{opacity:.55;text-decoration:line-through}.feeStatusV39{display:inline-flex;padding:6px 8px;border-radius:9px;font-size:10px;font-weight:900;background:#f1f5f9;color:#475569}.feeStatusV39.paid{background:#ecfdf5;color:#047857}.feeStatusV39.partial{background:#eff6ff;color:#1d4ed8}.feeStatusV39.overdue{background:#fef2f2;color:#b91c1c}.feeStatusV39.unpaid{background:#fff7ed;color:#c2410c}.feePaymentV39{display:grid;grid-template-columns:110px 100px 110px 90px auto;gap:5px}.feePaymentV39 input,.feePaymentV39 select{min-width:0;border:1px solid #dbe4f6;border-radius:9px;padding:7px;background:#fff}.accountingFiltersV39{grid-template-columns:1fr .65fr .8fr .8fr auto auto}.cashflowStripV39{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:14px 0}.cashflowStripV39 article{display:grid;gap:4px;padding:10px;border:1px solid #e0e8f8;border-radius:14px;background:#fbfdff;text-align:center}.cashflowStripV39 span{font-size:9px;color:#64748b}.cashflowStripV39 b{font-size:9px}.cashflowStripV39 .income,.positive{color:#059669}.cashflowStripV39 .expense,.negative{color:#dc2626}.cashflowStripV39 strong{font-size:11px}.familyAccountingJumpV39{display:flex;flex-direction:column;padding:12px;border-radius:18px;background:linear-gradient(135deg,#eef2ff,#ecfeff);border:1px solid #d7e4ff}.familyAccountingJumpV39 span{color:#4f46e5}.familyAccountingPortalV39{background:linear-gradient(135deg,#f8faff,#effcf8)!important}.familyAccountingSummaryV39{display:grid;gap:7px}.familyAccountingSummaryV39 strong{font-size:1.5rem}.familyAccountingSummaryV39 p{color:#64748b;line-height:1.8}.familyAccountingBannerV39{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;border:1px solid #d8e4fb;border-radius:24px;background:linear-gradient(135deg,#eef2ff,#fff,#ecfdf5)}.familyAccountingBannerV39 h3{margin:4px 0}.familyAccountingBannerV39 p{margin:0;color:#64748b;line-height:1.8}

@media(max-width:1200px){.enrollStatsV39,.accountingKpisV39{grid-template-columns:repeat(3,1fr)}.balanceCardsV39{grid-template-columns:repeat(2,1fr)}.enrollManagerHeroV39,.accountingHeroV39,.enrollBuilderGridV39,.accountingBuilderGridV39{grid-template-columns:1fr}.enrollFlowV39{order:2}}
@media(max-width:820px){.pendingCardsV39,.studentAccountGridV39{grid-template-columns:1fr}.inviteCreateV39,.pendingDecisionV39,.studentManagerFilterV39,.accountingFiltersV39{grid-template-columns:1fr}.feePaymentV39{grid-template-columns:1fr 1fr}.cashflowStripV39{grid-template-columns:repeat(3,1fr)}.oneTimeCredentialV39{grid-template-columns:1fr}}
@media(max-width:620px){.enrollManagerHeroV39,.accountingHeroV39{padding:20px;border-radius:24px}.enrollManagerHeroV39 h2,.accountingHeroV39 h2{font-size:1.4rem}.enrollFlowV39{display:grid;grid-template-columns:repeat(2,1fr)}.enrollFlowV39>i{display:none}.enrollStatsV39,.accountingKpisV39{grid-template-columns:repeat(2,1fr)}.manualEnrollmentFormV39 fieldset,.accountingFormV39,.accountEditV39 form{grid-template-columns:1fr}.credentialTilesV39,.balanceCardsV39{grid-template-columns:1fr}.cashflowStripV39{grid-template-columns:repeat(2,1fr)}.familyAccountingBannerV39{align-items:stretch;flex-direction:column}.accountQuickActionsV39{display:grid}.accountQuickActionsV39 form,.accountQuickActionsV39 button{width:100%}}
.legacyConnectionV39{background:linear-gradient(180deg,#f8fbff,#fff)!important;border-color:#c9dcff!important}.legacyConnectionV39>header em{background:#eaf2ff!important;color:#3159b7!important}.legacyHintV39{font-size:11px;line-height:1.8;color:#5f6f8e;align-self:center}
.parentAttachV39{margin-top:12px;border:1px dashed #bcd0fb;border-radius:16px;background:#f8fbff;padding:10px}.parentAttachV39 summary{cursor:pointer;font-weight:900;color:#345bc4}.parentAttachV39 form{display:grid;grid-template-columns:1fr 1fr .7fr auto;gap:10px;margin-top:12px;align-items:end}.parentAttachV39 label{display:grid;gap:6px}.parentAttachV39 label span{font-size:11px;font-weight:900;color:#56637d}.enrollmentActivityV39{margin-top:18px;border-radius:26px}.enrollmentActivityListV39{display:grid;gap:8px}.enrollmentActivityListV39 article{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #e1e9fb;background:#fbfdff;border-radius:14px}.enrollmentActivityListV39 article>i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#14b8a6);box-shadow:0 0 0 5px #eef2ff}.enrollmentActivityListV39 article>div{display:grid;gap:2px}.enrollmentActivityListV39 strong{font-size:12px}.enrollmentActivityListV39 span{font-size:10px;color:#75819a}.enrollmentActivityListV39 em{font-style:normal;font-size:10px;color:#51617f;background:#f0f4ff;border:1px solid #dce6ff;padding:5px 8px;border-radius:9px}.accountFactsV39 small{font-size:10px;color:#7a869c}@media(max-width:720px){.parentAttachV39 form{grid-template-columns:1fr}.enrollmentActivityListV39 article{grid-template-columns:auto 1fr}.enrollmentActivityListV39 em{grid-column:2}}

/* ===== v40.css ===== */
/* V40 - Guided advisor AI + daily consulting news */
body.v40-ui{--v40-ink:#0f172a;--v40-muted:#64748b;--v40-line:#dbe6f7;--v40-blue:#4f46e5;--v40-cyan:#0891b2;--v40-green:#059669;--v40-red:#dc2626;--v40-amber:#d97706;--v40-purple:#7c3aed}
body.v40-ui .advisorNewsNavV40{position:relative;overflow:hidden}
body.v40-ui .advisorNewsNavV40::after{content:"4";width:24px;height:24px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-size:11px;font-weight:900;box-shadow:0 7px 18px rgba(79,70,229,.2)}

/* Guided AI */
.advisorAiV40{gap:18px}
.aiGuideHeroV40{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:22px;padding:30px;border:1px solid #d9e5ff;border-radius:30px;background:radial-gradient(380px 220px at 10% 0%,rgba(99,102,241,.14),transparent 70%),linear-gradient(135deg,#f8faff,#fff 54%,#ecfeff);box-shadow:0 22px 55px rgba(67,56,202,.08)}
.aiGuideEyebrowV40{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:900;border:1px solid #d9defe}
.aiGuideHeroCopyV40 h2{margin:12px 0 8px;font-size:clamp(1.45rem,2.5vw,2.1rem);line-height:1.45;color:#111827}.aiGuideHeroCopyV40 p{margin:0;color:#5f6d87;line-height:2;max-width:820px}.aiGuideHeroBadgesV40{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.aiGuideHeroBadgesV40 span{padding:7px 10px;border-radius:12px;background:#fff;border:1px solid #e0e7f7;color:#475569;font-size:11px;font-weight:800}
.aiGuideStatusV40{align-self:stretch;display:flex;align-items:center;gap:13px;padding:18px;border-radius:23px;background:rgba(255,255,255,.82);border:1px solid #dce7fa;box-shadow:0 12px 30px rgba(15,23,42,.06)}.aiGuideStatusV40>i{width:14px;height:14px;border-radius:50%;background:#10b981;box-shadow:0 0 0 7px rgba(16,185,129,.1)}.aiGuideStatusV40.local>i{background:#f59e0b;box-shadow:0 0 0 7px rgba(245,158,11,.1)}.aiGuideStatusV40 div{display:grid;gap:2px}.aiGuideStatusV40 span,.aiGuideStatusV40 small{color:#74809a;font-size:11px}.aiGuideStatusV40 strong{font-size:15px;color:#172033}
.aiTodayBoardV40{padding:22px;border-radius:28px;border:1px solid #dce6f8;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.05)}.aiTodayBoardV40>header,.aiCasesV40>header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px}.aiTodayBoardV40>header span,.aiCasesV40>header span{font-size:11px;color:#6366f1;font-weight:900}.aiTodayBoardV40 h3,.aiCasesV40 h3{margin:4px 0 0;font-size:18px}.aiTodayBoardV40>header>a{font-size:12px;font-weight:900;color:#4f46e5;padding:9px 12px;border-radius:13px;background:#eef2ff;border:1px solid #d9e1ff}
.aiStartGridV40{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.aiStartCardV40{appearance:none;text-align:right;border:1px solid #dfe7f7;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fbff);padding:15px;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:10px;transition:.18s ease;box-shadow:0 9px 20px rgba(15,23,42,.04)}.aiStartCardV40:hover{transform:translateY(-3px);box-shadow:0 16px 30px rgba(79,70,229,.1);border-color:#becdf7}.aiStartIconV40{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-weight:900}.aiStartCardV40 div{display:grid;gap:5px}.aiStartCardV40 strong{font-size:13px;color:#172033}.aiStartCardV40 small{font-size:11px;color:#697791;line-height:1.7}.aiStartCardV40 em{grid-column:1/-1;font-style:normal;font-size:10px;color:#4f46e5;font-weight:900}.aiStartCardV40.danger .aiStartIconV40{background:#fef2f2;color:#dc2626}.aiStartCardV40.warning .aiStartIconV40{background:#fff7ed;color:#d97706}.aiStartCardV40.success .aiStartIconV40{background:#ecfdf5;color:#059669}
.aiWorkflowV40{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 0}.aiWorkflowStepV40{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:16px;background:#fff;border:1px solid #e0e7f7;min-width:210px}.aiWorkflowStepV40>b{width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;display:grid;place-items:center}.aiWorkflowStepV40 div{display:grid}.aiWorkflowStepV40 strong{font-size:12px}.aiWorkflowStepV40 span{font-size:10px;color:#71809b}.aiWorkflowArrowV40{color:#94a3b8;font-weight:900}
.aiWorkspaceV40{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}.aiDecisionDeskV40,.aiOutputDeskV40{background:#fff;border:1px solid #dce6f8;border-radius:28px;padding:22px;box-shadow:0 14px 34px rgba(15,23,42,.05)}.aiDecisionHeadV40,.aiOutputDeskV40>header{display:flex;justify-content:space-between;gap:14px;align-items:start}.aiDecisionHeadV40 span,.aiOutputDeskV40>header span,.aiPromptLabelV40 span{font-size:11px;color:#6366f1;font-weight:900}.aiDecisionHeadV40 h3,.aiOutputDeskV40 h3{margin:4px 0 0;font-size:18px}.aiQuotaPillV40{padding:9px 11px;border-radius:13px;background:#f1f5ff;color:#5865cc;font-size:11px}.aiQuotaPillV40 b{font-size:15px;margin-left:3px}
.aiContextSelectV40{margin-top:16px;padding:15px;border-radius:18px;background:#f8fbff;border:1px solid #e1eaf9;display:grid;grid-template-columns:minmax(220px,.6fr) 1fr;gap:14px;align-items:end}.aiContextSelectV40 label{display:grid;gap:6px}.aiContextSelectV40 label span{font-size:11px;font-weight:900;color:#475569}.aiContextSelectV40 select{width:100%;padding:11px 12px}.aiContextSelectV40 small{color:#73809a;line-height:1.8;font-size:11px}
.aiTaskChoiceV40{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.aiTaskChoiceV40 button{border:1px solid #e0e7f5;background:#fff;border-radius:17px;padding:12px;text-align:right;display:grid;gap:5px;cursor:pointer;transition:.16s ease}.aiTaskChoiceV40 button:hover{border-color:#aebff4;background:#f8faff;transform:translateY(-2px)}.aiTaskChoiceV40 button>span{font-size:18px;color:#4f46e5}.aiTaskChoiceV40 strong{font-size:12px}.aiTaskChoiceV40 small{font-size:10px;color:#75819a;line-height:1.6}
.aiPromptStudioV40{margin-top:16px;border-top:1px dashed #dbe5f7;padding-top:16px}.aiPromptLabelV40{display:flex;align-items:center;gap:8px;margin-bottom:8px}.aiPromptLabelV40 strong{font-size:13px}.aiComposerV40{display:grid;gap:9px}.aiComposerV40 textarea{min-height:118px;width:100%;padding:14px 15px;resize:vertical}.aiComposerFootV40{display:flex;justify-content:space-between;align-items:center;gap:10px}.aiSensitiveToggleV40{display:flex;align-items:center;gap:8px}.aiSensitiveToggleV40>span{display:grid}.aiSensitiveToggleV40 strong{font-size:10px}.aiSensitiveToggleV40 small{font-size:9px;color:#7b879d}.aiConversationV40{margin-top:14px;max-height:300px;overflow:auto;display:grid;gap:8px;padding:12px;border-radius:18px;background:#f8fbff;border:1px solid #e2eafa}.aiConversationV40 .aiBubble{max-width:90%}
.aiOutputDeskV40{position:sticky;top:88px}.aiResultMetaV40{margin:15px 0 9px;padding:9px 11px;border-radius:12px;background:#f3f6ff;color:#6876a5;font-size:10px}.aiResultTextV40{min-height:370px;max-height:640px;overflow:auto;white-space:pre-wrap;margin:0;padding:17px;border-radius:18px;background:#111827;color:#e5edff;font-family:"Vazirmatn",sans-serif;font-size:12px;line-height:2;direction:rtl;text-align:right}.aiOutputRuleV40{margin-top:10px;padding:12px;border-radius:15px;background:#fff7ed;border:1px solid #fed7aa;display:grid;gap:4px}.aiOutputRuleV40 strong{font-size:11px;color:#9a3412}.aiOutputRuleV40 span{font-size:10px;color:#7c4a2a;line-height:1.7}
.aiCasesV40{padding:22px;border-radius:28px;border:1px solid #dce6f8;background:#fff}.aiStudentPolicyGridV40{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.aiStudentPolicyCardV40{padding:14px;border-radius:20px;border:1px solid #e0e7f5;background:linear-gradient(180deg,#fff,#f9fbff);display:grid;gap:11px}.aiStudentPolicyCardV40.warning{border-color:#fed7aa;background:#fffaf4}.aiStudentPolicyCardV40.locked{border-color:#fecaca;background:#fff7f7}.aiStudentPolicyHeadV40{display:flex;align-items:center;gap:9px}.aiStudentAvatarV40{width:36px;height:36px;border-radius:13px;background:linear-gradient(135deg,#e0e7ff,#cffafe);color:#4f46e5;display:grid;place-items:center;font-weight:900}.aiStudentPolicyHeadV40>div:nth-child(2){display:grid;flex:1}.aiStudentPolicyHeadV40 strong{font-size:12px}.aiStudentPolicyHeadV40 span{font-size:9px;color:#78859b}.aiStudentPolicyHeadV40 em{font-style:normal;font-size:9px;padding:5px 7px;border-radius:9px;background:#eff6ff;color:#4f46e5}.aiStudentPolicyStatsV40{display:flex;gap:7px;flex-wrap:wrap}.aiStudentPolicyStatsV40 span{font-size:9px;padding:6px 7px;background:#f5f8fd;border-radius:9px;color:#6b7890}.aiStudentButtonsV40{display:flex;flex-wrap:wrap;gap:6px}.aiPolicyDetailsV40{border-top:1px dashed #e0e7f4;padding-top:8px}.aiPolicyDetailsV40 summary{cursor:pointer;font-size:10px;color:#4f46e5;font-weight:900}.aiPolicyControlsV40{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.aiPolicyControlsV40 label{display:grid;gap:4px}.aiPolicyControlsV40 label span{font-size:9px}.aiPolicyControlsV40 select{padding:8px}
.aiTechnicalV40{border:1px solid #dce6f8;border-radius:22px;background:#fff;padding:14px 18px}.aiTechnicalV40>summary{cursor:pointer;display:flex;justify-content:space-between;gap:10px;font-size:12px;font-weight:900}.aiTechnicalV40>summary span{font-size:10px;color:#7a879d;font-weight:600}.aiTechnicalGridV40{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:13px}.aiTechnicalGridV40 article{padding:10px;border-radius:14px;background:#f8fbff;border:1px solid #e4ebf8;display:grid}.aiTechnicalGridV40 span,.aiTechnicalGridV40 small{font-size:9px;color:#76839b}.aiTechnicalGridV40 strong{font-size:13px}.aiProviderTestBoxV40{display:flex;gap:10px;align-items:center;margin-top:10px}.aiProviderTestBoxV40 small{color:#74809a;font-size:10px}.aiRecentOutputsV40{border-radius:24px}

/* Advisor daily consulting news */
.advisorNewsHeroV40{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:20px;padding:30px;border-radius:32px;border:1px solid #d9e5ff;background:radial-gradient(400px 220px at 0 0,rgba(79,70,229,.15),transparent 70%),linear-gradient(135deg,#f7f9ff,#fff 58%,#ecfeff);box-shadow:0 24px 60px rgba(79,70,229,.09)}.advisorNewsHeroCopyV40>span{display:inline-flex;padding:7px 11px;border-radius:999px;background:#eef2ff;border:1px solid #d9e0ff;color:#4f46e5;font-size:11px;font-weight:900}.advisorNewsHeroCopyV40 h2{margin:11px 0 8px;font-size:clamp(1.5rem,2.7vw,2.2rem);line-height:1.5}.advisorNewsHeroCopyV40 p{margin:0;color:#5f6c85;line-height:2;max-width:850px}.advisorNewsHeroMetaV40{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.advisorNewsHeroMetaV40 span{padding:7px 9px;border-radius:11px;background:#fff;border:1px solid #e0e8f7;color:#65728b;font-size:10px;font-weight:800}.advisorNewsPulseV40{display:grid;grid-template-columns:1fr 1fr;gap:10px}.advisorNewsPulseV40 article{padding:15px;border-radius:19px;background:#fff;border:1px solid #dce6f8;display:grid;gap:3px;box-shadow:0 10px 22px rgba(15,23,42,.05)}.advisorNewsPulseV40 span,.advisorNewsPulseV40 small{font-size:10px;color:#748099}.advisorNewsPulseV40 strong{font-size:22px;color:#29375a}
.advisorNewsRulesV40{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 17px;border-radius:20px;background:#0f172a;color:#fff}.advisorNewsRulesV40>div{display:grid;gap:3px}.advisorNewsRulesV40 strong{font-size:11px;color:#a5b4fc}.advisorNewsRulesV40 span{font-size:10px;color:#cbd5e1}.advisorNewsRulesV40 .btn{white-space:nowrap}
.advisorNewsGridV40{display:grid;grid-template-columns:1fr 1fr;gap:16px}.advisorNewsCardV40{position:relative;overflow:hidden;padding:22px;border-radius:28px;background:#fff;border:1px solid #dce6f8;box-shadow:0 15px 34px rgba(15,23,42,.055);display:grid;gap:13px}.advisorNewsCardV40::before{content:"";position:absolute;right:0;top:0;bottom:0;width:5px;background:#4f46e5}.advisorNewsCardV40.danger::before{background:#dc2626}.advisorNewsCardV40.warning::before{background:#d97706}.advisorNewsCardV40.success::before{background:#059669}.advisorNewsCardV40.purple::before{background:#7c3aed}.advisorNewsCardV40.info::before{background:#0891b2}.advisorNewsCardHeadV40{display:flex;align-items:center;gap:10px}.advisorNewsNumberV40{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-weight:900;font-size:16px}.advisorNewsIdentityV40{display:grid}.advisorNewsIdentityV40 span{font-size:11px;font-weight:900;color:#374151}.advisorNewsIdentityV40 em{font-size:9px;color:#7a879e;font-style:normal}.advisorNewsCardV40 h3{margin:0;font-size:18px;line-height:1.75;color:#152039}.advisorNewsSummaryV40{margin:0;padding:11px 13px;border-radius:15px;background:#f7f9fe;border:1px solid #e5ebf8;color:#5d6b84;line-height:1.9;font-size:11px}.advisorNewsAnalysisV40,.advisorNewsImpactV40{display:grid;gap:4px}.advisorNewsAnalysisV40 span,.advisorNewsImpactV40 span,.advisorNewsEvidenceV40>span{font-size:10px;font-weight:900;color:#4f46e5}.advisorNewsAnalysisV40 p,.advisorNewsImpactV40 p{margin:0;color:#596881;line-height:1.9;font-size:11px}.advisorNewsEvidenceV40{display:grid;gap:7px}.advisorNewsEvidenceV40>div{display:flex;flex-wrap:wrap;gap:6px}.advisorNewsEvidenceV40 b{padding:6px 8px;border-radius:10px;background:#eef5ff;border:1px solid #d9e7fb;color:#455674;font-size:9px}.advisorChallengeBoxV40{padding:15px;border-radius:19px;background:linear-gradient(135deg,#111827,#1e293b);color:#fff}.advisorChallengeBoxV40 header{display:flex;justify-content:space-between;gap:8px}.advisorChallengeBoxV40 header span{font-size:11px;font-weight:900;color:#c7d2fe}.advisorChallengeBoxV40 header strong{font-size:9px;color:#94a3b8}.advisorChallengeBoxV40 ol{margin:11px 0 0;padding-right:20px;display:grid;gap:8px}.advisorChallengeBoxV40 li{font-size:10px;line-height:1.9;color:#e5e7eb;padding-right:2px}.advisorNewsImpactV40{padding:10px 12px;border-radius:14px;background:#f0fdf4;border:1px solid #d1fae5}.advisorNewsImpactV40 span{color:#047857}.advisorNewsCardFootV40{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.advisorNewsCloseV40{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:23px;border-radius:25px;background:linear-gradient(135deg,#eef2ff,#ecfeff);border:1px solid #d5e5fb}.advisorNewsCloseV40>div{display:grid;gap:5px}.advisorNewsCloseV40 span{font-size:10px;color:#4f46e5;font-weight:900}.advisorNewsCloseV40 h3{margin:0;font-size:16px}.advisorNewsCloseV40 p{margin:0;color:#65728a;font-size:11px;line-height:1.8}

@media(max-width:1200px){.aiStartGridV40{grid-template-columns:1fr 1fr}.aiWorkspaceV40{grid-template-columns:1fr}.aiOutputDeskV40{position:static}.aiStudentPolicyGridV40{grid-template-columns:1fr 1fr}.advisorNewsHeroV40{grid-template-columns:1fr}.advisorNewsGridV40{grid-template-columns:1fr}.aiTaskChoiceV40{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.aiGuideHeroV40{grid-template-columns:1fr;padding:20px}.aiTodayBoardV40,.aiDecisionDeskV40,.aiOutputDeskV40,.aiCasesV40{padding:16px;border-radius:22px}.aiStartGridV40,.aiTaskChoiceV40,.aiStudentPolicyGridV40,.aiTechnicalGridV40{grid-template-columns:1fr}.aiWorkflowV40{align-items:stretch;flex-direction:column}.aiWorkflowArrowV40{display:none}.aiWorkflowStepV40{min-width:0}.aiContextSelectV40{grid-template-columns:1fr}.aiComposerFootV40,.aiTodayBoardV40>header,.aiCasesV40>header,.advisorNewsRulesV40,.advisorNewsCloseV40{align-items:stretch;flex-direction:column}.aiComposerFootV40 .btn,.advisorNewsCardFootV40 .btn,.advisorNewsRulesV40 .btn,.advisorNewsCloseV40 .btn{width:100%}.advisorNewsHeroV40{padding:20px;border-radius:24px}.advisorNewsPulseV40{grid-template-columns:1fr 1fr}.advisorNewsCardV40{padding:17px;border-radius:22px}}

/* ===== v41.css ===== */
/* V41 — Long-term Student Progress Board */
body.v41-ui .mainBody{gap:18px}
.progressHeroV41{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:26px;padding:34px;border-radius:34px;background:radial-gradient(600px 320px at 4% 0%,rgba(79,70,229,.16),transparent 70%),radial-gradient(520px 300px at 100% 100%,rgba(6,182,212,.13),transparent 70%),linear-gradient(135deg,#f8faff,#fff 52%,#ecfeff);border:1px solid #d9e5ff;box-shadow:0 26px 72px rgba(79,70,229,.10)}
.progressHeroCopyV41>span{display:inline-flex;padding:7px 11px;border:1px solid #d9e0ff;border-radius:999px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:900;letter-spacing:.7px}.progressHeroCopyV41 h2{font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.45;margin:13px 0 9px;color:#111827}.progressHeroCopyV41 h2 em{font-style:normal;color:#4f46e5}.progressHeroCopyV41 p{margin:0;max-width:850px;color:#5f6d87;line-height:2;font-size:14px}.progressHeroPillsV41{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.progressHeroPillsV41 span{padding:7px 10px;border-radius:11px;background:#fff;border:1px solid #e0e8f7;color:#596984;font-size:10px;font-weight:800;box-shadow:0 7px 18px rgba(15,23,42,.04)}
.progressHeroMapV41{position:relative;min-height:270px;display:grid;place-items:center}.progressHeroMapV41>strong{position:relative;z-index:3;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-size:18px;box-shadow:0 18px 40px rgba(79,70,229,.25)}.progressHeroMapV41>small{position:absolute;bottom:8px;color:#697895;font-size:10px}.progressOrbitV41{position:absolute;border:1px dashed #b9c8ef;border-radius:50%}.progressOrbitV41.o1{width:230px;height:230px}.progressOrbitV41.o2{width:170px;height:170px;border-style:solid;border-color:#e2e8f7}.progressNodeV41{position:absolute;z-index:2;width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:#fff;border:1px solid #dce6fb;box-shadow:0 12px 28px rgba(15,23,42,.08);font-style:normal;font-size:10px;font-weight:900;color:#42516e}.progressNodeV41.n1{top:8px;right:38%}.progressNodeV41.n2{right:8px;top:43%}.progressNodeV41.n3{bottom:20px;right:32%}.progressNodeV41.n4{left:7px;top:36%}
.progressStudentBarV41{border-radius:26px!important;padding:20px!important}.progressStudentSelectV41{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr) auto;gap:12px;align-items:end}.progressStudentSelectV41 label{display:grid;gap:6px}.progressStudentSelectV41 label>span{font-size:10px;font-weight:900;color:#66748e}.progressStudentSelectV41 select{width:100%;padding:12px 13px}.progressSectionNavV41{position:sticky;top:76px;z-index:7;display:flex;gap:7px;padding:8px;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(15px);border:1px solid #dce6f8;box-shadow:0 10px 25px rgba(15,23,42,.06);overflow:auto}.progressSectionNavV41 a{white-space:nowrap;padding:9px 12px;border-radius:12px;color:#55647f;font-size:10px;font-weight:900}.progressSectionNavV41 a:hover{background:#eef2ff;color:#4f46e5}
.progressEmptyCycleV41{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:28px;border-radius:30px;background:linear-gradient(135deg,#111827,#1e293b);color:#fff;box-shadow:0 20px 45px rgba(15,23,42,.18)}.progressEmptyCycleV41>div>span{color:#a5b4fc;font-size:10px;font-weight:900}.progressEmptyCycleV41 h2{font-size:26px;margin:7px 0}.progressEmptyCycleV41 p{color:#cbd5e1;line-height:1.9;margin:0}.progressCycleFormV41{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}.progressCycleFormV41 label{display:grid;gap:6px}.progressCycleFormV41 label>span{font-size:10px;color:#cbd5e1;font-weight:900}.progressCycleFormV41 input,.progressCycleFormV41 select,.progressCycleFormV41 textarea{background:rgba(255,255,255,.96)!important}.progressCycleFormV41 .spanAll{grid-column:1/-1}.progressCustomDatesV41{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.progressCustomDatesV41[hidden]{display:none}
.progressControlV41{display:grid;gap:16px}.progressCycleHeaderV41{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px 26px;border-radius:28px;background:#fff;border:1px solid #dce6f8;box-shadow:0 14px 34px rgba(15,23,42,.05)}.progressCycleHeaderV41>div:first-child>span{display:inline-flex;padding:5px 8px;border-radius:9px;background:#ecfdf5;color:#047857;font-size:9px;font-weight:900}.progressCycleHeaderV41 h2{margin:7px 0 4px;font-size:22px}.progressCycleHeaderV41 p{margin:0;color:#748199;font-size:11px}.progressCycleHeaderActionsV41{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.progressCycleHeaderActionsV41 details{position:relative}.progressCycleHeaderActionsV41 details>summary{list-style:none;cursor:pointer;padding:9px 11px;border-radius:13px;border:1px solid #dbe5f8;font-size:10px;font-weight:900}.progressCycleMiniV41{position:absolute;left:0;top:42px;z-index:15;width:280px;padding:12px;border-radius:17px;background:#fff;border:1px solid #dce6f8;box-shadow:0 20px 50px rgba(15,23,42,.16);display:grid;gap:8px}.progressTimeRailV41{display:flex;gap:12px;align-items:center}.progressTimeRailV41>div{height:8px;background:#e8eefb;border-radius:999px;overflow:hidden;flex:1}.progressTimeRailV41 i{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#06b6d4);border-radius:999px}.progressTimeRailV41 span{font-size:10px;font-weight:900;color:#65738e}
.progressKpiGridV41{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.progressKpiGridV41 article{padding:16px;border-radius:20px;background:#fff;border:1px solid #dce6f8;display:grid;gap:3px;box-shadow:0 9px 22px rgba(15,23,42,.045)}.progressKpiGridV41 article.primary{background:linear-gradient(135deg,#eef2ff,#f7f9ff);border-color:#cfd9ff}.progressKpiGridV41 article.danger{background:linear-gradient(135deg,#fff7f7,#fff);border-color:#fecaca}.progressKpiGridV41 span,.progressKpiGridV41 small{font-size:9px;color:#77849a}.progressKpiGridV41 strong{font-size:24px;color:#233250}.progressOverviewGridV41{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.progressTrendCardV41,.progressActionDeskV41{padding:19px;border-radius:25px;background:#fff;border:1px solid #dce6f8;box-shadow:0 12px 28px rgba(15,23,42,.045)}.progressTrendCardV41>header,.progressActionDeskV41>header{display:flex;justify-content:space-between;gap:10px;align-items:center}.progressTrendCardV41 header span,.progressActionDeskV41 header span{font-size:9px;color:#4f46e5;font-weight:900}.progressTrendCardV41 h3,.progressActionDeskV41 h3{margin:3px 0 0;font-size:15px}.progressTrendCardV41 header em{font-style:normal;font-size:9px;padding:5px 7px;border-radius:9px;background:#f3f6ff;color:#697797}.progressChartWrapV41{height:285px;margin-top:8px}.progressActionDeskV41 header>b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef2ff;color:#4f46e5}.progressActionListV41{display:grid;gap:8px;margin-top:12px}.progressActionListV41>a{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px;border-radius:15px;border:1px solid #e2e8f6;background:#fbfdff}.progressActionListV41>a>i{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-style:normal;font-weight:900}.progressActionListV41>a>div{display:grid}.progressActionListV41 strong{font-size:10px}.progressActionListV41 span,.progressActionListV41 small{font-size:9px;color:#748097;line-height:1.6}.progressActionListV41>a>em{font-style:normal;font-size:9px;color:#4f46e5}.progressActionListV41>a.danger>i{background:#fef2f2;color:#dc2626}.progressActionListV41>a.warning>i{background:#fff7ed;color:#d97706}
.progressSubjectStripV41{padding:18px;border-radius:24px;background:#111827;color:#fff}.progressSubjectStripV41>header{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.progressSubjectStripV41 header span{font-size:9px;color:#a5b4fc;font-weight:900}.progressSubjectStripV41 header strong{font-size:11px}.progressSubjectStripV41>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.progressSubjectStripV41 a{padding:11px;border-radius:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);display:grid;gap:5px}.progressSubjectStripV41 a>span,.progressSubjectStripV41 a>small{font-size:9px;color:#cbd5e1}.progressSubjectStripV41 a>b{font-size:17px}.progressSubjectStripV41 a>i{height:5px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.progressSubjectStripV41 a>i>u{display:block;height:100%;background:linear-gradient(90deg,#818cf8,#22d3ee);text-decoration:none}
.progressTargetBuilderV41{padding:22px!important;border-radius:28px!important}.progressTargetFormV41{display:grid;gap:14px}.progressCurriculumPickerV41{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:15px;border-radius:21px;background:#f8faff;border:1px solid #e1e8f8}.progressCurriculumPickerV41 label{display:grid;gap:5px}.progressCurriculumPickerV41 label>span,.progressStandardsV41 label>span,.progressAdvisorNoteV41>span{font-size:9px;font-weight:900;color:#63718a}.progressCurriculumPickerV41 .wide{grid-column:span 2}.progressScopePreviewV41{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:11px;border-radius:15px;background:#fff;border:1px solid #dfe7f8}.progressScopePreviewV41>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:#4f46e5;font-style:normal}.progressScopePreviewV41>div{display:grid}.progressScopePreviewV41 strong{font-size:10px}.progressScopePreviewV41 span{font-size:9px;color:#77849a}.progressManualScopeV41{border:1px dashed #d6e1f6;border-radius:17px;padding:11px}.progressManualScopeV41 summary{cursor:pointer;color:#5b6883;font-size:10px;font-weight:900}.progressManualScopeV41>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.progressManualScopeV41 label{display:grid;gap:4px}.progressManualScopeV41 label span{font-size:9px}.progressStandardsV41{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.progressStandardsV41 label{display:grid;gap:5px}.progressStandardsV41 label>div{display:flex;align-items:center;border:1px solid #dbe5f8;border-radius:13px;background:#fff;overflow:hidden}.progressStandardsV41 label>div input{border:0!important;box-shadow:none!important;min-width:0}.progressStandardsV41 label>div b{padding:0 8px;color:#7a879c;font-size:9px;white-space:nowrap}.progressStandardsV41 select{height:100%}.progressAdvisorNoteV41{display:grid;gap:5px}.progressAddTargetBtnV41{justify-self:start;min-width:230px}
.progressMatrixSectionV41{display:grid;gap:14px}.progressMatrixHeadV41{display:flex;justify-content:space-between;gap:18px;align-items:end;padding:22px 24px;border-radius:27px;background:linear-gradient(135deg,#eef2ff,#fff);border:1px solid #dce6f8}.progressMatrixHeadV41>div:first-child>span{font-size:9px;color:#4f46e5;font-weight:900}.progressMatrixHeadV41 h2{margin:5px 0;font-size:21px}.progressMatrixHeadV41 p{margin:0;color:#68758d;font-size:10px}.progressMatrixToolsV41{display:flex;gap:8px;min-width:360px}.progressMatrixToolsV41 input{flex:1}.progressTargetGridV41{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.progressTargetCardV41{position:relative;overflow:hidden;padding:19px;border-radius:27px;background:#fff;border:1px solid #dce6f8;box-shadow:0 13px 32px rgba(15,23,42,.05);display:grid;gap:12px}.progressTargetCardV41::before{content:"";position:absolute;right:0;top:0;bottom:0;width:5px;background:#64748b}.progressTargetCardV41.success::before{background:#059669}.progressTargetCardV41.danger::before{background:#dc2626}.progressTargetCardV41.warning::before{background:#d97706}.progressTargetCardV41.info::before{background:#0891b2}.progressTargetCardV41.purple::before{background:#7c3aed}.progressTargetCardV41>header{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.progressTargetIdentityV41{display:grid}.progressTargetIdentityV41>span{font-size:9px;color:#4f46e5;font-weight:900}.progressTargetIdentityV41 h3{margin:4px 0;font-size:16px;line-height:1.6}.progressTargetIdentityV41 small{color:#7c899f;font-size:8px;line-height:1.6}.progressReadinessRingV41{--p:calc(var(--progress) * 1%);width:72px;height:72px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at center,#fff 57%,transparent 59%),conic-gradient(#4f46e5 var(--p),#e8eefb 0);box-shadow:inset 0 0 0 1px #e4eaf8}.progressReadinessRingV41 strong{font-size:16px}.progressReadinessRingV41 span{font-size:8px;color:#7a879d}.progressStatusRowV41{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.progressStatusRowV41>span{display:inline-flex;gap:5px;align-items:center;padding:6px 8px;border-radius:10px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:900}.progressStatusRowV41>span.success{background:#ecfdf5;color:#047857}.progressStatusRowV41>span.danger{background:#fef2f2;color:#b91c1c}.progressStatusRowV41>span.warning{background:#fff7ed;color:#c2410c}.progressStatusRowV41>span.info{background:#ecfeff;color:#0e7490}.progressStatusRowV41>span.purple{background:#f5f3ff;color:#6d28d9}.progressStatusRowV41 em,.progressStatusRowV41 small{font-style:normal;font-size:8px;color:#7c899f}.progressDimensionGridV41{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.progressDimensionGridV41>div{padding:9px;border-radius:13px;background:#f8faff;border:1px solid #e5ebf8;display:grid;gap:4px}.progressDimensionGridV41 span,.progressDimensionGridV41 small{font-size:8px;color:#7a879c}.progressDimensionGridV41 b{font-size:10px}.progressDimensionGridV41 i{height:5px;border-radius:99px;background:#e8eef8;overflow:hidden}.progressDimensionGridV41 i>u{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#06b6d4);text-decoration:none}.progressDiagnosisV41{display:grid;grid-template-columns:1fr 1fr;gap:9px}.progressDiagnosisV41>div{padding:11px;border-radius:15px;border:1px solid #e3e9f7;background:#fbfdff}.progressDiagnosisV41>div:last-child{background:#f0fdf4;border-color:#d1fae5}.progressDiagnosisV41>div>span{font-size:9px;font-weight:900;color:#4f46e5}.progressDiagnosisV41 ul,.progressDiagnosisV41 ol{margin:7px 0 0;padding-right:17px;display:grid;gap:5px}.progressDiagnosisV41 li{font-size:9px;line-height:1.7;color:#5e6c84}.progressEvidenceV41,.progressTargetSettingsV41{border-top:1px dashed #dfe6f5;padding-top:9px}.progressEvidenceV41 summary,.progressTargetSettingsV41 summary{cursor:pointer;font-size:9px;font-weight:900;color:#4f46e5}.progressEvidenceV41>div{display:grid;gap:6px;margin-top:8px}.progressEvidenceV41 article{display:grid;grid-template-columns:auto auto 1fr;gap:7px;align-items:center;padding:7px 9px;border-radius:10px;background:#f8faff;border:1px solid #e8edf8}.progressEvidenceV41 time{font-size:8px;color:#8090a7}.progressEvidenceV41 strong{font-size:9px}.progressEvidenceV41 span{font-size:8px;color:#738097}.progressTargetSettingsV41 form{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:8px}.progressTargetSettingsV41 label{display:grid;gap:3px;font-size:8px;color:#758198}.progressTargetSettingsV41 .wide{grid-column:1/-1}.progressTargetSettingsV41 input,.progressTargetSettingsV41 select{padding:7px!important;font-size:9px}.progressTargetCardV41>footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.progressNoTargetsV41{padding:40px;border-radius:28px;text-align:center;background:repeating-linear-gradient(135deg,#fff,#fff 12px,#f8faff 12px,#f8faff 24px);border:1px dashed #cbd8f3}.progressNoTargetsV41>span{display:grid;place-items:center;width:58px;height:58px;margin:auto;border-radius:19px;background:#eef2ff;color:#4f46e5;font-size:24px}.progressNoTargetsV41 h3{margin:10px 0 4px}.progressNoTargetsV41 p{color:#6f7c93}.progressLegacyGoalsV41{display:grid;gap:14px;padding-top:8px;border-top:1px solid #e1e8f7}.progressLegacyGoalsV41>header{display:flex;justify-content:space-between;gap:16px;align-items:center}.progressLegacyGoalsV41>header span{font-size:9px;color:#4f46e5;font-weight:900}.progressLegacyGoalsV41>header h2{margin:3px 0;font-size:19px}.progressLegacyGoalsV41>header p{margin:0;color:#758199;font-size:10px}
@media(max-width:1250px){.progressKpiGridV41{grid-template-columns:repeat(3,1fr)}.progressSubjectStripV41>div{grid-template-columns:repeat(2,1fr)}.progressStandardsV41{grid-template-columns:repeat(3,1fr)}.progressDimensionGridV41{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.progressHeroV41,.progressEmptyCycleV41,.progressOverviewGridV41{grid-template-columns:1fr}.progressHeroMapV41{min-height:220px}.progressTargetGridV41{grid-template-columns:1fr}.progressStudentSelectV41{grid-template-columns:1fr 1fr}.progressStudentSelectV41 .btn{grid-column:1/-1}.progressCurriculumPickerV41{grid-template-columns:1fr 1fr}.progressCurriculumPickerV41 .wide{grid-column:1/-1}}
@media(max-width:700px){.progressHeroV41{padding:21px;border-radius:25px}.progressHeroMapV41{display:none}.progressStudentSelectV41,.progressKpiGridV41,.progressStandardsV41,.progressDimensionGridV41,.progressDiagnosisV41,.progressTargetSettingsV41 form,.progressCycleFormV41,.progressCustomDatesV41,.progressManualScopeV41>div{grid-template-columns:1fr}.progressSectionNavV41{top:60px}.progressCycleHeaderV41,.progressMatrixHeadV41,.progressLegacyGoalsV41>header{align-items:stretch;flex-direction:column}.progressMatrixToolsV41{min-width:0;display:grid}.progressSubjectStripV41>div,.progressCurriculumPickerV41{grid-template-columns:1fr}.progressCurriculumPickerV41 .wide{grid-column:auto}.progressEvidenceV41 article{grid-template-columns:1fr}.progressAddTargetBtnV41{width:100%;min-width:0}.progressCycleMiniV41{left:auto;right:0}}

/* ===== v42.css ===== */
/* V42 — Performance-first visual system. Lightweight overrides only. */
:root{
  --v42-bg:#f3f6fb;
  --v42-surface:#ffffff;
  --v42-surface-soft:#f8faff;
  --v42-border:#e2e8f3;
  --v42-border-strong:#cfd9eb;
  --v42-text:#142033;
  --v42-muted:#6d7890;
  --v42-primary:#4f46e5;
  --v42-primary-2:#0ea5e9;
  --v42-teal:#0f9f8b;
  --v42-success:#11875d;
  --v42-warning:#c57816;
  --v42-danger:#c84444;
  --v42-purple:#7357d8;
  --v42-shadow:0 8px 22px rgba(23,38,70,.055);
  --v42-shadow-hover:0 12px 28px rgba(23,38,70,.09);
  --v42-radius:20px;
}
html{scroll-behavior:smooth}
body.v42-ui{
  color:var(--v42-text);
  background:
    radial-gradient(700px 360px at 92% -5%,rgba(79,70,229,.07),transparent 62%),
    radial-gradient(620px 320px at 4% 2%,rgba(14,165,233,.06),transparent 60%),
    var(--v42-bg);
  font-family:"Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.v42-ui *{box-sizing:border-box}
body.v42-ui .main,
body.v42-ui .side,
body.v42-ui .mobileAppHeader,
body.v42-ui .mobileBottomNav,
body.v42-ui .notificationDrawer{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.v42-ui .app-shell{max-width:1760px;grid-template-columns:292px minmax(0,1fr);gap:16px;padding:16px}
body.v42-ui .side,
body.v42-ui .main{background:rgba(255,255,255,.97);border:1px solid var(--v42-border);border-radius:26px;box-shadow:var(--v42-shadow)}
body.v42-ui .side{position:sticky;top:16px;height:calc(100vh - 32px)}
body.v42-ui .main{min-width:0}
body.v42-ui .sideTop,
body.v42-ui .mainTop{background:#fff;border-bottom:1px solid var(--v42-border);padding:15px 17px}
body.v42-ui .mainTop{position:sticky;top:0;z-index:20;min-height:74px}
body.v42-ui .sideBody{padding:13px;gap:12px}
body.v42-ui .mainBody{padding:18px;gap:16px;overflow:visible}
body.v42-ui .brand{gap:11px}
body.v42-ui .logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#5a50e6,#159ed9);box-shadow:0 8px 18px rgba(79,70,229,.18);display:grid;place-items:center}
body.v42-ui .logo span{color:#fff;font-weight:950;font-size:18px}
body.v42-ui .brandText b{font-size:13px;color:#17233a}
body.v42-ui .brandText span{font-size:10px;color:#7b869c}
body.v42-ui .pageTitleWrap h1{font-size:20px;line-height:1.5;margin:0;color:#17233a;letter-spacing:-.2px}
body.v42-ui .pageSubtitle{color:#8a94a7;font-size:10px}
body.v42-ui .profileBoxV25{padding:12px;border-radius:18px;border:1px solid #e5eaf4;background:#fbfcff;box-shadow:none}
body.v42-ui .profileAvatar{background:linear-gradient(145deg,#eef0ff,#e7f6ff);color:#4f46e5;border:1px solid #d9e1fa}
body.v42-ui .profileIdentity strong{color:#1e293b;font-size:12px}
body.v42-ui .profileIdentity span{color:#8b95a7;font-size:9px}
body.v42-ui .profileBoxV25 em{background:#eef2ff;color:#4f46e5;border:1px solid #dde4ff}
body.v42-ui .navGroup{gap:6px}
body.v42-ui .navGroupTitle{padding:4px 8px 3px;color:#9aa3b3;font-size:9px;letter-spacing:.15px}
body.v42-ui .navBtn{min-height:51px;padding:9px 11px;border-radius:14px;border:1px solid transparent;background:transparent;color:#334155;box-shadow:none;transition:background .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}
body.v42-ui .navBtn>span{font-size:11px;font-weight:900;display:flex;align-items:center;gap:7px}
body.v42-ui .navBtn small{font-size:8px;color:#8b95a7;font-weight:650}
body.v42-ui .navBtn:hover{transform:translateX(-2px);background:#f6f8fd;border-color:#e5eaf5;box-shadow:none}
body.v42-ui .navBtn.active{background:linear-gradient(135deg,#eef0ff,#edf9ff);border-color:#d8e2fa;color:#3730a3;box-shadow:none}
body.v42-ui .navBtnDanger{margin-top:5px;background:#fff8f8;color:#a63f3f;border-color:#f4dede}
body.v42-ui .sidebarDateCard{padding:12px;border-radius:16px;background:#f8faff;border:1px solid #e5eaf4;box-shadow:none;color:#27364f}
body.v42-ui .sidebarDateCard strong{font-size:14px}
body.v42-ui .sidebarDateCard span,body.v42-ui .sidebarDateCard small{font-size:9px;color:#7e899c}

/* Core surfaces */
body.v42-ui .contentCard,
body.v42-ui .metricCard,
body.v42-ui .heroPanel,
body.v42-ui .glassBox,
body.v42-ui .stackCard,
body.v42-ui .dayCard,
body.v42-ui .memoryCard,
body.v42-ui .alertRow,
body.v42-ui .analyticsChartCard,
body.v42-ui .studentInsightCard,
body.v42-ui .studentRecentCard,
body.v42-ui .studentPulseCard{
  background:var(--v42-surface);
  border:1px solid var(--v42-border);
  border-radius:var(--v42-radius);
  box-shadow:var(--v42-shadow);
}
body.v42-ui .contentCard{padding:18px}
body.v42-ui .sectionHead{gap:12px;margin-bottom:14px}
body.v42-ui .sectionHead h3{font-size:14px;line-height:1.65;color:#1e293b}
body.v42-ui .sectionHead p,body.v42-ui .muted{color:var(--v42-muted);font-size:10px;line-height:1.8}
body.v42-ui .badge,body.v42-ui .topChip,body.v42-ui .heroBadge{background:#f2f5fb;border:1px solid #e1e7f2;color:#53627a;padding:7px 9px;font-size:9px;border-radius:10px}
body.v42-ui .topChipAccent{background:#eef0ff;border-color:#dde1ff;color:#4f46e5}
body.v42-ui .btn{min-height:39px;border-radius:12px;padding:9px 12px;background:#fff;border:1px solid #dbe3f1;color:#34435b;box-shadow:none;font-size:10px;transition:transform .1s ease,border-color .1s ease,background .1s ease}
body.v42-ui .btn:hover{transform:translateY(-1px);background:#f8faff;border-color:#cfd9eb;box-shadow:none}
body.v42-ui .btn.primary,body.v42-ui .primary{background:linear-gradient(135deg,#5148dc,#168fc9);border-color:transparent;color:#fff;box-shadow:0 7px 16px rgba(79,70,229,.16)}
body.v42-ui .btn.success,body.v42-ui .success{background:#ebfaf4;border-color:#cceee0;color:#087552}
body.v42-ui .btn.danger,body.v42-ui .danger{background:#fff2f2;border-color:#f2d0d0;color:#ad3b3b}
body.v42-ui .btn.ghost{background:#f8faff}
body.v42-ui .btn-sm{min-height:32px;padding:7px 9px;border-radius:10px;font-size:9px}
body.v42-ui input,body.v42-ui select,body.v42-ui textarea,
body.v42-ui .field input,body.v42-ui .field select,body.v42-ui .field textarea{background:#fff;color:#24324a;border:1px solid #dbe3ef;border-radius:12px;padding:10px 11px;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease}
body.v42-ui input:focus,body.v42-ui select:focus,body.v42-ui textarea:focus{outline:none;border-color:#9aa8ea;box-shadow:0 0 0 3px rgba(79,70,229,.08)}
body.v42-ui label>span,body.v42-ui .field label{color:#5f6e86;font-size:9px;font-weight:850}
body.v42-ui table{border-collapse:separate;border-spacing:0;width:100%;font-size:10px}
body.v42-ui th{background:#f8faff;color:#718097;font-size:9px;font-weight:900;white-space:nowrap}
body.v42-ui th,body.v42-ui td{padding:10px 11px;border-bottom:1px solid #edf0f6}
body.v42-ui tbody tr:hover td{background:#fbfcff}
body.v42-ui .tableWrap,body.v42-ui .accountingTableV39,body.v42-ui .competitionTableWrapV38{border:1px solid #e4e9f3;border-radius:15px;overflow:auto;background:#fff}
body.v42-ui .empty-state,body.v42-ui .empty-cell{color:#8792a5}
body.v42-ui .alertRow p{color:#66758d!important}
body.v42-ui .alertRow.high{background:#fff7f7;border-color:#f0d8d8}
body.v42-ui .alertRow.medium{background:#fffaf0;border-color:#eedfbe}
body.v42-ui .alertRow.low{background:#f3fbf7;border-color:#d8eee3}
body.v42-ui .flash{border-radius:13px;box-shadow:none;font-size:10px}

/* Executive advisor dashboard */
body.v42-ui .advisorExecutiveHeadV34{padding:20px 22px;border-radius:22px;background:linear-gradient(135deg,#17213a,#263b65 65%,#145c78);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .advisorExecutiveHeadV34 span{color:#a9c8ff;font-size:9px}
body.v42-ui .advisorExecutiveHeadV34 h2{font-size:21px;line-height:1.5;color:#fff}
body.v42-ui .advisorMasterKpisV34{gap:10px}
body.v42-ui .advisorMasterKpisV34>article{padding:14px;border-radius:17px;background:#fff;border:1px solid #e2e7f1;box-shadow:0 5px 14px rgba(24,36,68,.04)}
body.v42-ui .advisorMasterKpisV34>article span{font-size:8px;color:#7a879b}
body.v42-ui .advisorMasterKpisV34>article strong{font-size:20px;color:#1e293b}
body.v42-ui .advisorMasterKpisV34>article small{font-size:8px;color:#929cad}
body.v42-ui .advisorMasterKpisV34>article.primary{background:linear-gradient(145deg,#eff1ff,#f8fbff);border-color:#dce2ff}
body.v42-ui .advisorMasterKpisV34>article.success{border-top:3px solid #3cae82}
body.v42-ui .advisorMasterKpisV34>article.warning{border-top:3px solid #d19a42}
body.v42-ui .advisorMasterKpisV34>article.danger{border-top:3px solid #d66969}
body.v42-ui .commercialChartCardV34,body.v42-ui .advisorCommercialBottomV34>article,body.v42-ui .advisorAttentionV34,body.v42-ui .advisorDigestV34{border-radius:20px;border:1px solid #e2e7f1;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .commercialChartCardV34 canvas,body.v42-ui .chartWrap canvas{max-height:330px}
body.v42-ui .advisorQuickCommercialV34 a{background:#f8faff;border:1px solid #e5eaf4;border-radius:15px;box-shadow:none}
body.v42-ui .advisorQuickCommercialV34 a:hover{background:#eef4ff;border-color:#d8e2f5}

/* Planner — one calm, guided workflow */
body.v42-ui .plannerStudio{display:grid;gap:16px}
body.v42-ui .plannerHero{border-radius:24px;padding:22px;background:linear-gradient(135deg,#eef1ff,#f7fbff 50%,#eefbf8);border:1px solid #dbe4f4;box-shadow:var(--v42-shadow)}
body.v42-ui .plannerHero h2{font-size:21px;color:#1d2a42}
body.v42-ui .plannerHero p{color:#68778e;font-size:10px;line-height:1.9}
body.v42-ui .plannerStepRail{position:sticky;top:88px;z-index:11;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;background:#fff;border:1px solid #e1e7f1;border-radius:17px;padding:7px;box-shadow:0 6px 18px rgba(24,36,68,.05)}
body.v42-ui .plannerStep{border:0;background:transparent;border-radius:11px;padding:8px 9px;color:#77849a}
body.v42-ui .plannerStep.active{background:#eef0ff;color:#4238c5}
body.v42-ui .plannerStep.completed{background:#edf9f5;color:#08775a}
body.v42-ui .plannerPanel{border:1px solid #e1e7f1;border-radius:22px;background:#fff;padding:19px;box-shadow:var(--v42-shadow)}
body.v42-ui .plannerPanelHead{padding-bottom:12px;border-bottom:1px solid #edf0f5}
body.v42-ui .plannerPanelHead h3{font-size:15px}
body.v42-ui .plannerPresetGrid{gap:9px}
body.v42-ui .planPresetCard{border:1px solid #e2e7f1;background:#fbfcff;border-radius:15px;box-shadow:none}
body.v42-ui .planPresetCard.active,body.v42-ui .planPresetCard:hover{background:#f1f4ff;border-color:#ccd5fb}
body.v42-ui .curriculumWorkspace{border-radius:18px;border:1px solid #e1e7f1;background:#fbfcff}
body.v42-ui .curriculumBrowser{background:#fff;border-radius:15px;border:1px solid #e6ebf3}
body.v42-ui .curriculumTree{max-height:500px;overflow:auto;overscroll-behavior:contain}
body.v42-ui .smartRecommendationPanel{border:1px solid #dce5f4;background:linear-gradient(145deg,#fbfcff,#f5f8ff);border-radius:19px;box-shadow:none}
body.v42-ui .smartRecommendButton{box-shadow:0 7px 16px rgba(79,70,229,.13)}
body.v42-ui .plannerFooter{position:sticky;bottom:10px;z-index:12;padding:10px 12px;border:1px solid #dfe6f1;border-radius:16px;background:rgba(255,255,255,.98);box-shadow:0 8px 22px rgba(24,36,68,.08);backdrop-filter:none}

/* Guided AI — stronger hierarchy, less clutter */
body.v42-ui .aiGuidedHeroV40,body.v42-ui .aiCommandHero{border-radius:24px;background:linear-gradient(135deg,#18213a,#263a63 58%,#156579);padding:22px;box-shadow:0 10px 24px rgba(24,36,68,.14)}
body.v42-ui .aiGuidedHeroV40 h2,body.v42-ui .aiCommandHero h2{color:#fff;font-size:21px}
body.v42-ui .aiGuidedHeroV40 p,body.v42-ui .aiCommandHero p{color:#d5dfef;font-size:10px}
body.v42-ui .aiWorkflowV40{background:#fff;border:1px solid #e1e7f1;border-radius:19px;box-shadow:var(--v42-shadow);padding:12px}
body.v42-ui .aiWorkflowStepV40{background:#f8faff;border:1px solid #e7ebf3;border-radius:14px;box-shadow:none}
body.v42-ui .aiStartCardV40,body.v42-ui .aiTaskChoiceV40,body.v42-ui .aiOutputDeskV40,body.v42-ui .aiPromptStudioV40,body.v42-ui .aiTechnicalV40{border:1px solid #e2e7f1;border-radius:18px;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .aiStartCardV40:hover{transform:translateY(-1px);border-color:#cad5f2;box-shadow:var(--v42-shadow-hover)}
body.v42-ui .aiTechnicalV40{box-shadow:none;background:#f8faff}
body.v42-ui .aiRecentOutputsV40{gap:9px}
body.v42-ui .aiResultTextV40{line-height:1.95;color:#4e5c72}

/* Consulting news */
body.v42-ui .advisorNewsHeroV40{border-radius:24px;padding:22px;background:linear-gradient(135deg,#17213a,#273b64 58%,#166077);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .advisorNewsHeroV40 h2{font-size:22px;color:#fff}
body.v42-ui .advisorNewsHeroV40 p{color:#d8e1ee;font-size:10px;line-height:1.9}
body.v42-ui .advisorNewsPulseV40 article{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);box-shadow:none;border-radius:15px}
body.v42-ui .advisorNewsRulesV40{border:1px solid #e0e6f0;border-radius:17px;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .advisorNewsGridV40{gap:14px}
body.v42-ui .advisorNewsCardV40{border-radius:21px;border:1px solid #e1e7f1;background:#fff;box-shadow:var(--v42-shadow);padding:18px}
body.v42-ui .advisorNewsCardV40:hover{box-shadow:var(--v42-shadow-hover)}
body.v42-ui .advisorNewsNumberV40{background:#eef1ff;color:#4f46e5;border:1px solid #dce3ff}
body.v42-ui .advisorChallengeBoxV40{background:#f8faff;border:1px solid #dde5f3;border-radius:15px}
body.v42-ui .advisorChallengeBoxV40 li,body.v42-ui .advisorChallengeBoxV40 p{color:#52627a!important}
body.v42-ui .advisorNewsAnalysisV40 p,body.v42-ui .advisorNewsImpactV40 p,body.v42-ui .advisorNewsSummaryV40{color:#596a82!important}
body.v42-ui .advisorNewsEvidenceV40 b{background:#f3f6fb;border:1px solid #e3e8f1;color:#5a687d}
body.v42-ui .advisorNewsCloseV40{border-radius:21px;background:#f7f9fd;border:1px solid #e1e7f1;box-shadow:none}

/* Long-term progress */
body.v42-ui .progressHeroV41{border-radius:25px;background:linear-gradient(135deg,#17213a,#273b63 62%,#126b75);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .progressHeroV41 h2{font-size:22px}
body.v42-ui .progressSectionNavV41{top:86px;background:#fff;border:1px solid #e0e6f0;box-shadow:0 5px 16px rgba(24,36,68,.05);backdrop-filter:none}
body.v42-ui .progressKpiGridV41>article,body.v42-ui .progressTrendCardV41,body.v42-ui .progressActionDeskV41,body.v42-ui .progressSubjectStripV41{border-radius:19px;box-shadow:var(--v42-shadow)}
body.v42-ui .progressTargetBuilderV41{border-radius:22px!important;box-shadow:var(--v42-shadow)!important}
body.v42-ui .progressCurriculumPickerV41{background:#f8faff;border-color:#e0e6f0;border-radius:17px}
body.v42-ui .progressMatrixHeadV41{border-radius:21px;background:#f8faff;border-color:#e0e6f0}
body.v42-ui .progressTargetCardV41{border-radius:21px;box-shadow:var(--v42-shadow);padding:17px}
body.v42-ui .progressTargetCardV41:hover{box-shadow:var(--v42-shadow-hover)}
body.v42-ui .progressReadinessRingV41{width:68px;height:68px}
body.v42-ui .progressDimensionGridV41>div{background:#f8faff;border-color:#e4e9f2}
body.v42-ui .progressDiagnosisV41>div{background:#fbfcff;border-color:#e4e9f2}

/* Competition */
body.v42-ui .competitionHeroV38,body.v42-ui .competitionStudentHeroV38{border-radius:24px;background:linear-gradient(135deg,#161f36,#2b3a61 55%,#16606f);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .competitionHeroV38 h2,body.v42-ui .competitionStudentHeroV38 h2{font-size:22px}
body.v42-ui .competitionKpiGridV38>article,body.v42-ui .competitionUniverseCardV38,body.v42-ui .competitionLeaderboardV38,body.v42-ui .competitionPrivacyManagerV38,body.v42-ui .competitionScoreInfoV38{border-radius:20px;border:1px solid #e1e7f1;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .competitionPeriodTabsV38 a,body.v42-ui .competitionRoomTabsV38 a{border-radius:11px;border:1px solid #e1e7f1;background:#fff;box-shadow:none}
body.v42-ui .competitionPeriodTabsV38 a.active,body.v42-ui .competitionRoomTabsV38 a.active{background:#eef0ff;color:#4238c5;border-color:#d5dcfb}
body.v42-ui .competitionUniverseV38{filter:none}
body.v42-ui .competitionNodeV38{box-shadow:0 7px 16px rgba(24,36,68,.08)}

/* Enrollment */
body.v42-ui .enrollManagerHeroV39{border-radius:24px;background:linear-gradient(135deg,#17213a,#293d65 58%,#176a73);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .enrollManagerHeroV39 h2{font-size:22px}
body.v42-ui .enrollStatsV39>article,body.v42-ui .enrollManagerSectionV39,body.v42-ui .studentAccountCardV39,body.v42-ui .enrollmentApplicationCardV39{border-radius:18px;border:1px solid #e1e7f1;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .enrollFlowV39 article{border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.11);box-shadow:none}
body.v42-ui .oneTimeCredentialV39{border-radius:17px;background:#fff8e9;border:1px solid #f1dfb9;box-shadow:none}

/* Accounting */
body.v42-ui .accountingHeroV39{border-radius:24px;background:linear-gradient(135deg,#162238,#273c60 58%,#176b72);box-shadow:0 10px 24px rgba(24,36,68,.13)}
body.v42-ui .accountingHeroV39 h2{font-size:22px}
body.v42-ui .accountingBalanceV39{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:17px;box-shadow:none}
body.v42-ui .accountingKpisV39>article,body.v42-ui .balanceCardsV39>article{border-radius:18px;border:1px solid #e1e7f1;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .accountingFormV39{gap:11px}
body.v42-ui .cashflowStripV39 article{border-radius:14px;background:#f8faff;border:1px solid #e4e9f2}

/* Student / family */
body.v42-ui .studentCommandHero,body.v42-ui .studentCommandHeroV34,body.v42-ui .familyHeroPanel{border-radius:23px;box-shadow:var(--v42-shadow)}
body.v42-ui .studentMetricStrip>article,body.v42-ui .analyticsSummaryGrid>article,body.v42-ui .familyMetricGrid>article,body.v42-ui .familyInsightGrid>article{border-radius:17px;border:1px solid #e1e7f1;background:#fff;box-shadow:var(--v42-shadow)}
body.v42-ui .studentActivePlan,body.v42-ui .studentScoreIntelligence,body.v42-ui .todayCaptureShellV34,body.v42-ui .familyAiCenter,body.v42-ui .familyFinancePanel{border-radius:21px;border:1px solid #e1e7f1;box-shadow:var(--v42-shadow)}
body.v42-ui .analyticsChartCard{padding:15px}
body.v42-ui .analyticsCanvas,body.v42-ui .chartWrap{min-height:260px}
body.v42-ui .analyticsCanvas.large,body.v42-ui .chartWrap.tall{min-height:320px}

/* Auth */
body.v42-ui.is-guest{background:linear-gradient(145deg,#f4f7fb,#eef3fa)}
body.v42-ui .auth-card{background:#fff;border:1px solid #e0e6f0;border-radius:24px;box-shadow:0 12px 34px rgba(24,36,68,.08)}

/* Rendering budget: defer heavy off-screen informational cards only. */
@supports (content-visibility:auto){
  body.v42-ui .progressTargetCardV41,
  body.v42-ui .balanceCardsV39>article{
    content-visibility:auto;
    contain-intrinsic-size:220px;
  }
}

/* Motion should be subtle and cheap. */
body.v42-ui .btn,body.v42-ui .navBtn,body.v42-ui .advisorNewsCardV40,body.v42-ui .progressTargetCardV41{will-change:auto}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body.v42-ui *,body.v42-ui *::before,body.v42-ui *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Mobile first readability */
@media(max-width:1180px){
  body.v42-ui .app-shell{grid-template-columns:260px minmax(0,1fr)}
  body.v42-ui .mainBody{padding:15px}
}
@media(max-width:900px){
  body.v42-ui .app-shell{display:block;padding:0;max-width:none}
  body.v42-ui .side{position:fixed;height:100dvh;top:0;border-radius:0;box-shadow:0 0 34px rgba(24,36,68,.14)}
  body.v42-ui .main{border:0;border-radius:0;box-shadow:none;min-height:100dvh;background:#f5f7fb}
  body.v42-ui .mainTop{display:none}
  body.v42-ui .mainBody{padding:14px 12px 90px}
  body.v42-ui .mobileAppHeader{background:#fff;border-bottom:1px solid #e4e9f2;box-shadow:0 3px 12px rgba(24,36,68,.04)}
  body.v42-ui .mobileBottomNav{background:#fff;border-top:1px solid #e0e6f0;box-shadow:0 -5px 18px rgba(24,36,68,.055)}
  body.v42-ui .mobileBottomNav a,body.v42-ui .mobileBottomNav button{min-width:0;color:#69778d}
  body.v42-ui .mobileBottomNav a span,body.v42-ui .mobileBottomNav button span{font-size:18px}
  body.v42-ui .mobileBottomNav a b,body.v42-ui .mobileBottomNav button b{font-size:8px}
  body.v42-ui .plannerStepRail{top:57px;display:flex;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;scrollbar-width:none}
  body.v42-ui .plannerStepRail .plannerStep{min-width:112px}
  body.v42-ui .progressSectionNavV41{top:57px}
}
@media(max-width:640px){
  body.v42-ui .contentCard{padding:14px;border-radius:17px}
  body.v42-ui .advisorExecutiveHeadV34,body.v42-ui .advisorNewsHeroV40,body.v42-ui .progressHeroV41,body.v42-ui .competitionHeroV38,body.v42-ui .competitionStudentHeroV38,body.v42-ui .enrollManagerHeroV39,body.v42-ui .accountingHeroV39,body.v42-ui .aiGuidedHeroV40,body.v42-ui .aiCommandHero{padding:17px;border-radius:19px}
  body.v42-ui .advisorExecutiveHeadV34 h2,body.v42-ui .advisorNewsHeroV40 h2,body.v42-ui .progressHeroV41 h2,body.v42-ui .competitionHeroV38 h2,body.v42-ui .enrollManagerHeroV39 h2,body.v42-ui .accountingHeroV39 h2,body.v42-ui .aiGuidedHeroV40 h2,body.v42-ui .aiCommandHero h2{font-size:18px}
  body.v42-ui .advisorMasterKpisV34,body.v42-ui .enrollStatsV39,body.v42-ui .accountingKpisV39{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v42-ui .plannerHero{padding:16px;border-radius:18px}
  body.v42-ui .plannerPanel{padding:14px;border-radius:17px}
  body.v42-ui .plannerFooter{bottom:74px}
  body.v42-ui .analyticsCanvas,body.v42-ui .chartWrap{min-height:230px}
}

/* V43 — Premium Enterprise UI, performance-first. Pure CSS/SVG; no blur/filter-heavy effects. */
:root{
  --v43-bg:#f2f5fb;
  --v43-bg-2:#eaf0f8;
  --v43-surface:#ffffff;
  --v43-surface-soft:#f8fafe;
  --v43-surface-tint:#f4f7fd;
  --v43-ink:#101828;
  --v43-ink-2:#24324a;
  --v43-muted:#667085;
  --v43-muted-2:#8b96a8;
  --v43-line:#e1e7f0;
  --v43-line-strong:#ced8e7;
  --v43-navy:#172554;
  --v43-primary:#4f46e5;
  --v43-primary-2:#2563eb;
  --v43-cyan:#0891b2;
  --v43-teal:#0f766e;
  --v43-success:#047857;
  --v43-warning:#b45309;
  --v43-danger:#b42318;
  --v43-purple:#6d28d9;
  --v43-info-bg:#eef4ff;
  --v43-success-bg:#ecfdf3;
  --v43-warning-bg:#fffaeb;
  --v43-danger-bg:#fef3f2;
  --v43-radius-xs:9px;
  --v43-radius-sm:12px;
  --v43-radius-md:16px;
  --v43-radius-lg:22px;
  --v43-radius-xl:28px;
  --v43-shadow-1:0 1px 2px rgba(16,24,40,.03),0 4px 12px rgba(16,24,40,.035);
  --v43-shadow-2:0 8px 24px rgba(16,24,40,.07);
  --v43-shadow-3:0 18px 44px rgba(30,45,80,.09);
}

/* ===== Global enterprise foundation ===== */
html{scroll-padding-top:96px}
body.v43-ui{
  font-size:13px;
  line-height:1.7;
  color:var(--v43-ink);
  background:
    linear-gradient(110deg,rgba(79,70,229,.035),transparent 28%),
    linear-gradient(250deg,rgba(8,145,178,.035),transparent 25%),
    var(--v43-bg);
}
body.v43-ui .uiSpriteV43{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
body.v43-ui .app-shell{grid-template-columns:300px minmax(0,1fr);gap:18px;padding:18px;max-width:1800px}
body.v43-ui .side,body.v43-ui .main{border:1px solid var(--v43-line);border-radius:var(--v43-radius-xl);box-shadow:var(--v43-shadow-2);background:#fff}
body.v43-ui .side{top:18px;height:calc(100vh - 36px);overflow:hidden}
body.v43-ui .sideTop{min-height:76px;padding:15px 16px;border-bottom:1px solid var(--v43-line);background:linear-gradient(180deg,#fff,#fbfcff)}
body.v43-ui .mainTop{min-height:78px;padding:14px 20px;border-bottom:1px solid var(--v43-line);background:rgba(255,255,255,.98);box-shadow:0 4px 12px rgba(16,24,40,.025)}
body.v43-ui .mainBody{padding:20px;gap:18px}
body.v43-ui .sideBody{padding:14px 12px 16px;gap:13px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d7dfec transparent}
body.v43-ui .sideBody::-webkit-scrollbar{width:6px}body.v43-ui .sideBody::-webkit-scrollbar-thumb{background:#d7dfec;border-radius:99px}
body.v43-ui .brand{min-width:0}
body.v43-ui .logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#4338ca,#2563eb 60%,#0891b2);box-shadow:0 8px 18px rgba(79,70,229,.2)}
body.v43-ui .logo span{font-size:18px;font-weight:950}
body.v43-ui .brandText b{font-size:14px;color:var(--v43-ink);letter-spacing:-.2px}
body.v43-ui .brandText span{font-size:10.5px;color:var(--v43-muted)}
body.v43-ui .pageTitleWrap{display:grid;gap:1px}
body.v43-ui .pageTitleWrap h1{font-size:21px;font-weight:950;line-height:1.5;color:var(--v43-ink);letter-spacing:-.35px}
body.v43-ui .pageSubtitle{font-size:10.5px;color:var(--v43-muted-2)}
body.v43-ui .topActions{gap:8px}
body.v43-ui .notificationBell{min-height:42px;border:1px solid var(--v43-line);background:#fff;color:var(--v43-ink-2);border-radius:13px;box-shadow:var(--v43-shadow-1)}
body.v43-ui .notificationBell:hover{border-color:#cbd6e6;background:#f9fbff}

/* Profile and navigation */
body.v43-ui .profileBoxV25{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:12px;border-radius:17px;background:linear-gradient(145deg,#f9fbff,#f4f7fd);border:1px solid #e1e8f4;box-shadow:none}
body.v43-ui .profileAvatar{width:42px;height:42px;border-radius:13px;background:#eef2ff;color:#4338ca;border:1px solid #dfe4ff;font-size:16px;font-weight:950}
body.v43-ui .profileIdentity{min-width:0}.v43-ui .profileIdentity strong{font-size:12.5px;color:var(--v43-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v43-ui .profileIdentity span{font-size:9.5px;color:var(--v43-muted-2)}
body.v43-ui .profileBoxV25 em{font-size:9px;font-style:normal;font-weight:900;background:#fff;border:1px solid #dfe6f2;color:#55647c;padding:5px 7px;border-radius:9px}
body.v43-ui .navGroup{gap:5px}
body.v43-ui .navGroupTitle{padding:8px 10px 4px;font-size:9.5px;font-weight:950;color:#98a2b3;letter-spacing:.15px}
body.v43-ui .navBtn{position:relative;min-height:53px;padding:9px 10px;border:1px solid transparent;border-radius:14px;background:transparent;color:#344054;box-shadow:none;overflow:hidden}
body.v43-ui .navBtn>span{font-size:11.5px;font-weight:900;gap:9px;line-height:1.35}
body.v43-ui .navBtn small{font-size:9px;font-weight:650;color:#8a94a6;margin-right:30px;line-height:1.45}
body.v43-ui .navBtn:hover{transform:none;background:#f7f9fd;border-color:#e8edf5;color:#1d2939}
body.v43-ui .navBtn.active{background:linear-gradient(90deg,#eef2ff,#f7f9ff 75%);border-color:#dce3fa;color:#3530a7}
body.v43-ui .navBtn.active::before{content:"";position:absolute;right:0;top:11px;bottom:11px;width:3px;border-radius:3px;background:linear-gradient(#4f46e5,#2563eb)}
body.v43-ui .navIconV43{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
body.v43-ui .navIconV43 use[href="#i-dashboard"],body.v43-ui .navIconV43 use[href="#i-home"]{fill:currentColor;stroke:none}
body.v43-ui .navBtn.active .navIconV43{color:#4f46e5}
body.v43-ui .navBtnDanger{background:#fffafa;border-color:#f2dede;color:#a33a3a;margin-top:4px}
body.v43-ui .sidebarDateCard{padding:13px;border-radius:16px;background:#f8faff;border:1px solid var(--v43-line);box-shadow:none}
body.v43-ui .sidebarDateCard span{font-size:9.5px;color:#8a94a6}.v43-ui .sidebarDateCard strong{font-size:14px;color:#25324a}.v43-ui .sidebarDateCard small{font-size:9px;color:#77839a}

/* Surfaces, type, controls */
body.v43-ui .contentCard,body.v43-ui .metricCard,body.v43-ui .heroPanel,body.v43-ui .glassBox,body.v43-ui .stackCard,body.v43-ui .dayCard,body.v43-ui .memoryCard,body.v43-ui .alertRow,body.v43-ui .analyticsChartCard,body.v43-ui .studentInsightCard,body.v43-ui .studentRecentCard,body.v43-ui .studentPulseCard{
  border:1px solid var(--v43-line);border-radius:var(--v43-radius-lg);background:var(--v43-surface);box-shadow:var(--v43-shadow-1)
}
body.v43-ui .contentCard{padding:20px}
body.v43-ui .sectionHead{margin-bottom:16px;gap:12px;align-items:flex-start}
body.v43-ui .sectionHead h3{font-size:15px;line-height:1.55;font-weight:950;color:var(--v43-ink)}
body.v43-ui .sectionHead p,body.v43-ui .muted{font-size:11px;line-height:1.85;color:var(--v43-muted)}
body.v43-ui .badge,body.v43-ui .topChip,body.v43-ui .heroBadge{padding:7px 10px;border-radius:10px;background:#f7f9fc;border:1px solid #e3e8f1;color:#536179;font-size:9.5px;font-weight:850}
body.v43-ui .topChipAccent{background:#eef2ff;border-color:#d9e1ff;color:#4338ca}
body.v43-ui .btn{min-height:40px;padding:9px 13px;border-radius:11px;border:1px solid #d6dfec;background:#fff;color:#344054;font-size:10.5px;font-weight:900;box-shadow:none;transition:background .12s ease,border-color .12s ease,transform .12s ease}
body.v43-ui .btn:hover{transform:translateY(-1px);background:#f9fbff;border-color:#c5d0e0}
body.v43-ui .btn.primary,body.v43-ui .primary{background:linear-gradient(135deg,#4f46e5,#2563eb);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(79,70,229,.18)}
body.v43-ui .btn.primary:hover{background:linear-gradient(135deg,#4338ca,#1d4ed8)}
body.v43-ui .btn.success,body.v43-ui .success{background:var(--v43-success-bg);border-color:#c8ead9;color:#067052}
body.v43-ui .btn.danger,body.v43-ui .danger{background:var(--v43-danger-bg);border-color:#f0cfcc;color:var(--v43-danger)}
body.v43-ui .btn.ghost{background:#f7f9fc}
body.v43-ui .btn-sm{min-height:33px;padding:6px 9px;border-radius:9px;font-size:9.5px}
body.v43-ui input,body.v43-ui select,body.v43-ui textarea,body.v43-ui .field input,body.v43-ui .field select,body.v43-ui .field textarea{min-height:42px;padding:10px 12px;border:1px solid #d5dfed;border-radius:11px;background:#fff;color:#1d2939;font-size:11.5px;box-shadow:0 1px 2px rgba(16,24,40,.02)}
body.v43-ui textarea,body.v43-ui .field textarea{min-height:96px;line-height:1.8}
body.v43-ui input:hover,body.v43-ui select:hover,body.v43-ui textarea:hover{border-color:#c3cfdf}
body.v43-ui input:focus,body.v43-ui select:focus,body.v43-ui textarea:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px rgba(79,70,229,.09)}
body.v43-ui label>span,body.v43-ui .field label{font-size:10px;font-weight:900;color:#526078}
body.v43-ui table{font-size:11px;border-spacing:0}
body.v43-ui th{padding:11px 12px;font-size:9.5px;font-weight:950;color:#667085;background:#f8fafd;border-bottom:1px solid #dfe6ef}
body.v43-ui td{padding:11px 12px;color:#344054;border-bottom:1px solid #edf1f6}
body.v43-ui tbody tr:last-child td{border-bottom:0}
body.v43-ui tbody tr:hover td{background:#fafcff}
body.v43-ui .tableWrap,body.v43-ui .accountingTableV39,body.v43-ui .competitionTableWrapV38{border:1px solid var(--v43-line);border-radius:16px;box-shadow:none}
body.v43-ui .flash{padding:12px 14px;border-radius:12px;font-size:11px;box-shadow:none}

/* ===== Advisor executive dashboard ===== */
body.v43-ui .advisorExecutiveHeadV34{position:relative;overflow:hidden;padding:25px 26px;border-radius:26px;background:linear-gradient(120deg,#111c3f 0%,#1f3267 55%,#0d6070 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(18,35,75,.17)}
body.v43-ui .advisorExecutiveHeadV34::after{content:"";position:absolute;left:-80px;top:-120px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 45px rgba(255,255,255,.02),0 0 0 90px rgba(255,255,255,.018);pointer-events:none}
body.v43-ui .advisorExecutiveHeadV34>div{position:relative;z-index:1}
body.v43-ui .advisorExecutiveHeadV34 span{font-size:10px;color:#b9cef9;font-weight:850}.v43-ui .advisorExecutiveHeadV34 h2{font-size:24px;line-height:1.5;color:#fff;letter-spacing:-.45px}.v43-ui .advisorExecutiveHeadV34 p{color:#d7e1f6;font-size:11.5px;max-width:760px}
body.v43-ui .advisorExecutiveActionsV34 .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}.v43-ui .advisorExecutiveActionsV34 .btn.primary{background:#fff;color:#263b78;border-color:#fff;box-shadow:none}
body.v43-ui .advisorMasterKpisV34{gap:12px}
body.v43-ui .advisorMasterKpisV34>article{position:relative;min-height:108px;padding:16px 17px;border-radius:18px;background:#fff;border:1px solid var(--v43-line);box-shadow:var(--v43-shadow-1);overflow:hidden}
body.v43-ui .advisorMasterKpisV34>article::before{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#d6ddeb}.v43-ui .advisorMasterKpisV34>article.primary::before{background:#4f46e5}.v43-ui .advisorMasterKpisV34>article.success::before{background:#059669}.v43-ui .advisorMasterKpisV34>article.warning::before{background:#d97706}.v43-ui .advisorMasterKpisV34>article.danger::before{background:#dc2626}
body.v43-ui .advisorMasterKpisV34>article span{font-size:9.5px;color:#667085;font-weight:800}.v43-ui .advisorMasterKpisV34>article strong{font-size:23px;line-height:1.25;color:#101828}.v43-ui .advisorMasterKpisV34>article small{font-size:9px;color:#98a2b3}
body.v43-ui .advisorOverviewChartsV34,body.v43-ui .advisorDecisionGridV34,body.v43-ui .advisorCommercialBottomV34{gap:14px}
body.v43-ui .commercialChartCardV34,body.v43-ui .advisorCommercialBottomV34>article,body.v43-ui .advisorAttentionV34,body.v43-ui .advisorDigestV34{border:1px solid var(--v43-line);border-radius:20px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .advisorAttentionListV34 article{border-bottom:1px solid #eef2f6}.v43-ui .advisorAttentionListV34 article:last-child{border-bottom:0}
body.v43-ui .advisorQuickCommercialV34 a{min-height:82px;border-radius:16px;background:#f8faff;border:1px solid #e2e8f2;color:#344054}.v43-ui .advisorQuickCommercialV34 a:hover{background:#f2f5ff;border-color:#d5def3}

/* ===== Six-stage planner ===== */
body.v43-ui .plannerStudio{padding:0;background:transparent;border:0;box-shadow:none;gap:16px}
body.v43-ui .plannerHero{position:relative;overflow:hidden;padding:24px 25px;border:1px solid #dbe3f1;border-radius:24px;background:linear-gradient(120deg,#f0f3ff,#f9fbff 55%,#eefbfb);box-shadow:var(--v43-shadow-1)}
body.v43-ui .plannerHero::after{content:"";position:absolute;left:-55px;bottom:-75px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.08),transparent 70%);pointer-events:none}
body.v43-ui .plannerEyebrow{display:inline-flex;padding:6px 9px;border-radius:9px;background:#fff;border:1px solid #dce4f4;color:#4f46e5;font-size:9.5px;font-weight:950}.v43-ui .plannerHero h3{font-size:21px;color:#172033;margin-top:8px}.v43-ui .plannerHeroStats{gap:8px}.v43-ui .plannerHeroStats>div{min-width:112px;padding:11px 13px;border-radius:13px;background:rgba(255,255,255,.82);border:1px solid #e0e6f2}.v43-ui .plannerHeroStats strong{font-size:15px;color:#1f2a44}.v43-ui .plannerHeroStats span{font-size:9px;color:#7a8699}
body.v43-ui .plannerStepRail{top:92px;padding:7px;gap:4px;border-radius:17px;border:1px solid #dce3ef;background:#fff;box-shadow:0 8px 18px rgba(16,24,40,.055)}
body.v43-ui .plannerStep{position:relative;min-height:68px;padding:9px 8px;border-radius:11px;border:1px solid transparent;background:transparent;text-align:right;color:#667085}.v43-ui .plannerStep>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#f1f4f8;color:#667085;font-size:9px;font-weight:950}.v43-ui .plannerStep b{font-size:10.5px;color:#475467}.v43-ui .plannerStep small{font-size:8.5px;color:#98a2b3}.v43-ui .plannerStep.active{background:#eef2ff;border-color:#dce2ff}.v43-ui .plannerStep.active>span{background:#4f46e5;color:#fff}.v43-ui .plannerStep.active b{color:#3730a3}.v43-ui .plannerStep.completed{background:#f0fdf8;border-color:#d6f2e7}.v43-ui .plannerStep.completed>span{background:#059669;color:#fff}
body.v43-ui .plannerPanels{display:grid}.v43-ui .plannerPanel{padding:23px;border-radius:22px;border:1px solid var(--v43-line);background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .plannerPanelHead{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #edf1f6}.v43-ui .plannerPanelHead h4{font-size:16px;line-height:1.65;color:#172033}.v43-ui .stepKicker{font-size:9.5px;font-weight:950;color:#4f46e5}
body.v43-ui .gradeScopePlannerBox,body.v43-ui .plannerPreferenceStrip,body.v43-ui .smartRecommendationHowItWorks,body.v43-ui .plannerStageGuide{border:1px solid #e1e8f2;background:#f8faff;border-radius:16px}
body.v43-ui .curriculumWorkspace{gap:14px}.v43-ui .curriculumTree,.v43-ui .selectionBasket{border:1px solid #dfe6f0;border-radius:16px;background:#fff;box-shadow:none}.v43-ui .selectionBasket{background:#fafcff}
body.v43-ui .smartRecommendationPanel{background:linear-gradient(180deg,#fff,#fbfcff)}
body.v43-ui .smartRecommendButton{box-shadow:0 7px 18px rgba(79,70,229,.18)!important}
body.v43-ui .smartRecommendationStatus,body.v43-ui .smartRecommendationMetrics>article,body.v43-ui .smartRecommendationList>article{border-radius:14px;border:1px solid #e0e7f2;box-shadow:none}
body.v43-ui .budgetModeCard,body.v43-ui .plannerSwitchCard{border:1px solid #e0e6f0;border-radius:14px;background:#fff}.v43-ui .budgetModeCard.active{border-color:#bfc9fb;background:#f5f6ff;box-shadow:0 0 0 3px rgba(79,70,229,.05)}
body.v43-ui .plannerFooter{position:sticky;bottom:10px;z-index:15;padding:10px 12px;border:1px solid #d9e2ef;border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.1)}
body.v43-ui .plannerFooterStatus>div{height:6px;background:#edf1f7}.v43-ui .plannerFooterStatus i{background:linear-gradient(90deg,#4f46e5,#2563eb,#0891b2)}

/* ===== Advisor AI decision center ===== */
body.v43-ui .aiGuideHeroV40{position:relative;overflow:hidden;padding:26px;border-radius:26px;background:linear-gradient(125deg,#101a38,#1d3268 58%,#0b6670);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(18,35,75,.16)}
body.v43-ui .aiGuideHeroCopyV40{max-width:800px}.v43-ui .aiGuideEyebrowV40{display:inline-flex;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.15);color:#c7d7ff;font-size:9.5px}.v43-ui .aiGuideHeroCopyV40 h2{font-size:24px;color:#fff;line-height:1.5}.v43-ui .aiGuideHeroCopyV40 p{font-size:11.5px;color:#d5dff3;line-height:1.9}.v43-ui .aiGuideHeroBadgesV40 span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#e6edff;border-radius:9px}
body.v43-ui .aiGuideStatusV40{min-width:220px;border-radius:17px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fff}.v43-ui .aiGuideStatusV40 strong{color:#fff}.v43-ui .aiGuideStatusV40 small,.v43-ui .aiGuideStatusV40 span{color:#c9d6ee}
body.v43-ui .aiTodayBoardV40{padding:21px;border:1px solid var(--v43-line);border-radius:22px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .aiTodayBoardV40>header h3{font-size:15px}.v43-ui .aiTodayBoardV40>header a{font-size:10px;color:#4338ca;font-weight:900}
body.v43-ui .aiStartGridV40{gap:10px}.v43-ui .aiStartCardV40{min-height:110px;padding:14px;border-radius:16px;border:1px solid #e0e6ef;background:#fff;box-shadow:none}.v43-ui .aiStartCardV40:hover{transform:translateY(-2px);border-color:#cbd5e5;box-shadow:var(--v43-shadow-1)}.v43-ui .aiStartIconV40{width:36px;height:36px;border-radius:11px;background:#f0f3ff;color:#4f46e5}.v43-ui .aiStartCardV40 strong{font-size:11.5px}.v43-ui .aiStartCardV40 small{font-size:9.5px;color:#7b8799}.v43-ui .aiStartCardV40 em{font-size:9px;color:#4f46e5}
body.v43-ui .aiWorkflowV40{padding:11px;border-radius:16px;border:1px solid #e0e6f0;background:#f8faff}.v43-ui .aiWorkflowStepV40{padding:8px 10px}.v43-ui .aiWorkflowStepV40 b{background:#fff;border:1px solid #dce4f1;color:#4f46e5}.v43-ui .aiWorkflowStepV40 strong{font-size:10.5px}.v43-ui .aiWorkflowStepV40 span{font-size:8.5px;color:#8490a4}
body.v43-ui .aiWorkspaceV40{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);gap:14px;align-items:start}.v43-ui .aiDecisionDeskV40,.v43-ui .aiOutputDeskV40{border:1px solid var(--v43-line);border-radius:22px;background:#fff;box-shadow:var(--v43-shadow-1)}.v43-ui .aiDecisionDeskV40{padding:20px}.v43-ui .aiOutputDeskV40{position:sticky;top:96px;padding:18px}.v43-ui .aiDecisionHeadV40{padding-bottom:14px;border-bottom:1px solid #edf1f6}.v43-ui .aiDecisionHeadV40 h3,.v43-ui .aiOutputDeskV40 h3{font-size:15px}.v43-ui .aiQuotaPillV40{background:#f4f6ff;border:1px solid #e0e5ff;color:#4338ca}
body.v43-ui .aiContextSelectV40{padding:14px;border-radius:14px;background:#f8faff;border:1px solid #e1e7f1}.v43-ui .aiContextSelectV40 small{font-size:9.5px;color:#7b8799}
body.v43-ui .aiTaskChoiceV40{gap:8px}.v43-ui .aiTaskChoiceV40 button{padding:12px;border-radius:13px;border:1px solid #e1e6ef;background:#fff}.v43-ui .aiTaskChoiceV40 button:hover{background:#f8faff;border-color:#cfd8e7}.v43-ui .aiTaskChoiceV40 button strong{font-size:10.5px}.v43-ui .aiTaskChoiceV40 button small{font-size:8.5px;color:#8994a6}
body.v43-ui .aiPromptStudioV40{padding:14px;border:1px solid #dbe3f0;border-radius:16px;background:#fbfcff}.v43-ui .aiComposerV40 textarea{min-height:132px;font-size:11.5px}.v43-ui .aiConversationV40{border-radius:16px;background:#f8faff;border:1px solid #e3e9f2}.v43-ui .aiBubble{font-size:10.5px;line-height:1.85}.v43-ui .aiResultTextV40{min-height:300px;padding:14px;border:1px solid #e2e8f1;border-radius:14px;background:#f8faff;color:#344054;font-size:10.5px;line-height:1.9;white-space:pre-wrap}.v43-ui .aiOutputRuleV40{border-radius:13px;background:#fffaeb;border:1px solid #f4e2b9;color:#7a5411}
body.v43-ui .aiCasesV40{padding:20px;border:1px solid var(--v43-line);border-radius:22px;background:#fff;box-shadow:var(--v43-shadow-1)}.v43-ui .aiStudentPolicyCardV40{border-radius:16px;border:1px solid #e1e6ef;background:#fff;box-shadow:none}.v43-ui .aiStudentPolicyCardV40.warning{border-color:#f0d8a5;background:#fffdf8}.v43-ui .aiStudentPolicyCardV40.locked{border-color:#efcfcc;background:#fffafa}.v43-ui .aiStudentAvatarV40{border-radius:11px;background:#eef2ff;color:#4338ca}
body.v43-ui .aiTechnicalV40{border:1px dashed #ccd6e5;border-radius:16px;background:#fafcff}.v43-ui .aiTechnicalV40>summary{font-size:10.5px;color:#59677d}

/* ===== Consulting news ===== */
body.v43-ui .advisorNewsHeroV40{padding:26px;border-radius:26px;background:linear-gradient(125deg,#14203f,#253b6e 55%,#0f6672);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(18,35,75,.15)}
body.v43-ui .advisorNewsHeroCopyV40>span{display:inline-flex;padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#c7d7ff;font-size:9.5px}.v43-ui .advisorNewsHeroCopyV40 h2{font-size:23px;color:#fff;line-height:1.55}.v43-ui .advisorNewsHeroCopyV40 p{font-size:11.5px;color:#d8e1f3}.v43-ui .advisorNewsHeroMetaV40 span{color:#cfdaef;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)}
body.v43-ui .advisorNewsPulseV40{gap:8px}.v43-ui .advisorNewsPulseV40 article{padding:13px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13)}.v43-ui .advisorNewsPulseV40 span,.v43-ui .advisorNewsPulseV40 small{color:#ced9ee}.v43-ui .advisorNewsPulseV40 strong{color:#fff;font-size:20px}
body.v43-ui .advisorNewsRulesV40{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--v43-line);box-shadow:var(--v43-shadow-1)}
body.v43-ui .advisorNewsGridV40{gap:14px}.v43-ui .advisorNewsCardV40{position:relative;padding:20px;border:1px solid var(--v43-line);border-radius:22px;background:#fff;box-shadow:var(--v43-shadow-1);overflow:hidden}.v43-ui .advisorNewsCardV40::before{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#64748b}.v43-ui .advisorNewsCardV40.danger::before,.v43-ui .advisorNewsCardV40.critical::before{background:#dc2626}.v43-ui .advisorNewsCardV40.warning::before{background:#d97706}.v43-ui .advisorNewsCardV40.success::before,.v43-ui .advisorNewsCardV40.positive::before{background:#059669}.v43-ui .advisorNewsCardV40.info::before{background:#4f46e5}
body.v43-ui .advisorNewsNumberV40{width:34px;height:34px;border-radius:10px;background:#f1f4f9;border:1px solid #e0e6ef;color:#475467;font-size:12px}.v43-ui .advisorNewsIdentityV40 span{font-size:9px}.v43-ui .advisorNewsIdentityV40 em{font-size:8.5px}.v43-ui .advisorNewsCardV40 h3{font-size:16px;line-height:1.7;color:#172033}.v43-ui .advisorNewsSummaryV40{font-size:11.5px;line-height:1.95;color:#59677c}
body.v43-ui .advisorNewsAnalysisV40,body.v43-ui .advisorNewsEvidenceV40,body.v43-ui .advisorNewsImpactV40{border-radius:14px;background:#f8faff;border:1px solid #e4e9f2}.v43-ui .advisorChallengeBoxV40{border-radius:16px;background:#fffbeb;border:1px solid #f2e3b9;box-shadow:none}.v43-ui .advisorChallengeBoxV40 li{font-size:10.5px;line-height:1.9;color:#5d4a22}.v43-ui .advisorNewsEvidenceV40 b{border-radius:9px;background:#fff;border:1px solid #dde5f0;color:#4b5a70}.v43-ui .advisorNewsCardFootV40{padding-top:14px;border-top:1px solid #edf1f6}
body.v43-ui .advisorNewsCloseV40{padding:22px;border-radius:22px;background:#f5f7ff;border:1px solid #dfe5f5}

/* ===== Long-term progress board ===== */
body.v43-ui .progressHeroV41{padding:28px;border-radius:27px;background:linear-gradient(125deg,#111c3e,#273f75 58%,#0e6971);border:1px solid rgba(255,255,255,.08);box-shadow:0 15px 36px rgba(18,35,75,.16)}
body.v43-ui .progressHeroCopyV41>span{color:#b9cbef;font-size:9px;letter-spacing:.6px}.v43-ui .progressHeroCopyV41 h2{font-size:24px;color:#fff;line-height:1.55}.v43-ui .progressHeroCopyV41 h2 em{color:#8ee6da}.v43-ui .progressHeroCopyV41 p{font-size:11.5px;color:#d6e0f1}.v43-ui .progressHeroPillsV41 span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#e6edfb}
body.v43-ui .progressHeroMapV41{transform:scale(.96);filter:none}.v43-ui .progressHeroMapV41 strong{color:#fff}.v43-ui .progressHeroMapV41 small{color:#c5d3eb}
body.v43-ui .progressStudentBarV41{border-radius:20px}.v43-ui .progressStudentSelectV41{padding:12px;border-radius:14px;background:#f8faff;border:1px solid #e1e7f1}
body.v43-ui .progressSectionNavV41{top:92px;border:1px solid #dce4ef;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(16,24,40,.055)}.v43-ui .progressSectionNavV41 a{font-size:9.5px;font-weight:900;color:#667085;border-radius:9px}.v43-ui .progressSectionNavV41 a:hover{background:#f1f4ff;color:#4338ca}
body.v43-ui .progressOverviewGridV41{gap:14px}.v43-ui .progressKpiGridV41 article,.v43-ui .progressTrendCardV41,.v43-ui .progressActionDeskV41{border:1px solid var(--v43-line);border-radius:18px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .progressTargetGridV41{gap:12px}.v43-ui .progressTargetCardV41{border:1px solid var(--v43-line);border-radius:19px;background:#fff;box-shadow:var(--v43-shadow-1);overflow:hidden}.v43-ui .progressTargetCardV41::before{height:3px}.v43-ui .progressTargetIdentityV41 h3{font-size:14px}.v43-ui .progressDimensionGridV41 article{border-radius:13px;background:#f8faff;border:1px solid #e5eaf2}.v43-ui .progressDiagnosisV41{border-radius:14px;background:#fafcff;border:1px solid #e2e8f1}.v43-ui .progressEvidenceV41{border-radius:14px;background:#f8faff;border:1px solid #e3e9f2}.v43-ui .progressStandardsV41{border-radius:14px;border:1px solid #e1e7ef;background:#fff}
body.v43-ui .progressMatrixSectionV41{border:1px solid var(--v43-line);border-radius:22px;background:#fff;box-shadow:var(--v43-shadow-1)}.v43-ui .progressMatrixToolsV41{background:#f8faff;border:1px solid #e3e9f2;border-radius:13px}

/* ===== Competition ===== */
body.v43-ui .competitionHeroV38{padding:27px;border-radius:27px;background:linear-gradient(125deg,#131d3d,#293d6c 60%,#12626c);border:1px solid rgba(255,255,255,.08);box-shadow:0 15px 34px rgba(18,35,75,.15)}
body.v43-ui .competitionHeroCopyV38 h2{font-size:24px;color:#fff}.v43-ui .competitionHeroCopyV38 p{font-size:11.5px;color:#d6dfef}.v43-ui .competitionKickerV38{color:#c5d4f4}.v43-ui .competitionHeroBadgesV38 span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13);color:#e8eefb}
body.v43-ui .competitionKpiGridV38 article,body.v43-ui .competitionUniverseCardV38,body.v43-ui .competitionLeaderboardV38,body.v43-ui .competitionPrivacyManagerV38,body.v43-ui .competitionCreateV38{border:1px solid var(--v43-line);border-radius:20px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .competitionPeriodTabsV38{padding:5px;border:1px solid #dfe6f0;border-radius:13px;background:#f8faff}.v43-ui .competitionPeriodTabsV38 a,.v43-ui .competitionPeriodTabsV38 button{border-radius:9px}.v43-ui .competitionPeriodTabsV38 .active{background:#4f46e5;color:#fff;box-shadow:none}
body.v43-ui .competitionUniverseV38{border-radius:18px;background:radial-gradient(circle at center,#f7f8ff 0,#f8fbff 50%,#f3f7fb 100%);border:1px solid #e1e7f0}.v43-ui .competitionNodeV38{box-shadow:0 5px 14px rgba(16,24,40,.08);border:2px solid #fff}.v43-ui .competitionHighlightsV38 article{border-radius:14px;border:1px solid #e1e7f0;background:#fff}
body.v43-ui .competitionTableWrapV38 th{position:sticky;top:0;z-index:2}

/* ===== Enrollment manager ===== */
body.v43-ui .enrollManagerHeroV39{padding:26px;border-radius:26px;background:linear-gradient(125deg,#17203c,#263c68 58%,#11636c);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(18,35,75,.15)}
body.v43-ui .enrollManagerHeroV39 h2{font-size:23px;color:#fff}.v43-ui .enrollManagerHeroV39 p{font-size:11.5px;color:#d8e1f1}
body.v43-ui .enrollmentKpiGridV39 article,body.v43-ui .manualEnrollmentV39,body.v43-ui .inviteManagerV39,body.v43-ui .pendingEnrollmentV39,body.v43-ui .studentAccountManagerV39,body.v43-ui .enrollmentActivityV39{border:1px solid var(--v43-line);border-radius:20px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .manualEnrollmentFormV39,body.v43-ui .inviteCreateFormV39{gap:12px}.v43-ui .studentAccountGridV39{gap:12px}.v43-ui .studentAccountCardV39{border:1px solid #e0e6ef;border-radius:17px;background:#fff;box-shadow:none}.v43-ui .studentAccountCardV39:hover{border-color:#cbd5e4;box-shadow:var(--v43-shadow-1)}.v43-ui .accountQuickActionsV39{border-top:1px solid #edf1f5}.v43-ui .accountFactsV39 span{background:#f8faff;border:1px solid #e5eaf2;border-radius:9px}
body.v43-ui .pendingEnrollmentV39 article{border-radius:16px;border:1px solid #e0e6ef}.v43-ui .enrollmentActivityListV39 article{border-bottom:1px solid #eef2f6}

/* ===== Accounting ===== */
body.v43-ui .accountingHeroV39{padding:26px;border-radius:26px;background:linear-gradient(125deg,#17203d,#263c69 58%,#0e626b);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(18,35,75,.15)}
body.v43-ui .accountingHeroV39 h2{font-size:23px;color:#fff}.v43-ui .accountingHeroV39 p{font-size:11.5px;color:#d7e1f1}.v43-ui .accountingHeroActionsV39 .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.v43-ui .accountingHeroActionsV39 .btn.primary{background:#fff;color:#273e7b;border-color:#fff;box-shadow:none}
body.v43-ui .accountingBalanceV39{border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.v43-ui .accountingBalanceV39 span,.v43-ui .accountingBalanceV39 small{color:#d1dbee}.v43-ui .accountingBalanceV39 strong{color:#fff}
body.v43-ui .accountingKpisV39{gap:10px}.v43-ui .accountingKpisV39 article{position:relative;padding:15px;border-radius:17px;border:1px solid var(--v43-line);background:#fff;box-shadow:var(--v43-shadow-1);overflow:hidden}.v43-ui .accountingKpisV39 article::after{content:"";position:absolute;right:0;top:0;bottom:0;width:3px;background:#cbd5e1}.v43-ui .accountingKpisV39 article.success::after{background:#059669}.v43-ui .accountingKpisV39 article.warning::after{background:#d97706}.v43-ui .accountingKpisV39 article.danger::after{background:#dc2626}.v43-ui .accountingKpisV39 strong{font-size:17px;color:#172033}
body.v43-ui .accountingBuilderGridV39{gap:14px}.v43-ui .accountingFormV39{gap:12px}.v43-ui .balanceCardsV39 article{border:1px solid #e0e6ef;border-radius:16px;background:#fff}.v43-ui .balanceCardsV39 article.overdue{border-color:#efcfcb;background:#fffafa}.v43-ui .accountingFiltersV39{padding:10px;border:1px solid #e1e7f0;border-radius:13px;background:#f8faff}.v43-ui .cashflowStripV39 article{border:1px solid #e0e6ef;border-radius:13px;background:#fff}

/* ===== Student dashboard ===== */
body.v43-ui .studentCommandHero,body.v43-ui .studentCommandHeroV34{padding:25px;border-radius:26px;background:linear-gradient(125deg,#17203f,#28406f 58%,#11636d);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 32px rgba(18,35,75,.14)}
body.v43-ui .studentCommandCopy h2{font-size:23px;color:#fff}.v43-ui .studentCommandCopy p{font-size:11.5px;color:#d9e2f1}.v43-ui .studentEyebrow{color:#c5d4f2}
body.v43-ui .studentMetricStrip{gap:10px}.v43-ui .studentMetricStrip article,.v43-ui .studentHomeGrid>article,.v43-ui .studentFocusCard,.v43-ui .studentActivePlan,.v43-ui .studentAnalyticsHero{border:1px solid var(--v43-line);border-radius:19px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .studentMetricStrip strong{font-size:18px;color:#172033}.v43-ui .studentMetricStrip span,.v43-ui .studentMetricStrip small{color:#7a8799}
body.v43-ui .studentActionDock{border:1px solid #dce4ef;border-radius:17px;background:#fff;box-shadow:var(--v43-shadow-1)}.v43-ui .studentActionDock a,.v43-ui .studentActionDock button{border-radius:11px}
body.v43-ui .studentPlanCard{border:1px solid #e0e6ef;border-radius:17px;background:#fff;box-shadow:none}.v43-ui .studentPlanCard:hover{border-color:#cbd5e3;box-shadow:var(--v43-shadow-1)}

/* ===== Family portal ===== */
body.v43-ui .familyHeroPanel{padding:25px;border-radius:26px;background:linear-gradient(125deg,#17203f,#2b4271 60%,#12646d);border:1px solid rgba(255,255,255,.08);box-shadow:0 14px 32px rgba(18,35,75,.14)}
body.v43-ui .familyHeroPanel h2{font-size:22px;color:#fff}.v43-ui .familyHeroPanel p{font-size:11.5px;color:#d7e1f1}.v43-ui .familyHeroPanel>div>span{color:#bed0f2}.v43-ui .familyHeroActions .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#fff}.v43-ui .familyHeroActions .btn.primary{background:#fff;color:#273e7b;border-color:#fff;box-shadow:none}
body.v43-ui .familyScoreRing{filter:none}.v43-ui .familyScoreRing>div{background:#fff;border:5px solid rgba(255,255,255,.22);box-shadow:none}.v43-ui .familyMetricGrid{gap:10px}.v43-ui .familyMetricGrid article,.v43-ui .familyChartsGrid .contentCard,.v43-ui .familyInsights,.v43-ui .familyAiCenter,.v43-ui .familyFinancePanel,.v43-ui .familySettingsPanel{border:1px solid var(--v43-line);border-radius:20px;background:#fff;box-shadow:var(--v43-shadow-1)}
body.v43-ui .familyChildSwitcher{padding:6px;border:1px solid var(--v43-line);border-radius:15px;background:#fff;box-shadow:var(--v43-shadow-1)}.v43-ui .familyChildSwitcher a{border-radius:11px}.v43-ui .familyChildSwitcher a.active{background:#eef2ff;color:#3730a3}
body.v43-ui .familyInsightGrid article{border-radius:14px;border:1px solid #e2e8f0;background:#fff}.v43-ui .familyAiQuestion{padding:14px;border-radius:15px;background:#f8faff;border:1px solid #e1e7f0}.v43-ui .familyAiReports article{border-radius:14px;border:1px solid #e2e8f0;background:#fff}.v43-ui .familyFeeCards article{border-radius:16px;border:1px solid #e0e6ef;background:#fff}.v43-ui .familySettingToggle{border:1px solid #e1e7ef;border-radius:14px;background:#fff}

/* ===== Notifications / mobile ===== */
body.v43-ui .notificationDrawer{border:1px solid var(--v43-line);background:#fff;box-shadow:-18px 0 42px rgba(16,24,40,.12);border-radius:22px 0 0 22px}
body.v43-ui .notificationDrawerHead{border-bottom:1px solid #e7ecf3}.v43-ui .notificationDrawerTools{background:#f8faff;border-bottom:1px solid #e7ecf3}
body.v43-ui .mobileAppHeader{background:#fff;border-bottom:1px solid var(--v43-line);box-shadow:0 5px 15px rgba(16,24,40,.05)}
body.v43-ui .mobileBottomNav{background:#fff;border:1px solid #dde4ef;box-shadow:0 -8px 24px rgba(16,24,40,.07);border-radius:18px 18px 0 0}
body.v43-ui .mobileBottomNav a,body.v43-ui .mobileBottomNav button{color:#667085}.v43-ui .mobileBottomNav b{font-size:9px}.v43-ui .mobileNavIconV43{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.v43-ui .mobileNavIconV43 use[href="#i-home"]{fill:currentColor;stroke:none}

/* Render-cost controls */
@supports (content-visibility:auto){
  body.v43-ui .advisorNewsCardV40,body.v43-ui .progressTargetCardV41,body.v43-ui .studentAccountCardV39,body.v43-ui .aiStudentPolicyCardV40,body.v43-ui .familyAiReports article{content-visibility:auto;contain-intrinsic-size:1px 180px}
}
body.v43-ui .advisorNewsCardV40,body.v43-ui .progressTargetCardV41,body.v43-ui .studentAccountCardV39,body.v43-ui .aiStartCardV40{contain:layout paint}

@media(max-width:1180px){
  body.v43-ui .app-shell{grid-template-columns:270px minmax(0,1fr)}
  body.v43-ui .aiWorkspaceV40{grid-template-columns:1fr}.v43-ui .aiOutputDeskV40{position:relative;top:auto}
  body.v43-ui .advisorMasterKpisV34{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  body.v43-ui{font-size:13px}
  body.v43-ui .app-shell{display:block;padding:0}.v43-ui .main{border:0;border-radius:0;box-shadow:none;min-height:100vh}.v43-ui .mainBody{padding:14px 12px 92px}.v43-ui .mainTop{display:none}
  body.v43-ui .contentCard{padding:16px;border-radius:18px}.v43-ui .sectionHead h3{font-size:14px}.v43-ui .sectionHead p,.v43-ui .muted{font-size:10.5px}
  body.v43-ui .plannerStepRail{top:62px;display:flex;overflow-x:auto;scroll-snap-type:x proximity;padding:6px;gap:5px}.v43-ui .plannerStep{min-width:145px;scroll-snap-align:start}.v43-ui .plannerPanel{padding:16px;border-radius:18px}.v43-ui .plannerFooter{bottom:76px}
  body.v43-ui .progressSectionNavV41{top:62px;overflow-x:auto;white-space:nowrap}
  body.v43-ui .advisorExecutiveHeadV34,body.v43-ui .aiGuideHeroV40,body.v43-ui .advisorNewsHeroV40,body.v43-ui .progressHeroV41,body.v43-ui .competitionHeroV38,body.v43-ui .enrollManagerHeroV39,body.v43-ui .accountingHeroV39,body.v43-ui .studentCommandHero,body.v43-ui .studentCommandHeroV34,body.v43-ui .familyHeroPanel{padding:20px;border-radius:21px}
  body.v43-ui .advisorExecutiveHeadV34 h2,body.v43-ui .aiGuideHeroCopyV40 h2,body.v43-ui .advisorNewsHeroCopyV40 h2,body.v43-ui .progressHeroCopyV41 h2,body.v43-ui .competitionHeroCopyV38 h2,body.v43-ui .accountingHeroV39 h2,body.v43-ui .studentCommandCopy h2,body.v43-ui .familyHeroPanel h2{font-size:19px}
}
@media(max-width:640px){
  body.v43-ui .mainBody{padding:12px 10px 88px;gap:12px}
  body.v43-ui .advisorMasterKpisV34,body.v43-ui .accountingKpisV39,body.v43-ui .familyMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v43-ui .advisorMasterKpisV34>article{min-height:96px}.v43-ui .advisorMasterKpisV34>article strong{font-size:20px}
  body.v43-ui .aiStartGridV40{grid-template-columns:1fr}.v43-ui .aiTaskChoiceV40{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.v43-ui .plannerHero{padding:18px}.v43-ui .plannerHeroStats{grid-template-columns:repeat(3,1fr)}.v43-ui .plannerHeroStats>div{min-width:0;padding:9px}.v43-ui .plannerHeroStats strong{font-size:12px}.v43-ui .plannerHeroStats span{font-size:8px}
  body.v43-ui .goalBuilderFormV36,body.v43-ui .manualEnrollmentFormV39,body.v43-ui .accountingFormV39{grid-template-columns:1fr}
  body.v43-ui table{font-size:10px}.v43-ui th,.v43-ui td{padding:9px 10px}
}
@media (prefers-reduced-motion:reduce){
  body.v43-ui *,body.v43-ui *::before,body.v43-ui *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
/* V44 — long-term roadmap + scientific competition, performance-first */
:root{--v44-ink:#172033;--v44-muted:#69758f;--v44-line:#dfe7f6;--v44-soft:#f7f9fd;--v44-indigo:#4f46e5;--v44-cyan:#0891b2;--v44-teal:#0f9f8c;--v44-green:#138a64;--v44-amber:#c77911;--v44-red:#c44747;--v44-shadow:0 12px 32px rgba(43,57,92,.08)}

/* Long-term roadmap */
.roadmapHeroV44{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:24px;padding:30px;border:1px solid #dce5fb;border-radius:30px;background:linear-gradient(135deg,#f4f6ff 0%,#fff 52%,#effcf9 100%);box-shadow:var(--v44-shadow);position:relative;overflow:hidden}.roadmapHeroV44:after{content:"";position:absolute;inset:auto -80px -100px auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(79,70,229,.12),transparent 68%);pointer-events:none}.roadmapHeroCopyV44{position:relative;z-index:1}.roadmapHeroCopyV44>span,.roadmapBuilderHeadV44>div>span,.roadmapDetailHeadV44>div>span,.roadmapGoalsV44>header>div>span,.roadmapLanesHeadV44>div>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:#4f46e5}.roadmapHeroCopyV44 h2{margin:10px 0 10px;font-size:clamp(25px,2.4vw,38px);line-height:1.55;color:#172033;max-width:840px}.roadmapHeroCopyV44 h2 em{font-style:normal;color:#4f46e5}.roadmapHeroCopyV44 p{margin:0;color:#5f6d87;line-height:2;font-size:14px;max-width:850px}.roadmapHeroPillsV44{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.roadmapHeroPillsV44 span{padding:7px 10px;border:1px solid #dce5fb;border-radius:999px;background:#fff;color:#526078;font-size:11px;font-weight:800}.roadmapHeroPreviewV44{position:relative;z-index:1;display:grid;gap:10px;align-content:center;padding:18px;border:1px solid #dce6fa;border-radius:24px;background:rgba(255,255,255,.82)}.roadmapMiniRailV44{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.roadmapMiniRailV44 i{height:6px;border-radius:20px;background:#e3e8f5}.roadmapMiniRailV44 i:nth-child(-n+3){background:linear-gradient(90deg,#5b52f5,#20b8df)}.roadmapHeroPreviewV44 article{display:grid;grid-template-columns:64px 1fr;gap:3px 10px;padding:10px 12px;border:1px solid #e7ebf5;border-radius:15px;background:#fff}.roadmapHeroPreviewV44 article small{grid-row:1/3;color:#77829b;font-size:10px}.roadmapHeroPreviewV44 article strong{font-size:13px;color:#26334c}.roadmapHeroPreviewV44 article span{font-size:10px;color:#7a879f}
.roadmapStudentBarV44{border-radius:24px!important}.roadmapStudentSelectV44{display:grid;grid-template-columns:minmax(210px,1fr) minmax(250px,1.25fr) auto;gap:12px;align-items:end}.roadmapStudentSelectV44 label{display:grid;gap:6px}.roadmapStudentSelectV44 label>span{font-size:11px;font-weight:900;color:#66738c}.roadmapSectionNavV44{display:flex;gap:8px;flex-wrap:wrap;position:sticky;top:76px;z-index:6;padding:8px;border:1px solid #dfe6f4;background:rgba(255,255,255,.96);border-radius:18px;box-shadow:0 8px 20px rgba(35,47,76,.06)}.roadmapSectionNavV44 a{padding:9px 12px;border-radius:12px;color:#526078;font-weight:850;font-size:12px}.roadmapSectionNavV44 a:hover{background:#f1f4ff;color:#4f46e5}
.roadmapEmptyV44{display:grid;grid-template-columns:1fr minmax(350px,.85fr);gap:20px;padding:26px;border:1px solid #dce6fa;border-radius:28px;background:#fff;box-shadow:var(--v44-shadow)}.roadmapEmptyCopyV44>span{font-size:11px;font-weight:900;color:#4f46e5}.roadmapEmptyCopyV44 h2{margin:8px 0;font-size:28px}.roadmapEmptyCopyV44 p{color:#64718b;line-height:1.9}.roadmapEmptyCopyV44>div{display:flex;gap:8px;flex-wrap:wrap}.roadmapEmptyCopyV44 b{padding:8px 10px;border-radius:12px;background:#f3f6ff;color:#4c5ab5;font-size:11px}.roadmapCycleFormV44{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roadmapCycleFormV44 label{display:grid;gap:6px}.roadmapCycleFormV44 label span{font-size:11px;font-weight:850;color:#617089}.roadmapCycleFormV44 .spanAll{grid-column:1/-1}
.roadmapCommandV44{display:grid;gap:18px}.roadmapCycleHeadV44{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px;border:1px solid #dce5f6;border-radius:26px;background:linear-gradient(135deg,#fff,#f8faff);box-shadow:var(--v44-shadow)}.roadmapCycleHeadV44>div:first-child{display:grid;gap:4px}.roadmapStateV44{width:max-content;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;background:#eaf9f3;color:#08775b}.roadmapStateV44.paused{background:#fff6e8;color:#98610b}.roadmapStateV44.archived{background:#eef2f7;color:#667085}.roadmapCycleHeadV44 h2{margin:4px 0;font-size:25px}.roadmapCycleHeadV44 p,.roadmapCycleHeadV44 small{margin:0;color:#68758d}.roadmapCycleActionsV44{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.roadmapCycleActionsV44 details{position:relative}.roadmapCycleActionsV44 summary{list-style:none;cursor:pointer;padding:8px 10px;border:1px solid #dce4f3;border-radius:12px;background:#fff;font-size:11px;font-weight:850}.roadmapDualProgressV44{display:grid;grid-template-columns:1fr 1fr;gap:12px}.roadmapDualProgressV44 article{padding:15px 16px;border:1px solid #dfe6f5;border-radius:18px;background:#fff}.roadmapDualProgressV44 header{display:flex;justify-content:space-between;align-items:center}.roadmapDualProgressV44 header span{font-size:11px;color:#66738c;font-weight:850}.roadmapDualProgressV44 header strong{font-size:16px}.roadmapDualProgressV44 article>div{height:9px;background:#edf1f8;border-radius:20px;overflow:visible;margin:10px 0;position:relative}.roadmapDualProgressV44 article>div i{display:block;height:100%;border-radius:20px;background:#9aa8be}.roadmapDualProgressV44 article.execution>div i{background:linear-gradient(90deg,#4f46e5,#12a9c6,#0fa184)}.roadmapDualProgressV44 article.execution>div u{position:absolute;top:-4px;width:2px;height:17px;background:#d97706;border-radius:2px;text-decoration:none}.roadmapDualProgressV44 article small{font-size:10px;color:#7a879d}.roadmapKpisV44{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.roadmapKpisV44 article{padding:14px;border:1px solid #dfe6f4;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(36,49,78,.04)}.roadmapKpisV44 article span{display:block;color:#71809a;font-size:10px}.roadmapKpisV44 article strong{display:block;margin:7px 0 4px;font-size:22px;color:#25324a}.roadmapKpisV44 article small{font-size:9.5px;color:#7a879c;line-height:1.6}.roadmapKpisV44 article.primary{background:linear-gradient(135deg,#f0f2ff,#fff);border-color:#cfd7ff}.roadmapKpisV44 article.warning{background:#fffaf2;border-color:#f3dfb9}.roadmapKpisV44 article.success{background:#f3fcf8;border-color:#cdeade}
.roadmapLanesV44{padding:20px;border:1px solid #dce5f5;border-radius:26px;background:#fff;box-shadow:var(--v44-shadow)}.roadmapLanesHeadV44,.roadmapDetailHeadV44,.roadmapGoalsV44>header,.roadmapBuilderHeadV44{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.roadmapLanesHeadV44 h3,.roadmapDetailHeadV44 h2,.roadmapGoalsV44 h2,.roadmapBuilderHeadV44 h2{margin:5px 0 4px}.roadmapLanesHeadV44 p,.roadmapDetailHeadV44 p,.roadmapGoalsV44 p,.roadmapBuilderHeadV44 p{margin:0;color:#68758c;line-height:1.8}.roadmapLaneStackV44{display:grid;gap:12px;margin-top:16px}.roadmapLaneV44{border:1px solid #e1e7f3;border-radius:20px;background:#fafcff;padding:14px}.roadmapLaneV44>header{display:flex;justify-content:space-between;gap:12px;align-items:center}.roadmapLaneV44>header>div{display:grid;gap:2px}.roadmapLaneV44>header span{font-size:10px;color:#758199}.roadmapLaneV44>header strong{font-size:14px}.roadmapLaneV44>header b{font-size:12px;color:#60708a}.roadmapLaneV44>header b.up{color:#087a5d}.roadmapLaneV44>header b.down{color:#b36a0b}.roadmapLaneV44>header small{font-size:9px;color:#7b879a}.roadmapLaneRailV44{display:flex;gap:8px;overflow:auto;padding:10px 2px 2px;scrollbar-width:thin}.roadmapScopeNodeV44{display:grid;grid-template-columns:30px minmax(150px,1fr) auto;gap:8px;align-items:center;min-width:240px;padding:10px;border:1px solid #dfe6f3;border-radius:16px;background:#fff;position:relative}.roadmapScopeNodeV44>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#f1f4fb;color:#5d6b83;font-size:10px;font-weight:900}.roadmapScopeNodeV44>div{display:grid;gap:2px}.roadmapScopeNodeV44 strong{font-size:11px;color:#2b3850}.roadmapScopeNodeV44 small{font-size:8.8px;color:#7b879d}.roadmapScopeNodeV44 em{font-style:normal;font-size:12px;font-weight:900}.roadmapScopeNodeV44 i{position:absolute;bottom:0;right:0;left:0;height:3px;background:#aeb8ca;font-size:0;border-radius:0 0 16px 16px}.roadmapScopeNodeV44.complete i,.roadmapScopeNodeV44.on_track i{background:#15936b}.roadmapScopeNodeV44.ahead i{background:#0b93b0}.roadmapScopeNodeV44.behind i{background:#d28a21}.roadmapScopeNodeV44.late i{background:#c94e4e}.roadmapScopeNodeV44.no_data i{background:#9ca7ba}.roadmapInsightGridV44{display:grid;grid-template-columns:1.1fr .9fr;gap:12px}.roadmapTrendV44,.roadmapPriorityV44{border:1px solid #dfe6f4;border-radius:22px;background:#fff;padding:16px}.roadmapTrendV44 header,.roadmapPriorityV44 header{display:flex;justify-content:space-between;gap:10px}.roadmapTrendV44 h3,.roadmapPriorityV44 h3{margin:3px 0}.roadmapTrendV44>div{height:260px;margin-top:6px}.roadmapPriorityV44>div{display:grid;gap:7px;margin-top:10px}.roadmapPriorityV44 a{display:grid;grid-template-columns:70px 1fr;gap:2px 10px;padding:9px;border:1px solid #e4e9f3;border-radius:13px}.roadmapPriorityV44 a span{grid-row:1/4;font-size:9px;color:#6b7890}.roadmapPriorityV44 a strong{font-size:11px}.roadmapPriorityV44 a small{font-size:9px;color:#7b8799}.roadmapPriorityV44 a em{font-size:9px;color:#5e6b81;font-style:normal}.roadmapNoScopeV44{display:grid;justify-items:center;gap:7px;padding:28px;border:1px dashed #ced8ec;border-radius:20px;background:#fbfcff;text-align:center}.roadmapNoScopeV44 p{margin:0;color:#6f7b90}
/* Batch curriculum builder */
.roadmapBuilderV44{padding:22px!important;border-radius:26px!important}.roadmapBuilderCountV44{display:grid;place-items:center;min-width:86px;padding:10px;border:1px solid #dce4f5;border-radius:17px;background:#f7f9ff}.roadmapBuilderCountV44 strong{font-size:24px;color:#4f46e5}.roadmapBuilderCountV44 span{font-size:9px;color:#728099}.roadmapBatchFormV44{display:grid;gap:16px;margin-top:18px}.roadmapBuilderGridV44{display:grid;grid-template-columns:1.05fr .95fr;gap:14px}.roadmapPickerV44,.roadmapBasketV44,.roadmapConfirmV44{padding:16px;border:1px solid #dfe6f4;border-radius:20px;background:#fafcff}.roadmapStepTitleV44{display:flex;gap:10px;align-items:center;margin-bottom:12px}.roadmapStepTitleV44>i{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#4f46e5;color:#fff;font-style:normal;font-size:11px;font-weight:900}.roadmapStepTitleV44>div{display:grid;gap:2px}.roadmapStepTitleV44 strong{font-size:13px}.roadmapStepTitleV44 span{font-size:9.5px;color:#75829a}.roadmapStepTitleV44.compact{margin-top:14px}.roadmapSelectGridV44{display:grid;grid-template-columns:1fr 1fr;gap:9px}.roadmapSelectGridV44 label{display:grid;gap:5px}.roadmapSelectGridV44 label span,.roadmapConfirmGridV44 label span{font-size:10px;font-weight:850;color:#66738c}.roadmapScopeChecklistV44{max-height:390px;overflow:auto;display:grid;gap:6px;padding:8px;border:1px solid #e1e7f3;border-radius:15px;background:#fff;content-visibility:auto}.roadmapChecklistEmptyV44{padding:22px;text-align:center;color:#7b879b;font-size:11px}.roadmapChecklistDividerV44{padding:8px 6px 3px;color:#8894a8;font-size:9px;font-weight:850;border-top:1px dashed #e0e5ef}.roadmapCheckRowV44{display:grid;grid-template-columns:auto 22px 1fr;gap:8px;align-items:center;padding:8px;border:1px solid transparent;border-radius:12px;cursor:pointer}.roadmapCheckRowV44:hover{background:#f7f9ff;border-color:#e3e9f7}.roadmapCheckRowV44.depth1{margin-right:10px}.roadmapCheckRowV44.depth2{margin-right:24px;background:#fcfdff}.roadmapCheckRowV44 input{position:absolute;opacity:0;pointer-events:none}.roadmapCheckMarkV44{width:20px;height:20px;border:1px solid #cfd8e9;border-radius:7px;background:#fff;position:relative}.roadmapCheckRowV44 input:checked+.roadmapCheckMarkV44{background:#4f46e5;border-color:#4f46e5}.roadmapCheckRowV44 input:checked+.roadmapCheckMarkV44:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:11px}.roadmapCheckRowV44 input:disabled+.roadmapCheckMarkV44{background:#eef1f6}.roadmapCheckRowV44>div{display:grid;gap:2px}.roadmapCheckRowV44 strong{font-size:10.5px}.roadmapCheckRowV44 small{font-size:8.7px;color:#7b879b}.roadmapAddSelectionV44{width:100%;margin-top:9px}.roadmapBasketStatsV44{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:9px}.roadmapBasketStatsV44 span{padding:5px 7px;background:#fff;border:1px solid #e1e7f2;border-radius:9px;font-size:9px;color:#6b7890}.roadmapBasketStatsV44 button{margin-right:auto;border:0;background:transparent;color:#a24a4a;font-size:9px;cursor:pointer}.roadmapBasketListV44{display:grid;gap:8px;max-height:430px;overflow:auto}.roadmapBasketEmptyV44{display:grid;place-items:center;gap:4px;padding:28px;border:1px dashed #d3dbea;border-radius:14px;background:#fff}.roadmapBasketEmptyV44 span{font-size:9px;color:#7d899c}.roadmapBasketGroupV44{border:1px solid #e1e7f2;border-radius:15px;background:#fff;overflow:hidden}.roadmapBasketGroupV44>header{display:flex;justify-content:space-between;padding:8px 10px;background:#f5f7fd}.roadmapBasketGroupV44>header strong{font-size:11px}.roadmapBasketGroupV44>header span{font-size:9px;color:#6e7c93}.roadmapBasketGroupV44 article{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 10px;border-top:1px solid #edf0f6}.roadmapBasketGroupV44 article>div{display:grid;gap:2px}.roadmapBasketGroupV44 article strong{font-size:10px}.roadmapBasketGroupV44 article small{font-size:8.5px;color:#7d899c}.roadmapBasketGroupV44 article button{width:24px;height:24px;border:0;border-radius:8px;background:#fff2f2;color:#b94848;cursor:pointer}.roadmapConfirmV44{background:linear-gradient(135deg,#f8f9ff,#f5fbfa)}.roadmapConfirmGridV44{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px}.roadmapConfirmGridV44 label{display:grid;gap:5px}.roadmapConfirmGridV44 .wide{grid-column:auto}.roadmapConfirmFooterV44{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid #e1e6f1}.roadmapConfirmFooterV44>div{display:grid;gap:2px}.roadmapConfirmFooterV44 strong{font-size:11px}.roadmapConfirmFooterV44 span{font-size:9px;color:#6e7b91;max-width:690px}.roadmapManualV44{margin-top:12px}
/* Execution detail + companion goals */
.roadmapDetailV44{display:grid;gap:15px}.roadmapDetailGridV44{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.roadmapDetailCardV44{display:grid;gap:12px;padding:16px;border:1px solid #dfe6f4;border-radius:22px;background:#fff;box-shadow:0 8px 22px rgba(35,48,77,.04);content-visibility:auto;contain-intrinsic-size:500px}.roadmapDetailCardV44>header{display:flex;justify-content:space-between;gap:12px}.roadmapDetailCardV44>header>div:first-child{display:grid;gap:3px}.roadmapDetailCardV44>header span{font-size:9px;color:#4f5ecd;font-weight:850}.roadmapDetailCardV44 h3{margin:0;font-size:15px}.roadmapDetailCardV44>header small{font-size:8.7px;color:#7b879a}.roadmapReadinessV44{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(#4f46e5 calc(var(--progress)*1%),#edf0f7 0);position:relative}.roadmapReadinessV44:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.roadmapReadinessV44 strong,.roadmapReadinessV44 span{position:relative;z-index:1}.roadmapReadinessV44 strong{font-size:14px}.roadmapReadinessV44 span{font-size:7px;color:#738098;text-align:center}.roadmapScheduleV44{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:#f7f9fd}.roadmapScheduleV44 span{font-size:8px;color:#78859b}.roadmapScheduleV44 strong{font-size:9.5px}.roadmapScheduleV44 em{font-size:8px;color:#5e6b80;font-style:normal}.roadmapDimensionGridV44{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.roadmapDimensionGridV44>div{display:grid;gap:4px;padding:8px;border:1px solid #e6eaf2;border-radius:12px;background:#fbfcff}.roadmapDimensionGridV44 span{font-size:8px;color:#77849a}.roadmapDimensionGridV44 b{font-size:10px}.roadmapDimensionGridV44 i{height:5px;background:#edf0f6;border-radius:20px;overflow:hidden}.roadmapDimensionGridV44 u{display:block;height:100%;background:linear-gradient(90deg,#5860e8,#16a2bb);text-decoration:none}.roadmapDimensionGridV44 small{font-size:7.5px;color:#8993a4}.roadmapDiagnosisV44{display:grid;grid-template-columns:1fr 1fr;gap:8px}.roadmapDiagnosisV44>div{padding:9px;border-radius:12px;background:#f8fafd}.roadmapDiagnosisV44 span{font-size:8px;font-weight:900;color:#65728a}.roadmapDiagnosisV44 ul,.roadmapDiagnosisV44 ol{margin:6px 0 0;padding-right:16px;display:grid;gap:3px}.roadmapDiagnosisV44 li{font-size:8.7px;line-height:1.65;color:#59667d}.roadmapDetailCardV44>footer{display:flex;gap:7px;justify-content:space-between}.roadmapGoalsV44{display:grid;gap:14px;padding:20px;border:1px solid #dce5f5;border-radius:26px;background:#fff;box-shadow:var(--v44-shadow)}.roadmapGoalBuilderV44{box-shadow:none!important;background:#fafcff!important}.roadmapGoalColumnsV44{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.roadmapGoalColumnsV44>section{padding:12px;border:1px solid #e1e7f2;border-radius:18px;background:#fafcff}.roadmapGoalColumnsV44>section>header{display:flex;justify-content:space-between;margin-bottom:9px}.roadmapGoalColumnsV44>section>header span{font-size:10px;color:#6d7890}.roadmapGoalColumnsV44>section>header strong{font-size:11px}.roadmapGoalColumnsV44>section>div{display:grid;gap:7px}.roadmapGoalColumnsV44 article{display:grid;grid-template-columns:1fr auto;gap:5px;padding:10px;border:1px solid #e3e8f2;border-radius:14px;background:#fff}.roadmapGoalColumnsV44 article>div{display:grid;gap:2px}.roadmapGoalColumnsV44 article span{font-size:8px;color:#6b77d1}.roadmapGoalColumnsV44 h4{margin:0;font-size:10px}.roadmapGoalColumnsV44 article>strong{font-size:12px}.roadmapGoalColumnsV44 article>i{grid-column:1/-1;height:5px;background:#edf0f6;border-radius:20px;overflow:hidden}.roadmapGoalColumnsV44 article u{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#16a5bf);text-decoration:none}.roadmapGoalColumnsV44 footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}.roadmapGoalColumnsV44 footer span,.roadmapGoalColumnsV44 footer small{font-size:7.7px;color:#778399}
/* Student roadmap summary */
.studentRoadmapV44{display:grid;gap:12px;padding:16px;border:1px solid #dce5f5;border-radius:22px;background:linear-gradient(135deg,#f8f9ff,#f5fbfa);box-shadow:0 10px 24px rgba(36,49,78,.05)}.studentRoadmapV44>header{display:flex;justify-content:space-between;gap:12px}.studentRoadmapV44>header>div:first-child{display:grid;gap:3px}.studentRoadmapV44>header span{font-size:9px;color:#4f5dcc;font-weight:900}.studentRoadmapV44 h3{margin:0}.studentRoadmapV44 p{margin:0;color:#68758d;font-size:9.5px}.studentRoadmapGaugeV44{width:82px;height:82px;display:grid;place-items:center;align-content:center;border-radius:50%;background:conic-gradient(#4f46e5 calc(var(--progress)*1%),#e6ebf5 0);position:relative}.studentRoadmapGaugeV44:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}.studentRoadmapGaugeV44 strong,.studentRoadmapGaugeV44 small{position:relative;z-index:1}.studentRoadmapGaugeV44 strong{font-size:15px}.studentRoadmapGaugeV44 small{font-size:7px;color:#7b8698}.studentRoadmapRailsV44{display:grid;grid-template-columns:1fr 1fr;gap:12px}.studentRoadmapRailsV44>div{display:grid;grid-template-columns:90px 1fr 40px;gap:8px;align-items:center}.studentRoadmapRailsV44 span,.studentRoadmapRailsV44 b{font-size:8.5px}.studentRoadmapRailsV44 i{height:6px;border-radius:10px;background:#e7ebf4;overflow:hidden}.studentRoadmapRailsV44 u{display:block;height:100%;background:linear-gradient(90deg,#4f46e5,#0fa78e);text-decoration:none}.studentRoadmapNextV44{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.studentRoadmapNextV44 article{display:flex;justify-content:space-between;gap:6px;padding:9px;border:1px solid #e0e6f2;border-radius:13px;background:#fff}.studentRoadmapNextV44 article>div{display:grid;gap:2px}.studentRoadmapNextV44 article span{font-size:7.5px;color:#6674cd}.studentRoadmapNextV44 article strong{font-size:9px}.studentRoadmapNextV44 article small{font-size:7px;color:#7e899b}.studentRoadmapNextV44 article>b{font-size:10px}.studentRoadmapNextV44 article.behind,.studentRoadmapNextV44 article.late{border-color:#efcfcf;background:#fffafa}
/* Scientific competition */
@media(max-width:1180px){.roadmapKpisV44,.arenaKpiStripV44{grid-template-columns:repeat(3,1fr)}.roadmapDetailGridV44{grid-template-columns:1fr}.studentArenaPersonalV44{grid-template-columns:repeat(3,1fr)}.studentRoadmapNextV44{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.roadmapHeroV44,.roadmapEmptyV44,.scienceArenaHeroV44,.studentArenaHeroV44,.roadmapBuilderGridV44,.roadmapInsightGridV44,.arenaMainGridV44,.studentArenaMainV44{grid-template-columns:1fr}.roadmapStudentSelectV44{grid-template-columns:1fr 1fr}.roadmapStudentSelectV44>a{grid-column:1/-1}.roadmapSectionNavV44{top:66px;overflow:auto;flex-wrap:nowrap}.roadmapDualProgressV44{grid-template-columns:1fr}.roadmapConfirmGridV44{grid-template-columns:1fr 1fr}.roadmapConfirmGridV44 .wide{grid-column:1/-1}.roadmapGoalColumnsV44{grid-template-columns:1fr}.arenaPulseV44{grid-template-columns:1fr 1fr}.arenaChampionHistoryV44>div,.studentArenaChampionsV44>div{grid-template-columns:repeat(3,1fr)}.studentArenaPulseV44{grid-template-columns:1fr 1fr}.studentRoadmapNextV44{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.roadmapHeroV44,.scienceArenaHeroV44{padding:19px;border-radius:23px}.roadmapHeroCopyV44 h2,.scienceArenaHeroV44 h2{font-size:22px}.roadmapHeroPreviewV44,.scienceArenaHeroV44>aside{display:none}.roadmapStudentSelectV44,.roadmapCycleFormV44,.roadmapConfirmGridV44{grid-template-columns:1fr}.roadmapStudentSelectV44>a,.roadmapCycleFormV44 .spanAll,.roadmapConfirmGridV44 .wide{grid-column:auto}.roadmapCycleHeadV44,.roadmapLanesHeadV44,.roadmapDetailHeadV44,.roadmapGoalsV44>header,.roadmapBuilderHeadV44,.roadmapConfirmFooterV44,.arenaRoomIntroV44{flex-direction:column;align-items:stretch}.roadmapKpisV44,.arenaKpiStripV44{grid-template-columns:repeat(2,1fr)}.roadmapSelectGridV44{grid-template-columns:1fr 1fr}.roadmapDimensionGridV44{grid-template-columns:repeat(2,1fr)}.roadmapDiagnosisV44{grid-template-columns:1fr}.roadmapReadinessV44{width:66px;height:66px}.roadmapScopeNodeV44{min-width:220px}.roadmapSectionNavV44{position:static}.studentRoadmapV44>header{align-items:center}.studentRoadmapRailsV44{grid-template-columns:1fr}.studentRoadmapNextV44{grid-template-columns:1fr}.arenaPulseV44,.studentArenaPersonalV44,.studentArenaPulseV44{grid-template-columns:1fr 1fr}.arenaPodiumV44,.studentArenaPodiumV44{gap:5px}.arenaPodiumV44 article,.studentArenaPodiumV44 article{padding:10px}.arenaChampionHistoryV44>div,.studentArenaChampionsV44>div{display:flex;overflow:auto}.arenaChampionHistoryV44 article,.studentArenaChampionsV44 article{min-width:130px}.arenaFairnessV44{grid-template-columns:1fr}.arenaConstellationFieldV44,.studentArenaConstellationV44>div{min-height:330px}.studentArenaRaceV44 article{grid-template-columns:24px 64px 1fr 30px}.studentArenaRaceV44 article em{display:none}}

/* V44 readability pass — premium density without micro-text */
.v44-ui .roadmapScopeNodeV44 small,
.v44-ui .roadmapKpisV44 article small,
.v44-ui .roadmapPriorityV44 a span,
.v44-ui .roadmapPriorityV44 a small,
.v44-ui .roadmapPriorityV44 a em,
.v44-ui .arenaChampionHistoryV44 article>span,
.v44-ui .arenaChampionHistoryV44 small,
.v44-ui .arenaChampionHistoryV44 strong,
.v44-ui .arenaTableV44 td small,
.v44-ui .arenaZoneV44,
.v44-ui .arenaFairnessV44 span,
.v44-ui .arenaFairnessV44 p,
.v44-ui .studentArenaIdentityV44>span,
.v44-ui .studentArenaCodeV44 small,
.v44-ui .studentArenaRankV44>span,
.v44-ui .studentArenaRankV44>small,
.v44-ui .studentArenaRankV44 b,
.v44-ui .studentArenaPersonalV44 span,
.v44-ui .studentArenaPersonalV44 small,
.v44-ui .studentArenaPulseV44 span,
.v44-ui .studentArenaPulseV44 small,
.v44-ui .studentArenaPodiumV44 article>span,
.v44-ui .studentArenaPodiumV44 article small,
.v44-ui .studentArenaPodiumV44 article u,
.v44-ui .studentArenaRaceV44 article>span,
.v44-ui .studentArenaRaceV44 article strong,
.v44-ui .studentArenaRaceV44 article b,
.v44-ui .studentArenaRaceV44 article em,
.v44-ui .studentArenaCoreV44 small,
.v44-ui .studentArenaTableV44 td em{font-size:10px}
.v44-ui .arenaFairnessV44 strong,
.v44-ui .studentArenaFairV44 strong,
.v44-ui .studentArenaPodiumV44 article strong,
.v44-ui .studentArenaCoreV44 strong{font-size:11.5px}
.v44-ui .roadmapScopeNodeV44 strong{font-size:11.5px}
@media(max-width:640px){.v44-ui .roadmapKpisV44 article small,.v44-ui .studentArenaPersonalV44 small,.v44-ui .studentArenaPulseV44 small{font-size:10px}}

/* V44 Hotfix 3: student-file curriculum policy */
.roadmapLockedHintV44{display:inline-flex;margin-inline-start:7px;padding:3px 7px;border-radius:999px;background:#ecfdf3;border:1px solid #abefc6;color:#067647;font-size:9px;font-weight:900;vertical-align:middle}
.roadmapSelectGridV44 select:disabled{opacity:.82;cursor:not-allowed;background:#f8fafc;color:#344054}

/* V44 Hotfix 5 — student roadmap expected-vs-actual clarity */
.studentRoadmapCompareV44{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.studentRoadmapCompareV44 article{display:grid;gap:3px;padding:11px 12px;border:1px solid #e0e6f3;border-radius:15px;background:#fff}.studentRoadmapCompareV44 article>span{font-size:8px;font-weight:900;color:#6d7890}.studentRoadmapCompareV44 article>strong{font-size:17px;line-height:1.2;color:#17213a}.studentRoadmapCompareV44 article>small{font-size:7.5px;color:#7c8799}.studentRoadmapCompareV44 article.expected{background:#f8f9ff;border-color:#dfe4fb}.studentRoadmapCompareV44 article.actual{background:#f3fbf8;border-color:#d4eee5}.studentRoadmapCompareV44 article.delta.ahead{background:#effaf5;border-color:#cbeadb}.studentRoadmapCompareV44 article.delta.ahead>strong{color:#08795d}.studentRoadmapCompareV44 article.delta.behind{background:#fff7f7;border-color:#f2d2d2}.studentRoadmapCompareV44 article.delta.behind>strong{color:#b23b3b}.studentRoadmapCompareV44 article.delta.ontrack{background:#fffaf0;border-color:#efe0bd}.studentRoadmapCompareV44 article.delta.ontrack>strong{color:#936616}.studentRoadmapMetaV44{display:flex;gap:7px;flex-wrap:wrap}.studentRoadmapMetaV44>span{padding:5px 8px;border-radius:999px;background:#f7f9fc;border:1px solid #e4e9f2;font-size:7.5px;color:#69758a}.studentRoadmapMetaV44 b{color:#263650}.studentRoadmapItemPaceV44{display:grid;gap:2px;align-content:center;text-align:left;white-space:nowrap}.studentRoadmapItemPaceV44 small{font-size:7px;color:#7c8798}.studentRoadmapItemPaceV44 b{font-size:9px;color:#253653}.studentRoadmapRailsV44>div:first-child u{background:linear-gradient(90deg,#7c86de,#5664d8)}.studentRoadmapRailsV44>div:last-child u{background:linear-gradient(90deg,#0fa78e,#4f46e5)}
@media(max-width:640px){.studentRoadmapCompareV44{grid-template-columns:1fr 1fr}.studentRoadmapCompareV44 article.delta{grid-column:1/-1}.studentRoadmapItemPaceV44{text-align:right}}


/* V44 Hotfix 6 — persistent multi-grade roadmap selection */
.roadmapMultiGradeV44{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 16px;padding:13px 14px;border:1px solid rgba(79,70,229,.16);background:linear-gradient(135deg,rgba(238,242,255,.88),rgba(240,253,250,.76));border-radius:18px}
.roadmapMultiGradeV44>div:first-child{display:grid;gap:3px}.roadmapMultiGradeV44 strong{font-size:13px;color:#1e293b}.roadmapMultiGradeV44 span{font-size:11.5px;color:#64748b;line-height:1.8}.roadmapGradeTabsV44{display:flex;gap:7px;flex-wrap:wrap}.roadmapGradeTabsV44 button{min-width:64px;min-height:38px;border:1px solid #d9e2fb;background:#fff;color:#475569;border-radius:12px;font:inherit;font-weight:850;cursor:pointer;transition:.16s ease}.roadmapGradeTabsV44 button:hover{border-color:#b8c7f8;transform:translateY(-1px)}.roadmapGradeTabsV44 button.active{background:linear-gradient(135deg,#4f46e5,#06b6d4);border-color:transparent;color:#fff;box-shadow:0 8px 18px rgba(79,70,229,.16)}
.roadmapCheckRowV44.selected{border-color:rgba(79,70,229,.28)!important;background:linear-gradient(135deg,rgba(238,242,255,.88),rgba(255,255,255,.98))!important;box-shadow:0 6px 18px rgba(79,70,229,.07)}
.gradeScopeProfessionalHint strong{color:#4338ca}
@media(max-width:760px){.roadmapMultiGradeV44{align-items:stretch;flex-direction:column}.roadmapGradeTabsV44{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.roadmapGradeTabsV44 button{width:100%;min-width:0}}

/* V44 Hotfix 7 — reference-led node competition room (light, premium, low-overhead) */
.competitionRefHeaderV44{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 2px 14px;border-bottom:1px solid #edf1f7}.competitionRefTitleV44>span{display:block;font-size:9px;letter-spacing:.13em;color:#6576da;font-weight:900}.competitionRefTitleV44 h2{margin:5px 0 2px;font-size:30px;line-height:1.35;color:#111c3e}.competitionRefTitleV44 p{margin:0;color:#758198;font-size:10px}.competitionRefPeriodsV44{display:flex;gap:5px;padding:5px;border:1px solid #e0e6f2;border-radius:14px;background:#fff}.competitionRefPeriodsV44 a{padding:7px 11px;border-radius:10px;color:#69768c;font-size:9px;font-weight:850;white-space:nowrap}.competitionRefPeriodsV44 a.active{background:#101f4c;color:#fff;box-shadow:0 7px 16px rgba(16,31,76,.16)}
.competitionRefToolbarV44{display:flex;justify-content:space-between;align-items:center;gap:12px}.competitionRefRoomsV44{display:flex;gap:6px;overflow:auto}.competitionRefRoomsV44 a{display:grid;gap:1px;min-width:max-content;padding:7px 10px;border:1px solid #e1e7f2;border-radius:11px;background:#fff;color:#5f6e88}.competitionRefRoomsV44 a.active{border-color:#b9c7ff;background:#f4f6ff;color:#263eb2}.competitionRefRoomsV44 b{font-size:9px}.competitionRefRoomsV44 small{font-size:7px;color:#8993a4}.competitionRefAdminToggleV44{position:relative}.competitionRefAdminToggleV44>summary{list-style:none;cursor:pointer;padding:8px 11px;border:1px solid #dfe6f3;border-radius:11px;background:#fff;color:#52617b;font-size:9px;font-weight:900}.competitionRefAdminToggleV44>summary::-webkit-details-marker{display:none}.competitionRefAdminToggleV44[open]>div{position:absolute;left:0;top:calc(100% + 6px);z-index:30;display:flex;gap:5px;padding:8px;border:1px solid #e0e6f1;border-radius:13px;background:#fff;box-shadow:0 14px 32px rgba(38,53,83,.12)}.competitionRefAdminToggleV44 form{display:inline-flex}
.competitionRefShellV44{display:grid;grid-template-columns:238px minmax(0,1fr) 286px;gap:12px;align-items:start}.competitionRefLeftV44,.competitionRefRightV44,.competitionRefCenterV44{display:grid;gap:12px;min-width:0}.competitionRefPulseCardV44,.competitionRefGrowthCardV44,.competitionRefAboutV44,.competitionRefMapCardV44,.competitionRefTop10V44,.competitionRefAwardsV44,.competitionRefRankPathV44{border:1px solid #e1e7f1;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(37,52,86,.055)}
.competitionRefPulseCardV44{padding:15px}.competitionRefPulseCardV44>header,.competitionRefTop10V44>header,.competitionRefAwardsV44>header,.competitionRefMapHeadV44{display:flex;align-items:center;justify-content:space-between;gap:9px}.competitionRefPulseCardV44>header>div{display:grid}.competitionRefPulseCardV44>header span,.competitionRefTop10V44>header span,.competitionRefAwardsV44>header span,.competitionRefMapHeadV44 span{font-size:8px;color:#6877d0;font-weight:900}.competitionRefPulseCardV44>header strong,.competitionRefTop10V44>header strong,.competitionRefMapHeadV44 strong{font-size:12px;color:#1d2948}.competitionRefPulseCardV44>header i{font-style:normal;padding:4px 7px;border-radius:999px;background:#eaf9f3;color:#08775b;font-size:7px;font-weight:900}.competitionRefPulseCardV44>header i.off{background:#f1f3f6;color:#6e7889}.competitionRefPulseStatsV44{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:12px}.competitionRefPulseStatsV44 article{padding:10px;border:1px solid #edf0f6;border-radius:13px;background:#fbfcff}.competitionRefPulseStatsV44 span{display:block;font-size:7px;color:#7a8699}.competitionRefPulseStatsV44 strong{display:block;margin:4px 0 1px;font-size:17px;color:#172342}.competitionRefPulseStatsV44 small{font-size:6.5px;color:#9aa3b0}.competitionRefRoomBarsV44{display:grid;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid #eef1f6}.competitionRefRoomBarsV44>div{display:grid;grid-template-columns:70px 1fr 28px;gap:6px;align-items:center}.competitionRefRoomBarsV44 span,.competitionRefRoomBarsV44 b{font-size:7px;color:#68758c}.competitionRefRoomBarsV44 i{height:5px;background:#eef1f7;border-radius:999px;overflow:hidden}.competitionRefRoomBarsV44 u{display:block;height:100%;background:linear-gradient(90deg,#22c7b1,#5066ef);text-decoration:none}
.competitionRefGrowthCardV44{position:relative;overflow:hidden;padding:16px;color:#fff;background:linear-gradient(145deg,#0caea8,#128b9f 58%,#176885);border-color:transparent}.competitionRefGrowthCardV44:after{content:"";position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.14);border-radius:50%;left:-35px;bottom:-45px}.competitionRefGrowthIconV44{position:absolute;left:13px;top:12px;font-size:24px;color:#bafff2}.competitionRefGrowthCardV44>span{font-size:8px;color:#d3fff6;font-weight:900}.competitionRefGrowthCardV44>strong{display:block;margin:12px 0 2px;font-size:14px}.competitionRefGrowthCardV44>small{display:block;font-size:7px;color:#c9f5f0}.competitionRefGrowthCardV44>b{display:block;margin:8px 0 3px;font-size:27px;color:#d9fff6}.competitionRefGrowthCardV44 p{margin:0;font-size:7.5px;line-height:1.8;color:#e3fffb}.competitionRefAboutV44{padding:14px}.competitionRefAboutV44 header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.competitionRefAboutV44 header span{font-size:9px;font-weight:900;color:#5265d7}.competitionRefAboutV44 header b{display:grid;place-items:center;width:19px;height:19px;border:1px solid #cbd5ff;border-radius:50%;font-size:8px;color:#4e64db}.competitionRefAboutV44 p{margin:0;font-size:8px;line-height:1.95;color:#69758a}.competitionRefAboutV44 p strong{color:#283fbd}.competitionRefMyJumpV44{margin-top:10px;padding:10px;border-radius:13px;background:#f3f6ff;border:1px solid #e0e6ff}.competitionRefMyJumpV44 span,.competitionRefMyJumpV44 small{font-size:7px;color:#748099}.competitionRefMyJumpV44 strong{display:block;margin:3px 0;font-size:13px;color:#263db8}
.competitionRefMapCardV44{overflow:hidden}.competitionRefMapHeadV44{padding:12px 14px;border-bottom:1px solid #edf1f7}.competitionRefMapHeadV44>div:first-child{display:grid;gap:2px}.competitionRefMapHeadV44>div:last-child{display:flex;align-items:center;gap:5px}.competitionRefMapHeadV44>div:last-child i{width:7px;height:7px;border-radius:50%;background:#1ec7a6;box-shadow:0 0 0 4px rgba(30,199,166,.1)}.competitionRefMapHeadV44>div:last-child span{color:#68768e}.competitionRefMePillV44{display:flex!important;gap:6px!important;padding:5px 8px;border:1px solid #dfe5fb;border-radius:999px;background:#f7f8ff}.competitionRefMePillV44 strong{font-size:8px!important}.competitionRefMePillV44 b{font-size:8px;color:#4f46e5}.competitionRefMapV44{position:relative;height:640px;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(85,105,242,.075),transparent 33%),linear-gradient(180deg,#fff,#fbfdff)}.competitionRefLinksV44{position:absolute;inset:0;width:100%;height:100%;z-index:0}.competitionRefLinksV44 circle{fill:none;stroke:#dfe7f5;stroke-width:.28;stroke-dasharray:1.2 1.6}.competitionRefLinksV44 line{stroke:#bfcdf2;stroke-width:.26;opacity:.78}.competitionRefCoreV44{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;gap:2px;text-align:center;color:#fff;background:radial-gradient(circle at 35% 25%,#7279ff,#4e4de1 50%,#26339d 100%);border:7px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px #c7d3ff,0 0 42px rgba(70,78,226,.28);z-index:2}.competitionRefCoreV44:before,.competitionRefCoreV44:after{content:"";position:absolute;border:1px solid rgba(92,110,235,.18);border-radius:50%;inset:-28px}.competitionRefCoreV44:after{inset:-54px;border-style:dashed}.competitionRefCoreV44 span{font-size:10px;font-weight:900}.competitionRefCoreV44 strong{font-size:28px;line-height:1}.competitionRefCoreV44 small{font-size:7px;color:#dce3ff}.competitionRefNodeV44{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:126px;min-height:108px;padding:9px 9px 8px;border:1px solid #dfe6f2;border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 9px 24px rgba(44,58,92,.09);z-index:4;text-align:center}.competitionRefNodeV44.leader{border-color:#efd27b;box-shadow:0 10px 26px rgba(203,155,33,.12)}.competitionRefNodeV44.growth{border-color:#85ddd0;box-shadow:0 10px 26px rgba(14,155,127,.12)}.competitionRefNodeV44.me{border-color:#7a82ee;box-shadow:0 0 0 4px rgba(79,70,229,.1),0 10px 26px rgba(79,70,229,.11)}.competitionRefNodeTopV44{position:absolute;left:7px;right:7px;top:7px;display:flex;justify-content:space-between;align-items:center}.competitionRefNodeTopV44 em{font-style:normal;display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:999px;background:#eef2ff;color:#4d5ed6;font-size:7px;font-weight:900}.competitionRefNodeTopV44 b{font-size:7px}.competitionRefNodeTopV44 b.up{color:#04956f}.competitionRefNodeTopV44 b.down{color:#dc544f}.competitionRefNodeTopV44 b.steady{color:#98a1af}.competitionRefAvatarV44{width:36px;height:36px;margin:2px auto 4px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ebf1ff,#dce5ff);border:3px solid #fff;box-shadow:0 0 0 2px #d9e1fb;color:#3f51c9;font-weight:900}.competitionRefNodeV44.leader .competitionRefAvatarV44{background:linear-gradient(145deg,#fff8de,#fce9ae);box-shadow:0 0 0 2px #edd176;color:#a77500}.competitionRefNodeV44.growth .competitionRefAvatarV44{background:linear-gradient(145deg,#e6fbf6,#c8f0e7);box-shadow:0 0 0 2px #83d9c8;color:#07826b}.competitionRefNodeV44>strong{display:block;max-width:108px;margin:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#1e2945}.competitionRefNodeV44>small{display:block;margin-top:1px;font-size:6.5px;color:#8993a5}.competitionRefNodeMetricsV44{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:6px;padding-top:5px;border-top:1px solid #eff2f7}.competitionRefNodeMetricsV44 span{font-size:6px;color:#929baa}.competitionRefNodeMetricsV44 b{display:block;margin-top:1px;font-size:7px;color:#32405d}.competitionRefGrowthBadgeV44{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);min-width:max-content;padding:3px 7px;border-radius:999px;background:#0d9b7f;color:#fff;font-size:6px;font-style:normal;font-weight:900;box-shadow:0 5px 12px rgba(13,155,127,.18)}.competitionRefFloatCardV44{position:absolute;z-index:6;width:148px;padding:11px;border-radius:14px;background:#122143;color:#fff;box-shadow:0 14px 28px rgba(17,31,65,.2)}.competitionRefFloatCardV44.leader{left:4%;top:24%}.competitionRefFloatCardV44.growth{right:4%;bottom:19%}.competitionRefFloatCardV44>span{font-size:6.5px;color:#83f2df}.competitionRefFloatCardV44>strong{display:block;margin-top:3px;font-size:10px}.competitionRefFloatCardV44>small{font-size:6.5px;color:#aebad3}.competitionRefFloatCardV44>div{display:flex;justify-content:space-between;gap:6px;margin-top:7px;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}.competitionRefFloatCardV44 b{font-size:6.5px;color:#dce5ff}.competitionRefMapLegendV44{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;padding:9px 12px;border-top:1px solid #edf1f7;background:#fbfcff}.competitionRefMapLegendV44 span{font-size:7px;color:#78849a}.competitionRefMapLegendV44 i{display:inline-block;width:7px;height:7px;margin-left:4px;border-radius:50%;background:#9aa5b8}.competitionRefMapLegendV44 i.leader{background:#e3b644}.competitionRefMapLegendV44 i.growth{background:#12b499}.competitionRefMapLegendV44 i.rising{background:#5368e9}.competitionRefMapLegendV44 i.me{background:#17286d}
.competitionRefRankPathV44{padding:13px 15px}.competitionRefRankPathV44>header{margin-bottom:8px}.competitionRefRankPathV44 h3{font-size:13px}.competitionRefRankPathV44 p{font-size:8px}.competitionRefTightnessV44{display:grid;justify-items:end}.competitionRefTightnessV44 span{font-size:7px!important;color:#8791a2!important}.competitionRefTightnessV44 strong{font-size:18px;color:#4052d4}.competitionRefRankLineV44{display:grid;grid-template-columns:repeat(10,1fr);align-items:center;padding:6px 4px 1px}.competitionRefRankLineV44 article{display:grid;justify-items:center;gap:2px;position:relative}.competitionRefRankLineV44 article:before{content:"";position:absolute;left:-50%;right:50%;top:20px;height:2px;background:#dfe5f3}.competitionRefRankLineV44 article:first-child:before{display:none}.competitionRefRankLineV44 b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#f1f4fa;color:#607089;font-size:7px;z-index:1}.competitionRefRankLineV44 article.leader b{background:#f3c54f;color:#fff}.competitionRefRankLineV44 article.growth b{box-shadow:0 0 0 3px rgba(17,180,153,.14);border:1px solid #15a88e}.competitionRefRankLineV44 article.me b{background:#26398e;color:#fff}.competitionRefRankLineV44 i{width:4px;height:4px;border-radius:50%;background:#8290b3}.competitionRefRankLineV44 strong{font-size:6.5px;color:#47546f}.competitionRefRankLineV44 small{font-size:6px;color:#9aa2ae}
.competitionRefTop10V44{overflow:hidden}.competitionRefTop10V44>header{padding:13px 14px 8px}.competitionRefTop10V44>header>div{display:flex;align-items:center;gap:5px}.competitionRefTop10V44>header>small{font-size:7px;color:#8993a5}.competitionRefPodiumV44{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:5px;align-items:end;padding:8px 10px 12px}.competitionRefPodiumV44 article{position:relative;display:grid;justify-items:center;gap:2px;padding:10px 5px 8px;border-radius:14px;background:#f6f8ff;border:1px solid #e4e9f6}.competitionRefPodiumV44 article.rank1{min-height:130px;padding-top:15px;background:linear-gradient(180deg,#fff8dd,#fff);border-color:#f0d48b}.competitionRefPodiumV44 article.rank2{min-height:113px;background:linear-gradient(180deg,#eef4ff,#fff);border-color:#cbd9ff}.competitionRefPodiumV44 article.rank3{min-height:105px;background:linear-gradient(180deg,#f4efff,#fff);border-color:#dcc9ff}.competitionRefPodiumAvatarV44{width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#fff;border:3px solid #dce5fb;color:#4252c5;font-weight:900}.competitionRefPodiumV44 article.rank1 .competitionRefPodiumAvatarV44{border-color:#efc850}.competitionRefPodiumV44 article.rank3 .competitionRefPodiumAvatarV44{border-color:#b08ee9}.competitionRefPodiumV44 article>b{display:grid;place-items:center;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:#5571e9;color:#fff;font-size:7px}.competitionRefPodiumV44 article.rank1>b{background:#e5a91c}.competitionRefPodiumV44 article.rank3>b{background:#8859dc}.competitionRefPodiumV44 strong{font-size:7.5px}.competitionRefPodiumV44 small{font-size:6px;color:#8c96a7;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.competitionRefPodiumV44 em{font-style:normal;font-size:8px;font-weight:900;color:#4b5fd1}.competitionRefTop10RowsV44{display:grid;border-top:1px solid #edf1f6}.competitionRefTop10RowsV44>a,.competitionRefTop10RowsV44>div{display:grid;grid-template-columns:22px 1fr 38px 28px;gap:6px;align-items:center;padding:7px 10px;border-bottom:1px solid #eff2f6;color:#28364f}.competitionRefTop10RowsV44>a:hover{background:#f7f9ff}.competitionRefTop10RowsV44 .me{background:#f2f5ff}.competitionRefTop10RowsV44 b{font-size:7px;color:#637089}.competitionRefTop10RowsV44 span{font-size:7.5px;font-weight:850}.competitionRefTop10RowsV44 span small{display:block;font-size:6px;color:#98a1af;font-weight:600}.competitionRefTop10RowsV44 strong{font-size:7.5px;text-align:left}.competitionRefTop10RowsV44 em{font-style:normal;font-size:6.5px;text-align:left;color:#9099a7}.competitionRefTop10RowsV44 em.up{color:#06946f}.competitionRefTop10RowsV44 em.down{color:#d1514d}.competitionRefAwardsV44{padding:13px}.competitionRefAwardsV44>header{margin-bottom:8px}.competitionRefAwardsV44>header b{color:#5367dd}.competitionRefAwardsV44>div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.competitionRefAwardsV44 article{display:grid;grid-template-columns:auto 1fr;gap:2px 5px;padding:9px;border:1px solid #e8ecf4;border-radius:12px;background:#fbfcff}.competitionRefAwardsV44 i{grid-row:1/4;font-style:normal;font-size:18px;color:#18a991}.competitionRefAwardsV44 article:nth-child(2) i{color:#7d56e7}.competitionRefAwardsV44 article:nth-child(3) i{color:#16a477}.competitionRefAwardsV44 article:nth-child(4) i{color:#6b5bea}.competitionRefAwardsV44 span{font-size:6.5px;color:#8993a4}.competitionRefAwardsV44 strong{font-size:7px}.competitionRefAwardsV44 small{font-size:7px;color:#0f9a76}.competitionRefMemberAdminV44{border-radius:18px!important}.competitionRefMemberAdminV44>summary{cursor:pointer;font-size:9px;font-weight:900;color:#4053c5}.competitionRefMemberAdminV44>div{margin-top:12px}
@media(max-width:1250px){.competitionRefShellV44{grid-template-columns:220px minmax(0,1fr)}.competitionRefRightV44{grid-column:1/-1;grid-template-columns:1.1fr .9fr}.competitionRefMapV44{height:620px}.competitionRefTop10V44,.competitionRefAwardsV44{min-width:0}}
@media(max-width:900px){.competitionRefHeaderV44{align-items:stretch;flex-direction:column}.competitionRefPeriodsV44{overflow:auto}.competitionRefShellV44{grid-template-columns:1fr}.competitionRefLeftV44{grid-template-columns:1fr 1fr}.competitionRefAboutV44{grid-column:1/-1}.competitionRefRightV44{grid-template-columns:1fr}.competitionRefMapV44{height:600px}.competitionRefNodeV44{width:112px;min-height:102px}.competitionRefFloatCardV44{display:none}.competitionRefRankLineV44{overflow:auto;display:flex}.competitionRefRankLineV44 article{min-width:58px}.competitionRefRankLineV44 article:before{display:none}}
@media(max-width:640px){.competitionRefTitleV44 h2{font-size:23px}.competitionRefToolbarV44{align-items:stretch;flex-direction:column}.competitionRefAdminToggleV44>summary{width:max-content}.competitionRefAdminToggleV44[open]>div{position:static;margin-top:5px;flex-wrap:wrap}.competitionRefLeftV44{grid-template-columns:1fr}.competitionRefAboutV44{grid-column:auto}.competitionRefPulseStatsV44{grid-template-columns:1fr 1fr}.competitionRefMapV44{height:auto;min-height:0;padding:12px;display:grid;gap:8px;background:#fbfcff}.competitionRefLinksV44,.competitionRefCoreV44{display:none}.competitionRefNodeV44{position:relative;left:auto;top:auto;transform:none;width:100%;min-height:auto;display:grid;grid-template-columns:32px 38px 1fr;align-items:center;text-align:right;padding:8px}.competitionRefNodeTopV44{position:static;grid-column:1}.competitionRefAvatarV44{grid-column:2;grid-row:1/3;margin:0}.competitionRefNodeV44>strong,.competitionRefNodeV44>small{grid-column:3;max-width:none;margin:0}.competitionRefNodeMetricsV44{grid-column:1/-1;margin-top:4px}.competitionRefGrowthBadgeV44{left:auto;right:8px;bottom:8px;transform:none}.competitionRefMapLegendV44{justify-content:flex-start}.competitionRefPodiumV44{gap:4px}.competitionRefAwardsV44>div{grid-template-columns:1fr}.competitionRefRankPathV44>header{align-items:stretch}.competitionRefTightnessV44{justify-items:start}.competitionRefTop10RowsV44>a,.competitionRefTop10RowsV44>div{grid-template-columns:22px 1fr 36px 24px}}
.studentArenaRoomTabsV44{display:flex;gap:6px;overflow:auto;padding:2px 0}.studentArenaRoomTabsV44 a{min-width:max-content;padding:7px 10px;border:1px solid #e1e7f2;border-radius:11px;background:#fff;color:#66758d;font-size:8px;font-weight:850}.studentArenaRoomTabsV44 a.active{background:#f2f4ff;border-color:#b9c6ff;color:#3147bf}.studentArenaFairV44{padding:12px 14px;border:1px solid #e1e7f2;border-radius:16px;background:#fbfcff;text-align:center}.studentArenaFairV44 strong{display:block;font-size:9px;color:#24355a}.studentArenaFairV44 p{margin:4px 0 0;font-size:7.5px;line-height:1.8;color:#748096}.arenaEmptyStudentV44{display:grid;place-items:center;gap:8px;padding:42px 20px;border:1px dashed #dbe3f2;border-radius:20px;background:#fff;text-align:center}.arenaEmptyStudentV44 h2{margin:0;font-size:18px}.arenaEmptyStudentV44 p{margin:0;max-width:560px;color:#748096;font-size:9px;line-height:1.9}.arenaCreateV44{border-radius:20px!important}
/* V47 complete curriculum coverage note */
.bookVerifiedNote{margin:10px 0 2px;padding:10px 12px;border:1px solid #cfe8dc;background:#f3fbf7;border-radius:14px;display:grid;gap:4px;color:#245b45}.bookVerifiedNote b{font-size:12px;font-weight:900}.bookVerifiedNote span{font-size:11px;line-height:1.9;color:#4b6b5d}

/* ===== V49 SOURCE MERGE: mobile visual refinement ===== */
/* Advisor Student V49 — visual navigation refinement, mobile-first, Android-ready */
:root{
  --v49-primary:#4f46e5;--v49-primary-2:#2563eb;--v49-cyan:#0891b2;
  --v49-ink:#172033;--v49-muted:#667085;--v49-line:#e5eaf2;--v49-soft:#f7f9fd;
  --v49-radius:18px;--v49-shadow:0 16px 40px rgba(25,38,72,.08);
}
body.v49-ui{background:radial-gradient(circle at 10% 0,rgba(79,70,229,.055),transparent 28%),radial-gradient(circle at 95% 8%,rgba(8,145,178,.045),transparent 25%),#f6f8fc;color:var(--v49-ink)}
body.v49-ui .app-shell{grid-template-columns:306px minmax(0,1fr);gap:16px;padding:16px;max-width:1900px}
body.v49-ui .side{top:16px;height:calc(100vh - 32px);border-radius:24px;border:1px solid rgba(223,229,240,.95);box-shadow:0 18px 44px rgba(24,36,68,.075);background:rgba(255,255,255,.98)}
body.v49-ui .main{border-radius:24px;border-color:#e3e8f1;box-shadow:0 14px 34px rgba(24,36,68,.055)}
body.v49-ui .sideTop{min-height:76px;padding:14px 15px;background:linear-gradient(180deg,#fff,#fbfcff);border-bottom:1px solid #edf0f6}
body.v49-ui .brand .logo{width:44px;height:44px;border-radius:15px;background:linear-gradient(145deg,#4338ca,#2563eb 58%,#0891b2);box-shadow:0 10px 22px rgba(79,70,229,.19)}
body.v49-ui .brandText b{font-size:14px;letter-spacing:-.25px}body.v49-ui .brandText span{font-size:10px}
body.v49-ui .sideBody{padding:12px 11px 14px;gap:11px;background:linear-gradient(180deg,#fff 0,#fcfdff 100%)}
body.v49-ui .profileBoxV25{grid-template-columns:44px minmax(0,1fr) auto;padding:11px;border-radius:17px;background:linear-gradient(145deg,#f8faff,#f2f6ff);border:1px solid #e1e7f2}
body.v49-ui .profileAvatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#eef2ff,#e5f5ff);color:#4338ca;border:1px solid #dce4fb}
body.v49-ui .profileIdentity strong{font-size:12.5px}body.v49-ui .profileIdentity span{font-size:9.5px}
body.v49-ui .profileBoxV25 em{background:#fff;color:#4f46e5;border-color:#dfe5f8;border-radius:10px;padding:5px 7px}
body.v49-ui .sidebarNavigation{display:grid;gap:7px}
body.v49-ui .sidebarNavigationHeadV49{display:flex;align-items:end;justify-content:space-between;padding:0 7px 4px;color:#7a869a}
body.v49-ui .sidebarNavigationHeadV49 span{font-size:10px;font-weight:950;color:#4c5870}body.v49-ui .sidebarNavigationHeadV49 small{font-size:8px;color:#9aa4b5}
body.v49-ui .navGroupV49{display:grid;gap:3px;padding:4px;border:1px solid transparent;border-radius:16px;transition:.18s ease}
body.v49-ui .navGroupV49:has(.navBtn.active){background:linear-gradient(135deg,rgba(79,70,229,.035),rgba(8,145,178,.018));border-color:#edf0f8}
body.v49-ui .navGroupTitleV49{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:32px;padding:5px 8px;border:0;background:transparent;color:#8792a5;cursor:pointer;font:inherit}
body.v49-ui .navGroupTitleV49 span{display:flex;align-items:center;gap:7px;font-size:9.5px;font-weight:950;letter-spacing:.1px}
body.v49-ui .navGroupTitleV49 span:before{content:"";width:6px;height:6px;border-radius:99px;background:linear-gradient(135deg,var(--v49-primary),var(--v49-cyan));box-shadow:0 0 0 4px rgba(79,70,229,.065)}
body.v49-ui .navGroupTitleV49 i{font-size:13px;font-style:normal;transition:transform .18s ease;color:#a4adbb}
body.v49-ui .navGroupChevronV49{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
body.v49-ui .navGroupItemsV49{display:grid;gap:3px;overflow:hidden;max-height:900px;opacity:1;transition:max-height .22s ease,opacity .16s ease}
body.v49-ui .navGroupV49.is-collapsed .navGroupItemsV49{max-height:0;opacity:.25;pointer-events:none}
body.v49-ui .navGroupV49.is-collapsed .navGroupTitleV49 i{transform:rotate(90deg)}
body.v49-ui .navBtnV49{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:52px;padding:7px 9px;border-radius:14px;border:1px solid transparent;background:transparent;color:#344054;overflow:visible;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}
body.v49-ui .navBtnV49>span{display:flex;align-items:center;gap:9px;min-width:0;font-size:11.5px;line-height:1.2}
body.v49-ui .navBtnV49>span>b{font:inherit;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v49-ui .navBtnV49 small{margin:2px 43px 0 0;font-size:8.8px;line-height:1.35;color:#8b95a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.v49-ui .navVisualV49{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:11px;background:#f5f7fb;border:1px solid #edf0f5;color:#64748b;font-style:normal;transition:.14s ease}
body.v49-ui .navIconV49{width:18px;height:18px;flex:0 0 18px;stroke-width:1.85}
body.v49-ui .navBtnV49:hover{background:#f8faff;border-color:#e8edf5;transform:translateX(-1px)}
body.v49-ui .navBtnV49:hover .navVisualV49{background:#fff;border-color:#dce3ef;color:#4f46e5}
body.v49-ui .navBtnV49.active{background:linear-gradient(90deg,#eef2ff,#f7faff 78%);border-color:#d9e2fb;color:#312e81;box-shadow:0 6px 16px rgba(79,70,229,.055)}
body.v49-ui .navBtnV49.active:before{content:"";position:absolute;right:-5px;top:12px;bottom:12px;width:3px;border-radius:99px;background:linear-gradient(#4f46e5,#0891b2)}
body.v49-ui .navBtnV49.active .navVisualV49{background:linear-gradient(145deg,#4f46e5,#2563eb);border-color:transparent;color:#fff;box-shadow:0 6px 14px rgba(79,70,229,.18)}
body.v49-ui .navBtnV49.active small{color:#6b74a0}
body.v49-ui .navUnreadBadgeV49{position:absolute;left:9px;top:10px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:99px;background:#e11d48;color:#fff;font-size:8px;box-shadow:0 4px 10px rgba(225,29,72,.2)}
body.v49-ui .navBtnDanger.navBtnV49{margin-top:0;background:#fff9f9;border-color:#f3dddd;color:#a33a3a}
body.v49-ui .navBtnDanger.navBtnV49 .navVisualV49{background:#fff1f1;border-color:#f5dada;color:#b42318}
body.v49-ui .sidebarDateCard{padding:11px 12px;border-radius:14px;background:#f8faff;border-color:#e5eaf4}
body.v49-ui .mainTop{min-height:74px;padding:13px 18px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #e8ecf3}
body.v49-ui .pageTitleWrap h1{font-size:20px}body.v49-ui .pageSubtitle{font-size:10px}
body.v49-ui .mainBody{padding:18px;gap:16px}
body.v49-ui .btn,body.v49-ui button,body.v49-ui a{-webkit-tap-highlight-color:transparent}
body.v49-ui .btn{border-radius:12px}
body.v49-ui input,body.v49-ui select,body.v49-ui textarea{border-radius:12px}

/* Mobile / Android-oriented shell */
@media(max-width:1180px){body.v49-ui .app-shell{grid-template-columns:274px minmax(0,1fr)}}
@media(max-width:900px){
  body.v49-ui{background:#f8faff;overscroll-behavior-y:none}
  body.v49-ui .app-shell{padding:0;display:block}
  body.v49-ui .main{min-height:100dvh;border:0;border-radius:0;box-shadow:none;background:#f8faff}
  body.v49-ui .mainBody{padding:12px 11px calc(102px + env(safe-area-inset-bottom));gap:12px}
  body.v49-ui .mobileAppHeader{height:62px;padding:0 11px;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-bottom:1px solid #e6ebf3;box-shadow:0 5px 20px rgba(27,39,72,.055)}
  body.v49-ui .mobileIconButton,body.v49-ui .mobileNotificationBell,body.v49-ui .mobileUserMini{width:43px;height:43px;min-width:43px;border-radius:14px}
  body.v49-ui .mobileHeaderIconV49{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
  body.v49-ui .mobileSmartBack .mobileHeaderIconV49{width:22px;height:22px}
  body.v49-ui .mobileBrandMini{gap:7px;font-weight:950;color:#25324a}.v49-ui .mobileBrandMini i{width:9px;height:9px;border-radius:99px;background:linear-gradient(135deg,#4f46e5,#0891b2);box-shadow:0 0 0 5px rgba(79,70,229,.08)}
  body.v49-ui .side{width:min(350px,91vw);height:100dvh;top:0;right:0;border:0;border-radius:24px 0 0 24px;box-shadow:-22px 0 50px rgba(16,24,40,.18);background:#fff;transform:translateX(104%);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
  body.v49-ui.drawer-open .side{transform:translateX(0)}
  body.v49-ui .sideTop{min-height:74px;padding-top:max(13px,env(safe-area-inset-top))}
  body.v49-ui .sideBody{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  body.v49-ui.drawer-open{overflow:hidden;touch-action:none}
  body.v49-ui .overlay{background:rgba(15,23,42,.34);backdrop-filter:blur(2px)}
  body.v49-ui .navBtnV49{min-height:54px}
  body.v49-ui .navGroupTitleV49{min-height:38px}
  body.v49-ui .mobileBottomNav{position:fixed;right:10px;left:10px;bottom:max(8px,env(safe-area-inset-bottom));height:72px;padding:6px 7px;border:1px solid rgba(216,224,236,.95);border-radius:22px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px);box-shadow:0 12px 34px rgba(23,34,68,.15);overflow:visible;z-index:70}
  body.v49-ui .mobileBottomNav a,body.v49-ui .mobileBottomNav button{position:relative;min-height:58px;min-width:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#778399;background:transparent;transition:.15s ease}
  body.v49-ui .mobileBottomNav a span,body.v49-ui .mobileBottomNav button span{width:34px;height:30px;display:grid;place-items:center;border-radius:12px;transition:.15s ease}
  body.v49-ui .mobileBottomNav a b,body.v49-ui .mobileBottomNav button b{font-size:8.5px;font-weight:900}
  body.v49-ui .mobileBottomNav a.active,body.v49-ui .mobileBottomNav a[aria-current="page"],body.v49-ui .mobileBottomNav button.active{color:#4338ca}
  body.v49-ui .mobileBottomNav a.active span,body.v49-ui .mobileBottomNav a[aria-current="page"] span,body.v49-ui .mobileBottomNav button.active span{background:linear-gradient(145deg,#eef2ff,#eaf6ff);box-shadow:inset 0 0 0 1px #dce5fb}
  body.v49-ui .mobileNavIconV43{width:20px;height:20px}
  body.v49-ui .notificationDrawer{width:min(390px,94vw);border-radius:24px 0 0 24px}
}
@media(max-width:520px){
  body.v49-ui .mobileBottomNav{right:7px;left:7px;bottom:max(6px,env(safe-area-inset-bottom));height:70px;border-radius:21px}
  body.v49-ui .mobileBottomNav a b,body.v49-ui .mobileBottomNav button b{font-size:8px}
  body.v49-ui .mainBody{padding-inline:9px}
  body.v49-ui .sidebarNavigationHeadV49 small{display:none}
}
@media(prefers-reduced-motion:reduce){body.v49-ui *,body.v49-ui *:before,body.v49-ui *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* === V50 FAMILY MANAGEMENT INTELLIGENCE START === */
/* V50 — unified management + family intelligence, mobile-first */
:root{--v50-ink:#182238;--v50-muted:#6d7890;--v50-line:#e3e9f3;--v50-soft:#f7f9fd;--v50-primary:#4f46e5;--v50-blue:#2563eb;--v50-teal:#0f9f8c;--v50-amber:#c77911;--v50-red:#c44747;--v50-radius:20px;--v50-shadow:0 14px 34px rgba(32,46,80,.07)}
body.v50-ui .eyebrowV50{display:block;margin-bottom:6px;color:var(--v50-primary);font-size:10px;font-weight:950;letter-spacing:.1px}
body.v50-ui .managementSubnavV50{display:flex;gap:7px;align-items:center;overflow:auto;padding:5px;border:1px solid var(--v50-line);border-radius:15px;background:#fff;scrollbar-width:none}
body.v50-ui .managementSubnavV50 a{flex:0 0 auto;min-height:38px;display:grid;place-items:center;padding:0 13px;border-radius:11px;color:#667085;font-size:10px;font-weight:900}
body.v50-ui .managementSubnavV50 a.active,body.v50-ui .managementSubnavV50 a:first-child:hover{background:#eef2ff;color:#3730a3}
body.v50-ui .managementHeroV50{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px;border:1px solid #e0e7f3;border-radius:24px;background:linear-gradient(135deg,#fff,#f6f8ff 62%,#effafa);box-shadow:var(--v50-shadow)}
body.v50-ui .managementHeroV50 h2{margin:0 0 7px;font-size:23px;letter-spacing:-.7px}body.v50-ui .managementHeroV50 p{margin:0;max-width:720px;color:var(--v50-muted);font-size:11px;line-height:1.9}
body.v50-ui .managementJumpV50{display:grid;grid-template-columns:repeat(2,132px);gap:8px}
body.v50-ui .managementJumpV50 a{min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px;border:1px solid #e1e7f2;border-radius:16px;background:rgba(255,255,255,.88);color:#364153;font-size:9.5px;font-weight:900}
body.v50-ui .managementJumpV50 svg{width:21px;height:21px;fill:none;stroke:var(--v50-primary);stroke-width:1.8}
body.v50-ui .managementMetricStripV50{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
body.v50-ui .managementMetricStripV50 article{padding:15px 16px;border:1px solid var(--v50-line);border-radius:17px;background:#fff}.managementMetricStripV50 span{display:block;color:var(--v50-muted);font-size:9px;font-weight:850}.managementMetricStripV50 strong{display:block;margin:4px 0 1px;font-size:22px;color:#27324a}.managementMetricStripV50 small{color:#8b94a7;font-size:8.5px}
body.v50-ui .managementDomainV50{scroll-margin-top:92px;border:1px solid var(--v50-line);border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(35,49,81,.045);overflow:hidden}
body.v50-ui .managementDomainV50>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #edf0f5;background:linear-gradient(180deg,#fff,#fcfdff)}
body.v50-ui .managementDomainV50>header>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center}.managementDomainV50>header>div>span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eef2ff;color:#4338ca;font-size:9px;font-weight:950}.managementDomainV50 h3{margin:0;font-size:14px}.managementDomainV50 header p{grid-column:2;margin:2px 0 0;color:var(--v50-muted);font-size:9px}
body.v50-ui .managementDomainBodyV50{display:grid;grid-template-columns:1.25fr .75fr;gap:13px;padding:15px}
body.v50-ui .managementActionListV50{display:grid;gap:7px}.managementActionListV50>a{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid #edf0f5;border-radius:13px;background:#fbfcff;color:#344054}.managementActionListV50>a>i{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#4338ca;font-style:normal;font-size:9px;font-weight:950}.managementActionListV50 strong{font-size:10px}.managementActionListV50 small{display:block;color:#8a94a7;font-size:8px}.managementActionListV50 em{font-style:normal;color:#4f46e5;font-size:8px;font-weight:900}
body.v50-ui .managementMicroGuideV50{padding:15px;border-radius:16px;background:linear-gradient(145deg,#f5f7ff,#f2fbfc);border:1px solid #e0e8f4}.managementMicroGuideV50 strong{font-size:11px}.managementMicroGuideV50 p{color:var(--v50-muted);font-size:9px;line-height:1.9}.managementMicroGuideV50 a{font-size:9px;font-weight:900;color:#4338ca}
body.v50-ui .managementTripleV50{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:12px;padding:14px}.managementColumnV50{min-width:0;padding:11px;border:1px solid #edf0f5;border-radius:16px;background:#fbfcff}.columnHeadV50{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.columnHeadV50 strong{font-size:10px}.columnHeadV50 span{min-width:22px;height:22px;display:grid;place-items:center;border-radius:99px;background:#eef2ff;color:#4338ca;font-size:8px;font-weight:950}
body.v50-ui .ticketCardV50,body.v50-ui .responsibilityCardV50{margin-bottom:8px;padding:10px;border:1px solid #e6ebf3;border-radius:13px;background:#fff}.ticketCardV50>div{display:flex;justify-content:space-between;gap:8px}.ticketCardV50>div b,.ticketCardV50>strong{font-size:9.5px}.ticketCardV50 small{color:#8a94a7;font-size:7.5px}.ticketCardV50 p{margin:5px 0;color:#667085;font-size:8.5px;line-height:1.65}.ticketCardV50 form{display:grid;grid-template-columns:1fr auto;gap:6px}.ticketCardV50 textarea{min-height:38px;padding:7px;font-size:8.5px}.responsibilityCardV50 b{display:block;font-size:9px}.responsibilityCardV50 span,.responsibilityCardV50 small{display:block;margin-top:3px;color:#7c879a;font-size:8px}
body.v50-ui .familyCompactV50{margin-bottom:7px;border:1px solid #e7ebf3;border-radius:13px;background:#fff;overflow:hidden}.familyCompactV50 summary{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:8px;cursor:pointer;list-style:none}.familyCompactV50 summary>i{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#eef2ff;color:#4338ca;font-style:normal;font-weight:950}.familyCompactV50 summary b{display:block;font-size:9px}.familyCompactV50 summary small{color:#8b95a6;font-size:8px}.familyCompactV50>div{display:grid;gap:8px;padding:9px;border-top:1px solid #eef1f6}.familyCompactV50 form{display:grid;gap:6px}.familyCompactV50 input,.familyCompactV50 textarea{font-size:8.5px;padding:7px}
body.v50-ui .financeSummaryV50{display:grid;grid-template-columns:180px 180px 1fr;gap:10px;padding:14px}.financeSummaryV50>article{padding:14px;border-radius:15px;background:#f5f8ff;border:1px solid #e5eaf4}.financeSummaryV50>article.warning{background:#fff8ed;border-color:#f3dfbd}.financeSummaryV50 span{display:block;color:#7c879a;font-size:8px}.financeSummaryV50 strong{display:block;margin:3px 0;font-size:18px}.recentLedgerV50{display:grid;gap:5px}.recentLedgerV50>div:not(.compactEmptyV50){display:grid;grid-template-columns:75px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #eef1f5;font-size:8.5px}.recentLedgerV50 em{font-style:normal;font-weight:900}
body.v50-ui .identityReviewGridV50{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.identityReviewGridV50>article{display:grid;grid-template-columns:42px 1fr;gap:9px;padding:11px;border:1px solid #e6ebf3;border-radius:15px;background:#fbfcff}.identityMiniAvatarV50{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#eaf0ff;color:#4338ca;font-weight:950}.identityReviewGridV50 strong{font-size:10px}.identityReviewGridV50 span,.identityReviewGridV50 small{display:block;color:#7b8598;font-size:8px}.identityReviewGridV50 form{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:6px}.identityReviewGridV50 input{padding:7px;font-size:8.5px}
body.v50-ui .compactEmptyV50{padding:16px;border:1px dashed #dfe5ef;border-radius:13px;color:#8490a3;background:#fafbfe;text-align:center;font-size:9px}
/* credential handoff */
body.v50-ui .credentialHandoffV50{display:grid;gap:12px;border-color:#cad7f7;background:linear-gradient(145deg,#f5f7ff,#f6fcfc)}.credentialHandoffHeadV50{display:flex;justify-content:space-between;gap:14px}.credentialHandoffHeadV50 span{font-size:9px;font-weight:950;color:#4338ca}.credentialHandoffHeadV50 h3{margin:3px 0}.credentialHandoffHeadV50 p{max-width:760px}.credentialExpiryV50{height:max-content;padding:6px 9px;border-radius:99px;background:#fff;border:1px solid #dce4f5;white-space:nowrap}.credentialHandoffActionsV50{display:flex;flex-wrap:wrap;gap:7px}.credentialHandoffActionsV50 form{margin:0}.identityFactV50{background:#f6f8ff!important;border:1px solid #e4e9f5;border-radius:10px;padding:7px!important}
/* identity */
body.v50-ui .identityHeroV50{display:grid;grid-template-columns:72px 1fr auto;gap:15px;align-items:center;padding:20px;border:1px solid var(--v50-line);border-radius:23px;background:linear-gradient(135deg,#fff,#f4f7ff);box-shadow:var(--v50-shadow)}.identityAvatarV50{width:72px;height:72px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#4f46e5,#2563eb);color:#fff;font-size:26px;font-weight:950}.identityHeroV50>div:nth-child(2)>span{font-size:9px;color:#4f46e5;font-weight:900}.identityHeroV50 h2{margin:2px 0;font-size:21px}.identityHeroV50 p{margin:0;color:#7a8598;font-size:10px}.identityProgressV50{width:96px;height:96px;display:grid;place-items:center;align-content:center;border-radius:50%;background:conic-gradient(#4f46e5 calc(var(--identity-progress)*1%),#e7ebf3 0);position:relative}.identityProgressV50:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.identityProgressV50>*{position:relative}.identityProgressV50 strong{font-size:18px}.identityProgressV50 span{font-size:7.5px;color:#667085}.identityAdvisorNoteV50{padding:12px 14px;border-radius:15px;border:1px solid #f0d8a9;background:#fff9ec}.identityAdvisorNoteV50 strong{font-size:9px}.identityAdvisorNoteV50 p{margin:3px 0 0;color:#725a2d;font-size:9px}.identityFormV50{padding:18px;border:1px solid var(--v50-line);border-radius:20px;background:#fff}.identityFieldsV50{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.identityFieldsV50 label{display:grid;gap:5px}.identityFieldsV50 label.full{grid-column:1/-1}.identityFieldsV50 span{font-size:9px;font-weight:850;color:#596579}.identityActionsV50{display:flex;align-items:center;gap:8px;margin-top:14px}.identityVerifiedV50{color:#08775c;font-size:9px;font-weight:900}.identityContextV50{display:flex;gap:8px;align-items:center;padding:11px 14px;border-radius:15px;background:#f8faff;border:1px solid #e6ebf4;font-size:9px}
/* parent portal */
body.v50-ui .familyProfileShortcutV50{display:flex;align-items:center;gap:7px;padding:4px 8px 4px 5px;border:1px solid #e0e6f0;border-radius:13px;background:#fff;color:#43516a}.familyProfileShortcutV50 i{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#eef2ff;color:#4338ca;font-style:normal;font-weight:950}.familyProfileShortcutV50 span{font-size:8px;font-weight:900}.familyStudentRailV50{display:flex;gap:7px;overflow:auto;scrollbar-width:none}.familyStudentRailV50>a{flex:0 0 auto;display:grid;grid-template-columns:36px auto;gap:8px;align-items:center;padding:7px 10px;border:1px solid #e5eaf3;border-radius:14px;background:#fff;color:#49566c}.familyStudentRailV50>a.active{border-color:#bdc9f6;background:#f3f5ff}.familyStudentRailV50 i{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f1f4f9;font-style:normal;font-weight:950}.familyStudentRailV50 strong{display:block;font-size:9.5px}.familyStudentRailV50 small{display:block;color:#8993a4;font-size:7.5px}.familySectionTabsV50{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:5px;border:1px solid #e3e8f2;border-radius:17px;background:#fff}.familySectionTabsV50 a{min-height:43px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:12px;color:#6f7b91;font-size:9px;font-weight:900}.familySectionTabsV50 a.active{background:linear-gradient(145deg,#eef2ff,#eef9fb);color:#3730a3}.familySectionTabsV50 svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
body.v50-ui .familyOverviewHeroV50,body.v50-ui .familyPerformanceHeroV50,body.v50-ui .familyReportsHeroV50,body.v50-ui .familyCommunicationHeroV50,body.v50-ui .familyFinanceHeroV50{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;padding:20px;border-radius:22px;border:1px solid #e2e7f2;background:linear-gradient(135deg,#fff,#f5f7ff 72%,#f0fbfb);box-shadow:0 10px 28px rgba(34,48,82,.05)}.familyOverviewHeroV50 h2,.familyPerformanceHeroV50 h2,.familyReportsHeroV50 h2,.familyCommunicationHeroV50 h2,.familyFinanceHeroV50 h2{margin:0 0 6px;font-size:20px}.familyOverviewHeroV50 p,.familyPerformanceHeroV50 p,.familyReportsHeroV50 p,.familyCommunicationHeroV50 p,.familyFinanceHeroV50 p{margin:0;color:#748096;font-size:10px;line-height:1.85}.familyHeroButtonsV50{display:flex;gap:7px;margin-top:12px}.familyWeeklyPulseV50{width:112px;height:112px;display:grid;align-content:center;text-align:center;border-radius:34px;background:#fff;border:1px solid #dfe6f2;box-shadow:0 10px 25px rgba(51,65,103,.07)}.familyWeeklyPulseV50 strong{font-size:30px;color:#3730a3}.familyWeeklyPulseV50 span,.familyWeeklyPulseV50 small{font-size:8px;color:#768197}
body.v50-ui .familyOverviewMetricsV50,body.v50-ui .familyDynamicMetricsV50{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.familyOverviewMetricsV50 article,.familyDynamicMetricsV50 article{padding:14px;border:1px solid #e4e9f3;border-radius:16px;background:#fff}.familyOverviewMetricsV50 span,.familyDynamicMetricsV50 span{display:block;color:#7e899c;font-size:8.5px}.familyOverviewMetricsV50 strong,.familyDynamicMetricsV50 strong{display:block;margin:3px 0;font-size:20px}.familyOverviewMetricsV50 small,.familyDynamicMetricsV50 small{font-size:8px;color:#8b94a5}.familyCompetitionBannerV50{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-radius:17px;background:linear-gradient(100deg,#302e81,#4338ca);color:#fff}.familyCompetitionBannerV50 span,.familyCompetitionBannerV50 small{display:block;font-size:8px;opacity:.82}.familyCompetitionBannerV50 strong{font-size:16px}.familyCompetitionBannerV50 a{color:#fff;font-size:9px;font-weight:900}.familyOverviewGridV50{display:grid;grid-template-columns:1.25fr .75fr;gap:11px}.familyActionBoardV50,.familySuggestionCardV50{padding:15px;border:1px solid #e3e8f2;border-radius:19px;background:#fff}.familyActionBoardV50 header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.familyActionBoardV50 header span,.familySuggestionCardV50>span{font-size:8px;color:#4f46e5;font-weight:900}.familyActionBoardV50 h3,.familySuggestionCardV50 h3{margin:2px 0;font-size:13px}.familyActionBoardV50 header>b{min-width:26px;height:26px;display:grid;place-items:center;border-radius:99px;background:#eef2ff;color:#4338ca;font-size:9px}.familyActionBoardV50>article{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #eef1f5}.familyActionBoardV50>article strong{font-size:9px}.familyActionBoardV50 p{margin:3px 0;color:#748096;font-size:8px}.familyActionBoardV50 small{font-size:7.5px;color:#9a7350}.familySuggestionCardV50{background:linear-gradient(145deg,#f6f5ff,#f0fbfa)}.familySuggestionCardV50>p{color:#5f6c82;font-size:9px;line-height:1.8}.familySuggestionCardV50>div{margin-top:10px;padding:10px;border-radius:13px;background:#fff}.familySuggestionCardV50>div small{display:block;color:#8a94a7;font-size:7.5px}.familySuggestionCardV50>div strong{display:block;margin-top:3px;font-size:9px}.familySuggestionCardV50>a{display:inline-block;margin-top:10px;color:#4338ca;font-size:9px;font-weight:900}
body.v50-ui .familyAccountStripV50{display:grid;grid-template-columns:1fr 1fr;gap:8px}.familyAccountStripV50>a,.studentIdentityMiniV50{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid #e4e9f3;border-radius:15px;background:#fff;color:#47536a}.familyAccountStripV50 i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eef2ff;color:#4338ca;font-style:normal;font-weight:950}.familyAccountStripV50 strong{display:block;font-size:9px}.familyAccountStripV50 span{display:block;color:#8993a5;font-size:8px}.familyAccountStripV50 em{font-style:normal}.familyPreferencesCompactV50{border:1px solid #e7ebf3;border-radius:15px;background:#fff}.familyPreferencesCompactV50 summary{padding:11px 13px;cursor:pointer;font-size:9px;font-weight:900}.familyPreferencesCompactV50 form{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:11px;border-top:1px solid #edf0f5}.familyPreferencesCompactV50 label{font-size:8.5px;color:#5c687d}
body.v50-ui .periodSwitchV50{display:flex;gap:5px;padding:5px;border-radius:14px;background:#f1f4fa}.periodSwitchV50 button{min-width:54px;min-height:37px;border:0;border-radius:10px;background:transparent;color:#6f7a8e;font:inherit;font-size:8.5px;font-weight:900;cursor:pointer}.periodSwitchV50 button.active{background:#fff;color:#3730a3;box-shadow:0 3px 12px rgba(42,55,87,.08)}.familyChartPairV50{display:grid;grid-template-columns:1fr 1fr;gap:10px}.subjectAnalyticsV50{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.subjectAnalyticsV50 article{padding:10px;border:1px solid #e8ecf3;border-radius:14px;background:#fbfcff}.subjectAnalyticsV50 header{display:flex;justify-content:space-between}.subjectAnalyticsV50 header strong{font-size:9px}.subjectAnalyticsV50 header span{font-size:8px;color:#6f7b90}.subjectAnalyticsV50 article>div{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:7px}.subjectAnalyticsV50 article>div>i{height:7px;border-radius:99px;background:#e8ecf3;overflow:hidden}.subjectAnalyticsV50 article>div>i>b{display:block;width:var(--value);height:100%;border-radius:99px;background:linear-gradient(90deg,#4f46e5,#0f9f8c)}.subjectAnalyticsV50 small,.subjectAnalyticsV50 footer{font-size:7.5px;color:#7a8699}.subjectAnalyticsV50 footer{display:flex;gap:9px;margin-top:7px}.familyCompetitionDetailV50{padding:15px;border:1px solid #e3e8f2;border-radius:19px;background:#fff}.competitionRankHeroV50{display:flex;align-items:end;gap:8px;padding:12px 0}.competitionRankHeroV50>strong{font-size:38px;color:#3730a3}.competitionRankHeroV50 span{font-size:10px}.competitionRankHeroV50 small{margin-right:auto;color:#7d889c;font-size:8px}.competitionPeriodGridV50{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.competitionPeriodGridV50 article{padding:10px;border-radius:13px;background:#f7f9fd;border:1px solid #e9edf4}.competitionPeriodGridV50 span,.competitionPeriodGridV50 small{display:block;font-size:8px;color:#7d889b}.competitionPeriodGridV50 strong{display:block;margin:2px 0;font-size:11px}
body.v50-ui .familyStructuredReportV50{display:grid;gap:14px;padding:18px;border:1px solid #e0e6f0;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(38,52,85,.045)}.familyStructuredReportV50>header{display:flex;justify-content:space-between;gap:12px}.familyStructuredReportV50>header span{color:#4f46e5;font-size:8px;font-weight:950}.familyStructuredReportV50>header h3{margin:3px 0;font-size:17px}.familyStructuredReportV50>header small{color:#8b94a6;font-size:8px}.reportSummaryV50{margin:0;padding:12px;border-radius:14px;background:#f7f9fd;color:#4f5d73;font-size:10px;line-height:1.9}.reportSignalGridV50{display:grid;grid-template-columns:1fr 1fr;gap:9px}.reportSignalGridV50 section{padding:12px;border-radius:15px}.reportSignalGridV50 section.positive{background:#effaf5;border:1px solid #d5efe4}.reportSignalGridV50 section.attention{background:#fff8ed;border:1px solid #f3e2bf}.reportSignalGridV50 h4{margin:0 0 7px;font-size:10px}.reportSignalGridV50 p{display:flex;gap:7px;margin:5px 0;font-size:8.8px;line-height:1.7}.reportSignalGridV50 i{font-style:normal;font-weight:950}.familyActionTilesV50 h4{margin:0 0 8px;font-size:10px}.familyActionTilesV50>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.familyActionTilesV50 article{padding:11px;border-radius:14px;background:#f7f8ff;border:1px solid #e6e9f7}.familyActionTilesV50 article>span{width:22px;height:22px;display:grid;place-items:center;border-radius:8px;background:#e8ebff;color:#4338ca;font-size:8px;font-weight:950}.familyActionTilesV50 strong{display:block;margin:6px 0 2px;font-size:9px}.familyActionTilesV50 p{margin:0;color:#667085;font-size:8px;line-height:1.7}.weeklySuggestionV50{padding:13px;border-radius:15px;background:linear-gradient(145deg,#f3f1ff,#edfafa)}.weeklySuggestionV50 span{font-size:8px;color:#4f46e5;font-weight:950}.weeklySuggestionV50 h4{margin:3px 0;font-size:11px}.weeklySuggestionV50 p{margin:0;color:#58667b;font-size:9px;line-height:1.8}.conversationPromptV50{margin:0;padding:12px 14px;border-right:3px solid #4f46e5;border-radius:12px;background:#fafbff}.conversationPromptV50 small{display:block;color:#7c879a;font-size:8px}.conversationPromptV50 strong{display:block;margin-top:4px;font-size:10px}.familyAskV50{display:grid;grid-template-columns:.65fr 1.35fr;gap:14px;align-items:center;padding:15px;border-radius:18px;background:#f7f9fd;border:1px solid #e5eaf3}.familyAskV50 h3{margin:0;font-size:12px}.familyAskV50 p{margin:3px 0;color:#7a8599;font-size:8.5px}.familyAskV50 form{display:grid;grid-template-columns:1fr auto;gap:8px}.familyAskV50 textarea{min-height:64px}
body.v50-ui .familyCommunicationGridV50{display:grid;grid-template-columns:1.1fr .9fr;gap:10px}.familyThreadV50,.familyTicketCenterV50{padding:14px;border:1px solid #e3e8f2;border-radius:19px;background:#fff}.familyThreadV50>header,.familyTicketCenterV50>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.familyThreadV50 h3,.familyTicketCenterV50 h3{margin:0;font-size:12px}.familyThreadV50 header span,.familyTicketCenterV50 header span{font-size:8px;color:#7d889b}.familyThreadMessagesV50{display:flex;flex-direction:column;gap:7px;max-height:430px;overflow:auto;padding:7px;background:#f7f9fd;border-radius:13px}.familyThreadMessagesV50 article{max-width:82%;padding:8px 10px;border-radius:13px;background:#fff;border:1px solid #e4e9f2}.familyThreadMessagesV50 article.mine{align-self:flex-start;background:#eef2ff;border-color:#dce3fb}.familyThreadMessagesV50 article.advisor{align-self:flex-end}.familyThreadMessagesV50 small,.familyThreadMessagesV50 time{font-size:7px;color:#8792a5}.familyThreadMessagesV50 p{margin:3px 0;font-size:9px;line-height:1.7}.familyThreadV50>form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px}.newFamilyTicketV50{display:grid;gap:7px}.familyTicketListV50{display:grid;gap:7px;margin-top:10px}.familyTicketListV50 article{padding:10px;border:1px solid #e6eaf2;border-radius:13px;background:#fbfcff}.familyTicketListV50 header{display:flex;justify-content:space-between}.familyTicketListV50 strong{font-size:9px}.familyTicketListV50 header span{font-size:7.5px;color:#6d7890}.familyTicketListV50 p{font-size:8.5px;color:#606d82}.familyTicketListV50 article>div{padding:8px;border-radius:10px;background:#eef8f5}.familyTicketListV50 article>div small{display:block;font-size:7px}.familyTicketListV50 article>div strong{font-size:8.5px}.familyTicketListV50 time{font-size:7px;color:#8993a5}.familyFeeCardsV50{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(max-width:1050px){body.v50-ui .managementTripleV50{grid-template-columns:1fr 1fr}.managementColumnV50:last-child{grid-column:1/-1}.managementMetricStripV50,.familyOverviewMetricsV50,.familyDynamicMetricsV50{grid-template-columns:repeat(2,1fr)}.familyChartPairV50,.familyCommunicationGridV50{grid-template-columns:1fr}.familyOverviewGridV50{grid-template-columns:1fr}.financeSummaryV50{grid-template-columns:1fr 1fr}.recentLedgerV50{grid-column:1/-1}}
@media(max-width:900px){body.v50-ui .managementHeroV50{grid-template-columns:1fr;padding:16px}.managementHeroV50 h2{font-size:18px}.managementJumpV50{grid-template-columns:repeat(4,minmax(90px,1fr));overflow:auto}.managementJumpV50 a{min-height:64px}.managementDomainBodyV50{grid-template-columns:1fr}.managementTripleV50{grid-template-columns:1fr}.managementColumnV50:last-child{grid-column:auto}.identityReviewGridV50{grid-template-columns:1fr}.familySectionTabsV50{position:sticky;top:62px;z-index:15;grid-template-columns:repeat(5,minmax(68px,1fr));overflow:auto}.familySectionTabsV50 a{flex-direction:column;gap:3px;min-height:48px}.familyOverviewHeroV50,.familyPerformanceHeroV50,.familyReportsHeroV50,.familyCommunicationHeroV50,.familyFinanceHeroV50{grid-template-columns:1fr;padding:16px}.familyWeeklyPulseV50{width:100%;height:auto;min-height:80px;border-radius:18px}.familyAccountStripV50{grid-template-columns:1fr}.subjectAnalyticsV50{grid-template-columns:1fr}.familyActionTilesV50>div{grid-template-columns:1fr}.familyFeeCardsV50{grid-template-columns:1fr}.periodSwitchV50{overflow:auto}.familyAskV50{grid-template-columns:1fr}.familyAskV50 form{grid-template-columns:1fr}.identityHeroV50{grid-template-columns:58px 1fr}.identityAvatarV50{width:58px;height:58px;border-radius:18px}.identityProgressV50{grid-column:1/-1;width:100%;height:62px;border-radius:17px;background:linear-gradient(90deg,#eef2ff calc(var(--identity-progress)*1%),#fff 0);border:1px solid #e1e7f3}.identityProgressV50:before{display:none}.identityFieldsV50{grid-template-columns:1fr}.identityFieldsV50 label.full{grid-column:auto}}
@media(max-width:620px){body.v50-ui .managementMetricStripV50,.familyOverviewMetricsV50,.familyDynamicMetricsV50{grid-template-columns:1fr 1fr}.managementMetricStripV50 article,.familyOverviewMetricsV50 article,.familyDynamicMetricsV50 article{padding:11px}.managementJumpV50{grid-template-columns:repeat(4,102px)}.managementDomainV50>header{align-items:flex-start}.managementDomainV50>header .btn{font-size:8px}.financeSummaryV50{grid-template-columns:1fr}.recentLedgerV50{grid-column:auto}.familySectionTabsV50{margin-inline:-2px;padding:4px}.familySectionTabsV50 span{font-size:7.5px}.reportSignalGridV50{grid-template-columns:1fr}.familyStructuredReportV50{padding:13px}.familyStructuredReportV50>header{align-items:flex-start}.familyHeroButtonsV50{display:grid;grid-template-columns:1fr 1fr}.credentialHandoffHeadV50{display:grid}.credentialHandoffActionsV50 .btn,.credentialHandoffActionsV50 form{flex:1 1 44%}.credentialHandoffActionsV50 form .btn{width:100%}.competitionPeriodGridV50{grid-template-columns:1fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){body.v50-ui *,body.v50-ui *:before,body.v50-ui *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
body.v50-ui .weeklyReportBasketV50{margin:12px 14px 14px;border:1px solid #e3e8f2;border-radius:16px;background:#fbfcff;overflow:hidden}.weeklyReportBasketV50>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 13px;cursor:pointer;list-style:none;font-size:9px;font-weight:950}.weeklyReportBasketV50>summary b{padding:5px 8px;border-radius:99px;background:#eef2ff;color:#4338ca;font-size:7.5px}.weeklyReportBasketV50>div{display:grid;gap:7px;padding:0 10px 10px}.weeklyReportBasketV50 article{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #e8ecf3;border-radius:13px;background:#fff}.weeklyReportBasketV50 article strong,.weeklyReportBasketV50 article span,.weeklyReportBasketV50 article small{display:block}.weeklyReportBasketV50 article strong{font-size:9px}.weeklyReportBasketV50 article span{margin-top:2px;color:#7b8699;font-size:7.5px}.weeklyReportBasketV50 article small{margin-top:4px;color:#5e6a7e;font-size:8.3px;line-height:1.65}@media(max-width:620px){body.v50-ui .weeklyReportBasketV50{margin-inline:0}.weeklyReportBasketV50 article{grid-template-columns:1fr}.weeklyReportBasketV50 article .btn{width:100%}}
body.v50-ui .weeklySentV50{display:inline-flex!important;width:max-content;margin-top:5px;padding:4px 7px;border-radius:99px;background:#edf9f4;color:#087b65;font-size:7px!important;font-style:normal;font-weight:950}
/* V50 readability pass — keep information dense, never microscopic */
body.v50-ui .managementSubnavV50 a{font-size:11px}
body.v50-ui .managementHeroV50 p{font-size:13px}body.v50-ui .managementJumpV50 a{font-size:11.5px}
body.v50-ui .managementMetricStripV50 span{font-size:10.5px}body.v50-ui .managementMetricStripV50 small{font-size:9.5px}
body.v50-ui .managementDomainV50 h3{font-size:15.5px}body.v50-ui .managementDomainV50 header p{font-size:10.5px}
body.v50-ui .managementActionListV50 strong{font-size:11.5px}body.v50-ui .managementActionListV50 small{font-size:9.8px}body.v50-ui .managementActionListV50 em{font-size:9.5px}
body.v50-ui .managementMicroGuideV50 strong{font-size:12px}body.v50-ui .managementMicroGuideV50 p,body.v50-ui .managementMicroGuideV50 a{font-size:10.5px}
body.v50-ui .columnHeadV50 strong{font-size:11.5px}body.v50-ui .ticketCardV50>div b,body.v50-ui .ticketCardV50>strong,body.v50-ui .responsibilityCardV50 b{font-size:10.5px}body.v50-ui .ticketCardV50 p{font-size:10px}body.v50-ui .ticketCardV50 small,body.v50-ui .responsibilityCardV50 span,body.v50-ui .responsibilityCardV50 small{font-size:9px}
body.v50-ui .familyCompactV50 summary b{font-size:10.5px}body.v50-ui .familyCompactV50 summary small{font-size:9px}
body.v50-ui .financeSummaryV50 span,body.v50-ui .recentLedgerV50>div:not(.compactEmptyV50){font-size:10px}
body.v50-ui .identityReviewGridV50 strong{font-size:11px}body.v50-ui .identityReviewGridV50 span,body.v50-ui .identityReviewGridV50 small{font-size:9.2px}body.v50-ui .compactEmptyV50{font-size:10px}
body.v50-ui .identityHeroV50>div:nth-child(2)>span,body.v50-ui .identityHeroV50 p,body.v50-ui .identityFieldsV50 span,body.v50-ui .identityAdvisorNoteV50 strong,body.v50-ui .identityAdvisorNoteV50 p,body.v50-ui .identityContextV50{font-size:10.5px}
body.v50-ui .familyProfileShortcutV50 span{font-size:10px}body.v50-ui .familyStudentRailV50 strong{font-size:10.5px}body.v50-ui .familyStudentRailV50 small{font-size:9px}
body.v50-ui .familySectionTabsV50 a{font-size:10.5px}
body.v50-ui .familyOverviewHeroV50 p,body.v50-ui .familyPerformanceHeroV50 p,body.v50-ui .familyReportsHeroV50 p,body.v50-ui .familyCommunicationHeroV50 p,body.v50-ui .familyFinanceHeroV50 p{font-size:11.5px}
body.v50-ui .familyOverviewMetricsV50 span,body.v50-ui .familyDynamicMetricsV50 span{font-size:10px}body.v50-ui .familyOverviewMetricsV50 small,body.v50-ui .familyDynamicMetricsV50 small{font-size:9.2px}
body.v50-ui .familyActionBoardV50>article strong,body.v50-ui .familySuggestionCardV50 h3,body.v50-ui .familySuggestionCardV50>p,body.v50-ui .familySuggestionCardV50>div strong{font-size:10.5px}body.v50-ui .familyActionBoardV50 p,body.v50-ui .familySuggestionCardV50>div small{font-size:9.2px}
body.v50-ui .periodSwitchV50 button{font-size:10px}
body.v50-ui .subjectAnalyticsV50 header strong{font-size:10.5px}body.v50-ui .subjectAnalyticsV50 header span,body.v50-ui .subjectAnalyticsV50 small,body.v50-ui .subjectAnalyticsV50 footer{font-size:9px}
body.v50-ui .competitionRankHeroV50 span{font-size:11px}body.v50-ui .competitionRankHeroV50 small,body.v50-ui .competitionPeriodGridV50 span,body.v50-ui .competitionPeriodGridV50 small{font-size:9px}body.v50-ui .competitionPeriodGridV50 strong{font-size:12px}
body.v50-ui .familyStructuredReportV50>header span,body.v50-ui .familyStructuredReportV50>header small{font-size:9.5px}body.v50-ui .reportSummaryV50{font-size:11.5px}body.v50-ui .reportSignalGridV50 h4,body.v50-ui .familyActionTilesV50 h4{font-size:11px}body.v50-ui .reportSignalGridV50 p{font-size:10.5px}body.v50-ui .familyActionTilesV50 strong{font-size:10.5px}body.v50-ui .familyActionTilesV50 p{font-size:9.8px}body.v50-ui .weeklySuggestionV50 span{font-size:9.5px}body.v50-ui .weeklySuggestionV50 h4{font-size:12px}body.v50-ui .weeklySuggestionV50 p{font-size:10.5px}body.v50-ui .conversationPromptV50 small{font-size:9px}body.v50-ui .conversationPromptV50 strong{font-size:11px}
body.v50-ui .familyThreadV50 h3,body.v50-ui .familyTicketCenterV50 h3{font-size:13px}body.v50-ui .familyThreadV50 header span,body.v50-ui .familyTicketCenterV50 header span{font-size:9px}body.v50-ui .familyThreadMessagesV50 p{font-size:10.5px}body.v50-ui .familyThreadMessagesV50 small,body.v50-ui .familyThreadMessagesV50 time{font-size:8.5px}body.v50-ui .familyTicketListV50 strong{font-size:10.5px}body.v50-ui .familyTicketListV50 p{font-size:10px}
body.v50-ui .weeklyReportBasketV50>summary{font-size:10.5px}body.v50-ui .weeklyReportBasketV50 article strong{font-size:10.5px}body.v50-ui .weeklyReportBasketV50 article span{font-size:9px}body.v50-ui .weeklyReportBasketV50 article small{font-size:9.5px}body.v50-ui .weeklySentV50{font-size:8.5px!important}
@media(max-width:620px){body.v50-ui .managementHeroV50 h2{font-size:20px}body.v50-ui .managementDomainV50>header .btn{font-size:9.5px}body.v50-ui .familySectionTabsV50 span{font-size:8.5px}}
/* === V50 FAMILY MANAGEMENT INTELLIGENCE END === */

/* ===== V51 Student Intelligence & Engagement ===== */
/* V51 — Student Intelligence & Engagement layer. Source file is merged into v44.bundle.css for production. */
.v51-ui{--v51-ink:#17213d;--v51-muted:#66718a;--v51-line:#e6eaf4;--v51-indigo:#4f5bd5;--v51-indigo-soft:#eef0ff;--v51-teal:#159b8c;--v51-green:#138a64;--v51-red:#d95062;--v51-amber:#d68b25;--v51-surface:#fff;--v51-soft:#f7f8fc}
.v51-ui .btn,.v51-ui button,.v51-ui input,.v51-ui select,.v51-ui textarea{font-family:inherit}

/* Today: exact curriculum in under 30 seconds */
.quickStudyPickerV51{border:1px solid #e6e8f4;background:linear-gradient(180deg,#fbfbff 0%,#fff 100%);border-radius:20px;padding:16px;margin-bottom:16px}
.quickStudyPickerV51>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.quickStudyPickerV51>header span{display:block;color:#7a8197;font-size:.75rem;font-weight:800}.quickStudyPickerV51>header h3{font-size:1rem;margin:3px 0 0;color:var(--v51-ink)}.quickStudyPickerV51>header button{border:0;background:#eef0ff;color:#414fc4;padding:9px 12px;border-radius:12px;font-weight:900;cursor:pointer}
.quickStudyStripV51{display:flex;gap:9px;overflow:auto;padding:2px 0 7px;scrollbar-width:thin;scroll-snap-type:x proximity}.quickStudyChipV51{min-width:190px;max-width:230px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:9px;text-align:right;border:1px solid #e4e7f2;background:#fff;border-radius:15px;padding:10px 11px;cursor:pointer;scroll-snap-align:start;transition:.18s ease}.quickStudyChipV51>i{grid-row:1/3;width:28px;height:28px;border-radius:9px;background:#f0f2f8;display:grid;place-items:center;font-style:normal;color:#6f7890;font-weight:900}.quickStudyChipV51>span{min-width:0}.quickStudyChipV51 b,.quickStudyChipV51 small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quickStudyChipV51 b{font-size:.84rem;color:#26304d}.quickStudyChipV51 small{font-size:.72rem;color:#737d95;margin-top:3px}.quickStudyChipV51>em{grid-column:2;font-style:normal;color:#8b93a8;font-size:.66rem;margin-top:5px}.quickStudyChipV51:hover,.quickStudyChipV51.selected{border-color:#aeb5ff;box-shadow:0 8px 22px rgba(63,73,180,.10);transform:translateY(-1px)}.quickStudyChipV51.selected>i{background:#e8ecff;color:#3446ca}.quickStudyChipV51.custom>i{background:#ecfaf7;color:#138b79}
.todayPrimaryFieldsV51 input[readonly]{background:#f7f8fc}.activityTypeV51{border:0;margin:0 0 15px;padding:0;display:flex;gap:8px;flex-wrap:wrap}.activityTypeV51 legend{font-size:.78rem;font-weight:900;color:#5e6881;margin-bottom:8px}.activityTypeV51 label{cursor:pointer}.activityTypeV51 input{position:absolute;opacity:0;pointer-events:none}.activityTypeV51 span{display:block;border:1px solid #e2e6f0;border-radius:11px;padding:8px 11px;background:#fff;color:#59637b;font-size:.78rem;font-weight:800}.activityTypeV51 input:checked+span{border-color:#8793ef;background:#edf0ff;color:#3445bd;box-shadow:0 5px 14px rgba(67,79,198,.08)}
.structuredEntryStatusV51{display:flex;align-items:center;gap:8px;border-radius:12px;background:#fff7e9;color:#8d611e;padding:9px 11px;font-size:.76rem;margin-bottom:10px}.structuredEntryStatusV51 i{font-style:normal;width:22px;height:22px;border-radius:7px;background:#ffebc4;display:grid;place-items:center;font-weight:900}.structuredEntryStatusV51.ready{background:#ecfaf6;color:#16765e}.structuredEntryStatusV51.ready i{background:#d4f4e8}.structuredEntryStatusV51.error{background:#fff0f2;color:#a53948}.structuredEntryStatusV51.error i{background:#ffdce2}
.topicMapDialogV51{width:min(800px,calc(100vw - 22px));max-height:min(82dvh,760px);border:0;border-radius:23px;padding:0;box-shadow:0 28px 80px rgba(20,28,60,.25);background:#fff}.topicMapDialogV51::backdrop{background:rgba(24,30,50,.48);backdrop-filter:blur(4px)}.topicMapShellV51{padding:0;margin:0}.topicMapShellV51>header{display:flex;justify-content:space-between;gap:20px;padding:20px 22px 15px;border-bottom:1px solid #edf0f5}.topicMapShellV51>header span{font-size:.72rem;color:#626fd1;font-weight:900}.topicMapShellV51>header h3{font-size:1.15rem;margin:3px 0;color:#1e2846}.topicMapShellV51>header p{font-size:.76rem;color:#747f96;margin:5px 0 0;max-width:560px}.topicMapShellV51>header button{width:38px;height:38px;border:0;border-radius:12px;background:#f4f5f9;color:#606a80;font-size:1.3rem;cursor:pointer}.topicMapProfileV51{margin:14px 20px 0;display:inline-flex;background:#eef0ff;color:#4957c6;padding:7px 10px;border-radius:10px;font-size:.73rem;font-weight:800}.topicMapSearchV51{display:grid;grid-template-columns:1fr auto;gap:9px;padding:12px 20px}.topicMapSearchV51 input{min-width:0;border:1px solid #e1e5ef;border-radius:12px;padding:11px 13px;background:#fafbfe}.topicMapSearchV51 button{border:0;border-radius:12px;padding:10px 13px;background:#25305a;color:#fff;font-weight:800;cursor:pointer}.topicMapResultsV51{padding:2px 20px 22px;display:grid;gap:8px;max-height:52dvh;overflow:auto}.topicResultV51{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;text-align:right;border:1px solid #e8eaf2;background:#fff;border-radius:14px;padding:10px 12px;cursor:pointer}.topicResultV51:hover{background:#f8f9ff;border-color:#bcc3f4}.topicResultV51>i{width:28px;height:28px;background:#eef1ff;color:#4352c3;border-radius:9px;display:grid;place-items:center;font-style:normal}.topicResultV51 span{display:grid;gap:2px}.topicResultV51 strong{font-size:.8rem;color:#66718b}.topicResultV51 b{font-size:.86rem;color:#202a46}.topicResultV51 small{font-size:.7rem;color:#8a92a6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topicSubjectGridV51{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.topicSubjectGridV51 button{display:grid;grid-template-columns:34px 1fr;gap:8px;text-align:right;align-items:center;border:1px solid #e7e9f1;border-radius:14px;background:#fff;padding:11px;cursor:pointer}.topicSubjectGridV51 i{grid-row:1/3;width:32px;height:32px;border-radius:10px;background:#eef0ff;color:#4655c3;font-style:normal;display:grid;place-items:center;font-weight:900}.topicSubjectGridV51 span{font-weight:900;color:#2b3552;font-size:.82rem}.topicSubjectGridV51 small{color:#8b93a7;font-size:.68rem}.topicMapLoadingV51,.topicMapEmptyV51{min-height:120px;display:flex;align-items:center;justify-content:center;gap:9px;color:#758099;text-align:center}.topicMapLoadingV51 i{width:18px;height:18px;border:2px solid #d7daed;border-top-color:#5562d4;border-radius:50%;animation:v51spin .8s linear infinite}.topicMapEmptyV51.error{color:#ad4350}.topicSearchHintV51{text-align:center;color:#7f879d;padding:5px}@keyframes v51spin{to{transform:rotate(360deg)}}

/* learning map */
.learningMapHeroV51{display:grid;grid-template-columns:1fr minmax(310px,.7fr);gap:24px;align-items:center;padding:26px;border:1px solid #e8eaf4;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f4f6ff 100%);box-shadow:0 15px 45px rgba(37,50,105,.06)}.learningMapHeroV51>div:first-child>span{color:#5864d4;font-weight:900;font-size:.78rem}.learningMapHeroV51 h2{font-size:1.5rem;margin:6px 0;color:#17213f}.learningMapHeroV51 p{color:#67728b;line-height:1.9;margin:0}.learningMapKpisV51{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.learningMapKpisV51 article{background:#fff;border:1px solid #e8eaf2;border-radius:16px;padding:14px}.learningMapKpisV51 strong{font-size:1.35rem;color:#26336e;display:block}.learningMapKpisV51 span{color:#7d869a;font-size:.73rem}.learningCycleV51{margin-top:13px;display:flex;align-items:center;gap:12px;border:1px solid #e4e7f4;border-radius:14px;padding:12px 15px;background:#fff}.learningCycleV51>span{color:#6571d1;font-size:.7rem;font-weight:900}.learningCycleV51 strong{color:#27304b}.learningCycleV51 small{margin-right:auto;color:#7f8799}.learningSubjectRollupV51{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.learningSubjectRollupV51>article{background:#fff;border:1px solid #e5e8f1;border-radius:18px;padding:15px}.learningSubjectRollupV51 header,.learningSubjectRollupV51 footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.learningSubjectRollupV51 header strong{color:#27314f}.learningSubjectRollupV51 header span{font-size:.73rem;color:#5662cd;font-weight:900}.learningProgressV51{height:8px;background:#f0f2f7;border-radius:99px;overflow:hidden;margin:11px 0}.learningProgressV51 i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5260d3,#1a9d8c)}.learningSubjectRollupV51 footer span{font-size:.68rem;color:#778198}.learningTargetTableV51{margin-top:15px;border:1px solid #e6e9f1;border-radius:20px;background:#fff;overflow:hidden}.learningTargetTableV51>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid #eef0f5}.learningTargetTableV51>header span{color:#6773d0;font-size:.72rem;font-weight:900}.learningTargetTableV51>header h3{font-size:1rem;margin:3px 0 0}.learningLegendV51{display:flex;gap:6px;flex-wrap:wrap}.learningLegendV51 i{font-style:normal;border-radius:8px;padding:5px 7px;font-size:.65rem;background:#f4f5f8;color:#6d768b}.learningTargetListV51{display:grid}.learningTargetListV51>article{display:grid;grid-template-columns:95px minmax(180px,1fr) minmax(220px,.8fr);gap:12px;padding:13px 17px;border-bottom:1px solid #f0f2f6;position:relative}.learningTargetListV51>article:last-child{border-bottom:0}.learningStateV51{display:flex;gap:6px;align-items:center;color:#7c8498;font-size:.7rem}.learningStateV51 i{width:9px;height:9px;border-radius:99px;background:#bac0cc}.learningTargetListV51>article.stable .learningStateV51 i{background:#159873}.learningTargetListV51>article.learning .learningStateV51 i{background:#5967d4}.learningTargetListV51>article.review_due .learningStateV51 i{background:#dd922e}.learningIdentityV51 strong,.learningIdentityV51 span{display:block}.learningIdentityV51 strong{font-size:.82rem;color:#28314c}.learningIdentityV51 span{font-size:.72rem;color:#7c859a;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.learningEvidenceV51{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.learningEvidenceV51 span{font-size:.68rem;color:#7a8294}.learningEvidenceV51 b{color:#4652b8}.learningMiniBarV51{grid-column:2/4;height:4px;background:#f0f1f5;border-radius:99px;overflow:hidden}.learningMiniBarV51 i{display:block;height:100%;background:#6672d7;border-radius:99px}.customTopicShelfV51{margin-top:14px;border:1px dashed #dfe3ee;border-radius:17px;padding:15px;background:#fbfcfe}.customTopicShelfV51 header{display:flex;justify-content:space-between;gap:10px}.customTopicShelfV51 header span{font-weight:900;color:#3d465f}.customTopicShelfV51 header small{color:#8890a2}.customTopicShelfV51>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.customTopicShelfV51>div span{font-size:.7rem;background:#fff;border:1px solid #e5e8ef;border-radius:9px;padding:6px 8px}

/* habits */
.habitHeroV51{display:grid;grid-template-columns:1fr 190px;gap:22px;align-items:center;border:1px solid #e7e9f2;border-radius:24px;padding:25px;background:linear-gradient(135deg,#fff,#f3fbf9)}.habitHeroV51>div>span{font-size:.76rem;font-weight:900;color:#168b7a}.habitHeroV51 h2{font-size:1.45rem;margin:6px 0;color:#17213e}.habitHeroV51 p{color:#68738a;line-height:1.85;margin:0}.habitHeroV51 aside{border:1px solid #dceee9;border-radius:19px;padding:18px;background:#fff;text-align:center}.habitHeroV51 aside strong{display:block;font-size:2rem;color:#158b78}.habitHeroV51 aside span,.habitHeroV51 aside em{display:block}.habitHeroV51 aside span{font-size:.73rem;color:#6d778d}.habitHeroV51 aside em{font-style:normal;font-size:.7rem;color:#858da0;margin-top:7px}.habitCoachLinkV51{display:inline-flex;margin-top:12px;text-decoration:none;background:#eef0ff;color:#3f4dbd;border-radius:11px;padding:8px 11px;font-size:.74rem;font-weight:900}.habitComposerV51{margin-top:13px;border:1px solid #e6e9f0;border-radius:18px;padding:14px;background:#fff}.habitComposerV51 form{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.habitComposerV51 label{display:grid;gap:5px;min-width:150px}.habitComposerV51 label.grow{flex:1;min-width:260px}.habitComposerV51 label>span{font-size:.69rem;color:#747e92;font-weight:800}.habitComposerV51 input,.habitComposerV51 select{border:1px solid #e0e4ed;border-radius:11px;padding:10px 11px;background:#fafbfe}.habitGridV51{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.habitCardV51{border:1px solid #e6e8f0;border-radius:19px;background:#fff;padding:16px;min-width:0}.habitCardV51>header,.habitCardV51>footer{display:flex;justify-content:space-between;gap:10px;align-items:center}.habitCardV51>header span{font-size:.68rem;color:#158c79;font-weight:900}.habitCardV51.bad>header span{color:#bf6a38}.habitCardV51>header h3{font-size:1rem;margin:3px 0;color:#25304a}.habitCardV51>header em{font-style:normal;font-size:.7rem;background:#f3f5f9;padding:6px 8px;border-radius:9px;color:#697389}.habitQuickCheckV51{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.habitQuickCheckV51 form{margin:0}.habitTickV51{width:100%;display:flex;align-items:center;gap:8px;border:1px solid #e4e7ee;background:#fafbfe;border-radius:13px;padding:10px;cursor:pointer;text-align:right}.habitTickV51 b{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;font-size:1.1rem;background:#eef0f4;color:#6d7689}.habitTickV51 span{font-size:.72rem;font-weight:800;color:#59647a}.habitTickV51.success.selected,.habitTickV51.success:hover{background:#edfaf6;border-color:#bfe8dc}.habitTickV51.success.selected b,.habitTickV51.success:hover b{background:#d4f3e7;color:#137a60}.habitTickV51.miss.selected,.habitTickV51.miss:hover{background:#fff2f3;border-color:#f1c8ce}.habitTickV51.miss.selected b,.habitTickV51.miss:hover b{background:#ffdde2;color:#b84554}.habitMetricsV51{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.habitMetricsV51 span{background:#f8f9fc;border-radius:10px;padding:8px;text-align:center}.habitMetricsV51 b{display:block;font-size:.84rem;color:#303a57}.habitMetricsV51 small{display:block;font-size:.61rem;color:#8790a2;margin-top:2px}.habitMetricsV51 b.up{color:#148362}.habitMetricsV51 b.down{color:#c3535f}.habitWeekBarsV51{height:78px;display:grid;grid-template-columns:repeat(8,1fr);align-items:end;gap:5px;border-bottom:1px solid #edf0f5;margin:12px 0 8px;padding:5px 3px}.habitWeekBarsV51 span{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px}.habitWeekBarsV51 i{display:block;width:70%;min-height:5px;max-height:62px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#6b76dc,#1a9d8d)}.habitWeekBarsV51 small{font-size:.55rem;color:#8890a1}.habitHeatV51{display:grid;grid-template-columns:repeat(28,1fr);gap:3px;margin:8px 0 11px}.habitHeatV51 i{aspect-ratio:1;border-radius:3px;background:#eff1f5}.habitHeatV51 i.success{background:#69c7ac}.habitHeatV51 i.miss{background:#ef9ba5}.habitCardV51>footer small{color:#7b8497;font-size:.66rem}.habitCardV51>footer form button{border:0;background:transparent;color:#9a6170;font-size:.68rem;cursor:pointer}.habitEmptyV51{grid-column:1/-1;padding:40px;text-align:center;border:1px dashed #dce1eb;border-radius:19px}.habitEmptyV51>span{width:52px;height:52px;margin:auto;display:grid;place-items:center;border-radius:17px;background:#ecfaf6;color:#16866f;font-size:1.5rem}.habitEmptyV51 strong{display:block;margin-top:9px;color:#2f3851}.habitEmptyV51 p{color:#7e8799}

/* settings helpers */
.studentClassListV51{display:grid;gap:8px}.studentClassListV51 article{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;border:1px solid #e9ebf2;border-radius:13px;padding:10px}.studentClassListV51 article>i{width:36px;height:36px;border-radius:11px;background:#eef0ff;color:#4c5ac4;display:grid;place-items:center;font-style:normal;font-weight:900}.studentClassListV51 strong,.studentClassListV51 span,.studentClassListV51 small{display:block}.studentClassListV51 strong{font-size:.82rem;color:#2a334d}.studentClassListV51 span{font-size:.7rem;color:#727c91;margin-top:2px}.studentClassListV51 small{font-size:.65rem;color:#8b93a5;margin-top:3px}.phoneNotificationCardV51>p{color:#6f798d;line-height:1.8;font-size:.8rem}.phoneNotificationCardV51>[data-device-notification-state]{display:block;color:#7e8799;margin-top:8px}

/* Exam categories and ten-day intelligence */
.examCategoryFieldV51 small{font-size:.63rem;color:#818a9e;margin-top:3px}.examCategoryManagerV51{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px dashed #dde1ec;border-radius:14px;padding:10px 12px;margin:12px 0}.examCategoryManagerV51>div>span{font-size:.66rem;color:#6f7890;font-weight:900}.examCategoryManagerV51>div>div{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.examCategoryManagerV51 i{font-style:normal;font-size:.65rem;background:#f2f4fa;color:#59657e;border-radius:8px;padding:5px 7px}.examCategoryManagerV51 form{display:flex;gap:6px}.examCategoryManagerV51 input{border:1px solid #e0e4ed;border-radius:10px;padding:8px 9px;min-width:190px}.examCategoryManagerV51 button{border:0;border-radius:10px;background:#eef0ff;color:#4452c0;padding:8px 10px;font-weight:900;cursor:pointer}.examTenDayV51{margin-top:16px;border:1px solid #e4e7f1;border-radius:21px;background:linear-gradient(135deg,#fff,#f7f8ff);overflow:hidden}.examTenDayV51>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;border-bottom:1px solid #e9ecf4}.examTenDayV51>header span{font-size:.7rem;color:#5864cc;font-weight:900}.examTenDayV51>header h3{margin:3px 0;font-size:1.08rem;color:#25304a}.examTenDayV51>header p{margin:0;color:#7b8599;font-size:.72rem}.examTenDayBodyV51{display:grid;grid-template-columns:220px 1fr;gap:0}.examTenDayBodyV51 aside{padding:18px;background:#f8f9fd;border-left:1px solid #e8ebf3}.examTenDayBodyV51 aside span,.examTenDayBodyV51 aside strong,.examTenDayBodyV51 aside em,.examTenDayBodyV51 aside a{display:block}.examTenDayBodyV51 aside span{font-size:.68rem;color:#737e94}.examTenDayBodyV51 aside strong{font-size:.82rem;color:#2c3653;margin-top:4px}.examTenDayBodyV51 aside em{font-style:normal;color:#8991a2;font-size:.68rem;margin-top:5px}.examTenDayBodyV51 aside a{margin-top:15px;text-decoration:none;color:#4e5bc9;font-size:.7rem;font-weight:900}.examTenDayBodyV51 article{padding:18px 20px}.examTenDayBodyV51 article>div{white-space:pre-line;line-height:2;color:#46516a;font-size:.81rem}.examTenDayEmptyV51{text-align:center;padding:24px;color:#748096}.examTenDayEmptyV51 strong{display:block;color:#35405c;margin-bottom:5px}.examCategorySummaryV51{margin-top:13px;border:1px solid #e7eaf2;border-radius:17px;padding:14px;background:#fff}.examCategorySummaryV51>header{display:flex;justify-content:space-between;gap:10px;margin-bottom:9px}.examCategorySummaryV51>header span{font-weight:900;color:#303a56}.examCategorySummaryV51>header small{color:#818a9c}.examCategorySummaryV51>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.examCategorySummaryV51 article{border:1px solid #edf0f5;border-radius:12px;padding:10px}.examCategorySummaryV51 article>*{display:block}.examCategorySummaryV51 article strong{font-size:.8rem;color:#2f3956}.examCategorySummaryV51 article span,.examCategorySummaryV51 article em{font-size:.65rem;color:#8991a2;font-style:normal}.examCategorySummaryV51 article b{font-size:.85rem;color:#4c59c4;margin:5px 0}

/* contextual AI — intelligence lives inside workflows */
.contextPromptStripV51{display:flex;gap:6px;overflow:auto;padding:0 0 8px}.contextPromptStripV51 button{flex:0 0 auto;border:1px solid #e2e5f2;background:#f8f9ff;color:#4b58be;border-radius:10px;padding:7px 9px;font-size:.68rem;font-weight:900;cursor:pointer}.contextPromptStripV51 button:hover{background:#eef0ff}

@media(max-width:900px){.learningMapHeroV51{grid-template-columns:1fr}.learningSubjectRollupV51,.habitGridV51{grid-template-columns:1fr}.learningTargetListV51>article{grid-template-columns:78px 1fr}.learningEvidenceV51{grid-column:1/-1;justify-content:flex-start}.learningMiniBarV51{grid-column:1/-1}.examCategorySummaryV51>div{grid-template-columns:repeat(2,1fr)}.examTenDayBodyV51{grid-template-columns:1fr}.examTenDayBodyV51 aside{border-left:0;border-bottom:1px solid #e8ebf3}.topicSubjectGridV51{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.quickStudyPickerV51{padding:12px;border-radius:16px}.quickStudyPickerV51>header{align-items:flex-start}.quickStudyChipV51{min-width:172px}.topicMapDialogV51{width:calc(100vw - 12px);max-height:88dvh;border-radius:20px}.topicMapShellV51>header{padding:16px}.topicMapSearchV51{grid-template-columns:1fr;padding:10px 14px}.topicMapSearchV51 button{width:100%}.topicMapResultsV51{padding:2px 14px 16px;max-height:58dvh}.topicSubjectGridV51{grid-template-columns:1fr}.learningMapHeroV51,.habitHeroV51{grid-template-columns:1fr;padding:18px;border-radius:19px}.learningMapHeroV51 h2,.habitHeroV51 h2{font-size:1.2rem}.habitHeroV51 aside{text-align:right}.learningTargetTableV51>header{align-items:flex-start;flex-direction:column}.learningTargetListV51>article{grid-template-columns:1fr;padding:12px}.learningIdentityV51 span{white-space:normal}.learningStateV51{order:-1}.habitComposerV51 form{display:grid;grid-template-columns:1fr 1fr}.habitComposerV51 label.grow{grid-column:1/-1;min-width:0}.habitComposerV51 .btn{grid-column:1/-1}.habitMetricsV51{grid-template-columns:repeat(2,1fr)}.habitHeatV51{gap:2px}.examCategoryManagerV51{align-items:stretch;flex-direction:column}.examCategoryManagerV51 form{display:grid;grid-template-columns:1fr auto}.examCategoryManagerV51 input{min-width:0}.examTenDayV51>header{align-items:flex-start;flex-direction:column}.examTenDayV51>header form,.examTenDayV51>header .btn{width:100%}.examCategorySummaryV51>div{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.habitComposerV51 form{grid-template-columns:1fr}.habitComposerV51 label{grid-column:1}.habitMetricsV51{grid-template-columns:1fr 1fr}.examCategorySummaryV51>div{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.quickStudyChipV51,.topicMapLoadingV51 i{transition:none;animation:none}}

/* === V52 RESPONSIVE GEOMETRY & MOBILE SCALE FIX ===
   Root-cause fixes: remove legacy mobile hero overflow hacks, establish a strict
   viewport contract, and keep touch targets / fixed navigation inside safe areas. */
html{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.v52-ui{width:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}
body.v52-ui .app-shell,body.v52-ui .main,body.v52-ui .mainBody,body.v52-ui .viewSection{min-width:0;max-width:100%}
body.v52-ui .mainBody{width:100%;box-sizing:border-box;overflow-x:hidden;overflow-x:clip}
body.v52-ui canvas,body.v52-ui img,body.v52-ui video{max-width:100%}
body.v52-ui .studentHomeView{width:100%;min-width:0}

@media(max-width:900px){
  body.v52-ui{padding-top:62px;padding-bottom:0;background:#f8faff}
  body.v52-ui .main{width:100%;max-width:100%;min-height:calc(100dvh - 62px);overflow:visible}
  body.v52-ui .mainBody{padding:12px 10px calc(96px + env(safe-area-inset-bottom));overflow-x:hidden;overflow-x:clip;overflow-y:visible}
  body.v52-ui .mobileAppHeader{display:flex;box-sizing:border-box;top:0;right:0;left:0;width:100%;max-width:100%}
  body.v52-ui .mobileBottomNav{display:grid}
  body.v52-ui .mobileHeaderLeading,body.v52-ui .mobileHeaderActions{min-width:0;flex:0 0 auto}
  body.v52-ui .mobileBrandMini{min-width:0;max-width:42vw;justify-content:center}
  body.v52-ui .mobileBrandMini span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.v52-ui .mobileBottomNav{box-sizing:border-box;max-width:calc(100vw - 14px);margin-inline:auto}
}

@media(max-width:640px){
  /* Home hero: reset the legacy absolute gauge + negative button margin. */
  body.v52-ui.role-student .studentCommandHero.studentCommandHeroV34{
    display:flex!important;flex-direction:column;align-items:stretch;gap:14px;width:100%;min-width:0;
    padding:16px 14px 15px!important;border-radius:22px!important;overflow:hidden
  }
  body.v52-ui.role-student .studentCommandHero .studentCommandCopy{width:100%;min-width:0;padding-left:0!important}
  body.v52-ui.role-student .studentHelloRow{max-width:none!important;margin-bottom:9px;gap:8px}
  body.v52-ui.role-student .studentEyebrow{font-size:11px}
  body.v52-ui.role-student .studentTrendPill{font-size:8.5px;padding:5px 8px}
  body.v52-ui.role-student .studentCommandCopy h2{
    max-width:none;margin:0!important;font-size:clamp(20px,6vw,25px)!important;line-height:1.55!important;letter-spacing:-.45px!important;overflow-wrap:anywhere
  }
  body.v52-ui.role-student .studentHeroActions{
    width:100%;min-width:0;margin:15px 0 0!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px
  }
  body.v52-ui.role-student .studentHeroActions .btn{
    width:100%;min-width:0;max-width:100%;min-height:45px;padding:9px 8px!important;justify-content:center;font-size:10px;white-space:normal;text-align:center;line-height:1.5
  }
  body.v52-ui.role-student .studentHeroActions .softAi{grid-column:1/-1;flex-basis:auto!important}
  body.v52-ui.role-student .studentScoreIntelligence{
    position:relative;width:100%;min-width:0;padding:13px!important;gap:12px;border-radius:18px!important;box-shadow:0 12px 28px rgba(9,25,59,.13)
  }
  body.v52-ui.role-student .studentScorePrimary{
    width:100%;min-width:0;display:grid!important;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center!important;padding-bottom:12px
  }
  body.v52-ui.role-student .studentScoreIntelligence .studentPerformanceGauge{
    position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:84px!important;height:84px!important;min-width:84px!important;margin:0!important;padding:7px!important;box-shadow:none!important
  }
  body.v52-ui.role-student .studentPerformanceGauge::before{inset:6px!important}
  body.v52-ui.role-student .studentPerformanceGauge strong{font-size:25px!important}
  body.v52-ui.role-student .studentPerformanceGauge span{font-size:7.5px!important;margin-top:4px}
  body.v52-ui.role-student .studentPerformanceGauge small{display:none!important}
  body.v52-ui.role-student .studentScoreMeta{min-width:0;gap:4px!important}
  body.v52-ui.role-student .studentScoreMeta>span{font-size:14px!important;line-height:1.4}
  body.v52-ui.role-student .studentScoreMeta>strong{font-size:10.5px!important;line-height:1.5}
  body.v52-ui.role-student .studentScoreMeta>small{font-size:8.5px!important;line-height:1.6}
  body.v52-ui.role-student .studentScoreBreakdown{width:100%;min-width:0;gap:8px!important}
  body.v52-ui.role-student .studentScoreBreakdown>div{
    min-width:0;grid-template-columns:minmax(72px,auto) minmax(0,1fr) 26px!important;gap:7px!important;font-size:9px!important
  }
  body.v52-ui.role-student .studentScoreBreakdown span{min-width:0;font-size:8.5px;white-space:normal;line-height:1.45}
  body.v52-ui.role-student .studentScoreBreakdown i{min-width:0}
  body.v52-ui.role-student .studentScoreBreakdown>div>strong{font-size:9px;text-align:left}

  body.v52-ui.role-student .studentMetricStrip{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.v52-ui.role-student .studentMetricStrip article{min-width:0;padding:12px 10px}
  body.v52-ui.role-student .studentMetricStrip article:last-child{grid-column:1/-1}
  body.v52-ui.role-student .studentMetricStrip span,body.v52-ui.role-student .studentMetricStrip strong,body.v52-ui.role-student .studentMetricStrip small{white-space:normal;overflow-wrap:anywhere}
  body.v52-ui.role-student .studentActionDock{width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  body.v52-ui.role-student .studentActionDock>a,body.v52-ui.role-student .studentActionDock>button{min-width:0;padding:10px}
  body.v52-ui.role-student .studentActionDock strong,body.v52-ui.role-student .studentActionDock small{white-space:normal;line-height:1.45}
  body.v52-ui.role-student .studentHomeGrid{width:100%;grid-template-columns:minmax(0,1fr)!important;gap:11px}
  body.v52-ui.role-student .studentFocusCard,body.v52-ui.role-student .studentPulseCard,body.v52-ui.role-student .studentInsightCard,body.v52-ui.role-student .studentRecentCard{min-width:0;max-width:100%}
  body.v52-ui.role-student .studentOverviewChart{width:100%;max-width:100%;height:220px}
}

@media(max-width:370px){
  body.v52-ui .mainBody{padding-inline:8px}
  body.v52-ui.role-student .studentCommandHero.studentCommandHeroV34{padding-inline:12px!important}
  body.v52-ui.role-student .studentCommandCopy h2{font-size:19px!important}
  body.v52-ui.role-student .studentScorePrimary{grid-template-columns:76px minmax(0,1fr);gap:9px}
  body.v52-ui.role-student .studentScoreIntelligence .studentPerformanceGauge{width:74px!important;height:74px!important;min-width:74px!important}
  body.v52-ui.role-student .studentScoreBreakdown>div{grid-template-columns:66px minmax(0,1fr) 24px!important}
}
/* === V52 RESPONSIVE GEOMETRY & MOBILE SCALE FIX END === */


/* ===== V54 — full V47 curriculum browser ===== */
.topicMapFullBrowserV54{display:flex;align-items:center;justify-content:center;min-height:42px;margin-top:8px;border:1px dashed rgba(79,70,229,.28);border-radius:13px;background:rgba(79,70,229,.055);color:#4338ca;text-decoration:none;font-size:11px;font-weight:850}
.v47HeroV54{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:18px;align-items:center;padding:24px;border-radius:24px;background:linear-gradient(135deg,#172554,#312e81 58%,#4338ca);color:#fff;box-shadow:0 18px 48px rgba(49,46,129,.18)}.v47HeroV54 span{font-size:10px;opacity:.72}.v47HeroV54 h2{margin:7px 0 8px;font-size:22px;line-height:1.55}.v47HeroV54 p{margin:0;max-width:820px;font-size:11px;line-height:2;opacity:.84}.v47TrustV54{display:grid;place-items:center;padding:18px 10px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.09);text-align:center}.v47TrustV54 b{font-size:29px}.v47TrustV54 span{font-size:10px;opacity:1}.v47TrustV54 small{margin-top:5px;font-size:8px;opacity:.66}
.v47StatsV54{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}.v47StatsV54 article{padding:14px;border:1px solid #e4e7ec;border-radius:17px;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.045)}.v47StatsV54 strong,.v47StatsV54 span{display:block}.v47StatsV54 strong{font-size:20px;color:#312e81}.v47StatsV54 span{margin-top:4px;font-size:9px;color:#667085}
.v47ScopeNoteV54{margin-bottom:12px}.v47ScopeNoteV54 strong{font-size:12px;color:#1d2939}.v47ScopeNoteV54 p{margin:5px 0 0;color:#667085;font-size:10px;line-height:1.9}.v47FiltersV54{display:grid;grid-template-columns:170px 190px minmax(220px,1fr) auto auto;gap:9px;align-items:end;margin-bottom:12px}.v47FiltersV54 label span{display:block;margin-bottom:5px;color:#667085;font-size:9px}.v47FiltersV54 select,.v47FiltersV54 input{width:100%;min-height:44px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#101828;padding:0 11px;outline:0}.v47FiltersV54 input:focus,.v47FiltersV54 select:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.10)}
.v47WorkspaceV54{display:grid;grid-template-columns:320px minmax(0,1fr);gap:12px;align-items:start}.v47BookListV54{padding:0;overflow:hidden;position:sticky;top:14px}.v47BookListV54>header{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px;border-bottom:1px solid #eaecf0}.v47BookListV54>header span,.v47BookListV54>header strong,.v47BookListV54>header small{display:block}.v47BookListV54>header span{font-size:9px;color:#667085}.v47BookListV54>header strong{font-size:13px}.v47BookListV54>header small{font-size:8px;color:#98a2b3}.v47BookScrollV54{max-height:70vh;overflow:auto;padding:8px}.v47BookItemV54{display:grid;grid-template-columns:36px minmax(0,1fr) 18px;gap:9px;align-items:center;padding:10px;margin-bottom:6px;border:1px solid #eaecf0;border-radius:13px;background:#fff;color:#344054;text-decoration:none}.v47BookItemV54:hover,.v47BookItemV54.active{border-color:#a5b4fc;background:#f5f3ff}.v47BookItemV54>i{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eef2ff;color:#4338ca;font-style:normal;font-weight:900}.v47BookItemV54 strong,.v47BookItemV54 span,.v47BookItemV54 small{display:block}.v47BookItemV54 strong{font-size:10px}.v47BookItemV54 span{margin-top:2px;font-size:8px;color:#667085}.v47BookItemV54 small{margin-top:3px;font-size:7.5px;color:#98a2b3}.v47BookItemV54>b{font-size:18px;color:#98a2b3}
.v47TreeV54{padding:0;overflow:hidden}.v47BookHeadV54{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px;border-bottom:1px solid #eaecf0}.v47BookHeadV54 span{font-size:9px;color:#4f46e5}.v47BookHeadV54 h3{margin:4px 0;font-size:18px}.v47BookHeadV54 p{margin:0;color:#667085;font-size:9px;line-height:1.7}.v47ChapterListV54{padding:10px;display:grid;gap:8px}.v47ChapterV54{border:1px solid #e4e7ec;border-radius:15px;overflow:hidden;background:#fff}.v47ChapterV54>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:#f9fafb;list-style:none}.v47ChapterV54>summary::-webkit-details-marker{display:none}.v47ChapterV54>summary b,.v47ChapterV54>summary small{display:block}.v47ChapterV54>summary b{font-size:11px}.v47ChapterV54>summary small{margin-top:3px;font-size:8px;color:#667085}.v47LessonListV54{padding:8px;display:grid;gap:8px}.v47LessonV54{padding:12px;border:1px solid #eaecf0;border-radius:13px}.v47LessonV54>header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.v47LessonV54>header strong,.v47LessonV54>header small{display:block}.v47LessonV54>header strong{font-size:11px}.v47LessonV54>header small{margin-top:3px;font-size:8px;color:#667085}.v47LessonV54>header>span{padding:4px 7px;border-radius:9px;background:#eef2ff;color:#4338ca;font-size:7.5px}.v47LessonV54>p{margin:8px 0;color:#667085;font-size:8px;line-height:1.8}.v47SubtopicGridV54{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.v47SubtopicV54{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:7px;align-items:start;padding:8px;border:1px solid #edf0f4;border-radius:10px;background:#fbfcfe}.v47SubtopicV54>i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#ecfdf3;color:#067647;font-style:normal;font-size:9px}.v47SubtopicV54 b,.v47SubtopicV54 small{display:block}.v47SubtopicV54 b{font-size:9px;line-height:1.55}.v47SubtopicV54 small{margin-top:3px;color:#667085;font-size:7.5px;line-height:1.65}.v47SubtopicV54 em{font-style:normal;color:#667085;font-size:7.5px;white-space:nowrap}.v47EmptyV54{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center;color:#667085}.v47EmptyV54>span{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#eef2ff;color:#4338ca;font-size:28px}.v47EmptyV54 h3{margin:12px 0 4px;color:#344054}.v47EmptyV54 p{max-width:430px;margin:0;font-size:10px;line-height:1.9}
@media(max-width:1100px){.v47StatsV54{grid-template-columns:repeat(3,1fr)}.v47WorkspaceV54{grid-template-columns:280px minmax(0,1fr)}.v47FiltersV54{grid-template-columns:1fr 1fr}.v47FiltersV54 .wide{grid-column:1/-1}}
@media(max-width:760px){.v47HeroV54{grid-template-columns:1fr;padding:18px}.v47HeroV54 h2{font-size:18px}.v47TrustV54{grid-template-columns:auto 1fr auto;justify-items:start;text-align:right}.v47StatsV54{grid-template-columns:repeat(2,1fr)}.v47FiltersV54{grid-template-columns:1fr}.v47FiltersV54 .wide{grid-column:auto}.v47WorkspaceV54{grid-template-columns:1fr}.v47BookListV54{position:static}.v47BookScrollV54{max-height:360px}.v47BookHeadV54{display:grid}.v47SubtopicGridV54{grid-template-columns:1fr}.v47ChapterListV54{padding:7px}.v47LessonV54{padding:9px}}


/* ========================================================================
   V55 — Advisor Intelligence Operating System
   ======================================================================== */
.v55BriefingStack{position:fixed;z-index:1900;top:max(18px,env(safe-area-inset-top));left:clamp(12px,3vw,36px);width:min(420px,calc(100vw - 24px));display:grid;gap:10px;pointer-events:none;opacity:0;transform:translateY(-8px);transition:.2s ease}.v55BriefingStack.visible{opacity:1;transform:none}.v55BriefingCard{--brief-accent:#4f46e5;position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:13px;padding:15px;border:1px solid rgba(79,70,229,.14);border-radius:20px;background:rgba(255,255,255,.97);box-shadow:0 20px 60px rgba(21,28,64,.18);overflow:hidden;pointer-events:auto;opacity:0;transform:translateY(-16px) scale(.98);transition:.24s ease var(--brief-delay)}.v55BriefingCard.entered{opacity:1;transform:none}.v55BriefingCard.leaving{opacity:0;transform:translateX(-18px) scale(.98)}.v55BriefingCard.level-danger{--brief-accent:#dc2626}.v55BriefingCard.level-warning{--brief-accent:#d97706}.v55BriefingCard.level-success{--brief-accent:#059669}.v55BriefingIcon{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--brief-accent) 12%,white);color:var(--brief-accent);font-size:21px;font-weight:900}.v55BriefingCopy{min-width:0}.v55BriefingCopy>span{display:block;color:var(--brief-accent);font-size:11px;font-weight:900;letter-spacing:.03em}.v55BriefingCopy>strong{display:block;margin-top:3px;color:#111827;font-size:15px;line-height:1.55}.v55BriefingCopy>p{margin:4px 0 10px;color:#64748b;font-size:12px;line-height:1.75}.v55BriefingActions{display:flex;gap:8px;flex-wrap:wrap}.v55BriefingActions button{min-height:36px;padding:7px 13px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.v55BriefingActions button.primary{border-color:var(--brief-accent);background:var(--brief-accent);color:#fff}.v55BriefingTimer{position:absolute;right:0;bottom:0;height:3px;width:100%;background:var(--brief-accent);transform-origin:right;animation:v55BriefTimer 5s linear forwards}@keyframes v55BriefTimer{to{transform:scaleX(0)}}

.advisorAiV55{--v55-ink:#15213d;--v55-muted:#69748d;--v55-border:#e5e9f4;--v55-primary:#4f46e5;--v55-soft:#f7f8ff}.v55CommandHero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:30px;border-radius:28px;color:#fff;background:linear-gradient(125deg,#18224a,#3d39a7 58%,#6d5ce8);box-shadow:0 24px 65px rgba(61,57,167,.24);overflow:hidden}.v55CommandHero:before,.v55CommandHero:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%}.v55CommandHero:before{width:340px;height:340px;left:-100px;top:-180px}.v55CommandHero:after{width:220px;height:220px;right:35%;bottom:-180px}.v55CommandHero>div,.v55CommandPulse{position:relative;z-index:1}.v55CommandHero>div{max-width:760px}.v55CommandHero>div>span{font-size:11px;font-weight:900;letter-spacing:.13em;color:#c7d2fe}.v55CommandHero h2{margin:8px 0;font-size:clamp(23px,3vw,38px);line-height:1.45}.v55CommandHero p{margin:0;color:#e0e7ff;line-height:1.9}.v55CommandPulse{min-width:245px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:22px;background:rgba(255,255,255,.1);backdrop-filter:blur(15px)}.v55CommandPulse i{display:inline-block;width:10px;height:10px;margin-left:7px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 0 6px rgba(110,231,183,.14)}.v55CommandPulse strong,.v55CommandPulse span{display:block}.v55CommandPulse strong{margin-top:10px}.v55CommandPulse span{margin-top:4px;color:#dbeafe;font-size:12px}
.v55AiDualWorkspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:18px;margin-top:18px}.v55AiPane{min-width:0;padding:22px;border:1px solid var(--v55-border);border-radius:26px;background:#fff;box-shadow:0 14px 42px rgba(32,45,85,.07)}.v55PaneHead{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:17px;border-bottom:1px solid var(--v55-border)}.v55PaneHead span{display:block;color:var(--v55-primary);font-size:11px;font-weight:900}.v55PaneHead h3{margin:3px 0 0;color:var(--v55-ink);font-size:20px}.v55PaneHead em{padding:7px 11px;border-radius:99px;background:#eef2ff;color:#4338ca;font-style:normal;font-size:11px;font-weight:900;white-space:nowrap}.v55PaneHead em.safe{background:#ecfdf5;color:#047857}.v55ContextStrip{display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:end;gap:14px;margin-top:18px;padding:14px;border-radius:18px;background:#f8faff}.v55ContextStrip label span{display:block;margin-bottom:5px;color:#64748b;font-size:11px;font-weight:800}.v55ContextStrip select{width:100%;min-height:42px}.v55ContextStrip small{color:#748099;line-height:1.7}.v55PromptDeck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.v55PromptDeck button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid #e8eaf4;border-radius:16px;background:#fff;text-align:right;cursor:pointer;transition:.18s ease}.v55PromptDeck button:hover{border-color:#a5b4fc;transform:translateY(-1px);box-shadow:0 10px 22px rgba(79,70,229,.08)}.v55PromptDeck button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef2ff;color:#4f46e5;font-weight:900}.v55PromptDeck button strong,.v55PromptDeck button small{display:block}.v55PromptDeck button strong{color:#26324f;font-size:12px}.v55PromptDeck button small{margin-top:3px;color:#7a849b;font-size:10px;line-height:1.55}.v55AnalysisComposer{margin-top:14px;padding:13px;border:1px solid #dfe3f0;border-radius:19px;background:#fbfcff}.v55AnalysisComposer textarea{width:100%;min-height:112px;padding:3px;border:0;resize:vertical;background:transparent;font:inherit;line-height:1.8;outline:0}.v55AnalysisComposer>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid #edf0f7}.v55AnalysisComposer label{display:flex;align-items:center;gap:7px;color:#68738b;font-size:11px}.v55Conversation{max-height:360px;overflow:auto;margin-top:14px}.v55AgentRule{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;margin:17px 0;padding:12px;border:1px solid #d1fae5;border-radius:15px;background:#f0fdf4}.v55AgentRule strong{color:#047857}.v55AgentRule span{color:#587066;font-size:11px;line-height:1.7}.v55AgentForm{display:grid;gap:13px}.v55AgentCommand>span,.v55AgentForm legend{display:block;margin-bottom:6px;color:#334155;font-size:12px;font-weight:900}.v55AgentCommand textarea{width:100%;min-height:115px;padding:13px;border:1px solid #dfe3f0;border-radius:16px;resize:vertical;font:inherit;line-height:1.8}.v55AgentForm fieldset{margin:0;padding:13px;border:1px solid #e5e9f2;border-radius:17px}.v55AgentForm fieldset>small{display:block;margin-top:8px;color:#8791a5;font-size:10px}.v55StudentPicker{display:flex;gap:7px;flex-wrap:wrap;max-height:105px;overflow:auto}.v55StudentPicker label{cursor:pointer}.v55StudentPicker input{position:absolute;opacity:0}.v55StudentPicker span{display:block;padding:7px 10px;border:1px solid #e1e5ef;border-radius:99px;color:#657087;font-size:11px;font-weight:700}.v55StudentPicker input:checked+span{border-color:#6366f1;background:#eef2ff;color:#4338ca}.v55ActionPicker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v55ActionPicker label{display:flex;gap:9px;padding:10px;border:1px solid #e6e9f2;border-radius:14px;cursor:pointer}.v55ActionPicker input{margin-top:3px}.v55ActionPicker span,.v55ActionPicker b,.v55ActionPicker small{display:block}.v55ActionPicker b{color:#33405c;font-size:11px}.v55ActionPicker small{margin-top:2px;color:#8790a3;font-size:9px;line-height:1.5}.v55PlanAction{width:100%;min-height:46px}.v55AgentProposal{margin-top:15px;padding:16px;border:1px solid #c7d2fe;border-radius:19px;background:#f8faff}.v55AgentProposal header,.v55ExecutionCard header{display:flex;justify-content:space-between;gap:12px}.v55AgentProposal header span,.v55ExecutionCard header span{display:block;color:#6366f1;font-size:10px;font-weight:900}.v55AgentProposal header strong,.v55ExecutionCard header strong{display:block;margin-top:3px;color:#27334d}.v55AgentProposal header em,.v55ExecutionCard header em{height:max-content;padding:6px 9px;border-radius:99px;background:#fff7ed;color:#c2410c;font-style:normal;font-size:10px;font-weight:900}.v55AgentProposal p,.v55ExecutionCard p{color:#68758e;font-size:11px;line-height:1.75}.v55ExecutionTargets{display:flex;gap:6px;flex-wrap:wrap}.v55ExecutionTargets span{padding:5px 8px;border-radius:99px;background:#eef2ff;color:#4f46e5;font-size:10px;font-weight:800}.v55AgentProposal ol,.v55ExecutionCard ol{display:grid;gap:6px;margin:12px 0;padding:0;list-style:none}.v55AgentProposal li,.v55ExecutionCard li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:7px;align-items:center;padding:8px;border-radius:11px;background:#fff;color:#44516c;font-size:11px}.v55AgentProposal li i,.v55ExecutionCard li i{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#eef2ff;color:#4f46e5;font-style:normal;font-weight:900}.v55ExecutionCard li.completed i{background:#ecfdf5;color:#059669}.v55ExecutionCard li.failed i{background:#fef2f2;color:#dc2626}.v55ExecutionCard li small{grid-column:2;color:#dc2626}.v55ProposalWarning{display:flex;gap:9px;padding:10px;border-radius:12px;background:#fff7ed;color:#9a5a18;font-size:10px}.v55AgentProposal footer{display:flex;justify-content:flex-end;gap:8px;margin-top:13px}.v55ExecutionLegend{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.v55ExecutionLegend span{padding:7px 9px;border-radius:10px;background:#f7f8fc;color:#64748b;font-size:10px}.v55ExecutionLegend b{color:#334155}
.v55ExecutionHistory{margin-top:18px;padding:22px;border:1px solid #e3e7f2;border-radius:26px;background:#fff}.v55ExecutionHistory>header,.v55TodayNews>header,.v55AiOutputBand article>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.v55ExecutionHistory>header span,.v55TodayNews>header span,.v55AiOutputBand article>header span{display:block;color:#6366f1;font-size:11px;font-weight:900}.v55ExecutionHistory>header h3,.v55TodayNews>header h3,.v55AiOutputBand article>header h3{margin:3px 0 0;color:#1f2a44}.v55ExecutionList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.v55ExecutionCard{padding:15px;border:1px solid #e6e9f2;border-radius:19px;background:#fbfcff}.v55ExecutionCard.success{border-color:#a7f3d0}.v55ExecutionCard.danger{border-color:#fecaca}.v55ExecutionCard footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:11px;border-top:1px solid #edf0f5}.v55ExecutionCard footer>span{color:#8a94a8;font-size:9px}.v55ExecutionCard footer>div{display:flex;gap:5px;flex-wrap:wrap}.btn.success{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.v55AiOutputBand{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:18px;margin-top:18px}.v55AiOutputBand>article{padding:20px;border:1px solid #e3e7f2;border-radius:24px;background:#fff}.v55AiOutputBand pre{max-height:340px;overflow:auto;white-space:pre-wrap;color:#3f4c66;line-height:1.9;font-family:inherit}.v55TodayNews>a{display:block;margin-top:10px;padding:13px;border:1px solid #e8eaf3;border-radius:15px;text-decoration:none}.v55TodayNews>a span,.v55TodayNews>a strong,.v55TodayNews>a small{display:block}.v55TodayNews>a span{color:#6366f1;font-size:10px;font-weight:900}.v55TodayNews>a strong{margin:3px 0;color:#29354e}.v55TodayNews>a small{color:#788399;line-height:1.65}.v55PolicyCases{margin-top:18px}

.v55StudentCommand{--v55-student-border:#e5e9f2}.v55StudentCommandHead{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px;border-radius:25px;background:linear-gradient(130deg,#f4f6ff,#fff);border:1px solid #e0e5f4}.v55StudentCommandHead>div:first-child{max-width:780px}.v55StudentCommandHead span{color:#5b5bd6;font-size:11px;font-weight:900;letter-spacing:.08em}.v55StudentCommandHead h2{margin:6px 0;color:#17233e;font-size:clamp(22px,2.8vw,34px)}.v55StudentCommandHead p{margin:0;color:#6f7b92;line-height:1.85}.v55StudentCommandHead>div:last-child{display:grid;place-items:center;min-width:110px;height:100px;border-radius:22px;background:#4f46e5;color:#fff}.v55StudentCommandHead>div:last-child b{font-size:30px}.v55StudentCommandHead>div:last-child span{color:#e0e7ff}.v55StudentCommandLayout{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:18px;margin-top:18px}.v55StudentCommandList,.v55StudentCommandDetail{min-width:0;padding:18px;border:1px solid var(--v55-student-border);border-radius:24px;background:#fff}.v55StudentCommandTools{display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:9px;margin-bottom:12px}.v55StudentCommandTools input,.v55StudentCommandTools select{min-height:43px}.v55StudentCards{display:grid;gap:9px;max-height:800px;overflow:auto;padding-left:4px}.v55StudentCard{display:block;padding:13px;border:1px solid #e6eaf2;border-radius:17px;background:#fff;text-decoration:none;transition:.18s ease}.v55StudentCard:hover,.v55StudentCard.active{border-color:#818cf8;box-shadow:0 10px 24px rgba(79,70,229,.09);transform:translateY(-1px)}.v55StudentCard.high{border-right:4px solid #ef4444}.v55StudentCard.medium{border-right:4px solid #f59e0b}.v55StudentCard.low{border-right:4px solid #10b981}.v55StudentCard header{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px}.v55StudentCard .avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#eef2ff;color:#4f46e5;font-weight:900}.v55StudentCard header strong,.v55StudentCard header span{display:block}.v55StudentCard header strong{color:#26324a;font-size:12px}.v55StudentCard header span{color:#8791a5;font-size:9px}.v55StudentCard header>b{font-size:20px;color:#4f46e5}.v55StudentCard section{margin:10px 0;padding:9px;border-radius:11px;background:#f8f9fc}.v55StudentCard section span{display:block;color:#8b94a6;font-size:9px;font-weight:800}.v55StudentCard section p{margin:3px 0 0;color:#3e4b65;font-size:10px;line-height:1.6}.v55StudentCard .metrics{display:flex;justify-content:space-between;gap:6px}.v55StudentCard .metrics span{color:#8b94a6;font-size:9px}.v55StudentCard .metrics b{color:#35425c}.v55StudentCard footer{margin-top:9px;padding-top:9px;border-top:1px solid #eef0f5}.v55StudentCard footer span,.v55StudentCard footer strong{display:block}.v55StudentCard footer span{color:#9aa2b2;font-size:8px}.v55StudentCard footer strong{margin-top:2px;color:#59657c;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v55StudentCommandDetail>header{display:flex;align-items:center;justify-content:space-between}.v55StudentCommandDetail>header span{color:#6366f1;font-size:10px;font-weight:900}.v55StudentCommandDetail>header h3{margin:3px 0 0;color:#202c46}.v55NextAction{margin-top:15px;padding:17px;border-radius:18px;background:linear-gradient(120deg,#312e81,#5b55d9);color:#fff}.v55NextAction span,.v55NextAction strong,.v55NextAction small{display:block}.v55NextAction span{color:#c7d2fe;font-size:10px;font-weight:900}.v55NextAction strong{margin:6px 0;font-size:17px;line-height:1.65}.v55NextAction small{color:#e0e7ff}.v55LatestPlan{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:13px;border:1px solid #e5e8f1;border-radius:15px}.v55LatestPlan span,.v55LatestPlan strong{display:block}.v55LatestPlan span{color:#8b94a6;font-size:9px}.v55LatestPlan strong{margin-top:3px;color:#33405b}.v55LatestPlan a{font-size:11px;font-weight:900}.v55KeyCharts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.v55KeyCharts article,.v55SubjectShare{padding:13px;border:1px solid #e7eaf2;border-radius:17px}.v55KeyCharts header{display:flex;justify-content:space-between}.v55KeyCharts header span,.v55KeyCharts header strong{font-size:9px}.v55KeyCharts header span{color:#68758d;font-weight:900}.v55KeyCharts header strong{color:#9aa3b5}.v55KeyCharts article>div{height:190px}.v55SubjectShare{margin-top:10px}.v55SubjectShare>header{display:flex;justify-content:space-between}.v55SubjectShare>header span,.v55SubjectShare>header strong{display:block}.v55SubjectShare>header span{color:#6366f1;font-size:9px;font-weight:900}.v55SubjectShare>header strong{color:#27334d}.v55SubjectShare>header em{font-style:normal;color:#4f46e5;font-weight:900}.v55SubjectShareBody{display:grid;grid-template-columns:210px minmax(0,1fr);align-items:center;gap:15px;margin-top:10px}.v55SubjectShareBody>canvas{width:210px!important;height:210px!important}.v55SubjectShareBody>div{display:grid;gap:7px}.v55SubjectShareBody>div span{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:7px;align-items:center;padding:7px;border-radius:10px;background:#f8f9fc}.v55SubjectShareBody>div i{width:9px;height:9px;border-radius:50%;background:#6366f1}.v55SubjectShareBody b,.v55SubjectShareBody em{font-size:10px}.v55SubjectShareBody em{font-style:normal;color:#6366f1}.v55StudentQuickActions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.v55StudentQuickActions a{padding:10px;border-radius:12px;background:#f2f4ff;color:#4f46e5;text-align:center;text-decoration:none;font-size:10px;font-weight:900}

/* V55 roadmap: wider picker + persistent server basket + meaningful strategy */
.roadmapBuilderV44{max-width:none}.roadmapBuilderGridV44{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important;align-items:start}.roadmapScopeChecklistV44{min-height:460px;max-height:680px;padding:12px}.roadmapCheckRowV44{min-height:58px}.roadmapCheckRowV44>div strong{font-size:12px}.roadmapBasketV44{position:sticky;top:18px}.v55StrategyChooser{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.v55StrategyCard{position:relative;display:grid;gap:6px;padding:14px;border:1px solid #e3e7f0;border-radius:17px;background:#fff;cursor:pointer;transition:.18s ease}.v55StrategyCard input{position:absolute;opacity:0}.v55StrategyCard .icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eef2ff;color:#4f46e5;font-size:17px;font-weight:900}.v55StrategyCard strong{color:#28354e}.v55StrategyCard small{min-height:34px;color:#7b869b;font-size:9px;line-height:1.6}.v55StrategyCard>div{display:flex;gap:4px;flex-wrap:wrap}.v55StrategyCard>div b{padding:4px 6px;border-radius:8px;background:#f6f7fb;color:#69758b;font-size:8px}.v55StrategyCard.active{border-color:#6366f1;background:#f8f9ff;box-shadow:0 10px 24px rgba(79,70,229,.1)}.v55StrategyCard.active:after{content:"✓";position:absolute;top:10px;left:10px;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#4f46e5;color:#fff;font-weight:900}.v55RoadmapConfirmGrid{grid-template-columns:220px minmax(0,1fr)!important}.roadmapDetailCardV44 header small{max-width:760px}.progressTargetSettingsV41 form{grid-template-columns:repeat(4,minmax(120px,1fr))!important}

@media(max-width:1100px){.v55AiDualWorkspace,.v55StudentCommandLayout{grid-template-columns:1fr}.v55ExecutionList{grid-template-columns:1fr}.v55CommandPulse{min-width:210px}.roadmapBuilderGridV44{grid-template-columns:1fr!important}.roadmapBasketV44{position:static}.v55StrategyChooser{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.v55BriefingStack{top:max(68px,calc(env(safe-area-inset-top) + 58px));left:10px;width:calc(100vw - 20px)}.v55BriefingCard{grid-template-columns:40px minmax(0,1fr);padding:12px;border-radius:17px}.v55BriefingIcon{width:40px;height:40px}.v55CommandHero{align-items:flex-start;flex-direction:column;padding:20px;border-radius:22px}.v55CommandPulse{width:100%;min-width:0}.v55AiDualWorkspace,.v55AiOutputBand,.v55KeyCharts{grid-template-columns:1fr}.v55AiPane,.v55ExecutionHistory,.v55AiOutputBand>article{padding:15px;border-radius:20px}.v55ContextStrip{grid-template-columns:1fr}.v55PromptDeck,.v55ActionPicker{grid-template-columns:1fr}.v55ExecutionCard footer{align-items:flex-start;flex-direction:column}.v55StudentCommandHead{align-items:flex-start;flex-direction:column;padding:18px}.v55StudentCommandHead>div:last-child{width:100%;height:70px}.v55StudentCommandList,.v55StudentCommandDetail{padding:13px;border-radius:19px}.v55StudentCommandTools{grid-template-columns:1fr}.v55SubjectShareBody{grid-template-columns:1fr}.v55SubjectShareBody>canvas{justify-self:center}.v55StudentQuickActions{grid-template-columns:1fr}.v55StrategyChooser{grid-template-columns:1fr}.roadmapScopeChecklistV44{min-height:360px}.v55RoadmapConfirmGrid{grid-template-columns:1fr!important}.progressTargetSettingsV41 form{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:420px){.v55BriefingActions{display:grid;grid-template-columns:1fr 1fr}.v55BriefingActions button{width:100%}.v55ExecutionCard footer>div{display:grid;grid-template-columns:1fr 1fr;width:100%}.v55ExecutionCard footer button{width:100%}.v55StrategyCard{padding:12px}.progressTargetSettingsV41 form{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.v55BriefingCard,.v55BriefingStack,.v55PromptDeck button,.v55StudentCard,.v55StrategyCard{transition:none!important}.v55BriefingTimer{animation:none!important}}
.v55InsightStrip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.v55InsightStrip article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 15px;border:1px solid #e5e9f2;border-radius:18px;background:#fff}.v55InsightStrip article.danger{border-right:4px solid #ef4444;background:#fffafa}.v55InsightStrip article.warning{border-right:4px solid #f59e0b;background:#fffdf7}.v55InsightStrip article.info{border-right:4px solid #6366f1;background:#fafaff}.v55InsightStrip span,.v55InsightStrip strong,.v55InsightStrip p{display:block}.v55InsightStrip span{font-size:8px;font-weight:900;color:#7c86a0}.v55InsightStrip strong{margin-top:4px;color:#26324a;font-size:11px}.v55InsightStrip p{margin:4px 0 0;color:#6b768d;font-size:9px;line-height:1.75}.v55InsightStrip a{padding:8px 10px;border-radius:10px;background:#eef2ff;color:#4f46e5;text-decoration:none;font-size:9px;font-weight:900;white-space:nowrap}@media(max-width:1000px){.v55InsightStrip{grid-template-columns:1fr}}@media(max-width:520px){.v55InsightStrip article{grid-template-columns:1fr}.v55InsightStrip a{text-align:center}}
