:root{--blue-950:#0a1f3d;--blue-900:#102a4c;--blue-800:#1a3a6b;--blue-700:#1e4a8a;--blue-600:#2563b8;--blue-500:#3b82e0;--sky-400:#5ba8f0;--sky-300:#8fc3f5;--sky-200:#bfddfa;--sky-100:#e0eefc;--sky-50:#f2f8fe;--ink-900:#0f1722;--ink-700:#384153;--ink-500:#6b7385;--ink-300:#c9cfdb;--ink-100:#eef1f6;--paper:#fff;--canvas:#f7f9fc;--success:#1f8f5f;--success-bg:#e5f4ed;--warning:#c2810b;--warning-bg:#fbf1dc;--danger:#c0392b;--danger-bg:#fbe7e4;--info:#1e4a8a;--info-bg:#e0eefc;--tw-blue-50:#eff6ff;--tw-blue-50-alt:#f0f6ff;--tw-blue-100:#dbeafe;--tw-blue-200:#bfdbfe;--tw-blue-300:#93c5fd;--tw-blue-400:#60a5fa;--tw-blue-500:#3b82f6;--tw-blue-600:#2563eb;--tw-blue-700:#1d4ed8;--tw-blue-800:#1e40af;--tw-blue-900:#1e3a8a;--side-ink:#c5d2e4;--side-ink-2:#9fb3d1;--side-ink-3:#7e92b0;--side-ink-4:#8aa0c2;--hero-ink:#d8e3f5;--side-pill-ink:#e6edf6;--role-platform-bg:#0a1f3d14;--role-school-bg:#1e4a8a14;--role-teacher-bg:#3b82e014;--role-student-bg:#5ba8f022;--role-parent-bg:#8fc3f526;--focus-ring:rgba(59,130,224,.18);--hero-from:rgba(16,42,76,.96);--fg-blue-950:var(--blue-950);--fg-blue-900:var(--blue-900);--fg-blue-800:var(--blue-800);--fg-blue-700:var(--blue-700);--fg-blue-600:var(--blue-600);--fg-blue-500:var(--blue-500);--fg-sky-50:var(--sky-50);--fg-sky-100:var(--sky-100);--fg-sky-200:var(--sky-200);--fg-tw-blue-500:var(--tw-blue-500);--fg-tw-blue-600:var(--tw-blue-600);--fg-tw-blue-700:var(--tw-blue-700);--fg-tw-blue-800:var(--tw-blue-800);--fg-tw-blue-900:var(--tw-blue-900);--fg-info:var(--info);--fg-success:var(--success);--fg-warning:var(--warning);--fg-danger:var(--danger);--elev-1:0 1px 3px rgba(15,23,34,.06),0 4px 12px rgba(15,23,34,.04);--r-card:12px;--r-input:8px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px}:root.dark{color-scheme:dark;--ink-900:#e8edf5;--ink-700:#b6c1d3;--ink-500:#8f9bb0;--ink-300:#3a4a63;--ink-100:#22304a;--paper:#111b2b;--canvas:#0b1320;--success-bg:#11291f;--warning-bg:#2c2210;--danger-bg:#301615;--fg-success:#4cc38a;--fg-warning:#e3a53a;--fg-danger:#f17d70;--elev-1:0 1px 3px rgba(0,0,0,.4),0 4px 12px rgba(0,0,0,.3)}.light-island{color-scheme:light;--ink-900:#0f1722;--ink-700:#384153;--ink-500:#6b7385;--ink-300:#c9cfdb;--ink-100:#eef1f6;--paper:#fff;--canvas:#f7f9fc;--success-bg:#e5f4ed;--warning-bg:#fbf1dc;--danger-bg:#fbe7e4;--fg-success:var(--success);--fg-warning:var(--warning);--fg-danger:var(--danger);color:var(--ink-900)}:where(:root.dark button:disabled){color:var(--ink-500)}:root.dark :where(.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-success):not(.btn-smart):not(.btn-back)){background-color:var(--ink-100);color:var(--ink-900)}:root.dark :where(.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-success):not(.btn-smart):not(.btn-back))[aria-disabled=true],:root.dark :where(.btn:not(.btn-primary):not(.btn-secondary):not(.btn-ghost):not(.btn-danger):not(.btn-success):not(.btn-smart):not(.btn-back))[disabled]{color:var(--ink-700)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Inter Tight,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--ink-900);background:var(--canvas);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;color:var(--ink-900);margin:0}h1{font-size:3rem;line-height:1.05;font-variation-settings:"opsz" 144}h2{font-size:2.25rem;line-height:1.1;font-variation-settings:"opsz" 96}h3{font-size:1.625rem;line-height:1.15;font-weight:500;font-variation-settings:"opsz" 48}h4{font-size:1.125rem;line-height:1.3;font-weight:600;font-family:Inter Tight,sans-serif;letter-spacing:-.01em}p{margin:0}a{color:var(--fg-blue-700);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--sky-200);color:var(--ink-900)}.card{background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-5)}.card-tight{padding:var(--s-4)}.card-elev{box-shadow:var(--elev-1);border-color:transparent}.card-tint{background:var(--sky-50);border-color:var(--sky-100)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);height:40px;padding:0 var(--s-4);border-radius:var(--r-input);border:1px solid transparent;font-family:inherit;font-size:.875rem;font-weight:600;letter-spacing:-.01em;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out,box-shadow .15s ease-out;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.btn-sm{height:32px;padding:0 var(--s-3);font-size:.8125rem}.btn-lg{height:48px;padding:0 var(--s-5);font-size:.9375rem}.btn-primary{background:var(--blue-600);color:var(--x-fg-ffffff)}.btn-primary:hover{background:var(--blue-800)}.btn-primary:active{background:var(--blue-900)}.btn-secondary{background:var(--sky-100);color:var(--fg-blue-700);border-color:var(--sky-200)}.btn-secondary:hover{background:var(--sky-200);border-color:var(--blue-500)}.btn-secondary:active{background:var(--sky-300)}.btn-ghost{background:transparent;color:var(--fg-blue-700)}.btn-ghost:hover{background:var(--sky-100)}.btn-danger{background:var(--paper);color:var(--fg-danger);border-color:var(--ink-300)}.btn-danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn-success{background:var(--success);color:var(--x-fg-ffffff);border-color:var(--success)}.btn-success:hover{filter:brightness(.93)}.btn-back{border-radius:999px;background:var(--x-bg-facc15);border-color:var(--x-bd-d99e12);color:var(--x-fg-422006);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08);transition:background .15s ease-out,box-shadow .15s ease-out,transform .15s ease-out}.btn-back:hover{background:var(--x-bg-eab308);box-shadow:0 4px 10px rgba(0,0,0,.14);transform:translateY(-1px)}.btn-back:active{transform:translateY(0)}.btn-smart{background:var(--success);border-color:var(--success);color:var(--x-fg-ffffff)}.btn-smart:hover{filter:brightness(.92)}.btn-smart:active{filter:brightness(.85)}.btn[aria-disabled=true],.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.modal-actions .btn{min-width:0;height:auto;min-height:40px;white-space:normal;text-align:center;line-height:1.25}.btn-block{width:100%}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.8125rem;font-weight:500;color:var(--ink-700);letter-spacing:-.01em}.field-hint{font-size:.75rem;color:var(--ink-500)}.field-tooltip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:6px;border-radius:50%;background:var(--ink-100);color:var(--ink-500);font-size:.625rem;font-weight:700;line-height:1;cursor:help;vertical-align:middle}.field-tooltip:focus-visible,.field-tooltip:hover{background:var(--sky-100,var(--ink-100));color:var(--ink-700);outline:none}.field-tooltip[data-tip]:after{content:attr(data-tip);bottom:calc(100% + 8px);width:max-content;max-width:240px;padding:6px 9px;border-radius:6px;background:var(--ink-900);color:var(--paper);font-size:.6875rem;font-weight:500;line-height:1.35;letter-spacing:0;text-align:left;white-space:normal;box-shadow:var(--elev-1)}.field-tooltip[data-tip]:after,.field-tooltip[data-tip]:before{position:absolute;left:50%;transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease;z-index:50}.field-tooltip[data-tip]:before{content:"";bottom:calc(100% + 3px);border:5px solid transparent;border-top:5px solid var(--ink-900)}.field-tooltip[data-tip]:focus-visible:after,.field-tooltip[data-tip]:focus-visible:before,.field-tooltip[data-tip]:hover:after,.field-tooltip[data-tip]:hover:before{opacity:1;visibility:visible}.field-error{font-size:.75rem;color:var(--fg-danger)}.required{color:var(--fg-danger);margin-left:2px}.input,.select,.textarea{width:100%;background:var(--paper);border:1px solid var(--ink-300);border-radius:var(--r-input);padding:0 30px 0 var(--s-3);height:40px;font:inherit;font-size:.9375rem;color:var(--ink-900);transition:border-color .15s ease-out,box-shadow .15s ease-out}.textarea{padding:10px var(--s-3);height:auto;min-height:96px;resize:vertical;line-height:1.5}.input::placeholder,.textarea::placeholder{color:var(--ink-500)}.input:hover,.select:hover,.textarea:hover{border-color:var(--blue-500)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px var(--focus-ring)}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(192,57,43,.18)}.input[disabled]{background:var(--ink-100);color:var(--ink-500);cursor:not-allowed}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%236B7385' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:.75rem;font-weight:600;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.pill-success{background:var(--success-bg);color:var(--fg-success)}.pill-warning{background:var(--warning-bg);color:var(--fg-warning)}.pill-danger{background:var(--danger-bg);color:var(--fg-danger)}.pill-info{background:var(--info-bg);color:var(--fg-info)}.pill-neutral{background:transparent;color:var(--ink-700);border:1px solid var(--ink-300)}.pill-rejected{background:transparent;color:var(--fg-danger);border:1px solid var(--danger)}.app-sidebar .pill-neutral{color:var(--side-pill-ink);border-color:hsla(0,0%,100%,.3);background:hsla(0,0%,100%,.08)}.role-tag{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:var(--r-pill);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.role-tag .swatch-dot{width:6px;height:6px;border-radius:50%}.role-platform{background:var(--role-platform-bg);color:var(--fg-blue-950)}.role-platform .swatch-dot{background:var(--blue-950)}.role-school{background:var(--role-school-bg);color:var(--fg-blue-700)}.role-school .swatch-dot{background:var(--blue-700)}.role-teacher{background:var(--role-teacher-bg);color:var(--fg-blue-500)}.role-teacher .swatch-dot{background:var(--blue-500)}.role-student{background:var(--role-student-bg);color:var(--fg-blue-800)}.role-student .swatch-dot{background:var(--sky-400)}.role-parent{background:var(--role-parent-bg);color:var(--fg-blue-800)}.role-parent .swatch-dot{background:var(--sky-300)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--sky-100);color:var(--fg-blue-700);display:inline-flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:600;letter-spacing:-.01em;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:.6875rem}.avatar-lg{width:48px;height:48px;font-size:1rem}.kpi{background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-4) var(--s-5);display:flex;flex-direction:column;gap:var(--s-2)}.kpi-label{font-size:.8125rem;font-weight:500;color:var(--ink-500);letter-spacing:-.01em}.kpi-value{font-family:Fraunces,serif;font-weight:600;font-size:2.5rem;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-900);letter-spacing:-.02em}.kpi-foot{display:flex;align-items:center;gap:var(--s-2);font-size:.8125rem;color:var(--ink-500)}.trend-up{color:var(--fg-success);font-weight:600}.trend-down{color:var(--fg-danger);font-weight:600}.status{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500}.status-success{color:var(--fg-success)}.status-warning{color:var(--fg-warning)}.status-danger{color:var(--fg-danger)}.status-info{color:var(--fg-blue-700)}.health-row{display:flex;align-items:center;justify-content:space-between;padding:var(--s-3) 0;border-bottom:1px dashed var(--ink-100);font-size:.875rem}.health-row:last-child{border-bottom:none}.health-row .health-name{display:flex;align-items:center;gap:var(--s-2);color:var(--ink-900);font-weight:500}.health-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.health-dot.green{background:var(--success);box-shadow:0 0 0 3px rgba(31,143,95,.15)}.health-dot.amber{background:var(--warning);box-shadow:0 0 0 3px rgba(194,129,11,.15)}.health-dot.red{background:var(--danger);box-shadow:0 0 0 3px rgba(192,57,43,.15)}.alert{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-input);font-size:.875rem;border:1px solid}.alert-title{font-weight:600;margin-bottom:2px}.alert-info{background:var(--info-bg);border-color:var(--sky-200);color:var(--fg-blue-800)}.alert-success{background:var(--success-bg);border-color:var(--x-bd-bce3cf);color:var(--x-fg-0e5a3c)}.alert-warning{background:var(--warning-bg);border-color:var(--x-bd-edd8a0);color:var(--x-fg-7a5208)}.alert-danger{background:var(--danger-bg);border-color:var(--x-bd-efbeb6);color:var(--x-fg-7e2a20)}.table-wrap{background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);overflow-x:auto}table.table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.table thead th{background:var(--paper);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-500);text-align:left;padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--ink-100);white-space:nowrap}.table--head-tint thead th{background:var(--info-bg);color:var(--ink-700);border-bottom-color:var(--info)}.table tbody td{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--ink-100);color:var(--ink-900);vertical-align:middle}.table tbody tr:nth-child(2n) td{background:var(--sky-50)}.table tbody tr:hover td{background:var(--sky-100)}.row-group td:first-child{border-left:1px solid var(--ink-300);box-shadow:inset 4px 0 0 var(--blue-500)}.row-group td:last-child{border-right:1px solid var(--ink-300)}.row-group-top td{border-top:1px solid var(--ink-300)}.row-group-bottom td{border-bottom:1px solid var(--ink-300)}.row-group-top td:first-child{border-top-left-radius:var(--r-card)}.row-group-top td:last-child{border-top-right-radius:var(--r-card)}.row-group-bottom td:first-child{border-bottom-left-radius:var(--r-card)}.row-group-bottom td:last-child{border-bottom-right-radius:var(--r-card)}.table tbody tr.table__row--clickable:hover td{background:var(--sky-200,var(--x-bg-cfe3fb))}.table tbody tr.table__row--clickable:focus-visible{outline:2px solid var(--blue-600,var(--x-bd-2563eb));outline-offset:-2px}.table tbody tr.table__row--clickable td:last-child{transition:color .12s ease,transform .12s ease}.table tbody tr.table__row--clickable:focus-visible td:last-child,.table tbody tr.table__row--clickable:hover td:last-child{color:var(--fg-blue-700,var(--x-fg-1d4ed8));transform:translateX(2px)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.grade-cycle-head>td{border-top:2px solid var(--cycle-accent);border-left:2px solid var(--cycle-accent);border-right:2px solid var(--cycle-accent);border-top-left-radius:10px;border-top-right-radius:10px}.table tbody tr.grade-cycle-last>td:first-child{border-bottom-left-radius:10px}.table tbody tr.grade-cycle-last>td:last-child{border-bottom-right-radius:10px}.table tbody tr.grade-cycle-row:hover>td,.table tbody tr.grade-cycle-row>td{background:var(--cycle-row-bg)}.table tbody tr.grade-cycle-row>td:first-child{border-left:2px solid var(--cycle-accent)}.table tbody tr.grade-cycle-row>td:last-child{border-right:2px solid var(--cycle-accent)}.table tbody tr.grade-cycle-last>td{border-bottom:2px solid var(--cycle-accent)}.grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.app--with-rail{grid-template-columns:64px 240px 1fr}@media (max-width:880px){.app,.app--with-rail{grid-template-columns:1fr}}.app-rail{background:var(--blue-950,var(--x-bg-0a1f3d));border-right:1px solid hsla(0,0%,100%,.06);flex-direction:column;gap:var(--s-3);padding:var(--s-4) 0;position:-webkit-sticky;position:sticky;top:0;height:100vh}.app-rail,.ws-logo{display:flex;align-items:center}.ws-logo{justify-content:center;flex-shrink:0}.ws-logo-mark{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,var(--blue-700),var(--blue-500));box-shadow:var(--elev-1);position:relative}.ws-logo-mark:before{content:"";position:absolute;inset:8px;border-left:2px solid var(--x-bd-ffffff);border-top:2px solid var(--x-bd-ffffff);border-radius:4px;border-bottom:2px solid transparent;border-right:2px solid transparent;transform:rotate(45deg)}.ws-list{flex-direction:column;gap:var(--s-2);overflow-y:auto;padding:var(--s-2) 0}.ws-list,.ws-tile-wrap{display:flex;align-items:center;width:100%}.ws-tile-wrap{position:relative;justify-content:center}.ws-active-indicator{position:absolute;left:0;width:4px;height:32px;border-radius:0 4px 4px 0;background:var(--x-bg-facc15)}.ws-tile{width:44px;height:44px;border-radius:14px;border:0;cursor:pointer;color:var(--x-fg-ffffff);font-weight:700;font-size:.8125rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:var(--elev-1);background:var(--blue-700)}.ws-tile.is-active{border-radius:12px;outline:2px solid var(--x-bd-facc15);outline-offset:2px}.ws-tile:disabled{cursor:progress;opacity:.7}.ws-tile-logo{width:100%;height:100%;object-fit:cover}.ws-tile-initials{letter-spacing:.02em}.ws-tile-spinner{position:absolute;inset:0;margin:auto;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.4);border-top:2px solid var(--x-bd-ffffff);border-radius:50%;animation:ws-spin .6s linear infinite}@keyframes ws-spin{to{transform:rotate(1turn)}}.ws-add{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;color:var(--side-ink-2);background:hsla(0,0%,100%,.04);border:1px dashed hsla(0,0%,100%,.18);text-decoration:none;flex-shrink:0;margin-top:auto}.ws-add:hover{color:var(--x-fg-ffffff);background:hsla(0,0%,100%,.08);text-decoration:none}.app-sidebar{background:var(--blue-900);color:var(--side-ink);padding:var(--s-5) var(--s-3) var(--s-4);display:flex;flex-direction:column;gap:var(--s-3);position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;overscroll-behavior:contain}.app-sidebar::-webkit-scrollbar{width:8px}.app-sidebar::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.18);border-radius:4px}.app-sidebar::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.3)}.app-sidebar::-webkit-scrollbar-track{background:transparent}.app-brand{display:flex;align-items:center;gap:10px;padding:0 var(--s-2) var(--s-3);color:var(--x-fg-ffffff)}.app-brand-mark{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--blue-700),var(--blue-500));position:relative;flex-shrink:0;box-shadow:var(--elev-1)}.app-brand-mark:before{content:"";position:absolute;inset:7px;border-radius:4px;border-color:#fff transparent transparent #fff;border-style:solid;border-width:2px;transform:rotate(45deg)}.app-brand-name{font-family:Fraunces,serif;font-weight:600;font-size:1.25rem;letter-spacing:-.01em;line-height:1}.app-section{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-sky-100);background:var(--blue-700);border-radius:6px;padding:var(--s-2);margin:var(--s-2) 0 var(--s-1)}.app-link{display:flex;align-items:center;gap:10px;padding:8px var(--s-2);border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--side-ink);text-decoration:none;cursor:pointer;background:transparent;border:0;text-align:left;width:100%}.app-link:hover{background:hsla(0,0%,100%,.04);color:var(--x-fg-ffffff);text-decoration:none}.app-link[aria-current=page]{background:hsla(0,0%,100%,.28);color:var(--x-fg-ffffff);font-weight:600;box-shadow:inset 3px 0 0 #f7c948,inset -4px 0 0 #f7c948}.app-role{margin-top:auto;padding:var(--s-3) var(--s-2) 0;display:flex;align-items:center;gap:10px;font-size:.75rem;border-top:1px solid hsla(0,0%,100%,.08)}.app-role .avatar{background:var(--blue-700);color:var(--x-fg-ffffff)}.app-role-name{color:var(--x-fg-ffffff);font-weight:600;font-size:.8125rem}.app-role-meta{color:var(--side-ink-3);font-size:.6875rem}.app-main{display:flex;flex-direction:column;min-width:0}.app-topbar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-6);background:var(--paper);border-bottom:1px solid var(--ink-100);position:-webkit-sticky;position:sticky;top:0;z-index:10}.app-topbar .search{flex:1 1;max-width:480px;height:36px;background:var(--canvas);border:1px solid var(--ink-100);border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;font-size:.8125rem;color:var(--ink-500)}.app-content{padding:var(--s-6);flex:1 1}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s-5);margin-bottom:var(--s-6);padding-bottom:var(--s-4);border-bottom:1px solid var(--ink-100)}.page-head h2{font-size:1.75rem}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-blue-700)}.muted{color:var(--ink-500)}.stack{flex-direction:column}.row,.stack{display:flex;gap:var(--s-3)}.row{align-items:center}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(420px,.9fr) minmax(560px,1.1fr);background:var(--canvas)}@media (max-width:980px){.auth-shell{grid-template-columns:1fr}.auth-aside{display:none}}.auth-aside{background:linear-gradient(160deg,var(--blue-900) 0,var(--blue-700) 60%,var(--blue-500) 100%);color:var(--x-fg-ffffff);padding:var(--s-9) var(--s-7);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth-aside:before{content:"";position:absolute;inset:-40% -20% auto auto;width:60%;height:60%;background:radial-gradient(circle,hsla(0,0%,100%,.08),transparent 60%);pointer-events:none}.auth-aside .brand{display:flex;align-items:center;gap:12px}.auth-aside h1{color:var(--x-fg-ffffff);margin-top:var(--s-7);max-width:18ch}.auth-aside .pitch{color:var(--side-ink);max-width:38ch;font-size:1rem;margin-top:var(--s-3)}.auth-aside .trust{font-size:.75rem;color:var(--side-ink-4);display:flex;gap:var(--s-4);flex-wrap:wrap}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--s-7) var(--s-6);min-width:0;overflow-x:hidden;position:relative}.auth-lang{position:absolute;top:var(--s-4);right:var(--s-5);z-index:2}@media (max-width:980px){.auth-lang{top:var(--s-3);right:var(--s-3)}}.auth-card{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-6);box-shadow:var(--elev-1)}.auth-card--invitation{max-width:min(100%,680px)}.auth-card h2{font-size:1.625rem;margin-bottom:var(--s-2)}.auth-card .lead{color:var(--ink-500);font-size:.9375rem;margin-bottom:var(--s-5)}.auth-card form{display:flex;flex-direction:column;gap:var(--s-4)}.onboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.onboard-grid--address{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.onboard-grid--branding{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.onboard-review-row{display:grid;grid-template-columns:180px minmax(0,1fr);padding:6px 0;border-bottom:1px solid var(--x-bd-f3f4f6);font-size:14px}@media (max-width:640px){.onboard-grid,.onboard-grid--address,.onboard-grid--branding,.onboard-review-row{grid-template-columns:minmax(0,1fr)}}.invitation-profile-fields .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.invitation-profile-fields .field{min-width:0}.invitation-profile-fields .field--phone{grid-column:span 2}.invitation-profile-fields .phone-combo{grid-template-columns:minmax(210px,.95fr) minmax(240px,1.05fr);gap:10px}@media (max-width:1180px){.invitation-profile-fields .phone-combo{grid-template-columns:1fr}}@media (max-width:720px){.auth-card--invitation{max-width:100%}.invitation-profile-fields .form-grid{grid-template-columns:1fr}.invitation-profile-fields .field--phone{grid-column:span 1}}.auth-foot{margin-top:var(--s-5);font-size:.8125rem;color:var(--ink-500);text-align:center}.wizard{display:grid;grid-template-columns:260px 1fr;grid-gap:var(--s-6);gap:var(--s-6)}@media (max-width:880px){.wizard{grid-template-columns:1fr}}.wizard-steps{position:-webkit-sticky;position:sticky;top:calc(var(--s-6) + 60px);align-self:start;display:flex;flex-direction:column;gap:var(--s-2);background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-4)}.wizard-step{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-input);cursor:pointer;background:transparent;border:1px solid transparent;text-align:left;width:100%;font-family:inherit;color:var(--ink-700);transition:background .15s ease-out,border-color .15s ease-out}.wizard-step:hover{background:var(--sky-50)}.wizard-step[aria-current=step]{background:var(--sky-50);border-color:var(--sky-200);color:var(--ink-900)}.wizard-step .step-no{width:24px;height:24px;border-radius:50%;background:var(--ink-100);color:var(--ink-500);display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.wizard-step[aria-current=step] .step-no{background:var(--blue-600);color:var(--x-fg-ffffff)}.wizard-step.done .step-no{background:var(--success);color:var(--x-fg-ffffff)}.wizard-step .step-title{font-weight:600;font-size:.875rem;letter-spacing:-.01em}.wizard-step .step-sub{font-size:.75rem;color:var(--ink-500);margin-top:2px}.wizard-step:disabled{opacity:.6;cursor:not-allowed}.wizard-progress{height:6px;background:var(--ink-100);border-radius:var(--r-pill);overflow:hidden;margin-bottom:var(--s-2)}.wizard-progress-bar{height:100%;background:linear-gradient(90deg,var(--blue-600),var(--sky-400));transition:width .25s ease-out}.wizard-panel{background:var(--paper);border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-6);display:flex;flex-direction:column;gap:var(--s-5)}.wizard-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--ink-100)}.wizard-panel-head h3{margin-bottom:6px}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);border-top:1px solid var(--ink-100);padding-top:var(--s-4)}.form-grid{display:grid;grid-gap:var(--s-4);gap:var(--s-4);grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid>.col-span-2,.form-grid>.field--phone{grid-column:span 2}.phone-combo{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(180px,1.35fr);grid-gap:10px;gap:10px;align-items:center;min-width:0}.phone-combo--prefix{grid-template-columns:minmax(96px,120px) minmax(180px,1fr)}.phone-combo--country{grid-template-columns:minmax(210px,.95fr) minmax(180px,1.05fr)}.phone-combo__country,.phone-combo__number,.phone-combo__prefix{min-width:0}.phone-combo__prefix{text-align:center;background:var(--x-bg-f4f4f4)}@media (max-width:720px){.form-grid,.form-grid-3{grid-template-columns:1fr}.form-grid>.col-span-2,.form-grid>.field--phone{grid-column:span 1}}@media (max-width:560px){.phone-combo,.phone-combo--country,.phone-combo--prefix{grid-template-columns:1fr}}.fieldset{border:1px solid var(--ink-100);border-radius:var(--r-card);padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-4)}.fieldset-legend{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-blue-700)}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px dashed var(--ink-100)}.toggle-row:last-child{border-bottom:none}.toggle-row .label-text{font-size:.9375rem;font-weight:500;color:var(--ink-900)}.toggle-row .hint-text{font-size:.8125rem;color:var(--ink-500);margin-top:2px}.switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-track{position:absolute;cursor:pointer;inset:0;background:var(--ink-300);border-radius:var(--r-pill);transition:background .15s ease-out}.switch-track:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:var(--x-bg-ffffff);border-radius:50%;transition:transform .15s ease-out;box-shadow:0 1px 2px rgba(0,0,0,.18)}.switch input:checked+.switch-track{background:var(--blue-600)}.switch input:checked+.switch-track:before{transform:translateX(18px)}.day-toggle{display:inline-flex;flex-wrap:wrap;gap:var(--s-2)}.day-toggle label{display:inline-flex;align-items:center;justify-content:center;height:36px;min-width:56px;padding:0 12px;border:1px solid var(--ink-300);border-radius:var(--r-pill);font-size:.8125rem;font-weight:600;color:var(--ink-700);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.day-toggle label.checked{background:var(--blue-600);color:var(--x-fg-ffffff);border-color:var(--blue-600)}.day-toggle input{display:none}.row-list{display:flex;flex-direction:column;gap:var(--s-3)}.row-card{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:var(--s-3);gap:var(--s-3);align-items:end;padding:var(--s-3);border:1px dashed var(--ink-300);border-radius:var(--r-input)}@media (max-width:720px){.row-card{grid-template-columns:1fr 1fr}}.row-card .row-actions{display:flex;gap:var(--s-2)}.tag-input{display:flex;flex-wrap:wrap;gap:6px;padding:6px;border:1px solid var(--ink-300);border-radius:var(--r-input);background:var(--paper);min-height:40px}.tag-input input{border:0;outline:0;flex:1 1;min-width:120px;font:inherit;font-size:.875rem;padding:4px 6px;background:transparent}.tag-chip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 10px;border-radius:var(--r-pill);background:var(--sky-100);color:var(--fg-blue-800);font-size:.8125rem;font-weight:500}.tag-chip button{background:transparent;border:0;font-size:1rem;color:var(--fg-blue-700);cursor:pointer;line-height:1;padding:0 2px}.setup-hero{background:linear-gradient(135deg,var(--blue-900),var(--blue-700) 60%,var(--blue-500));color:var(--x-fg-ffffff);border-radius:var(--r-card);padding:var(--s-6);display:grid;grid-template-columns:1.4fr 1fr;grid-gap:var(--s-5);gap:var(--s-5);align-items:center;position:relative;overflow:hidden;margin-bottom:var(--s-6)}.setup-hero:before{content:"";position:absolute;inset:-30% -10% auto auto;width:50%;height:60%;background:radial-gradient(circle,hsla(0,0%,100%,.12),transparent 60%);pointer-events:none}.setup-hero h3{color:var(--x-fg-ffffff);font-family:Fraunces,serif;font-size:1.75rem;margin-bottom:var(--s-2)}.setup-hero p{color:var(--hero-ink);max-width:52ch}.setup-hero .btn-primary{background:var(--x-bg-ffffff);color:var(--fg-blue-800)}.setup-hero .btn-primary:hover{background:var(--sky-100)}.setup-hero .btn-ghost{color:var(--x-fg-ffffff)}.setup-hero .btn-ghost:hover,.setup-progress-card{background:hsla(0,0%,100%,.08)}.setup-progress-card{border:1px solid hsla(0,0%,100%,.16);border-radius:var(--r-card);padding:var(--s-4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.setup-progress-card .progress-ring{font-family:Fraunces,serif;font-size:2.25rem;font-weight:600}.setup-checklist{display:grid;grid-gap:var(--s-2);gap:var(--s-2);margin-top:var(--s-3)}.setup-checklist li{display:flex;align-items:center;gap:var(--s-2);list-style:none;font-size:.875rem}.setup-checklist .tick{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.15);font-size:.6875rem;flex-shrink:0}.setup-checklist .tick.done{background:var(--success)}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--s-4);gap:var(--s-4)}.summary-item{display:flex;flex-direction:column;gap:2px}.summary-label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-500)}.summary-value{font-size:.9375rem;font-weight:500;color:var(--ink-900)}.mock-chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 10px;border-radius:var(--r-pill);background:var(--warning-bg);color:var(--fg-warning);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.ca-bar{display:flex;height:36px;border-radius:var(--r-md,6px);overflow:hidden;border:1px solid var(--line,var(--x-bd-e5e7eb))}.ca-bar>div{display:flex;align-items:center;justify-content:flex-start;min-width:0}@media (min-width:881px){html[data-sidebar=compact] .app{grid-template-columns:72px 1fr}html[data-sidebar=compact] .app--with-rail{grid-template-columns:64px 72px 1fr}}.app-sidebar--compact{padding-left:var(--s-2);padding-right:var(--s-2);align-items:center}.app-sidebar--compact .app-brand{padding:0 0 var(--s-3);justify-content:center}.app-section-icon{display:grid;place-items:center;width:44px;height:40px;border:none;border-radius:8px;background:var(--blue-700);color:var(--fg-sky-100);cursor:pointer}.app-section-icon:hover{filter:brightness(1.15)}.app-section-icon[aria-current=true],.app-section-icon[aria-expanded=true]{background:hsla(0,0%,100%,.28);color:var(--x-fg-ffffff);box-shadow:inset 3px 0 0 #f7c948,inset -3px 0 0 #f7c948}.app-section-icon:disabled{opacity:.4;cursor:not-allowed;filter:none}.app-collapse:focus-visible,.app-section-icon:focus-visible{outline:2px solid #f7c948;outline-offset:2px}.app-flyout{position:fixed;z-index:1200;min-width:230px;max-width:300px;max-height:calc(100vh - 24px);overflow-y:auto;padding:var(--s-2);border-radius:10px;background:var(--blue-900);color:var(--side-ink);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 12px 32px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:2px}.app-flyout__title{padding:6px 10px 8px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--fg-sky-100)}.app-collapse{display:flex;align-items:center;gap:10px;margin-top:auto;width:100%;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--side-ink);font:inherit;font-size:13px;cursor:pointer}.app-sidebar--compact .app-collapse{justify-content:center;width:44px;padding:10px 0}.app-collapse:hover{background:hsla(0,0%,100%,.06);color:var(--x-fg-ffffff)}.app-sidebar-desktop{display:block}.app-sidebar-mobile{display:none}@media (max-width:880px){.app-sidebar-desktop{display:none}.app-sidebar-mobile{display:contents}.app-rail{display:none}.app-topbar-burger{display:flex!important}.app-topbar-crumbs,.app-topbar-search-label,.app-topbar-user-name{display:none}.app-content{padding:var(--s-4)}}@media (min-width:881px){.app-topbar-burger{display:none!important}}@media (max-width:1024px){.widget-grid[data-cols="3"],.widget-grid[data-cols="4"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width:640px){.grid.grid-2,.grid.grid-3,.grid.grid-4,.widget-grid{grid-template-columns:1fr!important}.table-wrap{overflow-x:auto}}@keyframes edusuc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.rte{border:1px solid var(--ink-300);border-radius:var(--r-input);background:var(--paper);overflow:hidden;transition:border-color .15s ease-out,box-shadow .15s ease-out}.rte:focus-within{border-color:var(--blue-500);box-shadow:0 0 0 3px var(--focus-ring)}.rte-toolbar{display:flex;flex-wrap:wrap;gap:2px;padding:6px;border-bottom:1px solid var(--ink-100);background:var(--sky-50)}.rte-btn{min-width:30px;height:28px;padding:0 8px;font-size:13px;line-height:1;color:var(--ink-700);background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;transition:background .12s ease-out,border-color .12s ease-out}.rte-btn:hover{background:var(--paper);border-color:var(--ink-300)}.rte-btn:active{background:var(--sky-100)}.rte-editable{padding:10px 12px;outline:none;overflow-y:auto;font-size:.9375rem;color:var(--ink-900)}.rte-editable[data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--ink-500);pointer-events:none}.rte-content{line-height:1.6;word-break:break-word}.rte-content>:first-child{margin-top:0}.rte-content>:last-child{margin-bottom:0}.rte-content p{margin:0 0 .6em}.rte-content h1{font-size:1.4rem}.rte-content h1,.rte-content h2{font-weight:700;margin:.8em 0 .4em}.rte-content h2{font-size:1.2rem}.rte-content h3{font-size:1.05rem;font-weight:600;margin:.7em 0 .35em}.rte-content ol,.rte-content ul{margin:0 0 .6em;padding-left:1.5em}.rte-content li{margin:.15em 0}.rte-content a{color:var(--fg-blue-500);text-decoration:underline}.rte-content blockquote{margin:0 0 .6em;padding:4px 12px;border-left:3px solid var(--sky-300);color:var(--ink-700);background:var(--sky-50);border-radius:0 6px 6px 0}.rte-content code{background:var(--ink-100);padding:1px 5px;border-radius:4px}.rte-content code,.rte-content pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.875em}.rte-content pre{background:var(--ink-900);color:var(--fg-sky-100);padding:12px;border-radius:8px;overflow-x:auto;margin:0 0 .6em}.rte-content pre code{background:transparent;padding:0;color:inherit}.onb-banner{display:flex;align-items:center;gap:var(--s-5);padding:var(--s-5) var(--s-6,28px);border-radius:var(--r-card);color:var(--x-fg-ffffff);background:linear-gradient(120deg,var(--blue-950) 0,var(--blue-600) 55%,var(--sky-400) 130%);box-shadow:var(--elev-1);flex-wrap:wrap}.onb-banner__text{flex:1 1;min-width:260px}.onb-banner__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.85}.onb-banner__title{margin:6px 0 8px;font-size:1.6rem;line-height:1.2;color:var(--x-fg-ffffff)}.onb-banner__lead{margin:0;max-width:56ch;color:hsla(0,0%,100%,.88);line-height:1.55}.onb-banner__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.onb-banner__meta .pill{background:hsla(0,0%,100%,.16);color:var(--x-fg-ffffff);border:none}.onb-banner__cta{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}.onb-banner__ghost{color:var(--x-fg-ffffff);border:1px solid hsla(0,0%,100%,.4);background:transparent}.onb-banner__ghost:hover{background:hsla(0,0%,100%,.12)}.onb-banner__primary{background:var(--success);border-color:var(--success);color:var(--x-fg-ffffff)}.onb-banner__primary:hover{background:var(--x-bg-1a7a51);border-color:var(--x-bd-1a7a51)}.onb-banner__donut{background:color-mix(in srgb,var(--paper) 95%,transparent);border-radius:50%;padding:8px;box-shadow:var(--elev-1)}.onb-donut__arc{transition:stroke-dashoffset .9s cubic-bezier(.22,1,.36,1)}.onb-main-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:var(--s-5);gap:var(--s-5);align-items:start}@media (max-width:900px){.onb-main-grid{grid-template-columns:1fr}}.ops-hero{display:flex;align-items:stretch;gap:var(--s-5);padding:var(--s-5) var(--s-6,28px);border-radius:var(--r-card);background:linear-gradient(120deg,var(--hero-from),rgba(31,143,95,.88)),var(--blue-900);color:var(--x-fg-ffffff);box-shadow:var(--elev-1);flex-wrap:wrap}.ops-hero__eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;opacity:.85}.ops-hero__title{margin:6px 0 8px;font-size:1.75rem;line-height:1.2;color:var(--x-fg-ffffff)}.ops-hero__lead{max-width:64ch;color:hsla(0,0%,100%,.88)}.ops-hero__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.ops-hero__meta .pill{border:1px solid hsla(0,0%,100%,.25)}.ops-school-card{flex:0 1 280px;min-width:240px;border-radius:var(--r-card);background:color-mix(in srgb,var(--paper) 94%,transparent);color:var(--ink-900);padding:18px}.ops-main-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);grid-gap:var(--s-5);gap:var(--s-5);align-items:start}.ops-calendar{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.ops-calendar__dow{color:var(--ink-500);font-size:11px;font-weight:700;text-align:center;text-transform:uppercase}.ops-calendar__day{min-height:34px;border-radius:8px;background:var(--canvas);color:var(--ink-700);display:flex;align-items:center;justify-content:center;position:relative;font-size:13px;font-weight:600}.ops-calendar__day.is-muted{color:var(--ink-300);background:transparent}.ops-calendar__day.is-today{color:var(--x-fg-ffffff);background:var(--blue-700)}.ops-calendar__day i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:999px;background:var(--success)}.ops-calendar__day.is-today i{background:var(--x-bg-ffffff)}.ops-calendar__loading{grid-column:1/-1;color:var(--ink-500);font-size:12px;text-align:center;padding-top:6px}.ops-event-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:12px 16px;color:inherit;text-decoration:none}.ops-event-row:hover{background:var(--sky-50);text-decoration:none}.ops-event-row__date{width:48px;height:48px;border-radius:8px;background:var(--success-bg);color:var(--fg-success);display:grid;place-items:center;align-content:center;line-height:1.05}.ops-event-row__date strong{font-size:18px}.ops-event-row__date span{font-size:11px;text-transform:uppercase}.ops-readiness-bar{height:8px;border-radius:999px;background:var(--ink-100);overflow:hidden;margin-top:6px}.ops-readiness-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--success),var(--blue-600))}.ops-recent-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:11px 16px;color:inherit;text-decoration:none}.ops-recent-row:hover{background:var(--sky-50);text-decoration:none}.ops-recent-row__avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--sky-100,var(--ink-100));color:var(--fg-blue-700,var(--ink-700));font-size:12px;font-weight:700;letter-spacing:.02em}.ops-recent-row__primary{font-weight:600;color:var(--ink-900)}.ops-recent-row__primary,.ops-recent-row__secondary{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-recent-row__secondary{color:var(--ink-500);font-size:12px;margin-top:2px}.ops-recent-row__meta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.ops-recent-row__date{color:var(--ink-500);font-size:12px}.ops-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px}.ops-shortcut{display:flex;align-items:center;gap:10px;padding:14px 16px;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}.ops-shortcut:hover{border-color:var(--blue-600);transform:translateY(-1px);text-decoration:none}.ops-shortcut__icon{font-size:20px;line-height:1}.ops-shortcut__label{font-weight:600;font-size:14px}@media (max-width:980px){.ops-main-grid{grid-template-columns:1fr}}@media (max-width:620px){.ops-hero{padding:var(--s-5)}.ops-school-card{flex-basis:100%}.ops-event-row{grid-template-columns:auto minmax(0,1fr)}.ops-event-row>.pill{grid-column:2;justify-self:start}}.onb-cat__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--s-4);background:transparent;border:none;cursor:pointer;text-align:left}.onb-cat__head:hover{background:var(--sky-50)}.onb-cat__bar{width:80px;height:6px;border-radius:999px;background:var(--ink-100);overflow:hidden}.onb-cat__bar-fill{height:100%;background:var(--blue-600);transition:width .5s ease}.onb-item-list{border-top:1px solid var(--ink-100)}.onb-item{display:flex;gap:12px;align-items:flex-start;padding:14px var(--s-4);border-bottom:1px solid var(--ink-100)}.onb-item:last-child{border-bottom:none}.onb-item__est{font-size:11px;color:var(--ink-500)}.onb-item__actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.onb-item__video{color:var(--x-fg-d97706);background:var(--x-bg-fef3c7);border-color:var(--x-bd-facc15);border-radius:999px;min-width:0;min-height:28px;padding:3px 10px 3px 6px;gap:4px;justify-content:center}.onb-item__video:focus-visible,.onb-item__video:hover{color:var(--x-fg-92400e);background:var(--x-bg-fde68a);border-color:var(--x-bd-f59e0b)}.onb-item__status{flex-shrink:0;align-self:flex-start}@media (max-width:560px){.onb-item__status{display:none}}.onb-quick-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.onb-quick-action{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--ink-100);border-radius:var(--r-input);text-decoration:none;color:var(--ink-700);font-size:14px;font-weight:500;transition:border-color .15s,background .15s,transform .1s}.onb-quick-action:hover{border-color:var(--blue-500);background:var(--sky-50);transform:translateY(-1px)}.onb-quick-action__icon{font-size:18px}.onb-health-track{height:8px;border-radius:999px;background:var(--ink-100);overflow:hidden}.onb-health-fill{height:100%;border-radius:999px}.onb-help-overlay{position:fixed;inset:0;background:rgba(15,23,34,.4);z-index:70}.onb-help-panel{position:fixed;top:0;right:0;bottom:0;width:min(480px,92vw);background:var(--paper);z-index:71;box-shadow:-8px 0 30px rgba(0,0,0,.18);display:flex;flex-direction:column}.onb-help-panel__head{display:flex;align-items:center;justify-content:space-between;padding:var(--s-4);border-bottom:1px solid var(--ink-100)}.onb-help-panel__body{padding:var(--s-5);overflow-y:auto}.markdown-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.onb-confetti-piece{position:absolute;top:-16px;border-radius:2px;animation-name:onb-confetti-fall;animation-timing-function:linear;animation-iteration-count:1;opacity:.9}@keyframes onb-confetti-fall{0%{transform:translateY(-10vh) rotate(0deg);opacity:1}to{transform:translate(var(--onb-drift,0),105vh) rotate(540deg);opacity:.9}}@media (prefers-reduced-motion:reduce){.onb-donut__arc{transition:none}.onb-confetti-piece{display:none}}.pw-checklist{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:2px;gap:2px;font-size:.75rem;color:var(--ink-500)}.pw-checklist li.ok{color:var(--fg-success)}.pw-checklist li span{display:inline-block;width:14px}.course-group-toggle:hover .course-group-name{text-decoration:underline}.motiv-float{will-change:transform}@keyframes motiv-drift-a{0%,to{transform:translate(0) rotate(-4deg)}50%{transform:translate(7px,-11px) rotate(3deg)}}@keyframes motiv-drift-b{0%,to{transform:translate(0) rotate(3deg)}50%{transform:translate(-9px,-7px) rotate(-4deg)}}@keyframes motiv-drift-c{0%,to{transform:translate(0) rotate(0deg)}50%{transform:translate(5px,9px) rotate(5deg)}}@keyframes motiv-drift-d{0%,to{transform:translate(0) rotate(2deg)}50%{transform:translate(-6px,8px) rotate(-3deg)}}@media (prefers-reduced-motion:reduce){.motiv-float{animation:none!important}}.import-progress-dock{position:-webkit-sticky;position:sticky;top:96px;margin-bottom:16px}@media (min-width:1180px){.import-progress-dock{position:fixed;top:140px;left:calc(50% + 460px);width:240px;margin-bottom:0;z-index:5}}.theme-menu__item{background:transparent}.theme-menu__item[aria-checked=true]{background:var(--sky-50)}.theme-menu__item:focus-visible,.theme-menu__item:hover{background:var(--ink-100);outline:none}