@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Instrument Sans",ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-blue-300:oklch(80.9% .105 251.813);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--font-weight-medium:500;--radius-md:.375rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--bg:#f3f6fb;--bg-strong:#fff;--surface:#fff;--surface-soft:#f7f9fd;--surface-muted:#eaf2f9;--border:#d8e2ee;--border-strong:#b9cce0;--text:#252d50;--text-soft:#5d6684;--accent:#414b7d;--accent-strong:#76acd5;--accent-ink:#fff;--danger:#b63c3c;--shadow:0 18px 48px #414b7d24}html[data-theme=dark]{--bg:#070707;--bg-strong:#111;--surface:#0f0f0f;--surface-soft:#121212;--surface-muted:#171717;--border:#2a2a2a;--border-strong:#484848;--text:#f5f5f5;--text-soft:#bfc5ca;--accent:#86bce3;--accent-strong:#a8d3f0;--accent-ink:#111624;--danger:#d15757;--shadow:0 18px 48px #00000047}*{box-sizing:border-box}[hidden]{display:none!important}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);margin:0}}@layer components{.app-body{background:radial-gradient(circle at top right,var(--accent),transparent 32rem),linear-gradient(180deg,var(--bg-strong)0%,var(--bg)42%,var(--bg)100%);flex-direction:column;min-height:100vh;display:flex}@supports (color:color-mix(in lab,red,red)){.app-body{background:radial-gradient(circle at top right,color-mix(in srgb,var(--accent)18%,transparent),transparent 32rem),linear-gradient(180deg,var(--bg-strong)0%,var(--bg)42%,var(--bg)100%)}}.app-header{z-index:10;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.app-header{background:color-mix(in srgb,var(--surface)88%,transparent)}}.app-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 10px 24px #0000001a}.app-nav{justify-content:space-between;align-items:center;gap:28px;min-height:104px;padding:0 clamp(18px,5vw,68px);display:flex;overflow:visible}.app-brand{align-items:center;gap:12px;display:inline-flex;color:var(--accent)!important;font-weight:900!important}.brand-logo{object-fit:contain;background:#fff;border-radius:50%;flex:0 0 68px;width:68px;height:68px;display:block;box-shadow:0 6px 16px #252d502e}.app-nav-links{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:18px clamp(18px,3vw,46px);min-width:0;display:flex}.app-nav a{color:var(--text);white-space:nowrap;font-size:15px;font-weight:500;text-decoration:none}.app-nav a:hover{color:var(--accent)}.theme-toggle{border:1px solid var(--border);background:var(--surface-soft);min-height:42px;color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:0 16px;font-size:15px;font-weight:900;display:inline-flex}.theme-toggle:hover{border-color:var(--accent)}.theme-symbol{color:currentColor;width:20px;height:20px;display:block;position:relative}.theme-symbol.is-sun{border:3px solid;border-radius:999px;box-shadow:0 -10px 0 -7px,0 10px 0 -7px,10px 0 0 -7px,-10px 0 0 -7px,7px 7px 0 -7px,-7px -7px 0 -7px,7px -7px 0 -7px,-7px 7px 0 -7px}.theme-symbol.is-moon{background:currentColor;border-radius:999px}.theme-symbol.is-moon:after{content:"";background:#414b7d;border-radius:999px;width:18px;height:18px;position:absolute;top:-2px;right:-3px}html[data-theme=dark] .theme-symbol.is-moon:after{background:var(--accent)}.header-theme-toggle{border:2px solid var(--text);flex:0 0 46px;place-items:center;width:46px;height:46px;display:grid}@supports (color:color-mix(in lab,red,red)){.header-theme-toggle{border:2px solid color-mix(in srgb,var(--text)24%,transparent)}}.header-theme-toggle{background:var(--surface);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.header-theme-toggle{background:color-mix(in srgb,var(--surface)78%,transparent)}}.header-theme-toggle{color:var(--text);cursor:pointer;font-size:13px;font-weight:900;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;box-shadow:0 10px 22px #0000001f}.header-theme-toggle:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.header-theme-toggle:hover{background:color-mix(in srgb,var(--accent)16%,var(--surface))}}.header-theme-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0000002e}.header-theme-toggle:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.header-theme-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)44%,transparent)}}.header-theme-toggle:focus-visible{outline-offset:3px}.profile-trigger{border:2px solid var(--text);flex:none;justify-content:center;align-items:center;gap:10px;width:auto;min-width:48px;height:48px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.profile-trigger{border:2px solid color-mix(in srgb,var(--text)30%,transparent)}}.profile-trigger{background:var(--surface);border-radius:999px}@supports (color:color-mix(in lab,red,red)){.profile-trigger{background:color-mix(in srgb,var(--surface)76%,transparent)}}.profile-trigger{color:var(--text);cursor:pointer;padding:0 16px 0 13px;transition:background .16s,border-color .16s,box-shadow .16s,transform .16s;position:relative;box-shadow:0 10px 22px #0000001f}.profile-trigger:hover{border-color:var(--accent);background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.profile-trigger:hover{background:color-mix(in srgb,var(--accent)12%,var(--surface))}}.profile-trigger:hover{transform:translateY(-1px);box-shadow:0 14px 28px #0000002e}.profile-trigger:focus-visible{outline:3px solid var(--accent)}@supports (color:color-mix(in lab,red,red)){.profile-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--accent)44%,transparent)}}.profile-trigger:focus-visible{outline-offset:3px}.profile-trigger:after{content:"Account";color:#fff;opacity:0;pointer-events:none;white-space:nowrap;background:#1f2433;border-radius:7px;padding:6px 9px;font-size:11px;font-weight:900;transition:opacity .15s,transform .15s;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px)}.profile-trigger:hover:after,.profile-trigger:focus-visible:after{opacity:1;transform:translate(-50%)}.profile-trigger:has(.profile-trigger-name:not(:empty)):after{content:"Open account menu"}.profile-trigger-icon,.account-avatar-icon{flex:none;width:29px;height:29px;display:block;position:relative}.profile-trigger-name{color:currentColor;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:13px;font-weight:900;line-height:1;overflow:hidden}.profile-trigger-icon:before,.account-avatar-icon:before{content:"";background:currentColor;border-radius:999px;width:12px;height:12px;position:absolute;top:1px;left:50%;transform:translate(-50%)}.profile-trigger-icon:after,.account-avatar-icon:after{content:"";border:3px solid;border-bottom:0;border-radius:18px 18px 0 0;width:24px;height:14px;position:absolute;bottom:1px;left:50%;transform:translate(-50%)}.account-sidebar-backdrop{z-index:40;background:#00000080;position:fixed;inset:0}.account-sidebar{z-index:50;color:#303441;background:#fff;width:min(326px,88vw);transition:transform .18s;position:fixed;inset:0 0 0 auto;transform:translate(100%);box-shadow:-14px 0 36px #0000002e}.account-sidebar.is-open{transform:translate(0)}.account-sidebar-header{background:#f2f2f4;grid-template-columns:92px 1fr;align-items:center;min-height:122px;padding:18px 28px;display:grid}.account-avatar{color:#fff;background:#7034c5;border-radius:999px;place-items:center;width:82px;height:82px;display:grid}.account-avatar-icon{width:30px;height:30px}.account-sidebar-header strong{color:#303441;font-size:15px;font-weight:900}.account-sidebar-row{color:#444855;cursor:pointer;text-align:left;background:#fff;border:0;grid-template-columns:48px 1fr;align-items:center;width:100%;min-height:56px;padding:0 22px;font-size:14px;font-weight:600;text-decoration:none;display:grid}.account-sidebar-row:hover,.account-sidebar-row.is-danger{background:#f5f5f7}.account-row-icon{color:#757985;place-items:center;font-size:14px;font-weight:900;display:grid}.account-sidebar-row.is-danger .account-row-icon{color:#d83b3f}.toast-viewport{z-index:80;pointer-events:none;gap:12px;width:min(360px,100vw - 32px);display:grid;position:fixed;top:22px;right:22px}.toast-message{border:1px solid var(--border);border-left:5px solid var(--accent);background:var(--surface);color:var(--text);opacity:0;pointer-events:auto;border-radius:12px;grid-template-columns:12px minmax(0,1fr) 28px;align-items:center;gap:12px;padding:14px 12px 14px 14px;transition:opacity .18s,transform .18s;display:grid;transform:translateY(-8px);box-shadow:0 18px 38px #00000029}.toast-message.is-visible{opacity:1;transform:translateY(0)}.toast-mark{background:var(--accent);border-radius:999px;width:10px;height:10px}.toast-copy{overflow-wrap:anywhere;font-size:14px;font-weight:800;line-height:1.45}.toast-close{background:var(--surface-soft);width:28px;height:28px;color:var(--text-soft);cursor:pointer;border:0;border-radius:8px;place-items:center;font-size:13px;font-weight:900;display:grid}.toast-close:hover{background:var(--surface-muted);color:var(--text)}.toast-success{border-left-color:#2eb67d}.toast-success .toast-mark{background:#2eb67d}.toast-error{border-left-color:var(--danger)}.toast-error .toast-mark{background:var(--danger)}.brand-mark{display:none}.app-main{flex:1 0 auto;width:min(1180px,100vw - 36px);margin:44px auto 72px}.app-footer{color:#fff;text-align:center;background:#1f5f3b;border-top:1px solid #ffffff1f;flex:none;padding:18px clamp(18px,5vw,68px);font-size:13px;font-weight:800}.form-card{border:1px solid var(--border);background:var(--surface);width:min(1080px,100%);box-shadow:var(--shadow);border-radius:22px;margin:0 auto;padding:clamp(28px,5vw,56px)}.form-title{color:var(--accent);text-align:center;margin:0 0 28px;font-size:clamp(20px,2.2vw,26px);font-weight:800;line-height:1.2}.auth-card{width:min(720px,100%)}.avatar-picker{place-items:center;width:156px;height:156px;margin:0 auto 44px;display:grid;position:relative}.avatar-preview{border:5px solid var(--accent);background:var(--surface-muted);border-radius:999px;width:156px;height:156px;overflow:hidden}.avatar-preview img{object-fit:cover;width:100%;height:100%}.avatar-empty{width:100%;height:100%;color:var(--accent);place-items:center;font-size:30px;font-weight:800;display:grid}.avatar-button{border:2px solid var(--surface);background:var(--accent);width:58px;height:58px;color:var(--accent-ink);cursor:pointer;border-radius:999px;place-items:center;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:10px;right:0}.hidden-file{display:none}.form-section{margin-top:28px}.section-heading{color:var(--text);letter-spacing:0;text-align:center;text-transform:uppercase;align-items:center;gap:14px;margin:0 0 24px;font-size:clamp(15px,1.6vw,18px);font-weight:800;display:flex}.section-heading:before,.section-heading:after{content:"";background:var(--border);flex:1;height:1px}.field-grid{grid-template-columns:minmax(160px,240px) minmax(0,1fr);align-items:start;gap:18px 26px;display:grid}.field-label{color:var(--text);text-align:center;padding-top:7px;font-size:clamp(13px,1.4vw,16px);font-weight:700;line-height:1.2}.field-label span{color:var(--text-soft);margin-top:4px;font-size:.78em;font-weight:600;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border-strong);background:var(--surface-soft);width:100%;color:var(--text);border-radius:6px;outline:none;font-size:14px;transition:border-color .16s,box-shadow .16s,background .16s}.form-input,.form-select{min-height:44px;padding:0 14px}.form-textarea{resize:vertical;min-height:88px;padding:12px 14px}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-soft)}@supports (color:color-mix(in lab,red,red)){.form-input::placeholder,.form-textarea::placeholder{color:color-mix(in srgb,var(--text-soft)74%,transparent)}}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.form-input:focus,.form-select:focus,.form-textarea:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent)28%,transparent)}}.password-field{border:1px solid var(--border-strong);background:var(--surface-soft);border-radius:6px;grid-template-columns:minmax(0,1fr) 42px;align-items:center;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.password-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab,red,red)){.password-field:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent)28%,transparent)}}.password-field .form-input{box-shadow:none;background:0 0;border:0}.password-field .form-input:focus{box-shadow:none}.form-select[multiple]{min-height:142px;padding:12px 20px}.form-submit{background:var(--accent);width:100%;min-height:46px;color:var(--accent-ink);cursor:pointer;letter-spacing:.02em;text-transform:uppercase;border:0;border-radius:12px;margin-top:34px;font-size:14px;font-weight:900}.form-submit:hover{background:var(--accent-strong)}.form-link{color:var(--accent-strong);text-align:center;margin-top:24px;font-size:15px;text-decoration:none;display:block}.form-link:hover{text-decoration:underline}.form-message{border:1px solid var(--border-strong);background:var(--surface-muted);color:var(--text);border-radius:8px;margin:0 0 24px;padding:14px 16px;font-size:16px;display:none}.form-message.is-visible{display:block}.form-message.is-error{border-color:var(--danger);color:#ffb8b8}.form-message.is-success{border-color:var(--accent);color:#c9f1a0}.welcome-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:34px;min-height:430px;margin-bottom:34px;display:grid}.welcome-copy,.welcome-panel,.dashboard-band,.home-card{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:22px}.welcome-copy{flex-direction:column;justify-content:center;padding:clamp(32px,6vw,70px);display:flex}.welcome-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:12px;font-weight:900}.welcome-copy h1{max-width:760px;color:var(--text);margin:0;font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1.02}.welcome-lead{max-width:680px;color:var(--text-soft);margin:24px 0 0;font-size:clamp(15px,1.7vw,18px);line-height:1.55}.welcome-actions{flex-wrap:wrap;gap:16px;margin-top:34px;display:flex}.welcome-primary,.welcome-secondary,.quick-links a{border-radius:10px;justify-content:center;align-items:center;min-height:54px;padding:0 22px;font-size:15px;font-weight:900;text-decoration:none;display:inline-flex}.welcome-primary{background:var(--accent);color:var(--accent-ink)}.welcome-secondary,.quick-links a{border:1px solid var(--border-strong);background:var(--surface-soft);color:var(--text)}.welcome-primary:hover{background:var(--accent-strong)}.welcome-secondary:hover,.quick-links a:hover{border-color:var(--accent);color:#c9f1a0}.welcome-panel{flex-direction:column;justify-content:space-between;padding:clamp(28px,4vw,48px);display:flex}.panel-header{border-bottom:1px solid var(--border);padding-bottom:28px}.panel-header span,.panel-grid span{color:var(--text-soft);text-transform:uppercase;font-size:13px;font-weight:800;display:block}.panel-header strong{color:var(--accent);margin-top:12px;font-size:clamp(24px,3vw,34px);font-weight:900;display:block}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.panel-grid div{border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:18px}.panel-grid strong{color:var(--text);margin-top:10px;font-size:28px;font-weight:900;display:block}.dashboard-band{margin-bottom:34px;padding:clamp(28px,5vw,52px)}.dashboard-band h2,.home-card h2{color:var(--text);margin:0;font-size:clamp(22px,2.5vw,30px);font-weight:900;line-height:1.15}.workflow-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;display:grid}.workflow-item{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;padding:22px}.workflow-item span{color:var(--accent);font-size:14px;font-weight:900}.workflow-item h3{color:var(--text);margin:14px 0 10px;font-size:18px;font-weight:900}.workflow-item p,.home-card li{color:var(--text-soft);margin:0;font-size:14px;line-height:1.5}.home-grid{grid-template-columns:1.2fr .8fr;gap:34px;display:grid}.home-card{padding:clamp(26px,4vw,42px)}.classroom-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 0;padding:0;list-style:none;display:grid}.classroom-list li{border:1px solid var(--border);background:var(--surface-soft);border-radius:10px;padding:14px 16px}.quick-links{gap:14px;margin-top:24px;display:grid}.welcome-page .app-header,.welcome-page .app-footer{display:none}.app-body.welcome-page{background:radial-gradient(circle at 15% 42%,#76acd52e 0 8rem,#0000 8.1rem),radial-gradient(circle at 88% 72%,#414b7d1f 0 8rem,#0000 8.1rem),#f3f6fb;min-height:100vh}.welcome-page .app-main{align-items:center;width:min(100vw - 32px,1180px);min-height:100vh;margin:0 auto;padding:24px 0;display:grid}.welcome-page .welcome-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);align-items:center;gap:clamp(28px,5vw,70px);min-height:640px;margin:0;display:grid;position:relative;overflow:hidden}.welcome-topnav{z-index:4;justify-content:space-between;align-items:center;gap:clamp(18px,4vw,48px);min-height:48px;display:flex;position:absolute;top:0;left:0;right:0}.welcome-topnav a{color:#142035;font-size:14px;font-weight:800;text-decoration:none}.welcome-topnav a:hover{color:#76acd5}.welcome-brand{align-items:center;gap:11px;display:inline-flex;color:#414b7d!important;font-size:16px!important;font-weight:900!important}.welcome-brand img{object-fit:contain;background:#fff;border:2px solid #dceaf5;border-radius:50%;width:54px;height:54px;box-shadow:0 7px 18px #414b7d29}.welcome-navlinks{align-items:center;gap:clamp(18px,4vw,48px);display:flex}.welcome-page .welcome-copy{z-index:2;box-shadow:none;background:0 0;border:0;border-radius:0;padding:76px 0 0;display:block;position:relative}.welcome-page .welcome-copy:before{content:"";pointer-events:none;border:1px solid #414b7d38;border-radius:50%;width:286px;height:286px;position:absolute;top:88px;left:-76px;box-shadow:0 0 0 38px #76acd51a,0 0 0 78px #414b7d0f}.welcome-page .welcome-kicker{color:#414b7d;letter-spacing:0;text-transform:none;margin-bottom:18px;font-size:13px}.welcome-page .welcome-copy h1{color:#252d50;max-width:610px;font-size:clamp(42px,6vw,72px);font-weight:900;line-height:1.08}.welcome-page .welcome-copy h1 span{color:#76acd5}.welcome-page .welcome-lead{color:#6b7280;max-width:520px;margin-top:24px;font-size:16px;line-height:1.75}.welcome-page .welcome-actions{gap:18px;margin-top:34px}.welcome-page .welcome-primary,.welcome-page .welcome-secondary{border-radius:7px;min-height:56px;padding:0 28px;font-size:15px}.welcome-page .welcome-primary{color:#fff;background:#414b7d;box-shadow:0 14px 28px #414b7d3d}.welcome-page .welcome-primary:hover{background:#566598}.welcome-page .welcome-secondary{color:#1f5f3b;background:#eef1fb;border:1px solid #1f5f3b29}.welcome-page .welcome-secondary:hover{color:#7f1d1d;border-color:#1f5f3b}.welcome-features{color:#687383;flex-wrap:wrap;gap:18px clamp(18px,4vw,42px);margin-top:42px;font-size:14px;font-weight:700;display:flex}.welcome-features span{align-items:center;gap:10px;display:inline-flex}.welcome-features span:before{content:"";border:3px solid #76acd5;border-radius:50%;width:18px;height:18px}.welcome-visual{place-items:center;min-height:540px;display:grid;position:relative}.welcome-orbit{aspect-ratio:1;background:linear-gradient(145deg,#414b7d,#30395f);border-radius:50%;width:min(88vw,430px);position:absolute;box-shadow:0 0 0 24px #f3f6fb,0 0 0 25px #414b7d47,0 0 0 92px #76acd526}.welcome-hero-logo{z-index:2;aspect-ratio:1;object-fit:contain;background:#fff;border:10px solid #ffffffe0;border-radius:50%;width:min(64vw,310px);position:relative;box-shadow:0 28px 60px #181f464d}.welcome-person{z-index:2;width:min(68vw,285px);height:400px;position:relative}.person-head{background:radial-gradient(circle at 34% 42%,#152033 0 8px,#0000 9px),radial-gradient(circle at 66% 42%,#152033 0 8px,#0000 9px),radial-gradient(circle at 50% 66%,#cf846d 0 9px,#0000 10px),#f4b39c;border-radius:50%;width:112px;height:112px;position:absolute;top:28px;left:50%;transform:translate(-50%);box-shadow:-22px -18px 0 1px #3f241a,20px -18px 0 1px #3f241a,0 -28px 0 12px #3f241a}.person-head:after{content:"";border-bottom:4px solid #fff;border-radius:0 0 999px 999px;height:10px;position:absolute;bottom:20px;left:22px;right:22px}.person-body{background:linear-gradient(90deg,#0000 0 38%,#ffffffdb 38% 43%,#0000 43% 100%),linear-gradient(135deg,#77a9d8,#3f76a8);border-radius:72px 72px 18px 18px;height:260px;position:absolute;bottom:0;left:22px;right:22px;box-shadow:inset 0 0 0 2px #fff3}.person-book{background:#f4a431;border-radius:12px;width:112px;height:162px;position:absolute;bottom:62px;right:4px;transform:rotate(-5deg);box-shadow:-20px 16px #fff,0 18px 24px #1320352e}.welcome-float{z-index:3;background:#ffffffeb;border:1px solid #76acd57a;border-radius:15px;gap:4px;min-width:150px;padding:16px 18px 16px 58px;display:grid;position:absolute;box-shadow:0 16px 34px #13203524}.welcome-float:before{content:"";background:#76acd5;border-radius:8px;width:30px;height:30px;position:absolute;top:18px;left:18px}.welcome-float span{color:#7a8492;font-size:13px;font-weight:700}.welcome-float strong{color:#252d50;font-size:24px;font-weight:900}.welcome-float.is-year{top:112px;left:0}.welcome-float.is-students{top:58px;right:10px}.welcome-float.is-teachers{bottom:112px;right:0}.welcome-metrics{z-index:2;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:8px 0 0;display:grid;position:relative}.welcome-metrics div{gap:4px;display:grid}.welcome-metrics strong{color:#414b7d;font-size:26px;font-weight:900}.welcome-metrics span{color:#687383;font-size:16px;font-weight:700}.admin-shell{gap:28px;display:grid}.admin-heading,.admin-panel,.admin-stat{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:22px}.admin-heading{justify-content:space-between;align-items:center;gap:24px;padding:clamp(28px,5vw,54px);display:flex}.admin-heading h1{color:var(--text);margin:0;font-size:clamp(26px,3.6vw,38px);font-weight:900;line-height:1.05}.admin-heading p:not(.welcome-kicker){max-width:720px;color:var(--text-soft);margin:16px 0 0;font-size:15px;line-height:1.5}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.admin-stat{padding:24px}.admin-stat span{color:var(--text-soft);text-transform:uppercase;font-size:12px;font-weight:900}.admin-stat strong{color:var(--text);margin-top:14px;font-size:30px;font-weight:900;display:block}.admin-content-grid{grid-template-columns:1.2fr .8fr;gap:28px;display:grid}.admin-panel{padding:0;overflow:hidden}.admin-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.admin-panel-header h2{color:var(--text);margin:0;font-size:20px;font-weight:900}.admin-panel-header span{color:var(--accent);font-weight:900}.admin-table{display:grid}.admin-table-row{border-bottom:1px solid var(--border);color:var(--text-soft);grid-template-columns:1fr 130px 1fr;align-items:center;gap:18px;padding:18px 28px;font-size:16px;display:grid}.admin-table-row:last-child{border-bottom:0}.admin-table-head{background:var(--surface-soft);color:var(--text);text-transform:uppercase;font-size:14px;font-weight:900}.admin-empty{color:var(--text-soft);padding:28px}.classroom-meter-list{gap:18px;padding:24px 28px 30px;display:grid}.classroom-meter{gap:10px;display:grid}.classroom-meter div:first-child{justify-content:space-between;gap:16px;display:flex}.classroom-meter strong{color:var(--text);font-size:16px}.classroom-meter span{color:var(--text-soft);font-size:14px;font-weight:800}.meter-track{background:var(--surface-muted);border-radius:999px;height:10px;overflow:hidden}.meter-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.admin-login-page,.admin-dashboard-page{--bg:#f7f7f7;--bg-strong:#fff;--surface:#fff;--surface-soft:#f8f9ff;--surface-muted:#edf1ff;--border:#e3e6f0;--border-strong:#76acd5;--text:#1f2433;--text-soft:#6c7486;--accent:#414b7d;--accent-strong:#76acd5;--accent-ink:#fff;--shadow:0 10px 28px #1f24331f}body.admin-login-page,body.admin-dashboard-page{background:#f3f6fb}html[data-theme=dark] .admin-login-page,html[data-theme=dark] .admin-dashboard-page{--bg:#0c0f17;--bg-strong:#111624;--surface:#151a27;--surface-soft:#1b2130;--surface-muted:#222a3a;--border:#2d3546;--border-strong:#6f7db8;--text:#f4f6fb;--text-soft:#b4bdcf;--accent:#86bce3;--accent-strong:#a8d3f0;--accent-ink:#111624;--shadow:0 18px 40px #00000059}html[data-theme=dark] body.admin-login-page,html[data-theme=dark] body.admin-dashboard-page{background:var(--bg)}.admin-login-page .app-header,.admin-dashboard-page .app-header{background:var(--accent);border-bottom:0;box-shadow:0 2px 8px #0000003d}.admin-login-page .app-nav,.admin-dashboard-page .app-nav{max-width:1160px;min-height:104px;margin:0 auto;padding:0 26px}.admin-login-page .app-brand,.admin-dashboard-page .app-brand{letter-spacing:.36em;text-transform:uppercase;justify-items:center;gap:4px;display:grid;color:#fff!important;font-size:11px!important}.admin-login-page .app-brand span:last-child,.admin-dashboard-page .app-brand span:last-child{display:none}.admin-login-page .brand-logo,.admin-dashboard-page .brand-logo{border:3px solid #ffffffb8;flex-basis:76px;width:76px;height:76px;box-shadow:0 8px 22px #141c3f47}.admin-login-page .app-nav-links,.admin-dashboard-page .app-nav-links{gap:18px clamp(28px,4vw,70px)}.admin-login-page .app-nav a,.admin-dashboard-page .app-nav a{color:#f4f6ff;font-size:14px;font-weight:800}.admin-login-page .app-nav a:hover,.admin-dashboard-page .app-nav a:hover{color:#fff}.admin-login-page .theme-toggle,.admin-dashboard-page .theme-toggle,.admin-login-page .header-theme-toggle,.admin-dashboard-page .header-theme-toggle{color:#fff;background:#ffffff1f;border-color:#ffffff3d}.admin-login-page .header-theme-toggle:hover,.admin-dashboard-page .header-theme-toggle:hover{background:#ffffff3d;border-color:#fff}.admin-login-page .profile-trigger,.admin-dashboard-page .profile-trigger{color:#fff;background:#ffffff2e;border-color:#ffffff8a}.admin-login-page .profile-trigger:hover,.admin-dashboard-page .profile-trigger:hover{background:#ffffff47;border-color:#fff}.admin-login-page .app-footer,.admin-dashboard-page .app-footer{color:#fff;background:#414b7d}.admin-login-page .app-main{background:radial-gradient(circle at 15% 25%,#76acd538,#0000 25rem),radial-gradient(circle at 88% 78%,#414b7d1f,#0000 28rem),#f3f6fb;place-items:center;width:100%;min-height:calc(100vh - 104px);margin:0;padding:74px 18px 56px;display:grid}.admin-login-wrap{width:min(100%,390px)}.admin-login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center;background:#ffffffeb;border:1px solid #76acd552;border-radius:24px;padding:40px 38px 36px;box-shadow:0 24px 60px #252d5029}.admin-login-logo{object-fit:contain;background:#fff;border:5px solid #e1eef8;border-radius:999px;width:122px;height:122px;margin:0 auto 18px;display:block;box-shadow:0 12px 30px #414b7d38}.admin-login-card h1{color:#252d50;margin:0 0 8px;font-size:30px;font-weight:900}.admin-login-card p{color:#777f8e;margin:0 0 20px;font-size:14px;font-weight:500}.admin-login-field{background:#fff;border:2px solid #b8d6eb;border-radius:12px;grid-template-columns:26px 1fr auto;align-items:center;min-height:50px;margin-bottom:18px;display:grid;position:relative}.admin-login-field:focus-within{background:#f7faff;border-color:#414b7d;box-shadow:0 0 0 3px #76acd538}.admin-login-field>span{color:#414b7d;background:#fff;padding:0 5px;font-size:12px;font-weight:600;position:absolute;top:-11px;left:13px}.admin-login-field i{color:#717171;font-style:normal;font-weight:900}.admin-login-field input{color:#1f2433;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0 8px;font-size:16px;font-weight:800}.admin-login-field input::placeholder{color:#7d8494}.password-toggle{color:#5f6470;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:36px;height:36px;padding:0;display:grid}.password-toggle:hover{color:#414b7d;background:#76acd529}.eye-icon{border:2px solid;border-radius:999px/700px;width:19px;height:12px;display:block;position:relative}.eye-icon:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.password-toggle:not(.is-visible) .eye-icon:after{content:"";background:currentColor;border-radius:999px;width:25px;height:2px;position:absolute;top:50%;left:-3px;transform:rotate(-38deg)}.admin-login-submit{color:#fff;cursor:pointer;letter-spacing:.04em;background:#414b7d;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;font-size:14px;font-weight:900;display:inline-flex}.admin-login-submit:hover{background:#566598}.admin-login-message{text-align:left;margin-bottom:16px}.user-login-page{--user-login-dark:#111624;--user-login-accent:#414b7d;--user-login-gold:#76acd5;--user-login-bg:#eaf2f9;--user-login-ink:#1c2435;--user-login-muted:#6b7280}body.user-login-page{background:var(--user-login-bg)}.app-body.user-login-page{background:radial-gradient(circle at 20% 44%,#76acd533 0 10rem,transparent 10.1rem),radial-gradient(circle at 76% 72%,#414b7d21 0 11rem,transparent 11.1rem),var(--user-login-bg)}.user-login-page .app-header{display:none}.user-login-page .app-nav{min-height:86px;padding:0 clamp(24px,5vw,64px)}.user-login-page .app-brand{letter-spacing:0;align-items:center;gap:16px;display:inline-flex;color:#fff!important;font-size:clamp(20px,2.2vw,30px)!important;font-weight:900!important}.user-login-page .brand-mark{width:34px;height:34px;box-shadow:0 -18px 0 -12px var(--user-login-gold),0 18px 0 -12px var(--user-login-gold),18px 0 0 -12px var(--user-login-gold),-18px 0 0 -12px var(--user-login-gold);background:#fff;border-radius:10px;transform:rotate(45deg)}.user-login-page .brand-mark:before,.user-login-page .brand-mark:after{display:none}.user-login-page .header-theme-toggle{color:#fff;background:#ffffff1a;border-color:#ffffff2e}.user-login-page .app-main{align-items:center;width:min(100vw - 40px,1180px);min-height:100vh;margin:0 auto;padding:clamp(30px,5vw,58px) 0;display:grid}.user-login-page .app-footer{display:none}.user-login-shell{grid-template-columns:minmax(0,1fr) minmax(320px,390px);align-items:center;gap:clamp(28px,6vw,86px);min-height:600px;display:grid;position:relative;overflow:hidden}.user-login-scene{min-height:560px;position:relative}.scene-shape{filter:drop-shadow(0 18px 18px #1c243524);display:block;position:absolute}.scene-star{background:linear-gradient(45deg,#0000 0 34%,#fff 34% 66%,#0000 66%),linear-gradient(-45deg,#0000 0 34%,#fff 34% 66%,#0000 66%),linear-gradient(90deg,#0000 0 34%,#414b7d 34% 66%,#0000 66%),linear-gradient(0deg,#0000 0 34%,#414b7d 34% 66%,#0000 66%);border-radius:16px;width:170px;height:170px;top:48px;left:34%;transform:rotate(16deg)}.scene-star:before{content:"";background:#fff;border-radius:50%;width:46px;height:46px;position:absolute;top:-30px;left:70px;box-shadow:inset -12px -12px 18px #1c24352e}.scene-folder{background:linear-gradient(135deg,#8fc4e7,#536397);border-radius:16px 18px 22px;width:160px;height:120px;bottom:162px;left:20px;transform:rotate(-12deg)skewY(-5deg)}.scene-folder:before{content:"";opacity:.9;background:repeating-linear-gradient(90deg,#fff 0 18px,#e5eff8 18px 26px);border-radius:12px;width:88px;height:82px;position:absolute;top:18px;left:32px;transform:rotate(8deg)}.scene-pencil{background:linear-gradient(90deg,#566598 0 18%,#dcebf6 18% 31%,#76acd5 31% 86%,#b8d9ef 86% 100%);border-radius:999px;width:132px;height:24px;top:96px;right:18px;transform:rotate(-36deg)}.scene-pencil:after{content:"";border:8px solid #0000;border-left:16px solid #7a5338;border-right-width:0;position:absolute;top:4px;right:-14px}.scene-book{background:linear-gradient(#76acd5 0 72%,#fff 72% 84%,#414b7d 84%);border-radius:14px 22px 16px 14px;width:280px;height:96px;bottom:58px;right:24%;transform:perspective(420px)rotateX(56deg)rotate(-3deg)}.scene-book:before{content:"";background:#fff;border-radius:4px;width:58px;height:34px;position:absolute;top:18px;left:104px}.scene-ruler{clip-path:polygon(50% 0,100% 100%,0 50%);border:18px solid #76acd5;border-color:#76acd5 #76acd5 #0000 #0000;width:142px;height:142px;bottom:220px;right:18%;transform:rotate(18deg)}.scene-cup{background:#e5eff8;border-radius:0 0 34px 34px;width:92px;height:78px;bottom:72px;right:4%;box-shadow:inset 0 0 0 8px #ffffff8c}.scene-cup:after{content:"";border:9px solid #e5eff8;border-left:0;border-radius:0 999px 999px 0;width:38px;height:34px;position:absolute;top:22px;right:-28px}.scene-paper{background:#8fc4e7;width:72px;height:42px;transform:rotate(-18deg)}.scene-paper.is-small{background:#536397;width:36px;height:84px;top:245px;right:36%}.scene-paper.is-wide{bottom:152px;right:16%}.user-login-card{z-index:2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffbd;border:0;border-radius:24px;padding:clamp(30px,4vw,42px);position:relative;box-shadow:0 24px 48px #1c24351f}.user-login-mark{object-fit:contain;background:#fff;border:4px solid #dcebf6;border-radius:50%;width:112px;height:112px;margin:0 auto 18px;display:block;box-shadow:0 12px 30px #414b7d33}.user-login-card h1{color:var(--user-login-ink);text-align:center;font-size:30px}.user-login-card p{color:var(--user-login-muted);text-align:center;margin-bottom:28px}.user-login-card .admin-login-field{background:#ffffffe0;border:0;border-radius:16px;box-shadow:0 10px 24px #1c243512}.user-login-card .admin-login-field:focus-within{box-shadow:0 10px 24px #1c243512,0 0 0 3px #76acd542}.user-login-card .admin-login-submit{text-transform:none;background:#414b7d;border-radius:999px;box-shadow:0 18px 28px #414b7d3d}.user-login-card .admin-login-submit:hover{background:#566598}html[data-theme=dark] .app-body.user-login-page{background:radial-gradient(circle at 20% 44%,#76acd52e 0 10rem,transparent 10.1rem),radial-gradient(circle at 76% 72%,#414b7d29 0 11rem,transparent 11.1rem),var(--user-login-bg)}html[data-theme=dark] .user-login-card{background:#ffffffbd;border:0;box-shadow:0 24px 48px #1c24351f}html[data-theme=dark] .user-login-card h1{color:var(--user-login-ink)}html[data-theme=dark] .user-login-card p{color:var(--user-login-muted)}html[data-theme=dark] .user-login-card .admin-login-field{background:#ffffffe0;box-shadow:0 10px 24px #1c243512}html[data-theme=dark] .user-login-card .admin-login-field>span,html[data-theme=dark] .user-login-card .admin-login-field i,html[data-theme=dark] .user-login-card .admin-login-field input{color:var(--user-login-ink)}html[data-theme=dark] .user-login-card .admin-login-field input::placeholder{color:#8c95a3}html[data-theme=dark] .user-login-card .admin-login-submit{color:#fff;background:#414b7d}html[data-theme=dark] .user-login-card .admin-login-submit:hover{background:#566598}.classroom-management-page .app-main{width:min(1050px,100vw - 32px);margin-top:0}.classroom-page{padding:0 0 52px}.admin-page-title{color:#1f2433;text-align:center;margin:9px 0 36px;font-size:26px;font-weight:900}.classroom-management-card{background:#fff;border:1px solid #e1e6f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #1f243314}.classroom-card-header{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;gap:20px;min-height:124px;padding:28px 34px;display:flex}.classroom-title-group{align-items:center;gap:16px;display:flex}.classroom-icon{color:#3d9152;background:#eaf6ee;border-radius:10px;place-items:center;width:34px;height:34px;font-size:14px;font-weight:900;display:grid}.classroom-title-group h2{color:#32394c;margin:0;font-size:20px;font-weight:900;line-height:1.2}.classroom-title-group h2 span{font-size:15px}.classroom-title-group p{color:#8c94a5;margin:7px 0 0;font-size:13px;font-weight:600}.classroom-header-actions{align-items:center;gap:12px;display:flex}.classroom-count{color:#47945b;background:#fbfffc;border:1px solid #dcefe2;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:900}.classroom-add-button,.classroom-create-form button,.classroom-edit-form button{color:#fff;cursor:pointer;background:#1f5f3b;border:0;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:900}.classroom-create-form{background:#fbfcff;border-bottom:1px solid #eef1f6;grid-template-columns:1fr auto auto;gap:10px;padding:16px 34px;display:grid}.classroom-create-form[hidden]{display:none}.classroom-create-form input,.classroom-edit-form input{color:#32394c;border:1px solid #cfd5e2;border-radius:8px;outline:none;min-height:38px;padding:0 12px;font-size:13px;font-weight:700}.classroom-create-form input:focus,.classroom-edit-form input:focus{border-color:#1f5f3b;box-shadow:0 0 0 2px #1f5f3b1f}.classroom-status{color:#3d9152;background:#f4fbf6;border-bottom:1px solid #eef1f6;padding:12px 34px;font-size:13px;font-weight:800}.classroom-status.is-error{color:#d24b56;background:#fff2f2}.classroom-table{display:grid}.classroom-row{color:#4a5367;border-bottom:1px solid #edf0f5;grid-template-columns:90px 1fr 210px 270px;align-items:center;min-height:58px;padding:0 18px;display:grid}.classroom-row:last-child{border-bottom:0}.classroom-head{color:#7b8392;letter-spacing:.03em;text-transform:uppercase;background:#fbfcff;min-height:58px;font-size:12px;font-weight:900}.classroom-id{font-size:15px;font-weight:900}.classroom-name strong{color:#465169;font-size:14px;font-weight:900}.classroom-edit-form{grid-template-columns:1fr auto auto;gap:8px;margin-top:8px;display:grid}.classroom-edit-form[hidden]{display:none}.classroom-members{color:#9aa1ad;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.classroom-members b{color:#6d7688;font-size:15px;font-weight:900}.classroom-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.classroom-actions form{margin:0}.classroom-empty{color:#7b8392;text-align:center;padding:30px;font-size:14px}.newest-badge{color:#36874d;letter-spacing:.04em;text-transform:uppercase;background:#eaf6ee;border-radius:999px;align-items:center;width:max-content;min-height:24px;margin-top:7px;padding:0 10px;font-size:10px;font-style:normal;font-weight:900;display:inline-flex}.list-pagination{background:#fbfcff;border-top:1px solid #edf0f5;justify-content:flex-end;align-items:center;gap:12px;padding:18px 22px;display:flex}.pagination-link{color:#1f5f3b;background:#fff;border:1px solid #d8deeb;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:0 14px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.pagination-link:not(.is-disabled):hover{background:#eef0ff;border-color:#1f5f3b}.pagination-link.is-disabled{color:#a4abba;cursor:not-allowed}.pagination-status{color:#7b8392;font-size:12px;font-weight:900}.user-management-page .app-main{width:min(1250px,100vw - 32px);margin-top:0}.user-page{padding:0 0 52px}.user-management-card{background:#fff;border:1px solid #e1e6f0;border-radius:18px;overflow:hidden;box-shadow:0 8px 22px #1f243314}.user-card-header{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:center;gap:20px;min-height:106px;padding:24px 28px;display:flex}.user-card-header h2{color:#32394c;margin:0;font-size:22px;font-weight:900;line-height:1.2}.user-card-header h2 span{font-size:16px}.user-card-header p{color:#8c94a5;text-align:center;margin:6px 0 0;font-size:13px;font-weight:600}.user-count{color:#47945b;background:#eaf6ee;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:900}.user-search{border-bottom:1px solid #eef1f6;align-items:center;gap:10px;padding:18px 28px;display:flex}.sr-only{clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.user-search-icon{color:#8c94a5;pointer-events:none;place-items:center;width:18px;height:18px;margin-left:15px;display:grid;position:absolute}.user-search-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2px;width:18px;height:18px}.user-search input{color:#32394c;width:min(520px,100%);min-height:44px;font:inherit;background:#fbfcff;border:1px solid #dce2eb;border-radius:10px;padding:0 15px 0 44px}.user-search input:focus{border-color:#47945b;outline:0;box-shadow:0 0 0 3px #47945b24}.user-search button,.user-search a{cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.user-search button{color:#fff;background:#1f6a40}.user-search a{color:#5f6878;background:#eef1f6}.user-table{display:grid}.user-row{color:#6f7582;border-bottom:1px solid #edf0f5;grid-template-columns:minmax(260px,1.25fr) minmax(280px,1.25fr) minmax(90px,.45fr) minmax(110px,.5fr) minmax(280px,.9fr);align-items:center;min-height:70px;padding:0 18px;display:grid}.user-row:last-child{border-bottom:0}.user-head{color:#747c89;letter-spacing:.03em;text-transform:uppercase;background:#fbfcff;min-height:54px;font-size:12px;font-weight:900}.user-identity{align-items:center;gap:16px;min-width:0;display:flex;position:relative}.user-avatar{color:#fff;background:#c8c8c8;border:3px solid #2b9ddd;border-radius:999px;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:16px;font-weight:800;display:grid}.user-avatar.is-admin{border-color:#b8922e}.user-identity strong,.user-name-link{color:#465169;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:900;text-decoration:none;overflow:hidden}.user-name-link:hover{color:#1f5f3b;text-decoration:underline}.user-email,.user-gender{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.role-badge{border-radius:999px;align-items:center;min-height:28px;padding:0 13px;font-size:11px;font-weight:900;display:inline-flex}.role-admin{color:#b18014;background:#fff4dc}.role-student{color:#1a8fd0;background:#e4f6ff}.role-teacher{color:#525bd6;background:#edf0ff}.role-user{color:#5f6878;background:#eef1f6}.user-actions{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.user-actions form{margin:0}.action-button{cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:7px 10px;font-size:12px;font-weight:900;line-height:1;text-decoration:none;display:inline-flex}.action-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:0 0 15px;width:15px;height:15px}.action-view{color:#1a8fd0;background:#e4f6ff}.action-edit{color:#4f46df;background:#eef0ff}.action-delete{color:#ef3f4d;background:#fff0f2}.action-button:hover{filter:brightness(.97)}.locked-action{color:#b18014;font-size:12px;font-weight:900}.user-edit-page .app-main{width:min(920px,100vw - 32px);margin-top:34px}.user-edit-shell{gap:18px;padding-bottom:54px;display:grid}.user-edit-card{width:100%}.form-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:34px;display:grid}.form-actions .form-submit{margin-top:0}.form-secondary-action{border:1px solid var(--border-strong);min-height:46px;color:var(--text);text-transform:uppercase;border-radius:12px;justify-content:center;align-items:center;padding:0 20px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.classroom-detail-page .app-main{width:min(1000px,100vw - 32px);margin-top:34px}.classroom-detail-shell{gap:18px;padding-bottom:54px;display:grid}.classroom-detail-hero,.classroom-detail-card{background:#fff;border:1px solid #e1e6f0;border-radius:18px;box-shadow:0 8px 22px #1f243314}.classroom-detail-hero{justify-content:space-between;align-items:center;gap:18px;padding:28px;display:flex}.classroom-detail-hero h1{color:#32394c;margin:8px 0;font-size:32px;font-weight:900}.classroom-detail-hero p{color:#7b8392;margin:0;font-size:14px;font-weight:800}.classroom-detail-card{overflow:hidden}.classroom-detail-card h2{color:#32394c;border-bottom:1px solid #edf0f5;margin:0;padding:20px 24px;font-size:18px;font-weight:900}.classroom-detail-list{display:grid}.classroom-student-row{color:#5f6878;border-bottom:1px solid #edf0f5;grid-template-columns:48px minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.7fr);align-items:center;gap:16px;padding:16px 22px;text-decoration:none;display:grid}.classroom-student-row:last-child{border-bottom:0}.classroom-student-row strong{color:#465169;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900;display:block;overflow:hidden}.classroom-student-row small{color:#8c94a5;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;font-weight:800;display:block;overflow:hidden}.user-edit-form{z-index:2;background:#fff;border:1px solid #d9dfec;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;width:min(720px,100vw - 72px);max-height:min(78vh,760px);padding:12px;display:grid;position:absolute;top:52px;left:58px;overflow:auto;box-shadow:0 10px 24px #1f243329}.user-edit-form[hidden]{display:none}.user-edit-form label{color:#667085;text-transform:uppercase;gap:5px;font-size:11px;font-weight:900;display:grid}.user-edit-form label.is-wide,.user-edit-actions{grid-column:1/-1}.user-edit-form input,.user-edit-form select,.user-edit-form textarea{color:#32394c;border:1px solid #cfd5e2;border-radius:8px;outline:none;min-height:38px;padding:0 12px;font-size:13px;font-weight:700}.user-edit-form select[multiple]{min-height:86px;padding:8px 12px}.user-edit-form textarea{resize:vertical;min-height:72px;padding:10px 12px}.user-edit-actions{justify-content:flex-end;gap:8px;display:flex}.user-edit-actions button{color:#fff;cursor:pointer;background:#1f5f3b;border:0;border-radius:8px;padding:8px 13px;font-size:12px;font-weight:900}.student-detail-page .app-main{width:min(1000px,100vw - 32px);margin-top:34px}.student-detail-shell{gap:24px;padding-bottom:54px;display:grid}.back-link{color:#1f5f3b;align-items:center;gap:8px;width:max-content;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex}.back-link:before{content:"";clip-path:polygon(46% 18%,54% 26%,34% 46%,86% 46%,86% 58%,34% 58%,54% 78%,46% 86%,12% 52%);background:currentColor;width:16px;height:16px}.back-link:hover{text-decoration:underline}.profile-detail-actions{justify-content:flex-start;align-items:center;gap:12px;display:flex}.profile-card-edit{z-index:2;position:absolute;top:18px;right:18px}.student-profile-card,.student-info-card,.student-family-card{background:#fff;border:1px solid #e1e6f0;border-radius:18px;box-shadow:0 4px 12px #1f24331a}.student-profile-card{align-items:center;gap:34px;width:min(660px,100%);padding:38px 44px;display:flex}.student-photo-wrap{color:#fff;background:#c4c4c4;border:4px solid #2bc28c;border-radius:999px;flex:0 0 144px;place-items:center;width:144px;height:144px;font-size:58px;font-weight:900;display:grid;position:relative}.student-photo-wrap img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.student-photo-wrap small{color:#fff;background:#2bc28c;border-radius:999px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:10px;right:8px}.student-profile-main h1{color:#152033;margin:0;font-size:30px;font-weight:900;line-height:1.1}.student-profile-main p{color:#6f7582;margin:8px 0 18px;font-size:13px;font-weight:900}.student-badges{flex-wrap:wrap;gap:10px;display:flex}.student-role-badge,.student-gender-badge{border-radius:999px;align-items:center;min-height:30px;padding:0 14px;font-size:12px;font-weight:900;display:inline-flex}.student-role-badge{color:#fff;background:#1f5f3b}.student-gender-badge{color:#5f6878;border:1px solid #d7dce8}.student-info-card{width:min(530px,100%);padding:28px 28px 24px}.student-info-card h2,.student-family-card h2{color:#1f2433;text-align:center;margin:0 0 28px;font-size:20px;font-weight:900}.student-info-list{gap:18px;display:grid}.student-info-item{grid-template-columns:42px 1fr;align-items:center;gap:16px;display:grid}.student-info-icon{color:#1f5f3b;background:#eaf8f4;border-radius:10px;place-items:center;width:38px;height:38px;font-size:12px;font-weight:900;display:grid}.student-info-item small,.family-chip small,.family-note small{color:#8c94a5;font-size:12px;font-weight:800;display:block}.student-info-item strong,.family-chip strong,.family-note strong{color:#1f2433;margin-top:4px;font-size:14px;font-weight:900;line-height:1.4;display:block}.student-family-card{width:min(960px,100%);padding:30px 28px 28px}.family-chip-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(600px,100%);display:grid}.family-chip,.family-note{text-align:center;background:#f3f3f6;border-radius:10px;padding:18px 16px}.family-note{width:min(610px,100%);margin-top:16px}.admin-student-profile{gap:22px;padding-bottom:52px;display:grid}.admin-student-hero,.admin-student-panel{background:#fff;border:1px solid #e1e6f0;border-radius:18px;box-shadow:0 14px 32px #1f243317}.admin-student-hero{grid-template-columns:150px minmax(0,1fr) minmax(260px,.5fr);align-items:center;gap:26px;padding:clamp(38px,5vw,56px) clamp(28px,4vw,42px) clamp(28px,4vw,42px);display:grid;position:relative}.admin-student-title{min-width:0}.admin-student-kicker{color:#207e5d;letter-spacing:.08em;text-transform:uppercase;background:#eef7f3;border-radius:999px;align-items:center;min-height:28px;padding:0 12px;font-size:11px;font-weight:900;display:inline-flex}.admin-student-title h1{overflow-wrap:anywhere;color:#1f2433;margin:14px 0 8px;font-size:clamp(30px,4vw,48px);font-weight:900;line-height:1}.admin-student-title p{overflow-wrap:anywhere;color:#788195;margin:0 0 18px;font-size:15px;font-weight:800}.admin-student-summary{gap:12px;display:grid}.admin-student-summary div,.admin-detail-list div{background:#fbfcff;border:1px solid #edf1f6;border-radius:12px;padding:16px}.admin-student-summary small,.admin-detail-list span{color:#7b8392;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.admin-student-summary strong,.admin-detail-list strong{overflow-wrap:anywhere;color:#1f2433;margin-top:7px;font-size:15px;font-weight:900;line-height:1.35;display:block}.admin-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.admin-student-panel{padding:24px}.admin-student-panel h2{color:#1f2433;margin:0 0 18px;font-size:20px;font-weight:900}.admin-detail-list{gap:12px;display:grid}.admin-detail-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-student-wide{grid-column:1/-1}.teacher-view-page .app-main{width:min(1120px,100vw - 32px);margin-top:26px}.teacher-view-shell{gap:24px;padding-bottom:54px;display:grid}.teacher-view-hero,.teacher-profile-panel{background:#fff;border:1px solid #e1e6f0;border-radius:18px;box-shadow:0 16px 36px #1f243317}.teacher-view-hero{background:linear-gradient(135deg,#1f5f3b17,#0000 44%),#fff;grid-template-columns:158px minmax(0,1fr) 270px;align-items:center;gap:28px;padding:clamp(30px,5vw,54px);display:grid;position:relative;overflow:hidden}.teacher-photo-wrap{color:#1f5f3b;background:#dfe3f5;border:5px solid #1f5f3b;border-radius:999px;place-items:center;width:158px;height:158px;font-size:58px;font-weight:900;display:grid;position:relative;box-shadow:0 18px 30px #1f5f3b2e}.teacher-photo-wrap img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.teacher-photo-wrap small{color:#fff;background:#2bc28c;border-radius:999px;place-items:center;width:24px;height:24px;font-size:13px;font-weight:900;display:grid;position:absolute;bottom:10px;right:8px}.teacher-kicker{color:#1f5f3b;letter-spacing:.08em;text-transform:uppercase;background:#eef0ff;border-radius:999px;align-items:center;width:max-content;min-height:28px;padding:0 12px;font-size:11px;font-weight:900;display:inline-flex}.teacher-hero-copy h1{overflow-wrap:anywhere;color:#1f2433;margin:16px 0 8px;font-size:clamp(34px,5vw,56px);font-weight:900;line-height:1}.teacher-hero-copy p{overflow-wrap:anywhere;color:#778196;margin:0 0 18px;font-size:15px;font-weight:800}.teacher-badges{flex-wrap:wrap;gap:10px;display:flex}.teacher-badges span{color:#fff;background:#1f5f3b;border-radius:999px;align-items:center;min-height:30px;padding:0 13px;font-size:12px;font-weight:900;display:inline-flex}.teacher-badges span+span{color:#5f6878;background:#fff;border:1px solid #d7dce8}.teacher-hero-stats,.teacher-info-list{gap:12px;display:grid}.teacher-hero-stats div,.teacher-info-list div{background:#fbfcff;border:1px solid #edf1f6;border-radius:12px;padding:16px}.teacher-hero-stats small,.teacher-info-list small{color:#7b8392;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:900;display:block}.teacher-hero-stats strong,.teacher-info-list strong{overflow-wrap:anywhere;color:#1f2433;margin-top:7px;font-size:15px;font-weight:900;line-height:1.35;display:block}.teacher-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.teacher-profile-panel{padding:24px}.teacher-profile-panel h2{color:#1f2433;margin:0 0 18px;font-size:20px;font-weight:900}.student-view-shell{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px 24px;padding-bottom:54px;display:grid}.student-view-profile,.student-view-info,.student-view-family{background:#fff;border:1px solid #e1e6f0;border-radius:20px;box-shadow:0 4px 12px #1f24331a}.student-view-profile{align-items:center;gap:34px;min-height:240px;padding:38px 42px;display:flex}.student-view-profile .student-role-badge{color:#1f2433;background:#d9b53d}.student-view-info{padding:26px 24px 24px}.student-view-info h2,.student-view-family h2{color:#1f2433;text-align:center;margin:0 0 28px;font-size:20px;font-weight:900}.student-view-info .student-info-list{gap:20px}.student-view-info .student-info-item{grid-template-columns:42px minmax(0,1fr)}.student-view-info .student-info-icon{color:#c4a032;background:#eaf8f4;font-size:10px}.student-view-info .student-info-item strong{overflow-wrap:anywhere}.student-view-family{grid-column:1/-1;width:min(900px,100%);margin-top:0;padding:28px 26px 24px}.student-view-family .family-chip-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.student-view-family .family-chip{align-content:center;min-height:78px;display:grid;box-shadow:0 8px 18px #1f24330f}.student-view-page{--student-ink:#1b2435;--student-muted:#778196;--student-line:#e4e9f2;--student-green:#2fc58c;--student-gold:#d9b53d;--student-blue:#3e4979}.student-view-page .app-main{width:min(1120px,100vw - 32px);margin-top:26px}.student-view-shell{grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);gap:24px}.student-view-hero,.student-view-panel{border:1px solid var(--student-line);background:#fff;border-radius:18px;box-shadow:0 16px 36px #1f243317}.student-view-hero{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 230px;min-height:280px;display:grid;overflow:hidden}.student-hero-copy{background:linear-gradient(135deg,#2fc58c1a,#0000 42%),#fff;align-content:center;padding:clamp(30px,5vw,54px);display:grid}.student-kicker{color:#207e5d;letter-spacing:.08em;text-transform:uppercase;background:#eef7f3;border-radius:999px;width:max-content;padding:8px 13px;font-size:11px;font-weight:900}.student-hero-main{align-items:center;gap:clamp(24px,4vw,42px);margin-top:24px;display:flex}.student-photo-large{border-width:5px;flex-basis:158px;width:158px;height:158px;box-shadow:0 18px 30px #2fc58c2e}.student-view-hero .student-profile-main h1{max-width:560px;color:var(--student-ink);letter-spacing:0;font-size:clamp(34px,5vw,56px)}.student-view-hero .student-profile-main p{color:var(--student-muted);font-size:15px}.student-view-hero .student-role-badge{background:var(--student-gold);color:#1f2433}.student-view-hero .student-gender-badge{background:#fff}.student-hero-stats{border-left:1px solid var(--student-line);background:#f9fbfd;align-content:stretch;display:grid}.student-hero-stats div{border-bottom:1px solid var(--student-line);align-content:center;gap:8px;min-height:90px;padding:22px 24px;display:grid}.student-hero-stats div:last-child{border-bottom:0}.student-hero-stats small,.student-info-tile small,.student-summary-list small,.student-family-grid small{color:var(--student-muted);text-transform:uppercase;font-size:12px;font-weight:900}.student-hero-stats strong,.student-summary-list strong,.student-family-grid strong{color:var(--student-ink);font-size:16px;font-weight:900;line-height:1.35}.student-view-panel{padding:26px}.student-panel-heading{align-items:center;gap:13px;margin-bottom:22px;display:flex}.student-panel-heading span{color:#207e5d;background:#eef7f3;border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:900;display:grid}.student-panel-heading h2{color:var(--student-ink);margin:0;font-size:20px;font-weight:900}.student-contact-panel{grid-column:span 1}.student-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.student-info-tile{background:#fbfcff;border:1px solid #edf1f6;border-radius:12px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;min-height:88px;padding:15px;display:grid}.student-info-tile strong{overflow-wrap:anywhere;color:var(--student-ink);margin-top:5px;font-size:15px;font-weight:900;line-height:1.35;display:block}.student-info-tile .student-info-icon{color:#207e5d;background:#effaf6}.student-academic-panel{align-self:stretch}.student-summary-list{gap:14px;display:grid}.student-summary-list div{border-left:4px solid var(--student-gold);background:#fbfaf4;border-radius:10px;gap:7px;padding:16px 18px;display:grid}.student-summary-list div:nth-child(2){border-left-color:var(--student-green);background:#f5fbf8}.student-summary-list div:nth-child(3){border-left-color:var(--student-blue);background:#f8f9ff}.student-family-panel{grid-column:1/-1}.student-family-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.student-family-grid div{background:#f7f8fb;border:1px solid #edf1f6;border-radius:12px;align-content:center;min-height:92px;padding:18px;display:grid}html[data-theme=dark] .account-sidebar{color:#f4f6fb;background:#151a27}html[data-theme=dark] .account-sidebar-header{background:#1b2130}html[data-theme=dark] .account-sidebar-header strong,html[data-theme=dark] .account-sidebar-row{color:#f4f6fb}html[data-theme=dark] .account-sidebar-row{background:#151a27}html[data-theme=dark] .account-sidebar-row:hover,html[data-theme=dark] .account-sidebar-row.is-danger{background:#202738}html[data-theme=dark] .account-row-icon{color:#b4bdcf}html[data-theme=dark] .admin-login-card,html[data-theme=dark] .admin-heading,html[data-theme=dark] .admin-panel,html[data-theme=dark] .admin-stat,html[data-theme=dark] .classroom-management-card,html[data-theme=dark] .user-management-card,html[data-theme=dark] .student-profile-card,html[data-theme=dark] .student-info-card,html[data-theme=dark] .student-family-card,html[data-theme=dark] .admin-student-hero,html[data-theme=dark] .admin-student-panel,html[data-theme=dark] .teacher-view-hero,html[data-theme=dark] .teacher-profile-panel,html[data-theme=dark] .student-view-hero,html[data-theme=dark] .student-view-panel{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow)}html[data-theme=dark] .admin-login-card h1,html[data-theme=dark] .admin-heading h1,html[data-theme=dark] .admin-panel-header h2,html[data-theme=dark] .admin-stat strong,html[data-theme=dark] .admin-page-title,html[data-theme=dark] .classroom-title-group h2,html[data-theme=dark] .user-card-header h2,html[data-theme=dark] .student-profile-main h1,html[data-theme=dark] .admin-student-title h1,html[data-theme=dark] .admin-student-panel h2,html[data-theme=dark] .admin-student-summary strong,html[data-theme=dark] .admin-detail-list strong,html[data-theme=dark] .teacher-hero-copy h1,html[data-theme=dark] .teacher-profile-panel h2,html[data-theme=dark] .teacher-hero-stats strong,html[data-theme=dark] .teacher-info-list strong,html[data-theme=dark] .student-info-card h2,html[data-theme=dark] .student-family-card h2,html[data-theme=dark] .student-panel-heading h2,html[data-theme=dark] .student-hero-stats strong,html[data-theme=dark] .student-info-tile strong,html[data-theme=dark] .student-summary-list strong,html[data-theme=dark] .student-family-grid strong{color:var(--text)}html[data-theme=dark] .admin-login-card p,html[data-theme=dark] .admin-heading p:not(.welcome-kicker),html[data-theme=dark] .classroom-title-group p,html[data-theme=dark] .user-card-header p,html[data-theme=dark] .student-profile-main p,html[data-theme=dark] .admin-student-title p,html[data-theme=dark] .admin-student-summary small,html[data-theme=dark] .admin-detail-list span,html[data-theme=dark] .teacher-hero-copy p,html[data-theme=dark] .teacher-hero-stats small,html[data-theme=dark] .teacher-info-list small,html[data-theme=dark] .student-info-item small,html[data-theme=dark] .family-chip small,html[data-theme=dark] .family-note small,html[data-theme=dark] .student-hero-stats small,html[data-theme=dark] .student-info-tile small,html[data-theme=dark] .student-summary-list small,html[data-theme=dark] .student-family-grid small{color:var(--text-soft)}html[data-theme=dark] .admin-panel-header,html[data-theme=dark] .classroom-card-header,html[data-theme=dark] .user-card-header,html[data-theme=dark] .student-hero-stats,html[data-theme=dark] .student-hero-stats div{border-color:var(--border)}html[data-theme=dark] .admin-table-head,html[data-theme=dark] .classroom-head,html[data-theme=dark] .user-head,html[data-theme=dark] .list-pagination,html[data-theme=dark] .admin-student-summary div,html[data-theme=dark] .admin-detail-list div,html[data-theme=dark] .teacher-hero-stats div,html[data-theme=dark] .teacher-info-list div,html[data-theme=dark] .student-hero-stats,html[data-theme=dark] .student-info-tile,html[data-theme=dark] .student-family-grid div,html[data-theme=dark] .family-chip,html[data-theme=dark] .family-note{background:var(--surface-soft);border-color:var(--border)}html[data-theme=dark] .student-hero-copy,html[data-theme=dark] .teacher-view-hero{background:linear-gradient(135deg,#7bd99a24,transparent 42%),var(--surface)}html[data-theme=dark] .teacher-badges span+span{border-color:var(--border);background:var(--surface-soft);color:var(--text-soft)}html[data-theme=dark] .teacher-kicker{background:var(--surface-muted);color:var(--accent)}html[data-theme=dark] .student-summary-list div{background:var(--surface-soft)}html[data-theme=dark] .pagination-link{border-color:var(--border);background:var(--surface);color:var(--accent)}html[data-theme=dark] .pagination-link:not(.is-disabled):hover{border-color:var(--accent);background:var(--surface-muted)}html[data-theme=dark] .pagination-status{color:var(--text-soft)}html[data-theme=dark] .user-search{border-color:var(--border)}html[data-theme=dark] .user-search input{border-color:var(--border);background:var(--surface-soft);color:var(--text)}html[data-theme=dark] .user-search a{background:var(--surface-muted);color:var(--text-soft)}html[data-theme=dark] .newest-badge,html[data-theme=dark] .admin-student-kicker{background:var(--surface-muted);color:var(--accent)}html[data-theme=dark] .student-view-page{--student-ink:var(--text);--student-muted:var(--text-soft);--student-line:var(--border);--student-blue:var(--accent)}}@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.-ml-px{margin-left:-1px}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.h-5{height:calc(var(--spacing)*5)}.w-5{width:calc(var(--spacing)*5)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-2{gap:calc(var(--spacing)*2)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media(hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}}.focus\:border-blue-300:focus{border-color:var(--color-blue-300)}.focus\:ring:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-gray-100:active{background-color:var(--color-gray-100)}.active\:text-gray-500:active{color:var(--color-gray-500)}.active\:text-gray-700:active{color:var(--color-gray-700)}.active\:text-gray-800:active{color:var(--color-gray-800)}@media(min-width:40rem){.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:flex-1{flex:1}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:calc(var(--spacing)*2)}}.rtl\:flex-row-reverse:where(:dir(rtl),[dir=rtl],[dir=rtl] *){flex-direction:row-reverse}@media(prefers-color-scheme:dark){.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-600{color:var(--color-gray-600)}@media(hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-gray-300:hover{color:var(--color-gray-300)}}.dark\:focus\:border-blue-700:focus{border-color:var(--color-blue-700)}.dark\:focus\:border-blue-800:focus{border-color:var(--color-blue-800)}.dark\:active\:bg-gray-700:active{background-color:var(--color-gray-700)}.dark\:active\:text-gray-300:active{color:var(--color-gray-300)}}}.not-found-page .app-main{place-items:center;min-height:calc(100vh - 170px);padding:48px 0;display:grid}.not-found-card{text-align:center;width:min(680px,100%);padding:clamp(24px,5vw,48px) 0}.not-found-code{color:var(--accent);letter-spacing:-.08em;margin:0;font-size:clamp(72px,14vw,128px);font-weight:900;line-height:.8}.not-found-divider{background:var(--accent);border-radius:999px;width:58px;height:4px;margin:30px auto 18px}.not-found-label{color:var(--text-soft);letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;font-size:13px;font-weight:900}.not-found-card h1{color:var(--text);margin:0;font-size:clamp(28px,5vw,42px);line-height:1.15}.not-found-copy{max-width:530px;color:var(--text-soft);margin:18px auto 30px;font-size:16px;line-height:1.7}.not-found-action{background:var(--accent);color:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:46px;padding:0 22px;font-weight:800;text-decoration:none;transition:transform .16s,filter .16s;display:inline-flex}.not-found-action:hover{filter:brightness(.94);transform:translateY(-1px)}@media(max-width:760px){.app-nav{flex-wrap:wrap;justify-content:flex-start;min-height:76px;padding-block:12px}.app-nav-links{order:3;justify-content:flex-start;gap:22px;width:100%}.app-main{width:min(100vw - 24px,680px);margin-top:24px}.form-card{border-radius:16px;padding:24px 18px}.field-grid{grid-template-columns:1fr;gap:12px}.field-label{text-align:left}.section-heading{gap:12px}.welcome-hero,.workflow-grid,.home-grid,.classroom-list,.admin-stat-grid,.admin-content-grid{grid-template-columns:1fr}.welcome-copy,.welcome-panel,.dashboard-band,.home-card,.admin-heading,.admin-panel,.admin-stat{border-radius:16px}.welcome-page .app-main{align-items:start;width:min(100vw - 24px,680px);padding:16px 0 28px}.welcome-page .welcome-hero{gap:28px;min-height:auto;overflow:visible}.welcome-topnav{flex-wrap:wrap;order:-2;justify-content:space-between;gap:14px 22px;min-height:auto;position:static}.welcome-brand img{width:46px;height:46px}.welcome-navlinks{gap:18px}.welcome-page .welcome-copy{padding-top:16px}.welcome-page .welcome-copy:before{width:210px;height:210px;top:88px;left:-112px}.welcome-page .welcome-copy h1{font-size:clamp(38px,12vw,52px)}.welcome-page .welcome-actions{width:100%}.welcome-page .welcome-primary,.welcome-page .welcome-secondary{flex:160px}.welcome-visual{min-height:420px}.welcome-orbit{width:min(76vw,300px)}.welcome-hero-logo{border-width:7px;width:min(60vw,224px)}.welcome-person{width:min(64vw,220px);height:320px}.person-head{width:86px;height:86px}.person-body{height:210px}.person-book{width:86px;height:126px}.welcome-float{min-width:132px;padding:12px 14px 12px 48px}.welcome-float:before{width:24px;height:24px;top:14px;left:14px}.welcome-float strong{font-size:19px}.welcome-float.is-year{top:34px;left:0}.welcome-float.is-students{top:8px;right:0}.welcome-float.is-teachers{bottom:42px;right:0}.welcome-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.user-login-page .app-nav{min-height:74px;padding:0 18px}.user-login-page .app-brand{font-size:20px!important}.user-login-page .brand-mark{width:28px;height:28px}.user-login-page .app-main{width:min(100vw - 24px,680px);min-height:100vh;padding:22px 0 32px}.user-login-shell{grid-template-columns:1fr;gap:18px;min-height:auto;overflow:visible}.user-login-scene{opacity:.72;order:2;min-height:250px}.user-login-card{border-radius:20px;order:1}.scene-star{width:112px;height:112px;top:22px;left:34%}.scene-star:before{width:32px;height:32px;top:-18px;left:46px}.scene-folder{width:104px;height:80px;bottom:46px;left:2px}.scene-pencil{width:92px;height:18px;top:26px;right:8px}.scene-book{width:178px;height:68px;bottom:12px;right:24%}.scene-ruler{border-width:12px;width:82px;height:82px;bottom:92px;right:16%}.scene-cup,.scene-paper.is-wide{display:none}.admin-heading{flex-direction:column;align-items:flex-start}.admin-table-row{grid-template-columns:1fr;gap:8px}.classroom-card-header,.classroom-header-actions{flex-direction:column;align-items:flex-start}.classroom-create-form,.classroom-row,.classroom-edit-form,.user-row,.user-edit-form{grid-template-columns:1fr}.classroom-row{gap:8px;padding:16px 18px}.classroom-head{display:none}.user-card-header{flex-direction:column;align-items:flex-start}.user-search{flex-wrap:wrap;align-items:stretch;padding:16px 18px}.user-search input{width:100%}.user-search button,.user-search a{flex:120px}.user-head{display:none}.user-row{gap:10px;padding:16px 18px}.user-actions{flex-wrap:wrap}.form-actions{grid-template-columns:1fr}.user-edit-form{width:100%;margin-top:12px;position:static}.student-profile-card{flex-direction:column;align-items:flex-start;padding:28px}.admin-student-hero,.admin-student-grid,.admin-detail-list.is-grid,.teacher-view-hero,.teacher-profile-grid{grid-template-columns:1fr}.list-pagination{flex-direction:column;align-items:stretch}.pagination-link,.pagination-status{text-align:center;width:100%}.family-chip-grid,.student-view-family .family-chip-grid,.student-view-shell{grid-template-columns:1fr}.student-view-profile{flex-direction:column;align-items:flex-start;min-height:auto;padding:28px}.student-view-family{width:100%}.student-view-hero,.student-hero-main{grid-template-columns:1fr}.student-view-hero{display:grid}.student-hero-main{flex-direction:column;align-items:flex-start}.student-hero-stats{border-top:1px solid #e4e9f2;border-left:0}.student-info-grid,.student-family-grid{grid-template-columns:1fr}.student-view-panel{padding:22px}.profile-trigger{padding-inline:11px}.profile-trigger-name{display:none}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
