/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--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{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.table-row{display:table-row}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI Variable", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ink:#172134;--muted:#778195;--line:#e8ebf2;--paper:#fff;--canvas:#f6f7fb;--violet:#7759d6;--violet-dark:#6546c4;--violet-soft:#eee9ff;--mint:#2f9a78;--orange:#d88932;--blue:#4d84c6;--shadow:0 10px 35px #232a420f}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans);letter-spacing:-.01em;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;font-weight:400;line-height:1.45}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7759d638}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.app-shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:10;background:#fbfbfd;flex-direction:column;height:100vh;padding:26px 18px 20px;display:flex;position:sticky;top:0}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0 8px 29px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#8465dc,#6849c3);border-radius:11px;place-items:center;width:37px;height:37px;font-size:19px;font-weight:700;display:grid;box-shadow:0 7px 16px #6948c540}.brand strong,.profile-chip strong{letter-spacing:-.02em;font-size:16px;display:block}.brand small,.profile-chip small{color:#98a0af;margin-top:1px;font-size:13px;display:block}nav{gap:5px;display:grid}.nav-item{color:#737d90;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 13px;font-size:15px;font-weight:600;transition:all .18s;display:flex}.nav-item:hover{color:var(--violet);background:#f2f0fa}.nav-item.active{color:var(--violet);background:var(--violet-soft)}.nav-item em{background:#e5ddff;border-radius:20px;margin-left:auto;padding:2px 7px;font-size:14px;font-style:normal}.app-icon{border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:17px;font-weight:700;display:inline-grid}.nav-item.active .app-icon{background:#fff;box-shadow:0 4px 12px #59409b17}.sidebar-bottom{margin-top:auto}.profile-chip{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:9px;padding:18px 11px 2px;display:flex}.avatar{color:#6f4c2e;background:#e8ddcb;border-radius:50%;flex:none;place-items:center;width:31px;height:31px;font-size:14px;font-weight:700;display:grid}.avatar.soft{color:var(--violet);background:#efeafd}.avatar.large{width:46px;height:46px;color:var(--violet);background:#eee9fc;font-size:15px}.avatar.teacher{color:#247b62;background:#e2f3ee}.workspace{min-width:0;padding:28px 38px 45px}.topbar{justify-content:space-between;align-items:flex-start;gap:22px;min-height:66px;margin-bottom:25px;display:flex}.eyebrow{color:#9ba3b1;text-transform:uppercase;letter-spacing:.07em;margin:0 0 5px;font-size:13px;font-weight:600}h1{letter-spacing:-.04em;margin:0;font-size:clamp(25px,2.2vw,34px);line-height:1.15}.top-actions{align-items:center;gap:12px;display:flex}.icon-button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;width:39px;height:39px;position:relative}.notification-dot{background:#ef725d;border:2px solid #fff;border-radius:50%;width:6px;height:6px;position:absolute;top:9px;right:10px}.global-search-trigger{border:1px solid var(--line);color:#667184;cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:7px;min-height:39px;padding:0 8px 0 11px;display:flex}.global-search-trigger:hover{color:var(--violet);border-color:#cfc7e7}.global-search-trigger>span{font-size:15px}.global-search-trigger strong{font-size:13px}.global-search-trigger kbd{color:#8a929e;background:#f6f7f9;border:1px solid #e0e3e8;border-radius:5px;padding:3px 5px;font-family:inherit;font-size:11px}.primary-button,.secondary-button{cursor:pointer;border:0;border-radius:9px;min-height:39px;padding:0 16px;font-size:15px;font-weight:600;transition:all .18s}.primary-button{color:#fff;background:var(--violet);box-shadow:0 6px 16px #7759d62e}.primary-button:hover{background:var(--violet-dark);transform:translateY(-1px)}.secondary-button{color:#5d6678;border:1px solid var(--line);background:#fff}.secondary-button:hover{color:var(--violet);border-color:#cfc5ee}.secondary-button.wide{width:100%}.text-button{color:var(--violet);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:600}.content-stack{gap:22px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{background:var(--paper);border:1px solid var(--line);min-width:0;min-height:112px;box-shadow:var(--shadow);border-radius:14px;gap:13px;padding:20px 18px;display:flex}.metric-card>.app-icon{background:var(--violet-soft);width:38px;height:38px;color:var(--violet)}.metric-card p{color:#8f97a6;margin:0 0 5px;font-size:14px}.metric-card strong{letter-spacing:-.045em;white-space:nowrap;font-size:23px;display:block}.metric-meta{color:#8690a0;margin-top:7px;font-size:13px;display:block}.metric-meta.mint{color:var(--mint)}.metric-meta.orange{color:var(--orange)}.metric-meta.blue{color:var(--blue)}.metric-meta.violet{color:var(--violet)}.metric-icon-button{cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0}.metric-icon-button .app-icon{background:var(--violet-soft);width:38px;height:38px;color:var(--violet)}.metric-icon-button:hover .app-icon{transform:translateY(-1px);box-shadow:0 4px 12px #7759d629}.metric-value-button{min-width:105px;color:var(--ink);letter-spacing:-.045em;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:23px;font-weight:700;display:block}.metric-value-button.concealed{letter-spacing:2px;color:#7f8796}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:18px;display:grid}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px}.panel-header{border-bottom:1px solid #eff1f5;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 15px;display:flex}.panel-header h2{letter-spacing:-.02em;margin:0;font-size:16px}.panel-header button{color:var(--violet);cursor:pointer;background:0 0;border:0;font-size:14px;font-weight:600}.count-badge{min-width:19px;height:19px;color:var(--violet);background:#f1edff;border-radius:10px;place-items:center;margin-left:8px;padding:0 5px;font-size:13px;display:inline-grid}.timeline{padding:5px 20px 8px}.lesson-row{border-bottom:1px solid #f0f2f6;grid-template-columns:44px 3px minmax(0,1fr) 126px;align-items:center;gap:13px;min-height:62px;display:grid}.lesson-row:last-child{border-bottom:0}.lesson-time strong,.lesson-time span{display:block}.lesson-time strong{font-size:15px}.lesson-time span{color:#a3aab7;margin-top:2px;font-size:13px}.lesson-line{background:var(--violet);border-radius:4px;width:3px;height:32px}.lesson-line.color-2{background:#ee9d4d}.lesson-line.color-3{background:#4ab18f}.lesson-line.color-4{background:#6093d7}.lesson-line.color-5{background:#d16f9b}.lesson-info strong,.lesson-info span{display:block}.lesson-info strong{font-size:14px}.lesson-info span{color:#959daa;margin-top:3px;font-size:13px}.lesson-info-button{text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.lesson-info-button:hover strong{color:var(--violet)}.lesson-status{color:#8c94a2;white-space:nowrap;background:#f4f5f7;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:600}.lesson-status.live{color:#2d9c77;background:#e6f7f0}.lesson-status.next{color:#ce7b24;background:#fff1e2}.quick-lesson-status{display:grid;position:relative}.quick-lesson-status select{color:#697386;cursor:pointer;background:#f7f8fa;border:1px solid #dfe3ea;border-radius:8px;width:100%;min-height:32px;padding:0 26px 0 9px;font-size:12px;font-weight:600}.quick-lesson-status small{display:none}.quick-lesson-status.live select,.quick-lesson-status.completed select{color:#28795e;background:#eaf8f2;border-color:#bde2d4}.quick-lesson-status.next select{color:#b96c1d;background:#fff5e9;border-color:#f2d2ac}.quick-lesson-status.cancelled select{color:#8a919d;opacity:.72;text-decoration:line-through}.today-empty,.attention-empty{min-height:160px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;padding:24px;display:grid}.today-empty strong,.attention-empty strong{color:var(--ink);font-size:14px}.today-empty span,.attention-empty span{font-size:13px}.today-empty button{margin-top:7px}.attention-empty{min-height:205px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.more-button{color:#aeb4bf;cursor:pointer;letter-spacing:.08em;background:0 0;border:0}.attention-list{padding:4px 17px}.attention-row{cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #f0f2f6;align-items:center;gap:10px;width:100%;min-height:66px;display:flex}.attention-row:last-child{border-bottom:0}.attention-copy{flex:1;min-width:0}.attention-copy strong,.attention-copy small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.attention-copy strong{font-size:14px}.attention-copy small{color:#949dab;margin-top:3px;font-size:12px}.alert-tag{color:#c3782e;background:#fff2e3;border-radius:8px;padding:4px 7px;font-size:12px;font-weight:600}.alert-tag.danger{color:#d15454;background:#ffebeb}.panel-footer-button{width:100%;min-height:38px;color:var(--violet);cursor:pointer;background:#fcfcfe;border:0;border-top:1px solid #eff1f5;border-radius:0 0 14px 14px;font-size:13px;font-weight:600}.quick-actions{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.quick-actions button{border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:10px;min-height:70px;display:flex}.quick-actions button:last-child{border-right:0}.quick-actions button:hover{background:#faf9fe}.quick-actions .app-icon{color:var(--violet);background:#f0ebff}.quick-actions strong,.quick-actions small{text-align:left;display:block}.quick-actions strong{font-size:14px}.quick-actions small{color:#9ba2af;margin-top:3px;font-size:12px}.admin-tasks-panel .panel-header{align-items:end;gap:18px}.admin-tasks-panel .panel-header h2{margin-bottom:4px}.admin-tasks-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.task-panel-actions{align-items:end;gap:8px;display:flex}.task-panel-actions .compact-field{min-width:120px}.task-panel-actions>button{white-space:nowrap;min-height:34px}.admin-task-list{max-height:520px;overflow:auto}.admin-task-list>article{border-bottom:1px solid var(--line);grid-template-columns:30px minmax(240px,1fr) 70px minmax(115px,180px);align-items:center;gap:12px;min-height:62px;padding:8px 18px;display:grid}.admin-task-list>article.completed{background:#fafbfc}.task-toggle{color:#fff;cursor:pointer;background:#fff;border:1px solid #cfd5df;border-radius:8px;width:25px;height:25px;font-size:15px;font-weight:700}.completed .task-toggle{background:#4d9b80;border-color:#4d9b80}.task-main{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:0;display:flex}.task-main span{min-width:0}.task-main strong,.task-main small{display:block}.task-main strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.task-main small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.task-main em{color:#697386;flex:none;font-size:12px;font-style:normal;font-weight:600}.overdue .task-main em{color:#bd632e}.completed .task-main strong{color:#8b93a0;text-decoration:line-through}.task-priority{color:#798291;background:#f3f4f7;border-radius:7px;width:fit-content;padding:5px 7px;font-size:12px;font-weight:700}.task-priority.high{color:#b55e2d;background:#fff0e6}.task-student-link{color:var(--violet);text-align:right;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;overflow:hidden}.task-student-empty{color:#a1a7b1;text-align:right;font-size:12px}.task-empty{text-align:center;place-content:center;justify-items:center;min-height:135px;display:grid}.task-empty strong{font-size:14px}.task-empty span{max-width:420px;color:var(--muted);margin:5px 0 12px;font-size:12px;line-height:1.5}.task-panel-note{color:var(--muted);margin:0;padding:10px 18px 13px;font-size:12px}.task-modal-actions{justify-content:space-between;align-items:end;gap:12px;display:flex}.task-modal-actions .form-actions{padding:0}.daily-control-panel .panel-header{align-items:center}.daily-control-panel .panel-header h2{margin-bottom:4px}.daily-control-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.daily-control-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:66px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;grid-template-columns:105px minmax(190px,1fr) minmax(210px,1.2fr) auto;align-items:center;gap:14px;padding:9px 18px;display:grid}.daily-control-list>button:hover{background:#fbfafe}.daily-control-date strong,.daily-control-date small,.daily-control-lesson strong,.daily-control-lesson small{display:block}.daily-control-date strong,.daily-control-lesson strong{font-size:13px}.daily-control-date small,.daily-control-lesson small{color:var(--muted);margin-top:4px;font-size:12px}.daily-control-reasons{flex-wrap:wrap;gap:5px;display:flex}.daily-control-reasons em{border-radius:7px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:700}.daily-control-reasons em.danger{color:#b94e4e;background:#ffeded}.daily-control-reasons em.warning{color:#b06a25;background:#fff4e6}.daily-control-list>button>b{color:var(--violet);white-space:nowrap;font-size:12px}.daily-control-more{color:var(--muted);margin:0;padding:10px 18px;font-size:12px}.daily-control-empty{text-align:center;place-content:center;justify-items:center;min-height:125px;display:grid}.daily-control-empty strong{font-size:14px}.daily-control-empty span{color:var(--muted);margin-top:5px;font-size:12px}.toolbar{align-items:center;gap:12px;padding:13px;display:flex}.search-box{border:1px solid var(--line);color:#9da5b3;border-radius:9px;flex:1;align-items:center;gap:9px;min-height:42px;padding:0 12px;display:flex}.search-box input{width:100%;color:var(--ink);border:0;outline:0;font-size:14px}.compact-field{color:#98a0ad;align-items:center;gap:8px;font-size:13px;display:flex}.compact-field select{border:1px solid var(--line);color:#566074;background:#fff;border-radius:9px;min-height:40px;padding:0 30px 0 10px;font-size:14px}.student-filter-panel{grid-template-columns:1fr auto;align-items:end;gap:16px;padding:12px 14px;display:grid}.student-filter-fields{grid-template-columns:repeat(3,minmax(125px,1fr)) 145px 145px;gap:9px;display:grid}.student-filter-fields label{gap:5px;display:grid}.student-filter-fields label>span{color:var(--muted);font-size:12px;font-weight:600}.student-filter-fields select,.student-filter-fields input{color:#566074;background:#fff;border:1px solid #dfe3ea;border-radius:8px;width:100%;min-height:37px;padding:0 9px;font-size:13px}.student-filter-summary{justify-items:end;gap:7px;display:grid}.student-filter-summary>span{color:var(--muted);white-space:nowrap;font-size:12px}.student-filter-summary strong{color:var(--ink);font-size:14px}.student-filter-summary button{white-space:nowrap;min-height:37px}.student-filter-summary button:disabled{opacity:.45;cursor:default}.mobile-add{display:none}.student-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:14px;padding:18px}.student-card-top{justify-content:space-between;align-items:flex-start;display:flex}.student-card-top.compact{justify-content:flex-end;min-height:22px}.student-card h3{margin:13px 0 4px;font-size:16px}.student-card>p{color:#9098a7;margin:0;font-size:14px}.student-name-link,.entity-title-link{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;display:block}.student-name-link{margin:8px 0 12px;font-size:15px}.student-name-link:hover,.entity-title-link:hover{color:var(--violet);text-underline-offset:3px;text-decoration:underline}.entity-title-link{margin:2px 0 4px;font-size:16px}.inline-group-field{gap:5px;display:grid}.inline-group-field span,.subject-field span{color:#929aa8;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.inline-group-field select,.subject-field select,.calendar-filter select{color:#566074;background:#fff;border:1px solid #e0e3e9;border-radius:8px;width:100%;min-height:36px;padding:0 9px;font-size:14px}.inline-group-field small{color:#7b6aa8;font-size:12px;line-height:1.4}.status-pill{color:#7b8494;background:#f1f2f5;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.status-pill.active{color:#2b916f;background:#e7f7f1}.status-pill.lead{color:#bf772d;background:#fff2dd}.status-pill.paused{color:var(--violet);background:#eee9ff}.student-details{border-top:1px solid #f0f2f5;border-bottom:1px solid #f0f2f5;grid-template-columns:repeat(3,1fr);margin:16px 0 11px;padding:12px 0;display:grid}.student-details div+div{border-left:1px solid #edf0f4;padding-left:10px}.student-details dt{color:#9aa2af;font-size:12px}.student-details dd{margin:4px 0 0;font-size:14px;font-weight:600}.contact-line{color:#7f8898;justify-content:space-between;align-items:center;min-height:29px;font-size:13px;display:flex}.student-actions{justify-content:space-between;align-items:center;margin-top:11px;display:flex}.student-card-footer{justify-content:space-between;align-items:center;gap:10px;min-height:34px;margin-top:6px;display:flex}.messenger-link{color:#2f7f66;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.messenger-empty{color:#a0a6b2;font-size:13px}.subjects-panel{grid-template-columns:1fr minmax(280px,390px);align-items:end;gap:24px;padding:19px 20px;display:grid}.subjects-panel h2{margin:4px 0 12px;font-size:18px}.subjects-panel form{align-items:end;gap:9px;display:flex}.subjects-panel form .field{flex:1}.subject-chips{flex-wrap:wrap;gap:7px;display:flex}.subject-chips>span{color:#5c4b92;background:#f2eefc;border-radius:9px;padding:7px 10px;font-size:14px;font-weight:600}.subject-chips small{color:#978bb7;margin-left:7px;font-size:12px;font-weight:600}.zoom-rooms-panel .panel-header{align-items:center}.zoom-rooms-panel .panel-header h2{margin-bottom:4px}.zoom-rooms-panel .panel-header p{max-width:520px;color:var(--muted);margin:0;font-size:12px;line-height:1.45}.zoom-room-list>article{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(170px,1fr) 90px 100px auto;align-items:center;gap:12px;min-height:72px;padding:10px 18px;display:grid}.zoom-room-icon{color:#3d6293;background:#eef3fb;border-radius:9px;place-items:center;width:32px;height:32px;font-size:16px;display:grid}.zoom-room-list article>div:nth-child(2) strong,.zoom-room-list article>div:nth-child(2) a,.zoom-room-list article>div:nth-child(2) small{display:block}.zoom-room-list article>div:nth-child(2) strong{font-size:14px}.zoom-room-list article>div:nth-child(2) a,.zoom-room-list article>div:nth-child(2) small{color:var(--violet);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.zoom-room-list article>span:not(.zoom-room-icon) b,.zoom-room-list article>span:not(.zoom-room-icon) small{display:block}.zoom-room-list article>span:not(.zoom-room-icon) b{font-size:14px}.zoom-room-list article>span:not(.zoom-room-icon) small{color:var(--muted);margin-top:3px;font-size:11px}.zoom-room-actions{gap:7px;display:flex}.zoom-room-list article>p{color:#7d8795;grid-column:2/-1;margin:-3px 0 0;font-size:12px}.zoom-room-empty{text-align:center;place-content:center;justify-items:center;min-height:140px;display:grid}.zoom-room-empty strong{font-size:14px}.zoom-room-empty span{color:var(--muted);margin:5px 0 12px;font-size:12px}.zoom-room-archive{background:#fafbfc;padding:12px 18px}.zoom-room-archive h3{margin:0 0 8px;font-size:13px}.zoom-room-archive>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:46px;display:flex}.zoom-room-archive strong,.zoom-room-archive small{display:block}.zoom-room-archive strong{font-size:13px}.zoom-room-archive small{color:var(--muted);margin-top:3px;font-size:11px}.selected-zoom-room{background:#f7faff;border:1px solid #dbe4ef;border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:12px 14px;display:flex}.selected-zoom-room strong,.selected-zoom-room small{display:block}.selected-zoom-room strong{font-size:14px}.selected-zoom-room small{color:var(--muted);margin-top:4px;font-size:12px}.selected-zoom-room em{color:var(--muted);font-size:12px;font-style:normal}.teacher-busy-editor{background:#fbfafe;border:1px solid #e3e0ed;border-radius:11px;padding:14px}.teacher-busy-header{justify-content:space-between;align-items:center;gap:14px;display:flex}.teacher-busy-header h3{margin:0;font-size:14px}.teacher-busy-header p{color:var(--muted);margin:4px 0 0;font-size:12px;line-height:1.45}.teacher-busy-list{gap:8px;margin-top:10px;display:grid}.teacher-busy-list>div{grid-template-columns:130px 78px 78px minmax(130px,1fr) 30px;align-items:end;gap:7px;display:grid}.teacher-busy-list label{gap:4px;display:grid}.teacher-busy-list label span{color:#737c8b;font-size:11px;font-weight:600}.teacher-busy-list input,.teacher-busy-list select{background:#fff;border:1px solid #dfe3ea;border-radius:8px;width:100%;min-height:35px;padding:0 8px;font-size:13px}.icon-delete-button{color:#bf5555;cursor:pointer;background:#fff8f8;border:1px solid #efc7c7;border-radius:8px;width:30px;height:35px;font-size:17px}.teacher-busy-empty{color:var(--muted);margin:0;padding:9px 0 1px;font-size:12px}.teacher-card-metrics{background:#f7fbfa;border:1px solid #dce6e2;border-radius:11px;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.teacher-card-metrics>div{border-right:1px solid #dce6e2;align-content:center;gap:5px;min-height:72px;padding:11px;display:grid}.teacher-card-metrics>div:last-child{border-right:0}.teacher-card-metrics span{color:var(--muted);font-size:12px;line-height:1.35}.teacher-card-metrics strong{font-size:16px}.teacher-card-metrics strong small{color:var(--muted);font-size:13px;font-weight:600}.teacher-card-metrics .has-balance strong{color:#b96f22}.teacher-assignments{border:1px solid var(--line);border-radius:11px;grid-template-columns:minmax(180px,.8fr) 1.2fr;gap:14px;padding:13px 14px;display:grid}.teacher-assignments h3,.teacher-assignments p{margin:0}.teacher-assignments h3{font-size:14px}.teacher-assignments p{color:var(--muted);margin-top:4px;font-size:12px}.teacher-assignment-tags{flex-wrap:wrap;align-content:center;align-items:center;gap:6px;display:flex}.teacher-assignment-tags span{color:#5f4f91;background:#f0edfa;border-radius:8px;padding:5px 8px;font-size:12px;font-weight:600}.teacher-assignment-tags em{color:var(--muted);font-size:12px;font-style:normal}.field-active-link{color:#2f7f66;width:fit-content;font-size:12px;font-weight:600}.teacher-week-metrics{background:#faf8ff;border:1px solid #ddd8ee;border-radius:11px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.teacher-week-metrics>div{border-right:1px solid #e4dff1;align-content:center;gap:5px;min-height:62px;padding:10px 12px;display:grid}.teacher-week-metrics>div:last-child{border-right:0}.teacher-week-metrics span{color:#776b93;font-size:12px;line-height:1.35}.teacher-week-metrics strong{color:#57477f;font-size:16px}.backup-status-card.ready{border-color:#cce5da}.backup-status-card.warning{background:#fffdf9;border-color:#f1d5aa}.storage-status-card.error{background:snow;border-color:#efb9b9}.status-pill.danger{color:#c84f4f;background:#ffebeb}.preference-card.enabled{background:#fbfefc;border-color:#cce5da}.preference-card button{white-space:nowrap}.backup-preview{gap:16px;padding:22px 24px 24px;display:grid}.backup-verification{background:#fafbfc;border:1px solid #dfe3e9;border-radius:10px;padding:13px 15px}.backup-verification.verified{background:#eff9f5;border-color:#bfe1d4}.backup-verification.legacy{background:#fff9f0;border-color:#f0d2a7}.backup-verification strong,.backup-verification span{display:block}.backup-verification strong{font-size:14px}.backup-verification span{color:var(--muted);margin-top:5px;font-size:12px}.backup-summary{border:1px solid var(--line);border-radius:11px;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden}.backup-summary>div{border-right:1px solid var(--line);place-content:center;justify-items:center;min-height:70px;padding:12px 8px;display:grid}.backup-summary>div:last-child{border-right:0}.backup-summary strong{font-size:18px}.backup-summary span{color:var(--muted);margin-top:3px;font-size:12px}.backup-safety-note{color:#665d7e;background:#f5f2fc;border-radius:9px;margin:0;padding:11px 13px;font-size:13px;line-height:1.55}.backup-operation-status{border:1px solid var(--line);background:#fafbfc;border-radius:9px;gap:3px;margin-top:10px;padding:9px 11px;display:grid}.backup-operation-status strong{text-transform:uppercase;letter-spacing:.06em;font-size:12px}.backup-operation-status span,.backup-operation-status small{color:var(--muted);font-size:12px;line-height:1.45}.backup-operation-status.success{background:#eff9f5;border-color:#bfe1d4}.backup-operation-status.error{background:#fff3f3;border-color:#efb9b9}.backup-operation-status.saving,.backup-operation-status.connected,.backup-operation-status.uploading{background:#f7f3fc;border-color:#d9c9f0}.backup-operation-status.disconnected,.backup-operation-status.unavailable{background:#fff9f0;border-color:#f0d2a7}.backup-operation-status a{width:fit-content;color:var(--violet);font-size:12px;font-weight:700}.backup-actions{flex-wrap:wrap;justify-content:flex-end}.empty-state{text-align:center;grid-column:1/-1;place-content:center;justify-items:center;min-height:300px;display:grid}.empty-state>span{color:#c3c7d0;font-size:32px}.empty-state h3{margin:12px 0 5px}.empty-state p{color:var(--muted);margin:0;font-size:14px}.empty-state button{margin-top:13px}.card-list{gap:13px;display:grid}.entity-card{grid-template-columns:5px minmax(180px,1fr) 125px 80px 145px auto;align-items:center;gap:18px;min-height:90px;padding:17px 18px;display:grid}.entity-accent{background:var(--violet);border-radius:4px;width:5px;height:46px}.entity-card h3{margin:2px 0 4px;font-size:16px}.entity-card p:not(.eyebrow){color:var(--muted);margin:0;font-size:13px}.entity-stats strong,.entity-stats span{display:block}.entity-stats strong{font-size:16px}.entity-stats span{color:var(--muted);margin-top:3px;font-size:12px}.entity-stats.income strong{color:#2d8a6d}.subject-field{gap:5px;display:grid}.entity-toolbar{justify-content:space-between;align-items:center;gap:18px;min-height:68px;padding:13px 17px;display:flex}.entity-toolbar p{margin-bottom:4px}.entity-toolbar strong{font-size:14px}.entity-card-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.archived-card-note{max-width:290px;color:var(--muted);font-size:12px;line-height:1.45}.archived-entities>.panel-header>span{color:var(--muted);font-size:13px}.archived-entities>div:last-child{padding:2px 18px 10px}.archived-entities>div:last-child>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:52px;display:flex}.archived-entities>div:last-child>div:last-child{border-bottom:0}.archived-entities strong,.archived-entities small{display:block}.archived-entities strong{font-size:14px}.archived-entities small{color:var(--muted);margin-top:4px;font-size:12px}.zoom-resource-note{color:#37725f;background:#f0faf6;border:1px solid #cfe8df;border-radius:11px;justify-content:space-between;align-items:center;gap:14px;min-height:42px;padding:9px 14px;font-size:13px;display:flex}.zoom-resource-note strong{font-size:14px}.zoom-resource-note.has-conflict{color:#9b641f;background:#fff8ed;border-color:#f0c993}.schedule-rules{color:#66558f;background:#f8f6fd;border:1px solid #dcd5f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;min-height:38px;padding:8px 13px;font-size:13px;display:flex}.schedule-rules span{background:#fff;border-radius:7px;padding:4px 7px;font-weight:600}.schedule-readiness{background:#f2faf7;border:1px solid #c8e3d9;border-radius:10px;gap:4px;padding:11px 13px;display:grid}.schedule-readiness strong{color:#34745f;font-size:14px}.schedule-readiness span{color:#5e7b72;font-size:12px;line-height:1.5}.schedule-readiness.blocked{background:#fff8ee;border-color:#efc99e}.schedule-readiness.blocked strong{color:#a56421}.schedule-readiness.blocked span{color:#876b4f}.days-off-panel .panel-header h2{margin-bottom:4px}.days-off-panel .panel-header p{max-width:610px;color:var(--muted);margin:0;font-size:12px}.days-off-panel .panel-header>span{color:var(--muted);font-size:13px}.days-off-header-actions,.day-off-row-actions{align-items:center;gap:8px;display:flex}.days-off-header-actions>span{color:var(--muted);white-space:nowrap;font-size:13px}.single-day-off-form{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr auto;align-items:end;gap:9px;padding:10px 17px 13px;display:grid}.days-off-panel form label{gap:5px;display:grid}.days-off-panel form label span{color:var(--muted);font-size:12px;font-weight:600}.days-off-panel form input{border:1px solid #dfe3ea;border-radius:8px;width:100%;min-height:38px;padding:0 9px;font-size:13px}.bulk-days-off-form{border-bottom:1px solid var(--line);background:#fbfafe;gap:11px;padding:14px 17px 16px;display:grid}.bulk-days-off-title{justify-content:space-between;align-items:center;gap:16px;display:flex}.bulk-days-off-title strong,.bulk-days-off-title span{display:block}.bulk-days-off-title strong{font-size:14px}.bulk-days-off-title span{color:var(--muted);margin-top:4px;font-size:12px}.weekday-presets{gap:5px;display:flex}.weekday-presets button{color:#685a8e;cursor:pointer;background:#fff;border:1px solid #ddd7ee;border-radius:7px;min-height:27px;padding:0 8px;font-size:11px;font-weight:700}.bulk-days-off-fields{grid-template-columns:150px 150px 1fr;gap:9px;display:grid}.weekday-picker{border:0;align-items:center;gap:6px;margin:0;padding:0;display:flex}.weekday-picker legend{color:var(--muted);margin-bottom:6px;font-size:12px}.weekday-picker label{display:block!important}.weekday-picker input{opacity:0;pointer-events:none;position:absolute}.weekday-picker span{color:#7a8391;cursor:pointer;background:#fff;border:1px solid #dfe3ea;border-radius:8px;place-items:center;width:36px;height:30px;display:grid;font-size:8px!important}.weekday-picker input:checked+span{color:var(--violet);background:#eee9ff;border-color:#9f8bdd}.bulk-days-off-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-days-off-summary>span{color:var(--muted);font-size:12px}.bulk-days-off-summary strong{color:var(--ink);font-size:14px}.bulk-days-off-summary button:disabled{opacity:.45;cursor:default}.days-off-list{max-height:270px;overflow:auto}.days-off-list>article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:8px 17px;display:flex}.days-off-list>article.has-lessons{background:#fff9f0}.days-off-list strong,.days-off-list small{display:block}.days-off-list strong{font-size:13px}.days-off-list small{color:var(--muted);margin-top:4px;font-size:12px}.days-off-list .has-lessons small{color:#a56626}.days-off-list>p{color:var(--muted);margin:0;padding:16px 17px;font-size:13px}.calendar-panel{overflow:auto}.calendar-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:9px;min-width:850px;min-height:64px;padding:12px 17px;display:flex}.calendar-toolbar strong{text-transform:capitalize;margin:0 9px;font-size:15px}.calendar-toolbar>span{flex:1}.calendar-filter{gap:3px;min-width:165px;display:grid}.calendar-filter>span{color:var(--muted);font-size:12px}.view-switch{background:#f1f2f5;border-radius:9px;padding:3px;display:flex}.view-switch button{color:#6e7788;cursor:pointer;background:0 0;border:0;border-radius:7px;min-height:32px;padding:0 11px;font-size:13px}.view-switch button.active{color:var(--violet);background:#fff;box-shadow:0 2px 8px #1b1f2b14}.calendar-drag-hint{border-bottom:1px solid var(--line);color:#756b8f;background:#faf9fd;min-width:850px;margin:0;padding:8px 17px;font-size:12px;line-height:1.45}.week-grid{background:repeating-linear-gradient(#0000 0 89px,#edf0f4 90px);grid-template-columns:54px repeat(7,minmax(120px,1fr));min-width:980px;height:660px;display:grid;overflow:auto}.time-column,.day-column{border-right:1px solid var(--line);grid-template-rows:54px repeat(7,90px);display:grid;position:relative}.time-column span{color:#9da4b0;padding:0 7px;font-size:12px;transform:translateY(-5px)}.day-column>strong{text-transform:capitalize;border-bottom:1px solid var(--line);place-items:center;font-size:14px;display:grid}.day-column.today>strong,.month-day.today>span{color:var(--violet);background:#faf8ff}.day-column.day-off{background:repeating-linear-gradient(135deg,#e8decd2e 0 8px,#ffffff40 8px 16px)}.day-column.day-off>strong{color:#9a6d39;background:#fff8ee}.day-off-label{z-index:1;color:#97652f;background:#f4e4ce;border-radius:5px;padding:2px 5px;font-size:6px;font-weight:700;position:absolute;top:35px;left:50%;transform:translate(-50%)}.calendar-event{z-index:1;border:0;border-left:3px solid var(--violet);text-align:left;cursor:pointer;background:#eee9ff;border-radius:7px;padding:7px;position:absolute;left:6px;right:6px;overflow:hidden}.calendar-event.movable{cursor:grab}.calendar-event.movable:active{cursor:grabbing;opacity:.78}.calendar-event.is-dragging{opacity:.95;box-shadow:0 0 0 3px #ffb800,0 8px 18px #472c0033}.day-column.drop-target{background:linear-gradient(#7759d614,#7759d614);box-shadow:inset 0 0 0 2px #7759d647}.day-column.day-off.drop-target{background:#c6594b14;box-shadow:inset 0 0 0 2px #c6594b3d}.calendar-event:hover,.month-event:hover{filter:brightness(.97)}.calendar-event b,.calendar-event span,.calendar-event small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-event b{font-size:12px}.calendar-event span,.calendar-event small{color:#7b748c;margin-top:3px;font-size:11px}.calendar-event .calendar-event-time{color:inherit;font-size:inherit;margin:0;display:inline}.calendar-event .calendar-event-live-time{color:#281a00;background:#ffcb32;border-radius:4px;padding:2px 4px;font-size:13px;font-weight:700}.calendar-event.event-2{background:#e8f6f0;border-color:#42a480}.calendar-event.event-3{background:#fff0df;border-color:#db8732}.calendar-drop-preview{z-index:5;pointer-events:none;color:#fff;text-align:center;background:#2a1b04f0;border:3px solid #ffb800;border-radius:8px;place-content:center;gap:3px;display:grid;position:absolute;left:4px;right:4px;box-shadow:0 10px 24px #3e26004d}.calendar-drop-preview b{color:#281a00;background:#ffcb32;border-radius:5px;padding:3px 6px;font-size:14px}.calendar-drop-preview span{color:#fff;font-size:11px;font-weight:700}.calendar-floating-drag-card{z-index:1000;pointer-events:none;color:#fff;background:#2a1b04;border:3px solid #ffb800;border-radius:10px;width:190px;max-width:calc(100vw - 32px);padding:10px 12px;position:fixed;transform:translateY(-50%);box-shadow:0 14px 34px #2a1b0461}.calendar-floating-drag-card strong,.calendar-floating-drag-card small{display:block}.calendar-floating-drag-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.calendar-floating-drag-card strong span{color:#281a00;background:#ffcb32;border-radius:5px;margin-right:7px;padding:4px 6px;font-size:14px;font-weight:700;display:inline-block}.calendar-floating-drag-card small{color:#fff4ce;margin-top:7px;font-size:11px}.calendar-event.status-completed,.month-event.status-completed{color:#36735e;background:#e8f6f0;border-color:#42a480}.calendar-event.status-cancelled,.month-event.status-cancelled{color:#8a919d;opacity:.72;background:#f3f4f6;border-color:#a9afb9;text-decoration:line-through}.month-grid{grid-template-columns:repeat(7,1fr);min-width:850px;display:grid}.month-weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#8d95a3;place-items:center;min-height:34px;font-size:13px;display:grid}.month-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:112px;padding:7px}.month-day>span{border-radius:50%;place-items:center;width:25px;height:25px;font-size:13px;font-weight:600;display:grid}.month-day.muted{color:#b7bcc5;background:#fafbfc}.month-event{color:#5a4f7a;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:#eee9ff;border:0;border-radius:6px;width:100%;margin-top:4px;padding:5px 6px;font-size:12px;overflow:hidden}.month-day.day-off{background:#fffaf2}.month-day.day-off>small{color:#a06a2e;margin:1px 0 5px;font-size:11px;font-weight:700;display:block}.group-card-content{padding:20px 24px 24px}.group-summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.group-summary>div{background:#f6f5fa;border-radius:10px;padding:13px}.group-summary span,.group-summary strong{display:block}.group-summary span{color:var(--muted);font-size:12px}.group-summary strong{margin-top:5px;font-size:14px}.group-members{margin:18px 0}.group-members h3{margin:0 0 9px;font-size:15px}.group-members>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:35px;font-size:13px;display:flex}.group-members>p{color:var(--muted);font-size:13px}.form-grid.embedded{padding:0}.zoom-link{color:#257b63;align-items:center;min-height:28px;margin-top:3px;font-size:14px;font-weight:700;display:inline-flex}.group-member-link{border:0;border-bottom:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);cursor:pointer;background:#fff;justify-content:space-between;align-items:center;padding:0;font-size:13px;display:flex}.group-member-link:hover span{color:var(--violet);text-underline-offset:3px;text-decoration:underline}.modal:has(.group-activity){width:min(780px,100%)}.group-activity{border:1px solid var(--line);border-radius:11px;margin-top:18px;overflow:hidden}.group-activity-header{background:#fafbfc;justify-content:space-between;align-items:center;gap:14px;min-height:72px;padding:10px 14px;display:flex}.group-activity-header h3,.group-activity-header p{margin:0}.group-activity-header h3{font-size:15px}.group-activity-header p{color:var(--muted);margin-top:4px;font-size:12px}.group-activity-header>div:last-child{align-items:end;gap:8px;display:flex}.group-activity-header .secondary-button{min-height:34px}.group-attendance-summary{border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);display:grid}.group-attendance-summary>div{text-align:center;border-right:1px solid var(--line);place-content:center;min-height:58px;padding:8px;display:grid}.group-attendance-summary>div:last-child{border-right:0}.group-attendance-summary strong,.group-attendance-summary span{display:block}.group-attendance-summary strong{font-size:16px}.group-attendance-summary>div:first-child strong{color:var(--violet)}.group-attendance-summary span{color:var(--muted);margin-top:3px;font-size:12px}.group-upcoming{margin:18px 0}.group-upcoming h3{margin:0 0 8px;font-size:15px}.group-upcoming>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:6px 0;display:flex}.group-upcoming>button:hover{color:var(--violet)}.group-upcoming span strong,.group-upcoming span small{display:block}.group-upcoming span strong{font-size:13px}.group-upcoming span small{color:var(--muted);margin-top:4px;font-size:12px}.group-upcoming em{color:var(--violet);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700}.group-upcoming>p{color:var(--muted);font-size:13px}.group-members-manager{border:1px solid var(--line);border-radius:11px;margin:18px 0;overflow:hidden}.group-members-header{background:#fafbfc;justify-content:space-between;align-items:end;gap:14px;padding:12px 14px;display:flex}.group-members-header h3,.group-members-header p{margin:0}.group-members-header h3{font-size:15px}.group-members-header p{color:var(--muted);margin-top:4px;font-size:12px}.group-member-add{align-items:end;gap:7px;display:flex}.group-member-add select{background:#fff;border:1px solid #dfe3ea;border-radius:8px;min-width:230px;min-height:34px;padding:0 8px;font-size:12px}.group-member-add button{min-height:34px}.group-member-add button:disabled{opacity:.45;cursor:not-allowed}.group-member-management-list{max-height:300px;overflow:auto}.group-member-management-list>article{border-bottom:1px solid var(--line);grid-template-columns:1fr 90px auto;align-items:center;gap:12px;min-height:52px;padding:7px 13px;display:grid}.group-member-management-list>article:last-child{border-bottom:0}.group-member-management-list article>button:first-child{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.group-member-management-list article>button:first-child:hover strong{color:var(--violet)}.group-member-management-list strong,.group-member-management-list small{display:block}.group-member-management-list strong{font-size:13px}.group-member-management-list small{color:var(--muted);margin-top:4px;font-size:12px}.group-member-management-list article>span{color:#28795e;text-align:right;font-size:13px;font-weight:700}.group-member-management-list>p{color:var(--muted);margin:0;padding:16px 13px;font-size:13px}.subject-checklist{border:1px solid #dfe3ea;border-radius:9px;flex-wrap:wrap;gap:9px;margin:0;padding:13px;display:flex}.subject-checklist legend{color:#697386;padding:0 5px;font-size:13px;font-weight:700}.subject-checklist label{color:#605676;cursor:pointer;background:#f6f4fb;border-radius:7px;align-items:center;gap:7px;min-height:30px;padding:0 9px;font-size:13px;display:flex}.subject-checklist input{accent-color:var(--violet)}.modal:has(.lesson-card){width:min(780px,100%)}.lesson-card{padding:20px 24px 24px}.lesson-resource{background:#f0faf6;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;margin:16px 0 8px;padding:12px 14px;display:flex}.lesson-resource span,.lesson-resource strong{font-size:13px;display:block}.lesson-resource span{color:var(--muted)}.lesson-resource strong{margin-top:4px;font-size:14px}.lesson-links{gap:8px;display:flex}.lesson-links button{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:13px;font-weight:600}.attendance-section{margin:17px 0}.attendance-section h3{margin:0 0 8px;font-size:15px}.attendance-section>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 150px;align-items:center;gap:12px;min-height:40px;display:grid}.attendance-section button{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.attendance-section button:hover{color:var(--violet)}.attendance-section select{background:#fff;border:1px solid #dfe3ea;border-radius:7px;min-height:30px;padding:0 8px;font-size:13px}.attendance-section>p{color:var(--muted);font-size:13px}.lesson-money{margin-top:4px}.attendance-section>.attendance-header{grid-template-columns:1fr auto;min-height:54px}.attendance-header h3{margin-bottom:5px}.attendance-header>div:last-child{align-items:center;gap:9px;display:flex}.attendance-header .secondary-button{min-height:30px;color:var(--violet);background:#f8f6fd;border:1px solid #dcd5f0;padding:0 10px}.attendance-header .text-button{color:var(--muted)}.attendance-summary{color:var(--muted);font-size:12px}.attendance-summary b{color:var(--ink)}.complete-lesson-button{color:#26785d;cursor:pointer;background:#eaf8f2;border:1px solid #b8dfd0;border-radius:9px;min-height:40px;padding:0 13px;font-size:13px;font-weight:700}.lesson-results>.lesson-student-result{border-bottom:1px solid var(--line);padding:10px 0 12px;display:block}.lesson-student-result-head{justify-content:space-between;align-items:center;gap:14px;min-height:34px;display:flex}.lesson-student-result-head>button{font-size:14px;font-weight:700}.lesson-student-result-head label,.lesson-feedback-grid label{gap:4px;display:grid}.lesson-student-result-head label{grid-template-columns:auto 150px;align-items:center}.lesson-student-result-head label span,.lesson-feedback-grid label span{color:var(--muted);font-size:11px;font-weight:600}.lesson-feedback-grid{grid-template-columns:145px 155px minmax(210px,1fr);gap:8px;margin-top:8px;display:grid}.lesson-feedback-grid select,.lesson-feedback-grid input{background:#fff;border:1px solid #dfe3ea;border-radius:7px;width:100%;min-height:34px;padding:0 8px;font-size:13px}.lesson-feedback-grid input:focus,.lesson-feedback-grid select:focus{border-color:#9e8bdf;outline:0;box-shadow:0 0 0 3px #7759d614}.student-finance{border:1px solid var(--line);border-radius:11px;overflow:hidden}.student-finance-header{background:#fafbfc;justify-content:space-between;align-items:center;gap:14px;min-height:66px;padding:10px 14px;display:flex}.student-finance-header h3,.student-finance-header p{margin:0}.student-finance-header h3{font-size:15px}.student-finance-header p{color:var(--muted);margin-top:4px;font-size:12px}.student-finance-summary{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.student-finance-summary>div{border-right:1px solid var(--line);align-content:center;gap:4px;min-height:60px;padding:9px 11px;display:grid}.student-finance-summary>div:last-child{border-right:0}.student-finance-summary span{color:var(--muted);font-size:12px}.student-finance-summary strong{font-size:15px}.student-finance-summary .has-balance strong{color:#bd721f}.student-finance-summary .has-overpayment strong{color:#28795e}.student-payment-history{max-height:310px;overflow:auto}.student-payment-head,.student-payment-history>div:not(.student-payment-head){border-bottom:1px solid var(--line);grid-template-columns:90px 1fr 100px;align-items:center;gap:12px;min-height:42px;padding:0 14px;font-size:13px;display:grid}.student-payment-head{min-height:32px;color:var(--muted);background:#fafbfc;font-size:12px;position:sticky;top:0}.student-payment-history>div>strong{text-align:right}.student-payment-history>p{color:var(--muted);margin:0;padding:18px 14px;font-size:13px}.student-finance-more{border-top:1px solid var(--line);color:var(--muted);padding:9px 14px;font-size:12px;display:block}.modal:has(.student-attendance){width:min(780px,100%)}.student-attendance{border:1px solid var(--line);border-radius:11px;overflow:hidden}.student-attendance-header{background:#fafbfc;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:10px 14px;display:flex}.student-attendance-header h3,.student-attendance-header p{margin:0}.student-attendance-header h3{font-size:15px}.student-attendance-header p{color:var(--muted);margin-top:4px;font-size:12px}.student-attendance-actions{align-items:center;gap:9px;display:flex}.student-attendance-actions>strong{color:var(--violet);font-size:22px}.student-attendance-actions .secondary-button{min-height:31px;padding-inline:9px}.student-attendance-summary{border-block:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.student-attendance-summary>div{text-align:center;border-right:1px solid var(--line);place-content:center;min-height:54px;padding:8px 10px;display:grid}.student-attendance-summary>div:last-child{border-right:0}.student-attendance-summary b,.student-attendance-summary span{display:block}.student-attendance-summary b{font-size:16px}.student-attendance-summary span{color:var(--muted);margin-top:3px;font-size:12px}.student-attendance-list{max-height:320px;overflow:auto}.student-attendance-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:16px;padding:7px 14px;display:flex}.student-attendance-list>button:hover{background:#faf9fd}.student-attendance-list span strong,.student-attendance-list span small{display:block}.student-attendance-list span strong{font-size:13px}.student-attendance-list span small{color:var(--muted);margin-top:4px;font-size:12px}.student-attendance-list>button>b{white-space:nowrap;border-radius:7px;padding:4px 7px;font-size:12px}.attendance-present{color:#28795e;background:#e8f6f0}.attendance-late{color:#ad681d;background:#fff3e5}.attendance-absent{color:#b34d4d;background:#fff0f0}.attendance-not_marked{color:#76808e;background:#f0f2f5}.student-attendance-list>p{color:var(--muted);margin:0;padding:18px 14px;font-size:13px}.attendance-more{border-top:1px solid var(--line);color:var(--muted);padding:9px 14px;font-size:12px;display:block}.student-progress{border:1px solid #ddd7ee;border-radius:11px;overflow:hidden}.student-progress-header{background:#faf8fe;justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:10px 14px;display:flex}.student-progress-header h3,.student-progress-header p{margin:0}.student-progress-header h3{font-size:15px}.student-progress-header p{color:var(--muted);margin-top:4px;font-size:12px}.student-progress-header .primary-button{min-height:34px}.student-progress-header .primary-button:disabled{opacity:.45;cursor:default}.student-progress-list{max-height:390px;overflow:auto}.student-progress-list>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:72px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;grid-template-columns:140px 190px minmax(180px,1fr) auto;align-items:center;gap:12px;padding:9px 14px;display:grid}.student-progress-list>button:hover{background:#fbfafe}.progress-date strong,.progress-date small{display:block}.progress-date strong{font-size:13px}.progress-date small{color:var(--muted);margin-top:4px;font-size:12px}.progress-badges{flex-wrap:wrap;gap:5px;display:flex}.progress-badges b{color:#747d8b;background:#f0f2f5;border-radius:7px;padding:4px 6px;font-size:11px}.progress-badges .activity-high,.progress-badges .homework-done{color:#28795e;background:#e8f6f0}.progress-badges .activity-low,.progress-badges .homework-missing{color:#b34d4d;background:#fff0f0}.progress-badges .homework-partial{color:#ad681d;background:#fff3e5}.progress-comment{color:#5e6878;font-size:12px;line-height:1.5}.student-progress-list em{color:var(--violet);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700}.student-progress-list>p{color:var(--muted);margin:0;padding:18px 14px;font-size:13px;line-height:1.5}.student-progress-more{border-top:1px solid var(--line);color:var(--muted);padding:9px 14px;font-size:12px;display:block}.check-field{color:#596476;border:1px solid #dfe3ea;border-radius:9px;align-items:center;gap:9px;min-height:38px;padding:9px 11px;font-size:14px;font-weight:700;display:flex}.check-field input{accent-color:var(--violet)}.conflict-banner{color:#8f5b1f;background:#fff6e8;border:1px solid #efc18d;border-radius:10px;margin-bottom:15px;padding:12px 14px}.conflict-banner strong{font-size:14px}.conflict-banner p{margin:5px 0 0;font-size:13px;line-height:1.5}.payment-search input{background:#faf9fe}.correction-panel .panel-header{gap:20px}.compact-search{max-width:330px}.correction-list{max-height:440px;overflow:auto}.correction-list>div{border-bottom:1px solid var(--line);grid-template-columns:85px minmax(140px,1fr) minmax(150px,1.2fr) 90px auto;align-items:center;gap:12px;min-height:48px;padding:0 18px;font-size:13px;display:grid}.correction-list>div>span{color:var(--muted)}.correction-list>div>b{text-align:right}.payment-row-actions{gap:7px;display:flex}.payment-row-actions .archive-button{min-height:34px}.correction-list>.finance-empty{min-height:100px;color:var(--muted);grid-template-columns:1fr;place-items:center;display:grid}.series-scope{background:#f8f6fd;border:1px solid #dcd5f0;border-radius:10px;grid-template-columns:1fr minmax(210px,260px);align-items:end;gap:18px;margin:0 0 16px;padding:13px 14px;display:grid}.series-scope strong,.series-scope span{display:block}.series-scope strong{color:#5d4c8d;font-size:14px}.series-scope>div span{color:var(--muted);margin-top:4px;font-size:12px}.lesson-form-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:17px;display:flex}.lesson-destructive-actions{gap:8px;display:flex}.lesson-form-footer .form-actions{padding:0}.series-move-dialog{padding:19px 24px 22px}.series-move-dialog>p{color:var(--muted);margin:0 0 13px;font-size:13px;line-height:1.55}.series-move-options{gap:9px;display:grid}.series-move-options>button{text-align:left;border-radius:10px;min-height:68px;padding:12px 14px;display:block}.series-move-options strong,.series-move-options span{display:block}.series-move-options strong{font-size:14px}.series-move-options span{opacity:.82;margin-top:5px;font-size:12px;font-weight:500;line-height:1.45}.series-move-cancel{margin:13px auto 0;display:block}.subject-admin-list,.schedule-history-list{padding:3px 18px 10px}.subject-admin-list>div,.schedule-history-list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:54px;display:flex}.subject-admin-list>div:last-child,.schedule-history-list>div:last-child{border-bottom:0}.subject-admin-list span strong,.subject-admin-list span small,.schedule-history-list span strong,.schedule-history-list span small{display:block}.subject-admin-list span strong,.schedule-history-list span strong{font-size:14px}.subject-admin-list span small,.schedule-history-list span small{color:var(--muted);margin-top:4px;font-size:12px}.archive-button,.danger-button{color:#bc4d4d;cursor:pointer;background:#fff7f7;border:1px solid #efcaca;border-radius:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:600}.archive-button:disabled{opacity:.45;cursor:not-allowed}.danger-button{color:#fff;background:#c95555;border-color:#c95555;min-height:40px}.archive-warning{padding:20px 24px 24px}.archive-warning>strong{font-size:15px}.archive-warning>p{color:var(--muted);font-size:14px;line-height:1.6}.recurrence-panel{grid-template-columns:1fr 220px auto;align-items:center;gap:14px;padding:14px 17px;display:grid}.recurrence-panel p{margin-bottom:4px}.recurrence-panel>div>strong{font-size:14px}.schedule-history .panel-header>span{color:var(--muted);font-size:13px}.history-empty{color:var(--muted);margin:0;padding:18px 20px;font-size:13px}.schedule-compare{padding:18px 24px 24px}.schedule-compare-summary{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.schedule-compare-summary>div{border:1px solid var(--line);text-align:center;background:#fafbfc;border-radius:10px;padding:14px}.schedule-compare-summary strong,.schedule-compare-summary span{display:block}.schedule-compare-summary strong{color:var(--violet);font-size:21px}.schedule-compare-summary span{color:var(--muted);margin-top:3px;font-size:12px}.schedule-compare-note{color:#67766f;background:#f3f7f6;border-radius:9px;margin:12px 0;padding:10px 12px;font-size:12px}.schedule-compare-list{border:1px solid var(--line);border-radius:10px;max-height:320px;overflow:auto}.schedule-compare-list>div{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr;align-items:center;gap:10px;min-height:43px;padding:8px 11px;font-size:13px;display:grid}.schedule-compare-list>div:last-child{border-bottom:0}.schedule-compare-list b{font-size:12px}.schedule-compare-list .restore b{color:#28795e}.schedule-compare-list .change b{color:#8066cf}.schedule-compare-list .remove b{color:#bc4d4d}.schedule-compare-empty{color:var(--muted);place-items:center;grid-template-columns:1fr!important}.schedule-compare-actions{margin-top:16px}.finance-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.payment-table{overflow:hidden}.table-head,.table-row{border-bottom:1px solid #eff1f4;grid-template-columns:90px minmax(150px,1fr) minmax(180px,1.4fr) 110px;align-items:center;gap:15px;min-height:48px;padding:0 20px;font-size:14px;display:grid}.table-head{color:#9aa2af;background:#fafbfc;min-height:38px;font-size:12px}.table-row:last-child{border-bottom:0}.table-row>span{color:#7f8998}.table-row b{text-align:right}.finance-actions{justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:13px 17px;display:flex}.finance-actions p{margin-bottom:4px}.finance-actions strong{font-size:14px}.finance-actions>div:last-child{gap:9px;display:flex}.expense-list{max-height:440px;overflow:auto}.expense-list>div{border-bottom:1px solid var(--line);grid-template-columns:85px minmax(140px,1fr) minmax(150px,1.2fr) 90px auto;align-items:center;gap:12px;min-height:50px;padding:0 18px;font-size:13px;display:grid}.expense-list>div>span{color:var(--muted)}.expense-list>div>b{text-align:right}.expense-list>.finance-empty{min-height:100px;color:var(--muted);grid-template-columns:1fr;place-items:center;display:grid}.finance-period-panel{grid-template-columns:minmax(180px,1fr) auto auto;align-items:end;gap:16px;min-height:78px;padding:13px 17px;display:grid}.finance-period-panel p{margin-bottom:4px}.finance-period-panel strong{text-transform:capitalize;font-size:14px;display:block}.finance-period-mode{background:#f1f2f5;border-radius:9px;padding:3px;display:flex}.finance-period-mode button{min-height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 11px;font-size:12px;font-weight:600}.finance-period-mode button.active{color:var(--violet);background:#fff;box-shadow:0 1px 4px #2d234b1f}.custom-period-fields{gap:8px;display:flex}.custom-period-fields label{gap:4px;display:grid}.custom-period-fields span,.report-period-label{color:var(--muted);font-size:12px}.custom-period-fields input{background:#fff;border:1px solid #dfe3ea;border-radius:8px;min-height:34px;padding:0 9px;font-size:13px}.report-period-label.invalid{color:#b85b5b}.report-export-panel button:disabled{opacity:.5;cursor:not-allowed}.report-export-panel{justify-content:space-between;align-items:center;gap:18px;min-height:78px;padding:13px 17px;display:flex}.report-export-panel p{margin-bottom:4px}.report-export-panel strong{font-size:14px}.report-export-panel>div:last-child{align-items:end;gap:9px;display:flex}.quality-actions{align-items:center;gap:9px;display:flex}.payroll-panel .panel-header{align-items:end}.payroll-panel .panel-header h2{margin-bottom:4px}.payroll-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.month-picker{gap:4px;display:grid}.month-picker span{color:var(--muted);font-size:12px}.month-picker input{background:#fff;border:1px solid #dfe3ea;border-radius:8px;min-height:34px;padding:0 9px;font-size:13px}.payroll-warning{color:#a5621b;background:#fff8ef;border:1px solid #f0d4b4;border-radius:9px;margin:0 18px 10px;padding:10px 12px;font-size:12px}.payroll-table{overflow-x:auto}.payroll-head,.payroll-row,.payroll-total{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1fr) 90px 110px 110px 150px;align-items:center;gap:12px;min-width:760px;min-height:54px;padding:0 18px;font-size:13px;display:grid}.payroll-head{min-height:35px;color:var(--muted);background:#fafbfc;font-size:12px}.payroll-row>span:first-child strong,.payroll-row>span:first-child small{display:block}.payroll-row>span:first-child small{color:var(--muted);margin-top:4px;font-size:12px}.payroll-row>b,.payroll-total>b{text-align:right}.payroll-balance-action{justify-content:flex-end;align-items:center;gap:8px;display:flex}.payroll-balance-action>b{text-align:right;min-width:58px}.payroll-total{color:#57477f;background:#f8f6fd;border-bottom:0}.balance-due{color:#bd721f}.balance-overpaid{color:#28795e}.payroll-note{color:var(--muted);margin:0;padding:12px 18px 15px;font-size:12px}.payment-control-panel .panel-header{align-items:end}.payment-control-panel .panel-header h2{margin-bottom:4px}.payment-control-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.payment-control-summary{border-block:1px solid var(--line);background:#fafbfc;grid-template-columns:repeat(3,1fr);display:grid}.payment-control-summary>div{border-right:1px solid var(--line);align-content:center;gap:3px;min-height:72px;padding:13px 18px;display:grid}.payment-control-summary>div:last-child{border-right:0}.payment-control-summary span,.payment-control-summary small{color:var(--muted);font-size:12px}.payment-control-summary strong{font-size:16px}.payment-control-summary .has-balance strong{color:#bd721f}.payment-control-tools{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;display:flex}.payment-view-tabs{flex-wrap:wrap;gap:5px;display:flex}.payment-view-tabs button{color:#6c7585;cursor:pointer;background:#fff;border:1px solid #dfe3ea;border-radius:8px;min-height:30px;padding:0 9px;font-size:12px;font-weight:600}.payment-view-tabs button.active{color:var(--violet);background:#f1edfc;border-color:#8d78d6}.payment-control-table{max-height:520px;overflow:auto}.payment-control-head,.payment-control-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) 105px 95px 95px 245px;align-items:center;gap:12px;min-width:1080px;min-height:54px;padding:0 18px;font-size:13px;display:grid}.payment-control-head{z-index:1;min-height:35px;color:var(--muted);background:#fafbfc;font-size:12px;position:sticky;top:0}.payment-control-row>b{text-align:right}.payment-control-row>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:700;display:block}.payment-control-row>span:nth-child(2) small.payment-overdue-label{color:#bc4d4d}.expected-charge{justify-items:end;gap:3px;display:grid}.expected-charge>b{font-size:13px}.expected-charge>small{color:var(--violet);background:#f1edfc;border-radius:5px;padding:2px 5px;font-size:11px;font-weight:700}.payment-student-link{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.payment-student-link:hover{color:var(--violet);text-decoration:underline}.payment-control-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.compact-action{justify-content:center;align-items:center;min-height:29px;padding:0 10px;font-size:12px;text-decoration:none;display:inline-flex}.individual-package-panel .panel-header{align-items:center}.individual-package-panel .panel-header h2{margin-bottom:4px}.individual-package-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.individual-package-summary{border-block:1px solid var(--line);background:#fafbfc;grid-template-columns:repeat(4,1fr);display:grid}.individual-package-summary>div{border-right:1px solid var(--line);align-content:center;gap:3px;min-height:64px;padding:11px 18px;display:grid}.individual-package-summary>div:last-child{border-right:0}.individual-package-summary span{color:var(--muted);font-size:12px}.individual-package-summary strong{font-size:15px}.individual-package-summary .has-balance strong{color:#bd721f}.individual-package-table{max-height:460px;overflow:auto}.individual-package-head,.individual-package-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(170px,1fr) minmax(155px,1fr) 110px minmax(170px,1fr) 230px;align-items:center;gap:12px;min-width:900px;min-height:54px;padding:0 18px;font-size:13px;display:grid}.individual-package-head{z-index:1;min-height:35px;color:var(--muted);background:#fafbfc;font-size:12px;position:sticky;top:0}.individual-package-row>span small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.individual-package-row>strong{text-align:right}.package-empty{color:#bc4d4d}.package-low{color:#bd721f}.package-ready{color:#28795e}.individual-package-row>span small.legacy-payment-note{color:#a5621b;font-weight:700}.correction-panel .panel-header h2{margin-bottom:4px}.correction-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.payment-review-warning{color:#89551c;background:#fff8ef;border:1px solid #f0d4b4;border-radius:9px;align-items:center;gap:12px;margin:0 18px 10px;padding:10px 12px;font-size:12px;display:flex}.payment-review-warning strong{white-space:nowrap}.payment-review-warning span{color:#9b6c38}.payment-review-tools{border-bottom:1px solid var(--line);padding:0 18px 10px}.monthly-charge-summary{background:#faf8ff;border:1px solid #e3def4;border-radius:10px;grid-template-columns:1fr auto;gap:4px 16px;padding:13px 14px;display:grid}.monthly-charge-summary span{color:var(--muted);font-size:13px;font-weight:700}.monthly-charge-summary strong{color:var(--violet);font-size:16px}.monthly-charge-summary small{color:var(--muted);grid-column:1/-1;font-size:12px;line-height:1.45}.monthly-charge-actions{align-items:center;width:100%}.monthly-charge-actions>span{flex:1}.month-lock-bar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fffaf2;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:70px;padding:11px 18px;display:grid}.month-lock-bar.locked{background:#f3faf7}.month-lock-icon{color:#a96b20;background:#fff0d8;border-radius:9px;place-items:center;width:30px;height:30px;font-size:16px;font-weight:700;display:grid}.month-lock-bar.locked .month-lock-icon{color:#28795e;background:#dff3ea}.month-lock-bar strong,.month-lock-bar small{display:block}.month-lock-bar strong{font-size:13px}.month-lock-bar small{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.month-lock-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.expected-charge .snapshot-badge{color:#28795e;background:#e5f5ed}.workload-panel .panel-header{align-items:end}.workload-panel .panel-header h2{margin-bottom:4px}.workload-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.workload-actions{align-items:end;gap:9px;display:flex}.workload-actions .secondary-button{min-height:34px}.workload-table{overflow-x:auto}.workload-head,.workload-row,.workload-total{border:0;border-bottom:1px solid var(--line);width:100%;min-width:760px;min-height:48px;color:var(--ink);text-align:left;background:#fff;grid-template-columns:minmax(170px,1fr) repeat(4,90px) 110px;align-items:center;gap:12px;padding:0 18px;font-size:13px;display:grid}.workload-head{min-height:35px;color:var(--muted);background:#fafbfc;font-size:12px}.workload-row{cursor:pointer}.workload-row:hover{background:#faf9fd}.workload-row>b,.workload-total>b{text-align:right}.workload-total{color:#57477f;background:#f8f6fd;border-bottom:0}.settings-grid{gap:15px;max-width:760px;display:grid}.settings-card{grid-template-columns:45px 1fr auto;align-items:center;gap:16px;padding:20px;display:grid}.settings-icon{width:44px;height:44px;color:var(--violet);background:var(--violet-soft);border-radius:12px;place-items:center;font-size:20px;display:grid}.settings-card h3{margin:0 0 5px;font-size:15px}.settings-card p{max-width:530px;color:var(--muted);margin:0;font-size:13px;line-height:1.55}.settings-card.featured{background:linear-gradient(120deg,#fff,#fbf9ff);border-color:#d9d0f4}.settings-card.tabular-export-card{background:linear-gradient(120deg,#fff,#f7fcfa);border-color:#cfe5dc}.tabular-export-card .settings-icon{color:#28795e;background:#e9f6f1}.settings-card.pwa-status-card{background:linear-gradient(120deg,#fff,#f6faff);border-color:#cbddec}.pwa-status-card .settings-icon{color:#3d6293;background:#e9f2fb}.pwa-indicators{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.pwa-indicator{color:#7b8492;background:#f1f2f5;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:700}.pwa-indicator.online{color:#28795e;background:#e8f6f0}.pwa-indicator.offline{color:#a5621b;background:#fff1e2}.local-snapshots>.panel-header>span{color:var(--muted);font-size:13px}.local-snapshots>div:last-child{max-height:320px;padding:2px 18px 10px;overflow:auto}.local-snapshots>div:last-child>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:56px;display:flex}.local-snapshots>div:last-child>div:last-child{border-bottom:0}.local-snapshots strong,.local-snapshots small{display:block}.local-snapshots strong{font-size:14px}.local-snapshots small{color:var(--muted);margin-top:4px;font-size:12px}.quality-badge{border-radius:8px;padding:5px 8px;font-size:12px;font-weight:700}.quality-badge.clean{color:#28795e;background:#e8f6f0}.quality-badge.warning{color:#b96c1d;background:#fff1e2}.quality-grid{grid-template-columns:repeat(2,1fr);gap:9px;padding:3px 18px 10px;display:grid}.quality-grid article{background:#fafbfc;border:1px solid #e6e9ee;border-radius:9px;min-height:63px;padding:11px 12px}.quality-grid article.has-issues{background:#fffaf3;border-color:#f0d4b4}.quality-grid article>div{align-items:baseline;gap:8px;display:flex}.quality-grid strong{color:#77808f;font-size:17px}.quality-grid .has-issues strong{color:#bd721f}.quality-grid span{color:#667184;font-size:13px;font-weight:600}.quality-grid small{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.45;display:block}.data-quality-panel>p{color:var(--muted);margin:0;padding:2px 18px 16px;font-size:12px}.import-review-panel .panel-header{align-items:center}.import-review-panel .panel-header h2{margin-bottom:4px}.import-review-panel .panel-header p{max-width:610px;color:var(--muted);margin:0;font-size:12px;line-height:1.45}.import-review-list{padding:0 18px}.import-review-list>article{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(360px,1fr) auto;align-items:center;gap:12px;min-height:66px;padding:8px 0;display:grid}.review-order{width:24px;height:24px;color:var(--violet);background:#f1edfc;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.import-review-main{min-width:0;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.4fr);align-items:center;gap:16px;padding:0;display:grid}.import-review-main:hover{color:var(--violet)}.import-review-list span strong,.import-review-list span small,.import-review-list span b{display:block}.import-review-list span strong{font-size:14px}.import-review-list span small{color:var(--muted);margin-bottom:4px;font-size:12px}.import-review-list span b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.import-review-actions{gap:6px;display:flex}.import-review-actions button:disabled{opacity:.45;cursor:not-allowed}.import-review-note{color:var(--muted);margin:0;padding:10px 18px 13px;font-size:12px;line-height:1.5}.student-import-review-banner{background:#fff8ef;border:1px solid #f0d4b4;border-radius:10px;grid-template-columns:minmax(190px,.9fr) 1.1fr;gap:14px;padding:12px 14px;display:grid}.student-import-review-banner strong,.student-import-review-banner p{margin:0}.student-import-review-banner strong{color:#9a5b1e;font-size:14px}.student-import-review-banner p{color:#8a765f;margin-top:4px;font-size:12px;line-height:1.45}.student-import-review-banner>span{color:#5e5346;align-self:center;font-size:13px;font-weight:600;line-height:1.45}.import-review-toolbar{border-block:1px solid var(--line);background:#fbfbfd;align-items:center;gap:8px;padding:12px 18px;display:flex}.import-review-toolbar input{min-width:220px;margin-left:auto}.import-review-empty{text-align:center;place-content:center;justify-items:center;min-height:150px;padding:26px 18px;display:grid}.import-review-empty strong{font-size:14px}.import-review-empty span{max-width:560px;color:var(--muted);margin-top:7px;font-size:13px;line-height:1.55}.import-review-empty button{margin-top:14px}.activity-log-panel .panel-header{align-items:end;gap:18px}.activity-log-panel .panel-header h2{margin-bottom:4px}.activity-log-panel .panel-header p{color:var(--muted);margin:0;font-size:12px}.activity-log-actions{align-items:end;gap:8px;display:flex}.activity-log-actions .compact-field{min-width:125px}.activity-log-actions .compact-search{width:175px}.activity-log-actions .secondary-button{white-space:nowrap;min-height:34px}.activity-log-list{max-height:500px;overflow:auto}.activity-log-list>article{border-bottom:1px solid var(--line);grid-template-columns:120px 90px 1fr;align-items:center;gap:12px;min-height:62px;padding:9px 18px;display:grid}.activity-log-list time{color:var(--muted);font-size:12px}.activity-kind{width:fit-content;color:var(--violet);background:#f0edfa;border-radius:7px;padding:5px 7px;font-size:12px;font-weight:700}.activity-kind.payment,.activity-kind.expense{color:#28795e;background:#e9f6f1}.activity-kind.lesson,.activity-kind.schedule{color:#3d6293;background:#eef3fb}.activity-kind.import,.activity-kind.backup{color:#a5621b;background:#fff1e2}.activity-log-list article>div strong,.activity-log-list article>div p{display:block}.activity-log-list article>div strong{font-size:13px}.activity-log-list article>div p{color:#667184;margin:4px 0 0;font-size:12px;line-height:1.45}.activity-log-empty{text-align:center;place-content:center;min-height:120px;display:grid}.activity-log-empty strong,.activity-log-empty span{display:block}.activity-log-empty strong{font-size:14px}.activity-log-empty span{max-width:420px;color:var(--muted);margin-top:5px;font-size:12px;line-height:1.5}.activity-log-note{color:var(--muted);margin:0;padding:10px 18px 13px;font-size:12px}.import-preview{padding:22px 24px 24px}.import-summary-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.import-summary-grid div{text-align:center;background:#f7f5fc;border-radius:11px;padding:17px}.import-summary-grid strong,.import-summary-grid span{display:block}.import-summary-grid strong{color:var(--violet);font-size:23px}.import-summary-grid span{color:var(--muted);margin-top:3px;font-size:13px}.import-note,.import-warning{background:#f3f7f6;border-radius:10px;margin-top:15px;padding:14px 15px}.import-warning{background:#fff4e7}.import-note strong,.import-warning strong{font-size:14px}.import-note p,.import-warning p,.privacy-note{color:#737e8e;margin:5px 0 0;font-size:13px;line-height:1.55}.privacy-note{margin:15px 0}.teacher-journal-card{background:linear-gradient(135deg,#fff 0%,#f7fcfa 100%);border-color:#d7e8e1}.teacher-journal-tools{flex-wrap:wrap;align-items:end;gap:8px;margin-top:10px;display:flex}.teacher-journal-tools label{gap:4px;min-width:145px;display:grid}.teacher-journal-tools label span{color:var(--muted);font-size:12px}.teacher-journal-tools select,.teacher-journal-tools input{background:#fff;border:1px solid #dfe3ea;border-radius:8px;min-height:34px;padding:0 9px;font-size:13px}.teacher-journal-tools button:disabled{opacity:.45;cursor:not-allowed}.settings-inline-actions{align-items:center;gap:10px;margin-top:9px;display:flex}.settings-inline-actions .secondary-button{min-height:31px;padding-inline:10px}.settings-inline-actions small{color:var(--muted);font-size:12px}.teacher-journal-preview{padding:20px 24px 24px}.journal-summary-grid{grid-template-columns:repeat(4,1fr)}.journal-summary-grid .has-issues{background:#fff4e7}.journal-summary-grid .has-issues strong{color:#b26c24}.journal-preview-table{border:1px solid var(--line);border-radius:10px;max-height:420px;margin-top:15px;overflow:auto}.journal-preview-head,.journal-preview-row{border-bottom:1px solid var(--line);grid-template-columns:105px minmax(175px,.9fr) minmax(180px,1fr) minmax(250px,1.25fr);align-items:center;gap:12px;min-width:900px;padding:10px 13px;font-size:12px;display:grid}.journal-preview-head{z-index:1;color:var(--muted);background:#f8f9fb;font-weight:700;position:sticky;top:0}.journal-preview-row:last-child{border-bottom:0}.journal-preview-row>span:first-child{color:var(--muted)}.journal-preview-row span strong,.journal-preview-row span small{display:block}.journal-preview-row span small{color:var(--muted);margin-top:4px}.journal-preview-row>b{color:#a35d23;font-weight:600}.journal-preview-row.status-ready>b{color:#27745b}.journal-resolution-fields{gap:5px;display:grid}.journal-resolution-fields>strong{color:#a35d23;font-size:12px}.journal-resolution-fields select{width:100%;min-height:31px;color:var(--ink);background:#fff;border:1px solid #dfd6c8;border-radius:7px;padding:0 7px;font-size:12px}.journal-resolution-fields select:disabled{color:var(--muted);background:#f5f6f8}.journal-preview-table>p{color:var(--muted);margin:0;padding:12px 13px;font-size:12px}.first-run-backdrop{z-index:180;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1d202c9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.first-run-card{background:#fff;border-radius:19px;width:min(720px,100%);padding:26px;box-shadow:0 30px 80px #1216234d}.first-run-brand{align-items:center;gap:13px;display:flex}.first-run-brand>span{background:var(--violet);color:#fff;border-radius:13px;place-items:center;width:44px;height:44px;font-size:20px;font-weight:700;display:grid}.first-run-brand p,.first-run-brand h2{margin:0}.first-run-brand p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:600}.first-run-brand h2{margin-top:4px;font-size:21px}.first-run-intro{color:#626d7e;margin:17px 0;font-size:14px;line-height:1.6}.first-run-options{gap:9px;display:grid}.first-run-options>button{min-height:78px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe3ea;border-radius:12px;grid-template-columns:32px 1fr auto;align-items:center;gap:12px;padding:13px 14px;display:grid}.first-run-options>button:hover{background:#faf9fe;border-color:#9d8bdb}.first-run-options>button.recommended{background:#f7fcfa;border-color:#b9dace}.first-run-options>button>span{width:29px;height:29px;color:var(--violet);background:#f0edfa;border-radius:9px;place-items:center;font-size:14px;font-weight:700;display:grid}.first-run-options strong,.first-run-options small{display:block}.first-run-options strong{font-size:14px}.first-run-options small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.45}.first-run-options em{color:var(--violet);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700}.first-run-safety{background:#f5f6f8;border-radius:10px;margin-top:15px;padding:11px 13px}.first-run-safety strong,.first-run-safety span{display:block}.first-run-safety strong{font-size:13px}.first-run-safety span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45}.release-readiness-panel .panel-header{align-items:center}.release-readiness-panel .panel-header h2{margin:3px 0 4px}.release-readiness-panel .panel-header p:not(.eyebrow){color:var(--muted);margin:0;font-size:12px}.readiness-score{text-align:center;background:#f0edfa;border-radius:10px;min-width:75px;padding:9px 12px}.readiness-score strong,.readiness-score span{display:block}.readiness-score strong{color:var(--violet);font-size:18px}.readiness-score span{color:#7f729d;text-transform:uppercase;margin-top:2px;font-size:11px}.readiness-list{grid-template-columns:1fr 1fr;gap:8px 14px;padding:4px 18px 10px;display:grid}.readiness-list article{border:1px solid var(--line);border-radius:9px;grid-template-columns:25px 1fr;align-items:center;gap:9px;min-height:48px;padding:8px 10px;display:grid}.readiness-list article>span{color:#ad6a23;background:#fff1df;border-radius:50%;place-items:center;width:23px;height:23px;font-size:13px;font-weight:700;display:grid}.readiness-list article.ready>span{color:#28795e;background:#e5f5ef}.readiness-list strong,.readiness-list small{display:block}.readiness-list strong{font-size:13px}.readiness-list small{color:var(--muted);margin-top:3px;font-size:11px;line-height:1.4}.readiness-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 18px 15px;display:flex}.readiness-footer>span{color:var(--muted);font-size:12px;line-height:1.45}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#161b2861;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:17px;width:min(610px,100%);max-height:calc(100vh - 56px);overflow:auto;box-shadow:0 28px 70px #181c2a38}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px 17px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-header p{color:var(--muted);margin:5px 0 0;font-size:14px}.modal-header button{color:#737b8b;cursor:pointer;background:#f4f5f8;border:0;border-radius:8px;width:31px;height:31px;font-size:20px}.modal:has(.global-search){width:min(700px,100%)}.global-search{padding:16px 20px 22px}.global-search-input{background:#fafbfc;border:1px solid #d8dce4;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-height:48px;padding:0 11px;display:grid}.global-search-input>span{color:var(--violet);font-size:18px}.global-search-input input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:15px}.global-search-input kbd{color:var(--muted);background:#fff;border:1px solid #dfe2e7;border-radius:6px;padding:4px 6px;font-family:inherit;font-size:12px}.global-search-hint{color:var(--muted);margin:10px 2px;font-size:12px}.global-search-results{max-height:520px;overflow:auto}.global-search-results section{margin-top:13px}.global-search-results h3{color:#697386;text-transform:uppercase;letter-spacing:.05em;margin:0 0 5px;font-size:13px}.global-search-results h3 span{color:#9aa2ae;margin-left:4px}.global-search-results section>button{border:0;border-bottom:1px solid var(--line);width:100%;min-height:52px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;grid-template-columns:84px 1fr auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.global-search-results section>button:hover{background:#faf9fd;border-radius:8px}.search-result-type{width:fit-content;color:var(--violet);background:#f0edfa;border-radius:6px;padding:4px 6px;font-size:11px;font-weight:700}.global-search-results button>span:nth-child(2) strong,.global-search-results button>span:nth-child(2) small{display:block}.global-search-results button>span:nth-child(2) strong{font-size:14px}.global-search-results button>span:nth-child(2) small{color:var(--muted);margin-top:4px;font-size:12px}.global-search-results button em{color:var(--violet);white-space:nowrap;font-size:12px;font-style:normal;font-weight:700}.global-search-empty{text-align:center;place-content:center;min-height:130px;display:grid}.global-search-empty strong,.global-search-empty span{display:block}.global-search-empty strong{font-size:14px}.global-search-empty span{color:var(--muted);margin-top:5px;font-size:12px}.modal-title-row{align-items:flex-start;gap:10px;display:flex}.modal-header .back-button{flex:0 0 31px;font-size:16px}.floating-card-back{z-index:140;min-height:32px;color:var(--violet);cursor:pointer;background:#f0edfa;border:0;border-radius:8px;padding:0 10px;font-size:13px;font-weight:700;position:fixed;top:42px;left:calc(50% - 280px);box-shadow:0 4px 16px #201b311f}.unsaved-indicator{color:#b66b23;margin-top:5px;font-size:12px;font-weight:600;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:15px;padding:21px 24px 24px;display:grid}.field{gap:6px;display:grid}.field-wide{grid-column:1/-1}.field>span{color:#697386;font-size:13px;font-weight:700}.field input,.field select,.field textarea{background:#fff;border:1px solid #dfe3ea;border-radius:9px;outline:0;width:100%;min-height:41px;padding:0 11px;font-size:14px}.field textarea{resize:vertical;padding-block:10px;line-height:1.55}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9e8bdf;box-shadow:0 0 0 3px #7759d617}.field input:disabled{color:#9aa2ae;background:#f5f6f8}.form-actions{justify-content:flex-end;gap:9px;padding-top:4px;display:flex}.form-hint{color:#87909f;margin:-4px 0 0;font-size:13px;line-height:1.5}.field-note{color:var(--muted);font-size:12px;line-height:1.45}.toast{z-index:150;color:#fff;background:#243046;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:700;animation:.2s ease-out toast-in;position:fixed;bottom:28px;right:28px;box-shadow:0 12px 35px #1b21303d}.pwa-update-notice{z-index:190;color:#302b3f;background:#fff;border:1px solid #d9d0f4;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;width:min(620px,100vw - 32px);padding:13px 14px 13px 17px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 46px #251b4438}.pwa-update-notice span{gap:3px;min-width:0;display:grid}.pwa-update-notice strong{font-size:14px}.pwa-update-notice small{color:#6e687a;font-size:12px;line-height:1.4}.pwa-update-notice button{color:#fff;min-height:38px;font:inherit;cursor:pointer;background:#7057c7;border:0;border-radius:10px;flex:none;padding:0 14px;font-size:13px;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1080px){.app-shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{padding-inline:12px}.brand{justify-content:center;padding-inline:0}.brand>span:last-child,.nav-item>span:not(.app-icon),.nav-item em,.profile-chip>span:last-child{display:none}.nav-item{justify-content:center;padding:0}.profile-chip{justify-content:center;padding-inline:0}.metric-grid{grid-template-columns:repeat(2,1fr)}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-filter-panel{grid-template-columns:1fr}.student-filter-fields{grid-template-columns:repeat(3,1fr)}.student-filter-summary{justify-content:space-between;align-items:center;display:flex}.entity-card{grid-template-columns:5px 1fr 125px 145px auto}.group-preview .entity-stats:not(.income){display:none}}@media (width<=760px){.app-shell{display:block}.sidebar{border:0;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;flex-direction:row;height:68px;padding:7px 10px;position:fixed;inset:auto 0 0}.brand,.sidebar-bottom{display:none}.sidebar nav{grid-template-columns:repeat(6,1fr);width:100%;display:grid}.nav-item{place-items:center;gap:0;min-height:54px;font-size:0;display:grid}.nav-item .app-icon{width:32px;height:32px}.workspace{padding:21px 15px 90px}.topbar{margin-bottom:18px}.top-actions .icon-button,.top-actions .primary-button{display:none}.metric-grid{scroll-snap-type:x mandatory;padding-bottom:5px;display:flex;overflow-x:auto}.metric-card{scroll-snap-align:start;min-width:210px}.dashboard-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr 1fr}.quick-actions button:nth-child(2){border-right:0}.quick-actions button:nth-child(-n+2){border-bottom:1px solid var(--line)}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%}.compact-field{flex:1}.mobile-add{display:block}.student-grid,.student-filter-fields{grid-template-columns:1fr}.student-filter-summary{flex-direction:column;align-items:stretch}.student-filter-summary button{width:100%}.student-details{grid-template-columns:repeat(3,1fr)}.entity-card{grid-template-columns:5px 1fr auto}.entity-card .entity-stats,.entity-card .subject-field{display:none}.zoom-resource-note{flex-direction:column;align-items:flex-start}.calendar-toolbar{padding-inline:10px}.finance-metrics{grid-template-columns:1fr;display:grid}.finance-actions,.report-export-panel{flex-direction:column;align-items:stretch}.finance-actions>div:last-child,.report-export-panel>div:last-child{flex-wrap:wrap}.payment-table,.expense-panel{overflow-x:auto}.table-head,.table-row{min-width:620px}.expense-list>div{min-width:680px}.settings-card{grid-template-columns:45px 1fr}.settings-card>button,.settings-card>.status-pill{grid-column:1/-1}.quality-grid,.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.group-summary{grid-template-columns:1fr}.modal-backdrop{padding:10px}.modal{max-height:calc(100vh - 20px)}.toast{text-align:center;bottom:84px;left:15px;right:15px}.pwa-update-notice{flex-direction:column;align-items:stretch;gap:10px;bottom:82px}.pwa-update-notice button{width:100%}.subjects-panel{grid-template-columns:1fr}.subjects-panel form{flex-direction:column;align-items:stretch}.recurrence-panel,.series-scope{grid-template-columns:1fr}.lesson-resource{flex-direction:column;align-items:flex-start}.attendance-section>div{grid-template-columns:1fr;padding:8px 0}.student-finance-header{flex-direction:column;align-items:stretch}.student-finance-summary{grid-template-columns:repeat(2,1fr)}.student-finance-summary>div:nth-child(2){border-right:0}.student-finance-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.student-payment-head,.student-payment-history>div:not(.student-payment-head){min-width:480px}.student-attendance-summary{grid-template-columns:repeat(2,1fr)}.student-attendance-summary>div:nth-child(2){border-right:0}.student-attendance-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.student-attendance-list>button{flex-direction:column;align-items:flex-start}.group-activity-header,.group-members-header{flex-direction:column;align-items:stretch}.group-activity-header>div:last-child{flex-wrap:wrap}.group-attendance-summary{grid-template-columns:repeat(2,1fr)}.group-attendance-summary>div{border-bottom:1px solid var(--line)}.group-attendance-summary>div:nth-child(2n){border-right:0}.group-attendance-summary>div:last-child{border-bottom:0;grid-column:1/-1}.group-upcoming>button{flex-direction:column;align-items:flex-start}.group-member-add{flex-direction:column;align-items:stretch}.group-member-add select{width:100%;min-width:0}.group-member-management-list>article{grid-template-columns:1fr auto}.group-member-management-list article>span{grid-area:1/2}.group-member-management-list article>.archive-button{grid-column:1/-1;justify-self:start}.lesson-links{flex-direction:column}.lesson-form-footer{flex-direction:column;align-items:stretch}.lesson-destructive-actions,.lesson-form-footer .form-actions{flex-wrap:wrap;justify-content:flex-end}.entity-toolbar,.entity-card-actions{flex-direction:column;align-items:stretch}.entity-card-actions .form-actions{flex-wrap:wrap;justify-content:flex-end}.subject-admin-list>div,.schedule-history-list>div{flex-direction:column;align-items:flex-start;padding:10px 0}.correction-panel .panel-header,.payment-control-panel .panel-header,.individual-package-panel .panel-header,.import-review-panel .panel-header,.workload-panel .panel-header{flex-direction:column;align-items:stretch}.workload-actions{flex-wrap:wrap}.import-review-list>button{grid-template-columns:1fr;gap:8px;padding:12px 0}.payment-control-summary,.individual-package-summary{grid-template-columns:1fr}.payment-control-summary>div,.individual-package-summary>div{border-right:0;border-bottom:1px solid var(--line)}.payment-control-summary>div:last-child,.individual-package-summary>div:last-child{border-bottom:0}.compact-search{max-width:none}.correction-list{overflow-x:auto}.correction-list>div{min-width:680px}.floating-card-back{top:18px;left:20px}.single-day-off-form,.bulk-days-off-fields,.finance-period-panel{grid-template-columns:1fr}.bulk-days-off-title,.bulk-days-off-summary{flex-direction:column;align-items:stretch}.weekday-presets,.days-off-header-actions,.day-off-row-actions,.weekday-picker{flex-wrap:wrap}.bulk-days-off-summary button{width:100%}.days-off-list>article{flex-direction:column;align-items:flex-start;padding-block:12px}.finance-period-mode{width:100%}.finance-period-mode button{flex:1}.custom-period-fields{flex-direction:column}.custom-period-fields input{width:100%}.journal-summary-grid{grid-template-columns:repeat(2,1fr)}.settings-inline-actions{flex-direction:column;align-items:flex-start}.teacher-journal-tools{flex-direction:column;align-items:stretch}.teacher-journal-tools label{width:100%}.global-search-trigger{justify-content:center;width:39px;padding:0}.global-search-trigger strong,.global-search-trigger kbd{display:none}.global-search-results section>button{grid-template-columns:1fr auto}.global-search-results .search-result-type{display:none}.global-search-results button em{align-self:start;font-size:0}.global-search-results button em:after{content:"→";font-size:15px}.lesson-student-result-head{flex-direction:column;align-items:stretch}.lesson-student-result-head label,.lesson-feedback-grid{grid-template-columns:1fr}.student-progress-header{flex-direction:column;align-items:stretch}.student-progress-list>button{grid-template-columns:1fr;gap:7px;padding-block:13px}.student-progress-list em{justify-self:start}.activity-log-panel .panel-header,.admin-tasks-panel .panel-header{flex-direction:column;align-items:stretch}.activity-log-actions,.task-panel-actions{flex-wrap:wrap;align-items:stretch}.activity-log-actions .compact-field,.task-panel-actions .compact-field{flex:1}.activity-log-actions .compact-search{width:100%}.activity-log-list>article{grid-template-columns:1fr;gap:6px;padding-block:12px}.admin-task-list>article{grid-template-columns:30px 1fr auto;align-items:start;gap:8px;padding-block:12px}.task-main{flex-direction:column;align-items:flex-start;gap:5px}.task-priority{grid-area:1/3}.task-student-link,.task-student-empty{text-align:left;grid-column:2/-1}.task-modal-actions{flex-direction:column-reverse;align-items:stretch}.task-modal-actions>.danger-button{align-self:flex-start}.zoom-rooms-panel .panel-header,.zoom-room-list>article{flex-direction:column;align-items:stretch;display:flex}.zoom-room-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.zoom-room-actions button{flex:auto}.zoom-room-list article>p{margin:0}.selected-zoom-room{flex-direction:column;align-items:flex-start}.backup-summary{grid-template-columns:repeat(2,1fr)}.backup-summary>div{border-bottom:1px solid var(--line)}.backup-summary>div:nth-child(2n){border-right:0}.backup-summary>div:last-child{border-bottom:0;grid-column:1/-1}.daily-control-panel .panel-header{flex-direction:column;align-items:stretch}.daily-control-list>button{grid-template-columns:1fr;gap:7px;padding-block:13px}.daily-control-list>button>b{justify-self:start}.teacher-busy-header{flex-direction:column;align-items:stretch}.teacher-busy-list>div{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;padding-bottom:10px}.teacher-busy-list>div label:first-child,.teacher-busy-list>div label:nth-child(4){grid-column:1/-1}.teacher-busy-list .icon-delete-button{grid-column:2;justify-self:end}.teacher-card-metrics{grid-template-columns:repeat(2,1fr)}.teacher-card-metrics>div{border-bottom:1px solid #dce6e2}.teacher-card-metrics>div:nth-child(2n){border-right:0}.teacher-card-metrics>div:last-child{border-bottom:0;grid-column:1/-1}.teacher-week-metrics{grid-template-columns:1fr}.teacher-week-metrics>div{border-bottom:1px solid #e4dff1;border-right:0}.teacher-week-metrics>div:last-child{border-bottom:0}.teacher-assignments{grid-template-columns:1fr}.payment-control-tools{flex-direction:column;align-items:stretch}.payment-view-tabs button{flex:auto}.month-lock-bar{grid-template-columns:30px 1fr;align-items:start}.month-lock-actions{grid-column:1/-1;justify-content:stretch}.month-lock-actions button{flex:1}.import-review-list>article{grid-template-columns:28px 1fr;padding-block:12px}.import-review-main{grid-template-columns:1fr;gap:7px}.import-review-actions{grid-column:2}.import-review-toolbar{flex-direction:column;align-items:stretch}.import-review-toolbar input{width:100%;min-width:0;margin-left:0}.student-import-review-banner{grid-template-columns:1fr}.first-run-backdrop{align-items:start;padding:10px}.first-run-card{margin-block:10px;padding:18px}.first-run-options>button{grid-template-columns:32px 1fr}.first-run-options em{grid-column:2}.readiness-list{grid-template-columns:1fr}.readiness-footer{flex-direction:column;align-items:stretch}.readiness-footer button{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
