.dash-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin:.25rem 0 .75rem;display:flex}.dash-toolbar .hint{margin-right:auto}.dash-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-flow:dense;gap:1rem;display:grid}.dash-item{border-radius:var(--radius);min-width:0}.dash-item.size-s{grid-column:span 2}.dash-item.size-m{grid-column:span 3}.dash-item.size-l{grid-column:span 6}.dash-item.arranging{outline:2px dashed var(--line-strong);outline-offset:4px;background:var(--surface)}.dash-item.dragging{z-index:5;opacity:.92;box-shadow:var(--shadow-raised)}.dash-body>*{height:100%;margin:0}.dash-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.dash-handle{border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);cursor:grab;touch-action:none;box-shadow:none;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .6rem;font-weight:600;display:inline-flex}.dash-item.dragging .dash-handle{cursor:grabbing}.dash-sizes{border:1px solid var(--line-strong);border-radius:999px;display:inline-flex;overflow:hidden}.dash-sizes button{min-height:1.7rem;color:var(--ink-soft);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 .6rem}.dash-sizes button.on{background:var(--navy);color:#fff}@media (width<=60rem){.dash-item.size-s,.dash-item.size-m{grid-column:span 3}}@media (width<=40rem){.dash-grid{grid-template-columns:minmax(0,1fr)}.dash-item.size-s,.dash-item.size-m,.dash-item.size-l{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.dash-item{transition:none!important}}.day-section-empty{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;font-weight:600;display:flex}.pinned-answer .pinned-head{justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.pinned-answer h3{margin:0;font-size:1rem}.pinned-answer .headline-value{margin:.35rem 0 0}.change-pill.inline{background:0 0;border:0;padding:0;font-weight:700;display:inline}.change-pill.inline.good{color:var(--success)}.change-pill.inline.bad{color:var(--danger)}:root{--navy:#14243b;--navy-dark:#0f1d33;--navy-mid:#29415c;--navy-tint:#edf0f3;--ink:#14243b;--ink-soft:#58616a;--ink-faint:#58616a;--paper:#f7f7f2;--paper-deep:#edeee5;--surface:#fff;--line:#dcded7;--line-strong:#b5b9ad;--gold:#c4a35f;--gold-ink:#80652e;--gold-tint:#f5efdf;--marigold:#d4920a;--marigold-tint:#fdf3dc;--danger:#b42318;--danger-tint:#fbeae6;--success:#176447;--success-tint:#e5f3eb;--warning:#815500;--accent:#c23624;--focus-ring:#14243b;--radius-small:3px;--radius:6px;--shadow-raised:0 1px 2px #15233a0f, 0 10px 28px #15233a12;--sidebar-width:15rem;--focus:0 0 0 3px color-mix(in srgb, var(--navy) 45%, transparent);--font:"Plus Jakarta Sans", "Noto Sans Malayalam", system-ui, sans-serif;--font-display:"Plus Jakarta Sans", "Noto Sans Malayalam", system-ui, sans-serif;--font-wordmark:"Cabinet Grotesk", "Plus Jakarta Sans", system-ui, sans-serif;color:var(--ink);background:var(--paper);font-family:var(--font);-webkit-text-size-adjust:100%;font-optical-sizing:auto;font-size:16px;line-height:1.45}html:lang(ml){font-family:"Noto Sans Malayalam", var(--font);line-height:1.65}html:lang(ml) *{letter-spacing:normal}html:lang(ml) :is(h1,h2,h3,h4,.sidebar .brand,.product-nav a,.login-form .field-hint,.login-powered,.cell-subject,.cell-teacher,.loading-label,.month-event,.lesson,.risk-who,.following,.class-figures.compact dd .hint,.user-text,.topbar-greeting,.palette-text,.choice-menu){line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:radial-gradient(110% 70% at 100% -10%, color-mix(in srgb, var(--navy) 8%, transparent), transparent 55%), radial-gradient(80% 50% at -5% 100%, color-mix(in srgb, var(--gold) 7%, transparent), transparent 50%), var(--paper);min-height:100vh;margin:0}a{color:var(--navy)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{box-shadow:var(--focus);outline:none}h1,h2{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);font-weight:700;line-height:1.2}h2{margin:0 0 1rem;font-size:clamp(1.45rem,2vw,1.7rem)}h3{font-family:var(--font);letter-spacing:-.01em;text-transform:none;color:var(--ink);margin:1.5rem 0 .65rem;font-size:.95rem;font-weight:600}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(165deg, var(--navy-mid) 0%, var(--navy) 48%, var(--navy-dark) 100%);color:#fff;border-right:1px solid color-mix(in srgb, var(--gold) 28%, transparent);height:100vh;padding:1.1rem .55rem 1.5rem;position:sticky;top:0;overflow-y:auto}.sidebar .brand{color:#fff;align-items:center;gap:.65rem;padding:.35rem .55rem 1.35rem;line-height:1.2;text-decoration:none;display:flex}.sidebar .brand .wordmark{font-family:var(--font-wordmark);letter-spacing:-.03em;font-size:1.15rem;font-weight:700}.sidebar .brand small{font-family:var(--font);letter-spacing:0;opacity:.72;margin-top:.15rem;font-size:.78rem;font-weight:500;display:block}.nav-group{margin-bottom:.85rem}.nav-group-label{letter-spacing:.06em;text-transform:uppercase;color:#ffffff7a;margin:0 0 .25rem;padding:0 .55rem;font-size:.72rem;font-weight:600}.product-nav ul{margin:0;padding:0;list-style:none}.product-nav a{border-radius:var(--radius-small);color:#ffffffeb;border-left:2px solid #0000;padding:.48rem .65rem;font-size:.95rem;font-weight:500;line-height:1.35;text-decoration:none;display:block}.product-nav a:hover{color:#fff;background:#ffffff14}.product-nav a.active{border-left-color:var(--gold);color:#fff;background:#ffffff24;font-weight:600}.product-nav .nav-home{border-bottom:1px solid #ffffff1f;margin:0 0 .85rem;padding-bottom:.65rem}.product-nav .nav-home a{font-weight:600}.main-column{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;min-height:3.5rem;padding:.5rem 1.5rem;padding-top:max(.5rem, env(safe-area-inset-top));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.topbar .school-name{font-weight:700;display:none}.topbar .spacer{flex:1}.menu-button{display:none}.language-switch{align-items:center;gap:.4rem;margin:0;font-size:.9rem;display:flex}.language-switch select{padding:.3rem .4rem}main{width:100%;max-width:78rem;padding:1.5rem 1.5rem 4rem}.scrim{display:none}@media (width<=60rem){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(18rem,85vw);transition:transform .18s ease-out;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.nav-open .sidebar{transform:translate(0)}.app.nav-open .scrim{z-index:30;background:#1d243366;display:block;position:fixed;inset:0}.menu-button{display:inline-flex}.topbar{padding-inline:.75rem}.topbar .school-name{text-overflow:ellipsis;white-space:nowrap;display:flex;overflow:hidden}.language-switch span{display:none}main{padding:1.25rem .9rem 5rem}h2{font-size:1.35rem}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}label{max-width:26rem;color:var(--ink-soft);flex-direction:column;gap:.3rem;margin-bottom:.9rem;font-size:.95rem;display:flex}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-small);background:var(--surface);min-height:2.6rem;color:var(--ink);padding:.5rem .65rem}select[multiple]{min-height:8rem}input[type=checkbox],input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--navy)}button{border:1px solid var(--navy);border-radius:var(--radius-small);background:var(--navy);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;min-height:2.6rem;padding:.5rem 1rem;font-weight:700;display:inline-flex}button:not([class]):hover{background:var(--navy-dark)}button:disabled{opacity:.5;cursor:not-allowed}button.secondary,button[type=button].secondary{background:var(--surface);color:var(--navy);border-color:var(--line-strong)}button.secondary:hover{background:var(--navy-tint)}button.danger{background:var(--surface);color:var(--danger);border-color:var(--danger)}button.quiet{color:var(--navy);background:0 0;border-color:#0000;padding-inline:.5rem}fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0 0 1.25rem;padding:1rem 1.1rem .4rem}legend{color:var(--ink);padding:0 .35rem;font-weight:700}.stack{max-width:36rem}label.inline{color:var(--ink);flex-direction:row;align-items:center;gap:.5rem;margin-bottom:.5rem}.inline-options{flex-wrap:wrap;gap:.25rem 1.25rem;margin-bottom:.75rem;display:flex}.two-column{grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:1rem 2.5rem;display:grid}.row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.row-actions button{min-height:2.2rem;padding:.3rem .65rem;font-size:.9rem}[role=alert]{border-left:4px solid var(--danger);background:var(--danger-tint);border-radius:var(--radius-small);margin:.75rem 0;padding:.75rem .9rem}[role=status]{border-left:4px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-small);margin:.75rem 0;padding:.6rem .85rem}.notice-success{border-left-color:var(--success)!important;background:var(--success-tint)!important}.problem ul{margin:.25rem 0 0}.problem .request-id{color:var(--ink-faint);margin:.25rem 0 0}table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:.95rem;overflow:hidden}caption{text-align:left;padding:0 0 .5rem;font-weight:700}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:.6rem .75rem}thead th{background:var(--paper);color:var(--ink-soft);font-size:.85rem;font-weight:700}tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}.table-scroll{-webkit-overflow-scrolling:touch;margin-bottom:1.5rem;overflow-x:auto}main table{display:block;overflow-x:auto}@media (width>=60rem){main table{display:table}}.plain-list{columns:15rem;padding-left:1.1rem}.home>h2{margin-bottom:.35rem}.home-primary{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);box-shadow:var(--shadow-raised);margin:.75rem 0 1.5rem;padding:1.1rem 1.15rem 1.25rem}.home-primary>:first-child{margin-top:0}.home-secondary{max-width:36rem;margin-top:.5rem}.home-links{margin:0;padding:0;list-style:none}.home-links.home-quiet{border-top:1px solid var(--line);flex-direction:column;gap:0;display:flex}.home-links.home-quiet a{border-bottom:1px solid var(--line);color:var(--ink);box-shadow:none;background:0 0;border-inline:0;border-radius:0;padding:.55rem 0;font-size:.95rem;font-weight:500;text-decoration:none;display:block}.home-links.home-quiet a:hover{color:var(--navy);border-color:var(--line);box-shadow:none}.setup-steps{counter-reset:setup;max-width:36rem}.setup-steps li{counter-increment:setup;list-style:none}.setup-steps a{border-bottom:1px solid var(--line);color:var(--ink);align-items:baseline;gap:.65rem;padding:.45rem 0;font-weight:500;text-decoration:none;display:flex}.setup-steps a:before{content:counter(setup);font-family:var(--font-display);color:var(--navy);min-width:1.25rem;font-weight:700}.family-home-lead{background:var(--navy-tint);border-radius:var(--radius);border-left:3px solid var(--navy);margin:0 0 1rem;padding:.85rem 1rem}.family-home-lead p{margin:0 0 .5rem}.family-home-lead p:last-child{margin-bottom:0}.credential-slip{border:2px dashed var(--navy);border-radius:var(--radius);background:var(--surface);max-width:28rem;margin:1rem 0;padding:1rem 1.25rem}.credential-slip dl{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 .5rem;display:grid}.credential-slip dt{font-weight:700}.credential-slip dd{word-break:break-all;margin:0;font-size:1.2rem}.subject-chip{background:color-mix(in srgb, var(--subject,var(--navy)) 14%, white);color:color-mix(in srgb, var(--subject,var(--navy)) 80%, black);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:.85rem;font-weight:700;display:inline-flex}.app.signed-out{background:radial-gradient(90% 60% at 85% 0%, color-mix(in srgb, var(--navy) 10%, transparent), transparent 55%), radial-gradient(70% 50% at 10% 100%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 50%), linear-gradient(180deg, var(--paper) 0%, var(--paper-deep) 100%);min-height:100vh}.app.signed-out .main-column{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.app.signed-out main{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--radius);width:min(22rem,100% - 2rem);box-shadow:var(--shadow-raised);margin:0 auto;padding:1.35rem 1.35rem 1.45rem}.app.signed-out main>.login-panel{margin:0}.app.signed-out main h2{letter-spacing:-.02em;color:var(--ink);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.login-brand-row{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 1rem;display:flex}.login-brand{align-items:center;gap:.65rem;margin:0;display:flex}.login-brand .wordmark{font-family:var(--font-wordmark);letter-spacing:-.03em;text-transform:none;color:var(--navy);font-size:1.2rem;font-weight:700}.login-lang{flex:none;justify-content:flex-end;margin:0;display:flex}.login-lang label{gap:0;max-width:none;margin:0}.login-lang select{min-height:1.85rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.2rem .35rem;font-size:.8125rem}.login-lang select:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.login-form{flex-direction:column;gap:.85rem;width:100%;margin:0;display:flex}.login-form .field{flex-direction:column;gap:.35rem;max-width:none;margin:0;display:flex}.login-form .field>label{max-width:none;color:var(--ink);gap:0;margin:0;font-size:.8125rem;font-weight:600}.login-form .field>input,.login-form .field>textarea,.login-form .password-field input{box-sizing:border-box;width:100%;min-height:2.65rem;margin:0}.login-form .field-hint{color:var(--ink-soft);margin:0;font-size:.8125rem;line-height:1.35}.login-submit{box-sizing:border-box;width:100%;min-height:2.65rem;margin:.15rem 0 0}.login-powered{border-top:1px solid var(--line);color:var(--ink-faint);letter-spacing:.02em;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .45rem;margin:1.35rem 0 0;padding-top:.85rem;font-size:.72rem;font-weight:500;line-height:1.2;display:flex}.login-powered-brand{color:color-mix(in srgb, var(--ink-soft) 72%, var(--ink-faint));letter-spacing:.01em;align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.login-powered-brand .extheon-mark{object-fit:contain;opacity:.7;width:.9rem;height:.9rem;display:block}.login-secondary-actions{flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:.25rem;display:flex}.login-secondary-actions .quiet{min-height:0;color:var(--ink-soft);text-underline-offset:.15em;background:0 0;border:0;padding:.25rem 0;font-size:.875rem;text-decoration:underline}.login-secret{letter-spacing:.04em;word-break:break-all;background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-small);padding:.65rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.95rem;display:block}.login-codes{background:var(--canvas);border:1px solid var(--line);border-radius:var(--radius-small);margin:0;padding:.65rem .75rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;list-style:none}.login-codes li+li{margin-top:.35rem}.totp-qr{border:1px solid var(--line);border-radius:var(--radius-small);background:#fff;margin:.75rem 0 1.25rem;padding:.75rem;display:inline-block}.totp-qr img{image-rendering:pixelated;max-width:100%;height:auto;display:block}@media print{.sidebar,.topbar,button,form{display:none!important}.app{display:block}.credential-slip{border:1px solid #000}}.signed-in-name{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;font-size:.9rem;overflow:hidden}@media (width<=40rem){.signed-in-name{display:none}}.hint{color:var(--ink-faint);font-size:.85rem}.planner-head{flex-wrap:wrap;align-items:flex-end;gap:.5rem 1.5rem;display:flex}.planner-head h2{margin-bottom:.9rem}.planner-class select{min-width:11rem;font-weight:700}.planner-status[role=status]{background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:0;display:flex}.planner-body{grid-template-columns:19rem minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.planner-mapping{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.25rem 1rem .75rem}.planner-mapping h3{margin-top:.9rem}.planner-mapping ul{margin:0 0 1rem;padding:0;list-style:none}.planner-mapping li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:.35rem;padding:.6rem 0 .7rem;display:grid}.planner-mapping li select{border-left:4px solid var(--subject);grid-column:1/-1;min-height:2.3rem}.mapping-load{color:var(--ink-faint);align-self:center;font-size:.85rem}.planner-grid{table-layout:fixed}.planner-grid th[scope=row]{white-space:nowrap;width:5.5rem;font-size:.9rem}.planner-grid th small{color:var(--ink-faint);font-size:.75rem;font-weight:400;display:block}.planner-grid td{padding:.25rem}.planner-cell{text-align:left;background:color-mix(in srgb, var(--subject) 12%, white);border:1px solid color-mix(in srgb, var(--subject) 30%, white);border-left:4px solid var(--subject);width:100%;min-height:4rem;color:var(--ink);flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.1rem;padding:.4rem .5rem;font-weight:400}.planner-cell:hover{background:color-mix(in srgb, var(--subject) 20%, white)}.planner-cell.empty{background:var(--surface);border:1px dashed var(--line-strong)}.planner-cell.empty:hover{background:var(--navy-tint)}.planner-cell.clash{border-color:var(--danger);border-left-color:var(--danger);background:var(--danger-tint)}.cell-subject{font-size:.9rem;font-weight:700;line-height:1.2}.cell-teacher{color:var(--ink-soft);font-size:.8rem;line-height:1.2}.cell-free{color:var(--ink-faint);font-size:.85rem}.cell-clash{color:var(--danger);font-size:.75rem;font-weight:700}.planner-days{gap:.3rem;margin-bottom:.6rem;display:none;overflow-x:auto}.planner-days button{min-width:3.5rem;min-height:2.3rem;padding:.3rem .6rem}.planner-actions{padding:.75rem 0;padding-bottom:max(.75rem, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--paper) 75%, transparent);flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:.75rem;margin-top:1.25rem;display:flex;position:sticky;bottom:0}.planner-actions label{margin:0}.planner-picker{border-radius:var(--radius);border:none;width:min(32rem,100vw - 2rem);padding:1.25rem;box-shadow:0 12px 40px #1d243340}.planner-picker::backdrop{background:#1d243373}.planner-picker h3{margin:0}.picker-options{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;margin:1rem 0;display:grid}.picker-option{text-align:left;min-height:3.5rem;color:var(--ink);background:color-mix(in srgb, var(--subject) 10%, white);border:1px solid color-mix(in srgb, var(--subject) 35%, white);border-left:4px solid var(--subject);flex-direction:column;align-items:flex-start;font-weight:400}.picker-option:hover{background:color-mix(in srgb, var(--subject) 20%, white)}@media (width<=60rem){.planner-body{grid-template-columns:minmax(0,1fr)}.planner-days{display:flex}.planner-grid .not-mobile-day{display:none}main table.planner-grid{display:table}.planner-picker{border-radius:var(--radius) var(--radius) 0 0;width:100vw;max-width:100vw;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));margin:auto 0 0}}.language-switch{max-width:none;color:var(--ink-soft);flex-direction:row}.sidebar{flex-direction:column;display:flex}.sidebar .product-nav{flex:1}.sidebar-footer{border-top:1px solid #fff3;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:1rem;padding:1rem .6rem 0;display:flex}.sidebar-footer .signed-in-name{color:#fff;max-width:100%;font-weight:700;display:block}.sidebar-footer button.secondary{color:#fff;background:0 0;border-color:#ffffff73}.sidebar-footer button.secondary:hover{background:#ffffff1f}@media (width<=60rem){.planner-grid th[scope=row]{width:4.5rem}.planner-grid td.is-mobile-day{width:auto}.planner-actions{justify-content:stretch}.planner-actions>*{flex:auto}}.child-switcher{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.overview-person h3{margin:.5rem 0 0;font-size:1.35rem}.overview-person p{margin:.15rem 0 1rem}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));align-items:start;gap:1rem;display:grid}.overview-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.25rem 1.1rem 1rem}.overview-card h3{color:var(--ink-soft);margin:.9rem 0 .5rem;font-size:1rem}.big-figure{color:var(--ink);margin:0;font-size:2.2rem;font-weight:700;line-height:1.1}.big-figure.warn,.attention{color:var(--danger)}.lesson-list{margin:0;padding:0;list-style:none}.lesson-list li{border-left:4px solid var(--subject,var(--line));background:color-mix(in srgb, var(--subject,var(--line)) 8%, white);border-radius:0 var(--radius-small) var(--radius-small) 0;grid-template-columns:6.5rem 1fr;column-gap:.6rem;margin-bottom:.3rem;padding:.45rem 0 .45rem .6rem;display:grid}.lesson-list li .hint{grid-column:2}.lesson-list li.cancelled strong{text-decoration:line-through}.lesson-time{color:var(--ink-soft);grid-row:span 2;font-size:.85rem}.plain-rows{margin:.5rem 0 0;padding:0;list-style:none}.plain-rows li{border-bottom:1px solid var(--line);justify-content:space-between;gap:.75rem;padding:.35rem 0;font-size:.9rem;display:flex}.fee-amount{font-variant-numeric:tabular-nums;text-align:right;min-width:5.5rem}.fee-amount-in{color:var(--success)}.fee-amount-out{color:var(--ink)}.fee-amount-neutral{color:var(--ink-soft);font-weight:500}.step-up{background:#fff;border-radius:16px;max-width:26rem;margin:.75rem 0 1.25rem;padding:1.1rem 1.25rem 1.25rem;box-shadow:0 1px 2px #15233a14,0 8px 24px #15233a14}.step-up h3{align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.05rem;display:flex}.step-up h3:before{content:"";background:var(--accent,#2a78d6);width:1.1rem;height:1.1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 9V6.5a4 4 0 0 1 8 0V9M4.5 9h11v8h-11z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 9V6.5a4 4 0 0 1 8 0V9M4.5 9h11v8h-11z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.step-up>p{color:var(--ink-soft);margin:0 0 .9rem}.step-up form{gap:.65rem;display:grid}.step-up form label{gap:.3rem;display:grid}.step-up form button{justify-self:start}.wizard-steps{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.wizard-steps .seg{margin:0}.review-summary{grid-template-columns:minmax(8rem,12rem) 1fr;gap:.35rem 1rem;margin:0 0 1rem;display:grid}.review-summary dt{color:var(--ink-soft)}.review-summary dd{margin:0;font-weight:600}.password-field{width:100%;max-width:none;margin:0;display:block;position:relative}.password-field input{box-sizing:border-box;width:100%;margin:0;padding-right:2.75rem}.password-reveal{border-radius:var(--radius-small);width:2.25rem;height:2.25rem;min-height:0;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.password-reveal:hover,.password-reveal[aria-pressed=true]{color:var(--ink);background:#12263a0f}.password-reveal:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.family-home-lead{border-bottom:1px solid var(--line);max-width:36rem;margin:0 0 1.5rem;padding-bottom:1rem}.button-like{border-radius:var(--radius-small);background:var(--navy);color:#fff;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-block}.button-like:hover{background:var(--navy-dark);color:#fff}.notice-list .notice{margin-bottom:.75rem}@media (width<=60rem){.sidebar[inert],.sidebar[aria-hidden=true]{visibility:hidden;pointer-events:none}.app.nav-open .sidebar{visibility:visible;pointer-events:auto}}.overview-card details summary{cursor:pointer;color:var(--navy);margin-top:.5rem}.notice{border-bottom:1px solid var(--line);padding:.5rem 0}.notice h4{margin:0}.notice p{margin:.2rem 0}.student-picker{max-width:30rem;margin-bottom:1rem}.picker-results{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.picker-results button{justify-content:space-between;width:100%;font-weight:400}.day-nav{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.75rem;display:flex}.day-nav strong,.day-nav-date{text-align:center;min-width:10rem;margin:0;font-size:1.1rem}.period-status{color:var(--ink-soft);font-size:.85rem;font-weight:600}.period-status.state-submitted{color:var(--success)}.period-status.state-draft{color:var(--marigold)}a.button-link{border-radius:var(--radius-small);background:var(--navy);color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-height:2.6rem;padding:.5rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}a.button-link.secondary{background:var(--surface);color:var(--navy);border:1px solid var(--line-strong)}.period-cards{gap:.6rem;padding:0;list-style:none;display:grid}.period-cards li{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--subject,var(--navy));border-radius:var(--radius);grid-template-columns:6rem 1fr auto;align-items:center;gap:.75rem;padding:.75rem 1rem;display:grid}.period-cards li.done{opacity:.75}.period-when,.period-what{flex-direction:column;display:flex}.period-when span{color:var(--ink-soft);font-size:.85rem}@media (width<=34rem){.period-cards li{grid-template-columns:4.5rem 1fr}.period-cards li a.button-link{grid-column:1/-1}}.register-counts{flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0 1rem;display:flex}.register-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:0;list-style:none}.register-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.register-list li:last-child{border-bottom:none}.register-list li.mark-absent{background:var(--danger-tint)}.register-list li.mark-late{background:var(--marigold-tint)}.register-name{font-weight:700}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-small);flex-shrink:0;display:inline-flex;overflow:hidden}.segmented .seg{border:none;border-left:1px solid var(--line);background:var(--surface);min-width:2.75rem;min-height:2.6rem;color:var(--ink-soft);border-radius:0}.segmented .seg:first-child{border-left:none}.segmented .seg[aria-pressed=true].seg-present{background:var(--success);color:#fff}.segmented .seg[aria-pressed=true].seg-absent{background:var(--danger);color:#fff}.segmented .seg[aria-pressed=true].seg-late{background:var(--marigold);color:var(--ink)}.segmented .seg[aria-pressed=true].seg-excused{background:var(--ink-soft);color:#fff}.sticky-actions{padding:.75rem 0;padding-bottom:max(.75rem, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--paper) 75%, transparent);justify-content:flex-end;gap:.6rem;display:flex;position:sticky;bottom:0}@media (width<=34rem){.sticky-actions>*{flex:1}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.picked-person{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:1rem;font-size:1.15rem;display:flex}.charge-list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1rem;padding:0;list-style:none}.charge-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.charge-list li:last-child{border-bottom:none}.charge-list li>div{flex-direction:column;display:flex}.amount-field{max-width:11rem;color:var(--ink);flex-direction:row;align-items:center;gap:.35rem;margin:0;font-weight:700}.amount-field input{text-align:right;width:9rem;font-weight:700}.segmented.wide{margin-bottom:.9rem}.segmented.wide .seg{min-width:6rem;font-weight:700}.segmented.wide .seg[aria-pressed=true]{background:var(--navy);color:#fff}.receipt{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:30rem;margin-bottom:1rem;padding:1rem 1.25rem}.receipt dl{grid-template-columns:auto 1fr;gap:.4rem 1rem;display:grid}.receipt dt{color:var(--ink-soft)}.receipt dd{margin:0}@media print{.receipt{border:1px solid #000}}.class-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.2rem .75rem;margin-bottom:.5rem;display:grid}.chips{flex-wrap:wrap;gap:.35rem;padding:0;list-style:none;display:flex}.chips li{background:var(--navy-tint);border-radius:999px;align-items:center;gap:.2rem;padding:0 0 0 .6rem;display:inline-flex}.chips li button{min-height:2rem;padding:0 .6rem}.notice-list{margin:0;padding:0;list-style:none}.notice-list li{border-bottom:1px solid var(--line);flex-direction:column;gap:.2rem;padding:.7rem 0;display:flex}.notice-list li p{margin:.2rem 0 .4rem}.notice-list li button{align-self:flex-start}.marks-list li{flex-wrap:wrap}.mark-inputs{align-items:center;gap:.5rem;display:flex}.mark-inputs input[inputmode=decimal]{text-align:right;width:5rem;font-weight:700}.mark-inputs input.invalid{border-color:var(--danger);box-shadow:0 0 0 2px var(--danger-tint)}.mark-inputs label.inline{margin:0}.save-state{width:1rem;color:var(--success);font-weight:700}@media (width<=34rem){.day-nav{grid-template-columns:auto 1fr auto;display:grid}.day-nav strong,.day-nav-date{min-width:0;font-size:1rem}.day-nav .quiet{grid-column:1/-1}}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 1rem;display:flex}.empty-state{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-soft);padding:1.25rem 1rem}.risk-list{gap:.6rem;padding:0;list-style:none;display:grid}.risk-list li{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--danger);border-radius:var(--radius);grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;padding:.75rem 1rem;display:grid}.risk-list li.risk-missing_work{border-left-color:var(--marigold)}.risk-list li.acknowledged{border-left-color:var(--line-strong)}.risk-who{flex-direction:column;gap:.15rem;display:flex}.risk-dismiss{flex-wrap:wrap;grid-column:1/-1;align-items:end;gap:.5rem 1rem;display:flex}@media (width<=34rem){.risk-list li{grid-template-columns:1fr}}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.inline-fields{flex-wrap:wrap;gap:.75rem;display:flex}.inline-fields>label{flex:10rem}.inline-fields .form-end{align-items:end;display:flex}.file-pick{background:var(--surface);border:2px dashed var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.4rem;max-width:100%;padding:1rem 1.25rem;font-weight:600;display:inline-flex}.import-result{margin-top:1rem}.details-group{margin-bottom:.75rem}.details-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.6rem 1rem;display:grid}.details-grid .wide{grid-column:1/-1}.field-problem{color:var(--danger);font-size:.85rem}.details-view{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.details-view h4{margin:0 0 .4rem}.details-view dl,.profile-facts{gap:.35rem;margin:0;display:grid}.details-view dl div,.profile-facts div{grid-template-columns:minmax(8rem,40%) 1fr;gap:.5rem;display:grid}.details-view dt,.profile-facts dt{color:var(--ink-soft)}.details-view dd,.profile-facts dd{margin:0}.profile-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.cover-periods{gap:.5rem;padding:0;list-style:none;display:grid}.cover-period{text-align:left;background:var(--surface);width:100%;color:var(--ink);border:1px solid var(--line);border-left:5px solid var(--subject,var(--navy));border-radius:var(--radius);grid-template-columns:7rem 1fr auto;align-items:center;gap:.75rem;padding:.7rem 1rem;font-weight:400;display:grid}.cover-period.selected{outline:3px solid var(--navy);outline-offset:1px}.cover-period:disabled{opacity:.65;cursor:default}.cover-when,.cover-what{flex-direction:column;display:flex}.cover-when span,.cover-what span,.cover-state{color:var(--ink-soft);font-size:.85rem}.cover-pick{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:1rem}.teacher-choices{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.teacher-choice{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;display:flex}.teacher-choice span{flex-direction:column;display:flex}.teacher-choice:has(input:checked){border-color:var(--navy);background:var(--navy-tint,#e8eef7)}.teacher-choice.busy{opacity:.55;cursor:not-allowed}@media (width<=34rem){.cover-period{grid-template-columns:4.5rem 1fr}.cover-state{grid-column:1/-1}}.sidebar .brand{align-items:center;gap:.65rem;display:flex}.sidebar .brand>span{letter-spacing:.01em;flex-direction:column;display:flex}.topbar .school-name{align-items:center;gap:.5rem}.wordmark{font-family:var(--font-wordmark);text-transform:none;letter-spacing:-.03em;font-weight:700}.avatar{object-fit:cover;background:var(--navy-tint,#e8eef7);color:var(--navy);border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.profile-head,.photo-editor{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.photo-actions{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.photo-pick input{opacity:0;width:1px;height:1px;position:absolute}.photo-pick{cursor:pointer;position:relative}.overview-person{flex-wrap:wrap;align-items:center;column-gap:.9rem;display:flex}.loading{color:var(--ink-soft);align-items:center;gap:.65rem;margin:0;font-size:.9375rem;font-weight:500;display:inline-flex}.loading-label{line-height:1.3}.loading--block{text-align:center;box-sizing:border-box;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;width:100%;min-height:10rem;padding:1.75rem 1rem;display:flex}.loading--block .spinner{border-width:3px;width:2.25rem;height:2.25rem}.loading--block .loading-label{color:var(--ink-soft);font-size:.95rem}.spinner{border:2.5px solid color-mix(in srgb, var(--navy) 16%, transparent);border-top-color:var(--navy);border-radius:50%;flex:none;width:1.15rem;height:1.15rem;animation:.7s linear infinite spin}.loading-region{min-height:0;position:relative}.loading-region.is-empty{min-height:10rem}.loading-region.is-empty.is-compact{min-height:5.5rem}.loading-region.is-loading:not(.is-empty)>:not(.loading-region-mask){pointer-events:none;-webkit-user-select:none;user-select:none;filter:grayscale(.15);opacity:.55}.loading-region-mask{z-index:2;box-sizing:border-box;background:color-mix(in srgb, var(--canvas) 72%, transparent);border-radius:inherit;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.loading-region.is-empty>.loading-region-mask{background:0 0;min-height:10rem;position:relative;inset:auto}.loading-region.is-empty.is-compact>.loading-region-mask{min-height:5.5rem}.loading-region.is-empty.is-compact .loading--block{min-height:5.5rem;padding:1rem}.loading-region.is-empty.is-compact .loading--block .spinner{width:1.75rem;height:1.75rem}button[aria-busy=true]:before{content:"";vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.9em;height:.9em;margin-right:.5em;animation:.7s linear infinite spin;display:inline-block}.activity-bar{z-index:100;pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent 0%, var(--navy) 40%, var(--navy) 60%, transparent 100%);background-repeat:no-repeat;background-size:50% 100%;height:3px;transition:opacity .2s;position:fixed;top:0;left:0;right:0}.activity-bar.on{opacity:1;animation:1.1s ease-in-out infinite slide}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slide{0%{background-position:-50% 0}to{background-position:150% 0}}@media (prefers-reduced-motion:reduce){.spinner,button[aria-busy=true]:before,.activity-bar.on{animation-duration:2.4s}.loading-region.is-loading:not(.is-empty)>:not(.loading-region-mask){filter:none}}.stat-row{flex-wrap:wrap;gap:.75rem;margin:1rem 0 .5rem;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;min-width:7.5rem;padding:.75rem 1rem;display:flex}.stat-value{font-variant-numeric:tabular-nums;color:var(--navy);font-size:1.6rem;font-weight:700}.stat-value.attention{color:var(--danger)}.bar-table td{white-space:nowrap;font-variant-numeric:tabular-nums}.bar-track{vertical-align:middle;width:8rem;max-width:40vw;margin-right:.6rem;display:inline-block;position:relative}.bar{background:var(--line);border-radius:999px;width:100%;height:.55rem;display:block;overflow:hidden}.bar>span{border-radius:inherit;height:100%;display:block}.bar-marker{background:var(--ink);width:3px;box-shadow:0 0 0 1px var(--surface);pointer-events:none;border-radius:1px;margin-left:-1.5px;position:absolute;top:-.25rem;bottom:-.25rem}.result-group h4{margin:1rem 0 .4rem}.result-mark{white-space:nowrap;font-variant-numeric:tabular-nums}@media (width<=34rem){.bar-track{width:3.5rem}.bar-table th,.bar-table td{padding-left:.4rem;padding-right:.4rem}}.month-nav{align-items:center;gap:.6rem;display:flex}.week-nav{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.week-range{text-align:center;min-width:12rem;margin:0;font-weight:700}.week-range-tag{background:var(--navy-tint);color:var(--navy);border-radius:999px;margin-right:.35rem;padding:.1rem .45rem;font-size:.8rem;font-weight:700;display:inline-block}.state-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:.15rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.state-chip.state-draft{border-color:var(--marigold);background:var(--marigold-tint)}.state-chip.state-published,.state-chip.state-submitted{border-color:var(--success);background:var(--success-tint,#e8f5ec)}.publish-preview{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);margin-top:1rem;padding:1rem}.notice-card{padding:.5rem 0}.notice-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;display:flex}.notice-card-head h4{margin:0;font-size:1rem}.notice-body{white-space:pre-wrap;margin:.35rem 0 .5rem;line-height:1.45}.notice-meta{margin:.15rem 0 0}.notice-sidebar h3{margin-top:1.25rem}.notice-sidebar h3:first-child{margin-top:0}.month-grid{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid;overflow:hidden}.month-head{background:var(--surface);color:var(--ink-soft);text-align:center;padding:.35rem .4rem;font-size:.8rem}.month-cell{background:var(--surface);min-height:5.5rem;color:inherit;text-align:left;cursor:pointer;border:0;border-radius:0;flex-direction:column;align-items:stretch;gap:.15rem;padding:.3rem;font-weight:400;display:flex}.month-cell.outside{opacity:.45}.month-cell.closed{background:var(--page,#f3f5f9)}.month-cell.today .month-date{background:var(--navy);color:#fff;border-radius:999px;padding:0 .35rem}.month-cell.selected{outline:2px solid var(--navy);outline-offset:-2px}.month-date{font-variant-numeric:tabular-nums;align-self:flex-start;font-weight:600}.month-event{border-left:3px solid var(--navy);background:var(--page,#f3f5f9);text-overflow:ellipsis;white-space:nowrap;border-radius:3px;padding:.05rem .25rem;font-size:.72rem;line-height:1.25;overflow:hidden}.month-event.exam{font-weight:700}.day-detail{margin-top:1rem}.paper-row{border-bottom:1px solid var(--line);padding:.5rem 0}@media (width<=34rem){.month-cell{min-height:3.6rem}.month-event{background:var(--navy);border-left:0;height:.35rem;padding:0;font-size:0}}.week-grid{grid-template-columns:5.25rem repeat(var(--days,6), minmax(0, 1fr));background:var(--line-strong);border:1px solid var(--line-strong);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.week-head,.week-cell,.period-col{background:var(--surface);padding:.3rem .35rem}.week-head{text-align:center;flex-direction:column;gap:.15rem;font-size:.82rem;font-weight:700;display:flex}.week-head.today,.week-cell.today{background:color-mix(in srgb, var(--navy-tint) 70%, white)}.period-col{font-variant-numeric:tabular-nums;color:var(--ink-soft);flex-direction:column;font-size:.72rem;display:flex}.lesson{border-left:3px solid var(--subject,var(--line-strong));background:color-mix(in srgb, var(--subject,var(--navy)) 8%, white);border-radius:2px;flex-direction:column;gap:.05rem;min-height:2.35rem;padding:.28rem .35rem .28rem .45rem;font-size:.78rem;line-height:1.25;display:flex}.lesson strong{font-size:.8rem;font-weight:600}.lesson .hint{color:var(--ink-soft);font-size:.7rem}.lesson.empty,.lesson.closed{color:var(--ink-faint);background:#ffffff8c;border-left-color:#0000;justify-content:center;align-items:center}.week-grid.spotlight .lesson.other{opacity:.38;filter:grayscale(.35);background:var(--surface)}.week-grid.spotlight .lesson.mine{opacity:1;filter:none;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--navy) 35%, transparent);background:color-mix(in srgb, var(--subject,var(--navy)) 16%, white);border-left-width:4px}.lesson-yours{background:var(--navy);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:2px;align-self:flex-start;margin-top:.1rem;padding:.05rem .35rem;font-size:.62rem;font-weight:700}button.lesson.cover-pick{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;appearance:none;border:0;margin:0}button.lesson.cover-pick:hover{background:color-mix(in srgb, var(--subject,var(--navy)) 16%, white)}button.lesson.cover-pick:focus-visible{outline:2px solid var(--navy);outline-offset:1px}.lesson.cover-selected{box-shadow:inset 0 0 0 2px var(--gold);background:color-mix(in srgb, var(--gold) 12%, white)}.lesson-picked{background:var(--gold);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.25rem;right:.25rem}button.lesson.cover-pick{position:relative}.cover-pick-hint{margin:.35rem 0 .6rem}.cover-request-bar{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius);background:var(--surface);gap:.75rem;margin-top:1rem;padding:.85rem 1rem;display:grid}.cover-request-bar h3{margin:0 0 .25rem;font-size:1rem}.cover-request-summary p{margin:.15rem 0 0}.cover-request-days{color:var(--ink-soft);font-size:.88rem}.cover-request-fields{grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:.6rem;display:grid}.cover-request-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=40rem){.cover-request-fields{grid-template-columns:1fr}}.day-section{border-top:1px solid var(--line);margin:.85rem 0 0;padding-top:.35rem}.day-section>summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem 0;font-weight:650;list-style:none;display:flex}.day-section>summary::-webkit-details-marker{display:none}.day-section>summary:before{content:"";border-right:2px solid var(--ink-soft);border-bottom:2px solid var(--ink-soft);flex:none;align-self:center;width:.4rem;height:.4rem;margin-right:.45rem;transition:transform .12s;transform:rotate(-45deg)}.day-section[open]>summary:before{transform:rotate(45deg)}.day-section-count{background:var(--gold-tint);min-width:1.5rem;color:color-mix(in srgb, var(--gold) 55%, var(--ink));font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;margin-left:auto;padding:.05rem .45rem;font-size:.78rem}.day-section-body{padding:.15rem 0 .35rem}.day-section-body>h3{display:none}.home-secondary.day-section{margin-top:1.25rem;padding-top:.5rem}.lesson.not-mine strong{opacity:.7;text-decoration:line-through}.lesson.cancelled strong{text-decoration:line-through}.empty-panel{background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius);flex-direction:column;justify-content:center;gap:.35rem;min-height:12rem;margin:.75rem 0;padding:1.75rem 1.25rem;display:flex}.empty-panel p{max-width:28rem;margin:0}.empty-panel .empty-title{font-family:var(--font-display);color:var(--ink);font-size:1.15rem;font-weight:700}.day-test{color:var(--danger);font-size:.7rem;font-weight:600}.day-test.exam{text-transform:uppercase;letter-spacing:.04em}.day-tabs{flex-wrap:wrap;gap:.35rem;margin:.5rem 0;display:none}@media (width<=48rem){.day-tabs{display:flex}.week-grid{grid-template-columns:5rem minmax(0,1fr)}.week-head:not(.shown):not(.period-col),.week-cell:not(.shown){display:none}}.day-timeline{gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.day-timeline li{border-left:4px solid var(--line);background:var(--paper);border-radius:0 var(--radius-small) var(--radius-small) 0;grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.75rem;padding:.55rem .7rem;display:grid}.day-timeline li>div{gap:.1rem;display:grid}.day-timeline li.cancelled strong{text-decoration:line-through}.day-timeline .attention,.day-timeline .day-test{margin-top:.15rem}@media (width<=34rem){.day-timeline li{grid-template-columns:4.5rem 1fr;gap:.5rem}}.month-event.not-mine{opacity:.55}.day-strip{flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.day-strip li{border-left:4px solid var(--subject,var(--line));background:var(--surface);border-radius:0 var(--radius-small) var(--radius-small) 0;min-width:8.5rem;box-shadow:var(--shadow-raised);gap:.1rem;padding:.5rem .7rem;display:grid}.day-strip li.now{outline:2px solid var(--navy);outline-offset:1px}.day-strip li.next{outline:1px dashed var(--line-strong);outline-offset:1px}.day-strip li.cancelled strong{text-decoration:line-through}.pupil-tabs{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;display:flex}@media (width<=34rem){.day-strip li{min-width:7rem}}.principal-home{background:linear-gradient(165deg, color-mix(in srgb, var(--navy) 6%, var(--surface)), var(--surface)), var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 1.5rem;padding:1rem 1.1rem 1.15rem}.principal-home-head h2{color:var(--navy);margin:0 0 .25rem}.principal-home-head .hint{margin:0 0 .75rem}.principal-kpis{margin-top:.25rem}.principal-grid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem;margin-top:.85rem;display:grid}.principal-tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem .95rem}.principal-tile h3{color:var(--navy);margin:0 0 .55rem;font-size:.95rem}.principal-tile .big-figure{font-variant-numeric:tabular-nums;color:var(--navy);margin:.2rem 0;font-size:1.75rem;font-weight:700}.principal-tile .big-figure.warn{color:var(--danger)}.principal-setup-link{margin:.9rem 0 0}.principal-analytics-nav{border-top:1px solid var(--line);flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.principal-attention{border-left:3px solid var(--marigold);background:var(--marigold-tint);margin:1rem 0 1.25rem;padding:.85rem 1rem}.principal-attention h3{color:var(--navy-dark);margin:0 0 .35rem;font-size:.95rem}.principal-attention ul{margin:0;padding-left:1.1rem}.principal-attention-clear{margin:.75rem 0 1rem}.tile-insight{margin:0 0 .65rem}.analytics-entry-actions{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.analytics-entry-actions .button{border-radius:var(--radius);background:var(--navy);color:#fff;align-items:center;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.analytics-entry-actions .button.quiet{color:var(--navy);border:1px solid var(--line-strong);background:0 0}.analytics-entry-hints{color:var(--ink-soft);margin:0;padding-left:1.2rem}.principal-analytics-nav .button{border-radius:var(--radius);background:var(--navy);color:#fff;align-items:center;padding:.55rem 1rem;font-weight:600;text-decoration:none;display:inline-flex}.principal-analytics-nav .button.quiet{color:var(--navy);border:1px solid var(--line-strong);background:0 0}.vs-class{margin:.5rem 0 .75rem}.vs-class-callout{border-left:3px solid var(--line-strong);background:var(--paper);color:var(--ink-soft);margin:.65rem 0 0;padding:.55rem .75rem;font-size:.92rem}.vs-class-callout.up{border-left-color:var(--navy);color:var(--navy)}.vs-class-callout.down{border-left-color:var(--gold);color:var(--ink)}.family-vs-class,.results-vs-class{background:color-mix(in srgb, var(--gold) 8%, var(--surface));border:1px solid color-mix(in srgb, var(--gold) 35%, var(--line));border-radius:var(--radius);margin:.75rem 0 1rem;padding:.85rem 1rem}.family-vs-class h3,.results-vs-class h3{color:var(--navy);margin:0 0 .35rem;font-size:1rem}.setup-hub .setup-config{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem 1.25rem;margin:1rem 0;display:grid}.setup-hub .setup-config>div{margin:0}.setup-hub .setup-config dt{color:var(--ink-faint);font-size:.8rem}.setup-hub .setup-config dd{color:var(--navy);margin:.15rem 0 0;font-weight:600}.setup-next{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.setup-next li a{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:.55rem .75rem;text-decoration:none;display:block}.setup-next li.needed a{border-color:color-mix(in srgb, var(--gold) 45%, var(--line));background:var(--gold-tint);font-weight:600}.overview-vs-class{margin:.35rem 0 .5rem}.analytics-home-head,.analytics-studio h1,.class-workspace h1{color:var(--navy)}.analytics-links{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.analytics-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem;margin-top:.85rem;display:grid}.analytics-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.analytics-tile h2{color:var(--navy);margin:0 0 .5rem;font-size:.95rem}.analytics-table-scroll{max-height:22rem;margin-top:.5rem;overflow:auto}.analytics-find{width:100%;margin:0 0 .5rem}.register-board-headline{margin:.25rem 0 .75rem;font-weight:650}.register-missing{color:#5c3d00;background:#fff4dc;border-radius:14px;margin:0 0 1rem;padding:.85rem 1rem}.register-missing ul{flex-wrap:wrap;gap:.4rem 1rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.register-board-list{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.register-tile{white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.9rem;display:flex;box-shadow:0 1px 2px #15233a14}.register-tile-mark{width:1.35rem;height:1.35rem;color:var(--ink-soft);background:#15233a12;border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:inline-grid}.register-tile.in .register-tile-mark{color:#176447;background:#e8f5ee}.register-tile.missing{box-shadow:inset 0 0 0 1.5px #e0a526}.register-tile.missing .register-tile-mark{color:#7a5200;background:#fff4dc}.register-tile.none{opacity:.6}.studio-shelf{flex-wrap:wrap;align-items:end;gap:.65rem .85rem;margin:.75rem 0;display:flex}.studio-shelf label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.studio-check{align-items:center;flex-direction:row!important;gap:.4rem!important}.lineage,.purpose{font-size:.8rem}.saved-views ul{margin:.35rem 0 0;padding-left:1.1rem}.threshold-input{width:5.5rem}.ask-panel{margin:.5rem 0 1rem}.ask-label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.ask-row{gap:.5rem;display:flex}.ask-input{flex:1}.dashboard-canvas-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:1rem;display:flex}.dashboard-canvas-head h1{color:var(--navy);flex:1 0 100%}.dashboard-canvas-grid{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:.85rem;margin-top:.75rem;display:grid}.dashboard-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem 1rem}.dashboard-tile-title{color:var(--navy);margin:0 0 .5rem;font-size:.9rem}.filter-badge{align-items:center;gap:.5rem;display:flex}.board-pack{background:color-mix(in srgb, var(--navy) 4%, var(--surface));border:1px solid var(--line);border-radius:var(--radius);margin:1rem 0;padding:.85rem 1rem}.board-pack h2{color:var(--navy);margin:0 0 .75rem}.board-pack-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.85rem;display:grid}.board-pack-slide{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem}.board-pack-slide h3{color:var(--navy);margin:0 0 .4rem;font-size:.9rem}.result-meta{margin:.4rem 0 .75rem}.compare-delta{color:var(--ink-soft)}.anomaly-note{color:var(--warning);font-weight:600}.cache-note{color:var(--ink-faint)}.alert-form{margin:0 0 1.5rem}.alert-form h2{color:var(--navy);margin:0 0 .6rem}.alert-list h2{color:var(--navy);margin:0 0 .5rem}.alert-items{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.alert-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.alert-item-title{color:var(--ink);flex:1;font-weight:600}.alert-item-rule{font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:.85rem}.alert-item-inactive{color:var(--ink-faint);font-size:.8rem}.student-workspace h1{color:var(--navy)}.button.small{padding:.25rem .6rem;font-size:.82rem}.metric-headline{margin:.25rem 0 .5rem}.metric-headline .stat-value{color:var(--navy);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;display:block}.metric-headline .stat-value.warn,.metric-headline .big-figure.warn{color:var(--warning)}.metric-coverage{margin:0}.studio-scope-badge{border:1px solid var(--line);border-radius:999px;align-self:end;padding:.35rem .6rem}.studio-result{margin-top:.75rem}.analytics-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:.5rem 0;font-size:.9rem}.analytics-table caption{text-align:left;color:var(--ink-soft);padding-bottom:.25rem}.analytics-table th,.analytics-table td{border-bottom:1px solid var(--line);text-align:left;padding:.3rem .5rem}.analytics-table td{text-align:right}.dashboard-canvas-head label{align-items:center;gap:.5rem;margin:.4rem 1rem .4rem 0;display:inline-flex}.echart-frame{width:100%;position:relative}.echart-host{width:100%}.echart-skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--paper) 0%, var(--paper-deep) 50%, var(--paper) 100%);background-size:200% 100%;animation:1.4s ease-in-out infinite echart-shimmer;position:absolute;inset:0}@keyframes echart-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.echart-skeleton{animation:none}}.echart-failed{color:var(--ink-soft);padding:1rem}.chart-card{position:relative}.chart-card-body{flex-direction:column;gap:.35rem;display:flex}.chart-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex}.chart-views,.chart-actions{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.chart-chip{border:1px solid var(--line);background:var(--surface);min-height:1.9rem;color:var(--ink-soft);font:inherit;cursor:pointer;border-radius:999px;padding:.2rem .7rem;font-size:.8rem;font-weight:600;transition:background .12s,color .12s,border-color .12s}.chart-chip:hover{border-color:var(--line-strong);color:var(--ink)}.chart-chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}.chart-icon{border-radius:var(--radius-small);min-width:1.9rem;height:1.9rem;color:var(--ink-faint);font:inherit;letter-spacing:.03em;cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0 .35rem;font-size:.72rem;font-weight:700;display:inline-grid}.chart-icon svg{width:1.05rem;height:1.05rem}.chart-icon:hover:not(:disabled){background:var(--paper);border-color:var(--line);color:var(--ink)}.chart-icon:disabled{opacity:.4;cursor:default}.chart-table-scroll{max-height:24rem;overflow:auto}.chart-card.expanded .chart-card-body{z-index:60;inset:max(1.5rem, env(safe-area-inset-top,0px)) 1.5rem 1.5rem;background:var(--surface);border-radius:10px;padding:1rem 1.25rem;position:fixed;overflow:auto;box-shadow:0 24px 64px #15233a47}.chart-card-scrim{z-index:59;background:#15233a6b;position:fixed;inset:0}.chart-card-title{color:var(--navy);margin:.25rem 0 .5rem}.chart-drill{background:var(--paper);border-radius:var(--radius);margin-top:.25rem;padding:.6rem .75rem}.chart-drill-list{columns:2 14rem;column-gap:1.5rem;max-height:14rem;margin:.35rem 0 0;padding:0;list-style:none;overflow:auto}.chart-drill-list li{break-inside:avoid;justify-content:space-between;gap:.75rem;padding:.2rem 0;font-size:.88rem;display:flex}.chart-drill-list strong{font-variant-numeric:tabular-nums}.ring-figure{text-align:center;margin:0}.principal-wide{margin:0 0 1rem}.principal-wide-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.classes-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.classes-head h1{margin-bottom:.15rem}.limit-chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.limit-chips li{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font-variant-numeric:tabular-nums;border-radius:999px;padding:.25rem .65rem;font-size:.82rem;font-weight:600}.tile-heading{color:var(--navy);margin:0 0 .15rem;font-size:1.05rem}.tile-links{flex-wrap:wrap;gap:1rem;font-weight:600;display:flex}.link-button{color:var(--navy);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.standard-pills{scrollbar-width:thin;gap:.4rem;padding:.25rem 0 .75rem;display:flex;overflow-x:auto}.standard-pill{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:4.4rem;color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;align-items:center;padding:.4rem .7rem;font-weight:600;display:inline-flex;position:relative}.standard-pill small{color:var(--ink-faint);font-variant-numeric:tabular-nums}.standard-pill.flagged:after{content:"";background:var(--danger);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:.35rem;right:.35rem}.standard-pill.active{background:var(--navy);border-color:var(--navy);color:#fff}.standard-pill.active small{color:#ffffffbf}.division-board{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-raised);border-radius:10px;padding:1rem 1.1rem 1.1rem}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1rem;margin-bottom:.75rem;display:flex}.board-head h2{margin:0}.board-tools{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.board-date{color:var(--ink-soft);flex-direction:column;gap:.2rem;font-size:.8rem;display:flex}.move-bar{top:env(safe-area-inset-top,0px);z-index:5;background:var(--navy-tint);border:1px solid color-mix(in srgb, var(--navy) 25%, var(--line));border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 .75rem;padding:.55rem .75rem;font-weight:600;display:flex;position:sticky}.division-columns{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;display:grid}.division-column{background:var(--paper);border:2px solid #0000;border-radius:8px;flex-direction:column;min-height:16rem;padding:.75rem;transition:border-color .12s,background .12s;display:flex}.division-column.drop-allowed{border-color:color-mix(in srgb, var(--success) 45%, transparent);border-style:dashed}.division-column.drop-blocked{border-color:color-mix(in srgb, var(--danger) 45%, transparent);opacity:.75;border-style:dashed}.division-column.drag-over.drop-allowed{background:var(--success-tint)}.division-column.drag-over.drop-blocked{background:var(--danger-tint)}.division-head{grid-template-columns:1fr auto;align-items:center;gap:.35rem .5rem;margin-bottom:.5rem;display:grid}.division-title{align-items:center;gap:.5rem;display:flex}.division-title h3{margin:0;font-size:1.1rem}.division-count{font-variant-numeric:tabular-nums;color:var(--ink-faint);margin:0}.division-count strong{color:var(--ink);font-size:1.35rem}.division-chip{background:var(--success-tint);color:var(--success);border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.division-chip.full{background:var(--marigold-tint);color:var(--warning)}.division-chip.over,.division-chip.under{background:var(--danger-tint);color:var(--danger)}.capacity-meter{background:var(--paper-deep);border-radius:999px;grid-column:1/-1;height:.5rem;position:relative;overflow:visible}.capacity-fill{background:#2a78d6;border-radius:999px;height:100%;transition:width .3s;display:block}.division-column.state-full .capacity-fill{background:var(--marigold)}.division-column.state-over .capacity-fill,.division-column.state-under .capacity-fill{background:var(--danger)}.capacity-min{background:var(--ink-soft);border-radius:1px;width:2px;height:.9rem;position:absolute;top:-.2rem}.division-select-all{color:var(--ink-soft);border-bottom:1px solid var(--line);align-items:center;gap:.45rem;padding:.3rem .25rem;font-size:.82rem;font-weight:600;display:flex}.division-list{flex:1;max-height:28rem;margin:.25rem 0 0;padding:0;list-style:none;overflow-y:auto}.division-list li{border-radius:var(--radius-small);cursor:grab;justify-content:space-between;align-items:center;gap:.35rem;padding:.1rem .25rem;display:flex}.division-list li:hover{background:var(--surface)}.division-list li.selected{background:var(--navy-tint)}.division-list label{cursor:pointer;flex:1;align-items:center;gap:.45rem;min-height:2rem;font-size:.92rem;display:flex}.drag-grip{color:var(--ink-faint);letter-spacing:-.15em;font-size:.8rem}.division-empty{padding:1rem .25rem}.promotion-tiles .stat-button{font:inherit;text-align:left;cursor:pointer;border:1px solid var(--line)}.promotion-tiles .stat-button.active{border-color:var(--navy);box-shadow:inset 0 -3px 0 var(--navy)}.promotion-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin:1rem 0 .5rem;display:flex}.promotion-table{border-collapse:collapse;width:100%;font-size:.92rem}.promotion-table th,.promotion-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.45rem .6rem}.promotion-table thead th{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.promotion-table .num{text-align:right;font-variant-numeric:tabular-nums}.promotion-table tr.needs-decision{background:var(--marigold-tint)}.below-pass{color:var(--danger);font-weight:600}.outcome-chip{background:var(--paper-deep);color:var(--ink-soft);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700;display:inline-block}.outcome-chip.promote,.outcome-chip.graduate{background:var(--success-tint);color:var(--success)}.outcome-chip.repeat{background:var(--danger-tint);color:var(--danger)}.outcome-chip.review{background:var(--marigold-tint);color:var(--warning)}.decision-toggle{border:1px solid var(--line-strong);border-radius:var(--radius);display:inline-flex;overflow:hidden}.decision-toggle button{background:var(--surface);min-height:2rem;color:var(--ink-soft);font:inherit;cursor:pointer;border:0;border-radius:0;padding:.2rem .7rem;font-size:.82rem;font-weight:600}.decision-toggle button+button{border-left:1px solid var(--line-strong)}.decision-toggle button[aria-pressed=true]{background:var(--navy);color:#fff}.promotion-confirm{border:1px solid var(--line-strong);background:var(--surface);border-radius:10px;gap:.6rem;max-width:34rem;margin-top:1.25rem;padding:1rem 1.1rem;display:grid}.promotion-confirm h2{margin:0}.promotion-confirm label{gap:.3rem;font-weight:600;display:grid}.promotion-confirm .attention{color:var(--warning);font-weight:600}.promotion-done{background:var(--success-tint);border:1px solid color-mix(in srgb, var(--success) 30%, var(--line));border-radius:10px;padding:1.25rem}.admission-card{max-width:40rem;margin-top:1rem}.admission-card.left{border-left:4px solid var(--gold)}.withdraw-form,.withdraw-confirm{gap:.6rem;margin-top:.5rem;display:grid}.withdraw-form label,.withdraw-confirm label{gap:.3rem;font-weight:600;display:grid}.withdraw-consequences{color:var(--ink-soft);margin:0;padding-left:1.2rem}.danger-text{color:var(--danger)!important}.form-actions{flex-wrap:wrap;gap:.5rem;display:flex}main h1{margin:.25rem 0 .4rem}main h1+p.hint,main h1+p.page-lead,main .page-head+p.hint{max-width:72ch;color:var(--ink-soft);margin:0 0 1.25rem;font-size:.98rem;line-height:1.5}fieldset{min-width:0}.segmented{scrollbar-width:none;max-width:100%;overflow-x:auto}.loading--block.skeleton{text-align:left;opacity:0;min-height:0;padding:.75rem 0;animation:.2s ease-out .18s forwards skeleton-in;display:block}@keyframes skeleton-in{to{opacity:1}}.skeleton-rows{gap:.7rem;display:grid}.skeleton-line,.skeleton-bar,.skeleton-card{background:linear-gradient(90deg,#15233a0f 25%,#15233a1c 50%,#15233a0f 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-shine;display:block}.skeleton-line{height:.85rem}.skeleton-title{width:38%;height:1.15rem;margin-bottom:.3rem}.skeleton-chart{border-bottom:1px solid var(--line);align-items:flex-end;gap:6%;height:10rem;padding:0 4%;display:flex}.skeleton-bar{border-radius:6px 6px 0 0;flex:1}.skeleton-cards{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.skeleton-card{border-radius:var(--radius-small);height:5.5rem}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.loading--block.skeleton{opacity:1;animation:none}.skeleton-line,.skeleton-bar,.skeleton-card{animation:none}}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink-soft);text-align:center;padding:1.75rem 1.25rem}.empty-state>p{max-width:52ch;margin:0 auto}.empty-state-message{color:var(--ink);font-weight:600}.empty-state-hint{font-size:.92rem;margin-top:.35rem!important}.empty-state-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.skip-link{z-index:1000;border-radius:var(--radius-small);background:var(--navy);color:#fff;padding:.55rem .9rem;font-weight:700;text-decoration:none;position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus{outline:none}:root{--glass-tint:#ffffff9e;--glass-tint-strong:#ffffffc7;--glass-border:#ffffffb3;--glass-edge:#15233a14;--glass-highlight:inset 0 1px 0 #ffffffd9;--glass-shadow:0 1px 1px #15233a0a, 0 12px 32px -8px #15233a24;--glass-blur:blur(22px) saturate(170%);--surface-radius:14px;--card-shadow:0 1px 2px #15233a0d, 0 8px 24px -12px #15233a1f;--ease-out:cubic-bezier(.2, .8, .2, 1);--sidebar-width:15.5rem;--rail-width:4.25rem}body{background-color:#f3f5f8;background-image:radial-gradient(60rem 40rem at 105% -10%,#2a78d61a,#0000 60%),radial-gradient(50rem 36rem at -10% 110%,#b08d571f,#0000 60%),radial-gradient(40rem 30rem at 40% 40%,#1b3a5f0a,#0000 70%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.glass{background:var(--glass-tint-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-highlight), var(--glass-shadow)}.app{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);transition:grid-template-columns .22s var(--ease-out)}.app.rail{grid-template-columns:var(--rail-width) minmax(0, 1fr)}.app.signed-out{grid-template-columns:minmax(0,1fr)}main{max-width:84rem;padding:1.25rem 2rem 4rem}.sidebar{background:var(--glass-tint);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-right:1px solid var(--glass-edge);color:var(--ink);gap:.35rem;padding:.9rem .65rem;box-shadow:inset -1px 0 #fff9}.sidebar-head{padding:.2rem .2rem .6rem}.sidebar .brand{color:var(--navy);padding:.25rem .35rem}.sidebar .brand small{color:var(--ink-faint);opacity:1}.sidebar-search{border:1px solid var(--glass-edge);width:100%;min-height:2.35rem;color:var(--ink-faint);font:inherit;cursor:pointer;box-shadow:var(--glass-highlight);background:#ffffff8c;border-radius:10px;align-items:center;gap:.55rem;margin:0 0 .6rem;padding:0 .7rem;font-size:.88rem;transition:background .14s,border-color .14s;display:flex}.sidebar-search:hover{background:#ffffffd9;border-color:#15233a24}.sidebar-search span{text-align:left;flex:1}kbd{min-width:1.35rem;color:var(--ink-soft);font:600 .7rem/1.4 var(--font);background:#fffc;border:1px solid #15233a24;border-bottom-width:2px;border-radius:5px;justify-content:center;align-items:center;padding:.05rem .35rem;display:inline-flex}.product-nav{flex-direction:column;justify-content:space-between;display:flex}.ws-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ws-footer{margin-top:auto;padding-top:.6rem}.ws-link{align-items:center;gap:.7rem;min-height:2.5rem;text-decoration:none;transition:background .14s,color .14s,box-shadow .14s;color:var(--ink-soft)!important;border:1px solid #0000!important;border-radius:10px!important;padding:0 .7rem!important;font-size:.94rem!important;font-weight:550!important;display:flex!important}.ws-link .icon{color:var(--ink-faint);flex:none;transition:color .14s}.ws-link:hover{color:var(--ink)!important;background:#ffffffb3!important}.ws-link.active{box-shadow:var(--glass-highlight), 0 1px 2px #15233a14, 0 6px 16px -8px #15233a40;color:var(--navy)!important;background:#ffffffeb!important;border-color:#fffffff2!important;font-weight:650!important}.ws-link.active .icon{color:var(--navy)}.sidebar-footer{border-top:1px solid var(--glass-edge);flex-direction:row;align-items:center;gap:.35rem;margin-top:.5rem;padding:.6rem .2rem 0}.user-card{flex:1;align-items:center;gap:.55rem;min-width:0;display:flex}.avatar{background:linear-gradient(145deg, var(--navy-mid), var(--navy));color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;font-size:.78rem;font-weight:700;display:grid;box-shadow:0 2px 6px -2px #15233a66}.user-text{flex:1;min-width:0;line-height:1.2}.user-text strong,.user-text small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-text strong{color:var(--ink);font-size:.86rem}.user-text small{color:var(--ink-faint);font-size:.74rem}.icon-button{width:2.25rem;height:2.25rem;color:var(--ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;flex:none;place-items:center;padding:0;transition:background .14s,color .14s;display:inline-grid}.icon-button:hover{color:var(--ink);background:#ffffffbf}.app.rail .sidebar{padding-inline:.5rem}.app.rail .sidebar .brand{justify-content:center;padding-inline:0}.app.rail .sidebar .brand .wordmark{font-size:.65rem}.app.rail .ws-label,.app.rail .user-text{display:none}.app.rail .ws-link{justify-content:center;padding:0!important}.app.rail .sidebar-search{justify-content:center;padding:0}.app.rail .sidebar-footer,.app.rail .user-card{flex-direction:column}.topbar.glass-bar{background:var(--glass-tint);min-height:3.6rem;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-edge);gap:.6rem;padding:.45rem 1.25rem .45rem 2rem;box-shadow:inset 0 -1px #ffffff8c}.topbar .school-name{color:var(--navy);font-weight:700;display:flex}.topbar-search,.menu-button{display:none!important}.topbar-greeting{flex-direction:column;line-height:1.2;display:flex}.topbar-greeting strong{font-family:var(--font-display);color:var(--navy);font-size:1.02rem}.topbar-greeting small{color:var(--ink-faint);font-size:.78rem}.section-tabs{scrollbar-width:none;align-items:center;gap:.2rem;min-width:0;display:flex;overflow-x:auto}.section-tabs::-webkit-scrollbar{display:none}.section-tabs-title{border-right:1px solid var(--glass-edge);font-family:var(--font-display);color:var(--navy);white-space:nowrap;margin-right:.6rem;padding-right:.8rem;font-size:1.02rem;font-weight:700}.section-tab{color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:.42rem .8rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .14s,color .14s;position:relative}.section-tab:hover{color:var(--ink);background:#ffffffb3}.section-tab.active{color:var(--navy);background:#1b3a5f17}.page-tabs{flex-wrap:wrap;gap:.35rem;max-width:84rem;padding:.85rem 2rem 0;display:flex}.page-tab{border:1px solid var(--glass-edge);color:var(--ink-soft);box-shadow:var(--glass-highlight);background:#ffffff8c;border-radius:999px;padding:.35rem .85rem;font-size:.84rem;font-weight:600;text-decoration:none;transition:background .14s,color .14s,border-color .14s}.page-tab:hover{color:var(--ink);background:#ffffffe6}.page-tab.active{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 4px 12px -6px #1b3a5f99}.language-switch span{display:none}.language-switch select{border:1px solid var(--glass-edge);background-color:#fff9;border-radius:9px;min-height:2.2rem}.palette-layer{z-index:80;background:#15233a38;justify-content:center;align-items:flex-start;padding:12vh 1rem 1rem;animation:.14s ease-out palette-fade;display:flex;position:fixed;inset:0}.palette{width:min(40rem,100%);max-height:70vh;animation:palette-rise .18s var(--ease-out);border-radius:18px;flex-direction:column;display:flex;overflow:hidden}@keyframes palette-fade{0%{opacity:0}}@keyframes palette-rise{0%{opacity:0;transform:translateY(-8px)scale(.985)}}.palette-input{border-bottom:1px solid var(--glass-edge);color:var(--ink-faint);align-items:center;gap:.7rem;padding:.95rem 1.1rem;display:flex}.palette-input input{min-width:0;color:var(--ink);font:500 1.08rem/1.4 var(--font);background:0 0;border:0;outline:none;flex:1;padding:0;box-shadow:none!important}.palette-results{padding:.4rem;overflow-y:auto}.palette-group-label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-faint);margin:.55rem .7rem .25rem;font-size:.7rem;font-weight:700}.palette-item{cursor:pointer;color:var(--ink-faint);border-radius:11px;align-items:center;gap:.75rem;padding:.55rem .7rem;display:flex}.palette-item.active{color:var(--navy);background:#1b3a5f14}.palette-icon{border:1px solid var(--glass-edge);width:2rem;height:2rem;color:var(--navy);background:#fffc;border-radius:9px;place-items:center;display:grid}.palette-text{flex:1;min-width:0;line-height:1.25}.palette-text strong{color:var(--ink);font-size:.95rem;font-weight:600;display:block}.palette-text small{color:var(--ink-faint);font-size:.78rem}.palette-empty{text-align:center;color:var(--ink-faint);padding:1.5rem 1rem}.palette-footer{border-top:1px solid var(--glass-edge);color:var(--ink-faint);gap:1rem;padding:.55rem 1.1rem;font-size:.76rem;display:flex}.principal-tile,.analytics-tile,.dashboard-tile,.division-board,.overview-card,.promotion-confirm{background:#fff;border-radius:var(--surface-radius)!important;box-shadow:var(--card-shadow)!important;border:1px solid #15233a12!important}.principal-home>.principal-home-head,.principal-attention{border-radius:var(--surface-radius)}.stat{box-shadow:var(--card-shadow);background:#fff;border:1px solid #15233a12!important;border-radius:12px!important}@media (width<=60rem){.app,.app.rail{grid-template-columns:minmax(0,1fr)}.sidebar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#f8fafcfa;box-shadow:0 0 40px #15233a40}.topbar.glass-bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff0;padding-inline:.75rem}.section-tabs-title{display:none}.topbar-search,.menu-button{display:inline-grid!important}.page-tabs{flex-wrap:nowrap;padding:.75rem .9rem 0;overflow-x:auto}main{padding:1rem .9rem 5rem}.palette-layer{padding-top:6vh}}@media (prefers-reduced-transparency:reduce){.sidebar,.topbar.glass-bar,.glass,.page-tab,.sidebar-search{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#fff!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.sidebar,.topbar.glass-bar,.glass{background:#fafbfdfa}}@media (prefers-reduced-motion:reduce){.app,.palette,.palette-layer{transition:none;animation:none}}.division-list label,.division-select-all{text-align:left;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;gap:.55rem!important}.division-list label{min-height:1.95rem;font-weight:500}.division-list input[type=checkbox],.division-select-all input[type=checkbox]{flex:none;width:1rem;height:1rem;margin:0}.division-column{background:#fff!important;border:1px solid #15233a14!important;border-radius:12px!important}.dashboard-canvas-grid,.analytics-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,30rem),1fr))!important;gap:1rem!important}.dashboard-tile,.analytics-tile{min-width:0;padding:1rem 1.1rem!important}.chart-toolbar{flex-wrap:nowrap}.chart-views{flex-wrap:wrap;min-width:0}.chart-actions{flex:none}.chart-table-find{width:100%;margin-bottom:.5rem}.sort-header{all:unset;cursor:pointer;font-weight:700}.sort-header:focus-visible{box-shadow:var(--focus)}.about-figure{margin-top:.4rem}.about-figure summary{cursor:pointer;color:var(--ink-faint);font-size:.82rem;font-weight:600}.section-select{min-width:10rem}.division-list label,.division-select-all{margin:0!important}.division-list li{padding:0 .35rem!important}.explorer-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.explorer-head h1{margin-bottom:.2rem}.question{z-index:10;color:var(--ink-soft);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.45rem .5rem;margin:1rem 0 .75rem;padding:1rem 1.15rem;font-size:1.12rem;font-weight:500;line-height:2.1;display:flex;position:relative}.choice-chip-host{display:inline-flex;position:relative}.choice-chip{color:var(--navy);font:inherit;cursor:pointer;background:#fff;border:1px solid #1b3a5f2e;border-radius:999px;align-items:center;gap:.35rem;padding:.18rem .7rem .18rem .8rem;font-weight:700;line-height:1.6;transition:border-color .14s,box-shadow .14s,background .14s;display:inline-flex;box-shadow:0 1px 2px #15233a0f}.choice-chip:hover,.choice-chip.open{border-color:var(--navy);box-shadow:0 0 0 3px #1b3a5f1a}.choice-chip.muted{color:var(--ink-faint);background:0 0;border-style:dashed;font-weight:600}.choice-menu{z-index:50;min-width:13rem;max-height:20rem;animation:palette-rise .14s var(--ease-out);border-radius:12px;margin:0;padding:.35rem;font-size:.92rem;line-height:1.3;list-style:none;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto}.choice-menu li{color:var(--ink);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.5rem .7rem}.choice-menu li.active{background:#1b3a5f14}.choice-menu li.chosen{color:var(--navy);font-weight:700}.choice-menu li[aria-disabled=true]{color:var(--ink-faint);opacity:.55;cursor:not-allowed}.compare-switch{color:var(--ink-soft);align-items:center;font-size:.9rem;font-weight:600;flex-direction:row!important;gap:.45rem!important;margin:0 0 0 .4rem!important;display:inline-flex!important}.presets{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1rem;display:flex}.active-filters{margin:0 0 .75rem}.filter-pill{border:1px solid var(--navy);background:var(--navy-tint);color:var(--navy);font:inherit;cursor:pointer;border-radius:999px;padding:.2rem .7rem;font-size:.85rem;font-weight:700}.explorer-result{border-radius:var(--surface-radius);box-shadow:var(--card-shadow);background:#fff;border:1px solid #15233a12;padding:1.1rem 1.25rem}.headline-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.headline-value{font-family:var(--font-display);letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums;margin:0;font-size:2.6rem;font-weight:700;line-height:1.05}.change-pill{border-radius:12px;flex-direction:column;align-items:flex-end;gap:.1rem;margin:0;padding:.45rem .8rem;font-size:.82rem;display:flex}.change-pill strong{font-size:1.05rem}.change-pill.good{background:var(--success-tint);color:var(--success)}.change-pill.bad{background:var(--danger-tint);color:var(--danger)}.change-pill span{color:var(--ink-soft)}.empty-result{text-align:center;padding:2rem 0}.ask-bar{margin:1rem 0 .25rem}.ask-form{color:var(--ink-faint);border-radius:999px;align-items:center;gap:.65rem;padding:.45rem .45rem .45rem 1rem;display:flex}.ask-input-wrap{flex:1;min-width:0;position:relative}.ask-form input{width:100%;min-width:0;font:500 1.02rem/1.4 var(--font);color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:.35rem 0;box-shadow:none!important}.ask-form button{border-radius:999px;padding-inline:1.2rem}.ask-understood{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.55rem 0 0 .4rem;display:flex}.understood-chip{color:#1c5cab;background:#2a78d61a;border-radius:999px;padding:.12rem .55rem;font-size:.8rem;font-weight:600}.understood-chip.kind-order,.understood-chip.kind-compare{color:#7a5d2e;background:#b08d5724}.ask-failed{margin:.5rem 0 0 .4rem}.ranked-answer{background:var(--navy-tint);color:var(--ink);border-radius:10px;margin:0 0 .75rem;padding:.6rem .85rem;font-size:1.02rem}.insight-feed{border-radius:var(--surface-radius);box-shadow:var(--card-shadow);background:#fff;border:1px solid #15233a12;margin:0 0 1rem;padding:1rem 1.15rem}.insight-feed header h3{color:var(--navy);margin:0}.insight-feed ul{gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.insight{border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.55rem .7rem;transition:background .14s;display:grid}.insight:hover{background:var(--paper)}.insight p{color:var(--ink);margin:0}.insight a{white-space:nowrap;font-weight:700;text-decoration:none}.insight-dot{background:var(--ink-faint);border-radius:50%;width:.6rem;height:.6rem}.severity-critical .insight-dot{background:#d03b3b;box-shadow:0 0 0 4px #d03b3b26}.severity-warning .insight-dot{background:#fab219;box-shadow:0 0 0 4px #fab2192e}.severity-info .insight-dot{background:#2a78d6}.severity-good .insight-dot{background:#0ca30c}.ask-form:focus-within{box-shadow:var(--focus), var(--shadow-raised)}.ask-suggestions{z-index:30;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-raised);border-radius:12px;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .6rem);left:-.5rem;right:-.5rem}.ask-suggestions li{color:var(--ink);cursor:pointer;border-radius:8px;justify-content:space-between;gap:1rem;padding:.4rem .6rem;display:flex}.ask-suggestions li.active,.ask-suggestions li:hover{background:var(--navy-tint)}.ask-corrections,.ask-alternatives{flex-wrap:wrap;align-items:center;gap:.35rem;margin:.4rem 0 0 .4rem;display:flex}.understood-chip.kind-taught,.understood-chip.kind-meaning{background:var(--gold-tint);color:var(--ink)}.understood-chip.kind-why,.understood-chip.kind-exclude,.understood-chip.kind-threshold{background:var(--marigold-tint);color:var(--ink)}.compare-dates{font-variant-numeric:tabular-nums}.explore-summary{color:var(--ink);margin:.5rem 0 .25rem;font-size:1.02rem;font-weight:600}.why-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);margin:.75rem 0 1rem;padding:1rem 1.1rem}.why-panel h3{margin:0 0 .25rem;font-size:1rem}.why-list{gap:.35rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.why-row{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);text-align:left;font-variant-numeric:tabular-nums;box-shadow:none;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 6.5rem;align-items:baseline;gap:1rem;padding:.5rem .7rem;display:grid}.why-row:hover{border-color:var(--navy-mid)}.why-effect{text-align:right;font-weight:700}.why-effect.good{color:var(--success)}.why-effect.bad{color:var(--danger)}.unusual-notes{border-left:3px solid var(--marigold);border-radius:0 var(--radius) var(--radius) 0;background:var(--marigold-tint);margin:.5rem 0 1rem;padding:.6rem .9rem}.unusual-notes ul{margin:.25rem 0 0;padding-left:1.1rem}.teach-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:1.5rem;padding:.75rem 1rem}.teach-panel summary{cursor:pointer;font-weight:600}.teach-panel .count-badge{background:var(--marigold-tint);border-radius:999px;margin-left:.5rem;padding:0 .45rem;font-size:.8rem}.teach-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.75rem 0;display:flex}.teach-form label{gap:.25rem;display:grid}.teach-misses,.teach-list{gap:.25rem;margin:.25rem 0;padding:0;list-style:none;display:grid}.teach-list li,.teach-misses li{align-items:center;gap:.75rem;display:flex}@media (width<=40rem){.why-row{grid-template-columns:minmax(0,1fr) auto}}.answer-card{border-left:4px solid var(--navy);border-radius:0 var(--radius) var(--radius) 0;background:var(--navy-tint);margin:.75rem 0 1rem;padding:.9rem 1.1rem}.answer-text{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:1.08rem;font-weight:600;line-height:1.5}.answer-change{color:var(--ink);margin:.35rem 0 0}.answer-evidence{margin:.4rem 0 0}.smart-panel{border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface);margin:.6rem 0 .8rem;padding:.6rem .9rem}.smart-panel.phase-ready{border-style:solid;border-color:var(--success);background:var(--success-tint)}.smart-head{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.smart-panel p{margin:.3rem 0}.smart-badge{background:var(--surface);border-radius:999px;padding:.1rem .55rem;font-size:.8rem;font-weight:600}.smart-bar{max-width:28rem}.understood-chip.kind-smart{background:var(--success-tint);color:var(--ink)}.marks-by-test{grid-column:1/-1}.test-chips{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .75rem;display:flex}.test-chips .choice-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);box-shadow:none;border-radius:999px;padding:.25rem .7rem;font-weight:500}.test-chips .choice-chip.on{border-color:var(--navy);background:var(--navy);color:#fff}.test-links{flex-wrap:wrap;gap:.35rem 1rem;margin:.75rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.run-tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;display:grid}.run-tile{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;gap:.15rem;padding:.75rem .9rem;display:flex}.run-tile-label{color:var(--ink-soft);font-size:.8rem;font-weight:600}.run-tile-value{font-variant-numeric:tabular-nums;font-size:1.6rem;line-height:1.2}.explorer-result{position:relative}.result-enter{animation:.36s cubic-bezier(.2,.7,.2,1) backwards result-in}@keyframes result-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.explorer-result.is-refreshing>:not(.refresh-veil){filter:blur(2px)saturate(.6);opacity:.55;pointer-events:none;transition:filter .22s,opacity .22s}.refresh-veil{z-index:4;color:var(--ink);justify-content:center;align-items:flex-start;gap:.6rem;padding-top:3rem;font-weight:600;animation:.2s both veil-in;display:flex;position:absolute;inset:0}.refresh-dot{background:var(--navy);border-radius:50%;width:.7rem;height:.7rem;margin-top:.35rem;animation:1.1s ease-in-out infinite dot-pulse}@keyframes veil-in{0%{opacity:0}}@keyframes dot-pulse{0%,to{opacity:.5;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.result-enter,.refresh-veil,.refresh-dot{animation:none}.explorer-result.is-refreshing>:not(.refresh-veil){transition:none}}.sort-header{align-items:center;gap:.3rem;display:inline-flex}.sort-mark{color:var(--ink-faint);opacity:0;font-size:.75em;transition:opacity .15s}th:hover .sort-mark,.sort-header:focus-visible .sort-mark,.sort-mark.on{opacity:1}.sort-mark.on{color:var(--navy)}.table-find{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block:.5rem;display:flex}.table-find input{flex:0 18rem;min-width:0}.pupil-link{display:inline-block;position:relative}.pupil-preview{z-index:60;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:13rem;box-shadow:var(--shadow-raised);color:var(--ink);white-space:nowrap;gap:.2rem;padding:.6rem .75rem;font-size:.85rem;font-weight:400;animation:.14s ease-out preview-in;display:grid;position:fixed}@keyframes preview-in{0%{opacity:0;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.pupil-preview{animation:none}}.since-visit{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-block:.25rem .75rem;display:flex}.since-chip{background:var(--paper);border-radius:999px;padding:.15rem .6rem;font-size:.85rem;font-weight:600}.since-chip.good{background:var(--success-tint);color:var(--success)}.since-chip.bad{background:var(--danger-tint);color:var(--danger)}.class-tools{gap:.5rem;margin-block:.75rem;display:grid}.class-tool{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.6rem .8rem}.class-tool summary{cursor:pointer;color:var(--navy);font-weight:700}.tool-row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-block:.5rem;display:flex}.tool-row input[type=number]{width:4.5rem}.group-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.group-card{border-radius:var(--radius-small);background:var(--paper);padding:.6rem .75rem}.group-card ul{margin:.35rem 0 0;padding-left:1rem}.workload{margin:.25rem 0 .5rem}.workload-grid{gap:4px;max-width:22rem;margin-top:.35rem;display:grid}.workload-row{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.workload-row.head span{color:var(--ink-faint);text-align:center;font-size:.72rem}.workload-day{border-radius:var(--radius-small);background:var(--paper);min-width:1.6rem;min-height:1.9rem;color:var(--ink-soft);box-shadow:none;border:1px solid #0000;place-items:center;padding:0;font-size:.8rem;display:inline-grid}.workload-key .workload-day{vertical-align:middle;min-width:.9rem;min-height:.9rem}.workload-day.load-1{background:var(--marigold-tint)}.workload-day.load-2,.workload-day.load-3{background:var(--marigold);color:var(--ink)}.workload-day.lesson{border-color:var(--navy-mid);color:var(--navy);cursor:pointer;font-weight:700}.workload-day.chosen{outline:2px solid var(--navy);outline-offset:1px}.workload-day.past{opacity:.4}.notice-reach{border:1px solid var(--line);border-left:4px solid var(--marigold);border-radius:var(--radius);background:var(--surface);margin-top:1.25rem;padding:.9rem 1rem}.notice-reach h3{margin:0 0 .25rem}.group-title input{min-width:min(20rem,100%)}.group-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.group-head input{flex:1;min-width:0;font-weight:700}.group-card ul{padding-left:0;list-style:none}.group-member{justify-content:space-between;align-items:center;gap:.4rem;padding-block:.15rem;display:flex}.group-member select{max-width:7.5rem;font-size:.85em}.attendance-patterns h4{color:var(--ink-soft);margin:.75rem 0 .25rem;font-size:.95rem}.pattern-note{border-left:3px solid var(--warn,#a4531c);border-radius:var(--radius-small);background:var(--paper);margin:.25rem 0 .5rem;padding:.45rem .7rem}.analytics-tile details>summary{cursor:pointer;list-style:none}.analytics-tile details>summary h2{display:inline}.record-days>summary{cursor:pointer;color:var(--navy);margin-block:.25rem .5rem;font-weight:600}.band-flow-heads{color:var(--ink-soft);justify-content:space-between;gap:1rem;font-size:.85rem;font-weight:600;display:flex}.band-columns{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.5rem 1.5rem;display:grid}.band-columns h4{margin:.5rem 0 .25rem}.band-movers{margin:0;padding:0;list-style:none}.band-movers li{border-bottom:1px solid var(--line,#e8edf2);justify-content:space-between;gap:.5rem;padding-block:.15rem;display:flex}.teacher-load>summary{cursor:pointer;list-style:none}.teacher-load>summary h2{display:inline}.teacher-load .segmented{margin-block:.5rem}.duty-strip{border-left:4px solid var(--navy);border-radius:var(--radius-small);background:var(--surface);margin-bottom:1rem;padding:.75rem 1rem}.duty-strip h2{margin:0 0 .4rem;font-size:1rem}.duty-strip ul{flex-wrap:wrap;gap:.4rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.duty-strip li{flex-direction:column;display:flex}.page-tab,.section-tab{white-space:nowrap;flex-shrink:0}.page-tabs{scrollbar-width:none}.page-tabs::-webkit-scrollbar{display:none}@media (width<=40rem){.topbar.glass-bar:has(.section-tabs){flex-wrap:wrap;row-gap:.25rem}.topbar-greeting,.topbar .school-name{min-width:0;overflow:hidden}.topbar .school-name{text-overflow:ellipsis;white-space:nowrap}.topbar-greeting strong,.topbar-greeting small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.topbar .section-tabs{flex:1 0 100%;order:10;margin-inline:-.25rem;padding-bottom:.35rem}}.row-toggle{vertical-align:baseline;min-height:0;padding:0 .35rem;line-height:1.4}.leave-form{max-width:44rem}.leave-lessons{border-radius:var(--radius-small);background:var(--paper);padding:.6rem .8rem}.leave-lessons:empty{display:none}.leave-lesson-list{margin:.35rem 0 0;padding-left:1.1rem;font-size:.92rem}.leave-list{gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:grid}.leave-card{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.7rem .9rem;display:flex}.leave-card>div:first-child{flex-direction:column;flex:16rem;gap:.2rem;min-width:0;display:flex}.leave-card input{margin-top:.3rem}.leave-actions{flex-wrap:wrap;gap:.4rem;display:flex}.leave-state-approved{color:#1f6b1f;background:#0ca30c24}.leave-state-rejected,.leave-state-withdrawn{background:var(--paper);color:var(--ink-soft)}.leave-desk{margin-bottom:1.5rem}.count-badge{background:var(--navy);color:#fff;vertical-align:middle;border-radius:999px;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;font-size:.8rem;display:inline-grid}.status-pill.cover-accepted{color:#1f6b1f;background:#0ca30c24}.meeting-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:1rem;padding:1rem 1.1rem}.meeting-card h2{margin:0 0 .2rem;font-size:1.1rem}.meeting-teachers,.meeting-appointments{gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.meeting-teachers li{gap:.35rem;display:grid}.slot-chips{flex-wrap:wrap;gap:.35rem;display:flex}.slot-chips .choice-chip{border:1px solid var(--line-strong);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:999px;padding:.3rem .65rem}.meeting-booked{color:#1f6b1f;font-weight:600}.meeting-classes{flex-wrap:wrap;gap:.35rem;display:flex}.meeting-classes .choice-chip.on{border-color:var(--navy);background:var(--navy);color:#fff}.meeting-open{color:#1f6b1f;background:#0ca30c24}.meeting-office{margin-top:1.5rem}.id-card-panel{margin:.75rem 0 1rem}.id-card-panel>summary{cursor:pointer;color:var(--navy);font-weight:700}.id-card{background:#fff;border-radius:14px;width:min(100%,26rem);margin-top:.75rem;overflow:hidden;box-shadow:0 10px 30px -12px #15233a59,0 0 0 1px #15233a14}.id-card-school{background:linear-gradient(135deg, var(--navy), #2a5a8f);color:#fff;letter-spacing:.01em;padding:.55rem .9rem;font-weight:700}.id-card-body{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.8rem .9rem;display:grid}.id-card-facts{flex-direction:column;gap:.15rem;min-width:0;font-size:.9rem;display:flex}.id-card-name{font-size:1.05rem}.id-card-qr{width:6.5rem;height:6.5rem;image-rendering:pixelated}.id-card-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.5rem .9rem .7rem;font-size:.82rem;display:flex}@media (width<=26rem){.id-card-body{grid-template-columns:auto 1fr}.id-card-qr{grid-column:1/-1;justify-self:center;width:8rem;height:8rem}}.verify-card{border-radius:var(--radius);background:var(--surface);max-width:30rem;padding:1.25rem}.verify-card.is-valid{border-top:6px solid #0ca30c}.verify-card.is-invalid{border-top:6px solid #d03b3b}.verify-person{align-items:center;gap:1rem;margin:1rem 0;display:flex}.verify-person>div{flex-direction:column;gap:.2rem;display:flex}.verify-photo{object-fit:cover;border-radius:12px;width:7rem;height:7rem}@media print{body *{visibility:hidden}.id-card,.id-card *{visibility:visible}.id-card{box-shadow:none;border:1px solid #999;position:absolute;top:0;left:0}}.messages-layout{grid-template-columns:minmax(15rem,22rem) 1fr;align-items:start;gap:1rem;display:grid}.messages-list ul{gap:.35rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.messages-everyone{font-weight:500}.thread-row{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface);width:100%;color:var(--ink);text-align:left;box-shadow:none;gap:.15rem;padding:.6rem .75rem;font-weight:400;display:grid}.thread-row.open{border-color:var(--navy)}.thread-row.unread .thread-subject{font-weight:700}.thread-top,.thread-subject{justify-content:space-between;gap:.5rem;display:flex}.conversation{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:.75rem;padding:1rem;display:grid}.conversation-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.conversation-head>div{flex-direction:column;flex:1;min-width:0;display:flex}.conversation-back{display:none}.bubbles{flex-direction:column;gap:.5rem;max-height:55vh;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bubble{background:var(--paper);border-radius:14px;max-width:80%;padding:.55rem .8rem}.bubble p{white-space:pre-wrap;margin:0 0 .2rem}.bubble.mine{background:color-mix(in srgb, var(--navy) 12%, #fff);align-self:flex-end}.composer{align-items:flex-end;gap:.5rem;display:flex}.composer textarea{flex:1}.messages-note,.messages-pick{margin:0}.row-message{opacity:.7;text-decoration:none}.row-message:hover,.row-message:focus-visible{opacity:1}@media (width<=48rem){.messages-layout{grid-template-columns:1fr}.messages-page.has-open .messages-list,.messages-page:not(.has-open) .messages-open{display:none}.conversation-back{display:inline-flex}}.messages-layout>*{min-width:0}@media (width<=48rem){.conversation-head{flex-wrap:wrap}.conversation-head>div{flex-basis:100%;order:3}.conversation{padding:.75rem}.bubble{max-width:88%}}:root{--accent:#2a78d6;--accent-strong:#1c5cab;--control-radius:10px;--control-height:2.5rem;--hairline:#15233a1f;--hairline-strong:#15233a33;--ring:0 0 0 4px #2a78d62e;--lift:0 1px 2px #15233a14, 0 1px 1px #15233a0a}h1{letter-spacing:-.025em;color:var(--ink);font-size:clamp(1.6rem,1.2rem + 1.2vw,2.05rem);font-weight:750;line-height:1.15}h2{letter-spacing:-.015em;font-size:1.3rem}h3{letter-spacing:-.01em}.hint{color:var(--ink-faint)}label{color:var(--ink-soft);gap:.35rem;font-size:.86rem;font-weight:600}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{min-height:var(--control-height);border:1px solid var(--hairline-strong);border-radius:var(--control-radius);color:var(--ink);background-color:#fff;padding:.5rem .75rem;font-size:1rem;font-weight:500;transition:border-color .14s,box-shadow .14s;box-shadow:inset 0 1px 1px #15233a0a}input:not([type=checkbox]):not([type=radio]):hover,select:hover,textarea:hover{border-color:#15233a4d}input:not([type=checkbox]):not([type=radio]):focus-visible,select:focus-visible,textarea:focus-visible,input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}input::placeholder,textarea::placeholder{color:#66768a;font-weight:400}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5l3-3' fill='none' stroke='%235b6b7f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:.75rem;padding-right:2.2rem}input[type=checkbox],input[type=radio]{accent-color:var(--accent);cursor:pointer}input[type=search]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9 15a6 6 0 1 0 0-12 6 6 0 0 0 0 12zM13.5 13.5 17 17' fill='none' stroke='%239aa6b5' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");background-position:.7rem;background-repeat:no-repeat;background-size:.95rem;padding-left:2.1rem!important}fieldset{border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff;border-radius:14px}:is(button:not([class]),button.primary,button.secondary,button.quiet,button.danger,button.small,a.button,a.button-link,.button-like){min-height:var(--control-height);border-radius:var(--control-radius);letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;padding:.45rem 1.05rem;font-weight:650;transition:filter .14s,transform .1s,box-shadow .14s,background .14s}:is(button:not([class]),button.primary,a.button:not(.quiet),a.button-link:not(.secondary),.button-like){background:linear-gradient(180deg, #2a5a8f 0%, var(--navy) 100%);color:#fff;border:1px solid #0000;box-shadow:inset 0 1px #ffffff24,0 1px 2px #15233a38}:is(button:not([class]),button.primary,a.button:not(.quiet),a.button-link:not(.secondary)):hover:not(:disabled){filter:brightness(1.1)}:is(button:not([class]),button.primary,button.secondary,button.danger,a.button,a.button-link):active:not(:disabled){transform:scale(.98)}:is(button:not([class]),button.primary,button.secondary,button.quiet,button.danger):disabled{opacity:.45;filter:none;box-shadow:none;cursor:not-allowed}:is(button.secondary,a.button.quiet,a.button-link.secondary){color:var(--navy);border:1px solid var(--hairline-strong);box-shadow:var(--lift);background:#fff}:is(button.secondary,a.button.quiet,a.button-link.secondary):hover:not(:disabled){background:#f7f9fc}button.quiet{color:var(--accent-strong);box-shadow:none;background:0 0;border:1px solid #0000;padding-inline:.7rem}button.quiet:hover:not(:disabled){background:#2a78d614}button.danger{color:var(--danger);box-shadow:var(--lift);background:#fff;border:1px solid #b4231859}button.danger:hover:not(:disabled){background:var(--danger);color:#fff}:is(button.small,a.button-link.small,.row-actions button){border-radius:8px;min-height:2.1rem;padding:.25rem .75rem;font-size:.86rem}[role=alert]{color:#8a1c12;background:#fdf2f0;border:1px solid #b423182e;border-radius:12px;padding:.75rem 1rem}[role=status]:not(.echart-failed):not(.ranked-answer):not(.palette-empty){border-left-width:1px;border-radius:12px}.hint[role=status],.field-hint[role=status]{background:0 0;border:0;margin:.25rem 0 .5rem;padding:0}.notice-success{color:#0f5132;background:#edf7f1!important;border:1px solid #17644733!important;border-radius:12px!important}.empty-state,.empty-note{border:1px solid var(--hairline);color:var(--ink-soft);text-align:center;background:#ffffffb3;border-radius:14px;padding:2rem 1.25rem}table{border:1px solid var(--hairline);box-shadow:var(--card-shadow);border-collapse:separate;border-spacing:0;border-radius:12px}thead th{z-index:1;color:var(--ink-faint);letter-spacing:.03em;text-transform:uppercase;border-bottom:1px solid var(--hairline);background:#f7f9fc;font-size:.76rem;font-weight:650;position:sticky;top:0}th,td{vertical-align:middle;border-bottom:1px solid #15233a0f;padding:.65rem .85rem}tbody tr{transition:background .12s}tbody tr:hover{background:#f8fafc}tbody th{color:var(--ink);font-weight:600}td.num,th.num,.data-table .num{text-align:right;font-variant-numeric:tabular-nums}details>summary{cursor:pointer;color:var(--accent-strong);font-weight:600;list-style:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"›";margin-right:.45rem;transition:transform .16s;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.page-head h1{margin-bottom:.2rem}.segmented-tabs{background:#15233a12;border-radius:11px;gap:2px;margin:0 0 1rem;padding:3px;display:inline-flex}.segmented-tabs button[role]{min-height:2.1rem;color:var(--ink-soft);box-shadow:none;background:0 0;border:0;border-radius:8px;padding:.3rem 1rem;font-size:.88rem;font-weight:600}.segmented-tabs button[role]:hover:not(:disabled){background:#ffffff8c}.segmented-tabs button[role][aria-selected=true]{color:var(--ink);background:#fff;box-shadow:0 1px 3px #15233a26,0 1px 1px #15233a0f}.status-pill,.level-badge{white-space:nowrap;color:var(--ink-soft);background:#15233a12;border-radius:999px;align-items:center;gap:.3rem;padding:.12rem .6rem;font-size:.78rem;font-weight:700;display:inline-flex}.status-pill.safe,.status-pill.verdict-better{color:#176447;background:#e8f5ee}.status-pill.watch,.status-pill.verdict-same,.level-badge.medium{color:#7a5200;background:#fff4dc}.status-pill.at_risk,.status-pill.verdict-worse,.level-badge.high{color:#b42318;background:#fdecea}.form-row{flex-wrap:wrap;gap:0 1rem;display:flex}.form-row>label{flex:12rem}.data-table{width:100%}.ew-summary{flex-wrap:wrap;align-items:stretch;gap:.6rem;margin-bottom:1rem;display:flex}.ew-summary input[type=search]{flex:14rem;align-self:center}.ew-count{border:1px solid var(--hairline);min-width:8.5rem;color:var(--ink-soft);text-align:left;box-shadow:var(--card-shadow);background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;padding:.65rem .9rem;font-size:.8rem;font-weight:600;display:flex}button.ew-count{cursor:pointer;font:inherit;font-size:.8rem}button.ew-count:hover{background:#f8fafc}.ew-count strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem}.ew-count.high strong,.ew-count.at_risk strong,.ew-count.verdict-worse strong{color:#b42318}.ew-count.medium strong,.ew-count.watch strong{color:#9a6700}.ew-count.safe strong,.ew-count.verdict-better strong{color:#176447}.ew-count.active{border-color:var(--accent);box-shadow:var(--ring)}.risk-list{gap:.5rem}.risk-row{border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff;border-radius:14px;padding:.85rem 1rem}.risk-row.level-high{box-shadow:inset 3px 0 0 #d03b3b, var(--card-shadow)}.risk-row.level-medium{box-shadow:inset 3px 0 0 #fab219, var(--card-shadow)}.risk-main{grid-template-columns:auto minmax(9rem,13rem) 1fr auto;align-items:center;gap:.85rem;display:grid}.risk-who{flex-direction:column;line-height:1.25;display:flex}.risk-who a{color:var(--ink);font-weight:700;text-decoration:none}.risk-who a:hover{color:var(--accent-strong)}.risk-who small{color:var(--ink-faint)}.reason-chips{flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.reason{color:var(--ink-soft);background:#f3f5f8;border-radius:8px;padding:.15rem .55rem;font-size:.8rem;font-weight:550}.reason.attendance_low,.reason.marks_low,.reason.failing_subjects{color:#9b2a1f;background:#fdf0ee}.reason.attendance_drop,.reason.marks_drop{color:#7a5200;background:#fff6e0}.risk-action{justify-self:end}.following{color:#176447;flex-direction:column;align-items:flex-end;font-size:.85rem;line-height:1.25;display:flex}.following small{color:var(--ink-faint)}.follow-up-form{border-top:1px solid var(--hairline);gap:.5rem;margin-top:.85rem;padding-top:.85rem;display:grid}.follow-up-form label{max-width:none}@media (width<=60rem){.risk-main{grid-template-columns:auto 1fr}.reason-chips,.risk-action{grid-column:1/-1;justify-self:start}}*{scrollbar-width:thin;scrollbar-color:#15233a38 transparent}@media (prefers-reduced-motion:reduce){button:not([class]),tbody tr,details>summary:before{transition:none}}.directory-toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.25rem 0 .75rem;display:flex}.directory-toolbar input[type=search]{flex:20rem;max-width:32rem}tr.row-link{cursor:pointer}tr.row-link:hover .row-title{color:var(--accent-strong)}.row-title{color:var(--ink);font-weight:650;text-decoration:none}.row-title:focus-visible{box-shadow:var(--ring);border-radius:6px;outline:none}.muted-code{color:var(--ink-soft);font-variant-numeric:tabular-nums;letter-spacing:.01em}td.row-chevron{width:1.5rem;color:var(--ink-faint);text-align:right;font-size:1.2rem}.status-pill.student-active{color:#176447;background:#e8f5ee}.status-pill.student-transferred,.status-pill.student-inactive{color:#7a5200;background:#fff4dc}button.load-more{margin:1rem auto 0;display:block}.hover-actions{align-items:center;gap:.4rem;display:inline-flex}@media (hover:hover) and (pointer:fine){li .hover-actions:not(.confirming),tr .hover-actions:not(.confirming){opacity:0;transition:opacity .12s}li:hover .hover-actions,li:focus-within .hover-actions,tr:hover .hover-actions,tr:focus-within .hover-actions{opacity:1}}.follow-ups-tile{box-shadow:var(--card-shadow,0 1px 2px #15233a14);background:#fff;border-radius:16px;margin:0 0 1.25rem;padding:1rem 1.15rem}.follow-ups-tile header{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem;display:flex}.follow-ups-tile h3{margin:0;font-size:1.02rem}.follow-ups-tile-counts{gap:.4rem;display:inline-flex}.follow-ups-tile ul{gap:.45rem;margin:0 0 .6rem;padding:0;list-style:none;display:grid}.follow-ups-tile li{flex-wrap:wrap;align-items:baseline;gap:0 .5rem;min-width:0;display:flex}.follow-ups-tile-goal{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;flex:12rem;overflow:hidden}.follow-up-group{margin-top:1.25rem}.follow-up-group-title{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;display:flex}.follow-up-group-title.overdue{color:#b42318}.follow-up-group-title .count{background:#15233a12;border-radius:999px;padding:0 .45rem;font-size:.75rem}.follow-up-list{gap:.6rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.follow-up-card{background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;padding:.9rem 1rem;display:flex;box-shadow:0 1px 2px #15233a14}.follow-up-card.overdue{box-shadow:inset 3px 0 #d92d20,0 1px 2px #15233a14}.follow-up-main{flex:18rem;min-width:0}.follow-up-goal{margin:.3rem 0 .45rem}.follow-up-opened{margin-left:.5rem}.follow-up-actions{gap:.45rem;display:flex}.voice-promise{color:#1c3d66;background:#eef4fc;border-radius:14px;max-width:44rem;padding:.85rem 1rem;line-height:1.5}.voice-subjects{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.voice-card{background:#fff;border-radius:18px;padding:1.1rem 1.2rem;transition:box-shadow .16s;box-shadow:0 1px 2px #15233a14}.voice-card.done{box-shadow:inset 0 0 0 1.5px #3aa56b,0 1px 2px #15233a14}.voice-card h2{margin:0 0 .5rem;font-size:1.15rem}.voice-question{box-shadow:none;background:0 0;border:0;margin:.6rem 0 0;padding:0}.voice-question legend{margin-bottom:.4rem;font-weight:600}.voice-scale{gap:.4rem;display:flex}button.voice-face{border:1px solid var(--hairline);cursor:pointer;filter:grayscale(.6);opacity:.75;background:#fff;border-radius:14px;place-items:center;width:3rem;height:3rem;padding:0;font-size:1.5rem;transition:transform .12s,filter .12s,opacity .12s,box-shadow .12s;display:grid}button.voice-face:hover{opacity:1;filter:none}button.voice-face.chosen{filter:none;opacity:1;border-color:var(--accent);box-shadow:var(--ring);transform:scale(1.08)}.voice-scale-ends{width:16.6rem;max-width:100%;color:var(--ink-faint);justify-content:space-between;margin-top:.25rem;font-size:.72rem;display:flex}.voice-send{bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);background:#ffffffeb;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding:.7rem .8rem .7rem 1rem;display:flex;position:sticky;box-shadow:0 6px 24px #15233a1f}.voice-tile{color:var(--ink);background:linear-gradient(135deg,#eef4fc,#f5f0ff);border-radius:16px;align-items:center;gap:.85rem;margin:0 0 1.25rem;padding:.9rem 1.1rem;text-decoration:none;display:flex;box-shadow:0 1px 2px #15233a14}.voice-tile strong{display:block}.voice-tile small{color:var(--ink-soft)}.voice-tile-face{font-size:1.8rem}.voice-tile-go{color:var(--ink-faint);margin-left:auto;font-size:1.4rem}.staff-tiles{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;margin:1rem 0 1.25rem;display:grid}.staff-tile{background:#fff;border-radius:14px;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 2px #15233a14}.staff-tile strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem}.staff-tile span{color:var(--ink-soft);font-size:.85rem}.staff-columns{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.staff-panel{background:#fff;border-radius:16px;padding:1rem 1.15rem;box-shadow:0 1px 2px #15233a14}.staff-panel h2{align-items:center;gap:.5rem;margin:0 0 .25rem;font-size:1.05rem;display:flex}.staff-panel h2 .count{background:#15233a12;border-radius:999px;padding:0 .5rem;font-size:.8rem}.staff-flags{gap:.6rem;max-height:22rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid;overflow:auto}.staff-flags ul{color:var(--ink-soft);margin:.15rem 0 0;padding-left:1.1rem;font-size:.9rem}button.staff-flag-name{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.voice-round{margin-bottom:1.25rem}.voice-round-open{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.voice-progress{background:#15233a14;border-radius:999px;width:min(22rem,70vw);height:.5rem;margin:.5rem 0 .25rem;overflow:hidden}.voice-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.voice-round-form{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.voice-round-form p{flex-basis:100%;margin:0}.voice-round-form label{gap:.3rem;display:grid}.staff-table-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:.5rem 0;display:flex}.staff-table-head h2{margin:0;font-size:1.05rem}.staff-table-head input[type=search]{flex:0 22rem}.staff-table tr.flagged td:first-child{box-shadow:inset 3px 0 #e0a526}.staff-subjects{color:var(--ink-faint);display:block}.staff-missing{color:#b42318}.gap-behind{color:#b42318;font-weight:650}.gap-ahead{color:#176447;font-weight:650}.voice-bars{gap:3px;width:5.5rem;display:inline-grid}.voice-bar-track{background:#15233a14;border-radius:999px;height:5px;display:block;overflow:hidden}.voice-bar-fill{border-radius:inherit;background:#5b8def;height:100%;display:block}tr.staff-detail td{background:#f7f9fc}.staff-detail-grid{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;padding:.5rem .25rem;display:grid}.staff-detail-grid h3{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .4rem;font-size:.8rem}.chip-list{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.chip-list .chip{box-shadow:inset 0 0 0 1px var(--hairline);background:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.82rem}.staff-facts{grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0;display:grid}.staff-facts dt{color:var(--ink-soft)}.staff-facts dd{margin:0}.staff-footnote{max-width:52rem;margin-top:1rem}.breadcrumbs{margin-bottom:.25rem;font-size:.86rem;font-weight:600}.breadcrumbs a{color:var(--ink-faint);text-decoration:none}.breadcrumbs a:before{content:"‹ "}.breadcrumbs a:hover{color:var(--accent-strong)}.class-cards{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.class-card{border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff;border-radius:14px;flex-direction:column;gap:.55rem;padding:1rem 1.1rem;display:flex}.class-card.needs-you{border-left:3px solid var(--accent)}.class-card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.class-card-title{font-size:1.05rem}.class-card-next{color:var(--ink-soft);margin:0;font-size:.9rem}.class-card-now{color:var(--accent-strong)}.class-card-line{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem .75rem;display:flex}.class-figures{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.6rem;margin:0 0 1.25rem;display:grid}.class-figures>div{background:#fff;border-radius:14px;flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex;box-shadow:0 1px 2px #15233a14}.class-figures dt{color:var(--ink-soft);font-size:.85rem;font-weight:600}.class-figures dd{flex-direction:column;margin:0;display:flex}.class-figures dd strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.5rem}.class-figures dd .hint{font-size:.8rem}.class-figures.compact{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:.25rem 0 0;padding-top:.7rem}.class-figures.compact>div{box-shadow:none;background:0 0;padding:0}.class-figures.compact dt{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-faint);font-size:.74rem}.class-figures.compact dd strong{font-size:1.15rem}.class-figures.compact dd .hint{font-size:.72rem;line-height:1.3}.division-banner{border:1px solid var(--hairline);box-shadow:var(--card-shadow);color:var(--ink);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;margin-bottom:1rem;padding:.85rem 1.1rem;text-decoration:none;display:flex}.division-banner:hover strong{color:var(--accent-strong)}.division-banner strong:after{content:" ›";color:var(--ink-faint)}.class-tabs{flex-wrap:wrap}.charge-list li.cancelled{opacity:.55;text-decoration:line-through}.ws-more{margin-top:.6rem}.ws-more>summary{color:var(--ink-faint);letter-spacing:.04em;text-transform:uppercase;padding:.35rem .7rem;font-size:.78rem;font-weight:650}.ws-more-list{border-top:1px solid var(--hairline);margin-top:.6rem;padding-top:.6rem}@media (width<=40rem){.class-figures.compact{grid-template-columns:1fr 1fr 1fr}.class-card{padding:.9rem}}.paper-builder textarea{width:100%}.paper-minutes{flex:0 10rem!important}.paper-section{margin:1rem 0}.paper-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem 1rem;margin-bottom:.6rem;display:flex}.paper-section-head>label{flex:14rem}.paper-section-head>.paper-label{flex:0 0 6rem}.paper-section-head h2{margin:0}.paper-questions td{vertical-align:top}.paper-questions input,.paper-questions textarea{width:100%;min-height:2.2rem}.paper-questions .paper-number{width:4rem}.paper-questions .paper-marks{text-align:right;width:5rem}.paper-section-actions{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-top:.6rem;display:flex}.paper-footer{align-items:center}.paper-footer .hint{text-align:right;flex:1}.paper-total{font-variant-numeric:tabular-nums;font-weight:700}.paper-total.off{color:#b42318}.question-grid-wrap{margin:.5rem 0 1rem;overflow-x:auto}.question-grid{width:auto;min-width:100%}.question-grid th,.question-grid td{padding:.3rem .35rem}.question-grid tbody th,.question-grid thead th:first-child,.topic-heatmap tbody th,.topic-heatmap thead th:first-child{z-index:1;white-space:nowrap;background:#fff;position:sticky;left:0}.question-grid thead th:first-child,.topic-heatmap thead th:first-child{z-index:2;background:#f7f9fc}.qg-label{color:var(--ink);font-size:.82rem;display:block}.qg-max{text-transform:none;font-weight:500}input.qg-cell{text-align:right;font-variant-numeric:tabular-nums;width:3.4rem;min-height:2.2rem!important;padding:.25rem .4rem!important}input.qg-cell.saved{border-color:#17644759!important}input.qg-cell.invalid{background:#fdecea!important;border-color:#b42318!important}.qg-total{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.qg-total.invalid{color:#b42318}tr.qg-complete th{color:#176447}.structure-panel{margin:0 0 1rem}.chip-list label.chip{cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .75rem;font-weight:600;display:inline-flex}.chip-list label.chip.chosen{background:#e8f1fc;box-shadow:inset 0 0 0 1px #2a78d673}.tally-panel .chip-list{margin:.5rem 0 .75rem}.analysis-panel{margin:1.25rem 0}.analysis-panel h4{margin:.75rem 0 .4rem}.meter-track{vertical-align:middle;background:#15233a14;border-radius:999px;width:7rem;height:.5rem;display:inline-block;overflow:hidden}.meter-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.topic-heatmap td.heat{font-variant-numeric:tabular-nums;min-width:4.5rem;font-weight:650}.heat-class-row th,.heat-class-row td{border-bottom:2px solid var(--hairline-strong)}.generator-problems{color:#7a5200;background:#fff4dc;border-radius:12px;margin:0 0 1rem;padding:.75rem 1rem .75rem 2rem}.generator-problems li+li{margin-top:.25rem}.generator-standard h2{margin:0 0 .5rem;font-size:1.05rem}.generator-counts{width:auto}input.qg-cell.changed{border-color:var(--accent)!important;box-shadow:0 0 0 2px #2a78d64d!important}.limit-grid{width:auto}.limit-grid td{padding:.2rem}button.limit-cell{border:1px solid var(--hairline-strong);color:#b42318;width:2.6rem;min-height:2.2rem;box-shadow:none;background:#fff;border-radius:8px;padding:0;font-weight:700}button.limit-cell.blocked{background:#fdecea;border-color:#b4231873}.run-panel{margin:1rem 0}.run-bar{width:100%;height:.6rem}.generator-actions{align-items:center}.cover-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.cover-card{border:1px solid var(--hairline);box-shadow:var(--card-shadow);background:#fff;border-radius:14px;padding:1rem 1.1rem}.cover-card-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;margin-bottom:.5rem;display:flex}.cover-periods{gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.cover-periods li{border-bottom:1px solid #15233a0f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;padding-bottom:.5rem;display:flex}.cover-when{flex-direction:column;display:flex}.cover-periods select{max-width:min(34rem,100%)}.statement-figures>div.attention dd strong{color:var(--danger)}.statement-figures>div.attention{box-shadow:inset 3px 0 0 var(--danger), 0 1px 2px #15233a14}.statement-next{background:var(--navy-tint);border-radius:12px;margin:0 0 1.25rem;padding:.75rem 1rem}.statement-next p{margin:.15rem 0}.statement-table{border-collapse:collapse;width:100%}.statement-table th,.statement-table td{border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums;padding:.5rem .6rem}.statement-table thead th{color:var(--ink-soft);font-size:.85rem;font-weight:600}.statement-table tbody th{font-weight:500}.statement-table .num{text-align:right}.statement-table tr.is-next{background:var(--marigold-tint)}.statement-payments li{align-items:baseline}.statement-payments li strong{font-variant-numeric:tabular-nums;margin-left:auto}.statement-history{margin-top:1.25rem}:root{--ease-out:cubic-bezier(.2, .7, .2, 1);--motion-fast:.14s;--motion-medium:.28s}.route-enter{animation:route-in var(--motion-medium) var(--ease-out) backwards}@keyframes route-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.staff-panel,.analytics-tile,.principal-tile,.run-tile,.rule-card,.chart-card,.make-card,.period-cards>li{transition:box-shadow var(--motion-medium) var(--ease-out), transform var(--motion-medium) var(--ease-out), border-color var(--motion-fast) ease}@media (hover:hover){.analytics-tile:hover,.principal-tile:hover,.run-tile:hover,.chart-card:hover,.period-cards>li:hover{transform:translateY(-2px);box-shadow:0 2px 4px #15233a0f,0 14px 32px #15233a1a}}.chart-card.expanded,.chart-card.expanded:hover{transform:none!important}:has(>.chart-card.expanded){transform:none!important}:hover:has(.chart-card.expanded){transform:none!important}button,.button,.button-link{transition:transform var(--motion-fast) ease, background-color var(--motion-fast) ease, box-shadow var(--motion-fast) ease}button:active:not(:disabled),.button:active,.button-link:active{transform:scale(.97)}.charge-list>li,.why-list>li,.move-list>li,.band-list>li{animation:item-in var(--motion-medium) var(--ease-out) backwards}.charge-list>li:nth-child(2),.why-list>li:nth-child(2),.move-list>li:nth-child(2),.band-list>li:nth-child(2){animation-delay:30ms}.charge-list>li:nth-child(3),.why-list>li:nth-child(3),.move-list>li:nth-child(3),.band-list>li:nth-child(3){animation-delay:60ms}.charge-list>li:nth-child(n+4),.why-list>li:nth-child(n+4),.move-list>li:nth-child(n+4),.band-list>li:nth-child(n+4){animation-delay:90ms}@keyframes item-in{0%{opacity:0;transform:translateY(4px)}}details[open]>:not(summary){animation:item-in var(--motion-medium) var(--ease-out) backwards}@media (prefers-reduced-motion:reduce){.route-enter,.charge-list>li,.why-list>li,.move-list>li,.band-list>li,details[open]>:not(summary){animation:none!important}.staff-panel,.analytics-tile,.principal-tile,.run-tile,.rule-card,.chart-card,.make-card,.period-cards>li,button,.button,.button-link{transition:none!important;transform:none!important}}
