:root{color-scheme:light;--accent:#1a5fd0;--accent-hover:#1449a8;--accent-text:#174a9c;--accent-soft:#e2ebfa;--accent-ring:rgba(26,95,208,.24);--accent-deep:#123f8c;--critical:#b3261e;--critical-soft:#fce8e6;--critical-line:#efb1ab;--ink:#1d2740;--ink-2:#434f69;--ink-3:#5a667f;--paper:#fff;--surface:#fff;--wash:#f6f8fb;--sunken:#eef2f8;--line:#e3e8ef;--line-strong:#cfd8e3;--field-line:#8a90a0;--field-hover:#5f6679;--placeholder:#6b7690;--selection:#cfdcf5;--positive:#1b6e37;--positive-soft:#e1f0e4;--positive-line:#9fd3ae;--caution:#8a4b00;--caution-soft:#fbe8b8;--caution-line:#e8c26a;--info:#1a5fd0;--info-soft:#e2ebfa;--info-line:#a8c3f0;--shadow:0 1px 3px rgba(40,50,80,.12),0 1px 2px rgba(40,50,80,.08);--shadow-lift:0 12px 32px rgba(30,40,70,.24),0 4px 8px rgba(30,40,70,.12);--control-h:44px;--button-h:40px;--small-h:34px;--tap:44px;--page-max:1360px;--page-gutter:32px;font-family:Google Sans,Roboto,system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper)}h1{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0 0 8px}h2{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0 0 12px}h3{font-size:16px;font-weight:700;margin:22px 0 8px}h4{font-size:15px;font-weight:700;margin:16px 0 6px}p{line-height:1.55;margin:8px 0}a{color:var(--accent-text)}.muted{font-size:14px;color:var(--ink-3);font-weight:500}table,.tabular{font-variant-numeric:tabular-nums}section{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin:0 0 18px;min-width:0;box-shadow:0 1px 2px #2832500d}section.page{background:none;border:0;padding:0;box-shadow:none;border-radius:0}section>h2:first-child,section>.eyebrow+h2{font-size:17px}section .eyebrow,section>h2+p.muted{display:none}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0 0 6px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;min-width:0;margin:0 0 18px;box-shadow:0 1px 2px #2832500d}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:16px 22px;border-bottom:1px solid var(--line)}.card-head h3{margin:0;font-size:16px}.card-hint{margin:2px 0 0;font-size:14px;color:var(--ink-3);font-weight:500}.card-body{padding:18px 22px}.card-body.flush{padding:0}.card-body.flush>.empty,.card-body.flush>[role=alert],.card-body.flush>p{margin:16px 22px}label{display:grid;gap:6px;font-size:14px;font-weight:500;color:var(--ink-2);margin:14px 0;max-width:420px}input,select,textarea{font:inherit;font-size:15px;font-weight:400;color:var(--ink);background:var(--surface);border:1px solid var(--field-line);border-radius:10px;padding:0 14px;height:var(--control-h);width:100%;transition:border-color .15s,box-shadow .15s}textarea{height:auto;min-height:96px;padding:12px 14px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:var(--field-hover)}input::placeholder,textarea::placeholder{color:var(--placeholder);opacity:1}input:disabled,select:disabled,textarea:disabled{background:var(--sunken);color:var(--ink-3);cursor:not-allowed}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}input[type=checkbox],input[type=radio]{width:20px;height:20px;padding:0;accent-color:var(--accent)}label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:flex;align-items:center;gap:10px}button,a.button{font:inherit;font-size:15px;font-weight:500;letter-spacing:.01em;background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:999px;height:var(--button-h);padding:0 22px;cursor:pointer;width:auto;max-width:100%;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;transition:background .15s,box-shadow .15s}button:hover,a.button:hover{background:var(--accent-hover);box-shadow:var(--shadow)}button:disabled{opacity:.45;cursor:default;box-shadow:none}button .icon,a.button .icon{font-size:18px;width:18px;height:18px}.secondary,a.button.secondary{background:var(--surface);color:var(--accent-text);border-color:var(--line-strong)}.secondary:hover,a.button.secondary:hover{background:var(--accent-soft);border-color:var(--info-line);box-shadow:none}.link-button{background:none;border:0;color:var(--accent-text);height:auto;padding:0;font-weight:500;text-align:left;white-space:normal}.link-button:hover{background:none;box-shadow:none;color:var(--accent-text);text-decoration:underline}.actions{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:flex-end;margin:10px 0}.actions label{margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:0 16px}.grid label{max-width:none}fieldset{border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:12px 0}legend{font-weight:700;padding:0 6px}details>summary{cursor:pointer;color:var(--accent-text);font-weight:700;padding:6px 0}[role=alert]{color:var(--critical);background:var(--critical-soft);padding:10px 14px;border-radius:10px;font-weight:500}p[role=status]:not(:empty){color:var(--ink-2)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--selection)}.credentials{border:1px solid var(--accent);border-radius:12px;padding:16px;margin:16px 0;background:var(--accent-soft)}.credentials code{font-size:18px;-webkit-user-select:all;user-select:all}.history{list-style:none;padding:0;margin:8px 0}.history li{padding:12px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}.history li:last-child{border-bottom:0}.history span{font-size:13px;color:var(--ink-3);font-weight:500}.history details{padding:8px 0}.history article{border-left:3px solid var(--line);padding-left:14px}.table-wrap{overflow-x:auto;min-width:0}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:var(--wash);border-bottom:1px solid var(--line);padding:12px 16px;white-space:nowrap}td{border-bottom:1px solid var(--line);padding:12px 16px;vertical-align:middle;font-weight:400;height:52px}tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--wash)}td input,td select{height:38px}th.num,td.num{text-align:right;white-space:nowrap}td .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:2px}.card-body:not(.flush) table th:first-child,.card-body:not(.flush) table td:first-child{padding-left:0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 16px;border-bottom:1px solid var(--line)}.toolbar form{display:flex;gap:8px;flex:1 1 280px;min-width:0;align-items:flex-end}.toolbar>label{display:flex;align-items:center;gap:8px}.toolbar>label>select,.toolbar>label>input{width:auto}.toolbar label{margin:0}.toolbar .search{position:relative;flex:1;min-width:0;max-width:420px}.toolbar .search .icon{position:absolute;left:12px;top:12px;color:var(--ink-3)}.toolbar .search input{padding-left:38px;border-radius:999px;background:var(--sunken);border-color:transparent}.toolbar .search input:focus{background:var(--surface)}.toolbar select{width:auto;min-width:160px;border-radius:999px}.toolbar .count{margin-left:auto;font-size:13px;color:var(--ink-3);font-weight:600}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3);font-weight:600}.pager div{display:flex;gap:8px}.pager button{height:38px;padding:0 16px}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;white-space:nowrap}.pill-positive{background:var(--positive-soft);color:var(--positive)}.pill-caution{background:var(--caution-soft);color:var(--caution)}.pill-critical{background:var(--critical-soft);color:var(--critical)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-neutral{background:var(--sunken);color:var(--ink-2)}.empty{text-align:center;padding:36px 16px}.empty-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--sunken);color:var(--ink-3);margin-bottom:8px}.empty-title{font-weight:700;margin:4px 0}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin:0 0 22px}.page-header-text{min-width:0}.page-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text);margin:0 0 4px}.page-heading{font-size:30px;font-weight:800;letter-spacing:-.025em;line-height:1.15;margin:0}.page-blurb{max-width:640px;margin:6px 0 0;color:var(--ink-2);font-weight:500}.page-actions{display:flex;flex-wrap:wrap;gap:8px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:0 0 18px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px;display:grid;gap:4px;align-content:start;box-shadow:0 1px 2px #2832500d}.stat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stat-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.stat-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--sunken)}.stat-value{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-caption{font-size:14px;color:var(--ink-3);font-weight:500}.tone-positive{color:var(--positive)}.tone-caution{color:var(--caution)}.tone-critical{color:var(--critical)}.tone-info{color:var(--info)}.tone-neutral{color:var(--ink)}.columns{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:18px;align-items:start}.segmented{display:inline-flex;gap:2px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.segmented button{background:none;color:var(--ink-2);border:0;height:38px;padding:0 18px}.segmented button:hover{background:var(--sunken);box-shadow:none}.segmented button[aria-selected=true]{background:var(--accent);color:#fff}.mark-group{display:inline-flex;gap:4px;flex-wrap:wrap}.mark-group button{height:38px;padding:0 16px;font-size:14px;background:var(--surface);color:var(--ink-2);border-color:var(--line-strong)}.mark-group button:hover{background:var(--sunken);box-shadow:none}.mark-group button[aria-pressed=true].m-present{background:var(--positive-soft);color:var(--positive);border-color:var(--positive-line)}.mark-group button[aria-pressed=true].m-late{background:var(--caution-soft);color:var(--caution);border-color:var(--caution-line)}.mark-group button[aria-pressed=true].m-absent{background:var(--critical-soft);color:var(--critical);border-color:var(--critical-line)}.mark-group button[aria-pressed=true].m-excused{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.dialog-layer{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px}.dialog-backdrop{position:absolute;inset:0;background:#141c3080}.dialog{position:relative;background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lift);width:min(520px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}.dialog.wide{width:min(860px,100%)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px 24px;border-bottom:1px solid var(--line)}.dialog-head h3{margin:0;font-size:18px}.dialog-body{padding:4px 24px 22px;overflow-y:auto}.dialog-body label{max-width:none}.dialog-body section{border:0;padding:0;box-shadow:none;margin:0}.dialog-layer.drawer{place-items:stretch end;padding:0}.dialog-layer.drawer .dialog{height:100dvh;max-height:none;border-radius:20px 0 0 20px;width:min(560px,100%)}.login{max-width:440px;margin:56px auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:40px 36px;box-shadow:var(--shadow)}.login form button{margin-top:8px;width:100%}.login label{max-width:none}.login .brand{padding:0 0 20px}.login .muted button.secondary{border:0;height:auto;padding:0 4px;background:none;color:var(--accent-text)}.icon{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;width:20px;height:20px;overflow:hidden;display:inline-block;flex:none;white-space:nowrap;font-feature-settings:"liga"}.shell{display:grid;grid-template-columns:256px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--paper);border-right:1px solid var(--line);position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;min-width:0}.brand-text{display:grid;min-width:0}.brand-text strong{font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brand-text span{font-size:13px;color:var(--ink-3);font-weight:600;display:flex;align-items:center;gap:6px}.brand-text span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}.logo{width:36px;height:36px;object-fit:contain;display:block;flex:none}.sidebar .school-picker{margin:12px 16px 0;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.sidebar select{height:36px;font-size:13px;text-transform:none;letter-spacing:0}.sidebar nav{flex:1;min-height:0;display:flex;flex-direction:column}.nav-scroll{flex:1;overflow-y:auto;padding:8px 12px 12px;overscroll-behavior:contain}.nav-pinned{padding:8px 12px 10px;border-top:1px solid var(--line)}.nav-pinned a{margin:0!important}.nav-section{padding:4px 0}.nav-group{font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:12px 0 4px 16px}.sidebar nav a{display:flex;align-items:center;gap:14px;height:40px;padding:0 16px;border-radius:999px;color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500;margin:2px 0}.sidebar nav a .icon{color:var(--ink-3)}.sidebar nav a:hover{background:var(--sunken);color:var(--ink)}.sidebar nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:700}.sidebar nav a[aria-current=page] .icon{color:var(--accent-text)}@media(min-width:901px)and (max-height:860px){.sidebar nav a{height:36px;margin:1px 0}.nav-group{margin:8px 0 2px 16px}.nav-section{padding:2px 0}.brand{padding:12px 20px}}.topbar{position:sticky;top:0;z-index:5;height:64px;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:0 max(24px,calc((100% - var(--page-max))/2 + var(--page-gutter)))}.topbar h1{font-size:15px;font-weight:700;letter-spacing:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.role-chip{font-style:normal;font-size:13px;font-weight:700;background:var(--sunken);color:var(--ink-2);border-radius:999px;padding:4px 10px;white-space:nowrap}.topbar .user{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:3px 14px 3px 3px}.avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;font-size:13px}.topbar .sign-out{height:36px}.icon-button{background:transparent;color:var(--ink-3);border:0;width:var(--button-h);height:var(--button-h);padding:0;border-radius:50%}.icon-button:hover{background:var(--sunken);box-shadow:none}.icon-button .icon{font-size:22px;width:22px;height:22px}.menu-toggle{display:none}.content main{max-width:var(--page-max);margin-inline:auto;padding:32px var(--page-gutter) 56px}.local-note{margin-top:24px}.progress-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-text);margin:0 0 4px}.steps{list-style:none;counter-reset:step;padding:0;margin:12px 0 0}.steps li{counter-increment:step;position:relative;padding:14px 0 14px 46px;border-top:1px solid var(--line);display:grid;gap:4px}.steps li:before{content:counter(step);position:absolute;left:0;top:12px;width:30px;height:30px;border-radius:50%;background:var(--sunken);color:var(--ink-2);display:grid;place-items:center;font-size:13px;font-weight:700}.steps li.current:before{background:var(--accent);color:#fff}.steps li.done:before{content:"✓";background:var(--positive-soft);color:var(--positive)}.steps li.done strong{color:var(--ink-3);font-weight:500}.steps li>a,.steps li>button,.steps form button{justify-self:start;margin-top:6px}.steps form .grid label{max-width:none}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 18px}.quick-actions a{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;text-decoration:none;color:var(--ink);font-weight:700;box-shadow:0 1px 2px #2832500d}.quick-actions a:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.quick-actions a .icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text);font-size:20px}.quick-actions small{display:block;font-size:13px;color:var(--ink-3);font-weight:500}.settings{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;align-items:start}.setting-steps{display:grid;gap:2px;position:sticky;top:88px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px}.setting-steps a{display:flex;gap:12px;align-items:center;min-height:42px;padding:6px 12px;border-radius:999px;color:var(--ink-2);text-decoration:none;font-size:15px;font-weight:500}.setting-steps a:hover{background:var(--sunken)}.setting-steps b{width:24px;height:24px;border-radius:50%;background:var(--sunken);color:var(--ink-2);font-size:13px;font-weight:700;display:grid;place-items:center;flex:none}.setting-steps a[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:700}.setting-steps a[aria-current=page] b{background:var(--accent);color:#fff}.page-actions .inline-field,.card-head .inline-field{display:flex;align-items:center;gap:8px;margin:0;max-width:none;white-space:nowrap}.inline-field select{width:auto;min-width:180px;border-radius:999px}.show-sm,td .sub.show-sm{display:none}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.segmented button[aria-pressed=true]{background:var(--accent);color:#fff}tr.selected td,tbody tr.selected:hover td{background:var(--accent-soft)}.row-actions{display:inline-flex;gap:6px;justify-content:flex-end}.row-actions button{height:36px;padding:0 16px}.columns.pickup{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}#collection-detail{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto}.detail-title{margin-top:0;font-size:20px}.card .history{margin:0}.notice-list,.attention{list-style:none;margin:0;padding:0}.notice-list>li{padding:16px 22px;border-bottom:1px solid var(--line);display:grid;gap:6px}.notice-list>li:last-child{border-bottom:0}.notice-list p{margin:0}.notice-list .actions{margin:4px 0 0}.notice-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.report-list>li{padding:16px 22px}.report-list p{margin:4px 0}.attention>li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 22px;border-bottom:1px solid var(--line)}.attention>li:last-child{border-bottom:0}.attention .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:2px}.attention .stat-icon.tone-critical{background:var(--critical-soft)}.attention .stat-icon.tone-caution{background:var(--caution-soft)}.attention .stat-icon.tone-info{background:var(--info-soft)}.profile-card{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:0 0 18px}.profile-card h3{margin:0;font-size:20px}.profile-card p{margin:2px 0 0}.avatar.large{width:52px;height:52px;font-size:18px;flex:none}.rights{list-style:none;padding:0;margin:0;display:grid;gap:8px}.policy-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px;font-size:13px;color:var(--ink-2);font-weight:500}.term-report{padding:4px 0 8px;border-bottom:1px solid var(--line)}.term-report:last-child{border-bottom:0}.term-report>p{margin:8px 22px}.term-report-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:14px 22px 8px}.term-report-head h4{margin:0}section.my-classes{padding:0}.my-classes .card-head h2{margin:0;font-size:16px}.class-roster{border-top:1px solid var(--line)}.roster-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:14px 22px}.roster-head h3{margin:0}.roster-head form{display:flex;gap:8px;flex:0 1 500px;min-width:0}.roster-head .search{position:relative;flex:1;min-width:0;margin:0}.roster-head .search .icon{position:absolute;left:12px;top:12px;color:var(--ink-3)}.roster-head .search input{padding-left:38px;border-radius:999px;background:var(--sunken);border-color:transparent}.roster-grid{list-style:none;margin:0;padding:4px 22px 18px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.roster-grid li{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:0}.roster-grid li strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-grid .sub{font-size:13px;color:var(--ink-3);font-weight:500}.roster-grid .avatar{flex:none;background:var(--accent-soft);color:var(--accent-text)}@media(max-width:1100px){.columns,.columns.pickup{grid-template-columns:minmax(0,1fr)}#collection-detail{position:static;max-height:none}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;transform:translate(-100%);transition:transform .2s;z-index:20;border:0}.sidebar.open{transform:none;box-shadow:var(--shadow-lift)}.scrim{position:fixed;inset:0;background:#141c3080;z-index:15}.menu-toggle{display:grid;place-items:center}.topbar{padding:0 8px 0 4px;gap:8px;height:56px}.topbar .user{border:0;padding:0}.topbar .user .name,.role-chip{display:none}.content main{padding:20px 16px 40px}.page-heading{font-size:24px}.settings{grid-template-columns:minmax(0,1fr);gap:12px}.setting-steps{position:static;display:flex;overflow-x:auto;gap:6px;padding:6px}.setting-steps a{white-space:nowrap}section{padding:16px}.login{margin:16px;padding:28px 20px}.toolbar .count{margin-left:0;width:100%}.hide-sm{display:none}th,td{padding:10px 12px}.attention>li{grid-template-columns:auto minmax(0,1fr);padding:12px 16px}.show-sm,td .sub.show-sm{display:block}.roster-head,.roster-grid{padding-left:16px;padding-right:16px}.roster-head form{flex:1 1 100%}.toolbar form{flex-wrap:wrap}.toolbar .search{flex:1 1 200px;max-width:none}.segmented{flex-wrap:wrap;max-width:100%;border-radius:20px}.segmented button{padding:0 12px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat{padding:14px}.stat-value{font-size:22px}td .sub.hide-sm{display:none}.pager,.pager div{flex-wrap:wrap}.attention>li>a{grid-column:2;justify-self:start}.notice-list>li,.report-list>li{padding:14px 16px}.page-actions{width:100%;min-width:0}.page-actions .inline-field,.card-head .inline-field{flex:1 1 100%;min-width:0}.inline-field select{flex:1 1 0;width:0;min-width:0}.toolbar>label{flex-wrap:wrap}}.learner-imports{min-width:0;overflow-wrap:anywhere}.learner-imports label,.learner-imports input,.learner-imports select,.learner-imports .actions>*{min-width:0;max-width:100%}.learner-collection{min-width:0;overflow-wrap:anywhere}.learner-collection label,.learner-collection input,.learner-collection select,.learner-collection .actions>*{min-width:0;max-width:100%}.print-sheet{display:none}.print-sheet table{width:100%;border-collapse:collapse}.print-sheet th,.print-sheet td{border:1px solid #333;padding:6px;text-align:left;height:28px;text-transform:none;letter-spacing:0;background:none}@media print{body *{visibility:hidden}.print-sheet,.print-sheet *,.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;width:100%}.print-sheet{display:block;position:absolute;left:0;top:0;width:100%;background:#fff}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.doc-head{display:flex;align-items:center;gap:14px;padding-bottom:12px;border-bottom:2px solid var(--accent-deep);flex-wrap:wrap}.doc-logo{width:64px;height:64px;object-fit:contain;flex:none}.doc-school{flex:1 1 220px;min-width:0}.doc-school h3{margin:0;font-size:19px;letter-spacing:-.01em;color:var(--accent-deep)}.doc-school p{margin:2px 0;font-size:13px;color:var(--ink-2)}.doc-title{display:grid;gap:2px;text-align:right;font-size:13px;color:var(--ink-2)}.doc-title strong{font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.doc-void{margin:10px 0 0;padding:8px 12px;border:1px solid var(--critical-line);background:var(--critical-soft);color:var(--critical);border-radius:8px;font-weight:600}.doc-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 16px;margin:12px 0}.doc-facts div,.doc-sum div{display:flex;justify-content:space-between;gap:8px;min-width:0}.doc-facts div{flex-direction:column;justify-content:flex-start;gap:2px}.doc-facts dt,.doc-sum dt{color:var(--ink-3);font-size:13px;font-weight:600}.doc-facts dd,.doc-sum dd{margin:0;overflow-wrap:anywhere}.doc-facts dd{font-weight:600}.doc-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(200px,1fr);gap:16px;align-items:start}@media(max-width:620px){.doc-body{grid-template-columns:1fr}.doc-title{text-align:left}}.doc-table{width:100%;border-collapse:collapse;font-size:14px}.doc-table th,.doc-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left}.doc-table th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.doc-table .num{text-align:right}.doc-total td{font-weight:700;border-top:2px solid var(--line-strong);border-bottom:0}.doc-sum{display:grid;gap:8px;margin:0;padding:12px 14px;border:1px solid var(--line-strong);border-radius:10px;font-variant-numeric:tabular-nums}.doc-paid{padding:6px 0;border-block:1px solid var(--line)}.doc-paid dt{color:var(--ink)!important;font-size:14px!important}.doc-paid dd{font-size:18px;font-weight:800;color:var(--positive)}.doc-words{margin:14px 0 4px;padding:8px 12px;background:var(--sunken);border-radius:8px;font-weight:600}.doc-words span{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}.doc-method{margin:4px 0 12px;font-size:14px;color:var(--ink-2)}.doc-history{margin:4px 0 12px}.doc-history caption{text-align:left;font-weight:700;font-size:14px;padding:4px 0}.doc-current td{font-weight:700}.doc-history .link-button{font-size:inherit;min-height:34px}@media print{.doc-history .link-button{min-height:0}}.receipt{min-width:0;max-width:100%}@media(max-width:480px){.doc-history th:nth-child(3),.doc-history td:nth-child(3){display:none}.doc-table th,.doc-table td{padding:6px 4px}}.doc-sign{display:grid;grid-template-columns:1fr 1fr 120px;gap:20px;align-items:end;margin-top:28px;font-size:13px;color:var(--ink-3)}.doc-line{display:block;min-height:22px;border-bottom:1px solid var(--ink-2);margin-bottom:4px;color:var(--ink);font-size:14px}.doc-stamp{height:80px;border:1px dashed var(--line-strong);border-radius:50%;display:grid;place-items:center;text-align:center}@media(max-width:620px){.doc-sign{grid-template-columns:1fr 1fr}.doc-stamp{display:none}}.doc-printed{font-size:12px;color:var(--ink-3);margin:14px 0 0}@media print{.dialog-layer,.dialog,.dialog-body{position:static!important;display:block!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;padding:0!important}.receipt{padding:8mm;font-size:13px}.receipt .link-button{color:inherit;text-decoration:none}.doc-words{background:none;border:1px solid #999}.doc-sign{grid-template-columns:1fr 1fr 120px}.doc-stamp{display:grid}}.report-card{padding:18px 22px;border-bottom:1px solid var(--line)}.report-card:last-child{border-bottom:0}.report-card-head{text-align:center;margin-bottom:12px}.report-card-head h3{margin:0;font-size:20px}.report-card-head p{margin:2px 0;color:var(--ink-2)}.report-motto{font-style:italic}.report-logo{display:block;margin:0 auto 6px;width:72px;height:72px}.report-title{font-weight:700;color:var(--ink)!important;margin-top:8px!important}.report-facts,.report-remarks{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px;margin:10px 0}.report-remarks{grid-template-columns:1fr}.report-facts div,.report-remarks div{display:flex;flex-wrap:wrap;gap:0 8px;min-width:0}.report-facts dt,.report-remarks dt{font-weight:600;color:var(--ink-2);flex:none}.report-facts dd,.report-remarks dd{margin:0;min-width:0;overflow-wrap:anywhere}.card-actions{padding:12px 22px}@media print{.report-sheet,.report-sheet *{visibility:visible}.report-sheet{position:absolute;left:0;top:0;width:100%;background:#fff}.report-card{break-after:page;border:0}}.card-actions-inline{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}.report-rows{list-style:none;margin:0;padding:0}.report-rows li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 20px;padding:10px 0;border-top:1px solid var(--line)}.report-rows li:first-child{border-top:0}.report-rows .sub{display:block;font-size:13px;color:var(--ink-3)}.report-row-detail{text-align:right;min-width:0}@media(max-width:620px){.report-row-detail{text-align:left;flex-basis:100%}}.learning-report h4{margin:18px 0 6px;font-size:15px}.learning-report .report-title{font-weight:700;color:var(--ink)}.learning-report .muted{margin:14px 0 0}@media print{.learning-report,.learning-report *{visibility:visible}.learning-report h4,.learning-report li{break-after:avoid;break-inside:avoid}html.printing-learning *:not(:has(.learning-report)):not(.learning-report):not(.learning-report *){display:none!important}html.printing-learning *:has(.learning-report){display:block!important;position:static!important;width:auto!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;transform:none!important}html.printing-learning .learning-report{padding:8mm!important;background:#fff}}.trend-cell{display:inline-flex;flex-direction:column;gap:4px;min-width:72px}.trend-value{font-weight:700;font-variant-numeric:tabular-nums}.trend-bar{display:block;height:4px;border-radius:999px;background:var(--sunken);overflow:hidden}.trend-fill{display:block;height:100%;border-radius:999px}.fill-positive{background:var(--positive)}.fill-caution{background:var(--caution)}.fill-critical{background:var(--critical)}.fill-neutral{background:var(--ink-3)}.trend-table th{white-space:nowrap}.trend-total td{font-weight:700;border-top:2px solid var(--line)}.indicator-picker{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin:0 0 12px;min-width:0}.indicator-picker legend{font-weight:600;font-size:13px;padding:0 4px}.indicator-options{display:grid;gap:6px;max-height:240px;overflow-y:auto;margin-top:6px}.indicator-options .check{display:flex;align-items:flex-start;gap:8px;margin:0;font-weight:500}.indicator-options .check input{width:auto;height:auto;margin-top:3px;flex:none}.chip-list{display:flex;flex-wrap:wrap;gap:4px 12px}.banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 16px;margin:0 0 16px;border-radius:14px;background:var(--caution-soft);color:var(--ink)}.banner>span:not(.icon){flex:1 1 240px}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}.chip{height:36px;padding:0 14px;font-size:14px;font-weight:500;background:var(--sunken);color:var(--ink-2);border:1px solid var(--line);border-radius:999px}.field-row{display:flex;flex-wrap:wrap;gap:0 16px}.field-row>label{flex:1 1 160px}button.small{height:var(--small-h);padding:0 16px;font-size:14px;margin-top:6px}.plan-facts{display:grid;gap:8px;margin:12px 0}.plan-facts div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}.plan-facts dt{font-weight:600;color:var(--ink-2)}.plan-facts dd{margin:0}.choice-row{border:0;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:6px 18px}.choice-row legend{font-weight:600;font-size:13px;margin-bottom:6px}.choice-row .check{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}.choice-row input{width:auto;height:auto}.review-form{border-top:1px solid var(--line);margin-top:16px;padding-top:4px}.follow-up{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0}.follow-up button.small{margin-top:0}.flag-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.flag-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.flag-subject{font-weight:600;min-width:120px}.flag-list button.small{margin-top:0;height:var(--small-h)}.practice-list{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}.practice-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.practice-list li>span:not(.pill){flex:1 1 200px;min-width:0}.practice-list button.small{margin-top:0}.small-link{display:block;font-size:13px;font-weight:600;margin-top:6px;color:var(--accent-text)}button.link-button.small-link{display:inline-flex;align-items:center;min-height:34px;margin-top:0}@media(pointer:coarse){button.link-button.small-link{min-height:44px}}.row-actions{display:flex;flex-wrap:wrap;gap:6px}.row-actions button.small{margin-top:0}.practice-list .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:2px}.help-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.help-list>li{display:grid;gap:4px}.help-list p{margin:0}.field-hint{margin:-6px 0 12px;font-size:13px}.mock-grid input{width:72px;min-width:0}.mock-grid th{white-space:nowrap}th .sub{display:block;font-size:12px;font-weight:600;color:var(--ink-3);text-transform:none;letter-spacing:0;margin-top:2px}.mock-grid th:first-child,.mock-grid td:first-child{position:sticky;left:0;z-index:1;background:var(--surface,#fff);box-shadow:1px 0 0 var(--line)}.form-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.form-head h4{margin:12px 0}.sheet-extras{background:var(--sunken);border-radius:8px;padding:8px 14px;margin:0 0 12px;font-size:14px}.sheet-extras h5{margin:6px 0;font-size:13px}.sheet-extras ol{margin:0 0 8px;padding-left:20px}.sheet-extras p{margin:6px 0}.remarks-table .remark-cell{min-width:300px}.remarks-table textarea{width:100%;min-height:0;resize:vertical;font:inherit;font-size:14px;line-height:1.4}.remarks-table td{vertical-align:top}.practice-list .sub{white-space:pre-line}.content:has(main.ask-main){height:100vh;height:100dvh;display:flex;flex-direction:column}.content main.ask-main{flex:1;min-height:0;max-width:none;margin:0;padding:0;display:flex}.kobby{position:relative;flex:1;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;display:grid;grid-template-columns:288px minmax(0,1fr);background:var(--surface)}.kobby-side{display:flex;flex-direction:column;min-height:0;background:var(--wash);border-right:1px solid var(--line)}.kobby-side-top{display:grid;gap:10px;padding:16px 14px 8px}.kobby-new{justify-content:flex-start;width:100%;background:var(--surface);color:var(--accent-text);border-color:var(--line-strong)}.kobby-new:hover{background:var(--accent-soft);box-shadow:none}.kobby-search{position:relative;display:block;margin:0;max-width:none}.kobby-search .icon{position:absolute;left:12px;top:12px;color:var(--ink-3);pointer-events:none}.kobby-search input{width:100%;max-width:none;padding-left:38px;border-radius:999px;background:var(--sunken);border-color:transparent}.kobby-search input:focus{background:var(--surface)}.kobby-list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:4px 8px 8px;overscroll-behavior:contain}.kobby-list ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:2px}.kobby-list li{position:relative;display:flex;align-items:center;min-width:0;border-radius:12px}.kobby-list li:hover,.kobby-list li:focus-within{background:var(--sunken)}.kobby-list li.active{background:var(--accent-soft)}.kobby-item{flex:1;min-width:0;justify-content:flex-start;height:auto;min-height:var(--button-h);padding:8px 40px 8px 12px;background:transparent;color:var(--ink);border:0;border-radius:12px;font-weight:500;text-align:left;gap:8px}.kobby-item:hover{background:transparent;box-shadow:none}.kobby-item span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kobby-list li.active .kobby-item{color:var(--accent-text);font-weight:700}.kobby-del{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:32px;height:32px;padding:0;background:transparent;color:var(--ink-3);border:0;border-radius:50%;opacity:0}.kobby-del:hover{background:var(--surface);color:var(--critical);box-shadow:none}.kobby-list li:hover .kobby-del,.kobby-list li:focus-within .kobby-del,.kobby-del:focus-visible{opacity:1}.kobby-confirm{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:8px 12px;font-size:14px;font-weight:600}.kobby-confirm button.small{margin-top:0}.kobby-none{padding:8px 12px;font-size:14px}.kobby-privacy{margin:0;padding:10px 16px 14px;font-size:12px;line-height:1.45;color:var(--ink-3);border-top:1px solid var(--line)}.kobby-main{display:flex;flex-direction:column;min-width:0;min-height:0}.kobby-head{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 20px;border-bottom:1px solid var(--line)}.kobby-head h2{margin:0;font-size:17px;white-space:nowrap;flex:none}.kobby-toggle{display:none}.kobby-chat-title{color:var(--ink-3);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.kobby-chat-title:before{content:"/";margin-right:10px;color:var(--line-strong)}.kobby-thread{flex:1;min-height:0;overflow-y:auto;padding:24px 20px 8px;overscroll-behavior:contain}.kobby-col{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:22px;min-height:100%}.kobby-empty{margin:auto;display:grid;justify-items:center;text-align:center;gap:6px;padding:16px 0 24px}.kobby-empty h3{margin:10px 0 0;font-size:28px;font-weight:500}.kobby-empty>p{max-width:520px}.kobby-logo,.kobby-avatar{display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);flex:none}.kobby-logo{width:56px;height:56px}.kobby-logo .icon{font-size:30px;width:30px;height:30px}.kobby-avatar{width:32px;height:32px;margin-top:2px}.kobby-avatar .icon{font-size:20px;width:20px;height:20px}.kobby-suggestions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:14px}.kobby-suggestion{height:auto;min-height:56px;padding:12px 16px;justify-content:flex-start;text-align:left;white-space:normal;background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:16px;font-weight:500;line-height:1.4}.kobby-suggestion:hover{background:var(--accent-soft);border-color:var(--info-line);box-shadow:none}.kobby-msg{display:flex;gap:12px;min-width:0}.kobby-msg.user{justify-content:flex-end}.kobby-msg.user p{margin:0;max-width:min(560px,85%);padding:10px 16px;border-radius:20px 20px 6px;background:var(--accent-soft);color:var(--ink);line-height:1.5;overflow-wrap:anywhere;white-space:pre-wrap}.kobby-body{flex:1;min-width:0;line-height:1.6;overflow-wrap:anywhere}.kobby-body>:first-child{margin-top:0}.kobby-body p{margin:8px 0}.kobby-body ul,.kobby-body ol{margin:8px 0;padding-left:22px}.kobby-body li{margin:4px 0}.kobby-body h4{margin:14px 0 4px;font-size:16px}.kobby-body .table-wrap{overflow-x:auto;margin:10px 0;border:1px solid var(--line);border-radius:12px}.kobby-body table{border-collapse:collapse;font-size:14px;background:var(--surface);min-width:100%}.kobby-body th,.kobby-body td{border-bottom:1px solid var(--line);padding:8px 12px;text-align:left;white-space:nowrap}.kobby-body tr:last-child td{border-bottom:0}.kobby-wait{display:flex;align-items:center;gap:10px;color:var(--ink-2);padding-top:6px}.bubble-source{font-size:13px;color:var(--ink-3);margin-top:8px!important}.kobby-compose{padding:8px 20px 14px}.kobby-compose>p[role=alert]{max-width:760px;margin:0 auto 8px}.kobby-form{max-width:760px;margin:0 auto;display:flex;align-items:flex-end;gap:8px;padding:8px 8px 8px 20px;background:var(--surface);border:1px solid var(--line-strong);border-radius:28px;box-shadow:var(--shadow)}.kobby-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.kobby-form textarea{flex:1;min-width:0;max-width:none;width:auto;border:0;background:transparent;box-shadow:none;resize:none;padding:10px 0;min-height:44px;max-height:200px;font:inherit;font-size:16px;line-height:1.5}.kobby-form textarea:focus{box-shadow:none}.kobby-send{flex:none;width:44px;height:44px;padding:0;border-radius:50%}.kobby-send .icon{font-size:22px;width:22px;height:22px}.kobby-note{max-width:760px;margin:8px auto 0;text-align:center;font-size:12px;line-height:1.45;color:var(--ink-3)}.kobby-scrim{display:none}.learner-chip{font-weight:700;color:var(--accent-text)}.dots{display:inline-flex;gap:4px}.dots i{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:dot 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.dots i{animation:none}}@media(pointer:coarse){.kobby-del{opacity:1;width:44px;height:44px}.kobby-item{padding-right:48px;min-height:48px}.kobby-search .icon{top:14px}}@media(max-width:900px){.kobby{grid-template-columns:minmax(0,1fr)}.kobby-toggle{display:inline-flex;flex:none}.kobby-side{position:absolute;z-index:6;inset:0 auto 0 0;width:min(320px,86%);transform:translate(-102%);transition:transform .2s}.kobby.history-open .kobby-side{transform:none;box-shadow:var(--shadow-lift)}.kobby-scrim{display:block;position:absolute;inset:0;z-index:5;width:100%;height:100%;padding:0;border:0;border-radius:0;background:#141c3073}.kobby-scrim:hover{background:#141c3073;box-shadow:none}.kobby-head{padding:6px 12px}.kobby-thread{padding:16px 14px 8px}.kobby-compose{padding:8px 12px 12px}.kobby-suggestions{grid-template-columns:minmax(0,1fr)}.kobby-empty h3{font-size:24px}}@media(prefers-reduced-motion:reduce){.kobby-side{transition:none}}.toolbar>label{max-width:100%;min-width:0}.toolbar>label>select{max-width:100%;min-width:0;text-overflow:ellipsis}@media(max-width:640px){.toolbar form{flex-wrap:wrap}.toolbar>label{flex-wrap:wrap}}.stat-icon.tone-neutral,.stat-icon.tone-info{background:var(--accent-soft);color:var(--accent-text)}.stat-icon.tone-positive{background:var(--positive-soft)}.stat-icon.tone-caution{background:var(--caution-soft)}.stat-icon.tone-critical{background:var(--critical-soft)}.topbar .user .name{font-weight:500}.role-chip{background:var(--accent-soft);color:var(--accent-text)}.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:var(--accent);color:#fff;padding:10px 18px;border-radius:999px;font-weight:500;text-decoration:none}.skip-link:focus{top:12px}body:has(main.login){display:flow-root;background:linear-gradient(180deg,var(--accent-deep) 0,var(--accent) 280px,var(--paper) 280px);min-height:100vh}.login{margin:64px auto 40px;border-radius:24px;border-color:transparent;box-shadow:0 8px 28px #12285a38,0 2px 6px #12285a1f}.login .brand{border-bottom:0;padding:0 0 12px;font-weight:700;font-size:17px;gap:12px}.login h1{font-size:26px;font-weight:700;margin-bottom:6px}.login form button,.login>button{height:48px;font-size:16px}.login .muted button.secondary{font-size:inherit;font-weight:500;text-decoration:underline;text-underline-offset:3px}@media(pointer:coarse){:root{--control-h:48px;--button-h:44px;--small-h:40px}input,select,textarea{font-size:16px}td input,td select{height:44px}.sidebar nav a{height:48px}.setting-steps a{min-height:48px}.mark-group button,.row-actions button,.pager button,.chip,.segmented button{height:44px}.flag-list button.small{height:40px}.icon-button{width:48px;height:48px}.toolbar .search .icon,.roster-head .search .icon{top:14px}input[type=checkbox],input[type=radio]{width:24px;height:24px}}@media(min-height:1px)and (max-height:820px)and (pointer:fine){.sidebar nav a{height:36px;margin:1px 0}.nav-group{margin-top:8px}.brand{padding:12px 20px}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(max-width:900px){.login{margin:20px 16px 32px;padding:28px 22px}body:has(main.login){background:linear-gradient(180deg,var(--accent-deep) 0,var(--accent) 200px,var(--paper) 200px)}}main:focus{outline:none}.card-head .link-button{display:inline-flex;align-items:center;min-height:40px}td .link-button{display:inline-flex;align-items:center;min-height:40px;text-align:left}@media(pointer:coarse){td .link-button,.card-head .link-button{min-height:44px}}@media(max-width:640px){.toolbar form,.roster-head form{flex-wrap:wrap}.toolbar .search,.roster-head .search{flex:1 1 100%;max-width:none}.toolbar form>button,.roster-head form>button{flex:1 1 100%}.page-actions{gap:8px}.page-actions>button,.page-actions>a.button{flex:1 1 auto}.page-heading{font-size:26px}}.login [role=status]:not(:empty){margin:12px 0 0;padding:10px 14px;border-radius:10px;background:var(--wash);border-left:4px solid var(--accent);color:var(--ink);font-weight:500}.sidebar{--side-bg:#1449a8;--side-text:#f6f3ea;--side-muted:#c5d3ef;--side-hover:rgba(246,243,234,.14);--side-line:rgba(246,243,234,.2);background:var(--side-bg);border-right:0;color:var(--side-text)}.sidebar .brand{color:var(--side-text);border-bottom-color:var(--side-line)}.sidebar .brand-text span{color:var(--side-muted)}.sidebar .brand-text span:before{background:#9ec0ff}.sidebar .logo{box-shadow:none}.sidebar .school-mark{background:#fff;border-radius:10px;padding:3px}.logo-setting{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.logo-setting label{margin:0 0 10px}.logo-preview{width:96px;height:96px;flex:none;display:grid;place-items:center;border:1px dashed var(--line-strong);border-radius:12px;text-align:center;padding:6px}.logo-preview .doc-logo{width:80px;height:80px}.sidebar .school-picker{color:var(--side-muted)}.sidebar nav a{color:var(--side-text)}.sidebar nav a .icon{color:#dbe5f8}.sidebar nav a:hover{background:var(--side-hover);color:var(--side-text)}.sidebar nav a[aria-current=page]{background:var(--side-text);color:#123f8c;font-weight:700}.sidebar nav a[aria-current=page] .icon{color:#123f8c}.sidebar .nav-group{color:var(--side-muted)}.sidebar .nav-pinned{border-top-color:var(--side-line)}.sidebar .nav-scroll{scrollbar-color:rgba(246,243,234,.35) transparent}.sidebar :focus-visible{outline-color:var(--side-text)}.sidebar.open{box-shadow:var(--shadow-lift)}.ca-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.ca-parts legend{grid-column:1/-1}.ca-parts>p{grid-column:1/-1;margin:0}.ca-parts>label{margin:0;align-content:start}@media(min-width:640px){.ca-parts>label{grid-template-rows:2.7em auto 1fr}}.ca-parts .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:4px}.field-error{color:var(--critical);font-weight:600;font-size:14px}.ca-sheet td.num .sub{white-space:nowrap}tr.selected td{background:var(--accent-soft)}.ca-sheet th:first-child,.ca-sheet td:first-child{position:sticky;left:0;z-index:1;background:var(--surface,#fff);box-shadow:1px 0 0 var(--line)}.ca-sheet td:first-child .link-button{white-space:nowrap}.stack{display:grid;gap:18px;min-width:0;align-content:start}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.plain-list li{min-width:0}.plain-list .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:2px;overflow-wrap:anywhere}.note-form{display:grid;gap:4px;margin-bottom:12px}.note-form .note-body{max-width:none}.note-form textarea{width:100%;min-height:84px}.note-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}.note-list li{padding:12px 0;border-top:1px solid var(--line)}.note-list li.from-family{border-left:3px solid var(--caution-line);padding-left:12px}.note-list.withdrawn li{opacity:.7}.note-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.note-meta .muted{font-size:13px}.note-text{margin:6px 0 4px;white-space:pre-line;overflow-wrap:anywhere}.note-withdraw{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}a.learner-link{color:var(--accent-text);font-weight:600;text-decoration:none}a.learner-link:hover{text-decoration:underline}.draft-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;background:var(--info-soft);color:var(--info);border:1px solid var(--info-line);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:600;margin:8px 0 12px}.draft-basis{margin:0 0 12px;font-size:14px}.draft-basis summary{cursor:pointer;font-weight:600;color:var(--accent-text)}.draft-basis ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;color:var(--ink-2)}.question-bank details{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:0 0 10px}.question-bank summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.question-bank summary:after{content:"";margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:translateY(-2px) rotate(45deg);transition:transform .15s}.question-bank details[open]>summary:after{transform:translateY(2px) rotate(-135deg)}.q-list{list-style:none;counter-reset:q;margin:6px 0 0;padding:0}.q-list>li{counter-increment:q;position:relative;display:grid;gap:4px;padding:12px 0 12px 30px;border-top:1px solid var(--line)}.q-list>li:before{content:counter(q);position:absolute;left:0;top:12px;font-weight:600;color:var(--ink-3)}.q-prompt{font-weight:600}.q-options{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:2px}.q-options li{display:flex;align-items:flex-start;gap:8px;color:var(--ink-2)}.q-options li.right{color:var(--positive);font-weight:600}.q-options .icon{font-size:20px;flex:none;color:var(--ink-3)}.q-options li.right .icon,.q-number{color:var(--positive)}.q-why{font-style:italic}.q-level{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 14px;display:grid;gap:10px}.q-level>legend{font-weight:600;padding:0 6px}.q-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;background:var(--surface)}.q-card label{margin:0}.q-kind{flex:0 1 180px}.q-options-edit{border:0;padding:0;margin:0;display:grid;gap:6px}.q-options-edit legend{font-size:13px;font-weight:600;margin-bottom:4px}.q-option{display:flex;align-items:center;gap:10px}.q-option input[type=radio]{width:22px;height:22px;flex:none;accent-color:var(--accent)}.q-card .small{justify-self:start}.q-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}.q-level .q-list>li{padding-right:0}.q-level .q-list{margin:0}.q-level .q-list>li:first-child{border-top:0}.q-options-edit{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.q-level,.q-options-edit{min-width:0}.q-options-edit legend{grid-column:1/-1}.q-level>button.small{justify-self:start}.practice-topics{list-style:none;margin:0;padding:0;display:grid}.practice-topics>li{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}.practice-topics>li:first-child{border-top:0}.practice-topics>li>div{min-width:0;flex:1 1 220px}.practice-topics .sub{display:block}.practice-meta{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-3);font-weight:500;margin-top:4px;flex-wrap:wrap}.level-dots{display:inline-flex;gap:4px}.level-dots span{width:10px;height:10px;border-radius:50%;background:var(--line-strong)}.level-dots span.on{background:var(--accent)}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}button.subject-card{display:grid;align-content:start;justify-content:stretch;gap:10px;width:100%;height:auto;min-height:0;padding:16px;border-radius:16px;white-space:normal;text-align:left;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 1px 2px #2832500d}button.subject-card:hover{background:var(--surface);border-color:var(--accent);box-shadow:var(--shadow)}.subject-name{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:17px}.subject-name .icon{color:var(--ink-3);flex:none}.subject-card .practice-meta{margin-top:0}.subject-card .practice-bar{width:100%}@media(max-width:560px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}button.subject-card{padding:14px 12px;gap:8px}.subject-name{font-size:16px;align-items:flex-start}}.practice-session{display:grid;gap:12px}.practice-progress{margin:0;font-weight:600;color:var(--ink-2)}.practice-bar{height:8px;border-radius:99px;background:var(--sunken);overflow:hidden}.practice-bar span{display:block;height:100%;background:var(--accent);transition:width .25s}.practice-prompt{font-size:20px;line-height:1.4;font-weight:600;margin:8px 0 16px}.practice-options{display:grid;gap:10px;margin-bottom:16px}.practice-options button{min-height:56px;height:auto;font-size:17px;text-align:left;justify-content:flex-start;background:var(--surface);color:var(--ink);border:2px solid var(--line-strong);border-radius:14px;padding:12px 16px;white-space:normal}.practice-options button.chosen{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}.practice-feedback{border-radius:14px;padding:14px 16px}.practice-feedback.right{background:var(--positive-soft);border:1px solid var(--positive-line);color:var(--positive)}.practice-feedback.wrong{background:var(--caution-soft);border:1px solid var(--caution-line);color:var(--caution)}.practice-feedback>strong{display:flex;align-items:center;gap:8px;font-size:18px}.practice-feedback p{margin:6px 0 0;color:var(--ink)}.practice-summary{border-top:1px solid var(--line);padding-top:12px}.practice-summary h4{font-size:20px;margin:0 0 6px}.pad{padding:0 22px;margin:12px 0}.topic-level{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px}.topic-level .practice-meta{margin-top:0}.q-preview{display:grid;gap:6px;margin-bottom:8px}.findings{display:grid;gap:6px;margin:10px 0}.findings p{margin:0}.guide p{margin:8px 0}.guide ul{margin:4px 0 8px;padding-left:22px}.entries{list-style:none;margin:0;padding:0}.entries>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;padding:14px 16px;border-top:1px solid var(--line)}.entries>li:first-child{border-top:0}.entry-main{flex:1 1 340px;min-width:0;display:grid;gap:3px}.entry-side{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:14px}.entry-side .muted{font-size:13px}progress.meter{display:block;width:100%;max-width:420px;height:10px;margin:4px 0 8px;accent-color:var(--accent)}.entries .link-button{display:inline-flex;align-items:center;min-height:40px;font-weight:600;text-align:left}@media(pointer:coarse){.entries .link-button{min-height:44px}}.ai-label{display:inline-flex;align-items:center;gap:6px;margin:4px 0;padding:3px 12px 3px 8px;font-size:13px;font-weight:600;color:var(--info);background:var(--info-soft);border:1px solid var(--info-line);border-radius:999px}.ai-label .icon{font-size:16px;width:16px;height:16px}.topic-pick{display:flex;align-items:flex-start;gap:12px;margin:0;min-height:var(--tap);max-width:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit}.topic-pick.static{cursor:default}.topic-pick input{margin-top:2px;flex:none}.topic-mark{width:20px;flex:none;display:grid;place-items:center;color:var(--positive)}.topic-mark .icon{font-size:22px;width:22px;height:22px}.topic-text{display:grid;gap:2px;min-width:0}.topic-text strong{font-weight:700}.retire-form,.report-form{display:grid;gap:4px;padding:10px 12px;margin-top:6px;border:1px solid var(--line);border-radius:12px;background:var(--wash);max-width:520px}.retire-form label,.report-form label{margin:6px 0;max-width:none}.retire-form .actions,.report-form .actions{margin:4px 0 0}.q-list>li.retired{opacity:.75}.q-list>li button.small{justify-self:start}.lesson-steps{margin:8px 0;padding-left:22px;display:grid;gap:10px}.lesson-steps p{margin:2px 0}.lesson-example{background:var(--sunken);border-radius:12px;padding:10px 14px;margin:10px 0}.lesson-example p{margin:4px 0}.make-progress{list-style:none;margin:0;padding:0;display:grid;gap:8px}.make-progress li{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.make-progress .icon{color:var(--ink-3)}.report-link{margin:12px 0 0}.report-done{display:flex;align-items:center;gap:8px;color:var(--positive);font-weight:600}.report-form{margin-top:12px}.topic-subject{margin:14px 0 2px;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.topic-subject:first-child{margin-top:0}.study{gap:10px}.study-goal{font-size:18px;font-weight:600;line-height:1.45;margin:6px 0}.study-step{min-height:200px}.study-step h4{font-size:19px;margin:8px 0}.study-step p,.study-step li{font-size:17px;line-height:1.55}.study-block{border:0;padding:0;margin:14px 0;background:none;box-shadow:none}.study-block h4{margin:0 0 4px}.study-block p{margin:4px 0;line-height:1.6}.history-list{list-style:none;margin:0;padding:0;display:grid}.history-list>li{display:flex;align-items:center;justify-content:space-between;gap:12px 14px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line)}.history-list>li:first-child{border-top:0}.history-list>li>div{min-width:0;flex:1 1 220px}.history-list .sub{display:block}.history-list .practice-meta .icon{font-size:18px;width:18px;height:18px}.history-entry{display:grid;gap:12px}.history-questions{list-style:decimal;margin:0;padding-left:24px;display:grid;gap:22px}.history-questions>li{padding-left:4px}.history-prompt{font-size:18px;font-weight:600;line-height:1.4;margin:0 0 10px}.history-options{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:8px}.history-options>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:10px 14px;border:2px solid var(--line-strong);border-radius:12px;background:var(--surface);font-size:16px}.history-options>li.mine{border-color:var(--accent);background:var(--accent-soft)}.history-options>li.right{border-color:var(--positive-line);background:var(--positive-soft)}.history-options>li.mine.right{border-color:var(--positive-line)}.history-tag{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--ink-2)}.history-tag .icon{font-size:18px;width:18px;height:18px;color:var(--positive)}.history-verdict{margin:0;padding:10px 14px;border-radius:12px}.history-verdict.right{background:var(--positive-soft);color:var(--ink)}.history-verdict.wrong{background:var(--caution-soft);color:var(--ink)}.shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 18px}.shortcut{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;color:var(--ink);text-decoration:none;box-shadow:0 1px 2px #2832500d;transition:border-color .15s,box-shadow .15s}.shortcut:hover{border-color:var(--accent);box-shadow:var(--shadow)}.shortcut-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-text)}.shortcut-text{display:grid;gap:2px;min-width:0;flex:1}.shortcut-text strong{font-size:16px}.shortcut-text span{font-size:14px;color:var(--ink-3);font-weight:500;line-height:1.35}.shortcut>.icon{color:var(--ink-3)}@media(max-width:1100px){.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.shortcut{flex-direction:column;align-items:flex-start;gap:10px;min-height:0;padding:14px}.shortcut-text span,.shortcut>.icon{display:none}}.card-head .actions{margin:0}.report-row-head{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}.report-row-head>div:first-child{flex:1 1 240px;min-width:0}.report-row-head .sub{display:block;margin-top:2px}.report-row-head .pill{flex:none}.report-row details{padding:4px 0}.report-row summary{cursor:pointer;font-weight:600;color:var(--accent-text);min-height:32px;display:flex;align-items:center}.card-body.muted,p.card-body{margin:0}.remarks-table textarea{min-height:64px}@media(max-width:640px){.report-row-head .row-actions{width:100%}.report-row-head .row-actions button{flex:1 1 auto}}.history span.pill{font-weight:700}.history span.pill-positive{color:var(--positive)}.history span.pill-caution{color:var(--caution)}.history span.pill-critical{color:var(--critical)}.history span.pill-info{color:var(--info)}.history span.pill-neutral{color:var(--ink-2)}.cell-stack{display:grid;gap:6px;justify-items:start}.cell-stack button{height:36px;padding:0 16px}@media(max-width:640px){td .sub.hide-sm{display:none}}.learner-link{display:inline-block;padding:6px 0}td .show-sm .row-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;margin-top:6px}.inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin-top:14px}.inline-form label{margin:0;flex:1 1 220px;max-width:360px}a.sub[href^="tel:"]{display:inline-block;padding:7px 0}.roster-grid .learner-link{display:block;padding:8px 0}.settings-link{display:grid;place-items:center;margin-left:auto;text-decoration:none}.settings-link+.user{margin-left:0}.icon-button,input[type=checkbox],input[type=radio]{flex:none}a.sub[href^="tel:"],.doc-facts a[href^="tel:"],.profile-facts a[href^="tel:"],.facts-grid a[href^="tel:"],.summary-list a[href^="tel:"]{display:inline-flex;align-items:center;min-height:36px;padding:0}.learner-link{padding:8px 0}.report-row summary{min-height:36px}.toolbar>label>input[type=checkbox],.toolbar>label>input[type=radio]{width:20px;height:20px}.toolbar>label:has(>input[type=checkbox]),.toolbar>label:has(>input[type=radio]){flex-wrap:nowrap;align-items:center}@media(pointer:coarse){a.sub[href^="tel:"],.doc-facts a[href^="tel:"],.profile-facts a[href^="tel:"],.facts-grid a[href^="tel:"],.summary-list a[href^="tel:"]{min-height:44px}.learner-link{padding:12px 0}.report-row summary{min-height:44px}.toolbar>label>input[type=checkbox],.toolbar>label>input[type=radio]{width:24px;height:24px}}.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin:0 0 10px}.filters label{margin:0;min-width:160px;flex:1 1 160px;max-width:260px}.filter-period{display:grid;gap:6px}.filter-label{font-size:14px;font-weight:500;color:var(--ink-2)}.segmented button[disabled]{opacity:.45;cursor:not-allowed}.segmented button[disabled]:hover{background:none}.scope-line{margin:0 0 14px;font-size:14px;color:var(--ink-3);font-weight:500}.is-loading{opacity:.55;transition:opacity .15s}.delta{display:block;font-weight:600;margin-top:2px}.delta.up{color:var(--positive)}.delta.down{color:var(--critical)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}.overview-grid .card{margin:0}.panel-sub{margin:20px 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}.panel-line{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:14px;color:var(--ink-2);font-weight:500}.panel-line .icon{font-size:20px;color:var(--ink-3);flex:none}.fees-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}.fees-big{font-size:26px;font-weight:800;letter-spacing:-.02em;margin-right:6px}.meter{display:block;height:8px;border-radius:999px;background:var(--accent-soft);overflow:hidden}.meter>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.meter.is-critical>span{background:var(--critical)}.bar-rows{list-style:none;margin:0;padding:0}.bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;width:100%;min-height:60px;height:auto;padding:8px;margin:0;background:none;border:0;border-radius:10px;color:var(--ink);text-align:left;font-weight:500;white-space:normal;box-shadow:none}.bar-row .bar-name{grid-column:1;grid-row:1}.bar-row .bar-value{grid-column:2;grid-row:1}.bar-row .meter{grid-column:1/-1;grid-row:2}button.bar-row:hover{background:var(--sunken);color:var(--ink);box-shadow:none}.bar-name{display:block;font-weight:600;min-width:0}.bar-name .sub{display:block;font-size:13px;color:var(--ink-3);font-weight:500}.bar-value{font-weight:700;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.bar-more{margin-top:8px}.chart{margin:0}.chart-plot{position:relative;height:150px;margin-top:22px}.chart-axis{position:absolute;left:0;top:-20px;font-size:12px;font-weight:600;color:var(--ink-3)}.chart-axis.bottom{display:none}.chart-bars{height:100%;display:flex;align-items:flex-end;border-bottom:1px solid var(--line-strong);background:linear-gradient(var(--line),var(--line)) 0 0/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 50%/100% 1px no-repeat}.chart-col{flex:1 1 0;min-width:0;height:100%;display:flex;align-items:flex-end;justify-content:center}.chart-col>span{display:block;width:calc(100% - 2px);max-width:24px;min-height:2px;background:var(--info-line);border-radius:4px 4px 0 0}.chart-col.on>span{background:var(--accent)}.chart-col.hot>span{background:var(--accent-hover)}.chart-tip{position:absolute;top:-6px;transform:translate(-50%,-100%);display:grid;gap:1px;padding:6px 10px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;white-space:nowrap;pointer-events:none;z-index:2}.chart-tip strong{font-size:13px}.chart-tip span{opacity:.8}.chart-x{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;font-weight:600;color:var(--ink-3)}.chart-table{margin-top:8px}.chart-table summary{display:flex;align-items:center;min-height:34px;cursor:pointer;font-size:14px;font-weight:600;color:var(--accent-text)}.chart-table .table-wrap{max-height:240px;overflow:auto}.pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:10px;margin:0}.pipeline>div{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.pipeline dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.pipeline dd{margin:2px 0 0;font-size:22px;font-weight:800}.overview-grid .span-2{grid-column:1/-1}.overview-grid .link-button{display:inline-flex;align-items:center;min-height:34px;font-weight:600}@media(max-width:1100px){.overview-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.filters label{flex:1 1 140px;max-width:none}.filter-period{flex:1 1 100%}.chart-plot{height:130px}.fees-big{font-size:22px}}@media(pointer:coarse){.chart-table summary,.overview-grid .link-button{min-height:44px}.bar-row{min-height:64px}}.head-stats .stat-value,.head-stats .stat-label{white-space:nowrap}table.compact th,table.compact td{padding:10px 12px}table.compact th{letter-spacing:.04em}.term-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2);white-space:nowrap;padding:4px 10px;border:1px solid var(--line);border-radius:999px;flex:0 1 auto;min-width:0;overflow:hidden}.term-chip .icon{font-size:18px;color:var(--accent-text);flex:none}.term-chip b{font-weight:700;color:var(--ink);flex:none;max-width:140px;overflow:hidden;text-overflow:ellipsis}.term-chip>span:last-child{overflow:hidden;text-overflow:ellipsis}.search-trigger{margin-left:auto;display:inline-flex;align-items:center;gap:8px;height:40px;min-width:150px;padding:0 10px 0 12px;background:var(--wash);color:var(--ink-3);border:1px solid var(--line);border-radius:999px;font-weight:500;font-size:14px;flex:0 1 280px;box-shadow:none}.search-trigger:hover{background:var(--sunken);color:var(--ink-2);box-shadow:none}.search-trigger-text{flex:1;text-align:left}.search-trigger kbd{font:inherit;font-size:12px;font-weight:600;padding:2px 6px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink-3)}.search-trigger~.settings-link,.search-trigger~.user{margin-left:0}@media(max-width:1240px){.term-chip b{display:none}.search-trigger{min-width:0;flex-basis:200px}}@media(max-width:1060px){.search-trigger kbd{display:none}}@media(max-width:760px){.term-chip{display:none}.search-trigger{flex:none;width:var(--tap);height:var(--tap);padding:0;justify-content:center;border-radius:50%}.search-trigger-text,.search-trigger kbd{display:none}}@media(pointer:coarse){.search-trigger kbd{display:none}}.search-box{position:relative;max-width:none;margin:0 0 8px}.search-box .icon{position:absolute;left:14px;top:12px;color:var(--ink-3)}.search-box input{height:48px;font-size:16px;padding-left:44px;border-radius:999px}.search-results{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:min(60vh,440px);overflow-y:auto}.search-results li{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 12px;border-radius:10px;cursor:pointer}.search-results li>span:not(.icon):not(.pill){flex:1;min-width:0}.search-results li[aria-selected=true]{background:var(--accent-soft)}.search-results .icon{color:var(--accent-text)}.search-results strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:901px)and (max-width:1100px){.search-trigger{flex:none;width:var(--tap);height:var(--tap);min-width:0;padding:0;justify-content:center;border-radius:50%}.search-trigger-text,.search-trigger kbd,.topbar .user .name{display:none}.topbar .user{padding:3px}}@media(max-width:400px){.topbar .settings-link{display:none}}.admission-stand{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px 20px;margin:0 0 12px}.admission-stand div{display:grid;gap:4px;min-width:0}.admission-stand dt{color:var(--ink-3);font-size:13px;font-weight:600}.admission-stand dd{margin:0;font-weight:600;overflow-wrap:anywhere}.admission-stand .admission-next{grid-column:1/-1;padding:10px 14px;background:var(--accent-soft);border-radius:10px}.admission-next dd{font-weight:500}.admission-decide{display:grid;gap:10px}.admission-decide label{margin:0;max-width:480px}.timeline{list-style:none;margin:0;padding:0 0 0 18px;border-left:2px solid var(--line-strong)}.timeline li{position:relative;display:grid;gap:2px;padding:0 0 16px 6px}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px var(--surface)}.timeline span{font-size:13px;color:var(--ink-3);overflow-wrap:anywhere}.history .note-text{font-size:15px;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.admission-form h4{margin:18px 0 4px}.form-lines{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px 24px;font-size:13px;color:var(--ink-3)}.form-lines .doc-line{min-height:30px}.admission-form .form-lines:last-of-type>div:last-child{grid-column:1/-1}@media(min-width:700px){.head-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media(max-width:699px){.head-stats .stat-label{white-space:normal}}.person-avatar{display:grid;place-items:center;flex:none;border-radius:50%;color:#fff;font-weight:700;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.person-avatar-sm{width:36px;height:36px;font-size:14px}.person-avatar-md{width:56px;height:56px;font-size:20px}.person-avatar-lg{width:96px;height:96px;font-size:34px}.person-card{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.8fr);gap:18px 28px;align-items:center;padding:22px 24px}.profile-id{min-width:0}.profile-id h3{margin:0 0 2px;font-size:24px;letter-spacing:-.01em;overflow-wrap:anywhere}.profile-id p{margin:0 0 8px}.profile-facts{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 24px;padding-left:28px;border-left:1px solid var(--line);min-width:0}.profile-facts div{display:grid;gap:2px;min-width:0}.profile-facts dt{font-size:13px;font-weight:600;color:var(--ink-3)}.profile-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}.profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.profile-main{min-width:0}.profile-tabs{max-width:100%;overflow-x:auto;margin:0 0 18px}.profile-tabs .segmented{flex-wrap:nowrap}.profile-tabs .segmented button{flex:none}.profile-layout.wide{grid-template-columns:minmax(0,1fr)}.profile-rail{display:grid;gap:18px;align-content:start;min-width:0}.profile-rail .card{margin:0}.summary-list{margin:0;display:grid}.summary-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);min-width:0}.summary-list>div:last-child{border-bottom:0;padding-bottom:0}.summary-list>div:first-child{padding-top:0}.summary-list dt{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:14px;font-weight:500;flex:none}.summary-list dt .icon{font-size:18px;width:18px;height:18px;color:var(--accent)}.summary-list dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere;min-width:0}.profile-actions{list-style:none;margin:0;padding:0;display:grid;gap:2px}.profile-action{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:auto;min-height:44px;padding:6px 10px;font-size:15px;line-height:1.3;white-space:normal;border:0;border-radius:10px;background:none;color:var(--ink);font-weight:500;text-decoration:none;text-align:left}.profile-action:hover{background:var(--sunken);box-shadow:none}.profile-action .icon{color:var(--accent)}.profile-action.danger,.profile-action.danger .icon{color:var(--critical)}.profile-action:disabled{opacity:.45}.profile-facts .wide,.facts-grid .wide{grid-column:1/-1}.cards-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;align-items:start;margin:0 0 18px}.cards-2>.card{margin:0}.profile-main .stats{margin-bottom:18px}.profile-main>.card:last-child,.profile-main>.cards-2:last-child{margin-bottom:0}.facts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px 20px;margin:0}.facts-grid div{display:grid;gap:2px;min-width:0}.facts-grid dt{font-size:13px;font-weight:600;color:var(--ink-3)}.facts-grid dd{margin:0;font-weight:600;overflow-wrap:anywhere}.student-record{display:none}@media print{.student-record{display:block}}@media(max-width:1100px){.profile-layout{grid-template-columns:minmax(0,1fr)}.person-card{grid-template-columns:auto minmax(0,1fr)}.profile-facts{grid-column:1/-1;padding:16px 0 0;border-left:0;border-top:1px solid var(--line)}}@media(max-width:560px){.person-card{padding:18px;gap:14px 16px}.person-avatar-lg{width:72px;height:72px;font-size:26px}.profile-id h3{font-size:21px}.cards-2{grid-template-columns:minmax(0,1fr)}}.tt-grid{width:100%;border-collapse:separate;border-spacing:6px;table-layout:fixed;min-width:640px}.tt-grid th,.tt-grid td{padding:0;border:0;vertical-align:top;background:none}.tt-grid thead th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);text-align:center;padding:6px 0}.tt-grid tbody th{width:68px;font-size:13px;font-weight:700;color:var(--ink-2);padding:8px 0;text-align:left}.tt-grid tbody th span,.tt-time span{display:block;font-weight:500;color:var(--ink-3)}.tt-grid thead th:first-child{width:68px;text-align:left}.tt-break td,.tt-break>span:last-child{text-align:center;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);background:var(--sunken)!important;border-radius:8px;padding:8px}.tt-cell{display:grid;gap:1px;min-height:58px;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.3;border:1px solid transparent;overflow-wrap:anywhere}.tt-cell strong{font-size:14px}.tt-cell span{color:var(--ink-2)}.tt-c0{background:#e8f0fe;border-color:#c6d8fb}.tt-c1{background:#e6f4ea;border-color:#c3e5cc}.tt-c2{background:#fef7e0;border-color:#f6e2a8}.tt-c3{background:#fce8e6;border-color:#f5c6c2}.tt-c4{background:#f3e8fd;border-color:#dcc6f5}.tt-c5{background:#e4f7fb;border-color:#bfe7f0}.tt-c6{background:#fdeee0;border-color:#f6d3b0}.tt-c7{background:#eef1f4;border-color:#d4dbe3}.tt-label{background:var(--sunken);border-color:var(--line)}.tt-edit{all:unset;box-sizing:border-box;display:block;width:100%;min-height:58px;border-radius:10px;cursor:pointer}.tt-edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tt-edit:hover .tt-cell{box-shadow:var(--shadow)}.tt-add{display:grid;place-items:center;min-height:58px;border:1px dashed var(--line-strong);border-radius:10px;color:var(--ink-3)}.tt-narrow{display:none;padding:12px 16px}.tt-day{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.tt-day li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}.tt-day .tt-break{grid-template-columns:96px minmax(0,1fr)}.tt-day .tt-break>span:last-child{padding:6px}.tt-time{font-size:13px;font-weight:700;color:var(--ink-2);padding-top:8px}.tt-day .muted{padding-top:8px}.tt-day .tt-edit{min-height:44px}.tt-day .tt-edit>.muted{display:block;padding:10px;border:1px dashed var(--line-strong);border-radius:10px}@media(max-width:699px){.tt-wide{display:none}.tt-narrow{display:block}}.bell-rows{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:10px}.bell-rows li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;padding-bottom:10px;border-bottom:1px solid var(--line)}.bell-rows label{margin:0;flex:1 1 110px;min-width:0}.bell-rows button{flex:none}.today-lessons{list-style:none;margin:0;padding:0;display:grid}.today-lessons li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}.today-lessons li:first-child{border-top:0}.today-lessons .tt-time{padding:0}.today-lessons .done{opacity:.55}.today-lessons .now strong{color:var(--accent-deep)}.today-lessons .sub{display:block}.period-step{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;margin:0 0 12px}.period-step strong{font-size:16px;min-width:96px;text-align:center}.check-list{list-style:none;margin:14px 0;padding:0;display:grid;gap:12px}.check-list>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}.check-list .icon{font-size:22px;width:22px;height:22px;margin-top:1px}.nowrap-first td:first-child{white-space:nowrap}.check-list .ok .icon{color:var(--positive)}.check-list .warn .icon{color:var(--caution)}.check-list .bad .icon{color:var(--critical)}.check-list .sub{display:block;margin-top:2px;font-size:13px;font-weight:500;color:var(--ink-2)}.check-list .plain-list{margin-top:6px}.cal-toolbar{align-items:flex-end}.cal-nav{display:flex;align-items:center;gap:6px;margin-right:auto}.cal-nav strong{min-width:150px;text-align:center;font-size:16px}.cal-body{padding:12px 16px 16px}.cal-weekdays,.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-weekdays span{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);text-align:center;padding:4px 0}.cal-day{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:96px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface);cursor:pointer;min-width:0;overflow:hidden}.cal-day:hover{box-shadow:var(--shadow)}.cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.cal-day.out{opacity:.45}.cal-day.weekend{background:var(--wash)}.cal-day.closed{background:var(--sunken)}.cal-day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal-day.today .cal-num{background:var(--accent);color:#fff}.cal-num{align-self:flex-start;min-width:24px;height:24px;display:grid;place-items:center;border-radius:12px;font-size:13px;font-weight:700;color:var(--ink-2);padding:0 4px}.cal-note{font-size:11px;font-weight:600;color:var(--ink-3);line-height:1.2}.cal-note.term{color:var(--accent-text)}.cal-events{display:grid;gap:2px;min-width:0}.cal-chip{display:inline-block;max-width:100%;padding:1px 7px;border-radius:6px;border:1px solid transparent;font-size:12px;font-weight:600;line-height:1.5;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-chip.is-cancelled{text-decoration:line-through;opacity:.6}.cal-more{font-size:11px;font-weight:600;color:var(--ink-3)}.cal-dots{display:none;gap:3px;flex-wrap:wrap}.cal-dots i,.cal-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;border:1px solid transparent}.cal-dots .tt-c0,.cal-legend .tt-c0{background:#1a5fd0;border-color:#1a5fd0}.cal-dots .tt-c1,.cal-legend .tt-c1{background:#1b6e37;border-color:#1b6e37}.cal-dots .tt-c4,.cal-legend .tt-c4{background:#7b3fb8;border-color:#7b3fb8}.cal-dots .tt-c2,.cal-legend .tt-c2{background:#c27c00;border-color:#c27c00}.cal-dots .tt-c5,.cal-legend .tt-c5{background:#0b7a8c;border-color:#0b7a8c}.cal-dots .tt-c7,.cal-legend .tt-c7{background:#5a667f;border-color:#5a667f}.cal-legend{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:13px;color:var(--ink-2)}.cal-legend li{display:flex;align-items:center;gap:6px}.cal-list{padding:4px 16px 16px}.cal-month{margin:16px 0 6px;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.cal-rows{list-style:none;margin:0;padding:0}.cal-row{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}.cal-row:first-child{border-top:0}.cal-row.closed,.cal-row.term{color:var(--ink-2)}.cal-when{font-size:13px;font-weight:700;color:var(--ink-2);padding-top:2px}.cal-what{min-width:0}.cal-what .sub{display:block;font-size:13px;color:var(--ink-3);margin-top:2px;overflow-wrap:anywhere}.cal-what .link-button{display:inline-flex;align-items:center;min-height:34px;text-align:left}@media(pointer:coarse){.cal-what .link-button{min-height:44px}}.cal-detail{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:14px}.cal-detail li{padding-top:12px;border-top:1px solid var(--line)}.cal-detail li:first-child{border-top:0;padding-top:0}.cal-detail-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.cal-detail p{margin:4px 0}.cal-detail .actions{margin-top:8px}.cal-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:4px 12px;margin-top:10px}.cal-classes .check{display:flex;align-items:center;gap:8px;margin:0;font-weight:500;min-height:34px}.cal-classes input{width:auto;height:auto}.coming-list{list-style:none;margin:0;padding:0;display:grid}.coming-list li{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--line)}.coming-list li:first-child{border-top:0}.coming-when{font-size:13px;font-weight:700;color:var(--accent-deep);padding-top:2px}.coming-list .sub{display:block;font-size:13px;color:var(--ink-3);margin-top:2px;overflow-wrap:anywhere}.cal-print{font-size:12px}.cal-print table{margin-top:12px}@media(max-width:699px){.cal-body{padding:8px 8px 12px}.cal-day{min-height:56px;padding:4px;align-items:center;gap:2px}.cal-events,.cal-note,.cal-more{display:none}.cal-dots{display:flex;justify-content:center}.cal-day.closed .cal-num{text-decoration:underline}.cal-row{grid-template-columns:minmax(0,1fr) auto}.cal-when{grid-column:1/-1;padding-top:0}.coming-list li{grid-template-columns:minmax(0,1fr) auto}.coming-when{grid-column:1/-1;padding-top:0}.cal-nav strong{min-width:120px}}@media(pointer:coarse){.cal-nav .icon-button{width:44px;height:44px}}.admission-figures{margin-bottom:14px}.rep-year{display:block;max-width:320px;margin:0}.rep-top{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin:14px 0 6px}.donut{width:168px;height:168px;border-radius:50%;flex:none;display:grid;place-items:center;position:relative}.donut:before{content:"";position:absolute;inset:26px;border-radius:50%;background:var(--surface)}.donut span{position:relative;display:grid;justify-items:center;font-size:12px;color:var(--ink-3);line-height:1.2}.donut strong{font-size:30px;color:var(--ink)}.rep-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px;flex:1 1 240px;min-width:0}.rep-legend li{display:grid;grid-template-columns:14px minmax(0,1fr) auto 56px;gap:10px;align-items:center;min-height:30px;font-size:14px}.rep-legend i{width:12px;height:12px;border-radius:50%;display:inline-block}.rep-legend strong{text-align:right}.rep-legend .muted{text-align:right;font-size:13px}.total-row td{font-weight:700;background:var(--wash)}.rep-downloads{list-style:none;margin:6px 0 12px;padding:0;display:grid}.rep-downloads li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.rep-downloads li:first-child{border-top:0}.rep-downloads .icon{font-size:24px;width:24px;height:24px;color:var(--accent-text)}.rep-downloads .sub{display:block;font-size:13px;color:var(--ink-3);margin-top:2px;font-weight:500}@media(max-width:699px){.rep-downloads li{grid-template-columns:28px minmax(0,1fr)}.rep-downloads li>button{grid-column:2;justify-self:start}.donut{width:140px;height:140px}.donut:before{inset:22px}}.tt-print{display:none}@page timetable{size:A4 landscape;margin:10mm}@media print{.tt-print{display:block}.tt-print .tt-page{page:timetable;break-after:page}.tt-print .tt-page:last-child{break-after:auto}.tt-print .tt-grid{min-width:0;border-spacing:3px}.tt-print .tt-grid th,.tt-print .tt-grid td{border:0;height:auto;padding:0}.tt-print .tt-cell{min-height:44px;padding:4px 6px;font-size:11px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tt-print .tt-cell strong{font-size:12px}.tt-print .doc-head{margin-bottom:8px}}.not-recorded{color:var(--ink-3);font-weight:500}.details-group{border:1px solid var(--line);border-radius:12px;padding:6px 16px 4px;margin:0 0 14px;min-width:0}.details-group legend{font-weight:700;font-size:14px;padding:0 6px}.details-group>p{margin:4px 0 8px}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px}.details-grid .wide{grid-column:1/-1}.week-stats{margin:4px 0 6px}.week-stats .stat{padding:12px 14px}.week-stats .stat-value{font-size:24px}.week-list{list-style:none;margin:6px 0 4px;padding:0;display:grid;gap:8px}.week-list>li{display:flex;gap:10px;align-items:flex-start}.week-list>li>.icon{color:var(--accent);flex:none}.tonight{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:14px;padding:14px 16px;border-radius:14px;background:var(--accent-soft);border:1px solid var(--info-line)}.tonight>div{display:grid;gap:2px;min-width:0;flex:1 1 200px}.tonight strong{font-size:17px}.week-term{margin:12px 0 0}.guide-steps{margin:6px 0 0;padding-left:22px;display:grid;gap:10px}.guide-steps p,.subject-focus{margin:2px 0 0}.week-tests{display:flex;gap:10px;align-items:flex-start;margin:4px 0 6px}.week-tests>.icon{color:var(--accent);flex:none}.test-clock{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--accent-text)}.test-clock .icon{font-size:18px;width:18px;height:18px}.test-clock.low{color:var(--caution)}.test-topic{margin:0 0 4px;font-size:13px}.test-review{margin:8px 0 0;padding-left:22px;display:grid;gap:14px}.test-review p{margin:2px 0}.test-summary .topic-subject{font-size:13px;margin-top:16px}.test-summary .week-list{margin-bottom:10px}
