:root{color-scheme:light;--bg:#f4f6f8;--page:#f4f6f8;--surface:#ffffff;--panel:#ffffff;--ink:#1a2332;--muted:#5c6b7a;--line:#d7dee6;--line-strong:#c5d0db;--brand:#1e3a5f;--brand-hover:#16304f;--navy:#1e3a5f;--accent:#2b6cb0;--accent-soft:#e7f0fb;--danger:#b42318;--danger-soft:#fef3f2;--ok:#067647;--ok-soft:#ecfdf3;--warning:#b54708;--warning-soft:#fffaeb;--info:#175cd3;--info-soft:#eff4ff;--focus:#2b6cb0;--sidebar:#1e3a5f;--sidebar-text:#d6e4f5;--sidebar-active:rgba(255,255,255,0.18);--shadow-sm:0 1px 2px rgba(26,35,50,0.06);--shadow:0 8px 24px rgba(26,35,50,0.06);--shadow-lg:0 18px 48px rgba(26,35,50,0.1);--radius-sm:6px;--radius:10px;--radius-lg:14px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--text-page:1.35rem;--text-section:1.05rem;--text-card:0.95rem;--text-body:0.9375rem;--text-label:0.82rem;--text-helper:0.8rem;--text-caption:0.75rem;--font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",sans-serif;--content-max:72rem;--content-narrow:42rem;--sidebar-width:16.5rem;--topbar-height:3.5rem;--control-height:2.35rem}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--page);color:var(--ink);font-family:var(--font);font-size:var(--text-body);line-height:1.5}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button,input,select,textarea{font:inherit}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;line-height:1.25}h1{font-size:var(--text-page);margin:0 0 .35rem}h1,h2{font-weight:650}h2{font-size:var(--text-section);margin:1.35rem 0 .65rem}h3{font-size:var(--text-card);font-weight:650;margin:0 0 .4rem}p{margin:0 0 .75rem}button{background:var(--brand);color:white;border:0;border-radius:var(--radius-sm);padding:.45rem .9rem;min-height:var(--control-height);cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:.4rem}button:hover{background:var(--brand-hover)}button:disabled{opacity:.55;cursor:not-allowed}.button.secondary,button.secondary{background:white;color:var(--brand);border:1px solid var(--line)}.button.secondary:hover,button.secondary:hover{background:#f8fafc}.button.ghost,button.ghost{background:transparent;color:var(--brand);border:1px solid transparent}button.ghost:hover{background:#eef2f6}.button.danger,button.danger{background:var(--danger);color:white}button.danger:hover{background:#912018}.icon-btn,button.icon-btn{width:2.35rem;min-width:2.35rem;padding:0;background:transparent;color:var(--ink);border:1px solid var(--line)}button.icon-btn:hover{background:#eef2f6}.button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--control-height);padding:.45rem .9rem;border-radius:var(--radius-sm);background:var(--brand);color:white;text-decoration:none;font-weight:600;border:0}.button:hover{background:var(--brand-hover);color:white}.button.secondary{background:white;color:var(--brand);border:1px solid var(--line)}.button.ghost{background:transparent;color:var(--brand)}.button.danger{background:var(--danger)}label{display:grid;grid-gap:.3rem;gap:.3rem;font-size:var(--text-label);font-weight:600;color:var(--ink)}input,select,textarea{width:100%;min-height:var(--control-height);padding:.45rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:white;color:var(--ink)}textarea{min-height:6.5rem;resize:vertical}input[type=checkbox],input[type=radio]{width:auto;min-height:0;width:1.05rem;height:1.05rem;accent-color:var(--brand)}.checkbox-row,.choice-row{display:flex;align-items:flex-start;gap:.55rem;font-weight:500}.checkbox-row label,.choice-row label{display:inline;font-weight:500}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;position:-webkit-sticky;position:sticky;bottom:0;padding:.85rem 0;background:linear-gradient(to top,var(--page) 70%,transparent)}.form-section{display:grid;grid-gap:.85rem;gap:.85rem;margin-bottom:1.15rem}.app-shell,.shell{display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--page)}.app-shell.is-platform{grid-template-columns:minmax(0,1fr)}.app-sidebar,.nav{background:var(--sidebar);color:white;padding:1.1rem .85rem 1.25rem;display:flex;flex-direction:column;gap:.2rem;min-height:100vh;position:-webkit-sticky;position:sticky;top:0;max-height:100vh;overflow:auto}.app-sidebar-brand{display:grid;grid-template-columns:2.35rem minmax(0,1fr);grid-gap:.7rem;gap:.7rem;align-items:center;padding:.15rem .45rem 1rem}.app-sidebar-logo,.login-brand-mark.compact{width:2.35rem;height:2.35rem;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);overflow:hidden}.app-sidebar-logo img{width:100%;height:100%;object-fit:contain}.app-sidebar-school{min-width:0}.app-sidebar-school strong,.nav h1{display:block;font-size:.95rem;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar-persona,.app-sidebar-user{margin:0;font-size:var(--text-caption);color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-section-label{margin:.85rem .55rem .25rem;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9fb4cc}.app-nav-link,.nav a{color:var(--sidebar-text);text-decoration:none;padding:.42rem .65rem;border-radius:8px;display:flex;align-items:center;gap:.55rem;font-size:.9rem;min-height:2.15rem}.app-nav-link svg,.nav a svg{width:1.05rem;height:1.05rem;flex:none}.app-nav-link.active,.app-nav-link:hover,.nav a.active,.nav a:hover{background:rgba(255,255,255,.12);color:white}.app-nav-link.active,.nav a.active{background:var(--sidebar-active);font-weight:650}.nav-group{display:flex;flex-direction:column;gap:.1rem}.nav a.nav-parent.open:not(.active){background:rgba(255,255,255,.06);color:#e8f0fa}.app-nav-link.nav-child,.nav a.nav-child{padding-left:2.05rem;font-size:.86rem;min-height:1.95rem}.nav-count{margin-left:auto;min-width:1.25rem;padding:0 .35rem;border-radius:999px;background:rgba(255,255,255,.16);color:white;font-size:.68rem;font-weight:700;text-align:center}.app-sidebar-footer{margin-top:auto;padding:1rem .45rem 0;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-gap:.65rem;gap:.65rem}.app-main{min-width:0;display:flex;flex-direction:column}.app-topbar{min-height:var(--topbar-height);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:20}.app-topbar-context{min-width:0}.app-topbar-context strong{display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-topbar-meta{margin:0;color:var(--muted);font-size:var(--text-caption)}.app-topbar-actions{display:flex;align-items:center;gap:.5rem}.app-menu-btn{display:none}.app-topbar-school{display:none;min-width:0}.app-content,.content{padding:1.35rem 1.6rem 3rem;max-width:calc(var(--content-max) + 3.2rem);width:100%}.app-content-inner{max-width:var(--content-max)}.app-content>p.muted,.content>p.muted{max-width:var(--content-narrow)}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.85rem;margin-bottom:1.15rem}.page-header-copy{min-width:0;flex:1 1 16rem}.page-header-copy h1{margin-bottom:.2rem}.page-header-copy p{margin:0;color:var(--muted);max-width:var(--content-narrow)}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.breadcrumbs{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .4rem;padding:0;list-style:none;font-size:var(--text-caption);color:var(--muted)}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--accent)}.cards{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:.85rem}.cards,.stat-grid{display:grid;gap:.85rem}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.85rem}.card,.section-card,.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.05rem;box-shadow:var(--shadow-sm)}.card strong,.stat-card strong{display:block;font-size:1.35rem;letter-spacing:-.03em}.card>span,.stat-card span{color:var(--muted);font-size:var(--text-label);font-weight:600}.section-card h2,.section-card h3{margin-top:0}a.card,a.stat-card{text-decoration:none;color:inherit;display:grid;grid-gap:.25rem;gap:.25rem}a.card:hover,a.stat-card:hover{border-color:#9cb6d4;box-shadow:var(--shadow)}.queue-list,.timeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:.55rem;gap:.55rem}.queue-list a,.timeline-item{display:grid;grid-gap:.15rem;gap:.15rem;padding:.7rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;color:inherit;background:#fbfcfd}.queue-list a:hover{border-color:#9cb6d4;background:white}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:white}table{width:100%;border-collapse:collapse;background:white;border:1px solid var(--line)}.table-wrap table{border:0;min-width:36rem}td,th{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:nth-child(2n){background:#f8fafc}tbody tr:hover{background:#eef4fb}th{font-size:var(--text-caption);color:var(--muted);font-weight:650;background:#f8fafc}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.form-grid{display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:1rem 0;max-width:56rem;align-items:end}.form-grid .span-2{grid-column:1/-1}.health-records{display:grid;grid-gap:var(--space-4);gap:var(--space-4);width:100%}.health-record{border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);background:var(--surface)}.health-record header{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center}.health-record h3{margin:0;font-size:1.05rem}.health-record dl{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-2) var(--space-4);gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 0}.health-record dt{color:var(--muted);font-size:.85rem}.health-record dd{margin:0}.health-record-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-3)}.health-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.health-form .health-record-actions,.health-form textarea{grid-column:1/-1}.health-history h3{margin:var(--space-4) 0 var(--space-2);font-size:.95rem;color:var(--muted)}.form-grid .form-control-action{display:flex;align-items:flex-end;min-height:var(--control-height)}.form-grid .form-control-action>.button,.form-grid .form-control-action>button{width:100%}.record-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,22.5rem);grid-gap:1.15rem;gap:1.15rem;align-items:start}.record-main,.record-sidebar{display:grid;grid-gap:1rem;gap:1rem;min-width:0}.record-sidebar{position:-webkit-sticky;position:sticky;top:1rem}.header-meta{display:flex;flex-wrap:wrap;gap:.45rem .85rem;color:var(--muted);font-size:var(--text-helper)}.header-meta span{position:relative}.header-meta span:not(:last-child):after{content:"·";position:absolute;right:-.55rem;color:var(--line-strong)}.summary-empty{color:var(--muted);font-weight:500}.person-card{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.65rem .85rem;gap:.65rem .85rem;align-items:start;padding:.75rem 0;border-bottom:1px solid var(--line)}.person-card:last-child{border-bottom:0;padding-bottom:0}.person-card:first-child{padding-top:0}.person-card-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin:.2rem 0 0}.workflow-actions{display:flex;flex-wrap:wrap;gap:.5rem}.workflow-actions button{flex:1 1 auto}.offer-summary{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.8rem;margin:0 0 .85rem;background:#fbfcfd}.workflow-panel .form-grid{margin:.75rem 0 0;max-width:none}.sensitive-note{font-size:var(--text-helper);margin:0 0 .75rem}.section-card .table-wrap,.section-card table{margin:0}.dialog .form-grid{margin-top:.35rem;max-width:none}.dialog .dialog-actions{margin-top:1rem}.page-header-copy p .header-meta{margin:0}.filter-bar,.toolbar{display:flex;gap:.75rem;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;margin:0 0 .9rem}.filter-bar{align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .9rem}.filter-bar label{min-width:10rem;flex:1 1 10rem}.filter-bar .filter-actions{margin-left:auto;display:flex;gap:.5rem}.search-input{min-width:12rem;flex:1 1 14rem}.error{color:var(--danger)}.muted{color:var(--muted)}.alert,.banner{padding:.75rem .9rem;border-radius:8px;margin-bottom:1rem;border:1px solid var(--line)}.alert-warning,.banner{background:var(--warning-soft);border-color:#f7d7a4;color:#7a4100}.alert-danger{background:var(--danger-soft);border-color:#f5c2c0;color:var(--danger)}.alert-success{background:var(--ok-soft);border-color:#abefc6;color:var(--ok)}.alert-info{background:var(--info-soft);border-color:#b2ccff;color:var(--info)}.stack{grid-gap:.85rem}.profile-list,.stack{display:grid;gap:.85rem}.profile-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.85rem;margin:0}.profile-list dt{font-size:var(--text-caption);color:var(--muted);font-weight:650}.profile-list dd{margin:.15rem 0 0;font-weight:600;overflow-wrap:anywhere}.invite-token-panel code{display:block;word-break:break-all;margin:.4rem 0 .75rem;padding:.55rem .7rem;background:var(--surface-2,#f8fafc);border-radius:var(--radius-sm)}.pupil-tab-panel{display:grid;grid-gap:1rem;gap:1rem}.child-card,.student-tiles .card,a.card{text-decoration:none;color:inherit;display:grid;grid-gap:.25rem;gap:.25rem}.coming-later strong{font-size:1.05rem}.notice.unread{border-color:var(--accent)}.notice.read{opacity:.85}.badge,.status-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.12rem .5rem;border-radius:999px;font-size:var(--text-caption);font-weight:650;border:1px solid transparent;white-space:nowrap}.badge-success,.tone-success{background:var(--ok-soft);color:var(--ok);border-color:#abefc6}.badge-warning,.tone-warning{background:var(--warning-soft);color:var(--warning);border-color:#fedf89}.badge-danger,.tone-danger{background:var(--danger-soft);color:var(--danger);border-color:#f5c2c0}.badge-info,.tone-info{background:var(--info-soft);color:var(--info);border-color:#b2ccff}.badge-neutral,.tone-neutral{background:#f2f4f7;color:#344054;border-color:var(--line)}.tabs{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--line);margin:0 0 1rem}.tabs a,.tabs button{background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;border-radius:0;min-height:2.4rem;font-weight:600;padding:.35rem .7rem}.tabs a:hover,.tabs button:hover{color:var(--ink);background:transparent}.tabs [aria-current=page],.tabs a.active,.tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.empty-state,.loading-state,.page-error{display:grid;justify-items:start;grid-gap:.35rem;gap:.35rem;padding:1.1rem 1rem;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius)}.empty-state h2,.empty-state h3,.page-error h1{font-size:1rem;margin:0}.empty-state p,.loading-state p,.page-error p{margin:0;color:var(--muted)}.skeleton{display:grid;grid-gap:.65rem;gap:.65rem}.skeleton-card,.skeleton-line{background:linear-gradient(90deg,#eef2f6 25%,#f7f9fb 37%,#eef2f6 63%);background-size:400% 100%;animation:skeleton 1.2s ease-in-out infinite;border-radius:8px;min-height:.85rem}.skeleton-card{min-height:5.5rem}@keyframes skeleton{0%{background-position:100% 0}to{background-position:0 0}}.user-avatar{width:2.25rem;height:2.25rem;border-radius:999px;display:grid;place-items:center;background:var(--accent-soft);color:var(--brand);font-size:.78rem;font-weight:700;flex:none}.person-summary{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.75rem;gap:.75rem;align-items:center}.person-summary h1,.person-summary strong{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dialog-backdrop{position:fixed;inset:0;background:rgba(16,24,40,.45);display:grid;place-items:center;padding:1rem;z-index:40}.dialog{width:min(34rem,100%);max-height:min(90vh,46rem);overflow:auto;background:white;border-radius:var(--radius-lg);border:1px solid var(--line);box-shadow:var(--shadow-lg);padding:1.15rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.lesson-cards{display:grid;grid-gap:.65rem;gap:.65rem}.lesson-card{display:grid;grid-template-columns:6.5rem minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.8rem .95rem;background:white;border:1px solid var(--line);border-radius:var(--radius)}.lesson-card time,.lesson-time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:650;color:var(--brand)}.inbox-layout{display:grid;grid-template-columns:minmax(16rem,22rem) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.thread-list{display:grid;grid-gap:.45rem;gap:.45rem}.thread-item{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit;background:white}.thread-item.unread{border-color:var(--accent);background:#f8fbff}.thread-item.active{box-shadow:inset 0 0 0 1px var(--accent)}.message-bubble{padding:.8rem .9rem;border:1px solid var(--line);border-radius:var(--radius);background:white}.dash-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr);grid-gap:1rem;gap:1rem;align-items:start}.profile-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start;padding:1.1rem 1.2rem;background:white;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem}.confidential-flag{display:inline-flex;align-items:center;gap:.3rem;font-size:var(--text-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);background:#eef2f6;border:1px solid var(--line);border-radius:999px;padding:.15rem .55rem}.portal-student .content{font-size:1.02rem}.portal-student h1{font-size:1.45rem}.portal-student .card{padding:1.1rem}.portal-student .app-nav-link,.portal-student .nav a,.portal-student a.card,.portal-student button{min-height:44px}.public-form{max-width:780px;margin:0 auto;padding:1.5rem 1rem 3rem}.public-form.embed{padding:.75rem}.form-steps{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;margin:0 0 1rem}.form-steps li{padding:.28rem .7rem;border-radius:999px;background:#e8eef5;font-size:.85rem;color:var(--muted)}.form-steps li.is-complete{background:var(--ok-soft);color:var(--ok)}.form-steps li[aria-current=step]{background:var(--brand);color:white}.sidebar-backdrop{display:none}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#eef2f6}.login-card{display:grid;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr);width:min(920px,100%);min-height:560px;background:var(--panel);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}.login-brand-panel{--login-brand:var(--brand);position:relative;display:flex;align-items:flex-end;padding:2.25rem;color:#f8fbff;background-color:var(--login-brand);background-image:radial-gradient(circle at 18% 18%,rgba(255,255,255,.12),transparent 36%),linear-gradient(165deg,var(--login-brand) 0,#14233a 100%);background-size:cover;background-position:50%}.login-brand-panel-inner{position:relative;z-index:1;max-width:22rem}.login-brand-mark{width:3.25rem;height:3.25rem;display:grid;place-items:center;margin-bottom:1.15rem;border-radius:14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18)}.login-brand-mark.compact{width:2.5rem;height:2.5rem;margin:0;background:#e8eef6;border-color:var(--line);color:var(--brand)}.login-brand-icon{width:1.7rem;height:1.7rem}.login-brand-logo{width:100%;height:100%;object-fit:contain;border-radius:inherit}.login-brand-eyebrow,.login-compact-eyebrow{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#c5d4e8}.login-compact-eyebrow{color:var(--muted)}.login-brand-title{margin:0 0 .45rem;font-size:1.85rem;line-height:1.2;font-weight:650}.login-brand-domain{margin:0 0 .85rem;font-size:.92rem;color:#d5e2f2}.login-brand-tagline{margin:0;font-size:.98rem;line-height:1.5;color:#e4edf7}.login-form-panel{display:flex;flex-direction:column;justify-content:center;padding:2.25rem 2.4rem}.login-brand-compact{display:none;align-items:center;gap:.75rem;margin-bottom:1.35rem}.login-compact-title{margin:0;font-weight:650}.login-heading{margin:0 0 .4rem;font-size:1.7rem;line-height:1.2}.login-lede{margin:0 0 1.35rem;line-height:1.5}.login-personas{border:0;padding:0;margin:0 0 1.2rem}.login-personas-legend{margin-bottom:.6rem;font-size:.92rem;font-weight:650}.login-persona-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.7rem;gap:.7rem}.login-persona{display:grid;justify-items:center;grid-gap:.4rem;gap:.4rem;min-height:5.4rem;padding:.75rem .5rem;background:#f8fafc;color:var(--ink);border:1px solid var(--line);border-radius:12px;font-weight:600}.login-persona:focus-visible,.login-persona:hover{background:#eef5fc;border-color:#9cb6d4}.login-persona.is-active{background:#e7f0fb;border-color:var(--accent);color:var(--brand);box-shadow:inset 0 0 0 1px var(--accent)}.login-form input:focus-visible,.login-password-toggle:focus-visible,.login-persona:focus-visible,.login-submit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-persona-icon{width:1.45rem;height:1.45rem}.login-form{display:grid;grid-gap:.95rem;gap:.95rem}.login-form label{font-weight:600}.login-form input{padding:.7rem .8rem;border-radius:10px}.login-password-wrap{position:relative;display:block}.login-password-wrap input{padding-right:2.8rem}.login-password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);width:2.15rem;height:2.15rem;padding:0;display:grid;place-items:center;background:transparent;color:var(--muted);border-radius:8px}.login-password-toggle:hover{color:var(--brand);background:#eef2f6}.login-password-icon{width:1.15rem;height:1.15rem}.login-submit{width:100%;min-height:2.7rem;margin-top:.2rem;border-radius:10px;font-weight:650;background:var(--brand)}.login-submit:hover{background:#16304f}.login-support{margin:.95rem 0 0;font-size:.88rem;line-height:1.45}.login-form-panel .error{margin:.85rem 0 0}.platform-shell{max-width:52rem;margin:0 auto;padding:2rem 1.25rem 3rem}@media (max-width:1100px){.dash-grid,.inbox-layout,.lesson-card,.record-layout{grid-template-columns:1fr}.record-sidebar{position:static}}@media (max-width:899px){.login-page{padding:1rem;align-items:stretch}.login-card{grid-template-columns:1fr;min-height:0;width:100%}.login-brand-panel{display:none}.login-brand-compact{display:flex}.login-form-panel{padding:1.35rem 1.2rem 1.6rem}.login-heading{font-size:1.45rem}.login-persona{min-height:4.7rem;padding:.6rem .35rem;font-size:.92rem}}@media (max-width:800px){.app-shell,.shell{grid-template-columns:1fr}.app-sidebar,.nav{position:fixed;inset:0 auto 0 0;width:min(18.5rem,86vw);z-index:30;transform:translateX(-110%);transition:transform .18s ease;box-shadow:var(--shadow-lg)}.app-shell.nav-open .app-sidebar,.app-shell.nav-open .nav{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(16,24,40,.45);z-index:25}.app-menu-btn{display:inline-grid}.app-topbar-school{display:block}.app-content,.content{padding:1rem 1rem 2.5rem}.app-topbar{padding:.65rem .9rem}.form-grid,.health-form,.health-record dl{grid-template-columns:1fr}.filter-bar label{min-width:100%}.page-header-actions{width:100%}.form-actions{justify-content:stretch}.form-actions .button,.form-actions button{flex:1 1 auto}.record-layout{grid-template-columns:1fr}.record-sidebar{position:static}}@media (max-width:420px){.login-persona-grid{gap:.45rem}}.early-learn{max-width:40rem}.early-learn .early-item{border:1px solid var(--line);border-radius:var(--radius);padding:1rem;background:var(--surface)}.early-learn .early-emoji{display:block;font-size:2.4rem;line-height:1.2;margin-bottom:.35rem}.early-learn .early-choices{display:grid;grid-gap:.6rem;gap:.6rem}.early-learn .early-choice{display:flex;align-items:center;gap:.75rem;min-height:3rem;padding:.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);font-size:1.1rem}.early-learn .early-choice:focus-within{outline:3px solid var(--focus);outline-offset:2px}.early-learn .early-input,.early-learn button{min-height:3rem;font-size:1.1rem}.early-learn-cards .card{min-height:7rem}@media (max-width:390px){.early-learn .early-choice,.early-learn .early-input,.early-learn button{width:100%}}@media print{.app-menu-btn,.app-sidebar,.app-topbar,.nav,.sidebar-backdrop{display:none!important}.app-shell,.shell{display:block}.app-content,.content{max-width:none;padding:0}}