.form-date-field--bare{gap:0}.form-date-control.form-date-typed{display:flex;flex-flow:row nowrap;align-items:center;gap:4px;box-sizing:border-box;min-height:44px;padding:0 8px 0 12px;text-align:start}.form-date-segments{display:flex;flex-flow:row nowrap;align-items:center;align-content:center;gap:0;flex:1;min-width:0;height:28px;min-height:28px;line-height:1}.form-date-seg{position:relative;display:flex;flex-flow:row nowrap;align-items:center;justify-content:center;box-sizing:border-box;width:1.7em;height:28px;min-height:28px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;line-height:0}.form-date-seg--year{width:3.4em}.form-date-field .form-date-seg-input,.form-date-field .form-date-seg-input:hover,.form-date-field .form-date-seg-input:focus,.form-date-field .form-date-seg-input:focus-visible{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;box-sizing:border-box;width:100%;height:28px;min-height:0;max-height:28px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;outline-offset:0;color:var(--ink);font:inherit;font-size:inherit;font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:.02em;line-height:28px;text-align:center;vertical-align:middle}.form-date-seg.is-empty .form-date-seg-input{color:transparent;caret-color:var(--primary)}.form-date-seg-token{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--muted, #94a3b8);font-weight:600;letter-spacing:.02em;line-height:1;pointer-events:none;text-transform:lowercase}.form-date-sep{display:flex;flex:0 0 12px;align-items:center;justify-content:center;box-sizing:border-box;width:12px;height:28px;min-height:28px;color:var(--ink-muted, #94a3b8);font:inherit;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.form-date-control .form-date-clear{position:static;transform:none;inset:auto;flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;cursor:pointer}.form-date-control .form-date-clear:hover{color:var(--danger);background:var(--danger-soft)}.form-date-control:has(.form-date-clear) .form-date-typed,.form-date-control:has(.form-date-clear).form-date-typed{padding-right:8px;padding-left:12px}[data-theme=dark] .form-date-seg-input{color:#e2e8f0}[data-theme=dark] .form-date-seg-token{color:#64748b}.sfw-scroll--fullpage .form-date-control.form-date-typed{min-height:34px;padding:0 8px 0 10px}.sfw-scroll--fullpage .form-date-segments,.sfw-scroll--fullpage .form-date-seg,.sfw-scroll--fullpage .form-date-sep{height:24px;min-height:24px}.sfw-scroll--fullpage .form-date-seg-input{height:24px;max-height:24px;line-height:24px}.sfw-scroll--fullpage .form-date-control .form-date-clear{width:26px;height:26px;flex-basis:26px}.form-date-control .form-date-calendar-btn{position:static;flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border:0;border-radius:8px;color:var(--primary);background:transparent;cursor:pointer}.form-date-control .form-date-calendar-btn:hover,.form-date-field.is-calendar-open .form-date-calendar-btn{background:color-mix(in srgb,var(--primary) 12%,transparent)}.date-picker-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11990;background:transparent}.date-picker{box-sizing:border-box;display:flex;flex-direction:column;gap:6px;width:204px;padding:8px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border-default, var(--line)));border-radius:12px;background:var(--surface-1, #fff);box-shadow:0 14px 32px -14px #0f172a6b,0 0 0 1px color-mix(in srgb,var(--primary) 8%,transparent)}.date-picker-bar{display:grid;grid-template-columns:24px minmax(0,1fr) 24px;align-items:center;gap:6px;min-height:24px}.date-picker-caption{display:flex;flex-direction:row;align-items:baseline;justify-content:center;gap:6px;min-width:0;overflow:hidden;text-align:center;white-space:nowrap}.date-picker-caption strong{overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:800;line-height:1.2;color:var(--ink)}.date-picker-caption span{flex:none;color:var(--ink-muted);font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.date-picker-chevron{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:7px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);cursor:pointer}.date-picker-chevron:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,24px);justify-content:space-between;gap:2px}.date-picker-weekdays span{display:grid;place-items:center;height:18px;color:var(--ink-muted);font-size:.68rem;font-weight:800;line-height:1}.date-picker-day{width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:.7rem;font-weight:700;line-height:1;cursor:pointer}.date-picker-day:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,transparent)}.date-picker-day.is-muted{color:var(--ink-muted);font-weight:500;opacity:.42}.date-picker-day.is-today:not(.is-selected){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 50%,transparent)}.date-picker-day.is-selected{background:var(--primary);color:#fff}.date-picker-day:disabled{opacity:.28;cursor:default}.date-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px;border-top:1px solid color-mix(in srgb,var(--primary) 10%,var(--border-default, var(--line-soft)))}.date-picker-today,.date-picker-close{border:0;border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:700;line-height:1.3;cursor:pointer;white-space:nowrap}.date-picker-today{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.date-picker-close{color:var(--ink-muted);background:transparent}[data-theme=dark] .date-picker{background:var(--surface-1);box-shadow:0 16px 40px -14px #0000008c}[data-theme=dark] .date-picker-day.is-selected{color:#fff}.form-date-field:focus-within .form-date-control.form-date-typed,.form-date-field.is-calendar-open .form-date-control.form-date-typed{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.form-date-field.is-invalid:focus-within .form-date-control.form-date-typed,.form-date-field.is-invalid .form-date-control.form-date-typed{border-color:var(--danger, #dc2626);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger, #dc2626) 14%,transparent)}.form-date-seg.is-invalid .form-date-seg-input{color:var(--danger, #dc2626)}.form-date-error{margin:0;color:var(--danger, #dc2626);font-size:calc(12px * var(--font-scale, 1));font-weight:600;line-height:1.35}.form-date-field--compact .form-date-error{font-size:.64rem}.form-date-field--compact{gap:2px}.form-date-field--compact .form-date-label{font-size:.64rem;font-weight:700;line-height:1.1}.form-date-field--compact .form-date-control.form-date-typed{min-height:30px;gap:2px;padding:0 4px 0 6px}.form-date-field--compact .form-date-segments,.form-date-field--compact .form-date-seg,.form-date-field--compact .form-date-sep{height:22px;min-height:22px}.form-date-field--compact .form-date-seg{width:1.35em}.form-date-field--compact .form-date-seg--year{width:2.7em}.form-date-field--compact .form-date-sep{flex-basis:8px;width:8px}.form-date-field--compact .form-date-seg-input{height:22px;max-height:22px;line-height:22px;font-size:.72rem;letter-spacing:0}.form-date-field--compact .form-date-seg-token{font-size:.68rem;letter-spacing:0}.form-date-field--compact .form-date-control .form-date-calendar-btn,.form-date-field--compact .form-date-control .form-date-clear{flex-basis:22px;width:22px;height:22px;border-radius:6px}.choice-tile-group{display:grid;gap:8px;width:100%}.choice-tile-group--1{grid-template-columns:minmax(0,1fr)}.choice-tile-group--2{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-tile-group--auto{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.choice-tile{position:relative;display:flex;align-items:center;gap:0;box-sizing:border-box;min-height:40px;min-width:0;margin:0;padding:7px 12px 7px 10px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-control, 10px);background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.choice-tile input{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;opacity:0!important}.choice-tile,.choice-tile:focus,.choice-tile:focus-visible,.choice-tile input:focus,.choice-tile input:focus-visible{outline:none}.choice-tile-mark{display:grid;place-items:center;box-sizing:border-box;flex:0 0 18px;width:18px;height:18px;margin-inline-end:8px;border:1.5px solid color-mix(in srgb,var(--ink) 26%,var(--border-default, var(--line)));border-radius:5.5px;background:transparent;color:#fff;line-height:0}.choice-tile-mark.is-radio{border-radius:999px}.choice-tile-check{display:block;width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:2.05;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transform:translate(.35px,.2px)}.choice-tile-label{min-width:0;font-size:calc(12.5px * var(--font-scale));font-weight:400;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-tile:hover:not(.is-disabled):not(.is-on){background:transparent;border-color:color-mix(in srgb,var(--primary) 45%,var(--border-default, var(--line)));color:var(--primary)}.choice-tile:hover:not(.is-disabled):not(.is-on) .choice-tile-mark{border-color:var(--primary)}.choice-tile.is-on{background:color-mix(in srgb,var(--primary) 16%,var(--surface-1));border-color:color-mix(in srgb,var(--primary) 55%,transparent);color:var(--primary)}.choice-tile.is-on .choice-tile-mark,.choice-tile.is-mixed .choice-tile-mark{background:var(--primary);border-color:var(--primary);color:#fff}.choice-tile:focus-within:not(.is-disabled){border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.choice-tile.is-disabled{opacity:.5;cursor:not-allowed}.students-filter-display .choice-tile-label{white-space:normal;overflow:visible;text-overflow:unset}@media(max-width:420px){.choice-tile-group--2,.students-filter-display .choice-tile-group--2{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.choice-tile{transition:none}}[data-theme=dark] .choice-tile{background:transparent;border-color:var(--border-default, var(--line));color:var(--ink)}[data-theme=dark] .choice-tile-mark{border-color:color-mix(in srgb,#fff 28%,var(--border-default, var(--line)))}[data-theme=dark] .choice-tile:hover:not(.is-disabled):not(.is-on){background:transparent;border-color:color-mix(in srgb,var(--primary) 50%,var(--border-default, var(--line)));color:#9fd4ff}[data-theme=dark] .choice-tile.is-on{background:color-mix(in srgb,var(--primary) 22%,var(--surface-1));border-color:color-mix(in srgb,var(--primary) 55%,transparent);color:#9fd4ff}.form-select-option-settings,.form-multi-select-option.form-select-option-settings{color:var(--primary);font-weight:700;background:color-mix(in srgb,var(--primary) 8%,transparent)}.form-select-option-settings:hover,.form-multi-select-option.form-select-option-settings:hover{background:var(--primary-soft, color-mix(in srgb, var(--primary) 14%, transparent));color:var(--primary)}.form-select-option-settings i{color:var(--primary)}.dd-opt-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--overlay-backdrop);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.dd-opt-layer.is-opening{animation:dd-opt-fade-in .16s ease-out}.dd-opt-layer.is-closing{animation:dd-opt-fade-out .2s ease-in forwards}.dd-opt-dialog{width:min(440px,100%);max-height:min(620px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line-soft, var(--border-default));border-radius:18px;background:var(--surface-1, #fff);box-shadow:var(--shadow-hover, 0 24px 60px rgba(7, 11, 80, .18));color:var(--ink)}.dd-opt-layer.is-opening .dd-opt-dialog{animation:dd-opt-in .2s cubic-bezier(.2,.75,.25,1)}.dd-opt-layer.is-closing .dd-opt-dialog{animation:dd-opt-out .2s ease-in forwards}.dd-opt-dialog>header{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 16px;border-bottom:1px solid var(--line-soft, var(--border-default));background:color-mix(in srgb,var(--primary-soft, rgba(29, 107, 255, .1)) 70%,var(--surface-1, #fff))}.dd-opt-dialog>header>span{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--surface-1, #fff);box-shadow:var(--shadow-soft, 0 6px 16px rgba(15, 23, 42, .08))}.dd-opt-dialog>header div{min-width:0;flex:1}.dd-opt-dialog h2{margin:0;font-size:calc(16px * var(--font-scale, 1));line-height:1.35}.dd-opt-dialog header p{margin:3px 0 0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale, 1))}.dd-opt-dialog>header .icon-button{width:36px;height:36px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1)}.dd-opt-body{display:flex;flex-direction:column;gap:12px;min-height:0;padding:16px;overflow:hidden;background:var(--page-bg, var(--surface-2, #f6f8fc))}.dd-opt-search{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1, #fff);color:var(--ink-muted)}.dd-opt-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;outline:none}.dd-opt-list{display:flex;flex-direction:column;gap:8px;min-height:0;max-height:280px;margin:0;padding:0;overflow:auto;list-style:none}.dd-opt-row{display:flex;align-items:center;gap:8px;min-height:48px;padding:8px 10px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1, #fff)}.dd-opt-row.is-editing{border-color:var(--primary-border, color-mix(in srgb, var(--primary) 35%, var(--border-default)));box-shadow:0 0 0 3px var(--primary-soft, rgba(29, 107, 255, .12))}.dd-opt-row-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.dd-opt-row-copy strong{overflow:hidden;font-size:calc(13px * var(--font-scale, 1));font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dd-opt-row-copy small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale, 1))}.dd-opt-row input{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-2, #f8fafc);color:inherit;font:inherit}.dd-opt-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.dd-opt-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink-muted);cursor:pointer}.dd-opt-icon:hover{border-color:var(--border-default);background:var(--surface-2, #f4f7fb);color:var(--ink)}.dd-opt-icon.is-danger:hover{border-color:color-mix(in srgb,var(--danger, #e5484d) 35%,var(--border-default));background:color-mix(in srgb,var(--danger, #e5484d) 10%,#fff);color:var(--danger, #e5484d)}.dd-opt-icon.is-primary{color:var(--primary)}.dd-opt-empty{margin:0;padding:18px 12px;color:var(--ink-muted);font-size:calc(13px * var(--font-scale, 1));text-align:center}.dd-opt-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:4px}.dd-opt-add input{min-height:42px;padding:0 12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1, #fff);color:inherit;font:inherit}.dd-opt-add button,.dd-opt-confirm{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:0 14px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:700;cursor:pointer}.dd-opt-add button:disabled{opacity:.45;cursor:not-allowed}.dd-opt-confirm-row{display:flex;flex:1;align-items:center;justify-content:space-between;gap:8px}.dd-opt-confirm-row p{margin:0;color:var(--danger, #e5484d);font-size:calc(12px * var(--font-scale, 1));font-weight:700}.dd-opt-confirm{min-height:32px;padding:0 10px;background:var(--danger, #e5484d);font-size:calc(12px * var(--font-scale, 1))}.dd-opt-ghost{min-height:32px;padding:0 10px;border:1px solid var(--border-default);border-radius:9px;background:var(--surface-1);color:var(--ink);cursor:pointer}@media(max-width:640px){.dd-opt-layer{padding:10px;align-items:flex-end}.dd-opt-dialog{width:100%;max-height:calc(100dvh - 16px);border-radius:18px 18px 0 0}}[data-theme=dark] .dd-opt-dialog,[data-theme=dark] .dd-opt-row,[data-theme=dark] .dd-opt-search,[data-theme=dark] .dd-opt-add input{background:var(--surface-1)}[data-theme=dark] .dd-opt-dialog>header{background:color-mix(in srgb,var(--primary) 12%,var(--surface-1))}@keyframes dd-opt-fade-in{0%{opacity:0}}@keyframes dd-opt-fade-out{to{opacity:0}}@keyframes dd-opt-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes dd-opt-out{to{opacity:0;transform:translateY(8px) scale(.98)}}.ghost-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:8px 15px;border:1px solid transparent;border-radius:var(--radius-control);color:var(--ink-muted);background:transparent;font-weight:500;cursor:pointer;transition:color .16s ease,background .16s ease}.ghost-button:hover:not(:disabled){color:var(--ink);background:var(--surface-2, var(--surface-1))}.ghost-button:disabled{opacity:.55;cursor:not-allowed}.ghost-button.compact{min-height:38px;padding-block:6px;font-size:calc(13px * var(--font-scale))}.staff-page .staff-toolbar-v2{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:16px;border-bottom:1px solid var(--line-soft)}.staff-page .staff-toolbar-v2 .student-search{grid-column:1;grid-row:1;min-width:0;height:44px;gap:10px;padding-inline:14px;border:1px solid var(--border-default, var(--line));border-radius:14px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--ink) 2%,var(--surface-1)));box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.staff-page .staff-toolbar-v2 .student-search i{color:var(--ink-muted, var(--text-muted, #64748b));flex-shrink:0;font-size:.88rem}.staff-page .staff-toolbar-v2 .student-search input{color:var(--ink, var(--text-primary, #0f172a));font-size:.88rem;font-weight:500}.staff-page .staff-toolbar-v2 .student-search input::placeholder{color:var(--ink-muted, var(--text-muted, #94a3b8))}.staff-page .staff-toolbar-v2 .student-search:focus-within{border-color:var(--primary-border);background:var(--surface-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft)}.staff-page .staff-toolbar-v2 .student-search:focus-within i{color:var(--primary)}.staff-page .staff-toolbar-v2 .staff-toolbar-end{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.staff-page .staff-toolbar-v2 .staff-filter-trigger{grid-column:auto;grid-row:auto}.staff-page .staff-toolbar-v2 .staff-active-chips{grid-column:1 / -1;grid-row:2}.staff-filter-trigger{display:inline-flex;flex-shrink:0;align-items:center;gap:10px;min-height:44px;padding:0 16px;white-space:nowrap;border:1px solid var(--border-default, var(--line));border-radius:14px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--ink) 2%,var(--surface-1)));color:var(--ink, var(--text-primary, #0f172a));font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.staff-filter-trigger:hover{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft);transform:translateY(-1px)}.staff-filter-trigger.has-active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent),var(--shadow-soft)}.staff-filter-trigger__icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:.82rem}.staff-filter-trigger__label{font-size:.88rem;white-space:nowrap}.staff-filter-trigger__badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.4rem;height:1.4rem;padding:0 6px;border-radius:999px;font-size:.72rem;font-weight:700;background:var(--primary, #1d6bff);color:#fff;box-shadow:0 4px 10px #1d6bff47}.entity-toolbar-actions{display:flex;flex:0 0 auto;flex-wrap:nowrap;align-items:center;gap:8px}.entity-result-count,.students-result-count{display:inline-flex;flex:0 0 auto;height:44px;align-items:center;padding:0 14px;border:1px solid var(--border-default, var(--line));border-radius:14px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--ink) 2%,var(--surface-1)));box-shadow:var(--shadow-soft);color:var(--ink-muted);font-size:.88rem;font-weight:600;line-height:1.2;white-space:nowrap}@media(max-width:640px){.entity-toolbar-actions .staff-filter-trigger__label{display:none}.entity-toolbar-actions .staff-filter-trigger{padding:0 12px}}.staff-active-chips{display:flex;flex-wrap:wrap;gap:8px}.staff-active-chip{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--primary-border);border-radius:999px;background:var(--surface-1);color:var(--primary);font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow-soft);transition:background .16s ease,border-color .16s ease,transform .16s ease}.staff-active-chip:hover{background:var(--primary-soft);transform:translateY(-1px)}.staff-active-chip--muted{border-color:var(--border-default, var(--line-soft));background:var(--surface-2);color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-backdrop{z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px;animation:staff-filter-backdrop-in .24s ease-out}.staff-filter-backdrop.is-closing{animation:staff-filter-backdrop-out .22s ease-in forwards}.staff-filter-dialog{width:min(720px,100%);max-height:min(86vh,820px);display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid var(--border-default, var(--line));box-shadow:var(--shadow-card);background:var(--page-bg)}.staff-filter-dialog--wide{width:min(760px,calc(100% - 32px));max-height:min(94vh,920px)}.staff-filter-dialog--wide .staff-filter-dialog__header{gap:10px;padding:12px 14px}.staff-filter-dialog--wide .staff-filter-dialog__icon{width:36px;height:36px;border-radius:10px;font-size:.9rem}.staff-filter-dialog--wide .staff-filter-dialog__head-text h2{font-size:.95rem}.staff-filter-dialog--wide .staff-filter-dialog__head-text p{display:none}.staff-filter-dialog--wide .staff-filter-dialog__badge{min-width:24px;height:24px;font-size:.72rem}.staff-filter-dialog--wide .staff-filter-dialog__body{overflow-y:visible;padding:10px 14px 12px}.staff-filter-dialog--wide .staff-filter-sort-rail{margin-bottom:10px;min-height:0}.staff-filter-dialog--wide .staff-filter-sort-card{flex-direction:row;align-items:center;gap:10px;width:min(340px,100%);min-width:0;max-width:100%;padding:8px 10px;border-radius:12px}.staff-filter-dialog--wide .staff-filter-sort-card__badge{flex-shrink:0;padding:5px 10px;font-size:.72rem}.staff-filter-dialog--wide .staff-filter-columns{gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.staff-filter-dialog--wide .staff-filter-divider__glow{width:3px}.staff-filter-dialog--wide .staff-filter-col{gap:8px}.staff-filter-dialog--wide .staff-filter-col__head{gap:8px;padding-bottom:6px}.staff-filter-dialog--wide .staff-filter-col__icon{width:30px;height:30px;border-radius:8px;font-size:.78rem}.staff-filter-dialog--wide .staff-filter-col__head h3{font-size:.84rem}.staff-filter-dialog--wide .staff-filter-col__head p{display:none}.staff-filter-dialog--wide .staff-filter-col__stack{gap:6px}.staff-filter-dialog--wide .staff-filter-select__trigger{min-height:42px;padding:5px 10px;gap:8px;border-radius:10px}.staff-filter-dialog--wide .staff-filter-select__icon{width:28px;height:28px;border-radius:8px;font-size:.76rem}.staff-filter-dialog--wide .staff-filter-select__label,.staff-filter-dialog--wide .staff-filter-select__value{font-size:.76rem;line-height:1.2}.staff-filter-dialog--wide .staff-filter-select__chevron{width:24px;height:24px;font-size:.66rem}.staff-filter-dialog--wide .staff-filter-select--sort .staff-filter-select__trigger{min-height:34px;padding:4px 10px}.staff-filter-dialog--wide .staff-filter-select--sort .staff-filter-select__value{font-size:.8rem}.staff-filter-dialog--wide .staff-filter-dialog__footer{padding:10px 14px}.staff-filter-dialog--wide .staff-filter-footer-btn{min-height:36px;padding:0 14px;font-size:.8rem;border-radius:10px}@media(max-height:780px){.staff-filter-dialog--wide .staff-filter-dialog__header{padding:10px 16px}.staff-filter-dialog--wide .staff-filter-dialog__body{padding:8px 16px 10px}.staff-filter-dialog--wide .staff-filter-sort-rail{margin-bottom:8px}.staff-filter-dialog--wide .staff-filter-col__stack{gap:5px}.staff-filter-dialog--wide .staff-filter-select__trigger{min-height:38px;padding:4px 8px}.staff-filter-dialog--wide .staff-filter-select__icon{width:26px;height:26px}.staff-filter-dialog--wide .staff-filter-dialog__footer{padding:8px 16px}.staff-filter-dialog--wide .staff-filter-footer-btn{min-height:34px}}.staff-filter-dialog.is-opening{animation:staff-filter-dialog-in .32s cubic-bezier(.22,.61,.36,1)}.staff-filter-dialog.is-closing{animation:staff-filter-dialog-out .24s cubic-bezier(.55,.06,.68,.19)}@keyframes staff-filter-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes staff-filter-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes staff-filter-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes staff-filter-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}.staff-filter-dialog__header{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--border-default, var(--line-soft));background:var(--surface-1)}.staff-filter-dialog__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;background:var(--primary-soft);color:var(--primary);box-shadow:none}.staff-filter-dialog__head-text h2{margin:0;font-size:1.05rem;color:var(--ink, var(--text-primary, #0f172a))}.staff-filter-dialog__head-text p{margin:4px 0 0;font-size:.8rem;color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-dialog__badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--primary-soft);color:var(--primary)}.staff-filter-dialog__body{overflow-y:auto;padding:20px 24px 24px;background:var(--page-bg)}.staff-filter-layout{display:flex;flex-direction:column;gap:0}.staff-filter-sort-rail{display:flex;justify-content:center;align-items:center;margin-bottom:12px;min-height:0}.staff-filter-sort-rail__line,.staff-filter-divider{display:none}.staff-filter-sort-card{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:min(360px,78vw);padding:14px 16px 12px;border:1px solid var(--border-default, var(--line));border-radius:18px;background:var(--surface-1);box-shadow:var(--shadow-card);position:relative;z-index:1}.staff-filter-sort-card.is-active{border-color:var(--primary-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-card)}.staff-filter-sort-card__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.78rem;font-weight:700}.staff-filter-sort-card .staff-filter-select{width:100%}.staff-filter-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:stretch}.staff-filter-divider{display:none}.staff-filter-divider__glow{width:4px;border-radius:999px;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--primary) 28%,transparent) 18%,color-mix(in srgb,var(--primary) 55%,transparent),color-mix(in srgb,var(--primary) 28%,transparent) 82%,color-mix(in srgb,var(--primary) 8%,transparent));box-shadow:0 0 18px color-mix(in srgb,var(--primary) 16%,transparent)}.staff-filter-col{display:flex;flex-direction:column;gap:14px;min-width:0}.staff-filter-col__head{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.staff-filter-col__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:.92rem;flex-shrink:0}.staff-filter-col__head h3{margin:0;font-size:.96rem;font-weight:700;color:var(--ink, var(--text-primary, #0f172a))}.staff-filter-col__head p{margin:3px 0 0;font-size:.76rem;color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-col__stack{display:flex;flex-direction:column;gap:10px}.staff-filter-select{position:relative;width:100%}.staff-filter-select__trigger{width:100%;min-height:54px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid var(--border-default, var(--line));border-radius:14px;background:linear-gradient(180deg,var(--surface-1),var(--surface-2));color:inherit;text-align:start;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}.staff-filter-select__trigger:hover{border-color:var(--primary-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent),var(--shadow-soft);transform:translateY(-1px)}.staff-filter-select.is-open .staff-filter-select__trigger,.staff-filter-select.is-active .staff-filter-select__trigger{border-color:var(--primary-border);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,var(--surface-1)),var(--surface-1))}.staff-filter-select.is-open .staff-filter-select__trigger{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft)}.staff-filter-select__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:.88rem}.staff-filter-select__copy{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-width:0;width:100%}.staff-filter-select__label{flex:0 0 auto;font-size:.74rem;font-weight:600;color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-select__value{flex:1 1 auto;min-width:0;text-align:end;font-size:.86rem;font-weight:700;color:var(--ink, var(--text-primary, #0f172a));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-filter-select__value.is-placeholder{color:var(--ink-muted, var(--text-muted, #94a3b8));font-weight:500}.staff-filter-select.is-empty .staff-filter-select__value.is-placeholder{font-style:normal}.staff-filter-select__empty{padding:14px 12px;text-align:center;font-size:.82rem;color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-select.is-active .staff-filter-select__value{color:var(--primary)}.staff-filter-select__chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted, var(--text-muted, #64748b));font-size:.72rem;transition:transform .18s ease,background .18s ease,color .18s ease}.staff-filter-select.is-open .staff-filter-select__chevron{background:var(--primary-soft);color:var(--primary)}.staff-filter-select--sort .staff-filter-select__trigger{min-height:48px;grid-template-columns:1fr auto;border-radius:12px;background:var(--surface-2)}.staff-filter-select--sort .staff-filter-select__value{font-size:.9rem}.staff-filter-select__menu{list-style:none;margin:0;padding:6px;border:1px solid var(--border-default, var(--line));border-radius:16px;background:var(--surface-1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-card);overflow:auto;animation:staff-filter-menu-in .18s cubic-bezier(.22,.61,.36,1)}@keyframes staff-filter-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.staff-filter-select__option{width:100%;min-height:42px;padding:0 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;border:0;border-radius:11px;background:transparent;color:var(--ink, var(--text-primary, #0f172a));font-size:.84rem;font-weight:600;text-align:start;cursor:pointer;transition:background .14s ease,color .14s ease}.staff-filter-select__option:hover{background:var(--primary-soft)}.staff-filter-select__option.is-selected{background:var(--primary-soft);color:var(--primary)}.staff-filter-select__option-text{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-filter-select__option-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:.72rem}.staff-filter-select__option.is-selected .staff-filter-select__option-check{background:var(--primary);color:#fff}.staff-filter-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-top:1px solid var(--border-default, var(--line-soft));background:var(--surface-1)}.staff-filter-dialog__footer-actions{display:flex;align-items:center;gap:10px}.staff-filter-footer-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border-radius:12px;border:1px solid transparent;font-size:.86rem;font-weight:700;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.staff-filter-footer-btn:hover:not(:disabled){transform:translateY(-1px)}.staff-filter-footer-btn--ghost{border-color:var(--border-default, var(--line));background:var(--surface-2);color:var(--ink-muted, var(--text-muted, #64748b))}.staff-filter-footer-btn--muted{border-color:var(--border-default, var(--line-soft));background:var(--surface-2);color:var(--ink, var(--text-primary, #0f172a))}.staff-filter-footer-btn--primary{border-color:color-mix(in srgb,var(--primary) 28%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 88%,#fff),var(--primary));color:#fff;box-shadow:var(--shadow-button)}.staff-filter-footer-btn--primary:hover:not(:disabled){box-shadow:0 14px 30px color-mix(in srgb,var(--primary) 34%,transparent)}.staff-filter-footer-btn:disabled{opacity:.6;cursor:not-allowed}.staff-job-type{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:.82rem;font-weight:600}.staff-page .staff-table .staff-job-type-col{text-align:center}@media(max-width:860px){.staff-filter-dialog--wide{width:100%}.staff-filter-dialog--wide .staff-filter-dialog__body{overflow-y:auto}.staff-filter-dialog--wide .staff-filter-dialog__head-text p,.staff-filter-dialog--wide .staff-filter-col__head p{display:block}.staff-filter-dialog--wide .staff-filter-sort-card{flex-direction:column;align-items:stretch;min-width:0;width:100%}.staff-filter-sort-rail{grid-template-columns:1fr;gap:10px;min-height:auto;margin-bottom:14px}.staff-filter-sort-rail__line{display:none}.staff-filter-sort-card{width:100%;min-width:0}.staff-filter-columns{grid-template-columns:1fr;gap:18px}.staff-filter-divider{min-height:6px;padding:0 12px}.staff-filter-divider__glow{width:100%;height:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 8%,transparent),color-mix(in srgb,var(--primary) 55%,transparent),color-mix(in srgb,var(--primary) 8%,transparent))}}@media(max-width:720px){.staff-filter-grid{grid-template-columns:minmax(0,1fr)}.staff-filter-dialog__header{grid-template-columns:auto 1fr auto}.staff-filter-dialog__badge{display:none}.staff-filter-dialog__footer{flex-direction:column;align-items:stretch}.staff-filter-dialog__footer-actions{width:100%}.staff-filter-dialog__footer-actions .staff-filter-footer-btn{flex:1}}@media(prefers-reduced-motion:reduce){.staff-filter-backdrop,.staff-filter-backdrop.is-closing,.staff-filter-dialog.is-opening,.staff-filter-dialog.is-closing{animation:none!important}}[data-theme=dark] .staff-page .staff-toolbar-v2 .student-search{background:linear-gradient(180deg,var(--surface-1),var(--surface-2));border-color:var(--border-default);box-shadow:var(--shadow-card)}[data-theme=dark] .staff-page .staff-toolbar-v2 .student-search:focus-within{background:var(--surface-2);border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .staff-page .staff-toolbar-v2 .student-search input::placeholder{color:#ffffff6b}[data-theme=dark] .staff-filter-trigger{background:linear-gradient(180deg,var(--surface-1),var(--surface-2));box-shadow:var(--shadow-card)}[data-theme=dark] .entity-result-count,[data-theme=dark] .students-result-count{border-color:var(--border-default);background:linear-gradient(180deg,var(--surface-1),var(--surface-2));box-shadow:var(--shadow-card);color:var(--ink-muted)}[data-theme=dark] .staff-filter-trigger:hover,[data-theme=dark] .staff-filter-trigger.has-active{background:var(--primary-soft)}[data-theme=dark] .staff-active-chip{background:var(--surface-2);box-shadow:none}[data-theme=dark] .staff-active-chip--muted{background:var(--surface-inset)}[data-theme=dark] .staff-filter-dialog{box-shadow:0 30px 90px #00000080}[data-theme=dark] .staff-filter-dialog__header,[data-theme=dark] .staff-filter-dialog__footer{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .staff-filter-dialog__body{background:var(--page-bg)}[data-theme=dark] .staff-filter-sort-card{background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .staff-filter-select__trigger{background:var(--surface-2);border-color:var(--border-default);box-shadow:none}[data-theme=dark] .staff-filter-select__trigger:hover,[data-theme=dark] .staff-filter-select.is-open .staff-filter-select__trigger,[data-theme=dark] .staff-filter-select.is-active .staff-filter-select__trigger{background:#20212ceb;border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .staff-filter-select--sort .staff-filter-select__trigger{background:var(--surface-2)}[data-theme=dark] .staff-filter-select__menu{background:#16171ff5;border-color:var(--border-default);box-shadow:0 18px 50px #0000006b}[data-theme=dark] .staff-filter-select__option:hover,[data-theme=dark] .staff-filter-select__option.is-selected{background:var(--primary-soft)}[data-theme=dark] .staff-filter-select__chevron{background:var(--surface-inset);color:var(--ink-muted)}[data-theme=dark] .staff-filter-footer-btn--ghost,[data-theme=dark] .staff-filter-footer-btn--muted{background:var(--surface-2);border-color:var(--border-default);color:var(--ink-muted)}[data-theme=dark] .staff-filter-footer-btn--muted{color:var(--ink)}.list-table-report-dialog{width:min(520px,calc(100% - 24px))}.list-table-report-dialog__body{display:flex;flex-direction:column;gap:16px;padding:8px 4px 4px}.list-table-report-dialog__count{margin:0;color:var(--ink-muted);font-size:.9rem}.list-table-report-dialog__actions{display:flex;flex-wrap:wrap;gap:10px}.list-table-report-dialog__actions .ui-button{flex:1 1 108px;justify-content:center}.staff-filter-dialog .staff-filter-sort-rail__line,.staff-filter-dialog .staff-filter-divider,.staff-filter-dialog .staff-filter-divider__glow{display:none}.staff-filter-dialog .staff-filter-sort-rail{display:flex;justify-content:center;align-items:center;margin-bottom:12px;min-height:0}.staff-filter-dialog .staff-filter-sort-card,.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-sort-card{flex-direction:row;align-items:center;gap:8px;width:min(420px,100%);min-width:0;max-width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--border-default, var(--line));background:var(--surface-1);box-shadow:none}.staff-filter-dialog .staff-filter-sort-card.is-active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.staff-filter-dialog .staff-filter-sort-card__badge{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:0;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-size:.82rem}.staff-filter-dialog .staff-filter-columns,.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;align-items:stretch}.staff-filter-dialog.students-filter-dialog.staff-filter-dialog--wide .staff-filter-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-filter-dialog .staff-filter-col,.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-col{gap:10px;padding:14px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.staff-filter-dialog .staff-filter-col__head,.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-col__head{justify-content:flex-start;text-align:start;gap:10px;padding-bottom:8px}.staff-filter-dialog .staff-filter-col__head h3,.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-col__head h3{margin:0;text-align:start;font-size:calc(13px * var(--font-scale));font-weight:700}.staff-filter-dialog .staff-filter-col__head p{display:none}.staff-filter-dialog .staff-filter-col__icon{width:32px;height:32px;border-radius:7px;font-size:.82rem}.staff-filter-dialog .staff-filter-col__stack{gap:8px}.staff-filter-dialog .staff-filter-select__trigger,.staff-filter-dialog .students-filter-text{min-height:42px;padding:8px 11px;gap:10px;border-radius:8px;border:1px solid var(--border-default, var(--line));background:var(--surface-1);box-shadow:none;transform:none}.staff-filter-dialog .staff-filter-select__trigger:hover,.staff-filter-dialog .students-filter-text:hover{transform:none;border-color:var(--primary);background:var(--surface-1);box-shadow:none}.staff-filter-dialog .staff-filter-select.is-open .staff-filter-select__trigger,.staff-filter-dialog .staff-filter-select.is-active .staff-filter-select__trigger,.staff-filter-dialog .students-filter-text.is-active{border-color:var(--primary);background:var(--surface-1);box-shadow:0 0 0 3px var(--primary-soft)}.staff-filter-dialog .staff-filter-select__icon,.staff-filter-dialog .students-filter-text__icon{width:18px;height:18px;border-radius:0;background:transparent;color:var(--ink-muted);font-size:.78rem}.staff-filter-dialog .staff-filter-select.is-active .staff-filter-select__icon,.staff-filter-dialog .students-filter-text.is-active .students-filter-text__icon{color:var(--primary)}.staff-filter-dialog .staff-filter-select__label,.staff-filter-dialog .students-filter-text__label{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted)}.staff-filter-dialog .staff-filter-select__value,.staff-filter-dialog .students-filter-text input{font-size:calc(12px * var(--font-scale));font-weight:500;color:var(--ink)}.staff-filter-dialog .staff-filter-select.is-active .staff-filter-select__value{color:var(--ink);font-weight:600}.staff-filter-dialog .staff-filter-select__chevron{width:auto;height:auto;background:transparent;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.staff-filter-dialog .staff-filter-select.is-open .staff-filter-select__chevron{background:transparent;color:var(--primary)}.staff-filter-dialog .staff-filter-select--sort .staff-filter-select__trigger{min-height:42px;border-radius:8px;background:var(--surface-1)}.staff-filter-dialog .staff-filter-dialog__footer{min-height:68px;padding:13px 18px;background:var(--surface-1)}@media(max-width:980px){.staff-filter-dialog.staff-filter-dialog--wide .staff-filter-columns,.staff-filter-dialog.students-filter-dialog.staff-filter-dialog--wide .staff-filter-columns{grid-template-columns:1fr}}[data-theme=dark] .staff-filter-dialog .staff-filter-col,[data-theme=dark] .staff-filter-dialog .staff-filter-select__trigger,[data-theme=dark] .staff-filter-dialog .students-filter-text{background:var(--surface-1);border-color:var(--border-subtle, var(--border-default, var(--line)))}[data-theme=dark] .staff-filter-dialog .staff-filter-select.is-active .staff-filter-select__trigger{border-color:var(--primary)}.shared-upload{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1.5px dashed var(--border-default, var(--line));border-radius:10px;background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:border-color .16s ease,background .16s ease}.shared-upload:hover{border-color:var(--primary-border);background:var(--primary-soft)}.shared-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.shared-upload>i{font-size:calc(15px * var(--font-scale));color:var(--primary)}.shared-upload strong{display:block;font-size:calc(12.5px * var(--font-scale));font-weight:600;color:var(--ink)}.shared-upload small{display:block;font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted)}.shared-upload-icon{display:grid;place-items:center;width:32px;height:32px;flex:0 0 32px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border-default, var(--line));color:var(--primary)}.shared-upload-clear{position:relative;z-index:1;margin-inline-start:auto;width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid var(--border-default, var(--line));border-radius:7px;background:var(--surface-1);color:var(--ink-muted);cursor:pointer;transition:color .16s ease,border-color .16s ease}.shared-upload-clear:hover{color:var(--danger, #ef4444);border-color:var(--danger, #ef4444)}[data-theme=dark] .shared-upload{background:#ffffff0a;border-color:#ffffff1a}[data-theme=dark] .shared-upload:hover{background:var(--primary-soft);border-color:var(--primary)}[data-theme=dark] .shared-upload-icon{background:#ffffff0d;border-color:#ffffff14}.shared-date-with-today{display:flex;align-items:flex-end;gap:6px;min-width:0}.shared-date-with-today>.form-date-field{flex:1 1 auto;min-width:0}.shared-date-today-btn{flex:0 0 auto;min-height:38px;height:38px;padding:0 12px;font-size:calc(11.5px * var(--font-scale));font-weight:700;white-space:nowrap;border-radius:var(--radius-control, 8px);background:var(--surface-2);color:var(--ink, #1f2937);border:1px solid var(--border-default, var(--line));cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.shared-date-today-btn:hover{background:var(--primary-soft, rgba(7, 150, 255, .08));border-color:var(--primary-border, rgba(7, 150, 255, .35));color:var(--primary, #0796ff)}[data-theme=dark] .shared-date-today-btn{background:#ffffff0a;border-color:var(--border-default, rgba(255, 255, 255, .12));color:var(--ink, #e6e8ef)}[data-theme=dark] .shared-date-today-btn:hover{background:var(--primary-soft, rgba(7, 150, 255, .14));border-color:var(--primary-border, rgba(7, 150, 255, .45));color:var(--primary, #0796ff)}.page-chrome-tools{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:8px}.page-chrome-aux{display:contents}.page-chrome-search{order:2}.page-chrome-aux>*{order:3}.page-chrome-aux>.page-chrome-filter,.page-chrome-aux>.students-navbar-filters{order:1}.page-chrome-search{display:inline-flex;flex:1 1 220px;width:100%;max-width:320px;min-width:0;height:40px;align-items:center;gap:10px;padding-inline:12px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--ink) 2%,var(--surface-1)));box-shadow:var(--shadow-soft);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.page-chrome-search i{flex-shrink:0;color:var(--ink-muted, var(--text-muted, #64748b));font-size:.82rem}.page-chrome-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink, var(--text-primary, #0f172a));font-size:.82rem;font-weight:500;-webkit-appearance:none;-moz-appearance:none;appearance:none}.page-chrome-search input:focus,.page-chrome-search input:focus-visible{outline:none;outline-offset:0;box-shadow:none}.page-chrome-search input[type=search]::-webkit-search-decoration,.page-chrome-search input[type=search]::-webkit-search-cancel-button,.page-chrome-search input[type=search]::-webkit-search-results-button,.page-chrome-search input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.page-chrome-search input::placeholder{color:var(--ink-muted, var(--text-muted, #94a3b8))}.page-chrome-search:focus-within{border-color:var(--primary-border);background:var(--surface-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft)}.page-chrome-search:focus-within i,.page-chrome-search.is-pending i{color:var(--primary)}.page-chrome-filter{width:40px;height:40px;overflow:visible;flex:0 0 40px;border-radius:12px}.page-chrome-filter.has-active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.page-chrome-filter__glyph{position:relative;display:grid;width:100%;height:100%;place-items:center}.page-chrome-filter__badge{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;display:inline-flex;min-width:1.1rem;height:1.1rem;align-items:center;justify-content:center;padding:0 4px;border-radius:999px;background:var(--primary, #1d6bff);color:#fff;font-size:.68rem;font-weight:700;line-height:1}.page-chrome-tools .staff-filter-trigger{flex:0 0 auto;min-height:40px;height:40px;padding:0 12px;border-radius:12px;white-space:nowrap}.page-chrome-tools .staff-filter-trigger__icon{width:26px;height:26px;border-radius:8px;font-size:.75rem}.page-chrome-tools .staff-filter-trigger__label{font-size:.8rem;white-space:nowrap}.page-chrome-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.page-chrome-actions .primary-button,.page-chrome-actions .secondary-button{min-height:40px;padding:6px 12px;white-space:nowrap;font-size:calc(13px * var(--font-scale))}@media(max-width:1100px){.page-chrome-search{max-width:240px}}@media(max-width:860px){.page-chrome-search{flex-basis:160px;max-width:180px}}@media(max-width:720px){.page-chrome-actions .primary-button,.page-chrome-actions .secondary-button{padding-inline:10px}}[data-theme=dark] .page-chrome-search{background:linear-gradient(180deg,var(--surface-1),var(--surface-2));border-color:var(--border-default);box-shadow:var(--shadow-card)}[data-theme=dark] .page-chrome-search:focus-within{background:var(--surface-2);border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .page-chrome-search input::placeholder{color:#ffffff6b}.kpi-collapse-bar{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-width:0}.kpi-collapse-bar:empty{display:none}.simple-filter-dialog .staff-filter-layout{display:flex;justify-content:center;width:100%}.simple-filter-dialog .app-filter-fields{display:flex;flex-direction:column;gap:12px;width:min(440px,100%);margin-inline:auto}.simple-filter-dialog .app-filter-fields .form-date-field,.simple-filter-dialog .app-filter-fields .staff-filter-select{width:100%}.staff-filter-dialog.simple-filter-dialog--compact{width:min(520px,calc(100% - 32px))}.staff-filter-dialog.simple-filter-dialog--compact .staff-filter-dialog__body{display:flex;align-items:center;justify-content:center;min-height:132px;padding-block:28px}.drp-root{position:relative;display:inline-flex}.drp-trigger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-default, var(--line));border-radius:10px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:calc(.85rem * var(--font-scale));cursor:pointer;white-space:nowrap;transition:border-color .15s ease,background .15s ease}.drp-trigger:hover{border-color:var(--primary)}.drp-trigger.has-value{border-color:var(--primary);color:var(--primary)}.drp-trigger>i{font-size:calc(.8rem * var(--font-scale));opacity:.8}.drp-trigger-caret{font-size:calc(.65rem * var(--font-scale))!important;opacity:.6}.drp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:1rem;background:#0f172a73;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:drp-fade .14s ease-out}@keyframes drp-fade{0%{opacity:0}to{opacity:1}}.drp-panel{display:grid;grid-template-columns:176px minmax(0,1fr);width:min(1000px,100%);max-height:min(90vh,720px);border:1px solid var(--border-default, var(--line));border-radius:18px;background:var(--surface-1, #fff);box-shadow:0 28px 70px -24px #0f172a80;overflow:hidden;animation:drp-pop .16s cubic-bezier(.22,1,.36,1)}@keyframes drp-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.drp-presets{display:flex;flex-direction:column;border-inline-end:1px solid var(--border-subtle, var(--line-soft));padding:.5rem 0;background:var(--surface-2, #f8fafc)}.drp-preset{padding:.7rem 1rem;border:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(.84rem * var(--font-scale));text-align:start;cursor:pointer;border-inline-start:2px solid transparent;transition:background .15s ease,color .15s ease}.drp-preset+.drp-preset{border-top:1px solid var(--border-subtle, var(--line-soft))}.drp-preset:hover{background:var(--primary-soft, rgba(7, 150, 255, .08))}.drp-preset.is-active{color:var(--primary);font-weight:700;border-inline-start-color:var(--primary);background:var(--primary-soft, rgba(7, 150, 255, .1))}.drp-main{display:flex;flex-direction:column;min-width:0;min-height:0}.drp-cals,.drp-presets{overflow-y:auto}.drp-head{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border-bottom:1px solid var(--border-subtle, var(--line-soft));flex-wrap:wrap}.drp-range-box{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem .85rem;border:1px solid var(--border-default, var(--line));border-radius:10px;font-size:calc(.85rem * var(--font-scale));color:var(--ink);white-space:nowrap}.drp-range-box .is-empty,.drp-range-dash{color:var(--ink-muted)}.drp-link{border:0;background:transparent;color:var(--primary);font:inherit;font-size:calc(.83rem * var(--font-scale));font-weight:600;cursor:pointer;padding:0}.drp-link:hover{text-decoration:underline}.drp-head-actions{margin-inline-start:auto;display:inline-flex;align-items:center;gap:.5rem}.drp-btn{padding:.5rem 1.1rem;border-radius:9px;border:1px solid transparent;font:inherit;font-size:calc(.85rem * var(--font-scale));font-weight:600;cursor:pointer}.drp-btn-ghost{background:transparent;color:var(--primary)}.drp-btn-ghost:hover{background:var(--primary-soft, rgba(7, 150, 255, .08))}.drp-btn-primary{background:var(--primary);color:#fff}.drp-btn-primary:hover{filter:brightness(.95)}.drp-cals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;padding:1rem}.drp-cal-col{min-width:0}.drp-cal-title{display:block;margin-bottom:.5rem;font-size:calc(.82rem * var(--font-scale));font-weight:700;color:var(--ink)}.drp-cal-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.5rem;margin-bottom:.6rem}.drp-select-wrap{display:block;min-width:0}.drp-select{width:100%;padding:.45rem .6rem;border:1px solid var(--border-default, var(--line));border-radius:9px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:calc(.82rem * var(--font-scale));cursor:pointer}.drp-weekdays,.drp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.drp-weekdays{gap:0;margin-bottom:.3rem}.drp-weekdays span{text-align:center;font-size:calc(.74rem * var(--font-scale));font-weight:700;color:var(--ink-muted);padding-block:.3rem}.drp-days{row-gap:2px}.drp-day{aspect-ratio:1 / 1;min-height:34px;display:grid;place-items:center;border:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(.82rem * var(--font-scale));font-variant-numeric:tabular-nums;cursor:pointer;transition:background .12s ease,color .12s ease}.drp-day.is-blank{cursor:default}.drp-day:not(.is-blank):hover{background:var(--primary-soft, rgba(7, 150, 255, .12))}.drp-day.is-today{box-shadow:inset 0 0 0 1px var(--primary-border, rgba(7, 150, 255, .45));border-radius:8px}.drp-day.is-in-range{background:var(--primary-soft, rgba(7, 150, 255, .12));border-radius:0}.drp-day.is-start,.drp-day.is-end{background:var(--primary);color:#fff;font-weight:700;border-radius:8px}.drp-day.is-start:hover,.drp-day.is-end:hover{background:var(--primary)}[data-theme=dark] .drp-panel{background:var(--surface-1);border-color:#ffffff1a;box-shadow:0 18px 48px -18px #000000b3}[data-theme=dark] .drp-presets{background:#ffffff08;border-inline-end-color:#ffffff14}[data-theme=dark] .drp-preset+.drp-preset{border-top-color:#ffffff0f}[data-theme=dark] .drp-head{border-bottom-color:#ffffff14}[data-theme=dark] .drp-trigger,[data-theme=dark] .drp-select,[data-theme=dark] .drp-range-box{background:#ffffff0a;border-color:#ffffff1f}@media(max-width:780px){.drp-panel{grid-template-columns:minmax(0,1fr)}.drp-presets{flex-direction:row;overflow-x:auto;border-inline-end:0;border-bottom:1px solid var(--border-subtle, var(--line-soft));padding:.4rem .5rem;gap:.35rem}.drp-preset{white-space:nowrap;border-inline-start:0;border-radius:8px;padding:.45rem .7rem}.drp-preset+.drp-preset{border-top:0}.drp-preset.is-active{border-inline-start:0}.drp-cals{grid-template-columns:minmax(0,1fr)}}.entity-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;overflow:hidden;visibility:hidden;pointer-events:none}.entity-drawer-layer.is-open,.entity-drawer-layer.is-closing{visibility:visible;pointer-events:auto}.entity-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#070b328c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1))}.entity-drawer-layer.is-open .entity-drawer-backdrop{opacity:1}.entity-drawer-layer.is-closing .entity-drawer-backdrop{opacity:0}.entity-drawer{--drawer-offscreen: -100%;position:absolute;inset-block:0;inset-inline-end:0;display:flex;width:min(1120px,100%);max-width:calc(100vw / var(--ui-scale));flex-direction:column;color:var(--ink);background:var(--page-bg, var(--surface-1, #fff));box-shadow:-18px 0 48px #0f172a2e;overflow:hidden;transform:translate3d(var(--drawer-offscreen),0,0);transition:transform var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1));will-change:transform}[dir=ltr] .entity-drawer{--drawer-offscreen: 100%}.entity-drawer-layer.is-open .entity-drawer{transform:translateZ(0)}.entity-drawer-header{display:flex;align-items:center;gap:8px;padding:6px 10px 8px}.entity-drawer-toolbar{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-inline-start:auto}.entity-drawer-toolbar-actions{display:flex;align-items:center;gap:6px}.entity-drawer-close{flex:0 0 auto}.entity-drawer-hero{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.entity-drawer-hero-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:12px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent)}.entity-drawer-hero-copy{min-width:0;flex:1}.entity-drawer-hero-main{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.entity-drawer-hero-copy h2{margin:0;font-size:calc(17px * var(--font-scale));font-weight:700;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}.entity-drawer-hero-role{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600;line-height:1.35}.entity-drawer-hero-role:not(:first-child):before{content:"·";margin-inline-end:8px}.entity-drawer-hero-copy p{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.entity-drawer-hero-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:0}.entity-drawer-hero-avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:12px;font-size:calc(13px * var(--font-scale));font-weight:800;color:var(--primary);background:var(--primary-soft);object-fit:cover}.entity-drawer-body{flex:1 1 auto;min-height:0;overflow:auto;padding:0 18px 18px;display:flex;flex-direction:column;gap:12px;background:var(--page-bg, #e8edf4)}.entity-drawer-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:12px 16px 16px;border-top:1px solid var(--line, rgba(15, 23, 42, .08))}.entity-drawer.staff-profile-drawer .entity-drawer-body{padding:0;overflow:hidden;display:flex;flex-direction:column;background:transparent;gap:0}.ops-tabs+.entity-drawer-body,.ops-tabs+.staff-profile-body,.ops-tabs+.student-profile-body{padding-top:0}.entity-drawer-body>:first-child,.staff-profile-body>:first-child,.student-profile-body>:first-child{margin-top:0}.entity-drawer .entity-profile-tabs.ops-tabs{column-gap:0;row-gap:0;padding:4px 0 0;border-bottom:0;background:var(--page-bg, #e8edf4)}.entity-drawer .entity-profile-tabs.ops-tabs button,.entity-drawer .entity-profile-tabs.ops-tabs button.active{min-height:42px;padding:8px 22px 9px;font-size:calc(12px * var(--font-scale));font-weight:800}.entity-drawer .entity-profile-tabs.ops-tabs button:after{display:none}[data-theme=dark] .entity-drawer-body,[data-theme=dark] .entity-drawer .entity-profile-tabs.ops-tabs{background:var(--page-bg, #0f1016)}.entity-profile-section{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card)}.entity-profile-section__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.entity-profile-section__title{min-width:0;flex:1 1 12rem}.entity-profile-section__aside{display:flex;align-items:center;flex:0 0 auto;max-width:100%}.entity-profile-section__title h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(13px * var(--font-scale));font-weight:800;color:var(--ink)}.entity-profile-section__title h3 i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:calc(11px * var(--font-scale))}.entity-profile-section__title p{margin:3px 0 0;margin-inline-start:36px;font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted);line-height:1.45}.entity-profile-section__body{display:flex;flex-direction:column;gap:10px;min-width:0}.entity-drawer .entity-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));align-items:start;width:100%;min-width:0;margin:0;padding:0;gap:6px}.entity-drawer .entity-kpi-row>.kpi-card.student-stat-card,.entity-drawer .entity-kpi-row>.staff-expand-kpi,.entity-drawer .entity-kpi-row>.expand-kpi{min-width:0}.entity-drawer .entity-kpi-row .kpi-card.student-stat-card{flex:1 1 12rem;min-width:min(100%,12rem);height:auto;max-height:none;min-height:36px;padding:7px 10px;gap:8px;align-items:flex-start;overflow:visible}.entity-drawer .entity-kpi-row .student-stat-card__viewport,.entity-drawer .entity-kpi-row .student-stat-card__line{height:auto;min-height:22px;overflow:visible}.entity-drawer .entity-kpi-row .student-stat-card__label,.entity-drawer .entity-kpi-row .student-stat-card__value,.entity-drawer .entity-kpi-row .student-stat-card__amount{white-space:normal;overflow:visible;text-overflow:unset;font-weight:400}.entity-profile-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:10px}.entity-profile-card{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px 14px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1)}.entity-profile-card-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale))}.entity-profile-card-body{display:grid;gap:3px;min-width:0;flex:1}.entity-profile-card-body strong{font-size:calc(14px * var(--font-scale));font-weight:800;color:var(--ink);overflow-wrap:anywhere}.entity-profile-card-body small,.entity-profile-card-body p{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600;line-height:1.45;overflow-wrap:anywhere}.entity-profile-card-status{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 0 auto}.entity-profile-empty{margin:0;padding:14px 12px;border:1px dashed var(--border-default, var(--line));border-radius:10px;background:var(--surface-2);text-align:center;font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted)}[data-theme=dark] .entity-profile-section,[data-theme=dark] .entity-profile-card{background:var(--surface-1);border-color:var(--border-default)}.entity-drawer-fields{display:grid;gap:10px}.entity-drawer-field{display:grid;gap:4px;min-width:0}.entity-drawer-field span{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:700}.entity-drawer-field strong{color:var(--ink);font-size:calc(14px * var(--font-scale));font-weight:700;overflow-wrap:anywhere}@media(max-width:640px){.entity-drawer-header{padding:4px 8px 6px;gap:6px}.entity-drawer-hero-icon,.entity-drawer-hero-avatar{width:36px;height:36px}.entity-drawer-hero-copy h2{font-size:calc(15px * var(--font-scale))}}@media(prefers-reduced-motion:reduce){.entity-drawer-layer,.entity-drawer-backdrop,.entity-drawer{transition:none}}.expand-kpi{position:relative;display:flex;min-width:0}.expand-kpi .kpi-card.student-stat-card{width:100%;min-width:0;flex:1 1 auto;height:auto;max-height:none;transition:background-color .2s ease,border-color .2s ease}.expand-kpi:not(.is-open) .student-stat-card__amount{min-width:0;overflow:hidden}.expand-kpi:not(.is-open) .student-stat-card__value{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.expand-kpi.is-expandable:not(.is-open) .kpi-card.student-stat-card{padding-inline-end:22px}.expand-kpi.is-open .kpi-card.student-stat-card{align-items:flex-start;background:color-mix(in srgb,var(--tone-color, var(--primary)) 16%,var(--surface-1));border-color:color-mix(in srgb,var(--tone-color, var(--primary)) 48%,var(--border-subtle))}.expand-kpi.is-open .student-stat-card__viewport,.expand-kpi.is-open .student-stat-card__line{height:auto;align-items:flex-start}.expand-kpi.is-open .student-stat-card__amount{align-items:flex-start;overflow:visible;white-space:normal}.expand-kpi.is-open .student-stat-card__value{overflow:visible;white-space:normal}.expand-kpi__toggle{position:absolute;z-index:2;inset-inline-end:6px;inset-block-start:50%;width:16px;min-width:16px;height:16px;min-height:16px;display:grid;place-items:center;padding:0;margin:0;border:0;border-radius:0;color:var(--ink-muted);background:transparent;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transform:translateY(-50%)}.expand-kpi__toggle:hover,.expand-kpi__toggle:focus-visible{color:var(--ink);background:transparent}.expand-kpi__toggle i{font-size:11px;line-height:1;transition:transform .22s cubic-bezier(.23,1,.32,1)}.expand-kpi.is-open .expand-kpi__toggle{inset-block-start:10px;transform:none;color:var(--tone-color, var(--primary))}.expand-kpi.is-open .expand-kpi__toggle i{transform:rotate(180deg)}[data-theme=dark] .expand-kpi.is-open .kpi-card.student-stat-card{background:color-mix(in srgb,var(--tone-color, var(--primary)) 22%,var(--surface-2));border-color:color-mix(in srgb,var(--tone-color, var(--primary)) 52%,var(--border-subtle))}@media(prefers-reduced-motion:reduce){.expand-kpi .kpi-card.student-stat-card,.expand-kpi__toggle i{transition:none}}.table-draggable-column{cursor:grab;-webkit-user-select:none;user-select:none}.table-draggable-column.is-dragging{opacity:.45;cursor:grabbing}.table-draggable-column.is-drop-target{box-shadow:inset 0 -3px 0 var(--primary);background:color-mix(in srgb,var(--primary-soft, var(--primary)) 70%,transparent)}.table-column-head{display:inline-flex;align-items:center;gap:8px}.table-column-grip{color:var(--ink-muted);font-size:.72rem;opacity:.65}.table-draggable-column:hover .table-column-grip{color:var(--primary);opacity:1}.is-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.is-sortable:focus-visible{outline:2px solid currentColor;outline-offset:-2px}.table-column-sort{flex:0 0 auto;font-size:.82em;opacity:.45;transition:opacity .15s ease,color .15s ease}.is-sortable:hover .table-column-sort{opacity:.75}.table-column-sort.is-active{opacity:1}.is-sorted>.table-column-head>span[title]{font-weight:700}@media(prefers-reduced-motion:reduce){.table-column-sort{transition:none}}.data-table-shell{display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.data-table-wrap{flex:1 1 0%;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.data-table-wrap.is-fetching{opacity:.55;pointer-events:none;transition:opacity .15s ease}.data-table-wrap::-webkit-scrollbar{width:0;height:0;display:none}.data-table-sentinel{flex-shrink:0;width:100%;height:8px;min-height:8px}.data-table-count{flex:0 0 auto;margin:0;padding:var(--dt-count-pad, 4px 10px 6px);color:var(--ink-muted, var(--text-muted, #64748b));font-size:var(--dt-count-font, calc(11px * var(--font-scale)));font-weight:500;line-height:1.2;text-align:start;white-space:nowrap}table.data-table{--dt-cell-pad-y: 5px;--dt-cell-pad-x: 10px;--dt-head-pad-y: 8px;--dt-head-pad-x: 10px;--dt-cell-font: var(--table-cell, 13px);--dt-meta-font: var(--table-meta, 12px);--dt-head-font: var(--table-head, 12px);--dt-head-weight: 500;--dt-head-bg: var(--surface-2);--dt-head-ink: var(--ink-muted);--dt-head-border: 1px solid var(--line-soft);--dt-row-border: 1px solid var(--line-soft);--dt-row-hover: color-mix(in srgb, var(--primary) 9%, var(--surface-1));--dt-row-odd: var(--surface-1);--dt-row-even: color-mix(in srgb, var(--primary) 5%, var(--surface-1));--dt-index-width: 52px;--dt-actions-width: 108px;--dt-min-width: 0;width:100%;min-width:var(--dt-min-width);border-collapse:separate;border-spacing:0;table-layout:auto}table.data-table--cozy{--dt-cell-pad-y: 8px;--dt-cell-pad-x: 12px;--dt-head-pad-y: 8px;--dt-head-pad-x: 12px}table.data-table--comfortable{--dt-cell-pad-y: 12px;--dt-cell-pad-x: 14px;--dt-head-pad-y: 12px;--dt-head-pad-x: 14px}table.data-table--head-primary{--dt-head-bg: var(--primary);--dt-head-ink: #fff;--dt-head-weight: 600;--dt-head-border: 0}.data-table-wrap table.data-table th,.data-table-wrap table.data-table td{padding:var(--dt-cell-pad-y) var(--dt-cell-pad-x);border-bottom:var(--dt-row-border);font-size:var(--dt-cell-font);text-align:start;vertical-align:middle}.data-table-wrap table.data-table thead th{padding:var(--dt-head-pad-y) var(--dt-head-pad-x);border-bottom:var(--dt-head-border);background:var(--dt-head-bg);color:var(--dt-head-ink);font-size:var(--dt-head-font);font-weight:var(--dt-head-weight);letter-spacing:0;text-transform:none;white-space:nowrap}.data-table-wrap table.data-table--sticky thead th{position:sticky;top:0;z-index:2}.data-table-wrap table.data-table td{background:transparent;color:var(--ink)}.data-table-wrap table.data-table--nowrap td{white-space:nowrap}.data-table-wrap table.data-table--flush th,.data-table-wrap table.data-table--flush td{border-bottom:0}.data-table tbody tr{transition:background .15s ease}.data-table--hoverable tbody tr:hover,.data-table--hoverable tbody tr:hover td{background:var(--dt-row-hover)}@media(min-width:768px){.data-table--zebra tbody tr:nth-child(odd),.data-table--zebra tbody tr:nth-child(odd) td{background:var(--dt-row-odd)}.data-table--zebra tbody tr:nth-child(2n),.data-table--zebra tbody tr:nth-child(2n) td{background:var(--dt-row-even)}.data-table--zebra tbody td{border-bottom:1px solid var(--border-subtle, #e4eef6)}}.data-table tbody tr:last-child td{border-bottom:0}.data-table strong{font-size:var(--dt-cell-font);font-weight:500}.data-table small{color:var(--ink-muted);font-size:var(--dt-meta-font)}.data-table .row-index-cell{width:var(--dt-index-width);min-width:var(--dt-index-width);padding-inline:4px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center}.data-table--head-primary thead th.row-index-cell{color:var(--dt-head-ink)}.data-table th.is-center,.data-table td.is-center{text-align:center}.data-table th.is-end,.data-table td.is-end{text-align:end}.data-table .row-actions,.data-table .ops-actions{display:flex;align-items:center;gap:4px}.data-table input[type=checkbox]{flex:0 0 auto;width:15px;height:15px;accent-color:var(--primary)}@media(min-width:768px){table.data-table--fixed{table-layout:fixed}table.data-table .row-index-cell{width:var(--dt-index-width);min-width:var(--dt-index-width);max-width:calc(var(--dt-index-width) + 4px)}table.data-table:has(th.data-table__actions-head) th.data-table__actions-head,table.data-table:has(th.data-table__actions-head) tbody tr>td:last-child{width:var(--dt-actions-width);min-width:var(--dt-actions-width)}table.data-table th:not(.row-index-cell):not(:last-child),table.data-table td:not(.row-index-cell):not(:last-child){width:auto;min-width:0}table.data-table--fixed.data-table--nowrap th,table.data-table--fixed.data-table--nowrap td{overflow:hidden;text-overflow:ellipsis}table.data-table--fixed.data-table--nowrap td>.staff-identity,table.data-table--fixed.data-table--nowrap td>.staff-identity>span,table.data-table--fixed.data-table--nowrap td>span:not(.fin-badge):not(.row-actions){min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}table.data-table--fixed.data-table--nowrap td>.staff-identity strong,table.data-table--fixed.data-table--nowrap td>.staff-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:767px){.data-table-shell{overflow:visible}.data-table-wrap{flex:none;max-height:none;overflow:visible}table.data-table,table.data-table.data-table--fixed{min-width:0;table-layout:auto;border:none;background:transparent}table.data-table>thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}table.data-table>tbody>tr{display:block;margin-block-end:10px;padding:10px 12px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1);box-shadow:0 1px 2px #1018280a}table.data-table--zebra>tbody>tr:nth-child(2n){background:var(--surface-1)}table.data-table>tbody>tr>td{display:flex;align-items:center;justify-content:space-between;gap:12px;width:auto!important;min-width:0!important;max-width:none!important;padding:5px 0;border:none;text-align:start;white-space:normal}table.data-table>tbody>tr>td:not(:last-child){border-block-end:1px solid color-mix(in srgb,var(--border-default, var(--line)) 45%,transparent)}table.data-table>tbody>tr>td:before{content:attr(data-label);flex:0 0 auto;max-width:45%;color:var(--ink-muted, var(--muted));font-size:calc(11.5px * var(--font-scale));font-weight:600;text-align:start}table.data-table>tbody>tr>td:not([data-label]):before,table.data-table>tbody>tr>td[data-label=""]:before{content:none}table.data-table>tbody>tr>td.row-index-cell{display:none}table.data-table>tbody>tr>td:last-child .row-actions,table.data-table>tbody>tr>td:last-child .ops-actions,table.data-table>tbody>tr>td:last-child .fin-row-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.data-table .ops-row-title,.data-table .staff-identity,.data-table .fin-row-title{flex-wrap:wrap}}[data-theme=dark] table.data-table{--dt-row-even: color-mix(in srgb, var(--primary) 8%, var(--surface-1));--dt-row-hover: color-mix(in srgb, var(--primary) 14%, var(--surface-1))}.data-table .ops-row-title,.data-table .staff-identity,.data-table .fin-row-title{gap:7px;min-width:0}.data-table .ops-row-icon,.data-table .fin-row-icon{flex:0 0 26px;width:26px;height:26px;border-radius:7px;font-size:11px}.data-table .staff-avatar{width:26px;height:26px;border-radius:7px;font-size:9px}.data-table .ops-row-title strong,.data-table .staff-identity strong,.data-table .fin-row-title strong{line-height:1.15;font-size:var(--text-sm, 13px);font-weight:500}.data-table .ops-row-title small,.data-table .staff-identity small,.data-table .fin-row-title small{line-height:1.15}.data-table .staff-identity,.data-table .staff-identity strong{color:var(--ink)}.data-table .row-actions .icon-button,.data-table .ops-actions .icon-button,.data-table .fin-row-actions .icon-button{width:26px;height:26px;border-radius:7px}.data-table th.data-table__actions-head{text-align:center}.data-table .row-actions,.data-table .ops-actions,.data-table .fin-row-actions{justify-content:center}.data-table .staff-job-type-col{text-align:center}.data-table .staff-job-type{justify-content:center}.data-table-wrap,.fin-table-wrap,.staff-table-wrap,.ops-table-wrap,.students-table-wrap,.guardians-table-wrap,.report-preview-table-wrap,.att-table-shell,.treasury-table-shell,.receipts-table-shell,.expenses-table-shell{scrollbar-width:none;-ms-overflow-style:none}.data-table-wrap::-webkit-scrollbar,.fin-table-wrap::-webkit-scrollbar,.staff-table-wrap::-webkit-scrollbar,.ops-table-wrap::-webkit-scrollbar,.students-table-wrap::-webkit-scrollbar,.guardians-table-wrap::-webkit-scrollbar,.report-preview-table-wrap::-webkit-scrollbar,.att-table-shell::-webkit-scrollbar,.treasury-table-shell::-webkit-scrollbar,.receipts-table-shell::-webkit-scrollbar,.expenses-table-shell::-webkit-scrollbar{width:0;height:0;display:none}.data-table-wrap table.data-table thead th,.data-table-wrap table.data-table thead th.row-index-cell{text-align:center}.data-table-wrap table.data-table thead th[data-column=driver],.data-table-wrap table.data-table thead th[data-column=name],.data-table-wrap table.data-table thead th[data-column=route],.data-table-wrap table.data-table thead th[data-column=trip],.data-table-wrap table.data-table thead th.transport-route-name-column,.data-table-wrap table.data-table thead th.transport-crew-name-column,.data-table-wrap table.data-table thead th.is-start{text-align:start}.data-table-wrap table.data-table thead th:last-child,.data-table-wrap table.data-table tbody tr>td:last-child{padding-inline-end:6px}.data-table-wrap table.data-table tbody tr>td:last-child .row-actions,.data-table-wrap table.data-table tbody tr>td:last-child .ops-actions{justify-content:flex-end;gap:2px}.data-table-wrap table.data-table td .transport-trip-name{display:block;white-space:normal;line-height:1.45}.data-table-wrap table.data-table td .transport-trip-name-line{display:block}.transport-trip-title{min-width:0}.table-phone-link{color:var(--primary, #1d6bff);font-weight:600;text-decoration:none;border-bottom:1px dashed rgba(29,107,255,.35);transition:color .16s ease,border-color .16s ease}.table-phone-link:hover{color:var(--primary-hover, #1558d6);border-bottom-color:currentColor}.table-phone-link:focus-visible{outline:2px solid var(--primary, #1d6bff);outline-offset:2px;border-radius:4px}.app-fallback{display:grid;justify-items:center;align-content:center;gap:12px;min-height:60vh;padding:32px 24px;text-align:center}.app-fallback i{font-size:2rem;color:var(--primary)}.app-fallback h1{margin:0;font-size:var(--text-xl, 1.4rem)}.app-fallback p{margin:0;max-width:36rem;color:var(--ink-muted, #5b6472)}.login-split-shell{position:relative;min-height:calc(100vh / var(--ui-scale));display:grid;place-items:center;padding:clamp(16px,3vw,32px);overflow:hidden;background:var(--page-bg)}.login-split-bg{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;pointer-events:none;z-index:0}.login-split-bg:before,.login-split-bg:after{content:""}.login-split-bg:before{background:var(--primary)}.login-split-bg:after{background:var(--page-bg)}.login-neon-lines{position:absolute;top:0;bottom:0;left:0;width:50%;height:100%;pointer-events:none;z-index:1;overflow:hidden;opacity:.15}[data-theme=dark] .login-neon-lines{opacity:.25}.login-neon-line{position:absolute;width:2px;height:200%;background:linear-gradient(to bottom,transparent,var(--primary),transparent);box-shadow:0 0 10px color-mix(in srgb,var(--primary) 50%,transparent),0 0 20px color-mix(in srgb,var(--primary) 30%,transparent),0 0 30px color-mix(in srgb,var(--primary) 20%,transparent);animation:loginNeonLineMove 20s linear infinite;border-radius:2px}[data-theme=dark] .login-neon-line{box-shadow:0 0 15px color-mix(in srgb,var(--primary) 70%,transparent),0 0 30px color-mix(in srgb,var(--primary) 50%,transparent),0 0 45px color-mix(in srgb,var(--primary) 30%,transparent)}.login-neon-line-1{left:20%;animation-delay:0s;animation-duration:25s}.login-neon-line-2{left:50%;animation-delay:-8s;animation-duration:30s}.login-neon-line-3{left:80%;animation-delay:-15s;animation-duration:28s}@keyframes loginNeonLineMove{0%{transform:translateY(-100%) rotate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.login-neon-line:before,.login-neon-line:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--primary);border-radius:50%;box-shadow:0 0 10px color-mix(in srgb,var(--primary) 80%,transparent),0 0 20px color-mix(in srgb,var(--primary) 50%,transparent);opacity:0;animation:loginNeonCorner 20s linear infinite}.login-neon-line:before{top:-10px;left:-9px}.login-neon-line:after{bottom:-10px;left:-9px}@keyframes loginNeonCorner{0%,to{opacity:0;transform:scale(0)}5%,95%{opacity:0;transform:scale(0)}10%,90%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.login-neon-line,.login-neon-line:before,.login-neon-line:after{animation:none;opacity:.35}}.login-split-shell .login-theme-toggle{position:fixed;top:18px;inset-inline-start:18px;z-index:30;width:42px;height:42px;border-radius:var(--radius-control);background:var(--surface-1);border:1px solid var(--border-default);color:var(--ink);box-shadow:var(--shadow-soft)}.login-split-card{position:relative;z-index:2;width:min(920px,100%);min-height:min(520px,calc(100vh / var(--ui-scale) - 120px));display:grid;grid-template-columns:1fr 1fr;border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-panel);overflow:hidden;direction:ltr}.login-split-form{position:relative;z-index:2;padding:clamp(28px,4vw,44px) clamp(24px,4vw,40px) 72px;display:flex;flex-direction:column;direction:rtl}.login-split-brand h1{margin:0;font-size:clamp(22px,3vw,34px);font-weight:800;color:var(--primary);letter-spacing:-.02em;overflow-wrap:anywhere}.login-split-brand p{margin:4px 0 0;color:var(--ink-muted);font-size:var(--text-sm)}.login-split-fields{display:grid;gap:16px;flex:1;margin-top:28px}.login-split-field label{display:block;margin-bottom:6px;font-size:var(--text-sm);font-weight:600;color:var(--ink)}.login-split-input{display:flex;align-items:stretch;min-height:48px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-2);box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 4%,transparent);overflow:hidden;transition:border-color .15s,background .15s}.login-split-input:focus-within{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-default));background:color-mix(in srgb,var(--primary) 4%,var(--surface-2));box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}.login-split-input input{flex:1;min-width:0;border:0;background:transparent;padding:12px 16px;color:var(--ink);font:inherit;font-size:var(--text-md);outline:none}.login-split-input input::placeholder{color:color-mix(in srgb,var(--ink-muted) 72%,transparent)}.login-split-input input[type=password]{-webkit-text-security:square;letter-spacing:.14em}.login-split-input button{flex:0 0 46px;display:grid;place-items:center;border:0;border-inline-start:1px solid var(--line-soft);background:color-mix(in srgb,var(--ink) 3%,var(--surface-2));color:color-mix(in srgb,var(--ink-muted) 88%,var(--ink));font-size:15px;cursor:pointer;transition:color .15s,background .15s}.login-split-input button:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 5%,var(--surface-2))}.login-split-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:2px}.login-split-remember{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.login-split-remember input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.login-split-remember-box{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border:1px solid var(--border-subtle);border-radius:6px;background:var(--surface-2);box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 4%,transparent);transition:border-color .15s,background .15s,box-shadow .15s}.login-split-remember-box i{font-size:10px;color:#fff;opacity:0;transform:scale(.65);transition:opacity .15s,transform .15s}.login-split-remember-text{color:var(--ink-muted);font-size:var(--text-sm);font-weight:500;transition:color .15s}.login-split-remember:hover .login-split-remember-box{border-color:color-mix(in srgb,var(--primary) 24%,var(--border-default))}.login-split-remember:hover .login-split-remember-text{color:var(--ink)}.login-split-remember input:checked+.login-split-remember-box{border-color:var(--primary);background:var(--primary);box-shadow:none}.login-split-remember input:checked+.login-split-remember-box i{opacity:1;transform:scale(1)}.login-split-remember input:checked~.login-split-remember-text{color:var(--ink)}.login-split-remember input:focus-visible+.login-split-remember-box{outline:2px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}.login-split-link{border:0;background:transparent;color:var(--primary);font:inherit;font-size:var(--text-sm);font-weight:600;cursor:pointer;padding:0}.login-split-link:hover{color:var(--primary-hover)}.login-split-submit{width:100%;min-height:46px;margin-top:6px;border:0;border-radius:var(--radius-control);background:var(--primary);color:#fff;font:inherit;font-size:var(--text-md);font-weight:700;cursor:pointer;box-shadow:var(--shadow-button);transition:background .15s}.login-split-submit:hover:not(:disabled){background:var(--primary-hover)}.login-split-submit:disabled{opacity:.65;cursor:wait}.login-split-install{width:100%;min-height:44px;margin-top:10px;border:1px solid var(--primary-border);border-radius:var(--radius-control);background:var(--primary-soft);color:var(--primary);font:inherit;font-size:var(--text-sm);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.login-split-install:hover{background:color-mix(in srgb,var(--primary) 14%,var(--surface-1))}.login-split-install-hint{margin:10px 0 0;color:var(--ink-muted);font-size:12px;line-height:1.6;text-align:center}.login-split-visual{position:relative;background:var(--primary-soft);display:grid;place-items:center;padding:32px 24px 72px;overflow:hidden;border-inline-start:1px solid var(--line-soft)}.login-orbit{position:relative;width:min(280px,80%);aspect-ratio:1}.login-orbit-ring{position:absolute;top:0;right:0;bottom:0;left:0;animation:loginOrbitSpin 52s linear infinite}.login-orbit-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;direction:rtl;z-index:1;pointer-events:none}.login-orbit-center strong{display:block;max-width:9.5rem;font-size:18px;font-weight:800;color:var(--primary);line-height:1.25;overflow-wrap:anywhere;animation:loginOrbitCenterPulse 5s ease-in-out infinite}.login-orbit-center span{display:block;margin-top:6px;font-size:var(--text-2xs);color:var(--ink-muted);line-height:1.5;max-width:9.5rem}.login-orbit-icon{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;border-radius:50%;background:var(--surface-1);border:1px solid var(--primary-border);color:var(--primary);font-size:17px;box-shadow:var(--shadow-soft);transform:rotate(var(--angle)) translateY(calc(-1 * var(--radius))) rotate(calc(-1 * var(--angle)));animation:loginOrbitGlow 4.8s ease-in-out infinite;animation-delay:var(--orbit-delay, 0s);transition:border-color .2s,box-shadow .2s}.login-orbit-icon i{display:block;animation:loginOrbitSpin 52s linear infinite reverse}@keyframes loginOrbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loginOrbitGlow{0%,to{box-shadow:var(--shadow-soft);border-color:var(--primary-border);transform:rotate(var(--angle)) translateY(calc(-1 * var(--radius))) rotate(calc(-1 * var(--angle))) scale(1)}50%{box-shadow:0 6px 18px color-mix(in srgb,var(--primary) 18%,transparent);border-color:color-mix(in srgb,var(--primary) 42%,var(--primary-border));transform:rotate(var(--angle)) translateY(calc(-1 * var(--radius) - 4px)) rotate(calc(-1 * var(--angle))) scale(1.04)}}@keyframes loginOrbitCenterPulse{0%,to{opacity:1}50%{opacity:.9}}@media(prefers-reduced-motion:reduce){.login-orbit-ring,.login-orbit-icon,.login-orbit-icon i,.login-orbit-center strong{animation:none}}.login-cityscape{position:absolute;left:0;right:0;bottom:0;height:52px;pointer-events:none;color:var(--line);opacity:.5;z-index:1}@media(max-width:820px){.login-split-card{grid-template-columns:1fr;min-height:auto}.login-split-visual{display:none}.login-neon-lines{width:100%;opacity:.12}[data-theme=dark] .login-neon-lines{opacity:.18}.login-neon-line{width:1px}.login-neon-line-3{display:none}.login-split-form{padding-bottom:56px}}@media(max-width:480px){.login-split-shell{padding:12px}.login-split-form{padding:24px 20px 48px}}.keep-alive-route{display:none}.keep-alive-route.is-active,.keep-alive-route-page{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}:root{--ui-scale: 1;--font-scale: 1;--primary: #0796FF;--primary-hover: #0680d9;--primary-soft: #e8f4ff;--primary-border: #b3e0ff;--ink: #0f172a;--ink-muted: #64748b;--text-primary: var(--ink);--text-secondary: #64748b;--surface-base: var(--surface-1);--primary-strong: var(--primary-hover);--neutral-0: #fff;--neutral-50: #f8fafc;--neutral-100: #eef2f8;--line: #e4eaf2;--line-soft: #eef2f8;--sidebar: #1a6a9a;--sidebar-gradient: linear-gradient(165deg, #0d4d75 0%, #1a6a9a 42%, #2a7aad 72%, #4a90b8 100%);--brand-gradient: linear-gradient(90deg, #3aadff 0%, #0796FF 50%, #0680d9 100%);--brand-gradient-soft: linear-gradient(135deg, #3aadff 0%, #0796FF 50%, #0680d9 100%);--success: #43b75d;--success-soft: #eaf7ee;--success-600: #3dad52;--success-800: #2e8540;--success-gradient: linear-gradient(135deg, #63cf7a 0%, #43b75d 48%, #369a4a 100%);--success-gradient-soft: linear-gradient(135deg, #f0faf3 0%, #dff3e4 100%);--danger: #ee443f;--danger-soft: #fdeceb;--warning: #f47920;--warning-soft: #fef1e8;--info: #1d6bff;--info-soft: #eaf1ff;--shadow-card: 0 1px 2px rgba(15, 23, 42, .06), 0 1px 3px rgba(15, 23, 42, .04);--shadow-hover: 0 4px 12px rgba(15, 23, 42, .08), 0 0 0 1px color-mix(in srgb, var(--primary) 6%, transparent);--shadow-button: 0 8px 18px -6px color-mix(in srgb, var(--primary) 24%, transparent);--shadow-soft: 0 1px 3px rgba(15, 23, 42, .06);--shadow-panel: 0 4px 24px rgba(15, 23, 42, .08);--page-bg: #e8edf4;--surface-0: #e8edf4;--surface-1: #ffffff;--surface-2: #f1f5fa;--surface-inset: #e8edf4;--surface-header: #fafbfd;--surface-sunken: #eef2f8;--surface-raised: #ffffff;--surface-overlay: #ffffff;--surface: var(--surface-1);--border-ghost: rgba(15, 23, 42, .055);--border-subtle: #e4eaf2;--border-default: #d5deea;--border-emphasis: #94a3b8;--surface-primary: var(--surface-1);--surface-secondary: var(--surface-2);--border-color: var(--border-default);--shadow-sm: var(--shadow-card);--neutral-200: var(--line);--glass-bg: var(--surface-1);--glass-bg-strong: var(--surface-2);--glass-surface: var(--surface-1);--glass-border: var(--border-default);--glass-line: var(--border-subtle);--glass-shadow: var(--shadow-card);--glass-blur: none;--overlay-backdrop: rgba(15, 23, 42, .45);--sk-shimmer: linear-gradient(105deg, rgba(226, 232, 240, .72) 18%, rgba(248, 250, 252, .95) 40%, rgba(226, 232, 240, .72) 62%);--sk-shimmer-inset: linear-gradient(105deg, rgba(203, 213, 225, .55) 18%, rgba(241, 245, 249, .85) 42%, rgba(203, 213, 225, .55) 62%);--sk-fill: color-mix(in srgb, var(--ink) 8%, var(--surface-1));--sk-shine: color-mix(in srgb, var(--surface-1) 55%, #fff);--sk-card-bg: var(--surface-1);--sk-card-border: rgba(15, 23, 42, .06);--sk-table-head-bg: rgba(15, 23, 42, .03);--sk-table-row-border: rgba(15, 23, 42, .05);--radius-card: 12px;--radius-control: 10px;--sidebar-width: 16rem;--sidebar-collapsed-width: 5rem;--page-gutter-inline: clamp(16px, calc(1.25vw / var(--ui-scale)), 24px);--page-gutter-block-start: 16px;--page-gutter-block-end: 24px;--content-max-width: none;--font: "Cairo", sans-serif;--text-2xs: calc(11px * var(--font-scale));--text-xs: calc(12px * var(--font-scale));--text-sm: calc(13px * var(--font-scale));--text-md: calc(14px * var(--font-scale));--text-base: calc(15px * var(--font-scale));--text-lg: calc(16px * var(--font-scale));--table-head: calc(12px * var(--font-scale));--table-cell: calc(13px * var(--font-scale));--table-meta: calc(12px * var(--font-scale));--badge-text: calc(11px * var(--font-scale));--z-sidebar-backdrop: 35;--z-sidebar: 40;--z-schedule-stack: 50;--z-schedule-menu-trigger: 1;--z-schedule-menu-l1: 10;--z-schedule-menu-l2: 11;--z-schedule-menu-l3: 12;--z-modal-backdrop: 2000;--z-toast: 10000;--ease-drawer: cubic-bezier(.32, .72, 0, 1);--drawer-duration: .3s;--status-bar-height: 64px;--brand-400: #3aadff;--brand-500: var(--primary);--brand-700: #0570c0;--text-muted: var(--ink-muted);--success-700: #369a4a;--warning-500: var(--warning);--warning-700: #c8611a;--warning-800: #a85115;--danger-500: var(--danger);--danger-600: #d63b36}*{box-sizing:border-box}html{zoom:var(--ui-scale);scroll-behavior:smooth;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;font-variant-numeric:lining-nums tabular-nums;font-family:var(--font);font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0}input.numeric-latin,.form-money-input,.ops-form-grid input[inputmode=numeric],.ops-form-grid input[inputmode=decimal],.filter-date-input{font-variant-numeric:lining-nums tabular-nums;unicode-bidi:plaintext}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}body h1{font-size:calc(24px * var(--font-scale))}h2{font-size:calc(16px * var(--font-scale))}h3{font-size:calc(15px * var(--font-scale))}h4{font-size:calc(14px * var(--font-scale))}h5,h6{font-size:calc(13px * var(--font-scale))}body{position:relative;margin:0;min-width:0;max-width:100%;overflow-x:hidden;color:var(--ink);background-color:var(--page-bg);background-image:linear-gradient(125deg,rgba(7,150,255,.04),transparent 34%),linear-gradient(305deg,rgba(5,166,107,.03),transparent 36%),repeating-linear-gradient(90deg,rgba(100,116,139,.025) 0 1px,transparent 1px 72px),repeating-linear-gradient(0deg,rgba(100,116,139,.02) 0 1px,transparent 1px 72px);background-attachment:fixed;font-family:var(--font);font-size:var(--text-base, 15px);font-optical-sizing:auto;font-style:normal;font-variation-settings:"slnt" 0;line-height:1.55}button,input,select{font:inherit}img,canvas{max-width:100%}button,a,select{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid rgba(7,150,255,.28);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html:has(.app-shell),html:has(.app-shell) body,html:has(.app-shell) #root{height:100%;overflow:hidden}.app-shell{position:relative;z-index:1;display:flex;isolation:isolate;height:calc(100dvh / var(--ui-scale));max-height:calc(100dvh / var(--ui-scale));overflow:hidden;-webkit-user-select:none;user-select:none}.app-shell input,.app-shell textarea,.app-shell select,.app-shell [contenteditable=true]{-webkit-user-select:text;user-select:text}.ambient-lines{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;opacity:.58;pointer-events:none}.app-shell:before,.app-shell:after{position:fixed;z-index:-1;content:"";pointer-events:none}.app-shell:before{inset-block-start:14%;inset-inline-end:-6%;width:min(calc(54vw / var(--ui-scale)),760px);height:min(calc(32vw / var(--ui-scale)),420px);border:1px solid rgba(7,150,255,.1);border-radius:48px;background:#ffffff1a;transform:rotate(18deg);box-shadow:inset 0 0 70px #0796ff0e}.app-shell:after{inset-block-end:8%;inset-inline-start:22%;width:min(calc(42vw / var(--ui-scale)),620px);height:180px;border-block:1px solid rgba(5,166,107,.08);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(-8deg)}.sidebar{position:sticky;inset-block-start:0;z-index:20;display:flex;width:var(--sidebar-width);max-width:var(--sidebar-width);min-width:0;flex:0 0 var(--sidebar-width);flex-direction:column;flex-shrink:0;height:100%;max-height:100%;overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;color:#fff;border-inline-end:1px solid rgba(255,255,255,.14);background:var(--sidebar-gradient);backdrop-filter:blur(26px) saturate(130%);-webkit-backdrop-filter:blur(26px) saturate(130%);transition:width .26s cubic-bezier(.22,1,.36,1),max-width .26s cubic-bezier(.22,1,.36,1),flex-basis .26s cubic-bezier(.22,1,.36,1)}.app-sidebar-static{position:relative}.app-sidebar-mobile{position:fixed;inset-block:0;inset-inline-start:0;z-index:var(--z-sidebar, 40);flex:none;pointer-events:none;visibility:hidden;transform:translate(100%);transition:transform .22s ease,visibility .22s ease}[dir=ltr] .app-sidebar-mobile{transform:translate(-100%)}.app-sidebar-mobile.open{pointer-events:auto;visibility:visible;transform:translate(0)}.sidebar::-webkit-scrollbar{width:0;height:0;display:none}.brand{position:relative;display:flex;flex-direction:column;flex-shrink:0;align-items:center;justify-content:center;gap:8px;padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.1);transition:padding .26s cubic-bezier(.22,1,.36,1),gap .26s cubic-bezier(.22,1,.36,1)}.brand>div{min-width:0;width:100%}.sidebar-collapse-button,.sidebar-close-button{display:inline-flex;width:28px;height:28px;flex:0 0 28px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#ffffffc7;background:#ffffff13;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease,width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1)}.sidebar-collapse-button{position:absolute;inset-block-start:8px;inset-inline-end:8px;z-index:1}.sidebar-close-button{width:32px;height:32px}.app-sidebar-mobile .brand{position:relative}.app-sidebar-mobile .sidebar-close-button{position:absolute;inset-block-start:8px;inset-inline-end:8px}.sidebar-collapse-button:hover,.sidebar-close-button:hover{color:#fff;border-color:#b3e0ff6b;background:#0796ff38}[dir=rtl] .app-sidebar-static:not(.is-collapsed) .app-sidebar-collapse-icon{transform:rotate(180deg)}.app-brand-mark{flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:transparent;border:0;box-shadow:none;overflow:visible}.brand .app-brand-mark{color:#fff}.login-brand-top .app-brand-mark{color:var(--primary)}.app-brand-mark-sm{width:48px;height:48px}.app-brand-mark-md{width:56px;height:56px}.app-brand-mark svg{display:block;width:100%;height:100%;flex:0 0 auto}.brand>div strong,.brand>div>span{display:block}.sidebar-secret-school{display:block;min-width:0;width:100%;max-height:4.5rem;padding:0;overflow:hidden;border:0;color:inherit;background:none;font:inherit;text-align:center;cursor:default;opacity:1;-webkit-user-select:none;user-select:none;transition:opacity .18s ease,max-height .26s cubic-bezier(.22,1,.36,1)}.sidebar-secret-school strong,.brand>div strong{display:block;font-size:calc(16px * var(--font-scale));font-weight:600;line-height:1.25;text-align:center}.sidebar-brand-logo{display:block;width:56px;height:56px;margin:2px auto 8px;object-fit:contain;border-radius:14px;background:#ffffff1f;box-shadow:0 8px 20px #0000002e}[data-sidebar=collapsed] .sidebar-secret-school.has-logo{max-height:2.75rem;opacity:1;pointer-events:auto}[data-sidebar=collapsed] .sidebar-brand-logo{width:36px;height:36px;margin:0 auto;border-radius:10px}[data-sidebar=collapsed] .sidebar-secret-school.has-logo strong,[data-sidebar=collapsed] .sidebar-secret-school.has-logo span{display:none}.sidebar-secret-school span,.brand>div>span{display:block;margin-top:2px;color:#ffffffad;font-size:calc(11px * var(--font-scale));text-align:center}.main-nav{display:flex;flex:1;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 10px 10px;scrollbar-width:none;-ms-overflow-style:none}.main-nav::-webkit-scrollbar{width:0;height:0;display:none}.app-sidebar-group{display:flex;flex-direction:column}.app-sidebar-group--utility{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}.nav-caption{margin:0 12px 10px;color:#ffffff7a;font-size:calc(11px * var(--font-scale))}.nav-link{position:relative;display:flex;width:100%;min-width:0;min-height:38px;align-items:center;justify-content:flex-start;gap:10px;margin-bottom:2px;padding:6px 10px;overflow:hidden;border-radius:10px;color:#ffffffbd;font-size:calc(13px * var(--font-scale));font-weight:400;transition:background .16s ease,color .16s ease,gap .22s cubic-bezier(.22,1,.36,1),padding .26s cubic-bezier(.22,1,.36,1),min-height .26s cubic-bezier(.22,1,.36,1)}.nav-link:hover{color:#fff;background:#ffffff14}.nav-link.is-offline-disabled,.nav-sublink.is-offline-disabled{opacity:.42;cursor:not-allowed}.nav-link.is-offline-disabled:hover{color:#ffffffbd;background:transparent}.nav-link.active{color:#fff;border:0;border-radius:10px;background:linear-gradient(135deg,var(--brand-400, var(--primary)) 0%,var(--primary) 52%,var(--primary-hover, var(--primary)) 100%);box-shadow:inset 0 0 0 1px #ffffff29,0 10px 24px -12px color-mix(in srgb,var(--primary) 40%,rgba(0,0,0,.32));font-weight:500}.nav-link.active i{color:#e8f4ff;filter:drop-shadow(0 1px 3px rgba(4,70,140,.28))}.nav-link i{display:inline-flex;width:22px;height:22px;flex:0 0 22px;align-items:center;justify-content:center;margin:0;font-size:calc(15px * var(--font-scale));line-height:1;text-align:center;transition:width .26s cubic-bezier(.22,1,.36,1),height .26s cubic-bezier(.22,1,.36,1),flex-basis .26s cubic-bezier(.22,1,.36,1)}.nav-link i:before{width:1em;text-align:center}.nav-link-label{flex:1 1 auto;min-width:0;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:1;transition:opacity .18s ease,max-width .26s cubic-bezier(.22,1,.36,1)}.nav-link-tooltip{display:none}.nav-count,.nav-alert{min-width:27px;padding:2px 6px;border-radius:9px;text-align:center;font-size:calc(10px * var(--font-scale))}.nav-count{background:#ffffff1a}.nav-alert{color:#fff;background:var(--danger)}.nav-group{margin-bottom:5px;border-radius:14px;transition:background .18s ease,box-shadow .18s ease}.nav-group.open{background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff14}.nav-group-toggle{width:100%;border:0;background:transparent;cursor:pointer;text-align:inherit;font:inherit}.nav-group.open>.nav-group-toggle{color:#fffffff5;font-weight:500}.nav-group-chevron{font-size:calc(11px * var(--font-scale));opacity:.72;transition:transform .16s ease}.nav-group-meta{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto}.nav-group.open .nav-group-chevron{transform:rotate(180deg);opacity:1}.nav-subnav{display:grid;gap:0;max-height:0;overflow:hidden;padding-inline:6px;transition:max-height .26s ease,padding .26s ease,opacity .18s ease;opacity:0}.nav-group.open .nav-subnav{max-height:520px;padding-block:2px 8px;opacity:1}.nav-subnav-panel{position:relative;padding:6px 4px 6px 0;margin-inline-start:18px}.nav-subnav-panel:not(.nav-subnav-panel--simple){border-inline-start:2px solid rgba(126,197,255,.48)}.nav-subgroup+.nav-subgroup{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}.nav-subgroup-label{margin:0 0 4px;padding:0 10px 0 28px;color:#ffffff6b;font-size:calc(10px * var(--font-scale));font-weight:500;letter-spacing:.04em;line-height:1.4;-webkit-user-select:none;user-select:none}.nav-sublink{position:relative;display:grid;grid-template-columns:16px 1fr;align-items:center;gap:8px;min-height:38px;padding:7px 10px 7px 8px;border-radius:8px;color:#ffffffad;font-size:calc(12px * var(--font-scale));transition:background .16s ease,color .16s ease}.nav-sublink-tree{position:relative;width:16px;height:16px}.nav-sublink-tree:before{position:absolute;inset-block-start:8px;inset-inline-start:0;width:10px;height:1px;content:"";background:#ffffff38}.nav-sublink-tree:after{position:absolute;inset-block-start:-14px;inset-inline-start:0;width:1px;height:22px;content:"";background:#ffffff24}.nav-subgroup .nav-sublink:first-of-type .nav-sublink-tree:after{inset-block-start:-6px;height:14px}.nav-sublink:hover{color:#fff;background:#ffffff14}.nav-sublink.active{color:#fff;background:#ffffff24;font-weight:500}.nav-group.active>.nav-group-toggle:not(.active){color:#ffffffeb;background:#ffffff0f}.nav-subnav-panel--simple{margin-inline-start:14px;padding:2px 0 4px;border-inline-start:0}.nav-sublink--simple{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:36px;padding:6px 10px;font-size:calc(13px * var(--font-scale))}.nav-sublink-text{display:flex;flex:1;align-items:center;gap:8px;min-width:0}.nav-sublink-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-sublink-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 5px;border-radius:999px;font-size:calc(10px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;line-height:1;flex-shrink:0}.nav-sublink-badge--count{color:#ffffffb8;background:#ffffff1a}.nav-sublink-badge--alert{color:#ffdce0f2;background:#ffffff14;box-shadow:inset 0 0 0 1px #ff829173}.nav-sublink--simple:hover .nav-sublink-badge--alert{background:#e7394a2e;box-shadow:inset 0 0 0 1px #ff82918c}.nav-sublink--simple.active .nav-sublink-badge--count{color:#ffffffe6;background:#ffffff29}.nav-sublink--simple.active .nav-sublink-badge--alert{color:#fff;background:#ffffff24;box-shadow:inset 0 0 0 1px #ffffff38}.nav-sublink--simple i{width:16px;flex:0 0 16px;text-align:center;font-size:calc(12px * var(--font-scale));opacity:.85}.nav-sublink--simple.active{box-shadow:none;background:#ffffff1a;font-weight:500}.nav-sublink--simple.active i{opacity:1}[data-sidebar=collapsed] .app-sidebar-static,.sidebar.app-sidebar-static.is-collapsed{width:var(--sidebar-collapsed-width);max-width:var(--sidebar-collapsed-width);flex:0 0 var(--sidebar-collapsed-width);overflow:hidden}[data-sidebar=collapsed] .brand{min-height:0;gap:0;padding:34px 6px 8px}[data-sidebar=collapsed] .sidebar-secret-school{max-height:0;opacity:0;pointer-events:none}[data-sidebar=collapsed] .nav-caption{max-height:0;margin:0;opacity:0;overflow:hidden}[data-sidebar=collapsed] .app-sidebar-group--utility{padding-top:8px}[data-sidebar=collapsed] .main-nav{overflow-x:hidden;overflow-y:auto;padding:8px}[data-sidebar=collapsed] .nav-link{justify-content:center;gap:0;min-height:2.75rem;margin-bottom:4px;padding:8px 0;border-radius:12px}[data-sidebar=collapsed] .nav-link i{width:18px;height:18px;flex-basis:18px;font-size:calc(15px * var(--font-scale))}[data-sidebar=collapsed] .nav-link:hover{transform:none}[data-sidebar=collapsed] .nav-link-label,[data-sidebar=collapsed] .nav-link-tooltip,[data-sidebar=collapsed] .sidebar-collapse-label{max-width:0;margin:0;overflow:hidden;opacity:0;pointer-events:none}[data-sidebar=collapsed] .sidebar-collapse-button{width:24px;height:24px;inset-block-start:6px;inset-inline-end:6px}@media(prefers-reduced-motion:reduce){.sidebar,.app-sidebar-mobile,.nav-link,.brand,.sidebar-secret-school,.nav-caption,.nav-link-label{transition:none}}.sidebar-footer{padding:12px}.school-card{display:grid;grid-template-columns:36px 1fr 32px;align-items:center;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#04468c33}.school-avatar,.profile-avatar{display:grid;place-items:center;border-radius:50%;font-weight:600}.school-avatar{width:36px;height:36px;color:#1a5278;background:#fff}.school-card strong,.school-card span{display:block;min-width:0}.school-card strong{overflow:hidden;font-size:calc(11px * var(--font-scale));font-weight:500;text-overflow:ellipsis;white-space:nowrap}.school-card div>span{margin-top:2px;color:#ffffff8f;font-size:calc(9px * var(--font-scale))}.page{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;overflow:hidden}.app-shell-content{flex:1;min-height:0;overflow:auto}.page>.status-bar,.page>.api-availability-banner,.page>.academic-year-banner{flex-shrink:0}.status-bar{position:sticky;inset-block-start:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);min-height:var(--status-bar-height);align-items:center;gap:12px;padding:8px var(--page-gutter-inline);border-bottom:1px solid var(--border-default);background:var(--surface-1);box-shadow:0 1px #0f172a0a}.api-availability-banner{display:flex;align-items:center;gap:10px;min-height:42px;padding:7px var(--page-gutter-inline);border-block-end:1px solid;font-size:calc(11px * var(--font-scale))}.api-availability-banner>i{flex:0 0 auto;font-size:calc(15px * var(--font-scale))}.api-availability-banner>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px}.api-availability-banner strong,.api-availability-banner small{line-height:1.45}.api-availability-banner small{color:inherit;opacity:.82}.api-availability-banner.is-unavailable{color:var(--warning-text, #7a4b00);border-color:#d977063d;background:var(--warning-soft, #fff7e6)}.api-availability-banner.is-recovered{color:var(--success);border-color:#12b77733;background:#12b77714}.status-copy,.status-actions{display:flex;align-items:center}.status-copy{gap:22px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.status-copy i{margin-inline-end:5px;color:var(--primary)}.status-actions{gap:8px;justify-self:end;min-width:0;grid-column:3}.status-bar-start{display:flex;min-width:0;align-items:center;gap:8px;justify-self:start;grid-column:1}.status-bar-page-start{display:flex;flex:1 1 auto;min-width:0;align-items:center;gap:8px}.status-bar-page-start>.page-chrome-tools{order:1}.status-bar-page-start>.kpi-collapse-toggle{order:2}.status-bar-page-start:empty,.status-bar-page-kpi:empty{display:none}.status-bar-page-kpi{display:flex;flex:0 0 auto;align-items:center;justify-self:center;grid-column:2;max-width:min(420px,52vw)}.status-bar-page-kpi .kpi-card.student-stat-card{min-height:40px;height:40px;padding:0 12px;width:max-content;min-width:200px;max-width:100%}.status-bar-page-kpi .student-stat-card__line{height:28px}.status-bar-page-kpi:has(>.kpi-card+.kpi-card){gap:6px;max-width:none}.status-bar-page-kpi:has(>.kpi-card+.kpi-card)>.kpi-card.student-stat-card{flex:0 0 auto;width:max-content;min-width:0;height:32px;min-height:32px;padding:0 8px}.status-bar-page-kpi:has(>.kpi-card+.kpi-card) .student-stat-card__line{height:22px;gap:6px}.status-bar-page-kpi:has(>.kpi-card+.kpi-card) .student-stat-card__label{font-size:calc(11px * var(--font-scale))}.status-bar-page-kpi:has(>.kpi-card+.kpi-card) .student-stat-card__value{font-size:calc(13px * var(--font-scale))}.status-bar-page-kpi:has(>.kpi-card+.kpi-card) .student-stat-card__unit{font-size:calc(10px * var(--font-scale))}.status-bar-page-kpi>.fin-match-all{flex:0 0 auto;height:32px;padding:0 8px;border:1px solid var(--border-default, var(--line));border-radius:10px;background:var(--surface, #fff);color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:700;cursor:pointer}.status-bar-page-kpi>.fin-match-all:disabled{cursor:wait;opacity:.7}.status-bar:has(>.status-bar-page-kpi>.kpi-card+.kpi-card){grid-template-columns:minmax(0,1fr) auto minmax(max-content,1fr)}.status-bar-start .staff-filter-trigger{min-height:40px;height:40px;padding:0 12px;border-radius:12px}.status-bar-page-actions{display:flex;flex:0 0 auto;align-items:center}.status-bar-page-actions:empty{display:none}.system-status,.live-label{display:inline-flex;align-items:center;gap:7px;color:var(--success);font-size:calc(11px * var(--font-scale))}.system-status{margin-inline-end:8px;padding-inline-end:16px;border-inline-end:1px solid var(--line)}.status-dot{width:7px;height:7px;border-radius:50%;background:#12b777;box-shadow:0 0 0 4px #05a66b1f}.icon-button{position:relative;display:inline-grid;width:38px;height:38px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border-default);border-radius:9px;color:var(--ink-muted);background:var(--surface-1);box-shadow:var(--shadow-card);cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.icon-button:hover{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.icon-button.danger:hover{color:var(--danger);border-color:#dc354547;background:var(--danger-soft)}.ghost-on-dark{width:30px;height:30px;border:0;color:#ffffffad;background:transparent}.ghost-on-dark:hover{color:#fff;background:#ffffff1a}.notification-button>span{position:absolute;inset-block-start:-5px;inset-inline-end:-4px;display:grid;width:17px;height:17px;place-items:center;border:2px solid var(--neutral-50);border-radius:50%;color:#fff;background:var(--danger);font-size:calc(8px * var(--font-scale));font-weight:600}.notification-bell{position:relative}.notification-button.active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.notification-popover{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;z-index:140;width:min(392px,calc(calc(100vw / var(--ui-scale)) - 24px));overflow:hidden;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-overlay);box-shadow:var(--shadow-hover);animation:notification-popover-in .18s cubic-bezier(.2,.75,.25,1)}@keyframes notification-popover-in{0%{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.notification-popover-header{padding:16px 16px 12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft)}.notification-popover-header h2{margin:0;font-size:calc(15px * var(--font-scale));font-weight:500;line-height:1.3}.notification-popover-header p{margin:3px 0 0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.notification-mark-all{flex:0 0 auto;min-height:32px;padding:0 10px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;color:var(--ink-muted);background:var(--surface-2);font:inherit;font-size:calc(9px * var(--font-scale));font-weight:500;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.notification-mark-all:hover{border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}.notification-popover-tabs{padding:10px 12px;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--surface-2)}.notification-popover-tabs button{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:8px;color:var(--ink-muted);background:transparent;font:inherit;font-size:calc(10px * var(--font-scale));font-weight:500;cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.notification-popover-tabs button b{min-width:18px;height:18px;padding-inline:5px;display:inline-grid;place-items:center;border-radius:999px;color:var(--ink-muted);background:var(--surface-inset);font-size:calc(9px * var(--font-scale));font-weight:600}.notification-popover-tabs button.active{border-color:var(--primary-border);color:var(--primary);background:var(--surface-1);box-shadow:var(--shadow-soft)}.notification-popover-tabs button.active b{color:var(--primary);background:var(--primary-soft)}.notification-popover-list{max-height:min(360px,calc(calc(100dvh / var(--ui-scale)) - 220px));overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.notification-popover-list::-webkit-scrollbar{display:none;width:0;height:0}.notification-popover-item{width:100%;padding:12px 14px;display:grid;grid-template-columns:38px 1fr auto;align-items:start;gap:10px;border:0;border-bottom:1px solid var(--line-soft);text-align:start;background:transparent;cursor:pointer;transition:background .16s ease}.notification-popover-item:last-child{border-bottom:0}.notification-popover-item:hover{background:#0796ff0b}.notification-popover-item.unread{background:#0796ff08}.notification-popover-item.unread:hover{background:#0796ff12}.notification-popover-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--tone-color);background:var(--tone-soft);font-size:calc(13px * var(--font-scale))}.notification-popover-copy{min-width:0;display:grid;gap:2px}.notification-popover-title{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500;line-height:1.45}.notification-popover-item.unread .notification-popover-title{font-weight:600}.notification-popover-description{color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-popover-meta{margin-top:2px;display:inline-flex;align-items:center;gap:5px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.notification-popover-meta b{color:var(--primary);font-weight:500}.notification-popover-meta i{font-style:normal;opacity:.65}.notification-popover-dot{width:7px;height:7px;margin-top:6px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #0796ff24}.notification-popover-empty{padding:42px 20px;display:grid;justify-items:center;gap:8px;text-align:center}.notification-popover-empty i{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--ink-muted);background:var(--neutral-100);font-size:calc(18px * var(--font-scale))}.notification-popover-empty strong{font-size:calc(12px * var(--font-scale));font-weight:500}.notification-popover-empty p{margin:0;max-width:240px;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.6}.notification-popover-footer{padding:10px 12px 12px;border-top:1px solid var(--line-soft);background:#f1f5fac2}.notification-popover-view-all{width:100%;min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--primary-border);border-radius:9px;color:var(--primary);background:var(--primary-soft);font:inherit;font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.notification-popover-view-all:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0796ff24}[data-theme=dark] .notification-popover,[data-theme=dark] .profile-popover{background:#16171ff5;border-color:var(--glass-border);box-shadow:0 22px 60px #0000006b,inset 0 1px #ffffff0d}[data-theme=dark] .notification-popover-header{border-bottom-color:var(--glass-line)}[data-theme=dark] .notification-popover-header h2{color:var(--ink)}[data-theme=dark] .notification-popover-header p{color:var(--ink-muted)}[data-theme=dark] .notification-popover-tabs,[data-theme=dark] .notification-popover-footer{background:#0e0f15b8;border-color:var(--glass-line)}[data-theme=dark] .notification-mark-all{color:var(--ink-muted);background:#1c1d26b8;border-color:var(--line)}[data-theme=dark] .notification-mark-all:hover{color:var(--primary);border-color:var(--primary-border);background:#0796ff1f}[data-theme=dark] .notification-popover-tabs button{color:var(--ink-muted)}[data-theme=dark] .notification-popover-tabs button:hover:not(.active){color:var(--ink);background:#ffffff0a}[data-theme=dark] .notification-popover-tabs button b{color:var(--ink-muted);background:#1c1d26b8}[data-theme=dark] .notification-popover-tabs button.active{color:var(--primary);background:#20212ceb;border-color:var(--primary-border);box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .notification-popover-tabs button.active b{color:var(--primary);background:var(--primary-soft)}[data-theme=dark] .notification-popover-item{border-bottom-color:var(--glass-line)}[data-theme=dark] .notification-popover-item:hover{background:#0796ff14}[data-theme=dark] .notification-popover-item.unread{background:#0796ff0d}[data-theme=dark] .notification-popover-item.unread:hover{background:#0796ff1c}[data-theme=dark] .notification-popover-icon{border:1px solid rgba(255,255,255,.07);background:color-mix(in srgb,var(--tone-color) 16%,rgba(18,19,25,.92));box-shadow:inset 0 1px #ffffff0e}[data-theme=dark] .notification-popover-title{color:var(--ink)}[data-theme=dark] .notification-popover-description,[data-theme=dark] .notification-popover-meta{color:var(--ink-muted)}[data-theme=dark] .notification-popover-meta b{color:#7ec5ff}[data-theme=dark] .notification-popover-dot{background:var(--primary);box-shadow:0 0 0 3px #0796ff38}[data-theme=dark] .notification-popover-empty strong{color:var(--ink)}[data-theme=dark] .notification-popover-empty i{color:var(--ink-muted);background:#ffffff0a}[data-theme=dark] .notification-popover-view-all{color:var(--primary);background:var(--primary-soft);border-color:var(--primary-border)}[data-theme=dark] .notification-popover-view-all:hover{box-shadow:0 8px 18px #00000059}[data-theme=dark] .notification-button.active{color:#7ec5ff;border-color:#64b4ff4d;background:#0796ff1f}@media(max-width:575px){.notification-popover{position:fixed;inset-block-start:68px;inset-inline:12px;width:auto}.profile-popover{position:fixed;inset-block-start:68px;inset-inline-end:12px;inset-inline-start:auto;width:min(320px,calc(100vw - 24px));max-width:none}}.profile-menu{position:relative}.profile-trigger{display:inline-grid;width:38px;height:38px;flex:0 0 38px;place-items:center;padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:50%;background:transparent;box-shadow:var(--shadow-card);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.profile-trigger:hover,.profile-trigger.active{border-color:var(--primary-border);box-shadow:var(--shadow-hover)}.profile-trigger .profile-avatar{width:100%;height:100%;font-size:calc(12px * var(--font-scale))}.profile-popover{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;z-index:140;display:grid;min-width:220px;max-width:min(320px,calc(calc(100vw / var(--ui-scale)) - 24px));grid-template-columns:36px minmax(0,1fr) 32px;grid-template-areas:"avatar copy logout" "theme theme theme";align-items:center;gap:8px 10px;padding:10px 12px 8px;overflow:hidden;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-overlay);box-shadow:var(--shadow-hover);animation:notification-popover-in .18s cubic-bezier(.2,.75,.25,1)}.profile-popover>.profile-avatar{grid-area:avatar}.profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.profile-avatar--logo{overflow:hidden;background:var(--surface-1)}.profile-copy{grid-area:copy;min-width:0;text-align:start}.profile-copy strong,.profile-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-copy strong{font-size:calc(12px * var(--font-scale));font-weight:600}.profile-copy small{margin-top:2px;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.profile-logout{grid-area:logout;display:inline-grid;width:32px;height:32px;flex:0 0 32px;place-items:center;padding:0;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;box-shadow:none;cursor:pointer;transition:color .16s ease,background .16s ease}.profile-theme{grid-area:theme;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:36px;padding:0 10px;border:1px solid var(--line-soft);border-radius:10px;color:var(--ink);background:#f1f5fa8f;box-shadow:none;cursor:pointer;transition:color .16s ease,background .16s ease,border-color .16s ease}.profile-theme-label{font-size:calc(12px * var(--font-scale));font-weight:500}.profile-theme:hover,.profile-theme:focus-visible{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.profile-logout:hover,.profile-logout:focus-visible{color:var(--danger);background:var(--danger-soft)}.mobile-menu{display:inline-grid}.main-content{width:100%;max-width:var(--content-max-width);min-width:0;margin:0;padding:var(--page-gutter-block-start) var(--page-gutter-inline) var(--page-gutter-block-end)}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.page-heading>div,.section-heading>div,.panel-heading>div,.card-title-group>span:last-child{min-width:0}.eyebrow{margin:0 0 4px;color:var(--primary);font-size:calc(11px * var(--font-scale));font-weight:500}.page-heading h1{margin:0;font-size:calc(24px * var(--font-scale));font-weight:500;line-height:32px}.page-heading p:not(.eyebrow){margin:3px 0 0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.heading-actions{display:flex;min-width:0;gap:10px}.heading-actions>button{min-width:0}.primary-button,.secondary-button,.text-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:8px 15px;border-radius:var(--radius-control);font-weight:500;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.primary-button{border:1px solid var(--primary);color:#fff;background:linear-gradient(135deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:var(--shadow-button)}.primary-button:hover{transform:translateY(-1px);background:linear-gradient(135deg,var(--primary),var(--primary-hover, var(--primary)));box-shadow:0 11px 22px -7px color-mix(in srgb,var(--primary) 34%,transparent)}.secondary-button{border:1px solid var(--border-default);color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-card)}.secondary-button:hover{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.text-button{min-height:34px;padding:4px 8px;border:0;color:var(--primary);background:transparent}.primary-button.loading i{animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.control-panel{display:grid;grid-template-columns:minmax(260px,433px) 238px 42px 1fr;align-items:center;gap:10px;margin-bottom:17px}.search-field,.date-field{display:flex;height:46px;align-items:center;gap:10px;padding-inline:14px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card);transition:border-color .16s ease,box-shadow .16s ease}.search-field:focus-within,.date-field:focus-within{border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff1a}.search-field i,.date-field i{color:var(--ink-muted)}.search-field input,.date-field select{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent}.search-field input::placeholder{color:var(--border-emphasis)}.search-field kbd{padding:2px 6px;border:1px solid var(--line);border-radius:5px;color:var(--ink-muted);background:var(--neutral-50);font-family:var(--font);font-size:calc(9px * var(--font-scale));white-space:nowrap}.date-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.filter-button{width:42px;height:42px}.last-updated{justify-self:end;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.category-section{margin-bottom:16px}.section-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.section-label h2{margin:0;font-size:calc(13px * var(--font-scale));font-weight:500}.section-label span{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.category-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.category-filters::-webkit-scrollbar{display:none}.category-pill{min-height:36px;flex:0 0 auto;padding:6px 17px;border:1px solid transparent;border-radius:18px;color:var(--ink-muted);background:transparent;font-weight:400;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.category-pill:hover{color:var(--primary);background:var(--primary-soft)}.category-pill.active{color:#fff;background:var(--primary);box-shadow:var(--shadow-button);font-weight:500}@media(max-width:600px){.status-bar{display:flex;flex-wrap:wrap;align-items:center;row-gap:8px;padding-block:8px}.status-bar-start{flex:0 1 auto;min-width:0}.status-bar-page-start{flex:0 1 auto}.status-actions{display:contents}.status-actions>.profile-menu,.status-actions>.offline-queue-indicator{order:2;flex:0 0 auto}.status-bar-page-actions{order:9;flex:1 1 100%;min-width:0;overflow-x:auto;scrollbar-width:none}.status-bar-page-actions::-webkit-scrollbar{display:none}.status-bar-page-actions .page-chrome-actions{flex-wrap:nowrap;width:max-content;min-width:100%}.status-bar-page-actions .page-chrome-actions>*{flex:0 0 auto}.status-bar-page-kpi{order:4;flex:1 1 100%;justify-content:center;max-width:100%}}.dashboard-card{overflow:hidden;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card)}.card-header{width:100%;border:0;text-align:start;background:var(--surface-2)}.collapsible-header{display:flex;min-height:73px;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--border-subtle);cursor:pointer}.collapsible-header:hover{background:var(--surface-inset)}.card-title-group,.modal-title{display:flex;align-items:center;gap:11px}.title-icon{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft)}.card-title-group strong,.card-title-group small{display:block}.card-title-group strong{font-size:calc(16px * var(--font-scale));font-weight:500}.card-title-group small{margin-top:1px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:400}.header-meta{display:flex;align-items:center;gap:18px}.collapse-icon{color:var(--ink-muted);transition:transform .22s ease}.dashboard-card.collapsed .collapse-icon{transform:rotate(180deg)}.card-body{max-height:6000px;overflow:hidden;opacity:1;visibility:visible;transition:max-height .42s ease,opacity .18s ease,visibility 0s}.dashboard-card.collapsed .card-body{max-height:0;opacity:0;visibility:hidden;transition:max-height .32s ease,opacity .16s ease,visibility 0s .32s}.kpi-section,.analytics-section{padding:20px 18px}.analytics-section{border-top:1px solid var(--border-subtle)}.section-heading,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading{margin-bottom:15px}.section-heading h2,.panel-heading h2,.panel-heading h3{margin:0}.section-heading h2,.panel-heading h2{font-size:calc(17px * var(--font-scale));font-weight:500;line-height:24px}.panel-heading h3{font-size:calc(14px * var(--font-scale));font-weight:500;line-height:22px}.section-heading p,.panel-heading p{margin:1px 0 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.section-heading>a{color:var(--primary);font-size:calc(11px * var(--font-scale));font-weight:500}.section-heading>a i{margin-inline-start:4px}.period-badge{padding:5px 10px;border:1px solid var(--border-subtle);border-radius:7px;color:var(--ink-muted);background:var(--surface-2);font-size:calc(10px * var(--font-scale))}.kpi-section .kpi-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.kpi-section .kpi-grid .kpi-card.student-stat-card{flex:1 0 13.5rem;width:auto;min-width:min(100%,13.5rem);max-width:100%}.kpi-card:not(.student-stat-card){position:relative;display:flex;min-width:0;height:138px;flex-direction:column;justify-content:space-between;padding:14px;overflow:hidden;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.kpi-card:not(.student-stat-card):after{position:absolute;inset-block-start:0;inset-inline:0;width:auto;height:2px;content:"";background:var(--tone-color);opacity:.34;transition:opacity .18s ease}.kpi-card:not(.student-stat-card):hover{z-index:1;border-color:var(--primary-border);transform:translateY(-2px);box-shadow:var(--shadow-hover)}.kpi-card:not(.student-stat-card):hover:after{opacity:.72}.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-icon{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border:1px solid var(--border-subtle);border-radius:9px;color:var(--tone-color);background:var(--tone-soft);font-size:calc(13px * var(--font-scale))}.kpi-trend{display:inline-flex;align-items:center;gap:4px;min-height:21px;padding:2px 6px;border:1px solid var(--border-subtle);border-radius:7px;color:var(--trend-color, var(--success));background:var(--surface-2);font-size:calc(8px * var(--font-scale));direction:ltr}.kpi-content strong{display:block;overflow:hidden;color:var(--ink);font-size:clamp(19px,calc(1.8vw / var(--ui-scale)),25px);font-weight:400;line-height:30px;text-overflow:ellipsis;white-space:nowrap}.kpi-content span{display:block;overflow:hidden;color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:400;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.kpi-card--stage-breakdown{justify-content:center}.kpi-stage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:6px 8px;min-height:0}.kpi-stage-cell{display:flex;flex-direction:column;justify-content:center;gap:0;min-width:0;overflow:hidden}.kpi-stage-cell b{overflow:hidden;color:var(--ink);font-size:calc(15px * var(--font-scale));font-weight:700;line-height:18px;text-overflow:ellipsis;white-space:nowrap}.kpi-stage-cell span{overflow:hidden;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:14px;text-overflow:ellipsis;white-space:nowrap}.kpi-card.search-hidden,.kpi-card.category-hidden{display:none}.kpi-card--attendance-today{display:flex;flex-direction:column;gap:6px;height:118px;padding:12px 14px}.attendance-head{display:flex;align-items:center;gap:7px;min-width:0}.attendance-head-icon{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;color:var(--tone-color);background:var(--tone-soft);font-size:calc(11px * var(--font-scale));flex-shrink:0}.attendance-head-label{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:500;letter-spacing:.01em}.attendance-figure{display:flex;align-items:baseline;gap:6px;margin-top:2px;min-width:0}.attendance-pct{display:inline-flex;align-items:baseline;color:var(--ink);font-size:calc(22px * var(--font-scale));font-weight:700;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.attendance-pct-sign{margin-inline-start:1px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.attendance-figure-meta{color:var(--ink-muted);font-size:calc(10.5px * var(--font-scale));font-weight:500}.attendance-bar{position:relative;width:100%;height:3px;overflow:hidden;border-radius:999px;background:var(--absent-soft);direction:ltr}.attendance-bar-fill{display:block;width:var(--present-pct, 0%);height:100%;background:var(--tone-color);border-radius:inherit;transition:width .38s cubic-bezier(.4,0,.2,1)}.attendance-foot{display:flex;align-items:center;gap:14px;margin-top:auto}.attendance-foot-item{display:inline-flex;align-items:center;gap:5px;min-width:0}.attendance-foot-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.attendance-foot-item--present .attendance-foot-dot{background:var(--tone-color)}.attendance-foot-item--absent .attendance-foot-dot{background:var(--absent-color)}.attendance-foot-text{display:inline-flex;align-items:baseline;gap:3px;min-width:0}.attendance-foot-text b{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums}.attendance-foot-text small{color:var(--ink-muted);font-size:calc(10.5px * var(--font-scale));font-weight:500}[data-theme=dark] .attendance-head-icon{background:color-mix(in srgb,var(--tone-color) 18%,var(--surface-2))}[data-theme=dark] .attendance-bar{background:color-mix(in srgb,var(--absent-color) 24%,var(--surface-2))}.empty-state{padding:44px 16px;text-align:center}.empty-state i{color:var(--border-emphasis);font-size:calc(28px * var(--font-scale))}.empty-state h3{margin:12px 0 2px;font-size:calc(16px * var(--font-scale))}.empty-state p{margin:0 0 14px;color:var(--ink-muted)}.charts-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:13px}.chart-panel,.quick-actions-panel,.notifications-panel{min-width:0;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);box-shadow:var(--shadow-card)}.chart-panel{min-height:320px;padding:16px}.chart-stat{text-align:end}.chart-stat strong{display:block;font-size:calc(19px * var(--font-scale));font-weight:400;line-height:24px}.chart-stat span{display:block;font-size:calc(9px * var(--font-scale))}.chart-stat.positive span{color:var(--success)}.panel-menu{width:32px;height:32px;border:0}.chart-wrap{position:relative;height:235px;margin-top:18px}.total-complaints{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.total-complaints strong{margin-inline-end:3px;color:var(--ink);font-size:calc(16px * var(--font-scale));font-weight:400}.donut-layout{display:grid;grid-template-columns:minmax(120px,1fr) .9fr;align-items:center;gap:10px;min-height:245px}.donut-wrap{position:relative;height:170px}.chart-legend{display:grid;gap:7px}.legend-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:7px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.legend-dot{width:7px;height:7px;border-radius:2px}.legend-row strong{color:var(--ink);font-size:calc(10px * var(--font-scale));font-weight:400}.operations-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:13px;padding:20px 18px;border-top:1px solid var(--border-subtle)}.quick-actions-panel,.notifications-panel{padding:16px}.section-symbol{color:var(--warning)}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.quick-action{display:flex;min-width:0;height:46px;align-items:center;gap:9px;padding:8px 11px;border:1px solid var(--primary-border);border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(12px * var(--font-scale));font-weight:500;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.quick-action:hover{transform:translateY(-2px);background:#d6ebff;box-shadow:0 8px 16px -9px #0796ff66}.quick-action i{width:18px;text-align:center}.notification-list{max-height:267px;margin-top:9px;overflow-y:auto;scrollbar-color:var(--line) transparent;scrollbar-width:thin}.notification-item{display:grid;width:100%;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:11px 4px;border:0;border-bottom:1px solid var(--border-subtle);text-align:start;background:transparent;cursor:pointer}.notification-item:last-child{border-bottom:0}.notification-item:hover .notification-title{color:var(--primary)}.notification-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;color:var(--tone-color);background:var(--tone-soft)}.notification-title{display:block;color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:400;transition:color .16s ease}.notification-description{display:block;margin-top:1px;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.notification-time{align-self:start;padding-top:2px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale));white-space:nowrap}.module-overview{margin-top:25px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.module-card{min-width:0;padding:15px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);box-shadow:var(--shadow-card);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.module-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.module-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.module-card-header>span:first-child{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--tone-color);background:var(--tone-soft)}.module-state{display:inline-flex;align-items:center;gap:5px;color:var(--success);font-size:calc(9px * var(--font-scale))}.module-card h3{margin:13px 0 2px;font-size:calc(13px * var(--font-scale));font-weight:500}.module-card p{margin:0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.module-progress{height:5px;margin-top:13px;overflow:hidden;border-radius:4px;background:var(--surface-inset)}.module-progress span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:var(--tone-color)}.details-modal{width:min(calc(92vw / var(--ui-scale)),540px);padding:0;border:0;border-radius:12px;color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-hover)}.details-modal::backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.details-modal[open]{animation:modal-in .18s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header,.modal-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px}.modal-header{border-bottom:1px solid var(--line-soft)}.modal-title p,.modal-title h2{margin:0}.modal-title p{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.modal-title h2{font-size:calc(16px * var(--font-scale))}.modal-body{padding:22px 18px}.modal-body>p{margin:0;color:var(--ink);line-height:1.9}.details-list{display:grid;gap:0;margin:20px 0 0;border:1px solid var(--line-soft);border-radius:9px}.details-list div{display:grid;grid-template-columns:110px 1fr;padding:11px 13px;border-bottom:1px solid var(--line-soft)}.details-list div:last-child{border-bottom:0}.details-list dt{color:var(--ink-muted)}.details-list dd{margin:0;font-weight:400}.detail-status{padding:3px 8px;border-radius:6px;color:var(--warning);background:var(--warning-soft);font-size:calc(10px * var(--font-scale))}.modal-footer{justify-content:flex-end;border-top:1px solid var(--line-soft);background:var(--neutral-50)}.toast-region{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:var(--z-toast);display:grid;gap:8px;pointer-events:none}.toast{pointer-events:auto;display:grid;width:min(360px,calc(calc(100vw / var(--ui-scale)) - 32px));grid-template-columns:34px 1fr;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:12px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 86%,var(--surface-2)));box-shadow:var(--shadow-hover);transform-origin:center right;animation:toast-in .26s cubic-bezier(.2,.88,.28,1)}.toast--success>i{color:var(--success);background:var(--success-soft)}.toast--info>i{color:var(--primary);background:#0796ff1f}.toast--warning>i{color:var(--warning);background:#ffb6392e}.toast--danger{border-color:var(--danger)}.toast--danger>i{color:var(--danger);background:#ef444424}.toast>i{display:grid;width:32px;height:32px;place-items:center;border-radius:50%}.toast strong,.toast span{display:block}.toast strong{font-size:calc(12px * var(--font-scale));font-weight:500}.toast span{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.is-loading body{cursor:progress}.is-loading .main-content,.is-loading .status-bar,.is-loading .sidebar{pointer-events:none;-webkit-user-select:none;user-select:none}.is-loading .page-heading h1,.is-loading .page-heading p,.is-loading .heading-actions button,.is-loading .search-field,.is-loading .date-field,.is-loading .filter-button,.is-loading .category-pill,.is-loading .section-label h2,.is-loading .section-label span,.is-loading .period-badge{color:transparent!important;border-color:transparent!important;background-image:linear-gradient(100deg,#e2e6f2b8 18%,#f8fafff0,#e2e6f2b8 58%);background-size:220% 100%;box-shadow:none;animation:skeleton-shimmer 1.35s ease-in-out infinite}.is-loading .page-heading h1{width:min(240px,calc(72vw / var(--ui-scale)));border-radius:8px}.is-loading .page-heading p{width:min(330px,calc(82vw / var(--ui-scale)));border-radius:6px}.is-loading .page-heading .eyebrow{width:74px}.is-loading .heading-actions button>*,.is-loading .search-field>*,.is-loading .date-field>*,.is-loading .filter-button>*,.is-loading .collapsible-header>*,.is-loading .section-heading>*,.is-loading .panel-heading>*,.is-loading .kpi-card>*,.is-loading .chart-panel>*,.is-loading .quick-actions-panel>*,.is-loading .notifications-panel>*,.is-loading .module-card>*{opacity:0}.collapsible-header,.chart-panel,.quick-actions-panel,.notifications-panel,.module-card,.notification-item{position:relative}.is-loading .collapsible-header:after,.is-loading .chart-panel:before,.is-loading .quick-actions-panel:before,.is-loading .notifications-panel:before,.is-loading .module-card:before{position:absolute;z-index:3;content:"";border-radius:8px;background-color:#e5e9f4c7;background-image:linear-gradient(100deg,transparent 22%,rgba(255,255,255,.78) 42%,transparent 62%);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.is-loading .collapsible-header:after{top:15px;right:18px;bottom:15px;left:18px}.is-loading .kpi-card:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;content:"";border-radius:inherit;background:radial-gradient(circle at calc(100% - 38px) 36px,#d9deeb 0 20px,transparent 21px),linear-gradient(#d9deeb,#d9deeb) calc(100% - 76px) 93px / 48% 20px no-repeat,linear-gradient(#e0e4ef,#e0e4ef) calc(100% - 76px) 121px / 62% 11px no-repeat,linear-gradient(#e0e4ef,#e0e4ef) 18px 18px / 42px 9px no-repeat,#f7f9fde0}.is-loading .kpi-card:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;width:auto;opacity:1;content:"";background:linear-gradient(100deg,transparent 24%,rgba(255,255,255,.64) 44%,transparent 64%);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.is-loading .chart-panel:before{top:16px;right:16px;bottom:16px;left:16px;background:linear-gradient(#e1e5f0,#e1e5f0) calc(100% - 2px) 0 / 42% 14px no-repeat,linear-gradient(#e7eaf3,#e7eaf3) calc(100% - 2px) 24px / 29% 9px no-repeat,linear-gradient(100deg,#e5e9f4bd 18%,#fafbffe6,#e5e9f4bd 62%) 0 56px / 220% calc(100% - 56px) no-repeat}.is-loading .quick-actions-panel:before,.is-loading .notifications-panel:before{top:16px;right:16px;bottom:16px;left:16px}.is-loading .module-card:before{top:14px;right:14px;bottom:14px;left:14px}.is-loading .notification-item:after,.is-loading .quick-action:after{position:absolute;top:7px;right:7px;bottom:7px;left:7px;content:"";border-radius:7px;background:linear-gradient(100deg,#e2e6f1b3 18%,#f9faffeb,#e2e6f1b3 62%);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.is-loading .notification-item>*,.is-loading .quick-action>*{opacity:0}.is-ready .page-heading,.is-ready .control-panel,.is-ready .category-section,.is-ready .collapsible-header,.is-ready .section-heading,.is-ready .kpi-card,.is-ready .chart-panel,.is-ready .quick-actions-panel,.is-ready .notifications-panel,.is-ready .module-card{animation:reveal-up .56s cubic-bezier(.22,1,.36,1) both}.is-ready .control-panel{animation-delay:55ms}.is-ready .category-section{animation-delay:90ms}.is-ready .collapsible-header{animation-delay:125ms}.is-ready .section-heading{animation-delay:145ms}.is-ready .kpi-card:nth-child(1),.is-ready .kpi-card:nth-child(6),.is-ready .kpi-card:nth-child(11){animation-delay:.17s}.is-ready .kpi-card:nth-child(2),.is-ready .kpi-card:nth-child(7),.is-ready .kpi-card:nth-child(12){animation-delay:205ms}.is-ready .kpi-card:nth-child(3),.is-ready .kpi-card:nth-child(8),.is-ready .kpi-card:nth-child(13){animation-delay:.24s}.is-ready .kpi-card:nth-child(4),.is-ready .kpi-card:nth-child(9),.is-ready .kpi-card:nth-child(14){animation-delay:275ms}.is-ready .kpi-card:nth-child(5),.is-ready .kpi-card:nth-child(10),.is-ready .kpi-card:nth-child(15){animation-delay:.31s}.is-ready .chart-panel:nth-child(1){animation-delay:235ms}.is-ready .chart-panel:nth-child(2){animation-delay:285ms}.is-ready .chart-panel:nth-child(3){animation-delay:335ms}.is-ready .quick-actions-panel{animation-delay:.31s}.is-ready .notifications-panel{animation-delay:355ms}.is-ready .module-card:nth-child(1){animation-delay:.26s}.is-ready .module-card:nth-child(2){animation-delay:305ms}.is-ready .module-card:nth-child(3){animation-delay:.35s}.is-ready .module-card:nth-child(4){animation-delay:395ms}@keyframes reveal-up{0%{opacity:0;transform:translateY(13px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sidebar-backdrop, 35);padding:0;border:0;background:#070b506b}.theme-toggle-icons{position:relative;width:18px;height:18px;display:grid;place-items:center}.theme-toggle-icons i{position:absolute;font-size:calc(16px * var(--font-scale));line-height:1;opacity:0;transform:rotate(-120deg) scale(.35);transition:opacity .38s cubic-bezier(.4,0,.2,1),transform .38s cubic-bezier(.34,1.4,.64,1);pointer-events:none}.theme-toggle-icons i.is-active{opacity:1;transform:rotate(0) scale(1)}.theme-toggle:hover .theme-toggle-icons i.is-active{transform:rotate(12deg) scale(1.08)}html.theme-changing .theme-toggle-icons i.is-active{animation:theme-icon-enter .42s cubic-bezier(.34,1.45,.64,1)}@keyframes theme-icon-enter{0%{opacity:0;transform:rotate(140deg) scale(.2)}55%{opacity:1;transform:rotate(-10deg) scale(1.14)}to{opacity:1;transform:rotate(0) scale(1)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}html.theme-transitioning::view-transition-old(root){z-index:1}html.theme-transitioning::view-transition-new(root){z-index:9999;animation:theme-circle-reveal .42s cubic-bezier(.4,0,.2,1) both;will-change:clip-path}@keyframes theme-circle-reveal{0%{clip-path:circle(0 at var(--theme-x, 50%) var(--theme-y, 50%))}to{clip-path:circle(var(--theme-r, 120vmax) at var(--theme-x, 50%) var(--theme-y, 50%))}}html.theme-changing .ambient-lines{opacity:0;visibility:hidden}html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:none!important}html.theme-changing{transition:color .42s ease,background-color .42s ease}html.theme-changing body{transition:color .42s ease,background-color .42s ease,background-image .42s ease}html.theme-changing:not(.theme-transitioning) body,html.theme-changing:not(.theme-transitioning) .app-shell,html.theme-changing:not(.theme-transitioning) .sidebar,html.theme-changing:not(.theme-transitioning) .status-bar,html.theme-changing:not(.theme-transitioning) .dashboard-card,html.theme-changing:not(.theme-transitioning) .kpi-card,html.theme-changing:not(.theme-transitioning) .chart-panel,html.theme-changing:not(.theme-transitioning) .quick-actions-panel,html.theme-changing:not(.theme-transitioning) .notifications-panel,html.theme-changing:not(.theme-transitioning) .module-card,html.theme-changing:not(.theme-transitioning) .icon-button,html.theme-changing:not(.theme-transitioning) .search-field,html.theme-changing:not(.theme-transitioning) .date-field,html.theme-changing:not(.theme-transitioning) .ops-workspace,html.theme-changing:not(.theme-transitioning) .ops-dialog,html.theme-changing:not(.theme-transitioning) .login-shell,html.theme-changing:not(.theme-transitioning) .login-brand,html.theme-changing:not(.theme-transitioning) .login-card{transition:color .42s ease,background-color .42s ease,border-color .42s ease,box-shadow .42s ease}.main-content>.ops-metrics .ops-metric,.main-content>.ops-metrics .kpi-card.student-summary-card{border:1px solid var(--border-subtle);box-shadow:none}.main-content>.ops-tabs,.main-content>nav.ops-tabs.profile-tabs{border:none;background:transparent;box-shadow:none;padding:0;min-height:48px}.main-content>.ops-workspace{border-color:var(--border-subtle);box-shadow:var(--shadow-panel)}.ops-workspace .ops-workspace-header{background:transparent;border-bottom:1px solid var(--border-ghost)}.ops-workspace .ops-toolbar{margin:0 14px 12px;padding:12px 14px;border:none;border-radius:var(--radius-control);background:var(--surface-sunken);min-height:auto}.ops-workspace .ops-toolbar .student-search.ops-search,.ops-workspace .ops-toolbar .filter-dropdown-trigger,.ops-workspace .ops-toolbar .icon-button{border-color:var(--border-ghost);background:var(--surface-1);box-shadow:none}.ops-workspace .ops-table-wrap,.ops-workspace .attendance-picker-wrap,.ops-workspace .schedule-grid-wrap{padding-inline:14px;padding-bottom:14px}.ops-workspace .ops-table th{background:var(--surface-sunken);border-bottom-color:var(--border-ghost)}.ops-workspace .ops-table td{background:transparent;border-bottom-color:var(--border-ghost)}.ops-workspace .ops-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,var(--surface-1))}.ops-workspace .attendance-picker{padding:0 14px 14px;gap:12px}.ops-workspace .attendance-breadcrumb,.ops-workspace .attendance-section-bar,.ops-workspace .attendance-roll-wrap:not(.attendance-roll-wrap--clean){border:none;background:var(--surface-sunken);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.ops-workspace .attendance-pick-card{border:none;background:var(--surface-sunken);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.ops-workspace .attendance-pick-card:hover{background:var(--surface-1);box-shadow:var(--shadow-soft);border:none}.ops-workspace .attendance-pick-meta,.dashboard-card .analytics-section{border-top-color:var(--border-ghost)}.dashboard-card .collapsible-header{border-bottom-color:var(--border-ghost)}.dashboard-card .kpi-card,.dashboard-card .chart-panel,.dashboard-card .module-card{border-color:var(--border-subtle)}.ops-home{display:flex;flex-direction:column;gap:14px;padding-block-end:20px}.ops-home ::selection{color:var(--ink);background:color-mix(in srgb,var(--primary) 32%,transparent)}.ops-home__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.ops-home__head h1{margin:0;font-size:calc(24px * var(--font-scale));font-weight:700;line-height:1.3;letter-spacing:-.03em}.ops-home__head p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.ops-home__stamp{font-size:calc(12px * var(--font-scale))}.ops-home__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.ops-home__quick{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ops-banner{margin:0;padding:10px 14px;border:1px solid var(--warning);border-radius:12px;background:var(--warning-soft);color:var(--ink);font-size:calc(13px * var(--font-scale))}.ops-home__kpis,.ops-home__charts,.ops-home__split,.ops-home__board{display:grid;gap:12px}.ops-home__kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.ops-home__charts{align-items:start;grid-template-columns:auto minmax(0,1.2fr) minmax(15.5rem,.82fr)}.ops-home__split{grid-template-columns:minmax(0,1fr) minmax(0,1.28fr)}.ops-home__board{align-items:start;grid-template-columns:1fr 1fr}.ops-home__charts--pending{min-height:196px;grid-column:1 / 3}.ops-plate,.ops-card{min-width:0;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-card)}.ops-plate,.ops-split,.ops-stack,.ops-rank button,.ops-table__name,.ops-donut__center{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;font-family:inherit;line-height:inherit}.ops-plate{display:flex;flex-direction:column;align-items:stretch;padding:14px 16px 12px;text-align:start;color:inherit;cursor:pointer;transition:box-shadow .16s ease,border-color .16s ease}.ops-plate.is-static{cursor:default}.ops-plate.is-static:hover{border-color:var(--border-default);box-shadow:var(--shadow-card)}.ops-plate:hover,.ops-stack:hover,.ops-split:hover,.ops-rank button:hover,.ops-table tbody tr:hover,.ops-donut__center:hover{border-color:var(--primary-border)}.ops-plate:hover,.ops-stack:hover,.ops-split:hover{box-shadow:var(--shadow-hover)}.ops-plate:focus-visible,.ops-stack:focus-visible,.ops-split:focus-visible,.ops-rank button:focus-visible,.ops-table__name:focus-visible,.ops-donut__center:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ops-plate__label,.ops-card__head p,.ops-tile small,.ops-tile em,.ops-donut__center span,.ops-empty-line{color:var(--ink-muted)}.ops-plate__label{font-size:calc(12px * var(--font-scale));font-weight:600}.ops-plate__value,.ops-donut__center strong,.ops-tile strong,.ops-rank strong{color:var(--ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.03em;direction:ltr;unicode-bidi:isolate}.ops-plate__value{margin-top:8px;font-size:calc(26px * var(--font-scale));font-weight:700;line-height:1.15}.ops-plate__meta{display:grid;gap:6px;margin-top:auto;padding-top:12px}.ops-plate__stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;font-size:calc(12px * var(--font-scale))}.ops-plate__stat span{min-width:0;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-plate__stat strong{flex:0 0 auto;font-weight:600;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.ops-plate__stat.is-danger,.ops-plate__stat.is-danger strong{color:var(--danger)}.ops-card{padding:16px 18px}.ops-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.ops-card__head h2{margin:0;font-size:calc(15px * var(--font-scale));font-weight:600;line-height:1.35}.ops-card__head p{margin:3px 0 0;font-size:calc(12px * var(--font-scale))}.ops-donut,.ops-daily{display:grid;gap:14px;align-items:center}.ops-donut{grid-template-columns:128px max-content;justify-content:start}.ops-donut__chart{position:relative;width:128px;height:128px}.ops-donut__center{position:absolute;top:28%;right:28%;bottom:28%;left:28%;display:grid;place-content:center;padding:0;border:0;background:transparent;text-align:center;cursor:pointer}.ops-donut__center strong{font-size:calc(18px * var(--font-scale));font-weight:700}.ops-donut__center span{font-size:calc(11px * var(--font-scale))}.ops-legend{display:flex;flex-direction:column;gap:6px;width:max-content;max-width:100%}.ops-legend--wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:8px 14px;margin-top:14px}.ops-legend__row{display:flex;align-items:center;gap:8px;min-width:0;font-size:calc(12px * var(--font-scale))}.ops-legend__row span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-legend--wrap .ops-legend__row span:nth-child(2){flex:1}.ops-legend__row strong{flex:0 0 auto;min-width:2.5ch;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;text-align:end}.ops-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%}.ops-daily{grid-template-columns:132px minmax(0,1fr)}.ops-daily__chart{height:168px}.ops-daily__list{margin:0;padding:0;list-style:none}.ops-daily__list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--border-subtle);font-size:calc(12px * var(--font-scale))}.ops-daily__list li:last-child{border-bottom:0}.ops-daily__list strong,.ops-rank strong{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.ops-stack{display:flex;width:100%;height:28px;overflow:hidden;padding:0;border:0;border-radius:8px;background:var(--surface-2);cursor:pointer}.ops-stack__seg{display:block;height:100%}.ops-empty-line{margin:0;font-size:calc(13px * var(--font-scale))}.ops-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;width:100%;padding:0;border:0;background:transparent;cursor:pointer}.ops-tile{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:12px;border-radius:12px;background:var(--surface-2);text-align:start}.ops-tile.is-accent{background:color-mix(in srgb,var(--primary) 12%,var(--surface-2))}.ops-tile small,.ops-tile em{font-size:calc(12px * var(--font-scale));font-style:normal}.ops-tile strong{font-size:calc(20px * var(--font-scale));font-weight:700}.ops-rank{margin:0;padding:0;list-style:none}.ops-rank li+li{border-top:1px solid var(--border-subtle)}.ops-rank button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border:0;background:transparent;text-align:start;color:inherit;cursor:pointer}.ops-rank span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-rank strong{color:var(--danger);font-weight:700}.ops-table-card{padding-bottom:8px}.ops-table-wrap{overflow:auto;max-height:420px;scrollbar-color:var(--border-emphasis) transparent}.ops-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:calc(13px * var(--font-scale))}.ops-table th,.ops-table td{padding:10px 12px;border-bottom:1px solid var(--border-subtle);text-align:start;vertical-align:middle}.ops-table th:first-child,.ops-table td:first-child{width:34%}.ops-table th:not(:first-child),.ops-table td:not(:first-child){width:16.5%}.ops-table th{position:sticky;top:0;z-index:1;color:var(--ink-muted);background:var(--surface-2);font-size:calc(12px * var(--font-scale));font-weight:600}.ops-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.ops-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 8%,var(--surface-1))}.ops-table .is-due{font-weight:700}.ops-table .is-overdue{color:var(--danger);font-weight:700}.ops-table__name{display:block;max-width:100%;overflow:hidden;padding:0;border:0;background:transparent;color:var(--ink);font-weight:600;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.ops-table__num{display:inline-block;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:-.03em;direction:ltr;unicode-bidi:isolate;white-space:nowrap}@media(max-width:1400px){.ops-home__kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.ops-home__kpis>:nth-child(-n+3){grid-column:span 2}.ops-home__kpis>:nth-child(n+4){grid-column:span 3}}@media(max-width:1180px){.ops-home__charts,.ops-home__split,.ops-home__board,.ops-daily{grid-template-columns:1fr}.ops-home__charts--pending{grid-column:auto}}@media(max-width:900px){.ops-home__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-home__kpis>:nth-child(-n+4){grid-column:auto}.ops-home__kpis>:last-child{grid-column:1 / -1}}@media(max-width:720px){.ops-home__head,.ops-home__kpis,.ops-split,.ops-legend--wrap{grid-template-columns:1fr}.ops-home__head{display:grid}.ops-home__kpis>:nth-child(-n+5){grid-column:auto}.ops-plate__value{font-size:calc(22px * var(--font-scale))}}@media(prefers-reduced-motion:reduce){.ops-plate,.ops-stack,.ops-split{transition:none}}[data-theme=dark]{color-scheme:dark;background-color:var(--page-bg);--primary: #0796FF;--primary-hover: #3aadff;--primary-soft: rgba(7, 150, 255, .14);--primary-border: rgba(126, 197, 255, .32);--sidebar: #111111;--sidebar-gradient: linear-gradient(180deg, #161616 0%, #111111 48%, #0c0c0c 100%);--brand-gradient: linear-gradient(90deg, #3aadff 0%, #0796FF 50%, #0680d9 100%);--brand-gradient-soft: linear-gradient(135deg, #3aadff 0%, #0796FF 50%, #0680d9 100%);--ink: #f2f2f2;--ink-muted: #a8a8ab;--text-secondary: #a8a8ab;--neutral-0: #161616;--neutral-50: #0a0a0a;--neutral-100: #0e0e0e;--line: rgba(255, 255, 255, .12);--line-soft: rgba(255, 255, 255, .07);--success: #5bc974;--success-soft: rgba(67, 183, 93, .16);--success-600: #63cf7a;--success-700: #43b75d;--success-800: #369a4a;--success-gradient: linear-gradient(135deg, #7ad88e 0%, #5bc974 48%, #43b75d 100%);--success-gradient-soft: linear-gradient(135deg, rgba(67, 183, 93, .18) 0%, rgba(67, 183, 93, .08) 100%);--danger: #f05a55;--danger-soft: rgba(238, 68, 63, .16);--warning: #ff9855;--warning-soft: rgba(244, 121, 32, .16);--info: #72a0ff;--info-soft: rgba(114, 160, 255, .13);--page-bg: #111111;--surface-0: #0e0e0e;--surface-1: #161616;--surface-2: #1e1e1e;--surface-inset: #0a0a0a;--surface-header: rgba(17, 17, 17, .94);--surface-sunken: rgba(10, 10, 10, .9);--surface-raised: #161616;--surface-overlay: #1a1a1a;--overlay-backdrop: rgba(5, 5, 5, .78);--border-subtle: rgba(255, 255, 255, .07);--border-default: rgba(255, 255, 255, .12);--border-emphasis: rgba(255, 255, 255, .18);--shadow-card: 0 1px 3px rgba(0, 0, 0, .35), 0 4px 16px -4px rgba(0, 0, 0, .45), 0 12px 32px -12px rgba(0, 0, 0, .35);--shadow-hover: 0 2px 6px rgba(0, 0, 0, .4), 0 12px 32px -8px rgba(0, 0, 0, .55), 0 0 0 1px color-mix(in srgb, var(--primary) 16%, transparent);--shadow-button: 0 8px 18px -6px color-mix(in srgb, var(--primary) 32%, transparent);--surface-primary: var(--surface-1);--surface-secondary: var(--surface-2);--glass-bg: var(--surface-1);--glass-bg-strong: var(--surface-2);--glass-border: var(--border-default);--glass-line: var(--border-subtle);--glass-shadow: var(--shadow-card);--sk-shimmer: linear-gradient(255deg, rgba(30, 30, 30, .88) 18%, rgba(44, 44, 44, .96) 40%, rgba(30, 30, 30, .88) 62%);--sk-shimmer-inset: linear-gradient(255deg, rgba(22, 22, 22, .95) 18%, rgba(42, 42, 42, .72) 42%, rgba(22, 22, 22, .95) 62%);--sk-fill: color-mix(in srgb, #fff 9%, var(--surface-1));--sk-shine: color-mix(in srgb, #fff 18%, var(--surface-2));--sk-card-bg: var(--surface-1);--sk-card-border: var(--border-default);--sk-table-head-bg: rgba(10, 10, 10, .68);--sk-table-row-border: rgba(255, 255, 255, .06);--brand-400: #3aadff;--brand-500: var(--primary);--brand-700: #7ec5ff;--text-muted: var(--ink-muted);--success-700: var(--success);--warning-500: var(--warning);--warning-700: var(--warning);--warning-800: #ffbd73;--danger-500: var(--danger);--danger-600: var(--danger)}[data-theme=dark] body{color:var(--ink);background-color:var(--page-bg);background-image:radial-gradient(circle at top left,rgba(7,150,255,.12),transparent 42%),radial-gradient(circle at bottom right,rgba(7,150,255,.08),transparent 44%),linear-gradient(135deg,#0c0c0c,#111 48%,#141414)}[data-theme=dark] .app-shell:before{border-color:#7ec5ff21;background:#0796ff06;box-shadow:inset 0 0 90px #0796ff12}[data-theme=dark] .app-shell:after{border-color:#cdd2e012;background:linear-gradient(90deg,transparent,rgba(205,210,224,.045),transparent)}[data-theme=dark] .ambient-lines{opacity:.72}[data-theme=dark] .sidebar{color:#f2f2f2;border-inline-end-color:#0796ff2e;background:var(--sidebar-gradient);box-shadow:-14px 0 38px #00000052,inset -1px 0 #0796ff24}[data-theme=dark] .brand{border-bottom-color:#ffffff13}[data-theme=dark] .brand img{box-shadow:0 10px 28px #0000005c,0 0 0 1px #0796ff29}[data-theme=dark] .login-brand-top .app-brand-mark{color:var(--primary)}[data-theme=dark] .nav-link{color:#f4f1f29e}[data-theme=dark] .nav-link:hover{color:#fff;background:#0796ff1a}[data-theme=dark] .nav-link.active{color:#fff;border-color:color-mix(in srgb,var(--primary) 28%,transparent);background:linear-gradient(135deg,var(--brand-400, var(--primary)) 0%,var(--primary) 52%,var(--primary-hover, var(--primary)) 100%);box-shadow:0 12px 28px -13px #0796ffb8,inset 0 1px #ffffff38}[data-theme=dark] .nav-group.open{background:#0796ff0f;box-shadow:inset 0 0 0 1px #0796ff1f}[data-theme=dark] .nav-subnav-panel{border-inline-start-color:#0796ff61}[data-theme=dark] .nav-sublink.active{background:#0796ff29}[data-theme=dark][data-sidebar=collapsed] .nav-link-tooltip{color:var(--ink);background:var(--surface-raised);border:1px solid var(--border-default)}[data-theme=dark] .school-card{border-color:#0796ff24;background:#ffffff0a}[data-theme=dark] .school-avatar,[data-theme=dark] .profile-avatar{color:#e8f4ff;background:linear-gradient(145deg,#1e1e1e,#111);box-shadow:inset 0 0 0 1px #0796ff47}[data-theme=dark] .status-bar{border-bottom-color:var(--border-default);background:var(--surface-1);box-shadow:0 1px #00000059}[data-theme=dark] .icon-button{color:#b8bdcc;border-color:var(--border-default);background:var(--surface-2);box-shadow:var(--shadow-card)}[data-theme=dark] .icon-button:hover,[data-theme=dark] .theme-toggle{color:#7ec5ff;border-color:#64b4ff4d;background:#0796ff1f}[data-theme=dark] .notification-button>span{border-color:var(--page-bg)}[data-theme=dark] .profile-trigger:hover,[data-theme=dark] .profile-trigger.active{border-color:#64b4ff4d}[data-theme=dark] .profile-theme.theme-toggle{color:var(--ink);border:1px solid var(--glass-line);background:#0e0f15b8;box-shadow:none}[data-theme=dark] .profile-theme.theme-toggle:hover,[data-theme=dark] .profile-theme.theme-toggle:focus-visible{color:#7ec5ff;border-color:#64b4ff4d;background:#0796ff1f}[data-theme=dark] .profile-logout:hover,[data-theme=dark] .profile-logout:focus-visible{color:#ff8d8d;background:#ef444424}[data-theme=dark] .primary-button{border-color:var(--primary);background:linear-gradient(135deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:0 10px 26px -12px color-mix(in srgb,var(--primary) 72%,transparent),inset 0 1px #ffffff2e}[data-theme=dark] .secondary-button,[data-theme=dark] .search-field,[data-theme=dark] .date-field{color:var(--ink);border-color:var(--glass-border);background:var(--glass-bg-strong);box-shadow:var(--glass-shadow)}[data-theme=dark] .search-field input,[data-theme=dark] .date-field select{color:var(--ink)}[data-theme=dark] .search-field input::placeholder{color:#8a8a8d}[data-theme=dark] .search-field kbd,[data-theme=dark] .period-badge{color:#9ba1b4;border-color:#cdd2e01f;background:#ffffff0b}[data-theme=dark] .category-pill:hover{color:#7ec5ff;background:#0796ff1a}[data-theme=dark] .category-pill.active{color:#fff;background:linear-gradient(135deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:0 9px 22px -12px color-mix(in srgb,var(--primary) 76%,transparent)}[data-theme=dark] .dashboard-card{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .card-header,[data-theme=dark] .collapsible-header:hover{background:var(--surface-2)}[data-theme=dark] .title-icon{color:#7ec5ff;border:1px solid rgba(100,180,255,.22);background:#0796ff1f}[data-theme=dark] .kpi-card{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .kpi-card:hover{border-color:#7ec5ff61;background:var(--surface-2);box-shadow:var(--shadow-hover)}[data-theme=dark] .kpi-icon,[data-theme=dark] .notification-icon,[data-theme=dark] .module-card-header>span:first-child{border-color:var(--border-subtle);background:color-mix(in srgb,var(--tone-color) 16%,var(--surface-2))}[data-theme=dark] .kpi-trend{border-color:var(--border-subtle);background:var(--surface-inset)}[data-theme=dark] .chart-panel,[data-theme=dark] .quick-actions-panel,[data-theme=dark] .notifications-panel{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .quick-action{color:#7ec5ff;border-color:#7ec5ff3d;background:#0796ff16;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .quick-action:hover{color:#7ec5ff;background:#0796ff26;box-shadow:0 10px 24px -16px #0796ffb8}[data-theme=dark] .notification-item:hover{background:#ffffff06}[data-theme=dark] .module-card{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .module-progress{background:var(--surface-inset)}[data-theme=dark] .details-modal{color:var(--ink);border:1px solid rgba(219,223,234,.14);background:color-mix(in srgb,var(--surface-1) 90%,transparent);box-shadow:0 34px 95px #000000ad,inset 0 1px #ffffff12}[data-theme=dark] .details-modal::backdrop{background:#000000b8}[data-theme=dark] .modal-footer{background:#ffffff06}[data-theme=dark] .toast{color:var(--ink);border-color:#d6dae521;background:color-mix(in srgb,var(--surface-1) 90%,transparent);box-shadow:0 20px 55px #00000080,inset 0 1px #ffffff0f}[data-theme=dark] .toast--danger{border-color:var(--danger)}[data-theme=dark] .sidebar-backdrop{background:#000000b8}[data-theme=dark].is-loading .page-heading h1,[data-theme=dark].is-loading .page-heading p,[data-theme=dark].is-loading .heading-actions button,[data-theme=dark].is-loading .search-field,[data-theme=dark].is-loading .date-field,[data-theme=dark].is-loading .filter-button,[data-theme=dark].is-loading .category-pill,[data-theme=dark].is-loading .section-label h2,[data-theme=dark].is-loading .section-label span,[data-theme=dark].is-loading .period-badge{background-image:linear-gradient(100deg,#1e1e1ecc 18%,#2c2c2ce6,#1e1e1ecc 58%)}[data-theme=dark].is-loading .collapsible-header:after,[data-theme=dark].is-loading .chart-panel:before,[data-theme=dark].is-loading .quick-actions-panel:before,[data-theme=dark].is-loading .notifications-panel:before,[data-theme=dark].is-loading .module-card:before,[data-theme=dark].is-loading .notification-item:after,[data-theme=dark].is-loading .quick-action:after{background-color:#1e1e1ee0;background-image:linear-gradient(100deg,transparent 22%,rgba(58,58,58,.38) 42%,transparent 62%)}[data-theme=dark].is-loading .kpi-card:before{background:radial-gradient(circle at calc(100% - 38px) 36px,#1e1e1e 0 20px,transparent 21px),linear-gradient(#1e1e1e,#1e1e1e) calc(100% - 76px) 93px / 48% 20px no-repeat,linear-gradient(#161616,#161616) calc(100% - 76px) 121px / 62% 11px no-repeat,linear-gradient(#161616,#161616) 18px 18px / 42px 9px no-repeat,#111111f0}[data-theme=dark].is-loading .kpi-card:after{background:linear-gradient(100deg,transparent 24%,rgba(130,132,147,.18) 44%,transparent 64%)}@media(max-width:1199px){.kpi-section .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.charts-grid{grid-template-columns:1fr 1fr}.chart-panel-wide{grid-column:1 / -1}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:991px){.status-copy{display:none}.status-bar{justify-content:flex-start}.status-actions{margin-inline-start:auto}.kpi-section .kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-grid,.operations-grid{grid-template-columns:1fr}.chart-panel-wide{grid-column:auto}.control-panel{grid-template-columns:minmax(240px,1fr) 220px 42px}.last-updated{display:none}}@media(max-width:767px){.status-bar{min-height:58px}.system-status{display:none}.page-heading{align-items:flex-start}.page-heading,.control-panel{grid-template-columns:1fr;flex-direction:column}.heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.heading-actions button{width:100%;max-width:100%}.control-panel{display:grid;grid-template-columns:1fr 42px}.search-field{grid-column:1 / -1}.date-field{min-width:0}.kpi-section .kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-card,.card-body,.kpi-section,.analytics-section,.operations-grid,.charts-grid,.chart-panel,.quick-actions-panel,.notifications-panel{min-width:0;max-width:100%}.chart-panel{min-height:300px}.operations-grid{padding:16px}.module-grid{grid-template-columns:1fr 1fr}}@media(max-width:575px){.status-actions>.help-button{display:none}.page-heading h1{font-size:calc(21px * var(--font-scale))}.secondary-button,.primary-button{padding-inline:11px;font-size:calc(12px * var(--font-scale))}.page-heading,.page-heading>div,.heading-actions,.control-panel,.category-section,.module-overview{min-width:0;max-width:100%}.search-field kbd{display:none}.collapsible-header{padding-inline:14px}.live-label{display:none}.kpi-section,.analytics-section{padding:16px 12px}.kpi-section .kpi-grid{grid-template-columns:1fr}.kpi-card:not(.student-stat-card){height:122px}.kpi-card.student-stat-card{height:48px;min-height:48px;max-height:48px}.kpi-card--attendance-today{height:122px}.section-heading>a{display:none}.donut-layout{grid-template-columns:1fr}.donut-wrap{height:160px}.chart-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:1fr}.notification-item{grid-template-columns:34px 1fr}.notification-time{grid-column:2;padding-top:0}.module-grid{grid-template-columns:1fr}.details-list div{grid-template-columns:90px 1fr}}@media(max-width:420px){.heading-actions{grid-template-columns:1fr}.status-actions{gap:6px}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.status-bar,.dashboard-card,.kpi-card,.chart-panel,.quick-actions-panel,.notifications-panel,.module-card,.search-field,.date-field,.secondary-button,.icon-button,.details-modal,.toast,[data-theme=dark] .status-bar,[data-theme=dark] .dashboard-card,[data-theme=dark] .kpi-card,[data-theme=dark] .chart-panel,[data-theme=dark] .quick-actions-panel,[data-theme=dark] .notifications-panel,[data-theme=dark] .module-card,[data-theme=dark] .search-field,[data-theme=dark] .date-field,[data-theme=dark] .secondary-button,[data-theme=dark] .icon-button,[data-theme=dark] .details-modal,[data-theme=dark] .toast{background-color:var(--surface-1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page-skeleton,.sk-scene{pointer-events:none;-webkit-user-select:none;user-select:none;--sk-angle: 105deg;--sk-fill: color-mix(in srgb, var(--ink) 8%, var(--surface-1));--sk-shine: color-mix(in srgb, var(--surface-1) 55%, #fff)}[dir=rtl] .page-skeleton,[dir=rtl] .sk-scene{--sk-angle: 255deg}.sk-bone,.sk-block{display:block;border-radius:8px;background-color:var(--sk-fill, color-mix(in srgb, var(--ink) 8%, var(--surface-1)));background-image:linear-gradient(var(--sk-angle, 105deg),var(--sk-fill, color-mix(in srgb, var(--ink) 8%, var(--surface-1))) 18%,var(--sk-shine, color-mix(in srgb, var(--surface-1) 55%, #fff)) 48%,var(--sk-fill, color-mix(in srgb, var(--ink) 8%, var(--surface-1))) 78%);background-size:220% 100%;animation:skeleton-shimmer 1.45s cubic-bezier(.4,0,.2,1) infinite}[dir=rtl] .sk-bone,[dir=rtl] .sk-block{animation-direction:reverse}@keyframes skeleton-shimmer{0%{background-position:130% 0}to{background-position:-90% 0}}.sk-eyebrow{width:72px;height:10px;margin-bottom:10px;border-radius:999px}.sk-title{width:min(280px,55%);height:26px;margin-bottom:10px;border-radius:10px}.sk-title--lg{width:min(320px,60%);height:32px}.sk-desc{width:min(420px,85%);height:12px;border-radius:8px}.sk-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.sk-page-heading-actions{display:flex;flex-wrap:wrap;gap:8px}.sk-button{width:112px;height:40px;border-radius:10px}.sk-button--ghost{width:96px}.sk-button--sm{width:96px;height:36px}.sk-button--summary{width:100%;min-width:10.5rem;height:48px;border-radius:10px}.sk-icon-btn{width:40px;height:40px;flex:0 0 40px;border-radius:10px}.sk-icon-btn--lg{width:44px;height:44px;flex:0 0 44px}.sk-kpi-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin-bottom:16px}.sk-kpi-card{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;flex:1 0 13.5rem;width:auto;min-width:min(100%,13.5rem);max-width:100%;min-height:48px;height:48px;padding:10px 16px;gap:12px;border-radius:10px;background:var(--sk-card-bg, var(--surface-1));box-shadow:inset 0 0 0 1px var(--sk-card-border, var(--border-subtle))}.sk-kpi-line{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0}.sk-kpi-label{width:min(42%,120px);height:12px;border-radius:6px}.sk-kpi-value{width:56px;height:16px;margin:0;border-radius:8px}.sk-summary-bar{margin-bottom:16px}.sk-summary-actions{display:flex;flex-direction:column;justify-content:stretch;gap:10px;min-width:10.5rem}.sk-summary-bar .sk-kpi-grid{margin-bottom:0}.sk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.sk-tab{width:128px;height:40px;border-radius:12px}.sk-tab--active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 35%,transparent)}.sk-tabs--compact{margin-bottom:0}.sk-tabs--compact .sk-tab{width:108px;height:36px}.sk-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:0;padding:12px 16px}.sk-search{flex:1 1 220px;min-width:0;height:44px;border-radius:14px}.sk-search--wide{flex:1 1 100%;max-width:none}.sk-filters{display:flex;flex-wrap:wrap;gap:8px}.sk-filter{width:108px;height:38px;border-radius:10px}.sk-filter--wide{width:100%;height:38px}.sk-chip-row,.sk-category-row{display:flex;flex-wrap:wrap;gap:8px}.sk-chip{width:84px;height:28px;border-radius:999px}.sk-workspace{overflow:hidden}.sk-workspace-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:10px 16px}.sk-ws-title{width:180px;height:20px;margin-bottom:8px;border-radius:8px}.sk-ws-meta{width:140px;height:11px;border-radius:6px}.sk-table-wrap{overflow:hidden;border-radius:0 0 12px 12px;background:var(--sk-card-bg, var(--surface-1))}.sk-table-head,.sk-table-row{display:grid;grid-template-columns:52px minmax(160px,1.6fr) repeat(calc(var(--sk-cols, 6) - 2),minmax(64px,1fr)) 88px;gap:10px;align-items:center;padding:12px 14px}.sk-table-head{background:var(--sk-table-head-bg, color-mix(in srgb, var(--ink) 4%, var(--surface-1)))}.sk-table-row{border-top:1px solid var(--sk-table-row-border, var(--border-subtle));background:color-mix(in srgb,var(--sk-card-bg, var(--surface-1)) 92%,transparent)}.sk-th,.sk-td{height:11px;border-radius:6px}.sk-th--index,.sk-td--index{width:18px;margin-inline:auto}.sk-identity{display:inline-flex;align-items:center;gap:8px;min-width:0}.sk-identity-text{display:grid;gap:6px;min-width:0}.sk-avatar{width:26px;height:26px;flex:0 0 26px;border-radius:7px}.sk-avatar--lg{width:40px;height:40px;flex:0 0 40px;border-radius:12px}.sk-td--name{width:min(148px,70%);height:12px}.sk-td--meta{width:min(96px,48%);height:9px}.sk-td--lead{height:32px;border-radius:10px}.sk-td--preview{width:min(220px,92%);height:10px}.sk-td--time{width:42px;height:9px}.sk-td--actions{width:64px;margin-inline-start:auto}.sk-dash-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}.sk-category-row{margin-bottom:18px}.sk-dash-card{margin-bottom:0}.sk-dash-card-head{display:flex;min-height:73px;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}.sk-dash-card-title{display:flex;align-items:center;gap:11px}.sk-dash-card-body{padding:8px 18px 20px}.sk-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin:8px 0 12px}.sk-chart-panel{margin:16px 0 0;padding:16px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1)}.sk-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.sk-chart-body{height:220px;display:flex;align-items:end}.sk-chart-bars{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:10px;width:100%;height:100%}.sk-chart-bar{width:100%;min-height:24px;border-radius:8px 8px 4px 4px}.sk-ops-grid{margin-top:4px}.sk-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.sk-quick-action{height:46px;border-radius:10px}.sk-note-list{display:grid;gap:8px;margin-top:12px}.sk-note-item{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px}.sk-note-text{display:grid;gap:6px}.sk-module-overview{margin-top:25px}.sk-module-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sk-module-card{min-width:0;padding:15px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);box-shadow:var(--shadow-card)}.sk-module-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.sk-progress{width:100%;height:5px;margin-top:13px;border-radius:999px}.sk-messaging{min-height:min(calc(72vh / var(--ui-scale)),680px)}.sk-messaging-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 12px}.sk-messaging-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 12px 12px}.sk-msg-tab{height:58px;width:auto;border-radius:12px}.sk-messaging-search{padding:0 12px 12px}.sk-messaging-list{display:grid;gap:2px;padding:0 8px 12px}.sk-msg-item{display:flex;align-items:flex-start;gap:10px;padding:12px 10px;border-radius:12px}.sk-msg-item.is-active{background:color-mix(in srgb,var(--primary) 8%,transparent)}.sk-msg-item-body{display:grid;gap:6px;min-width:0;flex:1}.sk-msg-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.sk-messaging-thread{display:flex;flex-direction:column;min-width:0;background:var(--surface-1)}.sk-thread-head{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--border-subtle)}.sk-thread-body{display:grid;gap:12px;padding:18px 16px;flex:1}.sk-bubble{display:grid;gap:6px;max-width:min(72%,420px);padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--ink) 5%,var(--surface-2))}.sk-bubble--out{margin-inline-start:auto;background:color-mix(in srgb,var(--primary) 12%,var(--surface-1))}.sk-thread-composer{display:flex;gap:10px;padding:12px 16px 16px;border-top:1px solid var(--border-subtle)}.sk-report-layout,.sk-reports-center{margin-top:18px}.sk-report-config{display:flex;flex-direction:column;gap:12px}.sk-report-card{display:flex;flex-direction:column;gap:10px;padding:14px}.sk-report-fields{display:flex;flex-wrap:wrap;gap:8px}.sk-report-catalog{padding:14px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1)}.sk-report-catalog nav{display:grid;gap:6px;margin-top:12px}.sk-catalog-item{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px}.sk-catalog-item.is-active{background:color-mix(in srgb,var(--primary) 8%,transparent)}.sk-report-active{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}.sk-notify-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-subtle)}[data-theme=dark] .page-skeleton{--sk-fill: color-mix(in srgb, #fff 9%, var(--surface-1));--sk-shine: color-mix(in srgb, #fff 18%, var(--surface-2))}[data-theme=dark] .page-skeleton .sk-kpi-card,[data-theme=dark] .page-skeleton .sk-module-card,[data-theme=dark] .page-skeleton .sk-chart-panel,[data-theme=dark] .page-skeleton .sk-report-catalog{border:1px solid var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .page-skeleton .sk-table-row{background:#18192133}@media(prefers-reduced-motion:reduce){.page-skeleton,.sk-scene,.sk-bone,.sk-block{animation:none}.sk-bone,.sk-block{background-image:none;background-color:color-mix(in srgb,var(--ink) 10%,var(--surface-1));opacity:.84}}@media(max-width:1280px){.sk-kpi-card{flex-basis:12.5rem;min-width:min(100%,12.5rem)}}@media(max-width:1100px){.sk-report-layout{grid-template-columns:1fr}.sk-summary-bar{flex-wrap:wrap}.sk-button--summary{min-width:0;flex:1 1 auto}}@media(max-width:1000px){.sk-reports-center{grid-template-columns:1fr}.sk-report-catalog nav{display:flex;overflow-x:auto}.sk-catalog-item{min-width:190px}}@media(max-width:991px){.sk-page-heading{align-items:flex-start;flex-direction:column}.sk-ops-grid{grid-template-columns:1fr}.sk-module-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sk-table-head,.sk-table-row{grid-template-columns:40px minmax(140px,1.4fr) minmax(72px,1fr) 72px}.sk-table-head>:nth-child(n+5),.sk-table-row>:nth-child(n+5):not(.sk-td--actions){display:none}}@media(max-width:960px){.sk-messaging{grid-template-columns:1fr;min-height:min(calc(78vh / var(--ui-scale)),720px)}.sk-messaging-thread{display:none}}@media(max-width:900px){.sk-kpi-card{flex-basis:11.5rem;min-width:min(100%,11.5rem)}}@media(max-width:767px){.sk-table-head{display:none}.sk-table-wrap{background:transparent;padding:8px 12px 14px}.sk-table-row{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:12px;padding:14px;overflow:hidden;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-card)}.sk-table-row>.sk-td--index{display:none}.sk-identity{padding-bottom:8px;border-bottom:1px solid var(--border-subtle)}.sk-table-row>.sk-td:nth-child(n+5){display:none}.sk-td--actions{width:88px;height:28px;margin:4px 0 0}.sk-module-row,.sk-quick-actions{grid-template-columns:1fr}.sk-chart-body{height:160px}.sk-chart-bars{grid-template-columns:repeat(6,minmax(0,1fr))}.sk-chart-bars>:nth-child(n+7){display:none}.sk-notify-head{flex-direction:column}.sk-tab,.sk-tabs--compact .sk-tab{width:auto;flex:1 1 0;min-width:72px}}@media(max-width:520px){.sk-kpi-card{flex:1 1 100%;min-width:100%}.sk-summary-actions{width:100%;flex-direction:row}.sk-button--summary{flex:1 1 auto;width:auto}}.route-loading{display:grid;grid-template-columns:180px 120px 1fr;align-content:start;gap:12px}.route-loading>span,.route-loading>div{height:42px;border-radius:9px}.route-loading>span,.route-loading>div{background-color:var(--sk-fill, color-mix(in srgb, var(--ink) 8%, var(--surface-1)));background-image:var(--sk-shimmer);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.route-loading>div{grid-column:1 / -1;height:520px;margin-top:18px}[data-theme=dark] .route-loading>span,[data-theme=dark] .route-loading>div{background-image:var(--sk-shimmer);background-size:220% 100%}.students-page{gap:18px;min-width:0;max-width:100%}.students-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.students-heading h1{margin:0;font-size:calc(24px * var(--font-scale));font-weight:500;line-height:32px}.students-heading p:not(.eyebrow){margin:3px 0 0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.students-heading-actions{display:flex;gap:8px}.students-summary-bar{display:flex;align-items:stretch;gap:10px;min-width:0;overflow:visible}.students-summary-bar .students-summary{flex:1 1 auto;min-width:0}.students-summary-actions{display:flex;flex-direction:row;flex-wrap:nowrap;flex:0 0 auto;align-items:stretch;justify-content:flex-end;gap:8px;width:auto;height:auto;min-height:48px}.students-summary-actions .primary-button{flex:0 1 auto;width:auto;height:48px;min-height:48px;padding-inline:16px;font-weight:700;white-space:nowrap}.students-page .students-summary-actions{flex-direction:column;justify-content:stretch;gap:10px;min-width:0}.students-page .students-summary-actions .primary-button{flex:1 1 0;width:100%;height:auto}.students-summary.entity-summary-grid,.staff-summary.entity-summary-grid,.guardians-summary.entity-summary-grid,.students-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;border:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.students-summary .kpi-card.student-stat-card,.staff-summary .kpi-card.student-stat-card,.guardians-summary .kpi-card.student-stat-card{flex:1 0 13.5rem;width:auto;min-width:min(100%,13.5rem);max-width:100%}.students-page .students-summary .kpi-card.student-stat-card{height:48px;min-height:48px;max-height:48px;flex-direction:row;flex-wrap:nowrap;align-items:center}.students-page .student-stat-card__amount{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;padding:2px 8px;border-radius:8px;background:color-mix(in srgb,currentColor 18%,transparent)}.students-page .student-stat-card--dropdown{cursor:pointer}.entity-summary-grid .kpi-card{height:auto;min-height:48px;padding:10px 16px}.students-summary.entity-summary-grid .kpi-card.student-stat-card{height:48px;min-height:48px;max-height:48px;padding:10px 16px}.entity-summary-grid .kpi-card--attendance-today{height:auto;min-height:48px;padding:10px 16px}.entity-summary-grid .kpi-content strong{font-size:clamp(17px,calc(1.5vw / var(--ui-scale)),22px);line-height:26px}@media(max-width:1280px){.students-summary .kpi-card.student-stat-card,.staff-summary .kpi-card.student-stat-card,.guardians-summary .kpi-card.student-stat-card{flex-basis:12.5rem;min-width:min(100%,12.5rem)}}@media(max-width:1100px){.students-summary-bar{flex-wrap:wrap}.students-summary-bar .students-summary{flex:1 1 100%}.students-summary-actions{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.students-summary-actions .primary-button{flex:1 1 auto;min-height:48px}.students-page .students-summary-bar{flex-wrap:nowrap}.students-page .students-summary-bar .students-summary{flex:1 1 auto}.students-page .students-summary-actions{width:auto;flex-direction:column;flex-wrap:nowrap}.students-page .students-summary-actions .primary-button{flex:1 1 0;width:100%}}@media(max-width:720px){.students-page .students-summary-bar{flex-wrap:wrap}.students-page .students-summary-bar .students-summary{flex:1 1 100%}.students-page .students-summary-actions{width:100%;flex-direction:row;min-width:0}.students-page .students-summary-actions .primary-button{flex:1 1 auto;width:auto}}@media(max-width:900px){.students-summary .kpi-card.student-stat-card,.guardians-summary .kpi-card.student-stat-card,.staff-summary .kpi-card.student-stat-card{flex-basis:11.5rem;min-width:min(100%,11.5rem)}}@media(max-width:520px){.students-summary .kpi-card.student-stat-card,.guardians-summary .kpi-card.student-stat-card,.staff-summary .kpi-card.student-stat-card{flex:1 1 100%;min-width:100%}.students-page .students-summary-bar{flex-wrap:wrap}.students-page .students-summary-bar .students-summary{flex:1 1 100%}.students-page .students-summary-actions{width:100%;flex-direction:row}.students-page .students-summary-actions .primary-button{flex:1 1 auto;width:auto}}.student-summary-card{width:100%}.kpi-card.student-stat-card,.entity-summary-grid .kpi-card.student-stat-card,.students-summary .student-stat-card,.ops-metrics .kpi-card.student-stat-card.ops-metric{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:12px;height:auto;min-height:48px;padding:10px 16px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);box-shadow:none;cursor:default;text-align:start}.kpi-card.student-stat-card:after,.students-summary .student-stat-card:after{display:none}.kpi-card.student-stat-card:hover,.students-summary .student-stat-card:hover{z-index:auto;transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--tone-color, var(--primary)) 28%,var(--border-subtle));background:color-mix(in srgb,var(--tone-color, var(--primary)) 5%,var(--surface-1))}.student-stat-card__meta{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.student-stat-card__body{display:flex;flex-direction:column;gap:.02rem;min-width:0}.student-stat-card__label{display:block;flex:1 1 auto;min-width:0;overflow:hidden;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:800;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.student-stat-card__line{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:28px;min-width:0;overflow:hidden}.student-stat-card__amount{display:inline-flex;flex:0 0 auto;align-items:baseline;gap:4px;margin-inline-start:auto;color:var(--tone-color, var(--ink));font-variant-numeric:tabular-nums;white-space:nowrap;position:relative;z-index:1}.student-stat-card__value{display:block;overflow:visible;color:inherit;font-size:calc(16px * var(--font-scale));font-weight:800;line-height:1.2;white-space:nowrap}.student-stat-card__unit{font-size:calc(12px * var(--font-scale));font-weight:700;line-height:1.2;color:inherit}.student-stat-card--success .student-stat-card__amount{color:var(--success)}.student-stat-card--danger .student-stat-card__amount{color:var(--danger)}.student-stat-card--warning .student-stat-card__amount{color:var(--warning)}.student-stat-card--info .student-stat-card__amount{color:var(--info)}.student-stat-card--primary .student-stat-card__amount{color:var(--primary)}.student-stat-card__amount.negative{color:var(--danger)}.kpi-card.student-stat-card--interactive{cursor:pointer}.kpi-card.student-stat-card--dropdown{flex-direction:row;align-items:center;overflow:hidden}.student-stat-card__viewport{position:relative;flex:1 1 auto;min-width:0;height:28px;overflow:hidden}.student-stat-card__viewport .student-stat-card__line.is-out,.student-stat-card__viewport .student-stat-card__line.is-in{position:absolute;inset-inline:0;top:0}.student-stat-card__chevron-btn{display:grid;flex:0 0 auto;width:22px;height:22px;margin:0;padding:0;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--ink-muted);cursor:pointer}.student-stat-card__chevron-btn:hover{color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.student-stat-card__chevron-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 55%,transparent);outline-offset:2px}.student-stat-card__chevron{font-size:calc(10px * var(--font-scale));line-height:1}.student-stat-card__line.is-out{animation:kpi-slide-out .24s cubic-bezier(.4,0,1,1) forwards}.student-stat-card__line.is-in{animation:kpi-slide-in .26s cubic-bezier(.16,1,.3,1) both}@keyframes kpi-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-120%);opacity:0}}@keyframes kpi-slide-in{0%{transform:translateY(120%);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.student-stat-card__line.is-out,.student-stat-card__line.is-in{animation:none}}.students-page .sk-kpi-card{min-height:48px;border-radius:10px;background:var(--surface-1);box-shadow:none}.students-page .sk-kpi-icon{display:none}[data-theme=dark] .kpi-card.student-stat-card,[data-theme=dark] .students-summary .student-stat-card{border-color:var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 55%,transparent);box-shadow:none}[data-theme=dark] .kpi-card.student-stat-card:hover,[data-theme=dark] .students-summary .student-stat-card:hover{border-color:color-mix(in srgb,var(--tone-color, var(--primary)) 32%,var(--border-subtle));background:color-mix(in srgb,var(--tone-color, var(--primary)) 10%,var(--surface-2));box-shadow:none}.students-report-heading{align-items:flex-start}.students-report-back{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 10px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-1);color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.students-report-back:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface-1))}.students-report-back i{font-size:calc(11px * var(--font-scale))}[data-theme=dark] .students-report-back:hover{color:var(--ink)}.students-report-layout{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:16px;align-items:start;margin-top:18px}.students-report-layout--stacked{display:flex;flex-direction:column;gap:14px;align-items:stretch;width:100%;min-width:0;max-width:100%}.students-report-page,.students-report-page>*,.students-report-layout--stacked>*{min-width:0;max-width:100%}.students-report-config{display:flex;flex-direction:column;gap:12px;position:sticky;top:18px;max-height:calc(calc(100vh / var(--ui-scale)) - 100px);overflow-y:auto;padding:4px 4px 12px}.students-report-layout--stacked .students-report-config{position:static;max-height:none;overflow:visible;padding:0;gap:0;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-card)}.report-config-section{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-card)}.students-report-layout--stacked .report-config-section{border:none;border-radius:0;box-shadow:none;background:transparent;padding:12px 14px;border-bottom:1px solid var(--border-default)}.students-report-layout--stacked .report-config-section:last-child{border-bottom:none}.report-config-title{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:700;letter-spacing:.01em}.report-config-title i{color:var(--primary);font-size:calc(12px * var(--font-scale))}.report-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.students-report-layout--stacked .report-template-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.report-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px 10px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);color:var(--ink);text-align:start;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.report-template-card:hover{border-color:var(--primary);transform:translateY(-1px)}.students-report-layout--stacked .report-template-card{flex-direction:row;align-items:center;gap:10px;padding:10px 12px;min-height:48px}.students-report-layout--stacked .report-template-desc{display:none}.report-template-card.is-active{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface-1));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.report-template-card--success.is-active{border-color:var(--success);background:color-mix(in srgb,var(--success) 8%,var(--surface-1));box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 14%,transparent)}.report-template-card--warning.is-active{border-color:var(--warning);background:color-mix(in srgb,var(--warning) 8%,var(--surface-1));box-shadow:0 0 0 3px color-mix(in srgb,var(--warning) 14%,transparent)}.report-template-icon{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--primary) 12%,var(--surface-1));color:var(--primary);font-size:calc(12px * var(--font-scale))}.report-template-card--success .report-template-icon{background:color-mix(in srgb,var(--success) 14%,var(--surface-1));color:var(--success)}.report-template-card--warning .report-template-icon{background:color-mix(in srgb,var(--warning) 14%,var(--surface-1));color:var(--warning)}.report-template-label{font-size:calc(12px * var(--font-scale));font-weight:700;color:var(--ink)}.report-template-desc{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted);line-height:1.4}.report-config-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.students-report-layout--stacked .report-config-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:stretch;gap:8px}.students-report-layout--stacked .report-config-fields .staff-filter-select,.students-report-layout--stacked .report-config-fields .students-filter-text,.students-report-layout--stacked .report-config-fields .form-date-field{width:100%;min-width:0}.students-report-layout--stacked .report-config-fields .staff-filter-select__trigger,.students-report-layout--stacked .report-config-fields .students-filter-text{min-height:42px;padding:7px 12px;gap:10px;border:1px solid var(--border-default);border-radius:var(--radius-control, 8px);background:var(--surface-1);box-shadow:var(--shadow-soft);transform:none}.students-report-layout--stacked .report-config-fields .students-filter-text{display:grid;grid-template-columns:auto 1fr;align-items:center}.students-report-layout--stacked .report-config-fields .students-filter-text__copy{display:flex;flex-direction:column;min-width:0}.students-report-layout--stacked .report-config-fields .students-filter-text input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.students-report-layout--stacked .report-config-fields .students-filter-text__icon{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.students-report-layout--stacked .report-config-fields .report-field{grid-column:1 / -1}.students-report-layout--stacked .report-config-fields .staff-filter-select__trigger:hover,.students-report-layout--stacked .report-config-fields .students-filter-text:hover{transform:none;border-color:var(--primary-border);background:var(--surface-1);box-shadow:var(--shadow-soft)}.students-report-layout--stacked .report-config-fields .staff-filter-select.is-open .staff-filter-select__trigger,.students-report-layout--stacked .report-config-fields .staff-filter-select.is-active .staff-filter-select__trigger,.students-report-layout--stacked .report-config-fields .students-filter-text.is-active{border-color:var(--primary-border);background:var(--surface-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft)}.students-report-layout--stacked .report-config-fields .staff-filter-select__icon,.students-report-layout--stacked .report-config-fields .students-filter-text__icon{width:28px;height:28px;border-radius:8px;font-size:calc(12px * var(--font-scale))}.students-report-layout--stacked .report-config-fields .staff-filter-select__label,.students-report-layout--stacked .report-config-fields .students-filter-text__label{font-size:var(--badge-text, 11px);font-weight:500}.students-report-layout--stacked .report-config-fields .staff-filter-select__value,.students-report-layout--stacked .report-config-fields .students-filter-text input{font-size:var(--text-sm, 13px);font-weight:500}.students-report-layout--stacked .report-config-fields .staff-filter-select.is-active .staff-filter-select__value{color:var(--primary);font-weight:600}.students-report-layout--stacked .report-config-fields .staff-filter-select__chevron{width:auto;height:auto;background:transparent;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.students-report-layout--stacked .report-config-fields .staff-filter-select.is-open .staff-filter-select__chevron{background:transparent;color:var(--primary)}.students-report-layout--stacked .report-config-fields .students-filter-text:has(input[type=search]){grid-column:span 2}.students-report-layout--stacked .report-config-fields .form-date-field{display:flex;flex-direction:column;justify-content:center}.students-report-layout--stacked .report-fields-hint,.students-report-layout--stacked .report-preview-meta{display:none}.students-report-layout--stacked .report-template-label{line-height:1.3}.report-field{display:flex;flex-direction:column;gap:4px;min-width:0}.report-field>span{color:var(--ink-muted);font-size:calc(10.5px * var(--font-scale));font-weight:500}.report-field select,.report-field input{width:100%;padding:7px 9px;border:1px solid var(--border-default);border-radius:8px;background:var(--surface-1);color:var(--ink);font-size:calc(12px * var(--font-scale));font-family:inherit;transition:border-color .16s ease}.report-field select:focus,.report-field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.report-fields-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0;max-width:100%}.report-field-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-1);color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer;transition:all .16s ease;max-width:100%;white-space:nowrap}.report-field-chip:hover{border-color:var(--primary);color:var(--ink)}.report-field-chip i{font-size:calc(9px * var(--font-scale))}.report-field-chip.is-active{background:var(--primary);border-color:var(--primary);color:#fff}.report-field-chip--extra.is-active{background:var(--surface-2);border-color:var(--primary);color:var(--primary)}.report-fields-hint{display:flex;align-items:center;gap:6px;margin:0;color:var(--ink-muted);font-size:calc(10.5px * var(--font-scale))}.report-fields-hint i{color:var(--primary);font-size:calc(10px * var(--font-scale))}.students-report-preview{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-default);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-card);overflow:hidden;min-height:480px}.students-report-layout--stacked .students-report-preview{width:100%;min-width:0;max-width:100%;min-height:520px}.students-report-layout--stacked .report-preview-table-wrap{max-height:calc((100vh / var(--ui-scale)) - 390px);min-height:360px;min-width:0;overflow:auto}.report-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-default);background:var(--surface-1)}.report-preview-head h2{margin:0 0 2px;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.report-preview-meta{color:var(--ink-muted);font-size:calc(11.5px * var(--font-scale))}.report-preview-meta strong{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.report-preview-loading{color:var(--primary);font-weight:500}.report-preview-actions{display:flex;gap:6px;flex-wrap:wrap}.report-preview-actions .primary-button,.report-preview-actions .secondary-button{padding:7px 12px;font-size:calc(12px * var(--font-scale))}.report-preview-table-wrap{flex:1;min-width:0;overflow:auto;max-width:100%;max-height:calc(calc(100vh / var(--ui-scale)) - 320px)}.report-preview-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:calc(12px * var(--font-scale))}.report-preview-table thead{position:sticky;top:0;z-index:1;background:var(--surface-2);box-shadow:0 1px 0 var(--border-default)}.report-preview-table th{padding:9px 12px;color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:700;text-align:start;white-space:nowrap;border-bottom:1px solid var(--border-default)}.report-preview-table td{padding:8px 12px;color:var(--ink);font-size:calc(12px * var(--font-scale));border-bottom:1px solid var(--border-subtle);white-space:nowrap;font-variant-numeric:tabular-nums}.report-preview-table thead th.row-index-cell,.report-preview-table tbody td.row-index-cell{width:44px;min-width:44px;padding-inline:4px;text-align:center;color:var(--ink-muted);font-weight:700;font-variant-numeric:tabular-nums}.students-report-preview.is-exporting .report-preview-actions{opacity:.92}.students-report-preview.is-exporting .report-preview-table-wrap{pointer-events:none}.students-report-share-layer .export-output-dialog-icon .fa-spinner{color:var(--primary)}.students-report-share-layer .export-output-progress{margin-top:4px}.report-preview-overflow{display:flex;align-items:center;gap:6px;margin:0;padding:10px 16px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));border-top:1px solid var(--border-subtle);background:var(--surface-2)}.report-preview-overflow i{color:var(--primary)}.report-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;color:var(--ink-muted);text-align:center}.report-empty-state i{font-size:calc(32px * var(--font-scale));color:var(--border-default);margin-bottom:4px}.report-empty-state h3{margin:0;color:var(--ink);font-size:calc(14px * var(--font-scale));font-weight:600}.report-empty-state p{margin:0;font-size:calc(12px * var(--font-scale));max-width:320px;line-height:1.5}@media(max-width:1100px){.students-report-layout{grid-template-columns:1fr}.students-report-config{position:static;max-height:none;overflow:visible}.students-report-layout--stacked .report-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-report-layout--stacked .report-preview-table-wrap,.report-preview-table-wrap{max-height:calc(60vh / var(--ui-scale))}}@media(max-width:700px){.report-template-grid,.students-report-layout--stacked .report-template-grid,.report-config-fields,.students-report-layout--stacked .report-config-fields{grid-template-columns:1fr}.students-report-layout--stacked .report-config-fields .students-filter-text:has(input[type=search]){grid-column:auto}.report-preview-head{flex-direction:column;align-items:stretch}.report-preview-actions{justify-content:stretch}.report-preview-actions .primary-button,.report-preview-actions .secondary-button{flex:1;justify-content:center}}[data-theme=dark] .students-report-config,[data-theme=dark] .report-config-section,[data-theme=dark] .students-report-preview{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .report-field-chip.is-active{color:var(--ink)}[data-theme=dark] .report-preview-table thead{background:var(--surface-2)}.students-workspace{min-height:0;overflow:hidden;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.students-toolbar{display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line-soft)}.student-search{display:flex;height:42px;align-items:center;gap:9px;padding-inline:13px;border:2px solid var(--ink);border-radius:9px;background:var(--surface-1);box-shadow:0 1px 0 var(--ink)}.student-search i{color:var(--ink)}.student-search input{width:100%;min-width:0;border:0;outline:0;color:var(--ink);background:transparent}.student-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.student-filters{display:flex;align-items:center;gap:7px}.student-filters .filter-dropdown{flex:0 0 auto}.students-table-heading{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line-soft)}.students-page .students-table-heading--bulk-only{min-height:0;justify-content:flex-end}.students-table-heading>div:first-child{display:flex;align-items:center;gap:9px}.students-table-heading h2{margin:0;font-size:calc(15px * var(--font-scale));font-weight:500}.students-table-heading>div:first-child>span{padding:3px 7px;border-radius:6px;color:var(--ink-muted);background:var(--neutral-100);font-size:var(--text-xs, 12px)}.bulk-actions{display:flex;align-items:center;gap:8px;color:var(--primary);font-size:var(--text-xs, 12px)}.bulk-actions button{padding:4px 8px;border:1px solid var(--primary-border);border-radius:6px;color:var(--primary);background:var(--primary-soft);cursor:pointer}@media(min-width:1440px){body{overflow-x:visible}.students-workspace{overflow:hidden}}.data-table input[type=checkbox]{width:15px;height:15px;accent-color:var(--primary);flex:0 0 auto}.student-identity{display:inline-flex;align-items:center;gap:9px;padding:0;border:0;text-align:start;background:transparent;cursor:pointer}.student-avatar{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:10px;font-size:calc(10px * var(--font-scale));font-weight:500}.student-avatar.male{color:#376ed5;background:#eaf1ff}.student-avatar.female{color:#0e7490;background:#e0f7fa}.student-avatar.large{width:54px;height:54px;border-radius:14px;font-size:calc(14px * var(--font-scale))}.student-identity strong,.student-identity small,.table-primary,.table-secondary{display:inline-block;max-width:none}.student-identity strong,.table-primary{font-size:var(--text-sm, 13px);font-weight:500;white-space:nowrap}.student-identity small,.table-secondary{margin-inline-start:0;color:var(--ink-muted);font-size:var(--table-meta, 12px);font-weight:400;white-space:nowrap}.student-identity-text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.data-table td.cell-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;vertical-align:middle}.data-table td small,.data-table td .attendance-value,.data-table td .balance-due,.data-table td .balance-clear{font-variant-numeric:tabular-nums}.student-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:7px;font-size:var(--badge-text, 11px);white-space:nowrap}.student-status>span,.student-status>i{width:5px;height:5px;border-radius:50%;background:currentColor;display:inline-block;flex-shrink:0}.student-status>i[class*=fa-]{width:14px;height:14px;font-size:calc(11px * var(--font-scale));background:transparent;color:currentColor}.student-status.success{color:var(--success);background:var(--success-soft)}.student-status.warning{color:var(--warning);background:var(--warning-soft)}.student-status.neutral{color:var(--ink-muted);background:var(--neutral-100)}.attendance-value,.balance-due,.balance-clear{font-size:var(--text-sm, 13px);font-weight:500}.attendance-value{color:var(--success)}.attendance-value.low,.balance-due{color:var(--danger)}.balance-clear{color:var(--success)}.row-actions{display:flex;justify-content:flex-end;gap:5px}.row-actions .icon-button{width:31px;height:31px}.students-empty{display:grid;min-height:320px;place-items:center;align-content:center;text-align:center}.students-empty i{color:var(--border-emphasis);font-size:calc(28px * var(--font-scale))}.students-empty h3{margin:10px 0 0;font-size:calc(15px * var(--font-scale))}.students-empty p{margin:2px 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.students-pagination{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:12px;padding:6px 16px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.students-pagination--infinite{flex-direction:row;justify-content:space-between;min-height:36px;gap:12px}.students-infinite-sentinel{width:100%;height:8px;min-height:8px;flex-shrink:0}.students-infinite-status{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted)}.students-pagination>div{display:flex;gap:5px}.students-pagination .icon-button,.page-number{width:31px;height:31px}.page-number{border:1px solid var(--line);border-radius:7px;color:var(--ink-muted);background:transparent;cursor:pointer}.page-number.active{color:#fff;border-color:var(--primary);background:var(--primary)}.staff-table-wrap.is-fetching{opacity:.55;pointer-events:none;transition:opacity .15s ease}.staff-table thead th.row-index-cell,.staff-table tbody td.row-index-cell{width:44px;min-width:44px;padding-inline:4px;text-align:center;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}.students-pagination-ellipsis{display:inline-flex;width:24px;align-items:center;justify-content:center;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.ops-dialog-wizard{width:min(820px,100%);height:fit-content;max-height:min(760px,calc(calc(100dvh / var(--ui-scale)) - 32px));border:1px solid var(--border-default, var(--line));background:var(--page-bg);box-shadow:0 28px 80px #0f172a2e}.ops-dialog-wizard>.ops-wizard-header,.ops-dialog-wizard>.wizard-stepper{flex:0 0 auto}.ops-wizard-header{min-height:80px;padding:16px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--border-default, var(--line));background:var(--surface-1)}.ops-wizard-header-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(16px * var(--font-scale))}.ops-wizard-header>div{min-width:0;flex:1}.ops-wizard-eyebrow{margin:0 0 4px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:500}.ops-wizard-header h2{margin:0;font-size:calc(18px * var(--font-scale));font-weight:600;line-height:1.35}.ops-wizard-form{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden;background:var(--page-bg)}.ops-dialog.ops-dialog-wizard>.ops-wizard-form{flex:1 1 auto;min-height:0}.ops-wizard-footer{flex:0 0 auto;min-height:72px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border-default, var(--line));background:var(--surface-1)}.ops-wizard-footer--end{justify-content:flex-end}.wizard-form-grid>label>span b,.ops-form-grid>label>span b,.form-readonly-field>span b{color:var(--danger)}.form-readonly-field{display:grid;gap:6px}.form-readonly-field>span{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted)}.form-readonly-field>small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.45}.form-readonly-value{display:flex;align-items:center;min-height:42px;padding:10px 12px;border:1px solid var(--primary-border);border-radius:var(--radius-control);background:var(--primary-soft);color:var(--primary);font-size:calc(14px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.wizard-form-grid label.highlighted{border:1px solid var(--primary-border);border-radius:12px;padding:12px 14px;background:var(--primary-soft)}.wizard-form-grid label.highlighted>small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:400}.wizard-form-dialog{width:min(calc(94vw / var(--ui-scale)),820px);height:min(calc(88vh / var(--ui-scale)),760px);max-height:760px;padding:0;overflow:hidden;border:1px solid var(--border-default, var(--line));border-radius:14px;color:var(--ink);background:var(--page-bg);box-shadow:0 28px 80px #0f172a2e}.wizard-form-dialog::backdrop{background:#070b3294;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.wizard-form-dialog>form{display:flex;height:100%;max-height:none;flex-direction:column}.wizard-dialog-header,.wizard-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;background:var(--surface-1)}.wizard-dialog-header{border-bottom:1px solid var(--border-default, var(--line))}.wizard-dialog-header>div{display:flex;align-items:center;gap:10px}.wizard-dialog-header small,.wizard-dialog-header h2{display:block;margin:0}.wizard-dialog-header small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.wizard-dialog-header h2{font-size:calc(18px * var(--font-scale));font-weight:600}.wizard-stepper{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 20px 0;background:var(--page-bg)}.wizard-step{display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 12px;border:1px solid var(--border-default, var(--line));border-radius:12px;color:var(--ink-muted);background:var(--surface-1);box-shadow:var(--shadow-card);text-align:start;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.wizard-step:hover{border-color:var(--primary-border)}.wizard-step:disabled{opacity:.72;cursor:default}.wizard-step.active{border-color:var(--primary-border);color:var(--ink);background:var(--primary-soft);box-shadow:var(--shadow-card)}.wizard-step.pending{border-color:var(--border-default, var(--line));color:var(--ink-muted);background:var(--surface-1)}.wizard-step.done{border-color:#43b75d47;color:var(--ink);background:var(--success-soft)}.wizard-step-index{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--surface-2, var(--neutral-100));font-size:calc(12px * var(--font-scale));font-weight:600}.wizard-step.active .wizard-step-index{color:#fff;background:var(--primary)}.wizard-step.pending .wizard-step-index{color:var(--ink-muted);background:var(--surface-2, var(--neutral-100))}.wizard-step.done .wizard-step-index{background:var(--success)}.wizard-step-copy{min-width:0;display:grid;gap:3px}.wizard-step-copy strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.3}.wizard-step-copy small{display:block;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.3}.wizard-form-body{flex:1 1 auto;min-height:0;padding:16px 20px 18px;overflow-y:auto;background:var(--page-bg)}.wizard-step-panel{display:grid;gap:16px;align-content:start}.wizard-panel-heading{padding-bottom:2px}.wizard-panel-heading h3,.wizard-panel-heading p{margin:0}.wizard-panel-heading h3{font-size:calc(16px * var(--font-scale));font-weight:600}.wizard-panel-heading p{margin-top:5px;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));line-height:1.45}.wizard-field-group{display:grid;gap:14px;padding:16px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.wizard-field-group:has(.wizard-parent-grid),.wizard-field-group:has(.student-guardians-list){align-content:start}.wizard-field-group-title{margin:0;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:600}.wizard-field-group-title+.ops-form-grid,.wizard-field-group-title+.wizard-form-grid{margin-top:2px}.wizard-dialog-footer{justify-content:space-between;border-top:1px solid var(--border-default, var(--line))}.wizard-footer-meta{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:500}.wizard-footer-actions{display:flex;align-items:center;gap:8px}.wizard-file-drop,.wizard-qr-control{margin-top:0}.wizard-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-finance-grid .span-2{grid-column:span 2}.health-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.health-card{padding:14px 16px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1)}.health-card--info{border-color:#1d6bff38;background:var(--info-soft)}.health-card--warning{border-color:#f479203d;background:var(--warning-soft)}.health-card--danger{border-color:#ee443f38;background:var(--danger-soft)}.health-card--primary{border-color:var(--primary-border);background:var(--primary-soft)}.health-card--wide{grid-column:span 2}.health-label{display:block;margin-bottom:6px;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));font-weight:500}.health-card strong{display:block;color:var(--ink);font-size:calc(15px * var(--font-scale));font-weight:600;line-height:1.45}[data-theme=dark] .ops-wizard-header{background:var(--surface-1);border-bottom-color:var(--border-default)}[data-theme=dark] .ops-wizard-footer{background:var(--surface-1);border-top-color:var(--border-default)}[data-theme=dark] .ops-dialog-wizard,[data-theme=dark] .wizard-form-dialog{background:var(--page-bg);border-color:var(--border-default);box-shadow:0 28px 80px #0000008c}[data-theme=dark] .wizard-step{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .wizard-step.active{background:var(--primary-soft);border-color:var(--primary-border)}[data-theme=dark] .wizard-step.done{background:var(--success-soft)}[data-theme=dark] .wizard-step-index{background:var(--surface-2)}[data-theme=dark] .wizard-field-group,[data-theme=dark] .qr-form-control{background:var(--surface-1);border-color:var(--border-default);box-shadow:var(--shadow-card)}[data-theme=dark] .wizard-dialog-footer{background:var(--surface-1)}[data-theme=dark] .health-card{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .health-card--info{background:var(--info-soft);border-color:#72a0ff47}[data-theme=dark] .health-card--warning{background:var(--warning-soft);border-color:#ffad5c47}[data-theme=dark] .health-card--danger{background:var(--danger-soft);border-color:#ff667547}[data-theme=dark] .health-card--primary{background:var(--primary-soft);border-color:#0796ff52}@media(max-width:720px){.wizard-form-dialog{width:100%;height:min(calc(92vh / var(--ui-scale)),680px);border-radius:14px 14px 0 0}.wizard-stepper{grid-template-columns:1fr;gap:6px}.wizard-step-copy small{display:none}.wizard-finance-grid{grid-template-columns:1fr 1fr}.health-card--wide{grid-column:span 1}.health-info-grid{grid-template-columns:1fr}}.student-form-dialog{width:min(calc(94vw / var(--ui-scale)),780px);height:fit-content;max-height:min(760px,calc(calc(100dvh / var(--ui-scale)) - 32px));padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:12px;color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-hover)}.student-form-dialog::backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.student-form-dialog>form{display:flex;flex:1 1 auto;min-height:0;max-height:none;flex-direction:column;overflow:hidden}.student-dialog-header,.student-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px}.student-dialog-header{border-bottom:1px solid var(--line-soft)}.student-dialog-header>div{display:flex;align-items:center;gap:10px}.student-dialog-header small,.student-dialog-header h2{display:block;margin:0}.student-dialog-header small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.student-dialog-header h2{font-size:calc(16px * var(--font-scale));font-weight:500}.student-form-body{display:grid;gap:0;padding:0 18px;overflow-y:auto}.form-section{padding-block:18px;border-bottom:1px solid var(--line-soft)}.form-section:last-child{border-bottom:0}.form-section-title{display:flex;align-items:flex-start;gap:9px;margin-bottom:13px}.form-section-title>span{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:calc(10px * var(--font-scale));font-weight:500}.form-section-title h3,.form-section-title p{margin:0}.form-section-title h3{font-size:calc(13px * var(--font-scale));font-weight:500}.form-section-title p{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.student-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.form-field{display:grid;min-width:0;gap:5px}.form-field.span-2{grid-column:span 2}.form-field>span{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.form-field input:not(.form-date-seg-input),.form-field select,.form-field .form-select-trigger{width:100%;height:39px;min-width:0;padding-inline:10px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:var(--surface-1)}.form-field input:not(.form-date-seg-input):focus,.form-field select:focus,.form-field .form-select.open .form-select-trigger{border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff17}.file-drop{display:grid;min-height:112px;place-items:center;align-content:center;gap:2px;border:1px dashed var(--border-emphasis);border-radius:10px;color:var(--ink-muted);background:var(--surface-2);cursor:pointer}.file-drop input{display:none}.file-drop i{margin-bottom:5px;color:var(--primary);font-size:calc(22px * var(--font-scale))}.file-drop strong{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500}.file-drop small{font-size:calc(9px * var(--font-scale))}.selected-files{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.selected-files span{padding:5px 8px;border-radius:6px;color:var(--ink-muted);background:var(--neutral-100);font-size:calc(9px * var(--font-scale))}.selected-files i{margin-inline-end:5px;color:var(--primary)}.qr-form-control{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.qr-mini-preview{display:grid;width:92px;height:92px;place-items:center;border:1px solid var(--border-default, var(--line));border-radius:10px;color:var(--ink);background:#fff}.qr-form-control strong{font-size:calc(14px * var(--font-scale));font-weight:600}.qr-form-control p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));line-height:1.45}.switch{position:relative;width:42px;height:24px;cursor:pointer}.switch input{position:absolute;opacity:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:#cdd1df;transition:background .18s ease}.switch span:after{position:absolute;inset-block-start:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;content:"";background:#fff;box-shadow:0 2px 5px #0000002e;transition:transform .18s ease}.switch input:checked+span{background:var(--primary)}.switch input:checked+span:after{transform:translate(-18px)}.student-dialog-footer{justify-content:flex-end;border-top:1px solid var(--line-soft);background:#fafaffb8}.student-profile-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;overflow:hidden;visibility:hidden;pointer-events:none}.student-profile-layer.is-open,.student-profile-layer.is-closing{visibility:visible;pointer-events:auto}.student-profile-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#070b328c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1))}.student-profile-layer.is-open .student-profile-backdrop{opacity:1}.student-profile-layer.is-closing .student-profile-backdrop{opacity:0}.student-profile-drawer{--drawer-offscreen: -100%;position:absolute;inset-block:0;inset-inline-end:0;display:flex;width:calc(100vw / var(--ui-scale));flex-direction:column;color:var(--ink);background:var(--page-bg);box-shadow:-18px 0 48px #0f172a1f;transform:translate3d(var(--drawer-offscreen),0,0);transition:transform var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1));will-change:transform}[dir=ltr] .student-profile-drawer{--drawer-offscreen: 100%}.student-profile-body>*{animation:student-profile-tab-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes student-profile-tab-in{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}.student-profile-layer.is-open .student-profile-drawer{transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.student-profile-layer,.student-profile-backdrop,.student-profile-drawer{transition-duration:.01ms!important}.student-profile-body>*{animation-duration:.01ms!important}}.student-profile-header{display:grid;min-height:0;grid-template-columns:minmax(0,1fr) minmax(280px,auto) auto 38px;grid-template-areas:"identity summary actions close";align-items:center;column-gap:12px;row-gap:0;padding:6px 10px 8px;border-bottom:1px solid var(--line-soft);background:var(--surface-1)}.student-profile-header .profile-identity{grid-area:identity}.student-profile-header .profile-header-summary{grid-area:summary}.student-profile-header .profile-header-actions{grid-area:actions}.student-profile-header .student-profile-close{grid-area:close;align-self:center}.profile-identity{display:flex;min-width:0;align-items:center;gap:10px}.student-profile-header .student-avatar.large{width:40px;height:40px;border-radius:12px;font-size:calc(13px * var(--font-scale))}.profile-identity h2,.profile-identity p{margin:0}.profile-identity h2{margin-top:0;font-size:calc(17px * var(--font-scale));font-weight:600}.profile-identity p{margin-top:2px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.profile-identity h2 .student-status{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;margin-inline-start:8px;font-size:calc(11px * var(--font-scale));font-weight:600;padding:2px 8px;border-radius:999px}.profile-header-actions{display:flex;gap:7px}.profile-header-summary{display:flex;align-items:center;gap:12px;min-width:0;padding-inline-start:12px;border-inline-start:1px solid var(--border-subtle, rgba(15, 17, 21, .08))}.profile-header-summary-block{display:flex;align-items:center;gap:8px;min-width:0}.profile-header-summary-block--transport.is-active .profile-header-summary-icon{background:color-mix(in srgb,var(--success) 18%,var(--surface-1));color:var(--success)}.profile-header-summary-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--ink-muted) 14%,var(--surface-1));color:var(--ink-muted);font-size:12px;flex-shrink:0}.profile-header-summary-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.profile-header-summary-label{color:var(--ink-muted);font-size:10px;font-weight:600;letter-spacing:.01em}.profile-header-summary-value{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:5px;color:var(--ink);font-size:12px;min-width:0}.profile-header-summary-value strong{font-weight:700;font-size:12.5px}.profile-header-summary-meta{color:var(--ink-muted);font-size:11px;font-weight:500}.profile-header-summary-block--fees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex-shrink:0}.profile-header-fee{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:88px;min-height:52px;padding:8px 12px;border:1px solid var(--border-default, var(--line));border-radius:8px;background:var(--surface-1)}.profile-header-fee[data-tone=primary],.profile-header-fee[data-tone=info]{--fee-tone: var(--ink)}.profile-header-fee[data-tone=success]{--fee-tone: var(--success)}.profile-header-fee[data-tone=warning]{--fee-tone: var(--warning)}.profile-header-fee[data-tone=danger]{--fee-tone: var(--danger)}.profile-header-fee .profile-header-summary-label{color:var(--ink-muted);font-size:11px;font-weight:700;letter-spacing:0;line-height:1.2}.profile-header-fee strong{color:var(--fee-tone, var(--ink));font-size:calc(15px * var(--font-scale));font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:900px){.student-profile-header{grid-template-columns:minmax(0,1fr) auto 38px;grid-template-areas:"identity actions close" "summary summary summary"}.profile-header-summary{grid-column:1 / -1;border-inline-start:0;border-top:1px solid var(--border-subtle);padding-inline-start:0;padding-top:10px;margin-top:2px}}@media(max-width:520px){.profile-header-summary{flex-direction:column;align-items:stretch}.profile-header-summary-block--fees{grid-template-columns:1fr}}.profile-tabs{display:flex;flex:0 0 auto;gap:3px;overflow-x:auto;padding:9px 0 0;border-bottom:1px solid var(--line-soft);scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.profile-tabs button{position:relative;display:inline-flex;min-height:42px;flex:0 0 auto;align-items:center;gap:6px;padding:7px 11px 10px;border:0;color:var(--ink-muted);background:transparent;font-size:calc(10px * var(--font-scale));cursor:pointer}.profile-tabs button:after{position:absolute;inset-block-end:-1px;inset-inline:10px;height:2px;border-radius:2px;content:"";background:transparent}.profile-tabs button.active{color:var(--primary)}.profile-tabs button.active:after{background:var(--primary)}.student-profile-drawer .profile-tabs{gap:6px;padding:12px 18px 0;border-bottom:1px solid var(--line-soft);background:var(--surface-1)}.student-profile-drawer .profile-tabs button{min-height:52px;gap:9px;padding:10px 16px 14px;font-size:calc(14px * var(--font-scale));font-weight:500}.student-profile-drawer .profile-tabs button i{font-size:calc(15px * var(--font-scale))}.student-profile-drawer .profile-tabs button:after{inset-inline:12px;height:2px}.student-profile-body{flex:1;padding:0 18px 18px;overflow-y:auto;background:var(--page-bg)}.student-profile-drawer .profile-metrics,.student-profile-drawer .profile-section,.student-profile-drawer .transport-assignment,.student-profile-drawer .qr-hero,.student-profile-drawer .qr-large-preview,.student-profile-drawer .qr-usage-strip,.student-profile-drawer .audit-list>div{border-color:var(--line-soft)}.student-profile-drawer .profile-metrics>div,.student-profile-drawer .attendance-breakdown>div,.student-profile-drawer .transport-assignment dl>div,.student-profile-drawer .qr-usage-strip>span,.student-profile-drawer .qr-hero dl>div,.student-profile-drawer .notes-timeline article,.student-profile-drawer .transaction-list>div,.student-profile-drawer .purchase-list>div,.student-profile-drawer .scan-list>div{border-color:var(--line-soft)}.student-profile-drawer .profile-identity h2{font-weight:500}.student-profile-drawer .profile-tabs button,.student-profile-drawer .profile-metrics span,.student-profile-drawer .profile-metrics strong{font-weight:400}.student-profile-drawer .profile-section h3,.student-profile-drawer .tab-action-bar h3{font-weight:500}.student-profile-drawer .subject-list strong,.student-profile-drawer .attendance-breakdown strong,.student-profile-drawer .health-card strong,.student-profile-drawer .health-info-grid strong,.student-profile-drawer strong{font-weight:400}.student-profile-drawer .note-type,.student-profile-drawer .transaction-list strong,.student-profile-drawer .purchase-list strong,.student-profile-drawer .scan-list strong,.student-profile-drawer .transport-assignment h3,.student-profile-drawer .transport-assignment dd,.student-profile-drawer .qr-hero h3,.student-profile-drawer .qr-hero dd,.student-profile-drawer .qr-usage-strip strong,.student-profile-drawer .audit-list strong{font-weight:500}.profile-tab-content{display:grid;gap:14px;animation:tab-in .18s ease-out}@keyframes tab-in{0%{opacity:0;transform:translateY(5px)}}.profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.profile-metrics.finance{grid-template-columns:repeat(5,minmax(0,1fr))}.profile-metrics>div{padding:16px;border-inline-end:1px solid var(--border-subtle, var(--line-soft))}.profile-metrics>div:last-child{border-inline-end:0}.profile-metrics span,.profile-metrics strong,.profile-metrics small{display:block}.profile-metrics span{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:500}.profile-metrics strong{margin-top:8px;font-size:calc(24px * var(--font-scale));font-weight:500;line-height:1.2}.profile-metrics small{margin-top:5px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.positive{color:var(--success)!important}.negative{color:var(--danger)!important}.profile-section{padding:18px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.profile-section>header,.tab-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.profile-section h3,.profile-section p,.tab-action-bar h3,.tab-action-bar p{margin:0}.profile-section h3,.tab-action-bar h3{font-size:calc(16px * var(--font-scale));font-weight:600}.profile-section p,.tab-action-bar p{margin-top:3px;color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.compact{min-height:38px;padding-block:6px;font-size:calc(13px * var(--font-scale))}.subject-list{display:grid;gap:14px;margin-top:16px}.subject-list>div{display:grid;grid-template-columns:120px 1fr 42px 40px;align-items:center;gap:10px;font-size:calc(13px * var(--font-scale))}.subject-list strong{font-size:calc(14px * var(--font-scale));font-weight:600;text-align:center}.subject-list small{text-align:center;font-size:calc(12px * var(--font-scale))}.subject-progress{height:8px;overflow:hidden;border-radius:4px;background:var(--surface-inset, var(--neutral-100))}.subject-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-400, var(--primary)),var(--primary))}.profile-two-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.profile-attachments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:14px}.profile-attachment-card{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-secondary)}.profile-attachment-card strong{display:block;margin-bottom:4px;font-size:calc(13px * var(--font-scale))}.profile-attachment-card small{display:block;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.profile-attachment-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:var(--surface-1);color:var(--primary)}.profile-attachment-icon[data-kind=pdf]{color:var(--danger)}.profile-attachment-icon[data-kind=image]{color:var(--success)}.student-profile-drawer .files-tab{display:grid;gap:16px}.student-profile-drawer .files-summary{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 22px;background:linear-gradient(120deg,#0796ff0f,#0796ff05);border:1px solid rgba(7,150,255,.18);border-radius:16px;transition:border-color .18s ease}.student-profile-drawer .files-summary:hover{border-color:var(--primary)}.student-profile-drawer .files-summary-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;background:linear-gradient(135deg,#0796ff2e,#0796ff0a);color:var(--primary);font-size:calc(22px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .files-summary-text{display:grid;gap:4px;min-width:0}.student-profile-drawer .files-summary-text strong{font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink);line-height:1.2}.student-profile-drawer .files-summary-text span{font-size:calc(12.5px * var(--font-scale));color:var(--ink-muted, #5b6470)}.student-profile-drawer .files-summary-stats{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.student-profile-drawer .files-summary-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--surface-1, #fff);border:1px solid var(--border-subtle, var(--line-soft));font-size:calc(11.5px * var(--font-scale));font-weight:700;color:var(--ink-muted, #5b6470)}.student-profile-drawer .files-summary-pill i{font-size:calc(11px * var(--font-scale))}.student-profile-drawer .files-summary-pill[data-kind=image]{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .12));border-color:transparent}.student-profile-drawer .files-summary-pill[data-kind=pdf]{color:var(--danger, #dc2626);background:var(--danger-soft, rgba(220, 38, 38, .12));border-color:transparent}.student-profile-drawer .files-summary-pill[data-kind=doc]{color:var(--info, #2563eb);background:var(--info-soft, rgba(37, 99, 235, .12));border-color:transparent}.student-profile-drawer .files-summary-pill[data-kind=other]{color:var(--ink-muted, #5b6470);background:var(--surface-2, rgba(7, 150, 255, .06));border-color:transparent}.student-profile-drawer .files-section{display:grid;gap:12px}.student-profile-drawer .files-section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.student-profile-drawer .files-section>header h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .files-section>header h3 i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#0796ff29,#0796ff0a);color:var(--primary);font-size:calc(12px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .files-section>header p{margin:4px 0 0 36px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470)}.student-profile-drawer .files-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 10px;border-radius:999px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(12px * var(--font-scale));font-weight:700}.student-profile-drawer .files-section--notes .files-notes-text{margin:0;padding:14px 16px;background:var(--surface-2, rgba(7, 150, 255, .05));border:1px solid var(--border-subtle, var(--line-soft));border-radius:12px;font-size:calc(13.5px * var(--font-scale));line-height:1.7;color:var(--ink);white-space:pre-wrap;word-break:break-word}.student-profile-drawer .files-section--notes .files-notes-empty{margin:0;padding:14px 16px;background:var(--surface-1, #fff);border:1px dashed var(--border-default, var(--line-soft));border-radius:12px;font-size:calc(13px * var(--font-scale));color:var(--ink-muted, #5b6470);text-align:center}.student-profile-drawer .coming-soon-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 24px;text-align:center;background:linear-gradient(180deg,var(--surface-2, rgba(7, 150, 255, .05)),var(--surface-1, #fff));border:1px dashed var(--primary-border, rgba(7, 150, 255, .5));border-radius:14px;color:var(--ink)}.student-profile-drawer .coming-soon-icon{width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:22px;box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .coming-soon-card strong{font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--primary)}.student-profile-drawer .coming-soon-card p{margin:0;max-width:480px;font-size:calc(13px * var(--font-scale));line-height:1.7;color:var(--ink-muted, #5b6470)}.student-profile-drawer .coming-soon-card small{font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #5b6470);opacity:.85}.student-profile-drawer .files-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.student-profile-drawer .files-item{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-1, #fff);border:1px solid var(--border-subtle, var(--line-soft));border-radius:12px;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.student-profile-drawer .files-item:hover{border-color:var(--primary-border, #4a8df0);transform:translate(-2px);box-shadow:0 6px 16px -12px #0796ff80}.student-profile-drawer .files-item-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:calc(16px * var(--font-scale));flex-shrink:0}.student-profile-drawer .files-item-icon[data-kind=image]{background:linear-gradient(135deg,var(--success, #16a34a),#4ade80)}.student-profile-drawer .files-item-icon[data-kind=pdf]{background:linear-gradient(135deg,var(--danger, #dc2626),#f87171)}.student-profile-drawer .files-item-icon[data-kind=doc]{background:linear-gradient(135deg,var(--info, #2563eb),#60a5fa)}.student-profile-drawer .files-item-icon[data-kind=other]{background:linear-gradient(135deg,#6366f1,#818cf8)}.student-profile-drawer .files-item-info{display:grid;gap:4px;min-width:0}.student-profile-drawer .files-item-info strong{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-drawer .files-item-title{font-size:calc(13.5px * var(--font-scale));font-weight:700;color:var(--ink-strong, var(--ink))}.student-profile-drawer .files-item-filename{font-size:calc(11.5px * var(--font-scale));font-weight:500;color:var(--ink-muted)}.profile-attachment-filename{font-size:calc(12px * var(--font-scale));font-weight:500;color:var(--ink-muted)}.student-profile-drawer .files-item-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.student-profile-drawer .files-item-size,.student-profile-drawer .files-item-date{display:inline-flex;align-items:center;gap:4px;font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #5b6470);font-weight:500}.student-profile-drawer .files-item-size i,.student-profile-drawer .files-item-date i{font-size:calc(10px * var(--font-scale));color:var(--primary)}.student-profile-drawer .files-item-actions{display:flex;align-items:center;gap:6px}.student-profile-drawer .files-item-actions .icon-button{width:32px;height:32px;border-radius:9px;background:var(--surface-2, rgba(7, 150, 255, .06));color:var(--ink-muted, #5b6470)}.student-profile-drawer .files-item-actions .icon-button:hover{background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary)}[data-theme=dark] .student-profile-drawer .files-summary{background:linear-gradient(120deg,#0796ff1f,#0796ff0a)}[data-theme=dark] .student-profile-drawer .files-item{background:#ffffff0a;border-color:var(--border-subtle)}[data-theme=dark] .student-profile-drawer .files-item-actions .icon-button{background:#ffffff0f}@media(max-width:640px){.student-profile-drawer .files-summary{grid-template-columns:1fr;text-align:start}.student-profile-drawer .files-summary-stats{justify-content:flex-start}.student-profile-drawer .files-item{grid-template-columns:40px minmax(0,1fr)}.student-profile-drawer .files-item-actions{grid-column:1 / -1;justify-self:flex-end}}.attendance-breakdown{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px}.attendance-breakdown>div{text-align:center;border-inline-end:1px solid var(--border-subtle, var(--line-soft))}.attendance-breakdown>div:last-child{border:0}.attendance-breakdown .dot{display:inline-block;width:7px;height:7px;margin-inline-end:6px;border-radius:50%}.dot.success{background:var(--success)}.dot.danger{background:var(--danger)}.dot.warning{background:var(--warning)}.attendance-breakdown strong{font-size:calc(20px * var(--font-scale));font-weight:500}.attendance-breakdown small{display:block;margin-top:4px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.student-profile-drawer .attendance-tab{display:grid;gap:16px}.student-profile-drawer .attendance-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:14px}@media(max-width:1100px){.student-profile-drawer .attendance-top-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.student-profile-drawer .attendance-top-grid>.attendance-hero{grid-column:1 / -1}}@media(max-width:720px){.student-profile-drawer .attendance-top-grid{grid-template-columns:minmax(0,1fr)}}.student-profile-drawer .attendance-top-grid>.attendance-hero,.student-profile-drawer .attendance-top-grid>.attendance-day-detail,.student-profile-drawer .attendance-top-grid>.attendance-month-summary{position:relative;margin:0;padding:17px 19px;border:1px solid var(--border-subtle);border-radius:18px;background:var(--surface);overflow:hidden}.student-profile-drawer .attendance-top-grid>section:before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--att-accent, var(--primary));opacity:.9}.student-profile-drawer .attendance-top-grid>.attendance-day-detail{--att-accent: var(--warning)}.student-profile-drawer .attendance-top-grid>.attendance-month-summary{--att-accent: var(--success)}.student-profile-drawer .attendance-top-grid>section>header{margin-bottom:13px;padding:0;border:0}.student-profile-drawer .attendance-top-grid>section>header h3{display:flex;align-items:center;gap:7px;margin:0;font-size:var(--text-sm, 13px);font-weight:700;color:var(--ink)}.student-profile-drawer .attendance-top-grid>section>header h3 i{color:var(--att-accent, var(--primary))}.student-profile-drawer .attendance-top-grid>section>header p{margin:2px 0 0;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.student-profile-drawer .attendance-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 62%),var(--surface)}.student-profile-drawer .attendance-hero-rate{position:relative;width:96px;height:96px;display:grid;place-items:center;flex-shrink:0}.student-profile-drawer .attendance-hero-ring{width:100%;height:100%;transform:rotate(-90deg)}.student-profile-drawer .attendance-hero-ring-track{fill:none;stroke:var(--border-subtle, var(--line-soft));stroke-width:3}.student-profile-drawer .attendance-hero-ring-fill{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .4s ease,stroke .4s ease}.student-profile-drawer .attendance-hero-rate[data-rate-tone=high] .attendance-hero-ring-fill{stroke:var(--success, #16a34a)}.student-profile-drawer .attendance-hero-rate[data-rate-tone=mid] .attendance-hero-ring-fill{stroke:var(--warning, #d97706)}.student-profile-drawer .attendance-hero-rate[data-rate-tone=low] .attendance-hero-ring-fill{stroke:var(--danger, #dc2626)}.student-profile-drawer .attendance-hero-rate-content{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;gap:2px}.student-profile-drawer .attendance-hero-rate-content strong{font-size:calc(22px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.student-profile-drawer .attendance-hero-rate-content small{font-size:calc(10px * var(--font-scale));font-weight:600;color:var(--ink-muted, #5b6470)}.student-profile-drawer .attendance-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-profile-drawer .attendance-hero-stat{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;background:var(--surface-2);border:1px solid var(--border-subtle, var(--line-soft));border-radius:12px;transition:border-color .18s ease,transform .18s ease}.student-profile-drawer .attendance-hero-stat:hover{transform:translateY(-1px);border-color:var(--primary-border, #4a8df0)}.student-profile-drawer .attendance-hero-stat-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;font-size:calc(12px * var(--font-scale));color:#fff}.student-profile-drawer .attendance-hero-stat[data-tone=success] .attendance-hero-stat-icon{background:linear-gradient(135deg,var(--success, #16a34a),#4ade80)}.student-profile-drawer .attendance-hero-stat[data-tone=danger] .attendance-hero-stat-icon{background:linear-gradient(135deg,var(--danger, #dc2626),#f87171)}.student-profile-drawer .attendance-hero-stat[data-tone=warning] .attendance-hero-stat-icon{background:linear-gradient(135deg,var(--warning, #d97706),#fbbf24)}.student-profile-drawer .attendance-hero-stat[data-tone=info] .attendance-hero-stat-icon{background:linear-gradient(135deg,var(--info, #2563eb),#60a5fa)}.student-profile-drawer .attendance-hero-stat strong{display:block;font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.student-profile-drawer .attendance-hero-stat small{display:block;font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted, #5b6470);margin-top:2px}.student-profile-drawer .attendance-calendar-section{background:var(--surface-1, #fff)}.student-profile-drawer .attendance-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.student-profile-drawer .attendance-calendar-head h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .attendance-calendar-head h3 i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#0796ff29,#0796ff0a);color:var(--primary);font-size:calc(12px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .attendance-calendar-head p{margin:4px 0 0 36px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470)}.student-profile-drawer .attendance-calendar-nav{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.student-profile-drawer .attendance-calendar-month{display:inline-block;padding:6px 14px;border-radius:10px;background:var(--surface-2, rgba(7, 150, 255, .06));color:var(--ink);font-size:calc(12.5px * var(--font-scale));font-weight:700;min-width:110px;text-align:center}.student-profile-drawer .attendance-calendar-nav .icon-button{width:32px;height:32px;border-radius:9px;background:var(--surface-2, rgba(7, 150, 255, .06));color:var(--ink-muted, #5b6470)}.student-profile-drawer .attendance-calendar-nav .icon-button:hover{background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary)}.student-profile-drawer .attendance-calendar-wrap{background:var(--surface-2, rgba(7, 150, 255, .04));border:1px solid var(--border-subtle, var(--line-soft));border-radius:14px;padding:12px}.student-profile-drawer .attendance-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px}.student-profile-drawer .attendance-calendar-weekdays span{text-align:center;font-size:calc(11px * var(--font-scale));font-weight:700;color:var(--ink-muted, #5b6470);padding:6px 0;letter-spacing:.02em}.student-profile-drawer .attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.student-profile-drawer .attendance-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:56px;padding:6px 4px;background:var(--surface-1, #fff);border:1.5px solid var(--border-subtle, var(--line-soft));border-radius:10px;color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.student-profile-drawer .attendance-day:hover{border-color:var(--primary-border, #4a8df0);transform:translateY(-1px);box-shadow:0 6px 14px -12px #0796ff66}.student-profile-drawer .attendance-day.is-other-month{opacity:.35}.student-profile-drawer .attendance-day-number{font-size:calc(13px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.student-profile-drawer .attendance-day-mark{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-size:calc(9px * var(--font-scale));color:#fff}.student-profile-drawer .attendance-day.has-success .attendance-day-mark{background:var(--success, #16a34a)}.student-profile-drawer .attendance-day.has-danger .attendance-day-mark{background:var(--danger, #dc2626)}.student-profile-drawer .attendance-day.has-warning .attendance-day-mark{background:var(--warning, #d97706)}.student-profile-drawer .attendance-day.has-info .attendance-day-mark{background:var(--info, #2563eb)}.student-profile-drawer .attendance-day.has-success{background:linear-gradient(135deg,#22c55e1a,#22c55e05);border-color:#22c55e59}.student-profile-drawer .attendance-day.has-danger{background:linear-gradient(135deg,#dc26261a,#dc262605);border-color:#dc262659}.student-profile-drawer .attendance-day.has-warning{background:linear-gradient(135deg,#d977061a,#d9770605);border-color:#d9770659}.student-profile-drawer .attendance-day.has-info{background:linear-gradient(135deg,#2563eb1a,#2563eb05);border-color:#2563eb59}.student-profile-drawer .attendance-day.is-selected{border-color:var(--primary);background:var(--primary-soft, rgba(7, 150, 255, .18));box-shadow:0 0 0 3px #0796ff2e;transform:translateY(-1px)}.student-profile-drawer .attendance-day.is-selected .attendance-day-number{color:var(--primary)}.student-profile-drawer .attendance-day.is-today{border-color:var(--primary);box-shadow:inset 0 0 0 2px var(--primary)}.student-profile-drawer .attendance-day.is-today .attendance-day-number{color:var(--primary)}.student-profile-drawer .attendance-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-subtle, var(--line-soft))}.student-profile-drawer .attendance-legend-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:calc(11.5px * var(--font-scale));font-weight:700}.student-profile-drawer .attendance-legend-pill i{font-size:calc(10px * var(--font-scale))}.student-profile-drawer .attendance-legend-pill.has-success{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.student-profile-drawer .attendance-legend-pill.has-danger{color:var(--danger, #dc2626);background:var(--danger-soft, rgba(220, 38, 38, .12))}.student-profile-drawer .attendance-legend-pill.has-warning{color:var(--warning, #d97706);background:var(--warning-soft, rgba(245, 158, 11, .14))}.student-profile-drawer .attendance-legend-pill.has-info{color:var(--info, #2563eb);background:var(--info-soft, rgba(37, 99, 235, .12))}.student-profile-drawer .attendance-day-summary{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:11px;padding:12px 13px;border-radius:14px;border:1px solid var(--border-subtle, var(--line-soft));background:var(--surface-2, rgba(7, 150, 255, .04));margin:0}.student-profile-drawer .attendance-day-summary.has-success{background:#22c55e14;border-color:#22c55e4d}.student-profile-drawer .attendance-day-summary.has-danger{background:#dc262614;border-color:#dc26264d}.student-profile-drawer .attendance-day-summary.has-warning{background:#d9770614;border-color:#d977064d}.student-profile-drawer .attendance-day-summary.has-info{background:#2563eb14;border-color:#2563eb4d}.student-profile-drawer .attendance-day-summary-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;color:#fff;font-size:calc(18px * var(--font-scale))}.student-profile-drawer .attendance-day-summary.has-success .attendance-day-summary-icon{background:linear-gradient(135deg,var(--success, #16a34a),#4ade80)}.student-profile-drawer .attendance-day-summary.has-danger .attendance-day-summary-icon{background:linear-gradient(135deg,var(--danger, #dc2626),#f87171)}.student-profile-drawer .attendance-day-summary.has-warning .attendance-day-summary-icon{background:linear-gradient(135deg,var(--warning, #d97706),#fbbf24)}.student-profile-drawer .attendance-day-summary.has-info .attendance-day-summary-icon{background:linear-gradient(135deg,var(--info, #2563eb),#60a5fa)}.student-profile-drawer .attendance-day-summary strong{display:block;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink);margin-bottom:2px}.student-profile-drawer .attendance-day-summary small{display:block;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470);line-height:1.5}.student-profile-drawer .attendance-day-empty{display:inline-flex;align-items:center;gap:6px;margin:0;padding:12px 14px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1px dashed var(--border-subtle, var(--line-soft));border-radius:14px;color:var(--ink-muted, #5b6470);font-size:calc(12.5px * var(--font-scale));width:100%}.student-profile-drawer .attendance-month-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-profile-drawer .attendance-month-item{display:grid;gap:4px;padding:11px 12px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1px solid var(--border-subtle, var(--line-soft));border-radius:12px;text-align:center;transition:border-color .18s ease}.student-profile-drawer .attendance-month-item:hover{border-color:color-mix(in srgb,var(--primary) 40%,transparent)}.student-profile-drawer .attendance-month-item strong{font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.student-profile-drawer .attendance-month-item small{font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted, #5b6470)}.student-profile-drawer .attendance-month-item[data-tone=success] strong{color:var(--success, #16a34a)}.student-profile-drawer .attendance-month-item[data-tone=danger] strong{color:var(--danger, #dc2626)}.student-profile-drawer .attendance-month-item[data-tone=warning] strong{color:var(--warning, #d97706)}.student-profile-drawer .attendance-month-item[data-tone=info] strong{color:var(--info, #2563eb)}[data-theme=dark] .student-profile-drawer .attendance-hero{background:linear-gradient(120deg,#0796ff1f,#0796ff0a)}[data-theme=dark] .student-profile-drawer .attendance-hero-stat,[data-theme=dark] .student-profile-drawer .attendance-day,[data-theme=dark] .student-profile-drawer .attendance-calendar-wrap,[data-theme=dark] .student-profile-drawer .attendance-day-summary,[data-theme=dark] .student-profile-drawer .attendance-month-item{background:#ffffff0a;border-color:var(--border-subtle)}[data-theme=dark] .student-profile-drawer .attendance-calendar-wrap{background:#ffffff05}[data-theme=dark] .student-profile-drawer .attendance-day.has-success{background:#22c55e24}[data-theme=dark] .student-profile-drawer .attendance-day.has-danger{background:#dc262624}[data-theme=dark] .student-profile-drawer .attendance-day.has-warning{background:#d9770624}[data-theme=dark] .student-profile-drawer .attendance-day.has-info{background:#2563eb24}@media(max-width:720px){.student-profile-drawer .attendance-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.student-profile-drawer .attendance-hero-stats{grid-template-columns:1fr 1fr;width:100%}.student-profile-drawer .attendance-bottom-grid{grid-template-columns:1fr}.student-profile-drawer .attendance-day{min-height:48px;padding:4px 2px}.student-profile-drawer .attendance-day-number{font-size:calc(12px * var(--font-scale))}}.assignment-summary{display:grid;gap:10px;margin-top:16px;font-size:calc(13px * var(--font-scale))}.assignment-summary span{padding:10px 12px;border-radius:8px;background:var(--surface-2, var(--neutral-100))}.assignment-summary i{width:20px;color:var(--primary)}.notes-timeline{display:grid;margin-top:2px}.notes-timeline article{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.note-marker{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;font-size:calc(14px * var(--font-scale))}.note-marker.success{color:var(--success);background:var(--success-soft)}.note-marker.warning{color:var(--warning);background:var(--warning-soft)}.note-marker.danger{color:var(--danger);background:var(--danger-soft)}.notes-timeline header{display:flex;align-items:center;gap:8px}.note-type{font-size:calc(13px * var(--font-scale));font-weight:600}.importance{padding:3px 8px;border-radius:6px;font-size:calc(11px * var(--font-scale));font-weight:500}.importance.success{color:var(--success);background:var(--success-soft)}.importance.warning{color:var(--warning);background:var(--warning-soft)}.importance.danger{color:var(--danger);background:var(--danger-soft)}.notes-timeline time{margin-inline-start:auto;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.notes-timeline p{margin:8px 0 4px;color:var(--ink);font-size:calc(14px * var(--font-scale));line-height:1.55}.notes-timeline small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.contact-log-section{display:grid;gap:12px}.contact-log-section-head{display:flex;align-items:center;gap:12px}.contact-log-section-text{flex:1 1 auto;min-width:0}.contact-log-section-text p{margin:3px 0 0}.contact-log-form{padding:12px 14px;border:1px dashed var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-2, rgba(7, 150, 255, .04));display:grid;gap:10px}[data-theme=dark] .contact-log-form{background:#ffffff06;border-color:#ffffff14}.contact-log-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.contact-log-form-grid>.sfw-field.span-full{grid-column:1 / -1}@media(max-width:720px){.contact-log-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.contact-log-form .sfw-field>span{font-size:calc(11.5px * var(--font-scale));font-weight:600;color:var(--ink)}.contact-log-form .form-date-field{min-width:0}.contact-log-form .form-date-label{font-size:calc(11.5px * var(--font-scale));font-weight:600;color:var(--ink)}.contact-log-form .form-date-typed{min-height:32px;font-size:calc(13px * var(--font-scale))}.contact-log-form textarea{min-height:70px;padding:8px 10px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-control, 8px);background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:calc(13px * var(--font-scale));resize:vertical;outline:0;transition:border-color .16s ease,box-shadow .16s ease}.contact-log-form textarea:focus{border-color:var(--primary-border, rgba(7, 150, 255, .45));box-shadow:0 0 0 3px var(--primary-soft, rgba(7, 150, 255, .12))}[data-theme=dark] .contact-log-form textarea{background:#ffffff09;border-color:#ffffff14;color:var(--ink, #e6e8ef);box-shadow:none}.contact-log-form-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.contact-log-form-context{margin-inline-start:auto;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-weight:500}.contact-log-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.contact-log-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:900px){.contact-log-layout{grid-template-columns:minmax(0,1fr)}}.contact-log-list-column,.contact-log-form-column{display:flex;flex-direction:column;gap:10px;min-width:0}.contact-log-form-column{position:sticky;top:12px;align-self:start}.contact-log-column-title{display:flex;align-items:center;gap:8px;margin:0;padding:0 4px;font-size:calc(12.5px * var(--font-scale));font-weight:700;color:var(--ink, #0f172a);letter-spacing:-.005em}.contact-log-column-title i{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(11px * var(--font-scale))}.contact-log-count-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(11.5px * var(--font-scale));font-weight:700}[data-theme=dark] .contact-log-count-badge{background:#0796ff2e;color:#79c5ff}.contact-log-next-contact-badge{display:inline-flex;align-items:center;gap:6px;margin:6px 0 0;padding:5px 10px;border-radius:8px;background:var(--warning-soft, rgba(244, 121, 32, .12));color:var(--warning, #f47920);font-size:calc(11.5px * var(--font-scale));font-weight:600;width:max-content;max-width:100%}.contact-log-next-contact-badge i{color:var(--warning, #f47920);font-size:calc(12px * var(--font-scale))}.contact-log-next-contact-badge strong{font-weight:700;color:var(--warning, #f47920)}[data-theme=dark] .contact-log-next-contact-badge{background:#f479202e;color:#ffb47a}[data-theme=dark] .contact-log-next-contact-badge strong{color:#ffb47a}.contact-log-form-grid .contact-log-next-contact{grid-column:span 2}@media(max-width:720px){.contact-log-form-grid .contact-log-next-contact{grid-column:1 / -1}}.contact-log-item{position:relative;padding:10px 12px 10px 14px;border:1px solid var(--border-subtle, var(--line-soft));border-radius:var(--radius-card, 10px);background:var(--surface-1, #fff);display:grid;gap:6px}.contact-log-item:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;border-radius:999px}.contact-log-item--warning:before{background:var(--warning, #f59e0b)}.contact-log-item--info:before{background:var(--primary, #0796ff)}.contact-log-item--neutral:before{background:var(--ink-muted, #94a3b8)}.contact-log-item-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.contact-log-type-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:700;letter-spacing:0}.contact-log-type-badge--warning{color:var(--warning, #b45309);background:var(--warning-soft, rgba(245, 158, 11, .14))}.contact-log-type-badge--info{color:var(--primary, #0796ff);background:var(--primary-soft, rgba(7, 150, 255, .12))}.contact-log-type-badge--neutral{color:var(--ink-muted, #5b6470);background:var(--surface-2, rgba(148, 163, 184, .18))}.contact-log-method{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-weight:500}.contact-log-method i{color:var(--ink-muted, #94a3b8);font-size:11px}.contact-log-date{margin-inline-start:auto;color:var(--ink-muted, #94a3b8);font-size:calc(11.5px * var(--font-scale));font-variant-numeric:tabular-nums}.contact-log-text{margin:0;color:var(--ink);font-size:calc(13.5px * var(--font-scale));line-height:1.55;white-space:pre-wrap;word-break:break-word}.contact-log-empty{color:var(--ink-muted, #94a3b8);font-style:italic;font-size:calc(12.5px * var(--font-scale))}.contact-log-author{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-weight:500}.contact-log-author i{color:var(--ink-muted, #94a3b8)}[data-theme=dark] .contact-log-item{background:#ffffff06;border-color:#ffffff14}[data-theme=dark] .contact-log-text{color:#d1d4df}.transaction-list,.purchase-list,.scan-list{display:grid;margin-top:14px}.transaction-list>div{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.transaction-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft)}.transaction-list strong,.transaction-list small{display:block}.transaction-list strong{font-size:calc(13px * var(--font-scale));font-weight:600}.transaction-list small{margin-top:2px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.paid-label{padding:3px 8px;border-radius:6px;color:var(--success);background:var(--success-soft);font-size:calc(11px * var(--font-scale));font-weight:500}.purchase-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.purchase-list strong,.purchase-list small{display:block;font-size:calc(13px * var(--font-scale));font-weight:600}.purchase-list small{margin-top:2px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:400}.transport-assignment{display:grid;grid-template-columns:56px 1fr 1.4fr auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--border-default, var(--primary-border));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.transport-bus-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:12px;color:var(--primary);background:var(--primary-soft);font-size:calc(20px * var(--font-scale))}.transport-assignment small,.transport-assignment h3,.transport-assignment p{display:block;margin:0}.transport-assignment small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.transport-assignment h3{margin-top:3px;font-size:calc(18px * var(--font-scale));font-weight:600}.transport-assignment p{margin-top:3px;color:var(--primary);font-size:calc(13px * var(--font-scale))}.transport-assignment dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.transport-assignment dl>div{padding-inline:12px;border-inline-end:1px solid var(--border-subtle, var(--primary-border))}.transport-assignment dt{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.transport-assignment dd{margin:4px 0 0;font-size:calc(14px * var(--font-scale));font-weight:600}.scan-list>div{display:grid;grid-template-columns:36px 1fr auto 20px;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.scan-direction{display:grid;width:34px;height:34px;place-items:center;border-radius:8px}.scan-direction.up{color:var(--success);background:var(--success-soft)}.scan-direction.down{color:var(--info);background:var(--info-soft)}.scan-list strong,.scan-list small{display:block;font-size:calc(13px * var(--font-scale));font-weight:600}.scan-list small,.scan-list time{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:400}.scan-list small{margin-top:2px}.verified{color:var(--success);font-size:calc(13px * var(--font-scale))}.student-profile-drawer .transport-tab{display:grid;gap:18px}.student-profile-drawer .transport-hero{background:var(--surface-1);border:1px solid var(--border-default, var(--line));border-radius:16px;padding:20px 22px;display:grid;gap:16px;box-shadow:0 6px 18px -16px #0f1e3c2e;transition:border-color .18s ease,box-shadow .18s ease}.student-profile-drawer .transport-hero:hover{border-color:var(--primary-border, #4a8df0);box-shadow:0 8px 22px -16px #0796ff66}.student-profile-drawer .transport-hero-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.student-profile-drawer .transport-hero-head-text h3{margin:0;font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .transport-hero-head-text p{margin:4px 0 0;color:var(--ink-muted, #5b6470);font-size:calc(12.5px * var(--font-scale))}.student-profile-drawer .transport-hero-grid{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(0,1.8fr) auto;gap:18px;align-items:center}.student-profile-drawer .transport-hero-main{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:14px;padding-inline-end:18px;border-inline-end:1px solid var(--border-subtle, var(--line-soft))}.student-profile-drawer .transport-hero-info small{display:block;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-weight:600;letter-spacing:.02em;text-transform:uppercase}.student-profile-drawer .transport-hero-info h4{margin:4px 0 6px;font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .transport-hero-info p{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--primary);font-size:calc(12.5px * var(--font-scale));font-weight:600}.student-profile-drawer .transport-hero-info p i{font-size:calc(11px * var(--font-scale))}.student-profile-drawer .transport-hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.student-profile-drawer .transport-hero-meta>div{display:grid;gap:6px;min-width:0}.student-profile-drawer .transport-hero-meta dt{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-weight:600}.student-profile-drawer .transport-hero-meta dt i{color:var(--primary);font-size:calc(11px * var(--font-scale))}.student-profile-drawer .transport-hero-meta dd{margin:0;color:var(--ink);font-size:calc(14px * var(--font-scale));font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-profile-drawer .transport-hero-free{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--success-soft, rgba(34, 197, 94, .12));color:var(--success, #16a34a);font-size:calc(12px * var(--font-scale));font-weight:700}.student-profile-drawer .transport-hero-edit{align-self:center;white-space:nowrap}.student-profile-drawer .transport-scans{background:var(--surface-1);border:1px solid var(--border-default, var(--line));border-radius:16px;padding:20px 22px 22px}.student-profile-drawer .scan-day-list{display:grid;gap:16px;margin-top:14px}.student-profile-drawer .scan-day-group{background:var(--surface-2, rgba(7, 150, 255, .03));border:1px solid var(--border-subtle, var(--line-soft));border-radius:14px;padding:14px 16px 12px;transition:border-color .18s ease,background .18s ease}.student-profile-drawer .scan-day-group:hover{border-color:var(--primary-border, #4a8df0)}.student-profile-drawer .scan-day-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}.student-profile-drawer .scan-day-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(12px * var(--font-scale));font-weight:700}.student-profile-drawer .scan-day-pill i{font-size:calc(11px * var(--font-scale))}.student-profile-drawer .scan-day-count{font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #5b6470);font-weight:600}.student-profile-drawer .scan-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.student-profile-drawer .scan-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;background:var(--surface-1, #fff);border:1px solid var(--border-subtle, var(--line-soft));border-radius:12px;transition:border-color .18s ease,transform .18s ease}.student-profile-drawer .scan-item:hover{border-color:var(--primary-border, #4a8df0);transform:translate(-2px)}.student-profile-drawer .scan-direction{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;font-size:calc(14px * var(--font-scale));flex-shrink:0}.student-profile-drawer .scan-direction.up{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.student-profile-drawer .scan-direction.down{color:var(--info, #2563eb);background:var(--info-soft, rgba(37, 99, 235, .14))}.student-profile-drawer .scan-info{display:grid;gap:4px;min-width:0}.student-profile-drawer .scan-info-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-profile-drawer .scan-info-row strong{font-size:calc(13.5px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .scan-info-location{display:inline-flex;align-items:center;gap:4px;color:var(--ink-muted, #5b6470);font-size:calc(12.5px * var(--font-scale));font-weight:500}.student-profile-drawer .scan-info-location i{color:var(--primary);font-size:calc(10px * var(--font-scale))}.student-profile-drawer .scan-info-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.student-profile-drawer .scan-time{font-size:calc(12.5px * var(--font-scale));font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr;display:inline-block}.student-profile-drawer .scan-date{font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #5b6470);font-weight:500;font-variant-numeric:tabular-nums;direction:ltr;display:inline-block;padding:2px 8px;border-radius:6px;background:var(--surface-2, rgba(7, 150, 255, .06))}.student-profile-drawer .scan-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:700;white-space:nowrap}.student-profile-drawer .scan-status.ok{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.student-profile-drawer .scan-status.pending{color:var(--warning, #b76b00);background:var(--warning-soft, rgba(245, 158, 11, .16))}.student-profile-drawer .scan-status i{font-size:calc(10px * var(--font-scale))}[data-theme=dark] .student-profile-drawer .transport-hero,[data-theme=dark] .student-profile-drawer .transport-scans{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .student-profile-drawer .scan-day-group{background:#ffffff08;border-color:var(--border-subtle)}[data-theme=dark] .student-profile-drawer .scan-item{background:#ffffff0a;border-color:var(--border-subtle)}[data-theme=dark] .student-profile-drawer .scan-date{background:#ffffff0f}[data-theme=dark] .student-profile-drawer .transport-hero-main{border-inline-color:var(--border-subtle)}@media(max-width:960px){.student-profile-drawer .transport-hero-grid{grid-template-columns:1fr}.student-profile-drawer .transport-hero-main{border-inline-end:0;padding-inline-end:0;padding-bottom:14px;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.student-profile-drawer .transport-hero-edit{justify-self:start}.student-profile-drawer .transport-hero-meta{grid-template-columns:1fr 1fr}}@media(max-width:600px){.student-profile-drawer .transport-hero-meta{grid-template-columns:1fr}.student-profile-drawer .scan-item{grid-template-columns:36px minmax(0,1fr)}.student-profile-drawer .scan-status{grid-column:1 / -1;justify-self:start}}.qr-hero{display:grid;grid-template-columns:230px 1fr;align-items:center;gap:28px;padding:26px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.qr-large-preview{position:relative;display:grid;width:230px;height:230px;place-items:center;border:1px solid var(--border-default, var(--line));border-radius:12px;color:var(--ink);background:#fff;transition:opacity .18s ease,filter .18s ease}.qr-large-preview.disabled{opacity:.28;filter:grayscale(1)}.qr-hero h3{margin:12px 0 4px;font-size:calc(22px * var(--font-scale));font-weight:600}.qr-hero>div:last-child>p{margin:0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));direction:ltr;text-align:end}.qr-hero dl{display:grid;gap:10px;margin:18px 0}.qr-hero dl>div{display:flex;justify-content:space-between;gap:15px;padding-bottom:8px;border-bottom:1px solid var(--border-subtle, var(--line-soft))}.qr-hero dt{color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.qr-hero dd{margin:0;font-size:calc(14px * var(--font-scale));font-weight:600}.qr-actions{display:flex;gap:8px}.qr-usage-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card);overflow:hidden}.qr-usage-strip>span{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:4px 10px;padding:14px;border-inline-end:1px solid var(--border-subtle, var(--line-soft))}.qr-usage-strip>span:last-child{border:0}.qr-usage-strip i{grid-row:span 2;color:var(--primary);font-size:calc(15px * var(--font-scale))}.qr-usage-strip strong{font-size:calc(13px * var(--font-scale));font-weight:600}.qr-usage-strip small{color:var(--success);font-size:calc(12px * var(--font-scale))}.audit-list{display:grid;gap:10px;margin-top:14px}.audit-list>div{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.audit-list>div>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(14px * var(--font-scale))}.audit-list strong,.audit-list small{display:block}.audit-list strong{font-size:calc(14px * var(--font-scale));font-weight:600}.audit-list small,.audit-list time{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.audit-list small{margin-top:3px}.audit-list time{white-space:nowrap;font-variant-numeric:tabular-nums}[data-theme=dark] .audit-list>div{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .students-summary{background:transparent}[data-theme=dark] .student-search,[data-theme=dark] .student-filters .filter-dropdown-trigger,[data-theme=dark] .form-field input,[data-theme=dark] .form-field select,[data-theme=dark] .form-field .form-select-trigger{border-color:var(--line);background-color:#ffffff09;color:var(--ink)}[data-theme=dark] .student-filters .filter-dropdown.open .filter-dropdown-trigger,[data-theme=dark] .student-filters .filter-dropdown-trigger:hover{border-color:var(--primary-border);background:#20212ceb;box-shadow:0 0 0 3px #0796ff2e,inset 0 1px #ffffff0d}[data-theme=dark] .student-avatar.male{color:#8eb2ff;background:#4677da26}[data-theme=dark] .student-avatar.female{color:#c79bee;background:#9d5cd126}[data-theme=dark] .student-form-dialog{background:#121319f0;box-shadow:0 34px 95px #000000a8}[data-theme=dark] .student-dialog-footer{background:#ffffff05}[data-theme=dark] .file-drop{border-color:#cdd2e033;background:#ffffff06}[data-theme=dark] .qr-mini-preview,[data-theme=dark] .qr-large-preview{color:#11131a;background:#f7f8fb}[data-theme=dark] .student-profile-drawer{background:var(--page-bg);box-shadow:-18px 0 48px #00000073}[data-theme=dark] .student-profile-header,[data-theme=dark] .student-profile-drawer .profile-tabs{background:var(--surface-1);border-bottom-color:var(--border-subtle)}[data-theme=dark] .student-profile-body{background:var(--page-bg)}[data-theme=dark] .student-profile-drawer .profile-metrics,[data-theme=dark] .student-profile-drawer .profile-section,[data-theme=dark] .student-profile-drawer .qr-hero,[data-theme=dark] .student-profile-drawer .transport-assignment,[data-theme=dark] .student-profile-drawer .qr-large-preview,[data-theme=dark] .student-profile-drawer .qr-usage-strip,[data-theme=dark] .student-profile-drawer .audit-list>div{border-color:var(--border-subtle);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .student-profile-drawer .profile-metrics>div,[data-theme=dark] .student-profile-drawer .attendance-breakdown>div,[data-theme=dark] .student-profile-drawer .transport-assignment dl>div,[data-theme=dark] .student-profile-drawer .qr-usage-strip>span,[data-theme=dark] .student-profile-drawer .qr-hero dl>div,[data-theme=dark] .student-profile-drawer .notes-timeline article,[data-theme=dark] .student-profile-drawer .transaction-list>div,[data-theme=dark] .student-profile-drawer .purchase-list>div,[data-theme=dark] .student-profile-drawer .scan-list>div{border-color:var(--border-subtle)}[data-theme=dark] .profile-metrics,[data-theme=dark] .profile-section,[data-theme=dark] .qr-hero{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-card)}[data-theme=dark] .notes-timeline p{color:#d1d4df}[data-theme=dark] .transport-bus-icon{background:#ffffff0e}@media(max-width:1100px){.students-toolbar{grid-template-columns:1fr}.student-filters{overflow-x:auto;padding-bottom:2px}.student-filters .filter-dropdown{flex:1 0 132px}.profile-metrics.finance{grid-template-columns:repeat(2,1fr)}.profile-metrics.finance>div:nth-child(2n){border-inline-end:0}.profile-metrics.finance>div:nth-child(-n+4){border-bottom:1px solid var(--line-soft)}.transport-assignment{grid-template-columns:56px 1fr auto}.transport-assignment dl{grid-column:1 / -1;order:4}}@media(max-width:767px){.route-loading{grid-template-columns:1fr 1fr}.route-loading>span:last-of-type{grid-column:1 / -1}.students-heading{align-items:stretch;flex-direction:column}.students-heading-actions{display:grid;grid-template-columns:1fr 1fr}.students-heading-actions .primary-button{grid-column:1 / -1}.students-summary.entity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.students-toolbar{padding:12px}.students-table-heading{align-items:flex-start;flex-direction:column}.bulk-actions{width:100%;overflow-x:auto}.students-pagination{align-items:flex-start;flex-direction:column}.student-form-grid{grid-template-columns:1fr 1fr}.form-field.span-2{grid-column:span 2}.student-profile-drawer{width:calc(100vw / var(--ui-scale))}.student-profile-header{grid-template-columns:minmax(0,1fr) auto 38px;grid-template-areas:"identity actions close" "summary summary summary"}.profile-header-actions{grid-column:auto}.profile-metrics{grid-template-columns:1fr}.profile-metrics>div{border-inline-end:0;border-bottom:1px solid var(--line-soft)}.profile-metrics>div:last-child{border-bottom:0}.profile-two-columns{grid-template-columns:1fr}.transport-assignment{grid-template-columns:48px 1fr}.transport-assignment>button{grid-column:1 / -1}.qr-hero{grid-template-columns:1fr;padding:18px}.qr-large-preview{width:210px;height:210px;margin:auto}.qr-usage-strip{grid-template-columns:repeat(2,1fr)}.qr-usage-strip>span:nth-child(2){border-inline-end:0}.qr-usage-strip>span:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}@media(max-width:480px){.students-summary.entity-summary-grid,.student-form-grid{grid-template-columns:1fr}.form-field.span-2{grid-column:span 1}.qr-form-control{grid-template-columns:72px 1fr}.qr-mini-preview{width:72px;height:72px;overflow:hidden}.qr-form-control .switch{grid-column:2}.student-dialog-header,.student-form-body{padding-inline:12px}.profile-tabs{padding-inline:0}.student-profile-body{padding:0 12px 12px}.student-profile-header{padding-inline:12px}.profile-header-actions .secondary-button{min-height:36px}.subject-list>div{grid-template-columns:86px 1fr 30px}.subject-list small{display:none}}.guardians-page{display:grid;gap:18px}.guardians-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.guardian-summary-card{width:100%}.guardians-workspace{overflow:hidden;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.guardians-toolbar{display:grid;grid-template-columns:minmax(310px,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line-soft)}.guardians-list-meta{display:flex;gap:14px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.guardians-list-meta i{margin-inline-end:4px;color:var(--primary)}.guardians-table-wrap{min-height:0;overflow:auto}.guardians-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;table-layout:fixed}.guardians-table th,.guardians-table td{padding:11px 12px;border-bottom:1px solid var(--line-soft);text-align:start;vertical-align:middle}.guardians-table th{color:var(--ink-muted);background:#f1f5fa70;font-size:calc(10px * var(--font-scale));font-weight:500;white-space:nowrap}.guardians-table tbody tr{cursor:pointer;transition:background .15s ease}.guardians-table tbody tr:hover{background:#0796ff09}.guardians-table th:nth-child(1),.guardians-table td:nth-child(1){width:205px}.guardians-table th:nth-child(2),.guardians-table td:nth-child(2){width:185px}.guardians-table th:nth-child(3),.guardians-table td:nth-child(3){width:165px}.guardians-table th:nth-child(4),.guardians-table td:nth-child(4){width:205px}.guardians-table th:nth-child(5),.guardians-table td:nth-child(5){width:120px}.guardians-table th:nth-child(6),.guardians-table td:nth-child(6){width:115px}.guardians-table th:nth-child(7),.guardians-table td:nth-child(7){width:120px}.guardian-identity,.children-cell,.limit-cell{display:flex;width:100%;min-width:0;align-items:center;gap:9px;padding:0;border:0;text-align:start;background:transparent;cursor:pointer}.guardian-avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid rgba(7,150,255,.1);border-radius:11px;color:var(--primary);background:var(--primary-soft);font-size:calc(10px * var(--font-scale));font-weight:500}.guardian-identity strong,.guardian-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guardian-identity strong{font-size:calc(11px * var(--font-scale));font-weight:500}.guardian-identity small{margin-top:2px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.children-avatars{display:flex;direction:ltr;padding-inline-start:8px}.children-avatars .student-avatar{width:29px;height:29px;margin-inline-start:-8px;border:2px solid var(--neutral-0);border-radius:50%;font-size:calc(8px * var(--font-scale))}.children-cell>span:nth-child(2){flex:1}.children-cell strong,.children-cell small,.limit-cell strong,.limit-cell small{display:block}.children-cell strong,.limit-cell strong{font-size:calc(11px * var(--font-scale));font-weight:500}.children-cell small,.limit-cell small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.children-cell>i{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.limit-cell{position:relative;display:grid;grid-template-columns:1fr auto;column-gap:5px}.limit-cell small{grid-column:1}.limit-cell>span{grid-column:2;grid-row:1 / span 2;align-self:center;padding:3px 5px;border-radius:5px;color:var(--danger);background:var(--danger-soft);font-size:calc(8px * var(--font-scale))}.guardian-dialog{width:min(calc(94vw / var(--ui-scale)),690px);max-height:calc(92vh / var(--ui-scale));padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:12px;color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-hover)}.guardian-dialog::backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.guardian-dialog>form{display:flex;flex:0 1 auto;max-height:none;flex-direction:column}.guardian-dialog-header,.guardian-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px}.guardian-dialog-header{border-bottom:1px solid var(--line-soft)}.guardian-dialog-header>div{display:flex;align-items:center;gap:10px}.guardian-dialog-header small,.guardian-dialog-header h2{display:block;margin:0}.guardian-dialog-header small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.guardian-dialog-header h2{font-size:calc(16px * var(--font-scale));font-weight:500}.guardian-form-body{padding-inline:18px;overflow-y:auto}.guardian-form-body>section{padding-block:18px;border-bottom:1px solid var(--line-soft)}.guardian-form-body>section:last-child{border-bottom:0}.guardian-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.guardian-dialog-footer{justify-content:flex-end;border-top:1px solid var(--line-soft);background:#fafaffb8}.children-dialog-body,.permissions-dialog-body{padding:17px 18px;overflow-y:auto}.linked-count{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 2px 9px;color:var(--primary);font-size:calc(10px * var(--font-scale))}.linked-count small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.children-options{display:grid;max-height:430px;gap:6px;overflow-y:auto}.children-options>label{display:grid;grid-template-columns:18px 36px 1fr auto;align-items:center;gap:9px;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-1);cursor:pointer;transition:border-color .15s ease,background .15s ease}.children-options>label.selected{border-color:var(--primary-border);background:var(--primary-soft)}.children-options input{width:15px;height:15px;accent-color:var(--primary)}.children-options strong,.children-options small{display:block}.children-options strong{font-size:calc(10px * var(--font-scale));font-weight:500}.children-options small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.link-state{display:inline-flex;align-items:center;gap:4px;color:var(--primary);font-size:calc(8px * var(--font-scale))}.permissions-dialog-body{display:grid;gap:16px}.daily-limit-section,.blocked-products-section{padding:16px;border:1px solid var(--line-soft);border-radius:10px;background:#ffffff5c}.daily-limit-section>div:first-child{display:flex;align-items:center;gap:10px}.permission-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-soft)}.daily-limit-section h3,.daily-limit-section p,.permissions-title h3,.permissions-title p{margin:0}.daily-limit-section h3,.permissions-title h3{font-size:calc(12px * var(--font-scale));font-weight:500}.daily-limit-section p,.permissions-title p{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.limit-control{display:flex;align-items:center;justify-content:center;gap:9px;margin-block:17px 12px}.limit-control>button{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--primary);background:transparent;cursor:pointer}.limit-control label{display:flex;height:48px;align-items:center;padding-inline:12px;border:1px solid var(--primary-border);border-radius:10px;background:var(--primary-soft)}.limit-control input{width:72px;border:0;outline:0;color:var(--ink);background:transparent;font-size:calc(22px * var(--font-scale));font-weight:400;text-align:center}.limit-control label span{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.limit-presets{display:flex;justify-content:center;gap:6px}.limit-presets button{min-width:52px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;color:var(--ink-muted);background:transparent;font-size:calc(9px * var(--font-scale));cursor:pointer}.limit-presets button.active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.permissions-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.permissions-title>span{padding:3px 7px;border-radius:6px;color:var(--danger);background:var(--danger-soft);font-size:calc(8px * var(--font-scale))}.product-permissions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.product-permissions label{display:grid;grid-template-columns:30px 1fr;align-items:center;gap:7px;padding:9px;border:1px solid var(--line-soft);border-radius:8px;cursor:pointer}.product-permissions label.blocked{border-color:#ee443f33;background:var(--danger-soft)}.product-permissions input{position:absolute;opacity:0}.product-permissions label>span{display:grid;width:28px;height:28px;grid-row:span 2;place-items:center;border-radius:7px;color:var(--primary);background:var(--primary-soft)}.product-permissions label.blocked>span{color:var(--danger);background:var(--danger-soft)}.product-permissions strong,.product-permissions small{display:block}.product-permissions strong{font-size:calc(9px * var(--font-scale));font-weight:500}.product-permissions small{color:var(--success);font-size:calc(7px * var(--font-scale))}.product-permissions .blocked small{color:var(--danger)}.permission-note{display:flex;gap:8px;padding:10px 12px;border-radius:8px;color:var(--info);background:var(--info-soft)}.permission-note strong,.permission-note small{display:block}.permission-note strong{font-size:calc(9px * var(--font-scale));font-weight:500}.permission-note small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}[data-theme=dark] .guardians-table th{background:#ffffff06}[data-theme=dark] .guardians-table tbody tr:hover{background:#0796ff0b}[data-theme=dark] .guardian-avatar{border-color:#0796ff29}[data-theme=dark] .guardian-dialog{background:#121319f2;box-shadow:0 34px 95px #000000ad}[data-theme=dark] .guardian-dialog-footer{background:#ffffff05}[data-theme=dark] .children-options>label,[data-theme=dark] .daily-limit-section,[data-theme=dark] .blocked-products-section{background:#ffffff06}[data-theme=dark] .children-options>label.selected{background:#0796ff1a}@media(max-width:1100px){.guardians-toolbar{grid-template-columns:1fr}.guardians-toolbar .student-filters{overflow-x:auto}}@media(max-width:767px){.guardians-summary{grid-template-columns:repeat(2,1fr)}.guardians-list-meta{flex-wrap:wrap}.guardian-form-grid,.product-permissions{grid-template-columns:repeat(2,minmax(0,1fr))}.guardians-page .students-heading-actions .primary-button{grid-column:auto}}@media(max-width:480px){.guardians-summary,.guardian-form-grid{grid-template-columns:1fr}.guardian-form-grid .span-2{grid-column:span 1}.guardian-dialog-header,.guardian-dialog-footer,.children-dialog-body,.permissions-dialog-body,.guardian-form-body{padding-inline:12px}.linked-count{align-items:flex-start;flex-direction:column}.product-permissions{grid-template-columns:1fr}}.staff-page{display:grid;gap:18px}.staff-summary{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}.staff-summary-card{width:100%}.staff-workspace{overflow:hidden;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.staff-toolbar{display:grid;grid-template-columns:minmax(300px,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--line-soft)}.staff-list-meta{display:flex;gap:14px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.staff-list-meta i{margin-inline-end:4px;color:var(--primary)}.staff-table-wrap{min-height:0;overflow:auto}.staff-table{width:100%;min-width:1160px;border-collapse:separate;border-spacing:0;table-layout:fixed}.staff-table.staff-table--dynamic{table-layout:auto}.staff-table th,.staff-table td{padding:12px 14px;border-bottom:1px solid var(--line-soft);text-align:start;vertical-align:middle;font-size:var(--table-cell, 13px)}.staff-table th{color:var(--ink-muted);background:#f6f7ff70;font-size:var(--table-head, 12px);font-weight:500;white-space:nowrap}.staff-table tbody tr{transition:background .15s ease}.staff-table tbody tr:hover{background:#0796ff09}.staff-table th:nth-child(1),.staff-table td:nth-child(1){width:210px}.staff-table th:nth-child(2),.staff-table td:nth-child(2){width:180px}.staff-table th:nth-child(3),.staff-table td:nth-child(3){width:135px}.staff-table th:nth-child(4),.staff-table td:nth-child(4){width:115px}.staff-table th:nth-child(5),.staff-table td:nth-child(5){width:125px}.staff-table th:nth-child(6),.staff-table td:nth-child(6){width:110px}.staff-table th:nth-child(7),.staff-table td:nth-child(7){width:110px}.staff-table th:nth-child(8),.staff-table td:nth-child(8){width:80px}.staff-identity{display:flex;width:100%;min-width:0;align-items:center;gap:9px;padding:0;border:0;text-align:start;background:transparent;cursor:pointer}.staff-avatar{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:11px;font-size:calc(10px * var(--font-scale));font-weight:500}.staff-avatar.male{color:#376ed5;background:#eaf1ff}.staff-avatar.female{color:#0e7490;background:#e0f7fa}.staff-avatar.large{width:54px;height:54px;border-radius:14px;font-size:calc(14px * var(--font-scale))}.staff-identity strong,.staff-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-identity strong{font-size:calc(11px * var(--font-scale));font-weight:500}.staff-identity small{margin-top:2px;color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.staff-type{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:7px;font-size:calc(8px * var(--font-scale));white-space:nowrap}.staff-type.teacher{color:var(--primary);background:var(--primary-soft)}.staff-type.admin{color:var(--info);background:var(--info-soft)}.staff-type.operations{color:var(--warning);background:var(--warning-soft)}.contract-badge{display:inline-block;padding:4px 7px;border-radius:7px;font-size:calc(8px * var(--font-scale));white-space:nowrap}.contract-badge.success{color:var(--success);background:var(--success-soft)}.contract-badge.warning{color:var(--warning);background:var(--warning-soft)}.contract-badge.info{color:var(--info);background:var(--info-soft)}.salary-value,.net-salary-value{font-size:calc(11px * var(--font-scale));font-weight:400;white-space:nowrap}.net-salary-value{color:var(--success)}.staff-form-dialog{width:min(calc(95vw / var(--ui-scale)),850px);max-height:calc(94vh / var(--ui-scale));padding:0;overflow:hidden;border:1px solid var(--border-default);border-radius:12px;color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-hover)}.staff-form-dialog::backdrop{background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.staff-form-dialog>form{display:flex;max-height:calc(94vh / var(--ui-scale));flex-direction:column}.wizard-form-grid .password-field>small{color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.5}.password-input-wrap{position:relative;display:flex;align-items:stretch}.password-input-wrap input{flex:1;padding-inline-start:42px}.password-toggle{position:absolute;inset-inline-start:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}.password-toggle:hover{color:var(--primary);background:var(--primary-soft)}.staff-dialog-header,.staff-dialog-footer{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px}.staff-dialog-header{border-bottom:1px solid var(--line-soft)}.staff-dialog-header>div{display:flex;align-items:center;gap:10px}.staff-dialog-header small,.staff-dialog-header h2{display:block;margin:0}.staff-dialog-header small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.staff-dialog-header h2{font-size:calc(16px * var(--font-scale));font-weight:500}.staff-form-body{padding-inline:18px;overflow-y:auto}.staff-form-body>section{padding-block:17px;border-bottom:1px solid var(--line-soft)}.staff-form-body>section:last-child{border-bottom:0}.staff-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.staff-finance-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.staff-finance-grid .form-field{position:relative}.staff-finance-grid .form-field small{position:absolute;inset-block-end:10px;inset-inline-end:9px;color:var(--ink-muted);font-size:calc(7px * var(--font-scale))}.staff-finance-grid .highlighted input{border-color:var(--primary-border);background:var(--primary-soft)}.net-salary-preview{display:flex;grid-column:span 2;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border:1px solid var(--primary-border);border-radius:12px;background:var(--primary-soft)}.net-salary-preview span{color:var(--ink-muted);font-size:calc(13px * var(--font-scale));font-weight:500}.net-salary-preview strong{color:var(--primary);font-size:calc(20px * var(--font-scale));font-weight:600}.staff-dialog-footer{justify-content:flex-end;border-top:1px solid var(--line-soft);background:#f8fafcb8}.recruitment-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:95;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s ease-in-out,visibility .32s ease-in-out}.recruitment-modal-layer.is-open,.recruitment-modal-layer.is-closing{visibility:visible;pointer-events:auto}.recruitment-modal-layer.is-open{opacity:1}.recruitment-modal-layer.is-closing{opacity:0}.recruitment-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#070b3294;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .32s ease-in-out}.recruitment-modal-layer.is-open .recruitment-modal-backdrop{opacity:1}.recruitment-modal-layer.is-closing .recruitment-modal-backdrop{opacity:0}.recruitment-modal-panel{position:absolute;inset:28px auto 28px 50%;width:min(920px,calc(calc(100vw / var(--ui-scale)) - 32px));max-height:calc(calc(100vh / var(--ui-scale)) - 56px);display:grid;grid-template-rows:auto 1fr;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-1);box-shadow:0 18px 60px #0f172a33;transform:translate3d(-50%,18px,0) scale(.98);opacity:0;transition:transform .32s ease-in-out,opacity .32s ease-in-out;overflow:hidden}.recruitment-modal-layer.is-open .recruitment-modal-panel{transform:translate3d(-50%,0,0) scale(1);opacity:1}.recruitment-modal-layer.is-closing .recruitment-modal-panel{transform:translate3d(-50%,18px,0) scale(.98);opacity:0}.recruitment-modal-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--surface-1) 88%,var(--surface-2)))}.recruitment-modal-header h2{margin:0;font-size:calc(20px * var(--font-scale));color:var(--ink)}.recruitment-modal-header-actions{display:flex;align-items:center;gap:10px}.recruitment-modal-body{display:grid;gap:18px;padding:18px;overflow-y:auto;background:var(--page-bg, #eef3f7)}.recruitment-opportunity-description{margin:0;font-size:calc(13px * var(--font-scale));color:var(--ink-muted);line-height:1.9}@media(max-width:900px){.recruitment-modal-panel{inset:14px auto 14px 50%;width:calc(calc(100vw / var(--ui-scale)) - 20px);max-height:calc(calc(100vh / var(--ui-scale)) - 28px)}}.staff-profile-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;overflow:hidden;visibility:hidden;pointer-events:none}.staff-profile-layer.is-open,.staff-profile-layer.is-closing{visibility:visible;pointer-events:auto}.staff-profile-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#070b328c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1))}.staff-profile-layer.is-open .staff-profile-backdrop{opacity:1}.staff-profile-layer.is-closing .staff-profile-backdrop{opacity:0}.staff-profile-drawer{--drawer-offscreen: -100%;position:absolute;inset-block:0;inset-inline-end:0;display:flex;width:min(1120px,100%);max-width:calc(100vw / var(--ui-scale));flex-direction:column;color:var(--ink);background:var(--page-bg, var(--surface-1, #fff));box-shadow:-18px 0 48px #0f172a2e;overflow:hidden;transform:translate3d(var(--drawer-offscreen),0,0);transition:transform var(--drawer-duration, .3s) var(--ease-drawer, cubic-bezier(.32, .72, 0, 1));will-change:transform}[dir=ltr] .staff-profile-drawer{--drawer-offscreen: 100%}.staff-profile-layer.is-open .staff-profile-drawer{transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.staff-profile-layer,.staff-profile-backdrop,.staff-profile-drawer,.staff-profile-body>*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.staff-profile-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft);background:var(--surface-1, #fff)}.staff-profile-labels{display:flex;flex-wrap:wrap;gap:6px}.staff-profile-drawer .contract-badge,.staff-profile-drawer .student-status{font-size:var(--text-xs, 12px);font-weight:600;padding:5px 10px}.staff-profile-tabs{display:flex;flex:0 0 auto;gap:6px;padding:4px 0 0;border-bottom:1px solid var(--line-soft);background:var(--surface-1, #fff);overflow-x:auto;scrollbar-width:none}.staff-profile-tabs::-webkit-scrollbar{display:none}.staff-profile-tabs button{position:relative;display:inline-flex;min-height:52px;align-items:center;gap:8px;padding:10px 16px 14px;border:0;color:var(--ink-muted);background:transparent;font-size:var(--text-sm, 13px);font-weight:500;white-space:nowrap;cursor:pointer}.staff-profile-tabs button i{font-size:calc(14px * var(--font-scale))}.staff-profile-tabs button:after{position:absolute;inset-block-end:-1px;inset-inline:12px;height:2px;border-radius:2px;content:"";background:transparent}.staff-profile-tabs button.active{color:var(--primary);font-weight:600}.staff-profile-tabs button.active:after{background:var(--primary)}.staff-profile-body{flex:1;min-height:0;padding:0 18px 18px;overflow-y:auto;background:var(--page-bg, #e8edf4)}.staff-profile-body>*{animation:staff-profile-tab-in .3s cubic-bezier(.22,1,.36,1) both}@keyframes staff-profile-tab-in{0%{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:none}}.staff-tab-content{display:grid;gap:16px;animation:tab-in .18s ease-out}.staff-profile-drawer .profile-empty-state{padding:20px 0;color:var(--ink-muted);font-size:var(--text-sm, 13px);text-align:center}.staff-profile-drawer .tab-action-bar h3{font-size:calc(16px * var(--font-scale));font-weight:600;color:var(--ink)}.staff-profile-drawer .tab-action-bar p{font-size:var(--text-sm, 13px);color:var(--ink-muted)}.staff-profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1, #fff);overflow:hidden}.staff-profile-metrics>div{padding:16px;border-inline-end:1px solid var(--line-soft)}.staff-profile-metrics>div:last-child{border:0}.staff-profile-metrics span,.staff-profile-metrics strong,.staff-profile-metrics small{display:block}.staff-profile-metrics span{color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:600}.staff-profile-metrics strong{margin-top:6px;color:var(--ink);font-size:calc(22px * var(--font-scale));font-weight:700;line-height:1.2}.staff-profile-metrics small{margin-top:4px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.staff-profile-metrics small.positive{color:var(--success);font-weight:600}.staff-profile-section,.attendance-calendar{padding:18px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1, #fff)}.staff-profile-section>header,.attendance-calendar>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.staff-profile-section h3,.staff-profile-section p,.attendance-calendar h3{margin:0}.staff-profile-section h3,.attendance-calendar h3{font-size:calc(15px * var(--font-scale));font-weight:600;color:var(--ink)}.staff-profile-section p{margin-top:4px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.attendance-records{display:grid;margin-top:14px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.attendance-record{display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line-soft);color:var(--ink);font-size:var(--text-sm, 13px);background:var(--surface-1, #fff)}.attendance-record:last-child{border-bottom:0}.attendance-record.header{color:var(--ink-muted);background:var(--surface-2, #f1f5fa);font-size:var(--text-xs, 12px);font-weight:600}.attendance-record strong{font-weight:600;color:var(--ink)}.staff-record-status{justify-self:start;padding:5px 10px;border-radius:999px;font-size:var(--text-xs, 12px);font-weight:600}.staff-record-status.success{color:var(--success);background:var(--success-soft)}.staff-record-status.warning{color:var(--warning);background:var(--warning-soft)}.staff-record-status.danger{color:var(--danger);background:var(--danger-soft)}.attendance-calendar>header div{display:flex;flex-wrap:wrap;gap:10px;color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:500}.attendance-calendar>header div span{display:inline-flex;align-items:center;gap:6px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-top:14px}.mini-calendar>*{display:grid;min-height:36px;place-items:center;border-radius:8px;font-size:var(--text-xs, 12px)}.mini-calendar strong{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600}.mini-calendar span{color:var(--ink-muted);background:var(--surface-2, #f1f5fa)}.mini-calendar span.present{color:var(--success);background:var(--success-soft);font-weight:600}.mini-calendar span.late{color:var(--warning);background:var(--warning-soft);font-weight:600}.mini-calendar span.absent{color:var(--danger);background:var(--danger-soft);font-weight:600}.payroll-overview{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1.15fr;align-items:center;gap:10px;padding:18px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1, #fff)}.payroll-overview small,.payroll-overview strong{display:block}.payroll-overview small{color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:600}.payroll-overview strong{margin-top:5px;color:var(--ink);font-size:calc(18px * var(--font-scale));font-weight:700}.payroll-overview .math-symbol{color:var(--ink-muted);font-size:calc(20px * var(--font-scale));font-weight:500}.payroll-overview .positive strong{color:var(--success)}.payroll-overview .negative strong{color:var(--danger)}.payroll-overview .net{padding:12px 14px;border-radius:10px;color:var(--primary);background:var(--primary-soft)}.payroll-overview .net strong{color:var(--primary);font-size:calc(20px * var(--font-scale))}.payroll-overview--simple{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 22px;border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(120deg,#0796ff0a,#0796ff03)}.payroll-overview--simple .payroll-overview-main{display:grid;gap:4px}.payroll-overview--simple .payroll-overview-main small{font-size:calc(12px * var(--font-scale));color:var(--ink-muted);font-weight:600}.payroll-overview--simple .payroll-overview-main strong{font-size:calc(28px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;direction:ltr;text-align:start}.payroll-overview--simple .payroll-overview-hint{font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted);font-weight:500}.payroll-overview--simple .payroll-overview-mode{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;font-size:calc(12.5px * var(--font-scale));font-weight:700;white-space:nowrap}.payroll-overview--simple .payroll-overview-mode.monthly{color:var(--primary);background:var(--primary-soft)}.payroll-overview--simple .payroll-overview-mode.per-period{color:var(--info, #2563eb);background:var(--info-soft, rgba(37, 99, 235, .14))}.payroll-overview--simple .payroll-overview-mode i{font-size:calc(12px * var(--font-scale))}.staff-subject-pills,.staff-grade-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.staff-subject-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(12px * var(--font-scale));font-weight:700}.staff-subject-pill i{font-size:calc(11px * var(--font-scale))}.staff-grade-pill{display:inline-block;padding:5px 10px;border-radius:8px;background:var(--surface-2, rgba(7, 150, 255, .06));color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:600;border:1px solid var(--border-subtle, var(--line-soft))}[data-theme=dark] .staff-subject-pill{background:#0796ff33}[data-theme=dark] .staff-grade-pill{background:#ffffff0f;border-color:var(--border-subtle)}.payslip-list{display:grid;margin-top:14px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--surface-1, #fff)}.payslip-list article{display:grid;grid-template-columns:40px 1fr 2fr auto 36px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.payslip-list article:last-child{border-bottom:0}.payslip-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(15px * var(--font-scale))}.payslip-list strong,.payslip-list small{display:block}.payslip-list strong{color:var(--ink);font-size:var(--text-sm, 13px);font-weight:600}.payslip-list small{margin-top:3px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.payslip-list dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.payslip-list dl div{padding-inline:10px;border-inline-end:1px solid var(--line-soft)}.payslip-list dl div:last-child{border-inline-end:0}.payslip-list dt{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600}.payslip-list dd{margin:4px 0 0;color:var(--ink);font-size:var(--text-sm, 13px);font-weight:600}.payslip-list .paid-label{font-size:var(--text-xs, 12px);font-weight:600}.payslip-list .icon-button{width:34px;height:34px}.leave-balances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.leave-balances>div{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:2px 10px;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff)}.leave-balances span{display:grid;width:36px;height:36px;grid-row:span 2;place-items:center;border-radius:10px;font-size:calc(14px * var(--font-scale))}.leave-balances .annual span{color:var(--primary);background:var(--primary-soft)}.leave-balances .sick span{color:var(--danger);background:var(--danger-soft)}.leave-balances .emergency span{color:var(--warning);background:var(--warning-soft)}.leave-balances .unpaid span{color:var(--ink-muted);background:var(--surface-2, #f1f5fa)}.leave-balances strong{color:var(--ink);font-size:calc(20px * var(--font-scale));font-weight:700}.leave-balances small{color:var(--ink-muted);font-size:var(--text-xs, 12px)}.leave-requests{display:grid;margin-top:14px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--surface-1, #fff)}.leave-requests article{display:grid;grid-template-columns:40px 1fr 52px auto 34px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.leave-requests article:last-child{border-bottom:0}.leave-type-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(15px * var(--font-scale))}.leave-requests strong,.leave-requests small{display:block}.leave-requests strong{color:var(--ink);font-size:var(--text-sm, 13px);font-weight:600}.leave-requests small{margin-top:3px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.leave-days{text-align:center}.leave-days strong{color:var(--ink);font-size:calc(18px * var(--font-scale));font-weight:700}.leave-days small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.leave-requests .icon-button{width:34px;height:34px}.leave-reason{margin-top:2px;color:var(--ink-muted, #5b6470);font-size:calc(11.5px * var(--font-scale));font-style:italic;line-height:1.5}.leave-requests-counter{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:26px;padding:0 12px;border-radius:999px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(11.5px * var(--font-scale));font-weight:700}.leave-tab-cta{display:flex;justify-content:center;padding-top:4px}.leave-tab-cta .primary-button{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:12px;font-weight:600;box-shadow:0 8px 20px -14px #0796ffb3}.staff-note-add-form{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2, rgba(7, 150, 255, .03))}.staff-note-add-form textarea{resize:vertical;min-height:64px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:var(--text-sm, 13px)}.staff-note-add-form button{align-self:flex-end}.staff-notes-list{display:grid;gap:10px;margin-top:14px}.staff-note-card{padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff)}.staff-note-card>header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.staff-note-author{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;font-size:var(--text-xs, 12px)}.staff-note-date{color:var(--ink-muted);font-size:var(--text-xs, 12px)}.staff-note-card>header .icon-button{margin-inline-start:auto;width:30px;height:30px}.staff-note-card p{margin:0;color:var(--ink);font-size:var(--text-sm, 13px);line-height:1.6;white-space:pre-wrap}.profile-header-actions .staff-leave-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:10px;background:linear-gradient(135deg,var(--primary, #0796ff),var(--primary-hover, #4a8df0));color:#fff;font-weight:600;font-size:calc(12.5px * var(--font-scale));border:0;box-shadow:0 6px 16px -10px #0796ffb3;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.profile-header-actions .staff-leave-cta:hover{transform:translateY(-1px);box-shadow:0 10px 22px -12px #0796ffd9;filter:brightness(1.05)}.profile-header-actions .staff-leave-cta i{font-size:calc(12px * var(--font-scale))}.leave-dialog{width:min(calc(95vw / var(--ui-scale)),640px);max-height:calc(92vh / var(--ui-scale))}.leave-dialog-body{display:grid;gap:16px;padding:18px 22px}.leave-dialog-section{display:grid;gap:10px}.leave-dialog-section-title{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(12.5px * var(--font-scale));font-weight:700;color:var(--ink-muted, #5b6470);letter-spacing:.02em;text-transform:uppercase}.leave-dialog-section-title i{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary);font-size:calc(11px * var(--font-scale))}.leave-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.leave-type-option{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1.5px solid var(--border-default, var(--line));border-radius:10px;font:inherit;color:var(--ink);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease;text-align:start}.leave-type-option:hover{border-color:var(--primary-border, #4a8df0);background:var(--primary-soft, rgba(7, 150, 255, .08))}.leave-type-option.active{border-color:var(--primary);background:linear-gradient(140deg,#0796ff29,#0796ff0a);box-shadow:0 6px 16px -12px #0796ff99}.leave-type-option-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:#0796ff24;color:var(--primary);font-size:calc(13px * var(--font-scale))}.leave-type-option.active .leave-type-option-icon{background:var(--primary);color:#fff}.leave-type-option-label{font-size:calc(12.5px * var(--font-scale));font-weight:600}.leave-dialog-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end}.leave-duration-display{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px;padding:10px 12px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1.5px solid var(--border-default, var(--line));border-radius:10px;min-height:46px;transition:border-color .18s ease,background .18s ease}.leave-duration-display i{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary);font-size:calc(14px * var(--font-scale))}.leave-duration-display[data-state=ok]{border-color:var(--primary);background:var(--primary-soft, rgba(7, 150, 255, .08))}.leave-duration-display>div,.leave-duration-display strong{font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;display:block;line-height:1.1}.leave-duration-display small{display:block;font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #5b6470);margin-top:2px}.leave-duration-display strong,.leave-duration-display small{grid-column:2}.leave-duration-display{grid-template-columns:36px 1fr;grid-template-rows:auto auto}.leave-paid-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px}.leave-paid-option{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:12px;padding:14px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1.5px solid var(--border-default, var(--line));border-radius:12px;font:inherit;text-align:start;cursor:pointer;color:var(--ink);transition:border-color .18s ease,background .18s ease,transform .18s ease}.leave-paid-option:hover{border-color:var(--primary-border, #4a8df0)}.leave-paid-option.active{border-color:var(--primary);background:linear-gradient(140deg,#0796ff24,#0796ff0a);box-shadow:0 6px 16px -12px #0796ff99}.leave-paid-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary);font-size:calc(16px * var(--font-scale))}.leave-paid-option.active .leave-paid-icon{background:var(--primary);color:#fff}.leave-paid-option strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--ink)}.leave-paid-option small{display:block;font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #5b6470);margin-top:2px;line-height:1.4}.leave-reason-field{display:grid;gap:6px}.leave-reason-field textarea{width:100%;min-height:110px;padding:12px 14px;background:var(--surface-2, rgba(7, 150, 255, .04));border:1.5px solid var(--border-default, var(--line));border-radius:10px;color:var(--ink);font:inherit;font-size:calc(13px * var(--font-scale));line-height:1.6;resize:vertical;transition:border-color .18s ease,box-shadow .18s ease}.leave-reason-field textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 4px #0796ff1f}.leave-reason-field textarea.has-error{border-color:var(--danger, #dc2626);box-shadow:0 0 0 4px #dc26261a}.leave-reason-meta{display:flex;justify-content:flex-end;font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #5b6470);font-variant-numeric:tabular-nums;font-weight:500}.leave-dialog-preview{display:grid;gap:8px;padding:12px 14px;background:linear-gradient(120deg,#0796ff0f,#0796ff05);border:1px dashed rgba(7,150,255,.3);border-radius:12px;transition:border-color .18s ease}.leave-dialog-preview:hover{border-color:var(--primary)}.leave-dialog-preview-label{font-size:calc(10.5px * var(--font-scale));font-weight:700;color:var(--ink-muted, #5b6470);letter-spacing:.04em;text-transform:uppercase}.leave-dialog-preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.leave-dialog-preview-icon{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--primary-soft, rgba(7, 150, 255, .14));color:var(--primary);font-size:calc(12px * var(--font-scale))}.leave-dialog-preview-row strong{font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--ink)}.leave-dialog-preview-divider{color:var(--ink-muted, #94a0b0);font-size:calc(12px * var(--font-scale))}.leave-dialog-preview-paid{display:inline-block;padding:2px 10px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:700}.leave-dialog-preview-paid.paid{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.leave-dialog-preview-paid.unpaid{color:var(--warning, #b76b00);background:var(--warning-soft, rgba(245, 158, 11, .14))}.leave-dialog-preview-duration{font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #5b6470);font-weight:600}.leave-dialog-preview p{margin:0;font-size:calc(12.5px * var(--font-scale));color:var(--ink);line-height:1.6}.leave-dialog-preview-empty{color:var(--ink-muted, #94a0b0)!important;font-style:italic}.leave-dialog-error{display:inline-flex;align-items:center;gap:6px;margin:0;padding:10px 12px;background:var(--danger-soft, rgba(220, 38, 38, .1));border:1px solid var(--danger, #dc2626);border-radius:10px;color:var(--danger, #dc2626);font-size:calc(12.5px * var(--font-scale));font-weight:600}[data-theme=dark] .leave-paid-option,[data-theme=dark] .leave-type-option,[data-theme=dark] .leave-duration-display,[data-theme=dark] .leave-dialog-preview{background:#ffffff0a;border-color:var(--border-subtle)}[data-theme=dark] .leave-duration-display[data-state=ok]{background:#0796ff29;border-color:var(--primary)}[data-theme=dark] .leave-type-option.active,[data-theme=dark] .leave-paid-option.active{background:linear-gradient(140deg,#0796ff38,#0796ff0f)}[data-theme=dark] .leave-reason-field textarea{background:#ffffff0a;border-color:var(--border-subtle)}[data-theme=dark] .leave-reason-field textarea:focus{background:#ffffff14}[data-theme=dark] .leave-dialog-preview{background:linear-gradient(120deg,#0796ff1f,#0796ff0a)}[data-theme=dark] .profile-header-actions .staff-leave-cta{background:linear-gradient(135deg,var(--primary, #0796ff),var(--primary-hover, #2563eb))}@media(max-width:640px){.leave-dialog-body{gap:12px;padding:12px 14px}.leave-dialog-grid{grid-template-columns:1fr 1fr;gap:8px}.leave-dialog-grid .form-field:last-child{grid-column:1 / -1}.leave-paid-toggle,.leave-type-grid{grid-template-columns:1fr 1fr}.leave-type-option:last-child:nth-child(odd){grid-column:1 / -1}.leave-reason-field textarea{min-height:72px;height:84px}.profile-header-actions .staff-leave-cta{width:100%;justify-content:center}}.staff-weekly-section>header{align-items:flex-start}.staff-weekly-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.staff-weekly-edit-hint{display:flex;align-items:center;gap:8px;margin:12px 0 0;padding:10px 12px;border:1px dashed var(--primary-border, #b3e0ff);border-radius:10px;background:var(--primary-soft, #e8f4ff);color:var(--ink-muted);font-size:var(--text-xs, 12px);line-height:1.5}.staff-weekly-edit-hint i{color:var(--primary)}[data-theme=dark] .staff-weekly-edit-hint{background:#0796ff1a;border-color:#0796ff38}[data-theme=dark] .staff-page .staff-table thead th,[data-theme=dark] .staff-table thead th{background:var(--primary);color:#fff}[data-theme=dark] .staff-table tbody tr:hover{background:#0796ff0b}[data-theme=dark] .staff-avatar.male{color:#8eb2ff;background:#4677da26}[data-theme=dark] .staff-avatar.female{color:#c79bee;background:#9d5cd126}[data-theme=dark] .staff-form-dialog{background:#121319f2;box-shadow:0 34px 95px #000000ad}[data-theme=dark] .staff-dialog-footer{background:#ffffff05}[data-theme=dark] .staff-profile-drawer{background:var(--surface-1, #16171f);box-shadow:-12px 0 48px #0000008c}[data-theme=dark] .staff-profile-header,[data-theme=dark] .staff-profile-tabs{background:var(--surface-1, #16171f);border-color:#ffffff14}[data-theme=dark] .staff-profile-body{background:var(--page-bg, #0f1016)}[data-theme=dark] .staff-profile-metrics,[data-theme=dark] .staff-profile-section,[data-theme=dark] .attendance-calendar,[data-theme=dark] .payroll-overview,[data-theme=dark] .leave-balances>div,[data-theme=dark] .attendance-records,[data-theme=dark] .payslip-list,[data-theme=dark] .leave-requests{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .attendance-record{background:transparent}[data-theme=dark] .attendance-record.header{background:#ffffff0d}[data-theme=dark] .staff-profile-metrics strong,[data-theme=dark] .attendance-record strong,[data-theme=dark] .payslip-list strong,[data-theme=dark] .payslip-list dd,[data-theme=dark] .leave-requests strong,[data-theme=dark] .leave-balances strong,[data-theme=dark] .leave-days strong,[data-theme=dark] .payroll-overview strong{color:var(--ink, #f2f3f8)}[data-theme=dark] .mini-calendar span{background:#ffffff0d;color:var(--ink-muted)}@media(max-width:1150px){.staff-toolbar{grid-template-columns:1fr}.staff-toolbar .student-filters{overflow-x:auto}.staff-finance-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-overview{grid-template-columns:1fr auto 1fr}.payroll-overview .net{grid-column:1 / -1}}@media(max-width:1180px){.staff-profile-drawer{width:100%}}@media(max-width:767px){.staff-summary{grid-template-columns:repeat(2,1fr)}.staff-list-meta{flex-wrap:wrap}.staff-form-grid,.staff-finance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-page .students-heading-actions .primary-button{grid-column:auto}.staff-profile-drawer{width:100%}.staff-profile-metrics{grid-template-columns:repeat(2,1fr)}.staff-profile-metrics>div:nth-child(2){border-inline-end:0}.staff-profile-metrics>div:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.leave-balances{grid-template-columns:repeat(2,1fr)}.payslip-list article{grid-template-columns:34px 1fr auto 30px}.payslip-list dl{grid-column:2 / -1;grid-row:2}}@media(max-width:480px){.staff-summary,.staff-form-grid,.staff-finance-grid{grid-template-columns:1fr}.staff-form-grid .span-2,.net-salary-preview{grid-column:span 1}.staff-dialog-header,.staff-dialog-footer,.staff-form-body{padding-inline:12px}.staff-profile-body{padding:0 12px 12px}.staff-profile-header{padding-inline:12px}.attendance-record{grid-template-columns:1.4fr repeat(2,1fr)}.attendance-record>*:nth-child(3),.attendance-record>*:nth-child(4){display:none}.payroll-overview{grid-template-columns:1fr}.payroll-overview .math-symbol{display:none}.leave-balances{grid-template-columns:1fr}.leave-requests article{grid-template-columns:32px 1fr auto}.leave-requests .leave-days,.leave-requests .icon-button{display:none}}.ops-heading{align-items:flex-end;margin-bottom:4px}.ops-heading .students-heading-actions{flex-wrap:wrap;justify-content:flex-end}.ops-metrics{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:22px 0}.ops-metric{height:138px;min-height:138px;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card)}.ops-metrics .ops-metric.student-stat-card,.kpi-card.student-stat-card.ops-metric{flex:1 0 13.5rem;width:auto;min-width:min(100%,13.5rem);max-width:100%;height:auto;min-height:48px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);box-shadow:none}.ops-tabs{width:100%;max-width:100%;min-height:69px;margin:0;margin-inline-end:auto;padding:9px 0 0;display:flex;flex-wrap:wrap;align-items:stretch;align-content:flex-end;justify-content:flex-start;column-gap:0;row-gap:0;overflow:visible;border:0;border-radius:16px 16px 0 0;background:transparent;box-shadow:none}.ops-tabs.profile-tabs,.ops-tabs.staff-profile-tabs{column-gap:0;row-gap:0;border-bottom:0}.ops-tabs button{position:relative;z-index:1;width:200px;max-width:100%;min-height:60px;flex:0 1 200px;padding:11px 26px 13px;margin-inline-end:-12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;isolation:isolate;overflow:visible;border:0;border-radius:0;background:transparent;color:var(--ink-muted);font:inherit;font-size:var(--text-xs, 12px);font-weight:600;white-space:nowrap;cursor:pointer;transition:color .18s ease,transform .18s ease}.ops-tabs button:before{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border:1px solid color-mix(in srgb,var(--border-default) 55%,var(--border-subtle));border-bottom:0;border-radius:12px 12px 0 0;content:"";background:#fff;box-shadow:0 -4px 16px #0f172a12;transform:none;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.ops-tabs button:first-child{overflow:visible;border-radius:0}.ops-tabs button:last-child{margin-inline-end:0}.ops-tabs button:nth-child(1){z-index:1}.ops-tabs button:nth-child(2){z-index:2}.ops-tabs button:nth-child(3){z-index:3}.ops-tabs button:nth-child(4){z-index:4}.ops-tabs button:nth-child(5){z-index:5}.ops-tabs button:nth-child(6){z-index:6}.ops-tabs button:nth-child(7){z-index:7}.ops-tabs button:nth-child(8){z-index:8}.ops-tabs button:nth-child(4n+1):before{background:#fff}.ops-tabs button:nth-child(4n+2):before{background:color-mix(in srgb,#fff 82%,var(--page-bg, #e8edf4))}.ops-tabs button:nth-child(4n+3):before{background:color-mix(in srgb,#fff 68%,var(--page-bg, #e8edf4))}.ops-tabs button:nth-child(4n+4):before{background:color-mix(in srgb,#fff 55%,var(--page-bg, #e8edf4))}.ops-tabs button:after{display:none}.ops-tabs button:hover{color:var(--ink);background:transparent}.ops-tabs button:hover:before{background:color-mix(in srgb,var(--surface-2) 76%,var(--surface-1));border-color:var(--border-default)}.ops-tabs button:focus-visible{outline:2px solid var(--primary);outline-offset:-5px}.ops-tabs button.active{z-index:10;color:#fff;background:transparent;font-weight:700}.ops-tabs button.active:before,.ops-tabs button.active:hover:before{background:var(--primary);border-color:color-mix(in srgb,var(--primary) 72%,#fff);box-shadow:0 -6px 16px color-mix(in srgb,var(--primary) 28%,transparent)}.ops-tabs.ops-tabs--drawer{width:100%;min-height:0;margin:0;padding:4px 0 0;overflow:visible;border:0;border-radius:0;background:var(--page-bg, #e8edf4);box-shadow:none;column-gap:0}.ops-tabs.ops-tabs--drawer button{width:auto;min-width:0;max-width:100%;min-height:42px;flex:0 1 auto;padding:8px 22px 9px;gap:7px;overflow:visible;font-size:calc(12px * var(--font-scale));font-weight:800;margin-inline-end:-10px}.ops-tabs.ops-tabs--drawer button:before{border-radius:12px 12px 0 0;transform:none}.ops-tabs.ops-tabs--drawer button:first-child{overflow:visible;border-radius:0}.ops-tabs.ops-tabs--drawer button:last-child{margin-inline-end:0}.ops-tabs.ops-tabs--drawer button i{display:inline-flex;flex:0 0 auto;font-size:calc(11px * var(--font-scale))}.ops-tabs.ops-tabs--drawer button span{font-weight:800;line-height:1.2}[data-theme=dark] .ops-tabs.ops-tabs--drawer{background:var(--page-bg, #111111)}[data-theme=dark] .ops-tabs button:nth-child(4n+1):before{background:color-mix(in srgb,#fff 20%,var(--page-bg, #111));border-color:#ffffff1f}[data-theme=dark] .ops-tabs button:nth-child(4n+2):before{background:color-mix(in srgb,#fff 16%,var(--page-bg, #111));border-color:#ffffff1c}[data-theme=dark] .ops-tabs button:nth-child(4n+3):before{background:color-mix(in srgb,#fff 13%,var(--page-bg, #111));border-color:#ffffff1a}[data-theme=dark] .ops-tabs button:nth-child(4n+4):before{background:color-mix(in srgb,#fff 10%,var(--page-bg, #111));border-color:#ffffff17}[data-theme=dark] .ops-tabs button:hover:before{background:color-mix(in srgb,var(--primary) 16%,var(--surface-2));border-color:var(--primary-border)}[data-theme=dark] .ops-tabs button.active{color:#fff}[data-theme=dark] .ops-tabs button.active:before,[data-theme=dark] .ops-tabs button.active:hover:before{background:color-mix(in srgb,var(--primary) 82%,#072033);border-color:color-mix(in srgb,var(--primary) 70%,transparent);box-shadow:0 -6px 18px color-mix(in srgb,var(--primary) 34%,transparent)}.main-content>.ops-tabs button>i{display:none}.ops-tabs button b{min-width:20px;padding:2px 6px;border-radius:8px;background:var(--neutral-100);color:var(--ink-muted);font-size:var(--text-2xs, 11px)}.ops-tabs button.active b{color:var(--primary);background:#fff}.main-content>.ops-tabs,.main-content>nav.ops-tabs.profile-tabs{width:100%;max-width:100%;min-height:69px;margin:0;margin-inline-end:auto;padding:9px 0 0;border:0;border-radius:16px 16px 0 0;background:transparent;box-shadow:none}.ops-tabs+.ops-workspace,.main-content>.ops-tabs+.ops-workspace{position:relative;z-index:1;margin-top:0;border-top:0;border-radius:var(--radius-card) 0 var(--radius-card) var(--radius-card)}.ops-tabs+.ops-workspace>.ops-workspace-header,.main-content>.ops-tabs+.ops-workspace>.ops-workspace-header{background:var(--surface-1)}.ops-tabs+*{margin-top:0}.ops-workspace{margin-top:16px;border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card);overflow:hidden;isolation:isolate}.ops-workspace-header{min-height:58px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--border-subtle);background:var(--surface-header)}.ops-workspace-header h2{margin:0;font-size:var(--text-lg, 16px)}.ops-workspace-header p{margin:4px 0 0;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.ops-workspace-header>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.ops-toolbar{min-height:74px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2);border-bottom:1px solid var(--border-subtle)}.ops-search{flex:1 1 260px;max-width:420px}.student-search.ops-search{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-soft)}.ops-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-dropdown,.filter-date{position:relative;flex:0 0 auto}.ops-toolbar:has(.filter-dropdown.open),.ops-filters:has(.filter-dropdown.open),.student-filters:has(.filter-dropdown.open),.control-panel:has(.filter-dropdown.open){position:relative;z-index:200;overflow:visible}.filter-dropdown.open{z-index:1}.filter-dropdown-trigger{min-height:42px;min-width:148px;padding:7px 12px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border-default);border-radius:var(--radius-control);color:var(--ink);background:var(--surface-1);box-shadow:var(--shadow-soft);cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.filter-dropdown.open .filter-dropdown-trigger,.filter-dropdown-trigger:hover{border-color:var(--primary-border);background:var(--surface-1)}.filter-dropdown.open .filter-dropdown-trigger{box-shadow:0 0 0 3px #0796ff1f,var(--shadow-card)}.filter-dropdown-icon{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(12px * var(--font-scale))}.filter-dropdown-copy{min-width:0;flex:1;display:grid;gap:1px;text-align:start}.filter-dropdown-label{color:var(--ink-muted);font-size:var(--badge-text, 11px);font-weight:500;line-height:1.2}.filter-dropdown-value{color:var(--ink);font-size:var(--text-sm, 13px);font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.filter-dropdown-chevron{color:var(--ink-muted);font-size:var(--text-xs, 12px);transition:transform .16s ease,color .16s ease}.filter-dropdown.open .filter-dropdown-chevron{color:var(--primary)}.filter-dropdown-menu{position:absolute;inset-inline-start:0;inset-block-start:calc(100% + 6px);z-index:300;min-width:100%;width:max-content;max-width:min(280px,calc(calc(100vw / var(--ui-scale)) - 32px));max-height:280px;margin:0;padding:6px;list-style:none;overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-overlay);box-shadow:var(--shadow-hover);animation:filter-menu-in .16s ease-out}.filter-dropdown-menu--portal{position:fixed;inset:auto}@keyframes filter-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-option{width:100%;min-height:38px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:8px;color:var(--ink);background:transparent;font:inherit;font-size:calc(12px * var(--font-scale));text-align:start;cursor:pointer;transition:background .14s ease,color .14s ease}.filter-dropdown-option:hover{background:var(--primary-soft);color:var(--primary)}.filter-dropdown-option.active{background:var(--primary-soft);color:var(--primary);font-weight:500}.filter-dropdown-option i{font-size:calc(11px * var(--font-scale))}.form-select{position:relative;width:100%}.form-dual-check{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.form-dual-check-item{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 12px 8px 10px;border:1px solid var(--border-default, var(--line));border-radius:8px;background:var(--surface-2, rgba(255, 255, 255, .72));color:var(--ink-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,color .16s ease}.form-dual-check-item:hover:not(.is-disabled):not(.is-active){border-color:var(--primary-border);background:var(--surface-1, #fff);color:var(--ink)}.form-dual-check-item:hover:not(.is-disabled):not(.is-active) .form-dual-check-box{border-color:var(--primary-border)}.form-dual-check-item,.form-dual-check-item:focus,.form-dual-check-item:focus-visible,.form-dual-check-item input:focus,.form-dual-check-item input:focus-visible{outline:none}.form-dual-check-item:focus-within:not(.is-disabled){box-shadow:0 0 0 3px #0796ff1f}.form-dual-check-item.is-active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--ink);box-shadow:0 0 0 1px #0796ff1a}.form-dual-check-item.is-active:hover:not(.is-disabled){background:#0796ff2e}.form-dual-check-item.is-disabled{opacity:.55;cursor:not-allowed}.form-dual-check-item input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.form-dual-check-box{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center;border:1.5px solid var(--border-default, var(--line));border-radius:6px;background:var(--surface-1, #fff);color:transparent;font-size:calc(10px * var(--font-scale));transition:border-color .16s ease,background .16s ease,color .16s ease}.form-dual-check-item.is-active .form-dual-check-box{border-color:transparent;background:var(--primary);color:var(--neutral-0, #fff)}.form-dual-check-label{flex:1;min-width:0;font-size:calc(12px * var(--font-scale));font-weight:600;line-height:1.35;color:inherit}.form-check-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;width:100%}.form-check-options--multi{grid-template-columns:repeat(2,minmax(0,1fr))}.form-check-options .form-check-option{min-height:44px}.sfw-field-label-block{display:block;margin-bottom:8px;font-size:calc(13px * var(--font-scale));font-weight:600}@media(max-width:520px){.form-dual-check,.form-check-options,.form-check-options--multi{grid-template-columns:1fr}}[data-theme=dark] .form-dual-check-item{border-color:var(--border-default);background:#13141bb8;color:var(--ink-muted)}[data-theme=dark] .form-dual-check-item:hover:not(.is-disabled):not(.is-active){border-color:var(--primary-border);background:#1c1d26eb;color:var(--ink)}[data-theme=dark] .form-dual-check-item:hover:not(.is-disabled):not(.is-active) .form-dual-check-box{border-color:#7ec5ff73;background:#ffffff14}[data-theme=dark] .form-dual-check-item.is-active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--ink);box-shadow:0 0 0 1px #0796ff24}[data-theme=dark] .form-dual-check-item.is-active:hover:not(.is-disabled){background:#0796ff33}[data-theme=dark] .form-dual-check-box{border-color:var(--border-emphasis);background:#ffffff0f}[data-theme=dark] .form-dual-check-item.is-active .form-dual-check-box{border-color:transparent;background:var(--primary);color:#fff}[data-theme=dark] .form-dual-check-item:focus-within:not(.is-disabled){box-shadow:0 0 0 3px #0796ff24}.form-select-trigger{width:100%;min-height:42px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-default);border-radius:8px;color:var(--ink);background:var(--surface-1);font:inherit;font-size:calc(12px * var(--font-scale));text-align:start;cursor:pointer;box-shadow:0 0 0 3px transparent;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-select.open .form-select-trigger,.form-select-trigger:hover{border-color:var(--primary);background:var(--surface-1)}.form-select.open .form-select-trigger{box-shadow:0 0 0 3px var(--primary-soft)}.form-select-value{min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-select-placeholder{min-width:0;flex:1;color:var(--ink-muted)}.form-select-trigger i{flex:0 0 auto;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));transition:color .16s ease}.form-select.open .form-select-trigger i{color:var(--primary)}.form-search-select-trigger--inline{cursor:text}.form-search-select--stable .form-search-select-chevron{pointer-events:auto}.form-search-select-trigger--inline input,.form-search-select-trigger--inline input:hover,.form-search-select-trigger--inline input:focus{flex:1;min-width:0;min-height:0;width:100%;height:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;outline:none;cursor:text;touch-action:manipulation}.form-search-select-trigger--inline .form-search-select-chevron{pointer-events:none}.form-search-select-chevron{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:0;margin:0;border:0;background:transparent;color:inherit;cursor:pointer}.form-search-select-chevron:disabled{cursor:default}.form-select-native{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.form-select-menu{margin:0;padding:6px;list-style:none;overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-overlay);box-shadow:var(--shadow-hover)}.form-search-select-menu{animation:none}.form-search-select-list{margin:0;padding:6px;list-style:none;overflow-y:auto;max-height:220px}.form-search-select-list>li{list-style:none}.form-select-option{width:100%;min-height:38px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:0;border-radius:8px;color:var(--ink);background:transparent;font:inherit;font-size:calc(12px * var(--font-scale));font-weight:500;text-align:start;cursor:pointer;transition:background .14s ease,color .14s ease}.form-select-option:hover,.form-select-option.active{background:var(--primary-soft);color:var(--primary)}.form-select-option-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.form-select-option-hint{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:500}.form-select.is-disabled .form-select-trigger{opacity:.62;cursor:not-allowed;background:var(--surface-inset)}.form-multi-select{position:relative;width:100%}.form-multi-select-trigger{width:100%;min-height:42px;padding:7px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border-default);border-radius:8px;color:var(--ink);background:var(--surface-1);font:inherit;font-size:calc(12px * var(--font-scale));text-align:start;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-multi-select.open .form-multi-select-trigger,.form-multi-select-trigger:hover{border-color:var(--primary-border);background:var(--surface-1)}.form-multi-select.open .form-multi-select-trigger{box-shadow:0 0 0 3px var(--primary-soft)}.form-multi-select-copy{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1}.form-multi-select-chips{display:flex;flex-wrap:wrap;gap:6px;width:100%}.form-multi-select-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:calc(10px * var(--font-scale));font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-multi-select-chip-more{background:#0796ff1f;color:var(--ink-muted)}.form-multi-select-placeholder{color:var(--ink-muted)}.form-multi-select-summary{color:var(--ink);font-weight:500}.form-multi-select-meta{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;color:var(--ink-muted)}.form-multi-select-count{min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:calc(10px * var(--font-scale));font-weight:600}.form-multi-select-menu{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-overlay);box-shadow:var(--shadow-hover)}.form-multi-select-search{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line-soft)}.form-multi-select-search i{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.form-multi-select-search input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale))}.form-multi-select-list{list-style:none;margin:0;padding:6px;overflow:auto;max-height:220px}.form-multi-select-option{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:background .14s ease,color .14s ease}.form-multi-select-option:hover,.form-multi-select-option.is-selected{background:#0796ff0f}.form-multi-select-check{width:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-muted);flex-shrink:0}.form-multi-select-option.is-selected .form-multi-select-check{color:var(--primary)}.form-multi-select-option-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.form-multi-select-option-copy strong{font-size:calc(12px * var(--font-scale));font-weight:500}.form-multi-select-option-copy small{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.form-multi-select-empty{margin:0;padding:18px 14px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));text-align:center}.form-multi-select-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-top:1px solid var(--line-soft);background:#f1f5fa85}.form-multi-select-action{border:0;background:transparent;color:var(--primary);font:inherit;font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer;padding:4px 6px;border-radius:6px}.form-multi-select-action:hover:not(:disabled){background:var(--primary-soft)}.form-multi-select-action:disabled{opacity:.45;cursor:not-allowed}.form-multi-select-create{width:calc(100% - 16px);margin:0 8px 8px;padding:8px 10px;text-align:start;font-weight:700;background:var(--primary-soft)}.form-multi-select.is-disabled .form-multi-select-trigger{opacity:.58;cursor:not-allowed}.form-select-group-label,.filter-dropdown-group-label{padding:8px 10px 4px;font-size:calc(10px * var(--font-scale));font-weight:700;letter-spacing:.02em;color:var(--ink-muted);text-transform:none;pointer-events:none;-webkit-user-select:none;user-select:none}.form-stage-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-stage-grade.wide{grid-column:1 / -1}.form-stage-grade label{display:grid;gap:6px}@media(max-width:640px){.form-stage-grade{grid-template-columns:1fr}}[data-theme=dark] .form-select.is-disabled .form-select-trigger{background:#13141b73}[data-theme=dark] .form-select-group-label,[data-theme=dark] .filter-dropdown-group-label{color:#ffffff73}[data-theme=dark] .form-select-trigger{background:#13141bb8;border-color:var(--line)}[data-theme=dark] .form-select.open .form-select-trigger,[data-theme=dark] .form-select-trigger:hover{background:#181922e0}[data-theme=dark] .form-select-menu{background:#12131af5;border-color:var(--glass-border)}.form-file-upload{position:relative;width:100%}.form-file-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0;pointer-events:none}.form-file-upload-trigger,.form-file-upload-selected{width:100%;min-height:88px;border:1px dashed var(--line);border-radius:10px;background:#f1f5fa7a;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.form-file-upload-trigger{padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:inherit;font:inherit;text-align:start;cursor:pointer}.form-file-upload.dragging .form-file-upload-trigger,.form-file-upload-trigger:hover{border-color:var(--primary-border);background:#0796ff0d;box-shadow:0 0 0 3px #0796ff14}.form-file-upload-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:var(--primary-soft);font-size:calc(17px * var(--font-scale))}.form-file-upload-copy{min-width:0;display:grid;gap:3px}.form-file-upload-copy strong{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500;line-height:1.45}.form-file-upload-copy small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale));line-height:1.5}.form-file-upload-action{min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--primary-border);border-radius:8px;color:var(--primary);background:var(--surface-1);font-size:calc(10px * var(--font-scale));font-weight:600;white-space:nowrap}.form-file-upload-selected{min-height:54px;padding:8px 8px 8px 12px;display:flex;align-items:center;gap:8px;border-style:solid;background:var(--surface-1)}.form-file-upload.has-file .form-file-upload-selected{border-color:var(--primary-border);box-shadow:var(--shadow-soft)}.form-file-upload-selected-main{min-width:0;flex:1;padding:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.form-file-upload-file-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-soft);font-size:calc(14px * var(--font-scale))}.form-file-upload-name{min-width:0;flex:1;color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-file-upload-change{flex:0 0 auto;color:var(--primary);font-size:calc(9px * var(--font-scale));font-weight:600}.form-file-upload-clear{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--ink-muted);background:var(--surface-1);cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.form-file-upload-clear:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.ops-form-grid .file-field>span,.form-field .form-file-upload{display:block}[data-theme=dark] .form-file-upload-trigger,[data-theme=dark] .form-file-upload-selected{border-color:#cdd2e02e;background:#ffffff06}[data-theme=dark] .form-file-upload.dragging .form-file-upload-trigger,[data-theme=dark] .form-file-upload-trigger:hover{border-color:var(--primary-border);background:#0796ff14;box-shadow:0 0 0 3px #0796ff1f}[data-theme=dark] .form-file-upload-action,[data-theme=dark] .form-file-upload-clear{background:#1c1d26b8;border-color:var(--line)}[data-theme=dark] .form-file-upload.has-file .form-file-upload-selected{background:#181922b8}.filter-date-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.form-date-field{display:grid;gap:8px;min-width:0}.form-date-label{color:var(--ink);font-size:var(--text-sm, 13px);font-weight:600}.form-date-label b,.form-date-field>span b{color:var(--danger)}.form-date-control{position:relative;min-width:0}.form-date-control:has(.form-date-clear) .form-date-trigger{padding-inline-end:40px}.ops-tabs.ops-tabs--attached,.main-content>nav.ops-tabs.profile-tabs.ops-tabs--attached{min-height:0;padding:0;column-gap:0;row-gap:0;border-radius:0}.entity-page:has(>.ops-tabs--attached) .ops-metrics{margin-bottom:8px}.ops-tabs.ops-tabs--attached button{width:auto;flex:0 0 auto;min-height:40px;margin-inline-end:0;padding:9px 20px 10px;border-radius:11px 11px 0 0;color:var(--ink-muted);font-size:calc(12.5px * var(--font-scale, 1));font-weight:700}.ops-tabs.ops-tabs--attached button:not(:first-child){margin-inline-start:-1px}.ops-tabs.ops-tabs--attached button:before,.ops-tabs.ops-tabs--attached button:nth-child(4n+1):before,.ops-tabs.ops-tabs--attached button:nth-child(4n+2):before,.ops-tabs.ops-tabs--attached button:nth-child(4n+3):before,.ops-tabs.ops-tabs--attached button:nth-child(4n+4):before{border:1px solid var(--border-default);border-bottom:0;border-radius:11px 11px 0 0;background:var(--surface-1);box-shadow:none}.ops-tabs.ops-tabs--attached button:hover:before{background:color-mix(in srgb,var(--surface-1) 88%,var(--primary));border-color:color-mix(in srgb,var(--border-default) 70%,var(--primary))}.ops-tabs.ops-tabs--attached button.active{color:#fff}.ops-tabs.ops-tabs--attached button.active:before,.ops-tabs.ops-tabs--attached button.active:hover:before{background:var(--primary);border-color:var(--primary);box-shadow:none}.ops-tabs.ops-tabs--attached button.active b{background:#ffffff38;color:#fff}.ops-tabs.ops-tabs--attached+.ops-workspace{margin-top:0;border-start-start-radius:0}.form-date-typed{width:100%;min-height:44px;padding:0 14px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-control, 10px);color:var(--ink);background:var(--surface-1);box-shadow:inset 0 1px #ffffffb8;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em;text-align:start;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-time-typed{letter-spacing:.08em}.form-date-typed::placeholder{color:var(--muted, #94a3b8);letter-spacing:normal}.form-date-typed:hover{border-color:var(--primary-border)}.form-date-typed:focus{outline:none;border-color:var(--primary);background:var(--surface-2, rgba(255, 255, 255, .96));box-shadow:0 0 0 3px #3b82f624}.form-date-control:has(.form-date-clear) .form-date-typed{padding-right:34px;padding-left:14px}.form-date-control .form-date-clear{inset-inline:auto;right:6px;left:auto}[data-theme=dark] .form-date-typed{background:#0f172a8c;border-color:#94a3b83d;color:#e2e8f0;box-shadow:none}[data-theme=dark] .form-date-typed::placeholder{color:#64748b}.form-date-trigger{width:100%;min-height:44px;padding:0 14px;display:flex;align-items:center;gap:10px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-control, 10px);color:var(--ink);background:var(--surface-1);box-shadow:inset 0 1px #ffffffb8;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;font:inherit}.form-date-trigger:hover,.form-date-field.open .form-date-trigger,.form-date-field:focus-within .form-date-trigger{border-color:var(--primary-border);background:var(--surface-2, rgba(255, 255, 255, .96))}.form-date-field.open .form-date-trigger,.form-date-field:focus-within .form-date-trigger{box-shadow:0 0 0 3px #0796ff1f}.form-date-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale))}.form-date-value{flex:1;min-width:0;text-align:start;font-size:calc(13px * var(--font-scale));font-weight:500;white-space:nowrap;overflow:visible;text-overflow:clip;font-variant-numeric:tabular-nums;letter-spacing:.01em}.form-date-trigger{overflow:visible}.form-date-value.is-placeholder{color:var(--ink-muted);font-weight:400}.form-date-chevron{color:var(--ink-muted);font-size:var(--text-xs, 12px)}.form-date-hint{color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:400;line-height:1.5}.ops-form-grid .form-date-wrap{display:grid;gap:0;height:auto;padding:0;border:0;background:transparent;box-shadow:none;align-items:stretch}.ops-form-grid .form-date-wrap .form-date-field{gap:8px}.ops-form-grid .form-date-wrap .form-date-label{font-size:var(--text-sm, 13px)}.ops-form-grid .form-date-wrap .form-date-trigger{min-height:44px;border-radius:10px;font-size:var(--text-sm, 13px)}.ops-form-grid .form-date-wrap .form-date-hint{margin-top:2px}.form-date-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.form-date-clear{position:absolute;top:50%;inset-inline-end:34px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:7px;color:var(--ink-muted);background:transparent;transform:translateY(-50%);cursor:pointer;transition:color .16s ease,background .16s ease}.form-date-clear:hover{color:var(--danger);background:var(--danger-soft)}.form-date-calendar-popover{animation:form-date-pop-in .18s cubic-bezier(.2,.75,.25,1);z-index:10001}@keyframes form-date-pop-in{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.form-date-calendar{display:grid;gap:14px;padding:16px;border:1px solid var(--glass-border, var(--border-default, var(--line)));border-radius:16px;color:var(--ink);background:var(--surface-1);box-shadow:0 24px 64px #0f172a2e,0 2px 8px #0f172a0f;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%)}.form-date-calendar-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-date-calendar-quick-field{display:grid;gap:6px;font-size:var(--text-xs, 12px);color:var(--ink-muted)}.form-date-calendar-select{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border-default, var(--line));border-radius:10px;font-size:var(--text-sm, 13px);color:var(--ink);background:var(--surface-2, rgba(255, 255, 255, .72))}.form-date-calendar-header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px}.form-date-calendar-title{margin:0;text-align:center;font-size:calc(14px * var(--font-scale));font-weight:600;line-height:1.35}.form-date-calendar-nav{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border-default, var(--line));border-radius:10px;color:var(--ink-muted);background:var(--surface-2, rgba(255, 255, 255, .72));cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}.form-date-calendar-nav:hover:not(:disabled){border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}.form-date-calendar-nav:disabled{opacity:.38;cursor:default}.form-date-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.form-date-calendar-weekdays span{text-align:center;color:var(--ink-muted);font-size:var(--text-xs, 12px);font-weight:600}.form-date-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.form-date-calendar-day{min-height:40px;display:grid;place-items:center;border:1px solid transparent;border-radius:10px;color:var(--ink);background:transparent;font-size:var(--text-sm, 13px);font-weight:500;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}.form-date-calendar-day:hover:not(:disabled){border-color:var(--primary-border);background:var(--primary-soft);color:var(--primary)}.form-date-calendar-day.is-outside{color:var(--ink-muted);opacity:.55}.form-date-calendar-day.is-today:not(.is-selected){border-color:var(--primary-border);color:var(--primary);background:#0796ff14}.form-date-calendar-day.is-selected{border-color:var(--primary);color:#fff;background:linear-gradient(180deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 28%,transparent)}.form-date-calendar-day.is-disabled{opacity:.28;cursor:default}.form-date-calendar-footer{display:grid;gap:10px;padding-top:8px;border-top:1px solid var(--border-subtle, var(--line-soft))}.form-date-calendar-actions{display:flex;align-items:center;gap:8px}.form-date-calendar-presets{display:flex;flex-wrap:wrap;gap:6px}.form-date-calendar-preset{min-height:32px;padding:0 10px;border:1px solid color-mix(in srgb,var(--primary, #0796FF) 16%,transparent);border-radius:999px;background:color-mix(in srgb,var(--primary, #0796FF) 6%,var(--surface-1));color:var(--primary, #0796FF);font:inherit;font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease}.form-date-calendar-preset:hover:not(:disabled){background:color-mix(in srgb,var(--primary, #0796FF) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--primary, #0796FF) 28%,transparent)}.form-date-calendar-preset:disabled{opacity:.4;cursor:default}.form-date-calendar-action{min-height:36px;padding:0 14px;border:1px solid var(--border-default, var(--line));border-radius:9px;color:var(--ink-muted);background:transparent;font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease}.form-date-calendar-action:hover:not(:disabled){border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}.form-date-calendar-action:disabled{opacity:.4;cursor:default}.form-money-field{display:grid;gap:8px;min-width:0}.form-money-field>span{color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:500}.form-money-field>span b{color:var(--danger)}.form-money-input-wrap{display:flex;align-items:center;min-height:44px;padding-inline:6px 12px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-control, 10px);background:var(--surface-1);box-shadow:inset 0 1px #ffffffb8;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.form-money-field:focus-within .form-money-input-wrap{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.form-money-icon{width:32px;height:32px;flex:0 0 32px;margin-inline-end:8px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale))}.form-money-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(14px * var(--font-scale));font-weight:600}.form-money-input::placeholder{color:var(--ink-muted);font-weight:400}.form-money-input::-webkit-outer-spin-button,.form-money-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.form-money-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form-money-currency{flex:0 0 auto;min-height:28px;padding-inline-start:12px;margin-inline-start:8px;display:flex;align-items:center;border-inline-start:1px solid var(--line-soft);color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.form-money-field>small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:400;line-height:1.45}.wizard-parent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.wizard-parent-card{display:grid;gap:12px;align-self:start;height:auto;padding:14px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card)}.wizard-parent-card.is-disabled{opacity:.72;gap:0}.wizard-parent-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-parent-card-header h4{margin:0;display:flex;align-items:center;gap:8px;font-size:calc(14px * var(--font-scale));font-weight:600}.wizard-parent-card-header h4 i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(12px * var(--font-scale))}.wizard-parent-skip-note{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.45}.wizard-parent-card .ops-form-grid{margin-top:2px}.student-guardians-section{gap:16px}.student-guardians-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-guardians-head p{margin:6px 0 0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.45}.student-guardians-count{flex:0 0 auto;min-height:28px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid var(--border-default, var(--line));border-radius:999px;color:var(--ink-muted);background:var(--surface-2, var(--neutral-100));font-size:calc(11px * var(--font-scale));font-weight:600}.student-guardians-list{display:grid;gap:12px}.student-guardian-block{display:grid;gap:0;overflow:hidden;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card);transition:border-color .16s ease,box-shadow .16s ease}.student-guardian-block.is-active{border-color:var(--primary-border)}.student-guardian-block.is-complete.is-active{box-shadow:0 0 0 1px #0796ff14,var(--shadow-card)}.student-guardian-block-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.student-guardian-identity{display:flex;align-items:center;gap:12px;min-width:0}.student-guardian-avatar{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:var(--primary-soft);font-size:calc(15px * var(--font-scale))}.student-guardian-identity strong{display:block;font-size:calc(14px * var(--font-scale));font-weight:600;line-height:1.35}.student-guardian-identity p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.4}.student-guardian-toggle{flex:0 0 auto}.student-guardian-block-body{padding:0 14px 14px;border-top:1px solid var(--line-soft);background:var(--surface-2, var(--neutral-100))}.student-guardian-fields{padding-top:14px}.student-guardian-empty{margin:0;padding:0 14px 14px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.student-guardian-primary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px dashed var(--primary-border);border-radius:12px;background:var(--primary-soft)}.student-guardian-primary strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:600}.student-guardian-primary p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.4}.student-guardian-primary-options{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border-default, var(--line));border-radius:10px;background:var(--surface-1)}.student-guardian-primary-options button{min-width:72px;min-height:34px;padding:0 12px;border:0;border-radius:8px;color:var(--ink-muted);background:transparent;font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:color .16s ease,background .16s ease,box-shadow .16s ease}.student-guardian-primary-options button:hover{color:var(--primary);background:#0796ff14}.student-guardian-primary-options button.active{color:#fff;background:linear-gradient(180deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:0 6px 14px color-mix(in srgb,var(--primary) 24%,transparent)}@media(max-width:767px){.student-guardians-head,.student-guardian-block-head,.student-guardian-primary{flex-direction:column;align-items:stretch}.student-guardian-primary-options{width:100%}.student-guardian-primary-options button{flex:1}.student-guardian-fields{grid-template-columns:1fr}}[data-theme=dark] .student-guardian-block-body{background:#ffffff06}[data-theme=dark] .student-guardian-primary{background:#8c72ff1f}[data-theme=dark] .student-guardians-count{background:#ffffff0a}.wizard-inline-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none}.wizard-inline-toggle input{position:absolute;opacity:0;pointer-events:none}.wizard-checkbox-ui{width:18px;height:18px;flex:0 0 18px;display:grid;place-items:center;border:1.5px solid var(--border-default, var(--line));border-radius:5px;background:var(--surface-1);transition:border-color .16s ease,background .16s ease}.wizard-inline-toggle input:checked+.wizard-checkbox-ui{border-color:var(--primary);background:var(--primary);color:#fff}.wizard-inline-toggle input:checked+.wizard-checkbox-ui:after{content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:calc(10px * var(--font-scale))}.wizard-toggle-field{display:grid;gap:12px;padding:14px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card)}.wizard-toggle-field-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.wizard-toggle-field-head strong{font-size:calc(14px * var(--font-scale));font-weight:600}.wizard-toggle-field-head p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.45}.wizard-toggle-field-body{padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2, var(--neutral-100))}.wizard-toggle-field-body .form-money-field{margin:0}.wizard-toggle-field-body label{display:grid;gap:8px}.wizard-toggle-field-body span{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:500}@media(max-width:767px){.wizard-parent-grid{grid-template-columns:1fr}}[data-theme=dark] .form-date-trigger{color:var(--ink);background:#13141bb8;border-color:var(--border-default, var(--line));box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .form-date-trigger:hover,[data-theme=dark] .form-date-field.open .form-date-trigger,[data-theme=dark] .form-date-field:focus-within .form-date-trigger{color:var(--ink);background:#181922eb;border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .form-date-value.is-placeholder,[data-theme=dark] .form-date-chevron{color:#ffffff73}[data-theme=dark] .ops-form-grid .form-date-trigger{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .ops-form-grid .form-date-field.open .form-date-trigger,[data-theme=dark] .ops-form-grid .form-date-trigger:hover,[data-theme=dark] .ops-form-grid .form-date-field:focus-within .form-date-trigger{background:#20212ceb;border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .form-date-calendar{background:var(--surface-1);border-color:var(--border-default);box-shadow:0 24px 70px #0000008c}[data-theme=dark] .form-date-calendar-nav{background:#ffffff0a}[data-theme=dark] .form-date-icon{background:#8c72ff29}[data-theme=dark] .form-date-calendar-day.is-today:not(.is-selected){background:#8c72ff24}[data-theme=dark] .form-date-calendar-action{background:#ffffff0a;border-color:var(--border-default);color:#ffffffb8}[data-theme=dark] .form-date-calendar-action:hover:not(:disabled){background:#8c72ff24;border-color:var(--primary-border);color:var(--primary)}[data-theme=dark] .form-money-input-wrap{background:#ffffff09;box-shadow:none}[data-theme=dark] .wizard-parent-card,[data-theme=dark] .wizard-toggle-field{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .wizard-toggle-field-body{background:#ffffff06;border-color:var(--border-subtle)}.control-panel .filter-dropdown,.control-panel .filter-date{min-width:0}.control-panel .filter-dropdown-trigger,.student-filters .filter-dropdown-trigger{min-width:132px}.control-panel .filter-dropdown-trigger{width:100%}.ops-table-wrap{overflow-x:auto}.schedule-grid-wrap{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.schedule-grid-wrap::-webkit-scrollbar{display:none;width:0;height:0}.schedule-grid{display:grid;grid-template-columns:80px repeat(var(--schedule-cols, 1),minmax(60px,1fr));gap:6px;min-width:100%;padding:12px}.schedule-grid-row{display:contents}.schedule-grid-corner,.schedule-grid-head,.schedule-grid-period{display:grid;align-content:center;gap:2px;min-height:40px;padding:6px 8px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.schedule-grid-corner{color:var(--ink-muted);font-size:calc(10px * var(--font-scale));text-align:center}.schedule-grid-corner span{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500}.schedule-grid-head{text-align:center;color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500;line-height:1.45}.schedule-grid-period{justify-items:start}.schedule-grid-period strong{font-size:calc(12px * var(--font-scale));font-weight:500}.schedule-grid-period small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale));line-height:1.35}.schedule-grid-cell{min-height:132px}.schedule-grid-cell.is-empty{display:grid;place-items:center;border:1px dashed var(--line-soft);border-radius:12px;background:#ffffff38}.schedule-empty-slot{color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.schedule-lesson-card{width:100%;min-height:176px;height:100%;padding:14px;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:10px;border:1px solid var(--glass-border);border-radius:12px;color:var(--ink);text-align:start;background:#ffffff9e;box-shadow:inset 0 1px #ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.schedule-lesson-card:hover{transform:translateY(-1px);border-color:var(--primary-border);background:#ffffffc7;box-shadow:var(--shadow-hover)}.schedule-lesson-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.schedule-lesson-chip{padding:4px 8px;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:calc(9px * var(--font-scale));font-weight:600;white-space:nowrap}.schedule-lesson-title{margin:0;font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.45}.schedule-lesson-class{margin:-4px 0 0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.4}.schedule-lesson-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.schedule-lesson-meta-item{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:8px;min-height:44px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:9px;background:#ffffff7a}.schedule-lesson-meta-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(10px * var(--font-scale))}.schedule-lesson-meta-item span:last-child{display:grid;gap:2px;min-width:0}.schedule-lesson-meta-item small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale));line-height:1.2}.schedule-lesson-meta-item b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(10px * var(--font-scale));font-weight:500;line-height:1.35}.schedule-lesson-footer{display:flex;align-items:center;gap:7px;padding-top:8px;border-top:1px solid var(--line-soft);color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.schedule-lesson-footer i{color:var(--primary);font-size:calc(10px * var(--font-scale))}.schedule-lesson-detail{display:grid;gap:16px}.schedule-lesson-detail-hero{display:grid;grid-template-columns:44px 1fr auto;align-items:start;gap:12px;padding:16px;border:1px solid var(--glass-border);border-radius:12px;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.schedule-lesson-detail-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(16px * var(--font-scale))}.schedule-lesson-detail-copy{display:grid;gap:4px;min-width:0}.schedule-lesson-detail-copy p{margin:0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.schedule-lesson-detail-copy h3{margin:0;font-size:calc(16px * var(--font-scale));font-weight:600;line-height:1.4}.schedule-lesson-detail-copy span{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.schedule-lesson-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.schedule-lesson-detail-grid>div{min-height:68px;padding:13px 14px;display:grid;align-content:center;gap:5px;border:1px solid var(--glass-border);border-radius:10px;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.schedule-lesson-detail-grid small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.schedule-lesson-detail-grid strong{font-size:calc(12px * var(--font-scale));font-weight:500;line-height:1.45}[data-theme=dark] .schedule-grid-corner,[data-theme=dark] .schedule-grid-head,[data-theme=dark] .schedule-grid-period{background:#1b1c25eb;border-color:#7ec5ff1a;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .schedule-grid-cell.is-empty{background:#0e10188c}[data-theme=dark] .schedule-lesson-card{background:#121620d1;border-color:#7ec5ff1a;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .schedule-lesson-card:hover{background:#1b1c25eb;border-color:#0796ff38}[data-theme=dark] .schedule-lesson-meta-item,[data-theme=dark] .schedule-lesson-detail-hero,[data-theme=dark] .schedule-lesson-detail-grid>div{background:#23242e9e;box-shadow:inset 0 1px #ffffff0d}@media(max-width:720px){.schedule-grid{grid-template-columns:92px repeat(var(--schedule-cols, 1),minmax(148px,1fr));gap:6px;padding:12px}.schedule-grid-cell,.schedule-lesson-card{min-height:124px}.schedule-lesson-meta{grid-template-columns:1fr}.schedule-lesson-detail-hero{grid-template-columns:40px 1fr}.schedule-lesson-detail-hero .ops-status{grid-column:1 / -1;justify-self:start}.schedule-lesson-detail-grid{grid-template-columns:1fr}}.attendance-picker-wrap{padding:0}.attendance-picker{display:grid;gap:16px;padding:16px}.attendance-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 12px;border:none;border-radius:10px;background:var(--surface-sunken)}.attendance-breadcrumb button,.attendance-breadcrumb span{min-height:30px;padding:0 10px;display:inline-flex;align-items:center;border:0;border-radius:7px;color:var(--ink-muted);background:transparent;font:inherit;font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer}.attendance-breadcrumb button:hover,.attendance-breadcrumb .active{color:var(--primary);background:var(--primary-soft)}.attendance-breadcrumb i{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.attendance-grid{display:grid;gap:12px}.attendance-grid--grades,.attendance-grid--sections{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.attendance-grid--students{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.attendance-roll-wrap{border:none;border-radius:12px;overflow:auto;background:var(--surface-sunken)}.attendance-roll-wrap--clean{border-radius:14px;border-color:var(--line-soft);background:var(--surface-1, rgba(255, 255, 255, .72));box-shadow:0 1px 2px #0f172a0a}.attendance-roll-table{width:100%;border-collapse:collapse}.attendance-roll-table--clean{min-width:0}.attendance-roll-table--clean thead th{padding:10px 16px;font-size:calc(10px * var(--font-scale));font-weight:600;letter-spacing:.02em;color:var(--ink-muted);text-align:start;border-bottom:1px solid var(--line-soft);background:transparent;white-space:nowrap}.attendance-roll-table--clean tbody td{padding:14px 16px;font-size:calc(12px * var(--font-scale));vertical-align:middle;border-bottom:1px solid var(--line-soft)}.attendance-roll-table--clean tbody tr:last-child td{border-bottom:0}.attendance-roll-table--clean .attendance-roll-row{transition:background .14s ease}.attendance-roll-table--clean .attendance-roll-row:hover{background:#0796ff08}.attendance-roll-table--clean .attendance-roll-row--present{box-shadow:inset 3px 0 0 var(--success)}.attendance-roll-table--clean .attendance-roll-row--absent{box-shadow:inset 3px 0 0 var(--danger)}.attendance-roll-table--clean .attendance-roll-row--late{box-shadow:inset 3px 0 0 var(--warning)}.attendance-roll-table--clean .attendance-roll-row--excused{box-shadow:inset 3px 0 0 var(--info)}.attendance-roll-table--clean .attendance-roll-row--unmarked{box-shadow:inset 3px 0 0 var(--line)}.attendance-roll-student{display:flex;align-items:center;gap:12px;min-width:200px}.attendance-roll-index{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-muted);background:var(--neutral-100, rgba(0, 0, 0, .04))}.attendance-roll-student-copy{display:grid;gap:2px;min-width:0}.attendance-roll-student-copy strong{font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.35}.attendance-roll-student-copy small{font-size:calc(10px * var(--font-scale));color:var(--ink-muted)}.attendance-roll-col-status{width:140px}.attendance-roll-col-time{width:96px;text-align:start}.attendance-roll-time{font-size:calc(12px * var(--font-scale));font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}.attendance-roll-note{max-width:280px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.45}.attendance-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:600;line-height:1;white-space:nowrap}.attendance-status-pill i{font-size:calc(10px * var(--font-scale));opacity:.9}.attendance-status-pill--present{color:var(--success);background:var(--success-soft)}.attendance-status-pill--absent{color:var(--danger);background:var(--danger-soft)}.attendance-status-pill--late{color:var(--warning);background:var(--warning-soft)}.attendance-status-pill--excused{color:var(--info);background:var(--info-soft)}.attendance-status-pill--early{color:var(--warning);background:var(--warning-soft)}.attendance-status-pill--unmarked{color:var(--ink-muted);background:var(--neutral-100)}.attendance-status-segment{display:inline-flex;flex-wrap:wrap;gap:4px;padding:3px;border-radius:10px;background:var(--neutral-100, rgba(0, 0, 0, .04))}.attendance-status-segment-btn{padding:5px 8px;border:0;border-radius:7px;font:inherit;font-size:calc(10px * var(--font-scale));font-weight:600;color:var(--ink-muted);background:transparent;cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.attendance-status-segment-btn:hover{color:var(--ink);background:#ffffffd9}.attendance-status-segment-btn.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0f172a14}.attendance-status-segment-btn--present.is-active{color:var(--success)}.attendance-status-segment-btn--absent.is-active{color:var(--danger)}.attendance-status-segment-btn--late.is-active{color:var(--warning)}.attendance-status-segment-btn--excused.is-active{color:var(--info)}.attendance-status-segment-btn--early.is-active{color:color-mix(in srgb,var(--warning) 70%,var(--danger))}.attendance-roll-col-action,.attendance-roll-action{width:88px;text-align:end;white-space:nowrap}.attendance-roll-table thead th{padding:12px 14px;font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted);text-align:center;border-bottom:1px solid var(--line-soft);background:#ffffff59;white-space:nowrap}.attendance-roll-table thead th:first-child{text-align:start;min-width:220px}.attendance-roll-table tbody tr{border-bottom:1px solid var(--line-soft);transition:background .14s ease}.attendance-roll-table tbody tr:last-child{border-bottom:0}.attendance-roll-table tbody tr:hover{background:#1d6bff0a}.attendance-roll-table tbody td{padding:12px 14px;vertical-align:middle}.attendance-roll-row--present{--roll-accent: var(--success)}.attendance-roll-row--absent{--roll-accent: var(--danger)}.attendance-roll-row--late{--roll-accent: var(--warning)}.attendance-roll-row--excused{--roll-accent: var(--info)}.attendance-roll-row--unmarked{--roll-accent: var(--line)}.attendance-roll-check{text-align:center;width:88px}.attendance-roll-option{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.attendance-roll-option input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.attendance-roll-box{width:18px;height:18px;display:grid;place-items:center;border:2px solid var(--line);border-radius:5px;background:#fffc;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.attendance-roll-option:hover .attendance-roll-box{border-color:var(--primary-border)}.attendance-roll-option input:checked+.attendance-roll-box{border-color:var(--roll-accent, var(--primary));background:color-mix(in srgb,var(--roll-accent, var(--primary)) 14%,white);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--roll-accent, var(--primary)) 35%,transparent)}.attendance-roll-option--present input:checked+.attendance-roll-box{--roll-accent: var(--success)}.attendance-roll-option--absent input:checked+.attendance-roll-box{--roll-accent: var(--danger)}.attendance-roll-option--late input:checked+.attendance-roll-box{--roll-accent: var(--warning)}.attendance-roll-option--excused input:checked+.attendance-roll-box{--roll-accent: var(--info)}.attendance-roll-option input:checked+.attendance-roll-box:after{content:"";width:5px;height:9px;margin-top:-1px;border:solid var(--roll-accent, var(--primary));border-width:0 2px 2px 0;transform:rotate(45deg)}.attendance-roll-action{width:96px;text-align:end;white-space:nowrap}[data-theme=dark] .attendance-roll-wrap{background:#121620c7;border-color:#7ec5ff1a}[data-theme=dark] .attendance-roll-table thead th{background:#0796ff0f}[data-theme=dark] .attendance-roll-box{background:#0796ff1a;border-color:#7ec5ff24}@media(max-width:860px){.attendance-roll-wrap{overflow-x:auto}.attendance-roll-table:not(.attendance-roll-table--clean){min-width:640px}.attendance-roll-table--clean{min-width:520px}}.attendance-pick-card{min-height:148px;padding:14px;display:grid;gap:6px;align-content:start;border:1px solid var(--border-subtle);border-radius:12px;color:var(--ink);text-align:start;background:var(--surface-1);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.attendance-pick-card:hover{transform:translateY(-1px);border-color:var(--primary-border);background:var(--surface-1);box-shadow:var(--shadow-hover)}.attendance-pick-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale))}.attendance-pick-card strong{font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.4}.attendance-pick-card>small{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.attendance-pick-meta{margin-top:auto;padding-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-top:1px solid var(--line-soft)}.attendance-pick-meta>span{display:grid;gap:2px}.attendance-pick-meta b{font-size:calc(14px * var(--font-scale));font-weight:600}.attendance-pick-meta small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.attendance-section-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;border:none;border-radius:12px;background:var(--surface-sunken)}.attendance-section-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}.attendance-section-stats{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.attendance-section-bar strong{display:block;font-size:calc(14px * var(--font-scale));font-weight:600}.attendance-section-bar p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.attendance-section-bar--readonly{grid-template-columns:minmax(0,1fr)}.attendance-readonly-note{margin:0;padding:8px 12px;border-radius:10px;background:var(--info-soft);color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:500;display:inline-flex;align-items:center;gap:8px;justify-self:start}[data-theme=dark] .attendance-roll-wrap--clean{background:#121620c7;border-color:#7ec5ff1a;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .attendance-roll-index{background:#0796ff1a;color:#7ec5ff}[data-theme=dark] .attendance-status-segment{background:#0e1018b8;border-color:#7ec5ff1a}[data-theme=dark] .attendance-status-segment-btn.is-active{background:#0796ff24;color:#7ec5ff;box-shadow:inset 0 0 0 1px #0796ff33}[data-theme=dark] .attendance-roll-table--clean .attendance-roll-row:hover{background:#0796ff0f}.attendance-section-stats--clean{gap:6px}.attendance-summary-chip{display:inline-flex;align-items:baseline;gap:6px;padding:6px 10px;border-radius:999px;font-size:calc(10px * var(--font-scale));background:var(--neutral-100)}.attendance-summary-chip b{font-size:calc(13px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.attendance-summary-chip small{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.attendance-summary-chip--present b{color:var(--success)}.attendance-summary-chip--absent b{color:var(--danger)}.attendance-summary-chip--late b{color:var(--warning)}.attendance-summary-chip--excused b{color:var(--info)}.attendance-summary-chip--neutral b{color:var(--ink-muted)}.attendance-stat{min-width:64px;padding:8px 10px;display:grid;gap:2px;justify-items:center;border-radius:9px;background:var(--neutral-100)}.attendance-stat b{font-size:calc(14px * var(--font-scale));font-weight:600}.attendance-stat small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.attendance-stat--present{color:var(--success);background:var(--success-soft)}.attendance-stat--absent{color:var(--danger);background:var(--danger-soft)}.attendance-stat--late{color:var(--warning);background:var(--warning-soft)}.attendance-stat--excused{color:var(--info);background:var(--info-soft)}.attendance-stat--neutral{color:var(--ink-muted);background:var(--neutral-100)}.attendance-student-card{min-height:168px;padding:14px;display:grid;gap:12px;border:1px solid var(--glass-border);border-radius:12px;background:#ffffff9e;box-shadow:inset 0 1px #ffffffe0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.attendance-student-card--present{border-color:#43b75d38}.attendance-student-card--absent{border-color:#ee443f38}.attendance-student-card--late{border-color:#f4792038}.attendance-student-card--excused{border-color:#1d6bff38}.attendance-student-card--unmarked{border-style:dashed}.attendance-student-head{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px}.attendance-student-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(11px * var(--font-scale));font-weight:600}.attendance-student-head strong{display:block;font-size:calc(12px * var(--font-scale));font-weight:600;line-height:1.35}.attendance-student-head small{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.attendance-status-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.attendance-status-picker button{min-height:34px;padding:0 6px;border:1px solid var(--line-soft);border-radius:8px;color:var(--ink-muted);background:#ffffff7a;font:inherit;font-size:calc(9px * var(--font-scale));font-weight:600;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.attendance-status-picker button:hover{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.attendance-status-picker button.active{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.attendance-student-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--line-soft);color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.attendance-student-footer i{color:var(--primary);margin-inline-end:4px}[data-theme=dark] .attendance-breadcrumb,[data-theme=dark] .attendance-pick-card,[data-theme=dark] .attendance-section-bar,[data-theme=dark] .attendance-student-card{background:#121620c7;border-color:#7ec5ff1a;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .attendance-pick-card:hover{border-color:#0796ff47;background:#1b1c25e0;box-shadow:0 4px 16px #0796ff1a}[data-theme=dark] .attendance-pick-icon,[data-theme=dark] .attendance-breadcrumb button:hover,[data-theme=dark] .attendance-breadcrumb .active{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .attendance-status-picker button{background:#1b1c25e0;border-color:#7ec5ff1a}@media(max-width:720px){.attendance-picker{padding:12px;gap:12px}.attendance-section-bar{grid-template-columns:1fr}.attendance-section-actions{width:100%;justify-content:stretch}.attendance-section-actions .primary-button,.attendance-section-actions .secondary-button{flex:1}.attendance-grid--grades,.attendance-grid--sections,.attendance-grid--students{grid-template-columns:1fr}.attendance-status-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-student-footer{align-items:stretch;flex-direction:column}}.ops-table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}.ops-table th,.ops-table td{padding:12px 14px;text-align:start;border-bottom:1px solid var(--line-soft);font-size:var(--table-cell, 13px);vertical-align:middle}.ops-table th{color:var(--ink-muted);background:var(--surface-2);font-size:var(--table-head, 12px);font-weight:500;white-space:nowrap}.ops-table td{background:var(--surface-1)}.ops-table tbody tr{transition:background .15s ease}table.ops-table:not(.table-no-row-open):not(.permission-table) tbody tr:has(.ops-actions button,.row-actions button),table.ops-table:not(.table-no-row-open):not(.permission-table) tbody tr.table-row-clickable,table.data-table tbody tr.table-row-clickable,table.students-table tbody tr,table.staff-table tbody tr{cursor:pointer}.ops-table tbody tr:hover td{background:#0796ff09}.ops-table tbody tr:last-child td{border-bottom:0}.ops-table strong{font-size:var(--text-sm, 13px);font-weight:500}.ops-table small{color:var(--ink-muted);font-size:var(--table-meta, 12px)}.ops-row-title{display:flex;align-items:center;gap:10px;min-width:190px}.ops-row-icon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:6px;color:var(--primary);background:var(--primary-soft)}.ops-row-title div{display:grid;gap:2px}table.classes-table.ops-table{min-width:500px}table.classes-table.ops-table th,table.classes-table.ops-table td{padding:10px 6px;white-space:nowrap}table.classes-table.ops-table .ops-row-title{min-width:100px;gap:6px}table.classes-table.ops-table .ops-row-icon{width:24px;height:24px;flex:0 0 24px;font-size:calc(11px * var(--font-scale))}.ops-status{width:max-content;padding:5px 9px;display:inline-flex;align-items:center;gap:5px;border-radius:6px;color:var(--ink-muted);background:var(--neutral-100);font-size:var(--badge-text, 11px);font-weight:500;white-space:nowrap}.ops-status>span{width:5px;height:5px;border-radius:50%;background:currentColor}.ops-status.primary{color:var(--primary);background:var(--primary-soft)}.ops-status.success{color:var(--success);background:var(--success-soft)}.ops-status.warning{color:var(--warning);background:var(--warning-soft)}.ops-status.danger{color:var(--danger);background:var(--danger-soft)}.ops-status.info{color:var(--info);background:var(--info-soft)}.ops-status.neutral{color:var(--ink-muted);background:var(--neutral-100)}.ops-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px}.exam-row-actions{flex-wrap:wrap;justify-content:flex-start;gap:6px}.ops-actions .icon-button{width:32px;height:32px;border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-soft)}.ops-progress{min-width:120px;display:flex;align-items:center;gap:8px}.ops-progress span{height:6px;flex:1;overflow:hidden;border-radius:6px;background:var(--neutral-100)}.ops-progress i{display:block;height:100%;border-radius:inherit;background:var(--success)}.ops-progress b{font-size:var(--text-xs, 12px)}.ops-empty{padding:54px 18px}.ops-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden;overscroll-behavior:none;background:var(--overlay-backdrop);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:ops-fade-in .16s ease-out}.export-output-dialog-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-modal-backdrop) + 20);display:grid;place-items:center;padding:20px;background:var(--overlay-backdrop);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:ops-fade-in .16s ease-out}.export-output-dialog{position:relative;width:min(440px,100%);padding:24px 22px 20px;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-1, #fff);box-shadow:var(--shadow-hover, 0 24px 60px rgba(7, 11, 80, .18));text-align:center}.export-output-dialog-close{position:absolute;inset-block-start:14px;inset-inline-end:14px}.export-output-dialog-icon{width:52px;height:52px;margin:0 auto 14px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:var(--primary-soft);font-size:calc(20px * var(--font-scale))}.export-output-dialog h2{margin:0 0 8px;color:var(--ink);font-size:calc(18px * var(--font-scale));font-weight:700}.export-output-dialog-subtitle{margin:0 0 18px;color:var(--ink-muted);font-size:var(--text-sm, 13px);line-height:1.55}.export-output-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.export-output-choice{display:flex;align-items:center;gap:12px;padding:14px 12px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-2, #f1f5fa);color:var(--ink);text-align:start;font:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.export-output-choice:hover{border-color:var(--primary-border, #b3e0ff);background:var(--primary-soft);transform:translateY(-1px)}.export-output-choice-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;background:var(--surface-1, #fff);color:var(--primary);font-size:calc(16px * var(--font-scale))}.export-output-choice.print .export-output-choice-icon{color:var(--success)}.export-output-choice.whatsapp .export-output-choice-icon{color:#25d366}.export-output-dialog-actions.is-share{grid-template-columns:1fr}.export-output-progress{width:100%;height:8px;margin:2px 0 10px;overflow:hidden;border-radius:999px;background:var(--surface-2, #eef2f8)}.export-output-progress-fill{display:block;width:100%;height:8px;transform:scaleX(var(--export-progress-ratio, 0));transform-origin:right center;background-color:var(--primary, #0796FF);border-radius:inherit;transition:transform .18s ease-out}[dir=ltr] .export-output-progress-fill{transform-origin:left center}.export-output-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:var(--ink-muted);font-size:var(--text-xs, 12px);text-align:start}.export-output-progress-meta strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:800}[data-theme=dark] .export-output-progress{background:#ffffff14}.export-output-choice strong{display:block;font-size:var(--text-sm, 13px);font-weight:700}.export-output-choice small{display:block;margin-top:3px;color:var(--ink-muted);font-size:var(--text-xs, 12px);line-height:1.4}[data-theme=dark] .export-output-dialog{background:var(--surface-1, #16171f);border-color:#ffffff14}[data-theme=dark] .export-output-choice{background:#ffffff0a;border-color:#ffffff14}@media(max-width:520px){.export-output-dialog-actions{grid-template-columns:1fr}}.ops-dialog{width:min(680px,100%);max-height:min(760px,calc(calc(100dvh / var(--ui-scale)) - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-default, var(--glass-border));border-radius:var(--radius-card);background:var(--page-bg);box-shadow:0 30px 90px #070b5033;animation:ops-dialog-in .2s cubic-bezier(.2,.75,.25,1)}.ops-dialog>header,.ops-side-panel>header{min-height:76px;padding:15px 18px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-default, var(--glass-line));background:var(--surface-1)}.ops-side-panel>header{min-height:52px;padding:6px 10px 8px;gap:8px}.ops-dialog>header>span,.ops-side-panel>header>span{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:7px;color:var(--primary);background:var(--primary-soft)}.ops-dialog header div,.ops-side-panel header div{min-width:0;flex:1}.ops-dialog h2,.ops-side-panel h2{margin:0;font-size:calc(16px * var(--font-scale));line-height:1.4}.ops-dialog header p{margin:3px 0 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.ops-side-panel>header div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.ops-side-panel>header p{margin:0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.ops-side-panel>header p:before{content:"·";margin-inline-end:8px}.ops-dialog>header .icon-button,.ops-side-panel>header .icon-button{border-color:var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-soft)}.ops-dialog:not(.ops-dialog-wizard)>form{min-height:0;display:flex;flex:1;flex-direction:column}.ops-dialog-body{padding:20px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--page-bg)}.ops-dialog-body>.ops-form-grid{padding:16px;border:1px solid var(--border-default, var(--line));border-radius:var(--radius-card, 12px);background:var(--surface-1);box-shadow:var(--shadow-card)}.ops-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.ops-form-grid>label,.ops-form-grid>.ops-form-field{min-width:0;display:grid;gap:8px;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:600}.ops-form-grid>label.wide,.ops-form-grid>.ops-form-field.wide{grid-column:1 / -1}.ops-form-grid label>span b{color:var(--danger)}.ops-form-grid input:not(.form-date-seg-input),.ops-form-grid select,.ops-form-grid textarea,.ops-form-grid .form-select-trigger,.ops-form-grid .form-multi-select-trigger{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border-default, var(--line));border-radius:10px;outline:0;background:var(--surface-1);color:var(--ink);font:inherit;font-size:calc(13px * var(--font-scale));font-weight:400;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease}.ops-form-grid textarea{min-height:96px;line-height:1.5}.ops-form-grid input:not(.form-date-seg-input):focus,.ops-form-grid select:focus,.ops-form-grid textarea:focus,.ops-form-grid .form-select.open .form-select-trigger,.ops-form-grid .form-multi-select.open .form-multi-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.ops-form-grid label>small{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:400;line-height:1.4}.ops-form-grid .checkbox-field{align-content:center}.ops-switch{min-height:40px;display:flex!important;align-items:center;gap:9px;cursor:pointer}.ops-switch input{position:absolute;opacity:0;pointer-events:none}.ops-switch>span{width:34px;height:20px;padding:2px;border-radius:12px;background:var(--neutral-200);transition:.2s}.ops-switch>span:after{content:"";display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:.2s}.ops-switch input:checked+span{background:var(--primary)}.ops-switch input:checked+span:after{transform:translate(-14px)}.ops-switch b{font-size:calc(11px * var(--font-scale))}.ops-password-generate{display:flex;gap:8px;align-items:center}.ops-password-generate>input{flex:1;min-width:0}.ops-password-generate>button{flex-shrink:0;white-space:nowrap}.ops-dialog-footer,.ops-panel-footer{min-height:68px;padding:13px 18px;display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--border-default, var(--glass-line));background:var(--surface-1)}.ops-dialog-footer .primary-button,.ops-dialog-footer .secondary-button{min-width:108px}.ops-dialog.phones-report-dialog,.phones-report-dialog{--phones-dialog-min-height: 380px;--phones-dialog-max-height: min(720px, calc(calc(100dvh / var(--ui-scale)) - 48px));width:min(580px,calc(100% - 32px))!important;max-width:580px;background:var(--surface-1, #fff);border-radius:18px;box-shadow:0 28px 64px -20px #0f172a52,0 0 0 1px #0f172a0a;border:1px solid var(--border-default, #e4eaf2);overflow:visible;display:flex;flex-direction:column;min-height:var(--phones-dialog-min-height);max-height:var(--phones-dialog-max-height);transform-origin:center center;transition:min-height .36s cubic-bezier(.22,.61,.36,1),max-height .36s cubic-bezier(.22,.61,.36,1),width .36s cubic-bezier(.22,.61,.36,1),transform .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s cubic-bezier(.22,.61,.36,1);will-change:min-height,max-height,transform}.phones-report-dialog.is-expanded{--phones-dialog-min-height: 580px}.phones-report-backdrop{display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:phones-backdrop-in .24s ease-out}.phones-report-backdrop.is-closing{animation:phones-backdrop-out .22s ease-in forwards}@keyframes phones-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes phones-backdrop-out{0%{opacity:1}to{opacity:0}}.phones-report-dialog.is-opening{animation:phones-dialog-in .34s cubic-bezier(.22,.61,.36,1)}.phones-report-dialog.is-closing{animation:phones-dialog-out .24s cubic-bezier(.55,.06,.68,.19)}@keyframes phones-dialog-in{0%{opacity:0;transform:translateY(16px) scale(.96)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes phones-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}.phones-report-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;transition:padding .36s cubic-bezier(.22,.61,.36,1)}.phones-report-preview{padding:14px 16px;border:1px solid var(--primary-border, #b3e0ff);border-radius:12px;background:linear-gradient(180deg,var(--primary-soft, #e8f4ff),var(--surface-1, #fff));transition:box-shadow .36s ease,border-color .36s ease}.phones-report-dialog.is-expanded .phones-report-preview{box-shadow:0 4px 18px -8px #0796ff59}.phones-report-preview-hero{display:flex;align-items:center;gap:14px}.phones-report-preview-hero>i{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:var(--primary, #0796FF);color:#fff;font-size:calc(18px * var(--font-scale));flex-shrink:0;transition:transform .36s cubic-bezier(.22,.61,.36,1)}.phones-report-dialog.is-expanded .phones-report-preview-hero>i{transform:rotate(-6deg) scale(1.06)}.phones-report-preview-hero strong{display:block;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink, #0f172a)}.phones-report-preview-hero small{display:block;margin-top:2px;color:var(--ink-muted, #64748b);font-size:calc(11.5px * var(--font-scale));line-height:1.5}.phones-report-filters{display:flex;flex-direction:column;gap:12px}.phones-report-filter-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;align-items:stretch}.phones-report-dialog.is-expanded .phones-report-filter-row{grid-template-columns:1fr 1fr}.phones-report-hint{margin:0;display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border:1px solid var(--line-soft, #eef2f8);border-radius:10px;background:var(--surface-2, #f1f5fa);color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));line-height:1.55}.phones-report-hint>i{color:var(--primary, #0796FF);margin-top:1px;flex-shrink:0}.phones-report-dialog .filter-dropdown{position:relative}.phones-report-dialog .filter-dropdown-menu{position:absolute;inset-inline-start:0;inset-block-start:calc(100% + 6px);inset-inline-end:auto;z-index:5;min-width:100%;width:max-content;max-width:min(320px,calc(calc(100vw / var(--ui-scale)) - 64px));max-height:320px;margin:0;padding:6px;list-style:none;overflow:auto;border:1px solid var(--border-default, #e4eaf2);border-radius:12px;background:var(--surface-overlay, #fff);box-shadow:0 18px 50px -8px #0f172a2e,0 0 0 1px #0f172a0a;animation:phones-dropdown-in .28s cubic-bezier(.22,.61,.36,1);transform-origin:top right}@keyframes phones-dropdown-in{0%{opacity:0;transform:translateY(-6px) scaleY(.92)}60%{opacity:1}to{opacity:1;transform:translateY(0) scaleY(1)}}.phones-report-dialog .filter-dropdown-option{min-height:38px;padding:8px 10px;border-radius:8px;font-size:calc(12.5px * var(--font-scale));transition:background .14s ease,color .14s ease,transform .14s ease}.phones-report-dialog .filter-dropdown-option:hover{transform:translate(-2px)}@media(max-width:720px){.phones-report-dialog{--phones-dialog-min-height: 320px;--phones-dialog-max-height: calc(calc(100dvh / var(--ui-scale)) - 20px);width:100%;max-width:none;border-radius:18px 18px 0 0}.phones-report-backdrop{padding:10px;align-items:flex-end}.phones-report-filter-row,.phones-report-dialog.is-expanded .phones-report-filter-row{grid-template-columns:1fr}}.general-tab .profile-section header{align-items:flex-start}.finance-summary-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(11.5px * var(--font-scale));font-weight:700}.finance-summary-pill>i{font-size:calc(10px * var(--font-scale))}.installments-timeline{display:flex;flex-direction:column;gap:8px;margin-top:4px}.installment-row{display:flex;align-items:stretch;gap:14px;padding:12px 14px;border:1px solid var(--border-default, #e4eaf2);border-radius:12px;background:var(--surface-1, #fff);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.installment-row:hover{border-color:var(--primary-border, #b3e0ff);transform:translate(-2px);box-shadow:0 6px 16px -10px #0796ff40}.installment-row.is-next{border-color:var(--primary, #0796FF);background:linear-gradient(180deg,var(--primary-soft, #e8f4ff) 0%,var(--surface-1, #fff) 60%);box-shadow:0 0 0 3px #0796ff14}.installment-row--danger{border-color:#ee443f66;background:linear-gradient(180deg,rgba(238,68,63,.06),var(--surface-1, #fff))}.installment-row--warning{border-color:#f4792066;background:linear-gradient(180deg,rgba(244,121,32,.05),var(--surface-1, #fff))}.installment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:8px 6px;border-radius:10px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);text-align:center;flex-shrink:0}.installment-row--danger .installment-date{background:var(--danger-soft, #fdeceb);color:var(--danger, #ee443f)}.installment-row--warning .installment-date{background:#fef1e8;color:var(--warning, #f47920)}.installment-day{font-size:calc(22px * var(--font-scale));font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.installment-month{font-size:calc(10.5px * var(--font-scale));font-weight:700;margin-top:2px}.installment-year{font-size:calc(9.5px * var(--font-scale));font-weight:500;margin-top:1px;opacity:.7;font-variant-numeric:tabular-nums}.installment-divider{width:1px;background:linear-gradient(180deg,transparent,var(--border-default, #e4eaf2),transparent);align-self:stretch;flex-shrink:0}.installment-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.installment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.installment-head strong{font-size:calc(13.5px * var(--font-scale));font-weight:700;color:var(--ink, #0f172a)}.installment-next-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--primary, #0796FF);color:#fff;font-size:calc(10px * var(--font-scale));font-weight:700}.installment-next-badge>i{font-size:calc(8px * var(--font-scale))}.installment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #64748b)}.installment-meta>i{color:var(--primary, #0796FF)}.installment-countdown{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--surface-2, #f1f5fa);color:var(--ink, #0f172a);font-size:calc(11px * var(--font-scale));font-weight:600}.installment-row--danger .installment-countdown{background:var(--danger-soft, #fdeceb);color:var(--danger, #ee443f)}.installment-row--warning .installment-countdown{background:#fef1e8;color:var(--warning, #f47920)}.installment-due-today{font-weight:700}.installment-overdue{padding:2px 8px;border-radius:999px;background:var(--danger, #ee443f);color:#fff;font-size:calc(11px * var(--font-scale));font-weight:700}.installment-amount{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.installment-amount strong{font-size:calc(16px * var(--font-scale));font-weight:800;color:var(--ink, #0f172a);font-variant-numeric:tabular-nums}.installment-amount small{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b)}.installments-paid-section{margin-top:16px;padding:12px 14px;border:1px solid var(--line-soft, #eef2f8);border-radius:12px;background:var(--surface-2, #f8fafc)}.installments-paid-section>summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:calc(12.5px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a);-webkit-user-select:none;user-select:none;list-style:none}.installments-paid-section>summary::-webkit-details-marker{display:none}.installments-paid-section>summary:before{content:"▸";display:inline-block;font-size:calc(10px * var(--font-scale));transition:transform .2s ease}.installments-paid-section[open]>summary:before{transform:rotate(90deg)}.installments-paid-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}.installments-paid-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--surface-1, #fff);font-size:calc(12px * var(--font-scale));color:var(--ink, #0f172a)}.installments-paid-list li>div{flex:1;display:flex;flex-direction:column;gap:1px}.installments-paid-list li strong{font-weight:600}.installments-paid-list li small{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b)}.installments-paid-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--success-soft, #eaf7ee);color:var(--success, #43b75d);font-size:calc(10px * var(--font-scale));flex-shrink:0}.installments-paid-amount{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink, #0f172a)}@media(max-width:540px){.installment-row{flex-wrap:wrap;gap:10px}.installment-date{min-width:56px}.installment-divider{display:none}.installment-amount{width:100%;flex-direction:row;justify-content:space-between;align-items:center}}[data-theme=dark] .installment-row{background:#ffffff08;border-color:#ffffff14}[data-theme=dark] .installment-row.is-next{background:linear-gradient(180deg,#0796ff1f,#ffffff05 60%);border-color:#0796ff80}[data-theme=dark] .installment-row--danger{background:linear-gradient(180deg,#ee443f1a,#ffffff05);border-color:#ee443f66}[data-theme=dark] .installment-row--warning{background:linear-gradient(180deg,#f479201a,#ffffff05);border-color:#f4792066}[data-theme=dark] .installment-divider{background:linear-gradient(180deg,transparent,rgba(255,255,255,.1),transparent)}[data-theme=dark] .installment-countdown{background:#ffffff14}[data-theme=dark] .installments-paid-section{background:#ffffff08}[data-theme=dark] .installments-paid-list li{background:#ffffff0a}[data-theme=dark] .finance-summary-pill{background:#0796ff2e}.note-form-dialog{--note-form-width: min(620px, calc(100% - 32px) );--note-tone-success: var(--success, #43b75d);--note-tone-success-soft: var(--success-soft, #eaf7ee);--note-tone-danger: var(--danger, #ee443f);--note-tone-danger-soft: var(--danger-soft, #fdeceb);--note-tone-neutral: var(--ink-muted, #94a3b8);width:var(--note-form-width)!important;max-width:var(--note-form-width);background:var(--surface-1, #fff);border-radius:18px;box-shadow:0 30px 64px -20px #0f172a52,0 0 0 1px #0f172a0a;border:1px solid var(--border-default, #e4eaf2);overflow:hidden;display:flex;flex-direction:column;transform-origin:center center;animation:note-form-in .32s cubic-bezier(.22,.61,.36,1)}.note-form-backdrop{display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:note-form-backdrop-in .24s ease-out}.note-form-backdrop.is-closing{animation:note-form-backdrop-out .22s ease-in forwards}.note-form-dialog.is-opening{animation:note-form-in .32s cubic-bezier(.22,.61,.36,1)}.note-form-dialog.is-closing{animation:note-form-out .24s cubic-bezier(.55,.06,.68,.19)}@keyframes note-form-in{0%{opacity:0;transform:translateY(16px) scale(.96)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes note-form-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes note-form-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes note-form-backdrop-out{0%{opacity:1}to{opacity:0}}.note-form-body{padding:20px 22px;display:flex;flex-direction:column;gap:16px;background:var(--surface-1, #fff)}.note-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:540px){.note-form-grid{grid-template-columns:1fr}}.note-form-body .form-field{display:flex;flex-direction:column;gap:6px}.note-form-body .form-field>span{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a)}.note-form-body .form-field>span .required-mark{color:var(--danger, #ee443f);margin-inline-start:2px}.note-form-tone-group{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:4px;border:1px solid var(--border-default, #e4eaf2);border-radius:12px;background:var(--surface-2, #f8fafc)}.note-form-tone{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-muted, #64748b);font:inherit;font-size:calc(12.5px * var(--font-scale));font-weight:600;cursor:pointer;transition:all .18s cubic-bezier(.22,.61,.36,1)}.note-form-tone:hover{background:var(--surface-1, #fff);color:var(--ink, #0f172a)}.note-form-tone-dot{width:8px;height:8px;border-radius:50%;background:var(--note-tone-neutral);transition:all .2s cubic-bezier(.22,.61,.36,1)}.note-form-tone--success .note-form-tone-dot{background:var(--note-tone-success)}.note-form-tone--neutral .note-form-tone-dot{background:var(--note-tone-neutral)}.note-form-tone--danger .note-form-tone-dot{background:var(--note-tone-danger)}.note-form-tone.is-active{background:var(--surface-1, #fff);border-color:var(--primary, #0796FF);color:var(--ink, #0f172a);box-shadow:0 0 0 3px #0796ff1a}.note-form-tone--success.is-active{border-color:var(--note-tone-success);box-shadow:0 0 0 3px #43b75d2e}.note-form-tone--neutral.is-active{border-color:var(--note-tone-neutral);box-shadow:0 0 0 3px #94a3b833}.note-form-tone--danger.is-active{border-color:var(--note-tone-danger);box-shadow:0 0 0 3px #ee443f2e}.note-form-tone.is-active .note-form-tone-dot{transform:scale(1.3)}.note-form-text-field textarea{width:100%;padding:12px 14px;border:1px solid var(--border-default, #e4eaf2);border-radius:12px;background:var(--surface-1, #fff);color:var(--ink, #0f172a);font:inherit;font-size:calc(13px * var(--font-scale));line-height:1.6;resize:vertical;min-height:110px;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.note-form-text-field textarea::placeholder{color:var(--ink-muted, #94a3b8);opacity:.7}.note-form-text-field textarea:hover{border-color:var(--primary-border, #b3e0ff)}.note-form-text-field textarea:focus{outline:none;border-color:var(--primary, #0796FF);box-shadow:0 0 0 3px #0796ff1f}.note-form-text-field textarea.has-error{border-color:var(--danger, #ee443f);box-shadow:0 0 0 3px #ee443f1f}.note-form-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #64748b);margin-top:2px}.note-form-meta>span:first-child{display:inline-flex;align-items:center;gap:6px}.note-form-count{font-variant-numeric:tabular-nums;color:var(--ink-muted, #94a3b8)}.note-form-error{color:var(--danger, #ee443f);font-weight:600}.note-form-preview{margin-top:4px;padding:12px 14px;border:1px solid var(--border-default, #e4eaf2);border-radius:12px;background:var(--surface-2, #f1f5fa);transition:border-color .22s ease,background .22s ease}.note-form-preview[data-tone=positive]{border-color:#43b75d73;background:linear-gradient(180deg,var(--success-soft, #eaf7ee) 0%,var(--surface-2, #f8fafc) 100%)}.note-form-preview[data-tone=negative]{border-color:#ee443f73;background:linear-gradient(180deg,var(--danger-soft, #fdeceb) 0%,var(--surface-2, #f8fafc) 100%)}.note-form-preview[data-tone=neutral]{border-color:var(--border-default, #e4eaf2)}.note-form-preview-label{display:inline-block;margin-bottom:6px;padding:2px 8px;border-radius:999px;background:var(--surface-1, #fff);color:var(--ink-muted, #64748b);font-size:calc(10.5px * var(--font-scale));font-weight:700;letter-spacing:.02em;border:1px solid var(--border-default, #e4eaf2)}.note-form-preview-row{display:flex;align-items:center;gap:8px;font-size:calc(12.5px * var(--font-scale));color:var(--ink, #0f172a);margin-bottom:4px}.note-form-preview-row strong{font-weight:700}.note-form-preview-divider{color:var(--ink-muted, #94a3b8)}.note-form-preview-tone{color:var(--ink-muted, #64748b)}.note-form-preview-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.note-form-preview-dot--success{background:var(--note-tone-success)}.note-form-preview-dot--neutral{background:var(--note-tone-neutral)}.note-form-preview-dot--danger{background:var(--note-tone-danger)}.note-form-preview p{margin:0;font-size:calc(12.5px * var(--font-scale));line-height:1.5;color:var(--ink, #0f172a);word-break:break-word}@media(max-width:720px){.note-form-backdrop{padding:10px;align-items:flex-end}.note-form-dialog{width:100%!important;max-width:none;border-radius:18px 18px 0 0}}[data-theme=dark] .note-form-dialog{box-shadow:0 32px 80px -20px #0009,0 0 0 1px #ffffff0a}[data-theme=dark] .note-form-backdrop{background:#0009}[data-theme=dark] .note-form-tone-group{background:#ffffff0a}[data-theme=dark] .note-form-tone:hover,[data-theme=dark] .note-form-tone.is-active{background:#ffffff14;color:var(--ink, #f2f3f8)}[data-theme=dark] .note-form-text-field textarea{background:#ffffff0a}[data-theme=dark] .note-form-text-field textarea:focus{background:#ffffff0f}[data-theme=dark] .note-form-preview{background:#ffffff08}[data-theme=dark] .note-form-preview[data-tone=positive]{border-color:#5bc9744d;background:linear-gradient(180deg,#43b75d1a,#ffffff05)}[data-theme=dark] .note-form-preview[data-tone=negative]{border-color:#ee443f4d;background:linear-gradient(180deg,#ee443f1a,#ffffff05)}[data-theme=dark] .note-form-preview-label{background:#ffffff0f;color:var(--ink-muted, #a9aec0)}.general-guardian-list{display:flex;flex-direction:column;gap:10px}.general-guardian-row{display:grid;grid-template-columns:minmax(140px,1.1fr) minmax(0,2fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line-soft, #eef2f8);border-radius:12px;background:var(--surface-1, #fff);box-shadow:0 1px #0f172a0a;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.general-guardian-row:hover{border-color:var(--primary-border, #b3e0ff);background:var(--surface-2, #f8fbff);box-shadow:0 4px 14px -8px #0796ff33}.general-guardian-row.is-primary{border-color:var(--primary, #0796FF);background:linear-gradient(180deg,color-mix(in srgb,var(--primary, #0796FF) 6%,var(--surface-1, #fff)) 0%,var(--surface-1, #fff) 100%);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary, #0796FF) 14%,transparent)}.general-guardian-row.mother{border-inline-start:3px solid #f472b6}.general-guardian-row.father{border-inline-start:3px solid #38bdf8}.general-guardian-row.relative{border-inline-start:3px solid #34d399}.general-guardian-row.billing{border-inline-start:3px solid #f59e0b}.general-guardian-identity{display:flex;align-items:center;gap:10px;min-width:0}.general-guardian-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(14px * var(--font-scale));flex-shrink:0}.general-guardian-row.mother .general-guardian-icon{background:#fce7f3;color:#db2777}.general-guardian-row.relative .general-guardian-icon{background:#d1fae5;color:#16a34a}.general-guardian-row.billing .general-guardian-icon{background:#fef3c7;color:#d97706}.general-guardian-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.general-guardian-meta strong{font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--ink, #0f172a);letter-spacing:-.01em}.general-guardian-tag{display:inline-flex;align-items:center;gap:4px;font-size:calc(10.5px * var(--font-scale));font-weight:600;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--primary, #0796FF) 10%,transparent);color:var(--primary, #0796FF);align-self:flex-start}.general-guardian-tag.is-primary{background:color-mix(in srgb,var(--primary, #0796FF) 12%,transparent);color:var(--primary, #0796FF)}.general-guardian-tag.is-warning{background:color-mix(in srgb,#f59e0b 14%,transparent);color:#b45309}.general-guardian-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 14px;min-width:0}.general-guardian-field{display:flex;flex-direction:column;gap:1px;min-width:0}.general-guardian-label{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.general-guardian-field strong{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a);word-break:break-word;overflow-wrap:anywhere;line-height:1.4}.general-guardian-field strong[dir=ltr]{font-variant-numeric:tabular-nums}.general-guardian-action{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--line-soft, #e2e8f0);border-radius:8px;background:var(--surface-1, #fff);color:var(--ink, #0f172a);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease;white-space:nowrap;flex-shrink:0}.general-guardian-action:hover{border-color:var(--primary, #0796FF);color:var(--primary, #0796FF);background:color-mix(in srgb,var(--primary, #0796FF) 6%,var(--surface-1, #fff))}.general-guardian-action i{font-size:calc(11px * var(--font-scale))}@media(max-width:720px){.general-guardian-row{grid-template-columns:1fr;gap:10px}.general-guardian-action{justify-self:flex-start}}[data-theme=dark] .general-guardian-row{background:#ffffff08;border-color:var(--border-subtle, rgba(255, 255, 255, .08));box-shadow:none}[data-theme=dark] .general-guardian-row:hover{background:#0796ff0f;border-color:#0796ff66}[data-theme=dark] .general-guardian-row.is-primary{background:linear-gradient(180deg,#0796ff1a,#ffffff08);box-shadow:0 0 0 2px #0796ff2e}[data-theme=dark] .general-guardian-row.mother{border-inline-start-color:#f472b6}[data-theme=dark] .general-guardian-row.father{border-inline-start-color:#38bdf8}[data-theme=dark] .general-guardian-row.relative{border-inline-start-color:#34d399}[data-theme=dark] .general-guardian-row.billing{border-inline-start-color:#f59e0b}[data-theme=dark] .general-guardian-meta strong,[data-theme=dark] .general-guardian-field strong{color:var(--ink, #f1f5f9)}[data-theme=dark] .general-guardian-action{background:#ffffff0a;border-color:var(--border-subtle, rgba(255, 255, 255, .12));color:var(--ink, #f1f5f9)}[data-theme=dark] .general-guardian-action:hover{background:#0796ff2e;border-color:#0796ff99;color:#bae6fd}[data-theme=dark] .general-guardian-tag.is-warning{color:#fbbf24}.general-address-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.general-address-card{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--line-soft, #eef2f8);border-radius:10px;background:var(--surface-2, #f1f5fa);transition:border-color .18s ease,background .18s ease}.general-address-card:hover{border-color:var(--primary-border, #b3e0ff);background:#fff}.general-address-card--full{grid-column:1 / -1}.general-address-label{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.general-address-card strong{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a);word-break:break-word;overflow-wrap:anywhere}[data-theme=dark] .general-address-card{background:#ffffff0a;border-color:var(--border-subtle, rgba(255, 255, 255, .08))}[data-theme=dark] .general-address-card:hover{background:#0796ff14;border-color:#0796ff66}[data-theme=dark] .general-address-card strong{color:var(--ink, #f1f5f9)}[data-theme=dark] .general-address-label{color:var(--ink-muted, #94a0b0)}.student-profile-drawer .academic-tab{display:grid;gap:16px}.student-profile-drawer .academic-hero{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:22px;padding:22px 24px;background:linear-gradient(120deg,#0796ff0f,#0796ff05);border:1px solid rgba(7,150,255,.18);border-radius:16px}.student-profile-drawer .academic-hero-average{position:relative;width:110px;height:110px;display:grid;place-items:center}.student-profile-drawer .academic-hero-ring{width:100%;height:100%;transform:rotate(-90deg)}.student-profile-drawer .academic-hero-ring-track{fill:none;stroke:var(--border-subtle, var(--line-soft));stroke-width:3}.student-profile-drawer .academic-hero-ring-fill{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .4s ease,stroke .4s ease}.student-profile-drawer .academic-hero-average[data-tone=high] .academic-hero-ring-fill{stroke:var(--success, #16a34a)}.student-profile-drawer .academic-hero-average[data-tone=mid] .academic-hero-ring-fill{stroke:var(--warning, #d97706)}.student-profile-drawer .academic-hero-average[data-tone=low] .academic-hero-ring-fill{stroke:var(--danger, #dc2626)}.student-profile-drawer .academic-hero-average-content{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.student-profile-drawer .academic-hero-average-content strong{font-size:calc(24px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.student-profile-drawer .academic-hero-text h3{margin:0;font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .academic-hero-text p{margin:4px 0 8px;font-size:calc(12.5px * var(--font-scale));color:var(--ink-muted, #5b6470);line-height:1.5}.student-profile-drawer .academic-hero-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;background:var(--success-soft, rgba(34, 197, 94, .14));color:var(--success, #16a34a);font-size:calc(11.5px * var(--font-scale));font-weight:700}.student-profile-drawer .academic-hero-badge i{font-size:calc(10px * var(--font-scale))}.student-profile-drawer .academic-hero-distribution{display:grid;grid-template-columns:1fr 1fr;gap:8px}.student-profile-drawer .academic-hero-dist-row{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:8px;padding:8px 12px;background:var(--surface-1, #fff);border:1px solid var(--border-subtle, var(--line-soft));border-radius:10px;transition:border-color .18s ease}.student-profile-drawer .academic-hero-dist-dot{width:10px;height:10px;border-radius:50%}.student-profile-drawer .academic-hero-dist-row[data-tone=success] .academic-hero-dist-dot{background:var(--success, #16a34a)}.student-profile-drawer .academic-hero-dist-row[data-tone=primary] .academic-hero-dist-dot{background:var(--primary)}.student-profile-drawer .academic-hero-dist-row[data-tone=warning] .academic-hero-dist-dot{background:var(--warning, #d97706)}.student-profile-drawer .academic-hero-dist-row[data-tone=danger] .academic-hero-dist-dot{background:var(--danger, #dc2626)}.student-profile-drawer .academic-hero-dist-row strong{font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.student-profile-drawer .academic-hero-dist-row small{font-size:calc(10.5px * var(--font-scale));font-weight:600;color:var(--ink-muted, #5b6470)}.student-profile-drawer .academic-subjects-section{background:var(--surface-1, #fff)}.student-profile-drawer .academic-subjects-section h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .academic-subjects-section h3 i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#0796ff29,#0796ff0a);color:var(--primary);font-size:calc(12px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .academic-subjects-section>header p{margin:4px 0 0 36px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470)}.student-profile-drawer .academic-subjects-head-actions{display:inline-flex;align-items:center;gap:10px}.student-profile-drawer .academic-subjects-count{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(11.5px * var(--font-scale));font-weight:700}.student-profile-drawer .academic-subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:14px}.student-profile-drawer .academic-subject-card{display:grid;gap:10px;padding:14px 16px;background:var(--surface-1, #fff);border:1.5px solid var(--border-subtle, var(--line-soft));border-radius:14px}.student-profile-drawer .academic-subject-card.is-clickable{width:100%;text-align:start;cursor:pointer;font:inherit;color:inherit;outline:none}.student-profile-drawer .academic-subject-card.is-clickable:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 28%,transparent)}.student-profile-drawer .academic-subject-chevron{font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #94a0b0);margin-inline-start:auto}.student-profile-drawer .academic-subject-head{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px}.student-profile-drawer .academic-subject-icon{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:calc(14px * var(--font-scale));color:#fff}.student-profile-drawer .academic-subject-card.has-success .academic-subject-icon{background:linear-gradient(135deg,var(--success, #16a34a),#4ade80)}.student-profile-drawer .academic-subject-card.has-primary .academic-subject-icon{background:linear-gradient(135deg,var(--primary),#4a8df0)}.student-profile-drawer .academic-subject-card.has-warning .academic-subject-icon{background:linear-gradient(135deg,var(--warning, #d97706),#fbbf24)}.student-profile-drawer .academic-subject-card.has-danger .academic-subject-icon{background:linear-gradient(135deg,var(--danger, #dc2626),#f87171)}.student-profile-drawer .academic-subject-title strong{display:block;font-size:calc(13.5px * var(--font-scale));font-weight:700;color:var(--ink);line-height:1.3}.student-profile-drawer .academic-subject-title small{display:block;font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #5b6470);margin-top:2px}.student-profile-drawer .academic-subject-level{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;font-size:calc(13px * var(--font-scale));font-weight:800;color:#fff}.student-profile-drawer .academic-subject-level[data-tone=success]{background:var(--success, #16a34a)}.student-profile-drawer .academic-subject-level[data-tone=primary]{background:var(--primary)}.student-profile-drawer .academic-subject-level[data-tone=warning]{background:var(--warning, #d97706)}.student-profile-drawer .academic-subject-level[data-tone=danger]{background:var(--danger, #dc2626)}.student-profile-drawer .academic-subject-score{display:flex;align-items:baseline;gap:6px}.student-profile-drawer .academic-subject-score strong{font-size:calc(22px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1}.student-profile-drawer .academic-subject-score small{font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #5b6470);font-weight:600}.student-profile-drawer .academic-subject-progress{height:6px;background:var(--surface-2, rgba(7, 150, 255, .06));border-radius:999px;overflow:hidden}.student-profile-drawer .academic-subject-progress>span{display:block;height:100%;border-radius:999px;transition:width .4s ease}.student-profile-drawer .academic-subject-card.has-success .academic-subject-progress>span{background:linear-gradient(90deg,var(--success, #16a34a),#4ade80)}.student-profile-drawer .academic-subject-card.has-primary .academic-subject-progress>span{background:linear-gradient(90deg,var(--primary),#4a8df0)}.student-profile-drawer .academic-subject-card.has-warning .academic-subject-progress>span{background:linear-gradient(90deg,var(--warning, #d97706),#fbbf24)}.student-profile-drawer .academic-subject-card.has-danger .academic-subject-progress>span{background:linear-gradient(90deg,var(--danger, #dc2626),#f87171)}.student-profile-drawer .academic-subject-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid var(--border-subtle, var(--line-soft))}.student-profile-drawer .academic-subject-tone{display:inline-block;padding:3px 10px;border-radius:999px;font-size:calc(10.5px * var(--font-scale));font-weight:700}.student-profile-drawer .academic-subject-tone.has-success{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.student-profile-drawer .academic-subject-tone.has-primary{color:var(--primary);background:var(--primary-soft, rgba(7, 150, 255, .14))}.student-profile-drawer .academic-subject-tone.has-warning{color:var(--warning, #d97706);background:var(--warning-soft, rgba(245, 158, 11, .16))}.student-profile-drawer .academic-subject-tone.has-danger{color:var(--danger, #dc2626);background:var(--danger-soft, rgba(220, 38, 38, .14))}.student-profile-drawer .academic-subject-trend{display:inline-flex;align-items:center;gap:4px;font-size:calc(11px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;direction:ltr}.student-profile-drawer .academic-subject-trend i{font-size:calc(10px * var(--font-scale))}.student-profile-drawer .academic-subject-trend.is-up{color:var(--success, #16a34a)}.student-profile-drawer .academic-subject-trend.is-down{color:var(--danger, #dc2626)}.student-profile-drawer .academic-subject-trend.is-flat{color:var(--ink-muted, #5b6470)}.subject-transcript-section{display:flex;flex-direction:column;gap:14px}.subject-transcript-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.subject-transcript-back{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--border-ghost, var(--line-soft, #e2e8f0));border-radius:8px;background:var(--surface-1, #fff);color:var(--ink, #0f172a);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}.subject-transcript-back:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb,var(--primary) 6%,var(--surface-1, #fff))}.subject-transcript-back i{font-size:calc(11px * var(--font-scale))}.subject-transcript-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;font-size:calc(11.5px * var(--font-scale));font-weight:700}.subject-transcript-pill>span{width:6px;height:6px;border-radius:50%;background:currentColor}.subject-transcript-pill.has-success{color:var(--success, #16a34a);background:var(--success-soft, rgba(34, 197, 94, .14))}.subject-transcript-pill.has-primary{color:var(--primary);background:var(--primary-soft, rgba(7, 150, 255, .14))}.subject-transcript-pill.has-warning{color:var(--warning, #b45309);background:var(--warning-soft, rgba(245, 158, 11, .16))}.subject-transcript-pill.has-danger{color:var(--danger, #b91c1c);background:var(--danger-soft, rgba(220, 38, 38, .14))}.subject-transcript-hero{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 20px;border:1px solid var(--border-ghost, var(--line-soft, #e2e8f0));border-radius:14px;background:var(--surface-1, #fff)}.subject-transcript-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:14px;font-size:calc(24px * var(--font-scale));color:#fff}.subject-transcript-icon.has-success{background:linear-gradient(135deg,var(--success, #16a34a),#4ade80)}.subject-transcript-icon.has-primary{background:linear-gradient(135deg,var(--primary),#4a8df0)}.subject-transcript-icon.has-warning{background:linear-gradient(135deg,var(--warning, #d97706),#fbbf24)}.subject-transcript-icon.has-danger{background:linear-gradient(135deg,var(--danger, #dc2626),#f87171)}.subject-transcript-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.subject-transcript-meta small{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.subject-transcript-meta h3{margin:0;font-size:calc(18px * var(--font-scale));font-weight:800;color:var(--ink);line-height:1.3;word-break:break-word}.subject-transcript-meta p{margin:2px 0 0;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #64748b)}.subject-transcript-grade{display:flex;flex-direction:column;align-items:center;gap:4px;padding:0 4px}.subject-transcript-level{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:calc(16px * var(--font-scale));font-weight:800;color:#fff}.subject-transcript-level.has-success{background:var(--success, #16a34a)}.subject-transcript-level.has-primary{background:var(--primary)}.subject-transcript-level.has-warning{background:var(--warning, #d97706)}.subject-transcript-level.has-danger{background:var(--danger, #dc2626)}.subject-transcript-grade strong{font-size:calc(22px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:3px}.subject-transcript-grade strong small{font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted, #64748b)}.subject-transcript-trend{display:inline-flex;align-items:center;gap:3px;font-size:calc(11.5px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;direction:ltr}.subject-transcript-trend i{font-size:calc(10px * var(--font-scale))}.subject-transcript-trend.is-up{color:var(--success, #16a34a)}.subject-transcript-trend.is-down{color:var(--danger, #dc2626)}.subject-transcript-trend.is-flat{color:var(--ink-muted, #5b6470)}.subject-transcript-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.subject-transcript-stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border-ghost, var(--line-soft, #e2e8f0));border-radius:10px;background:var(--surface-2, #f8fbff);min-width:0}.subject-transcript-stat-label{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b);font-weight:600;text-transform:uppercase;letter-spacing:.02em}.subject-transcript-stat strong{font-size:calc(18px * var(--font-scale));font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}.subject-transcript-stat strong.has-success{color:var(--success, #16a34a)}.subject-transcript-stat strong.has-danger{color:var(--danger, #dc2626)}.subject-transcript-stat strong.has-warning{color:var(--warning, #b45309)}.subject-transcript-exams{margin-top:0}.subject-transcript-exams>header h3{display:inline-flex;align-items:center;gap:8px}.subject-transcript-exams>header h3 i{color:var(--primary)}.subject-transcript-table-wrap{overflow-x:auto;max-width:100%;border:1px solid var(--border-ghost, var(--line-soft, #e2e8f0));border-radius:10px;background:var(--surface-1, #fff)}table.subject-transcript-table.ops-table{min-width:640px;table-layout:auto}table.subject-transcript-table.ops-table th{font-size:calc(11px * var(--font-scale));white-space:nowrap}table.subject-transcript-table.ops-table td{padding:10px 12px;vertical-align:middle}.subject-transcript-exam-name{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:calc(12.5px * var(--font-scale))}.subject-transcript-exam-name i{width:22px;height:22px;display:grid;place-items:center;border-radius:6px;background:var(--primary-soft, rgba(7, 150, 255, .12));color:var(--primary);font-size:calc(10px * var(--font-scale));flex-shrink:0}@media(max-width:720px){.subject-transcript-hero{grid-template-columns:56px minmax(0,1fr);gap:12px}.subject-transcript-grade{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px dashed var(--border-ghost)}.subject-transcript-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}[data-theme=dark] .subject-transcript-back,[data-theme=dark] .subject-transcript-hero,[data-theme=dark] .subject-transcript-table-wrap{background:#ffffff08;border-color:var(--border-subtle, rgba(255, 255, 255, .1))}[data-theme=dark] .subject-transcript-back{color:var(--ink, #f1f5f9)}[data-theme=dark] .subject-transcript-back:hover{background:#0796ff2e;color:#bae6fd}[data-theme=dark] .subject-transcript-meta h3,[data-theme=dark] .subject-transcript-grade strong,[data-theme=dark] .subject-transcript-stat strong{color:var(--ink, #f1f5f9)}[data-theme=dark] .subject-transcript-stat{background:#ffffff0a;border-color:var(--border-subtle, rgba(255, 255, 255, .08))}[data-theme=dark] .subject-transcript-pill.has-warning{color:#fbbf24}[data-theme=dark] .subject-transcript-pill.has-danger{color:#fca5a5}[data-theme=dark] .subject-transcript-stat strong.has-warning{color:#fbbf24}[data-theme=dark] .subject-transcript-trend.is-down{color:#fca5a5}[data-theme=dark] .student-profile-drawer .academic-hero{background:linear-gradient(120deg,#0796ff1f,#0796ff0a)}[data-theme=dark] .student-profile-drawer .academic-hero-dist-row,[data-theme=dark] .student-profile-drawer .academic-subject-card{background:#ffffff0a;border-color:var(--border-subtle)}.student-profile-drawer .general-guardians-section h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .general-guardians-section h3 i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#0796ff29,#0796ff0a);color:var(--primary);font-size:calc(12px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .general-guardians-section>header p{margin:4px 0 0 36px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470)}.student-profile-drawer .general-address-section h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink)}.student-profile-drawer .general-address-section h3 i{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#0796ff29,#0796ff0a);color:var(--primary);font-size:calc(12px * var(--font-scale));box-shadow:inset 0 0 0 1px #0796ff2e}.student-profile-drawer .general-address-section>header p{margin:4px 0 0 36px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted, #5b6470)}.change-password-dialog{width:min(calc(95vw / var(--ui-scale)),480px);max-height:calc(92vh / var(--ui-scale))}.change-password-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:linear-gradient(120deg,#0796ff14,#0796ff05);border:1px solid rgba(7,150,255,.2);border-radius:10px;color:var(--ink);font-size:calc(12.5px * var(--font-scale));line-height:1.6}.change-password-notice i{color:var(--primary);font-size:calc(12px * var(--font-scale));margin-top:3px;flex-shrink:0}.change-password-error{display:inline-flex;align-items:center;gap:6px;margin:0;padding:10px 12px;background:var(--danger-soft, rgba(220, 38, 38, .1));border:1px solid var(--danger, #dc2626);border-radius:10px;color:var(--danger, #dc2626);font-size:calc(12.5px * var(--font-scale));font-weight:600}[data-theme=dark] .change-password-notice{background:linear-gradient(120deg,#0796ff29,#0796ff0a)}.student-profile-drawer .attendance-hero-rate-content small{display:none}@media(max-width:720px){.student-profile-drawer .academic-hero{grid-template-columns:1fr;text-align:center;justify-items:center}.student-profile-drawer .academic-hero-distribution{grid-template-columns:1fr;width:100%}.student-profile-drawer .academic-subjects-grid{grid-template-columns:1fr}}@media(max-width:600px){.general-address-list{grid-template-columns:1fr}.general-address-card--full{grid-column:auto}}.phones-report-bus-selector{display:flex;flex-direction:column;gap:10px}.phones-report-bus-selector-head{display:flex;align-items:center;justify-content:space-between;font-size:calc(12.5px * var(--font-scale));color:var(--ink, #0f172a)}.phones-report-bus-selector-head strong{font-weight:700}.phones-report-bus-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:240px;overflow-y:auto;padding:4px;border:1px solid var(--line-soft, #eef2f8);border-radius:10px;background:var(--surface-2, #f8fafc)}.phones-report-bus-chip{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--border-default, #e4eaf2);border-radius:9px;background:var(--surface-1, #fff);color:var(--ink, #0f172a);font:inherit;text-align:start;cursor:pointer;transition:all .18s cubic-bezier(.22,.61,.36,1)}.phones-report-bus-chip:hover:not(:disabled){transform:translateY(-1px);border-color:var(--primary-border, #b3e0ff);box-shadow:0 4px 12px -6px #0796ff40}.phones-report-bus-chip.active{background:var(--primary-soft, #e8f4ff);border-color:var(--primary, #0796FF);color:var(--primary, #0796FF);box-shadow:0 0 0 3px #0796ff1f}.phones-report-bus-chip>i{width:30px;height:30px;display:grid;place-items:center;border-radius:7px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(12px * var(--font-scale));flex-shrink:0;transition:all .2s cubic-bezier(.22,.61,.36,1)}.phones-report-bus-chip.active>i{background:var(--primary, #0796FF);color:#fff;transform:scale(1.08)}.phones-report-bus-chip>span{display:flex;flex-direction:column;min-width:0}.phones-report-bus-chip>span strong{font-size:calc(12px * var(--font-scale));font-weight:700}.phones-report-bus-chip>span small{font-size:calc(10.5px * var(--font-scale));color:var(--ink-muted, #64748b);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phones-report-bus-chip.active>span small{color:var(--primary, #0796FF);opacity:.85}.phones-report-bus-chip:disabled{opacity:.5;cursor:not-allowed}.phones-report-bus-empty{grid-column:1 / -1;margin:0;padding:18px 12px;text-align:center;color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale))}.text-button{border:0;background:transparent;padding:4px 8px;color:var(--primary, #0796FF);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;border-radius:6px;transition:background .16s ease}.text-button:hover:not(:disabled){background:var(--primary-soft, #e8f4ff)}.text-button:disabled{opacity:.5;cursor:not-allowed}.ops-panel-backdrop{justify-content:flex-end;padding:0}.ops-side-panel{position:fixed;inset-block:0;left:0;width:min(520px,100%);display:flex;flex-direction:column;border-inline-start:1px solid var(--border-default);background:var(--surface-1);box-shadow:var(--shadow-hover);animation:ops-panel-in .22s cubic-bezier(.2,.75,.25,1)}.ops-panel-body{padding:20px;flex:1;overflow:auto}.ops-dialog-body,.ops-panel-body,.wizard-form-body,.student-form-body,.guardian-form-body,.staff-form-body,.children-dialog-body,.permissions-dialog-body,.children-options,.student-profile-body,.staff-profile-body,.details-modal .modal-body{scrollbar-width:none;-ms-overflow-style:none}.ops-dialog-body::-webkit-scrollbar,.ops-panel-body::-webkit-scrollbar,.wizard-form-body::-webkit-scrollbar,.student-form-body::-webkit-scrollbar,.guardian-form-body::-webkit-scrollbar,.staff-form-body::-webkit-scrollbar,.children-dialog-body::-webkit-scrollbar,.permissions-dialog-body::-webkit-scrollbar,.children-options::-webkit-scrollbar,.student-profile-body::-webkit-scrollbar,.staff-profile-body::-webkit-scrollbar,.details-modal .modal-body::-webkit-scrollbar{display:none;width:0;height:0}.ops-detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-detail-list>div{padding:13px;border:1px solid var(--glass-border);border-radius:6px;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.ops-detail-list small{display:block;margin-bottom:4px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.ops-detail-list strong{font-size:calc(12px * var(--font-scale))}.ops-segmented{padding:3px;display:inline-flex;gap:2px;border:1px solid var(--border-color);border-radius:7px;background:var(--surface-secondary)}.ops-segmented button{min-height:32px;padding:0 11px;border:0;border-radius:5px;background:transparent;color:var(--ink-muted);font:inherit;font-size:calc(10px * var(--font-scale));font-weight:700;cursor:pointer}.ops-segmented button.active{color:var(--primary);background:var(--surface-primary);box-shadow:var(--shadow-sm)}.ops-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:16px}.ops-rail{border-inline-start:1px solid var(--border-subtle);background:var(--surface-2)}.ops-rail-header{padding:15px;border-bottom:1px solid var(--border-color)}.ops-rail-header h3{margin:0;font-size:calc(13px * var(--font-scale))}.ops-rail-header p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.ops-rail-list{padding:10px;display:grid;gap:8px}.ops-rail-item{padding:12px;border:1px solid var(--border-default);border-radius:6px;background:var(--surface-1);box-shadow:var(--shadow-soft)}.ops-rail-item header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ops-rail-item strong{font-size:calc(11px * var(--font-scale))}.ops-rail-item p{margin:7px 0 0;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.6}.ops-rail-item footer{margin-top:10px;display:flex;gap:6px}.ops-rail-item footer button{flex:1;min-height:32px;font-size:calc(10px * var(--font-scale))}@keyframes ops-fade-in{0%{opacity:0}}@keyframes ops-dialog-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}@keyframes ops-panel-in{0%{transform:translate(-100%)}}[data-theme=dark] .ops-workspace-header{background:#1c1d266b}[data-theme=dark] .ops-toolbar,[data-theme=dark] .ops-rail{background:#0a0b106b}[data-theme=dark] .student-search.ops-search,[data-theme=dark] .filter-dropdown-trigger,[data-theme=dark] .filter-dropdown-menu,[data-theme=dark] .ops-actions .icon-button{background:#1b1c25b3;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .filter-dropdown.open .filter-dropdown-trigger,[data-theme=dark] .filter-dropdown-trigger:hover{border-color:var(--primary-border);background:#20212ceb;box-shadow:0 0 0 3px #0796ff2e,inset 0 1px #ffffff0d}[data-theme=dark] .filter-dropdown-menu{background:#16171ff5;box-shadow:0 18px 50px #0000006b}[data-theme=dark] .ops-table th{background:#0d0e14ad}[data-theme=dark] .ops-table td{background:#18192133}[data-theme=dark] .ops-table tbody tr:hover td{background:#292a367a}[data-theme=dark] .ops-dialog{background:var(--page-bg);border-color:var(--border-default);box-shadow:0 30px 90px #00000080}[data-theme=dark] .ops-dialog>header,[data-theme=dark] .ops-side-panel>header{background:var(--surface-1);border-bottom-color:var(--border-default)}[data-theme=dark] .ops-dialog>header .icon-button,[data-theme=dark] .ops-side-panel>header .icon-button,[data-theme=dark] .ops-detail-list>div,[data-theme=dark] .ops-rail-item{background:var(--surface-2);box-shadow:var(--shadow-card)}[data-theme=dark] .ops-form-grid input:not(.form-date-seg-input),[data-theme=dark] .ops-form-grid select,[data-theme=dark] .ops-form-grid textarea,[data-theme=dark] .ops-form-grid .form-select-trigger,[data-theme=dark] .ops-form-grid .form-multi-select-trigger{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .form-multi-select-trigger{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .form-multi-select.open .form-multi-select-trigger,[data-theme=dark] .form-multi-select-trigger:hover{border-color:var(--primary-border);background:#20212ceb;box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .form-multi-select-menu{background:#16171ff5;box-shadow:0 18px 50px #0000006b}[data-theme=dark] .form-multi-select-footer{background:var(--surface-inset, rgba(13, 14, 20, .68))}[data-theme=dark] .ops-dialog-body>.ops-form-grid{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .ops-dialog-footer,[data-theme=dark] .ops-panel-footer{background:var(--surface-1);border-top-color:var(--border-default)}[data-theme=dark] .ops-side-panel{background:#14151ceb;box-shadow:24px 0 90px #00000080}[data-theme=dark] .ops-metric,[data-theme=dark] .ops-tabs,[data-theme=dark] .ops-workspace{box-shadow:0 4px 18px #0000002e}@media(max-width:1100px){.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-split{grid-template-columns:1fr}.ops-rail{border-inline-start:0;border-top:1px solid var(--border-color)}}@media(max-width:720px){.ops-heading{align-items:flex-start}.ops-heading .students-heading-actions{width:100%;justify-content:flex-start}.ops-metrics{grid-template-columns:1fr 1fr}.ops-metric{min-height:104px;padding:13px}.ops-metrics .ops-metric.student-stat-card,.kpi-card.student-stat-card.ops-metric{min-height:48px;padding:10px 16px}.ops-metric-icon{width:32px;height:32px;flex-basis:32px}.ops-metric strong{font-size:calc(18px * var(--font-scale))}.ops-toolbar,.ops-workspace-header{align-items:stretch;flex-direction:column}.ops-search{max-width:none;flex-basis:auto}.ops-filters{width:100%}.ops-filters .filter-dropdown{flex:1;min-width:0}.ops-dialog-backdrop{padding:10px;align-items:flex-end}.ops-dialog{width:100%;max-height:calc(calc(100dvh / var(--ui-scale)) - 20px);border-radius:var(--radius-card) var(--radius-card) 0 0}.ops-dialog>header{min-height:68px;padding:12px 14px}.ops-dialog-body{padding:16px 14px}.ops-dialog-footer{padding:12px 14px}.ops-form-grid{grid-template-columns:1fr}.ops-form-grid>label.wide{grid-column:auto}.ops-detail-list{grid-template-columns:1fr}.ops-panel-backdrop{padding:0}.ops-side-panel{width:100%}.ops-dialog-wizard .wizard-stepper{grid-template-columns:1fr}.ops-dialog-wizard .wizard-step{min-height:48px}.wizard-form-grid{grid-template-columns:1fr}.wizard-form-grid>label.wide,.wizard-form-grid .net-salary-preview.wide{grid-column:1 / -1}}@media(max-width:430px){.ops-metrics{grid-template-columns:1fr}.ops-metric{min-height:92px}.ops-metrics .ops-metric.student-stat-card,.kpi-card.student-stat-card.ops-metric{min-height:48px}}.complaint-description{margin-top:12px}.complaint-attachments{margin-top:14px;padding:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff6b}.complaint-attachments>strong{width:100%;font-size:calc(11px * var(--font-scale))}.complaint-attachments span{padding:5px 8px;display:inline-flex;align-items:center;gap:6px;border-radius:6px;color:var(--primary);background:var(--primary-soft);font-size:calc(9px * var(--font-scale))}.complaint-attachments small{color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.complaint-thread{margin-top:16px;overflow:hidden;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff61}.complaint-thread>header{min-height:48px;padding:10px 13px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--glass-line)}.complaint-thread>header strong{font-size:calc(12px * var(--font-scale))}.complaint-thread>header span{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.complaint-thread>article{padding:12px 13px;border-bottom:1px solid var(--glass-line)}.complaint-thread>article div{display:flex;align-items:center;justify-content:space-between;gap:8px}.complaint-thread>article strong{font-size:calc(11px * var(--font-scale))}.complaint-thread>article small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.complaint-thread>article p{margin:7px 0 0;color:var(--ink);font-size:calc(11px * var(--font-scale));line-height:1.8}.complaint-composer{padding:12px;display:grid;gap:9px;background:#f1f5fa80}.complaint-composer textarea{width:100%;padding:10px 11px;resize:vertical;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:#ffffffa8;font:inherit;font-size:calc(11px * var(--font-scale))}.complaint-composer textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.complaint-composer .primary-button{justify-self:end}[data-theme=dark] .complaint-attachments,[data-theme=dark] .complaint-thread{background:#191a227a}[data-theme=dark] .complaint-composer{background:#0c0d128a}[data-theme=dark] .complaint-composer textarea{background:#14151cb8}.notification-template-grid{padding:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.broadcast-section{margin-top:0}.broadcast-grid{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.broadcast-card{min-height:168px;padding:18px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:14px 16px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff85;box-shadow:inset 0 1px #ffffffd1,var(--shadow-card);backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%);text-align:start;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.broadcast-card:hover{transform:translateY(-2px);border-color:var(--primary-border);box-shadow:0 16px 34px -24px #0f172a38,inset 0 1px #ffffffeb}.broadcast-card-icon{width:48px;height:48px;grid-row:1 / span 2;display:grid;place-items:center;border-radius:12px;font-size:calc(18px * var(--font-scale))}.broadcast-card--staff .broadcast-card-icon{color:var(--info);background:var(--info-soft)}.broadcast-card--community .broadcast-card-icon{color:var(--primary);background:var(--primary-soft)}.broadcast-card-copy strong{display:block;font-size:calc(15px * var(--font-scale));font-weight:500;line-height:1.4}.broadcast-card-copy p{margin:6px 0 0;color:var(--ink-muted);font-size:var(--text-xs, 12px);line-height:1.7}.broadcast-card-meta{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.broadcast-card-action{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:var(--text-xs, 12px);font-weight:600}.notifications-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:14px;margin-top:14px}.notifications-layout .ops-workspace{padding-bottom:4px}.broadcast-history-toolbar{padding:14px 16px 10px}.broadcast-history-list{max-height:520px;padding:14px 0 18px;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.broadcast-history-list .students-empty,.broadcast-history-list .ops-empty{padding:28px 16px 34px}.broadcast-history-list::-webkit-scrollbar{display:none;width:0;height:0}.broadcast-history-item{width:100%;padding:14px 16px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:start;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:start;cursor:pointer;transition:background .16s ease}.broadcast-history-item:hover{background:#0796ff0a}.broadcast-history-item:last-child{border-bottom:0}.broadcast-history-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;font-size:calc(14px * var(--font-scale))}.broadcast-history-icon--staff{color:var(--info);background:var(--info-soft)}.broadcast-history-icon--community{color:var(--primary);background:var(--primary-soft)}.broadcast-history-copy strong{display:block;font-size:var(--text-sm, 13px);font-weight:500;line-height:1.45}.broadcast-history-copy p{margin:4px 0 0;color:var(--ink-muted);font-size:var(--text-xs, 12px);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.broadcast-history-copy small{display:block;margin-top:6px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.broadcast-history-copy small i{font-style:normal;opacity:.55}.broadcast-history-side{display:grid;justify-items:end;gap:6px}.broadcast-history-side time{color:var(--ink-muted);font-size:var(--text-xs, 12px);white-space:nowrap}.platform-activity-feed{max-height:520px;padding:14px 16px 20px;overflow:auto;display:grid;gap:10px;scrollbar-width:none;-ms-overflow-style:none}.platform-activity-feed .students-empty,.platform-activity-feed .ops-empty{padding:28px 0 34px}.notifications-layout .platform-activity-section .ops-toolbar{padding-top:14px;padding-bottom:12px}.platform-activity-feed::-webkit-scrollbar{display:none;width:0;height:0}.platform-activity-item{padding:13px;display:grid;grid-template-columns:38px 1fr;gap:12px;border:1px solid var(--glass-border);border-radius:10px;background:#ffffff6b;box-shadow:inset 0 1px #ffffffad}.platform-activity-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale))}.platform-activity-copy header{display:flex;align-items:center;justify-content:space-between;gap:8px}.platform-activity-copy strong{font-size:var(--text-sm, 13px);font-weight:500;line-height:1.45}.platform-activity-copy p{margin:6px 0 0;color:var(--ink-muted);font-size:var(--text-xs, 12px);line-height:1.65}.platform-activity-copy footer{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--ink-muted);font-size:var(--text-xs, 12px)}.platform-activity-copy footer i{margin-inline-end:4px;opacity:.75}.platform-activity-copy footer time{margin-inline-start:auto;white-space:nowrap}[data-theme=dark] .broadcast-card{background:#1c1d268c;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .broadcast-card:hover{background:#20212cb8;box-shadow:0 16px 34px #00000047}[data-theme=dark] .broadcast-history-item:hover{background:#0796ff0f}[data-theme=dark] .broadcast-history-icon--staff{background:#72a0ff1f}[data-theme=dark] .broadcast-history-icon--community{background:var(--primary-soft)}[data-theme=dark] .platform-activity-item{background:#1c1d2685;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .platform-activity-icon{background:#0796ff1f}@media(max-width:1100px){.notifications-layout{grid-template-columns:1fr}}@media(max-width:720px){.broadcast-grid,.notification-template-grid,.notification-channels-grid{grid-template-columns:1fr}.broadcast-card{grid-template-columns:1fr;grid-template-rows:auto}.broadcast-card-icon{grid-row:auto;width:42px;height:42px}.broadcast-card-meta{grid-column:1}.platform-activity-copy footer time{margin-inline-start:0;width:100%}}.notification-template{min-height:245px;padding:15px;display:flex;flex-direction:column;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff80;box-shadow:inset 0 1px #ffffffb8;backdrop-filter:blur(16px) saturate(125%);-webkit-backdrop-filter:blur(16px) saturate(125%)}.notification-template>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.notification-template h3{margin:12px 0 2px;font-size:calc(14px * var(--font-scale))}.notification-template>strong{color:var(--primary);font-size:calc(10px * var(--font-scale))}.notification-template>p{margin:9px 0 12px;flex:1;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));line-height:1.75}.notification-template>footer{margin-top:13px;padding-top:12px;border-top:1px solid var(--glass-line)}.notification-template>footer .primary-button{width:100%}.notification-channel-list{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.notification-channel-list span{padding:4px 7px;display:inline-flex;align-items:center;gap:5px;border-radius:6px;color:var(--ink-muted);background:var(--neutral-100);font-size:calc(8px * var(--font-scale))}.notification-channel-list.compact-list{flex-wrap:nowrap}.notification-channel-list.compact-list span{width:25px;height:25px;padding:0;justify-content:center}.notification-channels-grid{padding:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.notification-channel-card{min-height:92px;padding:14px;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff7a}.notification-channel-card h3,.notification-channel-card p{margin:0}.notification-channel-card h3{font-size:calc(12px * var(--font-scale))}.notification-channel-card p{margin-top:3px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.notification-switch{position:relative;width:38px;height:22px;padding:2px;border:0;border-radius:12px;background:var(--neutral-200);cursor:pointer;transition:background .18s ease}.notification-switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0000002e;transition:transform .18s ease}.notification-switch.active{background:var(--primary)}.notification-switch.active span{transform:translate(-16px)}.notification-channel-note{margin:0 16px 16px;padding:13px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--primary-border);border-radius:8px;color:var(--primary);background:var(--primary-soft)}.notification-channel-note strong,.notification-channel-note p{margin:0}.notification-channel-note strong{font-size:calc(11px * var(--font-scale))}.notification-channel-note p{margin-top:2px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.notification-detail-copy{margin-top:12px}[data-theme=dark] .notification-template,[data-theme=dark] .notification-channel-card{background:#1c1d268c;box-shadow:inset 0 1px #ffffff0d}@media(max-width:720px){.notification-channels-grid{grid-template-columns:1fr}}.report-center-layout{margin-top:22px;display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px;align-items:start}.report-catalog{position:sticky;top:82px;max-height:calc(100vh - 110px);overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--glass-bg);box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.report-catalog::-webkit-scrollbar{width:0;height:0;display:none}.report-catalog>header{padding:15px;border-bottom:1px solid var(--glass-line)}.report-catalog h2{margin:0;font-size:calc(14px * var(--font-scale))}.report-catalog header span{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.report-catalog nav{padding:7px;display:grid;gap:3px}.report-catalog nav button{width:100%;min-height:56px;padding:7px 8px;display:grid;grid-template-columns:32px 1fr 10px;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;text-align:start;color:var(--ink-muted);background:transparent;cursor:pointer}.report-catalog nav button:hover{color:var(--ink);background:#0796ff0a}.report-catalog nav button.active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.report-catalog nav button .ops-row-icon{width:32px;height:32px}.report-catalog nav button>span:nth-child(2){min-width:0;display:grid}.report-catalog nav button strong{font-size:calc(10px * var(--font-scale))}.report-catalog nav button small{overflow:hidden;color:var(--ink-muted);font-size:calc(8px * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.report-catalog nav button>i{font-size:calc(8px * var(--font-scale))}.report-catalog>footer{padding:12px;display:flex;align-items:center;gap:9px;border-top:1px solid var(--glass-line);color:var(--primary);background:#0796ff0d}.report-catalog>footer span{display:grid}.report-catalog>footer strong{font-size:calc(9px * var(--font-scale))}.report-catalog>footer small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.report-main{min-width:0}.report-active-heading{min-height:76px;padding:14px 16px;display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border:1px solid var(--glass-border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.report-active-heading>.ops-row-icon{width:42px;height:42px}.report-active-heading p,.report-active-heading h2,.report-active-heading span{margin:0}.report-active-heading p{color:var(--primary);font-size:calc(8px * var(--font-scale))}.report-active-heading h2{margin-top:1px;font-size:calc(16px * var(--font-scale))}.report-active-heading>div:nth-child(2)>span{color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.report-main>.ops-toolbar{border:1px solid var(--glass-border);border-top:0;border-radius:0 0 var(--radius-card) var(--radius-card);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.report-main>.ops-toolbar:has(.filter-dropdown.open){z-index:220}.report-main .ops-metrics{margin:16px 0}.report-chart-panel{margin-top:0}.report-chart-wrap{height:290px;padding:16px}.report-chart-wrap.has-secondary{height:320px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr);gap:18px}.report-chart-cell{min-width:0;min-height:0;position:relative}.report-secondary-chart{padding-top:22px}.report-secondary-chart h3{position:absolute;inset-block-start:0;inset-inline:0;margin:0;text-align:center;color:var(--ink-muted);font-size:calc(10px * var(--font-scale));font-weight:500}.report-inline-actions{display:flex;gap:6px}.report-inline-actions .icon-button{width:34px;height:34px}@media(max-width:1000px){.report-center-layout{grid-template-columns:1fr}.report-catalog{position:static;max-height:none;overflow:visible}.report-catalog nav{display:flex;overflow-x:auto}.report-catalog nav button{min-width:190px}.report-catalog>footer{display:none}}@media(max-width:600px){.report-active-heading{grid-template-columns:38px 1fr}.report-active-heading>.ops-status{display:none}.report-chart-wrap{height:240px;padding:10px}.report-chart-wrap.has-secondary{height:510px;grid-template-columns:1fr}}.audit-table td:nth-child(4){max-width:190px}.file-audit-description{margin-top:12px}#settings-users.main-content.settings-users-page{display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto}#settings-users .ops-workspace,#settings-users .sg-workspace{flex:none;min-height:auto;overflow:visible}#settings-users .ops-table-wrap{flex:none;min-height:auto;max-height:none;overflow:auto}.settings-user-avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid var(--primary-border);border-radius:8px;color:var(--primary);background:var(--primary-soft);font-size:calc(13px * var(--font-scale));font-weight:700}.settings-cell-note{display:block;margin-top:3px}.settings-role-strip{padding:14px 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--glass-line);background:#f1f5fa59}.settings-role-strip button{min-width:0;min-height:64px;padding:9px;display:grid;grid-template-columns:34px 1fr 10px;align-items:center;gap:9px;border:1px solid var(--glass-border);border-radius:8px;color:var(--ink-muted);text-align:start;background:#ffffff6b;font:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.settings-role-strip button:hover{color:var(--ink);background:#ffffff9e}.settings-role-strip button.active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.settings-role-strip button>span:nth-child(2){min-width:0;display:grid;gap:2px}.settings-role-strip button strong{overflow:hidden;font-size:calc(10px * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.settings-role-strip button small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.settings-role-strip button>i{font-size:calc(8px * var(--font-scale))}.settings-role-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;color:var(--primary);background:var(--primary-soft)}.settings-role-icon.info{color:var(--info);background:var(--info-soft)}.settings-role-icon.success{color:var(--success);background:var(--success-soft)}.settings-role-icon.warning{color:var(--warning);background:var(--warning-soft)}.settings-permission-heading{min-height:72px;padding:13px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--glass-line)}.settings-permission-heading h3,.settings-permission-heading p{margin:0}.settings-permission-heading h3{font-size:calc(14px * var(--font-scale))}.settings-permission-heading p{margin-top:3px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.settings-permission-heading>span{padding:6px 9px;display:inline-flex;align-items:center;gap:6px;border-radius:6px;color:var(--success);background:var(--success-soft);font-size:calc(9px * var(--font-scale));white-space:nowrap}.permission-table{min-width:680px}.permission-table th:not(:first-child),.permission-table td:not(:first-child){width:120px;text-align:center}.permission-table th i{margin-inline-end:4px}.permission-toggle{width:31px;height:31px;border:1px solid var(--line);border-radius:7px;color:var(--ink-muted);background:#ffffff75;cursor:pointer;transition:.16s ease}.permission-toggle:hover{border-color:var(--primary-border);color:var(--primary)}.permission-toggle.active{border-color:var(--primary-border);color:#fff;background:var(--primary);box-shadow:0 4px 12px #0796ff33}.settings-general-form{padding:18px}.settings-logo-field{min-height:112px;padding:14px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--glass-line)}.settings-school-logo{width:72px;height:72px;flex:0 0 72px;display:grid;place-items:center;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff85}.settings-school-logo img{width:50px;height:50px;object-fit:contain}.settings-logo-field>div{display:grid;justify-items:start;gap:3px}.settings-logo-field strong{font-size:calc(12px * var(--font-scale))}.settings-logo-field p{margin:0 0 7px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.settings-logo-field label{cursor:pointer}.settings-logo-field input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.settings-form-grid{padding-block:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-form-grid label{min-width:0;display:grid;gap:7px;color:var(--ink);font-size:calc(10px * var(--font-scale));font-weight:600}.settings-form-grid input:not(.form-date-seg-input),.settings-form-grid select,.settings-form-grid textarea,.settings-form-grid .form-select-trigger{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;outline:0;color:var(--ink);background:#ffffff94;font:inherit;font-size:calc(11px * var(--font-scale));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);resize:vertical}.settings-form-grid input:not(.form-date-seg-input):focus,.settings-form-grid select:focus,.settings-form-grid textarea:focus,.settings-form-grid .form-select.open .form-select-trigger{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.settings-form-footer{padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--glass-line)}.settings-form-footer>span{display:inline-flex;align-items:center;gap:6px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.settings-modules-grid{padding:12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.settings-module-card{min-height:56px;padding:8px 10px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--glass-border);border-radius:8px;background:#ffffff61;opacity:.72;transition:opacity .16s ease,border-color .16s ease,background .16s ease}.settings-module-card.enabled{opacity:1;border-color:var(--primary-border);background:#ffffff8a}.settings-module-card.is-locked{opacity:.78}.settings-module-card h3,.settings-module-card p,.settings-module-card small{margin:0}.settings-module-card h3{overflow:hidden;font-size:calc(12px * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.settings-module-card p{display:-webkit-box;margin:2px 0 0;overflow:hidden;color:var(--ink-muted);font-size:calc(9px * var(--font-scale));-webkit-box-orient:vertical;-webkit-line-clamp:1}.settings-module-card small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.settings-module-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:var(--primary);background:var(--primary-soft);font-size:12px}.settings-module-control{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--ink-muted)}.settings-module-switch{width:42px;height:24px;padding:2px;border:1px solid var(--line);border-radius:999px;background:#ffffff75;cursor:pointer;transition:.16s ease}.settings-module-switch span{display:block;width:18px;height:18px;border-radius:50%;background:var(--ink-muted);transition:transform .16s ease,background .16s ease}.settings-module-switch.is-on{border-color:var(--primary-border);background:var(--primary-soft)}.settings-module-switch.is-on span{transform:translate(-18px);background:var(--primary)}.settings-module-switch:disabled{cursor:not-allowed;opacity:.55}[dir=ltr] .settings-module-switch.is-on span{transform:translate(18px)}@media(prefers-reduced-motion:reduce){.settings-module-card,.settings-module-switch,.settings-module-switch span{transition:none}}.settings-info-note{margin:0 16px 16px;padding:13px;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--info-border, var(--primary-border));border-radius:8px;color:var(--info);background:var(--info-soft)}.settings-info-note strong,.settings-info-note p{margin:0}.settings-info-note strong{font-size:calc(10px * var(--font-scale))}.settings-info-note p{margin-top:2px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.settings-types-layout{min-height:390px;display:grid;grid-template-columns:245px minmax(0,1fr)}.settings-type-nav{padding:10px;display:grid;align-content:start;gap:4px;border-inline-end:1px solid var(--glass-line);background:#f1f5fa57}.settings-type-nav button{min-height:58px;padding:8px 9px;display:grid;grid-template-columns:30px 1fr 8px;align-items:center;gap:9px;border:1px solid transparent;border-radius:8px;color:var(--ink-muted);text-align:start;background:transparent;font:inherit;cursor:pointer}.settings-type-nav button:hover{color:var(--ink);background:#ffffff6b}.settings-type-nav button.active{color:var(--primary);border-color:var(--primary-border);background:var(--primary-soft)}.settings-type-nav button>i:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:6px;background:var(--neutral-100)}.settings-type-nav button.active>i:first-child{background:#ffffffad}.settings-type-nav button>span{display:grid;gap:2px}.settings-type-nav button strong{font-size:calc(10px * var(--font-scale))}.settings-type-nav button small{color:var(--ink-muted);font-size:calc(8px * var(--font-scale))}.settings-type-nav button>i:last-child{font-size:calc(8px * var(--font-scale))}.settings-type-content{min-width:0;padding:16px}.settings-type-content>header{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--glass-line)}.settings-type-content h3,.settings-type-content p{margin:0}.settings-type-content h3{font-size:calc(13px * var(--font-scale))}.settings-type-content p{margin-top:3px;color:var(--ink-muted);font-size:calc(9px * var(--font-scale))}.settings-type-list{display:grid}.settings-type-list>div{min-height:55px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-soft)}.settings-type-list>div>span{display:flex;align-items:center;gap:10px}.settings-type-list b{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;color:var(--ink-muted);background:var(--neutral-100);font-size:calc(8px * var(--font-scale))}.settings-type-list strong{font-size:calc(11px * var(--font-scale))}.settings-type-list .settings-type-row-actions{gap:4px}.settings-channel-pills{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.settings-channel-pills span{padding:4px 6px;border-radius:5px;color:var(--ink-muted);background:var(--neutral-100);font-size:calc(8px * var(--font-scale))}[data-theme=dark] .settings-role-strip,[data-theme=dark] .settings-type-nav{background:#0a0b1057}[data-theme=dark] .settings-role-strip button,[data-theme=dark] .settings-school-logo,[data-theme=dark] .settings-module-card{background:#1f202a80}[data-theme=dark] .settings-role-strip button:hover,[data-theme=dark] .settings-module-card.enabled{background:#252631a3}[data-theme=dark] .settings-module-switch{background:#15161dad}[data-theme=dark] .settings-role-strip button.active{background:var(--primary-soft)}[data-theme=dark] .settings-form-grid input:not(.form-date-seg-input),[data-theme=dark] .settings-form-grid select,[data-theme=dark] .settings-form-grid .form-select-trigger,[data-theme=dark] .permission-toggle{background:#15161dad}[data-theme=dark] .permission-toggle.active{background:var(--primary)}@media(max-width:1050px){.settings-role-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-types-intro{margin:0 0 16px;padding:12px 16px;background:var(--primary-soft, rgba(99, 102, 241, .08));border:1px solid var(--primary-border, rgba(99, 102, 241, .18));border-radius:10px;color:var(--ink-muted, #6b7280);font-size:calc(13px * var(--font-scale));line-height:1.6}.settings-currency-labels{margin:0 0 18px;padding:16px;border:1px solid var(--glass-line, rgba(15, 23, 42, .08));border-radius:14px;background:var(--surface-1, #fff)}.settings-currency-labels>header{margin-bottom:14px}.settings-currency-labels h3{margin:0;font-size:calc(13px * var(--font-scale))}.settings-currency-labels p{margin:4px 0 0;color:var(--ink-muted, #6b7280);font-size:calc(12px * var(--font-scale));line-height:1.55}.settings-currency-labels .settings-form-footer{margin-top:4px;padding-top:0;border-top:0;justify-content:flex-end}.settings-exam-types-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.2fr);gap:16px;align-items:start}.settings-exam-types-form,.settings-exam-types-list{background:var(--surface-1, #fff);border:1px solid var(--glass-line, rgba(15, 23, 42, .08));border-radius:14px;box-shadow:var(--shadow-soft, 0 1px 3px rgba(0, 0, 0, .04));overflow:hidden}.settings-exam-types-form>header,.settings-exam-types-list>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line-soft, rgba(15, 23, 42, .06));background:var(--surface-base, #fafbfc)}.settings-exam-types-form>header h3,.settings-exam-types-list>header h3{margin:0;display:inline-flex;align-items:center;gap:8px;font-size:calc(14px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a)}.settings-exam-types-form>header h3 i,.settings-exam-types-list>header h3 i{color:var(--primary, #6366f1)}.settings-exam-types-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.settings-exam-types-grid label{display:grid;gap:6px}.settings-exam-types-grid label>span{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink, #0f172a)}.settings-exam-types-grid label>span b{color:var(--danger, #ef4444);margin-inline-start:2px}.settings-exam-types-grid input,.settings-exam-types-grid .form-select-trigger{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border-subtle, rgba(15, 23, 42, .12));border-radius:8px;background:var(--surface-base, #fff);color:var(--ink, #0f172a);font:inherit;font-size:calc(13px * var(--font-scale));transition:border-color .14s ease,box-shadow .14s ease}.settings-exam-types-grid input:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px var(--primary-soft, rgba(99, 102, 241, .12))}.settings-exam-types-wide{grid-column:1 / -1}.settings-exam-types-preview{margin:0 18px 16px;padding:14px 16px;background:var(--neutral-50, rgba(241, 245, 250, .4));border:1px dashed var(--line-soft, rgba(15, 23, 42, .1));border-radius:10px;display:flex;flex-direction:column;gap:8px}.settings-exam-types-preview>span:first-child{font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted, #6b7280);text-transform:uppercase;letter-spacing:.04em}.settings-exam-types-preview .exam-form-examtype-card{pointer-events:none;cursor:default}.settings-exam-types-actions{display:flex;justify-content:flex-end;gap:8px;padding:0 18px 18px}.settings-exam-type-card{display:inline-flex;align-items:center;gap:8px}.settings-exam-type-icon{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-size:calc(13px * var(--font-scale));background:var(--primary-soft, rgba(99, 102, 241, .12));color:var(--primary, #6366f1);flex-shrink:0}.settings-exam-type-icon.is-info{background:#38bdf824;color:#0284c7}.settings-exam-type-icon.is-success{background:#22c55e24;color:#16a34a}.settings-exam-type-icon.is-warning{background:#f59e0b24;color:#d97706}.settings-exam-type-icon.is-danger{background:#ef444424;color:#dc2626}.settings-exam-type-icon.is-neutral{background:#64748b24;color:#475569}.settings-exam-type-card strong{font-size:calc(13px * var(--font-scale));color:var(--ink, #0f172a)}.settings-exam-types-table code{font-family:ui-monospace,SFMono-Regular,SF Mono,Consolas,monospace;font-size:calc(11px * var(--font-scale));padding:2px 6px;background:var(--neutral-100, rgba(241, 245, 250, .7));border-radius:4px;color:var(--ink-muted, #6b7280)}.settings-exam-types-table tr.is-editing{background:var(--primary-soft, rgba(99, 102, 241, .06))}[data-theme=dark] .settings-exam-types-form,[data-theme=dark] .settings-exam-types-list{background:var(--surface-1, #1c1d26);border-color:#94a3b81f}[data-theme=dark] .settings-exam-types-form>header,[data-theme=dark] .settings-exam-types-list>header{background:#0f101666;border-bottom-color:#94a3b81a}[data-theme=dark] .settings-exam-types-grid input,[data-theme=dark] .settings-exam-types-grid .form-select-trigger{background:#0f101680;border-color:#94a3b829;color:var(--ink, #e2e8f0)}[data-theme=dark] .settings-exam-types-preview{background:#0f101666;border-color:#94a3b824}[data-theme=dark] .settings-exam-types-table code{background:#0f101699;color:#e2e8f0b3}[data-theme=dark] .settings-exam-types-table tr.is-editing{background:#6366f11a}@media(max-width:1050px){.settings-exam-types-layout{grid-template-columns:1fr}}@media(max-width:640px){.settings-exam-types-grid{grid-template-columns:1fr;padding:14px}}@media(max-width:720px){.settings-role-strip,.settings-modules-grid{grid-template-columns:1fr}.settings-general-form{padding:12px}.settings-form-grid,.settings-types-layout{grid-template-columns:1fr}.settings-type-nav{display:flex;overflow-x:auto;border-inline-end:0;border-bottom:1px solid var(--glass-line)}.settings-type-nav button{min-width:190px}.settings-form-footer,.settings-permission-heading{align-items:flex-start;flex-direction:column}.settings-form-footer .primary-button{width:100%}}@media(max-width:430px){.settings-logo-field{align-items:flex-start}.settings-school-logo{width:58px;height:58px;flex-basis:58px}.settings-school-logo img{width:40px;height:40px}}.schedule-config-panel .schedule-config-form{padding:0 18px 18px;display:grid;gap:16px}.schedule-config-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.clear-schedules-dialog{width:min(560px,100%)}.clear-schedules-form{display:flex;flex-direction:column;min-height:0;flex:1}.clear-schedules-body{display:flex;flex-direction:column;gap:10px;min-height:0}.clear-schedules-summary{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.clear-schedules-search{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-2);color:var(--ink-muted)}.clear-schedules-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font:inherit}.clear-schedules-all{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1);font-size:calc(13px * var(--font-scale));font-weight:700}.clear-schedules-all input,.clear-schedules-list input{width:16px;height:16px;margin:0;accent-color:var(--primary)}.clear-schedules-stage{position:relative;min-height:180px}.clear-schedules-stage.is-saving .clear-schedules-list{opacity:.45;pointer-events:none}.clear-schedules-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;overflow:auto;max-height:min(420px,48dvh)}.clear-schedules-list label{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1);cursor:pointer}.clear-schedules-list label.is-checked{border-color:color-mix(in srgb,var(--danger) 35%,var(--border-default));background:color-mix(in srgb,var(--danger) 6%,var(--surface-1))}.clear-schedules-list label.is-empty{opacity:.55;cursor:default}.clear-schedules-list label span{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.clear-schedules-list strong{overflow:hidden;font-size:calc(13px * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.clear-schedules-list small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.clear-schedules-count{flex:0 0 auto;padding:2px 8px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-style:normal;font-weight:700}.clear-schedules-count.is-used{background:color-mix(in srgb,var(--primary) 12%,var(--surface-1));color:var(--primary)}.clear-schedules-empty,.clear-schedules-warning{margin:0;font-size:calc(12px * var(--font-scale))}.clear-schedules-warning{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--danger) 8%,var(--surface-1));color:var(--danger)}.clear-schedules-skeleton{display:flex;flex-direction:column;gap:8px}.clear-schedules-skeleton>span:not(.clear-schedules-sr),.clear-schedules-status{border-radius:12px;background-color:var(--sk-fill, color-mix(in srgb, var(--ink) 8%, var(--surface-1)));background-image:var(--sk-shimmer);background-size:220% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.clear-schedules-skeleton>span:not(.clear-schedules-sr){display:block;height:58px}.clear-schedules-status{position:absolute;inset-inline:12px;top:50%;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 14px;transform:translateY(-50%);background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-card);animation:none;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:700}.clear-schedules-status i{color:var(--primary)}.clear-schedules-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.schedule-config-block{padding:18px;border:1px solid var(--glass-line);border-radius:14px;background:var(--surface-raised)}.schedule-config-block header h3{margin:0 0 6px;font-size:calc(15px * var(--font-scale));display:flex;align-items:center;gap:8px}.schedule-config-block header p{margin:0;color:var(--text-secondary);font-size:calc(12px * var(--font-scale));line-height:1.6}.schedule-config-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:14px}.schedule-config-day-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;border-radius:12px;border:1px solid var(--glass-line);background:var(--neutral-50);color:var(--text-secondary);cursor:pointer;transition:background .15s,border-color .15s,color .15s}.schedule-config-day-chip span{font-weight:700;font-size:calc(13px * var(--font-scale))}.schedule-config-day-chip small{font-size:calc(10px * var(--font-scale));opacity:.85}.schedule-config-day-chip.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-strong)}.schedule-config-day-chip:not(.active):hover{background:var(--neutral-100)}.schedule-config-note{margin:12px 0 0;font-size:calc(12px * var(--font-scale));color:var(--text-secondary);display:flex;align-items:center;gap:6px}.schedule-config-period-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;max-width:320px}.schedule-config-period-count span{font-size:calc(13px * var(--font-scale));font-weight:600}.schedule-config-periods-table input[type=time]{min-width:120px;padding:8px 10px;border-radius:8px;border:1px solid var(--glass-line);background:var(--surface-base);color:inherit}.schedule-config-duration{font-size:calc(12px * var(--font-scale));color:var(--text-secondary)}.schedule-config-duration.invalid{color:var(--danger)}.schedule-config-holiday-add{display:grid;grid-template-columns:1fr 1.4fr auto;gap:10px;align-items:end;margin:14px 0}.schedule-config-holiday-add label{display:grid;gap:6px;font-size:calc(12px * var(--font-scale))}.schedule-config-holiday-add input:not(.form-date-seg-input){padding:9px 10px;border-radius:8px;border:1px solid var(--glass-line);background:var(--surface-base);color:inherit}[data-theme=dark] .schedule-config-block{background:#15161d8c}[data-theme=dark] .schedule-config-day-chip{background:#1f202a8c}[data-theme=dark] .schedule-config-day-chip.active{background:var(--primary-soft)}@media(max-width:900px){.schedule-config-days{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-config-holiday-add{grid-template-columns:1fr}}@media(max-width:520px){.schedule-config-days{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-config-panel .schedule-config-form{padding:0 12px 12px}}.schedule-section-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--glass-line);border-radius:12px;background:var(--surface-raised)}.schedule-section-summary{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}.schedule-section-summary-item{display:inline-flex;align-items:center;gap:6px;font-size:calc(12px * var(--font-scale));color:var(--text-secondary)}.schedule-section-summary-item b{font-size:calc(14px * var(--font-scale));color:var(--text-primary)}.schedule-section-summary-item.muted{opacity:.75}.schedule-section-view .schedule-section-grid-wrap{overflow-x:auto;border:1px solid var(--glass-line);border-radius:14px;background:var(--surface-base);box-shadow:var(--shadow-card)}.schedule-section-view .schedule-grid-cell.has-lesson{display:flex;flex-direction:column;padding:3px;min-height:80px;border:0;background:transparent}.schedule-section-cell-wrap{position:relative;flex:1;display:flex;min-height:0;width:100%}.schedule-section-cell{display:flex;flex:1;flex-direction:column;justify-content:center;gap:2px;width:100%;min-height:0;padding:4px 6px;border:1px solid var(--border-subtle, var(--glass-line));border-inline-start:3px solid var(--lesson-accent, var(--primary));border-radius:8px;background:var(--surface-1);color:inherit;text-align:start;cursor:pointer;box-shadow:var(--shadow-card);transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.schedule-section-cell:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--lesson-accent, var(--primary)) 24%,var(--border-subtle, var(--glass-line)));box-shadow:var(--shadow-hover)}.schedule-section-cell-subject{margin:0;font-size:calc(12.5px * var(--font-scale));font-weight:600;line-height:1.35;color:var(--ink);overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.schedule-section-cell-teacher{display:block;margin:0;font-size:calc(11px * var(--font-scale));font-weight:500;line-height:1.4;color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-section-cell-actions{position:absolute;inset-block-end:7px;inset-inline-start:7px;display:flex;gap:4px;opacity:0;pointer-events:none;transition:opacity .14s ease}.schedule-section-cell-wrap.is-editable:hover .schedule-section-cell-actions,.schedule-section-cell-wrap.is-editable:focus-within .schedule-section-cell-actions{opacity:1;pointer-events:auto}.schedule-section-cell-wrap.is-editable .schedule-section-cell{padding-block-end:30px}.schedule-section-cell-actions .icon-button{width:24px;height:24px;min-width:24px;min-height:24px;padding:0;border-radius:6px;font-size:calc(10px * var(--font-scale));background:var(--surface-1);border:1px solid var(--glass-line);box-shadow:var(--shadow-soft)}.schedule-section-cell-actions .icon-button.danger:hover{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}[data-theme=dark] .schedule-section-view .schedule-section-cell{background:#1c1d26eb;border-color:#94a3b81f;border-inline-start-color:var(--lesson-accent, var(--primary));box-shadow:0 1px 3px #0003}[data-theme=dark] .schedule-section-view .schedule-section-cell:hover{background:#20212cf5;box-shadow:0 4px 14px #00000047}[data-theme=dark] .schedule-section-view .schedule-section-cell-subject{color:#f8fafcf2}[data-theme=dark] .schedule-section-view .schedule-section-cell-teacher{color:#94a3b8e0}[data-theme=dark] .schedule-section-cell-actions .icon-button{background:#15161de6;border-color:#94a3b829}.schedule-section-add,.schedule-section-drop-slot,.schedule-section-empty{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:64px;border:1px dashed var(--glass-line);border-radius:10px;background:transparent;color:var(--text-secondary);font-size:calc(11px * var(--font-scale));cursor:pointer}.schedule-section-add:hover,.schedule-section-drop-slot{border-color:var(--primary-border);color:var(--primary);background:#e8f4ff73}.schedule-section-layout{display:grid;gap:14px;align-items:start;min-width:0}.schedule-section-layout.has-palette{grid-template-columns:minmax(168px,192px) minmax(0,1fr)}.schedule-section-main{display:grid;gap:14px;min-width:0}.schedule-section-palette.is-side{display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;border:1px solid var(--glass-line);border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-card);position:sticky;top:0;max-height:calc(calc(100vh / var(--ui-scale)) - 220px);overflow:auto;scrollbar-width:thin}.schedule-section-palette-head{margin-bottom:2px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.schedule-section-palette-title{display:flex;align-items:flex-start;gap:7px;min-width:0}.schedule-section-palette-title-text{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.schedule-section-palette-title i{margin-top:2px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));opacity:.7}.schedule-section-palette-title-text strong{font-size:calc(12px * var(--font-scale));font-weight:700;line-height:1.35;color:var(--ink)}.schedule-section-palette-title-text p{margin:0;font-size:calc(10px * var(--font-scale));line-height:1.45;color:var(--ink-muted)}.schedule-section-palette-count{flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--neutral-100);color:var(--ink-muted);font-size:calc(10px * var(--font-scale));font-weight:700}.schedule-section-palette-chips{display:flex;flex-direction:column;gap:6px}.schedule-section-palette.is-side .schedule-palette-chip{width:100%;min-width:0;padding:7px 10px;gap:6px;border-radius:10px;font-size:calc(11px * var(--font-scale));font-weight:600;box-shadow:none}.schedule-section-palette.is-side .schedule-palette-chip:hover{transform:none;box-shadow:none}.schedule-section-palette .schedule-chip-grip{font-size:calc(9px * var(--font-scale))}.schedule-section-palette .schedule-chip-dot{width:6px;height:6px}.schedule-section-view.is-embedded{display:block}.schedule-section-view.is-embedded .schedule-section-palette.is-side{max-height:calc(calc(100vh / var(--ui-scale)) - 260px)}[data-theme=dark] .schedule-section-palette-count{background:#1f202ab8}[data-theme=dark] .schedule-section-palette.is-side{background:#15161db8}@media(max-width:960px){.schedule-section-layout.has-palette{grid-template-columns:1fr}.schedule-section-palette.is-side{position:static;max-height:none;overflow:visible}.schedule-section-palette-chips{flex-direction:row;flex-wrap:wrap}.schedule-section-palette.is-side .schedule-palette-chip{width:auto}}.schedule-section-view .schedule-grid-wrap.schedule-section-grid-wrap{padding:0}.schedule-section-view .schedule-grid.schedule-section-grid{min-width:100%;padding:10px}.schedule-section-view .schedule-grid-cell.is-drop-target{outline:2px dashed var(--primary);outline-offset:-2px;background:var(--primary-soft)}.schedule-section-view .schedule-section-add,.schedule-section-view .schedule-section-drop-slot{min-height:80px;width:100%;flex-direction:column}.schedule-section-view.is-dragging-active{cursor:grabbing}.schedule-section-view.is-dragging-active .schedule-grid-cell>*{pointer-events:none}.schedule-section-view.is-dragging-active .schedule-grid-cell.is-drop-target{outline:2px dashed var(--primary);outline-offset:-2px;background:var(--primary-soft)}.schedule-section-view.is-editing .schedule-grid-cell.is-empty{background:#ffffff14}[data-theme=dark] .schedule-section-view .schedule-section-grid-wrap,[data-theme=dark] .schedule-section-view .schedule-grid-wrap.schedule-section-grid-wrap{background:#0f10168c}[data-theme=dark] .schedule-section-view .schedule-grid-cell.is-empty{background:#15161d73}[data-theme=dark] .schedule-section-toolbar{background:#15161d8c}@media(max-width:720px){.schedule-section-toolbar{flex-direction:column;align-items:stretch}}.schedule-section-view .schedule-grid-corner,.schedule-section-view .schedule-grid-head{position:sticky;top:0;z-index:2;border-radius:10px;background:var(--surface-1);box-shadow:0 1px 0 var(--glass-line)}.schedule-section-view .schedule-grid-head strong{font-size:calc(12.5px * var(--font-scale));font-weight:700}.schedule-section-view .schedule-grid-head small{color:var(--primary);font-weight:600;opacity:.85}.schedule-section-view .schedule-grid-period{position:sticky;inset-inline-start:0;z-index:1;border-radius:10px;background:var(--surface-1);box-shadow:1px 0 0 var(--glass-line)}.schedule-section-view .schedule-grid-period strong{font-size:calc(13px * var(--font-scale));font-weight:700}.schedule-section-view .schedule-grid-row{transition:background-color .12s ease}.schedule-section-view .schedule-grid-row+.schedule-grid-row .schedule-grid-cell,.schedule-section-view .schedule-grid-row+.schedule-grid-row .schedule-grid-period{border-top:1px solid var(--glass-line)}.schedule-section-view .schedule-grid-row:hover .schedule-grid-period,.schedule-section-view .schedule-grid-row:hover .schedule-grid-cell.is-empty{background:var(--surface-2, rgba(120, 130, 150, .06))}.schedule-section-view .schedule-grid-row.is-today .schedule-grid-period{color:var(--primary);background:var(--primary-soft)}.schedule-section-view .schedule-grid-row.is-today .schedule-grid-cell{background:color-mix(in srgb,var(--primary) 4%,transparent)}.schedule-today-badge{display:inline-flex;align-items:center;width:fit-content;padding:2px 7px;border-radius:999px;background:var(--primary);color:#fff;font-size:calc(9px * var(--font-scale));font-weight:700;line-height:1.6}[data-theme=dark] .schedule-section-view .schedule-grid-corner,[data-theme=dark] .schedule-section-view .schedule-grid-head,[data-theme=dark] .schedule-section-view .schedule-grid-period{background:#15161deb}[data-theme=dark] .schedule-section-view .schedule-grid-row.is-today .schedule-grid-period{background:#0796ff29}@media(max-width:720px){.schedule-section-view .schedule-grid-corner,.schedule-section-view .schedule-grid-head,.schedule-section-view .schedule-grid-period{position:static}}.login-shell{position:relative;min-height:calc(100vh / var(--ui-scale));display:grid;place-items:center;padding:24px;overflow:hidden}.login-theme-toggle{position:fixed;top:20px;inset-inline-start:20px;z-index:6;width:42px;height:42px;border-radius:12px;background:var(--surface);border:1px solid var(--glass-line);box-shadow:var(--shadow-soft)}.login-layout{position:relative;z-index:2;width:min(1080px,100%);display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}.login-brand,.login-card{border:1px solid var(--border-default);border-radius:22px;background:var(--glass-surface);box-shadow:var(--shadow-panel)}.login-brand{padding:34px 30px;display:grid;align-content:space-between;gap:28px;background:radial-gradient(circle at 12% 18%,rgba(7,150,255,.18),transparent 34%),radial-gradient(circle at 88% 82%,rgba(29,107,255,.12),transparent 30%),var(--glass-surface)}.login-brand-school{background:radial-gradient(circle at 14% 20%,rgba(7,150,255,.16),transparent 36%),radial-gradient(circle at 86% 78%,rgba(5,166,107,.1),transparent 28%),var(--glass-surface)}.login-brand-top{display:flex;align-items:center;gap:14px}.login-brand-top>div strong{display:block;font-size:calc(22px * var(--font-scale));line-height:1.1}.login-brand-top>div>span{display:block;margin-top:4px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.login-brand-copy h1{margin:10px 0 12px;font-size:clamp(28px,calc(3vw / var(--ui-scale)),36px);line-height:1.25;font-weight:600}.login-brand-copy p:last-child{margin:0;color:var(--ink-muted);font-size:calc(14px * var(--font-scale));line-height:1.8;max-width:34ch}.login-highlights{display:grid;gap:12px}.login-highlight{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--primary-border);background:var(--primary-soft)}.login-highlight>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--surface-1)}.login-highlight strong{display:block;font-size:calc(14px * var(--font-scale))}.login-highlight small{display:block;margin-top:2px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.login-brand-foot{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.login-panel{display:grid;place-items:center;padding:10px}.login-card{width:min(100%,430px);padding:30px 28px 24px}.login-card-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px}.login-card-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);flex-shrink:0}.login-card-header h2{margin:4px 0 6px;font-size:calc(24px * var(--font-scale));font-weight:600}.login-card-header p:last-child{margin:0;color:var(--ink-muted);font-size:calc(13px * var(--font-scale))}.login-form{display:grid;gap:16px}.login-field{display:grid;gap:8px}.login-field>span:first-child{font-size:calc(12px * var(--font-scale));font-weight:500;color:var(--ink-muted)}.login-input-wrap{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 14px;border-radius:14px;border:1px solid var(--glass-line);background:var(--surface);transition:border-color .2s ease,box-shadow .2s ease}.login-input-wrap:focus-within{border-color:var(--primary-border);box-shadow:0 0 0 4px #0796ff1f}.login-input-wrap i{color:var(--ink-muted);font-size:calc(14px * var(--font-scale))}.login-input-wrap input{flex:1;border:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(14px * var(--font-scale));outline:none}.login-input-wrap input::placeholder{color:var(--ink-muted)}.login-input-action{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:10px;color:var(--ink-muted);background:transparent;cursor:pointer}.login-input-action:hover{color:var(--primary);background:var(--primary-soft)}.login-form-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.login-remember{display:inline-flex;align-items:center;gap:8px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));cursor:pointer}.login-remember input{width:16px;height:16px;accent-color:var(--primary)}.login-link{border:0;background:transparent;color:var(--primary);font:inherit;font-size:calc(12px * var(--font-scale));cursor:pointer;padding:0}.login-link:hover{text-decoration:underline}.login-submit{width:100%;min-height:50px;margin-top:4px;font-size:calc(14px * var(--font-scale))}.login-demo-hint{display:flex;align-items:center;gap:10px;margin-top:18px;padding:12px 14px;border-radius:12px;border:1px dashed var(--primary-border);background:var(--primary-soft);color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.login-demo-hint i{color:var(--primary)}.login-demo-hint b{color:var(--ink)}.login-demo-mode-card{margin-top:12px;padding:14px 16px;border-radius:14px;flex-wrap:wrap}.login-demo-mode-card .settings-demo-mode-copy p{max-width:none;font-size:calc(12px * var(--font-scale))}[data-theme=dark] .login-brand,[data-theme=dark] .login-card{background:color-mix(in srgb,var(--surface-1) 78%,transparent)}[data-theme=dark] .login-highlight>span{background:color-mix(in srgb,var(--surface-2) 72%,transparent)}[data-theme=dark] .login-input-wrap{background:color-mix(in srgb,var(--surface-inset) 82%,transparent)}@media(max-width:960px){.login-layout{grid-template-columns:1fr;max-width:520px}.login-brand{gap:20px}.login-highlights{grid-template-columns:repeat(3,minmax(0,1fr))}.login-highlight{flex-direction:column;align-items:flex-start;text-align:start}}@media(max-width:640px){.login-shell{padding:16px}.login-theme-toggle{top:14px;inset-inline-start:14px}.login-brand,.login-card{border-radius:18px}.login-brand{padding:22px 20px}.login-card{padding:22px 18px 18px}.login-highlights{grid-template-columns:1fr}}@media(max-width:767px){.mobile-card-table-wrap,.data-table-wrap,.ops-table-wrap,.students-table-wrap,.guardians-table-wrap,.staff-table-wrap{overflow:visible;min-height:0}table.mobile-card-table,table.data-table,table.ops-table:not(.permission-table):not(.table-no-mobile-cards),table.students-table,table.staff-table,table.guardians-table{display:block;width:100%;min-width:0!important;border-collapse:separate;border-spacing:0;table-layout:auto}table.mobile-card-table thead,table.data-table thead,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) thead,table.students-table thead,table.staff-table thead,table.guardians-table thead{display:none}table.mobile-card-table tbody,table.data-table tbody,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody,table.students-table tbody,table.staff-table tbody,table.guardians-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:stretch}table.mobile-card-table tbody tr,table.data-table tbody tr,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody tr,table.students-table tbody tr,table.staff-table tbody tr,table.guardians-table tbody tr{position:relative;display:grid;gap:0;margin:0;padding:0;overflow:hidden;border:0;border-radius:18px;background:var(--surface-1, #fff);box-shadow:0 10px 28px #0f172a14;transition:border-color .16s ease,box-shadow .16s ease}table.mobile-card-table tbody tr:hover,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody tr:hover,table.students-table tbody tr:hover,table.staff-table tbody tr:hover,table.guardians-table tbody tr:hover{border-color:var(--primary-border);box-shadow:var(--shadow-hover);transform:none;background:var(--surface-1, #fff)}table.mobile-card-table tbody tr:hover td,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody tr:hover td{background:transparent!important}table.mobile-card-table tbody td,table.data-table tbody td,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td,table.students-table tbody td,table.staff-table tbody td,table.guardians-table tbody td{display:flex;flex-direction:column;width:auto!important;min-width:0;max-width:none!important;align-items:stretch;justify-content:flex-start;gap:2px;padding:8px 12px;border-bottom:0;border-top:1px solid var(--border-subtle, var(--line-soft));background:transparent!important;font-size:calc(12px * var(--font-scale));line-height:1.45;text-align:start}table.mobile-card-table tbody td:last-child,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:last-child,table.students-table tbody td:last-child,table.staff-table tbody td:last-child,table.guardians-table tbody td:last-child{border-bottom:0}table.mobile-card-table tbody td:before,table.data-table tbody td:before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:before,table.students-table tbody td:before,table.staff-table tbody td:before,table.guardians-table tbody td:before{content:attr(data-label);flex:none;max-width:none;color:var(--ink-muted);font-size:11px;font-weight:700;line-height:1.3;text-align:start}table.mobile-card-table tbody td:not([data-label]):before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:not([data-label]):before,table.students-table tbody td:not([data-label]):before,table.staff-table tbody td:not([data-label]):before,table.guardians-table tbody td:not([data-label]):before,table.mobile-card-table tbody td[data-label=""]:before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td[data-label=""]:before{display:none}table.mobile-card-table tbody td[data-card-role=primary],table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td[data-card-role=primary],table.students-table tbody td[data-card-role=primary],table.staff-table tbody td[data-card-role=primary],table.guardians-table tbody td[data-card-role=primary],table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:first-child:not([data-card-role=select]):not([data-card-role=actions]),table.students-table tbody td:nth-child(2),table.staff-table tbody td:nth-child(2),table.guardians-table tbody td:first-child{flex-direction:column;align-items:stretch;gap:4px;padding:12px 10px;border-top:0;color:#fff;background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary) 68%,#08315f))!important}table.mobile-card-table tbody td[data-card-role=primary] :is(strong,span,small,button,a),table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td[data-card-role=primary] :is(strong,span,small,button,a),table.staff-table tbody td:nth-child(2) :is(strong,span,small,button,a),table.guardians-table tbody td:first-child :is(strong,span,small,button,a),table.students-table tbody td:nth-child(2) :is(strong,span,small,button,a){color:#fff}table.mobile-card-table tbody td[data-card-role=primary]:before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td[data-card-role=primary]:before,table.students-table tbody td[data-card-role=primary]:before,table.staff-table tbody td[data-card-role=primary]:before,table.guardians-table tbody td[data-card-role=primary]:before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:first-child:not([data-card-role=select]):not([data-card-role=actions]):before,table.students-table tbody td:nth-child(2):before,table.staff-table tbody td:nth-child(2):before,table.guardians-table tbody td:first-child:before{display:none}table.mobile-card-table tbody td[data-card-role=primary]>*,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td[data-card-role=primary]>*,table.students-table tbody td[data-card-role=primary]>*,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:first-child>*,table.students-table tbody td:nth-child(2)>*,table.staff-table tbody td:nth-child(2)>*,table.guardians-table tbody td:first-child>*{width:100%}table.mobile-card-table tbody td:not([data-card-role=primary]):not([data-card-role=select]):not([data-card-role=actions])>*,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:not([data-card-role=primary]):not([data-card-role=select]):not([data-card-role=actions])>*{margin-inline-start:auto;text-align:end}table.mobile-card-table .ops-row-title,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-row-title{min-width:0;width:100%}table.mobile-card-table .ops-progress,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-progress{min-width:0;width:min(100%,180px);margin-inline-start:auto}table.mobile-card-table tbody td[data-card-role=select],table.students-table tbody td.select-cell,table.students-table tbody td:first-child:has(input[type=checkbox]){position:absolute;inset-block-start:12px;inset-inline-end:12px;z-index:2;width:auto!important;padding:0;border:0;background:transparent!important}table.mobile-card-table tbody td[data-card-role=select]:before,table.students-table tbody td.select-cell:before{display:none}table.students-table tbody td:nth-child(2){padding-inline-end:44px}table.mobile-card-table tbody td[data-card-role=actions],table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:has(.ops-actions),table.students-table tbody td:has(.row-actions,.ops-actions),table.staff-table tbody td:has(.ops-actions,.row-actions),table.guardians-table tbody td:has(.ops-actions,.row-actions){flex-direction:row;justify-content:flex-end;align-items:center;gap:8px;padding:4px 10px 12px;background:transparent!important;border-bottom:0;border-top:0}table.mobile-card-table tbody td[data-card-role=actions]:before,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:has(.ops-actions):before,table.students-table tbody td:has(.row-actions,.ops-actions):before,table.staff-table tbody td:has(.ops-actions,.row-actions):before,table.guardians-table tbody td:has(.ops-actions,.row-actions):before{display:none}table.mobile-card-table .ops-actions,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-actions,table.students-table .row-actions,table.guardians-table .ops-actions,table.staff-table .ops-actions{width:100%;justify-content:flex-end}table.mobile-card-table .ops-actions .icon-button,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-actions .icon-button,table.students-table .icon-button,table.guardians-table .icon-button,table.staff-table .icon-button{width:40px;height:40px;min-width:40px;min-height:40px;border-color:transparent;background:var(--primary-soft);color:var(--primary)}table.mobile-card-table .ops-actions .icon-button:last-child,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-actions .icon-button:last-child,table.staff-table .ops-actions .icon-button:last-child,table.guardians-table .ops-actions .icon-button:last-child{margin-inline-start:auto;background:color-mix(in srgb,var(--danger, #e11d48) 12%,var(--surface-1));color:var(--danger, #e11d48)}table.mobile-card-table .student-identity,table.mobile-card-table .guardian-identity,table.mobile-card-table .staff-identity,table.students-table .student-identity,table.guardians-table .guardian-identity,table.staff-table .staff-identity{width:100%;justify-content:flex-start}table.mobile-card-table .table-secondary,table.mobile-card-table small,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) small,table.students-table small,table.guardians-table small,table.staff-table small{display:block}table.mobile-card-table .ops-status,table.mobile-card-table .student-status,table.ops-table:not(.permission-table):not(.table-no-mobile-cards) .ops-status,table.students-table .student-status{margin-inline-start:auto}}@media(max-width:767px){[data-theme=dark] table.mobile-card-table tbody tr,[data-theme=dark] table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody tr,[data-theme=dark] table.students-table tbody tr,[data-theme=dark] table.staff-table tbody tr,[data-theme=dark] table.guardians-table tbody tr{border-color:var(--border-default);background:var(--surface-1)}[data-theme=dark] table.mobile-card-table tbody td[data-card-role=actions],[data-theme=dark] table.ops-table:not(.permission-table):not(.table-no-mobile-cards) tbody td:has(.ops-actions){background:transparent!important}}.schedule-builder{display:grid;gap:16px;padding:4px 0;min-width:0}.schedule-builder.is-dragging-active{cursor:grabbing}.schedule-builder.is-dragging-active .schedule-builder-cell.is-empty .schedule-builder-slot{border-color:var(--primary-border);background:#f5f2ff8c}.schedule-builder-palette{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff94;box-shadow:var(--shadow-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.schedule-builder-palette--inline{flex-direction:column;align-items:stretch}.schedule-builder-palette>strong{font-size:calc(12px * var(--font-scale));color:var(--ink-muted);margin-inline-end:4px}.schedule-palette-chip{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--chip-border, var(--primary-border));border-radius:11px;background:var(--chip-bg, var(--primary-soft));color:var(--ink);cursor:grab;font-size:calc(12px * var(--font-scale));font-weight:600;text-align:start;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.schedule-palette-chip:hover{transform:translateY(-1px);border-color:var(--chip-accent, var(--primary));box-shadow:0 6px 16px #0796ff1f}.schedule-palette-chip:active,.schedule-palette-chip.is-dragging{cursor:grabbing;opacity:.72;transform:scale(.98);box-shadow:0 8px 20px #0796ff29}.schedule-chip-grip{color:var(--chip-accent, var(--primary));font-size:calc(11px * var(--font-scale));opacity:.55}.schedule-chip-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--chip-accent, var(--primary))}.schedule-chip-label{flex:1;min-width:0}.schedule-palette-chips--inline{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.schedule-palette-chips--inline .schedule-palette-chip{width:auto;min-width:120px}.schedule-builder-grid-wrap{width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card)}.schedule-builder-table{width:100%;border-collapse:separate;border-spacing:0}.schedule-builder-table--fit{table-layout:fixed;min-width:0}.schedule-col-section{width:52px}.schedule-col-period{width:calc((100% - 52px) / 7)}.schedule-builder-table thead th{position:sticky;top:0;z-index:2;padding:0;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#f8fafc,var(--surface-2));vertical-align:middle}.schedule-builder-corner{position:sticky;right:0;z-index:3;width:52px;min-width:0;padding:8px 6px!important;font-size:calc(10px * var(--font-scale));font-weight:700;color:var(--ink-muted);text-align:center;background:linear-gradient(180deg,#f8fafc,var(--surface-2))!important;box-shadow:-4px 0 8px #0f172a0a}.schedule-builder-period-head{min-width:0;padding:8px 4px!important;text-align:center}.schedule-period-num{display:inline-grid;place-items:center;width:26px;height:26px;margin-bottom:4px;border-radius:8px;background:var(--primary-soft);color:var(--primary);font-size:calc(12px * var(--font-scale));font-weight:800}.schedule-period-label{display:block;font-size:calc(10px * var(--font-scale));font-weight:700;color:var(--ink-muted)}.schedule-builder-period-head small{display:block;margin-top:3px;font-size:calc(10px * var(--font-scale));font-weight:600;color:var(--ink-muted);opacity:.9}.schedule-builder-section-head{position:sticky;right:0;z-index:1;width:52px;min-width:0;padding:8px 6px!important;border-bottom:1px solid var(--line-soft);background:var(--surface-2)!important;text-align:center;vertical-align:top;box-shadow:-4px 0 8px #0f172a0a}.schedule-section-badge{display:inline-grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:10px;background:var(--surface-1);border:1px solid var(--line-soft);font-size:calc(14px * var(--font-scale));font-weight:800;color:var(--ink)}.schedule-builder-section-head small{display:block;margin-top:4px;font-size:calc(9px * var(--font-scale));color:var(--ink-muted);font-weight:600}.schedule-builder-cell{min-width:0;width:auto;height:128px;padding:6px;border-bottom:1px solid var(--line-soft);border-inline-start:1px solid var(--line-soft);vertical-align:top;background:var(--surface-1);transition:background .16s ease,box-shadow .16s ease}.schedule-builder-cell.has-lesson,.schedule-builder-cell.is-empty{height:128px}.schedule-builder-lesson,.schedule-builder-slot{height:100%;min-height:0}.schedule-builder-cell.has-lesson{background:transparent;padding:5px}.schedule-builder-cell.is-empty{background:#fafbff}.schedule-builder-cell.is-empty:hover{background:#e8f4ff}.schedule-builder-cell.is-drop-target{background:var(--primary-soft)!important;box-shadow:inset 0 0 0 2px var(--primary)}.schedule-builder-cell.is-drag-source{opacity:.55}.schedule-builder-cell.has-conflict.is-drop-target{box-shadow:inset 0 0 0 2px var(--danger)}.schedule-builder-lesson{position:relative;display:flex;align-items:stretch;gap:0;height:100%;min-height:0;padding:0;border:1px solid var(--lesson-border, var(--primary-border));border-radius:14px;background:var(--lesson-bg, var(--primary-soft));box-shadow:0 1px 3px #0f172a0f;cursor:grab;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease,border-color .16s ease}.schedule-builder-lesson:hover{box-shadow:0 8px 20px #0f172a1a;transform:translateY(-1px);border-color:color-mix(in srgb,var(--lesson-accent, var(--primary)) 45%,var(--lesson-border, var(--primary-border)))}.schedule-builder-lesson.is-dragging{opacity:.42;transform:scale(.97);cursor:grabbing}.schedule-builder-lesson.has-conflict-card{border-color:color-mix(in srgb,var(--danger) 38%,var(--lesson-border, var(--primary-border)))}.schedule-lesson-accent{width:4px;flex-shrink:0;background:var(--lesson-accent, var(--primary))}.schedule-lesson-body{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:5px;padding:11px 36px 11px 12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.schedule-lesson-subject{display:block;margin:0;font-size:calc(13px * var(--font-scale));font-weight:700;line-height:1.45;color:var(--primary);overflow-wrap:anywhere;word-break:break-word}.schedule-lesson-teacher{margin:0;color:var(--warning);font-size:calc(10px * var(--font-scale));line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.schedule-builder-lesson .schedule-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:auto;padding-top:2px}.schedule-builder-lesson .schedule-lesson-time{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:100%;padding:4px 9px;border-radius:10px;background:#ffffffc7;border:1px solid color-mix(in srgb,var(--lesson-accent, var(--primary)) 18%,transparent);color:var(--lesson-accent, var(--primary));font-size:calc(11px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;line-height:1.35;white-space:normal;overflow-wrap:anywhere}.schedule-builder-lesson .schedule-lesson-time i{font-size:calc(10px * var(--font-scale));opacity:.85;flex-shrink:0}.schedule-conflict-badge{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:4px 8px;border-radius:10px;background:var(--danger-soft);border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);color:var(--danger);font-size:calc(9px * var(--font-scale));font-weight:700;line-height:1.35;white-space:normal}.schedule-conflict-badge i{font-size:calc(8px * var(--font-scale))}.schedule-builder-cell.has-conflict .schedule-builder-lesson{box-shadow:0 0 0 1px color-mix(in srgb,var(--danger) 14%,transparent)}.schedule-clear-btn{position:absolute;inset-block-start:8px;inset-inline-end:8px;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:7px;background:#ffffffe0;color:var(--ink-muted);cursor:pointer;font-size:calc(10px * var(--font-scale));line-height:1;opacity:0;transition:opacity .14s ease,background .12s ease,color .12s ease}.schedule-builder-lesson:hover .schedule-clear-btn,.schedule-builder-lesson:focus-within .schedule-clear-btn{opacity:1}.schedule-clear-btn:hover{background:var(--danger-soft);color:var(--danger)}.schedule-builder-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;min-height:0;border:1.5px dashed var(--line);border-radius:12px;background:var(--surface-1);color:var(--ink-muted);transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.schedule-builder-cell.is-empty:hover .schedule-builder-slot,.schedule-builder-cell.is-drop-target .schedule-builder-slot{border-color:var(--primary);border-style:solid;background:var(--primary-soft);color:var(--primary);transform:scale(1.01)}.schedule-slot-icon{font-size:calc(12px * var(--font-scale));opacity:.55}.schedule-slot-hint{font-size:calc(10px * var(--font-scale));font-weight:600;opacity:0;transition:opacity .16s ease}.schedule-builder-cell.is-empty:hover .schedule-slot-hint,.schedule-builder-cell.is-drop-target .schedule-slot-hint,.schedule-builder.is-dragging-active .schedule-slot-hint{opacity:1}.schedule-builder-warning{display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--warning) 28%,transparent);border-radius:10px;background:var(--warning-soft);color:var(--warning-700);font-size:calc(12px * var(--font-scale))}.schedule-builder-empty{padding:32px 20px;border:1px dashed var(--line);border-radius:var(--radius-card);text-align:center;color:var(--ink-muted);background:var(--surface-2)}.schedule-builder--panel .schedule-builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 188px;gap:12px;align-items:start;min-width:0}.schedule-builder-palette--side{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.schedule-palette-chips{display:flex;flex-direction:column;gap:8px}.schedule-palette-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.schedule-palette-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-size:calc(13px * var(--font-scale))}.schedule-palette-head strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:700}.schedule-palette-hint{margin:4px 0 0;font-size:calc(11px * var(--font-scale));color:var(--ink-muted);line-height:1.45}.schedule-export-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.schedule-tone-0{--lesson-bg: #e8f4ff;--lesson-border: #b3e0ff;--lesson-accent: #0796FF;--chip-bg: #e8f4ff;--chip-border: #b3e0ff;--chip-accent: #0796FF}.schedule-tone-1{--lesson-bg: #eaf7ee;--lesson-border: #b8e8c4;--lesson-accent: #43b75d;--chip-bg: #eaf7ee;--chip-border: #b8e8c4;--chip-accent: #43b75d}.schedule-tone-2{--lesson-bg: #eaf1ff;--lesson-border: #c5d8ff;--lesson-accent: #1d6bff;--chip-bg: #eaf1ff;--chip-border: #c5d8ff;--chip-accent: #1d6bff}.schedule-tone-3{--lesson-bg: #fef1e8;--lesson-border: #ffd0b0;--lesson-accent: #f47920;--chip-bg: #fef1e8;--chip-border: #ffd0b0;--chip-accent: #f47920}.schedule-tone-4{--lesson-bg: #fce8ff;--lesson-border: #ebc5f5;--lesson-accent: #9333ea;--chip-bg: #fce8ff;--chip-border: #ebc5f5;--chip-accent: #9333ea}.schedule-tone-5{--lesson-bg: #e8f7fa;--lesson-border: #b8e4ee;--lesson-accent: #0891b2;--chip-bg: #e8f7fa;--chip-border: #b8e4ee;--chip-accent: #0891b2}.schedule-workspace-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:20px;background:#070b5094;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:ops-fade-in .2s ease-out}.schedule-workspace{width:min(1600px,calc(98vw / var(--ui-scale)));height:min(940px,calc(calc(100dvh / var(--ui-scale)) - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--glass-border);border-radius:16px;background:var(--surface-1);box-shadow:0 24px 64px #0f172a2e,0 0 0 1px #0796ff0f;animation:scheduleWorkspaceIn .28s cubic-bezier(.2,.75,.25,1)}@keyframes scheduleWorkspaceIn{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.schedule-workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:16px 20px;padding:18px 22px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fffffffa,#f1f5faeb)}.schedule-workspace-brand{display:flex;align-items:flex-start;gap:14px;min-width:0}.schedule-workspace-icon{width:44px;height:44px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-border);font-size:calc(17px * var(--font-scale))}.schedule-workspace-title{min-width:0}.schedule-workspace-stage{display:inline-flex;align-items:center;gap:6px;margin-bottom:6px;padding:4px 10px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:calc(11px * var(--font-scale));font-weight:700}.schedule-workspace-title h2{margin:0;font-size:calc(22px * var(--font-scale));font-weight:700;line-height:1.35;color:var(--ink)}.schedule-workspace-divider{color:var(--ink-muted);font-weight:500}.schedule-workspace-staff{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.schedule-staff-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-1);color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600}.schedule-staff-chip i{color:var(--primary);font-size:calc(10px * var(--font-scale))}.schedule-workspace-kpis{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.schedule-kpi{min-width:88px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1);box-shadow:var(--shadow-card);text-align:center}.schedule-kpi small{display:block;color:var(--ink-muted);font-size:calc(9px * var(--font-scale));font-weight:600}.schedule-kpi strong{display:block;margin-top:2px;font-size:calc(15px * var(--font-scale));font-weight:700;color:var(--ink)}.schedule-kpi.is-success{border-color:color-mix(in srgb,var(--success) 28%,transparent);background:var(--success-soft)}.schedule-kpi.is-success strong{color:var(--success)}.schedule-kpi.is-warning{border-color:color-mix(in srgb,var(--warning) 28%,transparent);background:var(--warning-soft)}.schedule-kpi.is-warning strong{color:var(--warning)}.schedule-kpi.is-danger{border-color:color-mix(in srgb,var(--danger) 28%,transparent);background:var(--danger-soft)}.schedule-kpi.is-danger strong{color:var(--danger)}.schedule-workspace-actions{display:flex;gap:8px;align-items:center;flex-shrink:0}.schedule-workspace-close{width:38px;height:38px;border-color:var(--glass-border);background:var(--surface-1);box-shadow:var(--shadow-card)}.schedule-workspace-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.schedule-workspace-tabs{display:flex;gap:6px;flex-wrap:wrap}.schedule-workspace-tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:1px solid var(--glass-border);border-radius:999px;background:var(--surface-1);color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.schedule-workspace-tabs button:hover{border-color:var(--primary-border);color:var(--ink)}.schedule-workspace-tabs button.active{border-color:transparent;background:var(--primary);color:#fff;box-shadow:var(--shadow-button)}.schedule-workspace-days{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.schedule-days-label{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:700;margin-inline-end:4px}.schedule-workspace-days button{min-width:58px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:var(--surface-1);color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,border-color .14s ease}.schedule-workspace-days button:hover{border-color:var(--primary-border);color:var(--ink)}.schedule-workspace-days button.active{border-color:var(--primary-border);background:var(--primary-soft);color:var(--brand-700)}.schedule-workspace-alert{display:flex;align-items:center;gap:10px;padding:11px 22px;border-bottom:1px solid color-mix(in srgb,var(--warning) 22%,transparent);background:var(--warning-soft);color:var(--warning-800);font-size:calc(12px * var(--font-scale))}.schedule-workspace-alert i{color:var(--warning);font-size:calc(14px * var(--font-scale))}.schedule-workspace-body{flex:1;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:18px 22px 22px;background:var(--page-bg)}.schedule-workspace-preview{display:grid;gap:14px;max-width:960px}.schedule-preview-table-wrap{border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden;background:var(--surface-1);box-shadow:var(--shadow-card)}.schedule-empty-cell{text-align:center!important;color:var(--ink-muted);padding:28px!important}.schedule-students-panel{max-width:1100px}.schedule-student-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}.schedule-student-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface-1);box-shadow:var(--shadow-card)}.schedule-student-avatar{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:calc(14px * var(--font-scale));font-weight:700}.schedule-student-card strong{display:block;font-size:calc(13px * var(--font-scale))}.schedule-student-card small{display:block;margin-top:2px;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.class-schedule-students-pane,.class-attendance-pane{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;min-height:0;margin:0;padding:0}.class-drawer-bar,.class-drawer-bar-date{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.class-drawer-bar{flex:0 0 auto;min-height:0;margin:0}.class-drawer-search{display:flex;align-items:center;gap:6px;height:32px;padding:0 8px;flex:1 1 140px;min-width:120px;max-width:220px;border:1px solid var(--border-ghost);border-radius:8px;background:var(--surface-1);color:var(--ink-muted)}.class-drawer-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.class-drawer-search input{flex:1;min-width:0;height:30px;border:0;outline:none;background:transparent;color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale))}.class-drawer-count{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:calc(11px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.class-attendance-date-label{min-width:0;font-size:calc(12px * var(--font-scale));font-weight:700;white-space:nowrap;color:var(--ink)}.class-attendance-layout{position:relative;display:flex;flex:1 1 auto;min-height:0;overflow:hidden;border:1px solid var(--border-ghost);border-radius:12px;background:var(--surface-1)}.class-attendance-side.is-sheet{position:absolute;z-index:2;inset-block:0;inset-inline-end:0;width:min(300px,46%);flex:none;border-inline-start:1px solid var(--border-subtle);box-shadow:-12px 0 28px #0f172a14;transform:translate(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--drawer-duration, .3s) var(--ease-drawer),opacity .18s var(--ease-drawer),visibility 0s linear var(--drawer-duration, .3s)}[dir=rtl] .class-attendance-side.is-sheet{transform:translate(-100%);box-shadow:12px 0 28px #0f172a14}.class-attendance-side.is-sheet.is-open{transform:translate(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform var(--drawer-duration, .3s) var(--ease-drawer),opacity .18s var(--ease-drawer),visibility 0s}.class-attendance-cal{flex:1 1 auto;min-width:0;min-height:0;overflow:auto;padding:10px}.class-attendance-weekdays,.class-attendance-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.class-attendance-weekdays{margin-bottom:6px}.class-attendance-weekdays span{text-align:center;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:700}.class-attendance-day{display:flex;align-items:flex-start;justify-content:space-between;min-height:52px;padding:8px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);color:var(--ink);font:inherit;text-align:start;cursor:pointer}.class-attendance-day.is-pad{border-color:transparent;background:transparent;cursor:default}.class-attendance-day strong{font-size:calc(14px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.class-attendance-day small,.class-attendance-day i{width:18px;height:18px;display:grid;place-items:center;border-radius:999px;font-size:calc(10px * var(--font-scale));font-style:normal;font-weight:700}.class-attendance-day.has-mark i{background:var(--success)}.class-attendance-day.has-mark small{background:var(--primary-soft);color:var(--primary)}.class-attendance-day.has-exam{background:color-mix(in srgb,var(--primary) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--primary) 40%,var(--border-subtle))}.class-attendance-day.has-exam small{background:var(--primary);color:#fff}.class-exam-chips{display:flex;flex:0 0 auto;gap:6px;overflow-x:auto;padding-bottom:2px}.class-exam-chip{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:1px;max-width:190px;padding:6px 10px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);color:var(--ink);font:inherit;text-align:start;cursor:pointer}.class-exam-chip strong{max-width:168px;overflow:hidden;font-size:calc(12px * var(--font-scale));font-weight:700;white-space:nowrap;text-overflow:ellipsis}.class-exam-chip small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));white-space:nowrap}.class-exam-chip.is-selected{border-color:var(--primary);background:var(--primary-soft)}.class-exam-side-info{display:grid;gap:8px;margin:0;padding:10px 12px 14px;overflow:auto}.class-exam-side-info div{display:grid;gap:2px}.class-exam-side-info span{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.class-exam-side-info strong{font-size:calc(13px * var(--font-scale))}.class-attendance-day.has-absent small{background:var(--danger-soft, color-mix(in srgb, var(--danger) 14%, transparent));color:var(--danger)}.class-attendance-day.is-today{border-color:var(--primary)}.class-attendance-day.is-selected{border-color:var(--primary);background:var(--primary-soft)}.class-attendance-day.is-off{color:var(--ink-muted);background:var(--surface-2)}.class-attendance-side{display:flex;flex:0 0 min(300px,46%);flex-direction:column;min-width:0;min-height:0;border-inline-start:1px solid var(--border-subtle);background:var(--surface-1)}.class-attendance-side header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--border-ghost)}.class-attendance-side header strong,.class-attendance-side header small{display:block}.class-attendance-side header strong{font-size:calc(13px * var(--font-scale))}.class-attendance-side header small{margin-top:2px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.class-attendance-side-list{list-style:none;margin:0;padding:4px 8px 8px;overflow:auto}.class-attendance-side-list li{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-height:36px;padding:4px 2px;border-bottom:1px solid var(--border-ghost)}.class-attendance-student{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:start;cursor:pointer}.class-attendance-student:disabled{cursor:default}.class-attendance-status-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.class-attendance-status{min-height:36px;padding:6px 8px;border:1px solid var(--border-default, var(--line));border-radius:10px;background:var(--surface-1);color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:700;cursor:pointer}.class-attendance-status--present.is-active{border-color:var(--success);background:var(--success-soft);color:var(--success)}.class-attendance-status--absent.is-active{border-color:var(--danger);background:var(--danger-soft);color:var(--danger)}.class-attendance-status--late.is-active{border-color:var(--warning);background:var(--warning-soft);color:var(--warning)}.class-attendance-status--excused.is-active{border-color:var(--info);background:var(--info-soft);color:var(--info)}.class-attendance-side-list li span{min-width:0;overflow:hidden;font-size:calc(12px * var(--font-scale));font-weight:600;text-overflow:ellipsis;white-space:nowrap}.class-attendance-side .student-status{flex:0 0 auto;min-height:0;padding:1px 6px;font-size:calc(11px * var(--font-scale))}.class-attendance-side-empty{margin:16px 12px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}@media(max-width:720px){.class-attendance-layout{flex-direction:column}.class-attendance-side{flex-basis:auto;max-height:46%;border-inline-start:0;border-top:1px solid var(--border-subtle)}.class-attendance-side.is-sheet,[dir=rtl] .class-attendance-side.is-sheet{inset-inline:0;inset-block:auto 0;width:auto;height:min(46%,320px);max-height:none;border-inline-start:0;border-top:1px solid var(--border-subtle);box-shadow:0 -12px 28px #0f172a14;transform:translateY(100%)}.class-attendance-side.is-sheet.is-open{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.class-attendance-side.is-sheet,[dir=rtl] .class-attendance-side.is-sheet,.class-attendance-side.is-sheet.is-open{transform:none;transition:opacity .12s linear,visibility 0s linear .12s}.class-attendance-side.is-sheet.is-open{transition:opacity .12s linear,visibility 0s}}.class-attendance-stats{display:flex;flex-wrap:wrap;gap:4px}.class-attendance-stat{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 7px;border-radius:999px;background:var(--surface-2);color:var(--ink-muted);font-size:calc(11px * var(--font-scale));white-space:nowrap}.class-attendance-stat strong{color:var(--ink);font-variant-numeric:tabular-nums}.class-attendance-stat.is-present strong{color:var(--success)}.class-attendance-stat.is-absent strong{color:var(--danger)}.class-attendance-stat.is-late strong{color:var(--warning)}.class-attendance-stat.is-excused strong{color:var(--info)}.class-schedule-students-table-wrap,.class-attendance-table-wrap{flex:1 1 auto;min-height:0;overflow:auto;border:1px solid var(--border-ghost);border-radius:10px;background:var(--surface-1)}.classes-schedule-drawer table.class-students-table.ops-table,.classes-schedule-drawer table.class-attendance-table.ops-table{min-width:0;width:100%;table-layout:auto}.classes-schedule-drawer table.class-students-table.ops-table th,.classes-schedule-drawer table.class-students-table.ops-table td,.classes-schedule-drawer table.class-attendance-table.ops-table th,.classes-schedule-drawer table.class-attendance-table.ops-table td{width:auto;padding:5px 10px;font-size:var(--table-cell, 13px);vertical-align:middle;line-height:1.3}.classes-schedule-drawer table.class-students-table.ops-table th.class-students-index,.classes-schedule-drawer table.class-students-table.ops-table td.class-students-index{width:2.5rem;color:var(--ink-muted);text-align:center;white-space:nowrap}.classes-schedule-drawer table.class-students-table.ops-table thead th{position:sticky;top:0;z-index:2;padding:8px 10px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;border-bottom:0;white-space:nowrap}.classes-schedule-drawer table.class-students-table.ops-table thead th.class-students-index{color:#fff}.classes-schedule-drawer table.class-students-table .ops-row-title{min-width:0;gap:8px}.classes-schedule-drawer table.class-students-table .ops-row-icon{width:28px;height:28px;flex:0 0 28px;font-size:calc(11px * var(--font-scale))}.classes-schedule-drawer table.class-students-table .class-students-name strong{overflow:hidden;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.classes-schedule-drawer table.class-students-table .student-status{min-height:0;padding:1px 6px;font-size:calc(11px * var(--font-scale))}.classes-schedule-drawer table.class-students-table .class-students-remaining{font-variant-numeric:tabular-nums;white-space:nowrap}.classes-schedule-drawer table.class-students-table .class-students-remaining.is-due{color:var(--danger);font-weight:600}.classes-schedule-drawer table.class-students-table .class-students-grade{white-space:nowrap}.classes-schedule-drawer table.class-attendance-table .class-attendance-index{width:2rem;color:var(--ink-muted);text-align:center;white-space:nowrap}.classes-schedule-drawer table.class-attendance-table .class-attendance-student{width:11rem}.classes-schedule-drawer table.class-attendance-table .ops-row-title{gap:6px}.classes-schedule-drawer table.class-attendance-table .ops-row-icon{width:24px;height:24px;font-size:calc(10px * var(--font-scale))}.classes-schedule-drawer table.class-attendance-table .student-status{min-height:0;padding:1px 6px;font-size:calc(11px * var(--font-scale))}.schedule-section-view.is-embedded.class-attendance-board{display:flex;flex-direction:column;gap:8px;min-height:0;height:100%}.class-attendance-board .schedule-grid-wrap{flex:1 1 auto;min-height:180px}.class-attendance-grid button.schedule-section-cell{width:100%;height:100%;min-height:80px;font:inherit;cursor:pointer;grid-template-rows:auto auto auto}.class-attendance-grid .schedule-grid-cell.is-selected .schedule-section-cell{box-shadow:inset 0 0 0 2px var(--primary)}.class-attendance-cell-meta{color:var(--success);font-size:calc(11px * var(--font-scale));font-weight:700}.class-attendance-cell-meta.is-absent{color:var(--danger)}.class-attendance-day-num{font-size:calc(10px * var(--font-scale));font-weight:700;color:var(--ink-muted)}.class-attendance-roster{display:flex;flex-direction:column;flex:0 1 42%;min-height:0}.class-attendance-roster-title{min-width:0;font-size:calc(12px * var(--font-scale));font-weight:700}.class-attendance-lesson small{color:var(--ink-muted);font-weight:600}.class-attendance-note{display:block;margin-top:2px;max-width:10rem;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.class-schedule-empty{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;padding:28px 16px;text-align:center;color:var(--ink-muted);background:transparent;border:0;border-radius:0}table.class-students-table .ops-progress{min-width:0}table.class-students-table .ops-progress b{font-size:calc(11px * var(--font-scale));white-space:nowrap}table.class-students-table .class-students-guardian{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;line-height:1.3;white-space:nowrap}table.class-students-table .class-students-guardian strong{overflow:hidden;font-size:var(--table-cell, 13px);font-weight:500;text-overflow:ellipsis;color:var(--ink)}.class-schedule-empty p{margin:0;font-size:calc(13px * var(--font-scale))}@media(max-width:767px){table.class-students-table.ops-table{min-width:100%}}[data-theme=dark] .class-schedule-student-search,[data-theme=dark] .class-schedule-students-table-wrap{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .class-schedule-empty{background:transparent;border-color:transparent}.schedule-builder--modal{height:100%;min-width:0;display:flex;flex-direction:column}.schedule-builder--modal .schedule-builder-layout{flex:1;min-height:0;min-width:0;display:grid;grid-template-columns:188px minmax(0,1fr);gap:12px;align-items:stretch}.schedule-builder--modal .schedule-builder-grid-wrap--main{height:100%;max-height:none;overflow-x:hidden;overflow-y:auto}.schedule-builder-table--compact .schedule-period-label,.schedule-builder-table--compact .schedule-builder-section-head small{display:none}.schedule-builder-table--compact .schedule-period-num{width:26px;height:26px;margin-bottom:3px;font-size:calc(12px * var(--font-scale))}.schedule-builder-table--compact .schedule-builder-period-head{padding:8px 3px!important}.schedule-builder-table--compact .schedule-builder-period-head small{margin-top:2px;font-size:calc(10px * var(--font-scale))}.schedule-builder-table--compact .schedule-section-badge{min-width:32px;height:32px;padding:0 5px;font-size:calc(13px * var(--font-scale))}.schedule-builder-table--compact .schedule-builder-cell{height:128px}.schedule-builder-table--compact .schedule-builder-lesson,.schedule-builder-table--compact .schedule-builder-slot{border-radius:12px}.schedule-builder--modal .schedule-builder-palette--side{height:100%;max-height:none;overflow:auto;padding:10px}.schedule-builder--modal .schedule-palette-head{margin-bottom:8px;padding-bottom:8px}.schedule-builder--modal .schedule-palette-hint{font-size:calc(10px * var(--font-scale))}.schedule-builder--modal .schedule-palette-chip{width:100%;padding:8px 10px;font-size:calc(11px * var(--font-scale))}.schedule-preview-table{border:0;border-radius:0;overflow:visible;box-shadow:none}.schedule-status-summary{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:12px 14px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:var(--surface-1);font-size:calc(12px * var(--font-scale));box-shadow:var(--shadow-card)}.schedule-status-summary .ready{display:inline-flex;align-items:center;gap:6px;color:var(--success-700);font-weight:600}.schedule-status-summary .missing{display:inline-flex;align-items:center;gap:6px;color:var(--warning-700);font-weight:600}.route-form-dialog{width:min(calc(95vw / var(--ui-scale)),920px);max-height:min(880px,calc(calc(100dvh / var(--ui-scale)) - 24px))}.route-form-dialog .wizard-stepper{display:none}.route-form-onepage{display:grid;gap:0}.route-form-unified{gap:14px}.route-form-top-actions{display:flex;justify-content:flex-end}.route-form-dialog .route-form-info-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media(max-width:720px){.route-form-dialog .route-form-info-grid{grid-template-columns:1fr}}.route-wizard-bus-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--primary-border);border-radius:var(--radius-card);background:var(--primary-soft)}.route-wizard-bus-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--surface-1);font-size:calc(16px * var(--font-scale))}.route-wizard-bus-card strong{display:block;font-size:calc(14px * var(--font-scale))}.route-wizard-bus-card p{margin:4px 0 0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.route-wizard-route-preview{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:18px 16px;border:1px dashed var(--primary-border);border-radius:var(--radius-card);background:var(--surface-1)}.route-wizard-route-node{display:grid;gap:8px;justify-items:center;text-align:center;font-size:calc(12px * var(--font-scale));color:var(--ink-muted)}.route-wizard-route-node i{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;font-size:calc(14px * var(--font-scale))}.route-wizard-route-node.start i{color:var(--warning);background:var(--warning-soft, rgba(244, 121, 32, .12))}.route-wizard-route-node.end i{color:var(--success);background:var(--success-soft)}.route-wizard-route-node span{max-width:140px;line-height:1.4;color:var(--ink);font-weight:600}.route-wizard-route-line{width:100%;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--warning),var(--primary),var(--success))}.route-wizard-context{display:flex;flex-wrap:wrap;gap:8px}.route-wizard-context span{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-default, var(--line));border-radius:999px;background:var(--surface-1);color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.route-wizard-context i{color:var(--primary);font-size:calc(11px * var(--font-scale))}.route-wizard-stops-group{gap:12px}.route-wizard-stops-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.route-wizard-stops-meta{margin:4px 0 0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.route-wizard-stops-actions{display:flex;flex-wrap:wrap;gap:8px}.route-wizard-add-student{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2, var(--neutral-50))}.route-wizard-add-student .form-select{flex:1;min-width:200px}.primary-button.compact,.secondary-button.compact{min-height:38px;padding:6px 12px;font-size:calc(13px * var(--font-scale))}.route-wizard-empty{display:grid;justify-items:center;gap:8px;padding:32px 16px;text-align:center;color:var(--ink-muted)}.route-wizard-empty i{font-size:calc(28px * var(--font-scale));opacity:.45}.route-wizard-empty p{margin:0;font-size:calc(14px * var(--font-scale));font-weight:600;color:var(--ink)}.route-wizard-empty small{font-size:calc(12px * var(--font-scale));line-height:1.5}.route-wizard-stops-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.route-wizard-stop{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1);transition:border-color .14s ease,box-shadow .14s ease}.route-wizard-stop:hover{border-color:var(--primary-border);box-shadow:var(--shadow-card)}.route-wizard-stop-order{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:var(--primary);color:#fff;font-size:calc(12px * var(--font-scale));font-weight:700}.route-wizard-stop-body strong{display:block;font-size:calc(13px * var(--font-scale))}.route-wizard-stop-body p{margin:3px 0 0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));line-height:1.45}.route-wizard-stop-name{display:grid;gap:4px}.route-wizard-stop-name span{font-size:calc(10px * var(--font-scale));color:var(--ink-muted)}.route-wizard-stop-name input{width:100%;padding:6px 8px;border:1px solid var(--line-soft);border-radius:var(--radius-sm);font:inherit;font-size:calc(13px * var(--font-scale))}.route-wizard-stop-numbers{display:inline-flex;align-items:center;gap:6px}.route-wizard-number{display:inline-flex;align-items:center;gap:4px;min-width:38px;justify-content:center;padding:4px 8px;border-radius:999px;font-size:calc(11.5px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;border:1px solid transparent;line-height:1;white-space:nowrap}.route-wizard-number i{font-size:calc(9.5px * var(--font-scale))}.route-wizard-number--boarding{background:color-mix(in srgb,#25d366 14%,var(--surface-1));color:#15803d;border-color:color-mix(in srgb,#25d366 35%,var(--line-soft))}.route-wizard-number--boarding i{color:#25d366}.route-wizard-number--dropoff{background:color-mix(in srgb,#f59e0b 14%,var(--surface-1));color:#b45309;border-color:color-mix(in srgb,#f59e0b 35%,var(--line-soft))}.route-wizard-number--dropoff i{color:#f59e0b}[data-theme=dark] .route-wizard-number--boarding{background:color-mix(in srgb,#25d366 22%,rgba(255,255,255,.04));color:#5fdf85;border-color:#5fdf854d}[data-theme=dark] .route-wizard-number--dropoff{background:color-mix(in srgb,#f59e0b 22%,rgba(255,255,255,.04));color:#fbbf24;border-color:#fbbf244d}.route-wizard-stop-controls{display:flex;flex-direction:column;gap:4px}.pos-scan-zone{padding:0 16px 16px}.pos-scan-input{width:calc(100% - 32px);margin:0 16px 14px;padding:14px 16px 14px 44px;border:2px dashed var(--primary-border);border-radius:var(--radius-card);background:var(--primary-soft);color:var(--ink);font-size:calc(15px * var(--font-scale));box-shadow:inset 0 1px #ffffffb3;transition:border-color .14s ease,box-shadow .14s ease}.pos-scan-input:focus{outline:none;border-style:solid;border-color:var(--primary);box-shadow:0 0 0 3px #0796ff24}.pos-auto-toggle{display:inline-flex;align-items:center;gap:8px;margin-inline-end:12px;padding:6px 12px;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff8c;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer}.pos-auto-toggle input{accent-color:var(--primary)}.pos-workspace-body{padding:16px}.pos-product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px;margin-top:14px}.pos-product-card{display:grid;gap:8px;padding:12px;border:1px solid var(--glass-border);border-radius:var(--radius-card);background:#ffffff9e;box-shadow:var(--shadow-card);text-align:start;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.pos-product-card:hover{transform:translateY(-1px);border-color:var(--primary-border);box-shadow:var(--shadow-hover)}.pos-product-card header{display:flex;align-items:center;justify-content:space-between;gap:8px}.pos-product-card strong{font-size:calc(13px * var(--font-scale));line-height:1.35}.pos-product-card p{margin:0;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.pos-product-card b{color:var(--primary);font-size:calc(14px * var(--font-scale))}.exam-form-dialog--clean{width:min(620px,100%);max-height:min(760px,calc(calc(100dvh / var(--ui-scale)) - 32px));background:var(--surface-1, #fff)}.exam-form-dialog--clean>.exam-form-head{align-items:flex-start;gap:12px;min-height:0;padding:16px 18px;background:var(--surface-1, #fff)}.exam-form-head-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-size:calc(15px * var(--font-scale))}.exam-form-head-copy{min-width:0;flex:1;display:grid;gap:4px}.exam-form-head-copy h2{margin:0;font-size:calc(16px * var(--font-scale));font-weight:700;line-height:1.3}.exam-form-head-copy p{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.45}.exam-form-dialog--clean .exam-form-body{display:grid;gap:16px;padding:16px 18px 18px;background:var(--surface-1, #fff)}.exam-form-section{display:grid;gap:12px;padding:14px;border:1px solid var(--line-soft);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 55%,transparent)}.exam-form-section-head{display:grid;gap:2px}.exam-form-section-head h3{margin:0;font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--ink)}.exam-form-section-head p{margin:0;font-size:calc(11px * var(--font-scale));color:var(--ink-muted);line-height:1.4}.exam-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.exam-form-field{min-width:0;display:grid;gap:7px;font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted)}.exam-form-field>span b{color:var(--danger);font-weight:700}.exam-form-field--wide,.exam-form-field--full{grid-column:1 / -1}.exam-form-grid--pairs{align-items:start}.exam-form-field input,.exam-form-field .form-select-trigger,.exam-form-field .form-date-trigger,.exam-form-field .filter-dropdown-trigger{min-height:40px;width:100%;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1);color:var(--ink);font:inherit;font-size:calc(13px * var(--font-scale));font-weight:500}.exam-form-field input{padding:0 12px}.exam-form-field input:focus,.exam-form-field .form-select.open .form-select-trigger,.exam-form-field .form-date-field.open .form-date-trigger,.exam-form-field .form-date-trigger:hover{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.exam-form-period{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1)}.exam-form-period.exam-form-period.exam-form-period--binary{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-form-period button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 10px;border:0;border-radius:9px;background:transparent;color:var(--ink-muted);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.exam-form-period button:hover{color:var(--ink);background:color-mix(in srgb,var(--primary) 6%,transparent)}.exam-form-period button.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 18%,transparent)}.exam-form-grade{display:inline-flex;align-items:center;gap:8px;min-height:40px;width:100%;padding:0 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1)}.exam-form-grade:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.exam-form-grade-input{flex:1;min-width:0;min-height:36px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(15px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.exam-form-grade-input:focus{outline:none}.exam-form-grade span{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.exam-schedule-hints{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line-soft));border-radius:12px;background:color-mix(in srgb,var(--primary) 6%,transparent)}.exam-schedule-hints-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}.exam-schedule-hints-head strong{display:inline-flex;align-items:center;gap:8px;font-size:calc(12px * var(--font-scale));font-weight:700;color:var(--ink)}.exam-schedule-hints-head strong i{color:var(--primary)}.exam-schedule-hints-head span{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.exam-schedule-chips{display:flex;flex-wrap:wrap;gap:8px}.exam-schedule-chip{min-width:96px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:11px;background:var(--surface-1);color:var(--ink);font:inherit;cursor:pointer;text-align:center;transition:border-color .14s ease,background .14s ease,transform .14s ease}.exam-schedule-chip:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 40%,var(--line-soft));background:color-mix(in srgb,var(--primary) 5%,var(--surface-1, #fff))}.exam-schedule-chip b{display:block;font-size:calc(13px * var(--font-scale));font-weight:700}.exam-schedule-chip small{display:block;margin-top:2px;color:var(--ink-muted);font-size:calc(10px * var(--font-scale))}.exam-schedule-chip span{display:block;margin-top:4px;color:var(--primary);font-size:calc(11px * var(--font-scale));font-weight:600}.exam-out-of-schedule{margin-top:14px;padding:14px;border-radius:14px;border:1px dashed var(--line-soft);background:linear-gradient(135deg,#6366f10a,#0ea5e90a);display:flex;flex-direction:column;gap:12px}.exam-out-of-schedule.is-active{border-color:var(--primary);border-style:solid;background:linear-gradient(135deg,#6366f11a,#0ea5e914)}.exam-out-of-schedule-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.exam-out-of-schedule-toggle input[type=checkbox]{width:18px;height:18px;margin-top:3px;accent-color:var(--primary);flex-shrink:0;cursor:pointer}.exam-out-of-schedule-toggle>span{display:flex;flex-direction:column;gap:4px;font-size:calc(13px * var(--font-scale));color:var(--ink)}.exam-out-of-schedule-toggle>span strong{font-size:calc(14px * var(--font-scale));font-weight:700;color:var(--ink-strong)}.exam-out-of-schedule-toggle>span small{font-size:calc(12px * var(--font-scale));color:var(--ink-muted);line-height:1.55}.exam-out-of-schedule-fields{margin-top:4px}[data-theme=dark] .exam-out-of-schedule{background:linear-gradient(135deg,#6366f114,#0ea5e914)}[data-theme=dark] .exam-out-of-schedule.is-active{background:linear-gradient(135deg,#6366f129,#0ea5e924)}.exam-schedule-empty{margin:0;padding:10px 12px;border-radius:10px;border:1px dashed var(--line-soft);color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.5;background:color-mix(in srgb,var(--surface-1) 70%,transparent)}.exam-form-footer{gap:8px}.exam-form-footer .primary-button,.exam-form-footer .secondary-button{display:inline-flex;align-items:center;gap:7px}[data-theme=dark] .exam-form-dialog--clean,[data-theme=dark] .exam-form-dialog--clean>.exam-form-head,[data-theme=dark] .exam-form-dialog--clean .exam-form-body{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .exam-form-dialog--clean>.exam-form-head{border-bottom-color:var(--border-subtle)}[data-theme=dark] .exam-form-head-icon{color:var(--primary);background:var(--primary-soft)}[data-theme=dark] .exam-form-section{background:#ffffff08;border-color:var(--border-subtle)}[data-theme=dark] .exam-form-field input,[data-theme=dark] .exam-form-field .form-select-trigger,[data-theme=dark] .exam-form-field .form-date-trigger,[data-theme=dark] .exam-form-period,[data-theme=dark] .exam-form-grade,[data-theme=dark] .exam-schedule-chip{background:var(--surface-2);border-color:var(--border-default);color:var(--ink);box-shadow:none}[data-theme=dark] .exam-form-field input:focus,[data-theme=dark] .exam-form-field .form-select.open .form-select-trigger,[data-theme=dark] .exam-form-field .form-select-trigger:hover,[data-theme=dark] .exam-form-field .form-date-field.open .form-date-trigger,[data-theme=dark] .exam-form-field .form-date-trigger:hover,[data-theme=dark] .exam-form-grade:focus-within{background:#20212cf2;border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .exam-form-field .form-date-label:empty{display:none}[data-theme=dark] .exam-form-period button{color:var(--ink-muted)}[data-theme=dark] .exam-form-period button:hover{color:var(--ink);background:#ffffff0d}[data-theme=dark] .exam-form-period button.is-active{color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary-border)}[data-theme=dark] .exam-form-grade-input{color:var(--ink)}[data-theme=dark] .exam-schedule-hints{background:var(--primary-soft);border-color:var(--primary-border)}[data-theme=dark] .exam-schedule-chip:hover{background:#20212cf2;border-color:var(--primary-border)}[data-theme=dark] .exam-schedule-empty{background:#ffffff08;border-color:var(--border-default);color:var(--ink-muted)}[data-theme=dark] .exam-form-footer{background:var(--surface-1);border-top-color:var(--border-subtle)}.exam-form-field .form-date-label:empty{display:none}@media(max-width:640px){.exam-form-grid,.exam-form-period{grid-template-columns:1fr}}.exam-form-examtype{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.exam-form-examtype-card{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:12px;border:1px solid var(--border-subtle, var(--glass-line));background:var(--surface-1, var(--neutral-0));color:var(--ink-muted);text-align:start;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.exam-form-examtype-card i{font-size:calc(22px * var(--font-scale));margin-top:2px;flex-shrink:0}.exam-form-examtype-text{display:grid;gap:4px}.exam-form-examtype-text strong{font-size:calc(13px * var(--font-scale));font-weight:700;color:var(--ink)}.exam-form-examtype-text small{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);line-height:1.45}.exam-form-examtype-card:hover{border-color:color-mix(in srgb,var(--primary) 28%,transparent);background:color-mix(in srgb,var(--primary) 4%,transparent)}.exam-form-examtype-card.is-active{background:color-mix(in srgb,var(--primary) 10%,transparent);border-color:color-mix(in srgb,var(--primary) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.exam-form-examtype-card.is-active.is-danger{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 40%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 14%,transparent)}.exam-form-examtype-card.is-active.is-danger i,.exam-form-examtype-card.is-active.is-danger .exam-form-examtype-text strong{color:var(--danger)}.exam-form-examtype-card.is-active i,.exam-form-examtype-card.is-active .exam-form-examtype-text strong{color:var(--primary)}.exam-form-official-banner{grid-column:1 / -1;display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:10px;background:color-mix(in srgb,var(--success) 10%,transparent);color:var(--success);font-size:calc(12px * var(--font-scale));line-height:1.5}.exam-form-official-banner i{font-size:calc(18px * var(--font-scale));flex-shrink:0}.exam-form-official-banner strong{color:var(--success)}.exam-form-official-banner.is-warning{background:color-mix(in srgb,var(--warning) 10%,transparent);color:var(--warning)}.exam-form-official-banner.is-warning strong{color:var(--warning)}@media(max-width:640px){.exam-form-examtype{grid-template-columns:1fr}}.exam-form-category-preview{margin-top:8px;display:flex;flex-direction:column;gap:4px}.exam-form-category-tone{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:calc(12px * var(--font-scale));font-weight:600;width:fit-content}.exam-form-category-tone i{font-size:calc(11px * var(--font-scale))}.exam-form-category-tone.is-primary{background:#6366f11f;color:var(--primary, #6366f1)}.exam-form-category-tone.is-info{background:#38bdf824;color:#0284c7}.exam-form-category-tone.is-success{background:#22c55e24;color:#16a34a}.exam-form-category-tone.is-warning{background:#f59e0b29;color:#b45309}.exam-form-category-tone.is-danger{background:#ef444424;color:#b91c1c}.exam-form-category-tone.is-neutral{background:#64748b24;color:#475569}.exam-form-category-preview small{color:var(--ink-muted, #6b7280);font-size:calc(11px * var(--font-scale));line-height:1.5}.exam-form-field-hint{font-weight:400;color:var(--ink-muted, #6b7280);font-size:calc(11px * var(--font-scale));margin-inline-start:4px}.exam-form-grid--class-first .exam-form-field:first-child:not(.exam-form-field--grade){order:1}.exam-form-grid--class-first .exam-form-field:nth-child(2){order:2}.exam-form-grid--class-first .exam-form-field:nth-child(3){order:3}.exam-form-grid--class-first .exam-form-field:nth-child(4){order:4}[data-theme=dark] .exam-form-category-tone.is-info{color:#38bdf8}[data-theme=dark] .exam-form-category-tone.is-success{color:#4ade80}[data-theme=dark] .exam-form-category-tone.is-warning{color:#fbbf24}[data-theme=dark] .exam-form-category-tone.is-danger{color:#f87171}.schedule-config-examwindow-form{display:grid;gap:12px;padding:14px;margin-top:14px;border:1px solid var(--border-subtle, var(--glass-line));border-radius:12px;background:var(--surface-1, var(--neutral-0))}.schedule-config-examwindow-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.schedule-config-examwindow-header h4{margin:0;font-size:calc(13px * var(--font-scale));font-weight:700;display:flex;align-items:center;gap:8px;color:var(--ink)}.schedule-config-examwindow-header h4 i{color:var(--primary)}.schedule-config-examwindow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.schedule-config-examwindow-grid label{display:grid;gap:6px;font-size:calc(12px * var(--font-scale));color:var(--ink-muted)}.schedule-config-examwindow-grid input:not(.form-date-seg-input),.schedule-config-examwindow-grid .form-select-trigger{padding:9px 10px;border-radius:8px;border:1px solid var(--glass-line);background:var(--surface-base);color:inherit;font:inherit}.schedule-config-examwindow-notes{grid-column:1 / -1}.schedule-config-examwindow-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.schedule-config-examwindows-table tbody tr.is-editing{background:color-mix(in srgb,var(--primary) 6%,transparent)}@media(max-width:720px){.schedule-config-examwindow-grid{grid-template-columns:1fr}}.installments-report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0e12238c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;animation:installments-backdrop-in .22s ease forwards;will-change:opacity}.installments-report-backdrop.is-closing{animation:installments-backdrop-out .22s ease forwards}.installments-report-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:calc(100vw / var(--ui-scale));height:calc(100vh / var(--ui-scale));max-width:calc(100vw / var(--ui-scale));max-height:calc(100vh / var(--ui-scale));margin:0;border-radius:0;display:flex;flex-direction:column;background:var(--surface-0, #fff);box-shadow:0 24px 60px #070b502e;opacity:0;transform:translateY(12px) scale(.97);transform-origin:center center;animation:installments-dialog-in .28s cubic-bezier(.2,.75,.25,1) forwards;will-change:transform,opacity}.installments-report-dialog.is-closing{animation:installments-dialog-out .22s ease forwards}.installments-report-dialog .exam-form-head{flex-shrink:0;padding:18px 24px;border-bottom:1px solid var(--border-subtle, var(--glass-line));background:var(--surface-0, #fff)}.installments-report-body{display:flex;flex-direction:column;gap:14px;padding:18px 24px;overflow:auto;flex:1 1 auto;min-height:0}.installments-report-dialog .ops-dialog-footer{flex-shrink:0;padding:14px 24px;border-top:1px solid var(--border-subtle, var(--glass-line));background:var(--surface-0, #fff)}.installments-report-table-wrap{max-height:none;overflow:auto;border-radius:12px;border:1px solid var(--border-subtle, var(--glass-line));flex:1 1 auto;min-height:0}.installments-report-table{min-width:1100px;font-size:calc(12.5px * var(--font-scale))}.installments-report-table thead th{position:sticky;top:0;background:var(--surface-2, #f6f7ff);z-index:1;font-weight:700;color:var(--ink);font-size:calc(12px * var(--font-scale));text-transform:none}.installments-report-table tbody td{vertical-align:middle}.installments-report-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--primary) 3%,transparent)}.installments-report-summary{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;border:1px solid var(--border-subtle, var(--glass-line));border-radius:12px;background:color-mix(in srgb,var(--primary) 5%,var(--surface-1, #fff));flex-shrink:0}.installments-report-stat{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--surface-1, #fff);border:1px solid var(--border-subtle, var(--glass-line));text-align:start;transition:transform .22s ease}.installments-report-stat:hover{transform:translateY(-2px)}.installments-report-stat-label{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.installments-report-stat-value{font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink);line-height:1.2}@keyframes installments-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes installments-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes installments-dialog-in{0%{opacity:0;transform:translateY(14px) scale(.97)}60%{opacity:1}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes installments-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(8px) scale(.98)}}@media(prefers-reduced-motion:reduce){.installments-report-backdrop,.installments-report-dialog,.installments-report-stat{animation:none!important;transition:none!important}}@media(max-width:900px){.installments-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.installments-report-table{min-width:0}.installments-report-table thead th,.installments-report-table tbody td{white-space:normal}}.student-payments-timeline{margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}.detail-panel-section-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.detail-panel-section-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:calc(14px * var(--font-scale))}.detail-panel-section-head strong{display:block;font-size:calc(14px * var(--font-scale))}.detail-panel-section-head small{display:block;margin-top:2px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.student-payments-table-wrap{border:1px solid var(--glass-border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card)}.student-payments-table{margin:0}.purchase-quotes-panel{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}.purchase-notes-block{margin-top:14px}.purchase-quotes-panel>strong{display:block;margin-bottom:10px;font-size:calc(13px * var(--font-scale))}.quotes-badge-btn{border:0;background:transparent;padding:0;cursor:pointer}.purchase-quotes-table{margin-top:0}.exam-grades-dialog:not(.exam-grades-dialog--clean) .ops-dialog-body{max-height:calc(60vh / var(--ui-scale));overflow:auto}.exam-grades-table input{width:72px;text-align:center}.exam-grades-dialog--clean{width:min(560px,100%);max-height:min(720px,calc(calc(100dvh / var(--ui-scale)) - 32px));background:var(--surface-1, #fff)}.exam-grades-dialog--clean>.exam-grades-head{align-items:flex-start;gap:12px;min-height:0;padding:16px 18px;background:var(--surface-1, #fff)}.exam-grades-head-icon{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-size:calc(15px * var(--font-scale))}.exam-grades-head-copy{min-width:0;flex:1;display:grid;gap:4px}.exam-grades-head-copy h2{margin:0;font-size:calc(16px * var(--font-scale));font-weight:700;line-height:1.3}.exam-grades-head-copy>p{margin:0;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:500;line-height:1.35}.exam-grades-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.exam-grades-meta span{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid var(--line-soft);background:var(--surface-2, rgba(0, 0, 0, .03));color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:600}.exam-grades-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.exam-grades-search{position:relative;display:flex;align-items:center;flex:1 1 200px;min-width:0}.exam-grades-search i{position:absolute;inset-inline-start:12px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));pointer-events:none}.exam-grades-search input{width:100%;min-height:38px;padding:0 12px 0 36px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:calc(13px * var(--font-scale))}[dir=rtl] .exam-grades-search input{padding:0 36px 0 12px}[dir=rtl] .exam-grades-search i{inset-inline-start:auto;inset-inline-end:12px}.exam-grades-search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.exam-grades-progress{display:grid;gap:6px;flex:0 0 auto;min-width:120px}.exam-grades-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.exam-grades-progress-copy strong{font-size:calc(13px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.exam-grades-progress-copy span{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.exam-grades-progress-bar{display:block;width:100%;height:4px;border-radius:999px;overflow:hidden;background:var(--neutral-100, rgba(0, 0, 0, .06))}.exam-grades-progress-bar i{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .18s ease}.exam-grades-dialog--clean .exam-grades-body{padding:10px 12px 14px;max-height:none;flex:1;min-height:0;background:var(--surface-1, #fff)}.exam-grades-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.exam-grades-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:8px 10px;border:1px solid transparent;border-radius:12px;background:color-mix(in srgb,var(--surface-2) 80%,transparent);transition:border-color .14s ease,background .14s ease}.exam-grades-row:hover{background:color-mix(in srgb,var(--primary) 5%,var(--surface-2))}.exam-grades-row--filled{border-color:color-mix(in srgb,var(--success) 28%,transparent);background:color-mix(in srgb,var(--success) 7%,transparent)}.exam-grades-row--invalid{border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 7%,transparent)}.exam-grades-index{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-muted);background:var(--surface-1, #fff)}.exam-grades-student{min-width:0;display:grid;gap:2px}.exam-grades-student strong{font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-grades-student small{font-size:calc(10px * var(--font-scale));color:var(--ink-muted)}.exam-grades-input{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 10px 0 8px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff);transition:border-color .14s ease,box-shadow .14s ease}.exam-grades-row--filled .exam-grades-input{border-color:color-mix(in srgb,var(--success) 40%,var(--line-soft))}.exam-grades-row--invalid .exam-grades-input{border-color:color-mix(in srgb,var(--danger) 45%,var(--line-soft))}.exam-grades-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.exam-grades-field,.exam-grades-dialog--clean .exam-grades-field,.exam-grades-dialog--clean .exam-grades-table input{width:56px;min-height:34px;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:calc(15px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.exam-grades-field:focus{outline:none}.exam-grades-max{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.exam-grades-footer{gap:8px}.exam-grades-footer .secondary-button,.exam-grades-footer .primary-button{display:inline-flex;align-items:center;gap:7px}[data-theme=dark] .exam-grades-dialog--clean,[data-theme=dark] .exam-grades-dialog--clean>.exam-grades-head,[data-theme=dark] .exam-grades-dialog--clean .exam-grades-body{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .exam-grades-dialog--clean>.exam-grades-head{border-bottom-color:var(--border-subtle)}[data-theme=dark] .exam-grades-head-icon{color:var(--primary);background:var(--primary-soft)}[data-theme=dark] .exam-grades-toolbar{background:#ffffff08;border-bottom-color:var(--border-subtle)}[data-theme=dark] .exam-grades-search input,[data-theme=dark] .exam-grades-input,[data-theme=dark] .exam-grades-index{background:var(--surface-2);border-color:var(--border-default);color:var(--ink)}[data-theme=dark] .exam-grades-search input:focus,[data-theme=dark] .exam-grades-input:focus-within{border-color:var(--primary-border);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .exam-grades-row{background:#ffffff08;border-color:transparent}[data-theme=dark] .exam-grades-row:hover{background:#ffffff0e}[data-theme=dark] .exam-grades-row--filled{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 35%,transparent)}[data-theme=dark] .exam-grades-row--invalid{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}[data-theme=dark] .exam-grades-meta span{background:var(--surface-2);border-color:var(--border-default);color:var(--ink-muted)}[data-theme=dark] .exam-grades-field{color:var(--ink)}[data-theme=dark] .exam-grades-progress-bar{background:#ffffff14}[data-theme=dark] .exam-grades-footer{background:var(--surface-1);border-top-color:var(--border-subtle)}@media(max-width:560px){.exam-grades-progress{width:100%}.exam-grades-row{grid-template-columns:24px minmax(0,1fr);grid-template-rows:auto auto}.exam-grades-input{grid-column:2;justify-self:start}}.wizard-field-hint{margin:-4px 0 12px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.5}.ops-row-link{border:0;background:transparent;padding:0;cursor:pointer;text-align:inherit;width:100%}[data-theme=dark] .schedule-tone-0{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(126, 197, 255, .34);--lesson-accent: #3aadff;--chip-bg: rgba(7, 150, 255, .12);--chip-border: rgba(126, 197, 255, .28);--chip-accent: #3aadff}[data-theme=dark] .schedule-tone-1{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(91, 201, 116, .3);--lesson-accent: #5bc974;--chip-bg: rgba(67, 183, 93, .12);--chip-border: rgba(91, 201, 116, .24);--chip-accent: #5bc974}[data-theme=dark] .schedule-tone-2{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(114, 160, 255, .3);--lesson-accent: #72a0ff;--chip-bg: rgba(114, 160, 255, .1);--chip-border: rgba(114, 160, 255, .24);--chip-accent: #72a0ff}[data-theme=dark] .schedule-tone-3{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(244, 121, 32, .3);--lesson-accent: #ff9855;--chip-bg: rgba(244, 121, 32, .12);--chip-border: rgba(244, 121, 32, .24);--chip-accent: #ff9855}[data-theme=dark] .schedule-tone-4{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(192, 132, 252, .3);--lesson-accent: #c084fc;--chip-bg: rgba(192, 132, 252, .1);--chip-border: rgba(192, 132, 252, .24);--chip-accent: #c084fc}[data-theme=dark] .schedule-tone-5{--lesson-bg: rgba(24, 25, 34, .96);--lesson-border: rgba(34, 211, 238, .28);--lesson-accent: #22d3ee;--chip-bg: rgba(34, 211, 238, .08);--chip-border: rgba(34, 211, 238, .22);--chip-accent: #22d3ee}[data-theme=dark] .schedule-workspace-backdrop{background:#04050ab8}[data-theme=dark] .schedule-workspace{background:var(--surface-1);border-color:var(--border-default);box-shadow:0 24px 64px #0000008c,0 0 0 1px #0796ff1a}[data-theme=dark] .schedule-workspace-header{background:linear-gradient(180deg,#181922fa,#12131aeb);border-bottom-color:var(--line)}[data-theme=dark] .schedule-workspace-nav{background:var(--surface-2);border-bottom-color:var(--line)}[data-theme=dark] .schedule-workspace-body{background:var(--page-bg)}[data-theme=dark] .schedule-workspace-stage,[data-theme=dark] .schedule-workspace-icon{background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .schedule-staff-chip{background:var(--surface-2);border-color:var(--border-subtle);color:var(--ink-muted)}[data-theme=dark] .schedule-kpi{background:var(--surface-2);border-color:var(--border-subtle);box-shadow:none}[data-theme=dark] .schedule-kpi.is-success{background:var(--success-soft);border-color:#49d59b47}[data-theme=dark] .schedule-kpi.is-warning{background:var(--warning-soft);border-color:#ffad5c47}[data-theme=dark] .schedule-kpi.is-danger{background:var(--danger-soft);border-color:#ff667547}[data-theme=dark] .schedule-workspace-close{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .schedule-workspace-tabs button,[data-theme=dark] .schedule-workspace-days button{background:var(--surface-1);border-color:var(--border-subtle);color:var(--ink-muted)}[data-theme=dark] .schedule-workspace-tabs button:hover,[data-theme=dark] .schedule-workspace-days button:hover{border-color:var(--primary-border);color:var(--ink)}[data-theme=dark] .schedule-workspace-tabs button.active{background:var(--primary);color:#fff}[data-theme=dark] .schedule-workspace-days button.active{background:var(--primary-soft);border-color:var(--primary-border);color:var(--brand-700)}[data-theme=dark] .schedule-workspace-alert{background:var(--warning-soft);border-bottom-color:#ffad5c38;color:var(--warning)}[data-theme=dark] .schedule-builder-palette,[data-theme=dark] .schedule-builder-palette--side,[data-theme=dark] .schedule-builder-palette--inline{background:var(--surface-2);border-color:var(--border-default);box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .schedule-builder-grid-wrap{background:var(--surface-1);border-color:var(--border-default)}[data-theme=dark] .schedule-builder-table thead th,[data-theme=dark] .schedule-builder-corner,[data-theme=dark] .schedule-builder-section-head{background:linear-gradient(180deg,#1c1d27,var(--surface-2))!important;border-color:var(--line)}[data-theme=dark] .schedule-period-num{background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .schedule-section-badge{background:var(--surface-1);border-color:var(--border-subtle);color:var(--ink)}[data-theme=dark] .schedule-builder-cell{background:var(--surface-1);border-color:var(--line-soft)}[data-theme=dark] .schedule-builder-cell.is-empty{background:#0f1016b8}[data-theme=dark] .schedule-builder-cell.is-empty:hover{background:#0796ff14}[data-theme=dark] .schedule-builder.is-dragging-active .schedule-builder-cell.is-empty .schedule-builder-slot{border-color:var(--primary-border);background:#0796ff1a}[data-theme=dark] .schedule-builder-cell.is-drop-target{background:#0796ff24!important;box-shadow:inset 0 0 0 2px var(--primary)}[data-theme=dark] .schedule-builder-cell.is-drop-target.has-conflict{box-shadow:inset 0 0 0 2px var(--danger)}[data-theme=dark] .schedule-builder-table tbody tr:nth-child(2n) td{background:#ffffff05}[data-theme=dark] .schedule-builder-lesson{background:var(--lesson-bg, var(--primary-soft));border-color:var(--lesson-border, var(--primary-border));box-shadow:0 2px 10px #00000047}[data-theme=dark] .schedule-builder-lesson:hover{box-shadow:0 8px 20px #00000061}[data-theme=dark] .schedule-lesson-subject{color:var(--primary)}[data-theme=dark] .schedule-lesson-teacher{color:var(--warning)}[data-theme=dark] .schedule-builder-lesson .schedule-lesson-time{background:#00000047;color:var(--lesson-accent, var(--primary))}[data-theme=dark] .schedule-clear-btn{background:#181922e0;color:var(--ink-muted)}[data-theme=dark] .schedule-clear-btn:hover{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .schedule-builder-slot{background:#12131ab8;border-color:var(--border-default);color:var(--ink-muted)}[data-theme=dark] .schedule-builder-cell.is-empty:hover .schedule-builder-slot,[data-theme=dark] .schedule-builder-cell.is-drop-target .schedule-builder-slot{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .schedule-conflict-badge{background:var(--danger-soft);color:var(--danger)}[data-theme=dark] .schedule-builder-cell.has-conflict .schedule-builder-lesson{border-color:color-mix(in srgb,var(--danger) 45%,var(--lesson-border, var(--primary-border)));box-shadow:0 0 0 1px #ff667533}[data-theme=dark] .schedule-palette-chip:hover{box-shadow:0 6px 16px #00000052}[data-theme=dark] .schedule-palette-chip.is-dragging{box-shadow:0 8px 20px #0006}[data-theme=dark] .schedule-builder-warning{background:var(--warning-soft);border-color:#ffad5c47;color:var(--warning)}[data-theme=dark] .schedule-builder-empty{background:var(--surface-2);border-color:var(--border-default);color:var(--ink-muted)}[data-theme=dark] .schedule-status-summary,[data-theme=dark] .schedule-student-card,[data-theme=dark] .schedule-preview-table-wrap,[data-theme=dark] .pos-product-card,[data-theme=dark] .pos-auto-toggle{background:var(--surface-2);border-color:var(--border-default);box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .schedule-student-avatar{background:var(--primary-soft);color:var(--primary)}[data-theme=dark] .route-wizard-bus-card,[data-theme=dark] .route-wizard-stop,[data-theme=dark] .student-payments-table-wrap{background:var(--surface-2);border-color:var(--border-default)}@media(max-width:767px){.schedule-workspace-backdrop{padding:10px;align-items:flex-end}.schedule-workspace{width:100%;height:calc(calc(100dvh / var(--ui-scale)) - 20px);border-radius:16px 16px 0 0}.schedule-workspace-header{grid-template-columns:1fr;padding:14px 16px}.schedule-workspace-kpis{justify-content:flex-start}.schedule-workspace-nav,.schedule-workspace-body,.schedule-workspace-alert{padding-inline:16px}.schedule-builder--panel .schedule-builder-layout,.schedule-builder--modal .schedule-builder-layout{grid-template-columns:1fr}.route-wizard-stop{grid-template-columns:auto 1fr;grid-template-areas:"order body" "numbers controls"}.route-wizard-stop-order{grid-area:order}.route-wizard-stop-body{grid-area:body}.route-wizard-stop-numbers{grid-area:numbers}.route-wizard-stop-controls{grid-area:controls;flex-direction:row}.route-wizard-route-preview{grid-template-columns:1fr;gap:10px}.route-wizard-route-line{width:2px;height:28px;margin-inline:auto;background:linear-gradient(180deg,var(--warning),var(--primary),var(--success))}}@media(min-width:64rem){[data-sidebar=collapsed] .sidebar-footer .school-card{padding:10px;justify-content:center}[data-sidebar=collapsed] .sidebar-footer .school-card>div{display:none}[data-sidebar=collapsed] .sidebar-footer .icon-button{margin-inline-start:0}}.main-content{font-size:var(--text-base, 15px)}.main-content :is(.data-table,.ops-table,.students-table,.staff-table) th{font-size:var(--table-head, 12px)}.main-content :is(.data-table,.ops-table,.students-table,.staff-table) td{font-size:var(--table-cell, 13px)}.main-content :is(.data-table,.ops-table,.students-table,.staff-table) strong{font-size:var(--text-sm, 13px)}.main-content :is(.data-table,.ops-table,.students-table,.staff-table) small,.main-content small:not(.sr-only):not(.kpi-trend){font-size:var(--table-meta, 12px)}.main-content :is(.student-status,.ops-status){font-size:var(--badge-text, 11px)}.main-content .ops-tabs button,.main-content :is(.portal-tabs,.notifications-tabs,.messaging-filters) button{font-size:var(--text-xs, 12px)}.main-content :is(.ops-workspace-header p,.students-heading p:not(.eyebrow),.portal-shell-head p,.notifications-shell-head p,.messaging-sidebar-head p){font-size:var(--text-xs, 12px)}.main-content :is(.portal-panel-lead,.notifications-panel-lead,.messaging-list-preview,.messaging-list-meta,.transport-trip-head-copy p){font-size:var(--text-sm, 13px)}.main-content :is(.filter-dropdown-label,.bulk-actions,.students-pagination){font-size:var(--text-xs, 12px)}.main-content .student-search input,.main-content .ops-search input{font-size:var(--text-sm, 13px)}.main-content .text-button{font-size:var(--text-xs, 12px)}.main-content time{font-size:var(--text-xs, 12px)}.recruitment-page{display:grid;gap:18px}.recruitment-opportunity-form{display:grid;gap:16px;padding:18px}.recruitment-public-form .form-grid{display:grid;gap:14px}.recruitment-public-form .form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-public-form .full-width{grid-column:1 / -1}.recruitment-opportunity-form .form-grid{display:grid;gap:14px}.recruitment-opportunity-form .two-columns,.recruitment-opportunity-form .form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-opportunity-form label{display:grid;gap:8px}.recruitment-opportunity-form label span{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.recruitment-opportunity-form input:not(.form-date-seg-input),.recruitment-opportunity-form textarea,.recruitment-opportunity-form select{width:100%;border-radius:10px;border:1px solid var(--line-soft);background:var(--surface-1);color:var(--ink);padding:10px 12px;font-size:calc(13px * var(--font-scale));outline:none;transition:border-color .15s ease,box-shadow .15s ease}.recruitment-opportunity-form input:not(.form-date-seg-input):focus,.recruitment-opportunity-form textarea:focus,.recruitment-opportunity-form select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0796ff1f}.recruitment-opportunity-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}#recruitment.recruitment-page{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable}.recruitment-hub-hero{position:relative;min-height:126px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border-subtle));border-radius:18px;background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--primary) 18%,transparent) 0,transparent 38%),color-mix(in srgb,var(--primary) 5%,var(--surface-1))}.recruitment-hub-hero:after{content:"";position:absolute;inset-inline-end:-44px;bottom:-96px;width:210px;height:210px;border:38px solid color-mix(in srgb,var(--primary) 8%,transparent);border-radius:50%;pointer-events:none}.recruitment-hub-copy{position:relative;z-index:1;min-width:0;display:flex;align-items:center;gap:14px}.recruitment-hub-icon{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:17px;color:#fff;background:var(--primary);box-shadow:0 11px 26px color-mix(in srgb,var(--primary) 25%,transparent);font-size:calc(1.12rem * var(--font-scale))}.recruitment-hub-copy p,.recruitment-hub-copy h2,.recruitment-hub-copy div>span{margin:0}.recruitment-hub-copy p{margin-bottom:2px;color:var(--primary);font-size:calc(.72rem * var(--font-scale));font-weight:800}.recruitment-hub-copy h2{color:var(--ink);font-size:calc(1.25rem * var(--font-scale));line-height:1.4}.recruitment-hub-copy div>span{display:block;margin-top:3px;color:var(--ink-muted);font-size:calc(.78rem * var(--font-scale))}.recruitment-hub-actions{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.recruitment-hub-actions button{min-height:48px;padding:8px 12px;display:inline-flex;align-items:center;gap:9px;border:1px solid var(--border-subtle);border-radius:13px;color:var(--ink);background:color-mix(in srgb,var(--surface-1) 84%,transparent);font:inherit;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.recruitment-hub-actions button:hover,.recruitment-hub-actions button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--primary) 35%,var(--border-subtle));background:var(--primary-soft);transform:translateY(-2px)}.recruitment-hub-actions button>i{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}.recruitment-hub-actions button>span{display:flex;align-items:baseline;gap:5px;color:var(--ink-muted);font-size:calc(.72rem * var(--font-scale));white-space:nowrap}.recruitment-hub-actions button strong{color:var(--ink);font-size:calc(1rem * var(--font-scale))}.recruitment-kpis{gap:12px}.recruitment-workspace{scroll-margin-top:82px;border-radius:16px;border-color:var(--border-subtle);background:var(--surface-1);box-shadow:0 1px color-mix(in srgb,var(--border-subtle) 70%,transparent)}.recruitment-workspace-heading{min-height:70px;padding:13px 16px;background:color-mix(in srgb,var(--primary) 3%,var(--surface-header))}.recruitment-heading-copy{min-width:0;display:flex;align-items:center;gap:10px}.recruitment-heading-copy>div{min-width:0}.recruitment-heading-icon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface-2))}.recruitment-heading-icon.is-success{border-color:color-mix(in srgb,var(--success, #43b75d) 20%,transparent);color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 10%,var(--surface-2))}.recruitment-opportunities-layout{padding:14px;display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.55fr);gap:14px;align-items:stretch}.recruitment-compose-card,.recruitment-opportunities-list{min-width:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-2)}.recruitment-opportunities-list{display:flex;flex-direction:column}.recruitment-compose-card>header,.recruitment-opportunities-list>header{min-height:62px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-1) 72%,transparent)}.recruitment-compose-card>header{justify-content:flex-start}.recruitment-compose-card>header>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:var(--primary-soft)}.recruitment-compose-card h3,.recruitment-compose-card p,.recruitment-opportunities-list h3,.recruitment-opportunities-list p{margin:0}.recruitment-compose-card h3,.recruitment-opportunities-list h3{color:var(--ink);font-size:calc(.88rem * var(--font-scale))}.recruitment-compose-card p,.recruitment-opportunities-list p{margin-top:3px;color:var(--ink-muted);font-size:calc(.7rem * var(--font-scale));line-height:1.45}.recruitment-opportunities-list>header>span{min-width:30px;height:30px;padding-inline:8px;display:grid;place-items:center;border-radius:999px;color:var(--primary);background:var(--primary-soft);font-size:calc(.74rem * var(--font-scale));font-weight:800}.recruitment-compose-card .recruitment-opportunity-form{padding:14px}.recruitment-compose-card .recruitment-opportunity-actions .ui-button,.recruitment-compose-card .recruitment-opportunity-actions button{width:100%}.recruitment-opportunities-list .recruitment-opportunities-shell{flex:1;min-width:0;margin:0;border:0;border-radius:0;overflow:visible}.recruitment-opportunities-list .empty-state{min-height:160px;display:grid;place-items:center}.recruitment-opportunity-cards{padding:12px;display:grid;gap:10px}.recruitment-opportunity-card{min-width:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:13px;background:var(--surface-1);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.recruitment-opportunity-card:hover{border-color:color-mix(in srgb,var(--primary) 22%,var(--border-subtle));box-shadow:0 9px 22px color-mix(in srgb,var(--ink) 5%,transparent);transform:translateY(-1px)}.recruitment-opportunity-card>header{min-height:62px;padding:11px 12px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb,var(--primary) 3%,var(--surface-1))}.recruitment-opportunity-card-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:var(--primary-soft);font-size:calc(.82rem * var(--font-scale))}.recruitment-opportunity-card-title{min-width:0;display:grid;gap:2px}.recruitment-opportunity-card-title button{width:fit-content;max-width:100%;padding:0;border:0;color:var(--ink);background:transparent;text-align:start;font:inherit;font-size:calc(.88rem * var(--font-scale));font-weight:800;line-height:1.45;overflow-wrap:anywhere;cursor:pointer}.recruitment-opportunity-card-title button:hover,.recruitment-opportunity-card-title button:focus-visible{outline:none;color:var(--primary)}.recruitment-opportunity-card-title>span{overflow:hidden;color:var(--ink-muted);font-size:calc(.67rem * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.recruitment-opportunity-count{min-height:34px;padding:5px 9px;display:inline-flex;align-items:center;gap:5px;border-radius:10px;color:var(--primary);background:var(--primary-soft);font-size:calc(.66rem * var(--font-scale));white-space:nowrap}.recruitment-opportunity-count strong{font-size:calc(.86rem * var(--font-scale))}.recruitment-opportunity-facts{margin:0;padding:11px 12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.recruitment-opportunity-facts>div{min-width:0;padding:8px 9px;display:grid;gap:4px;border:1px solid var(--border-subtle);border-radius:9px;background:var(--surface-2)}.recruitment-opportunity-facts dt{min-width:0;display:flex;align-items:center;gap:5px;color:var(--ink-muted);font-size:calc(.64rem * var(--font-scale));white-space:nowrap}.recruitment-opportunity-facts dt i{color:var(--primary);font-size:calc(.62rem * var(--font-scale))}.recruitment-opportunity-facts dd{min-width:0;margin:0;color:var(--ink);font-size:calc(.75rem * var(--font-scale));font-weight:700;overflow-wrap:anywhere}.recruitment-opportunity-card>footer{padding:9px 12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--border-subtle);background:color-mix(in srgb,var(--surface-2) 64%,transparent)}.recruitment-card-action{min-height:34px;padding:5px 9px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border-default);border-radius:9px;color:var(--ink-muted);background:var(--surface-1);font:inherit;font-size:calc(.69rem * var(--font-scale));font-weight:700;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.recruitment-card-action:hover,.recruitment-card-action:focus-visible{outline:none;border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.recruitment-card-action.is-copied{border-color:color-mix(in srgb,var(--success, #43b75d) 30%,var(--border-default));color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 8%,var(--surface-1))}.recruitment-card-action.is-danger{margin-inline-start:auto;border-color:color-mix(in srgb,var(--danger) 20%,var(--border-default));color:var(--danger)}.recruitment-card-action.is-danger:hover,.recruitment-card-action.is-danger:focus-visible{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.recruitment-opportunity-card>footer .ui-button,.recruitment-opportunity-card>footer>a{min-height:34px;padding-block:5px;font-size:calc(.69rem * var(--font-scale))}[data-theme=dark] .recruitment-opportunity-card{box-shadow:none}.recruitment-applicants-workspace>.ops-table-wrapper{margin:0 14px 14px;border:1px solid var(--border-subtle);border-radius:12px;overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}[data-theme=dark] .recruitment-hub-hero,[data-theme=dark] .recruitment-workspace,[data-theme=dark] .recruitment-compose-card,[data-theme=dark] .recruitment-opportunities-list{box-shadow:none}@media(max-width:1050px){.recruitment-hub-hero{align-items:flex-start;flex-direction:column}.recruitment-hub-actions{justify-content:flex-start}.recruitment-opportunities-layout{grid-template-columns:1fr}.recruitment-compose-card .recruitment-opportunity-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recruitment-compose-card .recruitment-opportunity-form label:last-child{grid-column:1 / -1}}@media(max-width:760px){.recruitment-opportunity-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.recruitment-hub-hero{padding:18px}.recruitment-hub-copy{align-items:flex-start}.recruitment-hub-actions,.recruitment-hub-actions button{width:100%}.recruitment-hub-actions button{justify-content:flex-start}.recruitment-opportunities-layout{padding:10px}.recruitment-compose-card .recruitment-opportunity-form .form-grid{grid-template-columns:1fr}.recruitment-compose-card .recruitment-opportunity-form label:last-child{grid-column:auto}.recruitment-workspace-heading{align-items:flex-start}.recruitment-opportunity-card>header{grid-template-columns:34px minmax(0,1fr)}.recruitment-opportunity-card-icon{width:34px;height:34px}.recruitment-opportunity-count{grid-column:1 / -1;justify-content:center}.recruitment-card-action.is-danger{margin-inline-start:0}}@media(max-width:420px){.recruitment-opportunity-facts{grid-template-columns:1fr}.recruitment-opportunity-card>footer>*{flex:1 1 calc(50% - 7px)}}.recruitment-public-page .students-heading{margin-bottom:0}.recruitment-public-form-shell{min-width:0}.recruitment-public-form{display:flex;flex-direction:column;gap:16px;padding:0}.rp-section{display:grid;gap:14px;padding:18px 20px;border:1px solid var(--line, #e4eaf2);border-radius:14px;background:var(--surface-1, #ffffff);box-shadow:0 1px 2px #0f172a0a;transition:border-color .18s ease,box-shadow .18s ease}.rp-section:hover{border-color:color-mix(in srgb,var(--primary, #0796FF) 18%,var(--line, #e4eaf2));box-shadow:0 2px 8px #0712320f}[data-theme=dark] .rp-section{background:#ffffff08;border-color:#ffffff14}.rp-section-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px dashed var(--line, #e4eaf2);margin-bottom:2px}.rp-section-head>i{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;font-size:calc(13px * var(--font-scale));border-radius:9px;background:linear-gradient(135deg,var(--primary-soft, #e8f4ff),color-mix(in srgb,var(--primary-soft, #e8f4ff) 60%,var(--primary, #0796FF) 12%));color:var(--primary, #0796FF);box-shadow:inset 0 1px #ffffff0f}.rp-section-head h4{margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;letter-spacing:-.005em;color:var(--ink, #0f172a)}.rp-section-head p{margin:3px 0 0;font-size:calc(11.5px * var(--font-scale));line-height:1.4;color:var(--ink-muted, #64748b)}.rp-section-body{display:grid;gap:14px}.rp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.rp-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:640px){.rp-grid,.rp-grid-3{grid-template-columns:minmax(0,1fr)}}.rp-field{display:grid;gap:6px;min-width:0}.rp-field>span{font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted, #64748b);display:inline-flex;align-items:center;gap:4px;margin-bottom:0}.rp-field>span b{color:var(--danger, #ee443f);font-weight:700;font-size:calc(13px * var(--font-scale))}.rp-field input:not(.form-date-seg-input),.rp-field select,.rp-field textarea{width:100%;min-height:42px;padding:10px 12px;border-radius:10px;border:1px solid var(--line-soft, #eef2f8);background:var(--surface-2, #f7f9fc);color:var(--ink, #0f172a);font-size:calc(13px * var(--font-scale));font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-sizing:border-box}.rp-field textarea{min-height:88px;line-height:1.5;resize:vertical}.rp-field input:not(.form-date-seg-input):hover:not(:focus),.rp-field select:hover:not(:focus),.rp-field textarea:hover:not(:focus){border-color:color-mix(in srgb,var(--primary, #0796FF) 22%,var(--border-default, #d5deea))}.rp-field input:not(.form-date-seg-input):focus,.rp-field select:focus,.rp-field textarea:focus{border-color:var(--primary, #0796FF);box-shadow:0 0 0 3px #0796ff24;background:var(--surface-1, #ffffff)}.rp-field input:not(.form-date-seg-input)::placeholder,.rp-field textarea::placeholder{color:var(--ink-muted, #64748b);opacity:.6}[data-theme=dark] .rp-field input:not(.form-date-seg-input),[data-theme=dark] .rp-field select,[data-theme=dark] .rp-field textarea{background:#0f172a66;border-color:#ffffff14;color:var(--ink, #f1f5f9)}[data-theme=dark] .rp-field input:not(.form-date-seg-input):focus,[data-theme=dark] .rp-field select:focus,[data-theme=dark] .rp-field textarea:focus{background:#ffffff0f;border-color:var(--primary, #0796FF);box-shadow:0 0 0 3px #0796ff2e}[data-theme=dark] .rp-field input:not(.form-date-seg-input)::placeholder,[data-theme=dark] .rp-field textarea::placeholder{color:#fff6}.rp-section-hint{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 12px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);border-radius:10px;font-size:calc(12px * var(--font-scale));font-weight:600;align-self:flex-start;width:max-content;max-width:100%}.rp-section-hint i{color:var(--primary, #0796FF);font-size:calc(12px * var(--font-scale))}[data-theme=dark] .rp-section-hint{background:#0796ff24;color:#79c5ff}.rp-field-hint{font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #64748b);font-weight:500;margin-top:-2px;line-height:1.4}.rp-segmented{display:inline-flex;align-items:stretch;width:100%;max-width:360px;min-width:0;gap:3px;padding:3px;border:1px solid var(--line, #e4eaf2);border-radius:9px;background:var(--surface-2, #f7f9fc);box-sizing:border-box;overflow:hidden}.rp-segmented button{flex:1 1 0;min-width:0;min-height:30px;padding:0 10px;border:0;border-radius:6px;font-size:calc(12px * var(--font-scale));font-weight:600;color:var(--ink-muted, #64748b);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;transition:background .12s ease,color .12s ease,box-shadow .12s ease}.rp-segmented button i{font-size:calc(12px * var(--font-scale))}.rp-segmented button:hover{color:var(--ink, #0f172a)}.rp-segmented button.active{color:#fff;background:linear-gradient(180deg,var(--brand-400, var(--primary)),var(--primary));box-shadow:0 1px 3px color-mix(in srgb,var(--primary) 30%,transparent)}[data-theme=dark] .rp-segmented{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .rp-segmented button.active{color:#fff;background:linear-gradient(180deg,var(--brand-400, var(--primary)),var(--primary))}.recruitment-public-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 4px 0}.recruitment-table tbody .clickable-row{cursor:pointer}.clickable-row td:first-child{border-start-start-radius:8px;border-end-start-radius:8px}.clickable-row td:last-child{border-start-end-radius:8px;border-end-end-radius:8px}.ops-row-id{font-size:calc(12px * var(--font-scale));color:var(--ink-muted);font-weight:500;white-space:nowrap}.recruitment-name{font-weight:500;white-space:nowrap}.recruitment-phone{direction:ltr;text-align:left;font-family:Inter,Segoe UI,system-ui,sans-serif;font-size:calc(13px * var(--font-scale));white-space:nowrap}.recruitment-edu{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recruitment-actions-col{width:1%;white-space:nowrap}.recruitment-actions{display:flex;align-items:center;gap:6px}.recruitment-action-select{font-size:calc(12px * var(--font-scale));padding:5px 8px;border-radius:7px;border:1px solid var(--line-soft);background:var(--surface-1);color:var(--ink);min-width:88px;cursor:pointer;outline:none;transition:border-color .15s ease}.recruitment-action-select:focus{border-color:var(--primary)}.recruitment-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:7px;background:transparent;color:var(--danger);opacity:.45;cursor:pointer;transition:opacity .15s ease,background .15s ease}.recruitment-delete-btn:hover{opacity:1;background:var(--danger-soft)}.recruitment-drawer-select{font-size:calc(13px * var(--font-scale));padding:6px 10px;border-radius:8px;border:1px solid var(--line-soft);background:var(--surface-1);color:var(--ink);cursor:pointer;outline:none;min-width:100px}.applicant-detail-grid{display:flex;flex-direction:column;gap:20px}.detail-card{background:var(--surface-1);border:1px solid var(--line-soft);border-radius:10px;padding:16px 18px}.detail-card h3{font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--ink-muted);margin:0 0 14px;display:flex;align-items:center;gap:7px;text-transform:uppercase;letter-spacing:.3px}.detail-card h3 i{font-size:calc(13px * var(--font-scale));color:var(--primary)}.detail-list{display:flex;flex-direction:column;margin:0}.detail-row{display:flex;align-items:center;padding:9px 0;border-bottom:1px solid var(--line-soft)}.detail-row:last-child{border-bottom:none}.detail-row dt{width:130px;font-size:calc(13px * var(--font-scale));color:var(--ink-muted);flex-shrink:0}.detail-row dd{margin:0;font-size:calc(14px * var(--font-scale));color:var(--ink);font-weight:500}.ops-side-panel--wide{width:min(820px,100%)}.exam-detail-panel{display:flex;flex-direction:column;gap:16px;padding:4px 0 12px}.exam-detail-hero{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--border-ghost);border-radius:var(--radius-card, 12px);background:var(--primary-soft);background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 12%,var(--surface-1)) 0%,var(--surface-1) 100%)}.exam-detail-hero-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:12px;color:var(--primary);background:var(--surface-1);border:1px solid var(--border-ghost);font-size:calc(20px * var(--font-scale))}.exam-detail-hero-copy{flex:1;min-width:0;display:grid;gap:2px}.exam-detail-hero-copy small{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);letter-spacing:.02em}.exam-detail-hero-copy h3{margin:0;font-size:calc(16px * var(--font-scale));font-weight:600;color:var(--ink);line-height:1.35;word-break:break-word;overflow-wrap:anywhere}.exam-detail-hero-copy p{margin:0;font-size:calc(12px * var(--font-scale));color:var(--ink-muted);word-break:break-word}.exam-detail-quick{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exam-detail-quick>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--border-ghost);border-radius:var(--radius-md, 10px);background:var(--surface-1);min-width:0}.exam-detail-quick small{font-size:calc(10px * var(--font-scale));color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.exam-detail-quick strong{font-size:calc(14px * var(--font-scale));font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:4px;word-break:break-word;overflow-wrap:anywhere}.exam-detail-quick strong span{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);font-weight:500}.exam-detail-list{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-detail-list>div strong,.exam-detail-list>div small{word-break:break-word;overflow-wrap:anywhere}.exam-detail-grades{display:flex;flex-direction:column;gap:8px;border:1px solid var(--border-ghost);border-radius:var(--radius-card, 12px);background:var(--surface-1);overflow:hidden}.exam-detail-grades-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border-ghost);background:var(--surface-2)}.exam-detail-grades-head h4{margin:0;font-size:calc(13px * var(--font-scale));font-weight:600;color:var(--ink)}.exam-detail-grades-head span{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.exam-detail-grades-wrap{overflow-x:auto;max-width:100%}.exam-detail-grades table.exam-grades-table{min-width:520px;table-layout:auto}.exam-detail-grades table.exam-grades-table th{font-size:calc(11px * var(--font-scale));white-space:nowrap}.exam-detail-grades table.exam-grades-table td{padding:10px 12px;vertical-align:middle}.exam-detail-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px dashed var(--border-ghost);margin-top:4px;padding:12px 0 0}.exam-detail-actions .compact{display:inline-flex;align-items:center;gap:6px}@media(max-width:720px){.exam-detail-quick{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-detail-list{grid-template-columns:1fr}.ops-side-panel--wide{width:100%}}[data-theme=dark] .exam-detail-hero{background:linear-gradient(135deg,#0796ff1f,#18192180);border-color:var(--border-default)}[data-theme=dark] .exam-detail-hero-icon{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .exam-detail-quick>div,[data-theme=dark] .exam-detail-grades{background:var(--surface-2);border-color:var(--border-default)}[data-theme=dark] .exam-detail-grades-head{background:var(--surface-1);border-bottom-color:var(--border-default)}.confirm-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10100;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--page-bg, #0b0c12) 60%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:confirm-dialog-fade-in .22s ease-out}.confirm-dialog-pulse{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;display:grid;place-items:center;z-index:0;overflow:hidden}.confirm-dialog-pulse__ring{position:absolute;top:50%;left:50%;width:12vmin;height:12vmin;border-radius:50%;border:3px solid rgba(220,38,38,.7);transform:translate(-50%,-50%) scale(0);animation:confirm-dialog-pulse-out 1.1s cubic-bezier(.22,.61,.36,1) forwards;filter:drop-shadow(0 0 18px rgba(220,38,38,.45))}.confirm-dialog-pulse__ring--2{animation-delay:.14s;border-color:#ef44448c}.confirm-dialog-pulse__ring--3{animation-delay:.28s;border-color:#f8717173}.confirm-dialog-pulse__core{position:absolute;top:50%;left:50%;width:4vmin;height:4vmin;border-radius:50%;background:radial-gradient(circle at center,rgba(248,113,113,.9) 0%,rgba(220,38,38,.6) 60%,transparent 100%);transform:translate(-50%,-50%) scale(0);animation:confirm-dialog-core-pop .52s cubic-bezier(.34,1.56,.64,1) forwards;filter:drop-shadow(0 0 30px rgba(220,38,38,.7))}.confirm-dialog{--confirm-accent: var(--warning);--confirm-accent-soft: var(--warning-soft);position:relative;z-index:1;width:min(480px,100%);background:var(--surface-1);border:1px solid var(--border-default);border-radius:16px;box-shadow:var(--shadow-panel, 0 4px 24px rgba(15, 23, 42, .08)),0 24px 64px color-mix(in srgb,var(--ink) 10%,transparent);overflow:hidden;animation:confirm-dialog-pop-in .28s cubic-bezier(.22,.9,.32,1)}.confirm-dialog--danger{--confirm-accent: var(--danger);--confirm-accent-soft: var(--danger-soft)}.confirm-dialog--warning{--confirm-accent: var(--warning);--confirm-accent-soft: var(--warning-soft)}.confirm-dialog--success{--confirm-accent: var(--success);--confirm-accent-soft: var(--success-soft)}.confirm-dialog--info{--confirm-accent: var(--info);--confirm-accent-soft: var(--info-soft)}.confirm-dialog-head{display:flex;align-items:center;gap:12px;padding:16px 18px 14px;border-bottom:1px solid var(--border-default);background:linear-gradient(180deg,color-mix(in srgb,var(--confirm-accent) 10%,var(--surface-1)) 0%,var(--surface-1) 100%)}.confirm-dialog-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:var(--confirm-accent-soft);color:var(--confirm-accent);font-size:calc(18px * var(--font-scale))}.confirm-dialog-backdrop.is-static,.confirm-dialog.is-static,.confirm-dialog.is-static .confirm-dialog-icon{animation:none}.confirm-dialog-backdrop--simple{background:var(--overlay-backdrop, rgba(15, 23, 42, .45))}.confirm-dialog--simple .confirm-dialog-close{margin-inline-start:auto}.confirm-dialog-head h3{margin:0;font-size:calc(16px * var(--font-scale));font-weight:700;color:var(--ink);line-height:1.35}.confirm-dialog-head p{margin:3px 0 0;font-size:calc(12px * var(--font-scale));color:var(--ink-muted)}.confirm-dialog-body{padding:16px 18px 8px;display:flex;flex-direction:column;gap:12px;background:var(--surface-1)}.confirm-dialog-message{margin:0;font-size:calc(13px * var(--font-scale));line-height:1.7;color:var(--ink);white-space:pre-line}.confirm-dialog-phrase{display:flex;flex-direction:column;gap:6px;font-size:calc(12px * var(--font-scale));color:var(--ink)}.confirm-dialog-phrase input{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-0);color:var(--ink)}.confirm-dialog-details{margin:0;padding:12px 14px;list-style:none;display:flex;flex-direction:column;gap:8px;background:color-mix(in srgb,var(--confirm-accent) 8%,var(--surface-1));border:1px solid color-mix(in srgb,var(--confirm-accent) 26%,transparent);border-radius:12px}.confirm-dialog-details li{display:flex;align-items:flex-start;gap:8px;font-size:calc(12px * var(--font-scale));line-height:1.6;color:var(--ink)}.confirm-dialog-details li span{white-space:pre-line}.confirm-dialog-details li i{flex:0 0 auto;margin-top:3px;color:var(--confirm-accent);font-size:calc(11px * var(--font-scale))}.confirm-dialog-impact small{display:block;font-size:calc(11px * var(--font-scale));color:var(--ink-muted);margin-bottom:6px}.confirm-dialog-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.confirm-dialog-impact-chip{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-2, var(--surface-1));min-width:0}.confirm-dialog-impact-chip.is-warning{border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:color-mix(in srgb,var(--warning) 8%,var(--surface-1))}.confirm-dialog-impact-chip.is-info{border-color:color-mix(in srgb,var(--info) 30%,transparent);background:color-mix(in srgb,var(--info) 6%,var(--surface-1))}.confirm-dialog-impact-chip.is-success{border-color:color-mix(in srgb,var(--success) 30%,transparent);background:color-mix(in srgb,var(--success) 8%,var(--surface-1))}.confirm-dialog-impact-chip.is-danger{border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:color-mix(in srgb,var(--danger) 8%,var(--surface-1))}.confirm-dialog-impact-value{font-size:calc(18px * var(--font-scale));font-weight:700;color:var(--ink);line-height:1}.confirm-dialog-impact-label{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 16px;border-top:1px solid var(--border-default);background:var(--surface-2, var(--surface-1))}.confirm-dialog-footer .primary-button.is-danger,.confirm-dialog-footer .primary-button.is-warning,.confirm-dialog-footer .primary-button.is-info,.confirm-dialog-footer .primary-button.is-success{color:#fff}.confirm-dialog-footer .primary-button.is-danger{border-color:var(--danger);background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 78%,#fff),var(--danger));box-shadow:0 8px 22px -10px color-mix(in srgb,var(--danger) 70%,transparent)}.confirm-dialog-footer .primary-button.is-warning{border-color:var(--warning);background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 78%,#fff),var(--warning));box-shadow:0 8px 22px -10px color-mix(in srgb,var(--warning) 70%,transparent)}.confirm-dialog-footer .primary-button.is-info{border-color:var(--info);background:linear-gradient(135deg,color-mix(in srgb,var(--info) 78%,#fff),var(--info));box-shadow:0 8px 22px -10px color-mix(in srgb,var(--info) 70%,transparent)}.confirm-dialog-footer .primary-button.is-success{border-color:var(--success);background:var(--success-gradient, linear-gradient(135deg, var(--success-600, var(--success)), var(--success)));box-shadow:0 8px 22px -10px color-mix(in srgb,var(--success) 70%,transparent)}.confirm-dialog-footer .primary-button.is-danger:hover,.confirm-dialog-footer .primary-button.is-warning:hover,.confirm-dialog-footer .primary-button.is-info:hover,.confirm-dialog-footer .primary-button.is-success:hover{transform:translateY(-1px)}.confirm-dialog-footer .primary-button.is-danger:hover{box-shadow:0 12px 28px -10px color-mix(in srgb,var(--danger) 82%,transparent)}.confirm-dialog-footer .primary-button.is-warning:hover{box-shadow:0 12px 28px -10px color-mix(in srgb,var(--warning) 82%,transparent)}.confirm-dialog-footer .primary-button.is-info:hover{box-shadow:0 12px 28px -10px color-mix(in srgb,var(--info) 82%,transparent)}.confirm-dialog-footer .primary-button.is-success:hover{box-shadow:0 12px 28px -10px color-mix(in srgb,var(--success) 82%,transparent)}.confirm-dialog-footer .primary-button.is-danger:active,.confirm-dialog-footer .primary-button.is-warning:active,.confirm-dialog-footer .primary-button.is-info:active,.confirm-dialog-footer .primary-button.is-success:active{transform:translateY(0)}.icon-button.is-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent);background:var(--surface-1)}.icon-button.is-danger:hover{color:#fff;background:var(--danger);border-color:var(--danger);box-shadow:0 6px 18px -8px color-mix(in srgb,var(--danger) 70%,transparent)}@keyframes confirm-dialog-fade-in{0%{opacity:0}to{opacity:1}}@keyframes confirm-dialog-pulse-out{0%{transform:translate(-50%,-50%) scale(0);opacity:.9}60%{opacity:.7}to{transform:translate(-50%,-50%) scale(40);opacity:0}}@keyframes confirm-dialog-core-pop{0%{transform:translate(-50%,-50%) scale(0);opacity:0}60%{transform:translate(-50%,-50%) scale(1.4);opacity:1}to{transform:translate(-50%,-50%) scale(1);opacity:0}}@keyframes confirm-dialog-pop-in{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.confirm-dialog{animation:none}}[data-theme=dark] .confirm-dialog{background:var(--surface-1);border-color:var(--border-default);box-shadow:0 30px 80px #0000008c,0 0 0 1px #ffffff0a inset}[data-theme=dark] .confirm-dialog-head{background:linear-gradient(180deg,color-mix(in srgb,var(--confirm-accent) 16%,var(--surface-1)) 0%,var(--surface-1) 100%);border-bottom-color:var(--border-default)}[data-theme=dark] .confirm-dialog-footer{background:var(--surface-2);border-top-color:var(--border-default)}[data-theme=dark] .confirm-dialog-impact-chip{background:var(--surface-2);border-color:var(--border-default)}@media(max-width:520px){.confirm-dialog-impact-grid{grid-template-columns:1fr}.confirm-dialog-footer{flex-direction:column-reverse}.confirm-dialog-footer button{width:100%;justify-content:center}}html.body-scroll-locked,html.body-scroll-locked body{overflow:hidden;overscroll-behavior:none;scrollbar-gutter:stable}.pref-group{margin-bottom:22px}.pref-group-head{display:flex;align-items:center;gap:11px;margin-bottom:11px}.pref-group-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;font-size:calc(14px * var(--font-scale))}.pref-group-icon[data-tone=primary]{background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary)}.pref-group-icon[data-tone=warning]{background:color-mix(in srgb,var(--warning) 13%,transparent);color:var(--warning)}.pref-group-icon[data-tone=success]{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.settings-inline-add-row{display:flex;gap:10px;margin-bottom:12px}.settings-inline-add-row input{flex:1;min-width:0;height:40px;padding:0 14px;border:1px solid var(--line-soft);border-radius:10px;font-size:calc(12px * var(--font-scale));background:var(--surface-1, #fff);color:var(--ink)}.settings-inline-add-row input:focus{outline:none;border-color:var(--primary)}.settings-inline-add-row .secondary-button{flex:0 0 auto}.pref-group-head h3{margin:0;font-size:var(--text-base, 15px);font-weight:700;color:var(--ink)}.pref-group-head p{margin:1px 0 0;font-size:var(--text-xs, 12px);color:var(--ink-muted)}.pref-list{display:grid;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface);overflow:hidden}.pref-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px;padding:16px 18px}.pref-row+.pref-row{border-top:1px solid var(--border-subtle)}.pref-row-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;font-size:calc(14px * var(--font-scale));background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink-muted);transition:background .16s ease,color .16s ease}.pref-row-icon[data-tone=primary]{background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary)}.pref-row-icon[data-tone=warning]{background:color-mix(in srgb,var(--warning) 15%,transparent);color:var(--warning)}.pref-row-copy{min-width:0;padding-top:1px}.pref-row-copy strong{display:flex;align-items:center;gap:8px;margin-bottom:3px;font-size:var(--text-sm, 13px);font-weight:700;color:var(--ink)}.pref-row-copy p{margin:0;max-width:62ch;font-size:var(--text-xs, 12px);line-height:1.65;color:var(--ink-muted)}.pref-row-badge{padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary);font-size:calc(10px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.pref-row.is-on .pref-row-badge{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.pref-row--scale.is-on .pref-row-badge{background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--primary)}.pref-row-hint{display:flex;align-items:center;gap:6px;margin:7px 0 0;font-size:calc(11.5px * var(--font-scale));color:var(--warning)}.pref-row-control{display:flex;align-items:center;gap:8px;flex-shrink:0}.pref-row-control--stack{flex-direction:column;align-items:stretch;gap:7px}.pref-stepper{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-2)}.pref-stepper-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));cursor:pointer;transition:background .14s ease,color .14s ease}.pref-stepper-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary)}.pref-stepper-btn:disabled{opacity:.35;cursor:default}.pref-stepper-value{min-width:52px;color:var(--ink);font-size:var(--text-sm, 13px);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.pref-presets{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:232px}.pref-preset{padding:4px 9px;border:1px solid var(--border-subtle);border-radius:999px;background:transparent;color:var(--ink-muted);font-family:inherit;font-size:calc(10.5px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.pref-preset:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent);color:var(--ink)}.pref-preset.active{border-color:color-mix(in srgb,var(--primary) 55%,transparent);background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary)}.pref-reset{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:3px;border:0;background:transparent;color:var(--ink-muted);font-family:inherit;font-size:calc(11px * var(--font-scale));font-weight:600;cursor:pointer;transition:color .14s ease}.pref-reset:hover:not(:disabled){color:var(--primary)}.pref-reset:disabled{opacity:.4;cursor:default}.pref-row--font{grid-template-areas:"icon copy control" "preview preview preview" "actions actions actions";grid-template-columns:auto minmax(0,1fr) auto;row-gap:12px}.pref-row--font>.pref-row-icon{grid-area:icon}.pref-row--font>.pref-row-copy{grid-area:copy}.pref-row--font>.pref-row-control{grid-area:control}.pref-preview{grid-area:preview;border:1px dashed var(--border-default);border-radius:12px;background:color-mix(in srgb,var(--ink) 3%,transparent);overflow:hidden}.pref-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-bottom:1px dashed var(--border-default);font-size:11px}.pref-preview-tag{display:inline-flex;align-items:center;gap:5px;color:var(--ink-muted);font-size:11px;font-weight:700}.pref-preview-note{color:var(--primary);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}.pref-preview-body{display:grid;gap:8px;padding:14px 16px}.pref-preview-title{margin:0;color:var(--ink);font-size:calc(17px * var(--font-scale));font-weight:700}.pref-preview-text{margin:0;max-width:70ch;color:var(--ink-muted);font-size:calc(13px * var(--font-scale));line-height:1.7}.pref-preview-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--border-subtle)}.pref-preview-label{color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:600}.pref-preview-value{color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.pref-preview-chip{justify-self:start;padding:3px 11px;border-radius:999px;background:color-mix(in srgb,var(--success) 14%,transparent);color:var(--success);font-size:calc(11px * var(--font-scale));font-weight:700}.pref-preview-actions{grid-area:actions;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pref-preview-confirm{display:flex;align-items:center;gap:8px}.pref-ghost-button{padding:6px 14px;border:1px solid var(--border-subtle);border-radius:9px;background:transparent;color:var(--ink-muted);font-family:inherit;font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;transition:border-color .14s ease,color .14s ease}.pref-ghost-button:hover{border-color:var(--border-emphasis);color:var(--ink)}@media(max-width:860px){.pref-row{grid-template-columns:auto minmax(0,1fr)}.pref-row-control{grid-column:2;align-items:flex-start}.pref-row-control--stack{align-items:flex-start}.pref-presets{justify-content:flex-start;max-width:none}}.settings-demo-mode-toggle{position:relative;width:52px;height:30px;border-radius:999px;border:none;background:#d1d5db;cursor:pointer;flex-shrink:0;transition:background .15s ease}.settings-demo-mode-toggle:after{content:"";position:absolute;top:3px;right:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .15s ease;box-shadow:0 1px 2px #0003}.settings-demo-mode-toggle.active{background:#f47920}.settings-demo-mode-toggle.active:after{transform:translate(-22px)}.pref-row-control .secondary-button{justify-content:center;white-space:nowrap}.pref-row-control .secondary-button.is-danger{color:var(--danger, #DC2626);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.pref-row-control .secondary-button.is-danger:hover:not(:disabled){background:var(--danger, #DC2626);color:#fff}.staff-form-style-control{display:flex;align-items:stretch;gap:10px;min-width:0;min-width:clamp(220px,30vw,360px)}.staff-form-style-option{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1 1 0;min-width:0;padding:12px 14px;border:1px solid var(--border-default, var(--line));border-radius:12px;background:var(--surface-1, var(--surface));color:var(--ink);font:inherit;text-align:start;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}.staff-form-style-option:hover:not(.is-active){background:color-mix(in srgb,var(--primary) 5%,var(--surface-1, var(--surface)));border-color:color-mix(in srgb,var(--primary) 35%,var(--border-default, var(--line)))}.staff-form-style-option:focus-visible{outline:none;border-color:var(--primary, #0796ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.staff-form-style-option>i{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:color-mix(in srgb,var(--primary) 13%,transparent);color:var(--primary, #0796ff);font-size:calc(14px * var(--font-scale))}.staff-form-style-option-label{font-size:calc(13.5px * var(--font-scale));font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.staff-form-style-option.is-active{background:color-mix(in srgb,var(--primary) 9%,var(--surface-1, var(--surface)));border-color:var(--primary, #0796ff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.staff-form-style-option.is-active>i{background:var(--primary, #0796ff);color:#fff}.staff-form-style-option.is-active .staff-form-style-option-label{color:var(--primary, #0796ff)}[data-theme=dark] .staff-form-style-option{background:#ffffff06;border-color:#ffffff14;box-shadow:none}[data-theme=dark] .staff-form-style-option:hover:not(.is-active){background:#0796ff0f;border-color:#0796ff59}[data-theme=dark] .staff-form-style-option.is-active{background:#0796ff24;border-color:var(--primary, #3aadff);box-shadow:0 0 0 3px #0796ff38}[data-theme=dark] .staff-form-style-option>i{background:#0796ff2e;color:#3aadff}[data-theme=dark] .staff-form-style-option.is-active>i{background:var(--primary, #3aadff);color:#fff}@media(max-width:720px){.staff-form-style-control{flex-direction:column;min-width:0;width:100%}}@media(max-width:860px){.staff-form-style-control{grid-column:1 / -1;width:100%;flex-direction:row;flex-wrap:wrap}.staff-form-style-option{flex:1 1 calc(50% - 5px);min-width:160px}}@media(max-width:480px){.staff-form-style-option{flex:1 1 100%}}.offline-queue-indicator{position:relative}.offline-queue-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--warning, #F47920)}.offline-queue-button.active{background:color-mix(in srgb,var(--warning, #F47920) 14%,transparent)}.offline-queue-button span{position:absolute;top:-4px;left:-4px;min-width:17px;height:17px;padding:0 4px;border-radius:999px;background:var(--warning, #F47920);color:#fff;font-size:calc(10px * var(--font-scale));font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--surface-1, #fff);animation:offlineQueuePulse 2.2s ease-in-out infinite}@keyframes offlineQueuePulse{0%,to{box-shadow:0 0 0 2px var(--surface-1, #fff),0 0 color-mix(in srgb,var(--warning, #F47920) 55%,transparent)}50%{box-shadow:0 0 0 2px var(--surface-1, #fff),0 0 0 4px color-mix(in srgb,var(--warning, #F47920) 0%,transparent)}}.offline-queue-popover{position:absolute;top:calc(100% + 10px);left:0;z-index:40;width:320px;max-width:calc(calc(100vw / var(--ui-scale)) - 32px);background:var(--surface-1, #fff);border:1px solid var(--line, #e4eaf2);border-radius:16px;box-shadow:var(--shadow-panel, 0 12px 32px rgba(15, 23, 42, .16));overflow:hidden}.offline-queue-popover-head{display:flex;align-items:flex-start;gap:10px;padding:16px 16px 14px;background:color-mix(in srgb,var(--warning, #F47920) 8%,var(--surface-1, #fff));border-bottom:1px solid var(--line, #e4eaf2)}.offline-queue-status-dot{flex-shrink:0;width:9px;height:9px;margin-top:5px;border-radius:50%;background:var(--warning, #F47920);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning, #F47920) 20%,transparent)}.offline-queue-popover-head strong{display:block;font-size:calc(13.5px * var(--font-scale));color:var(--ink, #0f172a);margin-bottom:4px}.offline-queue-popover-head p{margin:0;font-size:calc(12px * var(--font-scale));line-height:1.6;color:var(--ink-muted, #64748b)}.offline-queue-list{list-style:none;margin:0;padding:8px;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.offline-queue-list li{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;transition:background .12s ease}.offline-queue-list li:hover{background:var(--surface-2, #f1f5fa)}.offline-queue-item-icon{flex-shrink:0;width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:calc(13px * var(--font-scale))}.offline-queue-item-icon.is-success{background:var(--success-soft, #eaf7ee);color:var(--success, #43b75d)}.offline-queue-item-icon.is-info{background:var(--info-soft, #eaf1ff);color:var(--info, #1d6bff)}.offline-queue-item-icon.is-danger{background:var(--danger-soft, #fdeceb);color:var(--danger, #ee443f)}.offline-queue-item-icon.is-warning{background:var(--warning-soft, #fef1e8);color:var(--warning, #F47920)}.offline-queue-item-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.offline-queue-item-label{font-size:calc(13px * var(--font-scale));color:var(--ink, #0f172a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offline-queue-item-time{font-size:calc(11px * var(--font-scale));color:var(--ink-muted, #94a3b8)}.offline-queue-popover-foot{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--surface-2, #f8fafc);border-top:1px solid var(--line, #e4eaf2);font-size:calc(11.5px * var(--font-scale));color:var(--ink-muted, #64748b);line-height:1.5}.offline-queue-popover-foot i{color:var(--success, #43b75d);flex-shrink:0}[data-theme=dark] .offline-queue-popover-head{background:color-mix(in srgb,var(--warning, #F47920) 12%,var(--surface-1))}[data-theme=dark] .offline-queue-popover-foot{background:color-mix(in srgb,#000 15%,var(--surface-1))}.age-rules-table{display:flex;flex-direction:column;border:1px solid var(--border-default, rgba(15, 17, 21, .08));border-radius:12px;overflow:hidden;background:var(--surface-1)}.age-rules-row{display:grid;grid-template-columns:110px 100px minmax(0,1fr) 64px 36px;align-items:center;gap:.5rem;padding:.55rem .75rem;border-bottom:1px solid var(--line-soft, rgba(15, 17, 21, .06));transition:background .12s ease}.age-rules-row:last-child{border-bottom:0}.age-rules-row:not(.age-rules-row--head):hover{background:var(--surface-2)}.age-rules-row.is-disabled{opacity:.55}.age-rules-row--head{background:var(--surface-2, rgba(15, 17, 21, .03));font-size:calc(.78rem * var(--font-scale));font-weight:600;color:var(--ink-muted)}.age-rules-row--head>span{text-align:start}.age-rules-field{display:block;min-width:0}.age-rules-field input{width:100%;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border-default, rgba(15, 17, 21, .12));background:var(--surface-2);font-size:calc(.86rem * var(--font-scale));color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.age-rules-field input:focus{outline:none;border-color:var(--primary, #0796FF);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #0796FF) 18%,transparent)}.age-rules-field--code input{text-transform:uppercase;font-weight:600}.age-rules-field--age input{text-align:center;font-weight:700}.age-rules-toggle{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;justify-self:center}.age-rules-toggle input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.age-rules-toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--ink, #222) 22%,var(--surface-1));border-radius:999px;transition:background .15s ease}.age-rules-toggle-slider:after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0000002e;transition:inset-inline-start .15s ease}.age-rules-toggle input:checked+.age-rules-toggle-slider{background:var(--success, #43b75d)}.age-rules-toggle input:checked+.age-rules-toggle-slider:after{inset-inline-start:calc(100% - 20px)}.age-rules-toggle input:focus-visible+.age-rules-toggle-slider{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #0796FF) 30%,transparent)}.age-rules-remove{width:32px;height:32px;display:grid;place-items:center;border-radius:8px;color:var(--ink-muted);border:1px solid var(--border-default, rgba(15, 17, 21, .1));background:var(--surface-1);cursor:pointer;transition:color .12s ease,background .12s ease,border-color .12s ease}.age-rules-remove:hover{color:var(--danger, #d64545);background:color-mix(in srgb,var(--danger, #d64545) 10%,var(--surface-1));border-color:color-mix(in srgb,var(--danger, #d64545) 35%,transparent)}.age-rules-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;flex-wrap:wrap}.age-rules-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap}@media(max-width:720px){.age-rules-row{grid-template-columns:1fr 1fr;gap:.5rem}.age-rules-row--head{display:none}.age-rules-field--code,.age-rules-field--age,.age-rules-field--notes{grid-column:1 / -1}.age-rules-toggle{grid-column:1;justify-self:start}.age-rules-remove{grid-column:2;justify-self:end}}[data-theme=dark] .age-rules-field input{background:var(--surface-2);color:var(--ink)}[data-theme=dark] .age-rules-toggle-slider{background:color-mix(in srgb,#fff 22%,var(--surface-1))}.notes-timeline .note-location{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;font-size:calc(12px * var(--font-scale, 1));font-weight:600;background:color-mix(in srgb,currentColor 8%,transparent);opacity:.85}.notes-timeline .note-location i{font-size:.8em;opacity:.7}@media(max-width:63.99rem){.app-shell:before,.app-shell:after{display:none}.app-sidebar-mobile{width:min(calc(100vw / var(--ui-scale)),20rem);height:100dvh;max-height:100dvh;padding-block-end:env(safe-area-inset-bottom,0)}.app-sidebar-mobile .main-nav{overflow-y:auto;-webkit-overflow-scrolling:touch}.app-sidebar-mobile .app-sidebar-group--utility{margin-top:8px;position:sticky;bottom:0;z-index:2;background:var(--sidebar, #1a6a9a)}.mobile-menu{display:inline-grid}.sidebar-backdrop{backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}}@media(max-width:767px){:root{--page-gutter-inline: 14px;--page-gutter-block-start: 16px;--page-gutter-block-end: calc(24px + env(safe-area-inset-bottom, 0)) }.page{min-height:0}.app-shell-content{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.main-content,.main-content.students-page,.main-content.guardians-page,.main-content.staff-page,.main-content.academic-page,.main-content.finance-page,.main-content.transport-page,.main-content.maintenance-page,.main-content.reports-center-page,.main-content.cafeteria-page,.main-content.purchases-page,.main-content.warehouse-page,.main-content.complaints-page,.main-content.notifications-page,.main-content.files-audit-page,.main-content.settings-users-page{width:100%;max-width:100%}.status-bar{min-height:56px;padding-block:max(8px,env(safe-area-inset-top,0)) 8px;padding-inline:max(var(--page-gutter-inline),env(safe-area-inset-right,0)) max(var(--page-gutter-inline),env(safe-area-inset-left,0));gap:10px}.status-bar-page-kpi{max-width:min(220px,42vw)}.status-bar-page-kpi .kpi-card.student-stat-card{min-width:0}.status-bar .filter-dropdown-trigger{min-width:0;min-height:34px}.students-heading,.ops-heading{gap:14px}.students-heading h1,.ops-heading h1{font-size:clamp(20px,calc(5.5vw / var(--ui-scale)),24px);line-height:1.25}.students-heading>div>p:not(.eyebrow),.ops-heading>div>p:not(.eyebrow){font-size:calc(12px * var(--font-scale));line-height:1.55}.students-heading-actions,.ops-heading .students-heading-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.students-heading-actions .primary-button,.ops-heading .students-heading-actions .primary-button,.guardians-page .students-heading-actions .primary-button,.staff-page .students-heading-actions .primary-button{grid-column:1 / -1}.students-heading-actions .secondary-button,.students-heading-actions .primary-button,.ops-heading .students-heading-actions button{width:100%;min-height:44px;justify-content:center}.students-page .data-table .row-actions .icon-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:0}.entity-summary-grid .kpi-card{height:auto;min-height:48px}.students-summary.entity-summary-grid .kpi-card.student-stat-card{min-height:48px}.students-toolbar,.guardians-toolbar,.staff-toolbar,.ops-toolbar{padding:12px;gap:10px}.student-search{min-height:44px;height:auto}.student-filters,.ops-filters,.guardians-toolbar .student-filters,.staff-toolbar .student-filters{display:flex;flex-wrap:nowrap;align-items:stretch;gap:8px;width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.student-filters::-webkit-scrollbar,.ops-filters::-webkit-scrollbar{display:none}.student-filters .filter-dropdown,.ops-filters .filter-dropdown{flex:0 0 auto;min-width:min(152px,calc(44vw / var(--ui-scale)))}.main-content>.ops-tabs,.main-content>nav.ops-tabs.profile-tabs{width:100%;min-height:63px;padding:7px 0 0;border-radius:12px 12px 0 0}.main-content>.ops-tabs button{width:min(200px,calc(70vw / var(--ui-scale)));min-width:min(168px,calc(60vw / var(--ui-scale)));flex-basis:min(200px,calc(70vw / var(--ui-scale)));min-height:56px;padding:10px 24px 12px;font-size:calc(11px * var(--font-scale))}.profile-tabs,.staff-profile-tabs,.student-profile-drawer .profile-tabs{flex-wrap:wrap;overflow:visible;row-gap:0;padding-inline:0}.profile-tabs button,.staff-profile-tabs button,.student-profile-drawer .profile-tabs button{flex:0 1 auto;max-width:100%;min-height:44px}.students-workspace,.guardians-workspace,.staff-workspace,.ops-workspace{border-radius:10px;min-width:0}.ops-table-wrap,.data-table-wrap,.students-table-wrap,.guardians-table-wrap,.staff-table-wrap{padding-inline:10px;padding-block-end:12px}.students-table-heading,.ops-workspace-header{padding:12px;gap:10px}.bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.bulk-actions button{min-height:40px}.students-pagination,.ops-pagination{padding:12px;gap:10px}.students-pagination button,.ops-pagination button{min-height:40px;min-width:40px}.ops-split{gap:12px}.ops-rail{border-radius:10px;max-height:none}.student-profile-drawer,.staff-profile-drawer,.ops-side-panel{max-width:calc(100vw / var(--ui-scale))}.student-profile-header{padding-block:12px;gap:10px}.profile-header-actions{display:flex;flex-wrap:wrap;gap:8px}.profile-header-actions .secondary-button,.profile-header-actions .primary-button{min-height:40px}.page-heading{flex-direction:column;align-items:stretch;gap:14px}.control-panel{gap:10px}.dashboard-card .card-header{padding:12px 14px}.module-overview{gap:12px}.toast-region{inset-block-end:calc(12px + env(safe-area-inset-bottom,0));inset-inline:max(12px,env(safe-area-inset-right,0)) max(12px,env(safe-area-inset-left,0));width:auto}.toast{width:100%;max-width:none}.settings-type-nav,.report-catalog nav{padding-bottom:4px;scroll-padding-inline:12px}.settings-type-nav button,.report-catalog nav button{min-height:44px}button,.nav-link,.filter-dropdown-trigger,.form-select-trigger,.form-multi-select-trigger,a.icon-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}input,select,textarea{font-size:calc(16px * var(--font-scale))}}@media(max-width:575px){.students-heading-actions,.ops-heading .students-heading-actions,.heading-actions{grid-template-columns:1fr}.control-panel{grid-template-columns:1fr!important}.control-panel .icon-button:last-child{width:100%;height:44px}.notification-popover{inset-block-start:calc(56px + env(safe-area-inset-top,0))}}@media(max-width:480px){:root{--page-gutter-inline: 12px}.status-bar .filter-dropdown-icon,.status-bar .filter-dropdown-label{display:none}.status-bar .filter-dropdown-copy{gap:0}.status-bar .academic-year-filter,.status-bar .academic-year-filter .filter-dropdown,.status-bar .filter-dropdown-trigger{flex:1 1 auto;width:100%}.ops-metrics{gap:8px}.guardians-list-meta,.students-table-heading>div{width:100%}}@media(max-width:767px){.status-bar{display:grid;grid-template-columns:44px minmax(0,1fr) auto 44px;grid-auto-flow:row;align-items:center;column-gap:8px;row-gap:8px;min-height:0;padding:8px 12px;padding-block-start:max(8px,env(safe-area-inset-top,0));overflow:visible}.status-bar:after{content:none}.status-bar-start,.status-bar-page-start,.status-bar .page-chrome-tools,.status-actions{display:contents}.status-bar .mobile-menu,.status-bar .page-chrome-search,.status-bar .kpi-collapse-toggle,.status-bar .page-chrome-aux,.status-bar .offline-queue-indicator,.status-bar .profile-menu,.status-bar-page-kpi,.status-bar-page-actions{order:0}.status-bar .mobile-menu{grid-column:1;grid-row:1}.status-bar .page-chrome-search{grid-column:2;grid-row:1}.status-bar .kpi-collapse-toggle{grid-column:3;grid-row:1}.status-bar:has(.offline-queue-indicator){grid-template-columns:44px minmax(0,1fr) auto auto 44px}.status-bar:has(.offline-queue-indicator) .offline-queue-indicator{grid-column:3;grid-row:1;justify-self:center}.status-bar:has(.offline-queue-indicator) .kpi-collapse-toggle{grid-column:4}.status-actions>.profile-menu{grid-column:4;grid-row:1;justify-self:end}.status-bar:has(.offline-queue-indicator) .profile-menu{grid-column:5}.status-bar:not(:has(.kpi-collapse-toggle)):not(:has(.offline-queue-indicator)){grid-template-columns:44px minmax(0,1fr) 44px}.status-bar:not(:has(.kpi-collapse-toggle)):not(:has(.offline-queue-indicator)) .profile-menu{grid-column:3}.status-bar .page-chrome-aux,.status-bar-page-kpi,.status-bar-page-actions{grid-column:1 / -1;min-width:0}.status-bar .page-chrome-aux{display:flex;align-items:center;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.status-bar .page-chrome-aux::-webkit-scrollbar{display:none}.status-bar .page-chrome-aux>*{flex:0 0 auto}.status-bar .mobile-menu,.status-bar .icon-button,.status-bar .page-chrome-filter,.status-bar .kpi-collapse-toggle,.status-bar .profile-trigger{width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;border-radius:12px}.status-bar .profile-trigger{border-radius:50%}.status-bar .profile-trigger .profile-avatar{font-size:11px}.status-bar .page-chrome-search{width:100%;max-width:none;min-width:0;height:44px;gap:8px;padding-inline:12px;border-radius:12px}.status-bar .page-chrome-search i{font-size:.85rem}.status-bar .page-chrome-search input{min-width:0;font-size:16px}.status-bar .page-chrome-search input::placeholder{overflow:hidden;text-overflow:ellipsis}.status-bar .students-navbar-filters{display:flex;flex:0 0 auto;max-width:none;min-width:0}.status-bar .students-navbar-filter-chips{flex:0 0 auto;min-width:0;max-width:none;overflow:visible}.status-bar .students-navbar-filter-chips .staff-active-chip{min-height:44px;height:44px;max-width:none;padding-inline:12px;font-size:13px}.status-bar .students-navbar-filter-chips .staff-active-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-bar .branch-cashbox-switcher{flex:0 0 auto;max-width:none;min-width:0}.status-bar .branch-cashbox-switcher__trigger{height:44px;min-height:44px;gap:6px;padding:0 12px;border-radius:12px}.status-bar .branch-cashbox-switcher__label small{display:none}.status-bar .branch-cashbox-switcher__label strong{font-size:.72rem}.status-bar .staff-filter-trigger{position:relative;width:44px;height:44px;min-height:44px;max-width:44px;justify-content:center;padding:0;border-radius:12px}.status-bar .staff-filter-trigger__icon{width:18px;height:18px;font-size:.65rem}.status-bar .staff-filter-trigger__label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.status-bar .staff-filter-trigger.is-label-only{width:auto;max-width:none;min-height:44px;padding:0 12px}.status-bar .staff-filter-trigger.is-label-only .staff-filter-trigger__label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.status-bar-page-actions{flex:1 1 100%;min-width:0;overflow-x:auto;scrollbar-width:none}.status-bar-page-actions::-webkit-scrollbar{display:none}.status-bar .page-chrome-actions{flex-wrap:nowrap;gap:6px;width:max-content;min-width:0}.status-bar .page-chrome-actions>*{flex:0 0 auto}.status-bar .page-chrome-actions .primary-button,.status-bar .page-chrome-actions .secondary-button,.status-bar .page-chrome-actions button{min-height:44px;height:44px;padding:0 12px;border-radius:12px;font-size:13px;line-height:1}.status-bar-page-kpi{flex:1 1 100%;justify-content:stretch;max-width:100%}.status-bar-page-kpi .kpi-card.student-stat-card{width:100%;min-width:0;height:44px;min-height:44px;padding:0 12px;border-radius:12px}.status-bar-page-kpi .student-stat-card__line{height:22px}.status-bar-page-kpi .student-stat-card__label,.status-bar-page-kpi .student-stat-card__value,.status-bar-page-kpi .student-stat-card__unit{font-size:12px}}@media(max-width:767px){.ops-dialog-backdrop,.note-form-backdrop,.staff-filter-backdrop{align-items:center;justify-content:center;padding:16px}.ops-dialog,.note-form-dialog,.list-table-report-dialog,.students-register-dialog{width:min(440px,100%);max-width:100%;height:auto;min-height:0;max-height:min(86dvh,calc(100dvh - 32px));border-radius:16px}.note-form-dialog{width:min(440px,100%)!important;max-width:100%!important;border-radius:16px}.note-form-dialog .note-form-body{gap:10px;padding:12px 14px}.note-form-dialog .note-form-grid.note-form-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;align-items:end}.note-form-dialog .note-form-location-field{grid-column:1 / -1}.note-form-dialog .note-form-tone-group.note-form-tone-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:3px}.note-form-dialog .note-form-location-field .note-form-tone-group.note-form-tone-group{grid-template-columns:repeat(2,minmax(0,1fr))}.note-form-dialog .note-form-tone{min-height:36px;padding:6px 4px;font-size:12px}.note-form-dialog .note-form-text-field textarea{min-height:72px;height:84px}.ops-dialog>header,.ops-dialog>header.staff-filter-dialog__header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;flex-shrink:0;height:auto;min-height:0;overflow:visible;gap:10px;padding:14px 14px 12px}.ops-dialog>header>span,.ops-dialog>header .staff-filter-dialog__icon{align-self:start;margin-top:2px}.ops-dialog>header>div,.ops-dialog>header .staff-filter-dialog__head-text{min-width:0;overflow:visible}.ops-dialog>header h2,.ops-dialog>header .staff-filter-dialog__head-text h2{white-space:normal;line-height:1.35}.ops-dialog>header p,.ops-dialog>header .staff-filter-dialog__head-text p{display:block;margin:4px 0 0;overflow:visible;white-space:normal;line-height:1.45}.ops-dialog>form{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.ops-dialog-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto}.ops-dialog-footer{flex-shrink:0;flex-wrap:wrap;height:auto;min-height:0;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px))}.ops-dialog-footer .primary-button,.ops-dialog-footer .secondary-button{flex:1 1 calc(50% - 8px);min-width:0;min-height:44px}.list-table-report-dialog{width:min(440px,100%);max-width:100%}.list-table-report-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.list-table-report-dialog__actions>*{width:100%;min-height:44px}.students-register-dialog .ops-dialog-footer{display:grid;grid-template-columns:1fr 1fr}.students-register-dialog .ops-dialog-footer .primary-button{grid-column:1 / -1}}.gap-section{display:grid;gap:16px}.gap-info-panel,.gap-branding-panel{padding:4px 0}.gap-toggle-list,.gap-feature-list{display:grid;gap:10px;margin:12px 0}.gap-toggle-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08));cursor:pointer}.gap-toggle-row input{accent-color:var(--primary, #0796FF)}.gap-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gap-tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:calc(12px * var(--font-scale));background:var(--surface-inset);color:var(--text-secondary, #64748b);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08))}.gap-feature-list{list-style:none;padding:0;margin:0}.gap-feature-list li{display:flex;align-items:center;gap:10px;padding:10px 0;color:var(--text-secondary, #64748b)}.gap-feature-list i{color:var(--success, #43b75d)}.gap-branding-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.gap-branding-grid label{display:grid;gap:8px;padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08))}.gap-branding-grid select,.gap-branding-grid input[type=color]{width:100%;min-height:40px;border-radius:10px;border:1px solid var(--border-subtle, rgba(7, 150, 255, .12));background:var(--surface-1);color:inherit}.gap-brand-preview{padding:20px;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--preview-primary, #0796FF) 12%,transparent),color-mix(in srgb,var(--preview-accent, #43b75d) 10%,transparent));border:1px solid var(--border-subtle, rgba(7, 150, 255, .1))}.gap-brand-preview-card{margin-top:12px;padding:16px;border-radius:14px;background:var(--preview-primary, #0796FF);color:#fff;max-width:220px}.gap-treasury-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px}.gap-treasury-summary article{padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08));display:grid;gap:4px}.gap-treasury-summary strong{font-size:1.15rem}.positive{color:var(--success, #43b75d)}.negative{color:var(--danger, #ee443f)}.gps-map{position:relative;min-height:280px;border-radius:16px;overflow:hidden;margin-bottom:16px;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--primary, #0796FF) 18%,transparent),transparent 55%),radial-gradient(circle at 70% 80%,color-mix(in srgb,var(--success, #43b75d) 14%,transparent),transparent 50%),var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .1))}.gps-map-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(color-mix(in srgb,var(--text-secondary, #64748b) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text-secondary, #64748b) 12%,transparent) 1px,transparent 1px);background-size:32px 32px;opacity:.35}.gps-marker{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;z-index:1}.gps-marker i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--primary, #0796FF);color:#fff;box-shadow:0 8px 20px #0000002e}.gps-marker--stopped i{background:var(--warning, #f47920)}.gps-marker-label,.gps-marker small{font-size:var(--text-xs, 12px);padding:2px 6px;border-radius:6px;background:var(--surface-1);border:1px solid var(--border-subtle, rgba(7, 150, 255, .1));white-space:nowrap}.messaging-layout{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:16px;min-height:420px}.messaging-page .messaging-shell{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:0;min-height:min(calc(72vh / var(--ui-scale)),680px);padding:0;overflow:hidden;border-radius:var(--radius-card, 16px)}.messaging-sidebar{display:flex;flex-direction:column;min-height:0;border-inline-end:1px solid var(--glass-line, var(--line-soft, rgba(7, 150, 255, .1)));background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.messaging-sidebar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 12px}.messaging-sidebar-head h2{margin:0;font-size:calc(15px * var(--font-scale));font-weight:600}.messaging-sidebar-head p{margin:4px 0 0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-sm, 13px)}.messaging-new-btn{flex-shrink:0;color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff)}.messaging-filters{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 12px 12px}.messaging-filters button{display:grid;justify-items:center;gap:4px;padding:10px 6px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.messaging-filters button i{font-size:calc(13px * var(--font-scale))}.messaging-filters button b{min-width:18px;padding:1px 6px;border-radius:999px;background:var(--surface-inset, #eef1f8);font-size:var(--text-xs, 12px);font-weight:600}.messaging-filters button.active{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 22%,transparent);background:color-mix(in srgb,var(--primary, #0796FF) 8%,var(--surface-1))}.messaging-filters button.active b{background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF)}.messaging-search{padding:0 12px 10px}.messaging-search .ops-toolbar{min-height:auto;padding:0;background:transparent;border-bottom:0}.messaging-search .student-search.ops-search{background:var(--surface-1);border-color:var(--glass-border, rgba(7, 150, 255, .1));box-shadow:none}.messaging-search .ops-filters .icon-button{background:var(--surface-1);border:1px solid var(--glass-border, rgba(7, 150, 255, .1));box-shadow:none}[data-theme=dark] .messaging-search .ops-toolbar{background:transparent}[data-theme=dark] .messaging-search .student-search.ops-search,[data-theme=dark] .messaging-search .ops-filters .icon-button{background:#1c1d2673;box-shadow:none}.messaging-list{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.messaging-list .ops-empty,.messaging-list .students-empty{padding:36px 16px}.messaging-list-item{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:start;padding:14px 16px;border:0;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .06));background:transparent;text-align:start;cursor:pointer;transition:background .16s ease}.messaging-list-item:hover{background:color-mix(in srgb,var(--primary, #0796FF) 4%,transparent)}.messaging-list-item.active{background:color-mix(in srgb,var(--primary, #0796FF) 10%,var(--surface-1));box-shadow:inset 3px 0 0 var(--primary, #0796FF)}.messaging-list-item.unread .messaging-list-top strong{font-weight:700}.messaging-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;font-size:calc(13px * var(--font-scale));font-weight:700;flex-shrink:0}.messaging-avatar--sm{width:22px;height:22px;border-radius:7px;font-size:var(--text-xs, 12px);display:inline-grid;vertical-align:middle;margin-inline-end:6px}.messaging-avatar--primary{color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff)}.messaging-avatar--info{color:var(--info, #1d6bff);background:var(--info-soft, #eaf1ff)}.messaging-avatar--success{color:var(--success, #43b75d);background:var(--success-soft, #eaf7ee)}.messaging-list-body{min-width:0;display:grid;gap:4px}.messaging-list-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.messaging-list-top strong{font-size:calc(12px * var(--font-scale));line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messaging-list-top time{flex-shrink:0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);white-space:nowrap}.messaging-list-meta{display:flex;align-items:center;gap:6px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.messaging-list-meta i{font-size:var(--text-xs, 12px);opacity:.8}.messaging-list-to{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messaging-list-preview{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.messaging-unread-dot{width:8px;height:8px;margin-top:6px;border-radius:50%;background:var(--warning, #f47920);box-shadow:0 0 0 3px color-mix(in srgb,var(--warning, #f47920) 18%,transparent)}.messaging-panel{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface-1)}.messaging-panel-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--glass-line, var(--line-soft, rgba(7, 150, 255, .1)))}.messaging-back-btn{display:none}.messaging-panel-title{flex:1;min-width:0}.messaging-panel-title h3{margin:0;font-size:calc(15px * var(--font-scale));font-weight:600;line-height:1.4}.messaging-panel-title p{margin:8px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.messaging-panel-title p span:not(.messaging-avatar){opacity:.55}.messaging-conversation{flex:1;min-height:0;overflow:auto;padding:20px;display:grid;align-content:start;gap:16px;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary, #0796FF) 5%,transparent),transparent 42%),var(--surface-1)}.messaging-message{display:flex;align-items:flex-end;gap:10px;max-width:min(100%,640px)}.messaging-message.incoming{justify-self:start}.messaging-message.outgoing{justify-self:end;flex-direction:row-reverse}.messaging-message-body{padding:12px 14px;border-radius:16px;border:1px solid var(--border-subtle);background:var(--surface-2);box-shadow:var(--shadow-soft)}.messaging-message.outgoing .messaging-message-body{background:color-mix(in srgb,var(--primary, #0796FF) 10%,var(--surface-1));border-color:color-mix(in srgb,var(--primary, #0796FF) 18%,transparent)}.messaging-message-body header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-bottom:6px}.messaging-message-body header strong{font-size:var(--text-sm, 13px)}.messaging-message-body header small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.messaging-message-body header time{margin-inline-start:auto;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);white-space:nowrap}.messaging-message-body p{margin:0;font-size:calc(12px * var(--font-scale));line-height:1.75;white-space:pre-wrap}.messaging-composer{padding:14px 16px 16px;border-top:1px solid var(--glass-line, var(--line-soft, rgba(7, 150, 255, .1)));background:color-mix(in srgb,var(--surface-2) 55%,var(--surface-1))}.messaging-composer-inner{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.messaging-composer textarea{width:100%;min-height:44px;max-height:140px;padding:12px 14px;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:14px;background:var(--surface-1);color:inherit;font:inherit;resize:vertical;line-height:1.6}.messaging-composer textarea:focus{outline:none;border-color:color-mix(in srgb,var(--primary, #0796FF) 35%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary, #0796FF) 12%,transparent)}.messaging-send-btn{min-height:44px;padding-inline:16px;white-space:nowrap}.messaging-send-btn:disabled{opacity:.45;cursor:not-allowed}.messaging-composer-hint{display:flex;align-items:center;gap:6px;margin-top:8px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.messaging-composer--readonly{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--success, #43b75d);font-size:var(--text-sm, 13px)}.messaging-empty-panel{flex:1;display:grid;place-content:center;justify-items:center;gap:10px;padding:32px;text-align:center;color:var(--ink-muted, var(--text-secondary, #64748b))}.messaging-empty-icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:var(--surface-2);color:var(--primary, #0796FF);font-size:calc(24px * var(--font-scale))}.messaging-empty-panel h3{margin:0;color:var(--ink, inherit);font-size:calc(15px * var(--font-scale))}.messaging-empty-panel p{margin:0;max-width:280px;font-size:var(--text-sm, 13px);line-height:1.7}[data-theme=dark] .messaging-sidebar{background:color-mix(in srgb,var(--surface-2) 85%,transparent)}[data-theme=dark] .messaging-list-item:hover,[data-theme=dark] .messaging-list-item.active{background:#0796ff14}[data-theme=dark] .messaging-message-body{background:#1c1d26b8;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .messaging-message.outgoing .messaging-message-body{background:#0796ff24}[data-theme=dark] .messaging-composer textarea{background:color-mix(in srgb,var(--surface-1) 90%,transparent)}@media(max-width:960px){.messaging-page .messaging-shell{grid-template-columns:1fr;min-height:min(calc(78vh / var(--ui-scale)),720px)}.messaging-shell.thread-open .messaging-sidebar{display:none}.messaging-back-btn{display:inline-grid}.messaging-panel-head{padding-top:14px}}@media(max-width:640px){.messaging-composer-inner{grid-template-columns:1fr}.messaging-send-btn{width:100%}}@media(max-width:900px){.messaging-layout{grid-template-columns:1fr}}.gap-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.gap-rule-card{padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08))}.gap-rule-card.enabled{border-color:color-mix(in srgb,var(--success, #43b75d) 35%,transparent)}.gap-rule-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.gap-absence-alerts{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-subtle, rgba(7, 150, 255, .08))}.gap-absence-alerts h3{margin:0 0 12px;font-size:.95rem}.settings-checkbox-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-subtle, rgba(7, 150, 255, .08))}.settings-checkbox-row.wide{grid-column:1 / -1}.login-mode-tabs{display:flex;gap:8px;margin-bottom:16px}.login-mode-tabs button{flex:1;padding:10px 12px;border-radius:10px;border:1px solid var(--border-subtle, rgba(7, 150, 255, .12));background:var(--surface-2);color:inherit;cursor:pointer}.login-mode-tabs button.active{background:color-mix(in srgb,var(--primary, #0796FF) 12%,var(--surface-1));border-color:color-mix(in srgb,var(--primary, #0796FF) 35%,transparent);color:var(--primary, #0796FF)}.grade-import-panel,.gap-import-panel{margin-bottom:16px;padding:14px 16px;border-radius:14px;background:var(--surface-2);border:1px dashed color-mix(in srgb,var(--primary, #0796FF) 25%,transparent)}.gap-import-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.gap-file-label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.gap-import-errors{color:var(--danger, #ee443f);font-size:calc(13px * var(--font-scale))}.academic-page .ops-workspace:has(.schedule-stage-card.menu-open){overflow:visible;position:relative;z-index:var(--z-schedule-stack, 50)}.attendance-picker-wrap:has(.schedule-stage-card.menu-open){overflow:visible}.attendance-browser:has(.schedule-stage-card.menu-open),.schedule-browser:has(.schedule-stage-card.menu-open){overflow:visible}.schedule-stage-grid:has(.schedule-stage-card.menu-open){position:relative;z-index:1}.schedule-browser-intro{margin-bottom:14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--primary, #0796FF) 6%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary, #0796FF) 12%,transparent)}.schedule-browser-intro p{margin:0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-sm, 13px);line-height:1.7}.schedule-stage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.schedule-stage-card{position:relative;padding:14px;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-1);box-shadow:var(--shadow-soft);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.schedule-stage-card.menu-open{border-color:color-mix(in srgb,var(--primary, #0796FF) 28%,transparent);box-shadow:0 10px 28px -18px #0796ff59;z-index:2}.schedule-stage-card-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}.schedule-stage-card-copy{min-width:0;display:grid;gap:3px}.schedule-stage-card-copy strong{font-size:calc(14px * var(--font-scale));font-weight:600}.schedule-stage-card-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.schedule-stage-menu-anchor{grid-column:1 / -1;position:relative;margin-top:4px}.schedule-stage-menu-btn{position:relative;z-index:var(--z-schedule-menu-trigger, 1);width:100%;min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:11px;background:var(--surface-1);color:var(--ink, inherit);font:inherit;font-size:var(--text-sm, 13px);font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.schedule-stage-menu-btn:hover,.schedule-stage-menu-btn.active{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent);background:color-mix(in srgb,var(--primary, #0796FF) 8%,var(--surface-1))}.schedule-stage-menu-btn .menu-chevron{margin-inline-start:auto;font-size:var(--text-xs, 12px);transition:transform .16s ease}.schedule-stage-menu-btn.active .menu-chevron{transform:rotate(180deg)}.schedule-nested-menu{position:absolute;inset-inline-start:0;inset-inline-end:0;top:calc(100% + 8px);padding:8px;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:14px;background:var(--surface-1);box-shadow:0 18px 40px -22px #0f172a47;z-index:var(--z-schedule-menu-l1, 10);overflow:visible}.schedule-stage-menus-portal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10020;pointer-events:none}.schedule-nested-menu--portal{position:fixed;inset:auto;z-index:10020;pointer-events:auto}.schedule-nested-menu-head{padding:8px 10px 10px;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .08));margin-bottom:6px}.schedule-nested-menu-head strong{display:block;font-size:calc(12px * var(--font-scale))}.schedule-nested-menu-head small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.schedule-menu-grade{position:relative;border-radius:10px;z-index:1}.schedule-menu-grade.open,.schedule-menu-grade:hover{z-index:var(--z-schedule-menu-l2, 11)}.schedule-menu-grade-btn{position:relative;z-index:var(--z-schedule-menu-trigger, 1);width:100%;padding:10px;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:10px;border:0;border-radius:10px;background:transparent;color:inherit;text-align:start;cursor:pointer;transition:background .16s ease}.schedule-menu-grade.open .schedule-menu-grade-btn,.schedule-menu-grade:hover .schedule-menu-grade-btn{background:color-mix(in srgb,var(--primary, #0796FF) 7%,transparent)}.schedule-menu-grade-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff);font-size:calc(12px * var(--font-scale))}.schedule-menu-grade-copy{min-width:0;display:grid;gap:2px}.schedule-menu-grade-copy strong{font-size:var(--text-sm, 13px);font-weight:600}.schedule-menu-grade-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.submenu-arrow{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);transition:transform .16s ease}.schedule-menu-grade.open .submenu-arrow{transform:rotate(-90deg);color:var(--primary, #0796FF)}.schedule-menu-sections{position:absolute;inset-inline-end:calc(100% + 6px);top:0;min-width:220px;padding:6px;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:12px;background:var(--surface-1);box-shadow:0 16px 36px -20px #0f172a4d;opacity:0;visibility:hidden;transform:translate(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none;z-index:var(--z-schedule-menu-l3, 12)}.schedule-menu-grade.open .schedule-menu-sections,.schedule-menu-grade:hover .schedule-menu-sections{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.schedule-menu-sections.schedule-menu-sections--portal{position:fixed;inset:auto;display:grid;z-index:10021;opacity:1;visibility:visible;transform:none;pointer-events:auto}.schedule-menu-section-btn{width:100%;padding:9px 10px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;border:0;border-radius:9px;background:transparent;color:inherit;text-align:start;cursor:pointer;transition:background .16s ease}.schedule-menu-section-btn:hover{background:color-mix(in srgb,var(--success, #43b75d) 8%,transparent)}.schedule-menu-section-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface-2);color:var(--primary, #0796FF);font-size:var(--text-xs, 12px);font-weight:700}.schedule-menu-section-copy{min-width:0;display:grid;gap:2px}.schedule-menu-section-copy strong{font-size:var(--text-sm, 13px)}.schedule-menu-section-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-menu-section-btn i{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.schedule-menu-empty{margin:0;padding:12px 10px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);text-align:center}.schedule-stage-card-meta{margin-top:12px;padding-top:10px}[data-theme=dark] .schedule-nested-menu,[data-theme=dark] .schedule-menu-sections,[data-theme=dark] .schedule-stage-menu-btn{background:#0e1018fa;border-color:#7ec5ff24;box-shadow:0 18px 40px #00000073}@media(max-width:720px){.schedule-stage-grid{grid-template-columns:1fr}.schedule-menu-sections:not(.schedule-menu-sections--portal){position:static;inset:auto;min-width:0;margin-top:4px;margin-inline-start:42px;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border:0;padding:0 0 6px;display:none}.schedule-menu-grade.open .schedule-menu-sections{display:grid;gap:4px}.schedule-menu-grade:hover .schedule-menu-sections{display:none}.schedule-menu-grade.open:hover .schedule-menu-sections{display:grid}}.ops-workspace>.attendance-picker-wrap:has(.subject-browser){display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ops-workspace .attendance-picker.subject-browser{display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.subject-browser>.attendance-breadcrumb,.subject-browser>.attendance-section-bar{flex-shrink:0}.subject-browser>.attendance-grid{flex:1 1 auto;min-height:0;overflow:auto}.subject-browser>.ops-table-wrap{flex:1 1 0%;min-height:0;overflow:auto;overscroll-behavior:contain}.subject-browser .subjects-grade-table{table-layout:fixed;min-width:1080px}.subject-browser .subjects-grade-table th:nth-child(1),.subject-browser .subjects-grade-table td:nth-child(1){width:20%}.subject-browser .subjects-grade-table th:nth-child(2),.subject-browser .subjects-grade-table td:nth-child(2){width:10%}.subject-browser .subjects-grade-table th:nth-child(3),.subject-browser .subjects-grade-table td:nth-child(3){width:9%}.subject-browser .subjects-grade-table th:nth-child(4),.subject-browser .subjects-grade-table td:nth-child(4){width:10%}.subject-browser .subjects-grade-table th:nth-child(5),.subject-browser .subjects-grade-table td:nth-child(5){width:34%}.subject-browser .subjects-grade-table th:nth-child(6),.subject-browser .subjects-grade-table td:nth-child(6){width:9%}.subject-browser .subjects-grade-table th:nth-child(7),.subject-browser .subjects-grade-table td:nth-child(7){width:8%}.subject-browser .subjects-grade-table .ops-row-title{min-width:0}.subjects-teachers-cell{white-space:normal;overflow-wrap:break-word;word-break:break-word;line-height:1.55}@media(max-width:767px){.subject-browser .subjects-grade-table{min-width:0}}.schedule-section-view{display:grid;gap:10px;padding:2px 0 4px}.schedule-section-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.schedule-section-summary{display:flex;flex-wrap:wrap;gap:6px 8px;padding:8px 10px;border:1px solid var(--glass-border, rgba(7, 150, 255, .1));border-radius:10px;background:color-mix(in srgb,var(--primary, #0796FF) 4%,var(--surface-2));flex:1 1 auto}.schedule-section-summary-item{display:inline-flex;align-items:center;gap:5px;font-size:calc(12px * var(--font-scale));font-weight:500;color:var(--ink, inherit);white-space:nowrap}.schedule-section-summary-item i{color:var(--primary, #0796FF);font-size:calc(12px * var(--font-scale))}.schedule-section-summary-item b{font-size:calc(12px * var(--font-scale));font-weight:600}.schedule-section-summary-item.muted,.schedule-section-summary-item.muted i{color:var(--ink-muted, var(--text-secondary, #64748b))}.schedule-section-edit-hint{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border:1px dashed var(--primary-border, #b3e0ff);border-radius:10px;background:var(--primary-soft, #e8f4ff);color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:500;line-height:1.45}.schedule-section-edit-hint i{color:var(--primary, #0796FF)}.schedule-section-grid-wrap{border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:12px;overflow:auto;background:var(--surface-1, #fff)}.schedule-section-grid{width:100%;min-width:920px;border-collapse:collapse;table-layout:fixed;font-size:calc(13px * var(--font-scale));font-weight:500}.schedule-section-grid thead th{padding:8px 6px;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .12));background:var(--surface-2, #f1f5fa);color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:600;text-align:center;white-space:nowrap}.schedule-section-grid .schedule-section-period-col{width:76px;min-width:76px;text-align:start;position:sticky;inset-inline-start:0;z-index:2;background:var(--surface-2, #f1f5fa);box-shadow:1px 0 0 var(--line-soft, rgba(7, 150, 255, .12))}.schedule-section-grid tbody th.schedule-section-period-col{padding:6px 8px;background:var(--surface-1, #fff);vertical-align:middle}.schedule-section-grid tbody th.schedule-section-period-col span{display:block;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.2}.schedule-section-grid tbody th.schedule-section-period-col small{display:block;margin-top:2px;color:var(--ink-muted, #64748b);font-size:calc(10px * var(--font-scale));font-weight:500;line-height:1.25}.schedule-section-grid tbody td{padding:4px;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .08));border-inline-start:1px solid var(--line-soft, rgba(7, 150, 255, .08));vertical-align:top;height:1px}.schedule-section-grid tbody tr:last-child td,.schedule-section-grid tbody tr:last-child th{border-bottom:0}.schedule-section-grid tbody td.is-empty{text-align:center;background:#f1f5fa59}.schedule-section-view.is-editing .schedule-section-grid tbody td.is-empty{padding:3px}.schedule-section-empty{display:block;color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:500;line-height:1;opacity:.35}.schedule-section-cell-wrap{position:relative;height:100%;min-height:0}.schedule-section-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;min-height:58px;padding:6px;border:1px dashed var(--line-soft, rgba(7, 150, 255, .12));border-radius:8px;background:transparent;color:var(--ink-muted, #64748b);font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.schedule-section-add:hover{border-color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF)}.schedule-section-add i{font-size:calc(12px * var(--font-scale))}[data-theme=dark] .schedule-section-summary{background:#0796ff14}[data-theme=dark] .schedule-section-edit-hint{background:#0796ff1a;border-color:#0796ff38}[data-theme=dark] .schedule-section-grid-wrap{background:#ffffff08}[data-theme=dark] .schedule-section-grid thead th,[data-theme=dark] .schedule-section-grid .schedule-section-period-col{background:#ffffff0d}[data-theme=dark] .schedule-section-grid tbody th.schedule-section-period-col{background:#ffffff08}[data-theme=dark] .schedule-section-grid tbody td.is-empty{background:#ffffff05}[data-theme=dark] .schedule-section-add:hover{background:#0796ff1f}[data-theme=dark] .schedule-section-cell-actions .icon-button{background:#ffffff0f}@media(max-width:900px){.schedule-section-grid{min-width:620px}.schedule-section-grid .schedule-section-period-col{width:68px;min-width:68px}}.schedule-section-palette{display:grid;gap:10px;padding:12px 14px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:12px;background:var(--surface-1, #fff)}.schedule-section-palette-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-section-palette-head strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:600}.schedule-section-palette-head p{margin:4px 0 0;color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:500;line-height:1.45}.schedule-section-palette-count{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(11px * var(--font-scale));font-weight:600}.schedule-section-palette-chips{display:flex;flex-wrap:wrap;align-content:flex-start;gap:10px;width:fit-content;max-width:100%}.schedule-section-palette-chips .schedule-palette-chip{position:relative;flex:0 0 auto;width:88px;height:88px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border-radius:14px;text-align:center;-webkit-user-select:none;user-select:none;touch-action:none}.schedule-section-palette-chips .schedule-chip-grip{position:absolute;top:7px;inset-inline-end:8px;font-size:calc(9px * var(--font-scale));opacity:.35}.schedule-section-palette-chips .schedule-palette-chip:hover .schedule-chip-grip{opacity:.65}.schedule-section-palette-chips .schedule-chip-dot{width:10px;height:10px;flex-shrink:0}.schedule-section-palette-chips .schedule-chip-label{flex:0 1 auto;width:100%;font-size:calc(11px * var(--font-scale));font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.schedule-section-palette-chips .schedule-palette-chip:hover{transform:translateY(-2px)}.schedule-section-palette-chips .schedule-palette-chip.is-dragging{transform:scale(.96);opacity:.85}.schedule-section-view.is-dragging-active .schedule-section-grid tbody td.is-empty,.schedule-section-view.is-dragging-active .schedule-section-drop-slot{border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent)}.schedule-section-grid tbody td.is-drop-target{background:color-mix(in srgb,var(--primary, #0796FF) 8%,#fff);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary, #0796FF) 35%,transparent)}.schedule-section-drop-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;padding:8px;border:1px dashed var(--line-soft, rgba(7, 150, 255, .16));border-radius:8px;color:var(--ink-muted, #64748b);font-size:calc(11px * var(--font-scale));font-weight:500}.schedule-section-drop-slot i{font-size:calc(12px * var(--font-scale));color:var(--primary, #0796FF);opacity:.7}[data-theme=dark] .schedule-section-palette{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .schedule-section-grid tbody td.is-drop-target{background:#0796ff1f}.class-schedule-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:92}.class-schedule-drawer{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;width:100%;flex-direction:column;color:var(--ink);background:var(--page-bg, #e8edf4);animation:classScheduleDrawerIn .22s ease-out}@keyframes classScheduleDrawerIn{0%{opacity:0}to{opacity:1}}.class-schedule-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .12));background:var(--surface-1, #fff)}.class-schedule-topbar-start{display:flex;align-items:center;gap:12px;min-width:0}.class-schedule-close{width:38px;height:38px;flex-shrink:0;border-radius:10px}.class-schedule-topbar-copy{min-width:0}.class-schedule-labels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.class-schedule-stage,.class-schedule-status{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:600}.class-schedule-stage{background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF)}.class-schedule-status.is-complete{background:var(--success-soft, #eaf7ee);color:var(--success, #43b75d)}.class-schedule-status.is-pending{background:var(--warning-soft, #fef1e8);color:var(--warning, #f47920)}.class-schedule-topbar-copy h2{margin:0;font-size:calc(20px * var(--font-scale));font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.class-schedule-divider{margin-inline:6px;color:var(--ink-muted, #64748b);font-weight:500}.class-schedule-topbar-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.class-schedule-topbar-stats span{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:999px;background:var(--surface-1, #fff);color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:500}.class-schedule-topbar-stats b{color:var(--ink);font-weight:700}.class-schedule-topbar-stats span.is-danger{border-color:color-mix(in srgb,var(--danger, #d64545) 24%,transparent);background:var(--danger-soft, #fdeceb);color:var(--danger, #d64545)}.class-schedule-topbar-stats span.is-danger b{color:var(--danger, #d64545)}.class-schedule-topbar-actions{display:flex;align-items:center;gap:8px}.class-schedule-submeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 20px;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .1));background:var(--surface-header)}.class-schedule-submeta p{margin:0;color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:500}.class-schedule-tabs{display:flex;gap:4px}.class-schedule-tabs button{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink-muted, #64748b);font-size:calc(13px * var(--font-scale));font-weight:600;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.class-schedule-tabs button:hover{color:var(--ink);background:#0796ff0d}.class-schedule-tabs button.active{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 18%,transparent);background:var(--primary-soft, #e8f4ff)}.class-schedule-tab-count{min-width:18px;padding:1px 6px;border-radius:999px;background:#0796ff1f;color:var(--primary, #0796FF);font-size:calc(10px * var(--font-scale));font-weight:700}.class-schedule-body{flex:1;min-height:0;overflow:auto;padding:4px 12px 10px}.class-schedule-shell{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;max-width:100%;margin:0}.class-schedule-rooms-bar{justify-content:flex-start;margin:0;padding:0}.class-schedule-memorization-pane{display:flex;flex-direction:column;gap:0;min-height:0;padding:0}.class-schedule-memorization-filter-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 8px;padding:0;border:0;border-radius:0;background:transparent}.class-schedule-memorization-month-pill{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:8px;background:var(--surface-1, #fff);color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:700}.class-schedule-memorization-calendar-wrap{display:grid;flex:1 1 auto;min-height:0;gap:6px;padding:8px;overflow:auto;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:10px;background:var(--surface-1, #fff)}.class-schedule-memorization-weekdays,.class-schedule-memorization-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.class-schedule-memorization-weekdays span{padding:6px 0;text-align:center;color:var(--ink-muted, #64748b);font-size:calc(11px * var(--font-scale));font-weight:700}.class-schedule-memorization-cell{display:grid;gap:10px;min-height:138px;padding:10px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:14px;background:var(--surface-1, #fff)}.class-schedule-memorization-cell.is-muted{opacity:.42}.class-schedule-memorization-cell.is-marked{border-color:color-mix(in srgb,var(--success, #43b75d) 36%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--success-soft, #eaf7ee) 72%,white),var(--surface-1, #fff))}.class-schedule-memorization-cell--empty{visibility:hidden}.class-schedule-memorization-cell-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.class-schedule-memorization-cell-top strong{color:var(--ink);font-size:calc(16px * var(--font-scale));font-weight:800}.class-schedule-memorization-cell-top span{color:var(--ink-muted, #64748b);font-size:calc(10px * var(--font-scale));font-weight:700}.class-schedule-memorization-cell-body{display:flex;align-items:center;gap:6px;min-height:68px;padding:8px 9px;border-radius:10px;background:transparent}.class-schedule-memorization-cell-body.is-empty{background:transparent}.class-schedule-memorization-cell-body small{color:var(--ink);font-size:calc(11px * var(--font-scale));font-weight:700;line-height:1.45}.class-schedule-memorization-cell-body em{color:var(--primary, #0796FF);font-size:calc(10px * var(--font-scale));font-style:normal;font-weight:800}.class-schedule-memorization-dot{width:8px;height:8px;border-radius:999px;background:var(--success, #43b75d);box-shadow:0 0 0 4px color-mix(in srgb,var(--success-soft, #eaf7ee) 72%,transparent);flex-shrink:0}.class-schedule-memorization-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.class-schedule-memorization-header h3{margin:0;color:var(--ink);font-size:calc(16px * var(--font-scale));font-weight:700}.class-schedule-memorization-header span{display:inline-flex;align-items:center;padding:6px 10px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:999px;background:var(--surface-1, #fff);color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:700}.class-schedule-memorization-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:10px}.class-schedule-memorization-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:16px;background:linear-gradient(180deg,var(--surface-1, #fff),color-mix(in srgb,var(--surface-1, #fff) 82%,transparent));box-shadow:0 10px 24px #0f172a0d;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.class-schedule-memorization-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary, #0796FF) 28%,transparent);box-shadow:0 14px 28px #0f172a14}.class-schedule-memorization-card-top,.class-schedule-memorization-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.class-schedule-memorization-card-top strong{color:var(--ink);font-size:calc(14px * var(--font-scale));font-weight:700}.class-schedule-memorization-card-top span,.class-schedule-memorization-card-bottom small{color:var(--ink-muted, #64748b);font-size:calc(11px * var(--font-scale));font-weight:600}.class-schedule-memorization-card-bottom small:first-child{max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-schedule-students-pane{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;margin:0;padding:0}.class-schedule-students-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.class-schedule-students-toolbar>span{color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale));font-weight:600}.class-schedule-student-search{display:flex;align-items:center;gap:8px;flex:1 1 240px;max-width:360px;padding:8px 12px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:10px;background:var(--surface-1, #fff)}.class-schedule-student-search i{color:var(--ink-muted, #64748b);font-size:calc(12px * var(--font-scale))}.class-schedule-student-search input{width:100%;border:0;background:transparent;color:var(--ink);font-size:calc(13px * var(--font-scale));font-weight:500;outline:none}.class-schedule-student-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.class-schedule-student-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line-soft, rgba(7, 150, 255, .12));border-radius:12px;background:var(--surface-1, #fff)}.class-schedule-student-avatar{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(14px * var(--font-scale));font-weight:700}.class-schedule-student-item strong{display:block;font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.3}.class-schedule-student-item small{display:block;margin-top:2px;color:var(--ink-muted, #64748b);font-size:calc(11px * var(--font-scale));font-weight:500}.class-schedule-empty{display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:0;padding:28px 16px;border:0;border-radius:0;background:transparent;color:var(--ink-muted);text-align:center}.class-schedule-empty i{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--primary-soft);color:var(--primary);font-size:calc(18px * var(--font-scale));opacity:1}.class-schedule-empty p{margin:0;font-size:calc(13px * var(--font-scale));font-weight:500}[data-theme=dark] .class-schedule-drawer{background:var(--surface-1, #16171f)}[data-theme=dark] .class-schedule-topbar,[data-theme=dark] .class-schedule-submeta{background:#ffffff08}[data-theme=dark] .class-schedule-topbar-stats span,[data-theme=dark] .class-schedule-student-item,[data-theme=dark] .class-schedule-student-search,[data-theme=dark] .class-schedule-empty,[data-theme=dark] .class-schedule-memorization-header span,[data-theme=dark] .class-schedule-memorization-filter-bar,[data-theme=dark] .class-schedule-memorization-calendar-wrap,[data-theme=dark] .class-schedule-memorization-cell,[data-theme=dark] .class-schedule-memorization-month-pill,[data-theme=dark] .class-schedule-memorization-card{background:#ffffff0a;border-color:#ffffff14}[data-theme=dark] .class-schedule-memorization-cell.is-marked{background:linear-gradient(180deg,#0796ff29,#ffffff0a)}[data-theme=dark] .class-schedule-memorization-cell-body{background:#0796ff1f}@media(max-width:900px){.class-schedule-topbar{grid-template-columns:minmax(0,1fr)}.class-schedule-topbar-stats{justify-content:flex-start}.class-schedule-submeta{flex-direction:column;align-items:flex-start}}.public-portal-page .portal-shell{padding:0;overflow:hidden}.portal-shell-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--border-subtle);background:var(--surface-header)}.portal-shell-head h2{margin:0;font-size:calc(15px * var(--font-scale))}.portal-shell-head p{margin:4px 0 0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:12px;background:var(--surface-inset, rgba(7, 150, 255, .04));border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.portal-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--ink-muted, var(--text-secondary, #64748b));font:inherit;font-size:var(--text-sm, 13px);cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.portal-tabs button.active{color:var(--primary, #0796FF);background:var(--surface-1);box-shadow:0 4px 14px -8px #0796ff59}.portal-tabs button b{min-width:18px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--primary, #0796FF) 10%,transparent);color:var(--primary, #0796FF);font-size:var(--text-xs, 12px);line-height:18px;text-align:center}.portal-panel{padding:18px}.portal-panel--website,.portal-panel--parents{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:18px;align-items:start}.portal-panel-main{display:grid;gap:16px}.portal-panel-block{padding:16px;border-radius:14px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .1))}.portal-panel-block h3{margin:0;font-size:calc(13px * var(--font-scale))}.portal-panel-lead{margin:6px 0 14px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-sm, 13px);line-height:1.7}.portal-toggle-list{display:grid;gap:10px;margin-bottom:14px}.portal-toggle-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:12px;background:var(--surface-1);border:1px solid var(--glass-border, rgba(7, 150, 255, .08));cursor:pointer}.portal-toggle-copy{display:grid;gap:2px;min-width:0}.portal-toggle-copy strong{font-size:calc(12px * var(--font-scale))}.portal-toggle-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-switch{position:relative;flex-shrink:0}.portal-switch input{position:absolute;opacity:0;width:0;height:0}.portal-switch-track{position:relative;display:block;width:44px;height:26px;border-radius:999px;background:color-mix(in srgb,var(--ink-muted, #64748b) 24%,transparent);transition:background .16s ease}.portal-switch-track:after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0f172a2e;transition:inset-inline-start .16s ease}.portal-switch input:checked+.portal-switch-track{background:var(--primary, #0796FF)}.portal-switch input:checked+.portal-switch-track:after{inset-inline-start:calc(100% - 23px)}.portal-url-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.portal-url-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff)}.portal-url-copy{min-width:0;display:grid;gap:2px}.portal-url-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-url-copy a{color:inherit;font-size:var(--text-sm, 13px);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-url-copy a:hover{color:var(--primary, #0796FF)}.portal-url-btn{min-height:34px;padding:0 12px;border:1px solid color-mix(in srgb,var(--primary, #0796FF) 18%,transparent);border-radius:9px;background:color-mix(in srgb,var(--primary, #0796FF) 8%,var(--surface-1));color:var(--primary, #0796FF);font:inherit;font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer}.portal-url-btn.ghost{background:transparent;color:var(--ink-muted, var(--text-secondary, #64748b));border-color:var(--glass-border, rgba(7, 150, 255, .12))}.portal-section-grid,.portal-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.portal-section-card,.portal-feature-card{display:grid;gap:6px;padding:12px;border-radius:12px;background:var(--surface-1);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.portal-section-card strong,.portal-feature-card strong{font-size:var(--text-sm, 13px)}.portal-section-card small,.portal-feature-card small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-section-icon,.portal-feature-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff);font-size:calc(12px * var(--font-scale))}.portal-feature-card{grid-template-columns:auto 1fr;align-items:center;gap:10px}.portal-preview,.portal-parent-card{padding:14px;border-radius:16px;background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--primary, #0796FF) 14%,transparent),transparent 55%),var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .1))}.portal-preview-chrome{display:flex;gap:6px;margin-bottom:12px}.portal-preview-chrome span{width:8px;height:8px;border-radius:50%;background:color-mix(in srgb,var(--ink-muted, #64748b) 28%,transparent)}.portal-preview-body{display:grid;gap:8px;padding:16px;border-radius:12px;background:var(--surface-1);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.portal-preview-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 8px;border-radius:999px;font-size:var(--text-xs, 12px);color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 10%,transparent)}.portal-preview-body strong{font-size:calc(13px * var(--font-scale))}.portal-preview-body p{margin:0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-preview-sections{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.portal-preview-sections span{padding:4px 8px;border-radius:999px;font-size:var(--text-xs, 12px);background:var(--surface-inset, rgba(7, 150, 255, .04));color:var(--ink-muted, var(--text-secondary, #64748b))}.portal-parent-card header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:14px}.portal-parent-card header strong{display:block;font-size:calc(12px * var(--font-scale))}.portal-parent-card header small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-parent-avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--primary, #0796FF);color:#fff;font-size:var(--text-sm, 13px);font-weight:700}.portal-parent-stats{list-style:none;margin:0;padding:0;display:grid;gap:8px}.portal-parent-stats li{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:10px;background:var(--surface-1);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.portal-parent-stats span{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-parent-stats strong{font-size:calc(13px * var(--font-scale))}.portal-enrollment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.portal-enrollment-head h3{margin:0;font-size:calc(13px * var(--font-scale))}.portal-enrollment-filters{display:inline-flex;flex-wrap:wrap;gap:6px}.portal-enrollment-filters button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 10px;border:1px solid var(--glass-border, rgba(7, 150, 255, .08));border-radius:999px;background:var(--surface-1);color:var(--ink-muted, var(--text-secondary, #64748b));font:inherit;font-size:var(--text-xs, 12px);cursor:pointer}.portal-enrollment-filters button.active{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent);background:color-mix(in srgb,var(--primary, #0796FF) 8%,var(--surface-1))}.portal-enrollment-filters button b{font-size:var(--text-xs, 12px)}.portal-enrollment-list{display:grid;gap:10px}.portal-enrollment-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .1))}.portal-enrollment-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--primary-soft, #e8f4ff);color:var(--primary, #0796FF);font-size:calc(12px * var(--font-scale));font-weight:700}.portal-enrollment-copy{display:grid;gap:2px;min-width:0}.portal-enrollment-copy strong{font-size:calc(12px * var(--font-scale))}.portal-enrollment-copy span{color:var(--ink, inherit);font-size:var(--text-sm, 13px)}.portal-enrollment-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.portal-enrollment-action{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:10px;background:var(--surface-1);color:var(--ink, inherit);font:inherit;font-size:var(--text-xs, 12px);font-weight:600;cursor:pointer;transition:border-color .16s ease,color .16s ease}.portal-enrollment-action:hover{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent)}[data-theme=dark] .portal-panel-block,[data-theme=dark] .portal-enrollment-card{background:#121620c7;border-color:#7ec5ff1f}@media(max-width:960px){.portal-panel--website,.portal-panel--parents{grid-template-columns:1fr}.portal-preview,.portal-parent-card{order:-1}}@media(max-width:720px){.portal-url-bar{grid-template-columns:auto minmax(0,1fr)}.portal-url-bar .portal-url-btn{grid-column:2}.portal-enrollment-card{grid-template-columns:auto minmax(0,1fr)}.portal-enrollment-card .student-status,.portal-enrollment-card .portal-enrollment-action{grid-column:1 / -1;justify-self:start}}.notifications-page .notifications-shell{padding:0;overflow:hidden}.notifications-shell-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px 18px;border-bottom:1px solid var(--border-subtle);background:var(--surface-header)}.notifications-shell-head h2{margin:0;font-size:calc(15px * var(--font-scale))}.notifications-shell-head p{margin:4px 0 0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-tabs{display:inline-flex;flex-wrap:wrap;gap:6px;padding:4px;border-radius:12px;background:var(--surface-inset, rgba(7, 150, 255, .04));border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-tabs button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--ink-muted, var(--text-secondary, #64748b));font:inherit;font-size:var(--text-sm, 13px);cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.notifications-tabs button.active{color:var(--primary, #0796FF);background:var(--surface-1);box-shadow:0 4px 14px -8px #0796ff59}.notifications-tabs button b{min-width:18px;padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--primary, #0796FF) 10%,transparent);color:var(--primary, #0796FF);font-size:var(--text-xs, 12px);line-height:18px;text-align:center}.notifications-panel{padding:18px}.notifications-panel-lead{margin:0 0 14px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-sm, 13px);line-height:1.7}.notifications-send-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notifications-send-card{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:12px 14px;padding:16px;border:1px solid var(--glass-border, rgba(7, 150, 255, .1));border-radius:14px;background:var(--surface-2);text-align:start;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notifications-send-card:hover{border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent);box-shadow:0 12px 28px -20px #0796ff59;transform:translateY(-1px)}.notifications-send-icon{grid-row:1 / span 2;width:46px;height:46px;display:grid;place-items:center;border-radius:12px;font-size:calc(17px * var(--font-scale))}.notifications-send-icon--info{color:var(--info, #3b82f6);background:var(--info-soft, #eef4ff)}.notifications-send-icon--primary{color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff)}.notifications-send-copy{display:grid;gap:4px}.notifications-send-copy strong{font-size:calc(13px * var(--font-scale))}.notifications-send-copy small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);line-height:1.65}.notifications-send-meta{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.notifications-send-action{display:inline-flex;align-items:center;gap:6px;color:var(--primary, #0796FF);font-size:var(--text-xs, 12px);font-weight:600}.notifications-panel--history{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:0;padding:0;min-height:min(calc(68vh / var(--ui-scale)),620px)}.notifications-history-sidebar{display:flex;flex-direction:column;border-inline-end:1px solid var(--border-subtle);background:var(--surface-2)}.notifications-history-filters{display:flex;flex-wrap:wrap;gap:6px;padding:14px 14px 10px;border-bottom:1px solid var(--glass-line, rgba(7, 150, 255, .08))}.notifications-history-filters button{min-height:30px;padding:0 10px;border:1px solid var(--glass-border, rgba(7, 150, 255, .08));border-radius:999px;background:var(--surface-1);color:var(--ink-muted, var(--text-secondary, #64748b));font:inherit;font-size:var(--text-xs, 12px);cursor:pointer}.notifications-history-filters button.active{color:var(--primary, #0796FF);border-color:color-mix(in srgb,var(--primary, #0796FF) 24%,transparent);background:color-mix(in srgb,var(--primary, #0796FF) 8%,var(--surface-1))}.notifications-history-list{flex:1;overflow:auto;padding:8px 0}.notifications-history-item{width:100%;padding:12px 14px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:start;border:0;border-bottom:1px solid var(--line-soft, rgba(7, 150, 255, .06));background:transparent;text-align:start;cursor:pointer;transition:background .16s ease}.notifications-history-item:hover,.notifications-history-item.active{background:color-mix(in srgb,var(--primary, #0796FF) 6%,transparent)}.notifications-history-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;font-size:calc(13px * var(--font-scale))}.notifications-history-icon--staff{color:var(--info, #3b82f6);background:var(--info-soft, #eef4ff)}.notifications-history-icon--community{color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff)}.notifications-history-body{display:grid;gap:4px;min-width:0}.notifications-history-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.notifications-history-top strong{font-size:var(--text-sm, 13px);line-height:1.45}.notifications-history-top time{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);white-space:nowrap}.notifications-history-preview{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notifications-history-meta{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-history-badge{color:var(--info, #3b82f6);font-size:var(--text-sm, 13px);padding-top:4px}.notifications-history-detail{display:flex;flex-direction:column;gap:14px;padding:18px;min-width:0}.notifications-detail-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px}.notifications-detail-head h3{margin:0;font-size:calc(14px * var(--font-scale))}.notifications-detail-head p{margin:4px 0 0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-detail-close{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:10px;background:var(--surface-1);color:var(--ink-muted, var(--text-secondary, #64748b));cursor:pointer}.notifications-detail-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.notifications-detail-stats article{padding:10px 12px;border-radius:11px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-detail-stats small{display:block;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-detail-stats strong{display:block;margin-top:4px;font-size:calc(12px * var(--font-scale))}.notifications-detail-message{padding:14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-detail-message strong{display:block;margin-bottom:8px;font-size:var(--text-sm, 13px)}.notifications-detail-message p{margin:0;color:var(--ink, inherit);font-size:calc(12px * var(--font-scale));line-height:1.75;white-space:pre-wrap}.notifications-detail-channels,.notifications-rule-channels{display:flex;flex-wrap:wrap;gap:6px}.notifications-channel-chip{padding:4px 8px;border-radius:999px;font-size:var(--text-xs, 12px);background:var(--surface-inset, rgba(7, 150, 255, .04));color:var(--ink-muted, var(--text-secondary, #64748b));border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-automation-head h3{margin:0;font-size:calc(13px * var(--font-scale))}.notifications-rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.notifications-rule-card{padding:14px;border-radius:14px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-rule-card.enabled{border-color:color-mix(in srgb,var(--success, #43b75d) 28%,transparent)}.notifications-rule-card header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px}.notifications-rule-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--warning, #f47920);background:color-mix(in srgb,var(--warning, #f47920) 12%,transparent);font-size:calc(12px * var(--font-scale))}.notifications-rule-card strong{display:block;font-size:calc(12px * var(--font-scale))}.notifications-rule-card small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-switch{position:relative;width:44px;height:26px;padding:0;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink-muted, #64748b) 24%,transparent);cursor:pointer;transition:background .16s ease}.notifications-switch span{position:absolute;top:3px;inset-inline-start:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0f172a2e;transition:inset-inline-start .16s ease}.notifications-switch.active{background:var(--primary, #0796FF)}.notifications-switch.active span{inset-inline-start:calc(100% - 23px)}.notifications-absence-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--glass-line, rgba(7, 150, 255, .08))}.notifications-absence-block h3{margin:0;font-size:calc(13px * var(--font-scale))}.notifications-absence-list{display:grid;gap:10px;margin-top:12px}.notifications-absence-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-absence-days{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--danger, #ee443f) 10%,transparent);color:var(--danger, #ee443f);font-size:calc(14px * var(--font-scale));font-weight:700}.notifications-absence-card strong{display:block;font-size:calc(12px * var(--font-scale))}.notifications-absence-card small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-activity-search{margin-bottom:12px}.notifications-page .notifications-activity-search .ops-toolbar{background:transparent;padding:0}.notifications-activity-feed{display:grid;gap:10px;max-height:min(calc(62vh / var(--ui-scale)),560px);overflow:auto}.notifications-activity-item{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:13px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.notifications-activity-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:var(--primary, #0796FF);background:var(--primary-soft, #e8f4ff);font-size:calc(13px * var(--font-scale))}.notifications-activity-copy header{display:flex;align-items:center;justify-content:space-between;gap:8px}.notifications-activity-copy strong{font-size:var(--text-sm, 13px)}.notifications-activity-copy p{margin:6px 0 0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px);line-height:1.65}.notifications-activity-copy footer{margin-top:8px;display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.notifications-activity-copy footer i{margin-inline-end:4px;opacity:.75}.notifications-activity-copy footer time{margin-inline-start:auto;white-space:nowrap}[data-theme=dark] .notifications-shell-head{background:#1c1d266b}[data-theme=dark] .notifications-history-sidebar{background:#16171f8c}[data-theme=dark] .notifications-send-card,[data-theme=dark] .notifications-rule-card,[data-theme=dark] .notifications-detail-message,[data-theme=dark] .notifications-activity-item{background:#16171fb8}@media(max-width:960px){.notifications-panel--history{grid-template-columns:1fr;min-height:auto}.notifications-history-sidebar{border-inline-end:0;border-bottom:1px solid var(--glass-line, rgba(7, 150, 255, .08))}.notifications-shell.detail-open .notifications-history-detail{display:flex}.notifications-shell:not(.detail-open) .notifications-history-detail{display:none}}@media(max-width:720px){.notifications-send-grid{grid-template-columns:1fr}.notifications-send-card{grid-template-columns:1fr;grid-template-rows:auto}.notifications-send-icon{grid-row:auto;width:42px;height:42px}.notifications-send-meta{grid-column:1}.notifications-detail-stats{grid-template-columns:1fr}.notifications-activity-copy footer time{margin-inline-start:0;width:100%}}.transport-trip-rail{padding:14px}.transport-trip-rail-empty{margin:0;padding:12px;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-sm, 13px);line-height:1.7}.transport-trip-row{cursor:pointer}.transport-trip-row.active{background:color-mix(in srgb,var(--primary, #0796FF) 6%,transparent)}.transport-trip-view{display:grid;gap:14px}.transport-trip-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px}.transport-trip-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;font-size:calc(15px * var(--font-scale))}.transport-trip-icon--success,.transport-trip-icon--info{color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 12%,transparent)}.transport-trip-icon--warning{color:var(--warning, #f47920);background:color-mix(in srgb,var(--warning, #f47920) 12%,transparent)}.transport-trip-icon--neutral{color:var(--ink-muted, #64748b);background:var(--surface-inset, rgba(7, 150, 255, .04))}.transport-trip-head-copy{min-width:0}.transport-trip-kicker{display:block;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.transport-trip-head-copy h3{margin:2px 0;font-size:calc(14px * var(--font-scale))}.transport-trip-head-copy p{margin:0;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.transport-trip-head-side{display:grid;justify-items:end;gap:8px}.transport-trip-close{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--glass-border, rgba(7, 150, 255, .12));border-radius:9px;background:var(--surface-1);color:var(--ink-muted, var(--text-secondary, #64748b));cursor:pointer}.transport-trip-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.transport-trip-stats article{padding:10px 12px;border-radius:11px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.transport-trip-stats small{display:block;color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.transport-trip-stats strong{display:block;margin-top:4px;font-size:var(--text-sm, 13px);line-height:1.45}.transport-trip-progress{padding:12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08))}.transport-trip-progress-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:var(--text-xs, 12px)}.transport-trip-progress-bar{height:8px;border-radius:999px;background:var(--surface-inset, rgba(7, 150, 255, .06));overflow:hidden}.transport-trip-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary, #0796FF),color-mix(in srgb,var(--success, #43b75d) 70%,var(--primary, #0796FF)))}.transport-trip-route h4,.transport-trip-scans h4{margin:0 0 10px;font-size:var(--text-sm, 13px)}.transport-trip-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0}.transport-trip-stop{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:10px 0;position:relative}.transport-trip-stop:not(:last-child):after{content:"";position:absolute;top:28px;inset-inline-start:8px;width:2px;height:calc(100% - 8px);background:var(--glass-line, rgba(7, 150, 255, .12))}.transport-trip-stop--done:not(:last-child):after{background:color-mix(in srgb,var(--success, #43b75d) 35%,transparent)}.transport-trip-dot{width:16px;height:16px;margin-top:2px;border-radius:50%;border:2px solid var(--glass-border, rgba(7, 150, 255, .18));background:var(--surface-1)}.transport-trip-stop--done .transport-trip-dot{border-color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 18%,var(--surface-1))}.transport-trip-stop--current .transport-trip-dot{border-color:var(--primary, #0796FF);background:var(--primary, #0796FF);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary, #0796FF) 18%,transparent)}.transport-trip-stop--next .transport-trip-dot{border-color:var(--primary, #0796FF)}.transport-trip-stop strong{display:block;font-size:var(--text-sm, 13px)}.transport-trip-stop small{color:var(--ink-muted, var(--text-secondary, #64748b));font-size:var(--text-xs, 12px)}.transport-trip-stop--current strong{color:var(--primary, #0796FF)}.transport-trip-scans ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.transport-trip-scans li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--glass-border, rgba(7, 150, 255, .08));font-size:var(--text-xs, 12px)}.transport-trip-scans li span{color:var(--ink-muted, var(--text-secondary, #64748b))}.transport-trip-actions{display:flex;flex-wrap:wrap;gap:8px}[data-theme=dark] .transport-trip-progress,[data-theme=dark] .transport-trip-stop{background:transparent}@media(max-width:960px){.transport-trips-split{grid-template-columns:1fr}}.memorization-section-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-2)}.memorization-section-bar strong{display:block;font-size:calc(14px * var(--font-scale));font-weight:600}.memorization-section-bar small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.memorization-section-tabs{display:flex;flex-wrap:wrap;gap:6px}.memorization-section-tabs button{min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-soft);border-radius:999px;background:var(--surface-2);color:var(--ink-muted);font:inherit;font-size:calc(11px * var(--font-scale));font-weight:500;cursor:pointer;transition:border-color .14s ease,color .14s ease,background .14s ease}.memorization-section-tabs button:hover{border-color:var(--primary-border);color:var(--primary)}.memorization-section-tabs button.active{border-color:var(--primary-border);color:var(--primary);background:var(--primary-soft)}.memorization-table-panel{display:grid;gap:12px}.memorization-table-wrap{overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1);box-shadow:var(--shadow-soft)}.memorization-subjects-table th:nth-child(2),.memorization-subjects-table th:nth-child(3),.memorization-subjects-table th:nth-child(4),.memorization-subjects-table th:nth-child(5),.memorization-subjects-table td:nth-child(2),.memorization-subjects-table td:nth-child(3),.memorization-subjects-table td:nth-child(4),.memorization-subjects-table td:nth-child(5),.memorization-sessions-table th:nth-child(1),.memorization-sessions-table th:nth-child(4),.memorization-sessions-table th:nth-child(5),.memorization-sessions-table td:nth-child(1),.memorization-sessions-table td:nth-child(4),.memorization-sessions-table td:nth-child(5){text-align:center;white-space:nowrap}.memorization-num{font-variant-numeric:tabular-nums;font-size:calc(13px * var(--font-scale));font-weight:600}.memorization-grade-count{display:inline-flex;align-items:baseline;gap:1px;font-variant-numeric:tabular-nums;font-size:calc(13px * var(--font-scale));font-weight:600}.memorization-grade-count small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:500}.memorization-row-actions{justify-content:flex-end;flex-wrap:nowrap}.memorization-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.memorization-toolbar-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.memorization-toolbar-subject{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border-radius:999px;background:var(--surface-2);color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:600}.memorization-toolbar-subject i{color:var(--primary);font-size:calc(11px * var(--font-scale))}.memorization-matrix-wrap{overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1)}.memorization-matrix-table th small{display:block;color:var(--ink-muted);font-size:calc(9px * var(--font-scale));font-weight:500}.memorization-matrix-table th strong{display:block;font-size:calc(11px * var(--font-scale));font-weight:600}.memorization-report-panel{display:grid;gap:12px}.memorization-report-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.memorization-report-date-field{display:grid;gap:4px;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.memorization-report-date-field input{min-height:36px;padding:0 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-2);color:var(--ink);font:inherit}.memorization-student-card.selected{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:var(--shadow-hover)}.memorization-report-hint{margin:0;flex:1;min-width:0;padding:10px 12px;border-radius:10px;background:var(--primary-soft);color:var(--ink);font-size:calc(12px * var(--font-scale))}.memorization-report-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.memorization-report-export-btn{flex:0 0 auto;min-height:40px;white-space:nowrap}.memorization-report-empty-hint{margin:0;padding:10px 12px;border:1px dashed var(--line-soft);border-radius:10px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));text-align:center}[data-theme=dark] .memorization-section-bar,[data-theme=dark] .memorization-table-wrap,[data-theme=dark] .memorization-matrix-wrap{background:#121620c7;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .memorization-section-tabs button{background:#1b1c25e0;border-color:#7ec5ff1a;color:var(--ink-muted)}[data-theme=dark] .memorization-section-tabs button:hover{border-color:#0796ff47;color:#7ec5ff}[data-theme=dark] .memorization-section-tabs button.active{color:#7ec5ff;background:#0796ff24;border-color:#0796ff52}[data-theme=dark] .memorization-toolbar-subject{background:#1b1c25e0;border:1px solid rgba(126,197,255,.1);color:var(--ink)}[data-theme=dark] .memorization-toolbar-subject i{color:#7ec5ff}[data-theme=dark] .memorization-table-wrap .ops-table th,[data-theme=dark] .memorization-matrix-wrap .ops-table th{background:#0d0e14ad;border-bottom-color:#7ec5ff1a;color:var(--ink-muted)}[data-theme=dark] .memorization-table-wrap .ops-table td,[data-theme=dark] .memorization-matrix-wrap .ops-table td{background:transparent;border-bottom-color:#7ec5ff14;color:var(--ink)}[data-theme=dark] .memorization-table-wrap .ops-table tbody tr:hover td,[data-theme=dark] .memorization-matrix-wrap .ops-table tbody tr:hover td{background:#0796ff14}[data-theme=dark] .memorization-table-wrap .ops-table small,[data-theme=dark] .memorization-matrix-wrap .ops-table small,[data-theme=dark] .memorization-grade-count small,[data-theme=dark] .memorization-matrix-table th small{color:var(--ink-muted)}[data-theme=dark] .memorization-matrix-table th strong,[data-theme=dark] .memorization-num,[data-theme=dark] .memorization-grade-count{color:var(--ink)}[data-theme=dark] .memorization-report-date-field input{background:#1b1c25e0;border-color:#7ec5ff1f;color:var(--ink)}[data-theme=dark] .memorization-report-hint{background:#0796ff1f;color:var(--ink)}[data-theme=dark] .memorization-report-empty-hint{border-color:#7ec5ff24;color:var(--ink-muted);background:#1216208c}[data-theme=dark] .memorization-student-card.selected{border-color:#0796ff73;background:#0796ff24;box-shadow:0 0 0 1px #0796ff1f}[data-theme=dark] .memorizations-section .schedule-browser-intro{color:var(--ink-muted);background:#121620b8;box-shadow:inset 0 1px #7ec5ff0f}@media(max-width:720px){.memorization-section-bar{align-items:stretch}.memorization-section-tabs{width:100%}.memorization-section-tabs button{flex:1;justify-content:center}.memorization-toolbar{align-items:stretch}.memorization-toolbar-group{width:100%}.memorization-row-actions{flex-wrap:wrap}}.attendance-range-date-field{display:grid;gap:4px;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.attendance-range-date-field input{min-height:36px;padding:0 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-2);color:var(--ink);font:inherit}.attendance-period-hint{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:10px 12px;border-radius:10px;background:var(--primary-soft);color:var(--ink);font-size:calc(12px * var(--font-scale))}.attendance-period-legend{display:inline-flex;flex-wrap:wrap;gap:10px;color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.attendance-period-legend b{color:var(--ink);margin-inline-end:3px}.attendance-matrix-wrap{overflow:auto;border:1px solid var(--border-default);border-radius:12px;background:var(--surface-1)}.attendance-matrix-table th{font-size:calc(10px * var(--font-scale));font-weight:600;white-space:nowrap;text-align:start}.attendance-matrix-table th:first-child,.attendance-matrix-table td:first-child,.attendance-matrix-table th:nth-child(2),.attendance-matrix-table td:nth-child(2){text-align:start}.attendance-matrix-cell{text-align:start;font-weight:700;font-size:calc(12px * var(--font-scale))}.attendance-matrix-cell--present{color:var(--success)}.attendance-matrix-cell--absent{color:var(--danger)}.attendance-matrix-cell--late{color:var(--warning)}.attendance-matrix-cell--excused{color:var(--info, #3b82f6)}.attendance-matrix-cell--early{color:var(--warning)}[data-theme=dark] .attendance-matrix-wrap{background:#1b1c25b8}[data-theme=dark] .attendance-range-date-field input{background:#23242e9e}.attendance-hub{display:grid;gap:16px}.attendance-picker-panel,.attendance-workspace{display:grid;gap:14px}.ops-workspace .attendance-hub{gap:0}.ops-workspace .attendance-picker-panel,.ops-workspace .attendance-workspace{padding:16px}.ops-workspace .attendance-picker-panel .schedule-stage-grid{margin-inline:0;margin-bottom:0}.attendance-hub-intro{margin:0}.att-panel--clean{display:grid;gap:0;border:1px solid var(--border-default);border-radius:14px;overflow:hidden;background:var(--surface-1);box-shadow:var(--shadow-soft)}.att-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--surface-1) 0%,var(--surface-2) 100%)}.att-panel-head__info{display:grid;gap:4px;min-width:0}.att-panel-head__title{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.att-panel-head__title h2{margin:0;font-size:calc(17px * var(--font-scale));font-weight:700;line-height:1.3}.att-panel-head__meta{margin:0;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.att-mode-badge{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 10px;border-radius:999px;font-size:calc(10px * var(--font-scale));font-weight:600;color:var(--ink-muted);background:var(--surface-sunken)}.att-mode-badge.is-edit{color:var(--success);background:color-mix(in srgb,var(--success) 12%,var(--surface-1))}.att-panel-head__actions{display:flex;flex-wrap:wrap;gap:8px}.att-panel-alert{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid color-mix(in srgb,var(--warning) 28%,transparent);background:color-mix(in srgb,var(--warning) 8%,var(--surface-1));color:var(--ink);font-size:calc(12px * var(--font-scale))}.att-panel-alert i{color:var(--warning);font-size:calc(11px * var(--font-scale))}.att-panel-alert button{margin-inline-start:auto;min-height:28px;padding:0 10px;border:0;border-radius:7px;background:var(--warning);color:#fff;font:inherit;font-size:calc(11px * var(--font-scale));font-weight:600;cursor:pointer}.att-panel-alert button:disabled{opacity:.65;cursor:not-allowed}.att-panel-kpis{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.att-kpi{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.att-kpi:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-soft));box-shadow:var(--shadow-soft)}.att-kpi.is-active{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.att-kpi__icon{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;font-size:calc(11px * var(--font-scale))}.att-kpi--success .att-kpi__icon{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.att-kpi--danger .att-kpi__icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.att-kpi--warning .att-kpi__icon{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.att-kpi--info .att-kpi__icon{color:var(--info, #3b82f6);background:color-mix(in srgb,var(--info, #3b82f6) 12%,transparent)}.att-kpi--early .att-kpi__icon{color:color-mix(in srgb,var(--warning) 70%,var(--danger));background:color-mix(in srgb,var(--warning) 10%,transparent)}.att-kpi__value{font-size:calc(16px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.att-kpi--success .att-kpi__value{color:var(--success)}.att-kpi--danger .att-kpi__value{color:var(--danger)}.att-kpi--warning .att-kpi__value{color:var(--warning)}.att-kpi--info .att-kpi__value{color:var(--info, #3b82f6)}.att-kpi--early .att-kpi__value{color:color-mix(in srgb,var(--warning) 70%,var(--danger))}.att-kpi__label{font-size:calc(11px * var(--font-scale));color:var(--ink-muted);font-weight:500}.att-kpi.is-active .att-kpi__label{color:var(--primary);font-weight:600}.att-kpi--rate{margin-inline-start:auto;cursor:default;padding-inline:14px;border-color:color-mix(in srgb,var(--primary) 22%,var(--line-soft));background:color-mix(in srgb,var(--primary) 6%,var(--surface-1))}.att-kpi--rate:hover{box-shadow:none;border-color:color-mix(in srgb,var(--primary) 22%,var(--line-soft))}.att-kpi__rate-value{font-size:calc(20px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.att-kpi--rate-good .att-kpi__rate-value{color:var(--success)}.att-kpi--rate-warn .att-kpi__rate-value{color:var(--warning)}.att-kpi--rate-bad .att-kpi__rate-value{color:var(--danger)}.att-kpi__rate-copy{display:grid;gap:1px}.att-kpi__rate-copy strong{font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink)}.att-kpi__rate-copy small{font-size:calc(10px * var(--font-scale));color:var(--ink-muted)}.att-panel-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.att-panel-controls__left,.att-panel-controls__right{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.att-panel-controls__right{flex:1 1 280px;justify-content:flex-end;position:relative;z-index:3}.att-panel-controls__right:has(.att-period-picker.is-open){z-index:30}.att-panel-periods{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:10px;background:var(--surface-sunken)}.att-panel-periods button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--ink-muted);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease,box-shadow .14s ease}.att-panel-periods button:hover{color:var(--ink)}.att-panel-periods button.is-active{color:var(--primary);background:var(--surface-1);box-shadow:var(--shadow-soft)}.att-panel-search{position:relative;display:flex;align-items:center;min-width:min(220px,100%);flex:1 1 180px;max-width:280px}.att-panel-search i{position:absolute;inset-inline-start:11px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));pointer-events:none}.att-panel-search input{width:100%;min-height:36px;padding:0 12px 0 32px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-1);color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale))}.att-panel-search input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 45%,var(--line-soft));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}[dir=rtl] .att-panel-search input{padding:0 32px 0 12px}[dir=rtl] .att-panel-search i{inset-inline-start:auto;inset-inline-end:11px}.att-period-picker{position:relative;flex:0 1 auto;min-width:min(220px,100%);max-width:min(340px,100%);z-index:2}.att-period-picker.is-open{z-index:40}.att-period-picker-trigger{width:100%;min-height:38px;padding:5px 10px 5px 8px;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.att-period-picker-trigger:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--line-soft))}.att-period-picker.is-open .att-period-picker-trigger{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.att-period-picker.is-disabled .att-period-picker-trigger{opacity:.62;cursor:not-allowed}.att-period-picker-icon{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-size:calc(12px * var(--font-scale))}.att-period-picker-copy{min-width:0;flex:1;display:grid;gap:1px;text-align:start}.att-period-picker-label{font-size:calc(10px * var(--font-scale));font-weight:600;letter-spacing:.02em;color:var(--ink-muted);line-height:1.2}.att-period-picker-value{font-size:calc(12.5px * var(--font-scale));font-weight:600;color:var(--ink);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-period-picker-chevron{flex:0 0 auto;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));transition:color .14s ease,transform .14s ease}.att-period-picker.is-open .att-period-picker-chevron{color:var(--primary)}.att-period-picker-menu{margin:0;padding:6px;list-style:none;overflow:auto;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1, #fff);box-shadow:0 10px 28px #0f172a1a,0 2px 6px #0f172a0f}.att-period-picker-option{width:100%;min-height:36px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:calc(12.5px * var(--font-scale));font-weight:500;text-align:start;cursor:pointer;transition:background .12s ease,color .12s ease}.att-period-picker-option span{min-width:0;line-height:1.35}.att-period-picker-option i{flex:0 0 auto;font-size:calc(11px * var(--font-scale));color:var(--primary);opacity:0}.att-period-picker-option:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.att-period-picker-option.is-active{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-weight:600}.att-period-picker-option.is-active i{opacity:1}.att-panel-today,.att-panel-clear{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1, #fff);color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer}.att-panel-today{padding:0 12px}.att-panel-clear{width:38px;color:var(--ink-muted)}.att-panel-today:hover,.att-panel-clear:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.att-panel-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:var(--surface-sunken)}.att-panel-count{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:calc(12px * var(--font-scale));color:var(--ink-muted)}.att-panel-count strong{color:var(--ink);font-variant-numeric:tabular-nums}.att-panel-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 8px 0 10px;border:0;border-radius:999px;background:var(--primary-soft);color:var(--primary);font:inherit;font-size:calc(11px * var(--font-scale));font-weight:600;cursor:pointer}.att-panel-filter-chip i{font-size:calc(9px * var(--font-scale));opacity:.8}.att-panel-meta .attendance-legend{gap:8px 12px}.att-panel-meta .attendance-legend-item{font-size:calc(11px * var(--font-scale))}[data-theme=dark] .att-panel--clean,[data-theme=dark] .att-panel-periods button.is-active,[data-theme=dark] .att-panel-today,[data-theme=dark] .att-panel-clear{background:#1b1c25b8}[data-theme=dark] .att-panel-head{background:#1b1c25d9}[data-theme=dark] .att-panel-kpis{background:#14151c8c}[data-theme=dark] .att-kpi{background:#23242e9e;border-color:#ffffff14}[data-theme=dark] .att-panel-search input,[data-theme=dark] .att-panel-periods{background:#23242e8c}[data-theme=dark] .att-period-picker-trigger{background:#23242eb8;border-color:#ffffff14;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .att-period-picker-trigger:hover{border-color:color-mix(in srgb,var(--primary) 45%,rgba(255,255,255,.12));background:#282934e0}[data-theme=dark] .att-period-picker.is-open .att-period-picker-trigger{border-color:var(--primary);background:#282934f2;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 22%,transparent)}[data-theme=dark] .att-period-picker-icon{background:color-mix(in srgb,var(--primary) 18%,transparent)}[data-theme=dark] .att-period-picker-menu{background:#1b1c25fa;border-color:#ffffff14;box-shadow:0 16px 36px #00000073,0 2px 8px #00000047,inset 0 1px #ffffff0d}[data-theme=dark] .att-period-picker-option:hover{background:#ffffff0d}[data-theme=dark] .att-period-picker-option.is-active{background:color-mix(in srgb,var(--primary) 18%,transparent)}[data-theme=dark] .att-panel-meta{background:#14151c8c}@media(max-width:900px){.att-kpi--rate{margin-inline-start:0;width:100%;justify-content:center}}@media(max-width:720px){.att-panel-head,.att-panel-head__actions{align-items:stretch}.att-panel-head__actions{width:100%}.att-panel-controls{align-items:stretch;flex-direction:column}.att-panel-controls__left,.att-panel-controls__right{width:100%}.att-panel-controls__right{justify-content:stretch}.att-panel-periods{width:100%}.att-panel-periods button{flex:1;justify-content:center}.att-panel-search,.att-period-picker{flex:1 1 100%;max-width:none}.att-kpi{flex:1 1 calc(50% - 4px);justify-content:center}}.attendance-stats-strip{display:flex;flex-wrap:wrap;gap:8px}.attendance-stat-chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-1, var(--surface-2));color:var(--ink);font:inherit;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.attendance-stat-chip strong{font-size:calc(16px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.attendance-stat-chip span{font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.attendance-stat-chip:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-soft))}.attendance-stat-chip.is-active{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 20%,transparent)}.attendance-stat-chip--success strong{color:var(--success)}.attendance-stat-chip--danger strong{color:var(--danger)}.attendance-stat-chip--warning strong{color:var(--warning)}.attendance-stat-chip--info strong{color:var(--info, #3b82f6)}.attendance-stat-chip--rate{margin-inline-start:auto;cursor:default;background:color-mix(in srgb,var(--primary) 8%,var(--surface-1, var(--surface-2)));border-color:color-mix(in srgb,var(--primary) 28%,transparent)}.attendance-stat-chip--rate strong{color:var(--primary)}.attendance-controls{display:grid;gap:10px}.attendance-period-tabs{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;width:fit-content;max-width:100%;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}.attendance-period-tabs button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--ink-muted);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer;transition:background .14s ease,color .14s ease}.attendance-period-tabs button:hover{color:var(--ink);background:var(--surface-inset)}.attendance-period-tabs button.is-active{color:var(--primary);background:var(--surface-1, #fff);box-shadow:0 1px 3px #0f172a14}.attendance-today-btn{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale));font-weight:600;cursor:pointer}.attendance-today-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.attendance-results-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.attendance-results-meta strong{color:var(--ink);font-variant-numeric:tabular-nums}.attendance-legend{display:inline-flex;flex-wrap:wrap;gap:10px 14px}.attendance-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.attendance-legend-key{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:6px;font-size:calc(10px * var(--font-scale));font-weight:700;background:var(--neutral-100, rgba(0, 0, 0, .04))}.attendance-legend-key--present,.attendance-matrix-mark--present{color:var(--success)}.attendance-legend-key--absent,.attendance-matrix-mark--absent{color:var(--danger)}.attendance-legend-key--late,.attendance-matrix-mark--late{color:var(--warning)}.attendance-legend-key--excused,.attendance-matrix-mark--excused{color:var(--info, #3b82f6)}.attendance-legend-key--early,.attendance-matrix-mark--early{color:color-mix(in srgb,var(--warning) 70%,var(--danger))}.att-table-shell{overflow:auto;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-1, #fff);box-shadow:0 1px 2px #0f172a0a}.att-table-shell--nested{border:0;border-radius:0;box-shadow:none;background:transparent}.att-table{width:100%;border-collapse:collapse;direction:rtl;text-align:start}.att-table thead th{padding:12px 14px;font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted);text-align:start;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface-2) 70%,transparent);white-space:nowrap}.att-table tbody td{padding:12px 14px;font-size:calc(13px * var(--font-scale));vertical-align:middle;text-align:start;border-bottom:1px solid var(--line-soft)}.att-table tbody tr:last-child td{border-bottom:0}.att-table tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}.att-row{box-shadow:inset 3px 0 0 transparent}.att-row--present{box-shadow:inset 3px 0 0 var(--success)}.att-row--absent{box-shadow:inset 3px 0 0 var(--danger)}.att-row--late{box-shadow:inset 3px 0 0 var(--warning)}.att-row--excused{box-shadow:inset 3px 0 0 var(--info, #3b82f6)}.att-row--early{box-shadow:inset 3px 0 color-mix(in srgb,var(--warning) 70%,var(--danger))}.att-row--unmarked{box-shadow:inset 3px 0 0 var(--line-soft)}.att-student{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;direction:rtl;gap:12px;width:100%;min-width:180px;text-align:start}.att-student--compact{min-width:140px}.att-student>div{display:grid;gap:2px;min-width:0;flex:1;text-align:start}.att-student strong,.att-name-only{display:block;font-size:calc(13px * var(--font-scale));font-weight:600;line-height:1.35;text-align:start}.att-student small{display:block;font-size:calc(10px * var(--font-scale));color:var(--ink-muted);text-align:start}.att-student small[dir=ltr]{direction:ltr;unicode-bidi:embed;text-align:end}.att-table--day thead th:first-child,.att-table--day tbody td:first-child,.att-table--week .att-sticky,.att-table--month-summary thead th:nth-child(2),.att-table--month-summary tbody td:nth-child(2),.att-table--month-week .att-month-detail__student-col{text-align:start}.att-student-index,.att-index{flex-shrink:0;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-muted);background:var(--neutral-100, rgba(0, 0, 0, .04))}.att-index{display:inline-grid;margin:0}.att-time-pair{display:inline-flex;align-items:center;gap:8px;font-size:calc(12px * var(--font-scale));font-weight:500;font-variant-numeric:tabular-nums;color:var(--ink)}.att-time-pair i{font-size:calc(9px * var(--font-scale));color:var(--ink-muted)}.att-note{max-width:240px;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));line-height:1.45}.att-note-input{width:100%;min-width:140px;max-width:220px;min-height:34px;padding:0 10px;border:1px solid var(--line-soft);border-radius:8px;background:var(--surface-2, rgba(0, 0, 0, .03));color:var(--ink);font:inherit;font-size:calc(12px * var(--font-scale));text-align:start}.att-note-input:focus{outline:none;border-color:color-mix(in srgb,var(--primary) 45%,var(--line-soft));background:var(--surface-1, #fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.att-edit-hint{margin:0;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--primary) 6%,transparent);color:var(--ink-muted);font-size:calc(12px * var(--font-scale))}.att-mark.is-editable{border:0;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.att-mark.is-editable:hover{transform:translateY(-1px);box-shadow:0 2px 8px #0f172a1f}.att-action{text-align:start;white-space:nowrap}.att-table--week{min-width:680px}.att-table--week thead th,.att-table--week tbody td,.att-table--month-summary thead th:not(:nth-child(2)),.att-table--month-summary tbody td:not(:nth-child(2)),.att-table--month-week thead th:not(:first-child),.att-table--month-week tbody td:not(:first-child){text-align:start}.att-sticky{position:sticky;inset-inline-start:0;z-index:2;text-align:start!important;background:transparent;box-shadow:-4px 0 10px #0f172a0a}.att-table--week thead .att-sticky{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.att-table--week tbody tr .att-sticky{background:var(--surface-1)}.att-table--week tbody tr:hover .att-sticky{background:color-mix(in srgb,var(--primary) 4%,var(--surface-1))}.att-week-head{display:grid;gap:2px;justify-items:start;line-height:1.1}.att-week-head small{font-size:calc(10px * var(--font-scale));font-weight:500;color:var(--ink-muted)}.att-week-head strong{font-size:calc(14px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.att-week-head--sm small{font-size:calc(9px * var(--font-scale))}.att-week-head--sm strong{font-size:calc(12px * var(--font-scale))}.att-mark{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;font-size:calc(12px * var(--font-scale));font-weight:700}.att-mark--empty{color:var(--ink-muted);opacity:.45;background:transparent}.att-mark--present{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.att-mark--absent{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.att-mark--late{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.att-mark--excused{color:var(--info, #3b82f6);background:color-mix(in srgb,var(--info, #3b82f6) 14%,transparent)}.att-mark--early{color:color-mix(in srgb,var(--warning) 70%,var(--danger));background:color-mix(in srgb,var(--warning) 12%,transparent)}.att-rate{display:grid;gap:6px;justify-items:start;min-width:56px}.att-rate-value{font-size:calc(12px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.att-rate-value--good{color:var(--success)}.att-rate-value--warn{color:var(--warning)}.att-rate-value--bad{color:var(--danger)}.att-rate-bar{display:block;width:48px;height:4px;border-radius:999px;overflow:hidden;background:var(--neutral-100, rgba(0, 0, 0, .06))}.att-rate-bar i{display:block;height:100%;border-radius:inherit;background:var(--primary)}.att-rate-value--good+.att-rate-bar i{background:var(--success)}.att-rate-value--warn+.att-rate-bar i{background:var(--warning)}.att-rate-value--bad+.att-rate-bar i{background:var(--danger)}.att-count{display:inline-flex;min-width:28px;justify-content:flex-start;padding:3px 8px;border-radius:999px;font-size:calc(12px * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.att-count--present{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.att-count--absent{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.att-count--late{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent)}.att-count--excused{color:var(--info, #3b82f6);background:color-mix(in srgb,var(--info, #3b82f6) 12%,transparent)}.att-count--early{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent)}.att-month{display:grid;gap:16px}.att-month-card{display:grid;gap:10px}.att-month-card--summary{gap:0}.att-table-shell--month-summary{overflow:hidden}.att-table-shell--month-summary .att-month-card-head{padding:14px 16px;border-bottom:1px solid var(--line-soft);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.att-month-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.att-month-card-title{display:flex;align-items:center;gap:12px;min-width:0}.att-month-card-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--primary);background:var(--primary-soft);flex-shrink:0}.att-month-card-icon i{font-size:calc(14px * var(--font-scale))}.att-month-card-title h3{margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;line-height:1.3;color:var(--ink)}.att-month-card-title p{margin:2px 0 0;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.att-month-card-badge{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;font-size:calc(11px * var(--font-scale));font-weight:600;color:var(--ink-muted);background:var(--neutral-100, rgba(0, 0, 0, .04));white-space:nowrap}.att-month-card-head h3{margin:0;font-size:calc(14px * var(--font-scale));font-weight:700}.att-month-card-head small{color:var(--ink-muted);font-size:calc(11px * var(--font-scale))}.att-table--month-summary .att-col-num{width:44px;min-width:44px;padding-inline:10px!important;text-align:start!important;color:var(--ink-muted);vertical-align:middle}.att-table--month-summary thead .att-col-num{font-size:0}.att-row-num{display:inline-flex;align-items:center;justify-content:flex-start;min-width:22px;font-size:calc(11px * var(--font-scale));font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--ink-muted)}.att-table--month-summary tbody tr:hover .att-row-num{color:var(--ink)}.att-month-weeks{display:grid;gap:12px;grid-template-columns:1fr}[data-theme=dark] .att-table-shell--month-summary .att-month-card-head{background:#23242e8c}[data-theme=dark] .att-month-card-badge{background:#ffffff0f}.att-month-detail{display:grid;gap:0;border:1px solid var(--border-default);border-radius:14px;overflow:hidden;background:var(--surface-1);box-shadow:var(--shadow-soft)}.att-month-detail__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--surface-1) 0%,var(--surface-2) 100%)}.att-month-detail__title{display:flex;align-items:center;gap:12px;min-width:0}.att-month-detail__icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--primary);background:var(--primary-soft);flex-shrink:0;font-size:calc(14px * var(--font-scale))}.att-month-detail__title h3{margin:0;font-size:calc(14px * var(--font-scale));font-weight:700;line-height:1.3}.att-month-detail__title p{margin:2px 0 0;font-size:calc(11px * var(--font-scale));color:var(--ink-muted)}.att-month-detail__hint{display:inline-flex;align-items:center;gap:6px;margin:0;min-height:30px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--primary) 8%,var(--surface-1));color:var(--ink-muted);font-size:calc(11px * var(--font-scale));font-weight:500}.att-month-detail__hint i{color:var(--primary);font-size:calc(10px * var(--font-scale))}.att-month-detail__weeks{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid var(--line-soft);background:var(--surface-sunken)}.att-month-detail__weeks button{display:grid;gap:1px;min-width:120px;padding:8px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-1);color:var(--ink-muted);font:inherit;text-align:start;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.att-month-detail__weeks button strong{font-size:calc(11px * var(--font-scale));font-weight:700;color:var(--ink)}.att-month-detail__weeks button span{font-size:calc(10px * var(--font-scale));color:var(--ink-muted)}.att-month-detail__weeks button:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line-soft))}.att-month-detail__weeks button.is-active{border-color:var(--primary-border);background:var(--primary-soft);box-shadow:var(--shadow-soft)}.att-month-detail__weeks button.is-active strong{color:var(--primary)}.att-month-detail__legend{padding:8px 16px;border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.att-month-detail__legend .attendance-legend{margin:0}.att-month-detail__table-wrap{overflow:auto}.att-month-detail__student-col{position:sticky;inset-inline-start:0;z-index:1;min-width:160px;text-align:start}.att-table--month-week thead th{background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.att-table--month-week tbody td{background:var(--surface-1)}.att-table--month-week tbody tr:hover td{background:color-mix(in srgb,var(--primary) 4%,var(--surface-1))}.att-table--month-week tbody tr:hover{background:transparent}.att-month-detail__dot-cell{text-align:start;vertical-align:middle;padding:10px 8px!important}.att-table--month-week thead th:not(.att-month-detail__student-col){text-align:start;min-width:52px}.attendance-month-dot{display:inline-block;width:12px;height:12px;border-radius:999px;vertical-align:middle;cursor:help}button.attendance-month-dot{padding:0;border:0;cursor:pointer}.attendance-month-dot.is-editable{width:14px;height:14px;border-radius:999px;transition:transform .12s ease,box-shadow .12s ease}.attendance-month-dot.is-editable:hover{transform:scale(1.2);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.attendance-month-dot.is-empty{background:var(--line-soft);opacity:.5}.attendance-month-dot--present{background:var(--success)}.attendance-month-dot--absent{background:var(--danger)}.attendance-month-dot--late{background:var(--warning)}.attendance-month-dot--excused{background:var(--info, #3b82f6)}.attendance-month-dot--early{background:color-mix(in srgb,var(--warning) 70%,var(--danger))}[data-theme=dark] .att-month-detail{background:#1b1c25b8}[data-theme=dark] .att-month-detail__head{background:#1b1c25d9}[data-theme=dark] .att-month-detail__weeks{background:#14151c8c}[data-theme=dark] .att-month-detail__weeks button{background:#23242e9e;border-color:#ffffff14}[data-theme=dark] .att-month-detail__legend{background:#14151c73}[data-theme=dark] .att-table--month-week thead th{background:#23242e8c}[data-theme=dark] .att-table--month-week tbody td{background:#1b1c25b8}[data-theme=dark] .att-table--month-week tbody tr:hover td{background:color-mix(in srgb,var(--primary) 6%,rgba(27,28,37,.72))}[data-theme=dark] .att-table--month-week tbody tr:hover{background:transparent}@media(max-width:720px){.att-month-detail__weeks button{flex:1 1 calc(50% - 3px);min-width:0}.att-month-detail__hint{width:100%}}[data-theme=dark] .att-table-shell,[data-theme=dark] .att-month-detail,[data-theme=dark] .attendance-period-tabs,[data-theme=dark] .attendance-stat-chip{background:#1b1c25b8;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .att-sticky{background:transparent}[data-theme=dark] .att-table--week thead .att-sticky{background:#23242e8c}[data-theme=dark] .att-table--week tbody tr .att-sticky{background:#1b1c25b8}[data-theme=dark] .att-table--week tbody tr:hover .att-sticky{background:color-mix(in srgb,var(--primary) 6%,rgba(27,28,37,.72))}[data-theme=dark] .att-table thead th{background:#23242e8c}[data-theme=dark] .attendance-period-tabs button.is-active{background:#23242ef2}[data-theme=dark] .attendance-today-btn{background:#23242e9e}@media(max-width:900px){.attendance-stat-chip--rate{margin-inline-start:0}}@media(max-width:720px){.att-panel-head__actions,.attendance-period-tabs{width:100%}.attendance-period-tabs button{flex:1;justify-content:center}.att-table--day{min-width:560px}}.ops-workspace .schedule-stage-card,.ops-workspace .gap-toggle-row,.ops-workspace .gap-rule-card,.ops-workspace .gap-branding-grid label,.ops-workspace .gap-treasury-summary article,.ops-workspace .memorization-table-wrap,.ops-workspace .memorization-section-bar,.ops-workspace .memorization-matrix-wrap,.ops-workspace .att-panel--clean,.ops-workspace .att-month-detail,.ops-workspace .attendance-matrix-wrap,.ops-workspace .portal-panel-block,.ops-workspace .schedule-browser-intro{border:none;background:var(--surface-sunken);box-shadow:none}.ops-workspace .schedule-stage-card:hover,.ops-workspace .gap-toggle-row:hover,.ops-workspace .gap-rule-card:hover{background:var(--surface-1);box-shadow:var(--shadow-soft)}.ops-workspace .gap-section{gap:12px}.ops-workspace .schedule-stage-grid,.ops-workspace .schedule-browser-intro{margin-inline:14px}.ops-workspace .schedule-stage-grid{margin-bottom:14px}.ops-workspace .schedule-browser>.schedule-stage-grid{padding-top:16px}[data-theme=dark] .schedule-browser-intro{color:var(--ink-muted);background:#121620b8;box-shadow:inset 0 1px #7ec5ff0f}[data-theme=dark] .schedule-stage-card{background:#121620c7;border-color:#7ec5ff1a;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .schedule-stage-card.menu-open{border-color:#0796ff52;box-shadow:0 12px 28px -16px #0796ff47,inset 0 1px #ffffff0d}[data-theme=dark] .schedule-stage-menu-btn{background:#1b1c25e0;border-color:#7ec5ff24}[data-theme=dark] .schedule-stage-menu-btn:hover,[data-theme=dark] .schedule-stage-menu-btn.active{color:#7ec5ff;border-color:#0796ff47;background:#0796ff1f}[data-theme=dark] .schedule-menu-grade-icon{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .schedule-nested-menu,[data-theme=dark] .schedule-menu-sections{background:#0e1018fa;border-color:#7ec5ff24;box-shadow:0 18px 40px #00000073,0 0 0 1px #0796ff14}[data-theme=dark] .schedule-menu-grade.open .schedule-menu-grade-btn,[data-theme=dark] .schedule-menu-grade:hover .schedule-menu-grade-btn{background:#0796ff1a}[data-theme=dark] .schedule-section-summary{background:#0796ff14;border-color:#7ec5ff29}[data-theme=dark] .schedule-section-edit-hint{color:var(--ink-muted);background:#0796ff1a;border-color:#7ec5ff38}[data-theme=dark] .schedule-section-grid-wrap{background:#121620d1;border-color:#7ec5ff1f}[data-theme=dark] .schedule-section-grid thead th,[data-theme=dark] .schedule-section-grid .schedule-section-period-col{background:#1b1c25eb;border-color:#7ec5ff1a}[data-theme=dark] .schedule-section-grid tbody th.schedule-section-period-col{background:#121620f2}[data-theme=dark] .schedule-section-grid tbody td.is-empty{background:#0e10188c}[data-theme=dark] .schedule-section-add:hover{background:#0796ff1a;border-color:#0796ff3d}[data-theme=dark] .schedule-section-palette{background:#121620e0;border-color:#7ec5ff1f}[data-theme=dark] .schedule-section-grid tbody td.is-drop-target{background:#0796ff1f;box-shadow:inset 0 0 0 1px #0796ff47}[data-theme=dark] .class-schedule-drawer{background:#0e1018fa}[data-theme=dark] .class-schedule-topbar,[data-theme=dark] .class-schedule-submeta{background:#121620eb;border-color:#7ec5ff1a}[data-theme=dark] .class-schedule-topbar-stats span,[data-theme=dark] .class-schedule-student-item,[data-theme=dark] .class-schedule-student-search,[data-theme=dark] .class-schedule-empty{background:#1b1c25b8;border-color:#7ec5ff1a}[data-theme=dark] .att-panel--clean{background:#121620c7;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .att-panel-head{background:linear-gradient(180deg,#121620f2,#1b1c25e0);border-bottom-color:#7ec5ff1a}[data-theme=dark] .att-panel-kpis{background:#0e1018b8;border-bottom-color:#7ec5ff14}[data-theme=dark] .att-kpi{background:#1b1c25e0;border-color:#7ec5ff1a}[data-theme=dark] .att-kpi:hover{border-color:#0796ff47;background:#1b1c25f2}[data-theme=dark] .att-kpi.is-active{border-color:#0796ff59;background:#0796ff1f;box-shadow:inset 0 0 0 1px #0796ff29}[data-theme=dark] .att-kpi--rate{border-color:#0796ff38;background:#0796ff14}[data-theme=dark] .att-panel-controls{border-bottom-color:#7ec5ff14}[data-theme=dark] .att-panel-periods{background:#0e1018b8}[data-theme=dark] .att-panel-periods button.is-active{color:#7ec5ff;background:#1b1c25f2;box-shadow:inset 0 1px #ffffff0d}[data-theme=dark] .att-panel-search{background:#1b1c25e0;border-color:#7ec5ff1f}[data-theme=dark] .att-period-picker-trigger,[data-theme=dark] .att-panel-today,[data-theme=dark] .att-panel-clear{background:#1b1c25e0;border-color:#7ec5ff1f;color:var(--ink)}[data-theme=dark] .att-period-picker.is-open .att-period-picker-trigger{border-color:#0796ff73;box-shadow:0 0 0 3px #0796ff29}[data-theme=dark] .att-period-picker-menu{background:#0e1018fa;border-color:#7ec5ff24;box-shadow:0 16px 40px #00000073,0 0 0 1px #0796ff14}[data-theme=dark] .att-period-picker-option:hover{background:#0796ff1a}[data-theme=dark] .att-period-picker-option.is-active{background:#0796ff24;color:#7ec5ff}[data-theme=dark] .attendance-matrix-wrap{background:#121620d1;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .attendance-range-date-field input{background:#1b1c25e0;border-color:#7ec5ff1f}[data-theme=dark] .att-table-shell,[data-theme=dark] .att-month-detail{background:#121620c7;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .att-month-detail__head{background:linear-gradient(180deg,#121620f2,#1b1c25e0);border-bottom-color:#7ec5ff1a}[data-theme=dark] .att-month-detail__icon{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .attendance-period-tabs,[data-theme=dark] .attendance-stat-chip{background:#1b1c25e0;border-color:#7ec5ff1a}[data-theme=dark] .attendance-period-tabs button.is-active{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .attendance-today-btn{background:#1b1c25e0;border-color:#7ec5ff1f}[data-theme=dark] .att-table tbody tr:hover{background:#0796ff0f}[data-theme=dark] .gap-treasury-summary article{background:#121620c7;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .gap-treasury-summary article:hover{background:#1b1c25e0;border-color:#0796ff38}[data-theme=dark] .portal-shell-head{background:#121620eb;border-bottom-color:#7ec5ff1a}[data-theme=dark] .portal-tabs{background:#0796ff14;border-color:#7ec5ff1f}[data-theme=dark] .portal-tabs button.active{color:#7ec5ff;background:#1b1c25f2;box-shadow:0 4px 14px -8px #0796ff59}[data-theme=dark] .portal-tabs button b{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .portal-panel-block,[data-theme=dark] .portal-enrollment-card{background:#121620c7;border-color:#7ec5ff1f;box-shadow:inset 0 1px #ffffff0a}[data-theme=dark] .portal-url-bar{background:#1b1c25e0;border-color:#7ec5ff1f}[data-theme=dark] .portal-url-icon{color:#7ec5ff;background:#0796ff24}[data-theme=dark] .portal-url-btn{color:#7ec5ff;background:#0796ff1f;border-color:#0796ff3d}[data-theme=dark] .portal-section-card,[data-theme=dark] .portal-feature-card{background:#1b1c25e0;border-color:#7ec5ff1a}[data-theme=dark] .portal-preview,[data-theme=dark] .portal-parent-card{background:radial-gradient(circle at 20% 0%,rgba(7,150,255,.12),transparent 55%),#121620e0;border-color:#7ec5ff1f}[data-theme=dark] .portal-preview-body,[data-theme=dark] .portal-parent-stats li{background:#1b1c25eb;border-color:#7ec5ff1a}[data-theme=dark] .portal-enrollment-action{background:#1b1c25e0;border-color:#7ec5ff1f}[data-theme=dark] .portal-enrollment-action:hover{color:#7ec5ff;border-color:#0796ff47}[data-theme=dark] .portal-switch-track:after{background:#1b1c25f2}[data-theme=dark] .ops-workspace .schedule-stage-card,[data-theme=dark] .ops-workspace .gap-treasury-summary article,[data-theme=dark] .ops-workspace .memorization-table-wrap,[data-theme=dark] .ops-workspace .memorization-section-bar,[data-theme=dark] .ops-workspace .memorization-matrix-wrap,[data-theme=dark] .ops-workspace .att-panel--clean,[data-theme=dark] .ops-workspace .att-month-detail,[data-theme=dark] .ops-workspace .attendance-matrix-wrap,[data-theme=dark] .ops-workspace .portal-panel-block,[data-theme=dark] .ops-workspace .schedule-browser-intro{background:#121620b8;border:0;box-shadow:inset 0 1px #7ec5ff0f}[data-theme=dark] .ops-workspace .memorization-table-wrap .ops-table th,[data-theme=dark] .ops-workspace .memorization-matrix-wrap .ops-table th{background:#0d0e14ad;border-bottom-color:#7ec5ff1a}[data-theme=dark] .ops-workspace .memorization-table-wrap .ops-table td,[data-theme=dark] .ops-workspace .memorization-matrix-wrap .ops-table td{background:transparent;border-bottom-color:#7ec5ff14}[data-theme=dark] .ops-workspace .memorization-table-wrap .ops-table tbody tr:hover td,[data-theme=dark] .ops-workspace .memorization-matrix-wrap .ops-table tbody tr:hover td{background:#0796ff14}[data-theme=dark] .ops-workspace .schedule-stage-card:hover,[data-theme=dark] .ops-workspace .gap-treasury-summary article:hover{background:#1b1c25e0;box-shadow:inset 0 1px #7ec5ff1a,0 4px 16px #0796ff14}.fin-page{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.2rem 1.25rem}.fin-summary-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .55rem;padding:.42rem .55rem;border-radius:14px;border:1px solid var(--border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 40%,transparent),transparent 70%),var(--surface-1);box-shadow:0 1px color-mix(in srgb,var(--border-subtle) 65%,transparent)}.fin-summary-bar__cash{flex:0 0 auto;min-width:0;max-width:100%}.fin-summary-bar__cash .fin-balance-card{margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;gap:0}.fin-summary-bar__cash .fin-balance-card:before{display:none}.fin-summary-bar__cash .fin-balance-list{display:flex;flex-wrap:wrap;align-items:center;gap:.32rem;grid-template-columns:unset}.fin-summary-bar__cash .fin-balance-item{display:inline-flex;align-items:center;gap:.32rem;padding:.22rem .42rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-2);transform:none;width:auto;max-width:100%;grid-template:unset}.fin-summary-bar__cash .fin-balance-item:hover{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-subtle));transform:none}.fin-summary-bar__cash .fin-balance-item-icon{width:18px;height:18px;font-size:calc(.6rem * var(--font-scale));border-radius:50%;border:none;background:color-mix(in srgb,currentColor 14%,transparent)}.fin-summary-bar__cash .fin-balance-item-text{flex-direction:row;align-items:center;gap:.28rem;min-width:0}.fin-summary-bar__cash .fin-balance-item-text strong{font-size:calc(.68rem * var(--font-scale));font-weight:600;white-space:nowrap}.fin-summary-bar__cash .fin-balance-item-text small,.fin-summary-bar__cash .fin-balance-detail{display:none}.fin-summary-bar__cash .fin-balance-item-amount{font-size:calc(.72rem * var(--font-scale));font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.fin-summary-bar__metrics{display:flex;flex-wrap:wrap;align-items:center;gap:.32rem;flex:1 1 12rem;min-width:0}.fin-summary-bar:has(.fin-summary-bar__cash) .fin-summary-bar__metrics{padding-inline-start:.42rem;margin-inline-start:.1rem;border-inline-start:1px solid color-mix(in srgb,var(--border-subtle) 80%,transparent)}.fin-summary-bar__cash .fin-balance-item.is-settled{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.fin-summary-bar__cash .fin-balance-item.is-pending{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.fin-summary-bar__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.32rem;flex:0 0 auto;margin-inline-start:auto}.fin-summary-bar__actions .fin-btn{min-height:1.75rem;padding:.28rem .62rem;font-size:calc(.74rem * var(--font-scale));font-weight:600;border-radius:8px;line-height:1.2;white-space:nowrap}.fin-summary-bar__actions .fin-btn.fin-btn-primary,.fin-summary-bar__actions .fin-btn.fin-btn-danger,.fin-summary-bar__actions .fin-btn.fin-btn-warning,.fin-summary-bar__actions .fin-btn.fin-btn-success{min-height:2.2rem;min-width:10.25rem;padding:.5rem 1.15rem;font-size:calc(.82rem * var(--font-scale));font-weight:600;border-radius:8px;justify-content:center;border-color:transparent}.fin-summary-bar__actions .fin-btn i{font-size:.85em}.fin-summary-bar__actions .fin-btn.fin-btn-ghost{background:var(--surface-2);border-color:var(--border-subtle)}.fin-stat{display:inline-flex;align-items:flex-start;gap:.38rem;padding:.28rem .48rem .28rem .38rem;border-radius:11px;border:1px solid var(--border-subtle);background:var(--surface-2);width:fit-content;max-width:10.75rem;min-width:0;flex:0 0 auto;transition:border-color .15s ease,background .15s ease}.fin-stat:hover{border-color:color-mix(in srgb,var(--stat-accent, var(--primary)) 30%,var(--border-subtle));background:color-mix(in srgb,var(--stat-accent, var(--primary)) 6%,var(--surface-2))}.fin-stat__icon{flex-shrink:0;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:calc(.68rem * var(--font-scale));background:color-mix(in srgb,var(--stat-accent, var(--primary)) 14%,transparent);color:var(--stat-accent, var(--primary))}.fin-stat__body{display:flex;flex-direction:column;gap:.02rem;min-width:0}.fin-stat__label{font-size:calc(.64rem * var(--font-scale));line-height:1.2;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fin-stat__value{font-size:calc(.86rem * var(--font-scale));font-weight:700;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-stat__detail{font-size:calc(.6rem * var(--font-scale));line-height:1.15;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-stat--primary{--stat-accent: var(--primary)}.fin-stat--success{--stat-accent: var(--success)}.fin-stat--warning{--stat-accent: var(--warning)}.fin-stat--danger{--stat-accent: var(--danger)}.fin-stat--info{--stat-accent: var(--info)}[data-theme=dark] .fin-summary-bar{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 25%,transparent),transparent 65%),var(--surface-1);border-color:var(--border-subtle);box-shadow:none}[data-theme=dark] .fin-stat,[data-theme=dark] .fin-summary-bar__cash .fin-balance-item{background:color-mix(in srgb,var(--surface-2) 55%,transparent)}[data-theme=dark] .fin-summary-bar__actions .fin-btn.fin-btn-ghost{background:color-mix(in srgb,var(--surface-2) 45%,transparent)}.fin-balance-action{margin-inline-start:auto;display:flex;align-items:center}.fin-balance-action .fin-btn{white-space:nowrap}.fin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.65rem}.fin-kpi-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:12px;padding:.7rem .85rem;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label" "icon value" "icon detail";align-content:center;column-gap:.7rem;row-gap:.1rem;position:relative;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease;color:var(--ink)}.fin-kpi-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}.fin-kpi-card .fin-kpi-icon{grid-area:icon;align-self:center;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:calc(.95rem * var(--font-scale));background:var(--surface-2);color:var(--text-secondary)}.fin-kpi-card .fin-kpi-label{grid-area:label;font-size:calc(.72rem * var(--font-scale));color:var(--text-secondary);line-height:1.3}.fin-kpi-card .fin-kpi-value{grid-area:value;font-size:calc(1.15rem * var(--font-scale));font-weight:700;color:var(--ink);line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-kpi-card .fin-kpi-detail{grid-area:detail;font-size:calc(.7rem * var(--font-scale));color:var(--text-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-kpi-card.tone-success .fin-kpi-icon{background:var(--success-soft);color:var(--success)}.fin-kpi-card.tone-warning .fin-kpi-icon{background:var(--warning-soft);color:var(--warning)}.fin-kpi-card.tone-danger .fin-kpi-icon{background:var(--danger-soft);color:var(--danger)}.fin-kpi-card.tone-info .fin-kpi-icon{background:var(--info-soft);color:var(--info)}.fin-kpi-card.tone-primary .fin-kpi-icon{background:var(--primary-soft);color:var(--primary)}.fin-toolbox{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:14px;padding:.75rem 1rem}.fin-toolbox .fin-toolbox-spacer{flex:1}.fin-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .9rem;border-radius:10px;border:1px solid transparent;background:var(--surface-2);color:var(--ink);font-size:calc(.88rem * var(--font-scale));cursor:pointer;transition:all .15s ease}.fin-btn:hover{background:var(--border-subtle)}.fin-btn:disabled{opacity:.5;cursor:not-allowed}.fin-btn.fin-btn-primary{background:var(--primary);color:#fff}.fin-btn.fin-btn-primary:hover{background:var(--primary-hover)}.fin-btn.fin-btn-success{background:var(--success);color:#fff}.fin-btn.fin-btn-success:hover{filter:brightness(.95)}.fin-btn.fin-btn-danger{background:var(--danger);color:#fff}.fin-btn.fin-btn-danger:hover{filter:brightness(.95)}.fin-btn.fin-btn-warning{background:var(--warning);color:#fff}.fin-btn.fin-btn-warning:hover{filter:brightness(.95)}.fin-btn.fin-btn-ghost{background:transparent;border-color:var(--border-default)}.fin-btn.fin-btn-ghost:hover{background:var(--surface-2)}.fin-btn-sm{padding:.35rem .65rem;font-size:calc(.8rem * var(--font-scale));border-radius:8px}.fin-btn-xs{min-height:1.72rem;padding:.26rem .52rem;font-size:calc(.72rem * var(--font-scale));border-radius:7px;gap:.28rem}.fin-btn-xs i{font-size:.88em}.fin-btn-icon{padding:.4rem .55rem}.fin-workspace{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;color:var(--ink)}.fin-workspace-header{display:flex;justify-content:space-between;align-items:center;padding:.9rem 1.1rem;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:.6rem;color:var(--ink)}.fin-workspace-title{font-weight:700;font-size:calc(1.05rem * var(--font-scale))}.fin-workspace-meta{color:var(--text-secondary);font-size:calc(.85rem * var(--font-scale))}.fin-table-wrap{width:100%;min-height:0;overflow:auto}.fin-table{width:100%;border-collapse:separate;border-spacing:0}.fin-row-clickable{cursor:pointer;transition:background .15s ease}.fin-row-clickable:hover>td{background:var(--primary-soft, rgba(7, 150, 255, .06))}.fin-row-clickable:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.fin-desc-cell{width:38%}.fin-desc-text{cursor:pointer;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border-radius:6px;transition:background .15s ease}.fin-desc-text.is-expanded{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.fin-desc-text:hover{background:var(--primary-soft, rgba(7, 150, 255, .06))}.fin-desc-text:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.fin-table th,.fin-table td{padding:.7rem .9rem;text-align:start;border-bottom:1px solid var(--border-subtle);font-size:calc(.88rem * var(--font-scale));vertical-align:middle;color:var(--ink)}.fin-table th{background:var(--surface-2);font-weight:600;color:var(--text-secondary);font-size:calc(.78rem * var(--font-scale));text-transform:uppercase;letter-spacing:.02em}.fin-table tbody tr:hover{background:var(--surface-2)}.fin-table .fin-row-title{display:flex;align-items:center;gap:.6rem}.fin-table .fin-row-icon{width:32px;height:32px;border-radius:8px;background:var(--surface-2);display:grid;place-items:center;color:var(--text-secondary)}.fin-table .fin-notes-cell{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-table .fin-amount{font-weight:700}.fin-table .fin-amount.positive{color:var(--success)}.fin-table .fin-amount.negative{color:var(--danger)}.fin-table .fin-amount.muted{color:var(--ink-muted)}.fin-table .fin-row-actions{display:flex;gap:.3rem}.fin-table .fin-row-link{background:none;border:none;cursor:pointer;padding:0;color:inherit;text-align:start;font:inherit}#receipts .receipts-table-wrap{overflow-x:hidden;overflow-y:auto}#receipts .receipts-table{width:100%;min-width:0;table-layout:fixed}#receipts .receipts-table .receipts-col-student{width:16%}#receipts .receipts-table .receipts-col-grade{width:7%}#receipts .receipts-table .receipts-col-number{width:6%}#receipts .receipts-table .receipts-col-date{width:8%}#receipts .receipts-table .receipts-col-money{width:6.2%}#receipts .receipts-table .receipts-col-notes{width:9%}#receipts .receipts-table .receipts-col-status{width:6%}#receipts .receipts-table .receipts-col-actions{width:4.5%}#receipts .receipts-table th,#receipts .receipts-table td{min-width:0;padding:6px 4px;font-size:calc(.68rem * var(--font-scale));line-height:1.35;overflow-wrap:anywhere;white-space:normal;font-variant-numeric:tabular-nums}#receipts .receipts-table thead th{padding:7px 3px;font-size:calc(.65rem * var(--font-scale));line-height:1.3;text-align:center;white-space:normal}#receipts .receipts-table tbody td:not(.receipt-student-cell):not(.fin-notes-cell){text-align:center}#receipts .receipts-table .receipt-student-cell{padding-block:8px;padding-inline:12px 8px;text-align:start;overflow-wrap:normal;word-break:normal}#receipts .receipts-table .receipt-student-link{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-width:0;padding:0;border:0;background:none;cursor:pointer;text-align:start;font:inherit;color:inherit;border-radius:8px}#receipts .receipts-table .receipt-student-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:100%;color:var(--ink);font-size:calc(.8rem * var(--font-scale));font-weight:600;line-height:1.35;overflow-wrap:break-word;word-break:normal}#receipts .receipts-table .receipt-student-meta{color:var(--ink-muted);font-size:calc(.62rem * var(--font-scale));font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#receipts .receipts-table .receipt-student-link:hover .receipt-student-name,#receipts .receipts-table .receipt-student-link:focus-visible .receipt-student-name{color:var(--primary)}#receipts .receipts-table .receipt-student-link:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 50%,transparent);outline-offset:3px}#receipts .receipts-table tbody td:not(:last-child){border-inline-end:1px solid color-mix(in srgb,var(--border-subtle) 76%,transparent)}#receipts .receipts-table .fin-row-icon{display:none}#receipts .receipts-table .fin-row-link,#receipts .receipts-table .fin-row-title,#receipts .receipts-table .fin-row-title>div{width:100%;min-width:0}#receipts .receipts-table .fin-row-title strong{display:block;font-size:calc(.7rem * var(--font-scale));line-height:1.35;white-space:normal}#receipts .receipts-table .fin-text-xs{margin-top:2px;font-size:calc(.58rem * var(--font-scale));overflow-wrap:anywhere}#receipts .receipts-table .fin-notes-cell{max-width:none;overflow:visible;text-overflow:clip;white-space:normal}#receipts .receipts-table .receipt-extra-fields{display:grid;gap:2px;margin-top:3px}#receipts .receipts-table .receipt-extra-field{display:block;font-size:calc(.56rem * var(--font-scale));line-height:1.3}#receipts .receipts-table .receipt-extra-field b{color:var(--ink-muted)}#receipts .receipts-table .fin-pill{max-width:100%;padding:3px 5px;font-size:calc(.58rem * var(--font-scale));white-space:normal}#receipts .receipts-table .receipt-actions,#receipts .receipts-table .receipt-actions-cell .fin-row-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}#receipts .receipts-table .receipt-actions .receipt-action-button,#receipts .receipts-table .receipt-actions-cell .receipt-action-button{width:28px;min-width:28px;height:28px;min-height:28px;padding:0;display:inline-grid;place-items:center;border:1px solid transparent;border-radius:9px;box-shadow:0 2px 6px color-mix(in srgb,var(--ink) 7%,transparent);transition:color .15s ease,border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}#receipts .receipts-table .receipt-action-statement{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 22%,var(--border-subtle));background:color-mix(in srgb,var(--primary) 10%,var(--surface-1))}#receipts .receipts-table .receipt-action-edit{color:var(--warning, #d99000);border-color:color-mix(in srgb,var(--warning, #d99000) 24%,var(--border-subtle));background:color-mix(in srgb,var(--warning, #d99000) 10%,var(--surface-1))}#receipts .receipts-table .receipt-action-button:hover,#receipts .receipts-table .receipt-action-button:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 5px 11px color-mix(in srgb,var(--ink) 12%,transparent)}#receipts .receipts-table .receipt-action-statement:hover,#receipts .receipts-table .receipt-action-statement:focus-visible{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 18%,var(--surface-1))}#receipts .receipts-table .receipt-action-edit:hover,#receipts .receipts-table .receipt-action-edit:focus-visible{border-color:var(--warning, #d99000);background:color-mix(in srgb,var(--warning, #d99000) 18%,var(--surface-1))}#receipts .receipts-table .receipts-load-more-row td{padding:0;border-inline-end:0}#receipts .receipts-load-more{min-height:46px;padding:7px 12px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink-muted);background:color-mix(in srgb,var(--primary) 4%,var(--surface-1));font-size:calc(.68rem * var(--font-scale))}#receipts .receipts-load-more span{color:var(--ink);font-weight:700}#receipts .receipts-load-more small{font-size:inherit}@media(max-width:1100px){#receipts .receipts-table th,#receipts .receipts-table td{padding-inline:2px;font-size:calc(.62rem * var(--font-scale))}#receipts .receipts-table thead th{font-size:calc(.59rem * var(--font-scale))}}.fin-tabs{display:flex;gap:.4rem;border-bottom:1px solid var(--border-subtle);padding:0 .5rem;overflow-x:auto;background:var(--surface-1)}.fin-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.7rem 1rem;cursor:pointer;background:none;border:none;color:var(--text-secondary);font-size:calc(.9rem * var(--font-scale));font-weight:500;border-bottom:2px solid transparent;transition:all .15s ease;white-space:nowrap}.fin-tab:hover{color:var(--ink)}.fin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.fin-tab .fin-tab-count{background:var(--surface-2);color:var(--text-secondary);border-radius:10px;padding:.05rem .45rem;font-size:calc(.75rem * var(--font-scale))}.fin-tab.active .fin-tab-count{background:var(--primary-soft);color:var(--primary)}.fin-workspace-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .65rem;padding:.5rem .85rem;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 55%,transparent),var(--surface-1))}.fin-workspace-toolbar__meta{display:inline-flex;align-items:center;gap:.45rem;min-width:0;color:var(--ink)}.fin-workspace-toolbar__meta>i{color:var(--primary);font-size:calc(.82rem * var(--font-scale))}.fin-workspace-toolbar__title{font-size:calc(.88rem * var(--font-scale));font-weight:700}.fin-workspace-toolbar__count{display:inline-flex;align-items:center;justify-content:center;min-width:1.35rem;padding:.08rem .4rem;border-radius:999px;font-size:calc(.68rem * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;background:var(--primary-soft);color:var(--primary)}.fin-workspace-toolbar__actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;padding:.22rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-1)}.fin-workspace-toolbar__btn{min-height:2rem;padding:.38rem .8rem;font-size:calc(.78rem * var(--font-scale));font-weight:600;border-radius:8px;border-color:transparent;background:transparent;white-space:nowrap}.fin-workspace-toolbar__btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-subtle)}.fin-workspace-toolbar__btn--accent{color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,transparent)}.fin-workspace-toolbar__btn--accent:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 14%,var(--surface-2));border-color:color-mix(in srgb,var(--primary) 22%,var(--border-subtle))}.fin-workspace-toolbar__btn i{font-size:.9em}.fin-workspace-toolbar__btn--sm{min-height:1.72rem;padding:.26rem .52rem;font-size:calc(.72rem * var(--font-scale));border-radius:7px}.fin-workspace-toolbar__btn--sm i{font-size:.85em}[data-theme=dark] .fin-workspace-toolbar{background:color-mix(in srgb,var(--surface-2) 35%,var(--surface-1))}[data-theme=dark] .fin-workspace-toolbar__actions{background:color-mix(in srgb,var(--surface-2) 50%,transparent)}.fin-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:999px;font-size:calc(.75rem * var(--font-scale));font-weight:600;background:var(--surface-2);color:var(--text-secondary)}.fin-badge.success{background:var(--success-soft);color:var(--success)}.fin-badge.warning{background:var(--warning-soft);color:var(--warning)}.fin-badge.danger{background:var(--danger-soft);color:var(--danger)}.fin-badge.info{background:var(--info-soft);color:var(--info)}.fin-badge.primary{background:var(--primary-soft);color:var(--primary)}.fin-badge.muted{background:var(--surface-2);color:var(--text-muted)}.fin-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .7rem;border-radius:999px;font-size:calc(.75rem * var(--font-scale));font-weight:600}.fin-pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.fin-pill.open{background:var(--info-soft);color:var(--info)}.fin-pill.settled{background:var(--success-soft);color:var(--success)}.fin-pill.partial{background:var(--warning-soft);color:var(--warning)}.fin-pill.overdue{background:var(--danger-soft);color:var(--danger)}.fin-pill.exempt,.fin-pill.cancelled{background:var(--surface-2);color:var(--text-muted)}.fin-pill.is-subscribed{background:var(--success-soft);color:var(--success)}.fin-pill.not-subscribed{background:var(--surface-2);color:var(--text-muted)}.fin-statement{display:flex;flex-direction:column;gap:1rem}.fin-statement-head{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;padding:.75rem 1rem;background:var(--surface-2);border-radius:12px;color:var(--ink)}.fin-statement-head .fin-statement-name{font-weight:700;font-size:calc(1.05rem * var(--font-scale))}.fin-statement-head .fin-statement-meta{color:var(--text-secondary);font-size:calc(.85rem * var(--font-scale))}.fin-timeline{display:flex;flex-direction:column;gap:.5rem}.fin-timeline-row{display:grid;grid-template-columns:100px 1fr auto auto;gap:.6rem;align-items:center;padding:.6rem .75rem;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);color:var(--ink)}.fin-timeline-row.is-due{border-color:var(--danger);background:linear-gradient(0deg,var(--danger-soft) 0%,transparent 100%)}.fin-timeline-row .fin-timeline-due{font-size:calc(.85rem * var(--font-scale));color:var(--text-secondary)}.fin-timeline-row .fin-timeline-label{font-weight:500}.fin-timeline-row .fin-timeline-amount{font-weight:700}.fin-timeline-row .fin-timeline-action{display:flex;gap:.3rem}.fin-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;color:var(--text-secondary);gap:.6rem}.fin-empty .fin-empty-icon{width:56px;height:56px;border-radius:16px;background:var(--surface-2);display:grid;place-items:center;font-size:calc(1.5rem * var(--font-scale));color:var(--text-muted)}.fin-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-bottom:1px solid var(--border-subtle);background:var(--surface-2)}.fin-filters .fin-filter-action{flex-shrink:0}.fin-filters .fin-filter-action:first-of-type{margin-inline-start:auto}.fin-date-range{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.4rem .5rem;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .16s ease,box-shadow .16s ease}.fin-date-range:focus-within{border-color:var(--primary-border, rgba(7, 150, 255, .4));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.fin-date-field{position:relative;display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .65rem;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:9px;color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:500;transition:border-color .14s ease,background .14s ease;cursor:pointer}.fin-date-field:hover{border-color:var(--primary-border, rgba(7, 150, 255, .4));background:color-mix(in srgb,var(--primary) 4%,var(--surface-2))}.fin-date-field:focus-within{border-color:var(--primary);background:var(--surface-1)}.fin-date-field i{color:var(--primary);font-size:calc(12px * var(--font-scale));flex-shrink:0}.fin-date-field>span{color:var(--ink-muted);font-weight:600;letter-spacing:.01em}.fin-date-field input[type=date]{border:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;font-size:calc(12px * var(--font-scale));padding:0;outline:none;min-width:110px;color-scheme:light dark;direction:ltr}.fin-date-field input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.5;filter:invert(.4)}.fin-date-sep{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-muted);font-size:calc(11px * var(--font-scale));padding:0 .15rem}.fin-date-clear{margin-inline-start:.35rem;white-space:nowrap}.fin-date-clear i{font-size:calc(11px * var(--font-scale))}@media(max-width:640px){.fin-date-range{width:100%;justify-content:space-between}.fin-date-field{flex:1 1 auto}.fin-date-field input[type=date]{width:100%;min-width:0}}.fin-filters .fin-search-input{flex:1;min-width:200px;padding-block:.55rem;padding-inline-end:.8rem;padding-inline-start:.8rem;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-1);font-size:calc(.92rem * var(--font-scale));color:var(--ink)}.fin-select{padding:.45rem .7rem;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-1);font-size:calc(.88rem * var(--font-scale));color:var(--ink);min-width:140px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.fin-select:hover{border-color:var(--primary)}.fin-select:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.fin-select-wrap{position:relative;display:inline-flex;align-items:center;min-width:168px}.fin-select-wrap>i:first-child{position:absolute;inset-inline-start:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:calc(.8rem * var(--font-scale));pointer-events:none}.fin-select-wrap .fin-select-caret{position:absolute;inset-inline-end:.8rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:calc(.62rem * var(--font-scale));pointer-events:none}.fin-select-wrap select.fin-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;min-width:0;padding-inline-start:2.2rem;padding-inline-end:2rem}.fin-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.fin-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);font-size:calc(.82rem * var(--font-scale));font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}.fin-chip:hover{border-color:var(--primary);color:var(--ink)}.fin-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.fin-chip .fin-chip-count{background:var(--surface-2);color:var(--text-secondary);border-radius:999px;padding:.05rem .45rem;font-size:calc(.72rem * var(--font-scale))}.fin-chip.active .fin-chip-count{background:#ffffff40;color:#fff}.fin-chip-highlight{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}.fin-chip-highlight:hover{border-color:var(--danger);color:var(--danger)}.fin-chip-highlight.active{background:var(--danger);border-color:var(--danger);color:#fff}.fin-chip-highlight.active .fin-chip-count{background:#ffffff40;color:#fff}.fin-filters-v2{flex-direction:row;align-items:center;flex-wrap:wrap;gap:.65rem;padding-block:.75rem}.fin-filters-v2 .fin-search-wrap{flex:1 1 320px;min-width:320px}.fin-filters-v2 .fin-search-wrap .fin-search-input{width:100%}.fin-filters-v2 .fin-date-range{flex:0 0 auto}.fin-filters-v2 .fin-filters-row{display:flex;flex-wrap:wrap;gap:.5rem}.fin-treasury-period{display:block;margin-top:.15rem;font-size:calc(.68rem * var(--font-scale));color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fin-treasury-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.8rem;padding:1rem}.fin-treasury-summary article{background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.3rem;color:var(--ink)}.fin-treasury-summary article small{color:var(--text-secondary);font-size:calc(.8rem * var(--font-scale))}.fin-treasury-summary article strong{font-size:calc(1.3rem * var(--font-scale));font-weight:700;color:var(--ink)}.fin-treasury-summary article .positive{color:var(--success)}.fin-treasury-summary article .negative{color:var(--danger)}.fin-balance-card{position:relative;display:flex;flex-direction:column;gap:.6rem;padding:.75rem .9rem;background:linear-gradient(135deg,rgba(46,196,182,.1),rgba(46,196,182,.04) 60%,transparent 100%),var(--surface-1);border:1px solid var(--border-default);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;color:var(--ink)}.fin-balance-card:before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent),var(--accent-strong, var(--accent)));border-radius:16px 0 0 16px}.fin-balance-card--compact{padding:.85rem 1rem}.fin-balance-total{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.fin-balance-total .fin-balance-icon{order:-1}.fin-balance-total-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .6rem;min-width:0}.fin-balance-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:calc(.78rem * var(--font-scale));color:var(--text-secondary);text-transform:none;letter-spacing:0;font-weight:600}.fin-balance-eyebrow i{color:var(--accent)}.fin-balance-amount{font-size:calc(1.3rem * var(--font-scale));font-weight:800;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.fin-balance-amount.positive{color:var(--success)}.fin-balance-amount.negative{color:var(--danger)}.fin-balance-dual{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:baseline}.fin-balance-currency-label{display:inline-block;margin-inline-end:.35rem;font-size:calc(.72rem * var(--font-scale));font-weight:600;color:var(--text-secondary)}.fin-balance-detail{font-size:calc(.78rem * var(--font-scale));color:var(--text-secondary)}.fin-balance-icon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:calc(1rem * var(--font-scale));color:var(--accent);background:var(--surface-2);border:1px solid var(--border-subtle);flex-shrink:0}.fin-balance-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.fin-balance-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:10px;transition:border-color .15s ease,transform .15s ease}.fin-balance-item:hover{border-color:var(--accent);transform:translateY(-1px)}.fin-balance-item-icon{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:calc(.78rem * var(--font-scale));background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--accent);flex-shrink:0}.fin-balance-item-text small{display:none}.fin-balance-item.is-cash .fin-balance-item-icon{color:var(--success)}.fin-balance-item.is-other .fin-balance-item-icon{color:var(--info, #3b82f6)}.fin-balance-item.is-settled{background:var(--success-soft);border-color:color-mix(in srgb,var(--success) 28%,transparent)}.fin-balance-item.is-settled .fin-balance-item-icon{color:var(--success)}.fin-balance-item.is-pending{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 28%,transparent)}.fin-balance-item.is-pending .fin-balance-item-icon{color:var(--warning)}.fin-balance-item.is-syp .fin-balance-item-icon{color:var(--success)}.fin-balance-item.is-usd .fin-balance-item-icon{color:var(--info, #3b82f6)}.fin-balance-item-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.fin-balance-item-text strong{color:var(--ink);font-size:calc(.8rem * var(--font-scale));font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.fin-balance-item-text small{color:var(--text-secondary);font-size:calc(.74rem * var(--font-scale))}.fin-balance-item-amount{font-weight:700;font-size:calc(.82rem * var(--font-scale));font-variant-numeric:tabular-nums;white-space:nowrap}.fin-balance-item-amount.positive{color:var(--success)}.fin-balance-item-amount.negative{color:var(--danger)}@media(max-width:560px){.fin-kpi-grid,.fin-balance-list{grid-template-columns:minmax(0,1fr)}.fin-balance-card{padding:.7rem .75rem}.fin-balance-amount{font-size:calc(1.15rem * var(--font-scale))}}.fin-page-subtitle{margin:.15rem 0 0;color:var(--text-secondary);font-size:calc(.88rem * var(--font-scale))}.fin-receipt-preview{display:flex;flex-direction:column;gap:.6rem;background:var(--surface-2);border:1px dashed var(--border-default);border-radius:12px;padding:1rem;color:var(--ink)}.fin-receipt-preview .fin-receipt-row{display:flex;justify-content:space-between;gap:.5rem;font-size:calc(.9rem * var(--font-scale))}.fin-receipt-preview .fin-receipt-row strong{color:var(--ink)}.fin-receipt-preview .fin-receipt-row .label{color:var(--text-secondary)}.fin-search-wrap{position:relative;flex:1;min-width:200px}.fin-search-wrap i{position:absolute;inset-inline-start:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:calc(.85rem * var(--font-scale));pointer-events:none}.fin-filters .fin-search-wrap input.fin-search-input{padding-inline-start:2.3rem}.fin-split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.fin-discount-list{display:flex;flex-wrap:wrap;gap:.3rem}.fin-discount-chip{background:var(--info-soft);color:var(--info);padding:.15rem .5rem;border-radius:8px;font-size:calc(.75rem * var(--font-scale));font-weight:600}.fin-overview-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:1024px){.fin-page{padding:.8rem .85rem 1rem;gap:.6rem}.fin-summary-bar{display:grid;grid-template-areas:"cash cash" "metrics metrics" "actions actions";grid-template-columns:minmax(0,1fr);align-items:stretch;gap:.45rem}.fin-summary-bar__cash{grid-area:cash;width:100%;max-width:none}.fin-summary-bar__cash .fin-balance-list{width:100%}.fin-summary-bar:has(.fin-summary-bar__cash) .fin-summary-bar__metrics,.fin-summary-bar__metrics{grid-area:metrics;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;flex:unset;width:100%;padding-inline-start:0;margin-inline-start:0;border-inline-start:none}.fin-stat{width:100%;max-width:none;flex:unset}.fin-summary-bar__actions{grid-area:actions;margin-inline-start:0;width:100%;justify-content:stretch}.fin-summary-bar__actions .fin-btn.fin-btn-primary,.fin-summary-bar__actions .fin-btn.fin-btn-danger,.fin-summary-bar__actions .fin-btn.fin-btn-warning,.fin-summary-bar__actions .fin-btn.fin-btn-success{flex:1 1 auto;min-width:0;width:100%;white-space:normal;text-align:center}.fin-filters,.fin-filters-v2{padding:.55rem .75rem}.fin-filters-v2 .fin-search-wrap{flex:1 1 100%;min-width:0}.fin-filters-v2 .fin-filters-row,.fin-filters-v2 .fin-date-range{width:100%}.fin-workspace-toolbar{flex-wrap:wrap;gap:.45rem}.fin-workspace-toolbar__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;width:100%}.fin-workspace-toolbar__btn{justify-content:center;min-width:0}}@media(max-width:768px){.fin-page{padding:.6rem .55rem .85rem;gap:.5rem}.fin-summary-bar{padding:.42rem;border-radius:12px}.fin-summary-bar__cash .fin-balance-item{flex:1 1 calc(50% - .2rem);justify-content:space-between;border-radius:10px}.fin-stat{padding:.32rem .38rem;gap:.3rem;border-radius:10px}.fin-stat__icon{width:22px;height:22px;border-radius:7px}.fin-stat__value{font-size:calc(.8rem * var(--font-scale))}.fin-stat__label{font-size:calc(.6rem * var(--font-scale));-webkit-line-clamp:3}.fin-stat__detail{font-size:calc(.56rem * var(--font-scale))}.fin-filters,.fin-filters-v2{padding:.5rem .6rem}.fin-filters-v2{flex-direction:column;align-items:stretch;gap:.45rem}.fin-filters-v2 .fin-filters-row{flex-direction:column;align-items:stretch}.fin-filters-v2 .fin-filters-row>*,.fin-filters-v2 .fin-select-wrap,.fin-filters .fin-filter-action,.fin-filters .fin-filter-action:first-of-type{width:100%;min-width:0;margin-inline-start:0;flex-basis:auto}.fin-filters-v2 .drp-root,.fin-filters .drp-root{width:100%}.fin-filters-v2 .drp-trigger{width:100%;justify-content:space-between}.fin-workspace{border-radius:12px}.fin-chip-row{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.35rem;padding-bottom:.15rem}.fin-chip-row::-webkit-scrollbar{display:none}.fin-chip{flex-shrink:0}.fin-table-wrap{-webkit-overflow-scrolling:touch}.fin-table{min-width:36rem}.fin-table th,.fin-table td{padding:.5rem .55rem;font-size:calc(.8rem * var(--font-scale))}.fin-table th{font-size:calc(.7rem * var(--font-scale))}.fin-table .fin-row-icon{width:28px;height:28px}.fin-table .fin-row-actions{flex-wrap:wrap;gap:.25rem}.fin-workspace-toolbar{flex-direction:column;align-items:stretch;padding:.45rem .55rem}.fin-workspace-toolbar__actions{grid-template-columns:1fr}.fin-workspace-toolbar__btn{width:100%}}@media(max-width:420px){.fin-page{padding:.5rem .45rem .75rem}.fin-summary-bar__metrics{grid-template-columns:1fr}.fin-summary-bar__cash .fin-balance-item{flex:1 1 100%}.fin-stat__value{font-size:calc(.86rem * var(--font-scale))}.fin-stat__label{-webkit-line-clamp:2}}@media(max-width:991px){.fin-overview-row,.fin-split,.fin-timeline-row{grid-template-columns:1fr}.fin-timeline-row .fin-timeline-action{justify-content:flex-end}}.fin-page-header{display:flex;justify-content:space-between;align-items:center;padding:0;margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.fin-page-header>div:first-child{flex:1;min-width:0}.fin-page-eyebrow{margin:0;color:var(--text-secondary);font-size:calc(.85rem * var(--font-scale))}.fin-page-title{font-weight:700;font-size:calc(1.4rem * var(--font-scale));color:var(--ink);margin:0}.fin-page-actions{display:flex;gap:.5rem;flex-wrap:wrap}.fin-page-actions-sm{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.fin-page-actions-equal{display:flex;gap:.5rem}.fin-text-muted{color:var(--text-muted)}.fin-text-secondary{color:var(--text-secondary)}.fin-text-info{color:var(--info)}.fin-text-success{color:var(--success)}.fin-text-danger{color:var(--danger)}.fin-text-xs{font-size:calc(.75rem * var(--font-scale))}.fin-text-sm{font-size:calc(.85rem * var(--font-scale))}.fin-text-md{font-size:calc(.95rem * var(--font-scale))}.fin-text-lg{font-size:calc(1.05rem * var(--font-scale))}.fin-mt-1{margin-top:.3rem}.fin-mt-2{margin-top:.6rem}.fin-mb-0{margin-bottom:.3rem}.fin-mb-1{margin-bottom:.5rem}.fin-flex{display:flex}.fin-flex-gap-1{display:flex;gap:.3rem}.fin-flex-gap-2{display:flex;gap:.5rem}.fin-flex-col{display:flex;flex-direction:column;gap:.3rem}.fin-flex-between{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.fin-flex-center{display:flex;align-items:center;gap:.6rem}.fin-text-end{text-align:end}.fin-stack{display:flex;flex-direction:column;gap:.5rem;padding:0;margin:0;list-style:none}.fin-stack-tight{display:flex;flex-direction:column;gap:.3rem;padding:0;margin:0;list-style:none}.fin-section-title{margin:.3rem 0;color:var(--ink);font-size:calc(1rem * var(--font-scale))}.fin-mini-meta{font-size:calc(.8rem * var(--font-scale));color:var(--text-muted)}.fin-balance-amount{font-size:calc(.95rem * var(--font-scale));font-weight:700}.fin-balance-amount.is-positive{color:var(--success)}.fin-balance-amount.is-negative{color:var(--danger)}.fin-overdue-card{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border:1px solid var(--danger);border-radius:10px;background:var(--danger-soft);color:var(--ink)}.fin-list-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem .6rem;background:var(--surface-2);border-radius:8px;color:var(--ink)}.fin-installment-status{display:inline-flex;align-items:center;gap:.3rem}.fin-page>header.fin-page-header{border-bottom:none}.fin-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 0 16px;border:1px solid var(--warning, #f47920);border-inline-start-width:4px;border-radius:12px;background:var(--warning-soft, #fef1e8);color:var(--ink, #0f172a);font-size:calc(.875rem * var(--font-scale));line-height:1.6}.fin-notice i{color:var(--warning, #f47920);flex-shrink:0}.fin-block{display:block}.recon-anim-backdrop{display:flex;align-items:center;justify-content:center;padding:24px;animation:recon-backdrop-in .24s ease-out}.recon-anim-backdrop.is-closing{animation:recon-backdrop-out .22s ease-in forwards}.recon-anim-dialog.is-opening{animation:recon-dialog-in .32s cubic-bezier(.22,.61,.36,1)}.recon-anim-dialog.is-closing{animation:recon-dialog-out .24s cubic-bezier(.55,.06,.68,.19)}@keyframes recon-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes recon-backdrop-out{0%{opacity:1}to{opacity:0}}@keyframes recon-dialog-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes recon-dialog-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)}}@media(prefers-reduced-motion:reduce){.recon-anim-backdrop,.recon-anim-backdrop.is-closing,.recon-anim-dialog.is-opening,.recon-anim-dialog.is-closing,.recon-log-entries-panel,.recon-log-chevron i,.recon-log-skel-line{animation:none!important;transition:none!important}}.recon-dialog{width:min(900px,96vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 24px 48px color-mix(in srgb,#0f172a 14%,transparent),0 2px 8px color-mix(in srgb,#0f172a 6%,transparent)}.recon-dialog__header{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem 1rem!important;min-height:unset!important;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 6%,var(--surface-1)),var(--surface-1));border-bottom:1px solid var(--border-subtle)}.recon-dialog__header-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,transparent);font-size:calc(.95rem * var(--font-scale))}.recon-dialog__header-text{flex:1;min-width:0}.recon-dialog__header-text h2{font-size:calc(1rem * var(--font-scale))!important;font-weight:700;letter-spacing:-.01em}.recon-dialog__header-text p{margin-top:.2rem!important;font-size:calc(.78rem * var(--font-scale))!important;line-height:1.45;color:var(--ink-muted)}.recon-dialog__header .recon-log-open{flex:0 0 auto;align-self:center;white-space:nowrap;min-height:1.72rem;padding:.26rem .52rem;font-size:calc(.72rem * var(--font-scale));border-radius:7px}.recon-dialog__header .recon-log-open i{font-size:.85em}.recon-dialog-body{overflow-y:auto;display:flex;flex-direction:column;gap:.65rem;padding:.85rem 1rem!important;background:var(--surface-2)}.recon-toolbar-panel{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.45rem;border-radius:12px;border:1px solid var(--border-subtle);background:var(--surface-1)}.recon-toolbar-panel.is-disabled{opacity:.72;pointer-events:none}.recon-bulk{display:inline-flex;flex-wrap:wrap;gap:.35rem}.recon-branch-wrap{flex:0 0 auto;min-width:170px;max-width:220px}.recon-search-wrap{flex:1 1 200px;min-width:0;display:inline-flex;align-items:center;gap:.4rem;padding:0 .55rem;border-radius:8px;border:1px solid var(--border-subtle);background:var(--surface-2);color:var(--ink-muted);transition:border-color .15s ease,box-shadow .15s ease}.recon-search-wrap:focus-within{border-color:color-mix(in srgb,var(--primary) 35%,var(--border-subtle));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.recon-search-wrap>i{font-size:calc(.78rem * var(--font-scale));flex-shrink:0}.recon-search{flex:1;min-width:0;border:none;background:transparent;padding:.42rem 0;font:inherit;color:var(--ink);outline:none}.recon-search::placeholder{color:var(--text-muted)}.recon-export-btn{flex-shrink:0;border-radius:8px!important}.recon-empty{text-align:center;color:var(--ink-muted);padding:1.5rem .75rem;font-size:calc(.82rem * var(--font-scale))}.recon-empty-state{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:2.25rem 1rem;text-align:center;border-radius:12px;border:1px dashed var(--border-subtle);background:var(--surface-1)}.recon-empty-state i{font-size:1.75rem;color:var(--success);opacity:.75}.recon-empty-state p{margin:0;font-weight:700;font-size:calc(.88rem * var(--font-scale));color:var(--ink)}.recon-empty-state small{font-size:calc(.76rem * var(--font-scale));color:var(--ink-muted)}.recon-list-scroll{max-height:min(52vh,560px);overflow:auto;padding:2px;border:1px solid var(--border-subtle);border-radius:14px;background:color-mix(in srgb,var(--surface-2) 65%,var(--surface-1))}.recon-list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:6px}.recon-list-sentinel{height:1px}.recon-list-more{margin:0;padding:8px 12px 12px;text-align:center;color:var(--ink-muted);font-size:calc(12px * var(--font-scale));font-weight:650}.recon-row{border:1px solid transparent;border-radius:10px;padding:8px 10px;background:var(--surface-1)}.recon-row:hover{border-color:color-mix(in srgb,var(--primary) 22%,transparent)}.recon-row.is-ticked{border-color:color-mix(in srgb,var(--success) 45%,transparent);background:color-mix(in srgb,var(--success) 8%,var(--surface-1))}.recon-row-main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem .75rem}.recon-row-info{display:flex;flex-direction:column;gap:.12rem;min-width:0}.recon-row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;font-size:calc(.72rem * var(--font-scale));color:var(--ink-muted)}.recon-row-desc{font-size:calc(.84rem * var(--font-scale));color:var(--ink);font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recon-row-amount{font-size:calc(.9rem * var(--font-scale));font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.recon-row-checks{display:flex;justify-content:flex-end}.recon-check{--recon-accent: var(--success);--recon-accent-2: color-mix(in srgb, var(--success) 72%, #000);position:relative;display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--border-subtle);border-radius:8px;padding:.38rem .65rem;font-size:calc(.74rem * var(--font-scale));font-weight:600;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface-2);white-space:nowrap;transition:color .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.recon-check.diff-none{--recon-accent: var(--primary);--recon-accent-2: color-mix(in srgb, var(--primary) 72%, #000)}.recon-check.diff-surplus{--recon-accent: var(--warning);--recon-accent-2: color-mix(in srgb, var(--warning) 72%, #000)}.recon-check.diff-shortage{--recon-accent: var(--danger);--recon-accent-2: color-mix(in srgb, var(--danger) 72%, #000)}.recon-check input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;margin:0;cursor:pointer}.recon-check i{font-size:.85em;opacity:.55;transition:opacity .16s ease,transform .2s ease}.recon-check:hover{border-color:color-mix(in srgb,var(--recon-accent) 35%,var(--border-subtle));color:var(--recon-accent)}.recon-check:focus-within{outline:2px solid var(--recon-accent);outline-offset:2px}.recon-check.checked{background:linear-gradient(135deg,var(--recon-accent),var(--recon-accent-2));border-color:transparent;color:#fff;box-shadow:0 3px 10px color-mix(in srgb,var(--recon-accent) 32%,transparent)}.recon-check.checked i{opacity:1;transform:scale(1.08)}.recon-check:has(input:disabled){opacity:.55;cursor:progress}.recon-skeleton{display:flex;flex-direction:column;gap:.65rem}.recon-tally--loading{pointer-events:none}.recon-tally-item--skel{gap:.35rem}.recon-skel-tally-label{width:4.5rem;height:.55rem;border-radius:999px}.recon-skel-tally-value{width:2.75rem;height:1rem;border-radius:6px}.recon-skeleton-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.recon-skeleton-row{border:1px solid var(--border-subtle);border-radius:12px;padding:.55rem .65rem;background:var(--surface-1)}.recon-skeleton-row__main{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.55rem .75rem}.recon-skeleton-row__text{display:flex;flex-direction:column;gap:.28rem;min-width:0}.recon-skel-line{border-radius:6px;height:.55rem}.recon-skel-line--title{width:38%;height:.7rem}.recon-skel-line--meta{width:62%}.recon-skel-line--desc{width:84%}.recon-skel-amount{width:4.25rem;height:1rem;border-radius:6px}.recon-skel-check{width:6.5rem;height:1.85rem;border-radius:8px}@media(max-width:640px){.recon-row-main,.recon-skeleton-row__main{grid-template-columns:minmax(0,1fr);justify-items:start}.recon-row-checks{width:100%}.recon-check{width:100%;justify-content:center}}.fin-table th.fin-cell-center,.fin-table td.fin-cell-center{text-align:center}.fin-view-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:12px;background:color-mix(in srgb,var(--primary, #2563eb) 12%,transparent);color:var(--primary, #2563eb);font-size:.95rem;cursor:pointer;transition:background .18s ease,color .18s ease,transform .12s ease,box-shadow .18s ease}.fin-view-btn:hover,.fin-view-btn:focus-visible{background:var(--primary, #2563eb);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--primary, #2563eb) 35%,transparent)}.recon-footer{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap;padding:.75rem 1rem!important;background:var(--surface-1);border-top:1px solid var(--border-subtle)}.recon-footer-note{font-size:calc(.76rem * var(--font-scale));color:var(--ink-muted);display:inline-flex;align-items:center;gap:.35rem}.recon-footer-actions{display:flex;gap:.4rem;margin-inline-start:auto}.recon-submit-btn{min-height:2.1rem;padding:.42rem .95rem;border-radius:8px;font-weight:600}.recon-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;padding:0;border:none;background:transparent;position:sticky;top:0;z-index:1}.recon-tally-item{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.45rem .55rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-1)}.recon-tally-item small{font-size:calc(.68rem * var(--font-scale));color:var(--ink-muted);font-weight:600}.recon-tally-item b{font-size:calc(.95rem * var(--font-scale));font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}.recon-tally-item.is-picked{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-subtle));background:color-mix(in srgb,var(--primary) 6%,var(--surface-1))}.recon-tally-item.is-picked b{color:var(--primary)}.recon-tally-item.is-reconciled{border-color:color-mix(in srgb,var(--success) 28%,var(--border-subtle));background:color-mix(in srgb,var(--success) 6%,var(--surface-1))}.recon-tally-money{display:flex;flex-direction:column;gap:.02rem;line-height:1.2;font-size:calc(.78rem * var(--font-scale))}.recon-tally-item b.positive{color:var(--success)}.recon-tally-item b.negative{color:var(--danger)}@media(max-width:560px){.recon-tally{grid-template-columns:1fr}}.recon-confirm-backdrop{z-index:calc(var(--z-modal-backdrop) + 10)}.recon-confirm{width:min(520px,96vw);max-height:92vh;display:flex;flex-direction:column}.recon-confirm-head{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 22px 14px;text-align:center;border-bottom:1px solid var(--border-subtle)}.recon-confirm-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary);font-size:1.25rem}.recon-confirm-head h2{margin:0;font-size:calc(1.02rem * var(--font-scale));line-height:1.5;color:var(--ink)}.recon-confirm-head p{margin:0;font-size:.8rem;color:var(--ink-muted);line-height:1.6}.recon-confirm-body{display:flex;flex-direction:column;gap:14px}.recon-confirm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.recon-confirm-stats article{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1)}.recon-confirm-stats small{font-size:.74rem;color:var(--ink-muted)}.recon-confirm-stats strong{font-size:calc(1.05rem * var(--font-scale));color:var(--ink)}.recon-confirm-stats strong.positive{color:var(--success)}.recon-confirm-stats strong.negative{color:var(--danger)}.recon-confirm-effect{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-1)}.recon-confirm-effect h3{margin:0;font-size:calc(.78rem * var(--font-scale));font-weight:700;color:var(--ink-muted)}.recon-confirm-effect dl{display:flex;flex-direction:column;gap:6px;margin:0}.recon-confirm-effect dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.recon-confirm-effect dt{font-size:calc(.82rem * var(--font-scale));font-weight:700;color:var(--ink)}.recon-confirm-effect dd{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:0;font-size:calc(.82rem * var(--font-scale));color:var(--ink);font-variant-numeric:tabular-nums}.recon-diff{border:1px solid var(--border-subtle);border-radius:12px;padding:12px;margin:0;display:flex;flex-direction:column;gap:10px;background:var(--surface-1)}.recon-diff legend{padding:0 6px;font-size:.82rem;font-weight:700;color:var(--ink)}.recon-diff-options{display:flex;flex-wrap:wrap;gap:8px}.recon-diff-detail{display:flex;flex-direction:column;gap:8px}.recon-diff-hint{margin:0;display:flex;gap:8px;padding:9px 11px;border-radius:10px;font-size:.78rem;line-height:1.7;border:1px solid transparent}.recon-diff-hint i{margin-top:3px;flex-shrink:0}.recon-diff-hint.tone-surplus{background:var(--warning-soft);border-color:color-mix(in srgb,var(--warning) 30%,transparent);color:var(--ink)}.recon-diff-hint.tone-surplus i{color:var(--warning)}.recon-diff-hint.tone-shortage{background:var(--danger-soft);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--ink)}.recon-diff-hint.tone-shortage i{color:var(--danger)}.recon-field{display:flex;flex-direction:column;gap:5px}.recon-field>span{font-size:.8rem;font-weight:600;color:var(--ink)}.recon-field input,.recon-field textarea{border:1px solid var(--border-subtle);border-radius:var(--radius-control, 10px);padding:9px 11px;font:inherit;resize:vertical;background:var(--surface-1);color:var(--ink)}.recon-field input:focus-visible,.recon-field textarea:focus-visible{outline:2px solid var(--primary);outline-offset:1px;border-color:transparent}.recon-field-error{font-size:.74rem;color:var(--danger)}.recon-confirm-footer{display:flex;justify-content:flex-end;gap:8px}.recon-log-dialog{width:min(680px,96vw);max-height:88vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border-subtle);box-shadow:0 20px 40px color-mix(in srgb,#0f172a 12%,transparent),0 1px 4px color-mix(in srgb,#0f172a 5%,transparent)}.recon-log-dialog__header{display:flex;align-items:flex-start;gap:.6rem;padding:.75rem .9rem!important;min-height:unset!important;border-bottom:1px solid var(--border-subtle);background:var(--surface-1)}.recon-log-dialog__icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:9px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);font-size:calc(.85rem * var(--font-scale))}.recon-log-dialog__head-text{flex:1;min-width:0}.recon-log-dialog__head-text h2{margin:0;font-size:calc(.95rem * var(--font-scale));font-weight:700;line-height:1.3}.recon-log-dialog__head-text p{margin:.15rem 0 0!important;font-size:calc(.74rem * var(--font-scale))!important;line-height:1.45;color:var(--ink-muted)}.recon-log-dialog__count{align-self:center;min-width:1.4rem;padding:.1rem .45rem;border-radius:999px;font-size:calc(.68rem * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.recon-log-dialog__close{align-self:flex-start;flex-shrink:0}.recon-log-body{overflow-y:auto;padding:.65rem .75rem!important;background:var(--surface-2)}.recon-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.recon-log-item{border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-1);overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.recon-log-item:hover{border-color:color-mix(in srgb,var(--primary) 18%,var(--border-subtle))}.recon-log-item.is-expanded{border-color:color-mix(in srgb,var(--primary) 28%,var(--border-subtle));box-shadow:0 2px 8px color-mix(in srgb,#0f172a 5%,transparent)}.recon-log-item-toggle{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.55rem;width:100%;margin:0;padding:.65rem .7rem;border:0;background:transparent;text-align:inherit;cursor:pointer;color:inherit;font:inherit}.recon-log-item-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.recon-log-chevron{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;margin-top:.15rem;color:var(--ink-muted);flex-shrink:0}.recon-log-chevron i{font-size:.7rem;transition:transform .22s cubic-bezier(.22,.61,.36,1)}.recon-log-item.is-expanded .recon-log-chevron i{transform:rotate(-90deg)}.recon-log-item-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.recon-log-item-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.recon-log-code{font-size:calc(.82rem * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink);letter-spacing:.01em}.recon-log-chip{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:calc(.66rem * var(--font-scale));font-weight:600;line-height:1.4;border:1px solid transparent}.recon-log-chip--none{color:var(--ink-muted);background:var(--surface-2);border-color:var(--border-subtle)}.recon-log-chip--surplus{color:var(--warning);background:color-mix(in srgb,var(--warning) 10%,transparent);border-color:color-mix(in srgb,var(--warning) 22%,transparent)}.recon-log-chip--shortage{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:color-mix(in srgb,var(--danger) 22%,transparent)}.recon-log-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem .35rem;font-size:calc(.72rem * var(--font-scale));color:var(--ink-muted);line-height:1.45}.recon-log-meta-sep{opacity:.45;-webkit-user-select:none;user-select:none}.recon-log-note{margin:.15rem 0 0;font-size:calc(.72rem * var(--font-scale));line-height:1.5;color:var(--ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recon-log-amount{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem;flex-shrink:0;text-align:end}.recon-log-amount small{font-size:calc(.64rem * var(--font-scale));color:var(--ink-muted);text-transform:uppercase;letter-spacing:.03em}.recon-log-amount b{font-size:calc(.88rem * var(--font-scale));font-weight:700;font-variant-numeric:tabular-nums}.recon-log-amount b.positive{color:var(--success)}.recon-log-amount b.negative{color:var(--danger)}.recon-log-entries-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s cubic-bezier(.22,.61,.36,1),opacity .22s ease;opacity:0}.recon-log-item.is-expanded .recon-log-entries-panel{grid-template-rows:1fr;opacity:1}.recon-log-entries-inner{overflow:hidden;min-height:0}.recon-log-item.is-expanded .recon-log-entries-inner{padding:.55rem .7rem .65rem;border-top:1px solid var(--border-subtle);margin-top:0}.recon-log-entries-empty{margin:0;padding:.35rem 0;font-size:calc(.74rem * var(--font-scale));color:var(--ink-muted)}.recon-log-entries-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--border-subtle);background:var(--surface-2)}.recon-log-entries-table{width:100%;border-collapse:collapse;font-size:calc(.74rem * var(--font-scale))}.recon-log-entries-table th,.recon-log-entries-table td{padding:.4rem .55rem;border-bottom:1px solid var(--border-subtle);text-align:right;vertical-align:top}.recon-log-entries-table tbody tr:last-child td{border-bottom:0}.recon-log-entries-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--surface-1) 50%,transparent)}.recon-log-entries-table th{position:sticky;top:0;z-index:1;color:var(--ink-muted);font-weight:600;font-size:calc(.68rem * var(--font-scale));white-space:nowrap;background:var(--surface-2)}.recon-log-cell-code{font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}.recon-log-entries-table .recon-log-desc{max-width:200px;line-height:1.45;color:var(--ink-muted)}.recon-log-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:2.5rem 1rem;text-align:center}.recon-log-empty__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;color:var(--ink-muted);background:var(--surface-1);border:1px dashed var(--border-subtle);font-size:1.1rem}.recon-log-empty p{margin:.25rem 0 0;font-size:calc(.88rem * var(--font-scale));font-weight:600;color:var(--ink)}.recon-log-empty small{font-size:calc(.74rem * var(--font-scale));color:var(--ink-muted);line-height:1.5}.recon-log-item--skeleton{padding:.75rem .7rem;pointer-events:none}.recon-log-skel-line{height:.55rem;border-radius:999px;background:linear-gradient(90deg,var(--surface-2) 0%,color-mix(in srgb,var(--border-subtle) 80%,var(--surface-2)) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:recon-log-shimmer 1.2s ease-in-out infinite}.recon-log-skel-line--wide{width:72%;margin-bottom:.45rem}.recon-log-skel-line:not(.recon-log-skel-line--wide){width:48%}@keyframes recon-log-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.recon-log-footer{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;padding:.55rem .75rem!important;border-top:1px solid var(--border-subtle);background:var(--surface-1)}.recon-log-footer__refresh,.recon-footer .fin-btn-ghost{margin-inline-end:auto}[data-theme=dark] .fin-balance-item.is-pending{background:color-mix(in srgb,var(--warning) 16%,var(--surface-1))}[data-theme=dark] .fin-balance-item.is-settled{background:color-mix(in srgb,var(--success) 16%,var(--surface-1))}[data-theme=dark] .recon-diff-hint.tone-surplus{background:color-mix(in srgb,var(--warning) 14%,transparent)}[data-theme=dark] .recon-diff-hint.tone-shortage{background:color-mix(in srgb,var(--danger) 14%,transparent)}[data-theme=dark] .recon-log-chip--surplus{background:color-mix(in srgb,var(--warning) 14%,transparent)}[data-theme=dark] .recon-log-chip--shortage{background:color-mix(in srgb,var(--danger) 14%,transparent)}[data-theme=dark] .recon-log-dialog__icon,[data-theme=dark] .recon-confirm-icon{background:color-mix(in srgb,var(--primary) 18%,transparent)}[data-theme=dark] .recon-row.is-ticked{background:color-mix(in srgb,var(--success) 14%,var(--surface-1))}[data-theme=dark] .recon-log-body{background:color-mix(in srgb,var(--surface-2) 70%,#000)}[data-theme=dark] .recon-log-item,[data-theme=dark] .recon-log-empty__icon{background:color-mix(in srgb,var(--surface-1) 88%,#000)}[data-theme=dark] .recon-log-entries-scroll{background:color-mix(in srgb,var(--surface-2) 75%,#000)}[data-theme=dark] .recon-dialog__header{background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 10%,var(--surface-1)),var(--surface-1))}[data-theme=dark] .recon-dialog-body{background:color-mix(in srgb,var(--surface-2) 70%,#000)}[data-theme=dark] .recon-toolbar-panel,[data-theme=dark] .recon-row,[data-theme=dark] .recon-skeleton-row,[data-theme=dark] .recon-tally-item,[data-theme=dark] .recon-empty-state{background:color-mix(in srgb,var(--surface-1) 88%,#000)}@media(max-width:560px){.recon-dialog__header .recon-log-open{font-size:calc(.68rem * var(--font-scale));padding:.22rem .42rem}.recon-log-item-toggle{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.recon-log-amount{grid-column:2;flex-direction:row;align-items:baseline;gap:.35rem;margin-top:.15rem}.recon-log-amount small{text-transform:none;letter-spacing:0}}.academic-year-switcher{display:flex;width:100%;min-width:0;justify-content:center}.academic-year-switcher__trigger{display:inline-flex;width:100%;max-width:100%;min-height:32px;min-width:0;align-items:center;justify-content:center;gap:6px;padding:5px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;background:#ffffff14;cursor:pointer;transition:background .16s ease,border-color .16s ease}.academic-year-switcher__trigger:hover,.academic-year-switcher.is-open .academic-year-switcher__trigger{border-color:#b3e0ff6b;background:#0796ff38}.academic-year-switcher__trigger>i:first-child{flex:0 0 auto;font-size:.72rem;opacity:.88}.academic-year-switcher__year{min-width:0;overflow:hidden;font-size:calc(12px * var(--font-scale));font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.academic-year-switcher__badge{flex:0 0 auto;padding:1px 6px;border-radius:999px;background:#12b77747;color:#ecfdf5;font-size:calc(10px * var(--font-scale));font-weight:700;line-height:1.3}.academic-year-switcher__lock,.academic-year-switcher__chevron{flex:0 0 auto;font-size:.62rem;opacity:.78}.academic-year-switcher.is-archive .academic-year-switcher__trigger{border-color:#f59e0b80;background:#f59e0b29}.academic-year-switcher__menu{min-width:11rem}[data-sidebar=collapsed] .academic-year-switcher__badge,[data-sidebar=collapsed] .academic-year-switcher__chevron,[data-sidebar=collapsed] .academic-year-switcher__lock,[data-sidebar=collapsed] .academic-year-switcher__trigger>i:first-child{display:none}[data-sidebar=collapsed] .academic-year-switcher__trigger{min-height:36px;padding:4px 3px;border-radius:10px}[data-sidebar=collapsed] .academic-year-switcher__year{white-space:normal;font-size:calc(10px * var(--font-scale));line-height:1.15;text-align:center}.academic-year-filter{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0}.academic-year-filter--loading{width:2rem;justify-content:center;color:var(--text-muted, #64748b)}.academic-year-filter.is-archive .filter-dropdown-trigger{border-color:var(--warning, #f59e0b)}.academic-year-readonly-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--warning, #f59e0b) 18%,transparent);color:var(--warning, #b45309);white-space:nowrap}.academic-year-banner{display:flex;align-items:center;gap:.65rem;margin:0 1rem .75rem;padding:.65rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--warning, #f59e0b) 12%,var(--surface, #fff));border:1px solid color-mix(in srgb,var(--warning, #f59e0b) 35%,transparent);color:var(--text, #0f172a);font-size:.92rem}.academic-year-banner strong{font-weight:700}[data-academic-readonly=true] .page-routes .primary-button,[data-academic-readonly=true] .page-routes .sg-btn--primary,[data-academic-readonly=true] .page-routes .ops-actions .icon-button,[data-academic-readonly=true] .page-routes button.icon-button.is-danger,[data-academic-readonly=true] .page-routes .students-heading-actions .primary-button,[data-academic-readonly=true] .page-routes .students-heading-actions .secondary-button,[data-academic-readonly=true] .page-routes .permission-toggle,[data-academic-readonly=true] .page-routes .contact-log-form,[data-academic-readonly=true] .page-routes .fin-dialog-trigger{display:none!important}[data-academic-readonly=true] .page-routes input:not([type=search]):not([type=checkbox]):not([type=radio]),[data-academic-readonly=true] .page-routes textarea,[data-academic-readonly=true] .page-routes select{pointer-events:none;opacity:.85}[data-academic-readonly=true] .page-routes .ops-table tbody tr.table-row-clickable{cursor:default}.academic-year-export-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;margin-top:.5rem}.academic-year-export-row .sg-field{min-width:min(100%,220px)}.academic-year-export-note{margin:.35rem 0 0;font-size:.85rem;color:var(--text-muted, #64748b)}.academic-year-rollover-box{margin-top:1.25rem;padding:1rem;border-radius:12px;border:1px dashed color-mix(in srgb,var(--danger, #ef4444) 35%,transparent);background:color-mix(in srgb,var(--danger, #ef4444) 6%,transparent)}.academic-year-rollover-box h3{margin:0 0 .35rem;font-size:1rem}.academic-year-rollover-box p{margin:0 0 .75rem;font-size:.88rem;color:var(--text-muted, #64748b)}.entity-page .ops-metrics{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;margin:0 0 16px;border:0;background:transparent}.entity-page .ops-metrics .student-stat-card{flex:1 0 13.5rem;width:auto;min-width:min(100%,13.5rem);max-width:100%;height:auto;min-height:48px}.entity-page.fin-page .fin-summary-bar{display:flex;align-items:stretch;gap:10px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.entity-page.fin-page .fin-summary-bar__metrics{display:flex;flex-wrap:wrap;flex:1 1 auto;gap:10px;min-width:0;padding:0;margin:0;border:0;overflow:visible}.entity-page.fin-page .fin-stat{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;flex:1 0 13.5rem;width:auto;max-width:100%;min-width:min(100%,13.5rem);height:auto;min-height:48px;padding:10px 16px;gap:12px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--surface-1);box-shadow:none}.entity-page.fin-page .fin-stat:hover{transform:none;box-shadow:none;border-color:color-mix(in srgb,var(--tone-color, var(--primary)) 28%,var(--border-subtle));background:color-mix(in srgb,var(--tone-color, var(--primary)) 5%,var(--surface-1))}.entity-page.fin-page .fin-stat__icon,.entity-page.fin-page .fin-stat:after{display:none}.entity-page.fin-page .fin-summary-bar__actions{display:flex;flex-direction:row;flex-wrap:nowrap;flex:0 0 auto;align-items:stretch;justify-content:flex-end;gap:8px;margin:0}.entity-page.fin-page .fin-summary-bar__actions .fin-btn,.entity-page.fin-page .fin-summary-bar__actions .fin-btn.fin-btn-primary,.entity-page.fin-page .fin-summary-bar__actions .fin-btn.fin-btn-danger,.entity-page.fin-page .fin-summary-bar__actions .fin-btn.fin-btn-warning,.entity-page.fin-page .fin-summary-bar__actions .fin-btn.fin-btn-success{flex:0 1 auto;height:auto;min-height:48px;min-width:0;width:auto;padding-inline:16px;border-radius:10px;font-weight:700;white-space:nowrap;justify-content:center}.entity-page .staff-summary.entity-summary-grid,.entity-page .students-summary.entity-summary-grid{margin-bottom:16px}.entity-page .students-summary-bar .staff-summary.entity-summary-grid,.entity-page .students-summary-bar .students-summary.entity-summary-grid{margin-bottom:0}@media(max-width:1280px){.entity-page .ops-metrics .student-stat-card,.entity-page.fin-page .fin-stat{flex-basis:12.5rem;min-width:min(100%,12.5rem)}}@media(max-width:1100px){.entity-page.fin-page .fin-summary-bar{flex-wrap:wrap}.entity-page.fin-page .fin-summary-bar__metrics{flex:1 1 100%}.entity-page.fin-page .fin-summary-bar__actions{width:100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-end}.entity-page.fin-page .fin-summary-bar__actions .fin-btn{flex:1 1 auto;min-height:48px}}@media(max-width:900px){.entity-page .ops-metrics .student-stat-card,.entity-page.fin-page .fin-stat{flex-basis:11.5rem;min-width:min(100%,11.5rem)}}@media(max-width:520px){.entity-page .ops-metrics .student-stat-card,.entity-page.fin-page .fin-stat{flex:1 1 100%;min-width:100%}}.entity-page .ops-workspace,.entity-page .fin-workspace,.entity-page .staff-workspace{overflow:hidden;margin-top:0;border:1px solid var(--glass-border, var(--border-subtle));border-radius:12px;background:var(--glass-bg, var(--surface-1));box-shadow:var(--glass-shadow, var(--shadow-card));-webkit-backdrop-filter:var(--glass-blur, none);backdrop-filter:var(--glass-blur, none);isolation:isolate}.entity-page .ops-workspace-header,.entity-page .students-table-heading,.entity-page .fin-workspace-header{min-height:58px;padding:10px 16px;border-bottom:1px solid var(--line-soft, var(--border-subtle));background:var(--surface-header, transparent)}.entity-page .ops-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:12px 16px;border-bottom:1px solid var(--line-soft, var(--border-subtle))}.entity-page .ops-toolbar .student-search.ops-search{flex:1 1 220px;min-width:0;height:44px;gap:10px;padding-inline:14px;border:1px solid var(--border-default, var(--line));border-radius:14px;background:linear-gradient(180deg,var(--surface-1),color-mix(in srgb,var(--ink) 2%,var(--surface-1)));box-shadow:var(--shadow-soft)}.entity-page .ops-toolbar .student-search.ops-search:focus-within{border-color:var(--primary-border);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent),var(--shadow-soft)}.entity-page .fin-workspace-toolbar{padding:12px 16px;border-bottom:1px solid var(--line-soft, var(--border-subtle))}.entity-page .staff-table{width:100%;min-width:0;table-layout:auto}.entity-page .ops-table,.entity-page .staff-table,.entity-page .fin-table{border-collapse:separate;border-spacing:0}.entity-page .ops-table th,.entity-page .ops-table td,.entity-page .staff-table th,.entity-page .staff-table td,.entity-page .fin-table th,.entity-page .fin-table td{padding:5px 10px;font-size:var(--table-cell, 13px)}.entity-page .ops-table thead,.entity-page .staff-table thead,.entity-page .fin-table thead{background:var(--primary)}.entity-page .ops-table thead th,.entity-page .staff-table thead th,.entity-page .staff-table thead th.row-index-cell,.entity-page .fin-table thead th{position:sticky;top:0;z-index:2;padding:8px 10px;background:var(--primary);color:#fff;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;border-bottom:0;white-space:nowrap}[data-theme=dark] .entity-page .ops-table thead th,[data-theme=dark] .entity-page .staff-table thead th,[data-theme=dark] .entity-page .fin-table thead th{background:var(--primary);color:#fff}.entity-page .ops-table td,.entity-page .staff-table td,.entity-page .fin-table td{background:transparent;color:var(--ink)}.entity-page .staff-table .staff-identity,.entity-page .staff-table .staff-identity strong{color:var(--ink)}.entity-page .staff-table .staff-job-type-col{text-align:center}.entity-page .staff-table .staff-job-type{justify-content:center}@media(min-width:768px){.entity-page .staff-table{table-layout:fixed}.entity-page .staff-table .row-index-cell{width:52px;min-width:52px;max-width:56px}.entity-page .staff-table thead th:last-child,.entity-page .staff-table td[data-label=الإجراءات]{width:108px;min-width:108px}.entity-page .staff-table th:not(.row-index-cell):not(:last-child),.entity-page .staff-table td:not(.row-index-cell):not(:last-child){width:auto;min-width:0}.entity-page .staff-table .staff-identity,.entity-page .staff-table .staff-identity span,.entity-page .staff-table .staff-identity strong{max-width:100%;min-width:0}}.entity-page .staff-table .staff-identity{gap:7px}.entity-page .staff-table .staff-avatar{width:26px;height:26px;border-radius:7px;font-size:9px}.entity-page .ops-table .ops-row-icon,.entity-page .fin-table .fin-row-icon{width:26px;height:26px;flex:0 0 26px;border-radius:7px;font-size:11px}.entity-page .ops-table .ops-row-title,.entity-page .fin-table .fin-row-title{gap:7px;min-width:0}.entity-page .ops-table .ops-row-title strong,.entity-page .staff-table .staff-identity strong,.entity-page .fin-table .fin-row-title strong{line-height:1.15;font-size:var(--text-sm, 13px);font-weight:500}.entity-page .ops-table .ops-row-title small,.entity-page .staff-table .staff-identity small,.entity-page .fin-table .fin-row-title small{line-height:1.15}.entity-page .ops-table .row-actions .icon-button,.entity-page .ops-table .ops-actions .icon-button,.entity-page .staff-table .row-actions .icon-button,.entity-page .fin-table .fin-row-actions .icon-button,.entity-page .fin-table .row-actions .icon-button{width:26px;height:26px;border-radius:7px}.entity-page .ops-table thead th:last-child,.entity-page .staff-table thead th:last-child,.entity-page .fin-table thead th:last-child,.entity-page .ops-table td[data-label=الإجراءات],.entity-page .ops-table td[data-label=إجراءات],.entity-page .staff-table td[data-label=الإجراءات],.entity-page .fin-table td[data-label=الإجراءات]{text-align:center}.entity-page .ops-table .row-actions,.entity-page .ops-table .ops-actions,.entity-page .staff-table .row-actions,.entity-page .fin-table .fin-row-actions,.entity-page .fin-table .row-actions{justify-content:center}@media(min-width:768px){.entity-page .ops-table tbody td,.entity-page .staff-table tbody td,.entity-page .fin-table tbody td{border-bottom:1px solid var(--border-subtle, #e4eef6)}.entity-page .ops-table tbody tr:nth-child(odd),.entity-page .ops-table tbody tr:nth-child(odd) td,.entity-page .staff-table tbody tr:nth-child(odd),.entity-page .staff-table tbody tr:nth-child(odd) td,.entity-page .fin-table tbody tr:nth-child(odd),.entity-page .fin-table tbody tr:nth-child(odd) td{background:var(--surface-1)}.entity-page .ops-table tbody tr:nth-child(2n),.entity-page .ops-table tbody tr:nth-child(2n) td,.entity-page .staff-table tbody tr:nth-child(2n),.entity-page .staff-table tbody tr:nth-child(2n) td,.entity-page .fin-table tbody tr:nth-child(2n),.entity-page .fin-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--primary) 5%,var(--surface-1))}.entity-page .ops-table tbody tr:hover,.entity-page .ops-table tbody tr:hover td,.entity-page .staff-table tbody tr:hover,.entity-page .staff-table tbody tr:hover td,.entity-page .fin-table tbody tr:hover,.entity-page .fin-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 9%,var(--surface-1))}[data-theme=dark] .entity-page .ops-table tbody tr:nth-child(2n),[data-theme=dark] .entity-page .ops-table tbody tr:nth-child(2n) td,[data-theme=dark] .entity-page .staff-table tbody tr:nth-child(2n),[data-theme=dark] .entity-page .staff-table tbody tr:nth-child(2n) td,[data-theme=dark] .entity-page .fin-table tbody tr:nth-child(2n),[data-theme=dark] .entity-page .fin-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--primary) 8%,var(--surface-1))}[data-theme=dark] .entity-page .ops-table tbody tr:hover,[data-theme=dark] .entity-page .ops-table tbody tr:hover td,[data-theme=dark] .entity-page .staff-table tbody tr:hover,[data-theme=dark] .entity-page .staff-table tbody tr:hover td,[data-theme=dark] .entity-page .fin-table tbody tr:hover,[data-theme=dark] .entity-page .fin-table tbody tr:hover td{background:color-mix(in srgb,var(--primary) 14%,var(--surface-1))}}[data-theme=dark] .entity-page .ops-toolbar .student-search.ops-search{background:linear-gradient(180deg,var(--surface-1),var(--surface-2));border-color:var(--border-default)}.page-routes{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.app-shell-content{display:flex;flex-direction:column}.app-shell-content>:not([hidden]){display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0}.keep-alive-route.is-active:has(.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)){flex:1 1 0%;overflow:hidden}.keep-alive-route.is-active:has(.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)) .keep-alive-route-page{flex:1 1 0%;overflow:hidden}.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap){display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)>:is(.sr-only,.students-heading,.students-summary-bar,.students-summary,.staff-summary,.guardians-summary,.entity-summary-grid,.kpi-grid,.ops-metrics,.ops-tabs,.fin-summary-bar,.students-report-heading){flex-shrink:0}.main-content:not(.ops-home) :is(.students-workspace,.staff-workspace,.guardians-workspace,.ops-workspace,.fin-workspace,.students-report-layout,.students-report-preview){display:flex;flex:1 1 0%;flex-direction:column;min-height:0;overflow:hidden}.main-content:not(.ops-home) .ops-workspace>.gap-section{display:flex;flex:1 1 0%;flex-direction:column;min-height:0}.main-content:not(.ops-home) :is(.ops-workspace-header,.ops-toolbar,.students-toolbar,.staff-toolbar,.guardians-toolbar,.students-table-heading,.fin-workspace-header,.fin-workspace-toolbar,.students-pagination,.report-preview-head){flex-shrink:0}.main-content:not(.ops-home) .students-table-shell,.main-content:not(.ops-home) .data-table-shell{display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.report-preview-table-wrap,.att-table-shell:not(.att-table-shell--nested){min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-color:var(--border-emphasis, var(--border-subtle)) transparent}.main-content:not(.ops-home) :is(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.report-preview-table-wrap,.att-table-shell:not(.att-table-shell--nested)){flex:1 1 0%;max-height:none}.ops-home .ops-table-wrap{flex:none;max-height:420px}.ops-dialog-body .ops-table-wrap,.ops-dialog .ops-table-wrap,.ops-side-panel .ops-table-wrap{flex:none;max-height:min(24rem,calc((50dvh / var(--ui-scale))))}.ops-table,.data-table,.students-table,.staff-table,.guardians-table,.fin-table,.att-table,.report-preview-table{border-collapse:separate;border-spacing:0}.ops-table thead th,.students-table thead th,.staff-table thead th,.guardians-table thead th,.fin-table thead th,.att-table thead th,.report-preview-table thead th,.report-preview-table thead{position:sticky;top:0;z-index:2}.att-table thead th.att-sticky,.att-table--week thead .att-sticky{z-index:3}.att-table thead th,.report-preview-table thead th,.guardians-table thead th,[data-theme=dark] .att-table thead th,[data-theme=dark] .report-preview-table thead th,[data-theme=dark] .guardians-table thead th{background:var(--surface-2)}.students-report-page .students-report-layout--stacked{display:flex;flex:1 1 0%;flex-direction:column;min-height:0}.ops-split{flex:1 1 0%;min-height:0}.ops-split>.ops-table-wrap{flex:1 1 0%;min-height:0}.table-viewport-status{position:sticky;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;color:var(--ink-muted);font-size:var(--text-xs, 12px);background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.students-pagination,.ops-pagination,.table-viewport-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:36px;padding:6px 16px;flex-shrink:0;border-top:1px solid var(--line-soft, var(--border-subtle));background:var(--surface-1);color:var(--ink-muted);font-size:var(--text-xs, 12px)}.students-pagination--infinite{flex-direction:row;justify-content:space-between;min-height:36px}.table-viewport-bar__start{font-variant-numeric:tabular-nums}.table-viewport-bar__end{display:inline-flex;align-items:center;gap:8px;margin-inline-start:auto}@media(max-width:767px){.app-shell-content:has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap){overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-shell-content:has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)>:not([hidden]),.app-shell-content:has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap) .page-routes,.keep-alive-route.is-active:has(.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)),.keep-alive-route.is-active:has(.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap)) .keep-alive-route-page{flex:0 0 auto;min-height:auto;height:auto;overflow:visible}.main-content:not(.ops-home):has(.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.att-table-shell,.report-preview-table-wrap){flex:0 0 auto;height:auto;min-height:auto;max-height:none;overflow:visible}.main-content:not(.ops-home) :is(.students-workspace,.staff-workspace,.guardians-workspace,.ops-workspace,.fin-workspace,.students-report-layout,.students-report-preview){flex:none;overflow:visible}.main-content:not(.ops-home) .students-table-shell,.main-content:not(.ops-home) .data-table-shell{flex:none;min-height:auto;overflow:visible}.ops-table-wrap,.data-table-wrap,.ops-table-wrapper,.students-table-wrap,.staff-table-wrap,.guardians-table-wrap,.fin-table-wrap,.report-preview-table-wrap{flex:none;max-height:none;overflow:visible}.ops-table-wrap:has(table.permission-table),.ops-table-wrap:has(table.table-no-mobile-cards),.ops-table-wrapper:has(table.permission-table),.report-preview-table-wrap{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}}.sg-workspace{width:100%;max-width:none;margin:0;padding:4px 0 8px;box-sizing:border-box;background:transparent;border:0;box-shadow:none;overflow:visible;isolation:auto}.settings-users-page .ops-workspace.sg-workspace{overflow:visible;isolation:auto}.sg-page-head{position:relative;min-height:118px;margin-bottom:14px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border-subtle));border-radius:18px;background:radial-gradient(circle at 8% 10%,color-mix(in srgb,var(--primary) 18%,transparent) 0,transparent 36%),color-mix(in srgb,var(--primary) 5%,var(--surface-1))}.sg-page-head:after{content:"";position:absolute;inset-inline-end:-38px;bottom:-82px;width:190px;height:190px;border:34px solid color-mix(in srgb,var(--primary) 8%,transparent);border-radius:50%;pointer-events:none}.sg-page-head-copy{position:relative;z-index:1;display:flex;align-items:center;gap:14px;min-width:0}.sg-page-head-icon{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--primary) 28%,transparent);border-radius:16px;color:#fff;background:var(--primary);box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 24%,transparent);font-size:calc(1.05rem * var(--font-scale))}.sg-page-head-copy p,.sg-page-head-copy h2,.sg-page-head-copy span{margin:0}.sg-page-head-copy p{margin-bottom:2px;color:var(--primary);font-size:calc(.72rem * var(--font-scale));font-weight:800}.sg-page-head-copy h2{color:var(--ink);font-size:calc(1.22rem * var(--font-scale));line-height:1.4}.sg-page-head-copy div>span{display:block;margin-top:3px;color:var(--ink-muted);font-size:calc(.78rem * var(--font-scale))}.sg-page-head-meta{position:relative;z-index:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.sg-page-head-meta>span{min-height:36px;padding:7px 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--ink);background:color-mix(in srgb,var(--surface-1) 82%,transparent);font-size:calc(.75rem * var(--font-scale));font-weight:650;white-space:nowrap}.sg-page-head-meta i{color:var(--primary)}.sg-settings-frame{display:grid;grid-template-columns:218px minmax(0,1fr);gap:14px;align-items:start}.sg-quick-nav{position:sticky;top:calc(var(--topbar-height, 64px) + 12px);display:grid;gap:8px;padding:10px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-1);box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 5%,transparent)}.sg-quick-nav-head{padding:5px 7px 9px;display:grid;gap:2px;border-bottom:1px solid var(--border-subtle)}.sg-quick-nav-head>span{color:var(--ink);font-size:calc(.82rem * var(--font-scale));font-weight:800}.sg-quick-nav-head>small{color:var(--ink-muted);font-size:calc(.68rem * var(--font-scale))}.sg-quick-nav-list{display:grid;gap:4px}.sg-quick-nav-list button{width:100%;min-height:54px;padding:7px;display:grid;grid-template-columns:34px minmax(0,1fr) 12px;align-items:center;gap:8px;border:1px solid transparent;border-radius:11px;color:var(--ink);background:transparent;text-align:start;font:inherit;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}.sg-quick-nav-list button:hover,.sg-quick-nav-list button:focus-visible{outline:none;border-color:color-mix(in srgb,var(--primary) 22%,var(--border-subtle));color:var(--primary);background:var(--primary-soft);transform:translate(-2px)}[dir=ltr] .sg-quick-nav-list button:hover,[dir=ltr] .sg-quick-nav-list button:focus-visible{transform:translate(2px)}.sg-quick-nav-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));font-size:calc(.76rem * var(--font-scale))}.sg-quick-nav-list button>span:nth-child(2){min-width:0;display:grid;gap:1px}.sg-quick-nav-list strong{overflow:hidden;font-size:calc(.76rem * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.sg-quick-nav-list small{overflow:hidden;color:var(--ink-muted);font-size:calc(.63rem * var(--font-scale));text-overflow:ellipsis;white-space:nowrap}.sg-quick-nav-list button>i{color:var(--ink-muted);font-size:calc(.62rem * var(--font-scale))}.sg-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}.sg-section,.sg-card{display:flex;flex-direction:column;min-width:0;margin:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:14px;background:var(--surface-1);box-shadow:0 1px color-mix(in srgb,var(--border-subtle) 70%,transparent);scroll-margin-top:calc(var(--topbar-height, 64px) + 16px);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.sg-section:hover{border-color:color-mix(in srgb,var(--primary) 18%,var(--border-subtle));box-shadow:0 10px 28px color-mix(in srgb,var(--ink) 5%,transparent)}.sg-section--featured{border-color:color-mix(in srgb,var(--primary) 24%,var(--border-subtle));background:color-mix(in srgb,var(--primary) 2.5%,var(--surface-1))}.sg-section--featured .sg-section-head{padding-bottom:13px;border-bottom:1px solid color-mix(in srgb,var(--primary) 12%,var(--border-subtle));background:color-mix(in srgb,var(--primary) 4%,transparent)}.sg-section--wide,.sg-card--wide,.sg-card--highlight{grid-column:1 / -1}.sg-section-head,.sg-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:0;padding:14px 16px 0;background:transparent;border:0}.sg-section-title,.sg-card-head-text{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1}.sg-section-copy{display:grid;gap:2px;min-width:0}.sg-section-icon,.sg-card-head-icon{flex-shrink:0;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:calc(.78rem * var(--font-scale));background:color-mix(in srgb,var(--primary) 10%,var(--surface-2));border:1px solid color-mix(in srgb,var(--primary) 16%,transparent);color:var(--primary)}.sg-section-icon[data-tone=success],.sg-card-head-icon[data-tone=success]{color:var(--success, #43b75d);background:color-mix(in srgb,var(--success, #43b75d) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--success, #43b75d) 20%,transparent)}.sg-section-icon[data-tone=warning],.sg-card-head-icon[data-tone=warning]{color:var(--warning, #f47920);background:color-mix(in srgb,var(--warning, #f47920) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--warning, #f47920) 20%,transparent)}.sg-section-icon[data-tone=info],.sg-card-head-icon[data-tone=info]{color:var(--info, #3b82f6);background:color-mix(in srgb,var(--info, #3b82f6) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--info, #3b82f6) 20%,transparent)}.sg-section-icon[data-tone=danger],.sg-card-head-icon[data-tone=danger]{color:var(--danger, #d64545);background:color-mix(in srgb,var(--danger, #d64545) 10%,var(--surface-2));border-color:color-mix(in srgb,var(--danger, #d64545) 20%,transparent)}.sg-section-title h3,.sg-card-head-text h3{margin:0;font-size:calc(.92rem * var(--font-scale));font-weight:700;line-height:1.3;color:var(--ink)}.sg-section-hint,.sg-card-head-text p{display:block;margin:0;color:var(--ink-muted);font-size:calc(.75rem * var(--font-scale));font-weight:400;line-height:1.45}.sg-section-actions,.sg-card-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.sg-section-body,.sg-card-body{display:flex;flex-direction:column;flex:1;gap:12px;padding:14px 16px 16px}.sg-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.sg-fields-grid>.sg-field--wide{grid-column:1 / -1}.sg-field{display:flex;flex-direction:column;gap:6px;min-width:0}.sg-field>span{font-size:calc(.75rem * var(--font-scale));font-weight:600;color:var(--ink-muted)}.sg-field>input,.sg-field>select,.sg-field input:not(.form-date-seg-input),.sg-field select,.sg-field .form-select-trigger,.sg-field .form-numeric-input{width:100%;min-height:40px;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-2);color:var(--ink);font-size:calc(.86rem * var(--font-scale));font-family:inherit;box-sizing:border-box;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.sg-field>input:focus,.sg-field>select:focus,.sg-field .form-select-trigger:focus-visible{outline:none;border-color:var(--primary);background:var(--surface-1);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}.sg-field--checkbox{flex-direction:row;align-items:center;gap:10px;min-height:44px;padding:.55rem .75rem;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-subtle);cursor:pointer}.sg-field--checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0}.sg-field--checkbox>span{font-size:calc(.84rem * var(--font-scale));color:var(--ink)}.sg-logo-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sg-logo-thumb{width:72px;height:72px;object-fit:contain;border-radius:14px;border:1px solid var(--border-subtle);background:var(--surface-2);padding:8px;flex-shrink:0}.sg-logo-meta{flex:1 1 160px;min-width:0}.sg-logo-meta strong{display:block;font-size:calc(.9rem * var(--font-scale));color:var(--ink)}.sg-logo-meta small{display:block;margin-top:4px;color:var(--ink-muted);font-size:calc(.75rem * var(--font-scale));line-height:1.4}.sg-logo-actions{display:flex;gap:8px;flex-wrap:wrap}.sg-list-editor{display:grid;gap:10px}.sg-list-editor-add{display:flex;gap:8px;align-items:center}.sg-list-editor-add>input{flex:1;min-width:0;min-height:40px;padding:.45rem .7rem;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-2);color:var(--ink);font-size:calc(.86rem * var(--font-scale))}.sg-list-editor-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}.sg-list-editor-items li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-subtle);font-size:calc(.84rem * var(--font-scale))}.sg-list-editor-items li>span:first-child{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.sg-list-editor-flag{padding:1px 7px;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-size:11px;font-weight:700}.sg-list-editor-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.sg-list-editor-empty{margin:0;padding:14px 12px;border-radius:10px;border:1px dashed var(--border-default);color:var(--ink-muted);font-size:calc(.8rem * var(--font-scale));text-align:center}.sg-list-editor-inline{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.sg-list-editor-inline input{flex:1;min-width:0;min-height:34px;padding:0 8px;border-radius:8px;border:1px solid var(--primary-border, var(--border-default));background:var(--surface-1);color:var(--ink);font-size:calc(.84rem * var(--font-scale))}.sg-btn--danger-ghost{color:var(--danger, #d64545)}.sg-lists-duo{display:contents}.sg-segmented{display:inline-flex;align-items:stretch;gap:4px;padding:4px;border:1px solid var(--border-subtle);border-radius:12px;background:var(--surface-2);width:100%;max-width:420px}.sg-segmented button{flex:1;min-height:36px;padding:0 .7rem;border:0;border-radius:8px;background:transparent;color:var(--ink-muted);font-size:calc(.8rem * var(--font-scale));font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}.sg-segmented button.active{background:var(--primary);color:#fff}.sg-table{border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;background:var(--surface-2)}.sg-table-row{display:grid;grid-template-columns:100px 88px minmax(0,1fr) 52px 36px;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border-subtle);font-size:calc(.8rem * var(--font-scale));background:var(--surface-1)}.sg-table-row:last-child{border-bottom:0}.sg-table-row--head{background:var(--surface-2);font-weight:600;color:var(--ink-muted);font-size:calc(.72rem * var(--font-scale))}.sg-field--cell input,.sg-field--cell select{min-height:34px;padding:.3rem .5rem;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-2);color:var(--ink);font-size:calc(.8rem * var(--font-scale));width:100%;box-sizing:border-box}.sg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px;flex-wrap:wrap}.sg-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.sg-pref-stack{display:grid;gap:10px}.sg-pref-stack .pref-row{margin:0;padding:12px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--surface-2)}.sg-pref-stack .pref-row+.pref-row{margin-top:0}.sg-pref-stack .pref-row--font{display:grid;grid-template-columns:32px 1fr auto;gap:10px}.sg-pref-stack .pref-row-copy p{display:none}.sg-pref-stack .pref-preview{grid-column:1 / -1;margin-top:4px;padding:10px 12px}.sg-pref-stack .pref-preview-body{padding:.35rem 0}.sg-pref-stack .pref-preview-actions{grid-column:1 / -1;margin-top:.15rem}.sg-db-row{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px;border-radius:12px;border:1px solid var(--border-subtle);background:var(--surface-2)}.sg-db-row p{margin:4px 0 0;font-size:calc(.78rem * var(--font-scale));color:var(--ink-muted);line-height:1.45;max-width:58ch}.academic-year-export-note,.academic-year-rollover-box p,.academic-year-rollover-box h3{margin:0}.academic-year-export-note{color:var(--ink-muted);font-size:calc(.8rem * var(--font-scale));line-height:1.55}.academic-year-export-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.academic-year-rollover-box{display:grid;gap:12px;padding:14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--warning, #f47920) 22%,var(--border-subtle));background:color-mix(in srgb,var(--warning, #f47920) 6%,var(--surface-2))}.academic-year-rollover-box h3{font-size:calc(.88rem * var(--font-scale));font-weight:700}.academic-year-rollover-box p{color:var(--ink-muted);font-size:calc(.8rem * var(--font-scale));line-height:1.6}.sg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:.4rem .85rem;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--ink);font-size:calc(.8rem * var(--font-scale));font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:border-color .16s ease,color .16s ease,background .16s ease}.sg-btn:hover{border-color:var(--primary);color:var(--primary)}.sg-btn:disabled{opacity:.5;cursor:not-allowed}.sg-btn--primary{background:var(--primary);border-color:var(--primary);color:#fff}.sg-btn--primary:hover{background:var(--primary-hover, var(--primary));border-color:var(--primary-hover, var(--primary));color:#fff}.sg-btn--danger{border-color:color-mix(in srgb,var(--danger, #d64545) 32%,var(--border-default));color:var(--danger, #d64545);background:color-mix(in srgb,var(--danger, #d64545) 6%,var(--surface-1))}.sg-btn--icon{width:34px;height:34px;min-height:34px;padding:0}.sg-footer{display:none}.sg-empty{padding:16px 12px;font-size:calc(.8rem * var(--font-scale));text-align:center;color:var(--ink-muted);border:1px dashed var(--border-default);border-radius:10px}.sg-dirty-dot{width:8px;height:8px;border-radius:50%;background:var(--warning, #f47920);flex-shrink:0}.sg-toggle{width:38px;height:22px}.sg-toggle-slider:after{width:16px;height:16px}.sg-toggle input:checked+.sg-toggle-slider:after{inset-inline-start:calc(100% - 18px)}[data-theme=dark] .sg-section,[data-theme=dark] .sg-card{background:var(--surface-1);border-color:var(--border-subtle);box-shadow:none}[data-theme=dark] .academic-year-rollover-box{background:color-mix(in srgb,var(--warning, #f47920) 10%,var(--surface-2))}.sg-brand-studio{display:grid;gap:14px}.sg-brand-studio .sg-page-head .sg-logo-actions{position:relative;z-index:1;flex:0 0 auto}.sg-brand-identity{display:grid;gap:14px}.sg-brand-logo{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.sg-brand-logo-mark{width:72px;height:72px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--border-default);border-radius:16px;color:var(--primary);background:var(--primary-soft);font-size:1.3rem}.sg-brand-logo-mark img{width:100%;height:100%;object-fit:contain;background:var(--surface-1)}.sg-brand-logo-copy{flex:1 1 220px;min-width:0;display:grid;gap:8px}.sg-brand-logo-copy strong{font-size:calc(15px * var(--font-scale))}.sg-brand-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sg-brand-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sg-brand-preset{display:grid;gap:8px;min-height:0;padding:10px;border:1px solid var(--border-default);border-radius:12px;color:inherit;text-align:start;background:var(--surface-1);cursor:pointer;font:inherit;transition:border-color .16s ease,box-shadow .16s ease}.sg-brand-preset:hover{border-color:var(--primary-border)}.sg-brand-preset.is-on{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.sg-brand-preset:disabled{cursor:not-allowed;opacity:.55}.sg-brand-preset-swatches{display:flex;height:18px;overflow:hidden;border-radius:6px}.sg-brand-preset-swatches i{flex:1}.sg-brand-preset strong{font-size:calc(13px * var(--font-scale));font-weight:700}.sg-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sg-visual-color{min-width:0;display:grid;gap:8px;color:var(--ink);font-size:calc(12px * var(--font-scale));font-weight:600}.sg-visual-color-control{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1)}.sg-visual-color-control input[type=color]{width:72px;height:44px;padding:0;border:1px solid var(--line);border-radius:10px;background:transparent;cursor:pointer}.sg-visual-color-control b,.sg-visual-hex{flex:1;min-width:0;border:0;padding:0;color:inherit;background:transparent;font-size:calc(13px * var(--font-scale));font-weight:700;letter-spacing:.04em}.sg-visual-hex:focus{outline:none}@media(max-width:1180px){.sg-settings-frame{grid-template-columns:1fr}.sg-quick-nav{top:8px;z-index:4;display:block;padding:8px}.sg-quick-nav-head{display:none}.sg-quick-nav-list{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin}.sg-quick-nav-list button{width:auto;min-width:178px;flex:0 0 auto}.sg-quick-nav-list button>i{display:none}}@media(max-width:1100px){.sg-layout{grid-template-columns:1fr}.sg-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.sg-workspace{padding:12px}.sg-page-head{min-height:0;padding:18px;align-items:flex-start;flex-direction:column}.sg-brand-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-page-head-meta{justify-content:flex-start}.sg-quick-nav-list button{min-width:156px;grid-template-columns:30px minmax(0,1fr)}.sg-quick-nav-icon{width:30px;height:30px}.sg-section-head,.sg-card-head,.sg-section-body,.sg-card-body{padding-inline:12px}.sg-section-head{flex-wrap:wrap}.sg-fields-grid,.academic-year-export-row{grid-template-columns:1fr}.academic-year-export-row .sg-btn{width:100%}.sg-table-row{grid-template-columns:1fr 1fr;gap:8px}.sg-table-row--head{display:none}.sg-logo-row,.sg-db-row,.sg-toolbar{align-items:stretch}.sg-logo-actions,.sg-toolbar-actions{width:100%}.sg-logo-actions .sg-btn,.sg-toolbar-actions .sg-btn,.sg-db-row .sg-btn{flex:1}}@media(max-width:520px){.sg-fields-grid,.sg-visual-grid,.sg-brand-names{grid-template-columns:1fr}}.stage-track-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.stage-track-card{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid var(--border-subtle);border-radius:16px;background:var(--surface-1)}.stage-track-card-head,.stage-track-add{display:flex;align-items:flex-end;gap:10px}.stage-track-card-head label,.stage-track-add{flex:1}.stage-track-card-head label{display:flex;flex-direction:column;gap:6px}.stage-track-card input{width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-0, #fff);color:inherit}.stage-track-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.stage-track-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px}.stage-track-actions{display:flex;gap:4px}.stage-track-empty{color:var(--text-muted, #667)}@media(max-width:600px){.attendance-breakdown.attendance-breakdown,.attendance-pick-meta.attendance-pick-meta,.attendance-status-picker.attendance-status-picker,.audit-detail-panel .audit-detail-grid.audit-detail-grid,.audit-log-page .audit-detail-grid.audit-detail-grid,.broadcast-grid.broadcast-grid,.chart-legend.chart-legend,.confirm-dialog-impact-grid.confirm-dialog-impact-grid,.contact-log-form-grid.contact-log-form-grid,.dfd-grid.dfd-grid,.drp-cals.drp-cals,.exam-detail-list.exam-detail-list,.exam-detail-quick.exam-detail-quick,.exam-form-examtype.exam-form-examtype,.exam-form-grid.exam-form-grid,.exam-form-period.exam-form-period,.exam-form-period.exam-form-period.exam-form-period--binary.exam-form-period--binary,.exp-party-row.exp-party-row,.fee-account-form-grid.fee-account-form-grid,.fin-summary-bar:has(.fin-summary-bar__cash) .fin-summary-bar__metrics.fin-summary-bar__metrics,.fin-summary-bar__metrics.fin-summary-bar__metrics,.fin-workspace-toolbar__actions.fin-workspace-toolbar__actions,.form-check-options--multi.form-check-options--multi,.form-dual-check.form-dual-check,.form-stage-grade.form-stage-grade,.guardian-form-grid.guardian-form-grid,.heading-actions.heading-actions,.health-info-grid.health-info-grid,.kpi-section .kpi-grid.kpi-grid,.leave-balances.leave-balances,.login-highlights.login-highlights,.messaging-filters.messaging-filters,.module-grid.module-grid,.note-form-dialog .note-form-location-field .note-form-tone-group.note-form-tone-group.note-form-tone-group,.note-form-dialog .note-form-tone-group.note-form-tone-group.note-form-tone-group,.note-form-tone-group.note-form-tone-group,.notification-channels-grid.notification-channels-grid,.notifications-detail-stats.notifications-detail-stats,.notifications-send-grid.notifications-send-grid,.ops-detail-list.ops-detail-list,.ops-form-grid.ops-form-grid,.ops-legend--wrap.ops-legend--wrap,.payment-summary-grid.payment-summary-grid,.payslip-list.payslip-list dl,.product-permissions.product-permissions,.profile-header-summary-block--fees.profile-header-summary-block--fees,.profile-metrics.profile-metrics,.qr-usage-strip.qr-usage-strip,.quick-actions.quick-actions,.receipt-drawer-facts.receipt-drawer-facts,.receipt-view-meta.receipt-view-meta,.recon-tally.recon-tally,.recruitment-compose-card .recruitment-opportunity-form .form-grid.form-grid,.recruitment-opportunity-facts.recruitment-opportunity-facts,.recruitment-opportunity-form .form-grid.two-columns.two-columns,.recruitment-opportunity-form .two-columns.two-columns,.recruitment-public-form .form-grid.two-columns.two-columns,.report-config-fields.report-config-fields,.report-template-grid.report-template-grid,.route-form-basics.route-form-basics,.route-form-crew.route-form-crew,.route-form-dialog .route-form-add-bar.route-form-add-bar,.route-form-dialog .route-student-cards.route-student-cards,.route-form-stats.route-form-stats,.route-sheet-meta.route-sheet-meta,.route-student-cards.route-student-cards,.rp-grid-3.rp-grid-3,.rp-grid.rp-grid,.schedule-config-days.schedule-config-days,.schedule-config-examwindow-grid.schedule-config-examwindow-grid,.schedule-lesson-detail-grid.schedule-lesson-detail-grid,.schedule-lesson-meta.schedule-lesson-meta,.settings-exam-types-grid.settings-exam-types-grid,.settings-form-grid.settings-form-grid,.settings-role-strip.settings-role-strip,.sfw-attachments-grid.sfw-attachments-grid,.sfw-billing-hero-figures.sfw-billing-hero-figures,.sfw-billing-summary-stats.sfw-billing-summary-stats,.sfw-firstmonth-row .form-check-options.form-check-options,.sfw-form-panes.sfw-form-panes,.sfw-grid--driver.sfw-grid--driver,.sfw-grid--evaluation.sfw-grid--evaluation,.sfw-grid--financial.sfw-grid--financial,.sfw-grid--qualifications-row.sfw-grid--qualifications-row,.sfw-grid-3.sfw-grid-3,.sfw-grid-4.sfw-grid-4,.sfw-grid.sfw-grid,.sfw-onepage.sfw-onepage,.sfw-onepage.sfw-onepage--view.sfw-onepage--view,.sg-brand-names.sg-brand-names,.sg-brand-presets.sg-brand-presets,.sg-fields-grid.sg-fields-grid,.sg-layout.sg-layout,.sg-visual-grid.sg-visual-grid,.sk-messaging-tabs.sk-messaging-tabs,.sk-module-row.sk-module-row,.sk-quick-actions.sk-quick-actions,.sp-info-grid.sp-info-grid[data-columns="3"],.staff-filter-dialog.students-filter-dialog.staff-filter-dialog--wide .staff-filter-columns.staff-filter-columns,.staff-finance-grid.staff-finance-grid,.staff-form-grid.staff-form-grid,.staff-info-grid.staff-info-grid[data-columns="3"],.staff-profile-metrics.staff-profile-metrics,.staff-qualification-fields.staff-qualification-fields,.sto-dates.is-range.is-range,.student-form-grid.student-form-grid,.student-profile-drawer .academic-tab .academic-kpi-grid.academic-kpi-grid,.student-profile-drawer .academic-tab.subject-transcript-view .subject-transcript-stats.subject-transcript-stats,.student-profile-drawer .attendance-month-grid.attendance-month-grid,.student-profile-drawer .finance-tab .fin-columns.fin-columns,.student-profile-drawer .finance-tab .fin-status__grid.fin-status__grid,.student-profile-drawer .profile-header-cards--no-transport.profile-header-cards--no-transport,.student-profile-drawer .profile-header-cards--no-transport.profile-header-cards--no-transport.profile-header-cards--no-transport,.student-profile-drawer .profile-header-cards.profile-header-cards,.student-profile-drawer .profile-header-cards.profile-header-cards.profile-header-cards,.student-profile-drawer .profile-metrics.finance.student-finance-kpis.student-finance-kpis,.student-profile-drawer .transport-hero-meta.transport-hero-meta,.student-profile-drawer .transport-tab .transport-ops-row.transport-ops-row,.student-profile-drawer .transport-tab .transport-overrides .sto-dates.is-range.is-range,.student-profile-drawer .transport-tab .transport-overrides .sto-repeat-row.sto-repeat-row,.students-filter-dialog.staff-filter-dialog--wide .staff-filter-columns.staff-filter-columns,.students-filter-panes.students-filter-panes,.students-mobile-board.students-mobile-board,.students-report-layout--stacked .report-template-grid.report-template-grid,.subjects-stage-tabs.subjects-stage-tabs,.swk-stats.swk-stats,.transport-assignment.transport-assignment dl,.transport-note-list.transport-note-list,.transport-report-studio .report-config-fields.report-config-fields,.transport-report-studio .report-preview-actions.report-preview-actions,.transport-report-studio .report-template-grid.report-template-grid,.wizard-finance-grid.wizard-finance-grid,.wizard-parent-grid.wizard-parent-grid,.wizard-stepper.wizard-stepper,table.data-table.data-table tbody,table.guardians-table.guardians-table tbody,table.mobile-card-table.mobile-card-table tbody,table.ops-table:not(.permission-table):not(.table-no-mobile-cards.table-no-mobile-cards) tbody,table.staff-table.staff-table tbody,table.students-table.students-table tbody{grid-template-columns:minmax(0,1fr)}.attendance-status-picker.attendance-status-picker,.choice-tile-group--2.choice-tile-group--2,.class-attendance-status-picker.class-attendance-status-picker,.guardians-summary.guardians-summary,.installments-report-summary.installments-report-summary,.kpi-section .kpi-grid.kpi-grid,.kpi-stage-grid.kpi-stage-grid,.ops-home__kpis.ops-home__kpis,.ops-metrics.ops-metrics,.payment-installment-field .choice-tile-group.choice-tile-group,.payment-method-field .choice-tile-group.choice-tile-group,.profile-metrics.finance.finance,.sfw-health-status-field .form-dual-check.form-dual-check,.staff-profile-metrics.staff-profile-metrics,.staff-summary.staff-summary,.student-profile-drawer .academic-tab .academic-kpi-grid.academic-kpi-grid,.student-profile-drawer .attendance-hero-stats.attendance-hero-stats,.student-profile-drawer .profile-metrics.finance.student-finance-kpis.student-finance-kpis,.students-summary.entity-summary-grid.entity-summary-grid,.subject-transcript-stats.subject-transcript-stats,.swk-stats.swk-stats,.transport-report-studio .transport-report-controls .choice-tile-group.choice-tile-group,.transport-trip-stats.transport-trip-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
