/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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;--font-weight-medium:500;--font-weight-semibold:600;--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}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uppercase{text-transform:uppercase}.blur{--tw-blur:blur(8px);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,)}.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,:root[data-theme=light]{--color-primary:#007aff;--color-on-primary:#fff;--color-primary-container:#e8f2ff;--color-on-primary-container:#003e7d;--color-secondary:#ff9500;--color-secondary-container:#fff1d6;--color-success:#248a3d;--color-success-container:#e6f6e9;--color-error:#ff3b30;--color-error-container:#ffe9e7;--color-background:#f2f2f7;--color-on-background:#1c1c1e;--color-surface:#fff;--color-on-surface:#1c1c1e;--color-surface-variant:#efeff4;--color-on-surface-variant:#636366;--color-outline:#8e8e93;--color-outline-variant:#c6c6c8;--color-surface-low:#f8f8fa;--color-surface-high:#e9e9ee;--color-surface-highest:#e3e3e8;--color-bnbu-official:#0166a4;--overlay-black:#00000085;--card-border:#3c3c431f}:root[data-theme=dark]{--color-primary:#0a84ff;--color-on-primary:#fff;--color-primary-container:#16395f;--color-on-primary-container:#d6e9ff;--color-secondary:#ff9f0a;--color-secondary-container:#503500;--color-success:#30d158;--color-success-container:#164b24;--color-error:#ff453a;--color-error-container:#5c201d;--color-background:#000;--color-on-background:#f2f2f7;--color-surface:#1c1c1e;--color-on-surface:#f2f2f7;--color-surface-variant:#2c2c2e;--color-on-surface-variant:#aeaeb2;--color-outline:#8e8e93;--color-outline-variant:#3a3a3c;--color-surface-low:#141416;--color-surface-high:#242426;--color-surface-highest:#2c2c2e;--color-bnbu-official:#0166a4;--overlay-black:#0000009e;--card-border:#ffffff1f}@media (prefers-color-scheme:dark){:root[data-theme=system]{--color-primary:#0a84ff;--color-on-primary:#fff;--color-primary-container:#16395f;--color-on-primary-container:#d6e9ff;--color-secondary:#ff9f0a;--color-secondary-container:#503500;--color-success:#30d158;--color-success-container:#164b24;--color-error:#ff453a;--color-error-container:#5c201d;--color-background:#000;--color-on-background:#f2f2f7;--color-surface:#1c1c1e;--color-on-surface:#f2f2f7;--color-surface-variant:#2c2c2e;--color-on-surface-variant:#aeaeb2;--color-outline:#8e8e93;--color-outline-variant:#3a3a3c;--color-surface-low:#141416;--color-surface-high:#242426;--color-surface-highest:#2c2c2e;--color-bnbu-official:#0166a4;--overlay-black:#0000009e;--card-border:#ffffff1f}}:root{--scrollbar-size:8px;--scrollbar-thumb-idle:var(--color-on-surface-variant)}@supports (color:color-mix(in lab, red, red)){:root{--scrollbar-thumb-idle:color-mix(in srgb, var(--color-on-surface-variant) 6%, transparent)}}:root{--scrollbar-thumb-hover:var(--color-on-surface-variant)}@supports (color:color-mix(in lab, red, red)){:root{--scrollbar-thumb-hover:color-mix(in srgb, var(--color-on-surface-variant) 30%, transparent)}}:root{--scrollbar-thumb-scrolling:var(--color-on-surface-variant)}@supports (color:color-mix(in lab, red, red)){:root{--scrollbar-thumb-scrolling:color-mix(in srgb, var(--color-on-surface-variant) 42%, transparent)}}:root{--scrollbar-thumb-active:var(--color-on-surface-variant)}@supports (color:color-mix(in lab, red, red)){:root{--scrollbar-thumb-active:color-mix(in srgb, var(--color-on-surface-variant) 62%, transparent)}}:root{--scrollbar-track-hover:var(--color-on-surface-variant)}@supports (color:color-mix(in lab, red, red)){:root{--scrollbar-track-hover:color-mix(in srgb, var(--color-on-surface-variant) 5%, transparent)}}::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);background:0 0}::-webkit-scrollbar-track{background-color:#0000;border-radius:9999px;transition:background-color .18s ease-out,opacity .18s ease-out}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-idle);opacity:.35;background-clip:padding-box;border:1px solid #0000;border-radius:9999px;min-height:32px;transition:background-color .18s ease-out,opacity .18s ease-out}:hover::-webkit-scrollbar-track{background-color:var(--scrollbar-track-hover)}:hover::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-hover);opacity:1}[data-scrollbar-scrolling=true]::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-scrolling);opacity:1}::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-scrolling);opacity:1}::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background:0 0}@supports ((-moz-appearance:none)){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb-idle) transparent}:hover{scrollbar-color:var(--scrollbar-thumb-hover) var(--scrollbar-track-hover)}[data-scrollbar-scrolling=true]{scrollbar-color:var(--scrollbar-thumb-scrolling) transparent}:hover[data-scrollbar-scrolling=true]{scrollbar-color:var(--scrollbar-thumb-scrolling) var(--scrollbar-track-hover)}}*{box-sizing:border-box}html{background:var(--color-background);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--color-background);color:var(--color-on-surface);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}:root.is-theme-transitioning,:root.is-theme-transitioning body,:root.is-theme-transitioning body *,:root.is-theme-transitioning body :before,:root.is-theme-transitioning body :after{transition-property:background-color,border-color,color,fill,stroke,box-shadow,outline-color;transition-duration:.24s;transition-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-new(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--color-primary)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 24%, transparent)}}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px}h1,h2,h3,p{margin:0}button{cursor:pointer}.brand{align-items:center;gap:11px;min-width:max-content;display:flex}.brand-mark{border:1px solid var(--color-bnbu-official);flex:none;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.brand-mark{border:1px solid color-mix(in srgb, var(--color-bnbu-official) 18%, var(--card-border))}}.brand-mark{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0166a417}.brand-mark img{width:32px;height:32px;display:block}.brand>span:last-child{flex-direction:column;line-height:1.15;display:flex}.brand b{letter-spacing:.02em;color:var(--color-bnbu-official);font-size:14px}.brand small{color:var(--color-on-surface-variant);letter-spacing:.06em;margin-top:4px;font-size:9px;font-weight:750}.app-shell .sidebar .brand.sports-brand{flex-direction:column;justify-content:center;gap:7px;width:100%;min-width:0;padding:0}.app-shell .sidebar .sports-brand-emblem{flex:none;width:54px;height:54px;display:block}.app-shell .sidebar .sports-brand-wordmark{color:var(--color-bnbu-official);letter-spacing:.055em;transform-origin:50%;font-family:Agency FB,Bahnschrift Condensed,Arial Narrow,sans-serif;font-size:31px;font-weight:800;font-stretch:75%;line-height:.86;display:block;transform:scaleX(.86)}.login-shell{isolation:isolate;background-color:var(--color-background);background-image:linear-gradient(var(--color-bnbu-official) 1px, transparent 1px), linear-gradient(90deg, var(--color-bnbu-official) 1px, transparent 1px);grid-template-rows:auto minmax(0,1fr);min-height:100dvh;display:grid;position:relative;overflow-x:hidden}@supports (color:color-mix(in lab, red, red)){.login-shell{background-image:linear-gradient(color-mix(in srgb, var(--color-bnbu-official) 3.5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--color-bnbu-official) 3.5%, transparent) 1px, transparent 1px)}}.login-shell{background-size:48px 48px}.login-shell:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle, var(--color-primary-container) 0 22%, transparent 69%);border-radius:50%;width:min(64vw,760px);position:absolute;top:-42%;left:-26%}@supports (color:color-mix(in lab, red, red)){.login-shell:before{background:radial-gradient(circle, color-mix(in srgb, var(--color-primary-container) 50%, transparent) 0 22%, transparent 69%)}}.login-shell:before{pointer-events:none}.login-topbar{justify-content:space-between;align-items:center;gap:20px;min-height:72px;padding:0 clamp(20px,4vw,64px);display:flex}.login-wordmark{min-width:0;color:var(--color-on-surface-variant);letter-spacing:.02em;font-size:13px;font-weight:700;line-height:1.35}.topbar-controls{flex:none;align-items:center;gap:7px;display:flex}.theme-control{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:11px;gap:2px;padding:3px;display:flex}.theme-control button{min-height:30px;color:var(--color-on-surface-variant);background:0 0;border:0;border-radius:8px;padding:0 9px;font-size:11px;font-weight:650}.theme-control button.selected{background:var(--color-surface);color:var(--color-on-surface);box-shadow:0 1px 2px var(--color-on-surface)}@supports (color:color-mix(in lab, red, red)){.theme-control button.selected{box-shadow:0 1px 2px color-mix(in srgb, var(--color-on-surface) 10%, transparent)}}.language-toggle{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:11px;align-items:center;gap:2px;padding:3px;display:inline-flex}.language-toggle button{min-height:30px;color:var(--color-on-surface-variant);letter-spacing:.02em;background:0 0;border:0;border-radius:8px;padding:0 10px;font-size:11px;font-weight:750}.language-toggle button.selected{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 1px 2px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.language-toggle button.selected{box-shadow:0 1px 2px color-mix(in srgb, var(--color-primary) 24%, transparent)}}.language-toggle-compact{background:var(--color-surface-low)}@supports (color:color-mix(in lab, red, red)){.language-toggle-compact{background:color-mix(in srgb, var(--color-surface-low) 90%, transparent)}}.language-toggle-compact button{min-height:36px;padding:0 9px}.login-topbar .theme-control button{min-width:54px;min-height:34px}.login-topbar .language-toggle button{width:64px;min-height:34px;padding:0 6px}.login-layout{place-items:center;width:min(500px,100% - 32px);min-height:0;margin:0 auto;padding:24px 0 32px;display:grid}.login-card{background:var(--color-surface);border:1px solid var(--color-bnbu-official);width:100%;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.login-card{border:1px solid color-mix(in srgb, var(--color-bnbu-official) 16%, var(--card-border))}}.login-card{border-radius:22px;padding:clamp(32px,5vw,40px);animation:.32s ease-out both login-card-in;box-shadow:0 12px 32px #0166a414}.login-card:before{content:"";background:var(--color-bnbu-official);height:3px;position:absolute;top:0;left:0;right:0}.login-brand{text-align:center;justify-items:center;margin-bottom:32px;display:grid}.login-logo-surface{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;background:#fff;border-radius:14px;place-items:center;width:112px;height:112px;padding:4px;display:grid}.login-logo{object-fit:contain;width:104px;height:104px;display:block}.login-platform-name{color:var(--color-on-surface);letter-spacing:-.02em;margin-top:15px;font-size:22px;font-weight:700;line-height:1.3}.login-school-name{color:var(--color-on-surface-variant);margin-top:5px;font-size:13px;font-weight:500;line-height:1.45}.login-card-head h1{color:var(--color-on-surface);letter-spacing:-.035em;margin:0 0 8px;font-size:27px;font-weight:750;line-height:1.25}.login-card-head p{color:var(--color-on-surface-variant);margin-bottom:25px;font-size:14px;line-height:1.55}.login-card form{gap:16px;display:grid}.login-card label,.modal-fields label,.reason-field,.field-grid label{gap:8px;display:grid}.login-card label>span:first-child,.modal-fields label>span,.reason-field>span,.field-grid label>span{font-size:14px;font-weight:700}input,textarea,select{border:1px solid var(--color-outline-variant);background:var(--color-surface-low);width:100%;color:var(--color-on-surface);border-radius:12px;padding:12px 14px}input{height:48px}textarea{resize:vertical;min-height:96px}input::placeholder,textarea::placeholder{color:var(--color-outline)}input:focus,textarea:focus,select:focus{border-color:var(--color-primary)}.form-error{color:var(--color-error);font-size:13px}.primary-button,.secondary-button,.danger-button{border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.primary-button{background:var(--color-primary);color:var(--color-on-primary)}.primary-button:hover{filter:brightness(.96)}.secondary-button{background:var(--color-surface-highest);color:var(--color-on-surface)}.danger-button{background:var(--color-error-container);color:var(--color-error)}.login-card input{height:50px;font-size:15px}.password-field{display:block;position:relative}.password-field input{padding-right:50px}.password-visibility{width:36px;height:36px;color:var(--color-on-surface-variant);background:0 0;border:0;border-radius:9px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-visibility:hover{background:var(--color-surface-high);color:var(--color-on-surface)}.password-visibility:active{background:var(--color-surface-highest)}.password-visibility svg{width:19px;height:19px}.login-card input:-webkit-autofill{-webkit-text-fill-color:var(--color-on-surface);-webkit-box-shadow:0 0 0 1000px var(--color-surface-low) inset;box-shadow:0 0 0 1000px var(--color-surface-low) inset;caret-color:var(--color-on-surface)}.login-card input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-on-surface);-webkit-box-shadow:0 0 0 1000px var(--color-surface-low) inset;box-shadow:0 0 0 1000px var(--color-surface-low) inset;caret-color:var(--color-on-surface)}.login-card input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-on-surface);-webkit-box-shadow:0 0 0 1000px var(--color-surface-low) inset;box-shadow:0 0 0 1000px var(--color-surface-low) inset;caret-color:var(--color-on-surface)}.full-button{justify-content:center;width:100%;height:50px;margin-top:2px;padding:0 18px}.full-button:disabled{cursor:not-allowed;opacity:.62}.text-button{color:var(--color-primary);background:0 0;border:0;padding:6px 0;font-size:13px;font-weight:700}.forgot-button{margin:12px auto 0;display:block}.login-card-recovery{padding-bottom:clamp(30px,5vw,40px)}.password-recovery{animation:.24s ease-out both login-card-in}.recovery-head{text-align:center;margin-bottom:24px;padding-top:22px;position:relative}.recovery-head h1{color:var(--color-on-surface);letter-spacing:-.035em;margin-top:16px;font-size:27px;font-weight:750;line-height:1.25}.back-button{color:var(--color-primary);background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-size:13px;font-weight:700;display:inline-flex;position:absolute;top:0;left:0}.recovery-step{color:var(--color-on-surface-variant);font-size:12px;font-weight:700;position:absolute;top:4px;right:0}.recovery-form{gap:16px;display:grid}.recovery-form>p,.recovery-assistance>p,.recovery-complete>p{color:var(--color-on-surface-variant);font-size:14px;line-height:1.6}.recovery-form label{gap:8px;display:grid}.recovery-form label>span{font-size:14px;font-weight:700}.recovery-assistance-link{justify-self:center;margin-top:-4px;font-size:12px}.recovery-note{background:var(--color-surface-low);border-radius:10px;padding:11px 13px;color:var(--color-on-surface-variant)!important;font-size:12px!important;line-height:1.55!important}.recovery-assistance,.recovery-complete{gap:18px;display:grid}.recovery-alert,.recovery-success{width:46px;height:46px;color:var(--color-primary);background:var(--color-primary-container);border-radius:14px;place-items:center;display:grid}.recovery-assistance ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.recovery-assistance li{border:1px solid var(--card-border);background:var(--color-surface-low);color:var(--color-on-surface-variant);border-radius:11px;padding:12px 12px 12px 32px;font-size:12px;line-height:1.55;position:relative}.recovery-assistance li:before{content:"•";color:var(--color-primary);font-size:20px;position:absolute;top:8px;left:14px}.recovery-complete{text-align:center;justify-items:center}.recovery-complete .primary-button{margin-top:4px}.demo-access{color:var(--color-on-surface-variant);text-align:center;margin-top:12px;font-size:12px;position:relative}.demo-access summary{width:fit-content;color:var(--color-on-surface-variant);cursor:pointer;margin:0 auto;list-style:none}.demo-access summary::-webkit-details-marker{display:none}.demo-access summary:after{content:"⌄";margin-left:5px;transition:transform .16s;display:inline-block}.demo-access[open] summary:after{transform:rotate(180deg)}.demo-menu{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:10px;gap:4px;width:min(220px,100%);margin:8px auto 0;padding:5px;display:grid}.demo-menu button{min-height:34px;color:var(--color-on-surface-variant);background:0 0;border:0;border-radius:7px;font-size:12px;font-weight:650}.demo-menu button:hover{background:var(--color-surface);color:var(--color-primary)}.security-note{color:var(--color-outline);text-align:center;margin:20px 0 0;font-size:12px;line-height:1.55}@keyframes login-card-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=621px) and (height<=820px){.login-layout{padding:6px 0}.login-card{padding:22px 30px}.login-brand{margin-bottom:20px}.login-logo-surface{border-radius:12px;width:96px;height:96px;padding:3px}.login-logo{width:90px;height:90px}.login-platform-name{margin-top:10px;font-size:20px}.login-school-name{margin-top:2px;font-size:12px}.login-card-head h1{margin-bottom:6px;font-size:25px}.login-card-head p{margin-bottom:18px}.login-card form{gap:12px}.login-card label{gap:6px}.login-card input,.full-button{height:48px}.forgot-button{margin-top:8px;font-size:12px}.recovery-head{margin-bottom:18px}.recovery-head h1{font-size:25px}.demo-access{margin-top:8px}.security-note{margin-top:14px;font-size:11px}}.app-shell{--sidebar-width:272px;--sidebar-expanded-width:272px;--sidebar-collapsed-width:84px;--sidebar-content-visibility:1;--sidebar-transition-duration:.26s;--sidebar-transition-easing:cubic-bezier(.22, 1, .36, 1);grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;transition:grid-template-columns var(--sidebar-transition-duration) var(--sidebar-transition-easing);display:grid}.sidebar{background-color:var(--color-surface);background-image:linear-gradient(90deg, var(--color-bnbu-official) 1px, transparent 1px);min-width:0;height:100vh;position:sticky;top:0;overflow:visible}@supports (color:color-mix(in lab, red, red)){.sidebar{background-image:linear-gradient(90deg, color-mix(in srgb, var(--color-bnbu-official) 3%, transparent) 1px, transparent 1px)}}.sidebar{border-right:1px solid var(--card-border);border-top:4px solid var(--color-bnbu-official);z-index:20;background-size:36px 36px;flex-direction:column;padding:23px 18px 18px;display:flex}.app-shell.is-sidebar-initializing,.app-shell.is-resizing-sidebar{transition:none}.app-shell.is-resizing-sidebar,.app-shell.is-sidebar-transitioning{will-change:grid-template-columns}body.is-resizing-sidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}body.is-resizing-sidebar *{cursor:col-resize!important}.sidebar-resizer{z-index:40;cursor:col-resize;touch-action:none;outline:none;width:20px;height:100%;position:absolute;top:0;right:-10px}.sidebar-resizer:after{content:"";background:var(--color-primary);opacity:0;border-radius:999px;width:1px;transition:width .14s,opacity .14s,box-shadow .14s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after{opacity:.32;width:2px}.app-shell.is-resizing-sidebar .sidebar-resizer:after{width:3px;box-shadow:0 0 0 1px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.app-shell.is-resizing-sidebar .sidebar-resizer:after{box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 14%, transparent)}}.app-shell.is-resizing-sidebar .sidebar-resizer:after{opacity:.82}.sidebar-collapse-button{z-index:41;border:1px solid var(--color-primary);place-items:center;width:32px;height:32px;padding:0;display:grid;position:absolute;top:50%;right:0}@supports (color:color-mix(in lab, red, red)){.sidebar-collapse-button{border:1px solid color-mix(in srgb, var(--color-primary) 22%, var(--card-border))}}.sidebar-collapse-button{background:var(--color-surface);box-shadow:0 2px 7px var(--color-on-surface);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.sidebar-collapse-button{box-shadow:0 2px 7px color-mix(in srgb, var(--color-on-surface) 10%, transparent)}}.sidebar-collapse-button{color:var(--color-primary);transition:background-color var(--sidebar-transition-duration) var(--sidebar-transition-easing), border-color var(--sidebar-transition-duration) var(--sidebar-transition-easing), box-shadow var(--sidebar-transition-duration) var(--sidebar-transition-easing), color var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing);transform:translate(50%,-50%)}.sidebar-collapse-button:hover{border-color:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.sidebar-collapse-button:hover{border-color:color-mix(in srgb, var(--color-primary) 42%, var(--card-border))}}.sidebar-collapse-button:hover{background:var(--color-primary-container);box-shadow:0 4px 10px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.sidebar-collapse-button:hover{box-shadow:0 4px 10px color-mix(in srgb, var(--color-primary) 18%, transparent)}}.sidebar-collapse-button:active{transform:translate(50%,-50%)scale(.94)}.sidebar-collapse-button:focus-visible{outline:2px solid var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.sidebar-collapse-button:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 46%, transparent)}}.sidebar-collapse-button:focus-visible{outline-offset:2px}.sidebar-collapse-button svg{display:block}.app-shell.is-resizing-sidebar .sidebar .sports-brand-emblem,.app-shell.is-resizing-sidebar .sidebar .sports-brand-wordmark,.app-shell.is-resizing-sidebar .workspace-label>*,.app-shell.is-resizing-sidebar .sidebar nav button,.app-shell.is-resizing-sidebar .sidebar nav button:before,.app-shell.is-resizing-sidebar .sidebar nav button:after,.app-shell.is-resizing-sidebar .profile-button,.app-shell.is-resizing-sidebar .sidebar-collapse-button{transition:none!important}.sidebar .brand{padding:0 8px}.app-shell .sidebar .sports-brand+.workspace-label{margin-top:20px}.workspace-label{justify-content:space-between;align-items:center;margin:28px 8px 11px;display:flex}.workspace-label>span{color:var(--color-on-surface-variant);letter-spacing:.08em;font-size:11px;font-weight:800}.badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;min-height:25px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.badge-blue{background:var(--color-primary-container);color:var(--color-on-primary-container)}.badge-green{background:var(--color-success-container);color:var(--color-success)}.badge-orange{background:var(--color-secondary-container);color:var(--color-secondary)}.badge-red{background:var(--color-error-container);color:var(--color-error)}.badge-gray{background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.sidebar nav{gap:4px;display:grid}.sidebar nav button{width:100%;min-height:45px;color:var(--color-on-surface-variant);text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:0 11px;font-size:13px;font-weight:650;display:grid}.sidebar nav button:hover{background:var(--color-surface-low)}.sidebar nav button.active{color:var(--color-primary);background:var(--color-primary-container)}.sidebar nav .sidebar-nav-icon{color:#3c3c43bf;place-items:center;width:22px;height:22px;font-style:normal;display:grid}.sidebar nav .sidebar-nav-icon svg{fill:none;width:21px;height:21px;display:block}.sidebar nav button:hover .sidebar-nav-icon,.sidebar nav button.active .sidebar-nav-icon{color:var(--color-primary)}.sidebar nav b{background:var(--color-surface-highest);min-width:21px;height:21px;color:var(--color-on-surface-variant);border-radius:999px;place-items:center;font-size:10px;display:grid}.sidebar nav button.active b{background:var(--color-primary);color:#fff}.sidebar-bottom{border-top:1px solid var(--card-border);margin-top:auto;padding-top:18px}.profile-button{text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;width:100%;padding:8px;display:grid}.profile-button:hover{background:var(--color-surface-low)}.profile-button>span:nth-child(2){flex-direction:column;gap:2px;min-width:0;display:flex}.profile-button b{font-size:12px}.profile-button small{text-overflow:ellipsis;color:var(--color-on-surface-variant);font-size:10px;overflow:hidden}.profile-button i{color:var(--color-outline);font-size:10px;font-style:normal}.avatar{background:var(--color-primary-container);width:36px;height:36px;color:var(--color-primary);border-radius:10px;place-items:center;font-size:13px;font-weight:800;display:grid}@media (prefers-reduced-motion:reduce){.app-shell{--sidebar-transition-duration:1ms}.sidebar-resizer:after,.sidebar-collapse-button{transition-duration:1ms}}.workspace{background:var(--color-background);min-width:0}.workspace-header{background:linear-gradient(105deg, var(--color-surface) 0%, var(--color-surface) 72%, var(--color-primary-container) 100%);justify-content:space-between;align-items:flex-end;gap:24px;min-height:150px;padding:34px clamp(28px,4vw,60px) 26px;display:flex}@supports (color:color-mix(in lab, red, red)){.workspace-header{background:linear-gradient(105deg, var(--color-surface) 0%, var(--color-surface) 72%, color-mix(in srgb, var(--color-primary-container) 48%, var(--color-surface)) 100%)}}.workspace-header{border-bottom:1px solid var(--card-border)}.eyebrow{color:var(--color-on-surface-variant);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.workspace-header h1{letter-spacing:-.04em;color:var(--color-on-background);margin:7px 0;font-size:clamp(27px,3vw,36px)}.workspace-header p{max-width:660px;color:var(--color-on-surface-variant);font-size:13px;line-height:1.55}.header-actions{align-items:center;gap:12px;padding-bottom:2px;display:flex}.header-actions .theme-control{flex:none}.header-actions .theme-control button{min-height:36px;padding:0 8px}.workspace-school-mark{align-items:center;gap:8px;padding-right:3px;display:flex}.workspace-school-mark>img{border:1px solid var(--color-bnbu-official);width:34px;height:34px;padding:4px}@supports (color:color-mix(in lab, red, red)){.workspace-school-mark>img{border:1px solid color-mix(in srgb, var(--color-bnbu-official) 18%, var(--card-border))}}.workspace-school-mark>img{background:#fff;border-radius:10px}.workspace-school-mark>span{white-space:nowrap;flex-direction:column;gap:3px;display:flex}.workspace-school-mark b{color:var(--color-bnbu-official);font-size:10px}.workspace-school-mark small{color:var(--color-on-surface-variant);letter-spacing:.05em;font-size:8px;font-weight:750}.semester-pill{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;flex-direction:column;gap:2px;min-width:210px;padding:9px 13px;display:flex}.semester-pill span{color:var(--color-on-surface-variant);font-size:9px}.semester-pill b{font-size:11px}.icon-button{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;place-items:center;width:42px;height:42px;font-size:21px;display:grid;position:relative}.icon-button span{background:var(--color-error);border:1px solid var(--color-surface);border-radius:50%;width:6px;height:6px;position:absolute;top:9px;right:10px}.page-content{padding:26px clamp(28px,4vw,60px) 60px}.stats-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{border:1px solid var(--card-border);background:var(--color-surface);border-radius:17px;min-height:145px;padding:21px;position:relative;overflow:hidden}.stat-mark{height:3px;position:absolute;top:0;left:0;right:0}.mark-blue{background:var(--color-primary);color:#fff}.mark-green{background:var(--color-success);color:#fff}.mark-orange{background:var(--color-secondary);color:#fff}.mark-red{background:var(--color-error);color:#fff}.mark-gray{background:var(--color-outline);color:#fff}.stat-card strong{letter-spacing:-.04em;margin:9px 0 8px;font-size:31px;display:block}.stat-card>span:last-child{color:var(--color-on-surface-variant);font-size:11px}.dashboard-grid{grid-template-columns:1.1fr .9fr;gap:15px;margin-top:15px;display:grid}.focus-card,.progress-card,.health-card,.quick-actions,.system-snapshot,.panel,.settings-panel,.side-note-card,.review-list{border:1px solid var(--card-border);background:var(--color-surface);border-radius:17px}.focus-card,.progress-card,.health-card,.quick-actions,.system-snapshot,.settings-panel,.side-note-card{padding:22px}.section-title,.panel-head,.review-list-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.section-title h2,.panel-head h2,.review-list-head h2{letter-spacing:-.02em;margin-top:5px;font-size:18px}.section-title p,.panel-head p,.review-list-head p{color:var(--color-on-surface-variant);margin-top:5px;font-size:11px;line-height:1.5}.focus-card .section-title{margin-bottom:12px}.focus-row{border:0;border-top:1px solid var(--card-border);text-align:left;background:0 0;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;width:100%;padding:15px 3px;display:grid}.focus-row:hover{background:var(--color-surface-low)}.focus-icon{border-radius:10px;place-items:center;width:36px;height:36px;font-size:12px;font-style:normal;font-weight:800;display:grid}.focus-row>span:nth-child(2){flex-direction:column;gap:4px;display:flex}.focus-row b{font-size:13px}.focus-row small{color:var(--color-on-surface-variant);font-size:11px}.focus-row>i{color:var(--color-primary);font-size:11px;font-style:normal;font-weight:700}.progress-card .section-title,.health-card .section-title{margin-bottom:20px}.progress-row{grid-template-columns:minmax(130px,1fr) minmax(110px,1.5fr) 34px;align-items:center;gap:12px;margin:17px 0;display:grid}.progress-copy{flex-direction:column;gap:3px;display:flex}.progress-copy span{font-size:11px;font-weight:700}.progress-copy small{color:var(--color-on-surface-variant);font-size:10px}.progress-track{background:var(--color-surface-variant);border-radius:999px;height:7px;overflow:hidden}.progress-track i{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.progress-row>b{text-align:right;font-size:11px}.progress-note{background:var(--color-surface-low);color:var(--color-on-surface-variant);text-align:center;border-radius:10px;margin-top:23px;padding:12px;font-size:10px}.quick-actions{margin-top:15px}.quick-actions>div:last-child{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px;display:grid}.quick-actions>div:last-child button{border:1px solid var(--card-border);background:var(--color-surface-low);text-align:left;border-radius:12px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px;display:grid}.quick-actions i{background:var(--color-primary-container);width:32px;height:32px;color:var(--color-primary);border-radius:9px;place-items:center;font-size:16px;font-style:normal;display:grid}.quick-actions span{flex-direction:column;gap:3px;display:flex}.quick-actions b{font-size:11px}.quick-actions small{color:var(--color-on-surface-variant);font-size:9px;line-height:1.4}.quick-actions em{color:var(--color-outline);font-style:normal}.toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;margin-bottom:16px;display:flex}.segmented{background:var(--color-surface-high);border-radius:11px;gap:3px;max-width:100%;padding:4px;display:flex;overflow-x:auto}.segmented button{white-space:nowrap;min-height:33px;color:var(--color-on-surface-variant);background:0 0;border:0;border-radius:8px;padding:0 13px;font-size:11px;font-weight:700}.segmented button.selected{background:var(--color-surface);color:var(--color-on-surface)}.segmented b{color:var(--color-outline);margin-left:4px}.course-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.course-card{border:1px solid var(--card-border);background:var(--color-surface);border-radius:17px;padding:20px}.course-card-top{justify-content:space-between;align-items:center;display:flex}.course-card-top>button{color:var(--color-outline);background:0 0;border:0}.course-card h3{margin:18px 0 5px;font-size:19px}.course-card>p{color:var(--color-on-surface-variant);font-size:11px}.course-card .progress-row{grid-template-columns:1fr;gap:7px;margin:23px 0 15px}.course-card .progress-row>b{display:none}.task-strip{background:var(--color-surface-low);border-radius:10px;flex-direction:column;gap:4px;margin:16px 0;padding:12px;display:flex}.task-strip span{color:var(--color-on-surface-variant);font-size:9px}.task-strip b{font-size:11px}.card-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.info-banner{border-radius:13px;align-items:center;gap:13px;min-height:66px;margin-top:16px;padding:13px 16px;display:flex}.info-banner>span{border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:grid}.info-banner>div{flex:1}.info-banner b{font-size:12px}.info-banner p{color:var(--color-on-surface-variant);margin-top:3px;font-size:10px;line-height:1.5}.blue-banner{background:var(--color-primary-container);color:var(--color-on-primary-container)}.blue-banner>span{background:var(--color-primary);color:#fff}.orange-banner{background:var(--color-secondary-container)}.orange-banner>span{background:var(--color-secondary);color:#fff}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--card-border);padding:20px 22px}.compact-actions{align-items:center;gap:8px;display:flex}.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{background:var(--color-surface-low);color:var(--color-on-surface-variant);letter-spacing:.05em;text-transform:uppercase;text-align:left;font-size:9px}th,td{border-bottom:1px solid var(--card-border);padding:13px 18px}td{vertical-align:middle;font-size:11px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--color-surface-low)}.person-cell{align-items:center;gap:10px;min-width:240px;display:flex}.person-cell>span{background:var(--color-primary-container);width:34px;height:34px;color:var(--color-primary);border-radius:9px;flex:none;place-items:center;font-weight:800;display:grid}.person-cell>div{flex-direction:column;gap:3px;display:flex}.person-cell b{font-size:11px}.person-cell small,.table-sub{color:var(--color-on-surface-variant);font-size:9px;display:block}.person-cell.compact{min-width:145px}.person-cell.compact>span{border-radius:8px;width:30px;height:30px}.row-actions{gap:5px;display:flex}.row-actions button{background:var(--color-surface-highest);border:0;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:700}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:320px;display:flex}.empty-state>span{background:var(--color-success-container);width:50px;height:50px;color:var(--color-success);border-radius:50%;place-items:center;font-weight:900;display:grid}.empty-state strong{margin-top:14px;font-size:15px}.empty-state p{color:var(--color-on-surface-variant);margin-top:5px;font-size:11px}.grade-total{color:var(--color-primary);font-size:15px}.review-list{padding:22px}.review-list-head{margin-bottom:13px}.review-card{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:22px;padding:17px 2px;display:flex}.review-main{align-items:center;gap:12px;display:flex}.review-avatar{background:var(--color-primary-container);width:39px;height:39px;color:var(--color-primary);border-radius:11px;place-items:center;font-size:13px;font-weight:800;display:grid}.review-title{align-items:center;gap:9px;display:flex}.review-title h3{font-size:13px}.review-main p{color:var(--color-on-surface-variant);margin:4px 0;font-size:10px}.document-link{color:var(--color-primary);background:0 0;border:0;padding:0;font-size:10px;font-weight:700}.review-meta{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.review-meta small{color:var(--color-outline);font-size:9px}.review-meta>div{gap:7px;display:flex}.admin-dashboard{grid-template-columns:1fr 1fr}.health-row{border-top:1px solid var(--card-border);grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.health-row b{font-size:11px}.health-row small{color:var(--color-on-surface-variant);font-size:10px}.status-dot,.pulse-dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.system-snapshot{margin-top:15px}.system-snapshot>div:last-child{background:var(--card-border);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:16px;display:grid;overflow:hidden}.system-snapshot>div:last-child span{background:var(--color-surface-low);flex-direction:column;gap:6px;padding:16px;display:flex}.system-snapshot small{color:var(--color-on-surface-variant);font-size:10px}.system-snapshot b{font-size:14px}.current-semester{background:var(--color-surface);border:1px solid var(--card-border);border-radius:17px;grid-template-columns:1fr minmax(220px,.7fr) auto;align-items:center;gap:28px;margin-bottom:15px;padding:24px;display:grid}.current-semester h2{margin:11px 0 6px;font-size:22px}.current-semester p{color:var(--color-on-surface-variant);font-size:10px}.semester-progress span{justify-content:space-between;margin-bottom:8px;display:flex}.semester-progress b,.semester-progress small{font-size:10px}.semester-progress small{color:var(--color-on-surface-variant)}.semester-list>div{border-bottom:1px solid var(--card-border);grid-template-columns:1fr auto;align-items:center;gap:15px;padding:16px 22px;display:grid}.semester-list>div:last-child{border-bottom:0}.semester-list span{grid-template-columns:80px 1fr;align-items:center;gap:2px 12px;display:grid}.semester-list b{font-size:12px}.semester-list small{color:var(--color-on-surface-variant);grid-column:2;font-size:9px}.semester-list button{color:var(--color-primary);background:0 0;border:0;font-size:10px;font-weight:700}.account-summary{grid-template-columns:repeat(3,1fr) auto;align-items:stretch;gap:12px;margin-bottom:15px;display:grid}.account-summary>div{border:1px solid var(--card-border);background:var(--color-surface);border-radius:13px;flex-direction:column;gap:4px;padding:16px 18px;display:flex}.account-summary span,.account-summary small{color:var(--color-on-surface-variant);font-size:9px}.account-summary b{font-size:22px}.filter-bar{border-bottom:1px solid var(--card-border);align-items:center;gap:8px;min-height:66px;padding:10px 15px;display:flex}.search-box{flex:1;min-width:230px;position:relative}.search-box span{color:var(--color-outline);position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-box input{height:40px;padding-left:34px}.filter-bar select{width:auto;min-width:120px;height:40px;padding:0 30px 0 12px}.settings-layout{grid-template-columns:230px 1fr;align-items:start;gap:15px;display:grid}.settings-nav{border:1px solid var(--card-border);background:var(--color-surface);border-radius:15px;gap:4px;padding:8px;display:grid}.settings-nav button{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:32px 1fr;align-items:center;gap:9px;padding:11px;display:grid}.settings-nav button.active{background:var(--color-primary-container);color:var(--color-primary)}.settings-nav i{background:var(--color-surface-highest);border-radius:8px;place-items:center;width:30px;height:30px;font-style:normal;display:grid}.settings-nav span{flex-direction:column;gap:3px;display:flex}.settings-nav b{font-size:11px}.settings-nav small{color:var(--color-on-surface-variant);font-size:9px}.settings-panel{overflow:hidden}.settings-panel>.panel-head{padding:22px 24px}.field-grid{grid-template-columns:1fr 1fr;gap:20px;padding:24px;display:grid}.field-grid label small{color:var(--color-on-surface-variant);font-size:9px}.unit-input{position:relative}.unit-input input{padding-right:60px}.unit-input b{color:var(--color-on-surface-variant);font-size:10px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.settings-panel>.info-banner{margin:0 24px 20px}.form-footer{border-top:1px solid var(--card-border);background:var(--color-surface-low);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.form-footer span{color:var(--color-on-surface-variant);font-size:9px}.system-grid{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:15px;display:grid}.current-mode{border-bottom:1px solid var(--card-border);grid-template-columns:12px 1fr auto;align-items:center;gap:14px;padding:22px 24px;display:grid}.current-mode small{color:var(--color-on-surface-variant);font-size:9px}.current-mode h2{margin:4px 0;font-size:20px}.current-mode p{color:var(--color-on-surface-variant);font-size:9px}.mode-options{gap:9px;padding:18px 24px;display:grid}.mode-options label{border:1px solid var(--card-border);cursor:pointer;border-radius:12px;grid-template-columns:16px 36px 1fr;align-items:center;gap:11px;padding:13px;display:grid}.mode-options label.selected{border-color:var(--color-primary);background:var(--color-primary-container)}@supports (color:color-mix(in lab, red, red)){.mode-options label.selected{background:color-mix(in srgb, var(--color-primary-container) 55%, transparent)}}.mode-options input{width:15px;height:15px}.mode-options i{border-radius:9px;place-items:center;width:34px;height:34px;font-size:12px;font-style:normal;font-weight:800;display:grid}.mode-options span{flex-direction:column;gap:3px;display:flex}.mode-options b{font-size:11px}.mode-options small{color:var(--color-on-surface-variant);font-size:9px;line-height:1.4}.reason-field{padding:0 24px 22px}.reason-field>span b{color:var(--color-error);font-size:9px}.side-note-card h3{margin:8px 0 18px;font-size:18px}.side-note-card ul{gap:14px;margin:0;padding:0;list-style:none;display:grid}.side-note-card li{color:var(--color-on-surface-variant);padding-left:17px;font-size:10px;line-height:1.55;position:relative}.side-note-card li:before{content:"•";color:var(--color-primary);font-size:16px;position:absolute;left:2px}.sync-status{color:var(--color-on-surface-variant);margin-left:auto;font-size:10px}.article-list article{border-bottom:1px solid var(--card-border);grid-template-columns:1fr auto 60px;align-items:center;gap:18px;padding:17px 20px;display:grid}.article-list article:last-child{border-bottom:0}.article-list h3{font-size:12px}.article-list p{color:var(--color-on-surface-variant);margin:4px 0;font-size:10px}.article-list small{color:var(--color-outline);font-size:9px}.audit-filter{flex-wrap:wrap}code{background:var(--color-surface-variant);color:var(--color-on-surface);border-radius:6px;padding:4px 6px;font-size:9px}.table-footer{border-top:1px solid var(--card-border);color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;padding:12px 18px;font-size:9px;display:flex}.table-footer button{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:7px;margin-left:5px;padding:6px 10px;font-size:9px}.toast{z-index:100;background:var(--color-on-surface);max-width:360px;color:var(--color-surface);border-radius:12px;padding:13px 16px;font-size:12px;font-weight:650;animation:.2s ease-out toast-in;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.modal-backdrop{z-index:80;background:var(--overlay-black);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--color-surface);border:1px solid var(--card-border);border-radius:20px;width:min(510px,100%);max-height:calc(100vh - 40px);overflow-y:auto}.modal-head{border-bottom:1px solid var(--card-border);justify-content:space-between;gap:20px;padding:24px 24px 18px;display:flex}.modal-head h2{margin:6px 0;font-size:21px}.modal-head p{color:var(--color-on-surface-variant);font-size:11px;line-height:1.5}.modal-head .icon-button{border:0;width:34px;height:34px;font-size:20px}.modal-fields{gap:17px;padding:22px 24px;display:grid}.modal-footer{border-top:1px solid var(--card-border);background:var(--color-surface-low);justify-content:flex-end;gap:8px;padding:16px 24px;display:flex}.invite-code{text-align:center;flex-direction:column;align-items:center;padding:25px;display:flex}.invite-code>span{letter-spacing:.06em;color:var(--color-primary);font-size:27px;font-weight:800}.invite-code>small{color:var(--color-on-surface-variant);font-size:9px}.theme-profile{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.theme-profile h3{margin:0;font-size:13px}.theme-profile p{color:var(--color-on-surface-variant);margin:4px 0 0;font-size:10px;line-height:1.5}.theme-profile .theme-control{flex:none}.profile-meta{background:var(--color-surface-low);border-radius:11px;justify-content:space-between;align-items:center;margin:0 24px 22px;padding:12px;font-size:11px;display:flex}.account-security-card{border:1px solid var(--color-primary);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;margin:0 24px 22px;padding:14px;display:grid}@supports (color:color-mix(in lab, red, red)){.account-security-card{border:1px solid color-mix(in srgb, var(--color-primary) 24%, var(--card-border))}}.account-security-card{background:linear-gradient(135deg, var(--color-primary-container) 0%, var(--color-surface) 72%);border-radius:13px}@supports (color:color-mix(in lab, red, red)){.account-security-card{background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-container) 68%, var(--color-surface)) 0%, var(--color-surface) 72%)}}.account-security-icon{background:var(--color-primary);width:36px;height:36px;color:var(--color-on-primary);border-radius:10px;place-items:center;display:grid}.account-security-eyebrow{color:var(--color-primary);letter-spacing:.06em;margin:0 0 2px;font-size:9px;font-weight:800}.account-security-card h3{margin:0;font-size:13px}.account-security-card p:not(.account-security-eyebrow){color:var(--color-on-surface-variant);margin:3px 0 0;font-size:10px;line-height:1.45}.account-security-action{border-color:var(--color-primary);min-height:32px;padding:0 11px}@supports (color:color-mix(in lab, red, red)){.account-security-action{border-color:color-mix(in srgb, var(--color-primary) 32%, var(--card-border))}}.account-security-action{color:var(--color-primary);white-space:nowrap}.account-modal-security{width:min(490px,100%)}.password-settings-form{gap:14px;padding:20px 24px 22px;display:grid}.password-settings-form label{gap:7px;display:grid}.password-settings-form label>span:first-child{font-size:12px;font-weight:750}.password-settings-form input{min-height:42px;font-size:12px}.password-settings-intro{background:var(--color-surface-low);color:var(--color-on-surface-variant);border-radius:10px;margin:0 0 2px;padding:10px 12px;font-size:10px;line-height:1.55}.password-settings-divider{background:var(--card-border);height:1px;margin:2px 0}.password-rule-list{color:var(--color-on-surface-variant);flex-wrap:wrap;gap:7px 14px;margin-top:-5px;font-size:10px;display:flex}.password-rule-list span{transition:color .16s}.password-rule-list .met,.password-match-hint.matched{color:var(--color-success)}.password-match-hint{color:var(--color-error);margin:-6px 0 0;font-size:10px}.password-change-complete{text-align:center;justify-items:center;gap:10px;padding:34px 28px 32px;display:grid}.password-change-complete>span{background:var(--color-primary-container);width:50px;height:50px;color:var(--color-primary);border-radius:50%;place-items:center;display:grid}.password-change-complete h3{margin:2px 0 0;font-size:17px}.password-change-complete p{max-width:335px;color:var(--color-on-surface-variant);margin:0;font-size:11px;line-height:1.6}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.course-grid,.quick-actions>div:last-child{grid-template-columns:1fr 1fr}.account-summary{grid-template-columns:repeat(3,1fr)}.account-summary>button{grid-column:1/-1}}@media (width<=860px){.app-shell{display:block}.sidebar-resizer{display:none}.sidebar{border-right:0;border-bottom:1px solid var(--card-border);height:auto;padding:12px 16px;position:sticky}.sidebar .brand{padding:0;display:flex}.sidebar .brand>span:last-child{display:none}.app-shell-admin .sidebar .brand.sports-brand{align-self:flex-start;width:auto}.app-shell-admin .sidebar .sports-brand-emblem{width:38px;height:38px}.workspace-label{margin:0 0 9px}.sidebar nav{gap:6px;padding-bottom:1px;display:flex;overflow-x:auto}.sidebar nav button{flex:none;grid-template-columns:24px auto auto;width:auto;min-height:39px;padding:0 10px}.sidebar nav .sidebar-nav-icon{width:22px}.sidebar-bottom{display:none}.workspace-header{min-height:138px;padding-top:26px}.dashboard-grid,.admin-dashboard,.system-grid,.course-grid,.settings-layout{grid-template-columns:1fr}.settings-nav{grid-template-columns:repeat(3,1fr)}.current-semester{grid-template-columns:1fr;gap:18px}}@media (width<=620px){.login-topbar{align-items:flex-start;gap:12px;min-height:64px;padding:14px 16px}.login-wordmark{letter-spacing:0;flex:auto;max-width:calc(100vw - 224px);font-size:11px}.topbar-controls{gap:4px}.login-topbar .theme-control{gap:1px;padding:2px}.login-topbar .theme-control button{width:28px;min-width:28px;min-height:32px;padding:0;font-size:0}.login-topbar .theme-control button:first-letter{font-size:10px}.login-topbar .language-toggle{gap:1px;padding:2px}.login-topbar .language-toggle button{letter-spacing:0;width:44px;min-height:32px;padding:0;font-size:9px}.login-layout{width:calc(100% - 32px);padding:12px 0 20px}.login-card{border-radius:18px;padding:28px 24px}.login-brand{margin-bottom:26px}.login-logo-surface{border-radius:12px;width:92px;height:92px;padding:3px}.login-logo{width:86px;height:86px}.login-platform-name{margin-top:13px;font-size:20px}.login-school-name{font-size:12px}.login-card-head h1{font-size:24px}.login-card-head p{margin-bottom:22px;font-size:13px}.recovery-head{margin-bottom:20px}.recovery-head h1{font-size:24px}.recovery-form>p,.recovery-assistance>p,.recovery-complete>p{font-size:13px}.workspace-school-mark>span{display:none}.workspace-header{flex-direction:column;align-items:flex-start;padding:24px 18px 18px}.header-actions{flex-wrap:wrap;width:100%}.semester-pill{flex:1;min-width:0}.header-actions .theme-control{order:3}.header-actions .theme-control button{min-height:34px;padding:0 7px;font-size:10px}.theme-profile{flex-direction:column;align-items:flex-start}.page-content{padding:18px 14px 46px}.stats-grid{grid-template-columns:1fr 1fr;gap:9px}.stat-card{min-height:125px;padding:16px}.stat-card strong{font-size:25px}.quick-actions>div:last-child,.system-snapshot>div:last-child,.field-grid,.account-summary{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar>.primary-button{width:100%}.panel-head,.review-list-head{flex-direction:column}.review-card{flex-direction:column;align-items:flex-start}.review-meta{align-items:flex-start;width:100%}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar select{width:100%}.search-box{min-width:0}.settings-nav{grid-template-columns:1fr}.settings-nav button:not(.active){display:none}.form-footer{flex-direction:column;align-items:stretch}.form-footer button{width:100%}.system-snapshot>div:last-child{gap:1px}.current-semester{padding:20px}}@media (prefers-reduced-motion:reduce){:root.is-theme-transitioning,:root.is-theme-transitioning body,:root.is-theme-transitioning body *,:root.is-theme-transitioning body :before,:root.is-theme-transitioning body :after{transition-duration:1ms}::view-transition-old(root){animation-duration:1ms}::view-transition-new(root){animation-duration:1ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.app-shell-course-management{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.app-shell-course-management .sidebar{background-image:none;border-top-width:3px;padding:16px 12px 14px}.app-shell-course-management .sidebar .brand{padding:0 6px}.app-shell-course-management .workspace-label{margin:20px 6px 8px}.app-shell-course-management .sidebar nav{gap:3px}.app-shell-course-management .sidebar nav button{border-radius:9px;grid-template-columns:25px 1fr auto;gap:7px;min-height:40px;padding:0 9px;font-size:12px}.app-shell-course-management .sidebar nav .sidebar-nav-icon{width:22px;height:22px}.workspace-header-course{background:var(--color-surface);align-items:center;min-height:92px;padding:16px clamp(24px,3vw,48px)}.workspace-header-course .eyebrow,.workspace-header-course>div>p,.workspace-header-course .workspace-school-mark,.workspace-header-course .icon-button{display:none}.workspace-header-course h1{margin:0;font-size:clamp(24px,2.2vw,30px);line-height:1.1}.workspace-header-course .header-actions{padding:0}.workspace-header-course .semester-pill{border-radius:10px;min-width:184px;padding:7px 11px}.workspace-header-review{background:var(--color-surface);align-items:center;min-height:88px;padding:16px clamp(24px,3vw,48px)}.workspace-header-review .eyebrow,.workspace-header-review>div>p,.workspace-header-review .workspace-school-mark{display:none}.workspace-header-review h1{margin:0;font-size:clamp(24px,2.2vw,30px);line-height:1.1}.workspace-header-review .header-actions{padding:0}.workspace-header-review .semester-pill{border-radius:10px;min-width:184px;padding:7px 11px}.course-header-metrics{align-items:center;gap:0;margin-top:8px;display:flex}.course-header-metrics>span{border-left:1px solid var(--card-border);align-items:baseline;gap:5px;padding:0 10px;display:inline-flex}.course-header-metrics>span:first-child{border-left:0;padding-left:0}.course-header-metrics b{letter-spacing:-.01em;font-size:12px}.course-header-metrics small{color:var(--color-on-surface-variant);font-size:10px;font-weight:650}.course-header-metrics .course-header-pending b{color:var(--color-secondary)}.app-shell-course-management .page-content{padding:16px clamp(24px,3vw,48px) 40px}.course-toolbar{pointer-events:none;justify-content:flex-end;min-height:40px;margin:-56px 0 16px}.course-toolbar .primary-button{pointer-events:auto;min-height:40px;box-shadow:0 4px 12px var(--color-primary);border-radius:10px;padding:0 14px}@supports (color:color-mix(in lab, red, red)){.course-toolbar .primary-button{box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 22%, transparent)}}.teacher-course-grid{grid-template-columns:repeat(3,minmax(260px,1fr));gap:16px}.teacher-course-grid .course-card{border-radius:14px;min-height:268px;padding:16px;transition:transform .2s,box-shadow .2s,border-color .2s;box-shadow:0 1px 2px #1c1c1e08}.teacher-course-grid .course-card:hover{border-color:var(--color-primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.teacher-course-grid .course-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, var(--card-border))}}.teacher-course-grid .course-card:hover{box-shadow:0 12px 28px #1c1c1e1a}.course-card-top{align-items:flex-start;gap:8px}.course-code{color:var(--color-on-surface-variant);letter-spacing:.025em;font-size:11px;font-weight:750}.course-status-row{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.course-status-row .badge{min-height:21px;padding:2px 7px;font-size:9px}.course-card-title{margin-top:14px}.course-card h3{letter-spacing:-.035em;margin:0;font-size:20px;line-height:1.2}.course-card-title p{color:var(--color-on-surface-variant);margin-top:5px;font-size:10px}.course-card-metrics{border:1px solid var(--card-border);background:var(--card-border);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:14px;display:grid;overflow:hidden}.course-card-metrics>span{background:var(--color-surface-low);gap:3px;padding:8px 9px;display:grid}.course-card-metrics small{color:var(--color-on-surface-variant);font-size:9px;font-weight:650}.course-card-metrics b{letter-spacing:-.02em;font-size:13px}.metric-warning{color:var(--color-secondary)}.metric-complete{color:var(--color-success)}.course-achievement{grid-template-columns:1fr auto;gap:6px 10px;margin-top:14px;display:grid}.course-achievement>div:first-child{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.course-achievement span{color:var(--color-on-surface-variant);font-size:10px}.course-achievement b{font-size:10px}.course-achievement strong{color:var(--color-primary);letter-spacing:-.03em;font-size:14px}.course-achievement .progress-track{grid-column:1/-1;height:6px}.course-achievement.is-complete strong{color:var(--color-success)}.course-achievement.is-complete .progress-track i{background:var(--color-success)}.course-achievement.is-attention strong{color:var(--color-secondary)}.course-achievement.is-attention .progress-track i{background:var(--color-secondary)}.course-achievement.is-empty strong{color:var(--color-on-surface-variant)}.task-strip{border-radius:9px;flex-direction:row;align-items:center;gap:8px;min-height:35px;margin:12px 0;padding:8px 10px}.task-strip span{flex:none;font-size:9px}.task-strip b{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.card-actions{gap:8px}.card-actions .secondary-button,.card-actions .primary-button{border-radius:9px;min-height:36px;padding:0 11px;font-size:11px}.card-actions .primary-button{margin-left:auto}.app-shell-course-management .primary-button,.app-shell-course-management .secondary-button,.app-shell-course-management .danger-button,.app-shell-course-management .text-button,.app-shell-course-management .sidebar nav button,.app-shell-course-management .profile-button{transition:transform .18s,background-color .18s,box-shadow .18s,filter .18s}.app-shell-course-management .primary-button:hover{box-shadow:0 5px 14px var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.app-shell-course-management .primary-button:hover{box-shadow:0 5px 14px color-mix(in srgb, var(--color-primary) 25%, transparent)}}.app-shell-course-management .primary-button:active,.app-shell-course-management .secondary-button:active,.app-shell-course-management .text-button:active,.app-shell-course-management .sidebar nav button:active{transform:scale(.98)}@media (width<=1320px){.teacher-course-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}}@media (width<=760px){.workspace-header-course{align-items:flex-start;min-height:auto;padding:16px 18px}.workspace-header-course .header-actions{width:auto}.course-toolbar{margin:0 0 12px}.teacher-course-grid{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@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}.teacher-course-grid{align-items:stretch}.row-review-action{border:1px solid var(--card-border);background:var(--color-surface-low);min-height:30px;color:var(--color-primary);border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:10px;font-weight:750;transition:background-color .16s,border-color .16s,transform .12s,box-shadow .16s;display:inline-flex}.row-review-action:hover,.row-review-action:focus-visible{border-color:color-mix(in srgb, var(--color-primary) 40%, var(--card-border));background:var(--color-primary-container);box-shadow:0 3px 9px color-mix(in srgb, var(--color-primary) 13%, transparent)}.row-review-action:active,.primary-button:active,.secondary-button:active{transform:translateY(1px)scale(.985)}.primary-button,.secondary-button,.danger-button{transition:filter .16s,transform .12s,box-shadow .16s}.primary-button:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 24%, transparent), 0 4px 12px color-mix(in srgb, var(--color-primary) 20%, transparent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.teacher-course-grid .course-card{flex-direction:column;display:flex}.teacher-course-grid .card-actions{margin-top:auto}.teacher-panel-head{flex-wrap:wrap;align-items:center}.teacher-filter-row{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);align-items:flex-end;gap:12px;padding:14px 20px;display:flex}.teacher-filter-row label,.teacher-panel-head>.teacher-field{gap:5px;display:grid}.teacher-filter-row label>span,.teacher-panel-head>.teacher-field>span{color:var(--color-on-surface-variant);font-size:10px;font-weight:700}.teacher-filter-row select,.teacher-panel-head>.teacher-field select{width:auto;min-width:220px;height:40px;padding:7px 36px 7px 12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.roster-dashboard{gap:10px;margin-bottom:14px;display:grid}.roster-dashboard-heading{align-items:baseline;gap:10px;display:flex}.roster-dashboard-heading .eyebrow{color:var(--color-primary)}.roster-dashboard-heading p{color:var(--color-on-surface-variant);font-size:11px}.roster-stat-grid article{border:1px solid var(--card-border);background:var(--color-surface);border-radius:13px;gap:3px;min-height:94px;padding:14px 16px;display:grid;box-shadow:0 1px 2px #1c1c1e06}.roster-stat-grid span,.roster-stat-grid small{color:var(--color-on-surface-variant);font-size:10px}.roster-stat-grid strong{color:var(--color-on-surface);letter-spacing:-.045em;font-variant-numeric:tabular-nums;align-self:end;font-size:24px;line-height:1}.roster-stat-grid .needs-attention strong{color:var(--color-secondary)}.roster-panel{border-radius:14px}.roster-panel-head{min-height:68px;padding:14px 18px}.roster-panel-head h2{margin-top:0;font-size:16px}.roster-panel-head p{margin-top:3px}.roster-toolbar{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);grid-template-columns:minmax(210px,1.55fr) repeat(3,minmax(118px,.72fr)) auto;align-items:end;gap:9px;padding:11px 18px;display:grid}.roster-toolbar>label{gap:4px;min-width:0;display:grid}.roster-toolbar>label:not(.roster-search)>span{color:var(--color-on-surface-variant);font-size:9px;font-weight:700}.roster-toolbar select,.roster-search input{border-radius:9px;min-width:0;height:36px;padding:6px 28px 6px 10px;font-size:11px}.roster-search{position:relative}.roster-search i{z-index:1;color:var(--color-outline);font-size:17px;font-style:normal;line-height:1;position:absolute;top:10px;left:11px}.roster-search input{background:var(--color-surface);padding-left:31px}.roster-primary-action{min-height:36px;box-shadow:0 3px 10px color-mix(in srgb, var(--color-primary) 20%, transparent);white-space:nowrap;border-radius:9px;align-self:end;padding:0 13px}.roster-result-bar{border-bottom:1px solid var(--card-border);min-height:34px;color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;display:flex}.attention-note{color:var(--color-secondary);font-weight:700}.roster-table{min-width:980px}.roster-table th{padding:9px 16px;font-size:9px}.roster-table td{padding:10px 16px;font-size:11px}.roster-table th:nth-child(2),.roster-table th:nth-child(3),.roster-table th:nth-child(4){width:18%}.roster-table th:nth-child(6){width:13%}.roster-table tbody tr{transition:background-color .16s,box-shadow .16s}.roster-table tbody tr:hover td{background:color-mix(in srgb, var(--color-primary-container) 38%, var(--color-surface))}.roster-table tbody tr:focus td{background:color-mix(in srgb, var(--color-primary-container) 58%, var(--color-surface))}.roster-table tbody tr:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 36%, transparent);outline-offset:-2px}.roster-table .person-cell{gap:8px;min-width:158px}.roster-table .person-cell>span{border-radius:8px;width:30px;height:30px}.roster-table .person-cell b{font-size:12px;font-weight:700}.roster-email{text-overflow:ellipsis;white-space:nowrap;max-width:176px;overflow:hidden}.roster-course-name{max-width:190px;font-size:11px;font-weight:700;line-height:1.35;display:block}.roster-progress{gap:5px;min-width:124px;display:grid}.roster-progress>div:first-child{justify-content:space-between;align-items:baseline;gap:7px;display:flex}.roster-progress b{font-variant-numeric:tabular-nums;font-size:11px}.roster-progress>div:first-child span{color:var(--color-on-surface-variant);font-variant-numeric:tabular-nums;font-size:10px}.roster-progress .progress-track{background:var(--color-surface-highest);height:5px}.roster-progress small{color:var(--color-on-surface-variant);font-size:9px}.roster-status{justify-items:start;gap:4px;display:grid}.roster-status .badge{min-height:21px;padding:2px 7px}.roster-status small{color:var(--color-on-surface-variant);font-size:9px}.roster-row-actions{gap:2px}.roster-row-actions button,.roster-row-actions button:first-child{min-height:30px;color:var(--color-on-surface-variant);background:0 0;border-radius:7px;padding:0 7px;font-size:10px;font-weight:650}.roster-row-actions button:hover{background:var(--color-surface-highest);color:var(--color-on-surface)}.roster-row-actions .danger-link:hover{background:var(--color-error-container);color:var(--color-error)!important}.roster-empty{color:var(--color-on-surface-variant);text-align:center;padding:44px!important}.workspace-header.workspace-header-roster{background:var(--color-surface);align-items:center;min-height:88px;padding:15px clamp(24px,3vw,48px)}.workspace-header-roster .eyebrow,.workspace-header-roster>div>p,.workspace-header-roster .workspace-school-mark,.workspace-header-roster .language-toggle,.workspace-header-roster .icon-button{display:none}.workspace-header-roster h1{margin:0;font-size:clamp(24px,2.2vw,30px);line-height:1.1}.workspace-header-roster .header-actions{padding:0}.workspace-header-roster .semester-pill{border-radius:10px;min-width:184px;padding:7px 11px}.check-cell{text-align:center;width:48px}.check-cell input,.check-option input{width:17px;height:17px}.small-button{min-height:34px;padding:0 12px;font-size:11px}.danger-link{color:var(--color-error)!important}button:disabled{cursor:not-allowed;opacity:.48}.checkin-panel{margin-top:16px}.checkin-student-table th:first-child{min-width:170px}.checkin-student-table th:nth-child(2){min-width:220px}.checkin-student-table th:nth-child(3),.checkin-student-table th:nth-child(4),.checkin-student-table th:nth-child(5){min-width:132px}.checkin-email{color:var(--color-on-surface-variant);font-size:10px}.hours-remaining{color:var(--color-secondary)}.hours-complete{color:var(--color-success)}.confidence-value{color:var(--color-primary)}.confidence-empty{color:var(--color-on-surface-variant);font-size:10px}.checkin-detail-top{gap:12px;margin-bottom:16px;display:grid}.back-to-checkin-list{justify-self:start}.checkin-student-summary{border:1px solid var(--card-border);background:var(--color-surface);border-radius:14px;justify-content:space-between;align-items:center;gap:22px;padding:16px 20px;display:flex}.checkin-student-summary>div:first-child{gap:6px;display:grid}.checkin-student-summary>div:first-child>p{color:var(--color-on-surface-variant);padding-left:40px;font-size:10px}.checkin-summary-metrics{border:1px solid var(--card-border);background:var(--card-border);border-radius:10px;grid-template-columns:repeat(3,minmax(112px,1fr));gap:1px;display:grid;overflow:hidden}.checkin-summary-metrics>span{background:var(--color-surface-low);gap:4px;padding:10px 12px;display:grid}.checkin-summary-metrics small{color:var(--color-on-surface-variant);font-size:9px}.checkin-summary-metrics b{color:var(--color-on-surface);font-size:13px}.checkin-detail-panel{margin-top:0}.checkin-record-table th{min-width:130px}.checkin-record-table th:nth-child(5){min-width:180px}.checkin-record-table th:nth-child(6){min-width:220px}.record-proof-links{flex-wrap:wrap;gap:5px;display:flex}.record-proof-links button{background:var(--color-primary-container);max-width:160px;color:var(--color-on-primary-container);text-overflow:ellipsis;white-space:nowrap;border:0;border-radius:7px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;font-weight:700;display:inline-flex;overflow:hidden}.record-proof-links button>span{background:color-mix(in srgb, var(--color-primary) 18%, transparent);border-radius:4px;flex:none;place-items:center;width:15px;height:15px;font-size:8px;display:grid}.checkin-description{color:var(--color-on-surface);text-align:left;background:0 0;border:0;gap:5px;padding:0;font-size:10px;line-height:1.5;display:grid}.checkin-description>span{color:var(--color-primary);font-size:9px;font-weight:700}.checkin-album{gap:24px;padding:22px 20px 24px;display:grid}.checkin-album-month{gap:10px;display:grid}.checkin-album-month h3{letter-spacing:-.02em;padding:0 2px;font-size:14px}.checkin-album-record{grid-template-columns:54px minmax(220px,1fr) minmax(130px,.32fr);align-items:stretch;gap:10px;display:grid}.checkin-album-date{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;min-height:108px;padding-left:2px;display:flex}.checkin-album-date b{font-size:12px}.checkin-album-date small{color:var(--color-on-surface-variant);font-size:9px}.proof-cluster{border:1px solid var(--card-border);background:var(--card-border);border-radius:12px;grid-auto-columns:minmax(136px,1fr);grid-auto-flow:column;gap:2px;min-height:108px;display:grid;overflow-x:auto}.proof-thumbnail{color:#fff;text-align:left;background:linear-gradient(145deg,#b9d3e9,#2f6e9d);border:0;min-width:136px;min-height:108px;padding:0;position:relative;overflow:hidden}.proof-thumbnail:before{content:"";border:10px solid #ffffff3d;border-radius:50%;width:80%;height:72%;position:absolute;bottom:-36%;right:-18%}.proof-thumbnail-1{background:linear-gradient(145deg,#d8c39b,#755945)}.proof-thumbnail-2{background:linear-gradient(145deg,#b9d4bd,#2b765b)}.proof-thumbnail-3{background:linear-gradient(145deg,#d1bfd9,#69527f)}.proof-thumbnail-4{background:linear-gradient(145deg,#e0b7a5,#9b563f)}.proof-thumbnail-empty{background:var(--color-surface-high);color:var(--color-on-surface-variant)}.proof-thumbnail>span{z-index:1;color:#fff;background:#00000047;border-radius:8px;place-items:center;width:26px;height:26px;font-size:10px;font-weight:800;display:grid;position:absolute;top:9px;left:9px}.proof-thumbnail-empty>span{background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.proof-thumbnail>small{z-index:1;color:#fff;text-overflow:ellipsis;text-shadow:0 1px 3px #0000005c;white-space:nowrap;font-size:9px;font-weight:700;position:absolute;bottom:8px;left:9px;right:9px;overflow:hidden}.proof-thumbnail-empty>small{color:var(--color-on-surface-variant);text-shadow:none}.album-record-summary{border:1px solid var(--card-border);background:var(--color-surface-low);text-align:left;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:5px;min-width:0;padding:12px;display:flex}.album-record-summary:hover,.proof-thumbnail:hover{filter:brightness(.96)}.album-record-summary b{font-size:11px}.album-record-summary span{color:var(--color-on-surface-variant);font-size:9px;line-height:1.45}.record-filter-grid{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;padding:16px 20px;display:grid}.teacher-field{align-content:start;gap:7px;display:grid}.teacher-field>span{color:var(--color-on-surface);font-size:11px;font-weight:700}.teacher-field>span b{color:var(--color-error)}.teacher-field>small{color:var(--color-on-surface-variant);font-size:9px;line-height:1.45}.record-filter-grid input,.record-filter-grid select{height:40px;padding-top:7px;padding-bottom:7px}.clear-filter{align-self:end;min-height:40px}.teacher-dialog{width:min(620px,100%)}.teacher-dialog-wide{width:min(900px,100%)}.teacher-dialog-body{gap:18px;padding:22px 24px;display:grid}.form-grid{gap:16px;display:grid}.form-grid.two-columns{grid-template-columns:1fr 1fr}.form-grid.two-columns>.teacher-field:last-child:nth-child(odd){grid-column:1/-1}.teacher-form-error{background:var(--color-error-container);border-radius:10px;padding:10px 12px}.course-detail-summary{border:1px solid var(--card-border);background:var(--card-border);border-radius:12px;grid-template-columns:repeat(4,1fr);gap:1px;display:grid;overflow:hidden}.course-detail-summary>span{background:var(--color-surface-low);flex-direction:column;justify-content:center;gap:5px;min-height:74px;padding:12px;display:flex}.course-detail-summary small{color:var(--color-on-surface-variant);font-size:9px}.course-detail-summary b{font-size:12px}.dialog-section-head{border-top:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:16px;padding-top:4px;display:flex}.dialog-section-head h3{margin-top:14px;font-size:15px}.dialog-section-head p{color:var(--color-on-surface-variant);margin-top:4px;font-size:10px}.task-list{gap:8px;display:grid}.task-list article{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;padding:13px 14px;display:flex}.task-list article>div:first-child{gap:4px;display:grid}.task-list article>div:last-child{align-items:center;gap:12px;display:flex}.task-list article b{font-size:12px}.task-list article small,.task-list article p{color:var(--color-on-surface-variant);font-size:9px;line-height:1.45}.detail-card{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;gap:8px;padding:15px;display:grid}.detail-card>p{color:var(--color-on-surface-variant);font-size:10px;line-height:1.5}.inline-warning{background:var(--color-secondary-container);color:var(--color-on-surface);border-radius:9px;padding:10px 12px;font-size:10px;line-height:1.5}.record-detail-grid{grid-template-columns:1.15fr .85fr;gap:14px;display:grid}.detail-card>dl:not(.student-info-fields){border:1px solid var(--card-border);background:var(--card-border);border-radius:10px;gap:1px;margin:4px 0 0;display:grid;overflow:hidden}.detail-card>dl:not(.student-info-fields)>div{background:var(--color-surface);grid-template-columns:105px 1fr;gap:12px;padding:9px 11px;display:grid}.detail-card>dl:not(.student-info-fields) dt{color:var(--color-on-surface-variant);font-size:9px}.detail-card>dl:not(.student-info-fields) dd{margin:0;font-size:10px;line-height:1.45}.checkin-evidence-reviewer{align-content:start;gap:10px;min-width:0;display:grid}.course-roster-reconciliation-button{border:1px solid color-mix(in srgb, var(--color-primary) 28%, var(--card-border));background:var(--color-primary-container);min-height:38px;color:var(--color-on-primary-container);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.course-roster-reconciliation-button:hover{border-color:var(--color-primary);transform:translateY(-1px)}.roster-reconciliation-page{gap:18px;width:100%;max-width:1680px;margin:0 auto;display:grid}.roster-page-header{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.roster-page-header h1{color:var(--color-on-background);letter-spacing:-.035em;margin:5px 0 3px;font-size:clamp(28px,3vw,38px);line-height:1.1}.roster-page-header p{color:var(--color-on-surface-variant);margin:0}.roster-back-button{align-items:center;gap:6px;margin:0 0 12px;padding:0;display:inline-flex}.roster-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.roster-header-actions button,.roster-file-picker button,.roster-empty-import button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.is-spinning{animation:.9s linear infinite roster-spin}@keyframes roster-spin{to{transform:rotate(360deg)}}.roster-version-strip{border:1px solid var(--card-border);background:var(--card-border);border-radius:14px;grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(150px,1fr));gap:1px;display:grid;overflow:hidden}.roster-version-strip>div{background:var(--color-surface);gap:4px;min-width:0;padding:13px 16px;display:grid}.roster-version-strip span,.roster-version-strip time{color:var(--color-on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.roster-version-strip b{text-overflow:ellipsis;font-size:13px;overflow:hidden}.roster-stat-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.roster-stat-card{border:1px solid var(--card-border);background:var(--color-surface);min-height:104px;color:var(--color-on-surface);text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.roster-stat-card:hover{border-color:var(--color-outline);transform:translateY(-1px)}.roster-stat-card.is-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 14%, transparent)}.roster-stat-card span{color:var(--color-on-surface-variant);font-size:12px;line-height:1.35}.roster-stat-card b{letter-spacing:-.04em;font-size:29px;line-height:1}.roster-stat-card.is-success b{color:var(--color-success)}.roster-stat-card.is-warning b{color:#a86100}.roster-stat-card.is-danger b{color:var(--color-error)}.roster-stat-card.is-neutral b{color:var(--color-primary)}.roster-inline-error{border:1px solid color-mix(in srgb, var(--color-error) 35%, transparent);background:var(--color-error-container);color:var(--color-on-surface);border-radius:12px;align-items:center;gap:9px;padding:11px 14px;display:flex}.roster-inline-error span{flex:1}.roster-inline-error button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.roster-results-card{border:1px solid var(--card-border);background:var(--color-surface);border-radius:16px;overflow:hidden}.roster-results-heading{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.roster-results-heading h2{margin:0 0 3px;font-size:18px}.roster-results-heading p{color:var(--color-on-surface-variant);margin:0;font-size:13px}.roster-search{min-width:min(270px,100%)}.roster-filter-select{min-width:158px}.roster-batch-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.roster-batch-actions span{color:var(--color-on-surface-variant);font-size:12px}.roster-batch-actions button{border:1px solid var(--color-outline-variant);background:var(--color-surface);min-height:32px;color:var(--color-on-surface);font:inherit;cursor:pointer;border-radius:8px;padding:0 10px;font-size:12px;font-weight:700}.roster-reconciliation-table th{white-space:nowrap}.roster-reconciliation-table td{vertical-align:middle;max-width:220px}.roster-reconciliation-table tr.is-matched-row{opacity:.72}.roster-reconciliation-table tr.is-matched-row:hover{opacity:1}.roster-check-column{width:42px}.roster-reconciliation-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary)}.roster-student-number{font-variant-numeric:tabular-nums;white-space:nowrap}.roster-student-link,.roster-reason-link{color:var(--color-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.roster-student-link{white-space:nowrap;font-weight:750}.roster-reason-link{max-width:220px;color:var(--color-on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.roster-identity-summary{gap:2px;display:grid}.roster-identity-summary b{font-size:13px}.roster-identity-summary small{color:var(--color-on-surface-variant);white-space:nowrap}.roster-status,.resolution-status{white-space:nowrap;border-radius:999px;width:max-content;max-width:100%;padding:4px 8px;font-size:11px;font-weight:750}.roster-status.is-success{background:var(--color-success-container);color:var(--color-success)}.roster-status.is-warning{background:var(--color-secondary-container);color:#8a5200}.roster-status.is-danger{background:var(--color-error-container);color:var(--color-error)}.roster-status.is-neutral{background:var(--color-primary-container);color:var(--color-on-primary-container)}.resolution-status{background:var(--color-surface-variant);color:var(--color-on-surface-variant)}.resolution-status.is-confirmed{background:var(--color-primary-container);color:var(--color-on-primary-container)}.resolution-status.is-resolved{background:var(--color-success-container);color:var(--color-success)}.roster-pagination{border-top:1px solid var(--card-border);color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;padding:13px 18px;font-size:12px;display:flex}.roster-pagination div{gap:7px;display:flex}.roster-pagination button,.roster-future-actions button{border:1px solid var(--color-outline-variant);background:var(--color-surface);min-height:32px;color:var(--color-on-surface);font:inherit;border-radius:8px;padding:0 11px;font-weight:650}.roster-pagination button:not(:disabled){cursor:pointer}.roster-pagination button:disabled,.roster-future-actions button:disabled{opacity:.48;cursor:not-allowed}.roster-table-empty,.roster-loading,.roster-empty-import{border:1px solid var(--card-border);background:var(--color-surface);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:340px;padding:48px 24px;display:flex}.roster-table-empty{border:0;border-radius:0;min-height:270px}.roster-loading>svg,.roster-table-empty>svg,.roster-empty-import>span{width:50px;height:50px;color:var(--color-primary)}.roster-empty-import>span{background:var(--color-primary-container);border-radius:16px;place-items:center;display:grid}.roster-empty-import>span svg{width:25px}.roster-loading.is-error>svg{color:var(--color-error)}.roster-loading h2,.roster-empty-import h2,.roster-table-empty h3{margin:0}.roster-loading p,.roster-empty-import p,.roster-table-empty p{max-width:600px;color:var(--color-on-surface-variant);margin:0}.roster-empty-import small{max-width:620px;color:var(--color-on-surface-variant)}.roster-drawer-backdrop,.roster-import-backdrop{z-index:4100}.roster-detail-drawer{width:min(720px,94vw)}.roster-detail-drawer .teacher-dialog-body{gap:16px;display:grid}.roster-decision-card,.roster-difference-list,.roster-operation-log,.roster-future-actions{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:13px;padding:15px}.roster-decision-card h3,.roster-difference-list h3,.roster-operation-log h3,.roster-future-actions h3{margin:10px 0 6px;font-size:14px}.roster-decision-card p,.roster-difference-list p,.roster-future-actions p{color:var(--color-on-surface-variant);margin:0;font-size:13px;line-height:1.55}.roster-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.roster-comparison-grid>section{border:1px solid var(--card-border);background:var(--color-surface);border-radius:13px;padding:15px}.roster-comparison-grid h3{margin:0 0 10px;font-size:14px}.roster-comparison-grid dl{gap:7px;margin:0;display:grid}.roster-comparison-grid dl div{grid-template-columns:92px minmax(0,1fr);gap:8px;font-size:12px;display:grid}.roster-comparison-grid dt{color:var(--color-on-surface-variant)}.roster-comparison-grid dd{overflow-wrap:anywhere;margin:0}.roster-difference-list>div{border-top:1px solid var(--card-border);grid-template-columns:70px repeat(2,minmax(0,1fr));gap:9px;padding:9px 0;font-size:12px;display:grid}.roster-difference-list>div span{color:var(--color-on-surface-variant)}.roster-note-field{gap:7px;display:grid}.roster-note-field>span{font-size:13px;font-weight:750}.roster-note-field textarea{resize:vertical;width:100%}.roster-note-field small{color:var(--color-on-surface-variant);text-align:right}.roster-operation-log>div{border-top:1px solid var(--card-border);grid-template-columns:auto auto 1fr;align-items:baseline;gap:8px;padding:9px 0;font-size:12px;display:grid}.roster-operation-log time{color:var(--color-on-surface-variant);justify-self:end}.roster-operation-log p{color:var(--color-on-surface-variant);grid-column:1/-1;margin:0}.roster-future-actions div{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.roster-import-dialog{width:min(1040px,94vw)}.roster-import-dialog .teacher-dialog-body{gap:18px;display:grid}.roster-import-steps{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.roster-import-steps li{background:var(--color-surface-variant);color:var(--color-on-surface-variant);border-radius:10px;padding:9px 11px;font-size:12px;font-weight:700}.roster-import-steps li.active{background:var(--color-primary-container);color:var(--color-on-primary-container)}.roster-file-picker{border:1.5px dashed var(--color-outline-variant);background:var(--color-surface-low);text-align:center;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:280px;padding:32px;display:flex}.roster-file-picker input{display:none}.roster-file-picker>svg{width:42px;height:42px;color:var(--color-primary)}.roster-file-picker h3,.roster-preview-section h3,.roster-mapping-section h3,.roster-validation-errors h3,.roster-version-conflict h3{margin:0 0 4px}.roster-file-picker p,.roster-preview-section p,.roster-mapping-section p,.roster-validation-errors p,.roster-version-conflict p{color:var(--color-on-surface-variant);margin:0;font-size:13px}.roster-file-summary{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;align-items:center;gap:11px;padding:12px 14px;display:flex}.roster-file-summary>svg{color:var(--color-primary)}.roster-file-summary>div{flex:1;min-width:0}.roster-file-summary h3,.roster-file-summary p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.roster-file-summary p{color:var(--color-on-surface-variant);margin-top:2px;font-size:12px}.roster-preview-section,.roster-mapping-section{gap:10px;display:grid}.roster-preview-section .data-table-scroll{border:1px solid var(--card-border);border-radius:12px;max-height:290px}.roster-preview-section td,.roster-preview-section th{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.roster-mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.roster-validation-summary{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.roster-validation-summary>div{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;gap:6px;padding:15px;display:grid}.roster-validation-summary span{color:var(--color-on-surface-variant);font-size:12px}.roster-validation-summary b{font-size:25px}.roster-validation-summary .is-success b{color:var(--color-success)}.roster-validation-summary .is-warning b{color:var(--color-error)}.roster-validation-errors,.roster-version-conflict{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:13px;padding:15px}.roster-validation-errors>div{gap:6px;max-height:190px;margin-top:10px;display:grid;overflow:auto}.roster-validation-errors>div span{background:var(--color-error-container);color:var(--color-on-surface);border-radius:8px;gap:10px;padding:8px 10px;font-size:12px;display:flex}.roster-validation-errors small{color:var(--color-on-surface-variant);margin-top:8px;display:block}.roster-version-conflict>div{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px;display:grid}.roster-version-conflict button{border:1px solid var(--color-outline-variant);background:var(--color-surface);color:var(--color-on-surface);text-align:left;cursor:pointer;border-radius:11px;gap:5px;padding:13px;display:grid}.roster-version-conflict button.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 14%, transparent)}.roster-version-conflict button span{color:var(--color-on-surface-variant);font-size:12px;line-height:1.45}.roster-mock-notice{background:var(--color-secondary-container);color:var(--color-on-surface);border-radius:11px;align-items:flex-start;gap:9px;padding:12px 14px;display:flex}.roster-mock-notice p{margin:0;font-size:12px;line-height:1.5}.roster-import-error{margin:0}@media (width<=1220px){.roster-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-version-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=820px){.roster-page-header{flex-direction:column;align-items:flex-start}.roster-header-actions{justify-content:flex-start;width:100%}.roster-stat-grid,.roster-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-comparison-grid{grid-template-columns:1fr}}@media (width<=560px){.roster-version-strip,.roster-stat-grid,.roster-mapping-grid,.roster-validation-summary,.roster-version-conflict>div{grid-template-columns:1fr}.roster-header-actions{grid-template-columns:1fr;display:grid}.roster-header-actions button{width:100%}.roster-import-steps{grid-template-columns:1fr}.roster-results-heading{align-items:flex-start}.roster-operation-log>div{grid-template-columns:1fr}.roster-operation-log time{justify-self:start}.roster-detail-drawer .modal-footer{grid-template-columns:1fr 1fr;display:grid}}@media (prefers-reduced-motion:reduce){.is-spinning{animation-duration:1.8s}.course-roster-reconciliation-button,.roster-stat-card{transition:none}}.evidence-review-head,.evidence-review-head>div,.evidence-location-status>div,.evidence-location-status b{align-items:center;display:flex}.evidence-review-head{justify-content:space-between;gap:10px}.evidence-review-head>div{gap:8px}.evidence-review-head b{font-size:10px}.evidence-download-button{white-space:nowrap;align-items:center;gap:6px;min-height:33px;padding:0 10px;display:inline-flex}.evidence-proof-tabs{scrollbar-width:thin;gap:7px;padding-bottom:2px;display:flex;overflow-x:auto}.evidence-proof-tabs>button{border:1px solid var(--card-border);background:var(--color-surface-low);min-width:145px;color:var(--color-on-surface);text-align:left;border-radius:9px;flex:1 0 145px;grid-template-columns:27px minmax(92px,1fr);gap:1px 7px;padding:8px;display:grid}.evidence-proof-tabs>button.is-selected{border-color:var(--color-primary);background:var(--color-primary-container)}.evidence-proof-tabs>button>span{background:color-mix(in srgb, var(--color-primary) 14%, var(--color-surface));width:27px;height:27px;color:var(--color-primary);border-radius:7px;grid-row:1/3;place-items:center;font-size:10px;font-weight:800;display:grid}.evidence-proof-tabs b,.evidence-proof-tabs small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.evidence-proof-tabs b{font-size:10px}.evidence-proof-tabs small{color:var(--color-on-surface-variant);font-size:8px}.evidence-stage{border:1px solid var(--card-border);background:#132c30;border-radius:12px;min-height:260px;overflow:hidden}.evidence-image-canvas,.evidence-video-player{place-items:center;width:100%;min-height:260px;display:grid;position:relative;overflow:hidden}.evidence-image-canvas>img,.evidence-video-player>img{object-fit:cover;width:100%;min-height:260px}.evidence-image-canvas>img{transition:transform .18s}.evidence-image-controls,.evidence-video-controls{background:#081417d1;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:2px;display:flex;position:absolute;box-shadow:0 4px 18px #0000002e}.evidence-image-controls{padding:3px;bottom:10px;right:10px}.evidence-image-controls button{color:#fff;background:0 0;border:0;border-radius:6px;place-items:center;width:29px;height:28px;display:grid}.evidence-image-controls button:hover:not(:disabled),.evidence-image-controls .evidence-zoom-value{background:#ffffff26}.evidence-image-controls button:disabled{opacity:.4}.evidence-image-controls .evidence-zoom-value{width:auto;min-width:42px;font-size:9px}.evidence-video-player:after{content:"";pointer-events:none;background:linear-gradient(#0000 50%,#00000073);position:absolute;inset:0}.evidence-video-player.is-playing:before{z-index:1;content:"";background:linear-gradient(110deg,#0000 38%,#fff3 50%,#0000 62%);animation:1.6s linear infinite evidence-video-scan;position:absolute;inset:0}.evidence-video-toggle{z-index:2;color:#fff;background:#081417b8;border:1px solid #fff9;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute}.evidence-video-controls{z-index:2;color:#fff;justify-content:space-between;padding:8px 10px;bottom:10px;left:10px;right:10px}.evidence-video-progress{background:#ffffff59;border-radius:999px;flex:1;height:3px;display:block;overflow:hidden}.evidence-video-progress i{border-radius:inherit;background:#fff;width:0;height:100%;display:block}.evidence-video-player.is-playing .evidence-video-progress i{width:40%;transition:width .4s}.evidence-video-controls small{margin-left:8px;font-size:9px}.evidence-review-caption{color:var(--color-on-surface-variant);margin:-2px 0 0;font-size:9px;line-height:1.45}.evidence-location-status{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:10px;grid-template-columns:112px minmax(0,1fr);gap:10px;padding:8px;display:grid}.evidence-location-status>div:last-child{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px}.evidence-location-status b{gap:5px;font-size:10px}.evidence-location-status span{color:var(--color-on-surface-variant);font-size:9px;line-height:1.45}.evidence-location-status.is-expired{border-color:color-mix(in srgb, var(--color-error) 35%, var(--card-border));background:color-mix(in srgb, var(--color-error) 7%, var(--color-surface-low));color:var(--color-error);grid-template-columns:24px minmax(0,1fr);align-items:start;padding:12px}.evidence-location-status.is-expired>div{flex-direction:column;align-items:flex-start;gap:3px}.evidence-masked-map{background:#dbe8df;border-radius:7px;overflow:hidden}.evidence-masked-map svg{width:100%;height:66px;display:block}.evidence-masked-map path{fill:none;stroke:#a2bcb1;stroke-width:10px;opacity:.8}.evidence-masked-map rect{fill:#b7d1c2}.evidence-masked-map circle{fill:#e2f0e7}.evidence-masked-map .evidence-map-route{stroke:var(--color-primary);stroke-width:3px;stroke-linecap:round}.evidence-masked-map .evidence-map-marker{fill:var(--color-primary);stroke:#fff;stroke-width:2px}.grade-publication-notice{background:var(--color-primary-container);color:var(--color-on-primary-container);border-radius:10px;padding:11px 13px;font-size:10px;line-height:1.55}@keyframes evidence-video-scan{0%{transform:translate(-55%)}to{transform:translate(55%)}}.score-preview{background:var(--color-success-container);color:var(--color-success);border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.score-preview span{font-size:10px;font-weight:700}.score-preview b{font-size:18px}.check-option{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.check-option span{font-size:10px;line-height:1.5}.publish-checklist{border:1px solid var(--card-border);background:var(--card-border);border-radius:10px;gap:1px;display:grid;overflow:hidden}.publish-checklist>div{background:var(--color-surface-low);justify-content:space-between;align-items:center;padding:10px 12px;font-size:11px;display:flex}.field-note{color:var(--color-on-surface-variant);grid-column:1/-1;font-size:10px;line-height:1.5}.material-actions{flex-wrap:wrap;gap:8px;display:flex}.exemption-review-card .review-main{align-items:flex-start}.exemption-review-card .review-main>div{min-width:0}.evidence-materials{gap:8px;margin-top:10px;display:grid}.evidence-materials-head{align-items:baseline;gap:7px;display:flex}.evidence-materials-head>span{color:var(--color-on-surface);font-size:10px;font-weight:800}.evidence-materials-head>small{color:var(--color-on-surface-variant);font-size:9px}.evidence-thumbnail-list{flex-wrap:wrap;gap:7px;display:flex}.evidence-thumbnail{border:1px solid var(--card-border);background:var(--color-surface-high);color:#fff;text-align:left;border-radius:9px;width:106px;height:74px;padding:0;transition:transform .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.evidence-thumbnail:hover,.evidence-thumbnail:focus-visible{box-shadow:0 5px 14px color-mix(in srgb, var(--color-primary) 20%, transparent);transform:translateY(-1px)}.evidence-thumbnail-image{background:linear-gradient(145deg,#e9c7aa,#a65f4a 58%,#533d58)}.evidence-thumbnail-image:before{content:"";border:13px solid #ffffff3d;border-radius:50%;width:75px;height:75px;position:absolute;bottom:-40px;right:-25px}.evidence-thumbnail-document{color:var(--color-on-surface);background:linear-gradient(145deg,#eef3fa,#c2d2e5)}.evidence-thumbnail-document:before{content:"";background:repeating-linear-gradient(#fff 0 10px,#b8c7d9 10px 11px,#fff 11px 15px);border-radius:3px;position:absolute;inset:9px 17px 10px 18px;box-shadow:0 2px 6px #1d2f4626}.evidence-thumbnail-tone-1.evidence-thumbnail-image{background:linear-gradient(145deg,#b4d3bc,#3d8569 58%,#315e6f)}.evidence-thumbnail-tone-2.evidence-thumbnail-image{background:linear-gradient(145deg,#c8c0e2,#6c5f9c 58%,#483d6d)}.evidence-thumbnail-tone-3.evidence-thumbnail-image{background:linear-gradient(145deg,#e6c8bd,#b56f52 58%,#70483d)}.evidence-thumbnail>span{z-index:1;color:#fff;letter-spacing:.03em;background:#0000004d;border-radius:4px;justify-self:start;margin:7px;padding:3px 5px;font-size:8px;font-weight:800}.evidence-thumbnail-document>span{background:color-mix(in srgb, var(--color-primary) 90%, #fff)}.evidence-thumbnail>small{z-index:1;color:#fff;text-overflow:ellipsis;text-shadow:0 1px 2px #00000073;white-space:nowrap;align-self:end;margin:0 7px 7px;font-size:8px;font-weight:700;overflow:hidden}.evidence-thumbnail-document>small{color:var(--color-on-surface);text-shadow:none}.material-file-links{flex-wrap:wrap;gap:8px 12px;display:flex}.material-file-links .document-link{text-align:left;align-items:center;gap:5px;min-width:0;display:inline-flex}.material-file-links .document-link>span{color:var(--color-on-surface-variant);flex:none;font-size:9px;font-weight:600}.evidence-preview-layout{grid-template-columns:minmax(0,1fr) minmax(190px,.42fr);gap:16px;display:grid}.evidence-preview-canvas{border:1px solid var(--card-border);border-radius:13px;place-items:center;min-height:320px;padding:28px;display:grid;position:relative;overflow:hidden}.evidence-preview-image{background:linear-gradient(145deg,#ebcdb4,#a96758 54%,#4f405b)}.evidence-preview-image:before{content:"";border:38px solid #ffffff2e;border-radius:50%;width:270px;height:270px;position:absolute;bottom:-145px;right:-104px}.evidence-preview-document{background:linear-gradient(145deg,#edf3fa,#d5e0ee)}.evidence-preview-type,.evidence-preview-canvas>small{z-index:1;color:#fff;background:#0000004d;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:800;position:absolute}.evidence-preview-type{top:14px;left:14px}.evidence-preview-canvas>small{bottom:14px;right:14px}.evidence-preview-document .evidence-preview-type,.evidence-preview-document>small{background:color-mix(in srgb, var(--color-primary) 90%, #fff)}.evidence-preview-sheet{z-index:1;color:#28415a;background:#fffffff0;border-radius:4px;align-content:start;gap:13px;width:min(310px,90%);min-height:218px;padding:30px 26px;display:grid;position:relative;transform:rotate(-1deg);box-shadow:0 15px 30px #192b4142}.evidence-preview-sheet b{font-size:16px}.evidence-preview-sheet span{color:#61758a;font-size:10px}.evidence-preview-sheet i{background:#d8e2ec;border-radius:99px;height:8px;display:block}.evidence-preview-sheet i:nth-of-type(2){width:82%}.evidence-preview-sheet i:nth-of-type(3){width:66%}.evidence-preview-info{align-content:start;gap:10px;display:grid}.evidence-preview-info>span{color:var(--color-on-surface-variant);font-size:10px;font-weight:800}.evidence-preview-info dl{border:1px solid var(--card-border);background:var(--card-border);border-radius:10px;gap:1px;margin:0;display:grid;overflow:hidden}.evidence-preview-info dl>div{background:var(--color-surface-low);gap:3px;padding:10px;display:grid}.evidence-preview-info dt{color:var(--color-on-surface-variant);font-size:9px}.evidence-preview-info dd{overflow-wrap:anywhere;color:var(--color-on-surface);margin:0;font-size:10px;font-weight:700;line-height:1.45}.sla-strip{border-bottom:1px solid var(--card-border);background:var(--card-border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.sla-strip span{background:var(--color-surface-low);min-height:58px;color:var(--color-on-surface-variant);flex-direction:column;justify-content:center;gap:4px;padding:10px 16px;font-size:9px;display:flex}.sla-strip b{color:var(--color-on-surface);font-size:10px}.ticket-thread{gap:10px;max-height:230px;padding:2px;display:grid;overflow-y:auto}.ticket-message{border-radius:12px;width:min(85%,480px);padding:12px 14px}.student-message{background:var(--color-surface-high);justify-self:start}.teacher-message{background:var(--color-primary-container);justify-self:end}.ticket-message b{font-size:10px}.ticket-message p{margin-top:5px;font-size:10px;line-height:1.55}@media (width<=1080px){.record-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.checkin-student-summary{flex-direction:column;align-items:stretch}.teacher-course-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.teacher-panel-head,.teacher-filter-row,.dialog-section-head,.teacher-panel-head .compact-actions{flex-direction:column;align-items:stretch}.teacher-filter-row select,.teacher-panel-head>.teacher-field select{width:100%}.record-filter-grid,.form-grid.two-columns,.record-detail-grid,.course-detail-summary,.sla-strip,.checkin-summary-metrics,.evidence-preview-layout{grid-template-columns:1fr}.checkin-album-record{grid-template-columns:48px minmax(0,1fr)}.album-record-summary{grid-column:2}.evidence-preview-canvas{min-height:250px}.evidence-location-status{grid-template-columns:94px minmax(0,1fr)}.teacher-course-grid{grid-template-columns:1fr}.course-detail-summary{gap:1px}.task-list article{flex-direction:column;align-items:flex-start}.modal-footer{flex-wrap:wrap}}.app-shell-tabbed-workspace{--teacher-radius-sm:8px;--teacher-radius-md:12px;--teacher-radius-lg:16px;--teacher-shadow:0 1px 2px #10182808, 0 1px 3px #1018280a;--teacher-shadow-raised:0 10px 24px #10182814;grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.app-shell-tabbed-workspace .sidebar{background:var(--color-surface);background-image:none;border-top:0;padding:16px 12px}.app-shell-tabbed-workspace .sidebar .brand{padding:4px 8px}.app-shell-tabbed-workspace .brand-mark{width:34px;height:34px;box-shadow:none;border-radius:10px}.app-shell-tabbed-workspace .brand-mark img{width:25px;height:25px}.app-shell-tabbed-workspace .brand b{color:var(--color-on-surface);font-size:12px}.app-shell-tabbed-workspace .brand small{display:none}.app-shell-tabbed-workspace .workspace-label{margin:26px 8px 8px}.app-shell-tabbed-workspace .workspace-label>span{letter-spacing:.1em;font-size:10px}.app-shell-tabbed-workspace .sidebar nav{gap:2px}.app-shell-tabbed-workspace .sidebar nav button{border-radius:var(--teacher-radius-sm);grid-template-columns:22px minmax(0,1fr);column-gap:13px;min-height:42px;padding:0 9px;font-size:12px;transition:background-color .16s,color .16s,transform .16s}.app-shell-tabbed-workspace .sidebar nav button:hover{background:color-mix(in srgb, var(--color-primary-container) 44%, var(--color-surface))}.app-shell-tabbed-workspace .sidebar nav button:active{transform:scale(.985)}.app-shell-tabbed-workspace .sidebar nav button.active{background:color-mix(in srgb, var(--color-primary-container) 78%, var(--color-surface))}.app-shell-tabbed-workspace .sidebar nav .sidebar-nav-icon{width:22px;height:22px}.app-shell-tabbed-workspace .sidebar-bottom{border-top:0;padding:12px 2px 2px}.teacher-tab-page-transition{min-width:0;position:relative}.teacher-tab-page-transition__page{min-width:0}.teacher-tab-page-transition__page.is-active{z-index:1;position:relative}.teacher-tab-page-transition__page.is-exiting{z-index:0;pointer-events:none;will-change:opacity;width:100%;animation:.18s ease-out both teacher-tab-page-exit;position:absolute;top:0;left:0}.teacher-tab-page-transition__page.is-entering{will-change:opacity, transform}.teacher-tab-page-transition__page.is-entering.is-forward{animation:.22s cubic-bezier(.2,.8,.2,1) both teacher-tab-page-enter-from-right}.teacher-tab-page-transition__page.is-entering.is-backward{animation:.22s cubic-bezier(.2,.8,.2,1) both teacher-tab-page-enter-from-left}@keyframes teacher-tab-page-enter-from-right{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes teacher-tab-page-enter-from-left{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes teacher-tab-page-exit{0%{opacity:1}to{opacity:0}}.workspace-header-tabbed .page-header-copy--transition.is-forward{animation:.18s cubic-bezier(.2,.8,.2,1) both teacher-tab-header-enter-from-right}.workspace-header-tabbed .page-header-copy--transition.is-backward{animation:.18s cubic-bezier(.2,.8,.2,1) both teacher-tab-header-enter-from-left}@keyframes teacher-tab-header-enter-from-right{0%{opacity:0;transform:translate(7px)}to{opacity:1;transform:translate(0)}}@keyframes teacher-tab-header-enter-from-left{0%{opacity:0;transform:translate(-7px)}to{opacity:1;transform:translate(0)}}.app-shell-tabbed-workspace .sidebar nav button{isolation:isolate;background-color:#0000;transition:color .18s cubic-bezier(.2,.8,.2,1),transform .16s ease-out;position:relative;overflow:hidden}.app-shell-tabbed-workspace .sidebar nav button:before{z-index:0;border-radius:inherit;background:color-mix(in srgb, var(--color-primary-container) 78%, var(--color-surface));content:"";opacity:0;transition:opacity .2s ease-out,transform .2s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:scale(.97)}.app-shell-tabbed-workspace .sidebar nav button:after{z-index:0;background:var(--color-primary);content:"";opacity:0;border-radius:999px;width:3px;transition:opacity .18s ease-out,transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:8px;bottom:8px;left:2px;transform:scaleY(.45)}.app-shell-tabbed-workspace .sidebar nav button>*{z-index:1;position:relative}.app-shell-tabbed-workspace .sidebar nav button:hover,.app-shell-tabbed-workspace .sidebar nav button.active{background-color:#0000}.app-shell-tabbed-workspace .sidebar nav button:hover:not(.active):before{opacity:.45;transform:scale(.99)}.app-shell-tabbed-workspace .sidebar nav button.active:before{opacity:1;transform:scale(1)}.app-shell-tabbed-workspace .sidebar nav button.active:after{opacity:1;transform:scaleY(1)}.app-shell-tabbed-workspace .sidebar nav button>span,.app-shell-tabbed-workspace .sidebar nav .sidebar-nav-icon{transition:color .18s ease-out,background-color .18s ease-out}@media (prefers-reduced-motion:reduce){.teacher-tab-page-transition__page.is-entering,.teacher-tab-page-transition__page.is-exiting,.workspace-header-tabbed .page-header-copy--transition{will-change:auto;animation:none;transform:none}.app-shell-tabbed-workspace .sidebar nav button,.app-shell-tabbed-workspace .sidebar nav button:before,.app-shell-tabbed-workspace .sidebar nav button:after,.app-shell-tabbed-workspace .sidebar nav button>span,.app-shell-tabbed-workspace .sidebar nav .sidebar-nav-icon{transition-duration:1ms}}.app-shell-tabbed-workspace .sidebar-profile-card{z-index:50;isolation:isolate;border-radius:var(--teacher-radius-lg);background:color-mix(in srgb, var(--color-primary-container) 24%, var(--color-surface));border:1px solid #0000;grid-template-columns:40px minmax(0,1fr);gap:12px;min-height:64px;padding:10px 12px;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;position:relative;overflow:visible;box-shadow:0 1px 2px #10182805}.app-shell-tabbed-workspace .sidebar-profile-card:hover{background:color-mix(in srgb, var(--color-primary-container) 40%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 10%, transparent);box-shadow:0 5px 14px #1018280f}.app-shell-tabbed-workspace .sidebar-profile-card:active{transform:scale(.985)}.app-shell-tabbed-workspace .sidebar-profile-card:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent);outline-offset:2px}.app-shell-tabbed-workspace .sidebar-profile-card .avatar{background:var(--color-primary-container);width:40px;height:40px;color:var(--color-primary);border-radius:50%;font-size:14px}.app-shell-tabbed-workspace .sidebar-profile-card>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.app-shell-tabbed-workspace .sidebar-profile-card>span:nth-child(2) b{color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:750;line-height:1.35;overflow:hidden}.app-shell-tabbed-workspace .sidebar-profile-card>span:nth-child(2) small{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;overflow:hidden}.app-shell-tabbed-workspace .sidebar-profile-card>i{display:none}.app-shell-teacher .teacher-profile-tooltip{z-index:60;border:1px solid color-mix(in srgb, var(--color-outline) 20%, transparent);border-radius:var(--teacher-radius-sm);background:color-mix(in srgb, var(--color-on-background) 92%, transparent);min-width:max-content;color:var(--color-surface);box-shadow:var(--teacher-shadow-raised);opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;gap:4px;padding:9px 11px;transition:opacity .14s,transform .14s,visibility 0s linear .14s;display:flex;position:absolute;bottom:50%;left:calc(100% + 12px);transform:translate(4px,50%)}.app-shell-teacher .teacher-profile-tooltip:before{content:"";border:6px solid #0000;border-right-color:color-mix(in srgb, var(--color-on-background) 92%, transparent);position:absolute;bottom:50%;right:100%;transform:translateY(50%)}.app-shell-teacher .teacher-profile-tooltip b{color:inherit;font-size:11px;line-height:1.25}.app-shell-teacher .teacher-profile-tooltip small{color:color-mix(in srgb, var(--color-surface) 78%, transparent);font-size:10px;line-height:1.25}.workspace-header-tabbed{background:var(--color-surface);border-bottom:1px solid var(--card-border);align-items:center;min-height:92px;padding:14px clamp(24px,3vw,48px)}.workspace-header-tabbed .eyebrow,.workspace-header-tabbed>div:first-child>p,.workspace-header-tabbed .workspace-school-mark,.workspace-header-tabbed .icon-button{display:none}.workspace-header-tabbed h1{letter-spacing:-.035em;margin:0;font-size:clamp(23px,2.2vw,28px)}.workspace-header-tabbed .header-actions{margin-left:auto;padding:0}.workspace-header-tabbed .semester-pill{border-radius:var(--teacher-radius-sm);min-width:175px;padding:7px 10px}.workspace-header-tabbed .semester-pill span{font-size:9px}.workspace-header-tabbed .semester-pill b{font-size:10px}.workspace-header-tabbed .language-toggle{border-radius:var(--teacher-radius-sm)}.teacher-header-metrics{align-items:center;gap:0;margin-top:8px;display:flex}.teacher-header-metrics>span{border-left:1px solid var(--card-border);align-items:baseline;gap:5px;padding:0 11px;display:inline-flex}.teacher-header-metrics>span:first-child{border-left:0;padding-left:0}.teacher-header-metrics b{letter-spacing:-.02em;font-size:13px;font-weight:700}.teacher-header-metrics small{color:var(--color-on-surface-variant);font-size:10px;font-weight:600}.teacher-header-metrics .is-attention b{color:var(--color-secondary)}.teacher-header-metrics .is-success b{color:var(--color-success)}.app-shell-tabbed-workspace .panel,.app-shell-tabbed-workspace .review-list,.app-shell-tabbed-workspace .course-card,.app-shell-tabbed-workspace .checkin-student-summary,.app-shell-tabbed-workspace .roster-dashboard,.app-shell-tabbed-workspace .focus-card,.app-shell-tabbed-workspace .health-card,.app-shell-tabbed-workspace .system-snapshot,.app-shell-tabbed-workspace .settings-panel,.app-shell-tabbed-workspace .side-note-card{border-radius:var(--teacher-radius-lg);border-color:var(--card-border);box-shadow:var(--teacher-shadow)}.app-shell-tabbed-workspace .panel-head,.app-shell-tabbed-workspace .review-list-head{padding:18px 20px}.app-shell-tabbed-workspace .panel-head h2,.app-shell-tabbed-workspace .review-list-head h2{font-size:16px}.app-shell-tabbed-workspace .panel-head p,.app-shell-tabbed-workspace .review-list-head p{font-size:11px}.app-shell-tabbed-workspace .toolbar,.app-shell-tabbed-workspace .roster-toolbar,.app-shell-tabbed-workspace .teacher-filter-row{gap:8px;min-height:48px}.app-shell-tabbed-workspace .toolbar{margin-bottom:12px}.app-shell-teacher .course-toolbar{margin:-58px 0 14px}.app-shell-teacher .course-toolbar .primary-button{box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 20%, transparent)}.app-shell-tabbed-workspace .primary-button,.app-shell-tabbed-workspace .secondary-button,.app-shell-tabbed-workspace .danger-button{border-radius:var(--teacher-radius-sm);min-height:38px;padding:0 13px;font-size:11px;font-weight:700;transition:transform .16s,box-shadow .16s,filter .16s,background-color .16s}.app-shell-tabbed-workspace .primary-button{box-shadow:0 1px 2px color-mix(in srgb, var(--color-primary) 25%, transparent)}.app-shell-tabbed-workspace .primary-button:hover{box-shadow:0 5px 12px color-mix(in srgb, var(--color-primary) 22%, transparent)}.app-shell-tabbed-workspace .secondary-button{border:1px solid var(--card-border);background:var(--color-surface)}.app-shell-tabbed-workspace .danger-button{border:1px solid color-mix(in srgb, var(--color-error) 14%, var(--card-border))}.app-shell-tabbed-workspace .primary-button:active,.app-shell-tabbed-workspace .secondary-button:active,.app-shell-tabbed-workspace .danger-button:active{transform:scale(.98)}.app-shell-tabbed-workspace .text-button{font-size:11px}.app-shell-tabbed-workspace .badge{letter-spacing:.01em;border-radius:999px;min-height:22px;padding:2px 8px;font-size:9px;font-weight:700}.app-shell-tabbed-workspace .badge-blue{background:color-mix(in srgb, var(--color-primary-container) 78%, var(--color-surface))}.app-shell-tabbed-workspace .badge-green{background:color-mix(in srgb, var(--color-success-container) 84%, var(--color-surface))}.app-shell-tabbed-workspace .badge-orange{background:color-mix(in srgb, var(--color-secondary-container) 87%, var(--color-surface))}.app-shell-tabbed-workspace .badge-red{background:color-mix(in srgb, var(--color-error-container) 84%, var(--color-surface))}.app-shell-tabbed-workspace input,.app-shell-tabbed-workspace select,.app-shell-tabbed-workspace textarea{border-radius:var(--teacher-radius-sm)}.app-shell-tabbed-workspace input:focus,.app-shell-tabbed-workspace select:focus,.app-shell-tabbed-workspace textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 13%, transparent)}.app-shell-tabbed-workspace .segmented{border-radius:var(--teacher-radius-sm);background:var(--color-surface-high);padding:3px}.app-shell-tabbed-workspace .segmented button{border-radius:6px;min-height:30px;padding:0 10px;font-size:10px}.app-shell-teacher table{min-width:720px}.app-shell-teacher th{background:var(--color-surface-low);letter-spacing:.06em;height:40px;padding:0 18px;font-size:9px;font-weight:700}.app-shell-teacher td{height:62px;padding:10px 18px;font-size:11px}.app-shell-teacher tbody tr{transition:background-color .14s}.app-shell-teacher tbody tr:hover td{background:color-mix(in srgb, var(--color-primary-container) 30%, var(--color-surface))}.app-shell-teacher .person-cell>span,.app-shell-teacher .review-avatar{border-radius:50%}.app-shell-teacher .person-cell{gap:9px}.app-shell-teacher .row-actions button{border-radius:6px;transition:background-color .14s,transform .14s}.app-shell-teacher .row-actions button:hover{transform:translateY(-1px)}.app-shell-teacher .teacher-course-grid{gap:12px}.app-shell-teacher .teacher-course-grid .course-card{min-height:256px;padding:16px;transition:border-color .18s,box-shadow .18s,transform .18s}.app-shell-teacher .teacher-course-grid .course-card:hover{box-shadow:var(--teacher-shadow-raised);transform:translateY(-2px)}.app-shell-teacher .course-card-metrics,.app-shell-teacher .checkin-summary-metrics,.app-shell-teacher .course-detail-summary,.app-shell-teacher .task-strip{border-radius:var(--teacher-radius-sm)}.app-shell-teacher .roster-stat-grid article{border-radius:var(--teacher-radius-md)}.app-shell-teacher .review-card{padding:16px 0}.app-shell-teacher .info-banner{border-radius:var(--teacher-radius-md)}@media (width<=860px){.app-shell-tabbed-workspace{display:block}.app-shell-tabbed-workspace .sidebar{border-right:0;border-bottom:1px solid var(--card-border);height:auto;padding:10px 14px;position:sticky}.app-shell-tabbed-workspace .sidebar .brand,.app-shell-tabbed-workspace .workspace-label{display:none}.app-shell-tabbed-workspace .sidebar nav{display:flex;overflow-x:auto}.app-shell-tabbed-workspace .sidebar nav button{flex:none;grid-template-columns:22px auto}.app-shell-tabbed-workspace .sidebar-bottom{display:none}.workspace-header-tabbed{min-height:auto;padding:16px 18px}.app-shell-tabbed-workspace .page-content{padding:16px 14px 38px}}@media (width<=620px){.workspace-header-tabbed{flex-direction:column;align-items:flex-start;gap:12px}.workspace-header-tabbed .header-actions{width:100%}.workspace-header-tabbed .semester-pill{display:none}.teacher-header-metrics{max-width:100%;overflow-x:auto}.teacher-header-metrics>span{flex:none}.app-shell-teacher .course-toolbar{margin:0 0 12px}.app-shell-tabbed-workspace .toolbar{flex-direction:column;align-items:stretch}.app-shell-tabbed-workspace .toolbar>.compact-actions,.app-shell-tabbed-workspace .toolbar>.primary-button{width:100%}.app-shell-tabbed-workspace .toolbar>.primary-button{justify-content:center}}.app-shell-teacher .roster-table th{height:34px;padding:8px 16px}.app-shell-teacher .roster-table td{height:56px;padding:9px 16px}@media (width<=1080px){.roster-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(118px,.6fr))}.roster-primary-action{grid-column:1/-1;justify-self:end}}@media (width<=760px){.workspace-header.workspace-header-roster{align-items:flex-start;min-height:auto;padding:16px 18px}.workspace-header-roster .semester-pill{display:none}.roster-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-toolbar{grid-template-columns:1fr 1fr}.roster-search,.roster-primary-action{grid-column:1/-1}.roster-primary-action{justify-self:stretch}.roster-panel-head{flex-direction:column;align-items:stretch}}.app-shell-tabbed-workspace{--teacher-page-x:clamp(28px, 2.4vw, 32px);--teacher-space-block:22px;--teacher-radius-sm:8px;--teacher-radius-md:10px;--teacher-radius-lg:12px;--teacher-border:color-mix(in srgb, var(--color-outline-variant) 58%, transparent);--teacher-muted-bg:color-mix(in srgb, var(--color-surface-low) 82%, var(--color-background));grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.app-shell-tabbed-workspace .workspace-header.workspace-header-tabbed{height:98px;min-height:98px;padding:15px var(--teacher-page-x);align-items:center}.app-shell-tabbed-workspace .workspace-header-tabbed h1{letter-spacing:-.035em;font-size:clamp(30px,2.5vw,34px);font-weight:600;line-height:1.15}.app-shell-tabbed-workspace .workspace-header-tabbed .header-actions{flex-shrink:0}.app-shell-teacher .workspace-header.workspace-header-roster .teacher-header-metrics{display:flex}.app-shell-teacher .teacher-header-metrics{margin-top:7px}.app-shell-teacher .teacher-header-metrics b{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:14px}.app-shell-teacher .teacher-header-metrics small{font-size:12px;font-weight:400}.app-shell-tabbed-workspace .page-content{padding:22px var(--teacher-page-x) 48px}.checkin-record-panel-head{align-items:flex-start;gap:18px}.checkin-detail-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.checkin-audit-filter button{min-width:62px}.checkin-audit-filter button b{background:color-mix(in srgb, var(--color-outline) 12%, transparent);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:17px;height:17px;font-size:8px;display:inline-grid}.checkin-audit-filter button.selected b{background:var(--color-primary-container);color:var(--color-primary)}.checkin-audit-summary{border-top:1px solid var(--card-border);border-bottom:1px solid var(--card-border);background:linear-gradient(90deg, color-mix(in srgb, var(--color-primary-container) 34%, var(--color-surface)) 0%, var(--color-surface) 62%);grid-template-columns:minmax(0,1fr) minmax(178px,.28fr) auto;align-items:center;gap:clamp(18px,3vw,38px);padding:18px 20px;display:grid}.audit-summary-progress{gap:9px;min-width:0;display:grid}.audit-summary-heading,.audit-progress-note{justify-content:space-between;align-items:flex-end;gap:16px;min-width:0;display:flex}.audit-summary-heading>div{gap:3px;display:grid}.audit-summary-heading>div>span,.audit-summary-score>span{color:var(--color-on-surface-variant);font-size:9px;font-weight:700}.audit-summary-heading strong{color:var(--color-primary);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:23px;line-height:1.05}.audit-summary-heading strong small,.audit-summary-score strong small{color:var(--color-on-surface-variant);letter-spacing:0;font-size:11px;font-weight:650}.audit-overall-status{background:var(--color-secondary-container);color:var(--color-secondary);border-radius:999px;flex:none;padding:5px 8px;font-size:9px;font-weight:800}.audit-overall-status.is-complete{background:var(--color-success-container);color:var(--color-success)}.audit-progress-track{background:var(--color-surface-highest);border-radius:999px;height:8px;overflow:hidden}.audit-progress-track>span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), color-mix(in srgb, var(--color-primary) 66%, var(--color-success)));height:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--color-primary) 10%, transparent);transition:width .24s cubic-bezier(.2,.8,.2,1);display:block}.audit-progress-note{color:var(--color-on-surface-variant);align-items:center;font-size:9px;line-height:1.35}.audit-progress-note>span:first-child{color:var(--color-primary);font-weight:750}.audit-summary-score{border-left:1px solid var(--card-border);align-content:center;gap:4px;min-height:64px;padding-left:clamp(16px,2vw,28px);display:grid}.audit-summary-score strong{color:var(--color-on-surface);letter-spacing:-.035em;font-variant-numeric:tabular-nums;font-size:20px;line-height:1.1}.audit-summary-score p{color:var(--color-on-surface-variant);font-size:9px}.audit-summary-score p b{color:var(--color-secondary);font-size:10px}.audit-complete-button{white-space:nowrap;border-radius:10px;min-width:108px;min-height:42px}.checkin-record-list{min-width:0;display:grid}.checkin-record-list-head,.checkin-record-row{grid-template-columns:minmax(112px,.72fr) minmax(150px,1fr) minmax(140px,.8fr) minmax(235px,1.22fr);grid-template-areas:"time proof info audit";align-items:center;gap:clamp(10px,1.25vw,18px);min-width:0;padding:11px 20px;display:grid}.checkin-record-list-head{background:var(--color-surface-low);min-height:40px;color:var(--color-on-surface-variant);letter-spacing:.05em;font-size:8px;font-weight:800}.checkin-record-row{border-top:1px solid var(--card-border);background:var(--color-surface);min-height:132px;scroll-margin:24px;transition:background-color .18s,box-shadow .18s}.checkin-record-list-head+.checkin-record-row{border-top:0}.checkin-record-row:hover{background:color-mix(in srgb, var(--color-primary-container) 16%, var(--color-surface))}.checkin-record-row.is-invalid{background:color-mix(in srgb, var(--color-error-container) 12%, var(--color-surface));box-shadow:inset 3px 0 0 color-mix(in srgb, var(--color-error) 42%, transparent)}.checkin-record-row.is-invalid .checkin-record-time,.checkin-record-row.is-invalid .checkin-record-info{opacity:.76}.checkin-record-time{grid-area:time;gap:3px;min-width:0;display:grid}.checkin-record-time>span{color:var(--color-on-surface-variant);font-size:8px;font-weight:700}.checkin-record-time>b,.checkin-record-time>small{color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px;line-height:1.35;overflow:hidden}.checkin-record-time>small{color:var(--color-on-surface-variant)}.checkin-record-row>.record-proof-links{grid-area:proof;align-content:center}.checkin-record-row>.record-proof-links button{max-width:min(100%,168px)}.checkin-record-info{grid-area:info;align-content:center;gap:4px;min-width:0;display:grid}.checkin-record-info>b{color:var(--color-on-surface);font-size:12px}.checkin-record-info>span{color:var(--color-on-surface-variant);font-size:9px;line-height:1.35}.checkin-record-info .checkin-description{margin-top:3px;font-size:9px}.record-audit-control{border:1px solid var(--card-border);background:color-mix(in srgb, var(--color-surface-low) 84%, transparent);border-radius:11px;grid-area:audit;align-content:center;gap:8px;min-width:0;padding:10px;transition:border-color .18s,background-color .18s,box-shadow .18s;display:grid}.record-audit-control:focus{outline:3px solid color-mix(in srgb, var(--color-primary) 24%, transparent);outline-offset:2px}.record-audit-control.is-valid{border-color:color-mix(in srgb, var(--color-success) 24%, var(--card-border))}.record-audit-control.is-invalid{border-color:color-mix(in srgb, var(--color-error) 22%, var(--card-border))}.record-audit-label{color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;gap:10px;font-size:8px;font-weight:700;display:flex}.record-audit-label b{color:var(--color-on-surface);font-size:9px}.record-audit-control.is-valid .record-audit-label b{color:var(--color-success)}.record-audit-control.is-invalid .record-audit-label b{color:var(--color-error)}.record-audit-control.is-pending .record-audit-label b{color:var(--color-secondary)}.audit-status-selector{background:var(--color-surface-high);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.audit-status-option{min-width:0;min-height:30px;color:var(--color-on-surface-variant);white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:0 5px;font-size:9px;font-weight:750;transition:color .16s,background-color .16s,transform .12s,box-shadow .16s;display:inline-flex}.audit-status-option:hover{background:color-mix(in srgb, var(--color-surface) 70%, transparent)}.audit-status-option:active{transform:scale(.97)}.audit-status-option>span{opacity:.62;background:currentColor;border-radius:999px;flex:none;width:5px;height:5px}.audit-status-option.selected{box-shadow:0 1px 3px color-mix(in srgb, var(--color-on-surface) 10%, transparent);animation:.18s ease-out audit-status-select}.audit-status-option.is-pending.selected{background:var(--color-secondary-container);color:var(--color-secondary)}.audit-status-option.is-valid.selected{background:var(--color-success-container);color:var(--color-success)}.audit-status-option.is-invalid.selected{background:var(--color-error-container);color:var(--color-error)}.record-invalid-reason{overflow-wrap:anywhere;color:var(--color-on-surface-variant);font-size:8px;line-height:1.45}.record-invalid-reason>span{color:var(--color-error);margin-right:5px;font-weight:800}.checkin-album-record{grid-template-columns:54px minmax(150px,1fr) minmax(130px,.38fr) minmax(235px,.62fr);scroll-margin:24px;transition:opacity .18s,background-color .18s}.checkin-album-record.is-invalid{background:color-mix(in srgb, var(--color-error-container) 10%, transparent);border-radius:12px}.checkin-album-record.is-invalid .checkin-album-date,.checkin-album-record.is-invalid .album-record-summary{opacity:.76}.checkin-album-record>.record-audit-control{align-self:stretch}.invalid-reason-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.invalid-reason-list>button{border:1px solid var(--card-border);background:var(--color-surface-low);min-height:42px;color:var(--color-on-surface);text-align:left;border-radius:10px;align-items:center;gap:9px;padding:9px 11px;font-size:10px;line-height:1.35;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.invalid-reason-list>button>span{border:1px solid var(--color-outline);background:var(--color-surface);width:13px;height:13px;box-shadow:inset 0 0 0 3px var(--color-surface);border-radius:999px;flex:none}.invalid-reason-list>button.selected{border-color:color-mix(in srgb, var(--color-error) 42%, var(--card-border));background:color-mix(in srgb, var(--color-error-container) 54%, var(--color-surface));box-shadow:0 3px 10px color-mix(in srgb, var(--color-error) 8%, transparent)}.invalid-reason-list>button.selected>span{border-color:var(--color-error);background:var(--color-error)}.checkin-invalid-dialog textarea{resize:vertical;min-height:92px}.complete-audit-summary-list{border:1px solid var(--card-border);background:var(--card-border);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.complete-audit-summary-list>span{background:var(--color-surface-low);align-content:center;gap:5px;min-height:76px;padding:12px 14px;display:grid}.complete-audit-summary-list small{color:var(--color-on-surface-variant);font-size:9px}.complete-audit-summary-list b{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:14px}@keyframes audit-status-select{0%{opacity:.72;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (width>=1440px){.checkin-record-list-head,.checkin-record-row{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.15fr) minmax(200px,.85fr) minmax(280px,1.1fr)}.checkin-album-record{grid-template-columns:54px minmax(240px,1fr) minmax(175px,.36fr) minmax(280px,.56fr)}}@media (width>=861px){.app-shell-tabbed-workspace .sidebar .sports-brand{min-height:calc(44px + 44px * var(--sidebar-content-visibility));gap:calc(7px * var(--sidebar-content-visibility));transition:min-height var(--sidebar-transition-duration) var(--sidebar-transition-easing), gap var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .sidebar .sports-brand-emblem{width:calc(44px + 10px * var(--sidebar-content-visibility));height:calc(44px + 10px * var(--sidebar-content-visibility));transition:width var(--sidebar-transition-duration) var(--sidebar-transition-easing), height var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .sidebar .sports-brand-wordmark{max-height:calc(36px * var(--sidebar-content-visibility));opacity:var(--sidebar-content-visibility);visibility:visible;transform:translateX(calc((1 - var(--sidebar-content-visibility)) * -6px));transition:max-height var(--sidebar-transition-duration) var(--sidebar-transition-easing), opacity var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .workspace-label{max-height:calc(26px * var(--sidebar-content-visibility));margin:calc(10px + 18px * var(--sidebar-content-visibility)) calc(8px * var(--sidebar-content-visibility)) calc(6px + 5px * var(--sidebar-content-visibility));transition:max-height var(--sidebar-transition-duration) var(--sidebar-transition-easing), margin var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .workspace-label>span,.app-shell-tabbed-workspace .workspace-label>.badge,.app-shell-tabbed-workspace .sidebar nav button>span,.app-shell-tabbed-workspace .sidebar nav button>b,.app-shell-tabbed-workspace .profile-button>span:nth-child(2),.app-shell-tabbed-workspace .profile-button>i{max-inline-size:calc(220px * var(--sidebar-content-visibility));opacity:var(--sidebar-content-visibility);visibility:visible;white-space:nowrap;transform:translateX(calc((1 - var(--sidebar-content-visibility)) * -5px));transition:max-inline-size var(--sidebar-transition-duration) var(--sidebar-transition-easing), opacity var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing);overflow:hidden}.app-shell-tabbed-workspace .sidebar nav button{column-gap:calc(13px * var(--sidebar-content-visibility));padding-right:calc(13px - 4px * var(--sidebar-content-visibility));padding-left:calc(25px - 16px * var(--sidebar-content-visibility));transition:column-gap var(--sidebar-transition-duration) var(--sidebar-transition-easing), padding var(--sidebar-transition-duration) var(--sidebar-transition-easing), background-color var(--sidebar-transition-duration) var(--sidebar-transition-easing), color var(--sidebar-transition-duration) var(--sidebar-transition-easing), box-shadow var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing);grid-template-columns:22px minmax(0,1fr) auto}.app-shell-tabbed-workspace .sidebar nav button>b{width:calc(21px * var(--sidebar-content-visibility));min-width:0;transition:width var(--sidebar-transition-duration) var(--sidebar-transition-easing), max-inline-size var(--sidebar-transition-duration) var(--sidebar-transition-easing), opacity var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .profile-button{gap:calc(9px * var(--sidebar-content-visibility));padding-right:calc(3px + 5px * var(--sidebar-content-visibility));padding-left:calc(16px - 8px * var(--sidebar-content-visibility));transition:gap var(--sidebar-transition-duration) var(--sidebar-transition-easing), padding var(--sidebar-transition-duration) var(--sidebar-transition-easing), background-color var(--sidebar-transition-duration) var(--sidebar-transition-easing);grid-template-columns:40px minmax(0,1fr)}.app-shell-tabbed-workspace .sidebar-bottom{padding-right:calc(8px * var(--sidebar-content-visibility));padding-left:calc(8px * var(--sidebar-content-visibility));transition:padding var(--sidebar-transition-duration) var(--sidebar-transition-easing)}}@media (width<=1023px){.checkin-record-panel-head{align-items:stretch}.checkin-detail-toolbar{justify-content:space-between;width:100%}.checkin-audit-summary{grid-template-columns:minmax(0,1fr) auto}.audit-complete-button{grid-column:1/-1;justify-self:end}.checkin-record-list-head{display:none}.checkin-record-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"time info""proof proof""audit audit";gap:12px 16px;padding-top:16px;padding-bottom:16px}.checkin-record-row>.record-proof-links{padding-top:3px;padding-bottom:3px}.checkin-album-record{grid-template-columns:48px minmax(0,1fr)}.checkin-album-record>.checkin-album-date{grid-area:1/1/span 2}.checkin-album-record>.proof-cluster,.checkin-album-record>.album-record-summary{grid-column:2}.checkin-album-record>.record-audit-control{grid-column:1/-1}}@media (width<=640px){.checkin-detail-toolbar{flex-direction:column;align-items:stretch}.checkin-detail-toolbar>.segmented{width:100%}.checkin-audit-filter button{flex:1 0 auto;min-width:58px}.checkin-audit-summary{grid-template-columns:minmax(0,1fr);gap:16px;padding-left:16px;padding-right:16px}.audit-summary-heading,.audit-progress-note{flex-direction:column;align-items:flex-start;gap:7px}.audit-summary-score{border-top:1px solid var(--card-border);border-left:0;min-height:0;padding-top:14px;padding-left:0}.audit-complete-button{justify-self:stretch;width:100%}.checkin-record-row{grid-template-columns:minmax(0,1fr);grid-template-areas:"time""info""proof""audit";padding-left:16px;padding-right:16px}.invalid-reason-list,.complete-audit-summary-list{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.audit-progress-track>span,.audit-status-option,.checkin-record-row{transition:none}.audit-status-option.selected{animation:none}}.app-shell-tabbed-workspace.app-shell-focused-workspace .page-content{padding-top:28px}.teacher-page-layout{gap:14px;min-width:0;display:grid}.app-shell-focused-workspace .teacher-page-layout{gap:12px}.app-shell-admin .admin-page-layout>.toolbar,.app-shell-admin .admin-page-layout>.dashboard-grid,.app-shell-admin .admin-page-layout>.system-snapshot{margin-top:0;margin-bottom:0}.app-shell-admin .admin-page-layout>.current-semester,.app-shell-admin .admin-page-layout>.account-summary{margin-bottom:0}.app-shell-admin .stat-card,.app-shell-admin .current-semester,.app-shell-admin .account-summary>div,.app-shell-admin .settings-nav{border-color:var(--teacher-border);border-radius:var(--teacher-radius-lg);box-shadow:var(--teacher-shadow)}.layout-command-row{justify-content:space-between;align-items:center;gap:18px;min-height:44px;display:flex}.page-primary-action,.page-secondary-action,.batch-action{white-space:nowrap;flex:none}.app-shell-tabbed-workspace .primary-button:disabled{cursor:not-allowed;background:var(--color-surface-high);color:var(--color-outline);box-shadow:none}.status-tabs{border-bottom:1px solid var(--teacher-border);align-items:flex-end;gap:24px;min-height:43px;display:flex}.status-tabs button{min-height:42px;color:var(--color-on-surface-variant);white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:7px;padding:0 1px;font-size:13px;font-weight:500;display:inline-flex;position:relative}.status-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.status-tabs button.selected{color:var(--color-on-surface)}.status-tabs button.selected:after{background:var(--color-primary)}.status-tabs b{background:var(--color-surface-high);min-width:21px;height:20px;color:var(--color-on-surface-variant);border-radius:999px;place-items:center;font-size:10px;font-weight:600;display:grid}.status-tabs button.selected b{background:var(--color-primary-container);color:var(--color-primary)}.filter-toolbar{border:1px solid var(--teacher-border);border-radius:var(--teacher-radius-lg);background:var(--color-surface);align-items:center;gap:12px;min-height:58px;padding:8px 10px;display:flex}.filter-toolbar-fields{flex:1;grid-template-columns:minmax(240px,1.55fr) repeat(3,minmax(132px,.65fr));align-items:center;gap:8px;min-width:0;display:grid}.review-workbench-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.65fr))}.filter-toolbar-action{flex:none}.filter-search{min-width:0;display:block;position:relative}.filter-search>span{z-index:1;color:var(--color-outline);font-size:15px;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.app-shell-teacher .filter-search input{background:var(--teacher-muted-bg);white-space:nowrap;height:40px;padding:0 12px 0 36px}.filter-select{min-width:0;display:block;position:relative}.app-shell-teacher .filter-toolbar .filter-select{--app-select-height:60px;--app-select-radius:13px;--app-select-label-size:12px;--app-select-value-size:15px;--app-select-icon-size:17px;gap:6px}.app-shell-teacher .filter-toolbar .filter-select .app-select-trigger{border-color:var(--app-select-border);background:var(--app-select-background);padding:8px 46px 8px 16px}.app-shell-teacher .filter-toolbar .filter-select .app-select-trigger:hover:not(:disabled){border-color:var(--app-select-border-hover);background:var(--app-select-background-hover)}.app-shell-teacher .filter-toolbar .filter-select .app-select-icon-slot{right:15px}.filter-select>span{z-index:1;color:var(--color-on-surface-variant);pointer-events:none;font-size:9px;position:absolute;top:4px;left:11px}.app-shell-teacher .filter-select select{background:var(--teacher-muted-bg);min-width:0;height:40px;color:var(--color-on-surface);text-overflow:ellipsis;padding:14px 28px 2px 10px;font-size:11px}.table-surface{border:1px solid var(--teacher-border);border-radius:var(--teacher-radius-lg);background:var(--color-surface);min-width:0;overflow:hidden}.data-table-scroll{max-width:100%;overflow-x:auto}.app-shell-teacher .data-table{border-collapse:collapse;table-layout:fixed;width:100%}.app-shell-teacher .data-table th{background:var(--teacher-muted-bg);height:36px;color:var(--color-on-surface-variant);letter-spacing:0;text-align:left;white-space:nowrap;padding:0 14px;font-size:12px;font-weight:500}.app-shell-teacher .data-table td{border-top:1px solid var(--teacher-border);vertical-align:middle;height:58px;padding:8px 14px;font-size:13px}.app-shell-teacher .data-table tbody tr:hover td{background:color-mix(in srgb, var(--color-primary-container) 20%, var(--color-surface))}.data-table .action-column{white-space:nowrap;text-align:right;width:132px;min-width:132px}.app-shell-teacher .data-table th.action-column,.app-shell-teacher .data-table td.action-column{text-align:right}.data-table td.action-column>.horizontal-actions{justify-content:flex-end}.data-table .check-cell{width:48px}.data-table input[type=checkbox]{width:16px;height:16px;min-height:0;padding:0}.table-result-line{border-bottom:1px solid var(--teacher-border);min-height:36px;color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;gap:16px;padding:0 14px;font-size:11px;display:flex}.truncate-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.tabular-number,.numeric-value,.grade-total{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.action-menu{vertical-align:middle;flex:none;align-items:center;display:inline-flex;position:relative}.action-menu-trigger{box-sizing:border-box;min-width:0;height:32px;color:var(--color-on-surface-variant);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 11px;font-size:14px;font-weight:500;line-height:1;list-style:none;transition:background-color .14s,border-color .14s,color .14s,transform .14s;display:inline-flex}.action-menu-trigger:hover:not(:disabled),.action-menu.is-open .action-menu-trigger:not(:disabled){color:var(--color-primary);background:#1677ff0f;border-color:#0000}.action-menu-trigger:active:not(:disabled){background:#1677ff1a;transform:scale(.98)}.action-menu-trigger:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent);outline-offset:2px}.action-menu-trigger:disabled{cursor:not-allowed;opacity:.45;pointer-events:none}.action-menu-chevron{color:currentColor;stroke-width:2px;flex:none;width:14px;height:14px;transition:transform .14s}.action-menu.is-open .action-menu-chevron{transform:rotate(180deg)}.action-menu.is-icon-menu .action-menu-trigger{width:32px;min-width:32px;color:var(--color-on-surface-variant);background:0 0;padding:0}.action-menu.is-icon-menu .action-menu-trigger:hover:not(:disabled),.action-menu.is-icon-menu.is-open .action-menu-trigger:not(:disabled){color:var(--color-primary);background:#1677ff0f}.action-menu.is-icon-menu .action-menu-trigger svg{fill:currentColor;width:16px;height:16px}.action-menu-tooltip{z-index:40;background:var(--color-on-surface);width:max-content;max-width:180px;color:var(--color-surface);opacity:0;pointer-events:none;border-radius:6px;padding:5px 7px;font-size:10px;font-weight:500;line-height:1.3;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-2px)}.action-menu.is-icon-menu:not(.is-open):hover .action-menu-tooltip,.action-menu.is-icon-menu:not(.is-open):focus-within .action-menu-tooltip{opacity:1;transform:translateY(0)}.action-menu-popover{z-index:5000;border:1px solid color-mix(in srgb, var(--color-outline-variant) 62%, transparent);background:var(--color-surface);border-radius:10px;gap:1px;width:max-content;min-width:140px;max-width:calc(100vw - 16px);padding:4px;display:grid;position:fixed;overflow:hidden auto;box-shadow:0 8px 20px #1018281a,0 1px 2px #1018280f}.action-menu-popover[data-positioned=false]{visibility:hidden}.action-menu-popover button{width:100%;min-height:38px;color:var(--color-on-surface);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;font-size:14px;font-weight:400;line-height:1;display:flex;position:relative}.table-action-menu-item-icon{width:16px;height:16px;color:var(--color-on-surface-variant);flex:none;place-items:center;display:grid}.table-action-menu-item-icon svg{stroke-width:1.8px;width:16px;height:16px}.table-action-menu-item-label{text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.action-menu-popover button:hover:not(:disabled),.action-menu-popover button:focus-visible{background:#1677ff0f}.action-menu-popover button:focus-visible{outline:2px solid color-mix(in srgb, var(--color-primary) 42%, transparent);outline-offset:-2px}.table-action-menu-item.has-divider{margin-top:5px}.table-action-menu-item.has-divider:before{background:color-mix(in srgb, var(--color-outline-variant) 62%, transparent);content:"";height:1px;position:absolute;top:-3px;left:8px;right:8px}.action-menu-popover .table-action-menu-item.is-danger,.action-menu-popover .danger-menu-item{color:var(--color-error)}.action-menu-popover .table-action-menu-item.is-danger .table-action-menu-item-icon{color:currentColor}.action-menu-popover button:disabled{cursor:not-allowed;opacity:.45}@media (prefers-reduced-motion:reduce){.action-menu-trigger,.action-menu-chevron{transition-duration:1ms}}.horizontal-actions{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.row-review-action,.row-primary-action,.course-enter-button{border:1px solid color-mix(in srgb, var(--color-primary) 35%, var(--teacher-border));background:var(--color-surface);min-height:32px;color:var(--color-primary);white-space:nowrap;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.row-primary-action{background:var(--color-primary-container)}.progress-cell{gap:5px;width:min(280px,100%);display:grid}.progress-cell-copy{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.progress-cell-copy b,.progress-cell-copy span{font-variant-numeric:tabular-nums;font-size:11px}.progress-cell-copy span{color:var(--color-on-surface-variant)}.progress-cell .progress-track{height:5px}.progress-cell small{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.app-shell-teacher .teacher-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.app-shell-teacher .teacher-course-grid .teacher-course-card{border-radius:var(--teacher-radius-lg);min-height:278px;box-shadow:none;flex-direction:column;padding:18px;display:flex}.app-shell-teacher .teacher-course-grid .teacher-course-card:hover{border-color:color-mix(in srgb, var(--color-primary) 30%, var(--teacher-border));box-shadow:none;transform:none}.teacher-course-card.is-ended{opacity:1;border-color:color-mix(in srgb, var(--teacher-border) 82%, var(--color-on-surface-variant));background:color-mix(in srgb, var(--teacher-muted-bg) 76%, var(--color-surface))}.teacher-course-card .course-card-top{align-items:flex-start;gap:12px}.course-card-identity{flex:auto;min-width:0}.course-card-head-actions{flex:none;align-items:center;gap:8px;margin:-3px -3px 0 0;display:flex}.course-card-identity h3{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:19px;font-weight:600;overflow:hidden}.course-card-identity span{color:var(--color-on-surface-variant);margin-top:3px;font-size:11px;display:block}.teacher-course-card .course-card-metrics{border:1px solid var(--teacher-border);background:0 0;margin-top:16px}.teacher-course-card .course-achievement{margin-top:15px}.course-card-summary{min-width:0;color:var(--color-on-surface-variant);flex:auto;align-items:baseline;gap:2px;font-size:11px;display:flex}.course-card-summary span{flex:none}.course-card-summary b{min-width:0;color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.course-card-footer{align-items:center;gap:16px;min-width:0;margin-top:auto;padding-top:17px;display:flex}.course-enter-button{border-color:color-mix(in srgb, var(--color-primary) 28%, var(--teacher-border));background:color-mix(in srgb, var(--color-primary-container) 56%, var(--color-surface));border-radius:9px;min-width:110px;min-height:38px;padding:0 14px;transition:background-color .16s,border-color .16s,transform .12s}.course-enter-button span{transition:transform .16s}.course-enter-button:hover{border-color:color-mix(in srgb, var(--color-primary) 48%, var(--teacher-border));background:color-mix(in srgb, var(--color-primary-container) 78%, var(--color-surface))}.course-enter-button:hover span{transform:translate(2px)}.course-enter-button:active{transform:translateY(1px)scale(.985)}.teacher-course-card.is-ended .course-enter-button{border-color:var(--teacher-border);background:var(--color-surface);color:var(--color-on-surface-variant)}.teacher-course-card.is-ended .course-enter-button:hover{border-color:color-mix(in srgb, var(--color-on-surface-variant) 32%, var(--teacher-border));background:var(--color-surface-low)}.course-invite-button{border:1px solid color-mix(in srgb, var(--color-primary) 30%, var(--teacher-border));background:var(--color-surface);min-width:104px;min-height:38px;color:var(--color-primary);white-space:nowrap;border-radius:9px;flex:none;justify-content:center;align-items:center;gap:5px;font-size:11px;font-weight:650;transition:border-color .16s,background-color .16s,transform .12s;display:inline-flex}.course-invite-button:hover{border-color:color-mix(in srgb, var(--color-primary) 52%, var(--teacher-border));background:var(--color-primary-container)}.course-invite-button:active{transform:translateY(1px)scale(.985)}.app-shell-teacher .course-invite-dialog{border-radius:22px;width:min(790px,100vw - 40px)}.course-invite-dialog .modal-head{padding-bottom:20px}.course-invite-dialog .teacher-dialog-body{padding:0}.course-invite-dialog .modal-footer{flex-wrap:wrap}.course-invite-dialog .modal-footer .secondary-button,.course-invite-dialog .modal-footer .primary-button,.course-invite-dialog .modal-footer .danger-button{align-items:center;gap:6px;display:inline-flex}.course-invite-print-sheet{padding:26px 28px 24px}.course-invite-overview{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.course-invite-eyebrow{color:var(--color-primary);letter-spacing:.08em;margin-bottom:5px;font-size:10px;font-weight:750;display:block}.course-invite-overview h3{color:var(--color-on-surface);letter-spacing:-.025em;margin:0;font-size:21px}.course-invite-overview p{color:var(--color-on-surface-variant);margin:5px 0 0;font-size:11px}.course-invite-overview .badge{flex:none;margin-top:2px}.course-invite-content{border:1px solid var(--teacher-border);background:linear-gradient(135deg, color-mix(in srgb, var(--color-primary-container) 44%, var(--color-surface)) 0%, var(--color-surface) 58%);border-radius:17px;grid-template-columns:minmax(250px,.9fr) minmax(260px,1.1fr);align-items:center;gap:28px;margin-top:22px;padding:24px;display:grid}.invite-qr-image{border:1px solid color-mix(in srgb, var(--color-primary) 19%, var(--teacher-border));min-height:254px;box-shadow:0 8px 22px color-mix(in srgb, var(--color-on-surface) 9%, transparent);background:#fff;border-radius:15px;place-items:center;padding:13px;display:grid}.invite-qr-image img{aspect-ratio:1;width:min(100%,290px);height:auto;image-rendering:pixelated;display:block}.invite-qr-image span{color:var(--color-on-surface-variant);font-size:11px}.course-invite-details{gap:16px;display:grid}.course-invite-instruction{color:var(--color-on-surface-variant);margin:0;font-size:12px;line-height:1.62}.course-invite-code-row{border:1px solid color-mix(in srgb, var(--color-primary) 25%, var(--teacher-border));background:var(--color-surface);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.course-invite-code-row>span,.course-invite-expiry>span{color:var(--color-on-surface-variant);font-size:10px}.course-invite-code-row strong{color:var(--color-primary);letter-spacing:.09em;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:17px;overflow:hidden}.course-invite-code-row .icon-button{border:1px solid var(--teacher-border);background:var(--color-surface-low);width:32px;height:32px;color:var(--color-primary);border-radius:8px;place-items:center;display:grid}.course-invite-code-row .icon-button:hover{background:var(--color-primary-container)}.course-invite-expiry{gap:3px;display:grid}.course-invite-expiry strong{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:13px}.course-invite-expiry small{color:var(--color-secondary);font-size:10px;font-weight:650}.course-invite-actions{flex-wrap:wrap;gap:8px;display:flex}.course-invite-actions .secondary-button{align-items:center;gap:6px;min-height:36px;padding-inline:11px;display:inline-flex}.course-invite-note{color:var(--color-on-surface-variant);margin:16px 0 0;font-size:10px;line-height:1.55}.course-invite-inactive{align-items:flex-start;gap:13px;padding:28px;display:flex}.course-invite-inactive>span{background:var(--color-error-container);width:38px;height:38px;color:var(--color-error);border-radius:12px;flex:none;place-items:center;display:grid}.course-invite-inactive h3{margin:1px 0 5px;font-size:16px}.course-invite-inactive p{color:var(--color-on-surface-variant);margin:0;font-size:11px;line-height:1.55}.course-invite-revoke-summary{color:var(--color-error);align-items:center;gap:12px;padding:20px 22px;display:flex}.course-invite-revoke-summary>div{color:var(--color-on-surface);gap:3px;display:grid}.course-invite-revoke-summary span{color:var(--color-on-surface-variant);font-variant-numeric:tabular-nums;font-size:11px}.course-invite-print-sheet:fullscreen{background:var(--color-surface);align-content:center;width:100vw;height:100vh;padding:clamp(32px,6vw,96px);display:grid;overflow:auto}.course-invite-print-sheet:fullscreen .course-invite-content{grid-template-columns:minmax(380px,.92fr) minmax(420px,1.08fr);max-width:1200px;margin-inline:auto;padding:clamp(28px,4vw,56px)}.course-invite-print-sheet:fullscreen .invite-qr-image{min-height:min(62vh,580px)}.course-invite-print-sheet:fullscreen .invite-qr-image img{width:min(100%,540px)}:is(.course-invite-print-sheet:fullscreen .course-invite-overview,.course-invite-print-sheet:fullscreen .course-invite-note){width:100%;max-width:1200px;margin-inline:auto}.course-invite-print-sheet:fullscreen .course-invite-overview h3{font-size:clamp(24px,3vw,38px)}@media (width<=660px){.course-card-footer{flex-wrap:wrap}.course-card-summary{width:100%}.course-invite-button,.course-enter-button{flex:1 1 0}.course-invite-print-sheet{padding:20px}.course-invite-content{grid-template-columns:1fr;gap:20px;padding:16px}.invite-qr-image{min-height:230px}.course-invite-dialog .modal-footer>button{flex:auto;justify-content:center}}@media print{body *{visibility:hidden}.course-invite-print-sheet,.course-invite-print-sheet *{visibility:visible}.course-invite-print-sheet{color:#172032;background:#fff;padding:18mm;display:block;position:fixed;inset:0}.course-invite-content{background:#fff;grid-template-columns:1fr 1fr;margin-top:12mm}.invite-qr-image{min-height:88mm;box-shadow:none}.invite-qr-image img{width:80mm}.course-invite-dialog .modal-footer,.course-invite-dialog .modal-head{display:none}}.data-table tr.is-conflict td,.data-table tr.is-attention td,.data-table tr.is-pending-grade td{background:color-mix(in srgb, var(--color-secondary-container) 35%, var(--color-surface))}.roster-table th:first-child{width:22%}.roster-table th:nth-child(2){width:16%}.roster-table th:nth-child(3){width:17%}.roster-table th:nth-child(4){width:25%}.roster-table th:nth-child(5){width:12%}.roster-table .action-column{width:132px;min-width:132px}.roster-table .roster-row-action{justify-content:flex-end}.roster-email,.roster-course-name{max-width:230px}.roster-status{white-space:nowrap}.compact-guidance{border:1px solid var(--teacher-border);border-radius:var(--teacher-radius-md);background:var(--color-surface);min-height:42px;color:var(--color-on-surface-variant);align-items:center;gap:10px;padding:8px 12px;font-size:11px;display:flex}.compact-guidance>span{background:var(--color-primary-container);width:20px;height:20px;color:var(--color-primary);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.help-tip{border:1px solid var(--teacher-border);cursor:help;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9px;display:inline-grid}.pending-count,.muted-number{color:#a65e00;font-size:17px;font-weight:600;display:block}.muted-number{color:var(--color-on-surface-variant)}.confidence-value.is-low{color:#a65e00}.grade-command-row{border:1px solid var(--teacher-border);border-radius:var(--teacher-radius-lg);background:var(--color-surface);min-height:60px;padding:7px 8px 7px 12px}.course-context-select{--app-select-height:60px;--app-select-radius:13px;--app-select-label-size:12px;--app-select-value-size:15px;--app-select-icon-size:17px;flex:360px;gap:6px;min-width:240px;max-width:520px}.app-shell-teacher .grade-command-row .course-context-select .app-select-trigger{border-color:var(--app-select-border);background:var(--app-select-background);padding:8px 46px 8px 16px}.app-shell-teacher .grade-command-row .course-context-select .app-select-trigger:hover:not(:disabled){border-color:var(--app-select-border-hover);background:var(--app-select-background-hover)}.grade-command-row .page-primary-action{min-height:42px;margin-left:auto}.grade-data-controls{border-bottom:1px solid var(--teacher-border);justify-content:space-between;align-items:flex-end;gap:18px;min-width:0;min-height:48px;display:flex}.grade-data-controls .status-tabs{border-bottom:0;flex:auto;min-width:0}.grade-data-utilities{justify-content:flex-end;align-items:center;gap:12px;min-width:0;padding-bottom:5px;display:flex}.grade-validation-status{color:var(--color-on-surface-variant);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;overflow:hidden}.grade-validation-status.is-blocked{color:#945600}.grade-validation-status.is-ready{color:var(--color-success)}.grade-data-utilities .secondary-button{min-height:34px;padding-inline:11px}.grade-table-legacy th:first-child{width:27%}.grade-table-legacy th:nth-child(2){width:16%}.grade-table-legacy th:nth-child(3){width:28%}.grade-table-legacy th:nth-child(4){width:15%}.grade-table .grade-total{color:var(--color-on-surface);font-size:17px;font-weight:600}.application-reason{max-width:280px}.material-stack{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:5px;display:flex}.material-stack>small{color:var(--color-on-surface-variant);margin-left:3px}.material-thumb{border:1px solid var(--teacher-border);background:linear-gradient(145deg, var(--color-primary-container), var(--color-surface-high));width:50px;height:50px;color:var(--color-on-primary-container);border-radius:8px;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.material-thumb-2{margin-left:-18px}.material-more{min-width:24px;color:var(--color-on-surface-variant);font-size:10px}.modal-backdrop:has(.review-drawer){place-items:stretch end;padding:0}.teacher-dialog.review-drawer{border-width:0 0 0 1px;border-radius:0;width:min(620px,92vw);height:100vh;max-height:100vh;box-shadow:-18px 0 42px #00000029}.teacher-dialog.review-drawer .modal-head{z-index:2;background:var(--color-surface);position:sticky;top:0}.teacher-dialog.review-drawer .modal-footer{z-index:2;position:sticky;bottom:0}.app-shell-teacher button,.app-shell-teacher summary,.app-shell-teacher .action-column,.app-shell-teacher .horizontal-actions{word-break:keep-all;overflow-wrap:normal;writing-mode:horizontal-tb}@media (width<=1280px){.app-shell-tabbed-workspace{grid-template-columns:var(--sidebar-width) minmax(0, 1fr)}.app-shell-tabbed-workspace .workspace-header.workspace-header-tabbed,.app-shell-tabbed-workspace .page-content{--teacher-page-x:28px}.filter-toolbar-fields{grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(118px,.65fr))}.data-table .action-column{width:132px;min-width:132px}}@media (width<=1080px){.filter-toolbar{align-items:stretch}.filter-toolbar-fields{grid-template-columns:minmax(230px,1fr) repeat(2,minmax(140px,.7fr))}.filter-toolbar-fields>:nth-child(4){display:none}.grade-command-row{flex-wrap:wrap}.grade-data-controls{flex-direction:column;align-items:stretch;gap:0}.grade-data-utilities{min-height:42px;padding:4px 0}}@media (width<=860px){.app-shell-tabbed-workspace .workspace-header.workspace-header-tabbed{height:auto;min-height:92px}.app-shell-teacher .teacher-course-grid{grid-template-columns:1fr}.filter-toolbar{flex-direction:column}.filter-toolbar-fields{grid-template-columns:1fr 1fr}.review-workbench-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.filter-toolbar-action .primary-button{width:100%}}@media (width<=620px){.layout-command-row{flex-direction:column;align-items:stretch}.layout-command-row>button{width:100%}.filter-toolbar-fields{grid-template-columns:1fr}.review-workbench-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:1fr}.filter-search{grid-column:auto}.course-context-select{width:100%;min-width:0;max-width:none}.grade-data-utilities{flex-direction:column;align-items:stretch;gap:7px;padding:8px 0}.grade-validation-status{text-align:left;text-overflow:clip;white-space:normal;overflow:visible}.grade-data-utilities .secondary-button{width:100%}.course-card-head-actions{gap:6px}.course-card-footer{gap:10px}.course-enter-button{min-width:104px;min-height:36px;padding-inline:12px}}.student-identity{--student-avatar-size:30px;max-width:100%;min-height:var(--student-avatar-size);color:var(--color-on-surface);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:9px;padding:2px 4px 2px 2px;display:inline-flex}.student-identity:hover b,.student-identity:focus-visible b{color:var(--color-primary)}.student-identity.name-truncate{min-width:0}.student-identity.name-truncate b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-identity b{min-width:0;font-size:12px;font-weight:720;line-height:1.35;transition:color .16s}.student-avatar{width:var(--student-avatar-size);height:var(--student-avatar-size);flex:0 0 var(--student-avatar-size);background:color-mix(in srgb, var(--color-primary-container) 86%, var(--color-surface));color:var(--color-primary);font-size:calc(var(--student-avatar-size) * .38);border-radius:50%;place-items:center;font-weight:800;line-height:1;display:grid;overflow:hidden}.student-avatar img{object-fit:cover;width:100%;height:100%;display:block}.student-identity-loading{pointer-events:none}.student-identity-loading .student-avatar,.student-name-placeholder,.student-detail-skeleton span{background:linear-gradient(100deg, var(--color-surface-high) 20%, var(--color-surface-highest) 38%, var(--color-surface-high) 56%);background-size:220% 100%;animation:1.25s ease-in-out infinite student-skeleton}.student-name-placeholder{border-radius:6px;width:72px;height:12px}.student-hover-card{z-index:150;border:1px solid color-mix(in srgb, var(--color-outline-variant) 68%, transparent);background:var(--color-surface);width:min(276px,100vw - 24px);max-height:min(320px,100vh - 24px);color:var(--color-on-surface);transform-origin:0 0;border-radius:12px;padding:13px;position:fixed;overflow:auto;box-shadow:0 12px 30px #10182829,0 2px 7px #10182814}.student-hover-card.is-open{animation:.16s ease-out both student-hover-in}.student-hover-card.is-closing{pointer-events:none;animation:.16s ease-in both student-hover-out}.student-hover-heading{--student-avatar-size:34px;border-bottom:1px solid color-mix(in srgb, var(--color-outline-variant) 50%, transparent);align-items:center;gap:10px;padding-bottom:11px;display:flex}.student-hover-heading>div{gap:2px;min-width:0;display:grid}.student-hover-heading b{color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:760;overflow:hidden}.student-hover-heading small{color:var(--color-on-surface-variant);font-size:9px}.student-info-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px 18px;margin:0;display:grid}.student-info-fields.is-compact{grid-template-columns:1fr;gap:7px;padding-top:10px}.student-info-fields>div{gap:3px;min-width:0;display:grid}.student-info-fields.is-compact>div{grid-template-columns:62px minmax(0,1fr);align-items:baseline;gap:8px}.student-info-fields dt{color:var(--color-on-surface-variant);font-size:9px;font-weight:650}.student-info-fields dd{overflow-wrap:anywhere;min-width:0;color:var(--color-on-surface);margin:0;font-size:11px;font-weight:650;line-height:1.45}.student-detail-backdrop{z-index:120;background:#0000003d;justify-content:flex-end;display:flex;position:fixed;inset:0}.student-detail-backdrop.is-open{animation:.18s ease-out both student-backdrop-in}.student-detail-backdrop.is-closing{pointer-events:none;animation:.18s ease-in both student-backdrop-out}.student-detail-drawer{border-left:1px solid var(--card-border);background:var(--color-surface);width:min(430px,100vw - 20px);height:100%;color:var(--color-on-surface);flex-direction:column;display:flex;box-shadow:-16px 0 42px #10182829}.student-detail-drawer.is-open{animation:.18s cubic-bezier(.2,.75,.25,1) both student-drawer-in}.student-detail-drawer.is-closing{animation:.18s ease-in both student-drawer-out}.student-detail-header{--student-avatar-size:48px;border-bottom:1px solid var(--card-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:18px 20px;display:grid}.student-detail-header>div{min-width:0}.student-detail-header>div>span{color:var(--color-on-surface-variant);letter-spacing:.08em;margin-bottom:3px;font-size:9px;font-weight:750;display:block}.student-detail-header h2{color:var(--color-on-surface);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:19px;line-height:1.2;overflow:hidden}.student-detail-header p{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:10px;overflow:hidden}.student-detail-header>button{border:1px solid var(--card-border);background:var(--color-surface-low);width:36px;height:36px;color:var(--color-on-surface-variant);border-radius:9px;place-items:center;font-size:20px;display:grid}.student-detail-body{flex:1;min-height:0;padding:2px 20px 28px;overflow-y:auto}.student-detail-section{border-bottom:1px solid color-mix(in srgb, var(--color-outline-variant) 52%, transparent);padding:19px 0 20px}.student-detail-section:last-child{border-bottom:0}.student-detail-section-title{margin-bottom:14px}.student-detail-section-title span{color:var(--color-on-surface);font-size:12px;font-weight:780}.student-course-metrics{background:color-mix(in srgb, var(--color-outline-variant) 42%, transparent);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:15px 0 0;display:grid;overflow:hidden}.student-course-metrics>div{background:var(--color-surface-low);gap:5px;min-width:0;padding:12px;display:grid}.student-course-metrics dt{color:var(--color-on-surface-variant);font-size:9px}.student-course-metrics dd{overflow-wrap:anywhere;color:var(--color-on-surface);margin:0;font-size:12px;font-weight:760}.student-course-metrics .is-attention dd{color:var(--color-secondary)}.student-course-metrics .is-success dd{color:var(--color-success)}.student-quick-actions>div:last-child{gap:7px;display:grid}.student-quick-actions button{border:1px solid var(--card-border);background:var(--color-surface-low);min-height:40px;color:var(--color-on-surface);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:11px;font-weight:680;display:flex}.student-quick-actions button:hover{border-color:color-mix(in srgb, var(--color-primary) 38%, var(--card-border));background:var(--color-primary-container)}.student-quick-actions button.is-primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.student-quick-actions button.is-danger{color:var(--color-error)}.student-quick-actions button:disabled{opacity:.48;cursor:not-allowed}.student-detail-error{background:var(--color-error-container);color:var(--color-error);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding:12px;display:flex}.student-detail-error p{margin:3px 0 0;font-size:10px}.student-detail-error button{color:inherit;background:0 0;border:1px solid;border-radius:7px;flex:none;padding:7px 9px;font-size:10px;font-weight:700}.student-detail-skeleton{grid-template-columns:1fr 1fr;gap:14px;padding-top:22px;display:grid}.student-detail-skeleton span{border-radius:9px;height:52px}.student-detail-skeleton span:first-child{grid-column:1/-1;height:76px}@keyframes student-hover-in{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes student-hover-out{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-3px)scale(.99)}}@keyframes student-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes student-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes student-drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes student-drawer-out{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes student-skeleton{0%{background-position:100% 0}to{background-position:-120% 0}}@media (width<=620px){.student-detail-drawer{border-left:0;width:100%;max-width:none}.student-detail-header{padding:16px}.student-detail-body{padding-left:16px;padding-right:16px}.student-course-metrics{grid-template-columns:1fr 1fr}}.modal-backdrop:has(.course-target-dialog){-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:.18s ease-out both course-target-backdrop-in}.app-shell-teacher .course-target-dialog{border-color:color-mix(in srgb, var(--color-outline-variant) 50%, transparent);border-radius:24px;width:min(920px,100vw - 40px);animation:.18s cubic-bezier(.2,.72,.25,1) both course-target-dialog-in;box-shadow:0 24px 80px #00000038,0 4px 18px #00000014}.app-shell-teacher .course-target-dialog .modal-head{background:var(--color-surface);align-items:flex-start;gap:24px;padding:30px 36px 26px}.app-shell-teacher .course-target-dialog .modal-head>div{min-width:0}.app-shell-teacher .course-target-dialog .modal-head h2{color:var(--color-on-surface);letter-spacing:-.035em;margin:0;font-size:28px;font-weight:650;line-height:1.14}.app-shell-teacher .course-target-dialog .modal-head>div>p{color:var(--color-on-surface-variant);gap:3px;margin-top:18px;font-size:12px;line-height:1.55;display:grid}.app-shell-teacher .course-target-dialog .modal-head>div>p span:last-child{color:var(--color-outline)}.app-shell-teacher .course-target-dialog .modal-head .icon-button{width:30px;height:30px;color:var(--color-on-surface-variant);background:0 0;border-radius:50%;flex:none;font-size:18px;line-height:1;transition:background-color .15s,color .15s,transform .15s}.app-shell-teacher .course-target-dialog .modal-head .icon-button:hover{background:var(--color-surface-high);color:var(--color-on-surface)}.app-shell-teacher .course-target-dialog .modal-head .icon-button:active{transform:scale(.94)}.course-target-identity{gap:4px;margin-top:19px;display:grid}.app-shell-teacher .course-target-identity>span{color:var(--color-primary);letter-spacing:.05em;margin-bottom:2px;font-size:10px;font-weight:650}.app-shell-teacher .course-target-identity>strong{color:var(--color-on-surface);font-size:18px;font-weight:650;line-height:1.35}.app-shell-teacher .course-target-identity>small{color:var(--color-on-surface-variant);font-size:11px;line-height:1.45}.app-shell-teacher .course-target-dialog .teacher-dialog-body{gap:26px;padding:28px 36px 30px}.course-target-section{gap:16px;display:grid}.course-target-section-head{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.app-shell-teacher .course-target-section-head h3{color:var(--color-on-surface);letter-spacing:-.012em;font-size:16px;font-weight:650;line-height:1.3}.app-shell-teacher .course-target-section-head p{color:var(--color-on-surface-variant);margin-top:5px;font-size:11px;line-height:1.5}.course-target-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.course-target-stat-card{border:1px solid color-mix(in srgb, var(--color-outline-variant) 48%, transparent);background:color-mix(in srgb, var(--color-surface-low) 72%, var(--color-surface));border-radius:14px;align-items:flex-start;gap:12px;min-width:0;min-height:108px;padding:16px;display:flex;box-shadow:0 1px 2px #00000006}.course-target-stat-icon{background:var(--color-primary-container);width:30px;height:30px;color:var(--color-primary);border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.course-target-stat-card.is-orange .course-target-stat-icon{background:var(--color-secondary-container);color:var(--color-secondary)}.course-target-stat-card.is-green .course-target-stat-icon{background:var(--color-success-container);color:var(--color-success)}.course-target-stat-card.is-gray .course-target-stat-icon{background:var(--color-surface-high);color:var(--color-on-surface-variant)}.course-target-stat-card>div{align-content:start;gap:8px;min-width:0;display:grid}.app-shell-teacher .course-target-stat-card small{color:var(--color-on-surface-variant);font-size:10px;line-height:1.3}.app-shell-teacher .course-target-stat-card strong{overflow-wrap:anywhere;color:var(--color-on-surface);letter-spacing:-.025em;font-variant-numeric:tabular-nums;font-size:23px;font-weight:650;line-height:1.08}.app-shell-teacher .course-target-stat-card.is-orange strong{color:var(--color-secondary)}.app-shell-teacher .course-target-stat-card.is-compact strong{letter-spacing:0;font-size:13px;line-height:1.45}.course-target-divider{background:color-mix(in srgb, var(--color-outline-variant) 48%, transparent);height:1px}.course-target-setting-list{border:1px solid color-mix(in srgb, var(--color-outline-variant) 52%, transparent);background:var(--color-surface);border-radius:16px;overflow:hidden}.course-target-setting{background:var(--color-surface);gap:10px;padding:20px 22px;display:grid}.course-target-setting+.course-target-setting{border-top:1px solid color-mix(in srgb, var(--color-outline-variant) 44%, transparent)}.app-shell-teacher .course-target-setting label{color:var(--color-on-surface);font-size:13px;font-weight:600;line-height:1.4}.course-target-unit-input{width:min(360px,100%);position:relative}.app-shell-teacher .course-target-unit-input input{border-color:color-mix(in srgb, var(--color-outline-variant) 72%, transparent);background:var(--color-surface);height:46px;color:var(--color-on-surface);font-variant-numeric:tabular-nums;border-radius:11px;padding:0 62px 0 14px;font-size:14px;transition:border-color .15s,box-shadow .15s,background-color .15s}.app-shell-teacher .course-target-unit-input input:hover{border-color:color-mix(in srgb, var(--color-outline) 68%, transparent)}.app-shell-teacher .course-target-unit-input input:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 12%, transparent)}.app-shell-teacher .course-target-unit-input>span{color:var(--color-on-surface-variant);pointer-events:none;font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.app-shell-teacher .course-target-setting>p{color:var(--color-on-surface-variant);font-size:11px;line-height:1.5}.app-shell-teacher .course-target-config .teacher-form-error{margin:0}.app-shell-teacher .course-target-dialog .modal-footer{z-index:2;background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);gap:10px;padding:18px 36px;position:sticky;bottom:0}.app-shell-teacher .course-target-dialog .modal-footer button{border-radius:11px;min-width:112px;min-height:46px;padding:0 20px;font-size:12px}.app-shell-teacher .course-target-dialog .course-target-cancel{box-shadow:none;background:0 0;border-color:#0000}.app-shell-teacher .course-target-dialog .course-target-cancel:hover{background:var(--color-surface-high)}.app-shell-teacher .course-target-dialog .course-target-save{box-shadow:0 4px 12px color-mix(in srgb, var(--color-primary) 24%, transparent)}@keyframes course-target-dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@keyframes course-target-backdrop-in{0%{opacity:0}to{opacity:1}}@media (width<=820px){.course-target-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.app-shell-teacher .course-target-dialog{border-radius:20px;width:calc(100vw - 24px);max-height:calc(100vh - 24px)}.app-shell-teacher .course-target-dialog .modal-head{padding:24px 22px 22px}.app-shell-teacher .course-target-dialog .modal-head h2{font-size:25px}.app-shell-teacher .course-target-dialog .teacher-dialog-body{gap:22px;padding:24px 22px 26px}.course-target-stat-card{min-height:100px;padding:14px}.course-target-setting{padding:18px}.course-target-unit-input{width:100%}.app-shell-teacher .course-target-dialog .modal-footer{padding:14px 22px max(14px, env(safe-area-inset-bottom))}.app-shell-teacher .course-target-dialog .modal-footer button{flex:1 1 0;min-width:0}}.app-shell-tabbed-workspace .workspace-header.workspace-header-focused{width:100%;height:auto;min-height:86px;padding:14px var(--teacher-page-x);background:var(--color-surface);align-items:center}.workspace-header-focused .page-header-copy{min-width:0}.app-shell-tabbed-workspace .workspace-header-focused h1{margin:0 0 5px;font-size:clamp(27px,2.3vw,32px);line-height:1.1}.app-shell-tabbed-workspace .workspace-header-tabbed.workspace-header-focused .page-header-description{max-width:680px;color:var(--color-on-surface-variant);margin:0;font-size:12px;line-height:1.45;display:block}.workspace-header-focused .teacher-header-metrics{display:none}.page-summary-metrics{gap:9px;min-width:0;display:grid}.page-summary-metrics.metrics-count-2{grid-template-columns:repeat(2,minmax(142px,180px))}.page-summary-metrics.metrics-count-3{grid-template-columns:repeat(3,minmax(142px,180px))}.summary-metric{border:1px solid var(--teacher-border);border-radius:var(--teacher-radius-md);background:var(--color-surface);flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:68px;padding:10px 14px;display:flex}.summary-metric b{color:var(--color-on-surface);font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;line-height:1}.summary-metric span{color:var(--color-on-surface-variant);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.summary-metric.is-attention b{color:#a65e00}.summary-metric.is-success b{color:var(--color-success)}.status-tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.status-tabs::-webkit-scrollbar{display:none}.status-tabs button:hover{color:var(--color-on-surface)}.status-tabs button:focus-visible{z-index:1;outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:5px 5px 0 0}.management-table-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.65fr))}@media (width<=860px){.page-summary-metrics{width:100%}.page-summary-metrics.metrics-count-2,.page-summary-metrics.metrics-count-3{grid-template-columns:repeat(var(--summary-column-count,3), minmax(0, 1fr))}.page-summary-metrics.metrics-count-2{--summary-column-count:2}.management-table-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:1fr 1fr}.management-table-layout .filter-toolbar-fields:has(>:nth-child(3):last-child)>:first-child{grid-column:1/-1}}@media (width<=620px){.app-shell-tabbed-workspace .workspace-header.workspace-header-focused{flex-direction:row;align-items:center;gap:12px;min-height:80px;padding:12px 14px}.workspace-header-focused .header-actions{flex:none;width:auto}.workspace-header-focused .page-header-description{display:none!important}.workspace-header-focused .semester-pill{min-width:0;padding:6px 8px;display:flex}.workspace-header-focused .semester-pill span{display:none}.workspace-header-focused .semester-pill b{white-space:nowrap;font-size:9px}.app-shell-tabbed-workspace.app-shell-focused-workspace .page-content{padding-top:24px}.summary-metric{min-height:64px;padding:9px 10px}.summary-metric b{font-size:22px}.summary-metric span{font-size:10px}.management-table-layout .filter-toolbar-fields:has(>:nth-child(3):last-child){grid-template-columns:1fr}.management-table-layout .filter-toolbar-fields:has(>:nth-child(3):last-child)>:first-child{grid-column:auto}}@media (width>=861px){.app-shell-tabbed-workspace .sidebar{transition:padding var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .sidebar .sports-brand,.app-shell-tabbed-workspace .sidebar .sports-brand-wordmark,.app-shell-tabbed-workspace .workspace-label,.app-shell-tabbed-workspace .workspace-label>span,.app-shell-tabbed-workspace .workspace-label>.badge,.app-shell-tabbed-workspace .sidebar nav button>span,.app-shell-tabbed-workspace .sidebar nav button>b,.app-shell-tabbed-workspace .profile-button>span:nth-child(2),.app-shell-tabbed-workspace .profile-button>i{overflow:hidden}.app-shell-tabbed-workspace .sidebar .sports-brand-wordmark{max-height:calc(36px * var(--sidebar-content-visibility));opacity:var(--sidebar-content-visibility);transform:translateX(calc((1 - var(--sidebar-content-visibility)) * -6px));transition:max-height var(--sidebar-transition-duration) var(--sidebar-transition-easing), opacity var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .workspace-label{max-height:calc(26px * var(--sidebar-content-visibility));margin:calc(10px + 18px * var(--sidebar-content-visibility)) calc(8px * var(--sidebar-content-visibility)) calc(6px + 5px * var(--sidebar-content-visibility));transition:max-height var(--sidebar-transition-duration) var(--sidebar-transition-easing), margin var(--sidebar-transition-duration) var(--sidebar-transition-easing);overflow:hidden}.app-shell-tabbed-workspace .sidebar nav button{justify-content:flex-start;align-items:center;gap:calc(13px * var(--sidebar-content-visibility));min-height:48px;padding:0 calc(9px + 10px * (1 - var(--sidebar-content-visibility))) 0 calc(9px + 10px * (1 - var(--sidebar-content-visibility)));transition:gap var(--sidebar-transition-duration) var(--sidebar-transition-easing), padding var(--sidebar-transition-duration) var(--sidebar-transition-easing), color var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing);border-radius:12px;display:flex}.app-shell-tabbed-workspace .sidebar nav .sidebar-nav-icon{flex:0 0 22px}.app-shell-tabbed-workspace .sidebar nav button>span,.app-shell-tabbed-workspace .sidebar nav button>b,.app-shell-tabbed-workspace .profile-button>span:nth-child(2),.app-shell-tabbed-workspace .profile-button>i{max-inline-size:calc(220px * var(--sidebar-content-visibility));opacity:var(--sidebar-content-visibility);pointer-events:none;transform:translateX(calc((1 - var(--sidebar-content-visibility)) * -5px));transition:max-inline-size var(--sidebar-transition-duration) var(--sidebar-transition-easing), opacity var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace .sidebar nav button>b{width:calc(21px * var(--sidebar-content-visibility));min-width:0}.app-shell-tabbed-workspace .sidebar-profile-card{gap:calc(12px * var(--sidebar-content-visibility));padding:10px calc(12px - 4px * (1 - var(--sidebar-content-visibility)));transition:gap var(--sidebar-transition-duration) var(--sidebar-transition-easing), padding var(--sidebar-transition-duration) var(--sidebar-transition-easing), background-color var(--sidebar-transition-duration) var(--sidebar-transition-easing), border-color var(--sidebar-transition-duration) var(--sidebar-transition-easing), box-shadow var(--sidebar-transition-duration) var(--sidebar-transition-easing), transform .16s ease;grid-template-columns:40px minmax(0,1fr)}.app-shell-tabbed-workspace .sidebar-bottom{padding-right:calc(2px + 6px * var(--sidebar-content-visibility));padding-left:calc(2px + 6px * var(--sidebar-content-visibility));transition:padding var(--sidebar-transition-duration) var(--sidebar-transition-easing)}.app-shell-tabbed-workspace.is-sidebar-collapsed .sidebar-profile-card{min-height:56px;box-shadow:none;background:0 0;border-color:#0000;grid-template-columns:40px;justify-content:center;padding:8px}.app-shell-tabbed-workspace.is-sidebar-collapsed .sidebar-profile-card>span:nth-child(2){min-height:0;max-height:0}.app-shell-tabbed-workspace.is-sidebar-collapsed .sidebar nav button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-primary) 18%, transparent)}.app-shell-teacher.is-sidebar-collapsed .teacher-profile-card:hover .teacher-profile-tooltip,.app-shell-teacher.is-sidebar-collapsed .teacher-profile-card:focus-visible .teacher-profile-tooltip{opacity:1;visibility:visible;transition-delay:60ms,60ms,0s;transform:translateY(50%)}}@media (width<=860px){.app-shell-tabbed-workspace .sidebar nav{padding-right:40px}.app-shell-tabbed-workspace.is-sidebar-collapsed .sidebar nav button{grid-template-columns:22px 0;gap:0;padding-left:10px;padding-right:10px}.app-shell-tabbed-workspace.is-sidebar-collapsed .sidebar nav button>span{opacity:0;visibility:hidden;pointer-events:none;width:0;min-width:0;overflow:hidden}}.teacher-api-error{border:1px solid color-mix(in srgb, var(--color-error) 32%, transparent);background:color-mix(in srgb, var(--color-error-container) 54%, var(--color-surface));color:var(--color-error);border-radius:14px;align-items:center;gap:14px;margin:0 0 18px;padding:14px 16px;display:flex}.teacher-api-error div{flex:1;min-width:0}.teacher-api-error p{overflow-wrap:anywhere;margin:4px 0 0}.admin-business-page{width:100%;max-width:1500px;margin:0 auto}.app-shell-admin{--admin-input-border:color-mix(in srgb, var(--color-outline) 62%, var(--color-outline-variant));--admin-input-border-hover:color-mix(in srgb, var(--color-primary) 35%, var(--color-outline));--admin-input-background:color-mix(in srgb, var(--color-surface-low) 88%, var(--color-surface));--admin-input-background-hover:color-mix(in srgb, var(--color-primary-container) 20%, var(--color-surface-low));--admin-input-radius:11px;--admin-input-focus-ring:0 0 0 4px color-mix(in srgb, var(--color-primary) 16%, transparent), 0 3px 8px color-mix(in srgb, var(--color-primary) 8%, transparent);--admin-input-hover-shadow:0 2px 5px color-mix(in srgb, var(--color-on-surface) 7%, transparent);--app-select-height:52px;--app-select-radius:var(--admin-input-radius);--app-select-border-width:1.5px;--app-select-border:var(--admin-input-border);--app-select-border-hover:var(--admin-input-border-hover);--app-select-background:var(--admin-input-background);--app-select-background-hover:var(--admin-input-background-hover);--app-select-label-color:color-mix(in srgb, var(--color-on-surface-variant) 88%, var(--color-on-surface));--app-select-value-color:var(--color-on-surface);--app-select-icon-color:var(--color-on-surface-variant);--app-select-label-size:10px;--app-select-value-size:12px;--app-select-focus-ring:var(--admin-input-focus-ring);--app-select-hover-shadow:var(--admin-input-hover-shadow)}.admin-page-stack{gap:16px;display:grid}.admin-surface{border:1px solid var(--card-border);background:var(--color-surface);border-radius:17px;overflow:hidden}.admin-section-heading{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:flex-start;gap:18px;padding:21px 22px;display:flex}.admin-section-heading h2{letter-spacing:-.025em;margin:0;font-size:18px}.admin-section-heading p{max-width:720px;color:var(--color-on-surface-variant);margin:6px 0 0;font-size:11px;line-height:1.55}.admin-heading-actions{align-items:center;gap:8px;display:flex}.admin-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.admin-summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-summary-grid>button{border:1px solid var(--card-border);background:var(--color-surface);text-align:left;border-radius:16px;flex-direction:column;align-items:flex-start;gap:7px;min-width:0;min-height:130px;padding:20px;display:flex;position:relative;overflow:hidden}.admin-summary-grid>button:before{content:"";background:var(--color-primary);opacity:.9;width:3px;position:absolute;inset:0 auto 0 0}.admin-summary-grid>button:hover{border-color:color-mix(in srgb, var(--color-primary) 34%, var(--card-border));background:color-mix(in srgb, var(--color-primary-container) 28%, var(--color-surface));transform:translateY(-1px)}.admin-summary-grid>button:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary) 26%, transparent);outline-offset:2px}.admin-summary-grid span{color:var(--color-on-surface-variant);font-size:10px;font-weight:750}.admin-summary-grid b{text-overflow:ellipsis;letter-spacing:-.04em;white-space:nowrap;max-width:100%;font-size:clamp(18px,2vw,27px);overflow:hidden}.admin-summary-grid small{color:var(--color-on-surface-variant);font-size:10px;line-height:1.4}.admin-two-column{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-todo-list{padding:4px 22px 14px;display:grid}.admin-todo-list button{border:0;border-bottom:1px solid var(--card-border);text-align:left;background:0 0;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;min-height:55px;display:grid}.admin-todo-list button:last-child{border-bottom:0}.admin-todo-list button:hover{color:var(--color-primary)}.admin-todo-list button>span{font-size:12px;font-weight:700}.admin-todo-list i{color:var(--color-primary);font-style:normal}.admin-quiet-empty{color:var(--color-on-surface-variant);text-align:center;padding:30px 0;font-size:11px}.admin-health-list{padding:4px 22px 14px}.admin-health-list>div{border-bottom:1px solid var(--card-border);grid-template-columns:9px 1fr auto auto;align-items:center;gap:10px;min-height:52px;display:grid}.admin-health-list>div:last-child{border-bottom:0}.admin-health-list b{font-size:11px}.admin-health-list small{color:var(--color-on-surface-variant);font-size:10px}.admin-rule-snapshot{background:var(--card-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.admin-rule-snapshot>span{background:var(--color-surface-low);flex-direction:column;gap:7px;padding:19px 22px;display:flex}.admin-rule-snapshot small{color:var(--color-on-surface-variant);font-size:10px}.admin-rule-snapshot b{font-size:14px}.admin-view-tabs{background:var(--color-surface-high);border-radius:12px;gap:3px;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.admin-view-tabs button{min-height:36px;color:var(--color-on-surface-variant);white-space:nowrap;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:0 14px;font-size:11px;font-weight:750;display:flex}.admin-view-tabs button.selected,.admin-view-tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 2px var(--shadow-black)}.admin-view-tabs button:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.admin-view-tabs button b{background:var(--color-surface-highest);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:9px;display:grid}.admin-view-tabs.compact button{min-height:32px;padding:0 11px}.admin-current-semester{border:1px solid var(--card-border);background:var(--color-surface);border-radius:17px;grid-template-columns:minmax(250px,1fr) minmax(280px,.9fr) auto;align-items:center;gap:26px;padding:23px;display:grid}.admin-current-semester h2{letter-spacing:-.035em;margin:10px 0 5px;font-size:22px}.admin-current-semester p{color:var(--color-on-surface-variant);margin:0;font-size:10px;line-height:1.5}.admin-semester-impact{border-left:3px solid var(--color-secondary);padding:7px 0 7px 14px}.admin-semester-impact b{font-size:11px}.admin-semester-impact p{margin-top:5px}.admin-table-surface{min-width:0}.admin-filter-row{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);align-items:center;gap:10px;min-height:74px;padding:13px 22px;display:flex}.admin-filter-row>.app-select{width:min(220px,100%)}.admin-filter-row>.badge{white-space:normal}.admin-search{border:1.5px solid var(--admin-input-border);border-radius:var(--admin-input-radius);background:var(--admin-input-background);min-width:250px;height:46px;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-surface) 70%, transparent);flex:300px;align-items:center;gap:8px;padding:0 13px;transition:border-color .16s,background-color .16s,box-shadow .16s;display:flex}.admin-search:hover{border-color:var(--admin-input-border-hover);background:var(--admin-input-background-hover);box-shadow:var(--admin-input-hover-shadow)}.admin-search:focus-within{border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--admin-input-focus-ring)}.admin-search span{color:color-mix(in srgb, var(--color-on-surface-variant) 84%, var(--color-on-surface))}.admin-search input{width:100%;height:auto;box-shadow:none;background:0 0;border:0;outline:0;font-size:11px}.admin-search input::placeholder{color:color-mix(in srgb, var(--color-on-surface-variant) 78%, transparent)}.admin-table{min-width:900px}.admin-table th{padding:12px 16px}.admin-table td{padding:13px 16px}.admin-table td>code{white-space:nowrap}.admin-wrap-cell{white-space:normal;max-width:340px;line-height:1.5}.admin-row-actions{white-space:nowrap;align-items:center;gap:5px;display:flex}.admin-row-actions button{background:var(--color-primary-container);min-height:31px;color:var(--color-primary);border:0;border-radius:7px;padding:0 9px;font-size:9px;font-weight:750}.admin-row-actions button:hover{filter:brightness(.98)}.admin-row-actions button.is-danger{background:var(--color-error-container);color:var(--color-error)}.admin-row-actions button:disabled{opacity:.42;cursor:not-allowed}.admin-row-actions>span{color:var(--color-on-surface-variant);font-size:10px}.admin-pagination{border-top:1px solid var(--card-border);min-height:58px;color:var(--color-on-surface-variant);justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;font-size:10px;display:flex}.admin-pagination>div{gap:6px;display:flex}.admin-pagination button{border:1px solid var(--card-border);background:var(--color-surface);border-radius:8px;min-height:32px;padding:0 11px;font-size:10px;font-weight:700}.admin-pagination button:disabled{opacity:.4;cursor:not-allowed}.admin-loading,.admin-empty-state{border:1px solid var(--card-border);background:var(--color-surface);text-align:center;border-radius:17px;align-content:center;place-items:center;gap:12px;min-height:360px;display:grid}.admin-loading p,.admin-empty-state p{max-width:430px;color:var(--color-on-surface-variant);margin:0;font-size:11px;line-height:1.55}.admin-empty-state>span{background:var(--color-primary-container);width:52px;height:52px;color:var(--color-primary);border-radius:50%;place-items:center;font-size:18px;font-weight:850;display:grid}.admin-empty-state h2,.admin-empty-state h3{margin:0;font-size:16px}.admin-empty-state.is-error>span{background:var(--color-error-container);color:var(--color-error)}.admin-spinner{border:3px solid var(--color-surface-highest);border-top-color:var(--color-primary);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite admin-spin}.admin-skeleton-grid{grid-template-columns:repeat(3,1fr);gap:10px;width:min(620px,80vw);display:grid}.admin-skeleton-grid i{background:linear-gradient(90deg, var(--color-surface-low), var(--color-surface-highest), var(--color-surface-low));background-size:200% 100%;border-radius:12px;height:76px;animation:1.3s infinite admin-shimmer}@keyframes admin-spin{to{transform:rotate(360deg)}}@keyframes admin-shimmer{to{background-position:-200% 0}}.admin-modal-backdrop{z-index:120}.admin-dialog{width:min(570px,100%)}.admin-dialog.is-wide{width:min(920px,100%)}.admin-dialog-body{gap:18px;padding:22px 24px;display:grid}.admin-form-grid{gap:16px;display:grid}.admin-form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-field{min-width:0;color:var(--color-on-surface);flex-direction:column;gap:7px;font-size:10px;font-weight:750;display:flex}.admin-field>span{color:color-mix(in srgb, var(--color-on-surface) 86%, var(--color-on-surface-variant));letter-spacing:.01em}.admin-field>span>b{color:var(--color-error)}.admin-field input,.admin-field textarea,.admin-audit-filters input,.admin-inline-fields input,.admin-excluded-grid textarea{border:1.5px solid var(--admin-input-border);border-radius:var(--admin-input-radius);background:var(--admin-input-background);width:100%;color:var(--color-on-surface);font:inherit;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--color-surface) 70%, transparent);outline:0;padding:11px 13px;font-weight:500;transition:border-color .16s,background-color .16s,box-shadow .16s}.admin-field input,.admin-audit-filters input,.admin-inline-fields input{min-height:46px}.admin-field textarea{resize:vertical;min-height:96px;line-height:1.5}.admin-field input:hover:not(:disabled),.admin-field textarea:hover:not(:disabled),.admin-audit-filters input:hover:not(:disabled),.admin-inline-fields input:hover:not(:disabled),.admin-excluded-grid textarea:hover:not(:disabled){border-color:var(--admin-input-border-hover);background:var(--admin-input-background-hover);box-shadow:var(--admin-input-hover-shadow)}.admin-field input:focus,.admin-field textarea:focus,.admin-audit-filters input:focus,.admin-inline-fields input:focus,.admin-excluded-grid textarea:focus{border-color:var(--color-primary);background:var(--color-surface);box-shadow:var(--admin-input-focus-ring)}.admin-field input:disabled{border-color:color-mix(in srgb, var(--admin-input-border) 64%, transparent);background:var(--color-surface-high);color:var(--color-on-surface-variant);box-shadow:none}.admin-field input::placeholder,.admin-field textarea::placeholder,.admin-audit-filters input::placeholder,.admin-inline-fields input::placeholder,.admin-excluded-grid textarea::placeholder{color:color-mix(in srgb, var(--color-on-surface-variant) 78%, transparent);font-weight:450}.admin-field>small{color:var(--color-on-surface-variant);font-size:9px;font-weight:500;line-height:1.45}.admin-field.has-error input,.admin-field.has-error textarea{border-color:var(--color-error)}.admin-field.has-error input:focus,.admin-field.has-error textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-error) 14%, transparent), 0 3px 8px color-mix(in srgb, var(--color-error) 7%, transparent)}.admin-field .admin-field-error{color:var(--color-error)}.admin-field.full-width,.full-width{grid-column:1/-1}.admin-field>.app-select{--app-select-height:46px;--app-select-value-size:12px}.admin-field>.app-select .app-select-label{display:none}.admin-unit-input{align-items:stretch;display:flex}.admin-unit-input input{border-radius:var(--admin-input-radius) 0 0 var(--admin-input-radius)}.admin-unit-input:focus-within input{box-shadow:var(--admin-input-focus-ring)}.admin-unit-input span{border:1.5px solid var(--admin-input-border);border-radius:0 var(--admin-input-radius) var(--admin-input-radius) 0;background:color-mix(in srgb, var(--color-surface-high) 56%, var(--color-surface));min-width:66px;color:var(--color-on-surface-variant);border-left:0;place-items:center;font-weight:650;transition:border-color .16s,background-color .16s;display:grid}.admin-unit-input:hover span,.admin-unit-input:focus-within span{border-color:var(--color-primary)}.admin-inline-error{background:var(--color-error-container);color:var(--color-error);border-radius:10px;margin:0;padding:10px 12px;font-size:10px;line-height:1.45}.admin-form-footer{border-top:1px solid var(--card-border);background:var(--color-surface-low);justify-content:space-between;align-items:center;gap:14px;min-height:64px;margin:20px -22px -22px;padding:14px 22px;display:flex}.admin-form-footer>span{color:var(--color-on-surface-variant);font-size:9px;line-height:1.5}.admin-discard-dialog{z-index:130;border:1px solid var(--card-border);background:var(--color-surface);width:min(390px,100vw - 40px);box-shadow:0 24px 60px var(--shadow-black);border-radius:16px;padding:22px;position:fixed}.admin-discard-dialog h3{margin:0;font-size:17px}.admin-discard-dialog p{color:var(--color-on-surface-variant);margin:8px 0 20px;font-size:11px;line-height:1.5}.admin-discard-dialog>div{justify-content:flex-end;gap:8px;display:flex}.admin-drawer-backdrop{z-index:105;background:var(--overlay-black);justify-content:flex-end;display:flex;position:fixed;inset:0}.admin-drawer{border-left:1px solid var(--card-border);background:var(--color-surface);width:min(520px,100%);height:100%;box-shadow:-20px 0 50px var(--shadow-black);grid-template-rows:auto 1fr auto;animation:.18s both admin-drawer-in;display:grid}@keyframes admin-drawer-in{0%{opacity:.7;transform:translate(30px)}}.admin-drawer>header{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 24px;display:flex}.admin-drawer>header h2{margin:0;font-size:21px}.admin-drawer>header p{color:var(--color-on-surface-variant);margin:6px 0 0;font-size:11px}.admin-drawer-body{min-height:0;padding:22px 24px;overflow-y:auto}.admin-drawer>footer{border-top:1px solid var(--card-border);background:var(--color-surface-low);padding:14px 18px}.admin-drawer-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.admin-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-detail-list.compact{margin-bottom:16px}.admin-detail-list>span{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:11px;flex-direction:column;align-items:flex-start;gap:7px;min-height:70px;padding:13px;display:flex}.admin-detail-list small{color:var(--color-on-surface-variant);font-size:9px}.admin-detail-list b,.admin-detail-list code{overflow-wrap:anywhere;font-size:11px}.admin-info-banner,.admin-planned-banner,.admin-readonly-banner{border:1px solid color-mix(in srgb, var(--color-primary) 23%, var(--card-border));background:color-mix(in srgb, var(--color-primary-container) 55%, var(--color-surface));color:var(--color-on-primary-container);border-radius:12px;padding:13px 15px;font-size:10px;line-height:1.55}.admin-confirm-object{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:12px;flex-direction:column;gap:5px;padding:14px;display:flex}.admin-confirm-object b{font-size:12px}.admin-confirm-object span{color:var(--color-on-surface-variant);font-size:10px}.admin-cascade-warning{border:1px solid color-mix(in srgb, var(--color-error) 28%, var(--card-border));background:var(--color-error-container);color:var(--color-error);border-radius:12px;padding:14px}.admin-cascade-warning b{font-size:10px;line-height:1.5}.admin-cascade-warning ul{margin:9px 0 0 18px;font-size:9px;line-height:1.6}.admin-import-preview{border-top:1px solid var(--card-border);gap:10px;padding-top:16px;display:grid}.admin-import-preview>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.admin-import-preview>div:first-child>span{gap:6px;display:flex}.admin-row-error{color:var(--color-error);font-size:9px;line-height:1.45}.admin-settings-panel{padding:22px;overflow:visible}.admin-settings-panel>.admin-section-heading{margin:-22px -22px 21px}.admin-excluded-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;display:grid}.admin-excluded-grid>section{border:1px solid var(--card-border);background:var(--color-surface-low);border-radius:13px;min-width:0;padding:15px}.admin-excluded-grid h3{margin:0 0 12px;font-size:12px}.admin-excluded-grid textarea{resize:vertical;min-height:76px;margin-top:10px}.admin-inline-fields{grid-template-columns:145px 1fr auto;gap:7px;display:grid}.admin-excluded-list{gap:7px;max-height:250px;display:grid;overflow-y:auto}.admin-excluded-list>div{border:1px solid var(--card-border);background:var(--color-surface);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.admin-excluded-list span{flex-direction:column;gap:3px;display:flex}.admin-excluded-list b{font-size:10px}.admin-excluded-list small{color:var(--color-on-surface-variant);font-size:9px}.admin-excluded-list button{background:var(--color-error-container);width:26px;height:26px;color:var(--color-error);border:0;border-radius:7px}.admin-system-layout{grid-template-columns:minmax(0,1fr) minmax(260px,.36fr);gap:16px;display:grid}.admin-current-mode{border-bottom:1px solid var(--card-border);grid-template-columns:12px 1fr auto;align-items:center;gap:12px;margin:-2px -2px 20px;padding:0 0 20px;display:grid}.admin-current-mode small,.admin-current-mode p{color:var(--color-on-surface-variant);font-size:9px}.admin-current-mode h2{margin:5px 0;font-size:22px}.admin-mode-dot{background:var(--color-success);width:9px;height:9px;box-shadow:0 0 0 5px var(--color-success-container);border-radius:50%}.admin-mode-dot.is-read_only{background:var(--color-secondary);box-shadow:0 0 0 5px var(--color-secondary-container)}.admin-mode-dot.is-maintenance{background:var(--color-error);box-shadow:0 0 0 5px var(--color-error-container)}.admin-mode-options{gap:9px;margin-bottom:18px;display:grid}.admin-mode-options label{border:1px solid var(--card-border);cursor:pointer;border-radius:11px;grid-template-columns:20px 1fr;align-items:center;gap:10px;padding:13px;display:grid}.admin-mode-options label.selected{border-color:var(--color-primary);background:var(--color-primary-container)}.admin-mode-options span{flex-direction:column;gap:4px;display:flex}.admin-mode-options b{font-size:11px}.admin-mode-options small{color:var(--color-on-surface-variant);font-size:9px;line-height:1.45}.admin-maintenance-fields{border-top:1px solid var(--card-border);margin:18px 0;padding-top:18px}.admin-maintenance-fields h3{margin:0 0 13px;font-size:13px}.admin-system-note{padding:22px}.admin-system-note h3{margin:0;font-size:16px}.admin-system-note p{color:var(--color-on-surface-variant);margin:9px 0 16px;font-size:10px;line-height:1.6}.admin-system-note ul{color:var(--color-on-surface-variant);margin:0 0 0 17px;font-size:10px;line-height:1.7}.admin-announcement-list{padding:0 22px 12px;display:grid}.admin-announcement-list article{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 0;display:flex}.admin-announcement-list article:last-child{border-bottom:0}.admin-announcement-list h3{margin:8px 0 5px;font-size:13px}.admin-announcement-list p,.admin-announcement-list small{color:var(--color-on-surface-variant);margin:0;font-size:9px;line-height:1.5}.admin-article-list{padding:0 22px;display:grid}.admin-article-list>article{border-bottom:1px solid var(--card-border);grid-template-columns:1fr auto;align-items:center;gap:22px;padding:18px 0;display:grid}.admin-article-list>article:last-child{border-bottom:0}.admin-article-list article>div>span{align-items:center;gap:8px;display:flex}.admin-article-list h3{margin:9px 0 5px;font-size:14px}.admin-article-list p{-webkit-line-clamp:2;max-width:850px;color:var(--color-on-surface-variant);-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-article-list small{color:var(--color-on-surface-variant);font-size:9px}.admin-article-list article>div>div{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.admin-article-list i{background:var(--color-surface-high);color:var(--color-on-surface-variant);border-radius:999px;padding:4px 7px;font-size:8px;font-style:normal}.admin-article-list aside{align-items:center;gap:6px;display:flex}.admin-article-editor{gap:18px;display:grid}.admin-article-body{min-height:190px!important}.admin-article-preview{border:1px solid var(--card-border);border-radius:13px;overflow:hidden}.admin-article-preview>div{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.admin-article-preview h3{margin:0;font-size:12px}.admin-article-preview article{min-height:130px;padding:20px}.admin-article-preview article h2{margin:0 0 10px;font-size:20px}.admin-article-preview article p{white-space:pre-wrap;color:var(--color-on-surface-variant);margin:0;font-size:11px;line-height:1.7}.admin-readonly-banner{align-items:center;gap:10px;display:flex}.admin-audit-filters{border-bottom:1px solid var(--card-border);background:var(--color-surface-low);grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;padding:14px 22px;display:grid}.admin-audit-filters>label{color:color-mix(in srgb, var(--color-on-surface) 78%, var(--color-on-surface-variant));flex-direction:column;gap:6px;font-size:9px;font-weight:750;display:flex}.admin-audit-filters input{min-height:52px}.admin-json-panel{margin-top:18px}.admin-json-panel h3{margin:0 0 8px;font-size:12px}.admin-json-panel pre{border:1px solid var(--card-border);background:var(--color-on-surface);max-width:100%;color:var(--color-surface);border-radius:12px;padding:14px;font-size:10px;line-height:1.6;overflow:auto}.admin-ticket-thread{gap:10px;max-height:330px;padding:3px;display:grid;overflow-y:auto}.admin-ticket-thread article{background:var(--color-primary-container);border-radius:13px 13px 13px 3px;max-width:82%;padding:13px 14px}.admin-ticket-thread article.is-requester{background:var(--color-surface-high);border-radius:13px 13px 3px;justify-self:end}.admin-ticket-thread b{font-size:10px}.admin-ticket-thread p{margin:6px 0;font-size:11px;line-height:1.55}.admin-ticket-thread small{color:var(--color-on-surface-variant);font-size:8px}.admin-danger-zone{border-color:color-mix(in srgb, var(--color-error) 36%, var(--card-border));background:color-mix(in srgb, var(--color-error-container) 32%, var(--color-surface))}.admin-danger-zone>.admin-section-heading{border-bottom-color:color-mix(in srgb, var(--color-error) 22%, var(--card-border))}.admin-danger-zone>p{color:var(--color-on-surface-variant);margin:0;padding:0 22px 20px;font-size:10px;line-height:1.6}@media (width<=1160px){.admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-summary-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-current-semester{grid-template-columns:1fr auto}.admin-semester-impact{grid-area:2/1/auto/-1}.admin-system-layout{grid-template-columns:1fr}.admin-audit-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media (width<=860px){.admin-two-column,.admin-excluded-grid{grid-template-columns:1fr}.admin-summary-grid.three{grid-template-columns:1fr 1fr}.admin-rule-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-filter-row{flex-wrap:wrap;align-items:stretch}.admin-search{min-width:100%}.admin-filter-row>.app-select{width:calc(50% - 5px)}.admin-form-grid.three-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-audit-filters{grid-template-columns:repeat(2,minmax(140px,1fr))}}@media (width<=620px){.admin-page-stack{gap:12px}.admin-summary-grid,.admin-summary-grid.three{grid-template-columns:1fr}.admin-summary-grid>button{min-height:110px}.admin-section-heading{flex-direction:column}.admin-heading-actions{width:100%}.admin-heading-actions>button{flex:1}.admin-current-semester{grid-template-columns:1fr}.admin-current-semester>button{width:100%}.admin-semester-impact{grid-area:auto}.admin-rule-snapshot,.admin-form-grid.two-columns,.admin-form-grid.three-columns,.admin-detail-list,.admin-audit-filters{grid-template-columns:1fr}.admin-filter-row>.app-select{width:100%}.admin-pagination{flex-direction:column;align-items:flex-start}.admin-dialog-body{padding:18px}.admin-inline-fields{grid-template-columns:1fr}.admin-form-footer{flex-direction:column;align-items:stretch}.admin-form-footer>button{width:100%}.admin-article-list>article{grid-template-columns:1fr}.admin-article-list aside{flex-wrap:wrap}.admin-announcement-list article{flex-direction:column}}@media (prefers-reduced-motion:reduce){.admin-spinner,.admin-skeleton-grid i,.admin-drawer{animation:none}.admin-summary-grid>button{transition:none}}.admin-i18n-boundary{display:contents}:root,:root[data-theme=light]{--font-family-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-display:clamp(2.625rem, 5.4vw, 4.75rem);--font-size-page-title:clamp(1.875rem, 2.6vw, 2.25rem);--font-size-section-title:1.25rem;--font-size-card-title:1.125rem;--font-size-body:.9375rem;--font-size-body-small:.875rem;--font-size-caption:.75rem;--font-size-micro:.6875rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-title:1.3;--line-height-body:1.6;--line-height-caption:1.45;--text-primary:#18181b;--text-secondary:#52525b;--text-tertiary:#71717a;--text-muted:#a1a1aa;--text-inverse:#fff;--text-link:#0068d8;--text-danger:#b42318;--text-warning:#9a5b00;--text-success:#18753a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px}:root[data-theme=dark]{--text-primary:#f4f4f5;--text-secondary:#d4d4d8;--text-tertiary:#a1a1aa;--text-muted:#71717a;--text-inverse:#18181b;--text-link:#66adff;--text-danger:#ff8a82;--text-warning:#ffc266;--text-success:#6fd98b}@media (prefers-color-scheme:dark){:root[data-theme=system]{--text-primary:#f4f4f5;--text-secondary:#d4d4d8;--text-tertiary:#a1a1aa;--text-muted:#71717a;--text-inverse:#18181b;--text-link:#66adff;--text-danger:#ff8a82;--text-warning:#ffc266;--text-success:#6fd98b}}html{font-family:var(--font-family-sans);font-synthesis:none;text-rendering:optimizelegibility}body,button,input,textarea,select{font-family:inherit}body{color:var(--text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}h1,h2,h3,h4,h5,h6,b,strong{color:inherit}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold)}b,strong{font-weight:var(--font-weight-medium)}.page-eyebrow,.eyebrow{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption);letter-spacing:.08em}.page-title,.workspace-header h1{color:var(--text-primary);font-size:var(--font-size-page-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:-.025em;text-wrap:balance;word-break:keep-all}.page-description,.workspace-header p{color:var(--text-secondary);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.section-title,.panel-head,.review-list-head{color:var(--text-primary)}.section-title h2,.panel-head h2,.review-list-head h2,.section-title-text{color:var(--text-primary);font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title);letter-spacing:-.012em}.section-title p,.panel-head p,.review-list-head p,.section-description{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.card-title,.course-card h3,.review-title h3,.side-note-card h3,.article-list h3{color:var(--text-primary);font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title)}.body-text{color:var(--text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.meta-text,.table-secondary-text{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.table-header-text,th{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption);letter-spacing:.025em}.table-primary-text,.person-cell b{color:var(--text-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption)}.numeric-value,.grade-total,.hours-remaining,.hours-complete,.confidence-value{font-size:1rem;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.status-label,.badge{min-height:24px;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:0;padding:3px 8px;line-height:1.25}.action-link,.text-button,.document-link{font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);line-height:var(--line-height-caption)}.app-shell :is(p,small,span,td,th,label,input,textarea,select){font-weight:var(--font-weight-regular)}.app-shell :is(b,strong),.app-shell :is(i,em){font-weight:var(--font-weight-medium)}.workspace-header{min-height:156px;padding-top:var(--space-8);padding-bottom:var(--space-6)}.workspace-header h1{margin:var(--space-2) 0 var(--space-2)}.workspace-header p{max-width:720px}.header-actions{color:var(--text-tertiary)}.workspace-school-mark b,.semester-pill b{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.workspace-school-mark small,.semester-pill span{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.workspace-school-mark{min-width:max-content}.icon-button{color:var(--text-secondary)}.workspace-label>span{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);letter-spacing:.06em}.workspace-label .badge{background:var(--color-surface-variant);color:var(--text-tertiary)}.sidebar nav button{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium);line-height:1.35}.sidebar nav button.active{color:var(--color-primary)}.sidebar nav i{font-weight:var(--font-weight-medium)}.profile-button b{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.profile-button small{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.avatar{font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.primary-button,.secondary-button,.danger-button{min-height:42px;padding-inline:var(--space-4);font-size:var(--font-size-body-small);line-height:1}.primary-button{font-weight:var(--font-weight-semibold)}.secondary-button,.danger-button{font-weight:var(--font-weight-medium)}.small-button,.row-actions button{min-height:32px;font-size:var(--font-size-caption);font-weight:var(--font-weight-medium);padding:6px 10px}.table-wrap .primary-button.small-button,.review-card .primary-button{background:var(--color-surface-highest);color:var(--text-primary);font-weight:var(--font-weight-medium)}.row-actions button:first-child{background:var(--color-surface-highest);color:var(--text-primary)}.danger-link{font-weight:var(--font-weight-medium);color:var(--text-danger)!important}.segmented button{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.segmented button.selected{color:var(--text-primary);font-weight:var(--font-weight-medium)}.sidebar nav,.segmented{scrollbar-width:none}.sidebar nav::-webkit-scrollbar{display:none}.segmented::-webkit-scrollbar{display:none}.course-card{padding:var(--space-6)}.course-card h3{margin:var(--space-4) 0 var(--space-1)}.course-card>p,.task-strip span,.progress-copy small,.info-banner p,.review-main p,.review-meta small{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.task-strip b,.progress-copy span,.info-banner b,.focus-row b,.quick-actions b{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.focus-row small,.quick-actions small,.stat-card>span:last-child{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.stat-card p{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular)}.stat-card strong{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.panel-head,.review-list-head{padding:var(--space-6)}.panel-head h2,.review-list-head h2{margin-top:0}.panel-head p,.review-list-head p{margin-top:var(--space-2)}table{font-variant-numeric:tabular-nums}th{background:var(--color-surface-low);text-transform:none}th,td{padding:15px 18px}td{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:1.5}td>b{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.person-cell{gap:var(--space-3)}.person-cell>span,.review-avatar{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.person-cell>div{gap:var(--space-1)}.person-cell small,.table-sub,.checkin-email,.confidence-empty{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.checkin-record-table td:nth-child(-n+2){color:var(--text-tertiary);font-size:var(--font-size-caption)}.warning-text{font-weight:var(--font-weight-medium);color:var(--text-warning)!important}.teacher-panel-head>.teacher-field>span,.teacher-filter-row label>span,.teacher-field>span{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.teacher-field>small,.field-note,.teacher-field>span b{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.checkin-student-summary>div:first-child>p,.checkin-summary-metrics small,.checkin-album-date small,.album-record-summary span{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.checkin-summary-metrics b{color:var(--text-primary);font-size:1.125rem;font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.record-proof-links button,.checkin-description{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.record-proof-links button>span,.checkin-description>span{font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.checkin-album-month h3{color:var(--text-primary);font-size:1rem;font-weight:var(--font-weight-semibold)}.checkin-album-date b,.album-record-summary b{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.proof-thumbnail>span,.proof-thumbnail>small,.evidence-thumbnail>span,.evidence-thumbnail>small,.evidence-preview-canvas>small,.evidence-preview-type{font-weight:var(--font-weight-medium)}.proof-thumbnail>span,.proof-thumbnail>small,.evidence-thumbnail>span,.evidence-thumbnail>small{font-size:var(--font-size-caption)}.dialog-section-head h3{color:var(--text-primary);font-size:var(--font-size-card-title);font-weight:var(--font-weight-semibold)}.dialog-section-head p,.task-list article p,.detail-card>p{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.task-list article b,.proof-panel b,.publish-checklist span{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.task-list article small,.proof-panel small,.detail-card dt,.evidence-materials-head>small,.evidence-preview-info dt{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular);line-height:var(--line-height-caption)}.detail-card dd,.evidence-preview-info dd{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.course-detail-summary small,.score-preview span{color:var(--text-tertiary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.course-detail-summary b,.score-preview b{color:var(--text-primary);font-size:1rem;font-weight:var(--font-weight-semibold)}.evidence-materials-head>span,.evidence-preview-info>span,.sla-strip b,.ticket-message b{color:var(--text-primary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.material-file-links .document-link{color:var(--text-secondary);font-size:var(--font-size-caption);font-weight:var(--font-weight-regular)}.material-file-links .document-link>span{color:var(--text-link);font-size:var(--font-size-caption);font-weight:var(--font-weight-medium)}.modal-head h2{color:var(--text-primary);font-size:var(--font-size-section-title);font-weight:var(--font-weight-semibold);line-height:var(--line-height-title)}.modal-head p{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-regular);line-height:var(--line-height-body)}.modal-fields label>span,.reason-field>span,.field-grid label>span,.login-card label>span:first-child{color:var(--text-secondary);font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.theme-control button,.language-toggle button{font-weight:var(--font-weight-medium)}.brand small{font-size:var(--font-size-micro);font-weight:var(--font-weight-regular)}.info-banner>span,.empty-state>span,.focus-icon,.mode-options i{font-weight:var(--font-weight-medium)}.toast{font-size:var(--font-size-body-small);font-weight:var(--font-weight-medium)}.invite-code>span{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}@media (width<=860px){.workspace-school-mark{min-width:auto}.workspace-school-mark>span{display:none}}@media (width<=760px){.workspace-header{min-height:auto}.workspace-header h1{font-size:clamp(1.75rem,8vw,2rem)}.panel-head,.review-list-head{padding:var(--space-5)}.compact-actions,.card-actions,.info-banner{flex-wrap:wrap}.info-banner>button{margin-left:41px}}@media (width<=620px){.workspace-school-mark{display:none}.semester-pill b{white-space:nowrap}}:root{--app-select-height:60px;--app-select-radius:13px;--app-select-border-width:1px;--app-select-border:color-mix(in srgb, var(--color-outline-variant) 78%, transparent);--app-select-border-hover:color-mix(in srgb, var(--color-outline) 70%, var(--color-outline-variant));--app-select-background:var(--color-surface);--app-select-background-hover:color-mix(in srgb, var(--color-surface-low) 72%, var(--color-surface));--app-select-label-color:var(--color-on-surface-variant);--app-select-value-color:var(--color-on-surface);--app-select-icon-color:var(--color-on-surface-variant);--app-select-label-size:12px;--app-select-value-size:15px;--app-select-horizontal-padding:16px;--app-select-icon-size:17px;--app-select-focus-ring:0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent);--app-select-hover-shadow:none;--app-select-menu-gap:7px;--app-select-menu-radius:12px;--app-select-menu-padding:6px;--app-select-menu-shadow:0 14px 34px #1118271c, 0 3px 10px #11182712;--app-select-option-height:42px;--app-select-option-radius:8px;--app-select-option-font-size:14px;--app-select-option-hover:color-mix(in srgb, var(--color-primary-container) 34%, var(--color-surface-low));--app-select-option-selected:color-mix(in srgb, var(--color-primary-container) 68%, var(--color-surface));--app-select-transition:.16s cubic-bezier(.2, .75, .25, 1)}.app-select{width:100%;min-width:0;color:var(--app-select-value-color);writing-mode:horizontal-tb;gap:6px;display:grid}.app-select-control{min-width:0;position:relative}.app-select-trigger{width:100%;height:var(--app-select-height);border:var(--app-select-border-width) solid var(--app-select-border);border-radius:var(--app-select-radius);min-width:0;padding:8px 46px 8px var(--app-select-horizontal-padding);background:var(--app-select-background);color:var(--app-select-value-color);box-shadow:none;text-align:left;transition:border-color var(--app-select-transition), background-color var(--app-select-transition), box-shadow var(--app-select-transition), transform var(--app-select-transition);align-items:center;display:flex}.app-select-trigger:hover:not(:disabled){border-color:var(--app-select-border-hover);background:var(--app-select-background-hover);box-shadow:var(--app-select-hover-shadow)}.app-select.is-open .app-select-trigger,.app-select-trigger:focus-visible{border-color:color-mix(in srgb, var(--color-primary) 72%, var(--app-select-border));box-shadow:var(--app-select-focus-ring);outline:0}.app-select-copy{gap:3px;min-width:0;line-height:1.2;display:grid}.app-select-label,.app-select-value{text-overflow:ellipsis;white-space:nowrap;writing-mode:horizontal-tb;min-width:0;display:block;overflow:hidden}.app-select-label{color:var(--app-select-label-color);font-size:var(--app-select-label-size);font-weight:600}.app-select-label b{color:var(--color-error)}.app-select-value{color:var(--app-select-value-color);font-size:var(--app-select-value-size);letter-spacing:-.01em;font-weight:650}.app-select-value.is-placeholder{color:var(--color-on-surface-variant);font-weight:500}.app-select-icon-slot{width:var(--app-select-icon-size);height:var(--app-select-icon-size);color:var(--app-select-icon-color);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.app-select-chevron,.app-select-spinner{width:var(--app-select-icon-size);height:var(--app-select-icon-size)}.app-select-chevron{transition:transform var(--app-select-transition)}.app-select.is-open .app-select-chevron{transform:rotate(180deg)}.app-select-spinner{animation:.7s linear infinite app-select-spin}.app-select.is-clearable .app-select-trigger{padding-right:74px}.app-select.is-clearable .app-select-icon-slot{right:14px}.app-select-clear{z-index:1;width:26px;height:26px;color:var(--color-on-surface-variant);background:0 0;border:0;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:39px;transform:translateY(-50%)}.app-select-clear:hover{background:var(--color-surface-high);color:var(--color-on-surface)}.app-select-clear:focus-visible{box-shadow:var(--app-select-focus-ring);outline:0}.app-select.is-disabled{cursor:not-allowed}.app-select-trigger:disabled{cursor:not-allowed;border-color:color-mix(in srgb, var(--app-select-border) 62%, transparent);background:color-mix(in srgb, var(--color-surface-low) 78%, transparent);color:var(--color-on-surface-variant);opacity:.62}.app-select.has-error .app-select-trigger{border-color:color-mix(in srgb, var(--color-error) 65%, var(--app-select-border))}.app-select.has-error .app-select-trigger:focus-visible,.app-select.has-error.is-open .app-select-trigger{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 10%, transparent)}.app-select-helper,.app-select-error{padding:0 2px;font-size:11px;line-height:1.45}.app-select-helper{color:var(--color-on-surface-variant)}.app-select-error{color:var(--color-error)}.app-select-popover{z-index:5000;border:1px solid color-mix(in srgb, var(--color-outline-variant) 72%, transparent);border-radius:var(--app-select-menu-radius);min-width:0;padding:var(--app-select-menu-padding);background:var(--color-surface);box-shadow:var(--app-select-menu-shadow);color:var(--color-on-surface);opacity:0;visibility:hidden;transform-origin:top;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateY(-3px)scale(.99)}.app-select-popover[data-placement=top]{transform-origin:bottom;transform:translateY(3px)scale(.99)}.app-select-popover[data-positioned=true]{visibility:visible;animation:app-select-menu-in var(--app-select-transition) both}.app-select-search{flex:none;margin-bottom:5px;display:block;position:relative}.app-select-search>svg{z-index:1;width:15px;height:15px;color:var(--color-on-surface-variant);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.app-select-search input[type=search]{border:1px solid var(--app-select-border);background:var(--color-surface-low);width:100%;height:38px;color:var(--color-on-surface);border-radius:9px;outline:0;padding:0 12px 0 34px;font-size:13px}.app-select-search input[type=search]:focus{border-color:color-mix(in srgb, var(--color-primary) 60%, var(--app-select-border));box-shadow:0 0 0 2px color-mix(in srgb, var(--color-primary) 9%, transparent)}.app-select-listbox{overscroll-behavior:contain;scrollbar-color:color-mix(in srgb, var(--color-outline) 36%, transparent) transparent;scrollbar-width:thin;min-height:0;overflow-y:auto}.app-select-listbox::-webkit-scrollbar{width:7px}.app-select-listbox::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--color-outline) 38%, transparent);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.app-select-option{height:var(--app-select-option-height);border-radius:var(--app-select-option-radius);min-width:0;color:var(--color-on-surface);cursor:pointer;font-size:var(--app-select-option-font-size);align-items:center;padding:0 38px 0 12px;line-height:1;transition:background-color .13s,color .13s;display:flex;position:relative}.app-select-option+.app-select-option{margin-top:2px}.app-select-option>span{text-overflow:ellipsis;white-space:nowrap;writing-mode:horizontal-tb;min-width:0;overflow:hidden}.app-select-option:hover,.app-select-option.is-active{background:var(--app-select-option-hover)}.app-select-option.is-selected{background:var(--app-select-option-selected);color:color-mix(in srgb, var(--color-primary) 82%, var(--color-on-surface));font-weight:650}.app-select-option.is-selected.is-active{background:color-mix(in srgb, var(--color-primary-container) 82%, var(--color-surface))}.app-select-option.is-disabled{color:var(--color-on-surface-variant);cursor:not-allowed;opacity:.48;background:0 0}.app-select-check{width:17px;height:17px;color:var(--color-primary);stroke-width:2.4px;position:absolute;right:12px}.app-select-empty{min-height:76px;color:var(--color-on-surface-variant);text-align:center;place-items:center;padding:14px;font-size:13px;display:grid}.filter-bar>.app-select{flex:0 168px;width:168px}.teacher-panel-head>.app-select{flex:none;width:min(240px,100%)}.form-grid>.app-select{align-self:start}@keyframes app-select-menu-in{0%{opacity:0;transform:translateY(-3px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes app-select-spin{to{transform:rotate(360deg)}}@media (width<=720px){.filter-bar>.app-select,.teacher-panel-head>.app-select{flex-basis:auto;width:100%}}@media (prefers-reduced-motion:reduce){.app-select-trigger,.app-select-chevron,.app-select-option{transition-duration:0s}.app-select-popover[data-positioned=true]{animation-duration:0s}}
