@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/plus-jakarta-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: hsl(42 30% 97%);--card: hsl(0 0% 100%);--surface-subtle: hsl(220 26% 96%);--ink: hsl(222 47% 11%);--muted: hsl(215 16% 47%);--line: hsl(214 32% 91%);--line-strong: hsl(213 27% 84%);--accent: hsl(224 53% 43%);--accent-hover: hsl(224 53% 36%);--accent-soft: hsl(224 64% 95%);--danger: hsl(0 72% 45%);--danger-soft: hsl(0 86% 97%);--warn: hsl(32 85% 38%);--warn-soft: hsl(23 75% 95%);--good: hsl(153 61% 33%);--good-soft: hsl(152 60% 96%);--radius: 14px;--radius-sm: 8px;--focus-ring: 0 0 0 3px hsl(226 71% 40% / .18);--shadow: 0 2px 0 hsl(222 47% 11% / .02), 0 1px 2px -1px hsl(222 47% 11% / .08);--shadow-raised: 0 2px 0 hsl(222 47% 11% / .025), 0 10px 28px -16px hsl(222 47% 11% / .24)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,label.btn:has(input:focus-visible){outline:none;box-shadow:var(--focus-ring)}.assistant-workspace,.knowledge-base-page{display:grid;gap:1rem}.assistant-workspace{display:flex;flex-direction:column;height:max(32rem,calc(100dvh - 11rem));border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);overflow:hidden}.assistant-status{flex:none;min-height:2.75rem;padding:.65rem 1rem;display:flex;flex-wrap:wrap;gap:.7rem 1.2rem;align-items:center;color:var(--muted);background:var(--surface-subtle);border-bottom:1px solid var(--line);font-size:.76rem;font-weight:650}.assistant-status span{display:inline-flex;gap:.35rem;align-items:center}.assistant-thread{flex:1;min-height:0;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;overflow:auto}.assistant-empty{width:min(36rem,100%);margin:auto;text-align:center}.assistant-welcome-icon{flex:none;color:var(--accent)}.assistant-companion{display:flex;align-items:center;gap:.6rem;padding:.75rem 1.25rem 0;color:var(--muted);font-size:.82rem;flex:none}.assistant-lil-guy{position:relative;display:inline-block;vertical-align:middle}.assistant-lottie{position:absolute;top:0;right:0;bottom:0;left:0}.assistant-lottie svg path{stroke:currentColor}.assistant-empty h2{margin:.45rem 0 1.2rem;font-size:1.15rem}.assistant-starters{display:grid;gap:.5rem}.assistant-starters button{min-height:2.8rem;padding:.6rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.assistant-starters button:hover{border-color:var(--accent);color:var(--accent)}.assistant-message{flex:none;width:min(44rem,88%);display:grid;gap:.7rem}.assistant-message.user{align-self:flex-end}.assistant-account-context{display:flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.76rem}.assistant-account-context strong{color:var(--ink)}.assistant-message-copy{min-width:0;padding:.75rem .9rem;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:var(--radius-sm);background:var(--surface-subtle);border:1px solid var(--line)}.assistant-markdown{white-space:normal;line-height:1.65}.assistant-markdown :is(p,ul,ol,blockquote,pre,.assistant-markdown-table){margin:.75rem 0}.assistant-markdown :is(h1,h2,h3,h4,h5,h6){margin:1.25rem 0 .5rem;font-size:1rem;font-weight:700;line-height:1.4;letter-spacing:normal;text-wrap:balance}.assistant-markdown :is(h1,h2){font-size:1.1rem}.assistant-markdown>:first-child{margin-top:0}.assistant-markdown>:last-child{margin-bottom:0}.assistant-markdown :is(ul,ol){padding-left:1.5rem}.assistant-markdown li+li{margin-top:.3rem}.assistant-markdown li>:is(ul,ol,p){margin:.3rem 0}.assistant-markdown a{color:var(--accent);text-decoration:underline;text-underline-offset:.15em}.assistant-markdown a:hover{color:var(--accent-hover)}.assistant-markdown :is(a,.assistant-markdown-table):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.assistant-markdown blockquote{margin-left:0;padding-left:.9rem;border-left:3px solid var(--line-strong);color:var(--muted)}.assistant-markdown code{padding:.1em .3em;border-radius:4px;background:var(--card);font-size:.9em}.assistant-markdown pre{padding:.75rem;overflow-x:auto;white-space:pre;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.assistant-markdown pre code{padding:0;background:none}.assistant-markdown-table{overflow-x:auto}.assistant-markdown table{width:100%;border-collapse:collapse;font-size:.9em}.assistant-markdown :is(th,td){min-width:7rem;padding:.5rem .65rem;border:1px solid var(--line-strong);text-align:left;vertical-align:top}.assistant-markdown th{background:var(--accent-soft);font-weight:600}.assistant-markdown .contains-task-list{padding-left:0;list-style:none}.assistant-markdown .task-list-item input{width:auto;margin-right:.45rem}.assistant-markdown hr{margin:1rem 0;border:0;border-top:1px solid var(--line-strong)}.assistant-message.user .assistant-message-copy{color:#fff;background:var(--accent);border-color:var(--accent)}.assistant-message.streaming .assistant-message-copy:after,.ai-summary.streaming .ai-stream-copy:after{content:"";display:inline-block;width:.45rem;height:.9rem;margin-left:.2rem;background:currentColor;opacity:.55;animation:stream-cursor .9s steps(1) infinite}@keyframes stream-cursor{50%{opacity:0}}.assistant-redaction,.assistant-thinking{margin:0;color:var(--muted);font-size:.76rem}.assistant-actions{display:flex;flex-wrap:wrap;gap:.45rem}.assistant-actions .btn{display:inline-flex;align-items:center;gap:.35rem}.assistant-composer{flex:none;margin:0 1rem 1rem;padding:.45rem;display:grid;grid-template-columns:minmax(0,1fr) 2.5rem 2.5rem;align-items:end;gap:.4rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card)}.assistant-composer textarea{min-height:2.5rem;max-height:9rem;resize:vertical;padding:.55rem;color:var(--ink);border:0;background:transparent}.assistant-composer textarea:focus-visible{box-shadow:none}.assistant-composer button,.icon-button,.source-card-actions button,.source-card-actions a{width:2.25rem;height:2.25rem;display:inline-grid;place-items:center;border:0;border-radius:var(--radius-sm);cursor:pointer}.assistant-composer button{color:#fff;background:var(--accent)}.assistant-composer button:disabled{opacity:.45;cursor:not-allowed}.assistant-composer .assistant-clear{color:var(--muted);background:var(--surface-subtle)}.citation-list{display:grid;gap:.4rem}.citation{padding:.55rem .65rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:start;color:var(--muted);background:var(--surface-subtle);font-size:.74rem}.citation strong{color:var(--ink)}.citation p{margin:.2rem 0 0}.citation a{color:var(--accent)}.knowledge-transparency{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);background:var(--card)}.knowledge-transparency>div{padding:1rem;border-right:1px solid var(--line)}.knowledge-transparency>div:last-child{border-right:0}.knowledge-transparency svg{color:var(--accent)}.knowledge-transparency h2{margin:.5rem 0 .25rem;font-size:.88rem}.knowledge-transparency p{margin:0;color:var(--muted);font-size:.76rem}.knowledge-library{display:grid;gap:1rem}.knowledge-tabs{width:fit-content;display:flex;padding:.2rem;gap:.2rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-subtle)}.knowledge-tabs button{border:0;min-height:2.25rem;padding:0 .75rem;display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);background:transparent;border-radius:4px;font-size:.78rem;font-weight:700}.knowledge-tabs button.active{color:var(--ink);background:var(--card);box-shadow:0 1px 2px #0f17291a}.knowledge-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.knowledge-toolbar .btn{display:inline-flex;align-items:center;gap:.4rem}.search-control{width:min(28rem,100%);min-height:2.5rem;padding:0 .7rem;display:flex;align-items:center;gap:.45rem;color:var(--muted);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.search-control input{width:100%;border:0;background:transparent}.search-control input:focus-visible{box-shadow:none}.source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.research-browser-controls{display:grid;gap:.8rem;margin-bottom:1rem;padding:.9rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.research-corpus-counts,.research-filters{display:flex;align-items:flex-end;gap:.75rem}.research-corpus-counts{align-items:center;color:var(--muted);font-size:.78rem}.research-corpus-counts strong{color:var(--ink)}.research-corpus-counts span{padding-left:.75rem;border-left:1px solid var(--line-strong)}.research-filters label{width:min(15rem,25%);display:grid;gap:.3rem;color:var(--muted);font-size:.72rem;font-weight:700}.research-filters select{width:100%;min-height:2.35rem;padding:.4rem .6rem;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.research-filters .icon-button{flex:0 0 2.35rem;width:2.35rem;height:2.35rem}.research-result-count{margin:0;color:var(--muted);font-size:.78rem}.research-result-count strong{color:var(--ink)}.research-method-list{display:grid;gap:.75rem}.research-method{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.research-method-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.research-method-heading h2{margin:.2rem 0 0;font-size:1rem}.research-tier{padding:.25rem .45rem;color:var(--accent);background:var(--accent-soft);border-radius:4px;font-size:.7rem;font-weight:750;white-space:nowrap}.research-method>p{margin:.8rem 0;color:var(--muted);font-size:.8rem}.research-method-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.research-method-details>div{padding:.75rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.research-method-details dt{margin-bottom:.25rem;color:var(--ink);font-size:.72rem;font-weight:750}.research-method-details dd{margin:0;color:var(--muted);font-size:.76rem}.research-basis{margin-top:.9rem}.research-basis>strong{font-size:.75rem}.research-basis p{margin:.35rem 0 0;display:grid;gap:.2rem;color:var(--muted);font-size:.76rem}.research-basis a{width:fit-content;display:inline-flex;align-items:center;gap:.3rem;color:var(--accent);font-weight:700}.research-basis small{color:var(--muted)}.source-card{min-width:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.source-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.source-card h2{margin:.2rem 0 0;font-size:.95rem;overflow-wrap:anywhere}.source-card>p{margin:.75rem 0;color:var(--muted);font-size:.79rem;white-space:pre-wrap}.source-card>small{display:block;margin-top:.7rem;color:var(--muted)}.source-type{color:var(--muted);font-size:.76rem;font-weight:500}.source-card-actions{display:flex;gap:.25rem}.source-card-actions button,.source-card-actions a,.icon-button{color:var(--muted);background:var(--surface-subtle)}.source-tags{display:flex;flex-wrap:wrap;gap:.35rem}.source-tags span{padding:.15rem .4rem;color:var(--good);background:var(--good-soft);border-radius:4px;font-size:.68rem;font-weight:650}.knowledge-empty{min-height:14rem;display:grid;place-content:center;justify-items:center;color:var(--muted)}.knowledge-empty h2{font-size:.95rem}.knowledge-source-info summary{width:fit-content;min-height:44px;padding-block:.65rem;color:var(--muted);font-size:.85rem;cursor:pointer}.source-editor-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;padding:1rem;display:grid;place-items:center;background:#0f17298a}.source-editor{width:min(44rem,100%);max-height:calc(100vh - 2rem);padding:1rem;display:grid;gap:.8rem;overflow:auto;background:var(--card);border-radius:var(--radius-sm)}.source-editor .section-head{display:flex;align-items:center;justify-content:space-between}.source-editor .section-head h2{margin:0;font-size:1rem}.source-editor label{display:grid;gap:.3rem;color:var(--muted);font-size:.77rem;font-weight:650}.source-editor input,.source-editor select,.source-editor textarea{width:100%;padding:.55rem .65rem;color:var(--ink);background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.source-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(9rem,1fr);gap:.75rem}.source-editor-actions{display:flex;gap:.5rem}@media (max-width: 760px){.knowledge-transparency,.source-list,.research-method-details,.source-editor-grid{grid-template-columns:1fr}.knowledge-transparency>div{border-right:0;border-bottom:1px solid var(--line)}.knowledge-transparency>div:last-child{border-bottom:0}.knowledge-toolbar{align-items:stretch;flex-direction:column}.assistant-message{width:96%}.assistant-workspace{min-height:calc(100vh - 9rem)}}::selection{color:var(--ink);background:#cbd5f6}.shell{max-width:1120px;margin:0 auto;padding:2.5rem 2rem 6rem}.app-frame{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;z-index:30;height:100vh;overflow-y:auto;padding:1.25rem 1rem 1rem;display:flex;flex-direction:column;gap:1rem;color:#f7f4ee;background:#28344d;border-right:1px solid hsl(221 32% 20%)}.sidebar-brand,.mobile-brand{display:flex;align-items:center;gap:.7rem}.sidebar-brand{padding:0 .35rem .85rem}.brand-mark{width:2.15rem;height:2.15rem;flex:none;display:inline-grid;place-items:center;color:#28344d;font-weight:800;border-radius:.7rem;background:#b8e0d6;box-shadow:0 2px #4b9b8733}.sidebar-brand>span:nth-child(2),.mobile-brand>span:nth-child(2){min-width:0;display:flex;flex-direction:column;line-height:1.2}.sidebar-brand b,.mobile-brand b{font-size:.96rem;letter-spacing:0}.mobile-brand small{margin-top:.18rem;color:#9dabbe;font-size:.7rem}.sidebar-close{display:none;margin-left:auto;width:2rem;height:2rem;color:#c3cbda;background:transparent;border:0;border-radius:.5rem;cursor:pointer;font-size:1.5rem;line-height:1}.school-context{display:flex;align-items:center;gap:.7rem;padding:.75rem;border:1px solid hsl(220 30% 80% / .18);border-radius:.8rem;background:#7083a926}.school-avatar{width:2rem;height:2rem;flex:none;display:grid;place-items:center;border-radius:.6rem;background:#c7d1e6;color:#28344d;font-weight:800}.school-context-copy,.account-copy{min-width:0;display:flex;flex-direction:column}.school-context-copy b{overflow-wrap:anywhere;font-size:.84rem}.school-context-copy small{margin-top:.1rem;color:#b3bed0;font-size:.7rem}.sidebar-nav{display:flex;flex-direction:column;gap:.3rem}.nav-item{min-height:42px;display:grid;grid-template-columns:1.5rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem .7rem;color:#c3cbda;border:1px solid transparent;border-radius:.7rem;text-decoration:none;font-size:.84rem;font-weight:600;transition:color .15s ease,background .15s ease,border-color .15s ease}.nav-item:hover{color:#fff;background:#9cabc91f}.nav-item.active{color:#24314c;border-color:transparent;background:#dae3f6}.nav-icon{width:1.5rem;height:1.5rem;display:grid;place-items:center;font-size:1rem}.nav-count{min-width:1.45rem;padding:.12rem .35rem;color:var(--muted);background:var(--surface-subtle);border-radius:999px;text-align:center;font-size:.68rem;font-variant-numeric:tabular-nums}.nav-item.active .nav-count{color:#293856;background:#bccae6}.nav-item:not(.active) .nav-count{color:#dfe4ec;background:#9cabc92e}.name-avatar{display:inline-grid;flex:none;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;font-size:.75rem;font-weight:700;line-height:1}.avatar-tone-0{color:#2d5076;background:#d6e5f5}.avatar-tone-1{color:#543f78;background:#e8e1f4}.avatar-tone-2{color:#7a462e;background:#f8e2d3}.avatar-tone-3{color:#32624d;background:#daece4}.account-card .name-avatar{width:1.9rem;height:1.9rem;font-size:.7rem}.sidebar-spacer{flex:1;min-height:.5rem}.invite-card{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;color:#b9c3d4;border:1px solid hsl(220 30% 80% / .18);border-radius:.7rem;font-size:.7rem}.invite-card>span{min-width:0;display:flex;flex-direction:column;gap:.3rem}.invite-card small{color:inherit}.invite-card .code{background:#1f293d;color:#c6e7de}.account-card{display:flex;align-items:center;gap:.6rem;padding:.75rem .35rem .1rem;border-top:1px solid hsl(220 30% 80% / .18)}.account-copy{flex:1}.account-copy small{color:#b3bed0;font-size:.65rem}.account-copy>span{overflow:hidden;margin-top:.1rem;color:#eceff3;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.signout-button{flex:none;min-height:40px;padding:.35rem .45rem;color:#c3cbda;border:0;border-radius:.45rem;background:transparent;cursor:pointer;font-size:.7rem}.signout-button:hover,.sidebar-close:hover{color:#fff;background:#9cabc91f}.app-content{width:100%;max-width:1216px;min-width:0;margin:0 auto;padding:2.5rem 2.5rem 6rem;outline:none}.mobile-bar,.nav-overlay{display:none}.workspace-hero{padding-top:2rem}.empty-workspace{max-width:640px;margin:4rem auto 0;padding:3.25rem 2rem;text-align:center}.empty-workspace h2{margin:0 0 .4rem;font-size:1.15rem}.empty-workspace p{max-width:50ch;margin:0 auto 1.3rem}.empty-icon{width:2.75rem;height:2.75rem;display:grid;place-items:center;margin:0 auto 1rem;color:var(--accent);border-radius:.85rem;background:var(--accent-soft);font-size:1.3rem;font-weight:700}.menu-button:focus-visible,.sidebar-close:focus-visible,.signout-button:focus-visible,.nav-item:focus-visible{outline:2px solid hsl(226 100% 78%);outline-offset:2px}h1{font-size:1.75rem;font-weight:750;line-height:1.2;letter-spacing:0;margin:0}h2{font-size:1.05rem;font-weight:700;margin:0 0 1rem;letter-spacing:0}.muted{color:var(--muted)}.small{font-size:.85rem}.danger{color:var(--danger)}.hero{max-width:760px;margin:0 auto;text-align:center;padding:4.5rem 1rem 0}.hero h1{font-size:clamp(2rem,3.2vw,2.65rem);font-weight:800}.hero .muted{max-width:52ch;margin:.75rem auto 2.25rem;font-size:.98rem}.auth-card{max-width:520px;margin-top:2.5rem;padding:3rem;background:#ffffffeb;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dropzone{display:flex;flex-direction:column;gap:.45rem;align-items:center;padding:3.25rem 1.5rem;background:var(--card);border:1.5px dashed hsl(226 44% 74%);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.dropzone:hover{border-color:var(--accent);box-shadow:var(--shadow-raised);transform:translateY(-1px)}.dropzone strong{color:var(--accent);font-size:1.08rem;font-weight:700}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.topbar h1{margin-bottom:.25rem}.topbar p{margin:0}.topbar-actions{display:flex;gap:.6rem;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;font-size:.88rem;font-weight:650;padding:.55rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-shadow:0 1px 2px #1226692e;transition:transform .15s ease,color .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.btn:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.btn.ghost{border-color:var(--line-strong);background:#ffffffb3;color:var(--ink);box-shadow:none}.btn.ghost:hover{border-color:#9fb2ef;background:var(--accent-soft);color:var(--accent)}.btn.small{min-height:40px;padding:.4rem .75rem;font-size:.8rem}.btn.small.ghost{color:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem 1.25rem;display:flex;flex-direction:column;gap:.2rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.85rem;font-weight:750;line-height:1.1;letter-spacing:0}.stat-value.danger{color:var(--danger)}.stat-value.good{color:var(--good)}.stat:nth-child(1){background:#eaf1fb;border-color:#cbd8ec}.stat:nth-child(2){background:#ebf5f0;border-color:#cce0d7}.stat:nth-child(3){background:#fbeeea;border-color:#e8d2c9}.stat:nth-child(4){background:#f4f1f9;border-color:#dcd5e7}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.two-col .panel{margin-bottom:0}.priorities ol{margin:0;padding-left:1.2rem}.priorities li{margin-bottom:.35rem}.knowledge-layout{display:flex;flex-direction:column}.knowledge-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem;margin-top:1rem}.knowledge-rule{border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;background:var(--surface-subtle)}.knowledge-rule h3,.knowledge-columns h3{margin:0 0 .45rem;font-size:.95rem}.knowledge-rule p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.45}.knowledge-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1rem}.check-list,.blocked-list{margin:0;padding-left:1.2rem}.check-list li,.blocked-list li{margin-bottom:.4rem}.settings-stack{display:flex;flex-direction:column;gap:1rem}.ai-settings-panel textarea{width:100%;min-height:11rem;resize:vertical;padding:.65rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit}.ai-instructions-form{display:flex;flex-direction:column;gap:.85rem;margin-top:1rem}.ai-instructions-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:650}.ai-preview{padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.ai-preview h3{margin:0 0 .25rem;font-size:.9rem}.bar-row{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:.7rem;margin-bottom:.6rem;font-size:.9rem}.bar-label{overflow-wrap:anywhere}.bar-track{height:8px;background:var(--surface-subtle);border-radius:999px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.bar-fill.low{background:var(--danger)}.bar-fill.mid{background:var(--warn)}.bar-fill.high{background:var(--good)}.bar-value{font-variant-numeric:tabular-nums;min-width:2.5rem;text-align:right}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.class-card{text-align:left;font:inherit;cursor:pointer;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.15rem;transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.class-card:hover{border-color:var(--accent);background:var(--card);box-shadow:var(--shadow);transform:translateY(-1px)}.class-card.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #1e3fae1a}.class-name{font-weight:600}.class-mean{font-size:1.5rem;font-weight:750;font-variant-numeric:tabular-nums}.notice{padding:.85rem 1rem;border-radius:var(--radius-sm);background:var(--card);border:1px solid var(--line);margin:1rem 0}.notice.error{background:var(--danger-soft);border-color:#f6c0c0;color:var(--danger)}.notice.good{background:var(--good-soft);border-color:#b1e2cb;color:var(--good)}.privacy-confirm-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#0e15259e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.privacy-confirm{width:min(100%,560px);padding:clamp(1.4rem,4vw,2rem);color:var(--text);border:1px solid hsl(42 78% 76%);border-radius:calc(var(--radius) + 4px);background:var(--card);box-shadow:0 24px 70px #0b111e57}.privacy-confirm h2{margin-bottom:.65rem;font-size:1.3rem;text-wrap:balance}.privacy-confirm p{margin:0;line-height:1.55;text-wrap:pretty}.privacy-confirm ul{margin:1rem 0;padding-left:1.3rem;color:#364059}.privacy-confirm li+li{margin-top:.4rem}.privacy-confirm-storage{padding:.8rem .9rem;color:#7b4b14;border:1px solid hsl(42 78% 78%);border-radius:var(--radius-sm);background:var(--warn-soft);font-size:.86rem}.privacy-confirm-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1.35rem}.privacy-confirm-actions .btn{min-height:44px}.privacy-confirm-actions .btn:last-child{font-variant-numeric:tabular-nums}@media (max-width: 520px){.privacy-confirm-actions{flex-direction:column-reverse}.privacy-confirm-actions .btn{width:100%}}.student-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.student{background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.1rem}.student-head{display:flex;align-items:center;gap:.75rem}.student-name{font-weight:700;font-size:1.05rem}.mean{color:var(--muted);font-size:.85rem;margin-left:auto}.badge{font-size:.72rem;font-weight:600;padding:.15rem .55rem;border-radius:999px}.badge.concern,.badge.subject_specific{background:var(--warn-soft);color:var(--warn)}.badge.high,.badge.cross_subject{background:var(--danger-soft);color:var(--danger)}.badge.escalate{background:var(--danger);color:#fff;text-transform:uppercase;letter-spacing:.03em}.badge.escalate.head-chip{margin-left:.6rem;font-size:.68rem;vertical-align:middle}.subject-moves{margin-top:.35rem;display:flex;flex-wrap:wrap;gap:.35rem .7rem;align-items:baseline;font-size:.85rem}.subject-move{font-variant-numeric:tabular-nums;font-weight:600}.subject-move.up{color:var(--good)}.subject-move.down{color:var(--danger)}.subject-move.flat{color:var(--muted)}.escalate-note{margin-top:.5rem;font-size:.85rem;color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:.5rem .7rem}.class-tag{font-size:.72rem;font-weight:500;color:var(--muted);background:#e6eaf0;padding:.12rem .5rem;border-radius:6px}.move{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.move.up,b.up{color:var(--good)}.move.down,b.down{color:var(--danger)}.move.flat{color:var(--muted)}.spark{vertical-align:middle}.spark path,.spark circle{stroke:var(--muted);fill:var(--muted)}.spark.up path,.spark.up circle{stroke:var(--good);fill:var(--good)}.spark.down path,.spark.down circle{stroke:var(--danger);fill:var(--danger)}.cycle-bar{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;padding:.6rem .8rem;margin-bottom:1rem;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm)}.cycle-save{display:flex;gap:.4rem;align-items:center}.cycle-save input{font-size:.85rem;min-height:36px;padding:.4rem .6rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);width:14rem;max-width:45vw}.group-head{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin:1.25rem 0 .6rem}.group-head.cross{color:var(--danger)}.group-head:first-of-type{margin-top:.5rem}.weak{margin-top:.5rem;font-size:.9rem;color:var(--muted)}.chevron{display:inline-block;width:.7em;color:var(--muted)}.suggestions{margin-top:.6rem}.actions{list-style:none;margin:.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.action{display:flex;gap:.7rem;align-items:flex-start}.tf{flex:none;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:.15rem .5rem;border-radius:6px;margin-top:.12rem;background:var(--accent-soft);color:var(--accent)}.tf.immediate{background:var(--danger-soft);color:var(--danger)}.tf.ongoing{background:#e6eaf0;color:var(--muted)}.action-title{font-weight:600;font-size:.95rem}.authbar{max-width:1120px;margin:0 auto;padding:1rem 2rem 0;display:flex;justify-content:flex-end;align-items:center;gap:.6rem}.auth-form{display:flex;flex-direction:column;gap:.75rem;max-width:340px;margin:0 auto 1rem}.toggle{display:flex;gap:.6rem;justify-content:center;margin-bottom:1.25rem}.schoolbar{max-width:1120px;margin:0 auto;padding:.75rem 2rem 0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;justify-content:space-between}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent);padding:.05rem .4rem;border-radius:6px}.auth-form input{min-height:44px;padding:.65rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.auth-form input::placeholder{color:#8f9cae}.auth-form input:hover{border-color:var(--line-strong)}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:var(--focus-ring)}.legal-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);font-size:.76rem}.legal-links a{color:inherit;text-decoration-color:#97a3b4;text-underline-offset:.18em}.legal-links a:hover{color:var(--accent)}.auth-legal-links{margin-top:1.5rem}.sidebar-legal-links{justify-content:flex-start;padding:0 .75rem;color:#b3bed0;font-size:.68rem}.sidebar-legal-links a:hover{color:#fff}.legal-shell{width:min(100% - 2rem,880px);min-height:100vh;margin:0 auto;padding:1.5rem 0 3rem}.legal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.legal-brand{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none}.legal-brand>span:last-child{display:flex;flex-direction:column;line-height:1.2}.legal-brand b{font-size:.96rem}.legal-back{min-height:36px;display:inline-flex;align-items:center;padding:.4rem .8rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#ffffffb8;text-decoration:none;font-size:.8rem;font-weight:650}.legal-back:hover{color:var(--accent);border-color:#9fb2ef;background:var(--accent-soft)}.legal-document{padding:clamp(1.5rem,5vw,4rem);background:#fffffff0;border:1px solid var(--line);border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-raised)}.legal-eyebrow{margin:0 0 .5rem;color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.legal-document>h1{font-size:clamp(2rem,5vw,2.75rem)}.legal-updated{margin:.65rem 0 1.75rem;color:var(--muted);font-size:.84rem}.legal-draft-note{margin-bottom:2.5rem;padding:1rem 1.1rem;color:#7b4b14;border:1px solid hsl(42 78% 76%);border-radius:var(--radius-sm);background:var(--warn-soft);font-size:.9rem}.legal-draft-note strong{display:block;margin-bottom:.2rem}.legal-copy{color:#1f283d}.legal-copy section+section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line)}.legal-copy h2{margin-bottom:.6rem;font-size:1.08rem}.legal-copy p{margin:.55rem 0 0}.legal-copy ul{margin:.65rem 0 0;padding-left:1.35rem}.legal-copy li+li{margin-top:.35rem}.legal-copy a{color:var(--accent);text-underline-offset:.18em}.legal-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem 0 0;color:var(--muted);font-size:.76rem}.card-actions{display:flex;gap:.5rem;margin-top:.85rem;flex-wrap:wrap}.action-body{flex:1}.action .track{flex:none;padding:.25rem .6rem}.saved-classes{display:flex;flex-direction:column;gap:.85rem}.saved-class-name{font-weight:600;margin-bottom:.35rem}.saved-cycle-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.saved-cycle{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.4rem .6rem;background:var(--bg);border:1px solid var(--line);border-radius:8px}.saved-cycle-row{font:inherit;display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;padding:0;border:none;background:none;color:inherit;cursor:pointer;text-align:left}.saved-cycle-label{font-weight:500;min-width:7rem}.saved-cycle>.btn{margin-left:auto}.cycle-detail{flex-basis:100%;margin-top:.35rem;padding-top:.5rem;border-top:1px solid var(--line)}.cycle-table-wrap{overflow-x:auto;margin-top:.4rem}.cycle-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--card);border-radius:8px}.cycle-table th,.cycle-table td{padding:.4rem .6rem;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums}.cycle-table th:first-child,.cycle-table td:first-child,.cycle-table th:last-child,.cycle-table td:last-child{text-align:left}.cycle-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.02em;color:var(--muted)}.cycle-table tr:last-child td{border-bottom:none}.cycle-table td.below{color:var(--danger);background:var(--danger-soft);font-weight:600}.cycle-student{font-weight:500}.cycle-mean{font-weight:600}.saved-cycle-students{list-style:none;flex-basis:100%;margin:.35rem 0 .15rem;padding:.5rem .7rem .2rem 1.5rem;border-top:1px solid var(--line)}.saved-cycle-students li{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0;font-size:.9rem}.saved-cycle-students .mean{margin-left:0}.followups{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.followup{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between;padding:.75rem .9rem;background:var(--surface-subtle);border:1px solid var(--line);border-radius:var(--radius-sm)}.followup.done{opacity:.7}.followup-main{min-width:12rem;flex:1}.followup-controls{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.followup-controls input,.followup-controls select{font-size:.85rem;min-height:36px;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.followup-controls input[type=text]{width:8rem}.agenda-wrap{max-width:920px;margin:0 auto;padding:2rem 2rem 5rem}.agenda-toolbar{display:flex;justify-content:space-between;margin-bottom:1.25rem}.agenda-doc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:2.5rem}.agenda-header h1{font-size:1.85rem;margin-bottom:.75rem}.agenda-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.5rem}.agenda-meta label,.agenda-fields label{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;color:var(--muted)}.agenda-meta input,.agenda-fields input,.agenda-fields select{font-size:.9rem;color:var(--ink);min-height:36px;padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.agenda-fields select{width:100%;min-width:0;cursor:pointer}.agenda-fields select:disabled{cursor:not-allowed;opacity:.6}.agenda-student{padding:.9rem 0;border-top:1px solid var(--line)}.agenda-student-head{display:flex;align-items:center;gap:.6rem}.agenda-num{color:var(--muted);font-variant-numeric:tabular-nums}.agenda-evidence{margin:.4rem 0 .7rem;font-size:.9rem}.agenda-fields{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;gap:.6rem;align-items:end}.agenda-save{white-space:nowrap;min-height:2.05rem}.agenda-saved{margin:.5rem 0 0;color:var(--good);font-size:.85rem;font-weight:600}.people-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.people-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:1.5rem;align-items:start}.people-panel,.groups-panel,.activity-panel{margin-bottom:1.5rem}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.panel-heading h2,.panel-heading p,.activity-panel h2{margin:0}.panel-heading p{margin-top:.2rem}.people-list,.group-list,.activity-list,.group-members ul{margin:0;padding:0;list-style:none}.people-list{display:flex;flex-direction:column;gap:.85rem}.person-row{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-subtle)}.person-identity{display:flex;align-items:center;gap:.7rem}.person-avatar{width:2.2rem;height:2.2rem;flex:none;display:grid;place-items:center;color:var(--accent);border:1px solid hsl(226 60% 86%);border-radius:.7rem;background:var(--accent-soft);font-weight:750}.person-identity>span:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column}.person-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.person-identity small{margin-top:.05rem;color:var(--muted);font-size:.7rem}.membership-status{flex:none;padding:.16rem .5rem;border-radius:999px;font-size:.68rem;font-weight:700}.membership-status.active{color:var(--good);background:var(--good-soft)}.membership-status.pending{color:var(--warn);background:var(--warn-soft)}.membership-status.inactive{color:var(--muted);background:#e3e7ee}.membership-status.rejected{color:var(--danger);background:var(--danger-soft)}.person-controls{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.85rem}.person-controls label{display:flex;flex-direction:column;gap:.25rem;color:var(--muted);font-size:.7rem;font-weight:650}.person-controls select,.create-group-form input,.rename-group-form input{min-width:0;min-height:36px;padding:.4rem .55rem;color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--card);font-size:.82rem}.request-controls{align-items:end}.request-actions{display:flex;align-items:end;gap:.45rem}.group-picker{min-width:0;margin:.85rem 0 0;padding:0;border:0}.group-picker legend{margin-bottom:.35rem;color:var(--muted);font-size:.7rem;font-weight:650}.group-picker label{display:inline-flex;align-items:center;gap:.35rem;margin:0 .45rem .35rem 0;padding:.25rem .5rem;border:1px solid var(--line);border-radius:999px;background:var(--card);cursor:pointer;font-size:.75rem}.group-picker label:has(input:checked){color:var(--accent);border-color:#adbceb;background:var(--accent-soft)}.group-picker input{accent-color:var(--accent)}.class-teacher-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;width:100%}.class-teacher-row .lead-toggle{margin-left:0}.archive-toggle{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);white-space:nowrap;font-size:.72rem}.archive-toggle input{accent-color:var(--accent)}.create-group-form{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.create-group-form>label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.72rem;font-weight:650}.create-group-form>div,.rename-group-form{display:flex;gap:.45rem}.create-group-form input,.rename-group-form input{flex:1}.group-list{display:flex;flex-direction:column;gap:.65rem}.group-card{padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.group-card.archived{opacity:.72}.group-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.group-card-head>div:first-child{min-width:0;display:flex;flex-direction:column}.group-card-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.group-actions{display:flex;gap:.5rem}.text-button{padding:0;color:var(--accent);border:0;background:transparent;cursor:pointer;font-size:.7rem;font-weight:650}.text-button:disabled{opacity:.5;cursor:not-allowed}.groups-empty{margin:1rem 0 0}.group-members{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--line)}.group-members summary{color:var(--accent);cursor:pointer;font-size:.72rem;font-weight:650}.group-members ul{margin-top:.45rem}.group-members li{display:flex;justify-content:space-between;gap:.6rem;padding:.3rem 0;color:#232c43;font-size:.75rem}.group-members small{color:var(--muted)}.activity-panel h2{margin-bottom:.8rem}.activity-list li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem 0;border-top:1px solid var(--line);font-size:.76rem}.activity-list time{color:var(--muted);font-size:.67rem}@media print{body{background:#fff}.no-print{display:none!important}.app-frame{display:block}.app-content{max-width:none;padding:0}.agenda-wrap{padding:0;max-width:none}.agenda-doc{border:none;box-shadow:none;padding:0}.agenda-student{break-inside:avoid}.agenda-fields input,.agenda-meta input{border:none;border-bottom:1px solid #999;border-radius:0}.agenda-fields{grid-template-columns:2fr 1fr 1fr}body.printing-review-brief *{visibility:hidden}body.printing-review-brief .review-brief-output,body.printing-review-brief .review-brief-output *{visibility:visible}body.printing-review-brief .review-brief-output{position:absolute;top:0;right:0;bottom:0;left:0;display:block;margin:0;padding:0;color:#111}body.printing-review-brief .review-brief-document{max-width:none;margin:0;padding:0;color:#111;border:0;box-shadow:none}body.printing-review-brief .review-brief-confirmation,body.printing-review-brief .review-brief-edit-note,body.printing-review-brief .review-brief-output>button{display:none}}@media (max-width: 900px){.app-frame{display:block}.mobile-bar{position:sticky;top:0;z-index:20;min-height:64px;display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;color:var(--ink);border-bottom:1px solid var(--line);background:#ffffffeb;box-shadow:0 4px 18px -16px #0f172973;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-brand small{color:var(--muted);max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-button{width:2.55rem;height:2.55rem;display:grid;place-items:center;color:var(--ink);border:1px solid var(--line-strong);border-radius:.7rem;background:var(--card);cursor:pointer;font-size:1.2rem}.app-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:50;width:min(86vw,292px);height:100dvh;transform:translate(-105%);visibility:hidden;box-shadow:22px 0 50px -28px #05080fcc;transition:transform .22s ease,visibility 0s linear .22s}.app-sidebar.open{transform:translate(0);visibility:visible;transition-delay:0s}.sidebar-close{display:grid;place-items:center}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:block;padding:0;border:0;background:#05080f8a;cursor:default}.app-content{max-width:none;padding:2rem 1.25rem 5rem}.people-layout{grid-template-columns:1fr}}@media (max-width: 640px){.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;flex-wrap:wrap}.topbar-actions .btn{flex:1;text-align:center}.stat-row{grid-template-columns:repeat(2,1fr)}.people-stats,.person-controls{grid-template-columns:1fr}.group-card-head{flex-direction:column}.group-actions{align-self:stretch}.rename-group-form{width:100%;flex-wrap:wrap}.two-col,.agenda-fields{grid-template-columns:1fr}.agenda-wrap{padding:0 0 3rem}.agenda-doc{padding:1.25rem}.empty-workspace{margin-top:2rem;padding:2.5rem 1.25rem}.legal-shell{width:min(100% - 1.25rem,880px);padding-top:.75rem}.legal-header{margin-bottom:.75rem}.legal-document{border-radius:var(--radius)}.legal-footer{justify-content:center}}.profile-prompt{margin:.85rem 0 .25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--accent-soft)}.profile-prompt-head{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.profile-prompt-head p{margin:.15rem 0 0}.grade-field,.student-edit label,.note-form{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:var(--muted)}.select-all{display:inline-flex;align-items:center;gap:.4rem;margin:.6rem 0 .4rem;font-size:.8rem}.profile-prompt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.2rem .75rem}.profile-prompt-list label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer}.profile-prompt-actions,.student-edit-actions{display:flex;gap:.5rem;margin-top:.75rem}.student-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem}.student-index-row{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer;text-align:left}.student-index-row:hover{border-color:var(--line-strong)}.student-index-name{font-weight:600}.student-identity h2{margin:.5rem 0 .2rem}.student-classes{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.student-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:1.25rem}.support-plan-sections{grid-template-columns:minmax(0,1fr)}.student-sections h3{margin:0 0 .5rem;font-size:.9rem}.student-sections h3~h3{margin-top:1.25rem}.student-grades,.student-followups,.student-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.student-grades li,.student-followups li{display:flex;justify-content:space-between;gap:.75rem;padding-bottom:.35rem;border-bottom:1px solid var(--line)}.student-grade-mean{font-variant-numeric:tabular-nums;font-weight:600}.student-notes li{padding:.5rem .65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.student-notes p{margin:0 0 .25rem}.student-note-heading{margin:.85rem 0 .45rem;font-size:.78rem;color:var(--muted)}.student-note-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.source-observation-badge{color:var(--ink);background:var(--surface-subtle);text-transform:capitalize}.source-observations{margin-bottom:1rem}.note-form textarea,.student-edit input{padding:.4rem .55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);resize:vertical}.note-form{margin-bottom:.75rem}.note-form .btn{align-self:flex-start}.student-edit{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.student-class-grades{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.student-class-grades>li{padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.class-grade-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.class-grade-head .student-grade-mean{font-size:1.05rem}.class-grade-cycles{list-style:none;margin:.4rem 0 0;padding:.4rem 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.2rem}.class-grade-cycles li{display:flex;justify-content:space-between;gap:.75rem}.subject-grades{list-style:none;margin:.4rem 0 0;padding:.4rem 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:.3rem}.subject-grades li{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.subject-trend{display:inline-flex;align-items:baseline;gap:.15rem}.mean-trend{margin:.5rem 0 0}.class-status{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 .35rem}.student-profile-actions{display:flex;gap:.5rem}.student-sort{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.student-sort label{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--muted)}.student-sort select{padding:.35rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.ai-summary{margin-top:1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.ai-summary-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ai-summary-head h3{margin:0;font-size:.9rem}.ai-summary p{margin:.5rem 0 0}.ai-prediction{padding:.5rem .65rem;background:var(--accent-soft);border-radius:var(--radius-sm)}.case-index{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.case-index-row{width:100%;text-align:left;display:flex;flex-direction:column;gap:.3rem;padding:.7rem .85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);cursor:pointer}.case-index-row:hover{border-color:var(--accent)}.case-index-main{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.badge.tier-confirmed{background:var(--accent-soft);color:var(--accent)}.badge.tier-suggested{background:var(--warn-soft);color:var(--warn)}.badge.restricted{background:var(--danger-soft);color:var(--danger)}.case-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1rem 0}.case-control{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem .85rem;background:var(--surface-subtle)}.case-control h3{margin:0 0 .4rem;font-size:.85rem}.tier-buttons,.state-buttons,.owner-buttons,.review-row,.case-outcome-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.case-outcome{margin:1rem 0}.case-outcome textarea{width:100%}.case-outcome-actions{margin-top:.5rem}.review-brief-tool{margin:1.5rem 0;padding:1.25rem 0 0;border-top:1px solid var(--line)}.review-brief-tool h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .25rem}.review-brief-audience{display:flex;gap:.35rem}.review-brief-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.9rem}.review-brief-locked{display:flex;align-items:flex-start;gap:.7rem;margin-top:.9rem;padding:.85rem 1rem;color:var(--muted);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.review-brief-locked svg{flex:none;margin-top:.1rem}.review-brief-locked b{color:var(--ink)}.review-brief-locked p{margin:.15rem 0 0;font-size:.78rem}.review-brief-output{display:block;margin-top:1rem}.review-brief-document{max-width:58rem;margin:0 auto;padding:2.5rem 3rem;color:#1c2436;border:1px solid hsl(40 24% 78%);border-radius:var(--radius-sm);background:#fdfdfb;box-shadow:0 18px 46px #39302217}.review-brief-document header{padding-bottom:1.25rem;border-bottom:2px solid hsl(220 25% 20%)}.review-brief-document header>span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.review-brief-document h2{margin:.45rem 0 .25rem;font:700 1.55rem/1.25 ui-serif,Georgia,serif}.review-brief-document header p{margin:0;color:var(--muted);font-size:.85rem}.review-brief-document section{padding:1.1rem 0;border-bottom:1px solid var(--line)}.review-brief-document h4{margin:0 0 .4rem;color:#223459;font-size:.78rem}.review-brief-document section p,.review-brief-document footer{margin:0;font:.9rem/1.65 ui-serif,Georgia,serif;white-space:pre-wrap}.review-brief-document [contenteditable=true]{border-radius:3px;outline:0}.review-brief-document [contenteditable=true]:hover,.review-brief-document [contenteditable=true]:focus{background:#fbf7e4;box-shadow:0 0 0 4px #fbf7e4}.review-brief-document footer{margin-top:1.2rem;color:var(--muted);font-size:.75rem}.review-brief-document .knowledge-citations{margin-top:1.25rem}.review-brief-edit-note{max-width:58rem;margin:.65rem auto 0}.review-brief-confirmation{max-width:58rem;display:flex;align-items:flex-start;gap:.5rem;margin:1rem auto .75rem;color:var(--ink);font-size:.78rem}.review-brief-confirmation input{margin-top:.15rem}.review-brief-output>button{display:flex;margin-left:auto}.case-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.case-timeline li{display:flex;flex-direction:column;gap:.1rem;padding-left:.75rem;border-left:2px solid var(--line)}.linklike{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit;text-align:left}.linklike:hover{text-decoration:underline}.support-case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.new-case-panel{margin:.75rem 0 1rem;padding:.85rem 1rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-subtle)}.new-case-panel h3{margin:0 0 .25rem;font-size:.9rem}.new-case-field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:var(--muted);margin-top:.5rem}.new-case-field textarea,.new-case-field select{width:100%;padding:.4rem .5rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit}.new-case-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.new-case-row .new-case-field{flex:1 1 200px}.new-case-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ink);margin-bottom:.4rem}.new-case-actions{display:flex;gap:.5rem;margin-top:.75rem}.case-action-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(10rem,1fr);gap:.75rem;align-items:end;margin:.75rem 0 1rem}.case-action-form>.btn{justify-self:start}.case-action-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.82rem;font-weight:650}.support-workflow-tabs{display:flex;align-items:center;gap:.45rem;overflow-x:auto;margin:-.2rem 0 1.25rem;padding:.3rem 0 .8rem;border-bottom:1px solid var(--line)}.support-workflow-tab{min-height:40px;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;flex-shrink:0;color:var(--muted);border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:650;transition-property:color,border-color,background-color;transition-duration:.15s;transition-timing-function:ease}.support-workflow-tab:hover{color:var(--ink);background:var(--card)}.support-workflow-tab.active{color:var(--accent);border-color:#c2cdeb;background:var(--accent-soft)}.support-workflow-tab .nav-count{color:var(--muted);background:var(--line)}.meeting-workspace{display:grid;gap:1rem}.meeting-list-section h3,.meeting-past summary{margin:0 0 .7rem;font-size:.9rem;font-weight:600}.meeting-selected-students summary{min-height:44px;padding-block:.65rem;color:var(--muted);font-size:.85rem;cursor:pointer}.meeting-past summary{width:fit-content;min-height:44px;padding-block:.65rem;cursor:pointer}.meeting-list-section h3 span,.meeting-past summary span{font-weight:400;font-variant-numeric:tabular-nums}.meeting-card:has(.meeting-card-open:hover){border-color:#a6b5dd;box-shadow:var(--shadow-raised)}.meeting-toolbar,.meeting-detail-toolbar,.meeting-scheduler-heading,.meeting-scheduler-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.meeting-toolbar h2,.meeting-toolbar p,.meeting-scheduler-heading h3,.meeting-scheduler-heading p,.meeting-empty h3,.meeting-empty p,.meeting-detail-header h2,.meeting-detail-header p,.meeting-notes-section>div>h3,.meeting-notes-section>div>p{margin:0}.meeting-invitation{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem 1rem;color:#20326f;border:1px solid hsl(226 65% 78%);border-radius:var(--radius);background:#eef1fc}.meeting-invitation>svg{flex:none;margin-top:.1rem}.meeting-invitation p{margin:.2rem 0 0;font-size:.8rem}.meeting-list{list-style:none;display:grid;gap:.7rem;margin:0;padding:0}.meeting-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);transition:border-color .15s ease,box-shadow .15s ease}.meeting-card-open{min-width:0;display:grid;grid-template-columns:13.5rem minmax(0,1fr);align-items:stretch;gap:1rem;padding:0;color:inherit;border:0;background:transparent;cursor:pointer;font:inherit;text-align:left}.meeting-date-block{display:grid;grid-template-columns:3.1rem minmax(0,1fr);align-content:center;gap:.2rem .5rem;padding:.25rem;color:var(--ink);border-radius:var(--radius-sm);background:transparent}.meeting-date-block b{font-size:.82rem}.meeting-date-block span{font-size:.72rem}.meeting-calendar-stamp{display:flex;flex-direction:column;align-items:center;overflow:hidden;border:1px solid hsl(220 40% 82%);border-radius:8px;background:#f7f9fd}.meeting-calendar-stamp small{width:100%;padding:.15rem .25rem;color:#fff;background:var(--accent);text-align:center;font-size:.65rem;font-weight:650}.meeting-calendar-stamp strong{padding:.1rem .35rem .2rem;font-size:1.3rem;font-weight:750;line-height:1.4;font-variant-numeric:tabular-nums}.is-draft .meeting-calendar-stamp{display:grid;min-height:3.4rem;place-items:center;color:#885a25;border-color:#ead4b3;background:#fbede4}.meeting-date-copy{display:flex;flex-direction:column;justify-content:center;gap:.2rem}.meeting-date-copy>span{color:var(--muted)}.meeting-card-main{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:.25rem}.meeting-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:750}.badge.meeting-scheduled{color:#29418e;background:var(--accent-soft)}.badge.meeting-completed{color:var(--good);background:var(--good-soft)}.badge.meeting-draft{color:#784a11;background:#fae7db}.meeting-empty{display:flex;align-items:center;gap:.85rem}.meeting-empty>svg{flex:none;color:var(--accent)}.meeting-scheduler{padding:1rem;border:1px solid hsl(226 50% 74%);border-radius:calc(var(--radius) + .2rem);background:#f7f8fd;box-shadow:0 14px 38px #192b6614}.meeting-step-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.meeting-step-strip span{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.74rem;font-weight:650}.meeting-step-strip b{width:1.6rem;height:1.6rem;display:inline-grid;place-items:center;color:#fff;border-radius:999px;background:var(--accent);font-size:.7rem;font-variant-numeric:tabular-nums}.meeting-scheduler-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.meeting-scheduler fieldset{min-width:0;margin:0;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.meeting-scheduler legend{padding:0 .25rem;color:var(--ink);font-size:.82rem;font-weight:750}.meeting-choice-list{max-height:18rem;overflow:auto}.meeting-choice-list>label{min-height:48px;display:flex;align-items:flex-start;gap:.65rem;padding:.55rem .4rem;border-bottom:1px solid var(--line);cursor:pointer}.meeting-choice-list>label:last-child{border-bottom:0}.meeting-choice-list input{margin-top:.25rem}.meeting-choice-list label>span{min-width:0;display:flex;flex-direction:column;gap:.1rem}.meeting-choice-list b{max-width:100%;overflow-wrap:anywhere;line-height:1.35}.meeting-choice-list small{color:var(--muted);font-size:.7rem}.meeting-schedule-fields{display:grid;grid-template-columns:minmax(0,1fr) 9rem;gap:.75rem}.meeting-schedule-fields label,.meeting-note-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.78rem;font-weight:650}.meeting-schedule-fields input,.meeting-schedule-fields select,.meeting-agenda-field textarea,.meeting-note-form select,.meeting-note-form textarea{width:100%;padding:.55rem .65rem;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);font:inherit}.meeting-scheduler-actions{margin-top:1rem}.meeting-scheduler-actions p{max-width:66ch;margin:0}.meeting-detail{display:grid;gap:1rem}.meeting-detail-toolbar>div{display:flex;gap:.5rem}.meeting-detail-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1.35rem;color:var(--ink);border-radius:var(--radius);border:1px solid hsl(218 44% 83%);background:#e7edf8;box-shadow:var(--shadow)}.meeting-detail-icon{width:2.8rem;height:2.8rem;display:grid;place-items:center;color:#2b3854;border-radius:.85rem;background:#cdeae2}.meeting-detail-header .muted{color:var(--muted)}.meeting-detail-section{padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.meeting-detail-section>h3,.meeting-detail-section .section-head h3{margin:0}.meeting-agenda-copy{max-width:80ch;margin:.55rem 0 0;white-space:pre-wrap}.meeting-student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:.85rem}.meeting-student-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-student-card>div{min-width:0;display:flex;flex-direction:column;gap:.1rem;overflow-wrap:anywhere}.meeting-student-card>button{flex-shrink:0}@media (max-width: 760px){.meeting-student-grid{grid-template-columns:minmax(0,1fr)}}.meeting-attendee-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.75rem 0 0;padding:0}.meeting-attendee-list li{min-width:0;display:flex;align-items:center;gap:.55rem}.meeting-attendee-list li>span:last-child{min-width:0;display:flex;flex-direction:column}.meeting-attendee-list b{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.meeting-attendee-list small{color:var(--muted);font-size:.68rem}.meeting-note-form{display:grid;grid-template-columns:12rem minmax(0,1fr) auto;align-items:end;gap:.75rem;margin-top:.85rem;padding:.85rem;border-radius:var(--radius);background:var(--surface-subtle)}.meeting-notes-empty{margin:1rem 0 0}.meeting-notes-list{list-style:none;display:grid;gap:.65rem;margin:1rem 0 0;padding:0}.meeting-notes-list li{padding:.8rem .9rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-notes-list p{margin:.35rem 0 0;white-space:pre-wrap}@media (max-width: 760px){.case-action-form{grid-template-columns:1fr;align-items:stretch}}.meeting-preparation-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.meeting-preparation-steps span{min-height:54px;display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;color:var(--muted);border-right:1px solid var(--line);font-size:.78rem;font-weight:700}.meeting-preparation-steps span:last-child{border-right:0}.meeting-preparation-steps b{width:1.65rem;height:1.65rem;display:grid;flex:none;place-items:center;border:1px solid var(--line-strong);border-radius:50%;font-size:.72rem}.meeting-preparation-steps .complete{color:var(--good)}.meeting-preparation-steps .active{color:var(--accent);background:var(--accent-soft)}.meeting-preparation-steps .active b{color:#fff;border-color:var(--accent);background:var(--accent)}.meeting-agenda-document{padding:1.4rem 1.6rem;border-color:var(--line);background:var(--card)}.meeting-agenda-document .meeting-agenda-copy{font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.7}.meeting-edit-form{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:1rem;padding:1.2rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--card)}.meeting-edit-form>.section-head,.meeting-edit-agenda,.meeting-edit-form>.notice,.meeting-edit-actions{grid-column:1 / -1}.meeting-edit-form .section-head h3,.meeting-edit-form .section-head p{margin:0}.meeting-edit-form fieldset{min-width:0;margin:0;padding:.9rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card)}.meeting-edit-form legend{padding:0 .25rem;color:var(--ink);font-size:.82rem;font-weight:750}.meeting-edit-agenda{display:grid;gap:.4rem;color:var(--muted);font-size:.78rem;font-weight:700}.meeting-edit-agenda textarea{width:100%;min-height:18rem;padding:1rem 1.1rem;resize:vertical;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.7}.meeting-edit-actions{display:flex;justify-content:flex-end}.review-queue,.student-plans-stage{display:grid;gap:18px}.review-queue-head,.student-plans-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:0 0 1rem;border-bottom:1px solid var(--line)}.review-queue-head h2,.student-plans-head h2{margin:2px 0 6px;font-size:1.15rem}.review-queue-head p,.student-plans-head p{max-width:720px;margin:0}.review-selection-summary{display:flex;flex-wrap:wrap;font-size:.8rem;color:var(--muted);align-items:center;justify-content:flex-start;gap:.75rem}.review-student-list,.student-plan-index{display:grid;gap:10px;padding:0;margin:0;list-style:none}.review-student{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card)}.review-student:has(.review-student-select input:checked){border-color:var(--accent)}.review-student-summary{display:grid;grid-template-columns:42px minmax(0,1fr)}.review-student-select{display:flex;align-items:flex-start;justify-content:center;padding-top:28px;cursor:pointer}.review-student-select input{width:17px;height:17px;accent-color:var(--accent)}.review-student-main{min-width:0;padding:1rem 1rem .5rem .5rem}.review-student-title,.student-plan-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.review-student-title h3{margin:0;font-size:17px}.badge.review-priority.urgent{color:#8e251f;border-color:#e5aaa5;background:#fff3f1}.badge.review-priority.recommended{color:#74500d;border-color:#e4c9b9;background:#fcf0e9}.badge.review-priority.monitor{color:#35546d;border-color:#b3c4d1;background:#f1f6f9}.review-selection-reason{max-width:920px;margin:12px 0;text-wrap:pretty}.review-projection{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;padding:11px 13px;margin-top:12px;border:0;border-radius:5px;background:var(--surface-subtle);font-size:.85rem}.review-projection>span{color:var(--muted);font-size:.8rem;font-weight:700}.review-projection p{margin:0}.review-student-details{margin-top:12px;border-top:1px solid var(--line)}.review-student-details summary{display:flex;align-items:center;gap:7px;width:fit-content;padding:.55rem 0;min-height:44px;font-size:.85rem;font-weight:600;cursor:pointer;list-style:none}.review-student-details summary::-webkit-details-marker{display:none}.review-student-details summary svg{transition:transform .18s ease}.review-student-details[open] summary svg{transform:rotate(180deg)}.review-class-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:16px 0}.review-class-evidence h4{margin:0 0 10px}.review-score-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) 42px;align-items:center;gap:10px;min-height:28px;font-size:13px}.review-score-label{display:grid;gap:3px;min-width:0;padding:6px 0;overflow-wrap:anywhere}.review-score-label small{color:var(--muted);font-size:12px;line-height:1.4}.review-score-track{height:7px;overflow:hidden;border-radius:2px;background:#e3e8eb}.review-score-track span{display:block;height:100%;background:#c65c52}.review-behavior-note{padding:12px 14px;background:#f6f7f8}.review-behavior-note p{margin:3px 0 0;color:var(--muted)}.student-plan-index .case-index-row{align-items:flex-start;padding:1rem 1.25rem;gap:.65rem;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:var(--shadow);background:var(--card)}.student-plan-index .case-index-main{display:grid;gap:.5rem;width:100%}.student-plan-reason{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--muted);font-size:.9rem;line-height:1.6}.case-recommendations{padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-recommendations h3,.case-recommendations p{margin-top:0}.case-recommendations ol{display:grid;gap:9px;padding-left:24px;margin-bottom:0}.case-research-reasoning{padding:20px 0;border-bottom:1px solid var(--line)}.case-research-heading,.case-research-method-title{display:flex;align-items:flex-start;gap:10px}.case-research-heading h3,.case-research-heading p,.case-research-method h4,.case-research-method p{margin-top:0}.case-research-methods{display:grid;gap:18px;margin-top:16px}.case-research-method{padding-left:16px}.case-research-method-title{justify-content:space-between}.case-research-method h4{margin-bottom:8px;font-size:16px}.case-research-method b{font-size:13px}.case-research-method ul{display:grid;gap:5px;margin:6px 0 12px;padding-left:22px}.badge.research-fit-strong{color:#176044;border-color:#8fc8b1;background:#eaf8f1}.badge.research-fit-partial{color:#74500d;border-color:#e5c776;background:#fff9df}.case-research-caution{color:var(--muted)}.tier-inline-suggestion{display:inline-block;padding:2px 7px;border:1px solid #dfbd55;border-radius:4px;color:#68450a;background:#fae7db;font-weight:800}.badge.plan-meeting_scheduled{color:#35546d;border-color:#b3c4d1;background:#f1f6f9}.badge.plan-decisions_needed,.badge.plan-review_due{color:#74500d;border-color:#e4c9b9;background:#fcf0e9}.badge.plan-support_active{color:var(--good);border-color:#97d8bb;background:var(--good-soft)}.progress-review{background:var(--surface-subtle)}.meeting-preparation-form{display:grid;gap:1.2rem;padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.meeting-preparation-form h3,.meeting-preparation-form p{margin:0}.meeting-preparation-form h3+p{margin-top:.4rem}.meeting-preparation-form h3[tabindex="-1"]{outline:none;scroll-margin-top:5rem}.meeting-preparation-form fieldset{min-width:0;margin:0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.meeting-preparation-form legend{padding:0 .35rem;font-size:.85rem;font-weight:650}.meeting-step-actions,.meeting-draft-choice{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.meeting-step-actions>.btn:last-child{margin-left:auto}.meeting-topic-choices{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;margin-bottom:.6rem}.meeting-topic-choices label,.meeting-review-check{display:flex;align-items:center;gap:.6rem;min-height:44px;font-size:.85rem;cursor:pointer}.meeting-review-check{grid-column:1 / -1;align-items:flex-start;padding:.8rem;background:var(--surface-subtle);border-radius:var(--radius-sm)}.meeting-review-check input{margin-top:.2rem;flex-shrink:0}.meeting-field{display:grid;gap:.45rem;font-size:.85rem;font-weight:600}.meeting-field textarea{width:100%;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font-family:inherit;font-size:.9rem;font-weight:400;line-height:1.6;resize:vertical}.meeting-brief-field textarea{min-height:22rem;font-weight:400;line-height:1.7}.meeting-field>.muted{font-weight:400;font-variant-numeric:tabular-nums}.meeting-topic-summary summary{width:fit-content;padding-block:.6rem;min-height:44px;cursor:pointer;font-size:.85rem;font-weight:600}.meeting-topic-summary li{margin-bottom:.45rem;font-size:.85rem}.meeting-draft-choice{padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-subtle)}.meeting-draft-choice>div{flex:1 1 22rem}.meeting-draft-choice p+p{margin-top:.35rem}.meeting-draft-preview{padding:1rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.meeting-draft-preview h4{margin:0 0 .4rem}.meeting-draft-preview pre{max-height:28rem;overflow:auto;white-space:pre-wrap;font:inherit;font-size:.9rem}@media (max-width: 760px){.meeting-preparation-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-preparation-steps span{padding:.6rem;font-size:.72rem}.meeting-preparation-steps span:nth-child(2){border-right:0}.meeting-preparation-steps span:nth-child(-n+2){border-bottom:1px solid var(--line)}.meeting-preparation-form{padding:1rem}.meeting-preparation-form .meeting-schedule-fields{grid-template-columns:1fr}}.meeting-wrap-up{grid-template-columns:minmax(0,1fr);max-width:780px}.meeting-wrap-up .meeting-choice-list{max-height:none}.meeting-wrap-up>label,.meeting-wrap-up fieldset>label:has(textarea){display:grid;gap:.4rem}.meeting-wrap-up textarea{width:100%;min-height:5rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink);font:inherit;resize:vertical}.meeting-wrap-up .meeting-edit-actions{gap:.65rem;flex-wrap:wrap}.meeting-outcome-summary h3{margin-top:0}.badge.meeting-postponed{background:var(--surface-subtle);color:var(--muted)}@media (max-width: 760px){.review-selection-summary{width:100%;justify-content:space-between}.meeting-toolbar,.meeting-detail-toolbar,.meeting-detail-toolbar>div{flex-wrap:wrap;gap:.5rem}.meeting-toolbar>div{flex-basis:100%}.meeting-card,.meeting-card-open,.meeting-edit-form,.meeting-note-form,.meeting-attendee-list{grid-template-columns:minmax(0,1fr)}.meeting-card{gap:.6rem;padding:.85rem}.meeting-card-open{gap:.6rem}.meeting-card>.btn{justify-self:start}.meeting-date-block{padding:.6rem}.meeting-detail-header{grid-template-columns:minmax(0,1fr) auto}.meeting-detail-icon{display:none}.meeting-detail-header h2{font-size:1.2rem}.meeting-student-card{flex-wrap:wrap}.meeting-agenda-document{padding:1rem}.meeting-schedule-fields{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.directory-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:1rem}.directory-toolbar>label{display:grid;gap:.45rem;font-size:.75rem;font-weight:650;color:var(--muted);min-width:140px}.directory-toolbar input,.directory-toolbar select{min-height:42px;width:100%;margin:0;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:.65rem .75rem;background:var(--card);color:var(--ink);font:inherit;font-weight:500}.directory-toolbar input:focus,.directory-toolbar select:focus{outline:2px solid var(--accent);outline-offset:2px}.directory-toolbar .directory-search{flex:1;min-width:min(250px,100%)}.directory-search>span{position:relative;display:flex;align-items:center}.directory-search svg{position:absolute;left:12px;pointer-events:none}.directory-search input{padding-left:38px}.directory-results{display:flex;justify-content:space-between;align-items:center;min-height:56px;color:var(--muted);font-size:.78rem}.directory-empty{padding:2.5rem 1rem;text-align:center;color:var(--muted);background:var(--surface-subtle);border-radius:var(--radius-sm)}.grade-group+.grade-group{margin-top:1.8rem}.grade-group h2{display:flex;align-items:center;gap:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--line);font-size:1rem}.grade-group h2>span{font-size:.72rem;color:var(--muted);font-weight:500}.class-directory-head,.class-directory-row{display:grid;grid-template-columns:minmax(180px,1fr) 85px 155px 85px 18px;align-items:center;gap:1rem;padding:.9rem .65rem}.class-directory-head{color:var(--muted);font-size:.7rem}.class-directory-row{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font:inherit;font-size:.83rem;cursor:pointer}.class-directory-row:hover{background:var(--accent-soft);border-radius:var(--radius-sm)}.directory-class-name{display:flex;align-items:center;gap:.85rem;min-width:0}.directory-class-name strong{overflow-wrap:anywhere}.directory-class-name small{display:block;color:var(--muted);margin-top:.25rem;font-size:.7rem}.class-book-icon{display:grid;place-items:center;width:40px;height:44px;flex-shrink:0;background:var(--accent-soft);color:var(--accent);border-radius:8px}.directory-average{font-variant-numeric:tabular-nums}.mobile-column-label{display:none}.badge.urgent{background:var(--danger-soft);color:var(--danger)}.badge.recommended{background:var(--warn-soft);color:var(--warn)}.badge.monitor{background:var(--accent-soft);color:var(--accent)}.badge.clear,.badge.unknown{background:var(--surface-subtle);color:var(--muted)}.student-directory .student-index-row{display:flex;align-items:center;gap:.9rem;padding:1rem .65rem}.student-directory-identity{flex:1;display:grid;gap:.3rem;text-align:left;min-width:0;overflow-wrap:anywhere}.student-directory .badge{white-space:normal;text-align:center}.school-dashboard{display:grid;gap:1.4rem}.dashboard-scope{margin:0;color:var(--muted);font-size:.76rem}.dashboard-metrics{display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 0}.dashboard-metrics>div{display:grid;gap:.65rem;padding:0 1.6rem}.dashboard-metrics>div+div{border-left:1px solid var(--line)}.dashboard-metrics>div>span{font-weight:600;font-size:.8rem}.dashboard-metrics strong{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;font-size:2.3rem;letter-spacing:-.06em;font-variant-numeric:tabular-nums}.dashboard-metrics small{color:var(--muted);font-size:.7rem;letter-spacing:normal;font-weight:500}.dashboard-metrics strong small{background:var(--warn-soft);color:var(--warn);padding:.4rem .55rem;border-radius:6px}.dashboard-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:1.4rem}.school-dashboard .panel{margin:0}.dashboard-section-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.dashboard-section-heading h2{margin:0 0 .5rem}.dashboard-section-heading p{margin:0}.dashboard-section-heading a,.dashboard-next a{font-size:.8rem;font-weight:650}.legend-dot.urgent{background:#b35453}.legend-dot.recommended{background:#d6a152}.legend-dot.clear{background:#c2ccd7}.review-legend{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:1.1rem}.review-legend li{display:grid;grid-template-columns:10px 1fr 35px 40px;gap:.7rem;align-items:center;font-size:.8rem}.legend-dot{width:9px;height:9px;border-radius:3px}.review-legend strong,.review-legend small{text-align:right;font-variant-numeric:tabular-nums}.review-legend small{color:var(--muted)}.school-dashboard .dashboard-next{background:var(--accent-soft);border-color:transparent;display:flex;flex-direction:column;align-items:start;gap:1rem}.dashboard-eyebrow{color:var(--accent);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.dashboard-next h2{font-size:1.35rem;line-height:1.45;margin:0;max-width:30ch}.dashboard-next p{font-size:.83rem;line-height:1.8;margin:0;color:var(--muted)}.dashboard-focus-note{display:flex;align-items:center;gap:.9rem;padding:1rem 0}.dashboard-focus-note strong{font-size:2rem;color:var(--accent)}.dashboard-focus-note span{font-size:.78rem;max-width:23ch}.dashboard-subjects summary{cursor:pointer;font-weight:650;font-size:.95rem}.dashboard-subjects summary span{margin-left:.8rem}.dashboard-subject-list>div{display:flex;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:.8rem}.dashboard-subject-list>div span{color:var(--muted)}@media (max-width: 900px){.dashboard-columns{grid-template-columns:1fr}.class-directory-head,.class-directory-row{grid-template-columns:minmax(130px,1fr) 60px 130px 65px 16px;gap:.6rem}}@media (max-width: 600px){.directory-toolbar>label{flex:1;min-width:130px}.directory-toolbar .directory-search{flex-basis:100%}.class-directory-head{display:none}.class-directory-row{grid-template-columns:1fr auto;gap:.8rem;padding:1rem .25rem}.directory-class-name{grid-column:1 / -1}.class-directory-row>svg{display:none}.mobile-column-label{display:inline;margin-left:.25rem;color:var(--muted);font-size:.7rem}.student-directory .student-index-row{flex-wrap:wrap}.student-directory-identity{flex-basis:calc(100% - 60px)}.student-directory .badge{margin-left:48px}.dashboard-metrics{grid-template-columns:1fr;padding:0 1.2rem}.dashboard-metrics>div{padding:1.2rem 0}.dashboard-metrics>div+div{border-left:0;border-top:1px solid var(--line)}.dashboard-section-heading{flex-direction:column}.dashboard-subject-list>div{flex-direction:column;gap:.4rem}}.legend-dot.unknown{background:repeating-linear-gradient(135deg,#e3e7ed 0,#e3e7ed 4px,#b4bdca 4px,#b4bdca 6px)}.review-composition{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem;margin:1rem 0 1.5rem}.review-donut{width:220px;max-width:100%;flex-shrink:0}.donut-segment.urgent{stroke:#b35453}.donut-segment.recommended{stroke:#d6a152}.donut-segment.clear{stroke:#c2ccd7}.donut-total{font-size:38px;font-weight:750;fill:var(--ink);letter-spacing:-1.5px}.donut-caption{font-size:12px;font-weight:600;fill:var(--ink)}.donut-denominator{font-size:11px;fill:var(--muted)}.review-composition .review-legend{flex:1;min-width:min(240px,100%)}.school-dashboard>*,.dashboard-columns>*,.class-review-chart{min-width:0}.class-chart-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.class-chart-toolbar p{font-size:.8rem;color:var(--muted);margin:0}.class-chart-toolbar strong{color:var(--ink)}.class-chart-toolbar label{display:flex;align-items:center;gap:.7rem;font-size:.75rem;color:var(--muted)}.class-chart-toolbar select{padding:.6rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--card);color:var(--ink);font:inherit}.class-chart-axis-label{font-size:.75rem;font-weight:650;margin:0 0 1.5rem}.class-columns-scroll{overflow-x:auto;padding:30px 4px 8px 0}.class-columns{position:relative;padding-left:40px}.class-chart-grid{position:absolute;left:40px;right:0;top:0;height:230px;pointer-events:none}.class-chart-grid>div{position:absolute;width:100%;border-top:1px solid var(--line)}.class-chart-grid span{position:absolute;right:calc(100% + 10px);top:-8px;font-size:.7rem;color:var(--muted)}.class-column-items{position:relative;display:flex;align-items:stretch}.class-column{flex:1;min-width:0;border:0;background:transparent;padding:0 9px 8px;color:var(--ink);font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center}.class-column-plot{height:230px;width:100%;display:flex;align-items:flex-end;justify-content:center}.class-column-bar{position:relative;display:block;width:60%;max-width:64px;background:#94a5c5;border-radius:5px 5px 0 0}.class-column.selected .class-column-bar{background:var(--accent)}.class-column:hover .class-column-bar{background:#617cad}.class-column:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.class-column-bar strong{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);font-size:.85rem;font-weight:750;white-space:nowrap}.class-column-name{display:block;margin-top:14px;font-size:.73rem;font-weight:650;line-height:1.5;overflow-wrap:anywhere;text-align:center}.class-column small{font-size:.65rem;color:var(--muted);margin-top:6px}.class-chart-footer{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0;font-size:.73rem;color:var(--muted)}.class-chart-detail{display:grid;gap:.5rem;padding:1rem 1.2rem;background:var(--accent-soft);border-radius:var(--radius-sm);font-size:.82rem}.class-chart-detail>strong{color:var(--accent)}.class-chart-detail small{color:var(--muted);line-height:1.5}.class-count-data{margin-top:1rem}.class-count-data summary{font-size:.8rem;font-weight:600;color:var(--accent);cursor:pointer}.class-count-table{overflow-x:auto;margin-top:1rem}.class-count-table table{width:100%;border-collapse:collapse;font-size:.75rem}.class-count-table caption{text-align:left;padding:0 0 1rem;color:var(--muted)}.class-count-table th,.class-count-table td{padding:.7rem;border-bottom:1px solid var(--line);text-align:right}.class-count-table th:first-child{text-align:left}.assistant-capabilities{max-width:38rem;color:var(--muted);text-wrap:pretty}.assistant-roster{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.75rem}.assistant-roster summary{cursor:pointer;min-height:40px;font-size:.85rem;font-weight:600}.assistant-roster-list{display:grid;gap:.65rem;max-height:28rem;overflow-y:auto}.assistant-student-card{display:grid;gap:.65rem;padding:.75rem;border-radius:var(--radius-sm);background:var(--surface-subtle)}.assistant-student-card strong{display:block}.assistant-student-card p{margin:.25rem 0 0;font-size:.8rem;color:var(--muted)}.assistant-student-reference{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.assistant-student-card button,.assistant-selection button{min-height:40px}.assistant-selection{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;font-size:.85rem}
