/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance: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}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#18233b;--muted:#647086;--cream:#f4f0e7;--paper:#fffdf8;--indigo:#303b77;--indigo-dark:#202955;--coral:#ed7459;--line:#d2d7e1;--line-strong:#c8c2b7;--line-field:#8b92a5;--line-panel:#988f7c;--font-body:17px;--font-workspace:clamp(17px, 1.15vw, 18px);--font-education:17px;--font-question:17px;--font-option:17px;--font-small:13px;--font-label:14px;--font-control:17px;--font-card-title:clamp(23px, 1.5vw, 25px);--font-section-title:clamp(30px, 2.2vw, 34px);--font-page-title:clamp(38px, 3vw, 44px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), sans-serif;font-size:var(--font-body);margin:0;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.auth-shell{grid-template-columns:minmax(420px,.92fr) minmax(520px,1.08fr);min-height:100vh;display:grid}.brand-panel{color:#fff;background:radial-gradient(circle at 14% 90%, #ed74593d 0 15%, transparent 15.2%), radial-gradient(circle at 89% 9%, #ffffff1a 0 21%, transparent 21.2%), var(--indigo);flex-direction:column;justify-content:space-between;padding:42px clamp(42px,6vw,88px);display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";border:1px solid #ffffff24;border-radius:50%;width:230px;height:230px;position:absolute;bottom:19%;right:-100px}.brand{color:#fff;letter-spacing:-.02em;align-items:center;gap:12px;width:fit-content;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--coral);width:38px;height:38px;font-family:var(--font-serif), serif;border-radius:12px 12px 12px 4px;place-items:center;font-size:21px;display:grid}.brand-copy{max-width:560px}.eyebrow{color:#ffd7ce;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:700}.brand-copy h1{max-width:530px;font-family:var(--font-serif), serif;letter-spacing:-.045em;margin:0;font-size:clamp(38px,4.2vw,64px);font-weight:500;line-height:1.08}.intro{color:#ffffffc2;max-width:530px;margin:24px 0 34px;font-size:16px;line-height:1.75}.today-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff17;border:1px solid #ffffff29;border-radius:18px;align-items:center;gap:18px;width:min(100%,490px);padding:17px 20px;display:flex}.today-date{background:var(--paper);width:61px;min-width:61px;color:var(--indigo);text-align:center;border-radius:12px;padding:8px 4px}.today-date strong{font-size:24px;line-height:1;display:block}.today-date span{letter-spacing:.08em;font-size:9px;font-weight:700}.today-card>div:last-child{gap:3px;display:grid}.today-card strong{font-size:14px}.today-card span{color:#ffffffa6;font-size:12px}.today-card .card-label{color:#ffd7ce;font-weight:600}.privacy-note{color:#ffffff8c;max-width:470px;margin:30px 0 0;font-size:11px;line-height:1.6}.form-panel{background:var(--paper);place-items:center;padding:42px clamp(40px,7vw,112px);display:grid}.form-wrap{width:min(100%,470px)}.mobile-brand{display:none}.form-heading h2{font-family:var(--font-serif), serif;letter-spacing:-.035em;margin:0 0 10px;font-size:clamp(30px,3vw,40px);font-weight:600}.form-heading>p:last-child{color:var(--muted);margin:0;line-height:1.6}.auth-tabs{background:#eef0f5;border-radius:12px;grid-template-columns:1fr 1fr;margin:30px 0 24px;padding:5px;display:grid}.auth-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:10px;font-weight:600}.auth-tabs button.active{color:var(--indigo);background:#fff;box-shadow:0 2px 8px #18233b14}.role-picker{grid-template-columns:repeat(3,1fr);gap:8px;margin:-6px 0 22px;display:grid}.role-picker button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:10px;padding:10px 8px;font-size:13px;font-weight:600}.role-picker button.selected{border-color:var(--indigo);color:var(--indigo);background:#f0f1f8}form{gap:17px;display:grid}label{gap:7px;font-size:13px;font-weight:600;display:grid}input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:10px;outline:none;padding:0 14px;transition:border-color .18s,box-shadow .18s}input::placeholder{color:#a3aaba}input:focus,textarea:focus{border-color:var(--indigo);box-shadow:0 0 0 3px #303b772e}.password-row{display:block}.forgot-link{color:var(--indigo);justify-self:end;margin-top:-7px;font-size:12px;font-weight:600;text-decoration:none}.forgot-link:hover,.terms a:hover{text-decoration:underline}.primary-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:13px;min-height:50px;margin-top:2px;padding:0 18px;font-weight:700;transition:transform .18s,background .18s;display:flex;box-shadow:0 10px 24px #ed745938}.primary-button:hover{background:#dc644c;transform:translateY(-1px)}.primary-button:disabled,.verification-button:disabled{cursor:wait;opacity:.65;transform:none}.primary-button:focus-visible{outline-offset:2px;outline:3px solid #ed745973}button:focus-visible{outline-offset:2px;outline:3px solid #ed745973}a:focus-visible{outline-offset:2px;outline:3px solid #ed745973}.form-message{color:#2e6b40;background:#edf6ef;border-radius:9px;margin:0;padding:11px 13px;font-size:12px;line-height:1.5}.form-message.error{color:#9c3f2d;background:#fff0ed}.verification-button{border:1px solid var(--indigo);min-height:42px;color:var(--indigo);cursor:pointer;background:#f0f1f8;border-radius:10px;padding:0 14px;font-size:12px;font-weight:700}.terms{color:#8790a2;text-align:center;max-width:390px;margin:23px auto 0;font-size:11px;line-height:1.65}.terms a{color:var(--indigo);font-weight:600;text-decoration:none}@media (max-width:860px){.assignment-result-context{grid-template-columns:1fr 1fr}.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}.form-panel{min-height:100vh;padding:34px 22px}.mobile-brand{color:var(--indigo);margin:0 0 24px;font-size:13px;font-weight:700;display:block}}@media (max-width:430px){.assignment-result-context,.assignment-progress-metrics{grid-template-columns:1fr}.form-panel{align-items:start}.form-heading h2{font-size:30px}.auth-tabs{margin-top:24px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.dashboard-shell{background:#f1f0ea;min-height:100vh}.dashboard-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8f2;border-bottom:1px solid #d9d5cc;justify-content:space-between;align-items:center;height:74px;padding:0 clamp(22px,4vw,64px);display:flex;position:relative}.dashboard-brand{color:var(--indigo);align-items:center;gap:11px;font-weight:700;text-decoration:none;display:inline-flex}.dashboard-tagline{color:#68718a;font-family:var(--font-serif), serif;letter-spacing:.02em;white-space:nowrap;margin:0;font-size:13px;font-style:italic;position:absolute;left:50%;transform:translate(-50%)}.account-menu{align-items:center;gap:18px;display:flex}.account-menu>span{text-align:right;display:grid}.account-menu small{color:var(--muted);font-size:11px}.account-menu button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:600}.dashboard-content{grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 74px);display:grid}.dashboard-nav{background:var(--paper);border-right:1px solid #d9d5cc;flex-direction:column;gap:7px;padding:24px 14px 30px;display:flex}.dashboard-nav .nav-section{color:#969ca9;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 10px;font-size:10px;font-weight:700}.dashboard-nav>a,.dashboard-nav>button{color:var(--muted);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:9px;padding:11px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background .16s,border-color .16s,box-shadow .16s,color .16s}.dashboard-nav>a:not(.active):hover,.dashboard-nav>button:not(.active):not(:disabled):hover{color:var(--indigo-dark);background:#f5f3ed;border-color:#ded9cf}.dashboard-nav>a.active,.dashboard-nav>button.active{color:var(--indigo-dark);background:#e4e8f6;border-color:#cbd2e8;font-weight:750;box-shadow:inset 4px 0 #4e5d99,0 3px 10px #1f2b4c12}.dashboard-nav>button:disabled{cursor:not-allowed;opacity:.58}.nav-profile{z-index:5;border-top:1px solid var(--line);background:var(--paper);border-right:1px solid #e7e4dc;gap:3px;width:210px;margin:0;padding:15px 26px;display:grid;position:fixed;bottom:0;left:0;overflow:hidden}.nav-profile span{color:var(--muted);text-transform:uppercase;font-size:10px}.nav-profile strong,.nav-profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-profile strong{color:var(--ink);font-size:11px}.nav-profile small{color:var(--muted);font-size:10px}.dashboard-main{min-width:0;padding:clamp(22px,2.5vw,32px) clamp(24px,3vw,40px) 36px}.dashboard-intro{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.dashboard-intro .eyebrow{color:var(--coral);margin-bottom:11px}.dashboard-intro h1{font-family:var(--font-serif), serif;letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,48px);font-weight:600}.dashboard-intro p:last-child{max-width:620px;color:var(--muted);margin:12px 0 0;line-height:1.65}.phase-badge{color:var(--indigo);white-space:nowrap;background:#f0f1f8;border:1px solid #d9dcea;border-radius:99px;padding:8px 11px;font-size:10px;font-weight:700}.metric-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin:34px 0;display:grid}.metric-card{background:var(--paper);border:1px solid #e5e2da;border-radius:16px;flex-direction:column;min-height:160px;padding:22px;display:flex}.metric-card>span{color:var(--muted);font-size:12px;font-weight:600}.metric-card>strong{color:var(--indigo);font-family:var(--font-serif), serif;margin:12px 0 auto;font-size:38px}.metric-card>small{color:#9299a7;font-size:10px;line-height:1.45}.teacher-class-overview,.teacher-attendance-report,.student-dashboard-overview{background:var(--paper);border:1px solid #e1ded5;border-radius:18px;margin:0 0 28px;padding:24px}.overview-section-heading,.report-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.overview-section-heading .section-kicker,.report-heading .section-kicker{color:var(--coral)}.overview-section-heading h2,.report-heading h2{font-family:var(--font-serif), serif;margin:0;font-size:24px}.overview-section-heading>button{background:var(--indigo);color:#fff;cursor:pointer;border:0;border-radius:9px;min-height:38px;padding:0 13px;font-size:10px;font-weight:700}.teacher-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px;display:grid}.teacher-class-grid>button{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#f8f7f2;border:1px solid #e1ded5;border-radius:12px;gap:6px;padding:16px;display:grid}.teacher-class-grid span{color:var(--coral);letter-spacing:.08em;font-size:8px;font-weight:700}.teacher-class-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.teacher-class-grid small{color:var(--muted);font-size:9px}.teacher-class-grid b{color:var(--indigo);margin-top:4px;font-size:8px;font-weight:600}.student-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin-top:18px;display:grid}.student-class-grid>button{min-width:0;color:var(--ink);cursor:pointer;text-align:left;background:#f8f7f2;border:1px solid #e1ded5;border-radius:12px;gap:6px;padding:16px;display:grid}.student-class-grid span{color:var(--coral);letter-spacing:.08em;font-size:8px;font-weight:700}.student-class-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-class-grid small{color:var(--muted);font-size:9px}.student-class-grid b{color:var(--indigo);margin-top:4px;font-size:8px;font-weight:600}.student-month-snapshot{color:var(--indigo);background:#f0f1f8;border-radius:10px;flex-wrap:wrap;gap:8px 16px;margin-top:14px;padding:11px 13px;font-size:9px;display:flex}.student-month-snapshot span{margin-right:auto;font-weight:700}.report-heading{align-items:center}.report-heading>div>p:last-child{color:var(--muted);margin:7px 0 0;font-size:10px}.report-heading label{min-width:145px;color:var(--muted);font-size:9px}.report-heading input{min-height:38px}.report-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.report-summary>div{background:#f0efe9;border-radius:10px;gap:6px;min-width:0;padding:13px;display:grid}.report-summary span{color:var(--muted);font-size:8px;line-height:1.35}.report-summary strong{color:var(--indigo);font-family:var(--font-serif), serif;font-size:22px}.report-summary .billable-total{background:var(--indigo)}.report-summary .billable-total span{color:#ffffffb3}.report-summary .billable-total strong{color:#fff}.report-empty{color:var(--muted);text-align:center;border:1px dashed #d6d3cb;border-radius:11px;margin:18px 0 0;padding:18px;font-size:10px}.content-empty-state{width:100%;min-height:300px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:32px 24px;display:flex}.content-empty-state.compact{min-height:190px;padding:22px 18px}.content-empty-state strong{color:var(--ink);font-family:var(--font-serif), serif;font-size:20px;line-height:1.2}.content-empty-state span{max-width:390px;font-size:var(--font-small);line-height:1.55}.empty-state-artwork{width:min(220px,70%);height:auto;margin-bottom:7px;overflow:visible}.content-empty-state.compact .empty-state-artwork{width:min(150px,60%)}.empty-art-blob{fill:#fff0e9}.empty-art-board{fill:#fffdfa;stroke:#7b86a4;stroke-width:3px}.empty-art-line,.empty-art-desk{fill:none;stroke:#73809f;stroke-width:3px;stroke-linecap:round}.empty-art-accent{fill:var(--coral)}.empty-art-accent.pale,.empty-art-dot.pale{fill:#f7b39d}.empty-art-person{fill:#344587}.empty-art-person.light{fill:#7180ad}.empty-art-accent-stroke{fill:none;stroke:var(--coral);stroke-width:4px;stroke-linecap:round}.empty-art-dot{fill:var(--coral)}.empty-state-action{margin-top:9px}.empty-state-action button{background:var(--indigo);color:#fff;min-height:38px;font:inherit;font-size:var(--font-small);cursor:pointer;border:0;border-radius:8px;padding:9px 14px;font-weight:700}.report-table-wrap{overflow-x:auto}.report-table{border-collapse:collapse;width:100%;font-size:9px}.report-table th,.report-table td{text-align:center;white-space:nowrap;border-bottom:1px solid #ece9e2;padding:10px 8px}.report-table th{color:var(--muted);text-transform:uppercase;font-size:8px}.report-table th:first-child,.report-table th:nth-child(2),.report-table td:first-child,.report-table td:nth-child(2){text-align:left}.report-table td:first-child{gap:3px;display:grid}.report-table td small{color:var(--muted);font-size:8px}.report-table td b{color:var(--coral)}.billing-note{color:var(--muted);margin:13px 0 0;font-size:8px;line-height:1.55}.quick-section{background:var(--indigo);color:#fff;border-radius:18px;padding:26px}.section-kicker{color:#ffd7ce;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700}.quick-section h2{font-family:var(--font-serif), serif;margin:0;font-size:25px;font-weight:500}.action-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin-top:22px;display:grid}.action-grid button{color:#fff;text-align:left;background:#ffffff14;border:1px solid #ffffff21;border-radius:12px;align-content:start;gap:8px;min-height:128px;padding:16px;display:grid}.action-grid button>span{color:#f6a18d;font-size:10px;font-weight:700}.action-grid button>small{color:#ffffff8c;font-size:9px;line-height:1.5}.action-grid button:not(:disabled){cursor:pointer;transition:background .18s,transform .18s}.action-grid button:not(:disabled):hover{background:#ffffff24;transform:translateY(-2px)}.classroom-manager{min-width:0}.manager-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.manager-heading .back-button{color:var(--indigo);cursor:pointer;background:0 0;border:0;margin:0 0 18px;padding:0;font-size:11px;font-weight:700}.workspace-page-actions{align-items:center;gap:9px;margin:0 0 18px;display:flex}.workspace-page-actions .back-button{margin:0}.account-menu .global-refresh-button{color:#2856b6;cursor:pointer;background:#edf1ff;border:1px solid #aeb8df;border-radius:50%;place-items:center;width:40px;height:40px;min-height:40px;padding:0;font-size:24px;font-weight:800;line-height:1;display:grid}.account-menu .global-refresh-button:hover{background:#e2e8ff;border-color:#6f85d1}.manager-heading .section-kicker{color:var(--coral);margin-bottom:7px}.manager-heading h1{font-family:var(--font-serif), serif;letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,46px)}.manager-heading p:last-child{color:var(--muted);margin:10px 0 0;font-size:13px}.manager-heading .manager-title-path{letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1.4;display:flex}.manager-title-path span{color:var(--coral)}.manager-title-path i{color:#a8adba;font-style:normal}.manager-title-path strong{color:var(--indigo)}.new-class-button{background:var(--coral);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:10px;min-height:42px;padding:0 15px;font-size:12px;font-weight:700}.manager-error{color:#9c3f2d;background:#fff0ed;border-radius:9px;margin:18px 0 0;padding:11px 13px;font-size:12px}.create-class-form{background:var(--paper);border:1px solid #ddd9cf;border-radius:16px;margin-top:24px;padding:22px}.form-title{justify-content:space-between;align-items:center;display:flex}.form-title h2{font-family:var(--font-serif), serif;margin:0;font-size:20px}.form-title button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:11px}.class-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin:18px 0;display:grid}.class-form-grid .wide-field{grid-column:1/-1}.create-class-form .primary-button{width:fit-content;min-width:150px}.classroom-workspace{background:var(--paper);border:1px solid #e1ded5;border-radius:18px;grid-template-columns:240px minmax(0,1fr);min-height:500px;margin-top:16px;display:grid;overflow:hidden}.class-list-panel{background:#eceae3;border-right:1px solid #d7d2c8;padding:16px 14px}.panel-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:10px;font-weight:700;display:flex}.panel-label strong{color:var(--indigo);background:#fff;border-radius:99px;padding:3px 7px}.class-list-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#ffffffc2;border:1px solid #ded9cf;border-radius:11px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:13px 12px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:flex}.class-list-item:hover{background:#fff;border-color:#bfc6df}.class-list-item.selected{box-shadow:inset 4px 0 0 var(--indigo), 0 7px 18px #18233b1c;background:#f5f7ff;border-color:#7f8dbc;transform:translate(2px)}.class-list-item>span{gap:4px;min-width:0;display:grid}.class-list-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.class-list-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.class-list-item b{color:var(--indigo);white-space:nowrap;font-size:11px}.empty-note{color:var(--muted);font-size:11px;line-height:1.6}.roster-panel{min-width:0;padding:24px}.roster-empty{height:100%;min-height:350px;color:var(--muted);place-content:center;justify-items:center;gap:6px;display:grid}.roster-empty strong{color:var(--ink);font-family:var(--font-serif), serif;font-size:18px}.roster-empty span{font-size:11px}.roster-heading{justify-content:space-between;gap:20px;display:flex}.roster-heading>div>span{color:var(--coral);letter-spacing:.08em;font-size:9px;font-weight:700}.roster-heading h2{font-family:var(--font-serif), serif;margin:4px 0;font-size:23px}.roster-heading p{color:var(--muted);margin:0;font-size:10px}.roster-heading>strong{color:var(--indigo);white-space:nowrap;font-size:11px}.student-search{grid-template-columns:1fr auto;gap:8px;margin:22px 0 12px;display:grid}.student-search input{min-height:42px}.student-search button{background:var(--indigo);color:#fff;cursor:pointer;border:0;border-radius:9px;padding:0 14px;font-size:11px;font-weight:700}.search-results{background:#f4f5fa;border:1px solid #dfe2ee;border-radius:11px;margin-bottom:15px;padding:8px}.search-results>div,.roster-row{border-bottom:1px solid #e7e7ea;align-items:center;gap:11px;padding:10px;display:flex}.search-results>div:last-child,.roster-row:last-child{border-bottom:0}.search-results span,.roster-row>span:nth-child(2){gap:3px;min-width:0;display:grid}.search-results strong,.roster-row strong{font-size:11px}.search-results small,.roster-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.search-results button,.roster-row button{color:var(--indigo);cursor:pointer;white-space:nowrap;background:0 0;border:0;margin-left:auto;font-size:9px;font-weight:700}.roster-list{margin-top:12px}.student-number{width:29px;min-width:29px;height:29px;color:var(--indigo);background:#eceef7;border-radius:8px;place-items:center;font-size:9px;font-weight:700;display:grid}.session-manager{border-top:1px solid #e7e4dc;margin-top:28px;padding-top:24px}.session-section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.session-section-heading>div{align-items:baseline;gap:9px;display:flex}.session-section-heading span{color:var(--ink);font-family:var(--font-serif), serif;font-size:19px;font-weight:600}.session-section-heading strong{color:var(--muted);font-size:9px}.session-section-heading>button,.attendance-heading>button{background:var(--indigo);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:9px 12px;font-size:9px;font-weight:700}.session-guide{flex-wrap:wrap;gap:7px;margin:12px 0 0;display:flex}.session-guide span{color:var(--indigo);background:#f0f1f8;border-radius:99px;padding:6px 9px;font-size:8px;font-weight:700}.session-error{color:#9c3f2d;margin:12px 0;font-size:10px}.session-form{background:#f0efe9;border-radius:11px;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding:14px;display:grid}.session-form label{font-size:9px}.session-form input,.session-form select{border:1px solid var(--line-field);min-height:38px;color:var(--ink);font:inherit;font-size:var(--font-control);background:#fff;border-radius:8px;padding:0 10px}.session-lesson-choice{grid-column:1/-1;gap:5px;display:grid}.session-lesson-choice small{color:var(--muted);font-size:var(--font-small);font-weight:400}.session-form>button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:8px;width:fit-content;min-height:38px;padding:0 14px;font-size:9px;font-weight:700}.session-layout{grid-template-columns:minmax(170px,.65fr) minmax(310px,1.35fr);gap:14px;margin-top:15px;display:grid}.session-list{max-height:520px;overflow-y:auto}.session-empty,.attendance-empty{min-height:150px;color:var(--muted);text-align:center;border:1px dashed #d6d3cb;border-radius:10px;place-content:center;justify-items:center;gap:7px;padding:18px;display:grid}.session-empty strong,.attendance-empty strong{color:var(--ink);font-size:11px}.session-empty span,.attendance-empty span{max-width:280px;font-size:9px;line-height:1.5}.session-empty button{background:var(--indigo);color:#fff;cursor:pointer;border:0;border-radius:7px;margin-top:4px;padding:8px 10px;font-size:8px;font-weight:700}.session-list>button{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border:1px solid #e1ded5;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;padding:11px;display:flex}.session-list>button.selected{box-shadow:inset 4px 0 0 var(--indigo), 0 5px 14px #1f2b4c14;background:#eef1fb;border-color:#7f8dbc}.session-list>button span{gap:3px;min-width:0;display:grid}.session-list>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.session-list>button small{color:var(--muted);font-size:8px}.session-list>button b{color:var(--coral);white-space:nowrap;font-size:8px}.attendance-sheet{border:1px solid #e1ded5;border-radius:11px;min-width:0;padding:14px}.attendance-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.attendance-heading>div{gap:3px;min-width:0;display:grid}.attendance-heading strong{font-size:12px}.attendance-heading small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-row{border-top:1px solid #ece9e2;grid-template-columns:minmax(110px,1fr) 110px minmax(100px,1fr);gap:8px;padding:10px 0;display:grid}.attendance-student{align-content:center;gap:3px;min-width:0;display:grid}.attendance-student strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.attendance-student small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.attendance-row select,.attendance-row>input{border:1px solid var(--line);min-width:0;min-height:35px;color:var(--ink);font:inherit;background:#fff;border-radius:7px;padding:0 8px;font-size:9px}.absence-review{color:#78570e;background:#fff4dc;border-radius:8px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:9px;display:flex}.absence-review.approved{color:#257346;background:#eaf6ee}.absence-review.rejected{color:#9c3f2d;background:#fff0ed}.absence-review div{gap:5px;display:flex}.absence-review button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:5px 8px;font-size:8px;font-weight:700}.student-schedule{min-width:0}.student-month-report{background:var(--paper);border:1px solid #e1ded5;border-radius:18px;margin-top:16px;padding:22px}.student-report-summary{grid-template-columns:1.3fr repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.student-report-summary>div{background:#f0efe9;border-radius:10px;gap:6px;padding:13px;display:grid}.student-report-summary span{color:var(--muted);font-size:8px}.student-report-summary strong{color:var(--indigo);font-family:var(--font-serif), serif;font-size:21px}.student-report-summary .rate{background:var(--indigo)}.student-report-summary .rate span{color:#ffffffb3}.student-report-summary .rate strong{color:#fff}.student-class-attendance{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px;display:grid}.student-class-attendance>div{border:1px solid #e5e2da;border-radius:9px;gap:3px;padding:10px 12px;display:grid}.student-class-attendance strong{font-size:9px}.student-class-attendance span{color:var(--muted);font-size:8px}.schedule-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-top:24px;display:flex}.schedule-toolbar>div{background:#eceef2;border-radius:10px;gap:3px;padding:4px;display:flex}.schedule-toolbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:9px;font-weight:700}.schedule-toolbar button.active{color:var(--indigo);background:#fff;box-shadow:0 2px 7px #18233b14}.schedule-toolbar>span{color:var(--muted);font-size:9px;font-weight:700}.student-session-list{gap:12px;margin-top:14px;display:grid}.student-session-list>article{background:var(--paper);border:1px solid #e1ded5;border-radius:15px;grid-template-columns:58px minmax(0,1fr) auto;gap:17px;padding:20px;display:grid}.student-session-list>article.completed{border-left:4px solid #8aa891}.student-session-list>article.cancelled{opacity:.72}.session-date{height:58px;color:var(--indigo);background:#eceef7;border-radius:11px;place-content:center;justify-items:center;display:grid}.session-date strong{font-family:var(--font-serif), serif;font-size:23px;line-height:1}.session-date span{text-transform:uppercase;margin-top:3px;font-size:8px;font-weight:700}.student-session-copy>span{color:var(--coral);text-transform:uppercase;font-size:9px;font-weight:700}.student-session-copy h2{font-family:var(--font-serif), serif;margin:4px 0;font-size:18px}.student-session-copy p{color:var(--muted);margin:0 0 9px;font-size:10px}.session-statuses{flex-wrap:wrap;gap:6px;display:flex}.attendance-pill,.request-pill{color:#257346;background:#eaf6ee;border-radius:99px;padding:5px 8px;font-size:8px;display:inline-block}.attendance-pill.absent{color:#9c3f2d;background:#fff0ed}.attendance-pill.late{color:#78570e;background:#fff4dc}.attendance-pill.excused{color:#385785;background:#edf2fb}.attendance-pill.unmarked{color:var(--muted);background:#eff0f2}.request-pill{color:#78570e;background:#fff4dc}.request-pill.approved{color:#257346;background:#eaf6ee}.request-pill.rejected{color:#9c3f2d;background:#fff0ed}.request-pill.cancelled{color:var(--muted);background:#eff0f2}.absence-detail{color:var(--muted);background:#f8f7f2;border-radius:8px;gap:4px;margin-top:9px;padding:9px 11px;font-size:8px;line-height:1.45;display:grid}.absence-deadline{font-weight:600;color:#51638d!important;margin:8px 0 0!important;font-size:8px!important}.absence-deadline.expired{color:#9c3f2d!important}.student-session-action button{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;background:0 0;border-radius:8px;padding:9px 12px;font-size:9px;font-weight:700}.student-session-list article>form{border-top:1px solid #ece9e2;grid-column:2/-1;padding-top:12px}.student-session-list textarea{resize:vertical;min-height:80px}.student-session-list form>div{gap:7px;margin-top:8px;display:flex}.student-session-list form>small{color:var(--muted);font-size:8px}.student-session-list form button{background:var(--indigo);color:#fff;cursor:pointer;border:0;border-radius:7px;padding:8px 12px;font-size:9px;font-weight:700}.student-session-list form button+button{color:var(--ink);background:#ece9e2}.schedule-empty{color:var(--muted);text-align:center;border:1px dashed #d6d3cb;border-radius:12px;margin:0;padding:30px;font-size:10px}.guardian-portal,.student-guardian-links{min-width:0}.manager-success{color:#257346;background:#eaf6ee;border-radius:9px;margin:18px 0 0;padding:11px 13px;font-size:12px}.guardian-link-form{background:var(--paper);border:1px solid #ddd9cf;border-radius:14px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 150px auto;align-items:end;gap:12px;margin-top:25px;padding:18px;display:grid}.guardian-link-form>div{align-self:center;gap:4px;display:grid}.guardian-link-form>div strong{font-family:var(--font-serif), serif;font-size:17px}.guardian-link-form>div span{color:var(--muted);font-size:9px;line-height:1.5}.guardian-link-form label{font-size:9px}.guardian-link-form input,.guardian-link-form select{min-height:40px}.guardian-link-form>button{background:var(--coral);color:#fff;cursor:pointer;white-space:nowrap;border:0;border-radius:8px;min-height:40px;padding:0 14px;font-size:9px;font-weight:700}.guardian-workspace{background:var(--paper);border:1px solid #e1ded5;border-radius:16px;grid-template-columns:minmax(240px,.7fr) minmax(440px,1.3fr);min-height:480px;margin-top:18px;display:grid;overflow:hidden}.linked-student-list{background:#f0efe9;border-right:1px solid #e7e4dc;padding:16px}.linked-student-list article{background:#ffffffb8;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:9px;margin-bottom:8px;padding:12px;display:flex}.linked-student-list article.selected{box-shadow:inset 4px 0 0 var(--indigo), 0 5px 14px #1f2b4c14;background:#f5f7ff;border-color:#7f8dbc}.linked-student-list article>div:first-child{gap:3px;min-width:0;display:grid}.linked-student-list article strong,.linked-student-list article small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.linked-student-list article strong{font-size:11px}.linked-student-list article small{color:var(--muted);font-size:8px}.linked-student-list article>div:last-child{gap:5px;display:grid}.linked-student-list article button{color:var(--indigo);cursor:pointer;text-align:right;background:0 0;border:0;padding:4px 0;font-size:8px;font-weight:700}.linked-student-list article button+button{color:#a6503e}.link-status{color:#78570e;background:#fff4dc;border-radius:99px;width:fit-content;margin-top:4px;padding:3px 6px;font-size:7px;font-weight:700}.link-status.active{color:#257346;background:#eaf6ee}.link-status.rejected{color:#9c3f2d;background:#fff0ed}.guardian-overview{min-width:0;padding:22px}.guardian-student-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.guardian-student-heading span{color:var(--coral);text-transform:uppercase;font-size:8px;font-weight:700}.guardian-student-heading h2{font-family:var(--font-serif), serif;margin:3px 0;font-size:23px}.guardian-student-heading p{color:var(--muted);margin:0;font-size:9px}.guardian-student-heading>b{color:#257346;white-space:nowrap;background:#eaf6ee;border-radius:99px;padding:6px 9px;font-size:9px}.guardian-metrics{grid-template-columns:repeat(4,1fr);gap:8px;margin:19px 0;display:grid}.guardian-metrics>div{border:1px solid #e7e4dc;border-radius:9px;gap:5px;padding:11px;display:grid}.guardian-metrics span{color:var(--muted);font-size:8px}.guardian-metrics strong{color:var(--indigo);font-family:var(--font-serif), serif;font-size:20px}.guardian-data-section{margin-top:20px}.guardian-data-section h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 7px;font-size:9px}.guardian-data-row{border-top:1px solid #ece9e2;justify-content:space-between;align-items:center;gap:14px;padding:9px 3px;display:flex}.guardian-data-row>span{gap:3px;min-width:0;display:grid}.guardian-data-row strong{font-size:10px}.guardian-data-row small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.guardian-data-row>b{color:var(--indigo);text-align:right;white-space:nowrap;font-size:8px}.attendance-text.absent{color:#a6503e}.attendance-text.late{color:#9b6c09}.attendance-text.excused{color:#257346}.student-guardian-list{gap:10px;margin-top:28px;display:grid}.student-guardian-list>article{background:var(--paper);border:1px solid #e1ded5;border-radius:13px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:18px;display:grid}.guardian-avatar{width:48px;height:48px;color:var(--indigo);font-family:var(--font-serif), serif;background:#eceef7;border-radius:50%;place-items:center;font-size:20px;display:grid}.student-guardian-list article>div:nth-child(2)>span{color:var(--coral);text-transform:uppercase;font-size:8px;font-weight:700}.student-guardian-list h2{font-family:var(--font-serif), serif;margin:3px 0;font-size:18px}.student-guardian-list p,.student-guardian-list small{color:var(--muted);margin:0;font-size:9px}.student-guardian-list small{margin-top:4px;font-size:8px;display:block}.guardian-link-actions{align-items:center;gap:6px;display:flex}.guardian-link-actions button{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;background:0 0;border-radius:7px;padding:7px 9px;font-size:8px;font-weight:700}.guardian-link-actions button+button{color:var(--muted);border-color:#c8c6c0}.guardian-link-actions b{color:#257346;font-size:9px}.guardian-link-actions b.rejected{color:#9c3f2d}.admin-manager{gap:24px;display:grid}.admin-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.admin-metric-grid .metric-card{min-height:150px}.admin-panel{background:var(--paper);border:1px solid #dedbd2;border-radius:14px;padding:24px;position:relative;box-shadow:0 12px 32px #1f2b4c0a}.admin-panel h2{font-family:var(--font-serif), serif;margin:0 0 18px;font-size:24px}.admin-panel-note,.admin-loading{color:var(--muted);font-size:10px}.admin-role-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.admin-role-grid span{color:var(--muted);border:1px solid #e5e2da;border-radius:10px;justify-content:space-between;padding:14px;font-size:10px;display:flex}.admin-role-grid b{color:var(--indigo);font-size:14px}.admin-filters{grid-template-columns:minmax(220px,1fr) 180px 180px auto;gap:9px;margin-bottom:18px;display:grid}.admin-audit-filters{grid-template-columns:minmax(160px,1fr) minmax(210px,1fr) 145px 145px auto}.admin-filters input,.admin-filters select,.admin-reject-box textarea{min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d9dce7;border-radius:8px;padding:9px 11px;font-size:10px}.admin-filters button,.admin-actions button,.admin-table td>button,.admin-pagination button,.admin-reject-box button{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;background:0 0;border-radius:7px;padding:8px 12px;font-size:9px;font-weight:700}.admin-filters button,.admin-actions .admin-approve{background:var(--indigo);color:#fff}.admin-actions button:disabled,.admin-pagination button:disabled{cursor:not-allowed;opacity:.45}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:9px}.admin-table th{color:var(--muted);letter-spacing:.04em;text-align:left;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #dcd9d0;padding:10px 9px;font-size:8px}.admin-table td{vertical-align:top;border-bottom:1px solid #ebe8e0;padding:12px 9px}.admin-table td small{color:var(--muted);margin-top:3px;display:block}.admin-table code{color:var(--indigo);font-size:8px}.admin-actions{white-space:nowrap;gap:6px;display:flex}.status-pill{color:var(--indigo);background:#eeeff6;border-radius:999px;padding:4px 7px;font-size:8px;font-weight:700}.status-disabled{color:#9c3f2d;background:#f8e8e4}.status-active{color:#257346;background:#e5f3ea}.admin-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;font-size:9px;display:flex}.admin-pagination>span:first-child{margin-right:auto}.admin-detail{z-index:20;background:#fff;border:1px solid #d8d9e2;border-radius:14px;width:min(390px,100vw - 48px);max-height:calc(100vh - 112px);padding:25px;position:fixed;top:88px;right:24px;overflow-y:auto;box-shadow:0 22px 60px #1922412e}.admin-detail-wide{width:min(540px,100vw - 48px)}.admin-detail h3{font-family:var(--font-serif), serif;margin:5px 0 12px;font-size:25px}.admin-detail h4{margin:20px 0 7px}.admin-detail p,.admin-detail li{color:var(--muted);font-size:10px;line-height:1.6}.admin-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px;position:absolute;top:12px;right:12px}.admin-reject-box{gap:6px;margin-top:9px;display:grid}.admin-reject-box textarea{resize:vertical;width:260px}.admin-error{color:#9c3f2d;background:#f9e7e3;border-radius:8px;padding:10px 12px;font-size:9px}.admin-success{color:#257346;background:#e5f3ea;border-radius:8px;padding:10px 12px;font-size:9px}.admin-user-actions{flex-wrap:wrap;min-width:240px}.admin-actions .admin-delete{color:#b44635;border-color:#b44635}.admin-edit-form{gap:14px;display:grid}.admin-edit-form label{color:var(--muted);gap:6px;font-size:9px;font-weight:700;display:grid}.admin-edit-form input{min-height:42px;font:inherit;border:1px solid #d9dce7;border-radius:8px;padding:10px 12px}.admin-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.admin-dialog-actions button,.auth-text-button{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;font:inherit;background:0 0;border-radius:7px;padding:9px 13px;font-size:9px;font-weight:700}.admin-dialog-actions button:last-child{background:var(--indigo);color:#fff}.forgot-button{cursor:pointer;font:inherit;background:0 0;border:0}.auth-text-button{border:0;width:100%;margin-top:12px}.auth-primary-link{justify-content:space-between;align-items:center;text-decoration:none;display:flex}.brand-button{cursor:pointer;font:inherit;background:0 0;border:0}.lesson-manager,.student-lessons{gap:14px;display:grid}.lesson-filters{grid-template-columns:repeat(3,minmax(150px,220px));gap:9px;display:grid}.lesson-filters select,.lesson-filters input{border:1px solid var(--line-field);min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:8px 11px;font-size:11px}.lesson-workspace{border:1px solid var(--line-panel);background:var(--paper);border-radius:18px;grid-template-columns:240px minmax(0,1fr);min-height:620px;display:grid;overflow:hidden}.lesson-session-list{border-right:1px solid var(--line-panel);background:#f0efe9;padding:16px 14px}.lesson-session-list h2{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 14px;font-family:inherit;font-size:10px;font-weight:700}.lesson-session-list>button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #dedbd2;grid-template-columns:48px 1fr;gap:10px;padding:12px 8px;display:grid}.lesson-session-list>button.active{box-shadow:inset 4px 0 0 var(--indigo), 0 7px 18px #1f2b4c1a;background:#f5f7ff;border:1px solid #7f8dbc;border-radius:9px}.lesson-session-list time{color:var(--coral);font-family:var(--font-serif), serif;font-size:17px}.lesson-session-list span{gap:4px;display:grid}.lesson-session-list small{color:var(--muted);font-size:9px}.lesson-status{width:fit-content;color:var(--indigo);background:#eceef7;border-radius:99px;padding:3px 6px;font-size:7px;font-style:normal;font-weight:700}.lesson-status.PUBLISHED{color:#257346;background:#e5f3ea}.lesson-status.ARCHIVED{color:#75695e;background:#eeeae4}.lesson-editor{padding:25px}.lesson-editor form{gap:15px;display:grid}.lesson-editor label{color:var(--muted);gap:6px;font-size:9px;font-weight:700;display:grid}.lesson-editor input,.lesson-editor textarea{border:1px solid var(--line-field);width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border-radius:8px;padding:10px 12px;font-size:10px;line-height:1.6}.lesson-meta{color:var(--muted);background:#f0f1f7;border-radius:9px;flex-wrap:wrap;gap:8px 16px;padding:12px;font-size:8px;display:flex}.lesson-word-tools{background:#f7f8fc;border:1px solid #cfd5e8;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:16px;display:flex}.lesson-word-tools h3,.lesson-import-preview h3{color:var(--ink);margin:0;font-family:inherit;font-size:18px}.lesson-word-tools p,.lesson-import-preview-heading p{color:var(--muted);margin:4px 0 0;font-size:14px;line-height:1.5}.lesson-word-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.lesson-word-actions button,.lesson-word-import,.lesson-import-preview-actions button{border:1px solid var(--indigo);min-height:42px;color:var(--indigo);cursor:pointer;font:inherit;white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:9px 14px;font-size:15px;font-weight:750;display:inline-flex}.lesson-word-actions button:last-child,.lesson-import-preview-actions button:first-child{background:var(--indigo);color:#fff}.lesson-word-actions button:disabled,.lesson-word-import.disabled{cursor:not-allowed;opacity:.58}.lesson-import-preview{border:1px solid #efbcae;border-left:5px solid var(--coral);background:#fff9f6;border-radius:12px;gap:13px;padding:17px;display:grid}.lesson-import-preview-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.lesson-import-preview-heading>span{color:#a44732;white-space:nowrap;background:#fff0ea;border-radius:99px;padding:4px 8px;font-size:13px;font-weight:800}.lesson-import-warning{color:#80531f;background:#fff0dc;border-radius:7px;margin:0;padding:9px 11px;font-size:14px;line-height:1.5}.lesson-import-preview dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.lesson-import-preview dl>div{background:#fff;border:1px solid #e2ded5;border-radius:8px;min-width:0;padding:10px 11px}.lesson-import-preview dt{color:var(--muted);font-size:13px;font-weight:800}.lesson-import-preview dd{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;font-size:14px;line-height:1.55}.lesson-import-preview-actions{justify-content:flex-end;gap:8px;display:flex}.lesson-attachments{border:1px solid var(--line-panel);border-radius:10px;padding:16px}.lesson-attachments>div{justify-content:space-between;align-items:center;display:flex}.lesson-attachments h3{margin:0;font-size:12px}.upload-button,.lesson-actions button,.student-lesson-list article>button{border:1px solid var(--indigo);background:var(--indigo);cursor:pointer;border-radius:7px;padding:8px 11px;font-weight:700;color:#fff!important;font-size:8px!important}.upload-button.disabled{cursor:wait;opacity:.72}.lesson-attachments article{border-bottom:1px solid #ebe8e0;justify-content:space-between;padding:9px 0;display:flex}.lesson-attachments article button{color:var(--indigo);cursor:pointer;text-align:left;background:0 0;border:0}.lesson-attachments article button:first-child{gap:3px;display:grid}.lesson-attachments article small{color:var(--muted)}.lesson-action-panel{background:#fffdf8f7;border:1px solid #dedbd2;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 14px;display:grid;position:sticky;bottom:0;box-shadow:0 -8px 24px #1f2b4c0f}.lesson-action-state{align-content:center;gap:4px;min-height:37px;display:grid}.lesson-action-state>span{font-size:9px;font-weight:700}.lesson-action-state .unsaved{color:#a35f17}.lesson-action-state .saved{color:#257346}.lesson-action-state small{color:#776d61;font-size:8px;line-height:1.45}.lesson-feedback{border-radius:6px;width:fit-content;margin:2px 0 0;padding:5px 8px;font-size:8px;font-weight:700}.lesson-feedback.success{color:#257346;background:#e5f3ea}.lesson-feedback.error{color:#9c3f2d;background:#fff0ed}.lesson-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.lesson-actions button+button{background:0 0;color:var(--indigo)!important}.lesson-actions .presentation-button{border-color:var(--coral);background:#fff4f0;color:#b84f39!important}.lesson-actions button:disabled{cursor:not-allowed;opacity:1;background:#eceef3;border-color:#c9ccda;color:#646b80!important}.lesson-actions button:disabled:not(.publish-button){color:#74798a!important}.lesson-actions button:disabled[title]{text-decoration:none}.lesson-attachments article button:disabled,.lesson-session-list>button:disabled{cursor:wait}.lesson-empty{height:100%;min-height:350px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:6px;display:grid}.lesson-empty h2{color:var(--ink);font-family:var(--font-serif), serif;margin:0;font-size:18px}.lesson-empty p{color:var(--muted);margin:0;font-size:11px}.student-lesson-filters{grid-template-columns:repeat(2,minmax(160px,230px))}.student-lesson-list{gap:10px;display:grid}.student-lesson-list>article{border:1px solid var(--line-panel);background:var(--paper);border-radius:12px;grid-template-columns:62px 1fr auto;align-items:center;gap:16px;padding:18px;display:grid}.student-lesson-list time{color:var(--coral);font-family:var(--font-serif), serif;font-size:22px}.student-lesson-list span{color:var(--indigo);font-size:8px;font-weight:700}.student-lesson-list h2{font-family:var(--font-serif), serif;margin:3px 0;font-size:18px}.student-lesson-list p,.student-lesson-list small{color:var(--muted);margin:0;font-size:9px}.student-lesson-detail{border:1px solid var(--line-panel);background:var(--paper);border-radius:14px;padding:28px}.lesson-detail-meta{color:var(--muted);font-size:10px}.lesson-field-help{color:var(--muted);font-size:var(--font-small);margin:3px 0 6px;font-weight:500;line-height:1.45;display:block}.student-lesson-detail section{margin-top:24px}.student-lesson-detail h2{font-family:var(--font-serif), serif;margin:0 0 8px;font-size:21px}.student-lesson-detail section>p{color:#46506a;white-space:pre-wrap;font-size:10px;line-height:1.8}.vocabulary-viewer{max-width:100%}.vocabulary-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.vocabulary-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:clamp(11px,1vw,13px)}.vocabulary-table caption{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.vocabulary-table th,.vocabulary-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #ebe8e0;padding:10px 13px;line-height:1.55}.vocabulary-table thead th{color:var(--muted);letter-spacing:.06em;text-align:center;text-transform:uppercase;background:#f0f1f7;font-size:.78em;font-weight:800}.vocabulary-table thead th:first-child,.vocabulary-table thead th:nth-child(2){width:16%}.vocabulary-table thead th:nth-child(3){width:20%}.vocabulary-table thead th:nth-child(4){width:22%}.vocabulary-table tbody th{color:var(--indigo-dark);font-weight:800}.vocabulary-table tbody tr:last-child>*{border-bottom:0}.vocabulary-pronunciation{color:var(--indigo);font-family:var(--font-serif), serif}.vocabulary-phrase{color:#46506a}.vocabulary-example{color:var(--muted);font-style:italic}.vocabulary-fallback{color:var(--muted);font-style:normal}.vocabulary-cards{display:none}.student-attachment{width:100%;color:var(--indigo);cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #e7e4dc;gap:3px;padding:11px;display:grid}.student-attachment small,.student-lesson-detail footer{color:var(--muted);font-size:8px}.student-lesson-detail footer{margin-top:28px}.lesson-related-assignments{background:#faf8f3;border:1px solid #e2dfd7;border-radius:10px;padding:15px}.lesson-related-assignments>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.lesson-related-assignments h3{margin:0;font-size:12px}.lesson-related-assignments h3 span{color:var(--coral);margin-left:4px}.lesson-related-assignments>div button,.secondary-action{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;background:0 0;border-radius:7px;padding:8px 11px;font-size:8px;font-weight:700}.lesson-related-assignments article{border-bottom:1px solid #ebe8e0;justify-content:space-between;gap:10px;padding:9px 0;font-size:9px;display:flex}.lesson-related-assignments article span,.lesson-related-assignments>p{color:var(--muted);font-size:8px}.lesson-presentation{z-index:1000;color:var(--ink);background:#e6e8ef;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lesson-presentation-toolbar{background:#fffdf8fa;border-bottom:1px solid #cdd1dc;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:10px 22px;display:flex}.lesson-presentation-toolbar>strong{color:var(--indigo);font-size:16px}.lesson-presentation-toolbar>div{align-items:center;gap:8px;display:flex}.lesson-presentation-toolbar button,.lesson-presentation-controls button{border:1px solid var(--indigo);min-height:40px;color:var(--indigo);cursor:pointer;background:#fff;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:750}.lesson-presentation-toolbar button:first-child{border-color:var(--coral);background:var(--coral);color:#fff}.lesson-presentation-toolbar .lesson-presentation-close{color:var(--muted);border-color:#cbd0dc}.lesson-presentation-deck{place-items:center;min-height:0;padding:clamp(12px,2vw,28px);display:grid;overflow:hidden}.lesson-presentation-slide{aspect-ratio:16/9;background:var(--paper);border:1px solid #d8d5cd;border-radius:12px;width:min(100%,177.778vh - 291.556px);max-height:100%;padding:clamp(24px,3.2vw,50px) clamp(34px,5vw,78px);display:none;position:relative;overflow:hidden;box-shadow:0 18px 55px #19224129}.lesson-presentation-slide.is-active{flex-direction:column;display:flex}.lesson-presentation-slide:before{content:"";aspect-ratio:1;background:#ed745917;border-radius:50%;width:28%;position:absolute;top:-20%;right:-8%}.lesson-presentation-slide>header{z-index:1;border-bottom:2px solid #e5e1d8;padding-bottom:clamp(5px,.9vh,11px);position:relative}.lesson-presentation-slide>header span,.lesson-presentation-title>span{color:var(--coral);letter-spacing:.14em;text-transform:uppercase;font-size:clamp(10px,.92vw,15px);font-weight:800;line-height:1.15}.lesson-presentation-slide h2{color:var(--indigo-dark);font-family:var(--font-serif), serif;letter-spacing:-.03em;margin:1px 0 0;font-size:clamp(22px,2.5vw,38px);font-weight:600;line-height:1.08}.lesson-presentation-copy{z-index:1;overscroll-behavior:contain;flex:1;align-content:start;gap:clamp(9px,1.3vh,17px);min-height:0;padding-top:clamp(9px,1.6vh,20px);display:grid;position:relative;overflow-y:auto}.lesson-presentation-copy p{color:#303a54;white-space:pre-wrap;margin:0;font-size:clamp(19px,2.05vw,32px);line-height:1.4}.lesson-presentation-copy p.is-lead{color:var(--indigo-dark);font-weight:700}.lesson-presentation-copy p.is-bullet{padding-left:1.25em;position:relative}.lesson-presentation-copy p.is-bullet:before{color:var(--coral);content:"•";font-weight:700;position:absolute;left:.15em}.lesson-presentation-copy p.is-child{color:#4b5570;margin-left:1.5em;font-size:clamp(16px,1.7vw,27px)}.lesson-presentation-slide>footer{z-index:2;color:#7a8396;letter-spacing:.04em;justify-content:space-between;font-size:clamp(9px,.8vw,13px);display:flex;position:absolute;bottom:clamp(16px,2.5vw,34px);left:clamp(24px,4vw,58px);right:clamp(24px,4vw,58px)}.lesson-presentation-title{z-index:1;max-width:88%;margin:auto 0;position:relative}.lesson-presentation-title h1{color:var(--indigo-dark);font-family:var(--font-serif), serif;letter-spacing:-.045em;margin:12px 0 0;font-size:clamp(32px,4.4vw,66px);font-weight:600;line-height:1.06}.lesson-presentation-title i{background:var(--coral);border-radius:99px;width:min(150px,20vw);height:5px;margin-top:clamp(16px,3vh,32px);display:block}.lesson-presentation-vocabulary{z-index:1;flex:1;align-items:flex-start;width:100%;min-width:0;padding:clamp(6px,1vh,12px) 0 22px;display:flex;position:relative;overflow:auto}.lesson-presentation-vocabulary table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:0;max-width:100%;font-size:clamp(14px,1.4vw,24px)}.lesson-presentation-vocabulary .vocabulary-word-column,.lesson-presentation-vocabulary .vocabulary-pronunciation-column{width:14%}.lesson-presentation-vocabulary .vocabulary-meaning-column{width:16%}.lesson-presentation-vocabulary .vocabulary-phrase-column{width:24%}.lesson-presentation-vocabulary .vocabulary-example-column{width:32%}.lesson-presentation-vocabulary caption{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.lesson-presentation-vocabulary th,.lesson-presentation-vocabulary td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #d9dce5;padding:clamp(4px,.58vh,8px) clamp(5px,.6vw,10px);line-height:1.32}.lesson-presentation-vocabulary thead th{color:var(--indigo);letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#edeff7;font-size:.77em}.lesson-presentation-vocabulary tbody th{color:var(--indigo-dark);font-size:1.08em}.lesson-presentation-vocabulary tbody td:nth-child(2){color:var(--indigo)}.lesson-presentation-vocabulary tbody td:last-child{color:var(--muted)}.lesson-presentation-controls{background:#fffdf8fa;border-top:1px solid #cdd1dc;justify-content:center;align-items:center;gap:18px;min-height:64px;padding:10px 22px;display:flex}.lesson-presentation-controls span{min-width:70px;color:var(--muted);text-align:center;font-size:13px;font-weight:700}.lesson-presentation-controls button:disabled{cursor:not-allowed;opacity:.45}.assignment-manager,.student-assignment-manager{gap:14px;display:grid}.assignment-manager .manager-heading{margin-bottom:2px}.manager-description{color:var(--muted);margin:8px 0 0;font-size:10px}.assignment-manager input,.assignment-manager textarea,.assignment-manager select,.student-assignment-manager input,.student-assignment-manager select{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d9dce7;border-radius:8px;padding:9px 11px;font-size:11px}.assignment-create{background:linear-gradient(135deg,#fffdf9 0%,#f3f5fb 100%);border:1px solid #d5d9e9;border-radius:18px;grid-template-columns:170px 210px minmax(220px,1fr) 170px auto;align-items:end;gap:9px;padding:18px;display:grid;box-shadow:0 10px 28px #303b7712}.assignment-create h2{color:var(--indigo-dark);font-family:var(--font-serif), serif;grid-column:1/-1;margin:0 0 3px;font-size:18px}.assignment-create button,.assignment-info>button,.passage-editor>button,.question-builder button,.assignment-sticky-actions button,.student-assignment-list article>button,.student-assignment-intro>button,.student-submit-bar button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;cursor:pointer;border-radius:8px;min-height:39px;padding:9px 13px;font-size:9px;font-weight:700}.assignment-create button:disabled,.assignment-editor button:disabled,.student-assignment-manager button:disabled{cursor:not-allowed;opacity:1;color:#646b80;background:#eceef3;border-color:#c9ccda}.assignment-filters{border:1px solid #dfd9cc;border-left:4px solid var(--coral);background:#f2efe8;border-radius:12px;grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px;padding:12px;display:grid;box-shadow:0 5px 16px #1f2a490a}.assignment-filters select,.assignment-filters input{background:#fffefa;border-color:#cfd4e3}.assignment-filters select:first-child{color:var(--indigo);background:#edf0fa;border-color:#b9c3e3;font-weight:700}.assignment-filters input:focus,.assignment-filters select:focus{border-color:#7e8fc9;outline:3px solid #4e65b521}.assignment-grid,.student-assignment-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.assignment-grid>article,.student-assignment-list>article{background:var(--paper);border:1px solid #e1ded5;border-radius:12px;align-content:start;gap:7px;padding:17px;display:grid}.assignment-grid article>div,.student-assignment-list article>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.assignment-grid h2,.student-assignment-list h2{font-family:var(--font-serif), serif;margin:6px 0 0;font-size:17px}.assignment-grid p,.assignment-grid small,.student-assignment-list p,.student-assignment-list small{color:var(--muted);margin:0;font-size:9px}.student-assignment-list{align-items:stretch}.student-assignment-list>article{flex-direction:column;height:100%;display:flex}.student-assignment-list article>button{width:100%;margin-top:auto}.assignment-grid footer{gap:6px;margin-top:8px;display:flex}.assignment-grid footer button,.admin-table button{color:var(--indigo);cursor:pointer;background:#fff;border:1px solid #d3d6e1;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.assignment-grid footer .danger-link{color:#9c3f2d}.assignment-status,.student-work-status{width:fit-content;color:var(--indigo);background:#eeeff6;border-radius:999px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:800}.assignment-status.PUBLISHED,.student-work-status.Đã-nộp{color:#257346;background:#e5f3ea}.assignment-status.CLOSED,.assignment-status.ARCHIVED{color:#75695e;background:#eeeae4}.student-work-status.Nộp-muộn{color:#9a5c15;background:#fff0dc}.assignment-editor{grid-template-columns:minmax(250px,30%) minmax(0,70%);align-items:start;gap:14px;display:grid}.assignment-info{grid-row:span 2}.assignment-info,.passage-editor,.question-builder,.question-list,.read-aloud-editor{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;gap:12px;padding:18px;display:grid}.assignment-class-context{background:#f3f4f9;border:1px solid #dfe2ec;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:11px 12px;display:grid}.assignment-class-context span{color:var(--muted);font-size:13px;font-weight:700}.assignment-class-context strong{color:var(--indigo);font-size:17px}.assignment-class-context small{color:var(--muted);font-size:13px}.question-list,.read-aloud-editor,.assignment-sticky-actions{grid-column:1/-1}.assignment-progress-panel{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;gap:14px;padding:20px;display:grid}.assignment-progress-panel>p{color:var(--muted);margin:0;font-size:14px}.assignment-progress-panel>button,.assignment-result-context button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;cursor:pointer;border-radius:8px;width:fit-content;min-height:42px;padding:9px 14px;font-size:15px;font-weight:700}.assignment-progress-metrics{grid-template-columns:1fr 1fr;gap:10px;display:grid}.assignment-progress-metrics article{background:#f3f4f9;border-radius:10px;gap:5px;padding:16px;display:grid}.assignment-progress-metrics span{color:var(--muted);font-size:14px}.assignment-progress-metrics strong{color:var(--indigo);font-family:var(--font-serif), serif;font-size:32px}.assignment-result-context{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.assignment-result-context>div{gap:3px;min-width:0;display:grid}.assignment-result-context span,.assignment-result-context small{color:var(--muted);font-size:13px}.assignment-result-context strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.assignment-result-context>button:before{content:"Liên kết bài tập · "}.assignment-info label,.question-builder label{color:var(--muted);gap:5px;font-size:8px;font-weight:700;display:grid}.assignment-section-title{justify-content:space-between;align-items:center;display:flex}.assignment-section-title h2{font-family:var(--font-serif), serif;margin:3px 0 0;font-size:18px}.assignment-section-title p{color:var(--muted);margin:3px 0 0;font-size:8px}.assignment-form-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.assignment-form-grid .check-row{align-items:center;gap:7px;display:flex}.assignment-form-grid .check-row input{width:auto;min-height:auto}.assignment-info .assignment-settings-grid{grid-template-columns:minmax(0,1fr);gap:12px}.assignment-settings-grid>label{min-width:0}.assignment-settings-grid>label>input,.assignment-settings-grid>label>select{width:100%;min-width:0;min-height:44px;padding:8px 11px;font-size:15px;line-height:1.35}.assignment-settings-grid input[type=datetime-local]{min-width:100%}.assignment-check-settings{grid-template-columns:1fr 1fr;gap:10px;display:grid}.passage-editor article{border-left:3px solid var(--coral);background:#f6f3ed;border-radius:5px;padding:12px}.passage-editor article p{color:#46506a;white-space:pre-wrap;margin:5px 0 0;font-size:9px;line-height:1.6}.passage-editor .passage-label{color:var(--coral);text-transform:uppercase;margin-bottom:4px;font-size:8px;font-weight:800;display:block}.passage-editor article footer{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.passage-editor article footer button{color:var(--indigo);cursor:pointer;background:#fff;border:1px solid #d3d6e1;border-radius:6px;padding:6px 9px;font-size:8px;font-weight:700}.passage-editor article footer .danger-link{color:#9c3f2d}.inline-actions{gap:7px;display:flex}.inline-actions button+button{color:var(--indigo);background:0 0}.question-list article{border-bottom:1px solid #ebe8e0;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:11px 0;display:grid}.question-list article>span{width:30px;height:30px;color:var(--indigo);background:#eff0f7;border-radius:8px;place-items:center;font-size:8px;font-weight:800;display:grid}.question-list article>div{gap:3px;display:grid}.question-list article small,.question-list article em{color:var(--muted);font-size:8px;font-style:normal}.question-list article b{font-size:9px}.question-list footer{gap:4px;display:flex}.question-list footer button{color:var(--indigo);cursor:pointer;background:#fff;border:1px solid #d9dce7;border-radius:5px;padding:5px 7px;font-size:8px}.question-list .assignment-published-reading{background:#f7f5ef;border:1px solid #dedbd2;border-radius:10px;gap:12px;padding:15px;display:grid}.question-list .assignment-published-reading>.assignment-part-heading{border-bottom:1px solid #dedbd2;padding-bottom:8px}.question-list .assignment-published-reading>article{background:0 0;border-bottom:1px solid #e6e1d8;grid-template-columns:76px minmax(0,1fr);align-items:start;gap:12px;padding:12px 0;display:grid}.question-list .assignment-published-reading>article:last-child{border-bottom:0}.question-list .assignment-published-reading>article>.passage-label{width:auto;height:auto;color:var(--indigo);text-align:center;background:#eceef8;border-radius:999px;padding:5px 8px;font-size:12px;line-height:1.3;display:block}.question-list .assignment-published-reading article b{font-family:var(--font-serif), serif;font-size:20px!important}.question-list .assignment-published-reading article p{color:#46506a;white-space:pre-wrap;margin:7px 0 0;font-size:16px;line-height:1.7}.assignment-sticky-actions{z-index:2;background:#fffdf8f7;border:1px solid #dedbd2;border-radius:10px;justify-content:flex-end;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #1f2b4c0f}.assignment-sticky-actions span{color:var(--muted);margin-right:auto;font-size:9px}.read-aloud-toggle{align-items:center;gap:8px;color:var(--ink)!important;font-size:10px!important;display:flex!important}.read-aloud-toggle input{width:auto!important;min-height:auto!important}.assignment-section-toggle{align-items:center;gap:8px;font-weight:700;color:var(--ink)!important;font-size:10px!important;display:flex!important}.assignment-section-toggle input{width:auto!important;min-height:auto!important}.assignment-section-disabled-note{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.read-aloud-fields{gap:11px;display:grid}.read-aloud-fields label,.read-aloud-grading label{color:var(--muted);gap:5px;font-size:9px;font-weight:700;display:grid}.read-aloud-editor>button,.read-aloud-grading>button,.recording-controls button,.saved-recording button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;cursor:pointer;border-radius:8px;width:fit-content;min-height:39px;padding:9px 13px;font-size:9px;font-weight:700}.read-aloud-grading{gap:10px;display:grid}.read-aloud-grading audio,.student-read-aloud audio{width:min(100%,560px)}.read-aloud-grading input,.read-aloud-grading textarea{width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #d9dce7;border-radius:8px;padding:9px 11px}.audio-state{color:var(--muted);font-size:9px}.result-metrics{grid-template-columns:repeat(6,1fr);gap:9px;display:grid}.result-metrics article{background:var(--paper);border:1px solid #dedbd2;border-radius:10px;gap:6px;padding:14px;display:grid}.result-metrics span{color:var(--muted);font-size:8px}.result-metrics b{color:var(--indigo);font-family:var(--font-serif), serif;font-size:20px}.admin-table td small{display:block}.attempt-detail{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;gap:10px;margin-top:14px;padding:19px;display:grid}.attempt-detail>article{background:#f7f5ef;border-radius:8px;padding:13px}.attempt-detail article header{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.attempt-detail article h3{margin:8px 0;font-size:10px}.attempt-detail article p{color:#536079;overflow-wrap:anywhere;margin:5px 0;font-size:8px;line-height:1.6}.attempt-detail .correct{color:#257346}.attempt-detail .wrong{color:#9c3f2d}.student-assignment-list article>div>span{color:var(--coral);font-size:9px;font-weight:800}.student-assignment-list article>b{color:var(--indigo);font-size:11px}.student-assignment-intro{background:var(--paper);border:1px solid #e1ded5;border-radius:18px;gap:13px;padding:26px;display:grid}.student-assignment-intro>span{color:var(--coral);text-transform:uppercase;font-size:9px;font-weight:800}.student-assignment-intro h2{font-family:var(--font-serif), serif;margin:0;font-size:25px}.student-assignment-intro>p{color:#536079;white-space:pre-wrap;margin:0;font-size:10px;line-height:1.7}.student-assignment-intro dl{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.student-assignment-intro dl div{background:#f1f1f5;border-radius:8px;padding:11px}.student-assignment-intro dt{color:var(--muted);font-size:7px}.student-assignment-intro dd{margin:4px 0 0;font-size:9px;font-weight:700}.attempt-history{border:1px solid #e4e1d9;border-radius:8px;align-items:center;gap:10px;padding:10px;font-size:9px;display:flex}.attempt-history button{color:var(--indigo);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:8px;font-weight:700}.assignment-closed-note{background:#eeeae4;border-radius:7px;padding:10px;color:#75695e!important}.student-attempt{gap:14px;display:grid}.student-attempt>header{color:var(--muted);background:#eff0f7;border-radius:9px;gap:16px;padding:11px 14px;font-size:8px;display:flex}.student-attempt>header b{color:#257346;margin-left:auto}.assignment-question-sections,.assignment-question-part,.reading-passage-group{gap:14px;min-width:0;display:grid}.assignment-part-heading{border-bottom:1px solid #dedbd2;padding-bottom:9px}.assignment-part-heading span{color:var(--coral);letter-spacing:.08em;font-size:9px;font-weight:800}.assignment-part-heading h2{color:var(--indigo);font-family:var(--font-serif), serif;margin:3px 0 0;font-size:20px}.reading-passage-group+.reading-passage-group{margin-top:6px}.student-passage{border:1px solid #dedbd2;border-left:4px solid var(--coral);background:#f7f5ef;border-radius:10px;max-width:880px;padding:22px}.student-passage>span{color:var(--coral);letter-spacing:.08em;margin-bottom:5px;font-size:8px;font-weight:800;display:block}.student-passage h2{font-family:var(--font-serif), serif;margin:0 0 10px}.student-passage p{color:#46506a;white-space:pre-wrap;margin:0;font-size:10px;line-height:1.9}.student-question-list{gap:11px;display:grid}.student-question-list>article{background:var(--paper);border:1px solid #dedbd2;border-radius:11px;gap:12px;padding:18px;display:grid}.student-question-list article>header{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.student-question-list h3{margin:0;font-size:11px;line-height:1.6}.answer-options{gap:7px;display:grid}.answer-options label{border:1px solid #e0e2e9;border-radius:7px;align-items:center;gap:8px;padding:9px;font-size:9px;display:flex}.answer-options input{width:auto;min-height:auto}.matching-answers{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.matching-answers label{gap:5px;font-size:9px;display:grid}.ordering-answer{gap:9px;display:grid}.ordering-answer>div{border:1px dashed #cfd2dd;border-radius:7px;flex-wrap:wrap;gap:6px;min-height:42px;padding:7px;display:flex}.student-read-aloud{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;gap:11px;padding:22px;display:grid}.student-read-aloud h2{font-family:var(--font-serif), serif;margin:0;font-size:22px}.student-read-aloud blockquote{border-left:4px solid var(--coral);color:#35405b;white-space:pre-wrap;background:#f7f5ef;border-radius:7px;margin:0;padding:16px;font-size:11px;line-height:1.8}.student-read-aloud>small,.read-aloud-instructions{color:var(--muted);margin:0;font-size:9px;line-height:1.6}.recording-controls,.saved-recording{justify-items:start;gap:10px;display:grid}.recording-controls>div{flex-wrap:wrap;gap:8px;display:flex}.audio-file-fallback{width:min(100%,560px);color:var(--muted);border:1px dashed #b8bfd3;border-radius:8px;gap:7px;padding:11px 13px;font-size:9px;font-weight:700;display:grid}.audio-file-fallback input{width:100%;color:var(--ink);font-size:9px}.recording-indicator{color:#a43e31;font-size:10px}.read-aloud-result{color:#257346;background:#e5f3ea;border-radius:8px;padding:10px 12px}.read-aloud-result p{margin:5px 0 0;font-size:9px}.ordering-answer button{color:var(--indigo);cursor:pointer;background:#eff0f7;border:1px solid #d5d7e0;border-radius:6px;padding:6px 9px;font-size:8px}.student-question-list footer{color:#257346;min-height:18px;font-size:8px}.student-question-list footer b{float:right}.student-question-list footer p{clear:both;color:var(--muted)}.attempt-detail .assignment-question-sections{margin-top:4px}.attempt-detail .student-passage{padding:18px}.attempt-detail .student-question-list>article{background:#f7f5ef}.student-submit-bar{background:#fffdf8f7;border:1px solid #dedbd2;border-radius:9px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:8px;display:flex;position:sticky;bottom:0}.student-result-summary{background:var(--indigo);color:#fff;border-radius:12px;align-items:center;gap:18px;padding:22px;display:flex}.student-result-summary h2{font-family:var(--font-serif), serif;margin:0}.student-result-summary strong{margin-left:auto;font-size:20px}.assignment-manager .assignment-section-title p{font-size:10px}.assignment-manager .question-list article b{font-size:11px;line-height:1.5}.assignment-manager .question-list article small,.assignment-manager .question-list article em{font-size:9px}.assignment-manager .attempt-detail article header{font-size:10px}.assignment-manager .attempt-detail article h3{font-size:12px;line-height:1.55}.assignment-manager .attempt-detail article p,.assignment-manager .read-aloud-fields label,.assignment-manager .read-aloud-grading label,.assignment-manager .assignment-results .admin-table{font-size:10px}.student-assignment-manager .student-assignment-intro>p{font-size:11px}.student-assignment-manager .student-assignment-intro dt{font-size:9px}.student-assignment-manager .student-assignment-intro dd{font-size:11px}.student-assignment-manager .student-attempt>header{font-size:10px}.student-assignment-manager .student-passage p{font-size:12px}.student-assignment-manager .student-question-list article>header{font-size:10px}.student-assignment-manager .student-question-list h3{font-size:13px}.student-assignment-manager .answer-options label,.student-assignment-manager .matching-answers label{font-size:11px}.student-assignment-manager .student-question-list footer{font-size:10px}.student-assignment-manager .student-read-aloud blockquote{font-size:13px}.student-assignment-manager .student-read-aloud>small,.student-assignment-manager .read-aloud-instructions,.lesson-manager .lesson-editor label{font-size:10px}.lesson-manager .lesson-editor input,.lesson-manager .lesson-editor textarea{font-size:11px}.student-lessons .student-lesson-detail section>p{font-size:12px}.student-lessons .student-lesson-list p,.student-lessons .student-lesson-list small{font-size:10px}.grade-save-status{border-radius:7px;width:fit-content;margin:0;padding:8px 10px;font-weight:700;font-size:10px!important}.grade-save-status.success{background:#e5f3ea;color:#257346!important}.grade-save-status.error{background:#fff0ed;color:#9c3f2d!important}.quick-quiz-button{color:#b94e35!important;background:#fff4ef!important;border-color:#ee7558!important}.quick-quiz-form{background:var(--paper);border:1px solid #dedbd2;border-radius:16px;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;padding:22px;display:grid}.quick-quiz-form header{grid-column:1/-1}.quick-quiz-form header h2{font-family:var(--font-serif), serif;margin:4px 0;font-size:24px}.quick-quiz-form header p{color:var(--muted);margin:0;font-size:9px}.quick-quiz-form label{color:var(--muted);gap:5px;font-size:8px;font-weight:700;display:grid}.quick-quiz-form .check-row{align-items:center;gap:8px;display:flex}.quick-quiz-form .check-row input{width:auto;min-height:auto}.quick-quiz-form button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;border-radius:8px;align-self:end;width:fit-content;min-height:42px;padding:10px 16px;font-size:9px;font-weight:800}.quick-quiz-notice{color:#753b2f;background:#fff4ef;border:1px solid #f0c7b9;border-radius:10px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.quick-quiz-notice p{margin:4px 0 0;font-size:9px}.quick-quiz-notice button,.leaderboard-toggle{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;background:#fff;border-radius:7px;padding:8px 11px;font-size:8px;font-weight:800}.quick-leaderboard{background:var(--paper);border:1px solid #dedbd2;border-radius:12px;gap:10px;padding:20px;display:grid}.quick-leaderboard ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.quick-leaderboard li{background:#f1f1f5;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:10px 12px;font-size:9px;display:grid}.quick-leaderboard li small{color:var(--muted)}.student-attempt>header strong{color:var(--indigo)}.student-attempt>header .timer-warning{color:#b23e2d}.student-result-summary{flex-wrap:wrap}.student-result-summary small{color:#dfe2f2}.leaderboard-toggle{width:fit-content}.dashboard-main{font-size:var(--font-workspace);line-height:1.55}.dashboard-intro h1,.manager-heading>div>h1:not(.manager-title-path){font-size:var(--font-page-title);line-height:1.12}.dashboard-intro p:last-child,.manager-heading p:last-child,.manager-description{font-size:17px;line-height:1.6}.section-kicker,.dashboard-nav .nav-section,.panel-label,.passage-editor .passage-label,.assignment-part-heading span{font-size:var(--font-small);line-height:1.4}.overview-section-heading h2,.report-heading h2,.assignment-part-heading h2{font-size:var(--font-section-title);line-height:1.2}.manager-heading .back-button,.manager-heading .manager-title-path{font-size:15px}.student-lessons .manager-heading .back-button{font-size:0}.student-lessons .manager-heading .back-button:after{content:"← Back";font-size:15px}.account-menu strong{font-size:16px}.account-menu small{font-size:14px}.account-menu button{min-height:42px;padding:9px 15px;font-size:15px}.dashboard-nav>a,.dashboard-nav>button{font-size:16px;line-height:1.4}.dashboard-nav .nav-section,.nav-profile span,.nav-profile small{font-size:13px}.nav-profile strong{font-size:15px}.dashboard-main input:not([type=checkbox]):not([type=radio]):not([type=file]),.dashboard-main select,.dashboard-main textarea{min-height:46px;font-size:var(--font-control);padding:10px 13px;line-height:1.55}.dashboard-main label,.assignment-info label,.question-builder label,.lesson-editor label,.admin-edit-form label,.quick-quiz-form label,.session-form label,.guardian-link-form label,.read-aloud-fields label,.read-aloud-grading label{font-size:var(--font-label);line-height:1.45}.primary-button,.new-class-button,.overview-section-heading>button,.assignment-create button,.assignment-info>button,.passage-editor>button,.question-builder button,.assignment-sticky-actions button,.student-assignment-list article>button,.student-assignment-intro>button,.student-submit-bar button,.read-aloud-editor>button,.read-aloud-grading>button,.recording-controls button,.saved-recording button,.upload-button,.lesson-actions button,.student-lesson-list article>button{min-height:46px;padding:11px 17px;line-height:1.35;font-size:16px!important}.form-panel label{font-size:var(--font-label)}.form-panel input{font-size:var(--font-control)}.auth-tabs button{font-size:16px}.role-picker button{font-size:15px}.forgot-link,.verification-button,.form-message{font-size:14px}.secondary-action,.lesson-related-assignments>div button,.student-session-action button,.student-session-list form button,.session-section-heading>button,.attendance-heading>button,.student-search button,.guardian-link-form>button,.admin-filters button,.admin-actions button,.admin-table td>button,.admin-pagination button,.admin-reject-box button,.verification-button{min-height:42px;padding:9px 14px;font-size:15px}.metric-card>span,.report-heading>div>p:last-child{font-size:15px}.metric-card>small,.report-empty,.billing-note{font-size:var(--font-small)}.teacher-class-grid strong,.student-class-grid strong{font-size:18px}.teacher-class-grid span,.student-class-grid span,.teacher-class-grid small,.student-class-grid small,.teacher-class-grid b,.student-class-grid b,.student-month-snapshot{font-size:var(--font-small);line-height:1.45}.report-heading label{font-size:var(--font-label)}.report-summary span,.student-report-summary span{font-size:var(--font-small)}.report-table,.admin-table{font-size:15px}.report-table th,.admin-table th{font-size:13px}.report-table td small,.admin-table td small{font-size:var(--font-small)}.quick-section h2,.form-title h2,.roster-heading h2,.session-section-heading span{font-size:27px;line-height:1.2}.action-grid button>span,.action-grid button>small{font-size:var(--font-small)}.action-grid button>strong{font-size:18px}.class-list-item strong,.search-results strong,.roster-row strong,.attendance-student strong,.attendance-heading strong,.session-list>button strong{font-size:17px}.class-list-item small,.search-results small,.roster-row small,.attendance-student small,.attendance-heading small,.session-list>button small,.session-list>button b,.roster-heading p{font-size:var(--font-small)}.class-list-item b,.student-number,.search-results button,.roster-row button,.session-empty button,.absence-review button{font-size:15px}.session-guide span,.session-empty span,.attendance-empty span,.session-error,.absence-review{font-size:var(--font-small)}.student-session-copy h2{font-size:var(--font-card-title)}.student-session-copy>span,.student-session-copy p,.attendance-pill,.request-pill,.absence-detail,.absence-deadline,.student-session-list form>small{font-size:var(--font-small)!important}.lesson-filters select,.lesson-filters input,.lesson-editor input,.lesson-editor textarea{font-size:var(--font-control)}.lesson-session-list h2,.lesson-session-list span,.lesson-session-list small,.lesson-status,.lesson-meta,.lesson-action-state small,.lesson-feedback,.student-lesson-list span,.student-lesson-list p,.student-lesson-list small,.lesson-detail-meta,.student-attachment small,.student-lesson-detail footer,.lesson-related-assignments article span,.lesson-related-assignments>p{font-size:var(--font-small)}.lesson-session-list b{font-size:17px}.lesson-session-list time{font-size:20px}.lesson-editor label{font-size:var(--font-label)}.lesson-editor input,.lesson-editor textarea{line-height:1.6}.lesson-attachments h3,.lesson-related-assignments h3{font-size:20px}.lesson-action-state>span,.lesson-feedback{font-size:var(--font-small)}.student-lesson-list h2,.student-lesson-detail h2{font-size:var(--font-card-title);line-height:1.2}.student-lesson-detail section>p,.student-lessons .student-lesson-detail section>p{max-width:900px;font-size:var(--font-education);line-height:1.7}.vocabulary-table{font-size:18px;line-height:1.55}.vocabulary-table thead th{font-size:14px}.vocabulary-table tbody th{font-size:19px;line-height:1.45}.vocabulary-table td,.vocabulary-example{font-size:18px;line-height:1.6}.lesson-related-assignments article{font-size:16px}.assignment-manager,.student-assignment-manager{font-size:var(--font-workspace)}.assignment-manager input,.assignment-manager textarea,.assignment-manager select,.student-assignment-manager input,.student-assignment-manager select{min-height:46px;font-size:var(--font-control);padding:10px 13px}.assignment-create h2,.assignment-section-title h2,.quick-quiz-form header h2{font-size:24px;line-height:1.2}.assignment-grid h2,.student-assignment-list h2{font-size:var(--font-card-title);line-height:1.2}.assignment-grid p,.assignment-grid small,.student-assignment-list p,.student-assignment-list small{font-size:var(--font-small);line-height:1.5}.assignment-status,.student-work-status,.student-assignment-list article>div>span,.student-assignment-list article>b{font-size:var(--font-small)}.assignment-grid footer button,.admin-table button,.passage-editor article footer button{min-height:42px;padding:9px 13px;font-size:15px}.assignment-info label,.question-builder label{font-size:var(--font-label)}.assignment-section-title p,.passage-editor article p,.question-list article small,.question-list article em,.assignment-sticky-actions span,.read-aloud-toggle,.assignment-section-toggle,.assignment-section-disabled-note,.read-aloud-fields label,.read-aloud-grading label,.audio-state{font-size:var(--font-small)!important}.passage-editor article p{line-height:1.65}.question-list article b{line-height:1.55;font-size:18px!important}.question-list article>span{width:36px;height:36px;font-size:14px}.question-list footer button{min-height:38px;padding:7px 10px;font-size:14px}.quick-quiz-button{border-radius:10px;min-height:48px;padding:12px 20px;font-size:16px;font-weight:700;line-height:1.35}.quick-quiz-form header p,.quick-quiz-notice p{font-size:16px;line-height:1.55}.quick-quiz-form label{font-size:var(--font-label)}.quick-quiz-form button{min-height:48px;padding:12px 20px;font-size:16px}.quick-quiz-notice button,.leaderboard-toggle{min-height:42px;padding:9px 14px;font-size:15px}.quick-leaderboard li{font-size:16px}.student-assignment-intro>span,.student-assignment-intro dt,.student-attempt>header,.student-question-list article>header,.student-passage>span,.student-read-aloud>small,.read-aloud-instructions,.audio-file-fallback,.recording-indicator,.student-question-list footer{font-size:var(--font-small)!important}.student-assignment-intro h2,.student-read-aloud h2{font-size:27px;line-height:1.2}.student-assignment-intro>p,.student-assignment-intro dd,.attempt-history,.student-submit-bar,.student-result-summary{font-size:18px;line-height:1.55}.student-passage p{line-height:1.7;font-size:var(--font-education)!important}.student-question-list h3{font-weight:600;line-height:1.55;font-size:var(--font-question)!important}.answer-options label,.matching-answers label{line-height:1.5;font-size:var(--font-option)!important}.student-read-aloud blockquote{line-height:1.7;font-size:var(--font-education)!important}.ordering-answer button{min-height:40px;padding:8px 12px;font-size:16px}.student-question-list footer p,.read-aloud-result p{font-size:17px;line-height:1.55}.student-result-summary strong{font-size:26px}.result-metrics span{font-size:var(--font-small)}.result-metrics b{font-size:25px}.assignment-manager .assignment-results .admin-table{font-size:16px}.assignment-results .admin-table td:first-child b{font-size:18px}.attempt-detail article header{font-size:var(--font-small)!important}.attempt-detail article h3{line-height:1.55;font-size:18px!important}.attempt-detail article p{line-height:1.6;font-size:17px!important}.read-aloud-grading input,.read-aloud-grading textarea{min-height:46px;font-size:var(--font-control);line-height:1.55}.grade-save-status{font-size:15px!important}.admin-panel-note,.admin-loading,.admin-role-grid span,.admin-detail p,.admin-detail li,.admin-error,.admin-success,.guardian-link-form>div span,.linked-student-list article small,.guardian-student-heading p,.guardian-data-row small,.student-guardian-list p,.student-guardian-list small{font-size:var(--font-small)}.admin-filters input,.admin-filters select,.admin-reject-box textarea,.admin-edit-form input{min-height:46px;font-size:var(--font-control)}.status-pill,.link-status{font-size:13px}.admin-edit-form label{font-size:var(--font-label)}.admin-user-table-wrap{border:1px solid var(--line);border-radius:10px}.admin-panel .admin-user-table{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px;line-height:1.35}.admin-panel .admin-user-table th{background:#f6f5f0;border-bottom:1px solid #cbc8bf;border-right:1px solid #d9d7cf;padding:10px 13px;font-size:11px;position:relative}.admin-panel .admin-user-table td{vertical-align:middle;border-bottom:1px solid #ddd9d0;border-right:1px solid #e2dfd7;padding:10px 13px}.admin-panel .admin-user-table th:last-child,.admin-panel .admin-user-table td:last-child{border-right:0}.admin-panel .admin-user-table tbody tr:last-child td{border-bottom:0}.admin-user-name{overflow-wrap:anywhere;font-weight:600}.admin-user-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-created{white-space:normal}.admin-panel .admin-user-table .status-pill{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;display:inline-block;overflow:hidden}.admin-panel .admin-user-table .admin-user-actions{gap:5px;min-width:0}.admin-panel .admin-user-table .admin-user-actions button{min-height:32px;padding:5px 8px;font-size:12px;line-height:1.2}.admin-user-table .admin-column-resizer{z-index:1;cursor:col-resize;touch-action:none;background:0 0;border:0;border-radius:0;width:10px;min-width:10px;height:100%;min-height:0;padding:0;position:absolute;top:0;right:-5px}.admin-user-table .admin-column-resizer:after{content:"";opacity:.55;background:#b6b3aa;border-radius:2px;width:2px;position:absolute;top:20%;bottom:20%;left:4px}.admin-user-table .admin-column-resizer:hover:after{background:var(--indigo);opacity:1;top:8%;bottom:8%}.admin-user-table .admin-column-resizer:focus-visible:after{background:var(--indigo);opacity:1;top:8%;bottom:8%}.admin-user-table .admin-column-resizer:focus-visible{outline-offset:-2px;outline:2px solid #34428047}.admin-panel .admin-audit-table{table-layout:fixed;min-width:1120px;font-size:13px;line-height:1.4}.admin-audit-table th:first-child{width:125px}.admin-audit-table th:nth-child(2){width:210px}.admin-audit-table th:nth-child(3){width:190px}.admin-audit-table th:nth-child(4){width:165px}.admin-audit-table th:nth-child(5){width:auto}.admin-panel .admin-audit-table td{vertical-align:top;overflow-wrap:anywhere}.admin-audit-table td>strong{color:var(--ink);display:block}.audit-action-label{font-weight:750;color:var(--indigo)!important}.audit-details{flex-wrap:wrap;gap:6px 14px;margin:0;display:flex}.audit-details>div{gap:5px;min-width:0;display:inline-flex}.audit-details dt{color:var(--muted);font-weight:650}.audit-details dt:after{content:":"}.audit-details dd{color:var(--ink);margin:0;font-weight:550}.audit-empty-detail{color:var(--muted);font-style:italic}.writing-editor,.writing-grading,.student-writing{border:1px solid var(--line);background:var(--paper);border-radius:14px;gap:16px;padding:22px;display:grid}.writing-editor{grid-column:1/-1}.assignment-section-toggle{color:var(--ink);font-size:var(--font-label);align-items:center;gap:10px;font-weight:700;display:flex}.assignment-section-toggle input{width:19px;height:19px;accent-color:var(--indigo)}.writing-task-form,.translation-item-editor,.translation-add-form,.translation-grading-list{gap:14px;display:grid}.writing-task-form>label,.translation-item-editor label,.translation-add-form label,.writing-grading>label,.translation-grading-list label{color:var(--muted);font-size:var(--font-label);gap:7px;font-weight:700;display:grid}.writing-task-form input,.writing-task-form select,.writing-task-form textarea,.translation-item-editor textarea,.translation-add-form textarea,.writing-grading input,.writing-grading textarea,.student-writing textarea{width:100%;color:var(--ink);font:inherit;font-size:var(--font-control);background:#fff;border:1px solid #cfd5e4;border-radius:10px;line-height:1.55}.writing-task-form input,.writing-task-form select,.writing-grading input{min-height:46px;padding:10px 12px}.writing-task-form textarea,.translation-item-editor textarea,.translation-add-form textarea,.writing-grading textarea,.student-writing textarea{resize:vertical;padding:12px 14px}.writing-word-limits{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.writing-word-limits label,.writing-max-score{gap:7px;display:grid}.writing-max-score>span{color:var(--muted);font-size:var(--font-label);font-weight:700}.writing-word-limits strong{background:var(--indigo-soft);min-height:46px;color:var(--indigo-dark);border-radius:10px;padding:12px}.writing-editor button,.writing-grading button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;width:fit-content;min-height:42px;font-size:var(--font-control);cursor:pointer;border-radius:9px;padding:9px 15px;font-weight:700}.writing-editor button:disabled,.writing-grading button:disabled{cursor:not-allowed;opacity:.62}.translation-item-editor>article,.translation-grading-list>section{border:1px solid var(--line);background:#f8f7f2;border-radius:12px;gap:11px;padding:16px;display:grid}.translation-item-editor article>header,.translation-grading-list section>header,.writing-grading>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.translation-item-editor header>div,.translation-grading-list section>div{flex-wrap:wrap;gap:8px;display:flex}.translation-item-editor header button{min-width:38px;padding:6px 9px}.writing-grading>header>span{color:var(--coral);letter-spacing:.06em;font-size:14px;font-weight:800}.writing-grading .correct{color:#26784b}.writing-grading .wrong{color:#b84f41}.submitted-essay{border-left:4px solid var(--coral);background:#f8f7f2;border-radius:10px;padding:18px}.submitted-essay h3,.submitted-essay p{margin-top:0}.submitted-essay p,.writing-prompt,.student-translation-list article>p{color:var(--ink);font-size:var(--font-education);white-space:pre-wrap;line-height:1.75}.writing-instructions{color:var(--muted);font-size:var(--font-workspace);margin:0;line-height:1.65}.writing-paste-warning{color:#9b3e30;font-size:var(--font-small);background:#fff1ed;border:1px solid #e6b8ae;border-radius:9px;margin:0;padding:11px 13px;font-weight:700;line-height:1.5}.student-essay-input{min-height:260px}.writing-save-row{color:var(--muted);font-size:var(--font-small);justify-content:space-between;align-items:center;gap:14px;display:flex}.writing-save-row b{color:var(--indigo)}.student-translation-list{gap:14px;display:grid}.student-translation-list>article{border:1px solid var(--line);background:#f8f7f2;border-radius:12px;gap:10px;padding:17px;display:grid}.student-translation-list article>header{justify-content:space-between;align-items:center;display:flex}.student-translation-list .correct{color:#26784b;font-weight:700}.student-translation-list .wrong{color:#b84f41;font-weight:700}.writing-result-card{background:var(--indigo-soft);color:var(--indigo-dark);border-radius:11px;grid-template-columns:1fr auto;gap:8px 16px;padding:15px 17px;display:grid}.writing-result-card p{grid-column:1/-1;margin:0;line-height:1.6}.listening-editor{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-column:1/-1;gap:16px;padding:22px;display:grid}.listening-editor>header,.listening-track-card>header,.listening-question-list>article,.listening-audio-box,.listening-play-status{justify-content:space-between;align-items:center;gap:12px;display:flex}.listening-editor>header h2,.listening-track-card h3,.student-listening-track h3{color:var(--ink);font-family:var(--font-serif), serif;margin:0}.listening-editor>header p,.listening-track-card p,.student-listening-track header p{color:var(--muted);margin:4px 0 0;line-height:1.6}.listening-track-list,.listening-question-list,.student-listening,.student-listening-track,.student-listening-player,.teacher-listening-result,.listening-result-track{gap:14px;display:grid}.listening-track-card,.student-listening-track,.listening-result-track{border:1px solid var(--line);border-left:4px solid var(--coral);background:#f8f7f2;border-radius:12px;padding:18px}.listening-track-card>header span,.student-listening-track>header>span,.listening-result-track>header span{color:var(--coral);font-size:var(--font-small);letter-spacing:.06em;font-weight:800}.listening-track-form,.listening-track-create,.listening-question-builder{gap:13px;display:grid}.listening-track-form>label,.listening-track-create label,.listening-question-builder label,.listening-settings>label{color:var(--muted);font-size:var(--font-label);gap:7px;font-weight:700;display:grid}.listening-track-form input,.listening-track-form select,.listening-track-form textarea,.listening-track-create input,.listening-question-builder input,.listening-question-builder select,.listening-question-builder textarea{width:100%;min-height:44px;color:var(--ink);font:inherit;font-size:var(--font-control);background:#fff;border:1px solid #cfd5e4;border-radius:10px;padding:10px 12px;line-height:1.5}.listening-track-form textarea,.listening-question-builder textarea{resize:vertical}.listening-settings{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.listening-settings label>small{color:var(--muted);font-size:13px;font-weight:500;line-height:1.4}.listening-settings .check-row{align-self:end;align-items:center;min-height:44px;display:flex}.listening-settings .check-row input{width:19px;min-height:19px;accent-color:var(--indigo)}.listening-audio-box{background:var(--indigo-soft);border-radius:10px;flex-wrap:wrap;padding:13px}.listening-file-name{align-items:center;gap:9px;min-width:0;display:inline-flex}.listening-file-name>span{overflow-wrap:anywhere}.listening-file-remove{color:#bd3f32;cursor:pointer;background:#fff2ef;border:1px solid #d96858;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:0;font:800 22px/1 Arial,sans-serif;display:inline-grid}.listening-file-remove:hover{background:#ffe2dc;border-color:#bd3f32}.listening-file-remove:focus-visible{outline-offset:2px;outline:3px solid #bd3f3238}.listening-file-remove:disabled{cursor:not-allowed;opacity:.58}.listening-audio-box audio,.student-listening-player audio,.listening-result-track audio{width:min(100%,650px)}.listening-question-list{border-top:1px solid var(--line);padding-top:12px}.listening-question-list>article{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:12px}.listening-question-list article>div:first-child{gap:4px;display:grid}.listening-question-list article span{color:var(--muted);font-size:var(--font-small)}.listening-primary-button,.listening-secondary-button{width:fit-content;min-height:44px;font-size:var(--font-control);cursor:pointer;border-radius:9px;padding:10px 17px;font-weight:750}.listening-primary-button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;box-shadow:0 4px 10px #313f8429}.listening-primary-button:hover{background:var(--indigo-dark)}.listening-secondary-button{color:var(--indigo);background:#fff;border:1px solid #aeb6d0}.listening-secondary-button:hover{border-color:var(--indigo);background:var(--indigo-soft)}.listening-primary-button:disabled,.listening-secondary-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.listening-add-question-button{justify-self:start;margin-top:2px}.listening-form-actions{align-items:center;margin-top:3px}.listening-form-actions button+button{color:var(--indigo);background:#fff}.student-listening-player{background:var(--indigo-soft);border-radius:10px;padding:14px}.student-listening-player button{border:1px solid var(--indigo);background:var(--indigo);color:#fff;width:fit-content;min-height:44px;font-size:var(--font-control);cursor:pointer;border-radius:9px;padding:9px 16px;font-weight:700}.student-listening-player button:disabled{cursor:not-allowed;opacity:.68}.listening-play-status{color:var(--muted);font-size:var(--font-small)}.listening-transcript{border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:13px}.listening-transcript summary{color:var(--indigo);cursor:pointer;font-weight:700}.listening-transcript p{white-space:pre-wrap}.teacher-listening-result{margin-top:14px}.listening-result-track .student-question-list{border-top:0;padding-top:0}.dashboard-main :is(section,article,aside,form),.classroom-workspace,.lesson-workspace,.guardian-workspace,.admin-panel,.assignment-filters,.assignment-info,.question-builder,.question-list,.read-aloud-editor,.writing-editor,.quick-quiz-form{border-color:var(--line-strong)}.classroom-workspace,.lesson-workspace,.guardian-workspace,.admin-panel,.teacher-class-overview,.teacher-attendance-report,.student-dashboard-overview,.student-month-report,.student-lesson-detail{box-shadow:0 10px 28px #1f2b4c0e}.schedule-toolbar button.active{background:#f7f8ff;outline:1px solid #aeb8d7;box-shadow:0 3px 10px #1f2b4c1a}.class-list-item:focus-visible{outline-offset:2px;outline:3px solid #4e5d9947}.session-list>button:focus-visible{outline-offset:2px;outline:3px solid #4e5d9947}.lesson-session-list>button:focus-visible{outline-offset:2px;outline:3px solid #4e5d9947}.dashboard-nav>button:focus-visible{outline-offset:2px;outline:3px solid #4e5d9947}.dashboard-nav>a:focus-visible{outline-offset:2px;outline:3px solid #4e5d9947}@media (max-width:860px){.dashboard-tagline{display:none}.dashboard-content{grid-template-columns:1fr}.dashboard-nav{border-bottom:1px solid #e7e4dc;border-right:0;flex-direction:row;padding:12px 18px;overflow-x:auto}.dashboard-nav .nav-section,.nav-profile{display:none}.dashboard-nav>a{white-space:nowrap}.metric-grid,.action-grid{grid-template-columns:1fr}.teacher-class-grid,.student-class-grid{grid-template-columns:1fr 1fr}.report-summary,.student-report-summary{grid-template-columns:repeat(3,1fr)}.metric-card{min-height:135px}.dashboard-nav>button{white-space:nowrap}.classroom-workspace{grid-template-columns:1fr}.class-list-panel{border-bottom:1px solid #e7e4dc;border-right:0}.session-layout{grid-template-columns:1fr}.guardian-link-form{grid-template-columns:1fr 1fr}.guardian-workspace{grid-template-columns:1fr}.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-filters,.admin-audit-filters{grid-template-columns:1fr 1fr}.lesson-workspace{grid-template-columns:220px minmax(0,1fr)}.assignment-create,.quick-quiz-form{grid-template-columns:1fr 1fr}.assignment-create button{width:fit-content}.assignment-grid,.student-assignment-list{grid-template-columns:1fr 1fr}.assignment-editor{grid-template-columns:1fr}.assignment-info,.question-list,.read-aloud-editor,.writing-editor,.assignment-sticky-actions{grid-area:auto}.result-metrics{grid-template-columns:repeat(3,1fr)}.listening-settings{grid-template-columns:1fr 1fr}.linked-student-list{border-bottom:1px solid #e7e4dc;border-right:0}}@media (max-width:560px){.dashboard-header{height:66px;padding:0 16px}.dashboard-brand>span:last-child,.account-menu>span{display:none}.dashboard-content{min-height:calc(100vh - 66px)}.dashboard-main{padding:27px 18px}.dashboard-intro{display:block}.overview-section-heading,.report-heading{flex-direction:column;align-items:stretch}.teacher-class-grid,.student-class-grid,.report-summary,.student-report-summary,.student-class-attendance{grid-template-columns:1fr 1fr}.phase-badge{margin-top:17px;display:inline-block}.metric-grid{margin:25px 0}.quick-section{padding:20px}.manager-heading{display:grid}.new-class-button{width:fit-content}.class-form-grid{grid-template-columns:1fr}.class-form-grid .wide-field{grid-column:auto}.classroom-workspace{margin-top:22px}.roster-panel{padding:18px}.roster-heading{display:grid}.student-search{grid-template-columns:1fr}.student-search button{min-height:40px}.session-form,.attendance-row{grid-template-columns:1fr}.absence-review{flex-direction:column;grid-column:auto;align-items:flex-start}.student-session-list>article{grid-template-columns:50px 1fr}.student-session-action{grid-column:2}.student-session-list article>form{grid-column:1/-1}.guardian-link-form{grid-template-columns:1fr}.guardian-metrics{grid-template-columns:1fr 1fr}.student-guardian-list>article{grid-template-columns:42px 1fr}.guardian-avatar{width:42px;height:42px}.guardian-link-actions{flex-wrap:wrap;grid-column:2}.admin-metric-grid,.admin-role-grid,.admin-filters,.admin-audit-filters,.lesson-filters,.student-lesson-filters,.lesson-workspace{grid-template-columns:1fr}.vocabulary-table-wrap{display:none}.vocabulary-cards{gap:8px;display:grid}.vocabulary-cards article,.vocabulary-cards>.vocabulary-fallback{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;margin:0;padding:11px 12px;display:grid}.vocabulary-cards strong{color:var(--indigo-dark);font-size:14px;line-height:1.35}.vocabulary-cards small{color:var(--indigo);font-size:12px;line-height:1.4}.vocabulary-cards span{color:var(--ink);font-size:12px;line-height:1.45}.vocabulary-cards span b,.vocabulary-cards em b{color:var(--muted);font-style:normal}.vocabulary-cards em{color:var(--muted);font-size:11px;line-height:1.5}.vocabulary-cards>.vocabulary-fallback{color:var(--muted);font-size:12px;line-height:1.5}.lesson-action-panel{grid-template-columns:1fr}.lesson-actions{justify-content:flex-start}.lesson-word-tools{flex-direction:column;align-items:stretch}.lesson-word-actions{justify-content:flex-start}.lesson-import-preview dl{grid-template-columns:1fr}.lesson-import-preview-actions{flex-wrap:wrap;justify-content:flex-start}.lesson-session-list{border-bottom:1px solid #e4e1d9;border-right:0}.student-lesson-list>article{grid-template-columns:52px 1fr}.student-lesson-list article>button{grid-column:2;width:fit-content}.assignment-create,.quick-quiz-form,.assignment-filters,.assignment-grid,.student-assignment-list,.assignment-form-grid,.student-assignment-intro dl,.matching-answers{grid-template-columns:1fr}.question-list article{grid-template-columns:34px 1fr}.question-list footer{grid-column:2}.assignment-part-heading h2{font-size:18px}.student-passage{max-width:100%;padding:17px}.student-passage p{overflow-wrap:anywhere;line-height:1.75}.assignment-sticky-actions,.student-submit-bar{flex-direction:column;align-items:stretch}.result-metrics{grid-template-columns:1fr 1fr}.writing-word-limits{grid-template-columns:1fr}.writing-editor,.writing-grading,.student-writing,.listening-editor,.listening-track-card,.student-listening-track{padding:17px}.listening-settings{grid-template-columns:1fr}.listening-track-card>header,.listening-question-list>article,.listening-audio-box,.listening-play-status{flex-direction:column;align-items:stretch}.listening-audio-box audio,.student-listening-player audio,.listening-result-track audio{width:100%}:root{--font-workspace:17px;--font-education:18px;--font-question:18px;--font-option:17px;--font-card-title:22px;--font-section-title:28px;--font-page-title:36px}.dashboard-main input:not([type=checkbox]):not([type=radio]):not([type=file]),.dashboard-main select,.dashboard-main textarea,.assignment-manager input,.assignment-manager textarea,.assignment-manager select,.student-assignment-manager input,.student-assignment-manager select{font-size:16px}.vocabulary-cards strong{font-size:19px;line-height:1.4}.vocabulary-cards small,.vocabulary-cards span,.vocabulary-cards em{font-size:18px;line-height:1.55}.vocabulary-cards>.vocabulary-fallback{font-size:17px}.student-lesson-detail section>p,.student-lessons .student-lesson-detail section>p,.student-lesson-detail .lesson-rich-text p,.student-passage p,.student-read-aloud blockquote,.student-question-list h3{font-size:18px!important}.answer-options label,.matching-answers label{font-size:17px!important}.quick-quiz-button{width:fit-content;min-height:48px;font-size:16px}.assignment-grid h2,.student-assignment-list h2{font-size:22px}.assignment-results .admin-table{font-size:15px}}@media (max-width:700px){.lesson-presentation-toolbar{padding:8px 10px}.lesson-presentation-toolbar>strong{display:none}.lesson-presentation-toolbar>div{justify-content:flex-end;width:100%}.lesson-presentation-toolbar button,.lesson-presentation-controls button{min-height:38px;padding:7px 10px;font-size:11px}.lesson-presentation-deck{padding:8px}.lesson-presentation-slide{aspect-ratio:auto;border-radius:8px;width:100%;height:100%;padding:25px 20px 46px}.lesson-presentation-slide h2{font-size:clamp(24px,7.5vw,36px)}.lesson-presentation-copy{align-content:start;overflow-y:auto}.lesson-presentation-copy p{font-size:clamp(19px,5.5vw,27px)}.lesson-presentation-copy p.is-child{font-size:clamp(16px,4.6vw,23px)}.lesson-presentation-title h1{font-size:clamp(43px,13vw,70px)}.lesson-presentation-vocabulary{align-items:flex-start;overflow:auto}.lesson-presentation-vocabulary table{min-width:720px;font-size:14px}.lesson-presentation-controls{gap:8px;min-height:58px;padding:8px 10px}}@media print{html,body{background:#fff!important;margin:0!important}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}body:has(.lesson-presentation) *{visibility:hidden!important}body:has(.lesson-presentation) :not(:has(.lesson-presentation)):not(.lesson-presentation):not(.lesson-presentation *){display:none!important}:is(body:has(.lesson-presentation) .lesson-presentation,body:has(.lesson-presentation) .lesson-presentation *){visibility:visible!important}.lesson-presentation{background:#fff;width:297mm;display:block;position:absolute;inset:0}.lesson-presentation-toolbar,.lesson-presentation-controls{display:none!important}.lesson-presentation-deck{width:297mm;padding:0;display:block;overflow:visible}.lesson-presentation-slide{aspect-ratio:auto;break-after:page;page-break-after:always;width:297mm;max-width:297mm;height:210mm;max-height:210mm;box-shadow:none;border:0;border-radius:0;flex-direction:column;padding:13mm 16mm 12mm;overflow:hidden;display:flex!important}.lesson-presentation-slide:last-child{break-after:auto;page-break-after:auto}.lesson-presentation-slide h2{font-size:22pt}.lesson-presentation-title h1{font-size:40pt}.lesson-presentation-copy{overflow:visible!important}.lesson-presentation-copy p{font-size:18pt}.lesson-presentation-copy p.is-child{font-size:15pt}.lesson-presentation-vocabulary{width:100%;min-width:0;max-width:100%;padding:4mm 0 10mm;overflow:hidden}.lesson-presentation-vocabulary table{font-size:15pt;width:100%!important;min-width:0!important;max-width:100%!important}.lesson-presentation-vocabulary th,.lesson-presentation-vocabulary td{padding:1.9mm 2.1mm;line-height:1.26}}.lesson-field-group,.student-lesson-detail .lesson-section{border:1px solid var(--line-panel);border-left:4px solid var(--indigo);background:#fbfaf6;border-radius:12px;padding:16px 18px}.lesson-field-group{gap:14px;display:grid}.lesson-field-group.is-overview,.student-lesson-detail .lesson-section.is-overview{border-left-color:var(--coral)}.lesson-field-group.is-homework,.student-lesson-detail .lesson-section.is-homework{border-left-color:var(--coral);background:#fdf6f2}.lesson-field-group>h3{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;margin:0;font-size:19px;display:flex}.lesson-field-group>h3>span{color:var(--indigo);background:#e8eaf4;border:1px solid #b9c0d8;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:700}.lesson-field-group>h3>span.is-complete{color:#1f6640;background:#e5f3ea;border-color:#8fbfa2}.lesson-editor label.is-empty>input,.lesson-editor label.is-empty>textarea{background:#fbf7ef;border-style:dashed}.student-lesson-detail .lesson-section{margin-top:16px}.student-lesson-detail .lesson-section>h2{margin:0 0 10px}.student-lesson-detail .lesson-rich-text{gap:9px;max-width:900px;display:grid}.student-lesson-detail .lesson-rich-text p{color:#3d4763;font-size:var(--font-education);white-space:pre-wrap;margin:0;line-height:1.7}.student-lesson-detail .lesson-rich-text p.is-lead{color:var(--indigo-dark);font-weight:700}.student-lesson-detail .lesson-rich-text p.is-child{color:#4b5570;margin-left:1.4em;font-size:16px}.student-lesson-detail .lesson-rich-text p.is-bullet{padding-left:1.2em;position:relative}.student-lesson-detail .lesson-rich-text p.is-bullet:before{color:var(--coral);content:"•";font-weight:700;position:absolute;left:.1em}.assignment-print{display:none}.assignment-print-button{border:1px solid var(--indigo);min-height:34px;color:var(--indigo);cursor:pointer;font-size:var(--font-small);background:#fff;border-radius:8px;padding:6px 12px;font-weight:700}@media print{body:has(.assignment-print) :not(:has(.assignment-print)):not(.assignment-print):not(.assignment-print *){display:none!important}body:has(.assignment-print) :has(.assignment-print){width:auto!important;max-width:none!important;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}body:has(.assignment-print) .assignment-print{color:#000;background:#fff;font-size:11.5pt;line-height:1.5;display:block!important}.assignment-print .assignment-question-sections,.assignment-print .assignment-question-part,.assignment-print .reading-passage-group,.assignment-print .student-question-list{gap:0!important;display:block!important}.assignment-print-heading{border-bottom:1.5pt solid #000;justify-content:space-between;align-items:flex-start;gap:10mm;padding-bottom:4mm;display:flex}.assignment-print-heading strong{letter-spacing:.08em;text-transform:uppercase;font-size:9pt}.assignment-print-heading h1{margin:2mm 0 1mm;font-size:16pt}.assignment-print-heading p{margin:0;font-size:9.5pt}.assignment-print-heading dl{gap:2.5mm;min-width:58mm;margin:0;display:grid}.assignment-print-heading dl>div{align-items:baseline;gap:2mm;display:flex}.assignment-print-heading dt{white-space:nowrap;font-size:9.5pt}.assignment-print-heading dd{border-bottom:.7pt dotted #000;flex:1;margin:0}.assignment-print .assignment-part-heading{break-after:avoid;page-break-after:avoid;margin:5mm 0 3mm}.assignment-print .assignment-part-heading span{letter-spacing:.08em;font-size:8.5pt}.assignment-print .assignment-part-heading h2{margin:0;font-size:13pt}.assignment-print .student-passage{break-inside:avoid;page-break-inside:avoid;border:.7pt solid #000;margin-bottom:3mm;padding:3mm 4mm}.assignment-print .student-passage span{letter-spacing:.06em;font-size:8.5pt}.assignment-print .student-passage h2{margin:1mm 0 2mm;font-size:11.5pt}.assignment-print .student-passage p{text-align:justify;margin:0}.print-question{orphans:3;widows:3;margin-bottom:4mm;break-inside:avoid!important;page-break-inside:avoid!important}.print-question-prompt{margin:0 0 1.5mm}.print-question-prompt em{font-size:9pt;font-style:italic}.print-options{grid-template-columns:repeat(2,1fr);gap:1mm 5mm;margin:0;padding-left:7mm;list-style:none;display:grid}.print-options li span{font-weight:700}.print-options-inline{gap:7mm;margin:0 0 0 7mm;display:flex}.print-matching{border-collapse:collapse;margin-left:7mm}.print-matching td{vertical-align:top;padding:1mm 3mm 1mm 0}.print-matching-gap{letter-spacing:.25em}.print-tokens{margin:0 0 0 7mm;font-style:italic}.print-answer{gap:4.5mm;margin:1.5mm 0 0 7mm;display:grid}.print-answer-line{border-bottom:.7pt solid #000;display:block}}.flashcard-open-button{border:1px solid var(--indigo);min-height:42px;color:var(--indigo);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;padding:0 15px;font-size:12px;font-weight:700}.flashcard-open-button:disabled{cursor:not-allowed;opacity:.5}.vocabulary-flashcards{z-index:1000;color:var(--ink);background:#e6e8ef;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.flashcard-toolbar{background:#fffdf8fa;border-bottom:1px solid #cdd1dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:10px 22px;display:flex}.flashcard-toolbar>div:first-child{display:grid}.flashcard-toolbar strong{color:var(--indigo);font-size:16px}.flashcard-toolbar small{color:var(--muted);font-size:var(--font-small)}.flashcard-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.flashcard-tools button{border:1px solid var(--indigo);min-height:40px;color:var(--indigo);cursor:pointer;background:#fff;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:750}.flashcard-tools .flashcard-close{color:var(--muted);border-color:#cbd0dc}.flashcard-limits{border:1px solid var(--indigo);border-radius:9px;display:flex;overflow:hidden}.flashcard-limits button{border:0;border-radius:0;min-height:38px;font-size:12px}.flashcard-limits button+button{border-left:1px solid var(--indigo)}.flashcard-limits button.is-active{background:var(--indigo);color:#fff}.flashcard-stage{place-items:center;min-height:0;padding:clamp(12px,2vw,28px);display:grid;overflow:hidden}.flashcard{aspect-ratio:16/9;background:var(--paper);cursor:pointer;text-align:center;border:1px solid #d8d5cd;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:clamp(8px,1.4vh,18px);width:min(100%,177.778vh - 291.556px);max-height:100%;padding:clamp(28px,4vw,64px);display:flex;overflow:auto;box-shadow:0 18px 55px #19224129}.flashcard-meta{color:var(--muted);justify-content:space-between;font-size:clamp(10px,.95vw,15px);display:flex;position:absolute;top:clamp(16px,2.4vw,30px);left:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px)}.flashcard-meta em{color:var(--coral);letter-spacing:.1em;text-transform:uppercase;font-style:normal;font-weight:800}.flashcard-stage,.flashcard{position:relative}.flashcard-front{color:var(--indigo-dark);font-family:var(--font-serif), serif;letter-spacing:-.03em;font-size:clamp(34px,5.4vw,86px);font-weight:600;line-height:1.1}.flashcard-hint{color:var(--muted);font-size:clamp(16px,1.9vw,30px)}.flashcard-divider{background:var(--coral);border-radius:99px;width:min(190px,26%);height:4px;margin:clamp(6px,1.2vh,14px) 0}.flashcard-back{color:var(--coral);font-family:var(--font-serif), serif;font-size:clamp(28px,4.4vw,68px);font-weight:600;line-height:1.12}.flashcard-example{color:#4b5570;max-width:42ch;font-size:clamp(14px,1.5vw,24px);line-height:1.45}.flashcard-prompt{color:var(--muted);border:1px dashed #aeb4c6;border-radius:99px;margin-top:clamp(10px,2vh,24px);padding:7px 16px;font-size:clamp(12px,1.2vw,18px)}.flashcard-empty{max-width:44ch;color:var(--muted);text-align:center}.flashcard-controls{background:#fffdf8fa;border-top:1px solid #cdd1dc;justify-content:center;align-items:center;gap:18px;min-height:64px;padding:10px 22px;display:flex}.flashcard-controls button{border:1px solid var(--indigo);min-height:40px;color:var(--indigo);cursor:pointer;background:#fff;border-radius:9px;padding:8px 14px;font-size:13px;font-weight:750}.flashcard-controls button:disabled{cursor:not-allowed;opacity:.45}.flashcard-controls span{min-width:84px;color:var(--muted);font-size:var(--font-small);text-align:center}@media (max-width:720px){.flashcard-stage{padding:8px}.flashcard{aspect-ratio:auto;width:100%;height:100%;padding:24px 18px}.flashcard-front{font-size:clamp(30px,9vw,52px)}.flashcard-back{font-size:clamp(24px,7vw,42px)}}.lesson-shared-badge{color:#2c5878;width:fit-content;font-size:var(--font-small);background:#e6eef6;border-radius:99px;padding:3px 7px;font-style:normal;font-weight:700}.session-actions{flex-wrap:wrap;gap:7px;display:flex}.session-actions button{border:1px solid var(--indigo);min-height:36px;color:var(--indigo);cursor:pointer;font-size:var(--font-small);background:#fff;border-radius:8px;padding:0 12px;font-weight:700}.session-actions button:last-child{border-color:var(--coral);background:var(--coral);color:#fff}.session-actions button.session-delete{color:#bd3f32;background:#fff;border-color:#bd3f32}.session-actions button:disabled{cursor:not-allowed;opacity:.5}.session-edit-form{grid-template-columns:1fr 1fr}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
