:root{--ink:#17243a;--ink-soft:#536174;--muted:#788496;--line:#dce1e7;--canvas:#f3f5f7;--paper:#fff;--accent:#2f9f72;--accent-dark:#1f7955;--accent-soft:#e9f6f0;--warning:#c97929;--warning-soft:#fff2e3;--danger:#bd4f4a;--danger-soft:#fceceb;--shadow:0 18px 50px #192a3f14}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:radial-gradient(circle at 78% 8%, #2f9f7214, transparent 25rem), var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2f9f7247}label:has(input:focus-visible){outline-offset:2px;outline:3px solid #2f9f7247}.app-shell{min-height:100vh}.sidebar{z-index:10;color:#eef4f7;background:linear-gradient(180deg, #ffffff06, transparent 35%), var(--ink);flex-direction:column;width:250px;padding:32px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand-mark{align-items:center;gap:13px;padding:0 8px 28px;display:flex}.brand-mark__icon{object-fit:contain;border-radius:13px;flex:0 0 42px;width:42px;height:42px;display:block}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{letter-spacing:-.02em;font-size:17px}.brand-mark small{color:#aebbc8;margin-top:1px;font-size:12px}.sidebar-nav{gap:7px;display:grid}.nav-item{color:#aebbc8;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:13px;width:100%;padding:12px 13px;transition:all .16s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item__icon{object-fit:contain;opacity:.88;flex:0 0 32px;width:32px;height:32px;transition:all .16s;display:block}.nav-item>span{font-size:13px;font-weight:750;line-height:1.2;display:block}.nav-item--active .nav-item__icon{opacity:1;transform:scale(1.06)}.nav-item--active>span{color:#fff}.nav-item--active .nav-item__icon{filter:drop-shadow(0 3px 5px #0003)}.nav-item__icon,.mobile-nav__icon,.brand-mark__icon,.page-header__brand-icon{-webkit-user-select:none;user-select:none}.sidebar-status{border-top:1px solid #ffffff1a;align-items:flex-start;gap:10px;margin-top:auto;padding:17px 13px 2px;display:flex}.sidebar-status strong,.sidebar-status small{display:block}.sidebar-status strong{font-size:11px;font-weight:700}.sidebar-status small{color:#8795a5;margin-top:3px;font-size:10px}.status-dot{background:#4fd69c;border-radius:999px;width:8px;height:8px;margin-top:3px;box-shadow:0 0 0 4px #4fd69c1f}.status-dot--saving{background:#f0b55d;box-shadow:0 0 0 4px #f0b55d1f}.main-content{border-top:10px solid var(--ink);min-height:100vh;margin-left:250px;padding:32px clamp(24px,4vw,62px) 64px}.app-footer{border-top:1px solid var(--line);width:min(1180px,100%);color:var(--muted);letter-spacing:.02em;text-align:center;margin:48px auto 0;padding:15px 0 0;font-size:10px;font-weight:650;line-height:1.4}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;width:min(1180px,100%);margin:0 auto 30px;display:flex}.page-header--assessment{text-align:center;display:block;position:relative}.page-header--assessment>div:first-child{justify-items:center;display:grid}.page-header--assessment .header-badge{position:absolute;top:0;right:0}.page-header--classes .page-header__title-lockup{left:5px}.eyebrow{color:var(--accent-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:800;display:block}.page-header h1{z-index:1;letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:1.04;position:relative}.page-header__title-lockup{isolation:isolate;display:inline-block;position:relative;top:5px}.page-header__brand-icon{z-index:0;opacity:.2;pointer-events:none;width:clamp(76px,8vw,104px);height:auto;position:absolute;top:50%;left:-38px;transform:translateY(-50%)rotate(-6deg)}.page-header--assessment h1{letter-spacing:-.02em;font-family:Marker Felt,Bradley Hand,Segoe Print,Comic Sans MS,cursive;font-weight:600}.page-header p{max-width:630px;color:var(--ink-soft);margin:10px 0 0;font-size:14px;line-height:1.55}.header-badge{border:1px solid var(--line);background:#ffffff9e;border-radius:14px;flex:none;padding:12px 16px}.header-badge span,.header-badge strong{display:block}.header-badge span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700}.header-badge strong{font-size:12px}.mobile-nav,.mobile-nav-shell{display:none}.content-grid,.scanner-layout,.ai-layout,.history-layout,.results-layout,.classes-layout{width:min(1180px,100%);margin:0 auto}.content-grid--assessment,.scanner-layout,.ai-layout,.classes-layout{grid-template-columns:minmax(300px,.82fr) minmax(480px,1.18fr);align-items:start;gap:22px;display:grid}.classes-layout{grid-template-columns:minmax(300px,.72fr) minmax(520px,1.28fr)}.classes-workspace{width:min(900px,100%);margin:0 auto}.classes-workspace--form{width:min(720px,100%)}.class-list-panel,.class-detail-card,.class-form-panel{gap:20px;display:grid}.class-list-toolbar{justify-content:space-between;align-items:end;gap:16px;display:flex}.class-filter-field{width:min(520px,100%)}.class-filter-shell{background:#edf2f5;border:1px solid #c4d0d9;border-radius:14px;width:100%;padding:13px 15px 14px}.class-filter-shell .field>span{color:var(--ink-soft)}.class-filter-input-wrap{position:relative}.class-filter-input-wrap img{z-index:1;object-fit:contain;pointer-events:none;width:23px;height:23px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.class-filter-shell .class-filter-input-wrap input{border:1px solid var(--line);background:#fff;border-radius:11px;min-height:44px;padding:10px 13px 10px 45px}.class-filter-shell .class-filter-input-wrap input:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #2f9f721a}.class-list-toolbar__trash{white-space:nowrap;min-height:44px}.class-trash-panel{gap:18px}.class-trash-panel__heading{align-items:flex-start}.class-trash-panel__heading h2,.class-trash-panel__heading p{margin:0}.class-trash-panel__heading p{color:var(--ink-soft);margin-top:5px;font-size:12px}.class-trash-list{gap:10px;display:grid}.class-trash-item{background:snow;border:1px solid #ead8d5;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.class-trash-item strong,.class-trash-item small,.class-trash-item span{display:block}.class-trash-item strong{font-size:14px}.class-trash-item small,.class-trash-item span{color:var(--ink-soft);margin-top:4px;font-size:11px}.class-trash-item__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.class-groups{gap:20px;display:grid}.class-group{gap:9px;display:grid}.class-group__heading{justify-content:space-between;align-items:end;gap:14px;padding:0 3px;display:flex}.class-group__heading span,.class-group__heading strong,.class-group__heading small{display:block}.class-group__heading span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.class-group__heading strong{color:var(--ink);margin-top:3px;font-size:14px}.class-group__heading small{color:var(--muted);font-size:10px}.class-list{gap:10px;display:grid}.class-list-item{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:14px;grid-template-columns:minmax(170px,1.25fr) minmax(170px,1fr) minmax(90px,.55fr);align-items:center;gap:16px;padding:16px 17px;transition:all .16s;display:grid}.class-list-item:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 28px #192a3f14}.class-list-item__name{font-weight:750}.class-list-item>span:not(.class-list-item__name){color:var(--ink-soft);font-size:12px}.class-list-item--trash{grid-template-columns:minmax(170px,1.25fr) minmax(170px,1fr) minmax(90px,.55fr) auto}.class-list-item--trash>strong{color:var(--accent-dark);white-space:nowrap;font-size:12px}.class-form-panel__intro{max-width:520px;color:var(--ink-soft);margin:-9px 0 0;font-size:13px;line-height:1.55}.class-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.class-form .field--wide,.class-form__actions{grid-column:1/-1}.school-selection-field{align-content:start;gap:7px;display:grid}.school-selection-field__manage{justify-self:start;padding:0}.class-form__actions,.class-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.class-detail-header{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.class-detail-header h2{margin:0;font-size:22px}.class-detail-divider{background:var(--line);height:1px}.class-profile-card{background:linear-gradient(120deg,#f1f8f4,#f8fafb);border:1px solid #cfe1d7;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 16px;display:grid}.class-profile-card__identity{gap:4px;min-width:0;display:grid}.class-profile-card__identity>span{color:var(--accent-dark);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:850}.class-profile-card__identity>strong{color:var(--ink);overflow-wrap:anywhere;font-size:17px;line-height:1.2}.class-profile-card__identity>p{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.class-profile-card__identity>p i{color:#9ba7af;font-style:normal}.class-profile-actions{align-self:center;position:relative}.class-profile-actions>summary{width:42px;height:42px;color:var(--accent-dark);cursor:pointer;background:#fff;border:1px solid #cfe1d7;border-radius:11px;place-items:center;list-style:none;display:grid}.class-profile-actions>summary::-webkit-details-marker{display:none}.class-profile-actions>summary svg{width:22px;height:22px}.class-profile-actions[open]>summary{background:#e8f4ec}.class-profile-actions__menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:12px;width:176px;padding:5px;display:grid;position:absolute;top:calc(100% + 7px);right:0;box-shadow:0 10px 28px #14281e29}.class-profile-actions__menu button{min-height:40px;color:var(--ink);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:8px;padding:9px 11px;font-size:13px}.class-profile-actions__menu button:hover:not(:disabled),.class-profile-actions__menu button:focus-visible{background:var(--accent-soft)}.class-profile-actions__menu button:disabled{color:var(--muted);cursor:not-allowed}.class-profile-actions__menu .class-profile-actions__delete{color:#b33f3b}.class-students-accordion{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.class-students-accordion--open{background:#f0f8f3}.class-students-accordion--open>.class-students-accordion__toggle{background:#e8f4ec}.class-students-accordion__toggle{width:100%;min-height:58px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:13px 16px;display:grid}.class-students-accordion__toggle span{font-size:13px;font-weight:750}.class-students-accordion__toggle small{color:var(--muted);font-size:11px}.class-students-accordion__toggle strong{width:26px;height:26px;color:var(--accent-dark);background:var(--accent-soft);border-radius:8px;place-items:center;font-size:19px;display:grid}.class-detail-accordion{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.class-detail-accordion[open]{background:#f0f8f3}.class-detail-accordion>summary{list-style:none}.class-detail-accordion>summary::-webkit-details-marker{display:none}.class-detail-accordion>summary>span{min-width:0}.class-detail-accordion>summary>small{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.class-detail-accordion[open]>summary{background:#e8f4ec;border-bottom:1px solid #d8e9de}.class-detail-accordion[open]>summary>strong{transform:rotate(180deg)}.class-detail-accordion__body{gap:14px;min-width:0;padding:14px;display:grid}.class-detail-accordion>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.class-detail-accordion .class-attendance-summary{background:0 0;border:0;margin:0;padding:0}.class-planning-accordion__intro,.class-planning-accordion__dates{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.class-planning-accordion__period{width:min(100%,360px)}.class-planning-accordion__upload{background:#f5fbf7;border:1px dashed #b8d4c3;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px 14px;min-width:0;padding:14px;display:grid}.class-planning-accordion__upload .field{min-width:0}.class-planning-accordion__upload>small{color:var(--muted);grid-column:1;font-size:11px}.class-planning-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.class-planning-file-picker{border:1px solid var(--line);min-width:0;min-height:68px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:11px;align-items:center;gap:12px;padding:10px 12px;transition:border-color .14s,background-color .14s;display:flex}.class-planning-file-picker:hover{border-color:var(--accent);background:#fbfefc}.class-planning-file-picker:focus-visible{outline-offset:2px;outline:3px solid #2f9f7247}.class-planning-file-picker:disabled{cursor:wait;opacity:.65}.class-planning-file-picker img{object-fit:contain;flex:0 0 38px;width:38px;height:38px}.class-planning-file-picker>span{gap:3px;min-width:0;display:grid}.class-planning-file-picker strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.class-planning-file-picker small{color:var(--muted);font-size:10px}.class-planning-file-picker b{color:var(--accent-dark);background:var(--accent-soft);white-space:nowrap;border-radius:7px;margin-left:auto;padding:7px 9px;font-size:10px}.class-planning-accordion__upload>button[type=submit]{justify-content:center;align-items:center;gap:8px;display:inline-flex}.class-planning-review{background:#f5fbf7;border:1px solid #b9d8c6;border-radius:12px;gap:12px;min-width:0;padding:14px;display:grid}.class-planning-review__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.class-planning-review__heading h4,.class-planning-saved h4{margin:0;font-size:14px}.class-planning-review__heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.class-planning-review__lesson{grid-template-columns:minmax(130px,180px) minmax(0,1fr);align-items:start;gap:12px;display:grid}.class-planning-review__lesson>span{color:var(--ink-soft);padding-top:10px;font-size:12px;font-weight:700}.class-planning-review__actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.class-planning-review__actions>small{color:var(--muted);font-size:11px}.class-planning-saved{gap:8px;min-width:0;display:grid}.class-planning-saved>p{color:var(--muted);margin:0;font-size:12px}.class-planning-saved article{background:#f7f9fa;border-radius:9px;gap:4px;padding:10px 12px;display:grid}.class-planning-saved article strong{color:var(--accent-dark);font-size:11px}.class-planning-saved article p{color:var(--ink);white-space:pre-wrap;margin:0;font-size:12px;line-height:1.5}.class-planning-saved>.text-button{justify-self:start}.ai-progress{color:#205f43;background:#f0f8f3;border:1px solid #c6e2d2;border-radius:11px;align-items:center;gap:12px;min-width:0;padding:13px 15px;display:flex}.ai-progress>span{gap:3px;min-width:0;display:grid}.ai-progress strong{font-size:12px}.ai-progress small{color:#4b7560;font-size:11px;line-height:1.45}.ai-progress__spinner{border:2px solid #b9d9c7;border-top-color:var(--accent-dark);border-radius:50%;flex:0 0 17px;width:17px;height:17px;animation:.75s linear infinite ai-progress-spin;display:inline-block}.class-planning-accordion__upload>button .ai-progress__spinner{flex-basis:14px;width:14px;height:14px}@keyframes ai-progress-spin{to{transform:rotate(360deg)}}.class-attendance-summary{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;gap:12px;margin-top:18px;padding:16px;display:grid}.class-attendance-summary__heading{justify-content:space-between;align-items:end;gap:12px;display:flex}.class-attendance-summary__heading h3{margin:0;font-size:15px}.class-attendance-summary__heading p{color:var(--ink-soft);margin:5px 0 0;font-size:12px}.class-attendance-summary__heading .field{width:min(100%,300px)}.class-attendance-summary__list{display:grid}.class-attendance-summary__row{border-top:1px solid #edf0f2;grid-template-columns:38px minmax(120px,1fr) minmax(150px,auto) minmax(110px,auto);align-items:center;gap:10px;min-height:48px;padding:7px 4px;font-size:12px;display:grid}.class-attendance-summary__row>strong{color:var(--accent-dark)}.class-attendance-summary__row>span:last-of-type{color:var(--ink-soft)}.class-attendance-summary__row>b{text-align:right}.class-attendance-summary__empty{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.attendance-workspace{gap:18px;display:grid}.attendance-panel{gap:22px;padding:24px;display:grid}.attendance-heading{justify-content:space-between;align-items:center;gap:16px}.attendance-heading h2,.attendance-section-heading h3{margin:0}.attendance-heading__title{min-width:0}.attendance-heading__title p{color:var(--ink-soft);margin:4px 0 0;font-size:14px;font-weight:650}.attendance-section-heading span{color:var(--ink-soft);margin:7px 0 0;font-size:13px;display:block}.attendance-period-form{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:700px;padding:20px;display:grid}.attendance-weekday-picker{border:0;gap:9px;margin:0;padding:0;display:grid}.attendance-weekday-picker legend{color:var(--ink);margin-bottom:9px;font-size:13px;font-weight:700}.attendance-weekday-picker>div{flex-wrap:wrap;gap:7px;display:flex}.attendance-weekday{cursor:pointer;position:relative}.attendance-weekday input{opacity:0;width:1px;height:1px;position:absolute}.attendance-weekday span{border:1px solid var(--line);min-width:48px;min-height:44px;color:var(--ink-soft);background:#fff;border-radius:9px;place-items:center;padding:0 9px;font-size:12px;font-weight:700;display:grid}.attendance-weekday--selected span{color:#176741;background:#e8f6ee;border-color:#8dc9a9}.attendance-weekday input:focus-visible+span{outline-offset:2px;outline:3px solid #86b7ff}.attendance-period-form>.panel-heading,.attendance-field--wide,.attendance-formula,.attendance-period-form .class-form__actions{grid-column:1/-1}.attendance-formula{color:var(--ink-soft);margin:0;font-size:13px}.attendance-formula strong{color:var(--accent-dark)}.attendance-period-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.attendance-period-toolbar .field{width:min(100%,420px)}.attendance-period-actions{flex-wrap:wrap;gap:8px;display:flex}.attendance-photo-import{color:#176741;background:#f5fbf7;border:1px dashed #9ccbb0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:13px;font-weight:700;display:flex}.attendance-photo-import>span{align-items:center;gap:9px;display:inline-flex}.attendance-photo-import--busy{border-style:solid;justify-content:flex-start}.attendance-photo-import--busy .ai-progress__spinner{flex-basis:15px;width:15px;height:15px}.attendance-photo-import .ai-progress__hint{color:#4b7560;flex-basis:100%;font-size:11px;font-weight:400}.attendance-photo-import input{max-width:100%;color:var(--ink-soft);font-size:12px}.attendance-saved-notice{align-items:center;gap:9px;margin:-8px 0 0;display:flex}.attendance-saved-notice__check{color:#fff;background:var(--accent);border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:13px;font-weight:800;display:inline-grid}.attendance-overview{background:#edf7f1;border:1px solid #cfe5d7;border-radius:12px;gap:0;display:grid;overflow:hidden}.attendance-overview__row{grid-template-columns:repeat(2,minmax(0,1fr));padding:9px 4px;display:grid}.attendance-overview__row--primary{border-bottom:1px solid #d6e9dd;grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-overview__row>div{text-align:center;align-content:center;gap:3px;min-width:0;padding:3px 10px;display:grid}.attendance-overview__row>div+div{border-left:1px solid #dcebe1}.attendance-overview__row--single>div{grid-column:1/-1}.attendance-overview__row span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.attendance-overview__row strong{color:var(--ink);font-size:16px;line-height:1.2}.attendance-meeting-layout{grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr);align-items:start;gap:16px;display:grid}.attendance-calendar-layout{grid-template-columns:minmax(280px,.86fr) minmax(0,1.5fr);align-items:start;gap:16px;display:grid}.attendance-calendar,.attendance-roster,.attendance-score-section{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:18px}.attendance-calendar{gap:14px;display:grid}.attendance-calendar-heading{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.attendance-calendar-heading h3{color:var(--ink);text-transform:capitalize;margin:0;font-size:16px}.attendance-month-nav{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;font-size:25px;line-height:1}.attendance-month-nav:hover{border-color:var(--accent);background:var(--accent-soft)}.attendance-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.attendance-calendar-weekday{min-height:32px;color:var(--muted);place-items:center;font-size:11px;font-weight:750;display:grid}.attendance-calendar-day{color:#7e8991;background:#f1f3f4;border:1px solid #e1e5e8;border-radius:10px;place-items:center;min-width:0;min-height:44px;padding:0;font-size:12px;display:grid;position:relative}.attendance-calendar-day--muted{opacity:.42}.attendance-calendar-day--meeting{color:#176741;cursor:pointer;background:#e8f6ee;border-color:#0000;font-weight:750}.attendance-calendar-day--meeting:hover{filter:brightness(.97)}.attendance-calendar-day--selected{outline-offset:1px;outline:2px solid #66727a}.attendance-calendar-day--confirmed{color:#105834;background:#d8efdf;border-color:#78bd91}.attendance-calendar-day--cancelled{color:#806020;background:#fbf4df;border-color:#e7d7ad}.attendance-calendar-day:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.attendance-calendar-day i{background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:5px}.attendance-calendar-legend{border-top:1px solid #edf0f2;flex-wrap:wrap;gap:9px 14px;padding-top:11px;display:flex}.attendance-calendar-legend>span{color:var(--ink-soft);align-items:center;gap:6px;font-size:11px;display:flex}.attendance-legend-dot{background:#e8f6ee;border:1px solid #acd8bd;border-radius:4px;width:11px;height:11px}.attendance-legend-dot--confirmed{background:#d8efdf;border-color:#78bd91}.attendance-legend-dot--cancelled{background:#fbf4df;border-color:#e7d7ad}.attendance-calendar-help{color:var(--muted);font-size:11px;line-height:1.45}.attendance-roster--empty{background:0 0;border-color:#0000;padding:0}.attendance-call-note{color:#305b47;background:#f0f8f3;border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.5}.attendance-activities{background:#fbfdfb;border:1px solid #dce7e0;border-radius:12px;min-width:0;margin:0;padding:12px}.attendance-activities legend{color:var(--ink);padding:0 5px;font-size:13px;font-weight:750}.attendance-activities__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.attendance-activities__grid label{min-width:0;color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:8px;font-size:13px;line-height:1.4;display:flex}.attendance-activities__grid input{accent-color:#21805a;flex:0 0 18px;width:18px;height:18px}.attendance-activities>.field{margin-top:12px}.attendance-student-row--absent{background:snow}.attendance-toggle{color:#176741;cursor:pointer;background:#e8f6ee;border:1px solid #acd8bd;border-radius:999px;flex:none;justify-content:space-between;align-items:center;gap:8px;width:112px;min-height:44px;padding:5px 8px 5px 12px;font-size:12px;font-weight:750;display:flex}.attendance-toggle i{background:#89c6a2;border-radius:99px;width:34px;height:20px;position:relative}.attendance-toggle i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .12s;position:absolute;top:2px;left:2px;transform:translate(14px)}.attendance-toggle--absent{color:#9b332e;background:#fceceb;border-color:#e3a6a1}.attendance-toggle--absent i{background:#d98a84}.attendance-toggle--absent i:after{transform:translate(0)}.attendance-toggle--partial{color:#795817;background:#fff6dc;border-color:#dfc382}.attendance-toggle--partial i{background:#d7b762}.attendance-toggle--partial i:after{transform:translate(7px)}.attendance-toggle:focus-visible,.attendance-student-name:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.attendance-toggle:disabled{cursor:default}.attendance-confirm-bar{border-top:1px solid #edf0f2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:12px;display:flex}.attendance-confirm-bar .primary-button{min-height:46px}.attendance-meeting-list,.attendance-roster,.attendance-score-section{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;padding:18px}.attendance-meeting-list,.attendance-roster{gap:15px;display:grid}.attendance-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.attendance-section-heading h3{font-size:16px}.attendance-section-heading span{font-size:12px}.attendance-roster-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px 12px;display:flex}.attendance-meeting-options{gap:8px;max-height:360px;display:grid;overflow:auto}.attendance-meeting-option{border:1px solid var(--line);background:#fff;border-radius:10px;gap:5px;min-height:88px;padding:8px 11px;display:grid}.attendance-meeting-option:hover,.attendance-meeting-option--active{border-color:var(--accent);background:var(--accent-soft)}.attendance-meeting-option--cancelled{background:#f8f9fa;border-style:dashed}.attendance-meeting-option__select{cursor:pointer;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.attendance-meeting-option__select>span,.attendance-meeting-option__select>small{color:var(--ink-soft);font-size:11px}.attendance-meeting-option__select>strong{font-size:13px}.attendance-date-cancel{min-height:30px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.attendance-date-cancel input{width:17px;height:17px;accent-color:var(--warning);margin:0}.attendance-add-meeting{gap:10px;display:grid}.attendance-delete-period{color:#796b6b;cursor:pointer;min-height:36px;font:inherit;background:snow;border:1px solid #eadede;border-radius:8px;align-items:center;gap:7px;padding:5px 9px;font-size:12px;display:inline-flex}.attendance-delete-period svg{flex:none;width:16px;height:16px}.attendance-delete-period:hover{color:#8b4242;background:#fcf7f7;border-color:#dfc9c9}.attendance-delete-period:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.attendance-delete-period:disabled{opacity:.55;cursor:not-allowed}.attendance-student-list{border-top:1px solid var(--line);min-width:0;display:grid}.attendance-student-row{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:8px 2px;display:flex}.attendance-student-name{min-width:0;min-height:44px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;gap:10px;padding:0;display:flex}.attendance-student-name:disabled{cursor:default}.attendance-weekday select{z-index:1;border:1px solid var(--line);max-width:112px;min-height:36px;color:var(--ink);background:#fff;border-radius:8px;margin-top:7px;padding:4px 6px;font-size:11px;position:relative}.attendance-modal-backdrop{z-index:1000;background:#101c2385;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.attendance-tempo-dialog{background:#fff;border-radius:16px;gap:16px;width:min(100%,480px);padding:22px;display:grid;box-shadow:0 20px 70px #0a1e2847}.attendance-tempo-row{border-bottom:1px solid #edf0f2;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;display:flex}.attendance-student-name>strong,.attendance-score-row>strong:first-child{width:32px;height:32px;color:var(--accent-dark);background:var(--accent-soft);border-radius:9px;flex:0 0 32px;place-items:center;font-size:12px;display:grid}.attendance-student-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:650;overflow:hidden}.attendance-status-actions{flex:none;gap:7px;display:flex}.attendance-status{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-width:82px;min-height:44px;padding:7px 10px;font-size:12px;font-weight:700}.attendance-status--present.attendance-status--selected{color:#176741;background:#e8f6ee;border-color:#95ceb4}.attendance-status--absent.attendance-status--selected{color:#9b332e;background:#fceceb;border-color:#e3a6a1}.attendance-status:disabled{cursor:default}.attendance-score-section{gap:14px;display:grid}.attendance-score-launch{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:16px 18px;display:flex}.attendance-score-launch h3{margin:0 0 4px;font-size:15px}.attendance-score-launch p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.attendance-score-dialog{overscroll-behavior:contain;width:min(100%,1200px);max-height:calc(100dvh - 40px);overflow-y:auto}.class-attendance-report-dialog{gap:14px;display:grid}.class-attendance-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.class-attendance-report-actions .secondary-button{min-width:0}.class-attendance-report-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.class-attendance-report-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:12px;display:flex}.attendance-report-quick-table{width:100%}.attendance-report-quick-table th:first-child{text-align:center;width:54px}.attendance-report-quick-table td:last-child{font-weight:700}.attendance-report-table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;max-width:100%;max-height:min(60dvh,620px);overflow:auto}.attendance-report-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--ink);font-size:12px}.attendance-report-table th,.attendance-report-table td{border-bottom:1px solid #e8ecef;border-right:1px solid #e8ecef;padding:9px 10px}.attendance-report-table thead th{z-index:4;background:#f4f8f5;font-size:11px;position:sticky;top:0}.attendance-report-table tbody th{font-weight:700}.attendance-report-table tbody tr:last-child th,.attendance-report-table tbody tr:last-child td{border-bottom:0}.attendance-report-table tr>:last-child{border-right:0}.attendance-report-number{z-index:3;text-align:center;background:#fff;width:52px;min-width:52px;position:sticky;left:0}.attendance-report-name{z-index:3;overflow-wrap:anywhere;text-align:left;background:#fff;width:180px;min-width:180px;max-width:180px;position:sticky;left:52px}.attendance-report-total{z-index:3;text-align:center;background:#f2f8f4;width:88px;min-width:88px;font-weight:750;position:sticky;left:232px}.attendance-report-table thead .attendance-report-number,.attendance-report-table thead .attendance-report-name,.attendance-report-table thead .attendance-report-total{z-index:6;background:#eaf4ed}.attendance-report-date{text-align:center;white-space:nowrap;min-width:82px}.attendance-report-date span,.attendance-report-date small{display:block}.attendance-report-date small{color:var(--muted);margin-top:3px;font-size:9px;font-weight:500}.attendance-report-cell{text-align:center;min-width:66px}.attendance-report-status{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:42px;min-height:28px;padding:0 5px;font-size:11px;font-weight:750;display:inline-flex}.attendance-report-status--present{color:#176741;background:#e5f4e9}.attendance-report-status--absent{color:#9b332e;background:#fceceb}.attendance-report-status--partial{color:#795817;background:#fff4d6}.attendance-report-status--pending,.attendance-report-status--cancelled{color:#75818a;background:#f0f2f3}.attendance-report-legend{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.45}.attendance-score-cards{gap:10px;display:grid}.attendance-score-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:13px}.attendance-score-card>header{align-items:center;gap:10px;min-width:0;margin-bottom:11px;display:flex}.attendance-score-card>header>strong{width:32px;height:32px;color:var(--accent-dark);background:var(--accent-soft);border-radius:9px;flex:0 0 32px;place-items:center;font-size:12px;display:grid}.attendance-score-card>header>span{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:700}.attendance-score-card__metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.attendance-score-card__metrics>div{background:#f7f9fa;border-radius:9px;gap:4px;min-width:0;padding:9px;display:grid}.attendance-score-card__metrics span,.attendance-score-card__score span{color:var(--muted);font-size:10px;font-weight:700}.attendance-score-card__metrics strong{font-size:14px}.attendance-score-card__score{color:var(--accent-dark);background:var(--accent-soft);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;margin-top:9px;padding:9px 10px;display:flex}.attendance-score-card__score strong{font-size:13px}.attendance-score-table{display:grid;overflow-x:auto}.attendance-score-head,.attendance-score-row{border-bottom:1px solid #edf0f2;grid-template-columns:48px minmax(150px,1fr) 95px 70px 80px 85px minmax(110px,150px);align-items:center;gap:10px;min-width:638px;padding:11px 8px;font-size:12px;display:grid}.attendance-score-head{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.attendance-score-row>span:last-of-type,.attendance-score-row>strong:last-child{text-align:right}.attendance-score-row>strong:last-child{color:var(--accent-dark);font-size:13px}.attendance-empty{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.attendance-empty--large{border:1px dashed var(--line);text-align:center;border-radius:12px;align-content:center;justify-items:center;gap:8px;min-height:230px;padding:24px;display:grid}.attendance-empty--large strong{font-size:15px}.attendance-empty--large span{max-width:360px;color:var(--ink-soft);font-size:13px}.class-students-summary-list{border-top:1px solid var(--line);max-height:360px;display:grid;overflow:auto}.class-students-summary-list>div{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:12px;min-height:48px;padding:10px 16px;display:grid}.class-students-summary-list>div:last-child{border-bottom:0}.class-students-summary-list strong{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif}.class-students-summary-list span{font-size:13px}.class-students-summary-list small{color:var(--muted);font-size:10px}.class-student--inactive{opacity:.58}.class-students-empty{border-top:1px solid var(--line);color:var(--ink-soft);padding:17px;font-size:12px}.class-students-empty>p{margin:0}.class-students-empty--with-import .student-import{border-bottom:0;margin:15px 0 0;padding-bottom:0}.class-student-editor{border-top:1px solid var(--line);padding:18px}.class-student-editor__toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.class-student-editor__toolbar p,.class-student-roster-summary__empty,.class-student-roster-summary__archived{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.class-student-roster-summary__actions{justify-content:flex-end;align-items:center;gap:12px;padding:14px 16px;display:flex}.class-student-roster-summary__empty,.class-student-roster-summary__archived{padding:0 16px 14px}.class-student-roster-summary__archived{color:var(--muted)}.class-student-editor--empty>p{color:var(--ink-soft);margin:0 0 16px;font-size:12px}.class-student-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.class-student-option{border:1px solid var(--line);min-height:105px;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:13px;align-content:center;gap:8px;padding:16px;transition:border-color .14s,box-shadow .14s,transform .14s;display:grid}.class-student-option:hover,.class-student-option:focus-visible{border-color:var(--accent);outline:0;transform:translateY(-1px);box-shadow:0 8px 20px #192a3f14}.class-student-option strong{font-size:12px}.class-student-option small{color:var(--muted);font-size:10px;line-height:1.45}.class-student-flow>.text-button{margin-top:12px}.page-header__action{flex:none}.scanner-layout{grid-template-columns:minmax(310px,.9fr) minmax(520px,1.1fr)}.standalone-scanner-intro{color:var(--ink-soft);margin:-9px 0 18px;font-size:12px;line-height:1.5}.standalone-key-panel .assessment-question-count{margin-bottom:18px}.standalone-answer-sheet-download{color:var(--accent-dark);background:#eef5f6;border:1px solid #b8ced8;border-radius:12px;align-items:center;gap:11px;margin:0 0 19px;padding:11px 13px;text-decoration:none;transition:border-color .14s,transform .14s,background .14s;display:flex}.standalone-answer-sheet-download:hover{border-color:var(--accent);background:#e3f0ed;transform:translateY(-1px)}.standalone-answer-sheet-download>span:first-child{color:#fff;background:var(--accent-dark);border-radius:8px;flex:none;place-items:center;width:25px;height:25px;font-size:18px;font-weight:800;line-height:1;display:grid}.standalone-answer-sheet-download>span:last-child{gap:2px;display:grid}.standalone-answer-sheet-download strong{font-size:12px}.standalone-answer-sheet-download small{color:var(--ink-soft);font-size:10px}.standalone-answer-key-heading{justify-content:space-between;align-items:baseline;gap:12px;padding:0 1px 10px;display:flex}.standalone-answer-key-heading strong{font-size:13px}.standalone-answer-key-heading span{color:var(--muted);font-size:10px;font-weight:700}.standalone-answer-key-list{max-height:470px}.standalone-capture-panel .capture-zone{margin-top:4px}.standalone-grade-summary{margin-bottom:16px}.panel{min-width:0;box-shadow:var(--shadow);background:#fffffff0;border:1px solid #d3dae1eb;border-radius:20px;padding:26px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.panel-heading>div{align-items:center;gap:12px;display:flex}.panel-heading h2{letter-spacing:-.015em;margin:0;font-size:16px}.step-number{width:34px;height:34px;color:var(--accent-dark);background:var(--accent-soft);letter-spacing:.06em;border-radius:11px;place-items:center;font-size:10px;font-weight:900;display:grid}.step-number--icon{object-fit:contain;background:0 0;border-radius:0;width:38px;height:38px;display:block}.subtle-tag{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800}.subtle-tag--recovery{color:#6d3d87;background:#fbf5ff;border-color:#d5b9e8}.text-button{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.text-button--danger{color:var(--danger)}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{gap:7px;display:grid}.field--wide{grid-column:1/-1}.field>span{color:var(--ink-soft);font-size:11px;font-weight:750}.assessment-readonly-value{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);background:#f4f7f8;border-radius:11px;align-items:center;padding:11px 13px;font-size:12px;display:flex}.assessment-details-panel{flex-direction:column;display:flex}.assessment-details-overview{gap:14px;margin-top:18px;display:grid}.assessment-details-meta{grid-template-columns:1fr;display:grid}.assessment-question-count{margin-top:20px}.assessment-created-date{min-height:44px;color:var(--ink);letter-spacing:-.01em;align-items:center;padding:0 2px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:600;display:flex}.assessment-details-divider{background:var(--line);height:1px;margin:23px 0 3px}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fbfcfd;border-radius:11px;padding:11px 13px;transition:border-color .14s,box-shadow .14s}.field textarea{resize:vertical;line-height:1.5}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:0;box-shadow:0 0 0 3px #2f9f721a}.input-suffix{position:relative}.input-suffix input{padding-right:65px}.input-suffix>span{color:var(--muted);font-size:10px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.answer-key-list,.review-list{border-top:1px solid var(--line);scrollbar-width:thin;max-height:540px;display:grid;overflow:auto}.answer-key-item{min-width:0}.answer-key-section-label{color:var(--accent-dark);background:var(--accent-soft);border-bottom:1px solid #c9d8e5;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.answer-key-section-label strong{font-size:11px}.answer-key-section-label span{text-transform:uppercase;font-size:9px;font-weight:750}.answer-key-row,.review-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:55px;display:flex}.answer-key-row>strong,.review-row__question>strong{font-family:Georgia,Times New Roman,serif;font-size:15px;font-weight:600}.answer-pills{gap:7px;display:flex}.answer-pill{width:31px;height:31px;color:var(--ink-soft);cursor:pointer;background:#fff;border:1px solid #cfd6de;border-radius:50%;place-items:center;font-size:10px;font-weight:850;transition:all .12s;display:grid}.answer-pill:hover{border-color:var(--accent);color:var(--accent-dark);transform:translateY(-1px)}.answer-pill--active{border-color:var(--ink);color:#fff;background:var(--ink);box-shadow:0 4px 10px #17243a2e}.answer-pill--clear,.answer-pill--blank{color:#9aa4af;border-style:dashed}.answer-pill--blank{border-color:var(--warning);color:var(--warning);background:var(--warning-soft)}.primary-button,.secondary-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:11px 18px;font-size:12px;font-weight:800;display:inline-flex}.primary-button{border:1px solid var(--ink);color:#fff;background:var(--ink);box-shadow:0 9px 20px #17243a29}.primary-button:hover{background:#23344e}.primary-button:disabled{cursor:wait;opacity:.68}.primary-button--wide{width:100%;margin-top:22px}.primary-button span{color:#72d5aa;font-size:16px}.secondary-button{border:1px solid var(--line);background:#fff}.secondary-button:disabled,.answer-pill:disabled,.text-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button--danger{color:var(--danger)}.secondary-button--wide{width:100%}.assessment-manager{grid-column:1/-1}.assessment-start,.assessment-list-layout{width:min(860px,100%);margin:0 auto}.assessment-start--choice{margin-top:clamp(22px,4vh,48px)}.assessment-choice-panel{text-align:center;padding:clamp(28px,5vw,52px)}.assessment-choice-panel>.step-number{margin:0 auto 17px}.assessment-choice-panel h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(26px,4vw,36px);font-weight:500}.assessment-choice-panel>p,.assessment-choice-panel__intro,.assessment-list-description{max-width:590px;color:var(--ink-soft);margin:12px auto 0;font-size:13px;line-height:1.6}.assessment-create-form{text-align:left;gap:22px;max-width:680px;margin:0 auto;display:grid}.assessment-create-form .assessment-choice-panel__intro{text-align:center;margin-top:0}.assessment-create-form__fields{border:1px solid var(--line);background:#f8fafb;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px;display:grid}.assessment-create-form__fields .field--wide{grid-column:1/-1}.assessment-create-form__fields .field small{color:var(--ink-soft);margin-top:8px;font-size:11px;line-height:1.45;display:block}.assessment-recovery-choice{background:#fcf8ff;border:1px solid #d8c6e6;border-radius:15px;gap:13px;padding:17px 19px;display:grid}.assessment-recovery-choice__toggle{cursor:pointer;align-items:flex-start;gap:11px;display:flex}.assessment-recovery-choice__toggle input{accent-color:#754592;flex:0 0 18px;width:18px;height:18px;margin:1px 0 0}.assessment-recovery-choice__toggle strong,.assessment-recovery-choice__toggle small{display:block}.assessment-recovery-choice__toggle strong{color:#4f2b65;font-size:13px}.assessment-recovery-choice__toggle small{color:#715b7e;margin-top:3px;font-size:10px;line-height:1.45}.assessment-recovery-choice__select{margin-top:0}.assessment-recovery-summary{margin-top:15px}.assessment-create-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.assessment-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:680px;margin:30px auto 0;display:grid}.assessment-choice-grid--start{grid-template-columns:repeat(3,minmax(0,1fr));max-width:940px}.assessment-choice-card{border:1px solid var(--line);min-height:178px;color:var(--ink);cursor:pointer;text-align:left;background:#fbfcfd;border-radius:17px;align-content:start;gap:9px;padding:23px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.assessment-choice-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px #192a3f17}.assessment-choice-card>span{width:39px;height:39px;color:var(--accent-dark);background:var(--accent-soft);border-radius:12px;place-items:center;font-size:20px;font-weight:800;display:grid}.assessment-choice-card__icon{object-fit:contain;width:39px;height:39px;display:block}.assessment-choice-card strong{margin-top:4px;font-size:15px}.assessment-choice-card small{color:var(--ink-soft);font-size:11px;line-height:1.5}.assessment-choice-card--create{color:#fff;background:var(--ink);border-color:#0000}.assessment-choice-card--create>span{color:var(--ink);background:#fff}.assessment-choice-card--create small{color:#b9c7d4}.navigation-back-button{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:6px 11px 6px 7px;display:inline-flex}.navigation-back-button__icon{width:29px;height:29px;color:var(--accent-dark);place-items:center;display:grid}.navigation-back-button__icon img{object-fit:contain;width:20px;height:20px}.navigation-back-button>span:last-child{color:var(--ink-soft);font-size:11px;font-weight:650}.navigation-back-button--bottom{margin-top:24px}.screen-bottom-actions{grid-column:1/-1;justify-content:flex-end;padding-top:2px;display:flex}.assessment-list-top-actions{justify-content:flex-end;align-items:flex-end;gap:8px;margin-bottom:27px;display:flex}.assessment-create-action{border:1px solid var(--ink);color:#fff;background:var(--ink);cursor:pointer;text-align:center;border-radius:11px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:122px;min-height:76px;padding:8px 15px;font-size:11px;font-weight:750;line-height:1.2;transition:all .16s;display:inline-flex}.assessment-list-top-actions .assessment-list-action-button,.assessment-list-top-actions .navigation-back-button{height:46px;min-height:46px}.assessment-create-action:hover{background:#253650;transform:translateY(-1px);box-shadow:0 8px 18px #17243a29}.assessment-create-action__icon{object-fit:contain;flex:none;width:27px;height:27px;display:block}.assessment-list-action-button{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:10px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;transition:all .16s;display:inline-flex}.assessment-list-action-button:hover{color:var(--ink);background:#f8fafb;border-color:#b8c9d4}.assessment-list-action-button span{color:var(--accent-dark);font-size:16px}.assessment-list-action-button--back{text-align:center;justify-content:center;min-width:91px}.assessment-list-action-button--back .assessment-back-icon{font-size:23px;line-height:.8}.assessment-list-action-button--back>span:last-child{color:var(--ink-soft);font-size:11px}.assessment-trash-icon{filter:saturate(1.25)contrast(1.1);color:var(--danger)!important;font-size:18px!important}.assessment-list-title{text-align:center;margin:0 0 20px;display:block}.assessment-list-title h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(24px,3vw,31px);font-weight:750}.assessment-filter-box{background:#e7ecef;border:1px solid #c7d0d7;border-radius:11px;margin:0 0 20px;transition:border-color .16s,background .16s}.assessment-filter-box--open{background:#dfe6ea;border-color:#b5c2ca}.assessment-filter-toggle{width:100%;min-height:56px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:8px 13px;display:grid}.assessment-filter-toggle__icon{width:36px;height:36px;color:var(--accent-dark);background:#d2e7dc;border-radius:11px;place-items:center;font-size:21px;display:grid}.assessment-filter-toggle strong,.assessment-filter-toggle small{display:block}.assessment-filter-toggle strong{font-size:13px}.assessment-filter-toggle small{color:var(--muted);margin-top:3px;font-size:10px}.assessment-filter-toggle__chevron{border-right:2px solid var(--accent-dark);border-bottom:2px solid var(--accent-dark);width:10px;height:10px;margin-right:3px;transition:transform .16s;display:block;transform:translateY(-3px)rotate(45deg)}.assessment-filter-toggle__chevron--open{transform:translateY(3px)rotate(225deg)}.assessment-list-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.assessment-list-description{max-width:none;margin:-10px 0 19px}.assessment-filters{border-top:1px solid var(--line);border:1px solid var(--line);background:#f8fafb;border-radius:13px;grid-template-columns:minmax(180px,1.5fr) minmax(130px,.75fr) minmax(145px,.75fr) auto;align-items:end;gap:10px;margin:0;padding:14px;display:grid}.assessment-filters .field--wide{grid-column:auto}.assessment-filter-clear{white-space:nowrap;min-height:42px}.assessment-list{gap:10px;margin-top:19px;display:grid}.assessment-list-group-heading{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:12px;margin-top:16px;font-size:14px;font-weight:850;display:flex}.assessment-list-group-heading:after{content:"";background:#9fcdb5;flex:1;height:1px}.assessment-selection-toolbar{background:#f2faf6;border:1px solid #b9dccb;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:12px 14px;display:flex}.assessment-selection-toolbar strong,.assessment-selection-toolbar span{display:block}.assessment-selection-toolbar strong{color:var(--accent-dark);font-size:12px}.assessment-selection-toolbar span{color:var(--ink-soft);margin-top:3px;font-size:10px}.assessment-selection-toolbar__actions{flex:none;gap:8px;display:flex}.assessment-pagination{justify-content:center;align-items:center;gap:14px;margin-top:22px;display:flex}.assessment-pagination span{min-width:98px;color:var(--ink-soft);text-align:center;font-size:11px}.assessment-list-bottom{margin-top:22px}.assessment-list-bottom__divider{background:var(--line);width:100%;height:1px;margin-top:22px}.assessment-list-bottom__actions{justify-content:flex-end;margin-top:14px;display:flex}.assessment-list-bottom__actions .navigation-back-button--bottom{margin-top:0}.assessment-list-item{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:11px 14px;display:flex}.assessment-list-item--clickable{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s,transform .15s}.assessment-list-item--clickable:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 12px 24px #192a3f14}.assessment-list-item--trashed{opacity:.76;background:#f7f8f9}.assessment-list-item--selectable{border-color:#cbd8d0;padding:0;overflow:hidden}.assessment-list-item--selected{border-color:var(--accent);background:#f2faf6;box-shadow:0 8px 20px #2f9f7217}.assessment-list-item__selection{cursor:pointer;align-items:center;gap:12px;width:100%;padding:11px 14px;display:flex}.assessment-list-item__selection input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:0 0 20px;margin:0}.assessment-list-item__identity{flex:auto;gap:5px;min-width:0;display:grid}.assessment-list-item__heading{align-items:center;gap:8px;min-width:0;display:flex}.assessment-list-item__icon{object-fit:contain;flex:0 0 31px;width:31px;height:31px;display:block}.assessment-list-item__heading strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:14px;overflow:hidden}.assessment-list-item__heading .subtle-tag{flex:none}.assessment-list-item__identity small{color:var(--muted);font-size:10px;line-height:1.5}.assessment-list-item__context{color:var(--ink-soft);gap:5px;font-size:10px;line-height:1.45;display:grid}.assessment-list-item__context strong{color:var(--ink);font-weight:750}.assessment-list-item__context-classes{border-left:3px solid var(--accent);color:var(--ink-soft);background:#f1f8f4;border-radius:0 8px 8px 0;padding:7px 9px;display:block}.assessment-list-item__context-classes strong{color:var(--accent-dark);letter-spacing:.03em;text-transform:uppercase;margin-right:4px;font-size:9px}.assessment-list-item__context-classes b{color:var(--ink);font-size:13px;font-weight:850}.assessment-list-item__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.assessment-view-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:22px;width:min(1000px,100%);margin:0 auto;display:grid}.assessment-view-summary h3{letter-spacing:-.035em;margin:12px 0 5px;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,38px);font-weight:500}.assessment-view-summary>p{color:var(--ink-soft);margin:0;font-size:12px}.assessment-view-metrics{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:24px;display:grid}.assessment-view-metrics>div{background:#f4f6f8;border-radius:12px;padding:13px}.assessment-view-metrics span,.assessment-view-metrics strong{display:block}.assessment-view-metrics span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:750}.assessment-view-metrics strong{margin-top:5px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:500}.assessment-view-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;display:grid}.assessment-view-detail{border:1px solid var(--line);background:#f8fafb;border-radius:13px;min-width:0;padding:15px}.assessment-view-detail__label{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px;font-size:9px;font-weight:800;display:block}.assessment-view-pdf__card{align-items:center;gap:12px;min-width:0;display:flex}.assessment-view-pdf__card>div,.assessment-view-detail__empty{min-width:0}.assessment-view-pdf__card strong,.assessment-view-pdf__card small,.assessment-view-detail__empty strong,.assessment-view-detail__empty small{display:block}.assessment-view-pdf__card strong,.assessment-view-detail__empty strong{font-size:12px}.assessment-view-pdf__card small,.assessment-view-detail__empty small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;line-height:1.45;overflow:hidden}.assessment-view-pdf__preview,.assessment-view-pdf__fallback{width:68px;height:78px;color:var(--danger);background:#fff;border:1px solid #cfd8df;border-radius:7px;flex:0 0 68px;place-items:center;font-size:10px;font-weight:900;display:grid;overflow:hidden}.assessment-view-pdf__preview{object-fit:contain;border:1px solid #cfd8df;padding:5px}.assessment-view-pdf__download{width:68px;color:var(--accent-dark);cursor:pointer;text-align:center;background:0 0;border:0;flex:0 0 68px;justify-items:center;gap:4px;padding:0;text-decoration:none;display:grid}.assessment-view-pdf__download:hover .assessment-view-pdf__preview{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #2f9f722e}.assessment-view-pdf__download>span{font-size:10px;font-weight:800}.assessment-view-class-list{gap:8px;display:grid}.assessment-view-class-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.assessment-view-class-list>div:last-child{border-bottom:0;padding-bottom:0}.assessment-view-class-list strong,.assessment-view-class-list small{display:block}.assessment-view-class-list strong{font-size:12px}.assessment-view-class-list small{color:var(--muted);text-align:right;font-size:10px}.assessment-actions--view{margin-top:24px}.assessment-correction-status{background:#f2faf6;border:1px solid #d4e2da;border-radius:13px;justify-content:space-between;align-items:center;gap:18px;margin-top:18px;padding:14px 15px;display:flex}.assessment-correction-status>div{min-width:0}.assessment-correction-status span,.assessment-correction-status strong,.assessment-correction-status small{display:block}.assessment-correction-status span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.assessment-correction-status strong{color:var(--accent-dark);margin-top:3px;font-size:14px}.assessment-correction-status small{color:var(--ink-soft);margin-top:4px;font-size:11px;line-height:1.45}.assessment-correction-status--partial{background:#fff7ed;border-color:#efd2ab}.assessment-correction-status--partial strong{color:#b96516}.assessment-correction-status--complete{background:#f4f6f7;border-color:#d5dce1}.assessment-correction-status--complete strong{color:#566570}.assessment-correction-action{border-color:var(--accent-dark);background:var(--accent-dark);width:100%;min-height:56px;margin-top:24px;font-size:14px}.assessment-correction-action:hover{background:#185d42;border-color:#185d42}.assessment-correction-action--partial{background:#c96b15;border-color:#c96b15}.assessment-correction-action--partial:hover{background:#a9560d;border-color:#a9560d}.assessment-correction-action--complete{background:#687782;border-color:#687782}.assessment-correction-action--complete:hover{background:#52616c;border-color:#52616c}.assessment-correction-progress-layout{width:min(980px,100%);margin:0 auto}.assessment-correction-progress-panel,.assessment-correction-progress-groups{gap:18px;display:grid}.assessment-correction-progress-panel .panel-heading h2,.assessment-correction-progress-panel .panel-heading p{margin:0}.assessment-correction-progress-panel .panel-heading p{max-width:640px;color:var(--ink-soft);margin-top:5px;font-size:12px;line-height:1.45}.assessment-correction-progress-group{border:1px solid var(--line);background:#f9fbfc;border-radius:14px;gap:13px;padding:16px;display:grid}.assessment-correction-progress-group__heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.assessment-correction-progress-group__heading span,.assessment-correction-progress-group__heading strong,.assessment-correction-progress-group__heading small{display:block}.assessment-correction-progress-group__heading span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.assessment-correction-progress-group__heading strong{margin-top:3px;font-size:15px}.assessment-correction-progress-group__heading small{color:var(--ink-soft);margin-top:3px;font-size:11px}.assessment-correction-progress-group__heading b{color:var(--accent-dark);font-size:14px}.assessment-correction-progress-table-wrap{background:#fff;border:1px solid #dce4e9;border-radius:11px;overflow:hidden}.assessment-correction-progress-table-wrap--pending{border-color:#eadfd0}.assessment-correction-progress-table-wrap h3{color:var(--ink);margin:0;padding:11px 13px;font-size:12px}.assessment-correction-progress-table-wrap--pending h3{background:#fffaf4}.assessment-correction-progress-empty{color:var(--muted);margin:0;padding:0 13px 12px;font-size:11px}.assessment-correction-progress-table{border-collapse:collapse;width:100%;font-size:11px}.assessment-correction-progress-table th,.assessment-correction-progress-table td{text-align:left;vertical-align:middle;border-top:1px solid #e3e9ed;padding:10px 13px}.assessment-correction-progress-table thead th{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;background:#f5f8fa;font-size:9px}.assessment-correction-progress-table tbody th{font-size:11px}.assessment-correction-progress-table td:last-child{white-space:nowrap}.assessment-correction-progress-table td:last-child strong{color:var(--accent-dark);font-size:13px}.assessment-correction-progress-table td:last-child small{color:var(--muted);margin-left:3px;font-size:9px}.assessment-correction-picker{width:min(860px,100%);margin:0 auto}.assessment-correction-picker__intro{max-width:620px;color:var(--ink-soft);margin:-8px 0 20px;font-size:12px;line-height:1.5}.assessment-correction-class-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.assessment-correction-class-card{border:1px solid var(--line);min-height:178px;color:var(--ink);cursor:pointer;text-align:left;background:#f8fafb;border-radius:15px;align-content:start;gap:5px;padding:18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.assessment-correction-class-card:hover,.assessment-correction-class-card:focus-visible{border-color:var(--accent);outline:0;transform:translateY(-2px);box-shadow:0 10px 22px #192a3f1a}.assessment-correction-class-card__label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:800}.assessment-correction-class-card>strong{margin-top:4px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:600}.assessment-correction-class-card__school{color:var(--ink-soft);font-size:12px;font-weight:700}.assessment-correction-class-card>small{color:var(--muted);margin-top:5px;font-size:10px}.assessment-correction-class-card__action{color:var(--accent-dark);align-self:end;margin-top:auto;font-size:11px;font-weight:850}.assessment-correction-class-card__action b{margin-left:4px;font-size:15px}.scanner-heading-actions{align-items:center;gap:10px;display:flex}.scanner-class-roster{border:1px solid var(--line);background:#f8fafb;border-radius:12px;margin:-4px 0 16px}.scanner-class-roster>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;list-style:none;display:flex}.scanner-class-roster>summary::-webkit-details-marker{display:none}.scanner-class-roster>summary span{color:var(--ink);font-size:11px;font-weight:800}.scanner-class-roster>summary strong{color:var(--muted);font-size:10px}.scanner-class-roster__chevron{color:var(--accent-dark);margin-left:auto;font-size:18px;line-height:1;transition:transform .16s}.scanner-class-roster[open] .scanner-class-roster__chevron{transform:rotate(180deg)}.scanner-class-roster__list{border-top:1px solid var(--line);background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-height:170px;display:grid;overflow:auto}.scanner-class-roster__student{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:0;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 10px;display:grid}.scanner-class-roster__student:hover,.scanner-class-roster__student:focus-visible{z-index:1;outline-offset:-2px;background:#eef7f2;outline:2px solid #2f9f724d;position:relative}.scanner-class-roster__list strong{color:var(--accent-dark);font-size:10px}.scanner-class-roster__list span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.scanner-class-roster__list small{white-space:nowrap;font-size:9px;font-weight:750}.scanner-class-roster__score{color:var(--accent-dark)}.scanner-class-roster__pending{color:var(--muted)}.scanner-class-roster__absent{color:#a66123}.review-panel__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.review-panel__actions .secondary-button{min-height:34px;padding:7px 10px;font-size:10px}.scanner-class-roster>p{color:var(--muted);margin:0;padding:0 13px 12px;font-size:10px}.assessment-editor-heading{gap:13px;display:grid}.assessment-editor-heading__back{justify-self:end}.assessment-editor-heading__content{min-width:0}.assessment-editor-heading h2{letter-spacing:-.025em;margin:8px 0 3px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.assessment-editor-heading p{color:var(--muted);margin:0;font-size:11px}.assessment-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:22px;display:grid}.assessment-editor-tab{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink-soft);cursor:pointer;text-align:center;background:#fff;border-radius:10px;padding:8px 12px;font-size:11px;font-weight:750;line-height:1.25}.assessment-editor-tab--active{border-color:var(--ink);color:#fff;background:var(--ink)}.assessment-editor-download{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink-soft);text-align:center;background:#fff;border-radius:10px;place-items:center;padding:8px 12px;font-size:11px;font-weight:750;line-height:1.25;text-decoration:none;display:grid}.assessment-editor-download:hover{border-color:var(--accent);color:var(--accent-dark)}.modal-backdrop{z-index:50;background:#101c2d94;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.confirmation-modal{background:#fff;border:1px solid #ffffff47;border-radius:20px;width:min(460px,100%);padding:28px;box-shadow:0 26px 70px #0a16264d}.school-manager-modal{background:#fff;border:1px solid #ffffff47;border-radius:20px;width:min(640px,100%);max-height:min(720px,100vh - 44px);padding:26px;overflow:auto;box-shadow:0 26px 70px #0a16264d}.school-manager-modal__heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.school-manager-modal__heading h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.school-manager-modal__heading p{color:var(--ink-soft);margin:7px 0 0;font-size:12px}.school-manager-list{gap:9px;margin-top:14px;display:grid}.school-manager-row{border:1px solid var(--line);background:#fbfcfd;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.school-manager-row>div:first-child strong,.school-manager-row>div:first-child small{display:block}.school-manager-row>div:first-child strong{font-size:13px}.school-manager-row>div:first-child small{color:var(--muted);margin-top:4px;font-size:10px}.school-manager-row--editing{align-items:end}.school-manager-row--editing .field{flex:auto}.school-manager-row__actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:8px;display:flex}.confirmation-modal__icon{width:42px;height:42px;color:var(--danger);background:var(--danger-soft);border-radius:13px;place-items:center;font-size:20px;font-weight:900;display:grid}.confirmation-modal h2{letter-spacing:-.025em;margin:16px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:500}.confirmation-modal>p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.confirmation-modal__warning{color:#38536d;background:#edf4f8;border:1px solid #c9d8e5;border-radius:12px;gap:4px;margin-top:18px;padding:13px 14px;font-size:10px;line-height:1.45;display:grid}.confirmation-modal__warning strong{font-size:11px}.confirmation-modal__actions{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.submission-overwrite-modal>p strong{color:var(--ink)}.submission-overwrite-comparison{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:18px;display:grid}.submission-overwrite-comparison>div{border:1px solid var(--line);text-align:center;background:#f7f9fa;border-radius:12px;gap:3px;padding:13px;display:grid}.submission-overwrite-comparison>span{color:var(--accent-dark);font-size:20px;font-weight:800}.submission-overwrite-comparison div span,.submission-overwrite-comparison div small{color:var(--muted);font-size:9px}.submission-overwrite-comparison div strong{color:var(--ink);font-size:25px}.primary-button--danger{border-color:var(--danger);background:var(--danger)}.primary-button--danger:hover{background:#a8423e}.assessment-total{border:1px solid var(--line);background:0 0;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:13px 15px;display:flex}.assessment-applications,.assessment-sections{background:#f7fafc;border:1px solid #c9d8e5;border-radius:14px;margin-top:20px;padding:15px}.assessment-sections__heading{cursor:pointer;justify-content:space-between;align-items:flex-start;gap:14px;list-style:none;display:flex}.assessment-sections__heading::-webkit-details-marker{display:none}.assessment-sections__heading:after{color:var(--muted);content:"⌄";flex:none;margin-left:auto;font-size:17px;line-height:1;transition:transform .16s}.assessment-sections[open] .assessment-sections__heading:after{transform:rotate(180deg)}.assessment-sections__heading strong,.assessment-sections__heading span{display:block}.assessment-sections__heading strong{font-size:12px}.assessment-sections__heading span:not(.subtle-tag){color:var(--muted);margin-top:3px;font-size:10px;line-height:1.45}.assessment-sections__empty{border:1px dashed var(--line-strong);color:var(--muted);background:#ffffffa8;border-radius:10px;margin-top:13px;padding:11px 12px;font-size:10px;line-height:1.45}.assessment-section-list{border-top:1px solid var(--line);margin-top:13px;display:grid}.assessment-section-row,.assessment-section-add{grid-template-columns:minmax(160px,1fr) 105px 105px auto;align-items:end;gap:9px;display:grid}.assessment-section-row{border-bottom:1px solid var(--line);padding:11px 0}.assessment-section-add{margin-top:13px}.assessment-applications__heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.assessment-applications__heading strong,.assessment-applications__heading span{display:block}.assessment-applications__heading strong{font-size:12px}.assessment-applications__heading span:not(.subtle-tag){max-width:450px;color:var(--muted);margin-top:3px;font-size:10px;line-height:1.45}.assessment-application-list{border-top:1px solid var(--line);margin-top:13px;display:grid}.assessment-application-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.assessment-application-row strong,.assessment-application-row small{display:block}.assessment-application-row strong{font-size:14px}.assessment-application-row small{color:var(--muted);margin-top:2px;font-size:12px}.assessment-applications-warning{margin-top:13px}.assessment-application-row--unavailable{background:#fffaf0;margin-inline:-8px;padding-inline:8px}.assessment-application-status{color:#795b15;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;background:#fff3cf;border:1px solid #e4c675;border-radius:999px;margin-left:6px;padding:3px 6px;font-size:8px;font-weight:850;display:inline-block}.assessment-application-open{background:#eef1f2;align-items:center;gap:8px;margin-top:14px;display:inline-flex}.assessment-application-open:hover{background:#e3e8ea}.assessment-application-open__icon{object-fit:contain;width:23px;height:23px}.assessment-application-add{grid-template-columns:1fr auto;align-items:end;gap:9px;margin-top:14px;display:grid}.assessment-application-add .secondary-button{min-height:44px}.assessment-application-add__actions{gap:9px;display:flex}.assessment-application-add__actions .secondary-button,.assessment-application-add__actions .primary-button{min-height:44px}.application-select{max-width:300px;margin:-6px 0 16px}.scanner-selected-class{border:1px solid var(--line);background:#f4f7f8;border-radius:11px;align-content:center;gap:3px;min-height:44px;padding:8px 13px;display:grid}.scanner-selected-class strong,.scanner-selected-class small{display:block}.scanner-selected-class strong{color:var(--ink);font-size:12px}.scanner-selected-class small{color:var(--muted);font-size:10px}.assessment-total span{color:var(--accent-dark);font-size:10px;font-weight:750}.assessment-total strong{font-family:Georgia,Times New Roman,serif;font-size:17px}.question-scoring{gap:7px;display:flex}.scoring-bulk{background:#f5f8f7;border-radius:12px;grid-template-columns:1fr 1fr auto;align-items:end;gap:9px;margin-bottom:16px;padding:13px;display:grid}.scoring-bulk label{gap:4px;display:grid}.scoring-bulk label span{color:var(--ink-soft);font-size:9px;font-weight:750}.scoring-bulk input{border:1px solid var(--line);background:#fff;border-radius:9px;width:100%;min-height:40px;padding:8px 10px}.question-annulment-panel{background:#fffaf6;border:1px solid #ead4c3;border-radius:12px;gap:14px;margin:18px 0;padding:15px;display:grid}.question-annulment-panel__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.question-annulment-panel__heading>div,.question-annulment-panel__mode label,.question-annulment-panel__mode label>span{gap:3px;display:grid}.question-annulment-panel__heading strong{color:var(--ink);font-size:14px}.question-annulment-panel__heading span:not(.subtle-tag),.question-annulment-panel__mode small,.question-annulment-panel__current{color:var(--muted);font-size:11px;line-height:1.4}.question-annulment-panel__questions{flex-wrap:wrap;gap:6px;display:flex}.question-annulment-panel__question{border:1px solid var(--line);min-width:44px;color:var(--ink-soft);background:#fff;border-radius:8px;align-items:center;gap:4px;padding:6px 8px;font-size:11px;font-weight:700;display:inline-flex}.question-annulment-panel__question:has(input:checked){color:#9a4d1a;background:#fff0e5;border-color:#d8874d}.question-annulment-panel__mode{grid-template-columns:1fr 1fr;gap:10px;display:grid}.question-annulment-panel__mode label{border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:auto 1fr;align-items:start;padding:10px}.question-annulment-panel__mode strong{color:var(--ink-soft);font-size:11px}.question-annulment-panel__current{color:#9a4d1a;margin:0}.question-scoring label{gap:3px;display:grid}.question-scoring span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:750}.question-scoring input{border:1px solid var(--line);background:#fff;border-radius:8px;width:66px;min-height:31px;padding:5px 7px;font-size:10px}.class-edit-grid{margin-top:16px}.create-inline-form{border-top:1px solid var(--line);grid-template-columns:1fr 105px auto;align-items:end;gap:10px;margin-top:24px;padding-top:22px;display:grid}.create-inline-form .panel-heading{grid-column:1/-1}.panel-heading--compact{margin-bottom:2px}.student-add-form{border-bottom:1px solid var(--line);grid-template-columns:92px 1fr auto;align-items:end;gap:10px;padding-bottom:19px;display:grid}.manual-student-batch__review{background:#f7fafc;border:1px solid #c9d8e5;border-radius:13px;margin-top:14px;padding:14px}.manual-student-batch__heading strong,.manual-student-batch__heading span{display:block}.manual-student-batch__heading strong{font-size:12px}.manual-student-batch__heading span{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.45}.manual-student-batch__list{border-top:1px solid var(--line);margin-top:12px;display:grid}.manual-student-batch__list>div{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;display:grid}.manual-student-batch__list strong{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif;font-size:14px}.manual-student-batch__list span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.manual-student-batch__actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.student-import{border-bottom:1px solid var(--line);margin:20px 0;padding-bottom:20px}.student-import__heading{justify-content:space-between;margin-bottom:10px;display:flex}.student-import__heading strong,.student-import__heading span,.student-import-review__header strong,.student-import-review__header span{display:block}.student-import__heading strong,.student-import-review__header strong{font-size:11px}.student-import__heading span,.student-import-review__header span{color:var(--muted);margin-top:3px;font-size:9px}.import-zone{min-height:138px;padding:18px}.import-zone .capture-zone__icon{border-radius:12px;width:38px;height:38px;font-size:18px}.import-zone .capture-zone__icon--camera{width:54px;height:48px;box-shadow:none;background:0 0;border-radius:0}.capture-zone--disabled{cursor:not-allowed;opacity:.64}.answer-key-ai{background:#f7fafc;border:1px solid #c9d8e5;border-radius:14px;gap:12px;margin:-4px 0 21px;padding:17px;display:grid}.answer-key-ai__heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.answer-key-ai__heading strong,.answer-key-ai__heading span{display:block}.answer-key-ai__heading strong{font-size:12px}.answer-key-ai__heading span:not(.subtle-tag){color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.answer-key-ai__text textarea{min-height:72px}.question-count-stepper{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;width:fit-content;min-height:42px;display:inline-flex;overflow:hidden}.question-count-stepper button{width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border:0;place-items:center;font-size:22px;line-height:1;display:grid}.question-count-stepper button:hover:not(:disabled){background:var(--accent-soft)}.question-count-stepper button:disabled{color:#b8c0c8;cursor:not-allowed}.question-count-stepper output{border-right:1px solid var(--line);border-left:1px solid var(--line);justify-content:center;align-items:baseline;gap:5px;min-width:88px;display:flex}.question-count-stepper output strong{font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:600}.question-count-stepper output span{color:var(--muted);font-size:10px}.assessment-document__intro{color:var(--ink-soft);margin:-9px 0 17px;font-size:12px;line-height:1.5}.assessment-document__current{min-height:0}.assessment-document__current .assessment-document-empty{min-height:195px}.assessment-document-empty__icon{object-fit:contain;opacity:.5;width:42px;height:52px;margin-bottom:12px}.assessment-document-list{gap:9px;margin:0;display:grid}.assessment-document-row{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:13px 14px;display:flex}.assessment-document-row strong,.assessment-document-row small{display:block}.assessment-document-row strong{overflow-wrap:anywhere;font-size:12px}.assessment-document-row small{color:var(--muted);margin-top:4px;font-size:10px}.assessment-document-row__actions{flex:none;gap:8px;display:flex}.assessment-document-action{min-height:42px;padding:9px 14px;font-size:11px;font-weight:800}.assessment-document__replace{border-top:1px solid var(--line);gap:13px;margin-top:23px;padding-top:22px;display:grid}.assessment-document__replace>div>strong{color:var(--ink);font-size:13px;display:block}.assessment-document__replace>div>p{color:var(--ink-soft);margin:5px 0 0;font-size:11px;line-height:1.45}.assessment-document__pending{color:var(--ink-soft);background:#f7fafc;border:1px solid #c9d8e5;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px;font-size:11px;display:flex}.assessment-document__pending>span{overflow-wrap:anywhere;min-width:0}.assessment-document__pending>div{flex:none;gap:8px;display:flex}.student-import-review{background:#f7fafc;border:1px solid #c9d8e5;border-radius:13px;margin-top:13px;padding:14px}.student-import-review__header{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 150px;align-items:end;gap:14px;margin-bottom:12px;padding-bottom:12px;display:grid}.student-import-sort-button{white-space:nowrap;min-height:38px;padding:8px 11px;font-size:10px}.student-import-list{max-height:310px;display:grid;overflow:auto}.student-import-row{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:7px 0;display:grid}.student-import-row>strong{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif;font-size:14px}.student-import-row>input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:8px 10px;font-size:10px}.student-import-actions{justify-content:flex-end;gap:8px;margin-top:13px;display:flex}.privacy-note{color:var(--muted);margin:11px 0 0;font-size:9px;line-height:1.5}.student-list{max-height:580px;display:grid;overflow:auto}.student-row{border-bottom:1px solid var(--line);grid-template-columns:96px 1fr auto;align-items:end;gap:11px;padding:12px 0;display:grid}.student-row--inactive{opacity:.62}.student-row .text-button{min-height:44px}.manual-correction-guide{color:#31564f;background:#eef6f3;border:1px solid #b8d1ca;border-radius:12px;gap:5px;margin:4px 0 14px;padding:12px 14px;display:grid}.manual-correction-guide strong{font-size:12px}.manual-correction-guide span{font-size:10px;line-height:1.5}.roster-conflict-modal{width:min(590px,100%);max-height:min(760px,100vh - 44px);overflow:auto}.roster-conflict-modal>p strong{color:var(--ink)}.roster-conflict-options{gap:10px;margin-top:14px;display:grid}.roster-conflict-option{width:100%;color:var(--ink-soft);text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #cfdbe2;border-radius:13px;gap:6px;padding:14px 15px;display:grid}.roster-conflict-option:hover,.roster-conflict-option:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #2b776b1f}.roster-conflict-option strong{color:var(--ink);font-size:12px}.roster-conflict-option span{font-size:10px;line-height:1.5}.roster-conflict-option--sequence{background:#eef6f3;border-color:#b8d1ca}.roster-conflict-preview{color:var(--accent-dark);font-weight:750}.assessment-manager__main{grid-template-columns:minmax(240px,1.5fr) minmax(170px,.5fr);gap:14px;display:grid}.assessment-actions{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.assessment-actions .secondary-button{min-height:40px;padding:8px 14px}.alert--info{color:#38536d;background:#edf4f8;border-color:#c9d8e5}.alert--warning{color:#70541b;background:#fff8e7;border-color:#e8d39a}.version-assurance{color:var(--muted);text-align:left;margin:14px 0 -8px;font-size:10px;line-height:1.45}.version-assurance summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-weight:750;list-style:none;display:flex}.version-assurance summary::-webkit-details-marker{display:none}.version-assurance summary:after{color:var(--accent-dark);content:"⌄";font-size:16px;line-height:1;transition:transform .16s}.version-assurance[open] summary:after{transform:rotate(180deg)}.version-assurance p{margin:6px 0 0}.document-button{color:inherit;text-decoration:none}.assessment-preview{grid-column:1/-1}.assessment-preview__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.assessment-preview__question{border:1px solid var(--line);background:#fbfcfd;border-radius:14px;min-width:0;padding:17px}.assessment-preview__question header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:11px;display:flex}.assessment-preview__question header span{color:var(--accent-dark);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:850}.assessment-preview__question header small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.assessment-preview__question>p{margin:0 0 12px;font-family:Georgia,Times New Roman,serif;font-size:14px;line-height:1.55}.assessment-preview__question ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.assessment-preview__question li{color:var(--ink-soft);grid-template-columns:24px 1fr;align-items:start;gap:8px;font-size:10px;line-height:1.4;display:grid}.assessment-preview__question li strong{border:1px solid var(--line);width:21px;height:21px;color:var(--ink);border-radius:50%;place-items:center;font-size:8px;display:grid}.print-document{display:none}.capture-zone{cursor:pointer;text-align:center;background:linear-gradient(135deg,#2f9f720e,#0000),#fafcfc;border:1.5px dashed #b9c4ce;border-radius:17px;align-content:center;place-items:center;gap:8px;min-height:215px;padding:28px;transition:all .16s;display:grid}.capture-zone:hover{border-color:var(--accent);background-color:var(--accent-soft)}.capture-zone input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.capture-zone__icon{color:#fff;background:var(--accent);border-radius:16px;place-items:center;width:52px;height:52px;margin-bottom:4px;font-size:25px;display:grid;box-shadow:0 10px 24px #2f9f7238}.capture-zone__icon--camera{width:64px;height:58px;box-shadow:none;background:0 0;border-radius:0;margin-bottom:2px}.capture-zone__icon--camera img{object-fit:contain;width:100%;height:100%;display:block}.capture-zone__icon--processing{background:var(--ink);box-shadow:0 10px 24px #17243a33}.processing-dots{align-items:center;gap:5px;display:inline-flex}.processing-dots i{background:#fff;border-radius:50%;width:7px;height:7px;animation:1.1s ease-in-out infinite processing-dot;display:block}.processing-dots i:nth-child(2){animation-delay:.14s}.processing-dots i:nth-child(3){animation-delay:.28s}@keyframes processing-dot{0%,60%,to{opacity:.35;transform:translateY(0)scale(.78)}30%{opacity:1;transform:translateY(-4px)scale(1)}}.capture-zone strong{font-size:13px}.capture-zone small{max-width:330px;color:var(--muted);font-size:10px;line-height:1.45}.capture-zone--busy{cursor:wait;opacity:.72}.capture-help{color:var(--ink-soft);background:#f7f9fa;border-radius:14px;margin-top:20px;padding:16px 18px}.capture-help strong{color:var(--ink);font-size:11px}.capture-help ul{margin:8px 0 0;padding-left:17px;font-size:10px;line-height:1.75}.alert{border:1px solid;border-radius:11px;margin-top:16px;padding:12px 14px;font-size:11px;line-height:1.45}.alert--error{color:#923d39;background:var(--danger-soft);border-color:#efc4c2}.alert--success{color:#176844;background:var(--accent-soft);border-color:#bce4d0}.download-feedback{margin:0 0 14px;font-weight:700}.correction-feedback{margin-top:14px;font-weight:700}.correction-feedback.alert--error{border-width:2px}.correction-success-modal{text-align:center;align-items:center}.correction-success-modal .confirmation-modal__icon{color:#16633f;background:var(--accent-soft);border-color:#8ed5b0;margin-bottom:2px}.correction-success-modal__eyebrow{color:var(--accent-dark);letter-spacing:.09em;text-transform:uppercase;font-size:10px;font-weight:850}.correction-success-modal h2{margin-top:4px}.correction-success-modal__score{color:#176844;background:var(--accent-soft);border:1px solid #bce4d0;border-radius:14px;justify-content:center;align-items:baseline;gap:6px;width:100%;margin:4px 0 2px;padding:14px 16px;display:flex}.correction-success-modal__score strong{letter-spacing:-.07em;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,12vw,60px);line-height:.95}.correction-success-modal__score span{color:#287651;font-size:11px;font-weight:750}.correction-success-modal .confirmation-modal__actions{width:100%}.scan-preview{border:1px solid var(--line);background:#eef1f3;border-radius:14px;margin:18px 0 0;overflow:hidden}.scan-preview img{object-fit:contain;width:100%;max-height:500px;display:block}.scan-preview figcaption{color:var(--muted);background:#fff;justify-content:space-between;gap:10px;padding:9px 11px;font-size:9px;display:flex}.scan-preview figcaption a{color:var(--accent-dark);font-weight:800;text-decoration:none}.student-field{max-width:180px;margin-bottom:18px}.student-detection,.student-match{border:1px solid var(--line);background:#f8fafb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px 12px;margin:-7px 0 16px;padding:10px 12px;display:flex}.student-detection>span,.student-match>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:800}.student-match{color:var(--warning);background:var(--warning-soft);margin-top:0;display:grid}.student-match--found{color:var(--accent-dark);background:var(--accent-soft)}.student-match strong{font-size:15px}.scanner-reading-details{border:1px solid var(--line);background:#f8fafb;border-radius:11px;margin:0 0 16px;overflow:hidden}.scanner-reading-details>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 13px;list-style:none;display:flex}.scanner-reading-details>summary::-webkit-details-marker{display:none}.scanner-reading-details>summary strong,.scanner-reading-details>summary small{display:block}.scanner-reading-details>summary strong{color:var(--ink);font-size:11px}.scanner-reading-details>summary small{color:var(--muted);margin-top:3px;font-size:9px}.scanner-reading-details__chevron{color:var(--accent-dark);flex:none;font-size:18px;line-height:1;transition:transform .16s}.scanner-reading-details[open] .scanner-reading-details__chevron{transform:rotate(180deg)}.scanner-reading-details .student-detection{border-right:0;border-bottom:1px solid var(--line);border-left:0;border-radius:0;margin:0}.scanner-reading-details .review-list{border-top:0}.student-field input{letter-spacing:.08em;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:650}.review-row{padding:9px 0}.review-row__question{grid-template-columns:31px minmax(0,1fr);align-items:center;gap:8px;min-width:145px;display:grid}.reading-status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;overflow:hidden}.reading-status--marked{color:var(--accent-dark)}.reading-status--multiple,.reading-status--uncertain{color:var(--warning)}.grade-summary{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px;display:grid}.grade-summary>div{background:#f4f6f8;border-radius:11px;padding:11px 12px}.grade-summary span,.grade-summary strong{display:block}.grade-summary span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:700}.grade-summary strong{margin-top:3px;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:600}.grade-summary .grade-summary__score{color:#fff;background:var(--accent)}.grade-summary__score span{color:#ffffffb8}.metric-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:22px;display:grid}.metric-card{border:1px solid var(--line);background:#ffffffdb;border-radius:17px;padding:22px}.metric-card span,.metric-card strong,.metric-card small{display:block}.metric-card span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:750}.metric-card strong{margin:8px 0 4px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500}.metric-card small{color:var(--muted);font-size:10px}.metric-card--accent{color:#fff;background:var(--ink);border-color:#0000}.metric-card--accent span,.metric-card--accent small{color:#aebbc8}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:13px 12px}th{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.score-chip{min-width:38px;min-height:28px;color:var(--accent-dark);background:var(--accent-soft);border-radius:8px;place-items:center;font-weight:850;display:inline-grid}.results-layout{gap:18px;width:min(920px,100%);display:grid}.results-list-heading,.results-notes-panel__top,.results-class-group__heading,.result-edit-modal__heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.results-list-heading{align-items:center;margin-bottom:15px}.results-list-heading h2,.results-notes-panel h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.results-list-heading>span,.results-class-group__heading>span{color:var(--muted);font-size:11px;font-weight:750}.results-list-heading__actions{align-items:center;gap:10px;display:flex}.results-list-heading__actions>span{color:var(--muted);font-size:11px;font-weight:750}.results-consolidated-button{border-color:var(--accent-dark);color:#fff;background:linear-gradient(135deg, var(--accent-dark), #185c46);min-height:50px;font-size:12.5px;box-shadow:0 8px 18px #1f795533}.results-consolidated-button:hover{background:linear-gradient(135deg,#246f50,#134b39);border-color:#15533f;transform:translateY(-1px);box-shadow:0 10px 22px #1f795542}.results-consolidated-button span{color:#a8e7ca;font-size:17px}.results-list-heading p{color:var(--ink-soft);margin:5px 0 0;font-size:12px;line-height:1.45}.results-navigation-list{gap:9px;display:grid}.results-navigation-item{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:16px 17px;transition:border-color .16s,transform .16s,box-shadow .16s;display:flex}.results-navigation-item:hover{border-color:#a7bbc7;transform:translateY(-1px);box-shadow:0 8px 18px #263b4d14}.results-navigation-item>div{min-width:0}.results-navigation-item strong,.results-navigation-item small{display:block}.results-navigation-item strong{font-size:14px}.results-navigation-item small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.35}.results-navigation-item>span{color:var(--accent-dark);font-size:26px;font-weight:500;line-height:.8}.results-navigation-item--assessment{background:#fafcfd}.results-recovery-label{color:#6d3d87;letter-spacing:.05em;text-transform:uppercase;vertical-align:2px;background:#fbf5ff;border:1px solid #d5b9e8;border-radius:999px;margin-left:8px;padding:3px 6px;font-size:8px;font-style:normal;font-weight:850;display:inline-block}.results-navigation-item--trashed-class{background:#f7f8f9;border-style:dashed}.results-class-status{color:#66747f;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;background:#eef1f3;border:1px solid #d2d9de;border-radius:999px;align-items:center;margin-left:7px;padding:3px 7px;font-family:inherit;font-size:8px;font-weight:800;display:inline-flex}.results-layout--report{width:min(1180px,100%)}.results-report-panel__heading h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:500}.results-report-panel__heading p{color:var(--ink-soft);margin:6px 0 16px;font-size:11px;line-height:1.5}.results-period-filter{background:#f2f6f8;border:1px solid #d8e2e8;border-radius:14px;justify-content:flex-end;align-items:end;gap:18px;margin-top:14px;padding:13px 14px;display:flex}.results-period-filter__fields{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:9px;display:flex}.results-period-filter__fields label{gap:4px;display:grid}.results-period-filter__fields label span{color:var(--muted);font-size:9px;font-weight:800}.results-period-filter__separator{color:var(--muted);align-self:end;padding-bottom:11px;font-size:10px;font-weight:750}.results-period-filter__fields input{min-width:164px;min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #ccd8df;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:650;transition:border-color .12s,box-shadow .12s}.results-period-filter__fields input:hover{border-color:var(--accent)}.results-period-filter__fields input:focus{border-color:var(--accent-dark);box-shadow:0 0 0 3px #2f9f7221}.results-period-filter__clear{min-height:36px;color:var(--accent-dark);padding-inline:4px;font-size:10px}.results-report-scroll{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:5px}.results-report-actions{justify-content:flex-end;margin-top:15px;display:flex}.results-report-error{margin-top:14px}.results-report-download-feedback{margin-top:14px;font-weight:700}.consolidated-pdf-modal .confirmation-modal__icon{color:#1e725d;background:#e2f3ec}.results-report-table{min-width:max-content;font-size:11px}.results-report-table th,.results-report-table td{text-align:center;white-space:normal;min-width:112px;padding:13px 14px}.results-report-table thead th{vertical-align:bottom;color:var(--ink-soft);letter-spacing:.02em;text-transform:none;background:#f6f8fa;font-size:9px}.results-report-table thead th:first-child,.results-report-table tbody th{z-index:1;text-align:left;background:#fff;min-width:180px;position:sticky;left:0}.results-report-table thead th:first-child{z-index:2;background:#f6f8fa}.results-report-table thead strong,.results-report-table thead small,.results-report-table tbody th strong,.results-report-table tbody th small,.results-report-table__total strong,.results-report-table__total small{display:block}.results-report-table thead strong{max-width:140px;color:var(--ink-soft);margin:0 auto;font-size:10px;line-height:1.3}.results-report-table thead small,.results-report-table tbody th small,.results-report-table__total small{color:var(--muted);margin-top:4px;font-size:9px;font-weight:650}.results-report-table tbody th strong{color:var(--ink);font-size:12px}.results-report-grade{min-width:48px;color:var(--ink);place-items:center;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:650;display:inline-grid}.results-report-grade--below{color:var(--danger)}.results-report-grade--empty{color:#b2bdc6;font-size:16px}.results-report-table__total-heading,.results-report-table__total{background:#f7f9fb;border-left:2px solid #ccd7df}.results-report-table__total strong{color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:650}.results-view-heading{gap:18px;display:grid}.results-view-heading .navigation-back-button{justify-self:end}.results-view-heading h2{letter-spacing:-.035em;margin:8px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,3vw,34px);font-weight:500}.results-view-heading p,.results-notes-panel__top p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.results-notes-panel__top{align-items:end;margin-bottom:16px}.results-notes-panel__top .field{width:min(260px,100%)}.results-notes-panel__actions{justify-content:flex-end;align-items:end;gap:10px;display:flex}.result-manual-selects{grid-template-columns:1fr 1fr;gap:12px;margin-top:17px;display:grid}.result-manual-selects .field{margin-top:0}.result-manual-class{border:1px solid var(--line);background:#f7f9fb;border-radius:12px;align-content:end;gap:7px;min-height:66px;padding:12px 13px;display:grid}.result-manual-class span{color:var(--muted);font-size:10px;font-weight:750}.result-manual-class strong{font-size:13px}.results-class-group{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:12px;overflow:hidden}.results-class-group__heading{border-bottom:1px solid var(--line);background:#f7f9fb;align-items:center;padding:14px 16px}.results-class-group__heading div,.results-student-row__identity{min-width:0}.results-class-group__heading strong,.results-student-row__identity strong{font-size:14px;display:block}.results-class-group__heading small,.results-student-row__identity small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.35;display:block}.results-student-list{display:grid}.results-student-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px 16px;display:grid}.results-student-row:first-child{border-top:0}.results-student-row__actions{gap:7px;display:flex}.evidence-viewer-modal{background:#fff;border:1px solid #ffffff47;border-radius:20px;width:min(820px,100%);max-height:min(820px,100vh - 44px);padding:25px;overflow:auto;box-shadow:0 26px 70px #0a16264d}.evidence-viewer-modal__heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px;display:flex}.evidence-viewer-modal__heading h2{letter-spacing:-.025em;margin:7px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.evidence-viewer-modal__heading p,.evidence-viewer-modal__loading{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.5}.evidence-viewer-modal__image{object-fit:contain;border:1px solid var(--line);background:#f3f6f8;border-radius:14px;width:100%;max-height:min(590px,100vh - 250px);display:block}.evidence-viewer-modal__footer{color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:14px;font-size:10px;display:flex}.evidence-viewer-modal__actions{justify-content:flex-end;align-items:center;gap:9px;margin-left:auto;display:flex}.evidence-viewer-modal__close{min-width:104px}.evidence-viewer-modal__close span{font-size:18px;font-weight:700;line-height:.8}.results-student-score{text-align:center;justify-items:center;gap:2px;min-width:70px;display:grid}.results-student-score strong{color:var(--accent-dark);font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:650;line-height:1}.results-student-score small{color:var(--muted);text-transform:lowercase;font-size:9px;font-weight:750}.results-pending-accordion{background:#f7f9fb;border:1px solid #d9e1e8;border-radius:14px;margin-top:14px}.results-pending-accordion summary{cursor:pointer;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.results-pending-accordion summary::-webkit-details-marker{display:none}.results-pending-accordion summary>span{flex:auto;gap:3px;display:grid}.results-pending-accordion summary strong{font-size:12px}.results-pending-accordion summary small{color:var(--muted);font-size:10px}.results-pending-accordion summary b{color:var(--ink-soft);font-size:12px}.results-pending-accordion summary i{color:var(--accent-dark);font-size:18px;font-style:normal;transition:transform .16s}.results-pending-accordion[open] summary i{transform:rotate(180deg)}.results-pending-list{border-top:1px solid #d9e1e8}.results-pending-row{border-top:1px solid #e1e7ec;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:11px 16px;display:grid}.results-pending-row:first-child{border-top:0}.results-pending-row strong{font-size:12px}.results-pending-row span,.results-pending-row small{color:var(--muted);font-size:10px}.results-pending-row small{color:#a36a35;font-weight:750}.results-pending-empty{color:var(--muted);border-top:1px solid #d9e1e8;margin:0;padding:14px 16px;font-size:11px}.result-edit-modal{width:min(700px,100%);max-height:min(780px,100vh - 44px);overflow:auto}.result-edit-modal__heading h2{margin-top:7px}.result-edit-modal__heading p{color:var(--ink-soft);margin:0;font-size:11px}.result-edit-modal .field{margin-top:17px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.manual-score-edit{gap:7px;margin-top:16px;display:grid}.manual-score-edit .field{margin-top:0}.manual-score-edit small,.manual-score-sheet__help{color:var(--muted);font-size:10px;line-height:1.45}.manual-score-sheet{border:1px solid var(--line);border-radius:13px;margin-top:16px;display:grid;overflow:hidden}.manual-score-sheet__heading,.manual-score-sheet__row{grid-template-columns:minmax(0,1fr) 138px;align-items:center;gap:14px;display:grid}.manual-score-sheet__heading{border-bottom:1px solid var(--line);color:var(--ink-soft);background:#f1f4f6;padding:11px 14px;font-size:10px}.manual-score-sheet__heading strong:last-child{text-align:right}.manual-score-sheet__row{border-top:1px solid var(--line);min-height:66px;padding:9px 14px}.manual-score-sheet__row:first-of-type{border-top:0}.manual-score-sheet__row>div:first-child strong,.manual-score-sheet__row>div:first-child small,.manual-score-sheet__existing strong,.manual-score-sheet__existing small{display:block}.manual-score-sheet__row>div:first-child strong{font-size:12px}.manual-score-sheet__row>div:first-child small,.manual-score-sheet__existing small{color:var(--muted);margin-top:3px;font-size:10px}.manual-score-sheet__input{align-items:center;gap:5px;display:flex}.manual-score-sheet__input input{width:82px;min-height:38px;color:var(--ink);font:inherit;text-align:center;background:#fff;border:1px solid #b8c8d1;border-radius:9px;padding:8px 9px;font-size:13px;font-weight:800}.manual-score-sheet__input input:focus{border-color:var(--accent-dark);outline:0;box-shadow:0 0 0 3px #2f9f721f}.manual-score-sheet__input small{color:var(--muted);white-space:nowrap;font-size:10px}.manual-score-sheet__existing{text-align:right}.manual-score-sheet__existing strong{color:var(--ink-soft);font-size:15px}.manual-score-sheet__row--target{box-shadow:inset 3px 0 0 var(--accent-dark);background:#f2faf5}.manual-score-sheet__entry,.manual-score-sheet__absence{justify-items:end;gap:5px;display:grid}.manual-score-sheet__absence strong{color:#a66123;font-size:12px}.manual-score-sheet__absence .text-button,.manual-score-sheet__absence-action{color:#7d4c1c;min-height:auto;padding:2px 0;font-size:9px}.manual-score-sheet__help{margin:11px 0 0}.result-edit-answers{border:1px solid var(--line);border-radius:13px;gap:0;margin-top:16px;display:grid;overflow:hidden}.result-edit-answers__heading{border-bottom:1px solid var(--line);background:#f7f9fb;gap:3px;padding:12px 14px;display:grid}.result-edit-answers__heading strong{font-size:12px}.result-edit-answers__heading small{color:var(--muted);font-size:10px}.result-edit-answer-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:9px 14px;display:flex}.result-edit-answer-row:first-of-type{border-top:0}.result-edit-answer-row>strong{color:var(--muted);font-size:11px}.result-edit-grade{margin-top:16px}.table-secondary{color:var(--muted);margin-top:3px;font-size:9px;display:block}.empty-state{text-align:center;align-content:center;place-items:center;min-height:310px;display:grid}.empty-state>span{width:48px;height:48px;color:var(--accent-dark);background:var(--accent-soft);border-radius:15px;place-items:center;margin-bottom:12px;font-size:20px;display:grid}.empty-state strong{font-size:13px}.empty-state p{max-width:340px;color:var(--muted);margin:6px 0 16px;font-size:10px;line-height:1.5}.empty-state--compact{min-height:390px}.ai-form{gap:16px;display:grid}.generated-list{gap:14px;max-height:690px;padding-right:4px;display:grid;overflow:auto}.generated-question{border:1px solid var(--line);background:#fcfdfd;border-radius:15px;padding:18px}.generated-question header{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:9px;font-weight:850;display:flex}.generated-question header strong{color:var(--accent-dark);background:var(--accent-soft);border-radius:99px;padding:4px 7px}.generated-question__statement{margin:13px 0;font-family:Georgia,Times New Roman,serif;font-size:15px;line-height:1.5}.generated-question ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.generated-question li{color:var(--ink-soft);border-radius:8px;grid-template-columns:25px 1fr;align-items:start;gap:8px;padding:7px 9px;font-size:10px;line-height:1.45;display:grid}.generated-question li strong{border:1px solid var(--line);border-radius:50%;place-items:center;width:21px;height:21px;font-size:8px;display:grid}.generated-question .alternative--correct{color:var(--accent-dark);background:var(--accent-soft)}.generated-question .alternative--correct strong{border-color:var(--accent);color:#fff;background:var(--accent)}.generated-question details{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:12px;padding-top:10px;font-size:10px}.generated-question summary{color:var(--accent-dark);cursor:pointer;font-weight:800}.generated-question details p{line-height:1.55}@media (max-width:1040px){.assessment-choice-grid--start{grid-template-columns:repeat(2,minmax(0,1fr))}.content-grid--assessment,.scanner-layout,.ai-layout,.classes-layout,.assessment-view-layout{grid-template-columns:1fr}.capture-panel{grid-template-columns:1fr 1fr;gap:18px;display:grid}.capture-panel .panel-heading,.capture-panel .alert,.capture-panel .scanner-class-roster{grid-column:1/-1}.capture-help,.scan-preview{margin-top:0}}@media (max-width:760px){.sidebar{display:none}.main-content{margin-left:0;padding:15px 16px 88px}.app-footer{display:none}.page-header{align-items:flex-start;margin-bottom:20px}.page-header h1{font-size:35px}.page-header__brand-icon{width:78px;left:-28px}.page-header p{font-size:12px}.header-badge{display:none}.mobile-nav-shell{z-index:20;padding-bottom:env(safe-area-inset-bottom);pointer-events:none;gap:4px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav{padding:7px max(7px, env(safe-area-inset-right)) 7px max(7px, env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:#fffffff0;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;box-shadow:0 -8px 30px #17243a17}.mobile-nav__credit{color:#8b97a5;letter-spacing:.025em;text-align:center;white-space:nowrap;margin:0;font-size:9px;font-weight:650;line-height:1.2;display:block}.mobile-nav__item{min-height:52px;color:var(--muted);background:0 0;border:0;border-radius:10px;align-content:center;place-items:center;gap:3px;font-size:8px;font-weight:750;display:grid}.mobile-nav__icon{object-fit:contain;width:27px;height:27px;display:block}.mobile-nav__item>span{font-size:8px;font-weight:750;line-height:1.1;display:block}.mobile-nav__item--active{color:var(--accent-dark);background:var(--accent-soft)}.panel{border-radius:17px;padding:19px}.panel-heading{align-items:flex-start;margin-bottom:19px}.subtle-tag{display:none}.form-grid{grid-template-columns:1fr}.class-list-toolbar,.class-trash-panel__heading,.class-trash-item{flex-direction:column;align-items:stretch}.class-trash-item__actions{justify-content:stretch}.class-trash-item__actions .secondary-button{flex:1 1 0}.class-filter-field{width:100%}.class-list-item{grid-template-columns:1fr;gap:7px 12px}.class-list-item--trash{grid-template-columns:1fr auto}.class-list-item>span:not(.class-list-item__name){grid-column:1/-1}.class-form{grid-template-columns:1fr}.class-form .field--wide,.class-form__actions{grid-column:auto}.class-form__actions{justify-content:stretch}.class-form__actions .secondary-button,.class-form__actions .primary-button{flex:1 1 0}.school-manager-modal{padding:20px}.school-manager-row,.school-manager-row--editing{flex-direction:column;align-items:stretch}.school-manager-row__actions{justify-content:stretch}.school-manager-row__actions .secondary-button,.school-manager-row__actions .primary-button{flex:1 1 0}.create-inline-form,.student-add-form,.student-row,.scoring-bulk,.assessment-application-add,.question-annulment-panel__mode{grid-template-columns:1fr}.assessment-application-add__actions{width:100%}.assessment-application-add__actions .secondary-button,.assessment-application-add__actions .primary-button{flex:1 1 0}.student-import-review__header,.student-import-row{grid-template-columns:1fr}.student-import-row>strong{margin-bottom:-3px}.student-import-actions,.manual-student-batch__actions{grid-template-columns:1fr 1fr;display:grid}.student-row .text-button{justify-self:start;min-height:36px}.assessment-manager__main,.assessment-preview__list{grid-template-columns:1fr}.assessment-actions .secondary-button{flex:calc(50% - 9px)}.assessment-choice-panel{padding:28px 20px}.assessment-create-form__fields,.assessment-details-meta{grid-template-columns:1fr}.assessment-create-form__fields .field--wide{grid-column:auto}.assessment-choice-grid{grid-template-columns:1fr;margin-top:24px}.assessment-correction-class-list,.scanner-class-roster__list{grid-template-columns:1fr}.scanner-heading-actions{flex-direction:column;align-items:flex-end}.assessment-filters,.assessment-view-metrics,.assessment-view-details{grid-template-columns:1fr}.assessment-correction-status,.assessment-correction-progress-group__heading,.assessment-correction-progress-panel .panel-heading{flex-direction:column;align-items:stretch}.assessment-correction-status .text-button{justify-self:start}.assessment-filter-clear{justify-self:start;min-height:32px}.assessment-choice-card{min-height:145px}.assessment-list-item{flex-direction:column;align-items:flex-start}.results-filters,.results-notes-panel__top{grid-template-columns:1fr;align-items:stretch}.results-notes-panel__top{display:grid}.results-notes-panel__top .field{width:100%}.results-notes-panel__actions,.result-manual-selects{grid-template-columns:1fr;width:100%;display:grid}.results-notes-panel__actions .primary-button{width:100%}.manual-score-sheet__heading,.manual-score-sheet__row{grid-template-columns:minmax(0,1fr) 124px;gap:9px;padding-left:10px;padding-right:10px}.manual-score-sheet__input input{width:74px}.results-list-heading{flex-direction:column;align-items:flex-start}.results-list-heading__actions{justify-content:space-between;width:100%}.results-period-filter{flex-direction:column;align-items:stretch}.results-period-filter__fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);justify-content:stretch;width:100%;display:grid}.results-period-filter__fields label{min-width:0}.results-period-filter__fields input{width:100%;min-width:0}.results-period-filter__clear{grid-column:1/-1;justify-self:end}.results-report-table th,.results-report-table td{min-width:98px;padding:12px 11px}.results-report-table thead th:first-child,.results-report-table tbody th{min-width:150px}.results-class-group__heading,.results-student-row,.result-edit-modal__heading{flex-direction:column;grid-template-columns:1fr;align-items:flex-start}.results-student-row__actions{width:100%}.results-student-row__actions .secondary-button{flex:1 1 0}.evidence-viewer-modal{padding:20px}.evidence-viewer-modal__heading,.evidence-viewer-modal__footer{flex-direction:column;align-items:flex-start}.evidence-viewer-modal__actions{width:100%;margin-left:0}.evidence-viewer-modal__actions .secondary-button{flex:1 1 0}.results-student-score{text-align:left;justify-items:start}.results-pending-row{grid-template-columns:1fr auto;gap:5px 12px}.results-pending-row small{grid-column:1/-1}.result-edit-answer-row{flex-direction:column;align-items:flex-start}.assessment-selection-toolbar{flex-direction:column;align-items:stretch}.assessment-selection-toolbar__actions{width:100%}.assessment-selection-toolbar__actions .secondary-button,.assessment-selection-toolbar__actions .primary-button{flex:1 1 0}.assessment-list-item__actions,.assessment-list-heading-actions,.confirmation-modal__actions{justify-content:stretch;width:100%}.assessment-list-top-actions{flex-wrap:wrap;align-items:flex-end}.assessment-list-top-actions .assessment-create-action,.assessment-list-top-actions .assessment-list-action-button,.assessment-list-top-actions .navigation-back-button,.assessment-list-item__actions .secondary-button,.assessment-list-heading-actions .primary-button,.confirmation-modal__actions .secondary-button,.confirmation-modal__actions .primary-button{flex:1 1 0}.assessment-pagination{gap:8px}.assessment-pagination .secondary-button{padding-inline:9px}.assessment-editor-heading .text-button{margin-top:-8px}.assessment-document-row,.assessment-document__pending,.answer-key-ai__heading,.assessment-sections__heading{flex-direction:column;align-items:flex-start}.assessment-document-row__actions,.assessment-document__pending>div{width:100%}.assessment-document-row__actions .assessment-document-action,.assessment-document__pending>div .secondary-button,.assessment-document__pending>div .primary-button{flex:1 1 0}.assessment-section-row,.assessment-section-add{grid-template-columns:1fr 1fr}.assessment-section-row .field:first-child,.assessment-section-add .field:first-child{grid-column:1/-1}.confirmation-modal{padding:23px}.field--wide{grid-column:auto}.capture-panel{display:block}.capture-help,.scan-preview{margin-top:16px}.answer-key-row,.review-row{flex-direction:column;align-items:flex-start;gap:8px;padding:11px 0}.question-scoring,.question-scoring label,.question-scoring input{width:100%}.answer-pills{justify-content:space-between;width:100%}.answer-pill{width:35px;height:35px}.review-row__question{width:100%;min-width:0}.grade-summary{grid-template-columns:repeat(2,1fr)}.metric-grid{grid-template-columns:1fr;gap:10px}.metric-card{padding:17px}}@media print{@page{size:A4;margin:14mm 16mm}html,body{color:#000;background:#fff}.app-shell{display:none!important}.print-document{font-family:Arial,Helvetica,sans-serif;font-size:10pt;display:block}.print-document__header{border-bottom:1.5px solid #000;justify-content:space-between;align-items:flex-start;gap:10mm;padding-bottom:4mm;display:flex}.print-document__header p,.print-document__header h1{margin:0}.print-document__header p{letter-spacing:.12em;margin-bottom:2mm;font-size:8pt;font-weight:700}.print-document__header h1{font-family:Georgia,Times New Roman,serif;font-size:20pt;font-weight:500}.print-document__header>span{border:1px solid #000;padding:2mm 3mm;font-size:8pt;font-weight:700}.print-document__student{border:1px solid #000;grid-template-columns:1fr auto;gap:3mm 8mm;margin:5mm 0;padding:4mm;display:grid}.print-document__instructions{margin:0 0 6mm;font-size:8.5pt}.print-question-list{gap:5mm;margin:0;padding-left:7mm;display:grid}.print-question-list>li{break-inside:avoid;padding-left:2mm}.print-question-list>li>p{margin:0 0 2.5mm;font-family:Georgia,Times New Roman,serif;font-size:10.5pt;line-height:1.4}.print-alternatives{gap:1.5mm;margin:0;padding:0;font-size:9pt;line-height:1.35;list-style:none;display:grid}.print-alternatives strong{min-width:5mm;display:inline-block}.print-document footer{text-align:right;border-top:1px solid #000;margin-top:7mm;padding-top:3mm;font-size:8pt;font-weight:700}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.launch-splash{min-height:100svh;padding:32px 22px max(32px, env(safe-area-inset-bottom));isolation:isolate;color:#f8fbf9;background:radial-gradient(at 50% 44%,#3d8b6b66,#0000 32%),linear-gradient(155deg,#111e31 0%,#172942 55%,#1e3548 100%);flex-direction:column;justify-content:center;align-items:center;animation:.55s ease-out both launch-splash-enter;display:flex;position:relative;overflow:hidden}.launch-splash:before,.launch-splash:after{z-index:-1;content:"";border-radius:50%;position:absolute}.launch-splash:before{aspect-ratio:1;border:1px solid #c4e1d429;width:min(92vw,560px);animation:1.5s ease-out .1s both launch-splash-ring}.launch-splash:after{aspect-ratio:1;background:radial-gradient(circle,#8fd4ae17,#0000 68%);width:min(74vw,440px);animation:1.9s ease-out both launch-splash-halo}.launch-splash__light-sweep{z-index:-1;filter:blur(10px);background:linear-gradient(90deg,#0000,#e9faf11c,#0000);width:36%;animation:1.2s ease-out .2s both launch-splash-sweep;position:absolute;top:-15%;bottom:-15%;left:-45%;transform:skew(-18deg)}.launch-splash__art{place-items:center;width:164px;height:154px;animation:1.45s cubic-bezier(.18,.78,.2,1) both launch-splash-arrive;display:grid;position:relative}.launch-splash__art img{z-index:2;object-fit:contain;filter:drop-shadow(0 15px 28px #0000003d);width:94px;height:94px;animation:.9s cubic-bezier(.16,1,.3,1) .55s both launch-splash-mark;position:relative}.launch-splash__sheet{background:#f4faf7ed;border:1px solid #fffc;border-radius:18px;width:82px;height:104px;position:absolute;box-shadow:0 20px 46px #00000038}.launch-splash__sheet--back{animation:.95s cubic-bezier(.16,1,.3,1) .16s both launch-splash-back;transform:translate(-22px,4px)rotate(-12deg)}.launch-splash__sheet--front{background:#d9eee3;animation:.95s cubic-bezier(.16,1,.3,1) .25s both launch-splash-front;transform:translate(20px)rotate(10deg)}.launch-splash__spark{z-index:3;background:#71d6a6;border-radius:50%;width:11px;height:11px;animation:.8s ease-out .8s both launch-splash-spark;position:absolute;box-shadow:0 0 22px #71d6a6cc}.launch-splash__spark--one{top:8px;right:12px}.launch-splash__spark--two{background:#e4c98c;width:7px;height:7px;animation-delay:1s;bottom:15px;left:9px}.launch-splash__copy{text-align:center;margin-top:22px;animation:.8s cubic-bezier(.2,.8,.2,1) .72s both launch-splash-copy}.launch-splash__eyebrow{color:#9bcdb4;letter-spacing:.19em;text-transform:uppercase;font-size:.72rem;font-weight:800}.launch-splash__copy h1{color:#fff;letter-spacing:-.055em;text-shadow:0 8px 32px #0003;margin:14px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,10vw,3.8rem);font-weight:500;line-height:1.02}.launch-splash__copy p{color:#edf5f0c7;letter-spacing:.015em;margin:10px 0 0;font-size:clamp(1rem,4vw,1.2rem)}.launch-splash__progress{background:#ffffff29;border-radius:999px;width:96px;height:2px;margin-top:35px;animation:.35s ease-out .85s both launch-splash-progress-track;overflow:hidden}.launch-splash__progress span{border-radius:inherit;transform-origin:0;background:#75d5a6;width:100%;height:100%;animation:1.35s cubic-bezier(.4,0,.2,1) .45s both launch-splash-progress;display:block}@keyframes launch-splash-enter{0%{opacity:0}to{opacity:1}}@keyframes launch-splash-copy{0%{opacity:0;filter:blur(7px);transform:translateY(14px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes launch-splash-arrive{0%{opacity:0;transform:translateY(24px)scale(.86)}55%{opacity:1;transform:translateY(-4px)scale(1.035)}to{transform:translateY(0)scale(1)}}@keyframes launch-splash-mark{0%{opacity:0;transform:scale(.55)rotate(-9deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes launch-splash-back{0%{opacity:0;transform:translate(-64px,28px)rotate(-34deg)scale(.86)}to{opacity:1;transform:translate(-22px,4px)rotate(-12deg)scale(1)}}@keyframes launch-splash-front{0%{opacity:0;transform:translate(62px,26px)rotate(32deg)scale(.86)}to{opacity:1;transform:translate(20px)rotate(10deg)scale(1)}}@keyframes launch-splash-ring{0%{opacity:0;transform:scale(.72)}60%{opacity:1}to{opacity:.65;transform:scale(1.05)}}@keyframes launch-splash-halo{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}@keyframes launch-splash-sweep{0%{opacity:0;transform:translate(0)skew(-18deg)}35%{opacity:1}to{opacity:0;transform:translate(500%)skew(-18deg)}}@keyframes launch-splash-spark{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.5)}to{opacity:.75;transform:scale(1)}}@keyframes launch-splash-progress-track{0%{opacity:0;transform:scaleX(.5)}to{opacity:1;transform:scaleX(1)}}@keyframes launch-splash-progress{0%{transform:scaleX(.02)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.launch-splash,.launch-splash:before,.launch-splash:after,.launch-splash__light-sweep,.launch-splash__art,.launch-splash__art img,.launch-splash__sheet,.launch-splash__spark,.launch-splash__copy,.launch-splash__progress,.launch-splash__progress span{animation:none!important}}.auth-screen{background:radial-gradient(circle at 20% 12%,#2f9f7233,#0000 30rem),linear-gradient(145deg,#17243a 0%,#233750 48%,#eef2ef 48.1%,#f5f7f6 100%);place-items:center;min-height:100vh;padding:28px 18px;display:grid}.auth-card{background:#fffffff7;border:1px solid #17243a1a;border-radius:26px;width:min(100%,470px);padding:32px;box-shadow:0 28px 80px #101c2e3d}.auth-brand{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:22px;display:flex}.auth-brand img{object-fit:contain;width:58px;height:58px}.auth-brand div,.auth-card__heading,.auth-form label{gap:5px;display:grid}.auth-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.auth-brand span,.auth-card__heading p{color:var(--ink-soft);font-size:.88rem}.auth-card__heading{margin:24px 0 18px}.auth-card__heading h1,.auth-card__heading p{margin:0}.auth-card__heading h1{font-size:1.7rem}.auth-form{gap:15px;display:grid}.auth-form label span{letter-spacing:.04em;font-size:.78rem;font-weight:800}.auth-form input{background:#fbfcfc;border:1px solid #ccd4dd;border-radius:12px;width:100%;min-height:48px;padding:0 14px}.auth-submit{color:#fff;background:var(--accent-dark);cursor:pointer;border:0;border-radius:13px;min-height:50px;font-weight:850;box-shadow:0 10px 24px #1f795538}.auth-submit:disabled{cursor:wait;opacity:.72}.auth-links{flex-wrap:wrap;justify-content:center;gap:12px 20px;margin-top:20px;display:flex}.auth-links button,.auth-preview-link{color:var(--accent-dark);cursor:pointer;background:0 0;border:0;padding:0;font-size:.86rem;font-weight:750}.auth-message{border-radius:11px;padding:11px 13px;font-size:.86rem;line-height:1.45}.auth-message--error{color:#873832;background:var(--danger-soft)}.auth-message--success{color:#176443;background:var(--accent-soft)}.auth-preview-link{text-align:center;display:block}.auth-loading{color:#fff;justify-items:center;gap:14px;display:grid}.auth-loading span{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:34px;height:34px;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ai-progress__spinner{border-top-color:#b9d9c7;border-right-color:var(--accent-dark);animation:none}}.sidebar-account{background:#ffffff0f;border:1px solid #ffffff21;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:auto;margin-bottom:12px;padding:10px;display:grid}.sidebar-account__profile{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0;display:flex}.sidebar-account__profile>img,.sidebar-account__profile>span,.mobile-account-bar img,.mobile-account-bar span{object-fit:cover;color:#163b2e;background:#bde6d3;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.sidebar-account__profile div{gap:2px;min-width:0;display:grid}.sidebar-account__profile strong,.sidebar-account__profile small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account__profile strong{font-size:.78rem}.sidebar-account__profile small{color:#ffffff9e;font-size:.63rem}.sidebar-account__logout{color:#ffffffb8;cursor:pointer;background:0 0;border:0;padding:6px;font-size:.68rem;font-weight:750}.sidebar-account+.sidebar-status{margin-top:0}.mobile-account-bar{display:none}.profile-modal{background:#fff;border-radius:22px;gap:20px;width:min(92vw,470px);padding:24px;display:grid;box-shadow:0 24px 80px #17243a47}.profile-modal__heading,.profile-avatar-editor,.profile-modal__actions{justify-content:space-between;align-items:center;gap:14px;display:flex}.profile-modal__heading span{color:var(--accent-dark);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:850}.profile-modal__heading h2{margin:3px 0 0}.profile-modal__heading>button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:50%;width:34px;height:34px;font-size:1.4rem}.profile-avatar-editor{background:#f2f5f4;border-radius:16px;justify-content:flex-start;padding:15px}.profile-avatar-editor__image{object-fit:cover;color:#fff;background:var(--accent-dark);border-radius:50%;place-items:center;width:76px;height:76px;font-size:1.7rem;font-weight:900;display:grid}.profile-avatar-editor>div{justify-items:start;gap:8px;display:grid}.profile-modal__actions{justify-content:flex-end;padding-top:6px}@media (max-width:760px){.auth-screen{min-height:100svh;padding-top:max(28px, env(safe-area-inset-top));padding-bottom:max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 14%,#2f9f7233,#0000 20rem),linear-gradient(145deg,#17243a 0%,#233750 48%,#eef2ef 48.1%,#f5f7f6 100%);align-items:center}.auth-card{border-radius:22px;padding:24px 20px}.auth-links{flex-direction:column;align-items:center}.mobile-account-bar{justify-content:flex-end;align-items:center;gap:8px;margin:-4px 0 6px;display:flex}.mobile-account-bar button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:7px;padding:5px 8px;font-size:.72rem;display:flex}.mobile-account-bar img,.mobile-account-bar span{width:28px;height:28px}.profile-avatar-editor{align-items:flex-start}.class-profile-card{gap:3px;padding:11px 13px}.class-profile-card>strong{font-size:16px}.class-attendance-summary{padding:13px}.class-attendance-summary__heading{flex-direction:column;align-items:stretch}.class-attendance-summary__heading .field{width:100%}.class-attendance-summary__row{grid-template-columns:34px minmax(90px,1fr) auto;gap:7px;font-size:11px}.class-attendance-summary__row>span:last-of-type{grid-column:2}.class-attendance-summary__row>b{grid-area:1/3/span 2;max-width:106px;font-size:11px}.attendance-calendar-layout{grid-template-columns:1fr}.attendance-calendar,.attendance-roster,.attendance-score-section{padding:14px}.attendance-calendar-day{min-height:44px}.attendance-calendar-legend{gap:8px 10px}.attendance-panel{gap:17px;padding:17px 14px}.attendance-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.attendance-heading__title h2{font-size:20px;line-height:1.15}.attendance-heading__title p{font-size:13px}.attendance-heading>button{gap:5px;min-height:44px;margin:0;padding:7px 9px;font-size:12px}.attendance-period-form{grid-template-columns:1fr;padding:15px}.attendance-period-form>.panel-heading,.attendance-field--wide,.attendance-formula,.attendance-period-form .class-form__actions{grid-column:auto}.attendance-period-form .class-form__actions{justify-content:stretch}.attendance-period-form .class-form__actions>button{flex:1;min-height:46px}.attendance-activities__grid{grid-template-columns:1fr}.attendance-weekday-picker{grid-column:auto}.attendance-period-toolbar{align-items:stretch}.attendance-period-toolbar .field{width:100%}.attendance-period-toolbar>button{min-height:44px}.attendance-period-actions{width:100%}.attendance-period-actions>button{flex:1 1 0;justify-content:center;min-width:0;min-height:44px;padding-left:5px;padding-right:5px;font-size:11px}.attendance-period-actions .attendance-delete-period{gap:4px}.attendance-period-actions .attendance-delete-period svg{width:14px;height:14px}.attendance-overview__row{padding:8px 2px}.attendance-overview__row>div{padding:3px 5px}.attendance-overview__row span{font-size:9px;line-height:1.25}.attendance-overview__row strong{font-size:15px}.attendance-meeting-layout{grid-template-columns:1fr}.attendance-meeting-list,.attendance-roster,.attendance-score-section{padding:14px}.attendance-meeting-options{grid-template-columns:repeat(2,minmax(0,1fr));max-height:260px}.attendance-meeting-option{min-height:96px;padding:8px}.attendance-meeting-option__select>strong{font-size:12px}.attendance-roster-heading{align-items:flex-start}.attendance-roster-actions{justify-content:flex-start;width:100%}.attendance-roster-actions>button{min-height:44px}.attendance-student-row{align-items:center;gap:8px;padding:11px 2px}.attendance-toggle{width:108px;min-height:46px}.attendance-confirm-bar{flex-direction:column;align-items:stretch;min-width:0}.attendance-confirm-bar .primary-button{white-space:normal;width:100%;min-width:0;max-width:100%;padding-left:10px;padding-right:10px}.attendance-confirm-bar .text-button{align-self:flex-start;min-height:44px}.attendance-photo-import{grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0;display:grid;overflow:hidden}.attendance-photo-import>span{overflow-wrap:anywhere;min-width:0}.attendance-photo-import input{width:100%;min-width:0}.attendance-student-list,.attendance-student-row,.attendance-student-name{min-width:0}.attendance-student-name{gap:7px}.attendance-student-name>span{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.3;overflow:visible}.attendance-toggle{flex:0 0 98px;justify-content:space-between;width:98px;padding-left:8px;padding-right:7px}.attendance-score-launch{flex-direction:column;align-items:stretch;padding:14px}.attendance-score-launch .secondary-button{white-space:normal;width:100%;min-width:0;max-width:100%;padding-left:10px;padding-right:10px}.attendance-score-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-score-head,.attendance-score-row,.attendance-score-head{grid-template-columns:40px minmax(120px,1fr) 62px 47px 58px 62px 105px;gap:7px;min-width:500px;font-size:11px}.class-detail-accordion>summary{grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding-left:12px;padding-right:12px}.class-detail-accordion>summary>small{max-width:110px;font-size:10px}.class-detail-accordion__body{padding:12px}.class-planning-accordion__upload{grid-template-columns:minmax(0,1fr)}.class-planning-accordion__upload>small{grid-column:auto}.class-planning-accordion__upload .secondary-button{width:100%}.class-planning-review__lesson{grid-template-columns:minmax(0,1fr);gap:4px}.class-planning-review__lesson>span{padding-top:0}}@media (max-width:480px){.attendance-calendar{padding:11px}.attendance-calendar-grid{gap:2px}.attendance-calendar-day{min-height:42px;font-size:11px}.attendance-calendar-weekday{font-size:10px}.attendance-calendar-heading h3{font-size:14px}.attendance-student-name>span{font-size:12px}.attendance-tempo-dialog{padding:16px}.attendance-toggle{flex-basis:98px;width:98px;padding-left:8px;font-size:11px}.attendance-score-dialog{width:100%;max-height:calc(100dvh - 24px)}.attendance-report-table-wrap{max-height:52dvh}.attendance-report-table th,.attendance-report-table td{padding:8px 7px}.class-attendance-report-filters{grid-template-columns:1fr}.class-attendance-report-actions{grid-template-columns:1fr 1fr;display:grid}.class-attendance-report-actions .secondary-button{white-space:normal;width:100%;min-height:44px;padding-left:8px;padding-right:8px}.class-attendance-report-footer{flex-direction:column;align-items:stretch}.class-attendance-report-footer .primary-button{width:100%}.attendance-report-number{width:46px;min-width:46px}.attendance-report-name{width:145px;min-width:145px;max-width:145px;left:46px}.attendance-report-total{width:78px;min-width:78px;left:191px}.attendance-report-date{min-width:76px}.attendance-report-cell{min-width:62px}.attendance-score-card{padding:10px}}.occurrences-workspace{gap:18px;display:grid}.occurrences-heading,.class-results-panel__heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-results-shortcuts{gap:10px;margin-top:18px;display:grid}.class-results-shortcuts .results-navigation-item{min-height:76px}.class-results-shortcuts .results-navigation-item small{margin-top:5px;display:block}.lesson-content-workspace{gap:14px;min-width:0;display:grid}.lesson-content-toolbar{justify-content:space-between;align-items:end;gap:12px;display:flex}.lesson-content-toolbar .field{width:min(100%,420px)}.lesson-content-summary{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.lesson-content-summary strong{color:var(--ink)}.lesson-content-list{gap:8px;display:grid}.lesson-content-row{border:1px solid var(--line);width:100%;min-width:0;min-height:74px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:13px;grid-template-columns:minmax(90px,130px) minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 15px;display:grid}.lesson-content-row:hover{background:#f5fbf7;border-color:#81c49e}.lesson-content-row:focus-visible{outline-offset:2px;outline:3px solid #86b7ff}.lesson-content-row--cancelled{background:#f6f7f7}.lesson-content-row__date,.lesson-content-row__body{gap:4px;min-width:0;display:grid}.lesson-content-row__date strong{font-size:14px}.lesson-content-row__date small,.lesson-content-row__planned{color:var(--muted);font-size:12px}.lesson-content-row__meta{color:#277b54;text-transform:uppercase;letter-spacing:.03em;flex-wrap:wrap;align-items:center;gap:7px;font-size:11px;font-weight:750;display:flex}.lesson-content-row__meta em{color:#725a28;background:#f7efd8;border-radius:999px;padding:2px 7px;font-style:normal}.lesson-content-row__text{overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;line-height:1.45}.lesson-content-row__planned{overflow-wrap:anywhere;white-space:pre-wrap}.lesson-content-row__activities{color:var(--ink-soft);font-size:12px;line-height:1.4}.lesson-content-row__action{color:var(--accent-dark);white-space:nowrap;font-size:12px;font-weight:700}.lesson-content-hint{color:var(--muted);margin:0;font-size:13px}.lesson-content-dialog{width:min(100%,640px);max-height:min(88dvh,820px);overflow-y:auto}.lesson-content-dialog__actions,.lesson-content-delete-confirm>div{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.lesson-content-dialog__actions>span{flex:1}.lesson-content-delete-confirm{background:#fff8f7;border:1px solid #efc6c3;border-radius:12px;gap:12px;padding:12px;display:grid}.lesson-content-delete-confirm p{color:#7b3936;margin:0;font-size:14px}.lesson-content-delete-confirm>div{justify-content:flex-end}.occurrences-heading h2,.class-results-panel h3{margin:4px 0}.occurrences-heading p,.class-results-panel__heading p{color:var(--muted);margin:4px 0 0}.occurrences-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.occurrences-filters{grid-template-columns:minmax(180px,2fr) repeat(3,minmax(115px,1fr)) repeat(2,minmax(120px,1fr)) auto;align-items:end;gap:10px;display:grid}.occurrence-class-picker{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;gap:12px;padding:14px;display:flex}.occurrence-class-picker label,.occurrence-student-option{align-items:center;gap:7px;display:inline-flex}.occurrence-person-adder{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;margin:12px 0;display:grid}.occurrence-person-row,.school-members>div,.occurrence-attachments>div{border-top:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.occurrence-person-row span,.occurrence-attachments small{color:var(--muted);margin-left:auto}.school-invite-form,.school-members{border:1px solid var(--line);border-radius:14px;gap:10px;padding:14px;display:grid}.school-invite-form{grid-template-columns:minmax(0,1.3fr) minmax(180px,1fr) auto auto;align-items:center}.school-invite-form output{overflow-wrap:anywhere;grid-column:1/-1}.school-members h3{margin:0}.occurrence-form,.occurrence-detail,.class-results-panel{border:1px solid var(--line);background:#fbfdfc;border-radius:18px;gap:16px;padding:18px;display:grid}.occurrence-form h3,.occurrence-detail h3,.occurrence-detail h4{margin:0}.occurrence-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.occurrence-form__wide{grid-column:1/-1}.occurrence-form textarea,.occurrence-followup-form textarea{resize:vertical;width:100%}.occurrence-step-heading{gap:6px;display:grid}.occurrence-step-heading>span{color:#16875b;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:750}.occurrence-step-heading p{color:var(--muted);margin:0}.occurrence-students--select{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.occurrence-student-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:flex-start;gap:10px;min-width:0;padding:12px;display:flex}.occurrence-student-option input,.occurrence-behaviors input{accent-color:#16875b;flex:none;margin-top:3px}.occurrence-behavior-summary{background:#f0f8f4;border-radius:12px;padding:14px}.occurrence-behavior-summary ul{margin:8px 0 0;padding-left:20px}.occurrence-behaviors{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:14px}.occurrence-behaviors legend{padding:0 5px;font-weight:700}.occurrence-behaviors>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.occurrence-behaviors label{cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:9px;min-width:0;padding:10px;display:flex}.occurrence-behaviors label span{line-height:1.4}.occurrences-list{gap:9px;display:grid}.occurrence-row{text-align:left;border:1px solid var(--line);width:100%;color:inherit;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:5px 12px;padding:14px;display:grid}.occurrence-row:hover{background:#f0faf5;border-color:#32a778}.occurrence-row__number{color:#188456;grid-row:span 3;align-self:center;font-weight:700}.occurrence-row>span:not(.occurrence-row__number),.occurrence-row small{color:var(--muted)}.occurrence-students{gap:8px;max-height:240px;padding:10px 0;display:grid;overflow:auto}.occurrence-students label{align-items:center;gap:8px;display:flex}.occurrence-students small{color:var(--muted);margin-left:auto}.occurrence-detail__meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.9rem;display:flex}.occurrence-detail__date{color:var(--muted);margin:-10px 0 0}.occurrence-narrative{white-space:pre-wrap;line-height:1.6}.occurrence-followup{background:#fff;border-left:3px solid #32a778;padding:12px}.occurrence-followup p{white-space:pre-wrap;margin:0 0 5px}.occurrence-followup small{color:var(--muted)}.occurrence-followup-form{border-top:1px solid var(--line);gap:10px;padding-top:10px;display:grid}.occurrence-history ol{color:var(--muted);gap:6px;display:grid}.occurrence-detail__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (max-width:640px){.occurrences-toolbar,.occurrences-heading,.class-results-panel__heading{flex-direction:column;align-items:stretch}.occurrences-toolbar>button,.occurrences-heading>button{width:100%}.occurrence-form__grid{grid-template-columns:minmax(0,1fr)}.occurrence-form__wide{grid-column:auto}.occurrence-students--select,.occurrence-behaviors>div{grid-template-columns:minmax(0,1fr)}.occurrence-form,.occurrence-detail,.class-results-panel{padding:13px}.occurrence-row{grid-template-columns:minmax(0,1fr)}.occurrence-row__number{grid-row:auto}.occurrences-filters,.occurrence-person-adder,.school-invite-form{grid-template-columns:minmax(0,1fr)}.lesson-content-toolbar{flex-direction:column;align-items:stretch}.lesson-content-toolbar .field,.lesson-content-toolbar>button{width:100%}.lesson-content-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 12px;padding:12px}.lesson-content-row__date{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.lesson-content-row__body{grid-column:1}.lesson-content-row__action{grid-area:2/2;align-self:start;padding:5px 0}.lesson-content-dialog{max-height:calc(100dvh - 24px);padding:16px}.lesson-content-dialog__actions>button,.lesson-content-delete-confirm>div>button{min-height:44px}.lesson-content-delete-confirm>div{justify-content:stretch}.lesson-content-delete-confirm>div>button{flex:100%}.occurrence-person-row,.school-members>div,.occurrence-attachments>div{flex-direction:column;align-items:flex-start}}.diary-print-backdrop{z-index:150;padding:20px}.diary-print-dialog{background:#fff;border-radius:20px;width:min(1280px,96vw);min-width:0;max-height:94dvh;padding:24px;overflow:auto;box-shadow:0 24px 80px #172b3d40}.diary-print-heading{border-bottom:1px solid #dce4e7;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding-bottom:14px;display:flex}.diary-print-heading h2{margin:0;font-size:1.4rem}.diary-print-heading p{color:#586b78;overflow-wrap:anywhere;margin:5px 0 0}.diary-print-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.diary-print-form{gap:20px;display:grid}.diary-print-form fieldset{border:1px solid #dce4e7;border-radius:14px;min-width:0;padding:16px}.diary-print-form legend{padding:0 8px;font-weight:700}.diary-print-form fieldset>p{color:#586b78}.diary-print-checkbox{overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.diary-print-checkbox input{accent-color:#18815c;flex:0 0 18px;width:18px;height:18px}.diary-print-checkbox small{color:#586b78;margin-top:3px;display:block}.diary-print-assessment{border-top:1px solid #e9eeee;grid-template-columns:1fr 185px;align-items:center;gap:16px;padding:12px 0;display:grid}.diary-print-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.diary-print-toolbar>div{flex-wrap:wrap;gap:8px;display:flex}.diary-print-toolbar a{text-decoration:none}.diary-print-preview{background:#edf1f2;border:1px solid #dce4e7;border-radius:8px;width:100%;height:65dvh;min-height:400px;display:block}.diary-print-loading{justify-content:center;align-items:center;gap:14px;padding:60px 10px;display:flex}.diary-print-spinner{border:3px solid #d8eee5;border-top-color:#18815c;border-radius:50%;width:28px;height:28px;animation:.9s linear infinite diary-print-spin}@keyframes diary-print-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.diary-print-spinner{animation-duration:2.5s}}@media (max-width:640px){.diary-print-backdrop{padding:6px}.diary-print-dialog{border-radius:14px;width:100%;max-height:98dvh;padding:16px}.diary-print-heading{align-items:flex-start;gap:8px}.diary-print-heading h2{font-size:1.15rem}.diary-print-fields,.diary-print-assessment{grid-template-columns:1fr}.diary-print-toolbar>div{width:100%}.diary-print-toolbar>div>*{text-align:center;flex:auto}.diary-print-preview{min-height:330px}}
