/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.\!end{inset-inline-end:var(--spacing)!important}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.hidden{display:none}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.select-all{-webkit-user-select:all;user-select:all}}:root{--page:#eef2f7;--surface:#fff;--soft:#f7f9fc;--text:#172033;--muted:#667085;--border:#d8dee6;--primary:#2563eb;--primary-dark:#1849a9;--primary-soft:#eef4ff;--success:#16834f;--success-soft:#eefbf3;--warning:#9a6400;--warning-soft:#fff8e7;--danger:#b42318;--danger-soft:#fff1f0}*{box-sizing:border-box}html{background:var(--page)}body{color:var(--text);background:var(--page);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select{font:inherit}button{color:inherit}.icon{flex:none;width:20px;height:20px}.brand-mark,.plan-link{text-decoration:none}.plan-link{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:10px;justify-content:center;align-items:center;min-height:36px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.app-shell{background:var(--soft);width:100%;max-width:620px;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);margin:0 auto;box-shadow:0 0 40px #141e3217}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:10px;height:64px;padding:10px 16px;display:flex;position:sticky;top:0}.brand-mark{background:var(--primary);color:#fff;letter-spacing:-.05em;border-radius:11px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.brand-copy{flex-direction:column;flex:1;line-height:1.2;display:flex}.brand-copy strong{font-size:15px}.brand-copy span{color:var(--muted);margin-top:3px;font-size:11px}.avatar{width:36px;height:36px;color:var(--primary-dark);cursor:pointer;background:#e8eef8;border:0;border-radius:50%;font-size:12px;font-weight:850}.course-card{color:#fff;background:linear-gradient(135deg,#1747a6,#2563eb 70%,#3172f2);border-radius:18px;margin:12px 12px 0;padding:16px;box-shadow:0 10px 24px #2563eb3b}.course-kicker{text-transform:uppercase;letter-spacing:.08em;opacity:.88;align-items:center;gap:7px;font-size:11px;font-weight:800;display:flex}.live-dot{background:#66e4a1;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #66e4a12e}.course-row{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.course-row h1{letter-spacing:-.04em;margin:0;font-size:26px}.course-row p{color:#dce7ff;margin:3px 0 0;font-size:13px}.course-switch{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff47;border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.course-time{border-top:1px solid #fff3;align-items:center;gap:7px;margin-top:15px;padding-top:12px;font-size:12px;display:flex}.course-time .icon{width:16px;height:16px}.course-time strong{margin-left:auto;font-weight:750}.live-dot.offline{background:#fbbf24;box-shadow:0 0 0 4px #fbbf2433}.tabs{background:var(--soft);z-index:9;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:10px;padding:0 12px;display:grid;position:sticky;top:64px}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;justify-content:center;align-items:center;gap:4px;padding:11px 3px 9px;font-size:11px;font-weight:750;display:flex}.tabs button.active{color:var(--primary);border-color:var(--primary)}.tabs .icon{width:16px;height:16px}.content-panel{margin-top:6px;padding:14px 12px 28px}.section-head{justify-content:space-between;align-items:flex-end;margin:3px 2px 12px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:18px}.section-head p{color:var(--muted);margin:4px 0 0;font-size:11px}.section-head select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:750}.score-legend{color:var(--muted);text-align:center;grid-template-columns:1fr 46px 46px 54px;padding:0 40px 5px 0;font-size:9px;font-weight:750;display:grid}.score-legend span:first-child{grid-column:2}.student-list{flex-direction:column;gap:7px;display:flex}.student-row{background:var(--surface);text-align:left;cursor:pointer;border:1px solid #e1e6ed;border-radius:13px;grid-template-columns:38px minmax(88px,1fr) 42px 42px 48px 18px;align-items:center;gap:4px;width:100%;min-height:62px;padding:8px 8px 8px 10px;display:grid;box-shadow:0 2px 5px #141e3209}.student-row:active{background:var(--primary-soft);transform:scale(.992)}.student-row>.icon{color:#98a2b3;width:16px}.student-initials{width:35px;height:35px;color:var(--primary-dark);background:#e8eef8;border-radius:10px;place-items:center;font-size:11px;font-weight:850;display:grid}.student-initials.large{border-radius:13px;width:44px;height:44px;font-size:13px}.student-name{flex-direction:column;min-width:0;display:flex}.student-name strong{text-overflow:ellipsis;font-size:13px;overflow:hidden}.student-name small{color:var(--muted);letter-spacing:.035em;text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.score{color:#344054;text-align:center;background:#f0f2f5;border-radius:8px;justify-self:center;min-width:32px;padding:6px 2px;font-size:11px;font-weight:850}.score.oral{color:var(--primary-dark);background:var(--primary-soft)}.score.empty{color:#98a2b3;background:#f3f4f6}.score.attention{color:var(--warning);background:var(--warning-soft)}.list-tools{align-items:center;gap:6px;display:flex}.bulk-trigger,.select-all{color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px solid #bfd0f4;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800}.bulk-banner{background:var(--primary-soft);border:1px solid #bfd0f4;border-radius:13px;align-items:center;margin:-2px 0 14px;padding:11px 12px;display:flex}.bulk-banner div{flex-direction:column;display:flex}.bulk-banner span{color:var(--primary-dark);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.bulk-banner strong{margin-top:2px;font-size:13px}.bulk-banner button{color:var(--danger);cursor:pointer;background:0 0;border:0;margin-left:auto;padding:7px;font-size:10px;font-weight:800}.student-row.selected{background:var(--primary-soft);border-color:#7ea6ef;box-shadow:0 0 0 1px #7ea6ef}.selection-box{background:#fff;border:2px solid #b5bfcc;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.student-row.selected .selection-box{border-color:var(--primary);color:#fff;background:var(--primary)}.selection-box .icon{width:17px;height:17px}.bulk-mode{padding-bottom:94px}.bulk-footer{z-index:12;width:min(620px,100%);padding:11px 12px calc(11px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -8px 24px #141e321a}.bulk-footer button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;width:100%;padding:13px;font-size:12px;font-weight:850;display:flex}.bulk-footer button:disabled{cursor:not-allowed;background:#b8c0cc}.bulk-footer .icon{width:17px}.bulk-picker{padding-bottom:24px}.bulk-action-list{flex-direction:column;gap:8px;margin-top:18px;display:flex}.bulk-action-list .quick-action{width:100%}.bulk-action-list .quick-action>.icon{color:#98a2b3;width:17px;margin-left:auto}.plan-panel{min-height:600px}.edit-plan{text-decoration:none}.tracking-room{aspect-ratio:14/9;background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:100%;margin-top:8px;position:relative;overflow:hidden}.tracking-board{z-index:2;color:#667085;text-align:center;letter-spacing:.12em;background:#fff;border:2px solid #93a0b2;border-radius:3px;padding:4px;font-size:6px;font-weight:850;position:absolute}.board-top .tracking-board{width:32%;top:1.5%;left:34%}.board-bottom .tracking-board{width:32%;bottom:1.5%;left:34%}.board-left .tracking-board{width:7%;top:34%;left:1%;transform:rotate(-90deg)}.board-right .tracking-board{width:7%;top:34%;right:1%;transform:rotate(90deg)}.tracking-table{transform-origin:0 0;background:#dce5ef;border:1px solid #9fb1c7;border-radius:5px;display:flex;position:absolute;box-shadow:0 2px 3px #141e321f}.tracking-table.horizontal{width:16.4%;height:11.1%}.tracking-table.vertical{flex-direction:column;width:9.4%;height:18%}.tracking-seat{min-width:0;min-height:0;color:var(--text);cursor:pointer;background:#fff;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;overflow:hidden}.tracking-table.horizontal .tracking-seat+.tracking-seat{border-left:1px solid #cbd5e1}.tracking-table.vertical .tracking-seat+.tracking-seat{border-top:1px solid #cbd5e1}.tracking-seat strong,.tracking-seat small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.tracking-seat strong{font-size:clamp(5px,1.6vw,9px)}.tracking-seat small{color:var(--muted);margin-top:1px;font-size:clamp(4px,1.15vw,7px)}.tracking-seat.empty-seat{color:#98a2b3;font-size:6px}.tracking-seat.disabled{background:#dce5ef}.no-plan{border:1px dashed var(--border);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;padding:42px 20px;display:flex}.no-plan strong{font-size:14px}.no-plan p{color:var(--muted);margin:6px 0 12px;font-size:10px}.no-plan a{color:#fff;background:var(--primary);border-radius:10px;padding:10px 12px;font-size:10px;font-weight:800;text-decoration:none}.timeline{flex-direction:column;gap:9px;display:flex}.event-card{border:1px solid var(--border);background:#fff;border-radius:13px;gap:11px;padding:12px;display:flex}.event-dot{border-radius:9px;flex:none;place-items:center;width:32px;height:32px;display:grid}.event-card.positive .event-dot{color:var(--success);background:var(--success-soft)}.event-card.negative .event-dot{color:var(--danger);background:var(--danger-soft)}.event-card.neutral .event-dot{color:var(--primary);background:var(--primary-soft)}.event-card strong{font-size:12px}.event-card p{margin:3px 0;font-size:12px}.event-card small{color:var(--muted);font-size:10px}.scrim{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.action-sheet{width:min(620px,100%);max-height:91dvh;padding:8px 16px calc(18px + env(safe-area-inset-bottom));background:#fff;border-radius:24px 24px 0 0;animation:.2s ease-out sheet-in;overflow-y:auto;box-shadow:0 -16px 40px #0f172a33}@keyframes sheet-in{0%{opacity:.65;transform:translateY(18px)}}.sheet-handle{background:#d0d5dd;border-radius:99px;width:42px;height:4px;margin:0 auto 15px}.sheet-head{align-items:center;gap:11px;display:flex}.sheet-head h2{margin:0;font-size:17px}.sheet-head p{color:var(--muted);margin:3px 0 0;font-size:11px}.close-button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#f2f4f7;border:0;border-radius:10px;place-items:center;margin-left:auto;display:grid}.current-scores{border:1px solid var(--border);background:var(--soft);border-radius:14px;grid-template-columns:repeat(3,1fr);margin:15px 0 18px;padding:11px;display:grid}.current-scores div{border-right:1px solid var(--border);flex-direction:column;align-items:center;display:flex}.current-scores div:last-child{border-right:0}.current-scores span{color:var(--muted);font-size:9px}.current-scores strong{margin-top:3px;font-size:18px}.action-sheet h3{margin:0 0 10px;font-size:13px}.action-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.quick-action{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:13px;align-items:center;gap:9px;min-height:67px;padding:9px;display:flex}.quick-action:active{transform:scale(.98)}.action-symbol{width:31px;height:31px;color:var(--primary-dark);background:var(--primary-soft);border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:900;display:grid}.quick-action.work .action-symbol{color:var(--warning);background:var(--warning-soft)}.quick-action.behavior .action-symbol{color:var(--danger);background:var(--danger-soft)}.quick-action.positive .action-symbol{color:var(--success);background:var(--success-soft)}.quick-action strong{font-size:11px;display:block}.quick-action small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.profile-link{width:100%;color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:11px;font-size:11px;font-weight:800;display:flex}.profile-link .icon{width:15px}.toast{z-index:50;color:#fff;background:#172033;border-radius:11px;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);padding:11px 14px;font-size:11px;font-weight:750;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 9px 28px #0f172a4d}.toast .icon{color:#66e4a1;width:16px}.profile-page{z-index:25;background:var(--soft);width:100%;max-width:620px;margin:0 auto;animation:.2s ease-out profile-in;position:fixed;inset:0;overflow-y:auto}@keyframes profile-in{0%{opacity:.7;transform:translate(20px)}}.profile-topbar{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:40px 1fr 40px;align-items:center;height:58px;padding:8px 14px;display:grid}.profile-topbar button{width:36px;height:36px;color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:0;border-radius:10px;font-size:28px;line-height:1}.profile-topbar strong{text-align:center;font-size:14px}.profile-hero{color:#fff;background:linear-gradient(135deg,#1747a6,#2563eb);flex-direction:column;align-items:center;padding:22px 16px 48px;display:flex}.profile-avatar{color:#fff;background:#ffffff2e;border:3px solid #ffffff73;border-radius:18px;width:58px;height:58px;font-size:17px}.profile-hero h2{margin:10px 0 0;font-size:20px}.profile-hero p{color:#dce7ff;margin:4px 0 0;font-size:11px}.profile-body{padding:0 12px 28px}.profile-score-grid{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:-30px;display:grid}.profile-score-grid article{border:1px solid var(--border);background:#fff;border-radius:14px;flex-direction:column;align-items:center;min-width:0;padding:12px 6px;display:flex;box-shadow:0 7px 18px #141e3214}.profile-score-grid article.oral-card{border-color:#bfd0f4}.profile-score-grid span{color:var(--muted);font-size:9px;font-weight:750}.profile-score-grid strong{margin-top:4px;font-size:17px}.profile-score-grid small{color:var(--muted);text-align:center;margin-top:4px;font-size:8px}.profile-section-title{margin:22px 2px 10px}.profile-section-title h3{margin:0;font-size:15px}.profile-section-title p{color:var(--muted);margin:3px 0 0;font-size:10px}.profile-events{flex-direction:column;gap:8px;display:flex}.profile-event{border:1px solid var(--border);background:#fff;border-radius:13px;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;padding:11px;display:grid}.profile-event .event-dot{width:32px;height:32px}.profile-event .event-dot .icon{width:16px}.profile-event.positive .event-dot{color:var(--success);background:var(--success-soft)}.profile-event.negative .event-dot{color:var(--danger);background:var(--danger-soft)}.profile-event.neutral .event-dot{color:var(--primary);background:var(--primary-soft)}.profile-event strong{font-size:11px;display:block}.profile-event small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.event-actions{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.event-actions button{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;padding:3px;font-size:8px;font-weight:800}.event-actions button.delete{color:var(--danger)}.empty-history{border:1px dashed var(--border);color:var(--muted);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;padding:28px;display:flex}.empty-history .icon{width:26px;height:26px}.empty-history strong{color:var(--text);margin-top:8px;font-size:12px}.empty-history p{margin:4px 0 0;font-size:10px}@media (width>=700px){body{padding:28px 0}.app-shell{border:1px solid var(--border);border-radius:24px;min-height:calc(100dvh - 56px);overflow:hidden}.topbar{position:relative}.tabs{top:0}.action-sheet{border-radius:24px;margin-bottom:20px}.profile-page{border:1px solid var(--border);border-radius:24px;top:28px;bottom:28px}}.add-student{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800}.class-picker{padding-bottom:24px}.class-list{flex-direction:column;gap:8px;margin-top:17px;display:flex}.class-list>button{border:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;border-radius:13px;grid-template-columns:38px 1fr 20px;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.class-list>button.current{background:var(--primary-soft);border-color:#7ea6ef}.class-list .icon{width:17px;color:var(--primary)}.class-monogram{width:36px;height:36px;color:var(--primary-dark);background:#e8eef8;border-radius:10px;place-items:center;font-size:11px;font-weight:900;display:grid}.class-list strong{font-size:12px;display:block}.class-list small{color:var(--muted);margin-top:3px;font-size:9px;display:block}.new-class{width:100%;color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px dashed #7ea6ef;border-radius:12px;margin-top:12px;padding:11px;font-size:11px;font-weight:800}.settings-trigger{color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px solid #bfd0f4;border-radius:10px;padding:8px 10px;font-size:10px;font-weight:850}.settings-sheet{padding-bottom:22px}.grading-section{border:1px solid var(--border);background:var(--soft);border-radius:14px;margin-top:18px;padding:12px}.grading-section h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 9px;font-size:11px}.grading-section label{border-bottom:1px solid var(--border);grid-template-columns:1fr 66px 26px;align-items:center;gap:6px;min-height:46px;font-size:11px;display:grid}.grading-section label:last-child{border-bottom:0}.grading-section input{border:1px solid var(--border);text-align:center;background:#fff;border-radius:8px;width:66px;padding:7px;font-weight:850}.grading-section em{color:var(--muted);font-size:9px;font-style:normal}.save-settings{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:14px;padding:13px;font-size:12px;font-weight:850}.import-trigger{border:1px solid var(--border);color:var(--primary-dark);cursor:pointer;background:#fff;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800}.import-sheet{padding-bottom:22px}.file-drop{color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px dashed #7ea6ef;border-radius:13px;flex-direction:column;align-items:center;margin-top:17px;padding:16px;display:flex}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-drop strong{font-size:11px}.file-drop small{color:var(--muted);margin-top:4px;font-size:9px}.import-textarea{resize:vertical;border:1px solid var(--border);width:100%;min-height:110px;color:var(--text);background:#fff;border-radius:12px;margin-top:10px;padding:11px;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.import-preview-head{justify-content:space-between;margin:14px 2px 7px;font-size:11px;display:flex}.import-preview-head span{color:var(--muted);font-size:9px}.import-preview{border:1px solid var(--border);background:#fff;border-radius:12px;max-height:220px;overflow-y:auto}.import-preview>div{border-bottom:1px solid var(--border);grid-template-columns:30px 1fr 18px;align-items:center;gap:9px;padding:8px 10px;display:grid}.import-preview>div:last-child{border-bottom:0}.import-preview>div>span{width:28px;height:28px;color:var(--primary-dark);background:var(--primary-soft);border-radius:8px;place-items:center;font-size:9px;font-weight:850;display:grid}.import-preview p{margin:0}.import-preview p strong,.import-preview p small{display:block}.import-preview p strong{font-size:10px}.import-preview p small{color:var(--muted);margin-top:2px;font-size:8px}.import-preview .icon{width:15px;color:var(--success)}.more-students,.no-students{color:var(--muted);text-align:center;padding:11px;font-size:9px}.save-settings:disabled{cursor:not-allowed;background:#b8c0cc}.pronote-recognized{background:var(--success-soft);border:1px solid #a8ddbf;border-radius:12px;grid-template-columns:31px 1fr auto;align-items:center;gap:9px;margin-top:10px;padding:10px;display:grid}.pronote-recognized .status-check{width:29px;height:29px}.pronote-recognized strong,.pronote-recognized small{display:block}.pronote-recognized strong{font-size:10px}.pronote-recognized small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.35}.pronote-recognized button{color:var(--primary-dark);cursor:pointer;background:0 0;border:0;padding:6px;font-size:8px;font-weight:850}.calendar-trigger{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:10px;padding:8px 9px;font-size:9px;font-weight:850}.calendar-trigger.ready{color:var(--success);background:var(--success-soft);border-color:#92d6b2}.calendar-sheet{padding-bottom:22px}.demo-calendar{width:100%;color:var(--primary-dark);cursor:pointer;background:0 0;border:0;margin-top:8px;padding:9px;font-size:10px;font-weight:800}.calendar-status{background:var(--success-soft);border:1px solid #a8ddbf;border-radius:13px;align-items:center;gap:10px;margin-top:12px;padding:11px;display:flex}.status-check{color:#fff;background:var(--success);border-radius:9px;place-items:center;width:31px;height:31px;display:grid}.status-check .icon{width:17px}.calendar-status strong,.calendar-status small{display:block}.calendar-status strong{font-size:11px}.calendar-status small{color:var(--muted);margin-top:3px;font-size:9px}.auto-toggle{border:1px solid var(--border);background:var(--soft);border-radius:13px;align-items:center;gap:12px;margin:10px 0;padding:12px;display:flex}.auto-toggle>span{flex-direction:column;flex:1;display:flex}.auto-toggle strong{font-size:10px}.auto-toggle small{color:var(--muted);margin-top:3px;font-size:8px}.auto-toggle input{width:36px;height:20px;accent-color:var(--primary)}.calendar-preview{border:1px solid var(--border);background:#fff;border-radius:13px;overflow:hidden}.calendar-preview article{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.calendar-preview article:last-child{border-bottom:0}.calendar-preview article>span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:850}.calendar-preview strong,.calendar-preview small{display:block}.calendar-preview strong{font-size:10px}.calendar-preview small{color:var(--muted);margin-top:2px;font-size:8px}.calendar-preview em{color:var(--success);background:var(--success-soft);border-radius:7px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:850}.calendar-preview em.unmatched{color:var(--warning);background:var(--warning-soft)}.calendar-more{color:var(--muted);text-align:center;margin:8px 0 0;font-size:9px}@media (width<=360px){.student-row{grid-template-columns:34px minmax(76px,1fr) 36px 36px 42px 14px;padding-left:7px}.score-legend{grid-template-columns:1fr 40px 40px 48px;padding-right:31px}.student-name strong{font-size:12px}.list-tools{gap:3px}.bulk-trigger,.add-student,.import-trigger{padding:7px 4px;font-size:8px}}.extra-actions{border:1px solid var(--border);background:var(--soft);border-radius:11px;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding:10px;display:flex}.extra-actions label{color:var(--muted);align-items:center;gap:6px;font-size:8px;line-height:1.25;display:flex}.extra-actions input{accent-color:var(--primary)}.extra-actions button{color:var(--primary-dark);cursor:pointer;background:#fff;border:1px solid #bfd0f4;border-radius:8px;flex:none;padding:7px 8px;font-size:8px;font-weight:850}.toast span{flex:1}.toast button{color:#fff;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff59;border-radius:7px;margin-left:5px;padding:5px 7px;font-size:9px;font-weight:850}.edit-plan{color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px solid #bfd0f4;border-radius:9px;padding:7px 9px;font-size:9px;font-weight:850}.edit-plan.active{color:#fff;background:var(--primary)}.seat.editable{cursor:move;border-style:dashed}.seat.moving{border-color:var(--primary);color:var(--primary-dark);background:var(--primary-soft);box-shadow:0 4px #7ea6ef,0 0 0 2px #7ea6ef}.seat em{color:var(--primary);margin-top:4px;font-size:7px;font-style:normal;font-weight:800}.student-manage{gap:7px;margin-top:12px;display:flex}.student-manage button{color:#fff;cursor:pointer;background:#ffffff24;border:1px solid #ffffff59;border-radius:9px;padding:7px 11px;font-size:9px;font-weight:800}.student-manage button.delete{color:#fff0f0;background:#b4231840;border-color:#ffbebe8c}.topbar .settings-trigger,.topbar .calendar-trigger,.period-trigger{padding:8px 7px;font-size:8px}.period-trigger{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;font-weight:850}.current-scores small{color:var(--muted);margin-top:2px;font-size:7px}.period-sheet{padding-bottom:24px}.period-choice{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:17px;display:grid}.period-choice button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;align-items:center;padding:12px 8px;display:flex}.period-choice button.active{color:var(--primary-dark);background:var(--primary-soft);border-color:#7ea6ef;box-shadow:0 0 0 1px #7ea6ef}.period-choice strong{font-size:11px}.period-choice small{color:var(--muted);margin-top:3px;font-size:8px}.active-period-card{color:#fff;background:linear-gradient(135deg,#1747a6,#2563eb);border-radius:14px;flex-direction:column;margin-top:11px;padding:14px;display:flex}.active-period-card span{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:8px;font-weight:800}.active-period-card strong{margin-top:3px;font-size:18px}.active-period-card small{color:#dce7ff;margin-top:5px;font-size:8px}.next-period{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:12px;width:100%;margin-top:10px;padding:12px;font-size:10px;font-weight:850}.archive-title{justify-content:space-between;margin:17px 2px 7px;font-size:11px;display:flex}.archive-title span{color:var(--muted)}.period-archives{border:1px solid var(--border);background:#fff;border-radius:12px;overflow:hidden}.period-archives article{border-bottom:1px solid var(--border);align-items:center;gap:9px;padding:10px;display:flex}.period-archives article:last-child{border-bottom:0}.period-archives .status-check{width:29px;height:29px}.period-archives strong,.period-archives small{display:block}.period-archives strong{font-size:10px}.period-archives small{color:var(--muted);margin-top:3px;font-size:8px}.period-archives>p{color:var(--muted);text-align:center;margin:0;padding:18px;font-size:9px}.report-head{align-items:center}.report-actions{gap:5px;display:flex}.export-report,.print-report{cursor:pointer;border-radius:10px;padding:9px;font-size:9px;font-weight:850}.export-report{color:#fff;background:var(--primary);border:0}.print-report{color:var(--primary-dark);background:var(--primary-soft);border:1px solid #bfd0f4}.report-controls{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.report-controls label{color:var(--muted);flex-direction:column;gap:4px;font-size:8px;font-weight:750;display:flex}.report-controls select{border:1px solid var(--border);width:100%;min-width:0;color:var(--text);background:#fff;border-radius:10px;padding:9px 7px;font-size:9px;font-weight:750}.report-summary{grid-template-columns:repeat(2,1fr);gap:7px;margin:11px 0;display:grid}.report-summary article{border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;padding:11px;display:flex}.report-summary span{color:var(--muted);font-size:8px}.report-table{border:1px solid var(--border);background:#fff;border-radius:13px;overflow:hidden}.report-table-head,.report-table button{grid-template-columns:minmax(0,1fr) 34px 38px 38px 42px;align-items:center;gap:3px;width:100%;display:grid}.report-table-head{color:var(--muted);background:var(--soft);text-align:center;padding:8px 9px;font-size:8px;font-weight:800}.report-table-head span:first-child{text-align:left}.report-table button{border:0;border-top:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;padding:9px}.report-table button:disabled{color:var(--text);cursor:default}.report-table button>span{flex-direction:column;min-width:0;display:flex}.report-table button strong{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.report-table button small{color:var(--primary);margin-top:2px;font-size:7px;font-weight:800}.report-table em{text-align:center;background:#f2f4f7;border-radius:7px;padding:5px 2px;font-size:9px;font-style:normal;font-weight:850}.report-table em:nth-last-child(3){color:var(--primary-dark);background:var(--primary-soft)}.report-privacy{color:var(--muted);text-align:center;margin:10px 0 0;font-size:8px;line-height:1.45}.backup-settings{width:100%;color:var(--primary-dark);background:var(--primary-soft);text-align:left;cursor:pointer;border:1px solid #bfd0f4;border-radius:12px;align-items:center;gap:8px;margin-top:9px;padding:11px;display:flex}.backup-settings>span{flex-direction:column;flex:1;display:flex}.backup-settings strong{font-size:10px}.backup-settings small{color:var(--muted);margin-top:3px;font-size:8px}.backup-settings .icon{width:16px}.backup-sheet{padding-bottom:24px}.backup-card{background:var(--primary-soft);border:1px solid #bfd0f4;border-radius:14px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:12px;display:grid}.backup-card.restore{border-color:var(--border);background:var(--soft);margin-top:8px}.backup-symbol{color:#fff;background:var(--primary);border-radius:10px;place-items:center;width:36px;height:36px;font-size:20px;font-weight:850;display:grid}.backup-card.restore .backup-symbol{color:var(--primary-dark);background:#fff}.backup-card strong{font-size:10px;display:block}.backup-card p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.35}.backup-card button,.backup-card label{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:9px;padding:8px 9px;font-size:8px;font-weight:850}.backup-card label{color:var(--primary-dark);background:#fff;border:1px solid #bfd0f4;position:relative}.backup-card input{opacity:0;width:1px;height:1px;position:absolute}.backup-advice{border-left:3px solid var(--success);background:var(--success-soft);border-radius:0 10px 10px 0;margin-top:11px;padding:11px}.backup-advice strong{color:var(--success);font-size:9px}.backup-advice p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.45}.install-settings{color:var(--success);background:var(--success-soft);border-color:#a8ddbf}.install-settings.installed{cursor:default}.more-trigger{border:1px solid var(--border);width:38px;height:38px;color:var(--primary-dark);background:var(--primary-soft);letter-spacing:.08em;cursor:pointer;border-radius:11px;font-size:13px;font-weight:900}.course-card.compact{padding:14px 16px}.course-card.compact .course-row{margin-top:0}.course-card.compact h1{align-items:center;gap:9px;display:flex}.course-card.compact .live-dot{flex:none;display:inline-block}.course-card.compact p{margin-top:5px}.student-count{min-width:23px;height:23px;color:var(--primary-dark);background:var(--primary-soft);vertical-align:2px;border-radius:999px;place-items:center;margin-left:5px;font-size:10px;display:inline-grid}.app-shell{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.tabs{top:auto;right:auto;bottom:max(10px,env(safe-area-inset-bottom));z-index:24;-webkit-backdrop-filter:blur(22px)saturate(165%);background:#f5f8fcb8;border:1px solid #ffffffb8;border-radius:22px;gap:4px;width:min(100% - 24px,596px);margin:0;padding:6px;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #192a4633,inset 0 1px #ffffffd9}.tabs button{border:0;border-radius:16px;min-height:44px;padding:7px 3px}.tabs button.active{background:#ffffffe6;border:0;box-shadow:0 3px 12px #192a4621,inset 0 1px #fff}.score-legend,.student-row{grid-template-columns:minmax(0,1fr) 42px 42px 48px 18px;gap:4px;padding-left:12px;padding-right:8px}.score-legend{padding-top:0;padding-bottom:5px}.student-row.selectable{grid-template-columns:38px minmax(0,1fr)}.student-name strong{white-space:nowrap}.report-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0}.report-summary article{min-width:0;padding:8px}.report-summary span{font-size:7px;line-height:1.2}.report-summary strong{margin-top:2px;font-size:16px}.report-controls{gap:5px}.report-controls select{padding:7px}.more-list{border:1px solid var(--border);background:#fff;border-radius:14px;margin-top:14px;overflow:hidden}.more-list button,.more-list a{border:0;border-bottom:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#fff;flex-direction:column;padding:12px;text-decoration:none;display:flex}.more-list>:last-child{border-bottom:0}.more-list strong{font-size:11px}.more-list small{color:var(--muted);margin-top:3px;font-size:8px}.oral-entry{background:var(--primary-soft);border:1px solid #bfd0f4;border-radius:12px;margin-top:10px;padding:11px}.oral-entry label{color:var(--primary-dark);margin-bottom:6px;font-size:9px;font-weight:800;display:block}.oral-entry>div{grid-template-columns:1fr auto;gap:7px;display:grid}.oral-entry input{min-width:0;font:inherit;background:#fff;border:1px solid #9db8ea;border-radius:9px;padding:10px}.oral-entry button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:9px;padding:0 12px;font-size:9px;font-weight:850}@media (width<=420px){.report-summary{grid-template-columns:repeat(2,1fr)}}@media (width<=360px){.student-row,.score-legend{grid-template-columns:minmax(70px,1fr) 34px 34px 40px 14px;gap:3px;padding-left:8px;padding-right:7px}.student-name strong,.course-card.compact p{font-size:10px}.tabs{width:calc(100% - 16px);bottom:max(6px,env(safe-area-inset-bottom));padding:5px}.tabs button{font-size:9px}}.more-trigger{place-items:center;display:grid}.more-trigger .icon{width:19px;height:19px}.timeline{gap:5px}.event-card{border-radius:10px;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;min-height:45px;padding:6px 8px;display:grid}.event-dot{border-radius:7px;width:25px;height:25px}.event-card .icon{width:13px;height:13px}.event-card>div{grid-template-columns:minmax(105px,.9fr) minmax(95px,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.event-card strong,.event-card p,.event-card small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.event-card strong,.event-card p{font-size:9px}.event-card p{margin:0}.event-card small{text-align:right;font-size:8px}.export-report,.print-report{box-sizing:border-box;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;height:38px;min-height:38px;padding:0 12px;font-size:9px;font-weight:850;line-height:1;display:inline-flex}.print-report{border-color:#bfd0f4}.report-actions{align-items:center}.config-section{margin-top:14px}.config-title{justify-content:space-between;align-items:flex-end;gap:10px;margin:0 2px 7px;display:flex}.config-title h3{margin:0;font-size:12px}.config-title p{color:var(--muted);margin:3px 0 0;font-size:8px}.config-title>button{color:var(--primary-dark);background:var(--primary-soft);cursor:pointer;border:1px solid #bfd0f4;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:850}.config-list{border:1px solid var(--border);background:#fff;border-radius:13px;overflow:hidden}.config-list>div{border-bottom:1px solid var(--border);align-items:center;gap:9px;min-height:50px;padding:8px 9px;display:flex}.config-list>div:last-child{border-bottom:0}.config-list>div.disabled{opacity:.5;background:var(--soft)}.config-list span{flex-direction:column;flex:1;min-width:0;display:flex}.config-list strong{font-size:10px}.config-list small{color:var(--muted);margin-top:3px;font-size:8px}.config-list button{border:1px solid var(--border);width:30px;height:30px;color:var(--danger);cursor:pointer;background:#fff;border-radius:9px;font-size:18px;line-height:1}.config-list .disabled button{color:var(--success)}.compact-grading{margin-top:14px}.configurable-settings{max-height:min(88dvh,760px);overflow-y:auto}@media (width<=420px){.event-card>div{grid-template-columns:minmax(90px,1fr) minmax(90px,1fr)}.event-card small{text-align:left;grid-column:1/-1}}@media print{@page{size:A4 portrait;margin:12mm}html,body{background:#fff}.app-shell{width:100%;max-width:none;min-height:0;box-shadow:none;background:#fff;margin:0;padding:0}.app-shell>*{display:none!important}.app-shell>.report-panel{color:#111;margin:0;padding:0;display:block!important}.report-head{border-bottom:2px solid #2563eb;margin:0 0 8mm;padding-bottom:4mm}.report-head h2{font-size:20pt}.report-head p{font-size:10pt}.report-actions,.report-controls,.report-privacy{display:none!important}.report-summary{grid-template-columns:repeat(4,1fr);gap:3mm;margin:0 0 6mm}.report-summary article{break-inside:avoid;border-color:#cbd5e1;padding:4mm}.report-summary span{font-size:7.5pt}.report-summary strong{font-size:17pt}.report-table{border-color:#94a3b8;border-radius:0}.report-table-head,.report-table button{grid-template-columns:minmax(0,1fr) 15mm 17mm 17mm 20mm}.report-table-head{color:#111;background:#e8eef8;padding:3mm;font-size:8pt}.report-table button{break-inside:avoid;border-top-color:#cbd5e1;padding:2.6mm 3mm}.report-table button strong{font-size:8.5pt}.report-table button small{font-size:6.5pt}.report-table em{background:0 0;padding:1.5mm;font-size:8pt}.report-table em:nth-last-child(3){color:#111;background:0 0}}.privacy-notice{max-width:430px}.privacy-points{flex-direction:column;gap:8px;margin:14px 0 10px;display:flex}.privacy-points article{border:1px solid var(--border);background:var(--soft);border-radius:12px;grid-template-columns:30px 1fr;gap:9px;padding:10px;display:grid}.privacy-points article>span{color:#fff;background:var(--primary);border-radius:9px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:850;display:grid}.privacy-points strong{font-size:10px;display:block}.privacy-points p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.45}.privacy-notice .privacy-data-link{text-align:center;margin:5px 0 9px;display:block}.privacy-notice .save-settings{margin-top:0}.settings-data-bar{z-index:80;justify-content:flex-end;align-items:stretch;gap:7px;width:min(100% - 24px,596px);display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.settings-data-bar>a{color:var(--primary-dark);background:#f5f8ff;border:1px solid #bfd0f4;border-radius:11px;align-items:center;padding:8px 10px;font-size:9px;font-weight:850;text-decoration:none;display:flex;box-shadow:0 6px 18px #194faf1f}.year-end-reminder{max-width:235px;color:var(--warning);text-align:left;cursor:pointer;background:#fffaf0;border:1px solid #f0cf84;border-radius:11px;grid-template-columns:1fr 15px;gap:1px 7px;padding:7px 9px;display:grid;box-shadow:0 6px 18px #48300824}.year-end-reminder strong{font-size:9px}.year-end-reminder span{color:var(--muted);grid-column:1;font-size:7px}.year-end-reminder .icon{grid-area:1/2/3;align-self:center;width:14px}@media (width<=430px){.settings-data-bar>a{max-width:112px;padding:7px 8px;font-size:8px;line-height:1.15}.year-end-reminder{min-width:0;max-width:220px}}.action-sheet .current-scores{display:none}.event-card>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.9fr)}.profile-avatar{display:none}.profile-hero{grid-template-columns:auto auto;justify-content:center;align-items:center;column-gap:7px;display:grid}.profile-hero h2{grid-area:1/1;margin-top:0}.profile-hero p{grid-area:2/1/auto/-1;justify-self:center}.student-manage{grid-area:1/2;gap:4px;margin-top:0}.student-manage button{border-radius:7px;place-items:center;width:25px;height:25px;padding:0;font-size:0;display:grid}.student-manage button:before{content:"";background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z'/%3E%3C/svg%3E") 50%/contain no-repeat;width:13px;height:13px}.student-manage button.delete:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff0f0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='m19 6-1 14H6L5 6'/%3E%3Cpath d='M10 11v5M14 11v5'/%3E%3C/svg%3E");width:14px;height:14px}@media (width<=520px){.event-card>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.event-card small{grid-column:1/-1}}.brand-mark{background:0 0;overflow:hidden}.brand-mark img{width:100%;height:100%;display:block}.tabs button,.student-row .student-name strong,.event-card strong,.event-card p,.class-list strong,.more-list strong,.quick-action strong{font-size:12px}.student-row .student-name strong{font-size:14px}.score,.course-card.compact p,.sheet-head p,.quick-action small,.event-card small,.more-list small,.class-list small{font-size:10px}.question-toggle{color:var(--muted);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.question-toggle input{opacity:0;pointer-events:none;position:absolute}.question-toggle i{background:#cbd5e1;border-radius:999px;width:34px;height:20px;transition:background .16s;position:relative}.question-toggle i:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a47}.question-toggle input:checked+i{background:var(--primary)}.question-toggle input:checked+i:after{transform:translate(14px)}.question-toggle input:focus-visible+i{outline-offset:2px;outline:3px solid #2563eb40}@media (width<=430px){.list-tools{gap:9px}.bulk-trigger{padding-left:7px;padding-right:7px}.question-toggle{gap:5px;font-size:10px}.configurable-settings .compact-grading{grid-template-columns:1fr}.configurable-settings .compact-grading h3{grid-column:1}.configurable-settings .compact-grading label+label{border-left:0;padding-left:0}}.live-dot.outside-course{background:#cbd5e1;box-shadow:0 0 0 4px #cbd5e12e}.outside-course-label{color:#fff;font-weight:800}.retro-trigger{color:var(--primary-dark);background:var(--primary-soft);font:inherit;border:1px solid #b9cdf7;border-radius:10px;padding:8px 10px;font-size:9px;font-weight:850}.session-picker,.retro-student{color:var(--muted);gap:5px;margin:4px 0 10px;font-size:9px;font-weight:800;display:grid}.session-picker select,.retro-student select{box-sizing:border-box;border:1px solid var(--border);width:100%;min-height:40px;color:var(--text);font:inherit;background:#fff;border-radius:11px;padding:8px 10px;font-size:11px;font-weight:750}.session-history .empty-history{margin-top:12px}.retro-sheet h3{margin:12px 0 8px}.retro-note{color:var(--muted);text-align:center;margin:12px 0 0;font-size:9px}.transfer-summary{background:#eefbf3;border:1px solid #bfe5ce;border-radius:13px;align-items:center;gap:10px;padding:12px;display:flex}.transfer-summary>div{gap:2px;display:grid}.transfer-summary small,.transfer-privacy{color:var(--muted);font-size:9px}.transfer-students{flex-wrap:wrap;gap:5px;margin:10px 0;display:flex}.transfer-students span{color:var(--text);background:#f1f4f8;border-radius:8px;padding:5px 7px;font-size:9px;font-weight:700}.transfer-privacy{text-align:center;margin:10px 4px 0;line-height:1.4}.action-score-control{flex:none;align-items:center;gap:4px;display:inline-flex}.action-score-control input{box-sizing:border-box;border:1px solid var(--border);width:58px;height:30px;color:var(--text);font:inherit;text-align:center;background:#fff;border-radius:9px;padding:3px 5px;font-size:10px;font-weight:800}.action-score-control em{color:var(--muted);font-size:8px;font-style:normal}.event-label-editor{box-sizing:border-box;width:100%;min-width:0;color:var(--text);font:inherit;background:#fff;border:1px solid #7ea6ef;border-radius:8px;padding:6px 8px;font-size:10px;font-weight:750}.configurable-settings{max-height:calc(100dvh - 16px);padding-top:6px;overflow:hidden}.configurable-settings .sheet-handle{margin-bottom:8px}.configurable-settings .sheet-head p,.configurable-settings .config-title p,.configurable-settings .config-list small{display:none}.configurable-settings .sheet-head h2{font-size:16px}.configurable-settings .close-button{width:31px;height:31px}.configurable-settings .config-section{margin-top:8px}.configurable-settings .config-title{align-items:center;margin-bottom:5px}.configurable-settings .config-title h3{font-size:10px}.configurable-settings .config-title>button{padding:5px 8px}.configurable-settings .config-list>div{gap:6px;min-height:37px;padding:4px 6px 4px 9px}.configurable-settings .config-list strong{font-size:9px}.configurable-settings .config-list button{border-radius:8px;width:27px;height:27px;font-size:15px}.configurable-settings .config-section:first-of-type .config-list{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.configurable-settings .config-section:first-of-type .config-list>div{border-right:1px solid var(--border);border-bottom:0;min-width:0}.configurable-settings .config-section:first-of-type .config-list>div:last-child{border-right:0}.configurable-settings .action-score-control input{width:48px;height:27px;padding:2px 3px}.configurable-settings .compact-grading{grid-template-columns:auto repeat(2,minmax(0,1fr));align-items:center;gap:7px;margin-top:8px;padding:7px 9px;display:grid}.configurable-settings .compact-grading h3{margin:0;font-size:9px}.configurable-settings .compact-grading label{border:0;border-left:1px solid var(--border);min-height:32px;padding:0 6px}.configurable-settings .compact-grading label span{font-size:8px}.configurable-settings .compact-grading input{width:48px;height:27px;padding:2px 3px}.configurable-settings .save-settings{margin-top:8px;padding:9px}.configurable-settings .backup-settings{margin-top:6px;padding:7px 9px}.configurable-settings .backup-settings small{display:none}.reset-application{text-align:left;color:#b42318;background:#fff5f4;border:1px solid #f2b8b3;border-radius:15px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-top:10px;padding:12px 14px;display:flex}.reset-application span{gap:3px;display:grid}.reset-application strong{font-size:13px}.reset-application small{color:#7f4b47;font-size:10px;line-height:1.35}.reset-application .icon{flex:0 0 20px;width:20px}.first-class-privacy a,.privacy-data-link{color:#194faf;text-underline-offset:2px;font-weight:800;text-decoration:underline}.privacy-data-link{text-align:center;margin:12px 0 2px;font-size:11px;display:block}.calendar-associations{background:#f7f9fe;border:1px solid #c8d7f4;border-radius:15px;gap:7px;margin:10px 0;padding:10px;display:grid}.association-title{gap:2px;padding:0 2px 3px;display:grid}.association-title strong{font-size:12px}.association-title small{color:var(--muted);font-size:9px}.calendar-associations label{border:1px solid var(--border);background:#fff;border-radius:11px;grid-template-columns:minmax(80px,.8fr) minmax(140px,1.2fr);align-items:center;gap:8px;min-width:0;padding:7px 8px;display:grid}.calendar-associations label span{gap:1px;min-width:0;display:grid}.calendar-associations label strong{text-overflow:ellipsis;font-size:11px;overflow:hidden}.calendar-associations label small{color:var(--muted);font-size:8px}.calendar-associations select{box-sizing:border-box;width:100%;min-width:0;height:34px;color:var(--text);font:inherit;background:#fff;border:1px solid #b8c7e4;border-radius:9px;padding:0 8px;font-size:11px;font-weight:750}.calendar-sheet .save-settings:disabled{opacity:.45;cursor:not-allowed}@media (width<=390px){.calendar-associations label{grid-template-columns:1fr;gap:5px}.configurable-settings{padding-left:10px;padding-right:10px}.configurable-settings .config-list strong{font-size:8px}.configurable-settings .compact-grading{grid-template-columns:repeat(2,minmax(0,1fr))}.configurable-settings .compact-grading h3{grid-column:1/-1}}.row-quick-actions{grid-template-columns:29px 32px;justify-content:center;gap:2px;display:grid}.row-quick-actions>span{box-sizing:border-box;color:#617086;cursor:pointer;background:#f4f6f9;border:1px solid #d7deea;border-radius:8px;place-items:center;height:27px;font-size:8px;font-weight:900;display:grid}.row-quick-actions>span:active{transform:scale(.94)}.row-quick-actions>span.recorded{color:#b42318;background:#fee4e2;border-color:#f1a9a3;box-shadow:inset 0 0 0 1px #b4231814}.row-quick-actions>span.previous{color:#955c00;background:var(--warning-soft);border-color:#efd69c;font-size:7px}.score.mastery-high{color:#14532d;background:#bbf7d0}.score.mastery{color:#18794e;background:#e2f6e9}.score.fragile{color:#9a5800;background:#fff0c2}.score.insufficient{color:#b42318;background:#fee4e2}.row-action-legend{font-size:7px}@media (width<=360px){.row-action-legend{color:#0000}}@media (height<=700px){.configurable-settings{overflow-y:auto}}.onboarding-shell{min-height:100dvh}.onboarding-loading{min-height:70dvh;color:var(--muted);place-items:center;font-weight:750;display:grid}.first-class-card{box-sizing:border-box;border:1px solid var(--border);background:#ffffffeb;border-radius:26px;width:min(680px,100% - 24px);margin:26px auto;padding:24px;box-shadow:0 18px 50px #23375f17}.first-class-intro{align-items:center;gap:14px;margin-bottom:20px;display:flex}.first-class-icon{color:#fff;background:linear-gradient(135deg,#194faf,#2f72f5);border-radius:16px;flex:0 0 48px;place-items:center;height:48px;font-size:28px;font-weight:500;display:grid}.first-class-intro h1{color:var(--text);margin:0 0 4px;font-size:24px}.first-class-intro p,.first-class-privacy{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.first-class-name{color:var(--text);gap:7px;margin-bottom:14px;font-size:12px;font-weight:800;display:grid}.first-class-name input{box-sizing:border-box;border:1px solid var(--border);width:100%;height:48px;color:var(--text);font:inherit;background:#fff;border-radius:13px;padding:0 14px;font-size:16px}.first-class-file{min-height:86px}.first-class-separator{color:var(--muted);align-items:center;gap:10px;margin:12px 0;font-size:11px;display:flex}.first-class-separator:before,.first-class-separator:after{content:"";background:var(--border);flex:1;height:1px}.first-class-textarea{min-height:92px}.first-class-preview{color:var(--muted);justify-content:space-between;gap:10px;margin:10px 2px 0;font-size:11px;display:flex}.first-class-preview span{color:#18794e;align-items:center;gap:4px;display:inline-flex}.first-class-preview .icon{width:14px}.first-class-submit{margin-top:14px}.first-class-secondary{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;display:grid}.first-class-secondary button{color:#194faf;min-height:42px;font:inherit;background:#f5f8ff;border:1px solid #b9cdf7;border-radius:12px;padding:8px 10px;font-size:11px;font-weight:800}.first-class-secondary button:disabled,.first-class-submit:disabled{opacity:.45}.first-class-privacy{text-align:center;margin-top:14px;font-size:10px}@media (width<=520px){.first-class-card{border-radius:20px;width:calc(100% - 16px);margin:12px auto;padding:16px}.first-class-intro h1{font-size:20px}.first-class-secondary{grid-template-columns:1fr}}.configurable-settings{overflow-y:auto}.configurable-settings .config-title h3,.configurable-settings .config-list strong{font-size:11px}.configurable-settings .config-list>div{min-height:42px}.configurable-settings .compact-grading{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.configurable-settings .compact-grading h3{grid-column:1/-1;font-size:11px}.configurable-settings .compact-grading label{border-left:0;grid-template-columns:minmax(0,1fr) 52px 25px;gap:5px;min-width:0;padding:0}.configurable-settings .compact-grading label+label{border-left:1px solid var(--border);padding-left:10px}.configurable-settings .compact-grading label span,.configurable-settings .action-score-control input{font-size:10px}.configurable-settings .compact-grading input{width:52px}@media (width<=430px){.configurable-settings .compact-grading{grid-template-columns:1fr}.configurable-settings .compact-grading h3{grid-column:1}.configurable-settings .compact-grading label+label{border-left:0;padding-left:0}}
/*$vite$:1*/