:root{--color-surface-app:#f7f3eb;--color-surface:#fffdf9;--color-surface-subtle:#eee8dc;--color-text-primary:#162b45;--color-text-secondary:#5e6977;--color-text-muted:#7d8793;--color-text-inverse:#fff;--color-border-default:#ddd6c8;--color-border-subtle:#e5e9ee;--color-border-strong:#b9c2cc;--color-border-focus:#12345a;--color-brand-primary:#12345a;--color-brand-primary-hover:#0d2948;--color-brand-accent:#b88320;--color-success:#356b44;--color-success-surface:#e7f3e9;--color-warning:#8d6212;--color-warning-surface:#faf0d6;--color-error:#a43d3d;--color-error-surface:#f8eaea;--color-info:#3c78c2;--color-info-surface:#e8f1fb;--font-size-display:32px;--font-size-page-title:24px;--font-size-section-title:20px;--font-size-panel-title:16px;--font-size-body:14px;--font-size-compact:13px;--font-size-label:13px;--font-size-metadata:12px;--line-height-display:40px;--line-height-page-title:32px;--line-height-section-title:28px;--line-height-panel-title:24px;--line-height-body:22px;--line-height-compact:20px;--line-height-label:18px;--line-height-metadata:16px;--font-weight-display:700;--font-weight-page-title:700;--font-weight-section-title:700;--font-weight-panel-title:700;--font-weight-body:400;--font-weight-compact:400;--font-weight-label:600;--font-weight-metadata:500;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-5:20px;--space-10:40px;--layout-standard-max:1120px;--layout-readable-max:960px;--layout-gutter-desktop:32px;--layout-gutter-tablet:24px;--layout-gutter-mobile:16px;--radius-control:6px;--radius-panel:8px;--radius-overlay:10px;--radius-badge:999px;--radius-report:10px;--radius-student:12px;--radius-modal:var(--radius-overlay);--shadow-none:none;--shadow-elevation:0 4px 12px #162b4514;--shadow-overlay:0 12px 32px #162b4524;--control-height-compact:36px;--control-height-default:44px;--touch-target-min:var(--control-height-default);--icon-size-compact:16px;--icon-size-default:18px;--icon-size-navigation:18px;--motion-interaction:.15s;--breakpoint-tablet:768px;--breakpoint-desktop:1200px;--color-brand-navy:var(--color-brand-primary);--color-brand-navy-strong:var(--color-brand-primary-hover);--color-brand-gold:var(--color-brand-accent);--color-brand-gold-strong:var(--color-warning);--color-surface-ivory:var(--color-surface-app);--color-surface-card:var(--color-surface);--color-surface-muted:var(--color-surface-subtle);--color-neutral-50:#fafbfc;--color-neutral-100:#f1f3f5;--color-neutral-200:var(--color-border-subtle);--color-neutral-300:#d3d9e1;--color-neutral-500:var(--color-text-muted);--color-neutral-700:var(--color-text-secondary);--color-neutral-900:var(--color-text-primary);--color-border:var(--color-border-default);--color-danger:var(--color-error);--color-danger-surface:var(--color-error-surface);--color-text:var(--color-text-primary);--font-size-table:var(--font-size-compact);--font-size-kpi:28px;--shadow-floating:var(--shadow-elevation);--shadow-modal:var(--shadow-overlay);--brand-primary:var(--color-brand-primary);--brand-primary-strong:var(--color-brand-primary-hover);--brand-accent:var(--color-brand-accent);--brand-accent-strong:var(--color-warning);--surface-page:var(--color-surface-app);--surface-card:var(--color-surface);--surface-muted:var(--color-surface-subtle);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-muted:var(--color-text-muted);--border-subtle:var(--color-border-default);--status-danger:var(--color-error);--focus-ring:var(--color-brand-accent)}
.ui-button,.ui-icon-button{min-height:var(--control-height-default);justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-control);cursor:pointer;font:inherit;font-size:var(--font-size-body);font-weight:var(--font-weight-label);line-height:var(--line-height-label);transition:background-color var(--motion-interaction) ease, border-color var(--motion-interaction) ease, color var(--motion-interaction) ease, opacity var(--motion-interaction) ease;border:1px solid #0000;display:inline-flex}.ui-button{padding:0 var(--space-4)}.ui-button-compact{min-height:var(--control-height-compact);padding:0 var(--space-3);font-size:var(--font-size-compact)}.ui-button:active:not(:disabled),.ui-icon-button:active:not(:disabled){transform:translateY(1px)}.ui-button:disabled,.ui-icon-button:disabled{cursor:not-allowed;opacity:.55}.ui-button[aria-busy=true]{cursor:progress}.ui-button-primary{background:var(--color-brand-primary);color:var(--color-text-inverse)}.ui-button-primary:hover:not(:disabled){background:var(--color-brand-primary-hover)}.ui-button-secondary{border-color:var(--color-brand-primary);background:var(--color-surface);color:var(--color-brand-primary)}.ui-button-secondary:hover:not(:disabled){background:var(--color-info-surface)}.ui-button-ghost{color:var(--color-text-secondary);background:0 0}.ui-button-ghost:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-brand-primary)}.ui-button-destructive{border-color:var(--color-error);background:var(--color-error-surface);color:var(--color-error)}.ui-button-destructive:hover:not(:disabled){background:#f2dcdc}.ui-button-icon{width:var(--control-height-default);padding:0}.ui-icon-button{width:var(--control-height-default);color:var(--color-text-secondary);background:0 0;padding:0}.ui-icon-button:hover:not(:disabled){background:var(--color-neutral-100);color:var(--color-brand-primary)}.ui-input,.ui-select,.ui-textarea{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-text-primary);font:inherit;font-size:var(--font-size-body);line-height:var(--line-height-body);transition:border-color var(--motion-interaction) ease, background-color var(--motion-interaction) ease, color var(--motion-interaction) ease}.ui-input,.ui-select{min-height:var(--control-height-default);padding:0 var(--space-3)}.ui-input-compact,.ui-select-compact{min-height:var(--control-height-compact);font-size:var(--font-size-compact)}.ui-textarea{resize:vertical;min-height:96px;padding:var(--space-3)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--color-text-muted)}.ui-input:hover:not(:disabled),.ui-select:hover:not(:disabled),.ui-textarea:hover:not(:disabled){border-color:var(--color-border-focus)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{cursor:not-allowed;background:var(--color-neutral-100);color:var(--color-text-muted)}.ui-input[aria-invalid=true],.ui-select[aria-invalid=true],.ui-textarea[aria-invalid=true]{border-color:var(--color-error)}.ui-panel{border:1px solid var(--color-border-default);border-radius:var(--radius-panel);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-none)}.ui-panel-compact{border-radius:var(--radius-control)}.ui-panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border-default);min-height:48px;padding:var(--space-2) var(--space-4);display:flex}.ui-panel-header h2,.ui-panel-header h3{color:var(--color-brand-primary);font-size:var(--font-size-panel-title);font-weight:var(--font-weight-panel-title);line-height:var(--line-height-panel-title);margin:0}.ui-panel-header p{color:var(--color-text-secondary);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);margin:0}.ui-panel-content{padding:var(--space-4)}.ui-section{min-width:0}.ui-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:32px;margin-bottom:var(--space-3);display:flex}.ui-section-heading h2,.ui-section-heading h3{color:var(--color-brand-primary);font-size:var(--font-size-section-title);font-weight:var(--font-weight-section-title);line-height:var(--line-height-section-title);margin:0}.ui-divider{background:var(--color-border-subtle);border:0;width:100%;height:1px;margin:0}.ui-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:2px solid var(--color-brand-primary);padding-bottom:var(--space-3);display:flex}.ui-page-header-copy{min-width:0}.ui-page-header-eyebrow{color:var(--color-text-secondary);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);margin:0}.ui-page-header h1{margin:var(--space-1) 0 0;color:var(--color-brand-primary);font-size:var(--font-size-page-title);font-weight:var(--font-weight-page-title);line-height:var(--line-height-page-title);letter-spacing:-.025em}.ui-page-header-description{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.ui-page-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-form-field{gap:var(--space-1);display:grid}.ui-form-field+.ui-form-field{margin-top:var(--space-4)}.ui-form-field label{color:var(--color-text-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.ui-form-field label span{color:var(--color-text-muted);font-size:var(--font-size-metadata);font-weight:var(--font-weight-body)}.ui-form-field-error{color:var(--color-error);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);margin:0}.ui-form-field-helper{color:var(--color-text-secondary);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);margin:0}.ui-status-badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-badge);min-height:28px;font-size:var(--font-size-metadata);font-weight:var(--font-weight-label);line-height:var(--line-height-metadata);white-space:nowrap;padding:0 10px;display:inline-flex}.ui-status-badge-compact{min-height:24px;padding:0 var(--space-2)}.ui-status-success{background:var(--color-success-surface);color:var(--color-success)}.ui-status-warning{background:var(--color-warning-surface);color:var(--color-warning)}.ui-status-error,.ui-status-danger{background:var(--color-error-surface);color:var(--color-error)}.ui-status-info{background:var(--color-info-surface);color:var(--color-info)}.ui-status-neutral{background:var(--color-neutral-100);color:var(--color-text-secondary)}.ui-feedback-state{place-items:center;gap:var(--space-2);min-height:120px;padding:var(--space-6);color:var(--color-text-secondary);text-align:center;display:grid}.ui-feedback-state p{font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.ui-feedback-state-error{color:var(--color-error)}.ui-feedback-state-success{color:var(--color-success)}.ui-feedback-state-action{margin-top:var(--space-2)}.ui-feedback-state-loading svg{animation:1s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-data-list{margin:0;padding:0;list-style:none}.ui-data-list>li{border-bottom:1px solid var(--color-border-subtle)}.ui-data-list>li:last-child{border-bottom:0}.ui-dense-list-header{border-bottom:1px solid var(--color-border-default);min-height:40px;color:var(--color-text-secondary);font-size:var(--font-size-metadata);font-weight:var(--font-weight-label);line-height:var(--line-height-metadata);align-items:center;display:grid}.ui-dense-list-row{border-bottom:1px solid var(--color-border-subtle);min-height:44px;padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-size:var(--font-size-compact);line-height:var(--line-height-compact);align-items:center;display:grid}.ui-dense-list-row-default{min-height:52px}.ui-dense-list-row[data-selected=true]{background:var(--color-surface-subtle);color:var(--color-brand-primary);box-shadow:inset 3px 0 0 var(--color-brand-accent)}.ui-checkbox-column{width:44px}
@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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-50:#fafafa;--color-neutral-100:#f5f5f5;--color-neutral-300:#d4d4d4;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-neutral-700:#404040;--color-neutral-900:#171717;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-neutral-50:lab(98.26% 0 0);--color-neutral-100:lab(96.52% -.0000298023 .0000119209);--color-neutral-300:lab(84.92% 0 -.0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0);--color-neutral-700:lab(27.036% 0 0);--color-neutral-900:lab(7.78201% -.0000149012 0)}}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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{.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}.block{display:block}.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,)}.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,)}}*{box-sizing:border-box}html{background:var(--surface-page);min-width:320px}body{background:var(--surface-page);color:var(--text-primary);margin:0;font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.brand-mark{border:2px solid var(--brand-accent);background:var(--brand-primary);color:#fff;border-radius:.75rem;place-items:center;width:2.75rem;height:2.75rem;font-family:Georgia,serif;font-size:1.45rem;font-style:italic;font-weight:700;line-height:1;display:grid}.brand-wordmark{color:var(--brand-primary);letter-spacing:-.04em;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:700}.brand-wordmark span{color:var(--brand-accent-strong)}.brand-logo{object-fit:contain;width:auto;height:2.6rem}.brand-lockup{color:var(--brand-primary);align-items:center;gap:.65rem;font-size:1.05rem;display:flex}.brand-home-link{text-decoration:none}.header-name{color:var(--brand-primary);margin-left:.55rem;font-weight:700}.dashboard-grid{gap:1rem;display:grid}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.metric-card,.content-card{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:1rem}.metric-card{min-height:8rem;padding:1rem}.metric-label{color:var(--text-secondary);font-size:.8rem;font-weight:700}.metric-value{color:var(--brand-primary);margin-top:.8rem;font-size:1.8rem;font-weight:750;line-height:1}.content-card{padding:1.1rem}.status-badge{color:var(--brand-accent-strong);background:#f5ecda;border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.login-page{place-items:center;min-height:100dvh;padding:1rem;display:grid}.login-card{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:1.25rem;width:min(100%,28rem);padding:1.5rem}.form-label{color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;font-weight:700;display:block}.form-input{width:100%;min-height:3.1rem;color:var(--text-primary);background:#fff;border:1px solid #b9c2cc;border-radius:.7rem;padding:.75rem}.form-input::placeholder{color:var(--text-muted)}.form-input[aria-invalid=true]{border-color:var(--status-danger)}.primary-button{background:var(--brand-primary);color:#fff;cursor:pointer;border:0;border-radius:.7rem;justify-content:center;align-items:center;width:100%;min-height:3.2rem;font-weight:750;display:inline-flex}.primary-button:hover:not(:disabled){background:var(--brand-primary-strong)}.primary-button:disabled{cursor:not-allowed;opacity:.65}.field-error{color:var(--status-danger);margin:.45rem 0 0;font-size:.82rem}.auth-loading{min-height:100dvh;color:var(--text-secondary);place-items:center;font-size:.9rem;display:grid}.form-label-spaced{margin-top:1rem}.field-help,.field-success{margin:.45rem 0 0;font-size:.82rem}.field-help{color:var(--text-secondary)}.field-success{color:#356b44}.auth-action-copy{color:var(--text-secondary);margin:1rem 0 0;font-size:.85rem}.auth-action-copy a,.back-link,.secondary-link,.class-members a{color:var(--brand-primary);font-weight:700}.role-choice,.simple-list{gap:.75rem;display:grid}.role-choice a,.simple-list>a,.simple-list>article,.connection-preview{border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-primary);border-radius:.8rem;gap:.35rem;padding:1rem;text-decoration:none;display:grid}.role-choice a,.simple-list>a{border-radius:.4rem}.role-choice strong,.simple-list strong,.connection-preview strong{color:var(--brand-primary)}.role-choice span,.simple-list span,.connection-preview span,.teacher-row span{color:var(--text-secondary);font-size:.88rem}.simple-page{gap:1.25rem;display:grid}.admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.admin-summary strong{border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--brand-primary);text-align:center;border-radius:.75rem;padding:.85rem .6rem}.page-heading{border-bottom:2px solid var(--brand-primary);padding-bottom:.85rem}.page-heading h1,.page-heading p,.page-heading span{margin:0}.page-heading h1{color:var(--brand-primary);margin-top:.25rem;font-size:1.6rem}.page-heading p,.page-heading span,.page-status{color:var(--text-secondary)}.secondary-link{border:1px solid var(--brand-primary);background:#fff;border-radius:.7rem;justify-content:center;align-items:center;min-height:3rem;padding:0 1rem;text-decoration:none;display:inline-flex}.code-search>div{gap:.5rem;display:flex}.code-search .form-input{min-width:0}.teacher-code-input{letter-spacing:.12em;text-transform:uppercase}.connection-preview{margin-top:.75rem}.connection-preview .primary-button{margin-top:.65rem}.teacher-row{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.teacher-row>div{gap:.25rem;display:grid}.student-class-checklist{border-top:1px solid var(--border-subtle);gap:0;display:grid}.student-class-check{border-bottom:1px solid var(--border-subtle);cursor:pointer;align-items:center;gap:.75rem;min-height:3.25rem;display:flex}.student-class-check input{width:1.1rem;height:1.1rem;accent-color:var(--brand-primary)}.student-class-check span{gap:.2rem;display:grid}.student-class-check small{color:var(--text-secondary);font-size:.88rem}.section-description{color:var(--text-secondary);margin:.25rem 0 0;font-size:.88rem}.pwa-install-prompt{align-items:center;gap:var(--space-3);margin-top:var(--space-5);border-top:1px solid var(--color-border);padding-top:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.pwa-install-prompt strong{color:var(--color-brand-navy)}.pwa-install-prompt p{color:var(--color-text-secondary);font-size:var(--font-size-metadata);grid-column:1/-1;margin:0}.pwa-install-prompt>div p{grid-column:auto;margin-top:.2rem}.pwa-install-guide{align-items:flex-start;gap:var(--space-2);display:flex}.pwa-install-message{color:var(--color-brand-navy)!important}.class-members{margin-top:1.5rem}.class-member-link{border-bottom:1px solid var(--border-subtle);padding:.8rem 0;text-decoration:none;display:block}.secondary-button,.text-button,.danger-button{cursor:pointer;border-radius:.7rem;min-height:2.9rem;font-weight:700}.secondary-button{border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;padding:0 1rem}.text-button{color:var(--text-secondary);background:0 0;border:0;padding:0 .75rem}.danger-button{color:var(--status-danger);background:0 0;border:1px solid #d9b6b6;padding:0 .85rem}.classes-page{gap:1.25rem;display:grid}.classes-heading{border-bottom:2px solid var(--brand-primary);justify-content:space-between;align-items:end;gap:1rem;padding-bottom:.85rem;display:flex}.classes-heading p,.classes-heading h1,.classes-heading span{margin:0}.classes-heading p,.classes-heading span{color:var(--text-secondary);font-size:.82rem}.classes-heading h1{color:var(--brand-primary);margin-top:.25rem;font-size:1.6rem}.classes-heading span{margin-top:.35rem;display:block}.classes-layout{gap:1.25rem;display:grid}.class-list-panel,.class-editor-panel{min-width:0}.class-list-panel{border:1px solid var(--border-subtle);background:var(--surface-card);padding:.65rem .85rem}.class-list{margin:0;padding:0;list-style:none}.class-list-row{border:0;border-bottom:1px solid var(--border-subtle);width:100%;min-height:5.6rem;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;padding:.85rem 0}.class-list-row strong,.class-list-row span,.class-list-row small{display:block}.class-list-row strong{color:var(--brand-primary);font-size:1rem}.class-list-row span,.class-list-row small{color:var(--text-secondary);margin-top:.3rem;font-size:.83rem}.classes-status{border-top:1px solid var(--border-subtle);color:var(--text-secondary);margin:0;padding:1.25rem 0;line-height:1.65}.class-editor-panel>.class-form,.class-editor-panel>.class-members{border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:.45rem;padding:1rem}.class-editor-panel>.class-members{margin-top:1.25rem}.class-editor-panel>.class-form{border-top:3px solid var(--brand-primary)}.class-collapsible{box-shadow:none;border-radius:.35rem}.class-collapsible summary{background:#f1f3f5}.class-form h2{color:var(--brand-primary);margin:0 0 1.3rem;font-size:1.08rem}.class-form .form-label{margin-top:1rem}.class-form .form-label span{color:var(--text-muted);font-size:.78rem;font-weight:400}.form-textarea{resize:vertical;width:100%;min-height:7rem;color:var(--text-primary);background:#fff;border:1px solid #b9c2cc;border-radius:.7rem;padding:.75rem}.class-form-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.class-form-actions .primary-button{width:auto;min-width:7rem;padding:0 1rem}.class-sessions .section-title{align-items:flex-end;gap:1rem}.class-sessions .section-title h2,.homework-section>.section-title h2,.class-members>.section-title h2{letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.class-sessions,.homework-section{border-top:3px solid var(--brand-primary);background:var(--surface-card);border-radius:.2rem;padding:1rem}.homework-section{border-top-color:var(--brand-accent)}.class-sessions .section-title span{color:var(--text-muted);text-align:right;font-size:.76rem}.schedule-add-button{width:auto;min-height:2.75rem;padding:0 .9rem}.schedule-editor>button{width:auto;min-height:2.65rem;margin:.35rem .45rem 0 0;padding:0 1rem}.schedule-editor>button:last-child{background:var(--brand-primary);color:#fff}.homework-detail-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.homework-detail-heading .danger-button{width:auto}.class-session-list{margin:0;padding:0;list-style:none}.class-session-row{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;padding:.9rem 0;display:flex}.class-session-row>div{gap:.25rem;min-width:0;display:grid}.class-session-row>div:first-child{flex:9rem}.class-session-row strong{color:var(--text-primary);font-size:.92rem}.class-session-row div span{color:var(--text-secondary);font-size:.84rem}.class-session-actions{flex-wrap:wrap;flex:14rem;justify-content:flex-end;align-items:center;gap:.35rem;min-width:0;display:flex}.class-session-actions .text-button{white-space:normal;min-width:0}.session-action-form{box-sizing:border-box;border:1px solid var(--border-subtle);background:var(--surface-muted);flex-basis:100%;gap:.65rem;width:100%;max-width:100%;margin-top:.35rem;padding:.8rem;display:grid}.session-action-form .form-label,.session-action-form .form-input{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.session-action-form .primary-button,.session-action-form .danger-button{box-sizing:border-box;width:100%;max-width:100%}.schedule-rule-row{grid-template-columns:minmax(7rem,1fr) minmax(7rem,1fr) minmax(7rem,1fr) auto;align-items:center;gap:.5rem;margin-bottom:.6rem;display:grid}.schedule-rule-row select,.schedule-rule-row input{box-sizing:border-box;width:100%;min-width:0}.schedule-delete-button{width:auto;min-height:2.5rem;padding:0 .7rem}.class-session-status{color:var(--text-secondary);background:#eef2f5;border-radius:999px;flex:none;padding:.3rem .6rem;font-size:.76rem;font-weight:700}.class-session-status[data-status=CANCELED]{color:var(--status-danger);background:#f8eaea}.class-session-status[data-status=MAKEUP]{color:var(--brand-accent-strong);background:#faf0d6}.class-sessions-error{color:var(--status-danger)}.homework-section .section-title{gap:1rem}.homework-small-button{border:1px solid var(--brand-primary);min-height:2.35rem;color:var(--brand-primary);cursor:pointer;background:0 0;border-radius:.65rem;padding:0 .75rem;font-size:.8rem;font-weight:700}.homework-list,.student-homework-list,.homework-file-list,.homework-student-list{margin:0;padding:0;list-style:none}.homework-list button,.student-homework-list button{border:0;border-bottom:1px solid var(--border-subtle);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;padding:.9rem 0}.homework-list strong,.homework-list span,.student-homework-list strong,.student-homework-list div>span{display:block}.homework-list strong,.student-homework-list strong{color:var(--brand-primary)}.homework-list span,.student-homework-list div>span{color:var(--text-secondary);margin-top:.3rem;font-size:.82rem}.homework-form{padding-top:1rem}.homework-form .form-label{margin-top:1rem}.homework-form .form-label:first-child{margin-top:0}.homework-form .form-label span,.homework-submit-form .form-label span{color:var(--text-muted);font-size:.78rem;font-weight:400}.homework-file-input{width:100%;color:var(--text-secondary);background:#fff;border:1px dashed #b9c2cc;border-radius:.7rem;padding:.75rem}.homework-detail{padding-top:.75rem}.homework-back{min-height:2.4rem;padding-left:0}.homework-detail h2,.homework-detail h3,.homework-detail h4{color:var(--brand-primary)}.homework-detail>h3{letter-spacing:-.025em;font-size:1.35rem;font-weight:800}.homework-detail h2,.homework-detail>h3{margin:.5rem 0}.homework-detail h4,.student-homework-detail>h3{border-bottom:1px solid var(--border-subtle);letter-spacing:.04em;margin:1.3rem 0 0;padding-bottom:.55rem;font-size:.82rem}.homework-due{color:var(--text-secondary);margin:.35rem 0 0;font-size:.82rem}.homework-description{background:var(--surface-muted);white-space:pre-wrap;border-radius:.7rem;margin:1rem 0;padding:.8rem;line-height:1.6}.homework-file-empty{color:var(--text-muted);margin:0;padding:.75rem 0;font-size:.82rem}.homework-file-list li{border-bottom:1px solid var(--border-subtle);overflow-wrap:anywhere;gap:.2rem;padding:.7rem 0;display:grid}.homework-file-list span{font-size:.88rem;font-weight:700}.homework-file-list small{color:var(--text-muted)}.homework-file-link{appearance:none;color:var(--brand-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.homework-file-link:disabled{cursor:wait;opacity:.65}.homework-file-row{grid-template-columns:3.5rem minmax(0,1fr);align-items:center}.homework-file-row>div:last-child{min-width:0}.homework-file-thumbnail{cursor:pointer;background:0 0;border:0;width:3.5rem;height:3.5rem;padding:0}.homework-file-thumbnail img,.homework-file-icon{background:var(--surface-subtle);object-fit:cover;width:3.5rem;height:3.5rem;display:block}.homework-file-icon{color:var(--text-secondary);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.homework-image-preview{background:var(--brand-primary);align-items:center}@supports (color:color-mix(in lab, red, red)){.homework-image-preview{background:color-mix(in srgb, var(--brand-primary) 70%, transparent)}}.homework-image-preview{z-index:50;justify-content:center;padding:1rem;display:flex;position:fixed;inset:0}.homework-image-preview-content{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:.5rem;gap:.75rem;width:max-content;max-width:min(52rem,100%);max-height:calc(100dvh - 2rem);padding:1rem;display:grid}.homework-image-preview-heading{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;display:flex}.homework-image-preview-heading strong{overflow-wrap:anywhere}.homework-image-preview-content img{object-fit:contain;max-width:100%;max-height:calc(100dvh - 8rem);display:block}.homework-image-preview-close{border:1px solid var(--border-subtle);color:var(--brand-primary);font:inherit;background:0 0;border-radius:.25rem;flex:none;min-height:2.75rem;padding:.5rem .75rem}.pending-homework-files{margin-top:.75rem}.pending-homework-file-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.pending-homework-file-list li{border:1px solid var(--border-subtle);grid-template-columns:3.5rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.5rem;display:grid}.pending-homework-file-list img,.pending-homework-file-icon{background:var(--surface-subtle);object-fit:cover;width:3.5rem;height:3.5rem}.pending-homework-file-icon{color:var(--text-secondary);justify-content:center;align-items:center;font-size:.75rem;font-weight:700;display:flex}.pending-homework-file-list strong,.pending-homework-file-list small{overflow-wrap:anywhere;display:block}.pending-homework-file-list small{color:var(--text-muted);margin-top:.2rem}.pending-homework-file-remove{border:1px solid var(--border-subtle);color:var(--status-danger,#a33);font:inherit;background:0 0;border-radius:.25rem;min-height:2.75rem;padding:.5rem .7rem}.registration-success{border-top:2px solid var(--brand-primary);gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;display:grid}.registration-success h2,.registration-success p{margin:0}.registration-success .primary-button{justify-self:start;text-decoration:none}@media (max-width:480px){.homework-file-row{grid-template-columns:3rem minmax(0,1fr)}.homework-file-thumbnail,.homework-file-thumbnail img,.homework-file-icon{width:3rem;height:3rem}.pending-homework-file-list li{grid-template-columns:3rem minmax(0,1fr)}.pending-homework-file-list img,.pending-homework-file-icon{width:3rem;height:3rem}.pending-homework-file-remove{grid-column:1/-1;width:100%}}.homework-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1.25rem 0;display:grid}.homework-metrics>button{border:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:.75rem;gap:.35rem;padding:.75rem;display:grid}.homework-metrics>button[data-selected=true]{border-color:var(--brand-primary);box-shadow:0 0 0 1px var(--brand-primary)}.homework-metrics small{color:var(--text-secondary)}.homework-metrics strong{color:var(--brand-primary);font-size:1.25rem}.homework-roster-heading{margin-top:1rem}.homework-student-list>li{border-bottom:1px solid var(--border-subtle);padding:.9rem 0}.homework-student-heading,.homework-detail-title,.student-homework-list button{justify-content:space-between;align-items:center;gap:1rem;display:flex}.homework-student-heading>span:first-child{gap:.2rem;min-width:0;display:grid}.homework-student-heading small{color:var(--text-muted);overflow-wrap:anywhere}.homework-feedback{border:1px solid var(--border-subtle);background:var(--surface-muted);gap:.55rem;margin-top:.85rem;padding:.8rem;display:grid}.homework-feedback textarea{resize:vertical;border:1px solid var(--border-subtle);background:var(--surface);width:100%;min-height:4rem;color:var(--text);padding:.65rem}.homework-feedback p{white-space:pre-wrap;margin:0}.homework-streak-list{gap:.65rem;margin:1rem 0;display:grid}.homework-streak{border:1px solid var(--border-subtle);background:var(--surface-muted);justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;display:flex}.homework-streak strong{color:var(--brand-accent)}.attendance-panel{border:1px solid var(--border-subtle);background:var(--surface-muted);gap:.7rem;margin-top:.8rem;padding:.8rem;display:grid}.attendance-panel-wrap{border-top:2px solid var(--brand-primary);margin-top:1rem;padding-top:.75rem}.attendance-panel-wrap>h3{color:var(--brand-primary);margin:0;font-size:1rem}.attendance-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.55rem 0;display:grid}.attendance-row>div:first-child{gap:.2rem;display:grid}.attendance-row span{color:var(--text-muted);font-size:.85rem}.status-badge[data-status=submitted]{color:#356b44;background:#e7f3e9}.status-badge[data-status=missing]{color:var(--text-secondary);background:#eef2f5}.status-badge[data-status=late]{color:var(--status-danger);background:#f8eaea}.student-homework-list button>div{min-width:0}.student-homework-detail{border-top:2px solid var(--brand-primary)}.homework-detail-title{align-items:flex-start}.homework-detail-title h2{margin:.5rem 0 0}.homework-submit-form{border-top:1px solid var(--border-subtle);margin-top:1.25rem;padding-top:1rem}.homework-submit-form .primary-button{margin-top:1rem}.login-content{width:min(100%,25rem);padding:2rem 0}.login-logo{width:auto;height:5rem;margin-bottom:.4rem;display:block}.login-brand{color:var(--brand-primary);margin:0 0 2.2rem;font-size:1rem;font-weight:700}.login-content h1{color:var(--brand-primary);margin:0;font-size:1.5rem}.login-lead{color:var(--text-secondary);margin:.6rem 0 1.8rem;line-height:1.6}.login-page{background:var(--surface-card);align-items:start;padding:3rem 1.25rem}.login-card{display:none}.dashboard{gap:1.75rem;display:grid}.dashboard-heading p{color:var(--text-secondary);margin:0 0 .35rem;font-size:.9rem}.dashboard-heading h1{color:var(--brand-primary);margin:0;font-size:1.55rem}.dashboard-columns{gap:2rem;display:grid}.calendar-panel{border-top:2px solid var(--brand-primary);padding-top:1rem}.section-title{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.section-title h2{color:var(--brand-primary);margin:0;font-size:1.08rem}.weekdays,.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.weekdays{color:var(--text-muted);margin:1rem 0 .35rem;font-size:.76rem}.calendar-day{min-height:2.65rem;color:var(--text-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:.88rem;position:relative}.calendar-day[data-selected=true]{background:var(--brand-primary);color:#fff;font-weight:700}.calendar-day-number{z-index:1;position:relative}.calendar-indicators{justify-content:center;gap:.18rem;display:flex;position:absolute;bottom:.2rem;left:0;right:0}.calendar-indicators i{border-radius:50%;width:.28rem;height:.28rem;display:block}.calendar-indicator-session{background:var(--brand-accent)}.calendar-indicator-homework{background:#3c78c2}.calendar-day[data-selected=true] .calendar-indicator-session{background:#f4d17e}.calendar-day[data-selected=true] .calendar-indicator-homework{background:#8fb8ed}.calendar-page{gap:1rem;width:min(100%,68rem);margin:0 auto;display:grid}.calendar-page .weekdays,.calendar-page .calendar-grid,.calendar-page .calendar-events{width:min(100%,54rem);margin-left:auto;margin-right:auto}.calendar-page .section-title{justify-content:space-between;align-items:center}.calendar-page .section-title h1{margin:0;font-size:1.2rem}.calendar-event-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.calendar-event-list li a{border:1px solid var(--border-subtle);border-left:4px solid var(--brand-primary);color:var(--text-primary);border-radius:.7rem;gap:.2rem;padding:.8rem;text-decoration:none;display:grid}.calendar-event-list li a:has(.calendar-event-kind[data-type=HOMEWORK_DUE]){border-left-color:var(--brand-accent)}.calendar-event-kind{color:var(--brand-primary);font-size:.75rem;font-weight:700}.calendar-event-kind[data-type=HOMEWORK_DUE]{color:#9a6b00}.calendar-event-list small{color:var(--text-secondary)}.work-stack{gap:1.5rem;display:grid}.list-section{border-top:2px solid var(--brand-primary)}.work-row,.request-row,.action-list div{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:1rem 0;display:flex}.work-row strong,.request-row strong{color:var(--text-primary);font-size:.98rem}.work-row p,.request-row p{color:var(--text-secondary);margin:.28rem 0 0;font-size:.84rem}.work-row span,.request-row>span{color:var(--text-secondary);font-size:.88rem}.count,.request-row em{color:var(--brand-accent-strong);font-size:.75rem;font-style:normal;font-weight:700}.request-row{gap:1rem}.action-list{border-top:1px solid var(--border-subtle)}.action-list strong{color:var(--brand-primary)}.teacher-dashboard{gap:1rem;display:grid}.teacher-dashboard-heading{border-bottom:2px solid var(--brand-primary);justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:.85rem;display:flex}.teacher-dashboard-heading p,.teacher-dashboard-heading h1,.teacher-dashboard-heading span{margin:0}.teacher-dashboard-heading p,.teacher-dashboard-heading span{color:var(--text-secondary);font-size:.8rem}.teacher-dashboard-heading h1{color:var(--brand-primary);margin:.3rem 0;font-size:1.55rem}.dashboard-manage-button{border:1px solid var(--brand-primary);background:var(--brand-primary);color:#fff;align-items:center;min-height:2.75rem;padding:0 .85rem;font-size:.82rem;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.dashboard-kpi{border:1px solid var(--border-subtle);background:var(--surface-card);cursor:pointer;text-align:left;width:100%;min-height:6.2rem;padding:.8rem}.dashboard-kpi.is-selected{box-shadow:inset 0 -3px 0 var(--brand-accent)}.dashboard-kpi span,.dashboard-kpi small{color:var(--text-secondary);font-size:.75rem;display:block}.dashboard-kpi strong{color:var(--brand-primary);margin:.55rem 0 .35rem;font-size:1.65rem;line-height:1;display:block}.dashboard-kpi-primary{border-color:var(--border-subtle);background:var(--surface-card)}.dashboard-kpi-primary span,.dashboard-kpi-primary small,.dashboard-kpi-primary strong{color:var(--text-secondary)}.dashboard-kpi-primary strong{color:var(--brand-primary)}.dashboard-kpi.is-selected{border-color:var(--brand-primary);background:var(--brand-primary);box-shadow:none}.dashboard-kpi.is-selected span,.dashboard-kpi.is-selected small,.dashboard-kpi.is-selected strong{color:#fff}.dashboard-panels{gap:.8rem;display:grid}.dashboard-panel{border:1px solid var(--border-subtle);background:var(--surface-card);min-width:0}.dashboard-panel-heading{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.75rem .85rem;display:flex}.dashboard-panel-heading h2{color:var(--brand-primary);margin:0;font-size:.95rem}.dashboard-panel-heading a{color:var(--brand-accent-strong);font-size:.75rem;font-weight:700;text-decoration:none}.dashboard-list{margin:0;padding:0 .85rem;list-style:none}.dashboard-list li{border-bottom:1px solid var(--border-subtle)}.dashboard-list li:last-child{border-bottom:0}.dashboard-list a{min-height:3.15rem;color:var(--text-primary);justify-content:space-between;align-items:center;gap:.75rem;text-decoration:none;display:flex}.dashboard-list-button{width:100%;min-height:3.15rem;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:0;display:flex}.dashboard-list a>span{gap:.15rem;min-width:0;display:grid}.dashboard-list strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.dashboard-list small{color:var(--text-secondary);font-size:.72rem}.dashboard-list b{color:var(--brand-accent-strong);flex:none;font-size:.75rem}.dashboard-student-detail{padding:.85rem}.dashboard-student-detail h3{color:var(--brand-primary);margin:.75rem 0 .35rem}.dashboard-student-detail p{color:var(--text-secondary);margin:.25rem 0;font-size:.84rem}.dashboard-student-detail ul{color:var(--text-secondary);margin:.6rem 0 0;padding-left:1.1rem;font-size:.84rem}.class-collapsible{border:1px solid var(--border-subtle);background:var(--surface-card)}.class-collapsible summary{cursor:pointer;min-height:3.2rem;color:var(--brand-primary);justify-content:space-between;align-items:center;padding:0 .9rem;font-weight:800;list-style:none;display:flex}.class-collapsible summary::-webkit-details-marker{display:none}.class-collapsible summary:after{color:var(--brand-accent-strong);content:"+";font-size:1.15rem}.class-collapsible[open] summary{border-bottom:1px solid var(--border-subtle)}.class-collapsible[open] summary:after{content:"−"}.class-collapsible>.class-form,.class-collapsible>.class-members,.class-collapsible>.class-sessions,.class-collapsible>.homework-section{border:0;border-radius:0;margin:0}.parent-stat-section{border-top:2px solid var(--brand-primary)}.parent-period-tabs{gap:.25rem;display:flex}.parent-period-tabs .text-button{min-height:2.3rem}.parent-period-tabs .text-button[data-selected=true]{background:var(--brand-primary);color:#fff}.parent-stat-layout{align-items:center;gap:2rem;padding:1.25rem .5rem;display:flex}.parent-donut{background:conic-gradient(#4c9a58 0 var(--on-time), #d5a72b var(--on-time) calc(var(--on-time) + var(--late)), #c44b4b calc(var(--on-time) + var(--late)) 100%);border-radius:50%;flex:none;place-items:center;width:10rem;height:10rem;display:grid}.parent-donut>div{background:var(--surface-card);text-align:center;border-radius:50%;align-content:center;place-items:center;width:7.2rem;height:7.2rem;display:grid}.parent-donut strong{color:var(--brand-primary);font-size:1.6rem}.parent-donut span{color:var(--text-secondary);font-size:.75rem}.parent-stat-legend{gap:.7rem;display:grid}.parent-stat-legend div{grid-template-columns:.7rem auto 1fr;align-items:center;gap:.45rem;display:grid}.parent-stat-legend i{background:#4c9a58;border-radius:50%;width:.65rem;height:.65rem}.parent-stat-legend i[data-kind=late]{background:#d5a72b}.parent-stat-legend i[data-kind=missing]{background:#c44b4b}.parent-stat-legend strong{color:var(--brand-primary)}.parent-stat-legend span,.parent-stat-legend small{color:var(--text-secondary);font-size:.8rem}.teacher-parent-connect{border-top:1px solid var(--border-subtle);margin-top:1rem;padding-top:1rem}.teacher-parent-connect h3{color:var(--brand-primary);margin:0;font-size:.95rem}.teacher-parent-connect .primary-button{margin-top:1rem}.teacher-parent-list{gap:.45rem;margin:.85rem 0 1rem;display:grid}.teacher-parent-account{border:1px solid var(--border-subtle);background:var(--surface-muted);flex-wrap:wrap;justify-content:space-between;gap:.35rem .75rem;padding:.65rem .75rem;display:flex}.teacher-parent-account span:last-child{color:var(--text-secondary);overflow-wrap:anywhere}.teacher-parent-reset{flex-wrap:wrap;flex-basis:100%;gap:.45rem;margin-top:.5rem;display:flex}.teacher-parent-reset .form-input{flex:1;min-width:12rem}.teacher-parent-reset small{color:var(--text-secondary);flex-basis:100%}.teacher-parent-credentials{border:1px solid var(--brand-accent);background:#fff8e8;gap:.3rem;margin-top:1rem;padding:.8rem;display:grid}.teacher-parent-credentials small{color:var(--text-secondary);line-height:1.5}.student-class-detail{gap:1rem;display:grid}.class-overview h2{color:var(--brand-primary);margin:0 0 .65rem}.class-overview p{color:var(--text-secondary);line-height:1.55}.class-overview dl{gap:.45rem;margin:1rem 0 0;display:grid}.class-overview dl div{border-top:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-top:.5rem;display:flex}.class-overview dt{color:var(--text-secondary);font-weight:700}.class-overview dd{text-align:right;margin:0}.student-schedule-list,.student-session-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.student-schedule-list li,.student-session-item{border-bottom:1px solid var(--border-subtle);padding:.65rem 0}.student-schedule-list li{justify-content:space-between;gap:.75rem;display:flex}.student-schedule-list span,.student-session-heading strong{color:var(--text-secondary)}.student-session-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.attendance-notice-summary{color:var(--brand-accent-strong);margin:.5rem 0 0;font-size:.88rem;font-weight:700}.attendance-notice-actions{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.attendance-notice-actions .text-button[data-selected=true]{background:var(--brand-primary);color:#fff}.attendance-notice-form{border:1px solid var(--border-subtle);background:var(--surface-muted);flex-basis:100%;gap:.55rem;margin-top:.35rem;padding:.7rem;display:grid}.student-class-links{flex-wrap:wrap;gap:.55rem;display:flex}.student-class-links .secondary-button{width:auto;text-decoration:none}.dashboard-calendar-wrap{border:1px solid var(--border-subtle);background:var(--surface-card);min-width:0;padding:.85rem}.dashboard-calendar-wrap .calendar-panel{border-top:0;padding-top:0}@media (min-width:768px){.app-shell{grid-template-columns:16.5rem minmax(0,1fr);padding-bottom:0;display:grid}.desktop-sidebar{border-right:1px solid var(--border-subtle);background:var(--surface-card);flex-direction:column;height:100dvh;padding:1.5rem 1rem;display:flex;position:sticky;top:0}.bottom-nav{display:none}.app-header{padding:1rem 2rem}.app-main{padding:2rem}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.login-card{padding:2rem}.app-header,.mobile-logout{display:none}.side-nav{gap:.35rem;display:grid}.side-nav .nav-item{flex-direction:row;justify-content:flex-start;padding:.55rem .7rem;font-size:.9rem}.sidebar-logout{border:1px solid var(--border-subtle);min-height:2.75rem;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:.65rem;margin-top:auto;font-weight:700}.dashboard-columns{grid-template-columns:minmax(18rem,.9fr) minmax(22rem,1.1fr);align-items:start}.classes-layout{grid-template-columns:minmax(18rem,.8fr) minmax(22rem,1.2fr);gap:2.5rem}.class-editor-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:1rem;display:grid}.class-editor-panel>.class-collapsible:first-child{grid-column:1}.class-editor-panel>.class-collapsible:nth-child(2){grid-column:1/-1}.class-editor-panel>.class-collapsible:nth-child(3){grid-column:1}.class-editor-panel>.class-collapsible:nth-child(4){grid-column:2}.class-editor-panel>.class-collapsible:nth-child(5){grid-column:1/-1}.homework-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.login-page{place-items:center}.teacher-dashboard{gap:1.25rem}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-calendar-wrap{padding:1.1rem}.parent-stat-layout{justify-content:center;min-height:14rem}}@media (max-width:540px){.class-sessions{padding:.75rem}.class-sessions .section-title{flex-wrap:wrap;align-items:flex-start;gap:.35rem .75rem}.class-sessions .section-title span{text-align:left;width:100%}.class-session-row{grid-template-columns:minmax(0,1fr);gap:.65rem;display:grid}.class-session-actions{justify-content:flex-start;width:100%}.class-session-actions .text-button{flex:auto}.schedule-rule-row{grid-template-columns:1fr 1fr}.schedule-rule-row select{grid-column:1/-1}.schedule-delete-button{width:100%}.parent-stat-layout{flex-direction:column;align-items:flex-start}}.brand-lockup{border-bottom:1px solid var(--border-subtle);padding:.25rem .35rem 1.25rem}.brand-logo{height:2.35rem}.brand-lockup strong{font-size:1rem}.side-nav{margin-top:1rem}.side-nav .nav-item{color:#526276;border-radius:.2rem;min-height:2.8rem}.side-nav .nav-item:hover{color:var(--brand-primary);background:#eef3f8}.side-nav .nav-item[data-active=true]{border-left:3px solid var(--brand-primary);color:var(--brand-primary);background:#e9f0f7;border-radius:0}.sidebar-logout{color:#526276;background:#fff;border-radius:.2rem}.app-main{width:min(100%,92rem);padding:1.25rem 1.5rem 2.5rem}.teacher-dashboard,.classes-page{gap:.9rem}.teacher-dashboard-heading,.classes-heading{border-bottom:2px solid var(--brand-primary);align-items:center;padding:.35rem 0 .75rem}.teacher-dashboard-heading h1,.classes-heading h1{letter-spacing:-.03em;font-size:1.35rem}.teacher-dashboard-heading p,.teacher-dashboard-heading span,.classes-heading p,.classes-heading span{font-size:.76rem}.dashboard-manage-button,.secondary-button{border-radius:.2rem;min-height:2.55rem}.dashboard-kpis{gap:.55rem}.dashboard-kpi{border-radius:.15rem;min-height:5.7rem;padding:.7rem .8rem;transition:background .15s,border-color .15s}.dashboard-kpi:hover{border-color:#9aa9b9}.dashboard-kpi strong{margin:.4rem 0 .25rem;font-size:1.45rem}.dashboard-kpi.is-selected{border-color:var(--brand-primary);background:var(--brand-primary)}.dashboard-panels{gap:.65rem}.dashboard-panel,.dashboard-calendar-wrap,.class-list-panel,.class-collapsible{box-shadow:none;border-radius:.15rem}.dashboard-panel-heading{background:#f7f8fa;min-height:2.8rem;padding:.55rem .75rem}.dashboard-panel-heading h2{font-size:.88rem}.dashboard-list{padding:0 .75rem}.dashboard-list a,.dashboard-list-button{min-height:2.8rem}.dashboard-list strong{font-size:.8rem}.dashboard-calendar-wrap{padding:.7rem}.classes-heading .secondary-button{flex:none}.classes-layout{gap:.85rem}.class-list-panel{padding:0;overflow:hidden}.class-list-panel:before{content:"수업 목록";border-bottom:1px solid var(--border-subtle);color:var(--brand-primary);background:#f7f8fa;padding:.7rem .85rem;font-size:.78rem;font-weight:800;display:block}.class-list-row{min-height:4.6rem;padding:.7rem .85rem}.class-list-row[data-selected=true]{border-left:4px solid var(--brand-primary);background:#eaf1f8;padding-left:calc(.85rem - 3px)}.class-list-row strong{font-size:.9rem}.class-list-row span,.class-list-row small{font-size:.76rem}.class-editor-panel{border-top:0;padding-top:0}.class-collapsible summary{background:#f7f8fa;min-height:2.8rem;padding:0 .75rem;font-size:.86rem}.class-collapsible[open] summary{background:#eef3f8}.class-collapsible summary span{color:var(--text-muted);font-size:.72rem;font-weight:500}.class-collapsible>.class-form,.class-collapsible>.class-members,.class-collapsible>.class-sessions,.class-collapsible>.homework-section{padding:.8rem}.class-form h2{margin-bottom:.9rem;font-size:.98rem}.form-input,.form-textarea,.homework-file-input,.primary-button,.secondary-button,.danger-button,.text-button,.schedule-add-button,.homework-small-button{border-radius:.2rem}.schedule-rule-row{gap:.4rem;margin-bottom:.45rem}.schedule-editor>button{border-radius:.2rem;min-height:2.45rem;margin-top:.25rem}.schedule-delete-button{min-height:2.35rem}.class-sessions,.homework-section{border-top-width:2px;padding:.8rem}.class-session-row{padding:.7rem 0}.class-session-actions .text-button{border:1px solid var(--border-subtle);background:#fff;border-radius:.2rem;min-height:2.35rem}.class-session-actions .text-button:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.session-action-form{background:#f7f8fa;border-radius:.15rem;padding:.7rem}@media (min-width:768px){.app-main{padding:1.5rem 2rem 2.5rem}.classes-layout{grid-template-columns:minmax(16rem,.72fr) minmax(30rem,1.28fr)}.class-editor-panel{gap:.65rem}}@media (max-width:767px){.app-main{padding:1rem .8rem 5.5rem}.teacher-dashboard-heading,.classes-heading{align-items:flex-start}.teacher-dashboard-heading{flex-direction:column}.dashboard-manage-button{justify-content:center;width:100%}.classes-heading .secondary-button{min-height:2.65rem}.class-list-panel:before{padding:.65rem .75rem}.class-list-row{min-height:4.2rem}.class-editor-panel{gap:.65rem}.schedule-rule-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.schedule-rule-row select{grid-column:1/-1}.schedule-delete-button{width:100%}.class-form-actions>*,.schedule-editor>button{min-height:2.7rem}}@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}
.role-app-shell{background:var(--color-surface-ivory);min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.role-sidebar{display:none}.role-main-column{min-width:0}.role-mobile-header{border-bottom:1px solid var(--color-border);background:var(--color-surface-card);min-height:60px;padding:0 var(--space-4);justify-content:space-between;align-items:center;display:flex}.role-brand{align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-brand-navy);text-decoration:none;display:inline-flex}.role-brand .brand-logo{height:2.25rem}.role-brand strong{letter-spacing:-.025em;font-size:1rem}.role-mobile-logout{width:var(--touch-target-min);height:var(--touch-target-min);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-brand-navy);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.role-main{width:min(100%,92rem);padding:var(--space-5) var(--space-4) var(--space-8);margin:0 auto}.role-mobile-actions{align-items:center;gap:var(--space-2);display:flex}.notification-center{position:relative}.notification-toggle{border:1px solid var(--color-border);color:var(--color-brand-navy);min-height:var(--touch-target-min);min-width:var(--touch-target-min);background:0 0;justify-content:center;align-items:center;display:inline-flex;position:relative}.notification-toggle span{background:var(--color-brand-navy);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:1rem;height:1rem;font-size:.65rem;display:flex;position:absolute;top:-.25rem;right:-.25rem}.notification-popover{box-sizing:border-box;background:var(--color-surface-card);border:1px solid var(--color-border);gap:var(--space-2);max-width:calc(100vw - 1rem);padding:var(--space-3);z-index:30;width:min(22rem,100vw - 2rem);display:grid;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 .5rem 1.25rem #0000001f}.notification-popover header{justify-content:space-between;align-items:center;display:flex}.notification-popover header button{color:var(--color-brand-navy);font:inherit;font-size:var(--font-size-metadata);background:0 0;border:0;text-decoration:underline}.notification-popover p{color:var(--color-neutral-700);margin:0}.notification-popover ul{max-height:20rem;margin:0;padding:0;list-style:none;overflow:auto}.notification-popover li{border-top:1px solid var(--color-border)}.notification-popover li button{font:inherit;min-height:var(--touch-target-min);padding:var(--space-2) 0;text-align:left;background:0 0;border:0;gap:.2rem;width:100%;display:grid}.notification-popover li[data-unread=true] strong{color:var(--color-brand-navy)}.notification-popover li span{color:var(--color-neutral-700);font-size:var(--font-size-metadata);overflow-wrap:anywhere}.role-bottom-navigation{z-index:20;border-top:1px solid var(--color-border);padding:var(--space-1) max(var(--space-2), env(safe-area-inset-left)) calc(var(--space-1) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-right));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9f5;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.role-navigation-item{min-height:var(--touch-target-min);border-radius:var(--radius-control);min-width:0;color:var(--color-neutral-700);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:700;text-decoration:none;display:flex;position:relative}.role-navigation-item:hover{background:var(--color-info-surface);color:var(--color-brand-navy)}.role-navigation-item[data-active=true]{color:var(--color-brand-navy);background:#f5ecda}.role-navigation-item[data-active=true]:after{background:var(--color-brand-gold);content:"";border-radius:2px;height:2px;position:absolute;bottom:2px;left:22%;right:22%}@media (min-width:768px){.role-app-shell{grid-template-columns:232px minmax(0,1fr);padding-bottom:0;display:grid}.role-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface-card);min-width:0;height:100dvh;padding:var(--space-5) var(--space-3);flex-direction:column;display:flex;position:sticky;top:0}.role-sidebar-navigation{margin-top:var(--space-6);gap:2px;display:grid}.role-sidebar-navigation .role-navigation-item{justify-content:flex-start;gap:var(--space-3);border-radius:var(--radius-control);min-height:44px;padding:0 var(--space-3);font-size:var(--font-size-body);flex-direction:row}.role-sidebar-navigation .role-navigation-item[data-active=true]{border-left:3px solid var(--color-brand-gold);color:var(--color-brand-navy);padding-left:calc(var(--space-3) - 3px);background:#f5ecda}.role-sidebar-navigation .role-navigation-item[data-active=true]:after{display:none}.role-sidebar-footer{gap:var(--space-3);border-top:1px solid var(--color-border);padding:var(--space-4) var(--space-1) 0;margin-top:auto;display:grid}.role-user-summary{align-items:center;gap:var(--space-2);min-width:0;display:flex}.role-user-summary>span:last-child{gap:2px;min-width:0;display:grid}.role-user-summary strong,.role-user-summary small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-user-summary strong{color:var(--color-brand-navy);font-size:var(--font-size-metadata)}.role-user-summary small{color:var(--color-neutral-500);font-size:11px}.role-user-avatar{background:var(--color-info-surface);width:32px;height:32px;color:var(--color-brand-navy);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.role-logout{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:44px;color:var(--color-neutral-700);cursor:pointer;font:inherit;font-size:var(--font-size-metadata);background:0 0;font-weight:700;display:inline-flex}.role-logout:hover{border-color:var(--color-brand-navy);background:var(--color-info-surface);color:var(--color-brand-navy)}.role-mobile-header,.role-bottom-navigation{display:none}.role-sidebar .notification-popover{bottom:calc(100% + var(--space-2));top:auto;left:0;right:auto}.role-main{padding:var(--space-8) var(--space-8) var(--space-10)}}@media (max-width:390px){.role-navigation-item{font-size:10px}.role-main{padding-right:var(--space-3);padding-left:var(--space-3)}}
.teacher-dashboard{gap:var(--space-5);max-width:1320px;display:grid}.teacher-dashboard-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:2px solid var(--color-brand-navy);padding-bottom:var(--space-4);display:flex}.teacher-dashboard-heading p{margin:0 0 var(--space-1);color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.teacher-dashboard-heading h1{color:var(--color-brand-navy);letter-spacing:-.04em;margin:0;font-size:clamp(1.65rem,2.5vw,2.1rem)}.teacher-dashboard-heading span{margin-top:var(--space-2);color:var(--color-neutral-700);font-size:var(--font-size-body);display:block}.dashboard-calendar-cta{flex:none;text-decoration:none}.dashboard-summary-strip{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.dashboard-summary-strip button{border:0;border-right:1px solid var(--color-border);min-height:88px;color:var(--color-brand-navy);cursor:pointer;padding:var(--space-3) var(--space-4);text-align:left;background:0 0;align-content:center;gap:2px;display:grid}.dashboard-summary-strip button:last-child{border-right:0}.dashboard-summary-strip button:hover{background:var(--color-brand-navy-subtle)}.dashboard-summary-strip button.is-selected{box-shadow:inset 0 -3px 0 var(--color-brand-gold);background:#fff9e8}.dashboard-summary-strip span{color:var(--color-neutral-700);font-size:var(--font-size-metadata);font-weight:700}.dashboard-summary-strip strong{letter-spacing:-.025em;font-size:1.35rem}.dashboard-summary-strip small{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.dashboard-operation-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.15fr) minmax(19rem,.85fr);display:grid}.dashboard-panel-link{min-height:36px;color:var(--color-brand-navy);font-size:var(--font-size-metadata);align-items:center;gap:2px;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-panel-link:hover{color:var(--color-brand-gold-strong);text-decoration:underline}.dashboard-session-list,.dashboard-dense-list,.consultation-list{margin:0;padding:0;list-style:none}.dashboard-session-list>li{align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:5.5rem minmax(0,1fr) auto 36px;min-height:68px;display:grid}.dashboard-session-list>li:first-child{border-top:0}.dashboard-session-time{gap:2px;display:grid}.dashboard-session-time strong{font-size:var(--font-size-body)}.dashboard-session-time span,.dashboard-session-list small{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.dashboard-session-list>li>div:nth-child(2){gap:2px;min-width:0;display:grid}.dashboard-session-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-row-link{border-radius:var(--radius-control);width:36px;height:36px;color:var(--color-brand-navy);place-items:center;display:grid}.dashboard-row-link:hover{background:var(--color-brand-navy-subtle)}.dashboard-context-panel .ui-panel-content,.teacher-consultations .ui-panel-content{padding-top:0}.dashboard-dense-list>li{border-top:1px solid var(--color-border)}.dashboard-dense-list>li>a,.dashboard-dense-list>li>button{align-items:center;gap:var(--space-3);width:100%;min-height:58px;color:var(--color-brand-navy);padding:var(--space-2) 0;text-align:left;background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto 24px;text-decoration:none;display:grid}.dashboard-dense-list>li>button{cursor:pointer}.dashboard-dense-list>li>a:hover,.dashboard-dense-list>li>button:hover{background:var(--color-brand-navy-subtle)}.dashboard-dense-list span:first-child{gap:2px;min-width:0;display:grid}.dashboard-dense-list strong,.dashboard-dense-list small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dashboard-dense-list strong{font-size:var(--font-size-body)}.dashboard-dense-list small,.dashboard-dense-list time{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.dashboard-student-detail{padding:var(--space-4) 0}.dashboard-back-button{min-height:36px;margin:0 0 var(--space-3);color:var(--color-brand-navy);cursor:pointer;font-size:var(--font-size-metadata);background:0 0;border:0;padding:0;font-weight:700}.dashboard-back-button:hover{color:var(--color-brand-gold-strong);text-decoration:underline}.dashboard-student-detail>strong{font-size:var(--font-size-panel-title)}.dashboard-student-detail p{color:var(--color-neutral-700);font-size:var(--font-size-body)}.dashboard-student-detail ul{gap:var(--space-2);margin:var(--space-3) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.dashboard-student-detail li{border:1px solid var(--color-border);border-radius:var(--radius-control);padding:var(--space-1) var(--space-2);font-size:var(--font-size-metadata)}.dashboard-compact-feedback{min-height:108px;margin:0}.consultation-list>li{gap:var(--space-4);border-top:1px solid var(--color-border);padding:var(--space-3) 0;grid-template-columns:minmax(0,1fr) 8rem;align-items:center;display:grid}.consultation-list>li>div{min-width:0}.consultation-list strong,.consultation-list p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.consultation-list strong{color:var(--color-brand-navy);font-size:var(--font-size-body)}.consultation-list p{margin:var(--space-1) 0;color:var(--color-neutral-900);font-size:var(--font-size-body)}.consultation-list small{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.consultation-list .consultation-reply{color:var(--color-brand-navy);white-space:normal}.consultation-list textarea{margin-top:var(--space-2)}@media (max-width:1023px){.dashboard-operation-grid{grid-template-columns:1fr}}@media (max-width:767px){.teacher-dashboard{gap:var(--space-4)}.teacher-dashboard-heading{flex-direction:column;align-items:stretch}.dashboard-calendar-cta{justify-content:center}.dashboard-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-summary-strip button:nth-child(2){border-right:0}.dashboard-summary-strip button:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.dashboard-summary-strip button{min-height:80px;padding:var(--space-3)}.dashboard-operation-grid{gap:var(--space-3)}.dashboard-session-list>li{gap:var(--space-2);padding:var(--space-2) 0;grid-template-columns:4.5rem minmax(0,1fr) 36px}.dashboard-session-list .ui-status-badge{display:none}.dashboard-dense-list>li>a,.dashboard-dense-list>li>button{gap:var(--space-2)}.dashboard-dense-list time{display:none}.consultation-list>li{gap:var(--space-2);grid-template-columns:1fr}}
.teacher-calendar-control-center{gap:var(--space-6);width:100%;display:grid}.teacher-calendar-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:2px solid var(--color-brand-primary);padding-bottom:var(--space-3);display:flex}.teacher-calendar-header p,.teacher-calendar-header span{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.teacher-calendar-header p{font-size:var(--font-size-metadata);line-height:var(--line-height-metadata)}.teacher-calendar-header h1{margin:var(--space-1) 0;color:var(--color-brand-primary);font-size:var(--font-size-page-title);font-weight:var(--font-weight-page-title);line-height:var(--line-height-page-title);letter-spacing:-.025em}.teacher-calendar-header .ui-button{text-decoration:none}.teacher-calendar-layout{gap:var(--space-6);align-items:start;display:grid}.teacher-calendar-layout>.calendar-page{border:1px solid var(--color-border-default);border-radius:var(--radius-panel);background:var(--color-surface);width:100%;padding:var(--space-4);margin:0}.teacher-calendar-layout>.calendar-page .section-title{min-height:var(--control-height-default)}.teacher-calendar-layout>.calendar-page .section-title>.ui-icon-button{flex:none}.teacher-calendar-layout>.calendar-page .calendar-events{width:100%;margin:var(--space-4) 0 0}.teacher-calendar-layout>.calendar-page .calendar-event-list{gap:var(--space-2)}.calendar-session-select{gap:var(--space-1);border:1px solid var(--color-border-default);border-left:3px solid var(--color-brand-primary);border-radius:var(--radius-control);width:100%;min-height:56px;color:var(--color-text-primary);cursor:pointer;padding:var(--space-3);text-align:left;font:inherit;background:0 0;display:grid}.calendar-session-select:hover{border-color:var(--color-border-focus);background:var(--color-surface-subtle)}.calendar-session-select[data-selected=true]{border-color:var(--color-brand-primary);background:var(--color-surface-subtle);box-shadow:inset 3px 0 0 var(--color-brand-accent)}.calendar-session-select[data-selected=true] .calendar-event-kind[data-type=HOMEWORK_DUE]{color:var(--color-warning)}.calendar-event-kind{font-size:var(--font-size-metadata);font-weight:var(--font-weight-label)}.workspace-content{gap:var(--space-4);min-width:0;display:grid}.workspace-placeholder{align-content:center;place-items:center;gap:var(--space-2);min-height:224px;padding:var(--space-6);color:var(--color-text-secondary);text-align:center;display:grid}.workspace-placeholder h2,.workspace-placeholder p{margin:0}.workspace-placeholder h2{color:var(--color-brand-primary);font-size:var(--font-size-panel-title);line-height:var(--line-height-panel-title)}.workspace-placeholder .ui-feedback-state{min-height:auto;padding:0}.workspace-session-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);border-bottom:1px solid var(--color-border-default);padding-bottom:var(--space-3);display:flex}.workspace-session-header h2{margin:var(--space-1) 0;color:var(--color-brand-primary);font-size:var(--font-size-section-title);font-weight:var(--font-weight-section-title);line-height:var(--line-height-section-title)}.workspace-session-header p{color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.workspace-eyebrow{color:var(--color-text-muted);font-size:var(--font-size-metadata);font-weight:var(--font-weight-label);line-height:var(--line-height-metadata)}.workspace-session-status.status-scheduled{background:var(--color-info-surface);color:var(--color-info)}.workspace-session-status.status-canceled{background:var(--color-error-surface);color:var(--color-error)}.workspace-session-status.status-makeup{background:var(--color-warning-surface);color:var(--color-warning)}.workspace-summary{border-top:1px solid var(--color-border-default);border-bottom:1px solid var(--color-border-default);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.workspace-summary-item,.workspace-summary-action{align-content:center;gap:var(--space-1);border:0;border-right:1px solid var(--color-border-default);min-height:64px;padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font:inherit;font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);text-align:left;background:0 0;display:grid}.workspace-summary-item:last-child,.workspace-summary-action:last-child{border-right:0}.workspace-summary-action{cursor:pointer}.workspace-summary-action:hover{background:var(--color-surface-subtle)}.workspace-summary-item strong,.workspace-summary-action strong{color:var(--color-brand-primary);font-size:var(--font-size-panel-title);font-weight:var(--font-weight-panel-title);line-height:var(--line-height-panel-title)}.workspace-summary-action.is-warning strong{color:var(--color-warning)}.workspace-summary-action.is-danger strong{color:var(--color-error)}.workspace-disclosure{overflow:hidden}.workspace-disclosure>summary{min-height:var(--control-height-default);cursor:pointer;color:var(--color-brand-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);padding:0 var(--space-4);align-items:center;display:flex}.workspace-disclosure[open]>summary{border-bottom:1px solid var(--color-border-default)}.workspace-empty{padding:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}.workspace-notice-list,.workspace-homework-list,.workspace-student-homeworks,.workspace-homework-student-list{margin:0;padding:0;list-style:none}.workspace-notice-list li{min-height:var(--control-height-default);align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.workspace-notice-list li:last-child{border-bottom:0}.workspace-notice-list strong{color:var(--color-brand-primary);font-size:var(--font-size-compact)}.workspace-notice-list small{width:100%;color:var(--color-text-secondary);font-size:var(--font-size-metadata)}.workspace-homeworks>.ui-panel-header,.workspace-students>.ui-panel-header{align-items:center}.workspace-homework-list li{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.workspace-homework-list li:last-child{border-bottom:0}.workspace-homework-title{color:var(--color-brand-primary);cursor:pointer;text-align:left;font:inherit;font-size:var(--font-size-compact);font-weight:var(--font-weight-label);background:0 0;border:0;padding:0}.workspace-homework-title:hover{text-decoration:underline}.workspace-homework-list small{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata);display:block}.workspace-homework-counts,.workspace-homework-detail-counts{gap:var(--space-2);font-size:var(--font-size-metadata);font-weight:var(--font-weight-label);line-height:var(--line-height-metadata);flex-wrap:wrap;display:flex}.workspace-homework-counts{justify-content:flex-end}.workspace-homework-detail-counts{border-bottom:1px solid var(--color-border-default);padding:var(--space-3) var(--space-4)}.count-submitted{color:var(--color-success)}.count-late{color:var(--color-warning)}.count-missing{color:var(--color-error)}.workspace-students-heading p{margin:var(--space-1) 0 0}.workspace-search{align-items:center;gap:var(--space-2);width:min(100%,224px);color:var(--color-text-muted);display:flex}.workspace-search .ui-input{min-width:0}.workspace-filters{gap:var(--space-2);border-bottom:1px solid var(--color-border-default);padding:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.workspace-filter-control[data-selected=true]{border-color:var(--color-brand-primary);background:var(--color-surface-subtle);color:var(--color-brand-primary);box-shadow:inset 0 -2px 0 var(--color-brand-accent)}.workspace-student-table{min-width:0}.workspace-student-table-head,.workspace-student-table li{align-items:center;column-gap:var(--space-2);grid-template-columns:44px minmax(148px,1.2fr) minmax(128px,1fr) minmax(112px,.85fr) minmax(128px,1fr) 64px;display:grid}.workspace-student-table-head{border-bottom:1px solid var(--color-border-default);background:var(--color-surface-subtle);min-height:40px;color:var(--color-text-secondary);font-size:var(--font-size-metadata);font-weight:var(--font-weight-label);line-height:var(--line-height-metadata);padding:0 var(--space-3)}.workspace-student-table ul{margin:0;padding:0;list-style:none}.workspace-student-table li{border-bottom:1px solid var(--color-border-subtle);min-height:52px;padding:var(--space-2) var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-metadata);line-height:var(--line-height-metadata)}.workspace-student-table li:hover{background:var(--color-neutral-50)}.workspace-student-table li.is-selected{background:var(--color-surface-subtle);box-shadow:inset 3px 0 0 var(--color-brand-accent)}.workspace-student-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-brand-primary)}.workspace-student-name{min-width:0;color:var(--color-brand-primary);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;gap:2px;padding:0;display:grid}.workspace-student-name:focus-visible{outline-offset:1px}.workspace-student-name strong,.workspace-student-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-student-name strong{font-size:var(--font-size-compact);font-weight:var(--font-weight-label)}.workspace-student-name small{color:var(--color-text-muted);font-size:var(--font-size-metadata)}.workspace-student-table .text-button{min-height:var(--control-height-compact);border:1px solid var(--color-border-default);border-radius:var(--radius-control);padding:0 var(--space-2);font-size:var(--font-size-metadata)}.workspace-student-detail,.workspace-homework-detail{overflow:hidden}.workspace-student-detail .ui-panel-header,.workspace-homework-detail .ui-panel-header{align-items:center}.workspace-detail-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.workspace-detail-actions .text-button{min-height:var(--control-height-compact);border:1px solid var(--color-border-default);border-radius:var(--radius-control);padding:0 var(--space-2);text-decoration:none}.workspace-detail-section{border-bottom:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4)}.workspace-detail-section:last-child{border-bottom:0}.workspace-detail-section h4,.workspace-detail-section h5,.workspace-detail-section p{margin:0}.workspace-detail-section h4{color:var(--color-brand-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label)}.workspace-detail-section>p{margin-top:var(--space-1);color:var(--color-text-secondary);font-size:var(--font-size-body);line-height:var(--line-height-body)}.workspace-student-homeworks{margin-top:var(--space-3)}.workspace-student-homeworks>li{gap:var(--space-2);border-top:1px solid var(--color-border-subtle);padding:var(--space-3) 0;display:grid}.workspace-student-homeworks>li:first-child{border-top:0;padding-top:0}.workspace-student-homeworks>li>div:first-child{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.workspace-student-homeworks>li>small{color:var(--color-text-secondary);font-size:var(--font-size-metadata)}.workspace-feedback{border-left:3px solid var(--color-brand-accent);background:var(--color-warning-surface);padding:var(--space-2) var(--space-3)}.workspace-feedback h5{color:var(--color-brand-primary);font-size:var(--font-size-metadata)}.workspace-feedback p{margin-top:var(--space-1);color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:pre-wrap}.workspace-homework-student-list>li{gap:var(--space-3);border-bottom:1px solid var(--color-border-subtle);padding:var(--space-4);display:grid}.workspace-homework-student-list>li:last-child{border-bottom:0}.workspace-homework-student-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.workspace-homework-student-heading div{gap:2px;min-width:0;display:grid}.workspace-homework-student-heading strong{color:var(--color-brand-primary);font-size:var(--font-size-compact)}.workspace-homework-student-heading small{color:var(--color-text-secondary);font-size:var(--font-size-metadata)}.workspace-feedback-editor{gap:var(--space-2);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-3);display:grid}.workspace-feedback-editor label,.workspace-lesson-fields label,.workspace-briefing-form{gap:var(--space-1);color:var(--color-brand-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);line-height:var(--line-height-label);display:grid}.workspace-feedback-editor .ui-button{justify-self:start}.workspace-lesson-record{gap:var(--space-3);display:grid}.workspace-lesson-record>.ui-panel-header{border-bottom:1px solid var(--color-border-subtle)}.workspace-lesson-fields{gap:var(--space-3);padding:0 var(--space-4) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workspace-lesson-memo{grid-column:1/-1}.workspace-lesson-record>.ui-button{margin:0 var(--space-4) var(--space-4);justify-self:start}.workspace-bulk-bar{bottom:var(--space-2);z-index:2;min-height:var(--control-height-default);justify-content:space-between;align-items:center;gap:var(--space-2);border:1px solid var(--color-border-default);border-left:3px solid var(--color-brand-accent);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-2) var(--space-3);box-shadow:var(--shadow-elevation);flex-wrap:wrap;display:flex;position:sticky}.workspace-bulk-bar>div,.workspace-template-picker,.workspace-bulk-actions,.workspace-ai-actions,.workspace-ai-preview>div{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.workspace-bulk-composer{gap:var(--space-3);display:grid}.workspace-template-picker{padding:0 var(--space-4)}.workspace-template-picker label,.workspace-template-create label{gap:var(--space-1);color:var(--color-brand-primary);font-size:var(--font-size-label);font-weight:var(--font-weight-label);display:grid}.workspace-template-picker .ui-select{min-width:180px}.workspace-ai-actions,.workspace-bulk-actions{padding:0 var(--space-4)}.workspace-bulk-textarea{margin:0 var(--space-4);width:calc(100% - (var(--space-4) * 2))}.workspace-ai-preview{gap:var(--space-2);border-top:1px solid var(--color-border-subtle);border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface-subtle);padding:var(--space-3) var(--space-4);display:grid}.workspace-ai-preview p{color:var(--color-text-primary);font-size:var(--font-size-body);line-height:var(--line-height-body);white-space:pre-wrap;margin:0}.workspace-overwrite-toggle{align-items:center;gap:var(--space-1);padding:0 var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-metadata);display:inline-flex}.workspace-template-create{gap:var(--space-2);border-top:1px solid var(--color-border-subtle);padding:var(--space-3) var(--space-4) var(--space-4);display:grid}.workspace-template-create summary{color:var(--color-brand-primary);cursor:pointer;font-size:var(--font-size-label);font-weight:var(--font-weight-label)}.workspace-template-list{border-top:1px solid var(--color-border-subtle);margin:0;padding:0;list-style:none;display:grid}.workspace-template-list li{min-height:var(--control-height-compact);justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-secondary);font-size:var(--font-size-metadata);display:flex}.workspace-template-list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workspace-template-create .ui-button{justify-self:start}.workspace-success{color:var(--color-success);font-size:var(--font-size-metadata);padding:0 var(--space-4) var(--space-4);margin:0}@media (min-width:1200px){.teacher-calendar-layout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.5fr)}.teacher-calendar-layout>.calendar-page{top:var(--space-4);position:sticky}}@media (min-width:768px) and (max-width:1199px){.teacher-calendar-layout{gap:var(--space-4);grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)}.teacher-calendar-layout>.calendar-page{top:var(--space-3);position:sticky}}@media (max-width:767px){.teacher-calendar-header{flex-direction:column;align-items:stretch}.teacher-calendar-header .ui-button{width:100%}.teacher-calendar-control-center{gap:var(--space-3)}.teacher-calendar-layout{gap:var(--space-4)}.teacher-calendar-layout>.calendar-page{padding:var(--space-2)}.teacher-calendar-layout>.calendar-page .calendar-events{margin-top:var(--space-2)}.teacher-calendar-layout>.calendar-page .section-title{padding-bottom:var(--space-2)}.teacher-calendar-layout>.calendar-page .weekdays{margin:var(--space-2) 0 var(--space-1)}.teacher-calendar-layout>.calendar-page .calendar-event-list{gap:var(--space-1)}.teacher-calendar-layout>.calendar-page .calendar-session-select{padding:var(--space-2)}.workspace-session-header{flex-direction:column}.workspace-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-summary-item:nth-child(2n),.workspace-summary-action:nth-child(2n){border-right:0}.workspace-summary-item:nth-child(-n+2),.workspace-summary-action:nth-child(-n+2){border-bottom:1px solid var(--color-border-default)}.workspace-homework-list li{grid-template-columns:1fr}.workspace-homework-counts{justify-content:flex-start}.workspace-students-heading{flex-direction:column;align-items:stretch}.workspace-search{width:100%}.workspace-student-table-head{display:none}.workspace-student-table li{gap:var(--space-2);grid-template-columns:32px minmax(0,1fr) auto;min-height:0}.workspace-student-table li>span{grid-column:2/-1}.workspace-student-table li>.text-button{grid-area:1/3}.workspace-student-name{grid-area:1/2}.workspace-student-table li>label{grid-area:1/1}.workspace-filters{flex-wrap:nowrap;overflow-x:auto}.workspace-filter-control{flex:none}.workspace-detail-actions{width:100%}.workspace-detail-actions>*{text-align:center;flex:auto}.workspace-homework-student-heading{flex-direction:column;align-items:flex-start}.workspace-lesson-fields{grid-template-columns:1fr}.workspace-lesson-memo{grid-column:auto}.workspace-bulk-bar{bottom:calc(var(--control-height-default) + var(--space-3) + env(safe-area-inset-bottom));align-items:stretch}.workspace-bulk-bar>div{grid-template-columns:1fr 1fr;display:grid}.workspace-bulk-bar>div>:last-child{grid-column:1/-1}.workspace-template-picker,.workspace-ai-actions,.workspace-bulk-actions{padding:0 var(--space-3)}.workspace-bulk-textarea{width:calc(100% - (var(--space-3) * 2));margin:0 var(--space-3)}.workspace-overwrite-toggle{padding:0 var(--space-3)}.workspace-template-create{padding-right:var(--space-3);padding-left:var(--space-3)}}.workspace-student-manager{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);margin-bottom:var(--space-3);padding:var(--space-3) var(--space-4)}.workspace-student-manager summary{cursor:pointer;color:var(--color-brand-navy);min-height:var(--touch-target-min);font-weight:700}.workspace-student-manager-form{gap:var(--space-2);margin-top:var(--space-2);display:flex}.workspace-student-manager-form .ui-input{flex:1;min-width:0}.workspace-student-manager ul{margin:var(--space-3) 0 0;padding:0;list-style:none}.workspace-student-manager li{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);min-height:var(--touch-target-min);display:flex}.workspace-student-manager li>span{gap:2px;min-width:0;display:grid}.workspace-student-manager li small{color:var(--color-neutral-600);overflow-wrap:anywhere}
.teacher-class-detail .classes-layout{gap:var(--space-4);grid-template-columns:minmax(15rem,.38fr) minmax(0,1fr);align-items:start}.teacher-class-detail .class-editor-panel{border-top:0;min-width:0;padding-top:0;display:block}.teacher-class-detail .class-list-panel{border-radius:var(--radius-panel);padding:0}.teacher-class-detail .class-list-panel:before{padding:var(--space-3) var(--space-4)}.teacher-class-detail .class-list-row{min-height:74px;padding:var(--space-3) var(--space-4)}.teacher-class-detail .class-list-row[data-selected=true]{border-left:4px solid var(--color-brand-gold);padding-left:calc(var(--space-4) - 3px);background:#f5ecda}.teacher-class-detail .class-list-row strong{font-size:var(--font-size-body)}.teacher-class-detail .class-list-row span,.teacher-class-detail .class-list-row small{font-size:var(--font-size-metadata)}.teacher-class-detail .classes-heading{border-bottom-color:var(--color-brand-navy);min-height:76px;padding-bottom:var(--space-3);align-items:flex-end}.teacher-class-detail .classes-heading h1{font-size:var(--font-size-page-title);letter-spacing:-.03em}.teacher-class-detail .classes-heading>.ui-button{min-height:var(--touch-target-min)}.teacher-class-detail .class-list-panel{border-color:var(--color-border);background:var(--color-surface);overflow:hidden}.teacher-class-detail .class-list-heading{border-bottom:1px solid var(--color-border);min-height:44px;color:var(--color-brand-navy);font-size:var(--font-size-panel-title);padding:0 var(--space-4);justify-content:space-between;align-items:center;display:flex}.teacher-class-detail .class-list-heading span{color:var(--color-neutral-700);font-size:var(--font-size-metadata);font-weight:400}.teacher-class-detail .class-list{padding:0 var(--space-4)}.teacher-class-detail .class-list-row{align-items:center;gap:var(--space-3);border-bottom-color:var(--color-border);min-height:66px;padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.teacher-class-detail .class-list-row[data-selected=true]{border-left:3px solid var(--color-brand-gold);background:var(--color-surface-subtle);padding-left:var(--space-3)}.teacher-class-detail .class-list-main,.teacher-class-detail .class-list-meta{min-width:0}.teacher-class-detail .class-list-main{gap:2px;display:grid}.teacher-class-detail .class-list-main strong{color:var(--color-brand-navy);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-class-detail .class-list-main small{color:var(--color-neutral-700);font-size:var(--font-size-metadata);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-class-detail .class-list-meta{align-items:center;gap:var(--space-2);color:var(--color-neutral-700);font-size:var(--font-size-metadata);white-space:nowrap;display:flex}.teacher-class-detail .class-editor-panel{border-top:0;padding-top:0}.teacher-class-detail .class-detail-summary{border-color:var(--color-border);background:var(--color-surface)}.teacher-class-detail .class-detail-summary-heading .ui-button{min-height:var(--control-height-compact)}.teacher-class-detail .class-detail-summary-grid dd{font-weight:var(--font-weight-label)}.teacher-class-detail .class-detail-tabs{gap:var(--space-4);margin-top:var(--space-3)}.teacher-class-detail .class-detail-tab{min-height:var(--touch-target-min)}.teacher-class-detail .class-detail-content{padding-top:var(--space-4)}.teacher-class-detail .class-detail-section{border-color:var(--color-border);background:var(--color-surface)}.teacher-class-detail .class-detail-section-heading h2{font-size:var(--font-size-section-title)}.teacher-class-detail .class-detail-section-heading>span{color:var(--color-neutral-700)}.teacher-class-detail .class-student-table-row .text-button{color:var(--color-brand-navy)}.teacher-class-detail .class-student-table-row .text-button:hover{color:var(--color-brand-gold-strong);text-decoration:underline}.teacher-class-detail .class-student-manage{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.teacher-class-detail .class-student-manage h3{color:var(--color-brand-navy);font-size:var(--font-size-panel-title);margin:0}.teacher-class-detail .class-student-search{gap:var(--space-2);margin-top:var(--space-3);display:flex}.teacher-class-detail .class-student-search .form-input{flex:1;min-width:0}.teacher-class-detail .class-student-candidates{margin:var(--space-3) 0 0;border:1px solid var(--color-border);padding:0 var(--space-3);list-style:none}.teacher-class-detail .class-student-candidates li{min-height:var(--touch-target-min);justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.teacher-class-detail .class-student-candidates li:last-child{border-bottom:0}.teacher-class-detail .class-student-candidates li>span{gap:2px;min-width:0;display:grid}.teacher-class-detail .class-student-candidates small{color:var(--color-neutral-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-class-detail .class-inline-student-detail{border-top:2px solid var(--color-brand-navy);margin-top:var(--space-5);padding-top:var(--space-4)}.teacher-class-detail .class-inline-student-detail>p{color:var(--color-neutral-700)}.teacher-class-detail .classes-status{border:0}.teacher-homework-panel{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-gold);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-4)}.teacher-homework-panel>.section-title{border-bottom:1px solid var(--color-border);min-height:44px;padding-bottom:var(--space-2);align-items:center}.teacher-homework-panel>.section-title h2{color:var(--color-brand-navy);font-size:var(--font-size-section-title)}.teacher-homework-panel .ui-feedback-state{min-height:108px}.teacher-homework-panel .homework-list{margin:0}.teacher-homework-panel .homework-list li{border-bottom:1px solid var(--color-border)}.teacher-homework-panel .homework-list li:last-child{border-bottom:0}.teacher-homework-panel .homework-list button{align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.teacher-homework-panel .homework-list strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.teacher-homework-panel .homework-list span{color:var(--color-neutral-700);font-size:var(--font-size-metadata);text-align:right;white-space:nowrap;margin:0}.teacher-homework-panel .homework-detail{padding-top:var(--space-3)}.teacher-homework-panel .homework-detail h3{color:var(--color-brand-navy);font-size:var(--font-size-page-title)}.teacher-homework-panel .homework-due{font-size:var(--font-size-metadata)}.teacher-homework-panel .homework-description{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle)}.teacher-homework-panel .homework-metrics{margin:var(--space-4) 0;border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.teacher-homework-panel .homework-metrics>button{border:0;border-right:1px solid var(--color-border);min-height:64px;padding:var(--space-2) var(--space-3);background:0 0;border-radius:0}.teacher-homework-panel .homework-metrics>button:last-child{border-right:0}.teacher-homework-panel .homework-metrics>button[data-selected=true]{box-shadow:inset 0 -3px 0 var(--color-brand-gold);background:var(--color-surface-subtle)}.teacher-homework-panel .homework-metrics strong{font-size:1.2rem}.teacher-homework-panel .homework-student-list>li{border-bottom-color:var(--color-border);padding:var(--space-3) 0}.teacher-homework-panel .homework-feedback{border:0;border-top:1px solid var(--color-border);padding:var(--space-3) 0 0;background:0 0}.teacher-homework-panel .homework-feedback .ui-textarea{min-height:72px}.teacher-homework-panel .homework-feedback .ui-button{justify-self:start}.teacher-class-detail .class-sessions{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-navy);border-radius:var(--radius-panel);background:var(--color-surface);padding:var(--space-4)}.teacher-class-detail .class-session-row{border-bottom-color:var(--color-border);min-height:58px;padding:var(--space-2) 0}.teacher-class-detail .class-session-actions .text-button{color:var(--color-brand-navy);font-size:var(--font-size-metadata)}.teacher-class-detail .class-session-actions .text-button:hover{color:var(--color-brand-gold-strong);text-decoration:underline}.teacher-class-detail .attendance-panel-wrap{border-top-color:var(--color-border)}.teacher-class-detail .attendance-panel{border:0;border-top:1px solid var(--color-border);padding:var(--space-3) 0 0;background:0 0}.teacher-class-detail .attendance-row{border-bottom-color:var(--color-border);padding:var(--space-3) 0}.teacher-class-detail .attendance-row button{color:var(--color-brand-navy)}@media (max-width:767px){.teacher-homework-panel{padding:var(--space-3)}.teacher-homework-panel .homework-list button{gap:var(--space-1);grid-template-columns:1fr}.teacher-homework-panel .homework-list span{text-align:left}.teacher-homework-panel .homework-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-homework-panel .homework-metrics>button:nth-child(2){border-right:0}.teacher-homework-panel .homework-metrics>button:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.teacher-class-detail .class-sessions{padding:var(--space-3)}}.class-detail-summary{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-card);padding:var(--space-5)}.class-detail-summary-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);display:flex}.class-detail-summary-heading p,.class-detail-summary-heading h2,.class-detail-summary-heading span{margin:0}.class-detail-summary-heading p{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.class-detail-summary-heading h2{color:var(--color-brand-navy);letter-spacing:-.03em;margin-top:.25rem;font-size:1.35rem}.class-detail-summary-heading span{color:var(--color-success);font-size:var(--font-size-metadata);margin-top:.45rem;font-weight:700;display:inline-flex}.class-detail-summary-heading .secondary-button{min-height:var(--touch-target-min);white-space:nowrap}.class-detail-summary-grid{gap:var(--space-4);margin:var(--space-4) 0 0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.class-detail-summary-grid div{min-width:0}.class-detail-summary-grid dt{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.class-detail-summary-grid dd{color:var(--color-neutral-900);font-size:var(--font-size-body);text-overflow:ellipsis;white-space:nowrap;margin:.35rem 0 0;font-weight:700;overflow:hidden}.class-detail-tabs{gap:var(--space-5);margin-top:var(--space-3);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto}.class-detail-tab{min-height:48px;color:var(--color-neutral-700);cursor:pointer;font:inherit;font-size:var(--font-size-body);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:0 .1rem;font-weight:700;position:relative}.class-detail-tab:hover{color:var(--color-brand-navy)}.class-detail-tab[data-active=true]{border-bottom-color:var(--color-brand-gold);color:var(--color-brand-navy)}.class-detail-content{min-width:0;padding-top:var(--space-4)}.class-detail-section{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-card);min-width:0;padding:var(--space-5)}.class-detail-section-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-3);display:flex}.class-detail-section-heading p,.class-detail-section-heading h2{margin:0}.class-detail-section-heading p{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.class-detail-section-heading h2{color:var(--color-brand-navy);font-size:var(--font-size-section-title);margin-top:.25rem}.class-detail-section-heading>span{color:var(--color-brand-gold-strong);font-size:var(--font-size-metadata);font-weight:700}.class-overview-grid{gap:var(--space-6);padding-top:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);display:grid}.class-overview-copy h3{color:var(--color-brand-navy);font-size:var(--font-size-panel-title);margin:0 0 .4rem}.class-overview-copy h3:not(:first-child){margin-top:var(--space-5)}.class-overview-copy p{color:var(--color-neutral-700);font-size:var(--font-size-body);white-space:pre-wrap;margin:0;line-height:1.6}.class-overview-copy .class-overview-note{margin-top:var(--space-3);color:var(--color-neutral-500);font-size:var(--font-size-metadata)}.class-overview-grid .class-form{border-left:1px solid var(--color-border);padding-left:var(--space-5)}.class-overview-grid .class-form h2{display:none}.class-student-filters{gap:var(--space-1);flex-wrap:wrap;display:flex}.class-filter-button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:36px;color:var(--color-neutral-700);cursor:pointer;font:inherit;font-size:var(--font-size-metadata);background:0 0;padding:0 .6rem}.class-filter-button[data-active=true]{border-color:var(--color-brand-navy);background:var(--color-brand-navy);color:#fff}.class-student-table{margin-top:var(--space-4)}.class-student-table-head,.class-student-table-row{gap:var(--space-3);grid-template-columns:minmax(10rem,1.3fr) minmax(8rem,1fr) minmax(6rem,.7fr) 6rem;align-items:center;display:grid}.class-student-table-head{border-bottom:1px solid var(--color-brand-navy);min-height:38px;color:var(--color-neutral-700);font-size:var(--font-size-metadata);font-weight:700}.class-student-table-row{border-bottom:1px solid var(--color-border);min-height:58px;color:var(--color-neutral-900);font-size:var(--font-size-table)}.class-student-table-row>span:first-child{gap:2px;min-width:0;display:grid}.class-student-table-row strong{color:var(--color-brand-navy)}.class-student-table-row small{color:var(--color-neutral-500);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-student-table-row .text-button{min-height:44px;color:var(--color-brand-navy);text-align:left;padding:0;text-decoration:none}.class-parent-status{color:var(--color-neutral-500);font-size:var(--font-size-metadata)}.class-parent-status.is-connected{color:var(--color-success);font-weight:700}.teacher-class-detail .class-detail-section .class-sessions{border:0;padding:0}.teacher-class-detail .class-detail-section .schedule-editor{border:0;border-bottom:1px solid var(--color-border);padding:0 0 var(--space-5);border-radius:0}.teacher-class-detail .class-detail-section .schedule-editor h2{color:var(--color-brand-navy);font-size:var(--font-size-section-title);margin-top:0}.teacher-class-detail .class-detail-section .class-sessions{margin-top:var(--space-5)}.teacher-class-detail .class-detail-section .class-sessions>.section-title h2{font-size:var(--font-size-section-title)}.teacher-class-detail .attendance-panel-wrap{margin-top:var(--space-3)}@media (max-width:1023px){.teacher-class-detail .classes-layout{grid-template-columns:minmax(13rem,.34fr) minmax(0,1fr)}.class-detail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-overview-grid{grid-template-columns:1fr}.class-overview-grid .class-form{border-top:1px solid var(--color-border);padding-top:var(--space-5);border-left:0;padding-left:0}}@media (max-width:767px){.teacher-class-detail .classes-heading>.ui-button{width:100%}.teacher-class-detail .classes-layout{gap:var(--space-3);grid-template-columns:1fr}.teacher-class-detail .class-list-panel{max-height:260px;overflow-y:auto}.teacher-class-detail .class-list{padding:0 var(--space-3)}.teacher-class-detail .class-list-row{gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.teacher-class-detail .class-list-meta{justify-content:space-between}.class-detail-summary{padding:var(--space-4)}.class-detail-summary-heading{flex-direction:column;align-items:stretch}.class-detail-summary-heading .secondary-button{justify-content:center;width:100%}.class-detail-summary-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.class-detail-summary-grid dd{font-size:var(--font-size-metadata)}.class-detail-tabs{gap:var(--space-4);margin-top:var(--space-2)}.class-detail-section{padding:var(--space-4)}.class-detail-section-heading{align-items:flex-start;gap:var(--space-2);flex-direction:column}.class-student-filters{width:100%}.class-filter-button{flex:auto}.class-student-table-head{display:none}.class-student-table-row{gap:var(--space-2);min-height:78px;padding:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto}.class-student-table-row>span:nth-child(2){color:var(--color-neutral-700);font-size:var(--font-size-metadata);grid-column:1}.class-student-table-row>span:nth-child(3){grid-area:1/2}.class-student-table-row>.text-button{grid-area:2/2;justify-self:end}.class-student-table-row>span:first-child{grid-area:1/1/span 2;align-self:center}.class-detail-section .schedule-rule-row{grid-template-columns:1fr 1fr}.class-detail-section .schedule-rule-row select{grid-column:1/-1}}
.student-page{gap:var(--space-5);min-width:0;display:grid}.student-page-heading{justify-content:space-between;align-items:flex-end;gap:var(--space-4);border-bottom:2px solid var(--color-brand-navy);padding-bottom:var(--space-4);display:flex}.student-page-heading p,.student-page-heading h1,.student-page-heading span{margin:0}.student-page-heading p{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-page-heading h1{color:var(--color-brand-navy);letter-spacing:-.035em;margin-top:.3rem;font-size:clamp(1.55rem,3vw,2.15rem)}.student-page-heading span{color:var(--color-neutral-700);font-size:var(--font-size-body);margin-top:.4rem;display:block}.student-header-link,.student-section-heading a{color:var(--color-brand-navy);font-size:var(--font-size-metadata);font-weight:700;text-decoration:none}.student-today-panel,.student-panel{border:1px solid var(--color-border);border-radius:var(--radius-student);background:var(--color-surface-card);min-width:0}.student-today-panel{border-color:var(--color-brand-navy);padding:var(--space-5)}.student-section-heading{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex}.student-today-panel>.student-section-heading{padding:0 0 var(--space-3)}.student-section-heading h2{color:var(--color-brand-navy);font-size:var(--font-size-panel-title);align-items:center;gap:.4rem;margin:0;display:flex}.student-eyebrow{color:var(--color-success);font-size:var(--font-size-metadata);align-items:center;gap:.35rem;font-weight:700;display:flex}.student-section-heading h2+span,.student-section-heading>span{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-today-panel h2{color:var(--color-brand-navy);margin:.35rem 0 0;font-size:clamp(1.25rem,3vw,1.7rem)}.student-task-list,.student-compact-list,.student-event-list,.student-feedback-list{margin:0;padding:0;list-style:none}.student-task-list{margin-top:var(--space-3)}.student-task-list li,.student-compact-list li,.student-event-list li{border-bottom:1px solid var(--color-border)}.student-task-list li:last-child,.student-compact-list li:last-child,.student-event-list li:last-child{border-bottom:0}.student-task-list a,.student-compact-list a,.student-event-list a{min-height:var(--touch-target-min);justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;display:flex}.student-task-list a{padding:.7rem 0}.student-task-list a>span:first-child,.student-compact-list a>span:first-child,.student-event-list a>span:last-child{gap:.2rem;min-width:0;display:grid}.student-task-list strong,.student-compact-list strong,.student-event-list strong{color:var(--color-brand-navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-task-list small,.student-compact-list small,.student-event-list small{color:var(--color-neutral-700);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-task-arrow{color:var(--color-brand-accent-strong);font-size:var(--font-size-metadata);flex:none;font-weight:700}.student-empty-copy{color:var(--color-neutral-700);padding:var(--space-4);margin:0;line-height:1.6}.student-home-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-panel{overflow:hidden}.student-next-class-body{min-height:7.5rem;padding:var(--space-5);color:var(--color-text);gap:.45rem;text-decoration:none;display:grid}.student-next-class-body strong{color:var(--color-brand-navy);font-size:1.15rem}.student-next-class-body span{color:var(--color-neutral-900);font-weight:700}.student-next-class-body small{color:var(--color-neutral-700)}.student-compact-list{padding:0 var(--space-4)}.student-compact-list a{min-height:3.55rem}.student-list-chevron{color:var(--color-brand-accent-strong);font-size:1.4rem}.student-streak-panel{overflow:visible}.student-streak-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.student-streak-grid article{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);align-items:center;gap:.65rem;padding:.75rem;display:flex}.student-streak-icon{background:var(--color-warning-surface);width:2.25rem;height:2.25rem;color:var(--color-warning);border-radius:50%;flex:none;place-items:center;display:grid}.student-streak-grid article>div:not(.student-streak-icon){gap:.15rem;min-width:0;display:grid}.student-streak-grid strong{color:var(--color-brand-navy)}.student-streak-grid span,.student-streak-grid small{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-streak-grid small{white-space:nowrap;margin-left:auto}.student-home-secondary{align-items:start}.student-event-list{padding:0 var(--space-4)}.student-event-list a{justify-content:flex-start;min-height:3.4rem}.student-event-dot{background:var(--color-brand-accent);border-radius:50%;flex:none;width:.55rem;height:.55rem}.student-event-dot.is-homework{background:var(--color-info)}.student-feedback-list{padding:0 var(--space-4)}.student-feedback-list li{border-bottom:1px solid var(--color-border);padding:.85rem 0}.student-feedback-list li:last-child{border-bottom:0}.student-feedback-list p{color:var(--color-text);margin:0;line-height:1.5}.student-feedback-list small{color:var(--color-neutral-700);margin-top:.35rem;display:block}.student-briefing-panel{overflow:hidden}.published-briefing-list{padding:0 var(--space-4);gap:0;margin:0;list-style:none;display:grid}.published-briefing-item{border-bottom:1px solid var(--color-border);min-width:0;padding:var(--space-4) 0}.published-briefing-item:last-child{border-bottom:0}.published-briefing-meta{min-width:0;color:var(--color-neutral-700);font-size:var(--font-size-metadata);flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.published-briefing-class{color:var(--color-brand-navy);font-weight:750}.published-briefing-divider{color:var(--color-brand-accent-strong)}.published-briefing-meta time{white-space:nowrap;align-items:center;gap:.25rem;margin-left:auto;display:inline-flex}.published-briefing-content{border-left:3px solid var(--color-brand-gold);border-radius:0 var(--radius-control) var(--radius-control) 0;background:var(--color-surface-muted);color:var(--color-text);overflow-wrap:anywhere;white-space:pre-wrap;margin:.65rem 0 0;padding:.7rem .85rem;line-height:1.65}.published-briefing-empty,.published-briefing-state{padding:var(--space-5) var(--space-4);margin:0}.student-teachers-page .list-section{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-navy);border-radius:var(--radius-student);background:var(--color-surface-card);overflow:hidden}.student-teachers-page .section-title{padding:var(--space-3) var(--space-4)}.student-teacher-list{padding:0 var(--space-4)}.student-teacher-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);min-height:4.25rem;display:flex}.student-teacher-row>div{gap:.2rem;min-width:0;display:grid}.student-teacher-row strong{color:var(--color-brand-navy);overflow-wrap:anywhere}.student-teacher-row span{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-teacher-readonly{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);white-space:nowrap;flex:none;padding:.35rem .55rem}.student-home-page .student-lateness{margin-top:0}.student-home-page .student-lateness .section-title{padding:var(--space-3) var(--space-4)}.student-home-page .student-lateness .teacher-row{margin:0 var(--space-4)}.student-streak-experience{border:1px solid var(--color-border);border-radius:var(--radius-student);background:var(--color-surface-card);min-width:0;overflow:hidden}.streak-stamp-grid{gap:var(--space-3);padding:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));display:grid}.streak-stamp{border:1px solid var(--color-border-subtle);border-radius:var(--radius-student);background:var(--color-info-surface);min-width:0;padding:var(--space-4)}.streak-stamp-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.streak-stamp-heading>div{gap:.2rem;min-width:0;display:grid}.streak-stamp-heading strong{color:var(--color-brand-navy);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.streak-stamp-heading span{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.streak-stamp-heading .streak-best{color:var(--color-brand-gold-strong);white-space:nowrap;font-weight:700}.streak-milestones{margin-top:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}.streak-milestones>div{min-width:0;color:var(--color-neutral-300);font-size:var(--font-size-metadata);text-align:center;justify-items:center;gap:.18rem;display:grid}.streak-milestones>div.is-achieved{color:var(--color-success)}.streak-milestone-icon{background:var(--color-neutral-100);width:3rem;height:3rem;color:inherit;border:2px dashed;border-radius:50%;place-items:center;display:grid}.streak-milestones>div.is-achieved .streak-milestone-icon{background:var(--color-success-surface);border-style:solid}.streak-milestones>div[data-active=true] .streak-milestone-icon{box-shadow:0 0 0 3px var(--color-surface), 0 0 0 5px var(--color-brand-gold)}.streak-milestones>div b{color:var(--color-brand-navy);font-size:.78rem}.streak-milestones>div small{color:var(--color-neutral-700);white-space:nowrap;font-size:10px}.streak-milestones>div em{color:inherit;font-size:10px;font-style:normal;font-weight:700}.streak-next-copy{margin:var(--space-3) 0 0;color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-classes-page .simple-list{border:1px solid var(--color-border);border-radius:var(--radius-student);background:var(--color-surface-card);padding:0 var(--space-4);gap:0}.student-classes-page .simple-list>a{border:0;border-bottom:1px solid var(--color-border);border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:1rem 0}.student-classes-page .simple-list>a:last-child{border-bottom:0}.student-classes-page .simple-list>a:after{color:var(--color-brand-accent-strong);content:"›";font-size:1.4rem}.student-class-detail{gap:var(--space-4)}.student-class-detail .page-heading{background:var(--color-surface-card);border:1px solid var(--color-border);border-top:3px solid var(--color-brand-navy);padding:var(--space-4)}.student-class-detail .list-section{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-navy);border-radius:var(--radius-student);background:var(--color-surface-card);padding:var(--space-4)}.student-class-detail .class-overview{border-top-color:var(--color-brand-accent)}.student-class-detail .student-class-links{gap:var(--space-2);display:flex}.student-class-detail .student-class-links .secondary-button{flex:12rem}.student-homework-list{border:1px solid var(--color-border);border-radius:var(--radius-student);background:var(--color-surface-card);padding:0 var(--space-4);overflow:hidden}.student-homework-list li{border-bottom:1px solid var(--color-border)}.student-homework-list li:last-child{border-bottom:0}.student-homework-list button{min-height:4.25rem;padding:.8rem 0}.student-homework-detail{border:1px solid var(--color-border);border-top:3px solid var(--color-brand-navy);border-radius:var(--radius-student);background:var(--color-surface-card);padding:var(--space-5)}.student-homework-detail .homework-description{border-radius:var(--radius-control)}.calendar-page{border:1px solid var(--color-border);border-radius:var(--radius-student);background:var(--color-surface-card);padding:var(--space-4)}.student-calendar-route .calendar-page{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1.45fr) minmax(16rem,.85fr)}.student-calendar-route .calendar-page>.section-title,.student-calendar-route .calendar-page>.weekdays,.student-calendar-route .calendar-page>.calendar-grid{grid-column:1}.student-calendar-route .calendar-page>.calendar-events{border-left:1px solid var(--color-border);padding-left:var(--space-4);grid-area:1/2/span 3;align-self:stretch}@media (max-width:767px){.student-page-heading{flex-direction:column;align-items:flex-start}.student-header-link{min-height:var(--touch-target-min);align-items:center;display:inline-flex}.student-home-grid{grid-template-columns:1fr}.student-home-secondary{order:4}.student-streak-panel{order:3}.student-today-panel{order:1}.student-home-grid:first-of-type{order:2}.student-streak-grid{grid-template-columns:1fr}.student-class-detail .student-class-links{flex-direction:column}.student-homework-detail{padding:var(--space-4)}.student-calendar-route .calendar-page{grid-template-columns:1fr}.student-calendar-route .calendar-page>.section-title,.student-calendar-route .calendar-page>.weekdays,.student-calendar-route .calendar-page>.calendar-grid,.student-calendar-route .calendar-page>.calendar-events{grid-area:auto/1}.student-calendar-route .calendar-page>.calendar-events{border-left:0;border-top:1px solid var(--color-border);padding:var(--space-4) 0 0}.published-briefing-meta time{width:100%;margin-left:0}}.student-homework-groups{gap:var(--space-4);display:grid}.student-homework-selected-streak{margin-bottom:var(--space-4)}.student-homework-group{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-card);overflow:hidden}.student-homework-group-heading{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-border);padding:var(--space-3) var(--space-4);display:flex}.student-homework-group-heading span{color:var(--color-neutral-700);font-size:var(--font-size-metadata)}.student-homework-group-heading h2{color:var(--color-brand-navy);margin:.2rem 0 0;font-size:1.1rem}.student-homework-group-streak{justify-items:end;gap:.2rem;display:grid}.student-homework-group-streak strong{color:var(--color-brand-navy)}.student-homework-group-streak span{color:var(--color-neutral-700)}.student-homework-group-stamp{padding:.55rem var(--space-4);color:var(--color-neutral-700);font-size:var(--font-size-metadata);flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.student-homework-group-stamp [data-achieved=true]{color:var(--color-success);font-weight:700}.student-homework-group-list{display:grid}.student-feedback-compact{min-height:7rem;padding:var(--space-4)}.student-homework-group>.streak-stamp{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:0}.student-homework-group .streak-milestones{margin-top:var(--space-3)}.student-classes-page .simple-list>a{justify-content:space-between;gap:var(--space-3);display:flex}.student-classes-page .simple-list>a>span:first-child{gap:.2rem;min-width:0;display:grid}.student-classes-page .simple-list small{color:var(--color-neutral-700)}@media (max-width:560px){.student-homework-group-heading{flex-direction:column;align-items:flex-start}.student-homework-group-streak{justify-items:start}}
