/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-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;--spacing:.25rem;--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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.border{border-style:var(--tw-border-style);border-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.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))}}:root{--navy:#0d2f4f;--navy-2:#163f63;--teal:#0d8b83;--teal-dark:#08736d;--teal-pale:#e7f6f3;--gold:#efb443;--coral:#e7775d;--ink:#1c3144;--muted:#647789;--line:#dfe8ee;--surface:#fff;--canvas:#f4f8fa;--shadow:0 24px 70px #0d2f4f21}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #0d8b8340}.center-screen{background:radial-gradient(circle at 10% 10%,#0d8b831f,#0000 27%),radial-gradient(circle at 90% 90%,#efb44321,#0000 25%),#f4f8fa;place-items:center;min-height:100vh;padding:24px;display:grid}.loading-card,.fatal-card{border:1px solid var(--line);width:min(430px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:28px;flex-direction:column;align-items:center;gap:12px;padding:42px;display:flex}.loading-card>span,.fatal-card p{color:var(--muted)}.fatal-card h1{margin:8px 0 0;font-size:1.6rem}.loader,.button-loader{border:3px solid #dbe9ea;border-top-color:var(--teal);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.button-loader{border-width:2px;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;letter-spacing:-.03em;background:linear-gradient(145deg,#16a59a,#08736d);border-radius:13px;place-items:center;width:44px;height:44px;font:800 .92rem/1 Arial,sans-serif;display:grid;box-shadow:0 8px 20px #0d8b8340}.brand-mark-large{border-radius:19px;width:64px;height:64px;font-size:1.2rem}.brand strong{color:var(--navy);letter-spacing:-.02em;font-size:1.02rem;line-height:1.05;display:block}.brand span{color:var(--muted);letter-spacing:.04em;font:600 .7rem/1.3 Arial,sans-serif}.brand small{color:var(--muted);margin-top:2px;font-size:.58rem;line-height:1.25;display:block}.brand .student-header-identity{color:var(--navy);letter-spacing:0;margin-top:4px;font-size:clamp(.58rem,.7vw,.68rem);font-weight:800}.brand .student-header-identity span{color:var(--teal);font:inherit;padding:0 4px}.eyebrow{color:#ffffffad;letter-spacing:.2em;margin:0 0 10px;font:800 .68rem/1 Arial,sans-serif}.eyebrow.teal{color:var(--teal)}.muted{color:var(--muted)}.icon{width:24px;height:24px;color:var(--teal);flex:none;place-items:center;font:800 .78rem/1 Arial,sans-serif;display:inline-grid}.minimal-login-page{background:radial-gradient(circle at 50% 0,#0d8b8321,#0000 38%),linear-gradient(#f8fcfc 0%,#eef5f6 100%);place-items:center;min-height:100vh;padding:clamp(20px,4vw,48px);display:grid}.minimal-login-card{background:#fffffff7;border:1px solid #9dbec28c;border-radius:28px;width:min(580px,100%);overflow:hidden;box-shadow:0 28px 80px #0d2f4f24}.minimal-login-header{text-align:center;padding:34px 38px 24px}.minimal-login-header img{object-fit:cover;border:5px solid #fff;border-radius:50%;width:104px;height:104px;margin:0 auto 17px;display:block;box-shadow:0 12px 34px #0d2f4f2e}.minimal-login-header p{color:var(--teal);letter-spacing:.16em;margin:0 0 8px;font:850 .72rem/1.2 Arial,sans-serif}.minimal-login-header h1{color:var(--navy);letter-spacing:-.035em;margin:0;font-size:clamp(1.75rem,5vw,2.25rem);line-height:1.14}.minimal-login-header>span{color:var(--muted);margin-top:8px;font-size:.9rem;line-height:1.55;display:block}.realtime-clock{color:var(--navy);background:linear-gradient(135deg,#eefaf8,#f8fcfc);border:1px solid #c7e2df;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin:0 38px;padding:14px 17px;display:grid}.realtime-clock div small,.realtime-clock div b,.realtime-clock time small,.realtime-clock time strong{display:block}.realtime-clock small{color:var(--teal-dark);margin-bottom:3px;font-size:.72rem;font-weight:750}.realtime-clock b{text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;line-height:1.45;overflow:hidden}.realtime-clock time{text-align:right;border-left:1px solid #bcded9;min-width:102px;padding-left:17px}.realtime-clock time strong{letter-spacing:.02em;font:850 1.08rem/1.2 Arial,sans-serif}.minimal-login-content{padding:25px 38px 30px}.minimal-login-title{text-align:center;margin-bottom:21px}.minimal-login-title h2{color:var(--navy);margin:0;font-size:1.45rem}.minimal-login-title p{color:var(--muted);margin:6px 0 0;font-size:.88rem;line-height:1.55}.login-sound-toggle{min-height:32px;color:var(--teal-dark);cursor:pointer;background:#eefaf8;border:1px solid #c7e2df;border-radius:999px;margin-top:12px;padding:5px 11px;font-size:.72rem;font-weight:800;transition:border-color .18s,color .18s,background .18s}.login-sound-toggle span{margin-right:4px;font-size:.86rem}.login-sound-toggle:hover,.login-sound-toggle:focus-visible{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #0d8b8317}.login-sound-toggle.off{color:#6f7f89;background:#f4f7f8;border-color:#d7e1e7}.login-role-switch{background:#f3f7f8;border:1px solid #d6e5e7;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:22px;padding:5px;display:grid}.login-role-switch button{color:#667b89;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:9px;min-height:64px;padding:10px 13px;transition:border-color .18s,color .18s,background .18s,box-shadow .18s;display:grid}.login-role-switch button>span{color:#6e818e;background:#e5ecef;border-radius:10px;grid-row:1/3;place-items:center;width:34px;height:34px;font:900 .8rem/1 Arial,sans-serif;display:grid}.login-role-switch button b{align-self:end;font-size:.9rem;line-height:1.2}.login-role-switch button small{align-self:start;margin-top:3px;font-size:.75rem;font-weight:700}.login-role-switch button.active{color:var(--navy);background:#fff;border-color:#a9d6d1;box-shadow:0 6px 18px #0d2f4f14}.login-role-switch button.active>span{color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-dark))}.student-pin-form{gap:16px;display:grid}.student-pin-heading{text-align:center}.student-pin-heading .eyebrow{margin-bottom:7px}.student-pin-heading h3{color:var(--navy);margin:0;font-size:1.22rem}.student-pin-heading>span{color:var(--muted);margin-top:5px;font-size:.88rem;line-height:1.5;display:block}.student-number-field,.student-pin-field{cursor:text;background:#fff;border:1px solid #d6e1e7;border-radius:15px;padding:13px 16px;transition:border-color .18s,box-shadow .18s,background .18s;display:block;position:relative}.student-number-field.active,.student-pin-field.active{border-color:var(--teal);background:#fbfffe;box-shadow:0 0 0 4px #0d8b8314}.student-number-field>span,.student-pin-field>span{color:#3e5366;font-size:.86rem;font-weight:800;display:block}.student-number-field input{width:100%;min-height:38px;color:var(--navy);letter-spacing:.14em;text-align:center;background:0 0;border:0;outline:0;margin-top:5px;padding:0;font:850 1.45rem/1.35 Arial,sans-serif}.student-number-field input::placeholder{color:#a4b1ba;letter-spacing:0;font:750 .95rem/1.35 Noto Sans Thai,Leelawadee UI,Tahoma,Arial,sans-serif}.student-number-field small,.student-pin-field small{color:var(--teal-dark);margin-top:4px;font-size:.76rem;font-weight:750;display:block}.student-pin-field{text-align:center}.student-pin-field>span{text-align:left}.student-pin-field>small{text-align:right}.pin-dot-row{justify-content:center;align-items:center;gap:clamp(8px,2.2vw,13px);min-height:38px;margin:7px 0 0;display:flex}.pin-dot-row i{background:#fff;border:2px solid #7bb9b3;border-radius:50%;width:17px;height:17px;transition:transform .15s,background .15s,border-color .15s;display:block}.pin-dot-row i.filled{border-color:var(--teal);background:var(--teal);transform:scale(1.07);box-shadow:inset 0 0 0 3px #fff}.pin-capture-input{opacity:.01;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:7px;left:50%}.pin-keypad{grid-template-columns:repeat(3,1fr);gap:10px;width:min(330px,100%);margin:0 auto;display:grid}.pin-keypad button,.pin-keypad>span{aspect-ratio:1;width:100%}.pin-keypad button{min-width:0;height:auto;color:var(--navy);cursor:pointer;touch-action:manipulation;background:#fff;border:1.5px solid #75b7b0;border-radius:50%;place-items:center;padding:0;font:800 clamp(1.85rem,5.5vw,2.25rem)/1 Arial,sans-serif;transition:transform .12s,color .12s,background .12s,box-shadow .12s;display:grid;box-shadow:0 5px 13px #0d2f4f0f}.pin-keypad button:hover,.pin-keypad button:focus-visible{color:#fff;background:var(--teal);box-shadow:0 8px 18px #0d8b8333}.pin-keypad button:active{transform:scale(.94)}.pin-keypad .pin-backspace{color:#536b7a;background:#f5f8f9;border-color:#c8d4da;font-size:clamp(1.8rem,5vw,2.1rem)}.pin-keypad.loading{visibility:hidden}.masked-pin-value{min-height:38px;color:var(--navy);letter-spacing:.35em;text-align:center;justify-content:center;align-items:center;font:900 1.65rem/1 monospace;display:flex;overflow:hidden}.student-pin-submit{width:100%;margin-top:2px}.student-pin-submit:disabled{color:#85969f;box-shadow:none;cursor:not-allowed;background:#e5ecef}.teacher-login-form{margin-top:4px}.teacher-login-form .student-pin-heading{margin-bottom:4px}.teacher-login-form.numeric-pin{gap:13px}.teacher-login-mode{color:var(--teal);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-weight:800;text-decoration:underline}.teacher-login-mode:hover,.teacher-login-mode:focus-visible{color:var(--navy)}.minimal-login-content .login-form{gap:17px}.minimal-login-content .login-form label>span{margin-bottom:7px;font-size:.9rem}.minimal-login-content .input-wrap{height:58px}.minimal-login-content .input-wrap input{font-size:1rem}.minimal-login-content .primary-button{margin-top:2px}.minimal-login-content .session-expired-alert{margin:0 0 18px}.minimal-login-footer{text-align:center;background:#fbfdfd;border-top:1px solid #e4edef;justify-items:center;padding:19px 38px 23px;display:grid}.minimal-login-footer>span{color:var(--teal-dark);font-size:.74rem;font-weight:750}.minimal-login-footer>b{color:var(--navy);margin-top:3px;font-size:.88rem}.minimal-login-footer>small{color:var(--muted);justify-content:center;align-items:center;gap:4px;margin-top:9px;font-size:.72rem;line-height:1.4;display:flex}.minimal-login-footer .icon{width:18px;height:18px;font-size:.65rem}.login-page{background:#fff;grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(155deg,#0d2f4ff7,#0b3d53f5 48%,#066e69f0),#0d2f4f;flex-direction:column;justify-content:space-between;padding:clamp(34px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-story .brand{z-index:2;position:relative}.login-story .brand strong{color:#fff}.login-story .brand span{color:#ffffff9e}.login-story .brand small{color:#ffffff8c}.login-story .brand-mark{color:var(--navy);background:var(--gold);box-shadow:0 9px 24px #0003}.story-copy{z-index:2;max-width:680px;margin:12vh 0 9vh;position:relative}.story-copy h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.8rem,5.7vw,6.2rem);font-weight:750;line-height:.98}.story-copy h1 em{color:#78d8ca;font-style:normal}.story-copy>p:last-child{color:#ffffffc2;max-width:590px;margin:30px 0 0;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.85}.story-metrics{z-index:2;border-top:1px solid #ffffff2e;grid-template-columns:repeat(3,1fr);padding-top:24px;display:grid;position:relative}.story-metrics div{border-right:1px solid #ffffff26;padding:0 28px}.story-metrics div:first-child{padding-left:0}.story-metrics div:last-child{border:0}.story-metrics b,.story-metrics span{display:block}.story-metrics b{font-size:.92rem}.story-metrics span{color:#ffffff94;margin-top:6px;font-size:.77rem;line-height:1.5}.orb{border:1px solid #ffffff24;border-radius:50%;position:absolute}.orb:before,.orb:after{content:"";border-radius:inherit;border:inherit;position:absolute;inset:14%}.orb:after{inset:31%}.orb-one{width:520px;height:520px;top:-170px;right:-210px}.orb-two{width:330px;height:330px;bottom:10%;left:-170px}.login-panel{background:linear-gradient(#fff,#fbfdfd);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:clamp(30px,5vw,80px);display:flex}.login-card{width:min(480px,100%)}.mobile-brand{margin-bottom:44px;display:none}.login-card h2{color:var(--navy);letter-spacing:-.04em;margin:0 0 6px;font-size:clamp(1.8rem,3vw,2.45rem)}.login-card>.muted{margin:0 0 30px;font-size:.94rem}.session-expired-alert{color:#fff;background:linear-gradient(135deg,#d84a43,#af2e31);border:1px solid #a92e2e;border-radius:12px;align-items:center;gap:11px;margin:-10px 0 24px;padding:13px 15px;display:flex;box-shadow:0 10px 24px #ad2e3133}.session-expired-alert>span{color:#b33434;background:#fff;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font:900 .8rem/1 Arial,sans-serif;display:grid}.session-expired-alert p{margin:0;font-size:.82rem;font-weight:800;line-height:1.45}.login-form{gap:20px;display:grid}.login-form label>span,.new-student-form label,.score-input>span,.feedback-input>span{color:#3e5366;margin-bottom:8px;font-size:.82rem;font-weight:700;display:block}.input-wrap{background:#fff;border:1px solid #d6e1e7;border-radius:13px;align-items:center;height:56px;padding:0 14px;transition:all .2s;display:flex}.input-wrap:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px #0d8b8314}.input-wrap input{min-width:0;color:var(--navy);background:0 0;border:0;outline:0;flex:1;font-size:.95rem}.input-wrap select{appearance:none;min-width:0;color:var(--navy);cursor:pointer;background:0 0;border:0;outline:0;flex:1;font-size:.9rem;font-weight:650}.course-select-wrap:after{content:"⌄";color:var(--teal);pointer-events:none}.input-wrap input::placeholder{color:#9aa9b5}.show-password{color:var(--teal-dark);cursor:pointer;background:0 0;border:0;font-size:.75rem;font-weight:800}.primary-button,.secondary-button{color:#fff;background:linear-gradient(135deg, var(--teal), var(--teal-dark));cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;min-height:54px;padding:0 22px;font-weight:800;transition:all .2s;display:inline-flex;box-shadow:0 12px 28px #0d8b8333}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px);box-shadow:0 15px 32px #0d8b8340}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait;transform:none}.primary-button.compact{min-height:44px;padding:0 20px}.secondary-button{min-height:46px;box-shadow:none}.form-error{color:#a33b2f;background:#fff0ed;border-radius:10px;padding:11px 14px;font-size:.84rem}.demo-box{background:#f1faf8;border:1px dashed #bfd8d5;border-radius:15px;margin-top:26px;padding:16px}.demo-box>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.demo-box b{color:var(--navy);font-size:.82rem}.demo-box span{color:var(--muted);font-size:.68rem}.demo-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}.demo-actions button{color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #c9dedc;border-radius:9px;padding:9px 10px;font-size:.78rem;font-weight:800}.privacy-line{color:#7b8a96;align-items:center;gap:6px;margin:18px 0 0;font-size:.7rem;line-height:1.5;display:flex}.teacher-identity{background:linear-gradient(135deg,#f5fbfa,#fff);border:1px solid #dce9e8;border-radius:15px;align-items:center;gap:13px;margin-top:24px;padding:13px 15px;display:flex}.teacher-identity img{object-fit:cover;object-position:center;border:3px solid #fff;border-radius:50%;flex:0 0 58px;width:58px;height:58px;box-shadow:0 5px 16px #0d2f4f2e}.teacher-identity small,.teacher-identity b,.teacher-identity span{display:block}.teacher-identity small{color:var(--teal-dark);font-size:.63rem;font-weight:800}.teacher-identity b{color:var(--navy);margin-top:2px;font-size:.8rem}.teacher-identity span{color:var(--muted);margin-top:2px;font:600 .6rem/1.3 Arial,sans-serif}.site-credit{color:#71808d;text-align:center;letter-spacing:.02em;padding:22px 24px 28px;font:600 .72rem/1.5 Arial,sans-serif}.site-credit span{color:#c6a15b;margin:0 .35rem}.password-setup-page{background:radial-gradient(circle at 0 0,#0d8b831f,#0000 34%),#f4f8fa;padding:28px}.password-setup-card{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:34px}.password-setup-card>.brand{margin-bottom:34px}.password-setup-card h1{color:var(--navy);margin:6px 0 8px;font-size:2rem}.password-rule{color:#0b6e69;background:#eaf8f6;border-radius:12px;margin:20px 0;padding:13px 15px;font-size:.84rem;font-weight:700}.structure-settings{gap:22px;display:grid}.structure-total{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:4px 24px;padding:24px 28px;display:grid}.structure-total strong{color:var(--navy);grid-row:span 2;font-size:2.35rem}.structure-total strong small{color:var(--muted);margin-left:4px;font-size:.9rem}.structure-total>span{color:var(--muted)}.structure-total.valid{border-left:5px solid var(--teal)}.structure-total.warning{border-left:5px solid var(--gold)}.structure-list{gap:12px;display:grid}.structure-row{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;grid-template-columns:48px minmax(190px,1.5fr) minmax(170px,1.25fr) minmax(120px,.8fr) 100px 82px auto;align-items:end;gap:12px;padding:18px;display:grid}.structure-number{background:var(--navy);color:#fff;border-radius:12px;align-self:center;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.structure-row label,.add-score-item label{color:var(--muted);gap:6px;font-size:.72rem;font-weight:700;display:grid}.structure-row input,.add-score-item input{width:100%;color:var(--navy);background:#fbfdfe;border:1px solid #d7e1e7;border-radius:10px;outline:none;padding:10px 11px}.structure-row input:focus,.add-score-item input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d8b8314}.structure-actions{gap:7px;display:flex}.structure-actions button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;padding:10px 12px;font-weight:750}.structure-actions button.danger{color:#a33a3a;background:#fff0ef}.structure-actions button:disabled{opacity:.45;cursor:not-allowed}.save-all-structure{color:#fff;background:linear-gradient(135deg,#a92833,#d64b43);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;padding:18px 22px;display:flex;box-shadow:0 12px 28px #b92f3738}.save-all-structure b,.save-all-structure span{display:block}.save-all-structure b{font-size:.86rem}.save-all-structure span{color:#ffffffc7;margin-top:5px;font-size:.66rem}.save-all-structure>button{color:#a92833;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #ffffffbf;border-radius:10px;min-height:43px;padding:0 18px;font-size:.72rem;font-weight:900}.save-all-structure>button:disabled{color:#ffffffa6;cursor:not-allowed;background:#ffffff21;border-color:#ffffff38}.save-all-structure.unchanged{background:linear-gradient(135deg,#7f4045,#a75a5a)}.add-score-item{grid-template-columns:minmax(200px,1.3fr) repeat(3,minmax(140px,1fr)) 110px auto;align-items:end;gap:14px;display:grid}.add-score-item>div>span{color:var(--muted);font-size:.82rem}.add-score-item-error{color:#9d2f35;background:#fff0ef;border-radius:10px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:.8rem;font-weight:750}@media (width<=1200px){.structure-row{grid-template-columns:48px repeat(2,minmax(180px,1fr))}.structure-actions{grid-column:2/-1}.add-score-item{grid-template-columns:repeat(2,minmax(180px,1fr))}.add-score-item>div{grid-column:1/-1}}@media (width<=680px){.structure-row,.add-score-item{grid-template-columns:1fr}.save-all-structure{flex-direction:column;align-items:stretch}.save-all-structure>button{width:100%}.structure-number{display:none}.structure-actions{grid-column:auto}}.login-panel .site-credit{color:#9aa7b1;width:min(480px,100%);margin-top:60px;padding:0}.credential-panel{background:#fff;border:1px solid #9ed2cc;border-radius:18px;margin-bottom:24px;overflow:hidden;box-shadow:0 18px 45px #0d8b831f}.credential-title{background:linear-gradient(135deg,#eaf8f6,#fff8e9);justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.credential-title h2{color:var(--navy);margin:0 0 4px}.credential-title p:last-child{color:var(--muted);margin:0;font-size:.8rem}.credential-close{color:var(--muted);cursor:pointer;background:#fff;border:0;border-radius:8px;padding:8px 12px}.credential-close:disabled{color:#a54236;cursor:not-allowed;background:#ffe9e5}.credential-table-wrap{max-height:330px;overflow:auto}.credential-table-wrap table{border-collapse:collapse;width:100%}.credential-table-wrap th,.credential-table-wrap td{border-bottom:1px solid var(--line);text-align:left;padding:11px 18px;font-size:.78rem}.credential-table-wrap th{color:var(--muted);background:#f8fbfc;font-size:.68rem;position:sticky;top:0}.credential-table-wrap td small{color:var(--muted);margin-top:2px;display:block}.credential-table-wrap code{color:var(--navy);background:#edf4f7;border-radius:6px;padding:4px 7px;font-weight:800}.credential-actions{justify-content:flex-end;align-items:center;gap:9px;padding:15px 18px;display:flex}.credential-actions span{color:#8a6420;margin-right:auto;font-size:.7rem}.credential-actions button{color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #bad4d1;border-radius:9px;padding:9px 13px;font-weight:800}.credential-actions button.primary{border-color:var(--teal);color:#fff;background:var(--teal)}.bulk-password-launch{border-left:5px solid #d64b43;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:20px 22px;display:flex}.bulk-password-launch h2{color:var(--navy);margin:2px 0 5px;font-size:1.15rem}.bulk-password-launch p:last-child{color:var(--muted);margin:0;font-size:.72rem}.bulk-password-launch>button,.bulk-password-actions button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#b92f37,#d64b43);border:0;border-radius:10px;padding:11px 14px;font-size:.72rem;font-weight:800}.bulk-password-panel{margin-bottom:18px;padding:22px}.bulk-password-head,.bulk-password-actions{justify-content:space-between;align-items:center;gap:20px;display:flex}.bulk-password-head h2{color:var(--navy);margin:0;font-size:1.1rem}.bulk-password-head p,.bulk-password-actions p{color:var(--muted);margin:4px 0 0;font-size:.7rem}.select-all-button{color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #bad4d1;border-radius:9px;padding:9px 12px;font-size:.68rem;font-weight:800}.bulk-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:310px;margin:18px 0;padding:4px;display:grid;overflow:auto}.bulk-student-grid label{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;display:flex}.bulk-student-grid label.selected{background:#edf9f7;border-color:#66bdb4}.bulk-student-grid input{accent-color:var(--teal)}.bulk-student-grid span,.bulk-student-grid b,.bulk-student-grid small{display:block}.bulk-student-grid b{color:var(--navy);font-size:.72rem}.bulk-student-grid small{color:var(--muted);margin-top:3px;font-size:.62rem}.bulk-password-actions{border-top:1px solid var(--line);padding-top:16px}.bulk-password-actions button:disabled{opacity:.45;cursor:not-allowed}@media (width<=620px){.credential-title,.credential-actions{flex-direction:column;align-items:stretch}.credential-actions span{margin:0}}.course-settings{gap:24px;display:grid}.student-waiting-page{background:radial-gradient(circle at 50% 10%,#e5f5f3 0,#0000 35%),linear-gradient(155deg,#eef7f8,#f8fbfc 52%,#e6f1f3);place-items:center;min-height:100vh;padding:32px 18px;display:grid}.student-waiting-card{text-align:center;background:#fffffff5;border:1px solid #c5dedd;border-radius:30px;width:min(680px,100%);padding:38px 44px 32px;box-shadow:0 24px 70px #10374e21}.student-waiting-card .brand{justify-content:center;margin-bottom:18px}.student-waiting-status{aspect-ratio:1;color:#fff;background:linear-gradient(145deg,#248f87,#4ab8ae);border-radius:50%;place-items:center;width:76px;margin:0 auto 18px;display:grid;position:relative;box-shadow:0 12px 28px #248f873d}.student-waiting-status span{z-index:1;font:900 2rem/1 Arial,sans-serif;position:relative}.student-waiting-status i{border:2px solid #b9dfda;border-radius:50%;position:absolute;inset:-8px}.student-waiting-card h1{color:var(--navy);margin:5px auto 9px;font-size:clamp(1.55rem,4vw,2.15rem);line-height:1.25}.student-waiting-lead{max-width:570px;color:var(--muted);margin:0 auto 22px;font-size:1rem;line-height:1.7}.student-waiting-identity{background:#f3faf9;border:1px solid #cde2e0;border-radius:17px;gap:4px;padding:17px;display:grid}.student-waiting-identity small,.student-waiting-identity span{color:var(--muted)}.student-waiting-identity b{color:var(--navy);font-size:1.1rem}.student-waiting-notice{color:#71501e;text-align:left;background:#fff8e9;border:1px solid #f0d2a0;border-radius:16px;grid-template-columns:36px 1fr;align-items:start;gap:12px;margin-top:15px;padding:15px 17px;display:grid}.student-waiting-notice>span{aspect-ratio:1;color:#fff;background:#d99b37;border-radius:50%;place-items:center;width:32px;font-weight:900;display:grid}.student-waiting-notice p,.student-waiting-safe p{margin:0;line-height:1.6}.student-waiting-notice b,.student-waiting-safe b{margin-bottom:2px;display:block}.student-waiting-safe{color:#386662;text-align:left;background:#edf7f5;border-radius:15px;margin-top:14px;padding:14px 17px}.student-waiting-logout{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:14px;width:100%;min-height:50px;margin-top:20px;font-size:1rem;font-weight:850}.student-waiting-footer{color:var(--muted);margin-top:13px;line-height:1.5;display:block}@media (width<=620px){.student-waiting-page{padding:14px}.student-waiting-card{border-radius:23px;padding:27px 18px 24px}}.academic-safety-dialog{background:linear-gradient(135deg,#fff3f2,#fff9f7);border:1px solid #edb7b7;border-left:7px solid #c95f64;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 22px;display:grid;box-shadow:0 12px 30px #7e2f3417}.academic-safety-icon{aspect-ratio:1;color:#fff;background:#c95f64;border-radius:50%;place-items:center;width:46px;font:900 1.45rem/1 Arial,sans-serif;display:grid}.academic-safety-dialog h2{color:var(--navy);margin:2px 0 5px;font-size:1.2rem}.academic-safety-dialog p{color:var(--muted);margin:0;line-height:1.55}.academic-safety-dialog strong{color:#a2383e;margin-top:7px;display:block}.academic-safety-dialog>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.academic-safety-dialog button{cursor:pointer;border-radius:12px;min-height:42px;padding:8px 15px;font-weight:800}.academic-safety-dialog .review{color:#8f3c42;background:#fff;border:1px solid #dba1a4}.academic-safety-dialog .confirm{color:#fff;background:#a44f55;border:0}.score-release-center{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#f4fbfa,#fff);border:1px solid #b9dcd7;border-radius:20px;justify-content:space-between;align-items:center;gap:20px;padding:23px 26px;display:flex}.score-release-center h2{color:var(--navy);margin:3px 0 5px}.score-release-center p{color:var(--muted);margin:0}.release-policy-guide{gap:8px;min-width:270px;display:grid}.release-policy-guide span{color:var(--navy);background:#e8f5f3;border-radius:12px;padding:10px 13px}.release-policy-guide b{color:var(--teal)}.period-release-controls{border-bottom:1px solid var(--line);background:#f8fbfb;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 16px;display:grid}.period-release-controls>div,.course-release-controls>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.period-release-controls b,.course-release-controls span{color:var(--navy);margin-right:auto;font-size:.83rem}.period-release-controls button,.course-release-controls button{color:#23726d;cursor:pointer;background:#fff;border:1px solid #b8d7d3;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:800}.course-release-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px 0;display:grid}.course-release-controls>div{background:#f5f9f9;border-radius:12px;padding:9px 10px}.course-release-controls button.active{border-color:var(--teal);color:#fff;background:var(--teal)}.mini-progress.withheld span,.student-score-bar.withheld i{opacity:.55;background:repeating-linear-gradient(135deg,#9bcac4 0 7px,#d7ebe8 7px 14px)}.subject-score.pass_fail b,.subject-score.pending b{color:var(--teal);font-size:1rem}@media (width<=760px){.academic-safety-dialog{grid-template-columns:auto 1fr}.academic-safety-dialog>div:last-child{grid-column:1/-1;justify-content:stretch}.academic-safety-dialog button{flex:1}.score-release-center{flex-direction:column;align-items:stretch}.release-policy-guide{min-width:0}.period-release-controls,.course-release-controls{grid-template-columns:1fr}}.student-period-visibility{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #b9dcd7;border-radius:20px;overflow:hidden}.visibility-current{background:linear-gradient(135deg,#f1faf8,#fff 62%,#fff9e8);grid-template-columns:minmax(0,1fr) 230px;align-items:center;gap:28px;padding:25px 27px;display:grid}.visibility-current h2{color:var(--navy);margin:2px 0 7px;font-size:1.35rem}.visibility-current p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:.76rem;line-height:1.65}.visibility-status{color:var(--teal-dark);text-align:center;background:#eaf8f5;border:1px solid #afd8d3;border-radius:15px;padding:16px 18px}.visibility-status.hidden{color:#a13e39;background:#fff2f0;border-color:#efc8c2}.visibility-status span,.visibility-status strong,.visibility-status b,.visibility-status small{display:block}.visibility-status span{letter-spacing:.08em;font-size:.61rem;font-weight:850}.visibility-status strong{color:var(--navy);margin-top:5px;font-size:1.05rem}.visibility-status b{color:var(--teal-dark);font-size:.78rem}.visibility-status small{color:#648079;margin-top:5px;font-size:.57rem}.visibility-period-grid{background:#fbfdfe;border-top:1px solid #e6eff0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 20px;display:grid}.visibility-period-grid article{min-height:128px;color:var(--navy);background:#fff;border:1px solid #d8e3e6;border-radius:12px;align-content:space-between;gap:12px;padding:13px 14px;display:grid}.visibility-period-grid article.active{border-color:var(--teal);background:#eaf8f5;box-shadow:0 0 0 3px #0d8b831a}.visibility-period-grid article.unavailable{color:#96a3aa;background:#f3f6f7}.visibility-period-grid span,.visibility-period-grid b,.visibility-period-grid small{display:block}.visibility-period-grid span{color:var(--teal-dark);font-size:.55rem;font-weight:850}.visibility-period-grid article.unavailable span{color:#96a3aa}.visibility-period-grid b{font-size:.75rem}.visibility-period-grid small{color:var(--muted);font-size:.58rem}.visibility-period-grid article>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:8px;width:100%;min-height:34px;font-size:.64rem;font-weight:850}.visibility-period-grid article>button.hide{color:#a13e39;background:#fff0ef;border:1px solid #efc7c3}.visibility-period-grid article>button:disabled{color:#8a989f;cursor:not-allowed;background:#e4e9eb}.visibility-action-row{background:#fff;border-top:1px solid #e2ebed;justify-content:space-between;align-items:center;gap:24px;padding:17px 22px;display:flex}.visibility-action-row b{color:var(--navy);font-size:.72rem}.visibility-action-row p{color:var(--muted);margin:4px 0 0;font-size:.62rem;line-height:1.5}.visibility-action-row button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;flex:none;min-height:43px;padding:0 16px;font-size:.69rem;font-weight:850}.visibility-action-row button:disabled{color:#74848d;cursor:not-allowed;background:#e8edef}.course-plan-intro{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fff,#effaf8);border-radius:20px;justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.course-plan-intro h2{color:var(--navy);margin:0 0 6px}.course-plan-intro p:last-child{color:var(--muted);margin:0}.course-plan-intro>strong{color:var(--teal);font-size:3rem}.course-plan-intro>strong small{color:var(--muted);font-size:.85rem}.period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.period-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;overflow:hidden}.period-card>header{color:#fff;background:linear-gradient(135deg,var(--navy),var(--navy-2));justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.period-card>header span{color:#a9d8d3;font-size:.72rem;font-weight:800}.period-card>header h3{margin:3px 0 0;font-size:1.2rem}.period-card>header b{color:var(--navy);background:var(--gold);border-radius:20px;padding:6px 10px;font-size:.72rem}.period-courses{gap:12px;padding:16px;display:grid}.course-edit-card{border:1px solid var(--line);background:#fbfdfe;border-radius:13px;padding:15px}.course-edit-card.current{box-shadow:inset 4px 0 var(--teal);border-color:#78c8bf}.course-edit-head,.course-edit-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.course-edit-head b{color:var(--teal-dark);font-size:.72rem}.course-edit-head button,.course-edit-actions button,.new-course-card button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:8px;padding:8px 11px;font-size:.72rem;font-weight:800}.course-edit-head button:disabled,.new-course-card button:disabled{opacity:.45;cursor:not-allowed}.course-head-actions,.period-header-actions{align-items:center;gap:7px;display:flex}.course-edit-head .close-course,.period-header-actions button{color:#a13e39;background:#fff0ef;border:1px solid #efc7c3}.period-header-actions button{cursor:pointer;border-radius:8px;padding:7px 10px;font-size:.67rem;font-weight:850}.period-header-actions button:disabled{opacity:.45;cursor:not-allowed}.period-card.period-closed>header{background:#f5f7f8}.period-card.period-closed>header h3,.period-card.period-closed>header span{color:#74838d}.course-fields{grid-template-columns:1fr 2fr;gap:9px;margin:13px 0;display:grid}.course-fields label{color:var(--muted);font-size:.67rem;font-weight:700}.course-fields input,.new-course-card input{width:100%;color:var(--navy);background:#fff;border:1px solid #d7e1e7;border-radius:8px;outline:0;margin-top:4px;padding:9px 10px}.course-edit-actions label{color:var(--muted);align-items:center;gap:6px;font-size:.7rem;display:flex}.empty-period{color:var(--muted);text-align:center;padding:25px;font-size:.8rem}.add-course-button{width:calc(100% - 32px);color:var(--teal-dark);cursor:pointer;background:#f1faf8;border:1px dashed #99c9c4;border-radius:10px;margin:0 16px 16px;padding:11px;font-weight:800}.new-course-card{background:var(--teal-pale);border-radius:12px;gap:8px;margin:0 16px 16px;padding:13px;display:grid}.new-course-card input{margin:0}.new-course-card>div{justify-content:flex-end;gap:8px;display:flex}.new-course-card button.cancel{color:var(--muted);background:#fff}@media (width<=680px){.course-edit-head{flex-direction:column;align-items:stretch}.course-head-actions{grid-template-columns:1fr 1fr;display:grid}.course-head-actions button{width:100%}.period-card>header{align-items:flex-start}.period-header-actions{flex-direction:column;align-items:flex-end}}@media (width<=900px){.period-grid{grid-template-columns:1fr}.visibility-period-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.visibility-current,.visibility-period-grid{grid-template-columns:1fr}.visibility-action-row{flex-direction:column;align-items:stretch}.visibility-action-row button{width:100%}}@media (width<=560px){.course-plan-intro{align-items:flex-start}.course-fields{grid-template-columns:1fr}}.app-shell{min-height:100vh}.app-header{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #e4ebef;justify-content:space-between;align-items:center;gap:20px;height:76px;padding:0 clamp(20px,5vw,70px);display:flex;position:sticky;top:0}.header-actions{align-items:center;gap:20px;display:flex;position:relative}.header-action-mobile{display:none}.header-logout-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#b92f37,#d64b43);border:0;border-radius:10px;min-height:42px;padding:0 18px;font-size:.76rem;font-weight:850;transition:transform .15s,box-shadow .15s;box-shadow:0 8px 20px #b92f3738}.header-logout-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px #b92f374d}.header-logout-button:active{transform:translateY(1px)}.header-logout-status{z-index:2;width:340px;max-width:calc(100vw - 28px);position:absolute;top:55px;right:0}.academic-badge{color:var(--muted);align-items:center;gap:8px;font-size:.72rem;font-weight:700;display:flex}.academic-badge span{background:var(--teal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #0d8b831c}.profile-button{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.avatar,.student-avatar{color:#fff;background:linear-gradient(145deg, var(--navy-2), var(--navy));border-radius:12px;place-items:center;width:40px;height:40px;font-weight:800;display:grid}.teacher-avatar{object-fit:cover;object-position:center;border:2px solid #fff;display:block;box-shadow:0 4px 12px #0d2f4f33}.profile-text b,.profile-text small{display:block}.profile-text b{color:var(--navy);font-size:.82rem}.profile-text small{color:var(--muted);margin-top:3px;font-size:.67rem}.chevron{color:#8293a0}.profile-menu{border:1px solid var(--line);background:#fff;border-radius:14px;width:250px;max-width:calc(100vw - 28px);padding:16px;transition:width .2s;position:absolute;top:57px;right:0;box-shadow:0 18px 50px #0d2f4f2b}.profile-menu.logout-in-progress{width:340px}.profile-menu b,.profile-menu span{display:block}.profile-menu b{font-size:.8rem}.profile-menu span{color:var(--muted);margin:4px 0 14px;font-size:.67rem}.profile-menu .logout-button{color:#a54236;cursor:pointer;background:#fff0ed;border:0;border-radius:8px;width:100%;padding:9px;font-size:.76rem;font-weight:800;transition:color .15s,background .15s,transform .15s}.profile-menu .logout-button:active{color:#fff;background:#c83f3f;transform:translateY(1px)}.logout-status{color:#fff;text-align:center;background:linear-gradient(135deg,#b92f37,#d64b43);border-radius:11px;padding:15px 18px 13px;box-shadow:0 10px 24px #b92f3738}.logout-status small{color:#fffc;font-size:.68rem;font-weight:700;display:block}.logout-status>div{justify-content:center;align-items:baseline;gap:5px;margin-top:2px;display:flex}.logout-status strong{font:900 2rem/1 Arial,sans-serif}.logout-status em{font-size:.68rem;font-style:normal;font-weight:800}.logout-status p{margin:7px 0 10px;font-size:.8rem;font-weight:850}.logout-status>i{background:#ffffff40;border-radius:999px;height:4px;display:block;overflow:hidden}.logout-status>i>span{border-radius:inherit;background:#fff;height:100%;margin:0;transition:width 1s linear;display:block}.dashboard{width:min(1180px,100% - 40px);margin:0 auto;padding:54px 0 70px}.student-focus-lock{z-index:1000;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071e34f0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.student-focus-lock>div{color:#fff;text-align:center;background:linear-gradient(145deg,#12435df7,#082a44fa);border:1px solid #ffffff2e;border-radius:22px;width:min(460px,100%);padding:34px;box-shadow:0 28px 80px #0000005c}.focus-lock-student{justify-items:center;gap:10px;margin-bottom:19px;display:grid}.student-focus-lock .focus-lock-student-photo{background:linear-gradient(145deg,var(--teal),var(--navy));border:4px solid #f4b942;border-radius:30px;width:112px;height:112px;font-size:1.45rem;box-shadow:0 14px 36px #00000057,0 0 0 5px #f4b9421f}.focus-lock-student b,.focus-lock-student span{display:block}.focus-lock-student b{color:#fff;font-size:1rem;line-height:1.35}.focus-lock-student span{color:#ffffffb8;margin-top:3px;font-size:.7rem}.student-focus-lock h2{margin:4px 0 10px;font-size:clamp(1.35rem,4vw,1.8rem)}.student-focus-lock p:not(.eyebrow){color:#ffffffc2;margin:0 auto 22px;font-size:.78rem;line-height:1.7}.student-focus-lock button{cursor:pointer;border-radius:11px;width:100%;min-height:45px;font-size:.76rem;font-weight:850}.focus-enter-button{color:var(--navy);background:var(--gold);border:0}.focus-logout-button{color:#fff;background:0 0;border:1px solid #ffffff52;margin-top:9px}.student-closed-screen{background:linear-gradient(145deg,#edf8f6,#f7fafc);place-items:center;min-height:100vh;padding:24px;display:grid}.student-closed-screen section{border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:22px;padding:42px 32px}.student-closed-screen .brand-mark{margin:0 auto 22px}.student-closed-screen h1{color:var(--navy);margin:4px 0 10px}.student-closed-screen p:not(.eyebrow){color:var(--muted);margin:0 auto 14px;line-height:1.7}.student-closed-screen small{color:#a54236;font-weight:800}.student-focus-lock .focus-logout-button{color:#fff;background:linear-gradient(135deg,#b92f37,#d64b43);border:0;box-shadow:0 9px 22px #b92f374d}.student-focus-lock .focus-logout-button.counting{cursor:wait;background:linear-gradient(135deg,#9f202c,#cf3f3f)}.student-focus-lock .focus-logout-button strong{color:#fff;min-width:1.25em;font:900 1.2rem/1 Arial,sans-serif;display:inline-block}.student-focus-lock .focus-enter-button:disabled{opacity:.5;cursor:wait}.student-session-timer{right:max(16px,env(safe-area-inset-right));bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px));z-index:80;width:132px;color:var(--navy);text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border:1px solid #efc3c3;border-radius:22px;padding:13px 12px 12px;position:fixed;box-shadow:0 16px 42px #57121a38}.session-timer-ring{--session-progress:360deg;aspect-ratio:1;background:conic-gradient(#c9323d var(--session-progress),#f1d9da 0);border-radius:50%;place-items:center;width:88px;margin:0 auto 8px;display:grid;position:relative;box-shadow:0 7px 18px #b92f372e}.session-timer-ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:8px}.session-timer-ring>div{z-index:1;gap:2px;display:grid;position:relative}.session-timer-ring strong{color:#b52632;letter-spacing:-.04em;font-variant-numeric:tabular-nums;font:900 1.25rem/1 Arial,sans-serif}.session-timer-ring small{color:#94666a;font-size:.54rem;font-weight:800}.student-session-timer>b,.student-session-timer>span{display:block}.student-session-timer>b{color:#a72732;font-size:.68rem}.student-session-timer>span{color:#8b6468;margin-top:3px;font-size:.55rem;font-weight:700}.student-session-timer.urgent{border-color:#cf3f48;box-shadow:0 18px 48px #a51b274d}.student-session-timer.urgent .session-timer-ring{animation:1s ease-in-out infinite session-timer-pulse}@keyframes session-timer-pulse{50%{transform:scale(1.055);box-shadow:0 8px 26px #b92f3759}}.welcome-row{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}.welcome-row>div:first-child{min-width:0}.welcome-row h1,.teacher-title-row h1{color:var(--navy);letter-spacing:-.045em;margin:0;font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.15}.student-greeting{flex-wrap:wrap;align-items:baseline;gap:.05em .28em;max-width:100%;display:flex}.student-greeting .greeting-prefix{color:var(--navy);flex:none}.student-greeting .student-full-name{min-width:0;max-width:100%;color:var(--teal);overflow-wrap:anywhere;word-break:normal;text-wrap:balance}.student-greeting .student-full-name.long-name{font-size:.9em;line-height:1.22}.student-greeting .student-full-name.extra-long-name{font-size:.8em;line-height:1.28}.welcome-row .student-login-count{color:#086c67;background:#e6f7f4;border-radius:999px;width:fit-content;margin:10px 0 0;padding:7px 11px;font-size:.78rem;font-weight:800}.welcome-row p:last-child,.teacher-title-row p:last-child{color:var(--muted);margin:8px 0 0;font-size:.86rem}.updated-chip{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;min-width:240px;padding:12px 15px;display:flex}.updated-chip span,.updated-chip b{display:block}.updated-chip span{color:var(--muted);font-size:.66rem}.updated-chip b{color:var(--navy);margin-top:2px;font-size:.72rem}.student-notification-center{background:#fff;border:1px solid #c8dfdc;border-radius:17px;margin-bottom:18px;overflow:hidden;box-shadow:0 10px 32px #0d2f4f0e}.student-notification-center.has-unread{border-color:#e3bb5c;box-shadow:0 12px 34px #9d6c1a17}.student-notification-head{background:linear-gradient(135deg,#f4fbfa,#fffdf7);align-items:center;gap:12px;min-height:76px;padding:10px 14px;display:flex}.student-notification-head>button:first-child{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:5px;display:flex}.notification-bell{color:#fff;background:var(--teal);border-radius:13px;flex:0 0 42px;place-items:center;width:42px;height:42px;font:900 .9rem/1 Arial,sans-serif;display:grid}.has-unread .notification-bell{background:#c38a28}.student-notification-head button>span:nth-child(2){min-width:0}.student-notification-head small,.student-notification-head b,.student-notification-head em{display:block}.student-notification-head small{color:var(--teal-dark);letter-spacing:.14em;font:850 .55rem/1.2 Arial,sans-serif}.student-notification-head b{color:var(--navy);margin-top:3px;font-size:.88rem}.student-notification-head em{color:var(--muted);margin-top:2px;font-size:.64rem;font-style:normal}.student-notification-head i{color:var(--teal);margin-left:auto;font-style:normal;font-weight:900}.mark-all-notifications{min-height:38px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #b8d7d3;border-radius:9px;flex:none;padding:0 12px;font-size:.66rem;font-weight:850}.mark-all-notifications:disabled{opacity:.5;cursor:not-allowed}.student-notification-list{border-top:1px solid #e6eef0;max-height:360px;overflow-y:auto}.student-notification-list article{border-bottom:1px solid #edf2f4;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:13px 18px;display:grid}.student-notification-list article:last-child{border-bottom:0}.student-notification-list article.unread{background:#fffaf0}.student-notification-list article.read{opacity:.74}.notification-status-dot{background:#aebcc2;border-radius:50%;width:9px;height:9px}.unread .notification-status-dot{background:#c98b20;box-shadow:0 0 0 4px #fff0c7}.student-notification-list b{color:var(--navy);font-size:.74rem}.student-notification-list p{color:#516a79;margin:3px 0;font-size:.68rem;line-height:1.45}.student-notification-list small{color:var(--muted);font-size:.58rem}.student-notification-list article>button{color:#7f5b19;cursor:pointer;background:#fff7dc;border:1px solid #d7c27f;border-radius:8px;min-height:34px;padding:0 10px;font-size:.62rem;font-weight:850}.student-notification-list article>button:disabled{opacity:.5;cursor:not-allowed}.notification-empty,.notification-error{text-align:center;margin:0;padding:24px}.notification-empty span{width:38px;height:38px;color:var(--teal-dark);background:var(--teal-pale);border-radius:11px;place-items:center;margin:0 auto 7px;font-weight:900;display:grid}.notification-empty p{color:var(--muted);margin:0}.notification-error{color:#9e3b31;background:#fff0ed;font-size:.7rem}.student-hero{color:#fff;background:linear-gradient(130deg,#0c3152,#0d4664 48%,#0a8179);border-radius:24px;grid-template-columns:minmax(280px,320px) 1fr 250px;align-items:center;gap:28px;min-height:250px;padding:34px 42px;display:grid;position:relative;overflow:hidden;box-shadow:0 20px 55px #0d2f4f2e}.student-hero:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:430px;height:430px;position:absolute;top:-220px;right:-190px;box-shadow:0 0 0 55px #ffffff06,0 0 0 110px #ffffff06}.student-score-overview{z-index:1;align-items:center;gap:14px;display:flex;position:relative}.score-ring{--progress:0deg;aspect-ratio:1;background:conic-gradient(var(--gold) var(--progress), #ffffff29 0);border-radius:50%;place-items:center;width:158px;display:grid;position:relative}.score-ring:before{content:"";background:#123b58;border-radius:50%;position:absolute;inset:12px}.score-ring>div{z-index:1;text-align:center;position:relative}.score-ring strong{letter-spacing:-.08em;font:800 3.1rem/1 Arial,sans-serif}.score-ring>div>span{color:var(--gold);font:800 1.1rem/1 Arial,sans-serif}.score-ring small{color:#ffffffa1;margin-top:5px;font-size:.68rem;display:block}.grade-result{text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:18px;min-width:104px;padding:16px 12px 14px;box-shadow:inset 0 1px #ffffff1f}.grade-result span,.grade-result strong,.grade-result small{display:block}.grade-result span{color:#ffffffc2;font-size:.68rem;font-weight:800}.grade-result strong{color:var(--gold);letter-spacing:-.05em;margin:7px 0 5px;font:900 2.8rem/1 Arial,sans-serif}.grade-result small{color:#ffffff94;white-space:nowrap;font-size:.58rem;font-weight:700}.hero-copy{z-index:1;position:relative}.status-pill{border-radius:999px;padding:6px 10px;font-size:.69rem;font-weight:800;display:inline-flex}.status-pill.pass{color:#9df1df;background:#69dfc321}.status-pill.develop{color:#ffd4c9;background:#e7775d29}.status-pill.pending{color:#ffe5a5;background:#eebe5829}.hero-copy h2{margin:15px 0 6px;font:800 2.3rem/1.1 Arial,sans-serif}.hero-copy h2 small{color:#ffffff94;font-size:.85rem;font-weight:600}.hero-copy p{color:#ffffffb8;max-width:560px;margin:0;font-size:.84rem;line-height:1.7}.hero-stat-list{z-index:1;border-left:1px solid #ffffff26;gap:10px;padding-left:30px;display:grid;position:relative}.hero-stat-list div{justify-content:space-between;align-items:center;gap:14px;padding:6px 0;display:flex}.hero-stat-list span{color:#ffffffa6;font-size:.7rem}.hero-stat-list b{color:#fff;font:800 .9rem/1 Arial,sans-serif}.section-block{margin-top:48px}.section-heading,.admin-card-title{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.section-heading h2,.admin-card-title h2{color:var(--navy);letter-spacing:-.03em;margin:0;font-size:1.35rem}.section-heading>span{color:var(--muted);font-size:.72rem}.score-list{gap:10px;margin-top:18px;display:grid}.score-card{border:1px solid var(--line);background:#fff;border-radius:16px;transition:all .2s;overflow:hidden}.score-card:hover,.score-card.open{border-color:#b8d8d5;box-shadow:0 10px 30px #0d2f4f12}.score-card-main{cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:50px minmax(210px,1.5fr) minmax(140px,1fr) 120px 24px;align-items:center;gap:18px;width:100%;min-height:85px;padding:13px 20px;display:grid}.subject-icon{color:#fff;background:var(--teal);border-radius:13px;place-items:center;width:44px;height:44px;font:800 .78rem/1 Arial,sans-serif;display:grid}.icon-vocab{background:#2b758e}.icon-speaking{background:#118d83}.icon-midterm{background:#8066aa}.icon-drama{background:#df8a49}.icon-portfolio{background:#537558}.icon-final{background:#c83f3f}.subject-title b,.subject-title span{display:block}.subject-title b{color:var(--navy);font-size:.88rem}.subject-title span{color:var(--muted);margin-top:4px;font:600 .68rem/1.3 Arial,sans-serif}.mini-progress,.roster-progress{background:#e9f0f3;border-radius:999px;height:6px;overflow:hidden}.mini-progress span,.roster-progress i{border-radius:inherit;background:linear-gradient(90deg, var(--teal), #50c0b4);height:100%;display:block}.subject-score{grid-template-columns:auto auto;justify-content:end;align-items:baseline;gap:4px;display:grid}.subject-score b{color:var(--navy);font:800 1.35rem/1 Arial,sans-serif}.subject-score span{color:var(--muted);font:600 .72rem/1 Arial,sans-serif}.subject-score small{color:var(--teal);text-align:right;grid-column:1/-1;margin-top:3px;font:800 .65rem/1 Arial,sans-serif}.expand-arrow{color:#89a0ae;font-size:1.1rem;transition:all .2s}.score-card.open .expand-arrow{transform:rotate(180deg)}.feedback-panel{background:#f7fbfa;border-top:1px solid #edf2f4;justify-content:space-between;align-items:flex-end;gap:20px;padding:17px 22px 19px 88px;display:flex}.feedback-panel b{color:var(--teal-dark);font-size:.74rem}.feedback-panel p{color:#425869;margin:5px 0 0;font-size:.8rem;line-height:1.6}.feedback-panel>span{color:#8898a3;white-space:nowrap;font-size:.63rem}.learning-note{color:#fff;background:var(--navy);border-radius:18px;grid-template-columns:45px 1fr auto;align-items:center;gap:20px;margin-top:34px;padding:24px 28px;display:grid}.note-mark{color:var(--gold);font:800 3rem/1 Georgia,serif}.learning-note p{margin:0;font-size:.9rem;font-weight:700}.learning-note>div>span{color:#ffffff8c;margin-top:4px;font:600 .62rem/1 Arial,sans-serif;display:block}.note-steps{align-items:center;gap:10px;display:flex}.note-steps span{color:#ffffff94;font-size:.65rem}.note-steps span.active{color:#8fe3d7}.note-steps i{background:#fff3;width:20px;height:1px}.data-privacy{color:var(--muted);align-items:flex-start;gap:9px;margin-top:18px;font-size:.69rem;line-height:1.6;display:flex}.data-privacy b{color:#425869}.teacher-layout{grid-template-columns:230px 1fr;min-height:calc(100vh - 76px);display:grid}.teacher-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:calc(100vh - 76px);padding:30px 18px;display:flex;position:sticky;top:76px}.mobile-admin-nav-bar,.mobile-admin-nav-backdrop{display:none}.admin-label{color:#93a2ad;letter-spacing:.18em;padding:0 12px 16px;font:800 .64rem/1 Arial,sans-serif}.teacher-sidebar nav{gap:5px;display:grid}.teacher-sidebar nav button{color:#506576;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;min-height:45px;padding:0 12px;font-size:.78rem;font-weight:750;display:flex}.teacher-sidebar nav button.active{color:var(--teal-dark);background:var(--teal-pale)}.teacher-sidebar nav button.active .icon{color:var(--teal-dark)}.sidebar-menu-label small{color:#94a2ac;margin-top:2px;font-size:.5rem;font-weight:650;display:block}.sidebar-count{color:#99671c;background:#fff0c9;border-radius:999px;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;font:800 .62rem/1 Arial,sans-serif;display:grid}.sidebar-note{background:#fff9e9;border:1px solid #f0ddad;border-radius:12px;align-items:flex-start;gap:7px;margin-top:auto;padding:14px;display:flex}.sidebar-note .icon{color:#bc8426}.sidebar-note p{color:#725b32;margin:0;font-size:.64rem;line-height:1.5}.sidebar-note b{color:#8a641e;margin-bottom:3px;display:block}.teacher-main{min-width:0;padding:42px clamp(24px,4vw,58px) 70px}.teacher-title-row{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px;display:flex}.teacher-title-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:10px;display:flex}.file-button{height:44px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #bdd5d3;border-radius:11px;align-items:center;gap:9px;padding:0 16px;font-size:.76rem;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #0d2f4f0d}.photo-import-shortcut{border-color:var(--teal);color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));box-shadow:0 9px 22px #0f847b2b}.file-button input{display:none}.file-button:disabled{opacity:.48;cursor:not-allowed}.course-switcher{border:1px solid #a9d8d2;border-left:5px solid var(--gold);background:linear-gradient(135deg,#effaf8,#fffdf5);border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;padding:18px 20px;display:flex;box-shadow:0 10px 30px #0d2f4f0d}.course-switcher-copy{min-width:0}.course-switcher-copy h2{color:var(--navy);margin:3px 0 4px;font-size:1.08rem}.course-switcher-copy>span{max-width:680px;color:var(--muted);font-size:.82rem;line-height:1.5;display:block}.course-switcher-select{color:var(--navy);flex:0 0 min(470px,46%);gap:5px;font-size:.82rem;font-weight:800;display:grid}.course-switcher-select select{width:100%;min-height:45px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #8ec9c2;border-radius:11px;outline:0;padding:0 38px 0 13px;font-size:.82rem;font-weight:750}.course-switcher-select select:disabled{opacity:.6;cursor:wait}.course-switcher-select small{color:var(--teal-dark);font-size:.75rem;font-weight:700;line-height:1.35}.course-management-centers{gap:14px;margin-bottom:22px;display:grid}.course-management-centers .course-switcher{margin-bottom:0}.all-room-directory{border:1px solid #b9ddd8;border-left:5px solid var(--teal);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 9px 28px #0d2f4f0d}.all-room-directory-heading{background:linear-gradient(135deg,#effaf8,#fff);justify-content:space-between;align-items:center;gap:18px;padding:19px 22px 15px;display:flex}.all-room-directory-heading h2{color:var(--navy);margin:3px 0 4px;font-size:1.08rem}.all-room-directory-heading p:last-child{color:var(--muted);margin:0;font-size:.82rem;line-height:1.5}.all-room-directory-heading>span{color:var(--teal-dark);flex:none;font:900 1.75rem/1 Arial,sans-serif}.all-room-directory-heading>span small{font:750 .72rem/1.2 var(--font-body),sans-serif}.all-room-directory-grid{background:#f8fbfb;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-height:350px;padding:14px 17px;display:grid;overflow:auto}.all-room-directory-grid>button{min-width:0;color:var(--navy);text-align:left;cursor:pointer;background:#fff;border:1px solid #d1dfe1;border-radius:14px;gap:4px;padding:13px;transition:all .18s;display:grid}.all-room-directory-grid>button:hover,.all-room-directory-grid>button.selected{border-color:var(--teal);transform:translateY(-1px);box-shadow:0 8px 20px #26827a1f}.all-room-directory-grid>button.selected{background:#edf9f7}.room-directory-status{color:#28756f;background:#e5f4f2;border-radius:999px;width:max-content;padding:3px 7px;font-size:.68rem;font-weight:850}.all-room-directory-grid>button.closed .room-directory-status{color:#755222;background:#fff2d8}.all-room-directory-grid strong{margin-top:2px;font-size:1.04rem}.all-room-directory-grid>button>small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;overflow:hidden}.all-room-directory-grid>button>div{grid-template-columns:repeat(3,1fr);gap:5px;margin-top:5px;display:grid}.all-room-directory-grid>button>div span{color:#60717a;text-align:center;background:#f0f4f5;border-radius:8px;padding:6px 4px;font-size:.65rem}.all-room-directory-grid>button>div b{color:var(--navy);font-size:.78rem;display:block}.all-room-directory-grid>button>div .complete,.all-room-directory-grid>button>div .ready{color:#27736d;background:#e6f5f2}.all-room-directory-grid>button>div .attention,.all-room-directory-grid>button>div .locked{color:#91464a;background:#fff0ef}.all-room-directory-note{color:#49656a;background:#f2f8f8;border-top:1px solid #dbe8e8;align-items:center;gap:10px;padding:11px 18px;display:flex}.all-room-directory-note>span{aspect-ratio:1;color:#fff;background:var(--teal);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;font-weight:900;display:grid}.all-room-directory-note p{margin:0;font-size:.76rem;line-height:1.5}.all-room-directory-note b{color:var(--navy);display:block}@media (width<=720px){.all-room-directory-heading{align-items:flex-start;padding:17px}.all-room-directory-grid{grid-template-columns:1fr 1fr;max-height:430px;padding:11px}.all-room-directory-note{align-items:flex-start}}@media (width<=470px){.all-room-directory-grid{grid-template-columns:1fr}}.class-filter-bar{border:1px solid #b9ddd8;border-left:5px solid var(--teal);background:linear-gradient(135deg,#f1fbf9,#fff);border-radius:16px;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);align-items:center;gap:20px;margin-bottom:18px;padding:18px 20px;display:grid;box-shadow:0 8px 28px #0d2f4f0a}.class-filter-bar h2{color:var(--navy);margin:3px 0 4px;font-size:1.08rem}.class-filter-bar>div:first-child>span{color:var(--muted);font-size:.72rem}.class-filter-options{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.class-filter-options label{color:#526b7b;cursor:pointer;background:#fff;border:1px solid #d6e4e7;border-radius:12px;grid-template-columns:22px 1fr;align-items:center;column-gap:8px;min-width:112px;min-height:50px;padding:8px 11px;display:grid}.class-filter-options label.selected{color:var(--teal-dark);background:#eaf9f6;border-color:#4daea4;box-shadow:0 6px 16px #0f847b1c}.class-filter-options input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.class-filter-options label>span{color:#0000;background:#f7fafb;border:1px solid #c6d7dc;border-radius:6px;grid-row:1/3;place-items:center;width:22px;height:22px;font-size:.7rem;font-weight:900;display:grid}.class-filter-options label.selected>span{border-color:var(--teal);color:#fff;background:var(--teal)}.class-filter-options b,.class-filter-options small{display:block}.class-filter-options b{font-size:.78rem}.class-filter-options small{color:var(--muted);font-size:.64rem}.class-report-actions{background:#fff;border:1px solid #dbe5e9;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;padding:18px 20px;display:flex;box-shadow:0 8px 28px #0d2f4f0a}.class-report-copy{min-width:0}.class-report-copy h2{color:var(--navy);margin:3px 0 4px;font-size:1.02rem}.class-report-copy>span{color:var(--muted);font-size:.69rem;line-height:1.5;display:block}.class-report-buttons{flex:none;gap:10px;display:flex}.report-download-button{min-width:190px;min-height:54px;color:var(--navy);cursor:pointer;text-align:left;background:#fff;border:1px solid;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:42px 1fr;align-items:center;column-gap:10px;padding:8px 13px;transition:transform .18s,box-shadow .18s;display:grid}.report-download-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 20px #0d2f4f17}.report-download-button:disabled{opacity:.46;cursor:not-allowed}.report-download-button>span{color:#fff;letter-spacing:.04em;border-radius:8px;grid-row:1/3;place-items:center;min-width:42px;height:32px;font:850 .58rem/1 Arial,sans-serif;display:grid}.report-download-button b{align-self:end;font-size:.7rem;line-height:1.2}.report-download-button small{color:var(--muted);align-self:start;margin-top:2px;font-size:.55rem;line-height:1.2}.report-download-button.excel{background:#f4fcf8;border-color:#a9d9c3}.report-download-button.excel>span{background:#15845d}.report-download-button.pdf{background:#fff7f5;border-color:#efc8c2}.report-download-button.pdf>span{background:#c4413d}.admin-alert{border-radius:10px;justify-content:space-between;gap:14px;margin:-8px 0 20px;padding:12px 15px;font-size:.78rem;display:flex}.admin-alert.success{color:#1e6b58;background:#e7f7f2}.admin-alert.error{color:#9e3b31;background:#fff0ed}.admin-alert button{cursor:pointer;background:0 0;border:0;font-weight:900}.admin-metrics{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.admin-metrics article{border:1px solid var(--line);background:#fff;border-radius:16px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex}.metric-icon{border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font:800 .78rem/1 Arial,sans-serif;display:grid}.metric-icon.navy{color:#24587b;background:#e8f1f7}.metric-icon.teal{color:var(--teal-dark);background:var(--teal-pale)}.metric-icon.gold{color:#a36e16;background:#fff4d8}.metric-icon.coral{color:#a74d3c;background:#fff0ed}.admin-metrics small,.admin-metrics b,.admin-metrics em{font-style:normal;display:block}.admin-metrics small{color:var(--muted);font-size:.67rem;font-weight:700}.admin-metrics b{color:var(--navy);margin:3px 0;font:800 1.45rem/1 Arial,sans-serif}.admin-metrics em{color:#94a2ac;font-size:.58rem}.admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:18px;margin-top:18px;display:grid}.admin-card{border:1px solid var(--line);background:#fff;border-radius:18px;box-shadow:0 10px 35px #0d2f4f0b}.admin-card-title{border-bottom:1px solid #edf2f4;padding:21px 22px 16px}.admin-card-title .eyebrow{margin-bottom:6px}.admin-card-title button{color:var(--teal-dark);cursor:pointer;background:0 0;border:0;font-size:.7rem;font-weight:800}.admin-card-title>span{color:var(--muted);font-size:.68rem}.roster-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8fc8c1 #edf4f3;max-height:560px;padding:5px 0;overflow-y:auto}.roster-list::-webkit-scrollbar{width:9px}.roster-list::-webkit-scrollbar-track{background:#edf4f3}.roster-list::-webkit-scrollbar-thumb{background:#8fc8c1;border:2px solid #edf4f3;border-radius:999px}.roster-list:focus-visible{outline-offset:-3px;outline:3px solid #0f847b33}.roster-list>button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf2f4;grid-template-columns:52px minmax(160px,1.3fr) minmax(80px,1fr) 45px 52px;align-items:center;gap:12px;width:100%;min-height:78px;padding:14px 20px;display:grid}.roster-list>button:last-child{border:0}.roster-list>button:hover{background:#f8fbfb}.student-avatar{border-radius:10px;width:34px;height:34px;font-size:.72rem}.student-avatar.large{border-radius:15px;width:52px;height:52px;font-size:.95rem}.student-name b,.student-name small{display:block}.student-name b{color:var(--navy);font-size:.76rem}.student-name small{color:var(--muted);margin-top:3px;font-size:.61rem}.roster-list strong{color:var(--navy);font:800 .75rem/1 Arial,sans-serif}.roster-list em{text-align:center;border-radius:999px;padding:4px 6px;font-size:.58rem;font-style:normal;font-weight:800}.roster-list em.pass{color:#17705c;background:#e6f6f1}.roster-list em.develop{color:#ad4e3d;background:#fff0ed}.quick-card{padding-bottom:14px}.quick-card>button{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5edef;border-radius:13px;grid-template-columns:42px 1fr 15px;align-items:center;gap:10px;width:calc(100% - 28px);margin:12px 14px 0;padding:12px;display:grid}.quick-card>button:hover{background:#f9fcfc;border-color:#b9d6d3}.quick-card>button b,.quick-card>button small{display:block}.quick-card>button b{color:var(--navy);font-size:.73rem}.quick-card>button small{color:var(--muted);margin-top:3px;font-size:.58rem;line-height:1.35}.quick-card>button i{color:var(--teal);font-style:normal}.security-card{background:var(--teal-pale);border-radius:12px;align-items:flex-start;gap:6px;margin:14px;padding:13px;display:flex}.security-card p{color:#47736f;margin:0;font-size:.62rem;line-height:1.5}.security-card b{color:var(--teal-dark);margin-bottom:2px;display:block}.empty-state{color:var(--muted);text-align:center;padding:35px;font-size:.78rem}.empty-state.large{flex-direction:column;justify-content:center;align-items:center;min-height:400px;display:flex}.empty-state.large span{width:60px;height:60px;color:var(--teal);background:var(--teal-pale);border-radius:18px;place-items:center;margin-bottom:12px;font-weight:900;display:grid}.empty-state.large b{color:var(--navy)}.empty-state.large p{margin:5px 0 0;font-size:.68rem}.student-management{grid-template-columns:330px minmax(0,1fr);align-items:stretch;gap:18px;display:grid}.student-selector{grid-template-rows:auto minmax(240px,1fr) auto;height:100%;min-height:0;display:grid;overflow:hidden}.student-list-scroll-area{background:#fff;grid-template-rows:34px minmax(0,1fr) 34px;min-height:0;display:grid}.student-list-scroll-button{width:100%;color:var(--teal-dark);cursor:pointer;background:#f3faf9;border:0;border-bottom:1px solid #e5edef;justify-content:center;align-items:center;gap:7px;font-size:.68rem;font-weight:850;transition:color .18s,background .18s;display:flex}.student-list-scroll-button:last-child{border-top:1px solid #e5edef;border-bottom:0}.student-list-scroll-button:hover:not(:disabled){color:#fff;background:var(--teal)}.student-list-scroll-button:disabled{color:#aab8be;cursor:default;opacity:.72;background:#f7f9fa}.student-list-scroll-button span{font-size:.62rem}.select-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#8fc8c1 #edf4f3;min-height:0;overflow-y:auto}.select-list::-webkit-scrollbar{width:9px}.select-list::-webkit-scrollbar-track{background:#edf4f3}.select-list::-webkit-scrollbar-thumb{background:#8fc8c1;border:2px solid #edf4f3;border-radius:999px}.student-list-row{background:#fff;border-bottom:1px solid #edf2f4;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:100%;display:grid}.student-list-row:last-child{border-bottom:0}.student-list-row.active{background:var(--teal-pale)}.student-select-button{min-width:0;min-height:74px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:48px minmax(0,1fr) 12px;align-items:center;gap:11px;padding:11px 8px 11px 14px;display:grid}.student-select-button>span{width:32px;height:32px;color:var(--navy);background:#ecf2f5;border-radius:9px;place-items:center;font-size:.7rem;font-weight:800;display:grid}.student-list-row.active .student-select-button>span{color:#fff;background:var(--teal)}.student-list-row.student-locked small{color:#b34840;font-weight:750}.student-select-button b,.student-select-button small{display:block}.student-select-button b{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;line-height:1.35;overflow:hidden}.student-select-button small{color:var(--muted);margin-top:2px;font-size:.58rem;line-height:1.35}.student-select-button i{color:#91a3ae;font-style:normal}.student-reset-password-button{color:#7b5a19;cursor:pointer;background:#fff8df;border:1px solid #e2c676;border-radius:8px;min-height:42px;margin-right:10px;padding:6px 9px;font-size:.7rem;font-weight:850;line-height:1.2}.student-reset-password-button b,.student-reset-password-button small{white-space:nowrap;display:block}.student-reset-password-button small{color:#9b7a39;margin-top:2px;font-size:.57rem;font-weight:750}.student-reset-password-button:hover:not(:disabled){background:#fff1bf;border-color:#c99d30}.student-reset-password-button:disabled{opacity:.45;cursor:not-allowed}.new-student-form{background:#f8fbfc;gap:12px;padding:18px;display:grid}.new-student-form h3{color:var(--navy);margin:0 0 2px;font-size:.85rem}.new-student-form label{margin:0;font-size:.68rem}.new-student-form input,.new-student-form select,.score-input input,.feedback-input input,.reset-row input{width:100%;height:39px;color:var(--navy);background:#fff;border:1px solid #d7e2e8;border-radius:9px;outline:0;padding:0 10px;font-size:.72rem}.two-fields{grid-template-columns:1fr 1fr;gap:9px;display:grid}.score-editor{overflow:hidden}.editor-header{border-bottom:1px solid #eaf0f3;align-items:center;gap:14px;padding:22px;display:flex}.editor-student-identity{flex:auto;min-width:0}.editor-header h2{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.25rem;overflow:hidden}.editor-student-identity>span{color:var(--muted);font-size:.67rem}.editor-header .eyebrow{margin-bottom:4px}.editor-grade{text-align:center;flex:0 0 88px;justify-items:center;gap:5px;display:grid}.editor-grade strong{border:2px solid;border-radius:50%;place-items:center;width:50px;height:50px;font:900 1.15rem/1 Arial,sans-serif;display:grid;box-shadow:0 5px 14px #0d2f4f17}.editor-grade span{color:var(--navy);white-space:nowrap;font-size:.58rem;font-weight:850}.editor-grade.pass strong{color:#087168;background:#e7f8f4;border-color:#77c3ba}.editor-grade.develop strong{color:#92600e;background:#fff6dc;border-color:#e0b75a}.editor-grade.needs-support strong{color:#aa4038;background:#fff0ed;border-color:#e09b91}.editor-grade.pending strong{color:#24587b;background:#eaf2f7;border-color:#89acc4}.edit-student-profile-button{color:var(--teal-dark);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #bcd6d3;border-radius:9px;padding:9px 12px;font-size:.66rem;font-weight:800}.edit-student-profile-button:disabled{opacity:.45;cursor:not-allowed}.student-profile-editor{background:#f0fbf8;border:1px solid #9fd2cc;border-radius:13px;grid-template-columns:minmax(180px,1.35fr) minmax(180px,1.4fr) minmax(120px,.8fr) 90px 110px;align-items:end;gap:12px;margin:18px;padding:16px;display:grid}.student-profile-editor>div b,.student-profile-editor>div span{display:block}.student-profile-editor>div b{color:var(--navy);font-size:.76rem}.student-profile-editor>div span{color:var(--muted);margin-top:4px;font-size:.58rem;line-height:1.4}.student-profile-editor label{color:var(--navy);font-size:.63rem;font-weight:750}.student-profile-editor input,.student-profile-editor select{width:100%;height:39px;color:var(--navy);background:#fff;border:1px solid #cbdde1;border-radius:9px;margin-top:5px;padding:0 10px}.student-profile-editor>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;height:39px;font-size:.67rem;font-weight:800}.student-profile-editor>button:disabled{opacity:.45;cursor:not-allowed}.editor-total{text-align:right}.editor-total b,.editor-total span{display:block}.editor-total b{font:800 1.45rem/1 Arial,sans-serif}.editor-total span{color:var(--muted);margin-top:4px;font:700 .62rem/1 Arial,sans-serif}.editor-total.pass b{color:var(--teal)}.editor-total.develop b{color:var(--coral)}.score-editor-list{padding:5px 0}.score-edit-row{border-bottom:1px solid #edf2f4;grid-template-columns:44px minmax(150px,1fr) 105px minmax(150px,1.2fr) 62px;align-items:center;gap:12px;min-height:92px;padding:13px 18px;display:grid}.edit-title b,.edit-title span{display:block}.edit-title b{color:var(--navy);font-size:.73rem}.edit-title span{color:var(--muted);margin-top:3px;font:600 .57rem/1.35 Arial,sans-serif}.score-input>span,.feedback-input>span{margin-bottom:4px;font-size:.59rem}.score-input>div{position:relative}.score-input input{padding-right:36px}.score-input em{color:#82919c;font-size:.58rem;font-style:normal;position:absolute;top:12px;right:8px}.score-edit-row>button,.reset-row button{height:38px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #bcd6d3;border-radius:9px;font-size:.65rem;font-weight:800}.score-edit-row>button:disabled,.reset-row button:disabled{opacity:.45;cursor:not-allowed}.save-all-scores{border:1px solid;border-radius:14px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;margin:18px;padding:16px 18px;display:grid}.save-all-scores.ready{background:linear-gradient(135deg,#eaf9f6,#f8fffd);border-color:#91cec6}.save-all-scores.incomplete{background:#fffaf0;border-color:#ead49b}.save-all-scores b,.save-all-scores span{display:block}.save-all-scores b{color:var(--navy);font-size:.8rem}.save-all-scores span{color:var(--muted);margin-top:4px;font-size:.62rem}.save-all-scores>strong{color:var(--navy);white-space:nowrap;font:850 1.35rem/1 Arial,sans-serif}.save-all-scores>strong small{color:var(--muted);font-size:.65rem}.save-all-scores>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;min-height:42px;padding:0 16px;font-size:.7rem;font-weight:850}.save-all-scores>button:disabled{color:#8b7650;cursor:not-allowed;background:#eadfbd}.score-visibility-row{border:1px solid;border-radius:13px;justify-content:space-between;align-items:center;gap:22px;margin:18px 18px 0;padding:16px;display:flex}.score-visibility-row.open{background:#f0fbf8;border-color:#b9ddd8}.score-visibility-row.locked{background:#fff5f3;border-color:#efc8c2}.class-score-visibility{border-left:5px solid var(--teal);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:22px;display:grid}.class-score-visibility.locked{background:snow;border-left-color:#d26a62}.class-score-visibility.mixed{border-left-color:var(--gold);background:#fffdf7}.class-score-visibility-copy h2{color:var(--navy);margin:3px 0 5px;font-size:1.05rem}.class-score-visibility-copy>p:last-child{color:var(--muted);margin:0;font-size:.72rem}.class-score-visibility-status{background:#edf8f6;border-radius:12px;align-items:center;gap:10px;min-width:205px;padding:10px 13px;display:flex}.class-score-visibility.locked .class-score-visibility-status{background:#fff0ef}.class-score-visibility.mixed .class-score-visibility-status{background:#fff4d8}.class-score-visibility-status>span{color:#fff;background:var(--teal);border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.class-score-visibility.locked .class-score-visibility-status>span{background:#c75952}.class-score-visibility.mixed .class-score-visibility-status>span{color:#765515;background:#f1ce74}.class-score-visibility-status small,.class-score-visibility-status b{display:block}.class-score-visibility-status small{color:var(--muted);font-size:.62rem}.class-score-visibility-status b{color:var(--navy);margin-top:2px;font-size:.72rem}.class-score-visibility-actions{gap:8px;display:flex}.class-score-visibility-actions button{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:42px;padding:0 14px;font-size:.7rem;font-weight:850}.class-score-visibility-actions .show{color:#fff;background:var(--teal)}.class-score-visibility-actions .hide{color:#a13e39;background:#fff0ef;border-color:#efc7c3}.class-score-visibility-actions button:disabled{opacity:.42;cursor:not-allowed}@media (width<=980px){.class-score-visibility{grid-template-columns:1fr}.class-score-visibility-status{min-width:0}.class-score-visibility-actions button{flex:1}}@media (width<=560px){.class-score-visibility-actions{flex-direction:column}}.score-visibility-row>div>b,.score-visibility-row>div>span{display:block}.score-visibility-row>div>b{color:var(--navy);font-size:.76rem}.score-visibility-row>div>span{max-width:560px;color:var(--muted);margin-top:4px;font-size:.6rem;line-height:1.5}.access-toggle{cursor:pointer;flex:none;grid-template-columns:44px auto;align-items:center;gap:8px 10px;display:grid}.access-toggle input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.toggle-track{background:#c95950;border-radius:999px;width:44px;height:24px;padding:3px;transition:background .2s;display:block}.toggle-track i{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;box-shadow:0 2px 5px #1e374638}.access-toggle input:checked+.toggle-track{background:var(--teal)}.access-toggle input:checked+.toggle-track i{transform:translate(20px)}.access-toggle input:focus-visible+.toggle-track{outline-offset:2px;outline:3px solid #0f847b3d}.access-toggle input:disabled+.toggle-track{opacity:.5}.access-toggle em{color:var(--navy);text-align:center;grid-column:1/-1;font-size:.62rem;font-style:normal;font-weight:800}.reset-row{background:#fff8e8;border-radius:12px;grid-template-columns:1fr 210px 70px;align-items:center;gap:12px;margin:18px;padding:15px;display:grid}.reset-row b,.reset-row span{display:block}.reset-row b{color:#795822;font-size:.72rem}.reset-row span{color:#987d51;font-size:.58rem;line-height:1.4}.student-account-actions{border-top:1px solid #edf2f4;grid-template-columns:1fr 1fr;gap:12px;margin:0 18px 18px;padding-top:18px;display:grid}.student-account-actions article{border:1px solid;border-radius:13px;grid-template-columns:1fr auto;align-items:center;gap:14px;min-height:112px;padding:15px;display:grid}.student-account-actions b,.student-account-actions span{display:block}.student-account-actions b{font-size:.76rem}.student-account-actions span{margin-top:4px;font-size:.59rem;line-height:1.5}.student-account-actions button{color:#fff;cursor:pointer;border:0;border-radius:9px;min-width:110px;padding:10px 12px;font-size:.66rem;font-weight:800}.student-account-actions button:disabled{opacity:.45;cursor:not-allowed}.archive-action{background:#fffaf0;border-color:#ecd89f!important}.archive-action b{color:#795822}.archive-action span{color:#977c4d}.archive-action button{background:#b68027}.delete-action{background:#fff5f3;border-color:#efc8c2!important}.delete-action b{color:#923c34}.delete-action span{color:#a66b64}.delete-action button{background:#c4413d}.archived-management{gap:18px;display:grid}.archive-intro{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#fffaf0,#fff);border:1px solid #ecd89f;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.archive-intro h2{color:var(--navy);margin:0 0 6px}.archive-intro p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:.74rem;line-height:1.6}.archive-intro>strong{color:#9b6a1f;white-space:nowrap;font:800 2.2rem/1 Arial,sans-serif}.archive-intro>strong small{font-size:.72rem}.archive-bulk-center{overflow:hidden}.archive-bulk-head{background:linear-gradient(135deg,#f5fbfa,#fff);border-bottom:1px solid #e7edef;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.archive-bulk-head h2{color:var(--navy);margin:2px 0 4px;font-size:1.05rem}.archive-bulk-head p:last-child{color:var(--muted);margin:0;font-size:.7rem;line-height:1.5}.archive-bulk-head>span{color:#176b5b;background:#dff5ef;border-radius:999px;flex:none;padding:6px 9px;font-size:.61rem;font-weight:850}.archive-delete-scope{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 22px 0;display:grid}.archive-delete-scope button{text-align:left;color:#617785;cursor:pointer;background:#f9fbfc;border:1px solid #d7e2e5;border-radius:11px;gap:3px;min-height:62px;padding:11px 14px;display:grid}.archive-delete-scope button.active{color:var(--teal-dark);box-shadow:inset 4px 0 0 var(--teal);background:#eaf8f5;border-color:#4aa99f}.archive-delete-scope button:disabled{opacity:.5;cursor:not-allowed}.archive-delete-scope b,.archive-delete-scope small{display:block}.archive-delete-scope b{font-size:.74rem}.archive-delete-scope small{font-size:.61rem}.archive-room-picker{grid-template-columns:minmax(220px,1fr) minmax(180px,.55fr);gap:12px;margin:14px 22px;display:grid}.archive-room-picker>label{color:var(--navy);gap:6px;font-size:.65rem;font-weight:800;display:grid}.archive-room-picker select{min-height:43px;color:var(--navy);background:#fff;border:1px solid #ccdce0;border-radius:10px;outline:none;padding:0 12px;font-size:.72rem;font-weight:750}.archive-room-picker select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #10847a1f}.archive-room-picker>div{background:#f4f8f9;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.archive-room-picker span{color:var(--muted);font-size:.62rem}.archive-room-picker strong{color:var(--navy);white-space:nowrap;font:850 1.25rem/1 Arial,sans-serif}.archive-room-picker strong small{font-size:.58rem}.archive-bulk-selection{border:1px solid #dce7e9;border-radius:12px;margin:0 22px 16px;overflow:hidden}.archive-bulk-selection-head{background:#f3f7f8;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px;display:flex}.archive-bulk-selection-head b{color:var(--navy);font-size:.68rem}.archive-bulk-selection-head span{color:var(--teal-dark);font-size:.61rem;font-weight:800}.archive-bulk-student-list{background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:260px;padding:10px;display:grid;overflow-y:auto}.archive-bulk-student-list label{cursor:pointer;background:#fbfcfd;border:1px solid #e2e9eb;border-radius:9px;grid-template-columns:17px 30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:9px 10px;display:grid}.archive-bulk-student-list label.selected{background:#edf9f6;border-color:#6ab6ae}.archive-bulk-student-list input{width:15px;height:15px;accent-color:var(--teal);margin:0}.archive-bulk-number{color:#805c25;background:#fff0cd;border-radius:8px;place-items:center;width:28px;height:28px;font-size:.62rem;font-weight:850;display:grid}.archive-bulk-student-list b,.archive-bulk-student-list small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.archive-bulk-student-list b{color:var(--navy);font-size:.65rem}.archive-bulk-student-list small{color:var(--muted);margin-top:2px;font-size:.56rem}.archive-whole-room-summary{background:#fffaf0;border:1px solid #ecd89f;border-radius:12px;grid-template-columns:38px 1fr;align-items:center;gap:11px;margin:0 22px 16px;padding:15px;display:grid}.archive-whole-room-summary>span{color:#90631e;background:#ffedbe;border-radius:10px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.archive-whole-room-summary b{color:#715223;font-size:.72rem}.archive-whole-room-summary p{color:#987949;margin:3px 0 0;font-size:.62rem;line-height:1.45}.archive-bulk-footer{background:#fff8f6;border-top:1px solid #f0d7d2;justify-content:space-between;align-items:center;gap:18px;padding:15px 22px;display:flex}.archive-bulk-footer p{color:#9a6761;margin:0;font-size:.63rem;line-height:1.45}.archive-bulk-footer p b{color:#7d433d;display:block}.archive-bulk-footer button{color:#fff;white-space:nowrap;cursor:pointer;background:#c4413d;border:0;border-radius:9px;min-height:40px;padding:0 15px;font-size:.68rem;font-weight:850}.archive-bulk-footer button:disabled{opacity:.4;cursor:not-allowed}.archive-bulk-review{background:#fff6f4;border:1px solid #e7b9b3;border-radius:12px;gap:12px;margin:0 22px 20px;padding:16px;display:grid}.archive-bulk-review-title{grid-template-columns:34px 1fr;align-items:start;gap:10px;display:grid}.archive-bulk-review-title>span{color:#fff;background:#bd3d38;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.archive-bulk-review-title b{color:#842f2a;font-size:.74rem}.archive-bulk-review-title p{color:#a15e57;margin:3px 0 0;font-size:.63rem;line-height:1.45}.archive-grid{grid-template-columns:330px minmax(0,1fr);align-items:start;gap:18px;display:grid}.archive-list{overflow:hidden}.archive-list>div:last-child{max-height:470px;overflow:auto}.archive-list>div:last-child>button{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2f4;grid-template-columns:34px 1fr 14px;align-items:center;gap:10px;width:100%;padding:13px 18px;display:grid}.archive-list>div:last-child>button.active{background:#fff7e7}.archive-list>div:last-child>button>span{color:#805c25;background:#fff0cd;border-radius:9px;place-items:center;width:32px;height:32px;font-size:.7rem;font-weight:800;display:grid}.archive-list button b,.archive-list button small{display:block}.archive-list button b{color:var(--navy);font-size:.73rem}.archive-list button small{color:var(--muted);margin-top:3px;font-size:.58rem}.archive-list button i{color:#ad9876;font-style:normal}.archive-detail{padding:24px}.archive-detail-head{border-bottom:1px solid #edf2f4;align-items:center;gap:14px;padding-bottom:20px;display:flex}.archive-detail-head h2{color:var(--navy);margin:5px 0 2px}.archive-detail-head p{color:var(--muted);margin:0;font-size:.68rem}.archive-badge{color:#8e621f;background:#fff0cd;border-radius:999px;padding:4px 8px;font-size:.59rem;font-weight:800;display:inline-flex}.archive-facts{grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0;display:grid}.archive-facts div{background:#f7fafb;border-radius:11px;padding:13px}.archive-facts span,.archive-facts b{display:block}.archive-facts span{color:var(--muted);font-size:.59rem}.archive-facts b{color:var(--navy);margin-top:4px;font-size:.75rem}.restore-note{color:#47736f;background:var(--teal-pale);border-radius:12px;align-items:flex-start;gap:8px;padding:14px;display:flex}.restore-note p{margin:0;font-size:.65rem;line-height:1.5}.restore-note b{color:var(--teal-dark);margin-bottom:2px;display:block}.restore-student-button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;width:100%;margin-top:16px;padding:12px;font-size:.75rem;font-weight:800}.restore-student-button:disabled{opacity:.45;cursor:not-allowed}.archive-delete-zone{background:#fff8f6;border:1px solid #efc8c2;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:14px;padding:14px;display:grid}.archive-delete-zone>div>b{color:#923c34;font-size:.72rem}.archive-delete-zone>div>p{color:#a66b64;margin:3px 0 0;font-size:.62rem;line-height:1.45}.archive-delete-zone>button{color:#fff;cursor:pointer;background:#c4413d;border:0;border-radius:9px;min-height:38px;padding:0 14px;font-size:.68rem;font-weight:850}.archive-delete-zone>button:disabled{opacity:.45;cursor:not-allowed}.archive-delete-zone.open{grid-template-columns:1fr;padding:16px}.archive-delete-warning{border-bottom:1px solid #f1d5d0;padding-bottom:12px}.archive-delete-warning b{display:block;color:#8f302b!important}.archive-download-confirmation{color:#78504b;cursor:pointer;background:#fff;border:1px solid #efd7d2;border-radius:10px;grid-template-columns:20px 1fr;align-items:start;gap:9px;padding:12px;display:grid}.archive-download-confirmation input{accent-color:#b83f38;width:17px;height:17px;margin:1px 0 0}.archive-download-confirmation b,.archive-download-confirmation small{display:block}.archive-download-confirmation b{color:#733a35;font-size:.66rem}.archive-download-confirmation small{color:#9b6d68;margin-top:3px;font-size:.57rem;line-height:1.4}.archive-delete-confirmation{color:#89544e;gap:7px;font-size:.62rem;display:grid}.archive-delete-confirmation b{color:#7a302b}.archive-delete-confirmation input{color:#743b36;background:#fff;border:1px solid #deb9b3;border-radius:9px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:.7rem}.archive-delete-confirmation input:focus{border-color:#c34a42;box-shadow:0 0 0 3px #c34a421f}.archive-delete-confirmation input:disabled{background:#f4efee}.archive-delete-actions{justify-content:flex-end;gap:9px;display:flex}.archive-delete-actions button{cursor:pointer;border:0;border-radius:9px;min-height:39px;padding:0 14px;font-size:.67rem;font-weight:850}.archive-delete-actions .cancel{color:#657987;background:#edf2f4}.archive-delete-actions .confirm{color:#fff;background:#b93632}.archive-delete-actions button:disabled{opacity:.42;cursor:not-allowed}.archive-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:40px;display:flex}.archive-empty>span{color:#99671c;background:#fff0cd;border-radius:18px;place-items:center;width:62px;height:62px;font-weight:900;display:grid}.archive-empty h2{color:var(--navy);margin:15px 0 5px}.archive-empty p{max-width:520px;color:var(--muted);margin:0;font-size:.72rem;line-height:1.6}.import-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);align-items:start;gap:18px;display:grid}.import-card{overflow:hidden}.import-card>.muted{margin:18px 22px 10px;font-size:.72rem;line-height:1.6}.import-card textarea{resize:vertical;color:#30485a;background:#f8fbfc;border:1px solid #d5e1e7;border-radius:12px;outline:0;width:calc(100% - 44px);min-height:330px;margin:0 22px;padding:15px;font:500 .7rem/1.7 Courier New,monospace}.import-card textarea:focus{border-color:var(--teal)}.csv-import-success{color:#fff;text-align:center;background:linear-gradient(135deg,#b92f37,#d64b43);border-radius:12px;justify-content:center;align-items:center;gap:10px;width:calc(100% - 44px);min-height:58px;margin:16px 22px 12px;padding:13px 18px;display:flex;box-shadow:0 10px 25px #b92f3738}.csv-import-success span{color:#b92f37;background:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.csv-import-success strong{font-size:clamp(.78rem,1.5vw,.92rem);line-height:1.4}.import-actions{justify-content:space-between;align-items:center;gap:20px;padding:16px 22px 22px;display:flex}.import-actions span{color:var(--muted);font-size:.68rem}.import-guide{padding:22px}.import-guide h2{color:var(--navy);margin:0;font-size:1.2rem}.import-guide ol{gap:14px;margin:20px 0;padding:0;list-style:none;display:grid}.import-guide li{grid-template-columns:28px 1fr;gap:10px;display:grid}.import-guide li>span{width:28px;height:28px;color:var(--teal-dark);background:var(--teal-pale);border-radius:9px;place-items:center;font:800 .67rem/1 Arial,sans-serif;display:grid}.import-guide li b{color:var(--navy);font-size:.7rem}.import-guide li p{color:var(--muted);margin:3px 0 0;font-size:.6rem;line-height:1.5}.template-box{background:#f5f8fa;border-radius:12px;gap:7px;padding:14px;display:grid}.template-box>b{color:var(--navy);margin-bottom:3px;font-size:.7rem}.template-box span{color:var(--muted);justify-content:space-between;font:600 .62rem/1.2 Arial,sans-serif;display:flex}.template-box em{color:var(--navy);font-style:normal;font-weight:800}.score-import-page{gap:18px;display:grid}.score-import-success{width:100%;margin:0}.excel-import-card{overflow:hidden}.excel-step{border-bottom:1px solid #edf2f4;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:14px;padding:20px 22px;display:grid}.excel-step-number{color:#fff;background:var(--teal);border-radius:10px;place-items:center;width:34px;height:34px;font:850 .82rem/1 Arial,sans-serif;display:grid}.excel-step h3{color:var(--navy);margin:0 0 4px;font-size:.9rem}.excel-step p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.5}.template-download-button,.excel-import-action button{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#0b746c,#119488);border:0;border-radius:10px;min-height:42px;padding:0 15px;font-size:.72rem;font-weight:850}.template-download-button:disabled,.excel-import-action button:disabled{opacity:.45;cursor:not-allowed}.score-parts-step{align-items:start}.score-parts-content{min-width:0}.score-parts-heading{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.score-parts-heading>button{color:var(--teal-dark);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:5px 0;font-size:.68rem;font-weight:850}.score-part-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.score-part-grid label{cursor:pointer;background:#fafcfd;border:1px solid #d8e4e8;border-radius:11px;grid-template-columns:24px 1fr;align-items:center;gap:9px;min-height:58px;padding:10px 12px;display:grid}.score-part-grid label.selected{background:#eaf9f6;border-color:#65b9b0}.score-part-grid input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.score-part-grid label>span{color:#0000;background:#fff;border:1px solid #cbdadd;border-radius:6px;place-items:center;width:22px;height:22px;font-size:.68rem;font-weight:900;display:grid}.score-part-grid label.selected>span{border-color:var(--teal);color:#fff;background:var(--teal)}.score-part-grid b,.score-part-grid small{display:block}.score-part-grid b{color:var(--navy);font-size:.73rem;line-height:1.35}.score-part-grid small{color:var(--muted);margin-top:3px;font:650 .6rem/1.2 Arial,sans-serif}.excel-file-button{color:#785719;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff7dd;border:1px solid #d3aa45;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:190px;max-width:300px;min-height:42px;padding:0 14px;font-size:.7rem;font-weight:850;display:inline-flex;overflow:hidden}.excel-file-button input{display:none}.excel-preview{background:#f8fdfc;border:1px solid #b9ddd8;border-radius:13px;margin:18px 22px;overflow:hidden}.excel-preview-head{justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;display:flex}.excel-preview-head b,.excel-preview-head span{display:block}.excel-preview-head b{color:var(--navy);font-size:.8rem}.excel-preview-head span{color:var(--muted);margin-top:3px;font-size:.65rem}.excel-preview-head strong{color:#176b5b;white-space:nowrap;background:#dff5ef;border-radius:999px;padding:5px 8px;font-size:.62rem}.excel-preview-table{overflow-x:auto}.excel-preview table{border-collapse:collapse;background:#fff;width:100%;font-size:.68rem}.excel-preview th,.excel-preview td{text-align:left;white-space:nowrap;border-top:1px solid #e5eef0;padding:9px 10px}.excel-preview th{color:var(--navy);background:#f1f6f7}.excel-preview>small{color:var(--muted);padding:8px 15px;font-size:.62rem;display:block}.excel-import-action{background:#fff7f5;border:1px solid #efd4cf;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;margin:18px 22px 22px;padding:15px;display:flex}.excel-import-action p{color:#8b5a53;max-width:610px;margin:0;font-size:.68rem;line-height:1.5}.excel-import-action b{color:#9c4138;margin-bottom:2px;display:block}.excel-import-action button{background:linear-gradient(135deg,#b92f37,#d64b43)}.legacy-import{overflow:hidden}.legacy-import summary{color:#647886;cursor:pointer;background:#f8fafb;padding:16px 20px;font-size:.72rem;font-weight:800}.legacy-import-body{padding:18px 22px 22px}.legacy-import-body>p{color:var(--muted);margin:0 0 12px;font-size:.7rem}.legacy-import-body textarea{resize:vertical;color:#30485a;background:#f8fbfc;border:1px solid #d5e1e7;border-radius:11px;width:100%;min-height:220px;margin-top:12px;padding:14px;font:500 .7rem/1.6 Courier New,monospace}.reliability-center{gap:18px;display:grid}.reliability-intro{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#effaf8,#fff);border:1px solid #b9dcd7;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.reliability-intro h2{color:var(--navy);margin:4px 0 5px;font-size:1.25rem}.reliability-intro p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:.72rem;line-height:1.55}.reliability-intro>span{color:#126c61;background:#dff5ef;border-radius:999px;flex:none;padding:8px 12px;font-size:.68rem;font-weight:850}.reliability-metrics{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.reliability-metrics article{border:1px solid var(--line);background:#fff;border-radius:15px;align-items:center;gap:13px;min-width:0;padding:18px 20px;display:flex}.reliability-metrics small,.reliability-metrics b,.reliability-metrics em{display:block}.reliability-metrics small{color:var(--muted);font-size:.64rem;font-weight:750}.reliability-metrics b{color:var(--navy);margin:3px 0;font:850 1.35rem/1 Arial,sans-serif}.reliability-metrics em{color:#94a2ac;font-size:.57rem;font-style:normal}.reliability-safety-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.course-snapshot-panel,.class-standard-panel{padding-bottom:20px;overflow:hidden}.safety-description{color:var(--muted);margin:0;padding:0 22px 18px;font-size:.67rem;line-height:1.6}.safety-status-row{background:#f5fbfa;border:1px solid #dcebe8;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin:0 22px 16px;padding:15px;display:flex}.safety-status-row small,.safety-status-row b,.safety-status-row span{display:block}.safety-status-row small{color:var(--muted);font-size:.57rem}.safety-status-row b{color:var(--navy);margin:2px 0;font-size:.72rem}.safety-status-row span{color:#6e828e;font-size:.59rem}.safety-status-row>strong{border-radius:999px;flex:none;padding:6px 9px;font-size:.59rem}.safety-status-row>strong.safe{color:#176b5b;background:#dff5ef}.safety-status-row>strong.attention{color:#895e12;background:#fff3ce}.safety-primary,.safety-secondary{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;width:calc(100% - 44px);min-height:42px;margin:0 22px;font-size:.68rem;font-weight:850}.safety-secondary{color:#145f57;background:#edf9f6;border:1px solid #acd7d1}.safety-primary:disabled,.safety-secondary:disabled{color:#8b999f;cursor:not-allowed;background:#e9edef;border-color:#e1e7e9}.snapshot-history{border-top:1px solid #e7edef;margin:16px 22px 0}.snapshot-history>div{border-bottom:1px solid #eef2f3;align-items:flex-start;gap:9px;padding:10px 0;display:flex}.snapshot-history>div>span{color:#176b5b;background:#e4f6f1;border-radius:7px;flex:none;place-items:center;width:23px;height:23px;font-size:.65rem;font-weight:900;display:grid}.snapshot-history p,.snapshot-history b,.snapshot-history small{margin:0;display:block}.snapshot-history b{color:var(--navy);font-size:.65rem}.snapshot-history small{color:var(--muted);margin-top:2px;font-size:.54rem}.class-health-list{gap:8px;margin:0 22px 16px;display:grid}.class-health-list>div{border:1px solid #e5ebed;border-radius:11px;align-items:center;gap:10px;min-height:52px;padding:10px 12px;display:flex}.class-health-list>div>span{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:.7rem;font-weight:900;display:grid}.class-health-list>div>span.ok{color:#176b5b;background:#e4f6f1}.class-health-list>div>span.warn{color:#a34337;background:#fce9e5}.class-health-list p,.class-health-list b,.class-health-list small{margin:0;display:block}.class-health-list b{color:var(--navy);font-size:.65rem}.class-health-list small{color:var(--muted);margin-top:2px;font-size:.57rem}.reliability-grid{grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr);align-items:start;gap:18px;display:grid}.backup-panel,.security-events-panel,.audit-panel{overflow:hidden}.backup-list,.security-event-list{max-height:430px;overflow-y:auto}.backup-list>article{border-bottom:1px solid #edf2f4;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:15px 18px;display:grid}.backup-list>article:last-child{border-bottom:0}.backup-list>article.restored{opacity:.72;background:#f7f9fa}.backup-status{color:#176b5b;background:#e4f6f1;border-radius:999px;margin-bottom:5px;padding:3px 7px;font-size:.56rem;font-weight:850;display:inline-flex}.restored .backup-status{color:#687d89;background:#e9eef0}.backup-list b,.backup-list p,.backup-list small{display:block}.backup-list b{color:var(--navy);font-size:.73rem}.backup-list p{color:#617683;margin:3px 0;font-size:.63rem}.backup-list small{color:var(--muted);font-size:.56rem}.backup-list article>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;min-height:38px;padding:0 12px;font-size:.65rem;font-weight:850}.backup-list article>button:disabled{color:#8b999f;cursor:not-allowed;background:#e5eaec}.security-event-list>article{border-bottom:1px solid #edf2f4;grid-template-columns:34px 1fr;align-items:start;gap:10px;min-height:82px;padding:14px 16px;display:grid}.security-event-list>article:last-child{border-bottom:0}.security-event-list>article>span{color:#a23f37;background:#fff0ed;border-radius:9px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.security-event-list>article.teacher_login_recovered>span,.security-event-list>article.password_reset_ready>span,.security-event-list>article.password_reset_temporary>span{color:#176b5b;background:#e6f6f1}.security-event-list b{color:var(--navy);font-size:.7rem}.security-event-list p{color:#647986;margin:3px 0;font-size:.61rem;line-height:1.45}.security-event-list small{color:var(--muted);font-size:.55rem;line-height:1.4}.audit-table-wrap{max-height:520px;overflow:auto}.audit-table-wrap table{border-collapse:collapse;width:100%;font-size:.63rem}.audit-table-wrap th,.audit-table-wrap td{text-align:left;vertical-align:middle;border-bottom:1px solid #e8eff1;padding:11px 12px}.audit-table-wrap th{z-index:1;color:var(--navy);white-space:nowrap;background:#f1f6f7;font-size:.59rem;position:sticky;top:0}.audit-table-wrap td{color:#536c7a}.audit-table-wrap td b,.audit-table-wrap td small{display:block}.audit-table-wrap td b{color:var(--navy);font-size:.66rem}.audit-table-wrap td small{color:var(--muted);margin-top:2px;font-size:.54rem}.audit-action{color:#176b5b;white-space:nowrap;background:#e7f7f2;border-radius:999px;padding:4px 7px;font-size:.55rem;font-weight:850;display:inline-flex}.audit-action.excel_import{color:#805b17;background:#fff4d8}.audit-action.restore_backup{color:#24587b;background:#e8f1f7}.reliability-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;padding:28px;display:grid}.reliability-empty>span{width:40px;height:40px;color:var(--teal-dark);background:var(--teal-pale);border-radius:11px;place-items:center;font-weight:900;display:grid}.reliability-empty p{max-width:420px;margin:0;font-size:.68rem;line-height:1.5}.reliability-empty.safe>span{color:#176b5b;background:#e6f6f1}.class-lock-banner,.score-lock-note{color:#426f6b;background:#eefaf7;border:1px solid #a9d8d1;border-radius:13px;align-items:flex-start;gap:11px;padding:14px 17px;display:flex}.class-lock-banner{margin-bottom:18px}.class-lock-banner>span,.score-lock-note>span{color:#fff;background:var(--teal);border-radius:8px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.class-lock-banner b,.score-lock-note b{color:var(--teal-dark);font-size:.74rem}.class-lock-banner p,.score-lock-note p{margin:3px 0 0;font-size:.63rem;line-height:1.5}.score-lock-note{margin:16px 18px 4px}.score-lock-note p{margin:0}.excel-file-button.disabled{opacity:.45;cursor:not-allowed}.term-close-center{gap:18px;display:grid}.term-close-center>.class-filter-bar{margin-bottom:0}.term-close-intro{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#edf9f6,#fffdf7);border:1px solid #b9ddd8;border-radius:18px;justify-content:space-between;align-items:center;gap:24px;padding:25px 28px;display:flex}.term-close-intro h2{color:var(--navy);margin:3px 0 6px;font-size:1.28rem}.term-close-intro p:last-child{max-width:760px;color:var(--muted);margin:0;font-size:.72rem;line-height:1.6}.term-progress{text-align:center;flex:0 0 150px;width:150px}.term-progress strong,.term-progress span{display:block}.term-progress strong{color:var(--teal-dark);font:900 2rem/1 Arial,sans-serif}.term-progress strong small{font-size:.8rem}.term-progress span{color:var(--muted);margin:5px 0 8px;font-size:.59rem;font-weight:750}.term-progress i{background:#dce9e8;border-radius:999px;height:7px;display:block;overflow:hidden}.term-progress i b{border-radius:inherit;background:linear-gradient(90deg,var(--teal),#50b4aa);height:100%;transition:width .25s;display:block}.term-course-overview{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #d8e5e7;border-radius:17px;padding:21px 22px}.term-overview-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.term-overview-heading h2{color:var(--navy);margin:3px 0 4px;font-size:1.08rem}.term-overview-heading p:last-child{color:var(--muted);margin:0;font-size:.66rem;line-height:1.5}.term-overview-heading>strong{color:var(--teal-dark);white-space:nowrap;font:900 1.4rem/1 Arial,sans-serif}.term-overview-heading>strong small{color:var(--muted);font:750 .58rem/1.2 var(--font-body),sans-serif}.term-room-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:9px;margin-top:15px;display:grid}.term-room-card{min-width:0;min-height:70px;color:inherit;text-align:left;cursor:pointer;background:#fbfcfd;border:1px solid #dce6e8;border-radius:12px;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:11px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.term-room-card:hover{border-color:#9fcfc9;transform:translateY(-1px);box-shadow:0 7px 16px #1f516014}.term-room-card.selected{border-color:var(--teal);box-shadow:0 0 0 3px #0f847b1c}.term-room-card>span{color:#8d671f;background:#fff1ce;border-radius:9px;place-items:center;width:32px;height:32px;font-size:.72rem;font-weight:900;display:grid}.term-room-card>div{min-width:0}.term-room-card b,.term-room-card small{display:block}.term-room-card b{color:var(--navy);font-size:.75rem}.term-room-card small{color:var(--muted);margin-top:2px;font-size:.55rem}.term-room-card em{color:#866329;grid-column:2;font-size:.57rem;font-style:normal;font-weight:850}.term-room-card.ready>span,.term-room-card.verified>span,.term-room-card.locked>span,.term-room-card.closed>span{color:#176b5b;background:#e3f5f0}.term-room-card.ready em,.term-room-card.verified em,.term-room-card.locked em,.term-room-card.closed em{color:#176b5b}.term-room-card.closed{background:#f0faf7}.term-step-nav{background:#fffffff5;border:1px solid #d8e5e7;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:8px;display:grid;box-shadow:0 6px 18px #1c3d510d}.term-step-nav button{color:#536c79;cursor:pointer;background:#f1f5f6;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-width:0;min-height:42px;padding:6px 8px;font-size:.62rem;font-weight:850;display:flex}.term-step-nav button:hover{background:#e8f1f2}.term-step-nav button span{color:#fff;background:#8095a2;border-radius:7px;flex:0 0 23px;place-items:center;width:23px;height:23px;font:900 .63rem/1 Arial,sans-serif;display:grid}.term-step-nav button.complete{color:#176b5b;background:#eaf8f4}.term-step-nav button.complete span{background:var(--teal)}.term-room-status{border:1px solid #d7e4e6;border-left:5px solid var(--teal);background:#fff;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;display:flex}.term-room-status h3{color:var(--navy);margin:7px 0 3px;font-size:1.1rem}.term-room-status p{color:var(--muted);margin:0;font-size:.68rem}.term-room-status>div>span{border-radius:999px;padding:4px 8px;font-size:.58rem;font-weight:850}.term-room-status span.open{color:#805b17;background:#fff1c9}.term-room-status span.locked{color:#176b5b;background:#dff5ef}.term-room-status span.archived{color:#24587b;background:#e7f1f7}.term-room-status>strong{color:var(--navy);text-align:right;white-space:nowrap;font:900 1.25rem/1 Arial,sans-serif}.term-room-status>strong small{color:var(--muted);font:700 .58rem/1.3 var(--font-body),sans-serif;margin-top:5px;display:block}.term-step-list{gap:12px;display:grid}.term-step{background:#fff;border:1px solid #dce6e8;border-radius:16px;grid-template-columns:66px minmax(0,1fr);min-width:0;display:grid;overflow:hidden;box-shadow:0 6px 20px #1b3a4e0a}.term-step.complete{border-color:#a8d9d2}.term-step.active{border-color:#d9bd6c}.term-step.disabled{opacity:.68}.term-step.attention{border-color:#e7b7b0}.term-step-number{color:#fff;background:#8095a2;place-items:center;font:900 1.15rem/1 Arial,sans-serif;display:grid}.term-step.complete .term-step-number{background:var(--teal)}.term-step.active .term-step-number{background:#b9882f}.term-step.attention .term-step-number{background:#c34b42}.term-step-content{min-width:0;padding:18px 20px}.term-step-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.term-step-heading h3{color:var(--navy);margin:2px 0 0;font-size:.98rem}.term-step-heading>strong{color:#586f7d;background:#edf2f4;border-radius:999px;flex:none;padding:5px 9px;font-size:.6rem}.term-step.complete .term-step-heading>strong{color:#176b5b;background:#dff5ef}.term-step.active .term-step-heading>strong{color:#805b17;background:#fff0c9}.term-step-content>p{color:var(--muted);margin:8px 0 0;font-size:.67rem;line-height:1.55}.term-complete-note{background:#eefaf7;border-radius:9px;padding:11px 13px;color:#176b5b!important}.term-check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.term-check-grid span{border-radius:9px;align-items:center;min-height:38px;padding:9px 11px;font-size:.65rem;font-weight:750;display:flex}.term-check-grid span.pass{color:#176b5b;background:#eaf8f4}.term-check-grid span.fail{color:#a13f37;background:#fff0ed}.term-incomplete{border:1px solid #edd2cd;border-radius:9px;margin-top:10px;overflow:hidden}.term-incomplete summary{color:#9b443d;cursor:pointer;background:#fff6f4;padding:9px 11px;font-size:.64rem;font-weight:800}.term-incomplete>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;max-height:190px;padding:9px 11px;display:grid;overflow-y:auto}.term-incomplete button{color:#6d7f89;text-align:left;cursor:pointer;background:#fff;border:1px solid #eadbd8;border-radius:8px;gap:2px;min-width:0;padding:8px 9px;display:grid}.term-incomplete button:hover{background:#fffaf9;border-color:#d59e96}.term-incomplete button b{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.61rem;overflow:hidden}.term-incomplete button small{color:#a04c45;font-size:.54rem}.term-report-actions{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.term-report-actions button,.term-primary-action,.term-secondary-action,.term-archive-action{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:9px;min-height:39px;padding:0 13px;font-size:.66rem;font-weight:850}.term-report-actions button.done,.term-report-actions button.verify,.term-primary-action{background:var(--teal)}.term-report-actions button:disabled,.term-primary-action:disabled,.term-secondary-action:disabled,.term-archive-action:disabled{opacity:.42;cursor:not-allowed}.term-primary-action,.term-secondary-action,.term-archive-action{margin-top:13px}.term-secondary-action{color:#76551b;background:#fff0c6}.term-archive-action{background:#be433d}.term-confirm-box{background:#fffaf0;border:1px solid #d8c078;border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:13px;padding:13px;display:grid}.term-confirm-box label{color:#765d2f;gap:6px;font-size:.62rem;display:grid}.term-confirm-box label small{color:#8b7852;font-size:.54rem;font-weight:500}.term-confirm-box input,.term-confirm-box textarea{color:var(--navy);font:inherit;background:#fff;border:1px solid #d7c28b;border-radius:8px;outline:0;padding:0 10px}.term-confirm-box input{min-height:39px}.term-confirm-box textarea{resize:vertical;min-height:76px;padding-block:9px}.term-confirm-box>div{gap:7px;display:flex}.term-confirm-box>.term-confirm-fields{gap:10px;display:grid}.term-confirm-box button{color:#647783;cursor:pointer;background:#edf2f4;border:0;border-radius:8px;min-height:39px;padding:0 12px;font-size:.63rem;font-weight:850}.term-confirm-box button:last-child{color:#fff;background:#aa7826}.term-confirm-box button:disabled{opacity:.4;cursor:not-allowed}.term-confirm-box.danger{background:#fff6f4;border-color:#e5b6b0}.term-confirm-box.danger label{color:#8d4740}.term-confirm-box.danger input{border-color:#dfbbb6}.term-confirm-box.danger button:last-child{background:#bd3e39}.term-unlock-confirm{grid-template-columns:minmax(0,1fr) auto}.term-activity-panel{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #d8e5e7;border-radius:17px;overflow:hidden}.term-activity-heading{border-bottom:1px solid #e5edef;justify-content:space-between;align-items:flex-start;gap:18px;padding:19px 21px;display:flex}.term-activity-heading h2{color:var(--navy);margin:3px 0 4px;font-size:1.02rem}.term-activity-heading p:last-child{color:var(--muted);margin:0;font-size:.64rem}.term-activity-heading>span{color:#526c79;white-space:nowrap;background:#edf3f4;border-radius:999px;padding:5px 9px;font-size:.58rem;font-weight:850}.term-activity-list{max-height:310px;overflow-y:auto}.term-activity-list article{border-bottom:1px solid #edf2f3;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;min-height:74px;padding:13px 20px;display:grid}.term-activity-list article:last-child{border-bottom:0}.term-activity-list article>span{color:#176b5b;background:#e5f6f1;border-radius:9px;place-items:center;width:32px;height:32px;font-size:.66rem;font-weight:900;display:grid}.term-activity-list article.end_term_scores_unlocked>span{color:#9b443d;background:#fff0ed}.term-activity-list b{color:var(--navy);font-size:.69rem}.term-activity-list p{color:#607682;margin:3px 0;font-size:.61rem;line-height:1.45}.term-activity-list small{color:var(--muted);font-size:.54rem}.term-activity-empty{min-height:120px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:25px;display:grid}.term-activity-empty span{width:34px;height:34px;color:var(--teal-dark);background:var(--teal-pale);border-radius:9px;place-items:center;font-weight:900;display:grid}.term-activity-empty p{max-width:520px;margin:0;font-size:.62rem;line-height:1.5}.term-next-course{box-shadow:var(--shadow-soft);background:linear-gradient(135deg,#f1faf8,#fff);border:1px solid #b9dcd7;border-radius:17px;padding:22px}.term-next-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.term-next-heading h2{color:var(--navy);margin:3px 0 5px;font-size:1.12rem}.term-next-heading p:last-child{max-width:720px;color:var(--muted);margin:0;font-size:.68rem;line-height:1.5}.term-next-heading>span{color:#176b5b;white-space:nowrap;background:#dff5ef;border-radius:999px;padding:6px 10px;font-size:.59rem;font-weight:850}.term-course-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:17px;display:grid}.term-course-fields label{color:var(--navy);gap:6px;font-size:.62rem;font-weight:800;display:grid}.term-course-fields label.wide{grid-column:span 2}.term-course-fields input,.term-course-fields select{width:100%;min-width:0;min-height:41px;color:var(--navy);background:#fff;border:1px solid #ccdcdf;border-radius:9px;outline:0;padding:0 10px}.term-course-fields input:focus,.term-course-fields select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f847b1a}.term-course-footer{border-top:1px solid #dceae8;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding-top:15px;display:flex}.term-course-footer p{color:var(--muted);margin:0;font-size:.64rem}.term-course-footer button{color:#fff;background:var(--teal);cursor:pointer;white-space:nowrap;border:0;border-radius:9px;min-height:42px;padding:0 15px;font-size:.68rem;font-weight:850}.term-course-footer button:disabled{opacity:.45;cursor:not-allowed}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.student-view-tabs{background:#eaf1f3;border:1px solid #dbe7ea;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:20px 0;padding:6px;display:grid;box-shadow:0 8px 24px #0d2f4f0f}.student-view-tabs button{color:#687c89;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;column-gap:11px;min-height:68px;padding:11px 16px;display:grid}.student-view-tabs button>span{color:#58727e;background:#ffffffb3;border-radius:10px;grid-row:1/3;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.student-view-tabs button b{color:var(--navy);font-size:.82rem}.student-view-tabs button small{font-size:.62rem}.student-view-tabs button.active{color:var(--teal-dark);background:#fff;box-shadow:0 5px 15px #0d2f4f17}.student-view-tabs button.active>span{color:#fff;background:var(--teal)}.student-assignment-section{gap:18px;display:grid}.assignment-hero{color:#fff;min-height:150px;box-shadow:var(--shadow);background:linear-gradient(125deg,#0d2f4f,#124a69 58%,#0d8b83);border-radius:22px;justify-content:space-between;align-items:center;gap:24px;padding:28px 32px;display:flex}.assignment-hero h2{margin:4px 0 7px;font-size:1.65rem}.assignment-hero p:last-child{color:#ffffffc2;margin:0;font-size:.74rem}.assignment-overall{justify-items:center;min-width:110px;display:grid}.assignment-overall strong{font:900 2.7rem/1 Arial,sans-serif}.assignment-overall strong small{color:#ffffffb3;font-size:1rem}.assignment-overall span{color:#bce9e4;margin-top:7px;font-size:.68rem;font-weight:800}.assignment-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;display:grid}.assignment-summary-grid article{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #dfe8eb;border-radius:14px;align-items:center;gap:12px;padding:17px 20px;display:flex}.assignment-summary-grid small,.assignment-summary-grid b{display:block}.assignment-summary-grid small{color:var(--muted);font-size:.65rem}.assignment-summary-grid b{color:var(--navy);margin-top:2px;font:900 1.35rem/1 Arial,sans-serif}.assignment-status-dot{border-radius:50%;flex:0 0 13px;width:13px;height:13px;box-shadow:0 0 0 6px #0000000a}.assignment-status-dot.submitted{background:var(--teal)}.assignment-status-dot.pending_review{background:var(--gold)}.assignment-status-dot.not_submitted{background:var(--coral)}.student-assignment-list{gap:12px;display:grid}.student-assignment-card{box-shadow:var(--shadow-soft);background:#fff;border:1px solid #dfe8eb;border-left:5px solid #e7775d;border-radius:17px;grid-template-columns:42px minmax(0,1fr);gap:15px;padding:21px;display:grid}.student-assignment-card.status-submitted{border-left-color:var(--teal)}.student-assignment-card.status-pending_review{border-left-color:var(--gold)}.student-assignment-card.overdue{background:linear-gradient(90deg,#fff7f5,#fff 32%)}.assignment-sequence{width:40px;height:40px;color:var(--navy);background:#edf3f5;border-radius:11px;place-items:center;font-size:.75rem;font-weight:900;display:grid}.assignment-card-copy{min-width:0}.assignment-card-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.assignment-card-title small{color:var(--teal-dark);font-size:.58rem;font-weight:800}.assignment-card-title h3{color:var(--navy);margin:3px 0 0;font-size:1rem}.assignment-status-badge{border-radius:999px;flex:none;padding:6px 10px;font-size:.62rem;font-weight:850}.assignment-status-badge.submitted{color:#176b5b;background:#dff5ef}.assignment-status-badge.pending_review{color:#8b6219;background:#fff1c8}.assignment-status-badge.not_submitted{color:#9d433c;background:#ffebe8}.assignment-card-copy>p{color:#526b79;white-space:pre-wrap;margin:10px 0 0;font-size:.72rem;line-height:1.6}.assignment-meta{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.assignment-meta>span{color:#5d737f;background:#f3f7f8;border-radius:8px;padding:7px 9px;font-size:.62rem}.assignment-meta b{color:var(--navy);margin-right:6px}.assignment-meta .assignment-result{color:#176b5b;background:#e3f6f1;font-weight:850}.assignment-teacher-note{background:#eef4ff;border-radius:10px;margin-top:13px;padding:12px 14px}.assignment-teacher-note b{color:#315b80;font-size:.65rem}.assignment-teacher-note p{color:#597087;margin:3px 0 0;font-size:.68rem;line-height:1.55}.assignment-empty{min-height:230px;color:var(--muted);text-align:center;background:#ffffffb3;border:1px dashed #cbdcdf;border-radius:17px;align-content:center;place-items:center;gap:6px;display:grid}.assignment-empty>span{width:44px;height:44px;color:var(--teal);background:var(--teal-pale);border-radius:13px;place-items:center;font-weight:900;display:grid}.assignment-empty h3,.assignment-empty p{margin:0}.assignment-empty h3{color:var(--navy);font-size:.9rem}.assignment-empty p{font-size:.66rem}.assignment-score-separation,.assignment-separation-note{color:#47736f;background:#f0fbf8;border:1px solid #b9ddd8;border-radius:13px;align-items:flex-start;gap:11px;padding:14px 17px;display:flex}.assignment-score-separation>span,.assignment-separation-note>span{color:#fff;background:var(--teal);border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font:900 .75rem/1 Arial,sans-serif;display:grid}.assignment-score-separation p,.assignment-separation-note p{margin:0;font-size:.66rem;line-height:1.55}.assignment-score-separation b,.assignment-separation-note b{color:var(--teal-dark);margin-bottom:2px;display:block}.assignment-admin{gap:18px;display:grid}.assignment-separation-note p{margin-top:3px}.assignment-create-card{overflow:hidden}.assignment-create-card>.admin-card-title{padding:20px 22px}.assignment-create-card>.admin-card-title>span{color:var(--muted);font-size:.62rem}.assignment-form-grid{grid-template-columns:minmax(220px,1.8fr) minmax(100px,.45fr) minmax(150px,.7fr) minmax(150px,.7fr);gap:13px;padding:18px 22px;display:grid}.assignment-form-grid label,.assignment-edit-form label{color:var(--navy);gap:6px;font-size:.64rem;font-weight:800;display:grid}.assignment-form-grid input,.assignment-form-grid select,.assignment-form-grid textarea,.assignment-edit-form input,.assignment-edit-form textarea,.assignment-progress-row input,.assignment-progress-row select{width:100%;min-height:41px;color:var(--navy);background:#fff;border:1px solid #cfdee2;border-radius:9px;outline:0;padding:0 10px}.assignment-form-grid textarea,.assignment-edit-form textarea{resize:vertical;padding-block:9px;line-height:1.5}.assignment-form-grid input:focus,.assignment-form-grid select:focus,.assignment-form-grid textarea:focus,.assignment-edit-form input:focus,.assignment-edit-form textarea:focus,.assignment-progress-row input:focus,.assignment-progress-row select:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d8b831a}.assignment-description-field{grid-column:1/-1}.assignment-form-actions{background:#f8fbfc;border-top:1px solid #e8eef0;justify-content:space-between;align-items:center;gap:18px;padding:15px 22px;display:flex}.assignment-publish-toggle{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:8px!important;display:flex!important}.assignment-publish-toggle input{height:18px;accent-color:var(--teal);margin:0;padding:0;width:18px!important;min-height:18px!important}.assignment-form-actions button,.assignment-edit-form>button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:9px;min-height:41px;padding:0 16px;font-size:.68rem;font-weight:850}.assignment-form-actions button:disabled,.assignment-edit-form>button:disabled{opacity:.42;cursor:not-allowed}.assignment-admin-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:18px;display:grid}.assignment-catalog{overflow:hidden}.assignment-catalog-list{max-height:660px;overflow-y:auto}.assignment-catalog-list>button{width:100%;min-height:82px;color:inherit;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #eaf0f2;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 15px;display:grid}.assignment-catalog-list>button.active{background:var(--teal-pale);box-shadow:inset 4px 0 0 var(--teal)}.assignment-list-mark{width:32px;height:32px;color:var(--teal-dark);background:#edf7f5;border-radius:9px;place-items:center;font-size:.68rem;font-weight:900;display:grid}.assignment-catalog-list b,.assignment-catalog-list small{display:block}.assignment-catalog-list b{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.assignment-catalog-list small{color:var(--muted);margin-top:4px;font-size:.56rem;line-height:1.45}.assignment-catalog-list em{border-radius:999px;padding:4px 7px;font-size:.54rem;font-style:normal;font-weight:850}.assignment-catalog-list em.published{color:#176b5b;background:#dff5ef}.assignment-catalog-list em.hidden{color:#8d6724;background:#fff0c7}.assignment-catalog-empty{min-height:230px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:5px;padding:25px;display:grid}.assignment-catalog-empty>span{width:38px;height:38px;color:var(--teal);background:var(--teal-pale);border-radius:11px;place-items:center;display:grid}.assignment-catalog-empty b{color:var(--navy)}.assignment-catalog-empty p{margin:0;font-size:.6rem}.assignment-workspace{overflow:hidden}.assignment-editor-head{border-bottom:1px solid #e8eef0;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px;display:flex}.assignment-editor-head h2{color:var(--navy);margin:2px 0 3px;font-size:1.05rem}.assignment-editor-head>div:first-child>span{color:var(--muted);font-size:.61rem}.assignment-status-totals{gap:8px;display:flex}.assignment-status-totals span{min-width:62px;color:var(--muted);text-align:center;background:#f3f7f8;border-radius:9px;padding:8px;font-size:.54rem}.assignment-status-totals b{color:var(--navy);margin-bottom:2px;font:900 1.05rem/1 Arial,sans-serif;display:block}.assignment-edit-form{background:#fbfcfd;border-bottom:1px solid #e8eef0;grid-template-columns:minmax(180px,1.5fr) minmax(90px,.4fr) minmax(140px,.7fr) auto;align-items:end;gap:11px;padding:17px 22px;display:grid}.assignment-edit-form label.wide{grid-column:1/-1}.assignment-edit-form>button{grid-column:-2/-1}.assignment-progress-heading{justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 22px 12px;display:flex}.assignment-progress-heading h3{color:var(--navy);margin:2px 0 0;font-size:.9rem}.assignment-progress-heading>span{color:var(--muted);font-size:.58rem}.assignment-progress-table{overflow-x:auto}.assignment-progress-row{border-top:1px solid #edf2f3;grid-template-columns:minmax(175px,1.05fr) 130px 95px minmax(170px,1fr) 66px;align-items:center;gap:9px;min-width:820px;min-height:64px;padding:9px 16px;display:grid}.assignment-progress-row.heading{color:#647985;background:#f1f6f7;min-height:38px;font-size:.57rem;font-weight:850}.assignment-student-cell b,.assignment-student-cell small{display:block}.assignment-student-cell b{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;overflow:hidden}.assignment-student-cell small{color:var(--muted);margin-top:2px;font-size:.54rem}.assignment-progress-row input,.assignment-progress-row select{min-height:38px;font-size:.63rem}.assignment-progress-row input:disabled{color:#94a4ad;background:#f1f4f5}.assignment-score-input{position:relative}.assignment-score-input input{padding-right:31px}.assignment-score-input small{color:#758994;font-size:.54rem;position:absolute;top:12px;right:8px}.assignment-progress-row>button{min-height:37px;color:var(--teal-dark);cursor:pointer;background:#fff;border:1px solid #afd2ce;border-radius:8px;font-size:.61rem;font-weight:850}.assignment-progress-row>button:disabled{opacity:.4;cursor:not-allowed}.assignment-progress-empty{min-height:160px;color:var(--muted);place-items:center;padding:35px;font-size:.68rem;display:grid}@media (width<=1100px){.student-hero{grid-template-columns:minmax(270px,300px) 1fr}.hero-stat-list{border-top:1px solid #ffffff24;border-left:0;grid-column:1/-1;grid-template-columns:repeat(3,1fr);padding:15px 0 0}.admin-metrics{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.student-management,.archive-grid{grid-template-columns:280px minmax(0,1fr)}.score-edit-row{grid-template-columns:44px 1fr 95px 60px}.feedback-input{grid-column:2/5}.import-layout,.class-filter-bar{grid-template-columns:1fr}.class-filter-options{justify-content:flex-start}.class-report-actions{flex-direction:column;align-items:flex-start}.class-report-buttons{width:100%}.report-download-button{flex:1}.course-switcher{flex-direction:column;align-items:flex-start}.course-switcher-select{flex-basis:auto;width:100%}.reliability-grid,.reliability-safety-grid{grid-template-columns:1fr}.term-course-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-admin-grid{grid-template-columns:270px minmax(0,1fr)}.assignment-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-title-field{grid-column:1/-1}.assignment-edit-form{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-edit-form>button{grid-column:auto}}@media (width<=850px){.login-page{grid-template-columns:1fr}.login-story{display:none}.mobile-brand{display:block}.academic-badge,.profile-text{display:none}.teacher-app-header{gap:8px;height:64px;min-height:64px;padding:8px 14px}.teacher-app-header .brand{gap:9px;min-width:0}.teacher-app-header .brand-mark{border-radius:11px;flex:0 0 38px;width:38px;height:38px}.teacher-app-header .brand span,.teacher-app-header .brand small{display:none}.teacher-app-header .brand strong{white-space:nowrap;font-size:.96rem}.teacher-app-header .header-actions{gap:7px;margin-left:auto}.header-action-desktop{display:none}.header-action-mobile{display:inline}.teacher-app-header .header-logout-button{min-width:48px;min-height:40px;padding-inline:9px}.app-header:not(.teacher-app-header){height:auto;min-height:76px;padding:9px 20px}.header-actions{gap:10px}.header-logout-button{white-space:nowrap;min-height:40px;padding-inline:13px}.teacher-layout{grid-template-columns:1fr}.teacher-sidebar{z-index:40;border-right:0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;width:100%;height:auto;min-height:66px;padding:8px 14px;position:sticky;top:64px;overflow:visible;box-shadow:0 8px 24px #0d2f4f12}.admin-label,.sidebar-note{display:none}.mobile-admin-nav-bar{justify-content:space-between;align-items:center;gap:12px;min-height:49px;display:flex}.mobile-admin-current{align-items:center;gap:10px;min-width:0;display:flex}.mobile-admin-current>.icon{color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-dark));border-radius:10px;width:36px;height:36px;box-shadow:0 6px 14px #0d8b8333}.mobile-admin-current span,.mobile-admin-current small,.mobile-admin-current b{display:block}.mobile-admin-current span{min-width:0}.mobile-admin-current small{color:#82949f;margin-bottom:2px;font-size:.68rem;font-weight:800}.mobile-admin-current b{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;line-height:1.25;overflow:hidden}.mobile-admin-nav-bar>button{min-width:92px;min-height:42px;color:var(--teal-dark);cursor:pointer;background:#eff9f7;border:1px solid #b8d8d4;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:0 13px;font-size:.82rem;font-weight:900;display:inline-flex}.mobile-admin-nav-bar>button>span{font:900 1rem/1 Arial,sans-serif}.teacher-sidebar nav{z-index:42;overscroll-behavior:contain;background:#fffffffc;border:1px solid #d5e4e6;border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;max-height:calc(100dvh - 154px);padding:10px;display:none;position:fixed;top:138px;left:12px;right:12px;overflow-y:auto;box-shadow:0 24px 70px #0d2f4f3d}.teacher-sidebar.mobile-open nav{display:grid}.teacher-sidebar nav button{color:#4c6373;text-align:left;background:#fbfdfe;border:1px solid #e2eaed;border-radius:13px;flex:none;grid-template-columns:36px minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:9px;width:100%;min-height:76px;padding:10px;display:grid}.teacher-sidebar nav button.active{box-shadow:inset 3px 0 0 var(--teal);background:#eaf8f5;border-color:#99d0ca}.teacher-sidebar nav button>.icon{width:36px;height:36px;color:var(--teal-dark);background:#edf6f5;border-radius:10px}.teacher-sidebar nav button.active>.icon{color:#fff;background:var(--teal)}.teacher-sidebar .sidebar-menu-label{min-width:0;color:inherit;font-size:.88rem;line-height:1.25}.teacher-sidebar .sidebar-menu-label small{color:#81939e;margin-top:4px;font-size:.75rem;line-height:1.25;display:block}.teacher-sidebar .sidebar-count{margin-left:0}.mobile-admin-nav-backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;background:#08203657;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.student-management{grid-template-columns:1fr;align-items:start}.archive-grid{grid-template-columns:1fr}.student-selector{height:auto;max-height:none;display:block}.student-list-scroll-area{display:block}.select-list{max-height:260px}.teacher-title-row{align-items:flex-start}.reliability-metrics{grid-template-columns:1fr}.term-close-intro,.term-next-heading{flex-direction:column;align-items:flex-start}.term-progress{text-align:left;flex-basis:auto;width:100%}.term-progress i{max-width:300px}.term-course-fields{grid-template-columns:1fr}.term-course-fields label.wide{grid-column:auto}.term-step-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.assignment-admin-grid{grid-template-columns:1fr}.assignment-catalog-list{max-height:300px}}@media (width<=680px){.minimal-login-page{place-items:start center;padding:14px}.minimal-login-card{margin-top:max(0px, env(safe-area-inset-top));border-radius:22px}.minimal-login-header{padding:23px 22px 17px}.minimal-login-header img{width:78px;height:78px;margin-bottom:12px}.minimal-login-header>span{font-size:.82rem}.realtime-clock{gap:12px;margin:0 22px;padding:12px 14px}.realtime-clock b{white-space:normal}.realtime-clock time{min-width:92px;padding-left:12px}.realtime-clock time strong{font-size:.98rem}.minimal-login-content{padding:20px 22px 24px}.pin-login-content .minimal-login-title{margin-bottom:17px}.login-role-switch{margin-bottom:18px}.login-role-switch button{grid-template-columns:31px minmax(0,1fr);column-gap:7px;min-height:59px;padding:9px}.login-role-switch button>span{width:31px;height:31px}.login-role-switch button b{font-size:.84rem}.login-role-switch button small{font-size:.69rem}.student-pin-form{gap:13px}.student-number-field,.student-pin-field{padding:11px 14px}.pin-keypad{gap:8px;width:min(282px,88vw)}.pin-keypad button{font-size:clamp(1.75rem,8vw,2rem)}.pin-dot-row{gap:8px}.pin-dot-row i{width:15px;height:15px}.minimal-login-footer{padding-inline:22px}.login-panel{padding:28px 22px}.login-panel .site-credit{margin-top:36px}.dashboard{width:min(100% - 28px,1180px);padding-top:32px}.welcome-row{flex-direction:column;align-items:flex-start}.welcome-row>div:first-child{width:100%}.student-greeting{letter-spacing:-.035em;font-size:clamp(1.45rem,7vw,2rem);line-height:1.22}.updated-chip{width:100%}.student-notification-head{flex-direction:column;align-items:stretch}.student-notification-head>button:first-child,.mark-all-notifications{width:100%}.student-notification-list article{grid-template-columns:9px minmax(0,1fr)}.student-notification-list article>button{grid-column:2;justify-self:start}.student-view-tabs{grid-template-columns:1fr}.assignment-hero,.assignment-card-title,.assignment-editor-head,.assignment-progress-heading,.assignment-form-actions{flex-direction:column;align-items:flex-start}.assignment-overall{justify-items:start}.assignment-summary-grid{grid-template-columns:1fr}.student-assignment-card{grid-template-columns:34px minmax(0,1fr);padding:17px 14px}.assignment-sequence{width:32px;height:32px}.assignment-status-badge{align-self:flex-start}.assignment-form-grid,.assignment-edit-form{grid-template-columns:1fr}.assignment-title-field,.assignment-description-field,.assignment-edit-form label.wide,.assignment-edit-form>button{grid-column:auto}.assignment-form-actions button,.assignment-edit-form>button,.assignment-status-totals{width:100%}.assignment-status-totals span{flex:1}.student-hero{text-align:center;grid-template-columns:1fr;padding:28px 22px}.student-score-overview{justify-content:center}.hero-copy p{margin-inline:auto}.hero-stat-list{text-align:left;grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.score-card-main{grid-template-columns:44px 1fr 75px 18px;gap:12px}.mini-progress{grid-area:2/2/auto/4}.feedback-panel{flex-direction:column;align-items:flex-start;padding:16px}.learning-note{grid-template-columns:35px 1fr}.note-steps{grid-column:1/-1;justify-content:center}.teacher-main{padding:28px 14px 60px}.teacher-title-row{flex-direction:column}.teacher-title-actions{grid-template-columns:1fr;width:100%;display:grid}.file-button{justify-content:center;width:100%}.course-switcher{padding:16px}.admin-metrics{grid-template-columns:1fr 1fr}.admin-metrics article{padding:14px}.roster-list>button{grid-template-columns:52px 1fr 42px}.roster-progress,.roster-list em{display:none}.score-edit-row{grid-template-columns:40px 1fr 86px}.score-edit-row>button{grid-column:3}.save-all-scores{grid-template-columns:1fr;align-items:stretch}.save-all-scores>strong{text-align:left}.save-all-scores>button{width:100%}.feedback-input{grid-column:2/4}.reset-row{grid-template-columns:1fr}.editor-header{flex-wrap:wrap}.editor-grade{flex-basis:64px}.editor-grade strong{width:46px;height:46px}.edit-student-profile-button{order:4;width:100%}.student-profile-editor{grid-template-columns:1fr}.student-profile-editor>button{width:100%}.score-visibility-row{flex-direction:column;align-items:flex-start}.access-toggle{grid-template-columns:44px 1fr;width:100%}.access-toggle em{text-align:left;grid-column:2}.student-account-actions,.student-account-actions article{grid-template-columns:1fr}.student-account-actions button{width:100%}.bulk-password-launch,.bulk-password-head,.bulk-password-actions{flex-direction:column;align-items:stretch}.bulk-password-launch>button,.bulk-password-actions button{width:100%}.bulk-student-grid{grid-template-columns:1fr}.archive-intro{flex-direction:column;align-items:flex-start}.archive-facts{grid-template-columns:1fr}.archive-bulk-head,.archive-bulk-footer{flex-direction:column;align-items:stretch}.archive-bulk-head>span{align-self:flex-start}.archive-room-picker,.archive-bulk-student-list{grid-template-columns:1fr}.archive-bulk-footer button{width:100%}.archive-delete-scope,.archive-delete-zone{grid-template-columns:1fr}.archive-delete-zone>button{width:100%}.archive-delete-actions{flex-direction:column-reverse}.archive-delete-actions button{width:100%}.class-filter-bar{padding:16px}.class-filter-options{grid-template-columns:1fr 1fr;display:grid}.class-filter-options label{min-width:0}.class-report-actions{padding:16px}.class-report-buttons{flex-direction:column}.report-download-button{width:100%;min-width:0}.excel-step{grid-template-columns:34px 1fr;padding:17px 16px}.excel-step>button,.excel-file-button{grid-column:1/-1;width:100%;max-width:none}.score-parts-content{min-width:0}.score-part-grid{grid-template-columns:1fr}.score-parts-heading{flex-direction:column}.excel-preview{margin-inline:16px}.excel-preview-head,.excel-import-action{flex-direction:column;align-items:stretch}.excel-import-action{margin-inline:16px}.excel-import-action button{width:100%}.import-actions{flex-direction:column;align-items:stretch}.primary-button.compact{width:100%}.reliability-intro{flex-direction:column;align-items:flex-start}.reliability-intro>span{text-align:center;align-self:stretch}.backup-list>article{grid-template-columns:1fr}.backup-list article>button{width:100%}.audit-table-wrap{max-height:none}.audit-table-wrap table{min-width:920px}.term-overview-heading,.term-activity-heading,.term-room-status,.term-step-heading,.term-course-footer{flex-direction:column;align-items:flex-start}.term-room-grid{grid-template-columns:1fr}.term-room-status>strong{text-align:left}.term-step{grid-template-columns:44px minmax(0,1fr);scroll-margin-top:150px}.term-step-content{padding:15px}.term-check-grid,.term-incomplete>div{grid-template-columns:1fr}.term-report-actions{grid-template-columns:1fr;display:grid}.term-report-actions button,.term-primary-action,.term-secondary-action,.term-archive-action,.term-course-footer button{width:100%}.term-confirm-box,.term-unlock-confirm{grid-template-columns:1fr}.term-confirm-box>div{flex-direction:column}.term-confirm-box>.term-confirm-fields{display:grid}.term-confirm-box button{width:100%}}@media (width<=430px){.app-header .brand span{display:none}.app-header{align-items:center;gap:10px;padding-inline:12px}.app-header .brand{gap:8px;min-width:0}.app-header .brand-mark{border-radius:10px;flex:0 0 34px;width:34px;height:34px;font-size:.68rem}.app-header .brand>div:last-child{min-width:0}.app-header .brand strong{font-size:.9rem}.app-header .brand small{font-size:clamp(.49rem,2.25vw,.56rem)}.app-header .brand .student-header-identity{overflow-wrap:anywhere}.header-logout-button{min-height:38px;padding-inline:10px;font-size:.68rem}.app-header:not(.teacher-app-header) .profile-button{display:none}.teacher-app-header .profile-button{display:flex}.header-logout-status{width:calc(100vw - 24px);position:fixed;top:12px;right:12px}.student-session-timer{right:max(10px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 12px));border-radius:18px;width:108px;padding:10px 8px 9px}.session-timer-ring{width:72px;margin-bottom:6px}.session-timer-ring:before{inset:7px}.session-timer-ring strong{font-size:1.05rem}.student-session-timer>b{font-size:.6rem}.student-session-timer>span{font-size:.5rem}.student-score-overview{gap:10px}.score-ring{width:132px}.score-ring:before{inset:10px}.score-ring strong{font-size:2.55rem}.grade-result{border-radius:15px;min-width:88px;padding:13px 8px 12px}.grade-result strong{font-size:2.35rem}.grade-result small{font-size:.52rem}.student-greeting{font-size:clamp(1.3rem,6.6vw,1.65rem)}.admin-metrics,.story-metrics,.two-fields{grid-template-columns:1fr}.demo-box>div:first-child{flex-direction:column;align-items:flex-start}.demo-actions{grid-template-columns:1fr}.score-card-main{padding-inline:13px}.subject-score b{font-size:1.1rem}.note-steps{grid-template-columns:1fr;display:grid}.note-steps i{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}.sidebar-mode-tag{letter-spacing:.06em;overflow-wrap:normal;text-align:center;white-space:nowrap;word-break:keep-all;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:48px;min-height:26px;margin-left:auto;padding:5px 9px;font:900 .58rem/1 Arial,sans-serif;display:inline-flex}.sidebar-mode-tag.live{color:#176b5b;background:#dff5ef}.sidebar-mode-tag.test{color:#8b5200;background:#fff0bf}.student-home,.student-classroom{gap:22px;display:grid}.student-home-heading,.student-classroom-hero{background:linear-gradient(135deg,#f0fbf9 0%,#f8fbff 58%,#fff8e8 100%);border:1px solid #cfe4e2;border-radius:28px;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(24px,4vw,38px);display:flex;box-shadow:0 20px 50px #0d2f4f14}.student-home-heading h2,.student-classroom-hero h2{color:var(--navy);letter-spacing:-.04em;margin:0;font-size:clamp(1.55rem,3vw,2.35rem)}.student-home-heading p:last-child,.student-classroom-hero p:last-child{color:var(--muted);margin:9px 0 0;line-height:1.65}.classroom-mode-badge{letter-spacing:.02em;border-radius:999px;flex:none;padding:10px 14px;font-size:.78rem;font-weight:900}.classroom-mode-badge.live{color:#176b5b;background:#e7f8f3;border:1px solid #9bd5ca}.classroom-mode-badge.test{color:#795110;background:#fff7d8;border:1px solid #edcd73}.student-home-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.student-home-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:28px;grid-template-columns:64px 1fr;align-content:start;gap:18px;min-height:300px;padding:clamp(24px,4vw,38px);transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;box-shadow:0 18px 45px #0d2f4f17}.student-home-card:hover{transform:translateY(-4px);box-shadow:0 24px 58px #0d2f4f24}.student-home-card.score-home-card:hover{border-color:#84c9c2}.student-home-card.classroom-home-card:hover{border-color:#8dadd0}.student-home-icon{color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-dark));border-radius:20px;place-items:center;width:64px;height:64px;font:900 1.5rem/1 Arial,sans-serif;display:grid;box-shadow:0 12px 25px #0d8b8340}.classroom-home-card .student-home-icon{background:linear-gradient(145deg,var(--navy-2),#275f91);box-shadow:0 12px 25px #0d2f4f38}.student-home-card>span:nth-child(2) small{color:var(--teal);letter-spacing:.14em;margin:3px 0 7px;font:900 .68rem/1 Arial,sans-serif;display:block}.student-home-card>span:nth-child(2) b{color:var(--navy);font-size:clamp(1.55rem,3vw,2.1rem);display:block}.student-home-card>span:nth-child(2) p{color:var(--muted);margin:10px 0 0;line-height:1.65}.student-home-card>em{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;align-self:end;padding-top:18px;font-size:.85rem;font-style:normal}.student-home-card>i{color:var(--teal);grid-column:1/-1;font-style:normal;font-weight:900}.student-home-safety{background:#effaf7;border:1px solid #cce6df;border-radius:18px;gap:13px;padding:18px 22px;display:flex}.student-home-safety>span{color:var(--teal);font-size:1.15rem;font-weight:900}.student-home-safety p{color:#486778;margin:0;line-height:1.6}.student-home-safety b{color:var(--navy)}.student-home-back{width:fit-content;min-height:42px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #bfd2dc;border-radius:13px;padding:9px 15px;font-weight:850}.student-home-back span{color:var(--teal);margin-right:6px}.classroom-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.classroom-summary-grid article{border:1px solid var(--line);background:#fff;border-radius:20px;align-content:center;min-height:130px;padding:20px;display:grid;box-shadow:0 12px 30px #0d2f4f0f}.classroom-summary-grid small{color:var(--muted);font-size:.78rem;font-weight:800}.classroom-summary-grid b{color:var(--navy);margin-top:4px;font-size:2rem}.classroom-summary-grid span{color:var(--teal);font-size:.75rem;font-weight:800}.student-classroom-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.classroom-panel{border:1px solid var(--line);background:#fff;border-radius:24px;padding:24px;box-shadow:0 14px 38px #0d2f4f12}.classroom-panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.classroom-panel-heading h3{color:var(--navy);margin:0;font-size:1.22rem}.classroom-panel-heading>span{min-width:38px;color:var(--teal);background:var(--teal-pale);text-align:center;border-radius:12px;padding:8px;font-weight:900}.classroom-announcement-list,.classroom-attendance-history,.classroom-assignment-cards{gap:10px;display:grid}.classroom-announcement-list article{background:#fffaf0;border:1px solid #ecdcae;border-radius:16px;grid-template-columns:34px 1fr;gap:12px;padding:15px;display:grid}.classroom-announcement-list article>span{color:#8e5c08;background:#ffe6a3;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.classroom-announcement-list b,.classroom-attendance-history b,.classroom-assignment-cards b{color:var(--navy)}.classroom-announcement-list p,.classroom-attendance-history p,.classroom-assignment-cards p{color:var(--muted);margin:4px 0;line-height:1.5}.classroom-announcement-list small{color:#8a7761}.classroom-attendance-history article{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:5px 12px;padding:14px 0;display:grid}.classroom-attendance-history article:last-child{border-bottom:0}.classroom-attendance-history article>small{color:var(--muted);grid-column:1/-1}.attendance-status{border-radius:999px;align-self:center;padding:6px 9px;font-size:.72rem;font-weight:900}.attendance-status.present{color:#176b5b;background:#e2f6ef}.attendance-status.late{color:#8a5700;background:#fff0bd}.attendance-status.sick{color:#17648a;background:#e1f3fb}.attendance-status.personal,.attendance-status.activity{color:#664d9b;background:#eee7fb}.attendance-status.accident{color:#974b16;background:#fff0e1}.attendance-status.guardian_pickup{color:#315a8a;background:#e7f0fb}.attendance-status.absent{color:#a43c36;background:#fde8e6}.classroom-assignment-cards{grid-template-columns:repeat(2,1fr)}.classroom-assignment-cards article{border:1px solid var(--line);background:#fbfdfe;border-radius:16px;grid-template-columns:10px 1fr auto;align-items:center;gap:12px;padding:16px;display:grid}.classroom-assignment-cards em{border-radius:999px;padding:6px 8px;font-size:.7rem;font-style:normal;font-weight:900}.classroom-assignment-cards em.submitted{color:#176b5b;background:#e2f6ef}.classroom-assignment-cards em.pending_review{color:#8a5700;background:#fff0bd}.classroom-assignment-cards em.not_submitted{color:#a43c36;background:#fde8e6}.classroom-empty{min-height:150px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:5px;display:grid}.classroom-empty>span{color:var(--teal);font-size:1.5rem}.classroom-empty p{margin:0}.classroom-admin{gap:18px;display:grid}.classroom-admin>.class-filter-bar{margin-bottom:0}.student-roster-import-slot{margin-bottom:18px}.classroom-roster-report-grid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);align-items:stretch;gap:18px;display:grid}.classroom-roster-import{padding-bottom:20px;overflow:hidden}.classroom-roster-import .admin-card-title p:not(.eyebrow){color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.5}.classroom-tool-warning{color:#7c560b;background:#fff7dc;border:1px solid #e8c77a;border-radius:11px;margin:0 20px 16px;padding:11px 13px;font-size:.86rem;font-weight:800}.classroom-roster-methods{grid-template-columns:1fr 1fr;gap:12px;padding:0 20px;display:grid}.classroom-roster-methods article{background:#f9fbfc;border:1px solid #d8e4e8;border-radius:14px;grid-template-columns:48px minmax(0,1fr);align-content:start;gap:10px 12px;min-width:0;padding:15px;display:grid}.classroom-roster-methods article>div:nth-child(2){min-width:0}.classroom-roster-methods article b{color:var(--navy);font-size:.92rem}.classroom-roster-methods article p{color:var(--muted);margin:4px 0 0;font-size:.82rem;line-height:1.5}.classroom-tool-icon{letter-spacing:.02em;border-radius:13px;place-items:center;width:48px;height:48px;font:900 .7rem/1 Arial,sans-serif;display:grid}.classroom-tool-icon.excel{color:#fff;background:#248766}.classroom-tool-icon.previous{color:#173c61;background:#e1edf7}.classroom-tool-actions,.classroom-previous-term-control{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.classroom-tool-actions button,.classroom-tool-actions label,.classroom-previous-term-control button,.classroom-previous-term-control select{min-width:0;min-height:40px;color:var(--teal-dark);cursor:pointer;text-align:center;background:#fff;border:1px solid #bcd7d3;border-radius:10px;place-items:center;padding:9px 10px;font:850 .82rem/1.25 Sarabun,sans-serif;display:grid}.classroom-tool-actions label{color:#fff;border-color:var(--teal);background:var(--teal)}.classroom-tool-actions input{display:none}.classroom-tool-actions label.disabled,.classroom-tool-actions button:disabled,.classroom-previous-term-control button:disabled,.classroom-previous-term-control select:disabled{opacity:.52;cursor:not-allowed}.classroom-previous-term-control{grid-template-columns:minmax(0,1fr) auto}.classroom-previous-term-control select{text-align:left;cursor:pointer;display:block}.classroom-roster-feedback{border-radius:11px;margin:14px 20px 0;padding:11px 13px;font-size:.86rem;font-weight:800;line-height:1.5}.classroom-roster-feedback.success{color:#176b5b;background:#e7f8f3}.classroom-roster-feedback.error{color:#a43c36;background:#fdebea}.classroom-roster-preview{background:#f2faf8;border:1px solid #b9ddd8;border-radius:14px;margin:14px 20px 0;padding:14px}.classroom-roster-preview>div:first-child{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.classroom-roster-preview>div:first-child b{color:var(--navy)}.classroom-roster-preview>div:first-child span{color:var(--muted);text-align:right;font-size:.8rem}.classroom-roster-preview-table{background:#fff;border:1px solid #d5e4e6;border-radius:10px;margin-top:10px;overflow-x:auto}.classroom-roster-preview-table table{border-collapse:collapse;width:100%;min-width:580px}.classroom-roster-preview-table th,.classroom-roster-preview-table td{color:var(--ink);text-align:left;border-bottom:1px solid #e1eaed;padding:8px 10px;font-size:.8rem}.classroom-roster-preview-table th{color:#fff;background:var(--navy);font-weight:900}.classroom-roster-preview>small{color:var(--muted);margin-top:8px;font-size:.76rem;display:block}.classroom-import-confirm{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));cursor:pointer;border:0;border-radius:11px;width:100%;min-height:44px;margin-top:12px;font-weight:900}.classroom-import-confirm:disabled{opacity:.5;cursor:not-allowed}.classroom-attendance-report-card{color:#fff;background:linear-gradient(145deg,#113454,#0b5f66);border-color:#0000;align-content:start;gap:16px;padding:22px;display:grid;box-shadow:0 16px 34px #0d2f4f26}.classroom-attendance-report-card .eyebrow{color:#f4be3b}.classroom-attendance-report-card h2{color:#fff;margin:4px 0 0;font-size:1.2rem}.classroom-attendance-report-card p:not(.eyebrow){color:#d5e5ec;margin:7px 0 0;font-size:.88rem;line-height:1.55}.attendance-report-meta{grid-template-columns:1fr 1fr;gap:8px;display:grid}.attendance-report-meta span{color:#d8e8ed;text-align:center;background:#ffffff12;border:1px solid #ffffff24;border-radius:12px;align-content:center;justify-items:center;min-height:64px;padding:10px;font-size:.8rem;display:grid}.attendance-report-meta b{color:#fff;font-size:1.3rem}.attendance-report-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.attendance-report-actions button{min-width:0;min-height:96px;color:var(--navy);cursor:pointer;text-align:left;background:#fff;border:1px solid #ffffff2e;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:44px 1fr;align-items:center;column-gap:10px;padding:12px;display:grid}.attendance-report-actions button>span{color:#fff;border-radius:11px;grid-row:1/3;place-items:center;width:44px;height:44px;font:900 .7rem/1 Arial,sans-serif;display:grid}.attendance-report-actions button.excel>span{background:#248766}.attendance-report-actions button.pdf>span{background:#c94e43}.attendance-report-actions button b{align-self:end;font-size:.86rem}.attendance-report-actions button small{color:var(--muted);align-self:start;font-size:.72rem;line-height:1.25}.attendance-report-actions button:disabled{opacity:.48;cursor:not-allowed}.attendance-report-note{color:#c5dce3;font-size:.77rem;line-height:1.45}.classroom-mode-banner{border:1px solid #b9ddd8;border-left:5px solid var(--teal);background:linear-gradient(105deg,#edf9f6,#fbfdfd 65%,#fffdf7);border-radius:18px;align-items:center;gap:16px;min-height:94px;padding:17px 21px;display:flex;box-shadow:0 10px 28px #0d2f4f0d}.classroom-mode-banner>span{color:#fff;background:linear-gradient(145deg,var(--teal),var(--teal-dark));border-radius:14px;flex:0 0 48px;place-items:center;width:48px;height:48px;font-weight:900;display:grid;box-shadow:0 9px 20px #0d8b8333}.classroom-mode-banner.test{border-color:#eccb6d;border-left-color:var(--gold);background:linear-gradient(100deg,#fff8df,#fffdf6)}.classroom-mode-banner.test>span{color:#80530a;box-shadow:none;background:#ffe5a0}.classroom-mode-banner b{color:var(--navy);font-size:1.05rem;display:block}.classroom-mode-banner p:not(.eyebrow){max-width:840px;color:var(--muted);margin:5px 0 0;font-size:.82rem;line-height:1.55}.classroom-mode-banner>em{color:#176b5b;letter-spacing:.05em;background:#dff5ef;border-radius:999px;flex:none;margin-left:auto;padding:9px 13px;font:900 .72rem/1 Arial,sans-serif}.classroom-mode-banner.test>em{color:#8b5200;background:#fff0bf}.classroom-admin-grid{grid-template-columns:minmax(0,1.55fr) minmax(340px,.75fr);align-items:start;gap:18px;display:grid}.classroom-attendance-editor,.classroom-admin-side>.admin-card{overflow:hidden}.classroom-admin-side{gap:16px;display:grid}.classroom-session-fields{background:#f3f8fa;grid-template-columns:minmax(150px,.85fr) minmax(135px,.7fr) minmax(240px,1.8fr);gap:12px;padding:18px 20px;display:grid}.classroom-session-fields label,.classroom-announcement-form label{color:var(--navy);gap:7px;font-size:.82rem;font-weight:850;display:grid}.classroom-session-fields input,.classroom-session-fields select,.classroom-announcement-form input,.classroom-announcement-form textarea,.classroom-roster-editor article>input{width:100%;min-width:0;min-height:42px;color:var(--ink);background:#fff;border:1px solid #d2dfe6;border-radius:11px;padding:9px 12px;font-size:.82rem}.classroom-session-fields input:focus,.classroom-session-fields select:focus,.classroom-announcement-form input:focus,.classroom-announcement-form textarea:focus,.classroom-roster-editor article>input:focus{border-color:var(--teal);outline:0;box-shadow:0 0 0 3px #0d8b831a}.classroom-attendance-bulk-row{background:linear-gradient(105deg,#edf9f6,#fbfdfd);border:1px solid #b9ddd8;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:16px 20px 0;padding:13px 14px;display:flex}.classroom-attendance-bulk-row>div{min-width:0}.classroom-attendance-bulk-row b{color:var(--navy);font-size:.88rem;display:block}.classroom-attendance-bulk-row span{color:var(--muted);font-size:.76rem;line-height:1.45}.classroom-attendance-bulk-row button{border:1px solid var(--teal-dark);color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));cursor:pointer;border-radius:11px;min-width:178px;min-height:44px;padding:9px 15px;font:900 .86rem/1.25 Sarabun,sans-serif;box-shadow:0 8px 18px #0d8b8329}.classroom-attendance-bulk-row button>span{color:#fff;margin-right:4px;font-size:1rem}.classroom-attendance-bulk-row button:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.classroom-attendance-notice{color:#176b5b;background:#e7f8f3;border-radius:11px;margin:10px 20px 0;padding:10px 13px;font-size:.8rem;font-weight:800;line-height:1.45}.classroom-status-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 20px;display:grid}.classroom-status-summary span{min-height:62px;color:var(--muted);text-align:center;background:#f2f6f8;border-radius:12px;align-content:center;justify-items:center;gap:3px;padding:9px 6px;font-size:.74rem;font-weight:800;display:grid}.classroom-status-summary b{color:var(--navy);font-size:1.18rem}.classroom-roster-editor{border:1px solid var(--line);scrollbar-width:thin;scrollbar-color:#8fc8c1 #edf4f3;border-radius:15px;max-height:560px;margin:0 20px;overflow:hidden auto}.classroom-roster-editor article{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(160px,1fr) minmax(260px,1.7fr);align-items:center;gap:10px 14px;min-height:84px;padding:14px;display:grid}.classroom-roster-editor article>input{grid-column:2/-1}.classroom-roster-editor article:last-child{border-bottom:0}.classroom-student-identity{min-width:0}.classroom-student-identity b{color:var(--navy);font-size:.88rem;line-height:1.35;display:block}.classroom-student-identity small{color:var(--muted);font-size:.74rem}.classroom-status-options{flex-wrap:wrap;gap:4px;display:flex}.classroom-status-options button{color:#687f8d;cursor:pointer;background:#fff;border:1px solid #d5e0e6;border-radius:8px;min-height:34px;padding:6px 9px;font-size:.74rem;font-weight:900}.classroom-status-options button.active.present{color:#176b5b;background:#e2f6ef;border-color:#94d7c2}.classroom-status-options button.active.late{color:#8a5700;background:#fff0bd;border-color:#e9ca6d}.classroom-status-options button.active.sick{color:#17648a;background:#e1f3fb;border-color:#92cbe3}.classroom-status-options button.active.personal,.classroom-status-options button.active.activity{color:#664d9b;background:#eee7fb;border-color:#baa8dd}.classroom-status-options button.active.accident{color:#974b16;background:#fff0e1;border-color:#e6b283}.classroom-status-options button.active.guardian_pickup{color:#315a8a;background:#e7f0fb;border-color:#9db9dc}.classroom-status-options button.active.absent{color:#a43c36;background:#fde8e6;border-color:#e5aaa5}.classroom-save-row{justify-content:space-between;align-items:center;gap:14px;margin:16px 20px 20px;display:flex}.classroom-save-row>span{color:var(--muted);font-size:.82rem}.classroom-announcement-form{gap:14px;padding-bottom:20px;display:grid}.classroom-announcement-form>label,.classroom-announcement-form>button{margin-inline:20px}.classroom-publish-toggle{align-items:center;grid-template-columns:auto 1fr!important}.classroom-publish-toggle input{width:18px;min-height:18px;accent-color:var(--teal);padding:0}.classroom-existing-announcements article{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-inline:20px;padding:14px 2px;display:grid}.classroom-existing-announcements article:last-child{border-bottom:0}.classroom-existing-announcements b{color:var(--navy)}.classroom-existing-announcements p{color:var(--muted);margin:4px 0;line-height:1.45}.classroom-existing-announcements small{color:#8797a2}.classroom-existing-announcements article>button{cursor:pointer;border:0;border-radius:9px;align-self:center;padding:7px 9px;font-size:.68rem;font-weight:900}.classroom-existing-announcements article>button.published{color:#176b5b;background:#e2f6ef}.classroom-existing-announcements article>button.draft{color:#8a5700;background:#fff0bd}.classroom-existing-announcements>.empty-state{place-items:center;min-height:118px;padding:26px 20px;display:grid}.classroom-assignment-link{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:20px;display:grid}.classroom-assignment-link h2{color:var(--navy);margin:0}.classroom-assignment-link p:not(.eyebrow){color:var(--muted);margin:6px 0 0;line-height:1.5}.classroom-assignment-link>strong{color:var(--teal);font-size:2rem}.classroom-assignment-link>strong small{font-size:.7rem}.classroom-assignment-link>button{color:var(--teal-dark);cursor:pointer;background:#effaf7;border:1px solid #badad5;border-radius:11px;grid-column:1/-1;padding:10px;font-weight:900}@media (width<=1180px){.classroom-roster-report-grid,.classroom-admin-grid{grid-template-columns:1fr}.classroom-admin-side{grid-template-columns:1fr 1fr}.classroom-assignment-link{grid-column:1/-1}.classroom-roster-editor article{grid-template-columns:56px minmax(150px,1fr) minmax(280px,auto)}.classroom-roster-editor article>input{grid-column:2/-1}}@media (width<=800px){.student-home-heading,.student-classroom-hero,.classroom-mode-banner{flex-direction:column;align-items:flex-start}.student-home-grid,.student-classroom-grid{grid-template-columns:1fr}.classroom-summary-grid{grid-template-columns:1fr 1fr}.classroom-assignment-cards{grid-template-columns:1fr}.classroom-mode-banner>em{margin-left:0}.classroom-admin-side,.classroom-roster-methods{grid-template-columns:1fr}.classroom-assignment-link{grid-column:auto}.classroom-session-fields{grid-template-columns:1fr 1fr}.classroom-session-fields .topic-field{grid-column:1/-1}.classroom-status-summary{grid-template-columns:repeat(4,1fr)}.classroom-roster-editor article{grid-template-columns:50px 1fr}.classroom-status-options,.classroom-roster-editor article>input{grid-column:2}}@media (width<=520px){.student-home-card{border-radius:22px;grid-template-columns:52px 1fr;min-height:0;padding:22px 18px}.student-home-icon{border-radius:16px;width:52px;height:52px;font-size:1.2rem}.student-home-heading,.student-classroom-hero,.classroom-panel{border-radius:21px;padding:20px 17px}.classroom-summary-grid{grid-template-columns:1fr}.classroom-summary-grid article{min-height:108px}.classroom-assignment-cards article{grid-template-columns:10px 1fr}.classroom-assignment-cards em{grid-column:2;justify-self:start}.classroom-session-fields{grid-template-columns:1fr}.classroom-session-fields .topic-field{grid-column:auto}.classroom-status-summary{grid-template-columns:1fr 1fr}.classroom-attendance-bulk-row{flex-direction:column;align-items:stretch}.classroom-attendance-bulk-row button{width:100%}.classroom-save-row{flex-direction:column;align-items:stretch}.classroom-save-row button{width:100%}.classroom-roster-methods,.classroom-roster-preview{margin-inline:14px;padding-inline:0}.classroom-roster-methods{padding:0}.classroom-roster-preview{padding:12px}.classroom-tool-actions,.classroom-previous-term-control,.attendance-report-actions{grid-template-columns:1fr}.classroom-attendance-report-card{padding:18px}}.transition-wizard{padding:0;overflow:hidden}.transition-wizard>.term-next-heading{background:linear-gradient(135deg,#edf9f6,#fffdf6);padding:24px 24px 20px}.transition-stepper{background:#fff;border-top:1px solid #d8e8e5;border-bottom:1px solid #d8e8e5;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:10px;display:grid}.transition-stepper button{color:#6b7f8b;cursor:pointer;background:#f1f5f6;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:48px;padding:8px 10px;font-size:.82rem;font-weight:800;display:flex}.transition-stepper button span{color:#fff;background:#8295a0;border-radius:8px;flex:0 0 25px;place-items:center;width:25px;height:25px;font:900 .76rem/1 Arial,sans-serif;display:grid}.transition-stepper button.current{color:#795817;background:#fff4d7;box-shadow:inset 0 0 0 1px #e8c86e}.transition-stepper button.current span{background:#ba892d}.transition-stepper button.complete{color:#176b5b;background:#e9f8f4}.transition-stepper button.complete span{background:var(--teal)}.transition-panel{padding:22px 24px 24px}.transition-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px;display:flex}.transition-panel-heading h3{color:var(--navy);margin:0 0 4px;font-size:1.05rem}.transition-panel-heading p{max-width:720px;color:var(--muted);margin:0;font-size:.86rem;line-height:1.55}.transition-panel-heading>strong{color:#24587b;background:#e7f1f7;border-radius:999px;flex:none;padding:6px 10px;font-size:.78rem}.transition-panel-heading>strong.ready{color:#176b5b;background:#dff5ef}.transition-panel-heading>strong.attention{color:#805b17;background:#fff0c8}.transition-check-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.transition-check-list>div{background:#fbfcfd;border:1px solid #dfe8ea;border-radius:12px;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;min-height:92px;padding:13px;display:grid}.transition-check-list>div.done{background:#f0faf7;border-color:#bfe1da}.transition-check-list>div.pending{background:#fffaf0;border-color:#edd7a3}.transition-check-list>div>span{color:#176b5b;background:#dff5ef;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.transition-check-list>div.pending>span{color:#805b17;background:#ffedbd}.transition-check-list p,.transition-check-list b,.transition-check-list small{margin:0;display:block}.transition-check-list b{color:var(--navy);font-size:.84rem;line-height:1.4}.transition-check-list small{color:var(--muted);margin-top:4px;font-size:.76rem;line-height:1.45}.transition-actions{border-top:1px solid #e0e9eb;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.transition-actions p{color:var(--muted);margin:0 auto 0 0;font-size:.82rem}.transition-actions button{color:#fff;background:var(--teal);cursor:pointer;border:0;border-radius:10px;min-height:43px;padding:0 16px;font-size:.82rem;font-weight:850}.transition-actions button.back{color:var(--teal-dark);background:#f1faf8;border:1px solid #b8dcd7}.transition-actions button:disabled{color:#8a989e;cursor:not-allowed;background:#e8edef;border-color:#e0e6e8}.transition-warning{color:#95443b;background:#fff3f0;border:1px solid #e9c5be;border-radius:10px;margin:14px 0 0;padding:12px 14px;font-size:.82rem}.transition-copy-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.transition-copy-grid article{background:#fbfcfd;border:1px solid #dfe8ea;border-radius:13px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:11px;min-height:130px;padding:15px;display:grid}.transition-copy-grid article>span{color:#176b5b;background:#dff5ef;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:900;display:grid}.transition-copy-grid article.excluded>span{color:#9b493f;background:#fbe9e5}.transition-copy-grid article.preserved>span{color:#24587b;background:#e7f1f7}.transition-copy-grid b{color:var(--navy);font-size:.88rem}.transition-copy-grid p{color:var(--muted);margin:5px 0 0;font-size:.78rem;line-height:1.55}.transition-confirmation{color:#6f571f;background:#fffaf0;border:1px solid #ecd497;border-radius:12px;gap:8px;margin-top:16px;padding:15px;font-size:.82rem;display:grid}.transition-confirmation input{width:100%;min-height:43px;color:var(--navy);background:#fff;border:1px solid #d7bf83;border-radius:9px;padding:0 12px}.transition-success{text-align:center;align-content:center;place-items:center;min-height:260px;display:grid}.transition-success>span{color:#fff;background:var(--teal);border-radius:18px;place-items:center;width:62px;height:62px;font-size:1.65rem;font-weight:900;display:grid;box-shadow:0 12px 26px #0d8b8338}.transition-success h3{color:var(--navy);margin:14px 0 4px;font-size:1.15rem}.transition-success p{color:var(--teal-dark);margin:0;font-weight:800}.transition-success small{max-width:620px;color:var(--muted);margin-top:8px;font-size:.8rem;line-height:1.55}@media (width<=980px){.transition-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.transition-check-list,.transition-copy-grid{grid-template-columns:1fr}}@media (width<=620px){.transition-wizard>.term-next-heading,.transition-panel{padding:18px 16px}.transition-stepper{grid-template-columns:1fr}.transition-stepper button{justify-content:flex-start}.transition-panel-heading,.transition-actions{flex-direction:column;align-items:stretch}.transition-actions button{width:100%}}.reliability-intro>span{text-align:center;gap:4px;min-width:160px;padding:13px 16px;display:grid}.reliability-intro>span b,.reliability-intro>span small{display:block}.reliability-intro>span b{font:900 1.65rem/1 Arial,sans-serif}.reliability-intro>span small{font-size:.76rem;line-height:1.35}.reliability-intro>span.health-attention{color:#805b17;background:#fff2cf}.reliability-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.reliability-metrics small{font-size:.78rem;line-height:1.35}.reliability-metrics em{font-size:.72rem;line-height:1.35}.system-health-overview{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:18px;display:grid}.recovery-readiness-card,.data-inventory-card{padding-bottom:20px;overflow:hidden}.recovery-step-list{gap:9px;margin:0 22px 16px;display:grid}.recovery-step-list>div{background:#fbfcfd;border:1px solid #e2eaec;border-radius:12px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:11px;min-height:56px;padding:11px 13px;display:grid}.recovery-step-list>div.done{background:#f2fbf8;border-color:#c7e5df}.recovery-step-list>div.pending{background:#fffbf0;border-color:#f0ddb0}.recovery-step-list>div>span{color:#176b5b;background:#dff5ef;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:900;display:grid}.recovery-step-list>div.pending>span{color:#805b17;background:#ffedbd}.recovery-step-list p,.recovery-step-list b,.recovery-step-list small{margin:0;display:block}.recovery-step-list b{color:var(--navy);font-size:.84rem}.recovery-step-list small{color:var(--muted);margin-top:3px;font-size:.76rem;line-height:1.45}.recovery-safety-note{border-left:4px solid var(--teal);color:#466b69;background:#eef9f6;border-radius:10px;margin:0 22px;padding:13px 15px;font-size:.78rem;line-height:1.6}.recovery-safety-note b{color:var(--teal-dark)}.data-inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 22px 14px;display:grid}.data-inventory-grid>div{background:#fafcfd;border:1px solid #dfe9eb;border-radius:12px;flex-direction:column;justify-content:center;min-width:0;min-height:96px;padding:13px 14px;display:flex}.data-inventory-grid small,.data-inventory-grid b,.data-inventory-grid span{display:block}.data-inventory-grid small{color:var(--muted);font-size:.76rem;font-weight:750}.data-inventory-grid b{color:var(--navy);margin:4px 0;font:900 1.45rem/1 Arial,sans-serif}.data-inventory-grid span{color:#708490;font-size:.72rem;line-height:1.4}.data-inventory-card>p{color:var(--muted);margin:0 22px;font-size:.78rem;line-height:1.6}@media (width<=1180px){.reliability-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.system-health-overview{grid-template-columns:1fr}}@media (width<=700px){.reliability-metrics,.data-inventory-grid{grid-template-columns:1fr}.reliability-intro>span{width:100%}.recovery-step-list,.data-inventory-grid,.recovery-safety-note,.data-inventory-card>p{margin-left:16px;margin-right:16px}}.student-home-dashboard{gap:18px}.student-home-dashboard-heading{justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 4px 4px;display:flex}.student-home-dashboard-heading h2{color:var(--navy);letter-spacing:-.035em;margin:2px 0 4px;font-size:clamp(1.55rem,2.7vw,2.15rem)}.student-home-dashboard-heading p:last-child{color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.student-private-badge{min-height:42px;color:var(--teal-dark);white-space:nowrap;background:#eaf9f6;border:1px solid #9dd8d0;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-size:.88rem;font-weight:850;display:inline-flex}.student-private-badge .icon{color:var(--teal)}.student-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.student-overview-metrics>button{border:1px solid var(--line);min-width:0;min-height:132px;color:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:19px;grid-template-rows:1fr auto;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:5px 14px;padding:19px 20px;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;box-shadow:0 12px 34px #0d2f4f0f}.student-overview-metrics>button:hover{border-color:#91cec7;transform:translateY(-2px);box-shadow:0 17px 40px #0d2f4f1a}.student-overview-metrics>button>span:nth-child(2){min-width:0}.student-metric-icon{color:#087c75;background:#c9f1eb;border-radius:17px;grid-row:1;place-items:center;width:54px;height:54px;font:900 1.35rem/1 Arial,sans-serif;display:grid}.student-overview-metrics .assignment .student-metric-icon{color:#97640d;background:#ffebae}.student-overview-metrics .attendance .student-metric-icon{color:#17648a;background:#d8f1fb}.student-overview-metrics small,.student-overview-metrics b,.student-overview-metrics em{display:block}.student-overview-metrics small{color:var(--muted);font-size:.88rem;font-weight:800}.student-overview-metrics b{color:var(--navy);letter-spacing:-.04em;margin:3px 0 4px;font:900 2rem/1 Arial,sans-serif}.student-overview-metrics b sup{letter-spacing:0;font-size:.9rem}.student-overview-metrics em{color:var(--muted);font-size:.82rem;font-style:normal;line-height:1.35}.student-overview-metrics i{color:var(--teal-dark);grid-column:1/-1;font-size:.8rem;font-style:normal;font-weight:850}.student-home-dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.82fr);align-items:start;gap:16px;display:grid}.student-dashboard-panel{border:1px solid var(--line);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 13px 38px #0d2f4f11}.student-dashboard-panel>header{border-bottom:1px solid #e8eef0;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:17px 20px 14px;display:flex}.student-dashboard-panel>header h3{color:var(--navy);margin:2px 0 0;font-size:1.15rem}.student-panel-en{color:var(--muted);margin-top:2px;font-size:.76rem;font-weight:700;display:block}.student-dashboard-panel>header button{min-height:38px;color:var(--teal-dark);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0 5px;font-size:.82rem;font-weight:850}.student-score-snapshot-total{background:linear-gradient(135deg,#f0fbf9,#f8fbff);align-items:center;gap:17px;padding:22px 23px 18px;display:flex}.student-score-donut{--student-score-progress:0deg;aspect-ratio:1;background:conic-gradient(var(--teal) var(--student-score-progress),#dce9eb 0);border-radius:50%;flex:0 0 96px;place-items:center;width:96px;display:grid;position:relative}.student-score-donut:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:9px}.student-score-donut>span{z-index:1;color:var(--navy);position:relative}.student-score-donut b{font:900 1.9rem/1 Arial,sans-serif}.student-score-donut small{color:var(--teal);font:850 .8rem/1 Arial,sans-serif}.student-score-snapshot-total>div:last-child>b{color:var(--navy);font-size:1.05rem}.student-score-snapshot-total p{color:var(--muted);margin:5px 0 0;font-size:.88rem;line-height:1.5}.student-score-bars{gap:0;padding:4px 20px 16px;display:grid}.student-score-bars article{border-bottom:1px solid #edf2f4;grid-template-columns:minmax(180px,1.25fr) minmax(120px,1fr) 45px;align-items:center;gap:15px;min-height:64px;display:grid}.student-score-bars article:last-child{border-bottom:0}.student-score-bars article>div:first-child b,.student-score-bars article>div:first-child span{display:block}.student-score-bars article>div:first-child b{color:var(--navy);font-size:.88rem;line-height:1.35}.student-score-bars article>div:first-child span{color:var(--muted);margin-top:2px;font-size:.78rem}.student-score-bar{background:#e7eef1;border-radius:999px;height:7px;overflow:hidden}.student-score-bar i{border-radius:inherit;background:linear-gradient(90deg,var(--teal),#50c0b4);height:100%;display:block}.student-score-bars strong{color:var(--navy);text-align:right;font:850 .85rem/1 Arial,sans-serif}.student-dashboard-side{gap:14px;display:grid}.student-dashboard-side .student-dashboard-panel>header{min-height:68px;padding-block:14px 12px}.student-dashboard-side .student-dashboard-panel>header h3{font-size:1rem}.student-work-preview>div,.student-attendance-preview>div,.student-announcement-preview>div{padding:6px 16px 12px}.student-work-preview article{border-bottom:1px solid #edf2f4;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:65px;display:grid}.student-work-preview article:last-child,.student-attendance-preview article:last-child,.student-announcement-preview article:last-child{border-bottom:0}.student-work-preview b,.student-attendance-preview b,.student-announcement-preview b{color:var(--navy);font-size:.85rem;line-height:1.35;display:block}.student-work-preview small,.student-attendance-preview small,.student-announcement-preview small{color:var(--muted);margin-top:3px;font-size:.76rem;line-height:1.4;display:block}.student-work-preview em{white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:.7rem;font-style:normal;font-weight:850}.student-work-preview em.submitted{color:#176b5b;background:#e2f6ef}.student-work-preview em.pending_review{color:#8a5700;background:#fff0bd}.student-work-preview em.not_submitted{color:#a43c36;background:#fde8e6}.student-attendance-preview article{border-bottom:1px solid #edf2f4;justify-content:space-between;align-items:center;gap:12px;min-height:62px;display:flex}.student-attendance-preview article>div{min-width:0}.student-announcement-preview article{border-bottom:1px solid #edf2f4;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:59px;display:grid}.student-announcement-preview article>span{color:#8e5c08;background:#ffe8aa;border-radius:10px;place-items:center;width:32px;height:32px;font-weight:900;display:grid}.student-dashboard-empty{color:var(--muted);text-align:center;margin:0;padding:22px 8px;font-size:.86rem}@media (width<=1020px){.student-home-dashboard-grid{grid-template-columns:1fr}.student-dashboard-side{grid-template-columns:1fr 1fr}.student-announcement-preview{grid-column:1/-1}}@media (width<=760px){.student-home-dashboard-heading{flex-direction:column;align-items:flex-start;padding-top:8px}.student-overview-metrics{grid-template-columns:1fr}.student-overview-metrics>button{min-height:116px}.student-dashboard-side{grid-template-columns:1fr}.student-announcement-preview{grid-column:auto}.student-score-bars article{grid-template-columns:minmax(0,1fr) 42px;gap:8px 12px;padding-block:10px}.student-score-bar{grid-area:2/1/auto/-1}.student-score-bars strong{grid-area:1/2}}@media (width<=480px){.student-private-badge{justify-content:center;width:100%}.student-overview-metrics>button{grid-template-columns:48px minmax(0,1fr);padding:16px}.student-metric-icon{border-radius:15px;width:48px;height:48px}.student-dashboard-panel>header{padding-inline:16px}.student-score-snapshot-total{align-items:flex-start;padding:18px 16px}.student-score-donut{flex-basis:82px;width:82px}.student-score-bars{padding-inline:16px}.student-work-preview article{grid-template-columns:9px minmax(0,1fr);padding-block:9px}.student-work-preview em{grid-column:2;justify-self:start}}.sidebar-count.action-count{color:#8f2925;background:#ffe1dd}.teacher-action-center{gap:18px;display:grid}.action-center-intro{background:linear-gradient(135deg,#eefaf8 0%,#fff 58%,#fff9e8 100%);border:1px solid #bfe3de;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px 25px;display:grid;box-shadow:0 10px 30px #0d2f4f0d}.action-center-intro h2{color:var(--navy);margin:2px 0 5px;font-size:1.25rem}.action-center-intro p:last-child{color:var(--muted);font-size:var(--admin-body);margin:0;line-height:1.55}.action-center-intro>span{text-align:center;background:#fff;border:1px solid #c9e2de;border-radius:15px;place-content:center;min-width:124px;min-height:82px;padding:12px 18px;display:grid}.action-center-intro>span.attention{background:#fff5f3;border-color:#efb8b3}.action-center-intro>span b{color:var(--navy);font-size:2rem;line-height:1}.action-center-intro>span.attention b{color:#b93a36}.action-center-intro>span small{color:var(--muted);margin-top:6px;font-size:.8rem;font-weight:750}.action-center-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.action-center-metrics button{border:1px solid var(--line);min-height:105px;color:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:16px;grid-template-columns:1fr auto;align-items:end;gap:4px 10px;padding:18px 20px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.action-center-metrics button:hover,.action-center-metrics button.active{border-color:#8acbc3;transform:translateY(-1px);box-shadow:0 8px 22px #0d8b831a}.action-center-metrics button.danger.active,.action-center-metrics button.danger:hover{border-color:#efaaa4;box-shadow:0 8px 22px #b93a3617}.action-center-metrics small{color:var(--muted);grid-column:1/-1;font-size:.82rem;font-weight:800}.action-center-metrics b{color:var(--navy);font-size:1.9rem;line-height:1}.action-center-metrics .danger b{color:#b93a36}.action-center-metrics span{color:var(--muted);font-size:.75rem}.action-center-layout{grid-template-columns:minmax(0,1.65fr) minmax(285px,.7fr);align-items:start;gap:18px;display:grid}.action-queue-card,.action-readiness-card{overflow:hidden}.action-queue-heading{justify-content:space-between;align-items:center;gap:16px;padding:21px 23px 15px;display:flex}.action-queue-heading h2,.action-readiness-card h2{color:var(--navy);margin:2px 0 0;font-size:1.15rem}.action-queue-heading>span{color:var(--teal-dark);white-space:nowrap;background:#e5f5f2;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:850}.action-filter-row{scrollbar-width:thin;gap:7px;padding:0 23px 15px;display:flex;overflow-x:auto}.action-filter-row button{color:#4d6574;cursor:pointer;background:#fff;border:1px solid #d5e2e5;border-radius:999px;flex:none;align-items:center;gap:7px;min-height:35px;padding:6px 10px;font-size:.78rem;font-weight:800;display:inline-flex}.action-filter-row button.active{color:#fff;border-color:var(--teal);background:var(--teal)}.action-filter-row button span{min-width:20px;height:20px;color:inherit;background:#0d2f4f14;border-radius:999px;place-items:center;padding-inline:5px;font-size:.7rem;display:grid}.action-filter-row button.active span{background:#fff3}.action-queue-list{gap:10px;max-height:720px;padding:5px 15px 18px;display:grid;overflow:auto}.action-queue-list article{background:#fbfdfd;border:1px solid #dce6e9;border-left:4px solid #91cfc7;border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;display:grid}.action-queue-list article.urgency-3{background:snow;border-left-color:#d85b54}.action-queue-list article.urgency-2{border-left-color:#e2aa2e}.action-type-icon{color:#fff;background:var(--teal);border-radius:12px;place-items:center;width:42px;height:42px;font-size:1rem;font-weight:900;display:grid}.urgency-3 .action-type-icon{background:#c84a44}.urgency-2 .action-type-icon{color:#694704;background:#f5cd66}.action-copy{min-width:0}.action-copy>div{align-items:center;gap:7px;display:flex}.action-copy>div>span{color:var(--teal-dark);font-size:.75rem;font-weight:850}.action-copy em{color:#a62f2b;background:#fde7e5;border-radius:999px;padding:3px 7px;font-size:.66rem;font-style:normal;font-weight:900}.action-copy h3{color:var(--navy);margin:3px 0 2px;font-size:.95rem;line-height:1.4}.action-copy p{color:#4f6674;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.84rem;line-height:1.45;overflow:hidden}.action-copy small{color:var(--muted);margin-top:4px;font-size:.75rem;line-height:1.4;display:block}.action-queue-list article>button{min-height:38px;color:var(--teal-dark);cursor:pointer;white-space:nowrap;background:#edf8f6;border:1px solid #b8dad5;border-radius:9px;padding:7px 11px;font-size:.78rem;font-weight:850}.action-queue-list article>button:hover{border-color:var(--teal)}.action-empty{text-align:center;place-items:center;min-height:270px;padding:35px;display:grid}.action-empty>span{color:#fff;background:var(--teal);border-radius:18px;place-items:center;width:58px;height:58px;font-size:1.55rem;display:grid}.action-empty h3{color:var(--navy);margin:14px 0 4px}.action-empty p{color:var(--muted);margin:0;font-size:.86rem}.action-readiness-card{padding:22px;position:sticky;top:18px}.action-readiness-card ul{gap:4px;margin:17px 0;padding:0;list-style:none;display:grid}.action-readiness-card li{border-bottom:1px solid #e8eef0;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 0;display:grid}.action-readiness-card li>span{color:#667d88;background:#edf2f4;border-radius:9px;place-items:center;width:30px;height:30px;font-size:.78rem;font-weight:900;display:grid}.action-readiness-card li.done>span{color:#176b5b;background:#dff4ee}.action-readiness-card li.pending>span{color:#9a6508;background:#fff0c3}.action-readiness-card li b,.action-readiness-card li small{display:block}.action-readiness-card li b{color:var(--navy);font-size:.84rem}.action-readiness-card li small{color:var(--muted);margin-top:2px;font-size:.74rem;line-height:1.35}.action-readiness-card>button{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:10px;width:100%;min-height:43px;font-size:.82rem;font-weight:850}.action-readiness-card>p{color:var(--muted);margin:13px 0 0;font-size:.74rem;line-height:1.5}@media (width<=1100px){.action-center-layout{grid-template-columns:1fr}.action-readiness-card{position:static}}@media (width<=820px){.action-center-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.action-center-intro{grid-template-columns:1fr;padding:19px}.action-center-intro>span{grid-template-columns:auto auto;justify-content:center;align-items:center;gap:9px;min-height:58px}.action-center-intro>span small{margin:0}.action-center-metrics{grid-template-columns:1fr 1fr}.action-center-metrics button{min-height:94px;padding:15px}.action-queue-heading{align-items:flex-start;padding-inline:17px}.action-filter-row{padding-inline:17px}.action-queue-list{padding-inline:10px}.action-queue-list article{grid-template-columns:38px minmax(0,1fr);padding:12px}.action-type-icon{width:38px;height:38px}.action-queue-list article>button{grid-column:2;justify-self:start}.action-copy p{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}}.intervention-center{gap:18px;display:grid}.intervention-principle{background:linear-gradient(135deg,#eefaf8,#fffdf5);border:1px solid #bfe3de;border-radius:18px;align-items:center;gap:18px;padding:20px 24px;display:flex;box-shadow:0 10px 30px #0d2f4f0a}.intervention-principle>span{color:#fff;background:var(--teal);border-radius:16px;flex:0 0 52px;place-items:center;width:52px;height:52px;font-size:1.65rem;display:grid}.intervention-principle h2{color:var(--navy);margin:2px 0 4px;font-size:1.2rem}.intervention-principle p:last-child{color:var(--muted);font-size:var(--admin-body);margin:0;line-height:1.55}.intervention-report-bar{border:1px solid var(--line);border-left:5px solid var(--gold);background:#fff;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;padding:20px 24px;display:grid;box-shadow:0 10px 30px #0d2f4f0a}.intervention-report-bar h2{color:var(--navy);margin:2px 0 4px;font-size:1.15rem}.intervention-report-bar>div:first-child>span{color:var(--muted);font-size:var(--admin-body);line-height:1.5}.intervention-report-actions{grid-template-columns:repeat(2,minmax(155px,1fr));gap:10px;display:grid}.intervention-report-actions button{min-height:58px;color:var(--navy);text-align:left;cursor:pointer;background:#edf8f6;border:1px solid #acd8d2;border-radius:12px;gap:2px;padding:10px 16px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.intervention-report-actions button:last-child{background:#f1f6f9;border-color:#b7cede}.intervention-report-actions button:hover:not(:disabled){border-color:var(--teal);transform:translateY(-1px);box-shadow:0 7px 18px #0d8b831f}.intervention-report-actions button:disabled{opacity:.5;cursor:not-allowed}.intervention-report-actions b{font-size:var(--admin-control)}.intervention-report-actions small{color:var(--muted);font-size:var(--admin-caption);font-weight:600}.intervention-report-message{color:#176b5b;font-size:var(--admin-caption);background:#e8f8f1;border-radius:9px;grid-column:1/-1;margin:-4px 0 0;padding:9px 12px;font-weight:750}.intervention-report-message.error{color:#a62f2b;background:#fde9e7}.intervention-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.intervention-metrics article{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:1fr auto;align-items:end;gap:3px 12px;min-height:106px;padding:19px 22px;display:grid}.intervention-metrics small{color:var(--muted);font-size:var(--admin-caption);grid-column:1/-1;font-weight:700}.intervention-metrics b{color:var(--navy);font-size:2rem;line-height:1}.intervention-metrics span{color:var(--muted);font-size:var(--admin-caption)}.intervention-metrics .attention{background:#fff8f7;border-color:#efb8b3}.intervention-metrics .attention b{color:#b93a36}.intervention-layout{grid-template-columns:minmax(300px,.72fr) minmax(0,1.55fr);align-items:start;gap:18px;display:grid}.intervention-roster{position:sticky;top:18px;overflow:hidden}.intervention-student-list{max-height:730px;padding:8px;overflow:auto}.intervention-student-list>button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:11px;display:grid}.intervention-student-list>button:hover{background:#f5faf9}.intervention-student-list>button.active{background:#edf8f6;border-color:#a9d8d2}.intervention-photo{border-radius:12px;width:44px;height:44px}.intervention-student-list b{color:var(--navy);font-size:var(--admin-control);line-height:1.35;display:block}.intervention-student-list small{color:var(--muted);font-size:var(--admin-caption);margin-top:3px;line-height:1.35;display:block}.intervention-student-list em{text-align:center;white-space:nowrap;border-radius:999px;min-width:54px;padding:5px 8px;font-size:.68rem;font-style:normal;font-weight:800}.intervention-student-list em.overdue{color:#a62f2b;background:#fde9e7}.intervention-student-list em.active{color:#8a5b08;background:#fff2cb}.intervention-student-list em.signal{color:#0b716a;background:#dff4f1}.intervention-student-list em.clear{color:#59717d;background:#edf2f4}.intervention-detail{gap:18px;min-width:0;display:grid}.intervention-profile{overflow:hidden}.intervention-profile-head{border-bottom:1px solid #edf2f4;align-items:center;gap:15px;padding:22px 24px;display:flex}.intervention-profile-photo{border-radius:17px;width:64px;height:64px}.intervention-profile-head h2{color:var(--navy);margin:2px 0;font-size:1.35rem}.intervention-profile-head span{color:var(--muted);font-size:var(--admin-caption)}.intervention-signals{background:#e8eef0;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.intervention-signals article{background:#fbfdfd;padding:17px 20px}.intervention-signals small,.intervention-signals span{color:var(--muted);font-size:var(--admin-caption);display:block}.intervention-signals b{color:var(--navy);margin:4px 0;font-size:1.6rem;display:block}.intervention-signal-list{padding:18px 24px 21px}.intervention-signal-list>b{color:var(--navy);font-size:var(--admin-control)}.intervention-signal-list ul{color:#4f6674;margin:10px 0 0;padding-left:20px}.intervention-signal-list li{font-size:var(--admin-body);margin:5px 0;line-height:1.5}.intervention-signal-list p{color:var(--muted);font-size:var(--admin-body);margin:8px 0 0;line-height:1.55}.intervention-form{overflow:hidden}.intervention-form-body{gap:14px;padding:20px 24px;display:grid}.intervention-form-grid{grid-template-columns:1.3fr 1fr 1fr;gap:12px;display:grid}.intervention-form-body label{color:var(--navy);font-size:var(--admin-caption);gap:6px;font-weight:800;display:grid}.intervention-form-body :where(input,select,textarea){width:100%;min-height:43px;color:var(--navy);background:#fff;border:1px solid #cfdee2;border-radius:9px;outline:0;padding:0 11px}.intervention-form-body textarea{resize:vertical;padding-block:10px}.intervention-form-body :where(input,select,textarea):focus{border-color:var(--teal);box-shadow:0 0 0 3px #0d8b831a}.intervention-form-footer{background:#f8fbfc;border-top:1px solid #e8eef0;justify-content:space-between;align-items:center;gap:16px;padding:15px 24px;display:flex}.intervention-form-footer small{color:var(--muted);font-size:var(--admin-caption)}.intervention-form-footer button{color:#fff;background:var(--teal);min-height:43px;font-size:var(--admin-control);cursor:pointer;border:0;border-radius:9px;padding:0 18px;font-weight:850}.intervention-form-footer button:disabled{opacity:.45;cursor:not-allowed}.intervention-history{overflow:hidden}.intervention-history-list{gap:12px;padding:16px 20px 20px;display:grid}.intervention-history-list>article{background:#fbfdfd;border:1px solid #dce6e9;border-radius:13px;padding:17px 18px}.intervention-history-list>article>div:first-child,.intervention-history-list footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.intervention-history-list h3{color:var(--navy);font-size:var(--admin-control);margin:12px 0 5px}.intervention-history-list p{color:#4e6573;font-size:var(--admin-body);white-space:pre-wrap;margin:0;line-height:1.6}.intervention-history-list blockquote{border-left:3px solid var(--teal);color:#4e6573;font-size:var(--admin-body);background:#eef8f6;border-radius:0 9px 9px 0;margin:12px 0 0;padding:11px 13px;line-height:1.55}.intervention-history-list blockquote b{color:var(--teal-dark);display:block}.intervention-history-list footer{border-top:1px solid #e5ecee;margin-top:13px;padding-top:11px}.intervention-history-list footer small,.intervention-history-list>article>div:first-child small{color:var(--muted);font-size:var(--admin-caption)}.intervention-history-list footer button{color:var(--teal-dark);font-size:var(--admin-caption);cursor:pointer;background:0 0;border:0;font-weight:850}.intervention-status{border-radius:999px;padding:5px 9px;font-size:.7rem;font-weight:850}.intervention-status.monitoring{color:#8a5b08;background:#fff2cb}.intervention-status.in_progress{color:#0b716a;background:#dff4f1}.intervention-status.resolved{color:#375f78;background:#e8f0f5}@media (width<=1100px){.intervention-layout{grid-template-columns:1fr}.intervention-roster{position:static}.intervention-student-list{max-height:420px}}@media (width<=720px){.intervention-metrics,.intervention-signals,.intervention-form-grid{grid-template-columns:1fr}.intervention-principle{align-items:flex-start;padding:18px}.intervention-principle>span{flex-basis:44px;width:44px;height:44px}.intervention-report-bar{grid-template-columns:1fr;padding:18px}.intervention-report-actions{grid-template-columns:1fr}.intervention-profile-head,.intervention-form-body{padding:18px}.intervention-form-footer{flex-direction:column;align-items:stretch;padding:15px 18px}.intervention-form-footer button{width:100%}}.security-event-list>article.course_snapshot_created>span,.security-event-list>article.course_snapshot_verified>span,.security-event-list>article.class_labels_normalized>span{color:#176b5b;background:#e6f6f1}.snapshot-action-row{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:9px;margin:0 22px;display:grid}.snapshot-action-row .safety-primary,.snapshot-action-row .safety-secondary{width:100%;margin:0}.snapshot-history>div.missing>span,.snapshot-history>div.checksum_mismatch>span,.snapshot-history>div.invalid_format>span{color:#a23f37;background:#fff0ed}.student-dashboard .welcome-row{grid-template-columns:minmax(220px,1fr) minmax(360px,max-content) minmax(220px,1fr);align-items:start;display:grid}.student-welcome-identity{text-align:center;flex-direction:column;grid-column:2;justify-self:center;align-items:center;gap:15px;min-width:0;display:flex}.student-welcome-identity>div{justify-items:center;min-width:0;display:grid}.student-welcome-identity .student-greeting{justify-content:center}.student-welcome-identity+.updated-chip{grid-area:1/3;justify-self:end}.student-profile-photo{aspect-ratio:1;object-fit:cover;object-position:center;color:#fff;background:linear-gradient(145deg,var(--teal),var(--navy));border:3px solid #fff;border-radius:12px;flex:none;font-weight:900;display:block;box-shadow:0 8px 20px #17375233}.student-profile-photo.fallback{place-items:center;display:grid}.header-student-photo{border-radius:15px;width:50px;height:50px}.welcome-student-photo{border-radius:30px;width:120px;height:120px;font-size:1.55rem}.student-classroom-identity{align-items:center;gap:20px;min-width:0;display:flex}.student-classroom-identity>div{min-width:0}.classroom-student-photo{border-radius:24px;width:88px;height:88px;font-size:1.25rem}.roster-student-photo,.attendance-student-photo{border-radius:14px;width:50px;height:50px;font-size:.82rem}.student-select-button>.student-list-photo{border-width:2px;border-radius:13px;width:46px;height:46px;font-size:.78rem;box-shadow:0 4px 12px #17375224}.student-list-row.active .student-list-photo.fallback{background:var(--teal)}.editor-header-photo{border-radius:19px;width:70px;height:70px;font-size:1rem}.editor-student-photo{border-radius:28px;width:118px;height:118px;font-size:1.3rem}.bulk-student-photo-import{border-color:#b9ddd8;margin-bottom:18px;scroll-margin-top:18px;overflow:hidden}.bulk-student-photo-head{background:linear-gradient(135deg,#f0faf8,#fffdf7);justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;display:flex}.bulk-student-photo-head>div{min-width:0}.bulk-student-photo-head h2{color:var(--navy);margin:3px 0 5px;font-size:1.15rem}.bulk-student-photo-head p:not(.eyebrow){color:var(--muted);margin:0;font-size:.75rem;line-height:1.5}.bulk-student-photo-head p b{color:var(--teal-dark)}.bulk-student-photo-head>label{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;min-width:190px;min-height:48px;padding:10px 16px;font-size:.76rem;font-weight:900;display:flex;box-shadow:0 9px 22px #0f847b2b}.bulk-student-photo-head>label input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.bulk-student-photo-head>label span{font:900 1rem/1 Arial,sans-serif}.bulk-student-photo-head>label.disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.bulk-student-photo-guide{background:#fbfdfd;border-block:1px solid #e3eeee;grid-template-columns:30px 1fr 30px 1fr 30px 1fr;align-items:center;gap:10px;padding:14px 22px;display:grid}.bulk-student-photo-guide>span{width:28px;height:28px;color:var(--teal-dark);background:#dff4f0;border-radius:9px;place-items:center;font:900 .72rem/1 Arial,sans-serif;display:grid}.bulk-student-photo-guide p{color:var(--muted);margin:0;font-size:.65rem;line-height:1.35}.bulk-student-photo-guide b{color:var(--navy);font-size:.7rem;display:block}.bulk-student-photo-review{padding:18px 22px 22px}.bulk-student-photo-summary{color:var(--muted);grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px;margin-bottom:14px;font-size:.7rem;display:grid}.bulk-student-photo-summary strong{min-width:34px;height:34px;color:var(--teal-dark);background:#e5f7f3;border-radius:10px;place-items:center;font:900 .9rem/1 Arial,sans-serif;display:grid}.bulk-student-photo-summary strong.warning{color:#a23f37;background:#fff0ed}.bulk-student-photo-summary strong.ready{color:#176b5b;background:#e7f8f2}.bulk-student-photo-grid{scrollbar-width:thin;scrollbar-color:#8fc8c1 #edf4f3;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:9px;max-height:310px;padding:3px;display:grid;overflow-y:auto}.bulk-student-photo-grid article{background:#fff;border:1px solid #dfe9eb;border-radius:12px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:9px;display:grid}.bulk-student-photo-grid img{object-fit:cover;object-position:center;border-radius:12px;width:48px;height:48px}.bulk-student-photo-grid b,.bulk-student-photo-grid span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.bulk-student-photo-grid b{color:var(--navy);font-size:.69rem}.bulk-student-photo-grid span{color:var(--muted);margin-top:3px;font-size:.57rem}.bulk-student-photo-grid em{color:#176b5b;background:#e6f6f1;border-radius:999px;padding:4px 7px;font-size:.56rem;font-style:normal;font-weight:900}.bulk-student-photo-issues{color:#9e3b31;background:#fff5f3;border:1px solid #edc5c0;border-radius:11px;gap:4px;margin-top:13px;padding:12px 14px;font-size:.68rem;line-height:1.45;display:grid}.bulk-student-photo-issues b{font-size:.72rem}.bulk-student-photo-confirm{color:#fff;background:linear-gradient(135deg,var(--teal),var(--teal-dark));cursor:pointer;border:0;border-radius:11px;width:100%;min-height:46px;margin-top:14px;font-size:.76rem;font-weight:900}.bulk-student-photo-confirm:disabled{opacity:.42;cursor:not-allowed}.student-profile-photo-editor{background:linear-gradient(135deg,#edf9f7,#fff);border:1px solid #b9ddd8;border-radius:15px;grid-template-columns:136px minmax(0,1fr) auto;align-items:center;gap:18px;margin:18px;padding:16px;display:grid}.student-profile-photo-preview{justify-items:center;gap:7px;display:grid}.student-profile-photo-preview>img{object-fit:cover;border:3px solid #fff;border-radius:28px;width:118px;height:118px;box-shadow:0 10px 24px #17375230}.student-profile-photo-preview>span{color:var(--teal-dark);font-size:.67rem;font-weight:900}.student-profile-photo-copy{min-width:0}.student-profile-photo-copy .eyebrow{margin:0 0 3px}.student-profile-photo-copy h3{color:var(--navy);margin:0;font-size:1rem}.student-profile-photo-copy p{color:var(--muted);margin:4px 0 0;font-size:.76rem;line-height:1.45}.student-profile-photo-copy em{color:#a23f37;margin-top:5px;font-size:.74rem;font-style:normal;font-weight:800;display:block}.student-profile-photo-actions{gap:8px;min-width:126px;display:grid}.student-profile-photo-actions label,.student-profile-photo-actions button{cursor:pointer;border:1px solid #badad5;border-radius:10px;place-items:center;min-height:38px;padding:8px 11px;font:900 .76rem/1.2 Sarabun,sans-serif;display:grid}.student-profile-photo-actions label{color:var(--teal-dark);background:#fff}.student-profile-photo-actions .change-photo-button{background:#eaf8f5;border-color:#8bc9c1;box-shadow:inset 0 0 0 1px #0f847b0a}.student-profile-photo-actions label input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.student-profile-photo-actions .save-photo{color:#fff;border-color:var(--teal-dark);background:linear-gradient(135deg,var(--teal),var(--teal-dark))}.student-profile-photo-actions .delete-photo{color:#a23f37;background:#fff8f7;border-color:#ebc2bd}.student-profile-photo-actions button:disabled{opacity:.45;cursor:not-allowed}.student-profile-photo-actions label:has(input:disabled){opacity:.45;cursor:not-allowed}@media (width<=1000px){.student-dashboard .welcome-row{grid-template-columns:1fr;justify-items:center}.student-welcome-identity,.student-welcome-identity+.updated-chip{grid-column:1}.student-welcome-identity+.updated-chip{grid-row:auto;justify-self:stretch}}@media (width<=800px){.bulk-student-photo-head{flex-direction:column;align-items:stretch}.bulk-student-photo-head>label{width:100%}.bulk-student-photo-guide{grid-template-columns:30px 1fr}.student-profile-photo-editor{grid-template-columns:124px minmax(0,1fr)}.student-profile-photo-actions{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.roster-student-photo,.attendance-student-photo{border-radius:13px;width:46px;height:46px}}@media (width<=520px){.student-welcome-identity{align-items:center}.header-student-photo{border-radius:13px;width:44px;height:44px}.welcome-student-photo{border-radius:26px;width:104px;height:104px}.bulk-student-photo-head,.bulk-student-photo-review,.bulk-student-photo-guide{padding-inline:16px}.bulk-student-photo-grid{grid-template-columns:1fr}.student-classroom-identity{align-items:flex-start}.classroom-student-photo{border-radius:20px;width:72px;height:72px}.student-select-button>.student-list-photo{border-radius:12px;width:42px;height:42px}.student-profile-photo-editor{text-align:center;grid-template-columns:1fr}.student-profile-photo-copy p{max-width:32rem;margin-inline:auto}.student-profile-photo-actions{grid-column:auto;grid-template-columns:1fr}.editor-header-photo{border-radius:16px;width:58px;height:58px}.editor-student-photo,.student-profile-photo-preview>img{border-radius:25px;width:104px;height:104px}}.teacher-shell{--admin-caption:clamp(.75rem, .16vw + .72rem, .84rem);--admin-body:clamp(.82rem, .18vw + .78rem, .94rem);--admin-control:clamp(.8rem, .16vw + .76rem, .9rem);--admin-card-gap:clamp(16px, 1.35vw, 24px);--admin-card-pad-x:clamp(18px, 1.7vw, 28px);--admin-card-pad-y:clamp(18px, 1.45vw, 24px)}.teacher-main{line-height:1.55}.teacher-main :where(h1,h2,h3,b,strong),.teacher-sidebar :where(b,strong){overflow-wrap:anywhere}.teacher-main :where(p,small,span,label),.teacher-sidebar :where(span,small,p){text-wrap:pretty}.teacher-title-row{align-items:center;row-gap:18px}.teacher-title-row>div:first-child{min-width:0}.teacher-title-row p:last-child{font-size:var(--admin-body);line-height:1.55}.teacher-main .eyebrow{font-size:var(--admin-caption);margin-bottom:9px;line-height:1.2}.course-switcher,.class-filter-bar,.class-report-actions{padding:var(--admin-card-pad-y) var(--admin-card-pad-x);gap:var(--admin-card-gap)}.course-switcher-copy h2,.class-filter-bar h2,.class-report-copy h2{margin-block:4px 6px;font-size:clamp(1.08rem,.35vw + 1rem,1.3rem);line-height:1.35}.course-switcher-copy>span,.class-filter-bar>div:first-child>span,.class-report-copy>span{font-size:var(--admin-body);line-height:1.65}.course-switcher-select{font-size:var(--admin-body);gap:7px;line-height:1.4}.course-switcher-select select{min-height:48px;font-size:var(--admin-control);line-height:1.35}.course-switcher-select small{font-size:var(--admin-caption);line-height:1.5}.class-filter-options label{row-gap:3px;min-height:56px;padding:10px 13px}.class-filter-options b{font-size:var(--admin-control);line-height:1.3}.class-filter-options small{font-size:var(--admin-caption);line-height:1.35}.report-download-button{min-width:205px;min-height:62px;padding:10px 14px}.report-download-button b{font-size:var(--admin-control);line-height:1.3}.report-download-button small{font-size:var(--admin-caption);line-height:1.35}.class-score-visibility{min-height:142px;padding:var(--admin-card-pad-y) var(--admin-card-pad-x);gap:var(--admin-card-gap);grid-template-columns:minmax(340px,1fr) minmax(230px,.55fr) minmax(300px,auto);align-items:center}.class-score-visibility-copy{align-self:center;min-width:0}.class-score-visibility-copy h2{margin:5px 0 7px;font-size:clamp(1.12rem,.35vw + 1.02rem,1.34rem);line-height:1.4}.class-score-visibility-copy>p:last-child{max-width:760px;font-size:var(--admin-body);line-height:1.65}.class-score-visibility-status{gap:13px;min-width:0;min-height:72px;padding:13px 16px}.class-score-visibility-status>span{border-radius:12px;flex:0 0 42px;width:42px;height:42px;font-size:1.08rem}.class-score-visibility-status>div{min-width:0}.class-score-visibility-status small{font-size:var(--admin-caption);line-height:1.3}.class-score-visibility-status b{font-size:var(--admin-control);margin-top:4px;line-height:1.4}.class-score-visibility-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:300px;display:grid}.class-score-visibility-actions button{min-height:48px;font-size:var(--admin-control);white-space:normal;padding:9px 15px;line-height:1.35}.admin-metrics article{min-height:104px;padding:20px 22px}.admin-metrics small,.admin-metrics em{font-size:var(--admin-caption);line-height:1.35}.admin-card-title{flex-wrap:wrap;align-items:center;padding:22px 24px 18px}.admin-card-title>span,.admin-card-title button{font-size:var(--admin-caption);line-height:1.4}.student-name b,.student-select-button b,.archive-list button b,.backup-list b,.term-room-card b,.assignment-catalog-list b,.bulk-student-photo-grid b{font-size:var(--admin-control);line-height:1.4}.student-name small,.student-select-button small,.archive-list button small,.backup-list p,.backup-list small,.term-room-card small,.term-room-card em,.assignment-catalog-list small,.bulk-student-photo-grid span{font-size:var(--admin-caption);line-height:1.45}.score-edit-row>button,.reset-row button,.archive-bulk-footer button,.archive-delete-zone>button,.archive-delete-actions button,.backup-list article>button,.term-report-actions button,.term-primary-action,.term-secondary-action,.term-archive-action,.term-confirm-box button,.term-course-footer button,.assignment-form-actions button,.assignment-edit-form>button{min-height:42px;font-size:var(--admin-control);line-height:1.35}.archive-intro p:last-child,.archive-bulk-head p:last-child,.archive-whole-room-summary p,.archive-delete-zone>div>p,.archive-empty p,.import-card>.muted,.import-guide li p,.reliability-intro p:last-child,.reliability-empty p,.term-close-intro p:last-child,.term-overview-heading p:last-child,.term-room-status p,.term-step-content>p,.term-activity-heading p:last-child,.term-activity-list p,.term-activity-empty p,.term-next-heading p:last-child,.term-course-footer p,.assignment-card-copy>p,.assignment-teacher-note p,.assignment-score-separation p,.assignment-separation-note p,.classroom-mode-banner p:not(.eyebrow),.classroom-roster-methods article p,.classroom-roster-feedback,.classroom-tool-warning{font-size:var(--admin-body);line-height:1.6}.archive-room-picker>label,.archive-delete-confirmation,.term-confirm-box label,.term-course-fields label,.assignment-form-grid label,.assignment-edit-form label,.classroom-announcement-form label{font-size:var(--admin-caption);line-height:1.4}.teacher-main :where(input,select,textarea){line-height:1.4}.visibility-current,.course-plan-intro,.term-close-intro,.reliability-intro,.archive-intro{gap:var(--admin-card-gap)}.visibility-current p:last-child,.visibility-action-row p,.course-plan-intro p,.course-edit-actions label,.course-fields label,.visibility-period-grid small,.visibility-period-grid span,.visibility-period-grid b,.visibility-period-grid article>button,.period-card>header span,.period-card>header b,.period-header-actions button,.course-edit-head b,.course-edit-head button,.course-edit-actions button,.new-course-card button{font-size:var(--admin-caption);line-height:1.45}.visibility-period-grid article{min-height:150px;padding:16px}.visibility-period-grid article>button{min-height:42px}.course-edit-card{padding:16px}.course-fields input{min-height:43px;font-size:var(--admin-control)}@media (width<=1180px){.class-score-visibility{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr)}.class-score-visibility-copy{grid-column:1/-1}.class-score-visibility-actions{min-width:0}}@media (width<=760px){.teacher-main{padding:28px 18px 56px}.teacher-title-row{align-items:stretch}.teacher-title-actions{justify-content:stretch;width:100%}.teacher-title-actions>*{flex:220px;justify-content:center}.class-score-visibility{grid-template-columns:1fr;min-height:0}.class-score-visibility-copy{grid-column:auto}.class-score-visibility-actions{grid-template-columns:1fr}.class-report-buttons{grid-template-columns:1fr;display:grid}.report-download-button{width:100%;min-width:0}}@media (width<=520px){.teacher-main{padding-inline:14px}.course-switcher,.class-filter-bar,.class-report-actions,.class-score-visibility{border-radius:15px;padding:17px 16px}.admin-card-title{padding:18px 17px 15px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
