@font-face{font-family:manrope;src:url(../media/Manrope_Variable-s.p.0nrgw8_4xg_io.ttf)format("truetype");font-display:swap}@font-face{font-family:manrope Fallback;src:local(Arial);ascent-override:106.45%;descent-override:29.96%;line-gap-override:0.0%;size-adjust:100.14%}.manrope_369126e5-module__HDhtMG__className{font-family:manrope,manrope Fallback}.manrope_369126e5-module__HDhtMG__variable{--font-manrope:"manrope", "manrope Fallback"}
@font-face{font-family:lora;src:url(../media/Lora_Variable-s.p.3485w8-p3mse9.ttf)format("truetype");font-display:swap}@font-face{font-family:lora Fallback;src:local(Arial);ascent-override:95.74%;descent-override:26.08%;line-gap-override:0.0%;size-adjust:105.08%}.lora_c5622415-module__uVQtbG__className{font-family:lora,lora Fallback}.lora_c5622415-module__uVQtbG__variable{--font-lora:"lora", "lora Fallback"}
:root{--background:#f6f2ed;--surface:#fffcf8;--surface-elevated:#fff;--primary:#4f3d50;--primary-pressed:#3d2e3e;--secondary:#776173;--lilac:#a98aa3;--lilac-strong:#776173;--accent:#b66a4f;--accent-soft:#f3ddd5;--stone:#e8e0d9;--sage:#7b8977;--text:#241b24;--text-secondary:#655d64;--text-muted:#746b71;--border:#ded5cf;--border-strong:#b9aaa4;--control-border:#8b7e86;--on-primary:#fff;--on-secondary:#fff;--on-destructive:#fff;--interactive-hover:#eee7eb;--shell-surface:#fbf8f4;--shell-hover:#eee7eb;--status-success-text:#315a43;--status-success-surface:#edf5ef;--status-warning-text:#754715;--status-warning-surface:#fff3df;--status-danger-text:#8b3434;--status-danger-surface:#f9e8e8;--font-serif:var(--font-lora), Georgia, serif;--success:#52705b;--warning:#98602d;--destructive:#a34848;--focus:#776173;--sidebar-width:236px;--topbar-height:72px;--shadow-soft:0 8px 28px #4f3d5014}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--background:#201b20;--surface:#2a242a;--surface-elevated:#332b33;--primary:#dcc5d6;--primary-pressed:#efe0eb;--secondary:#d0b7ca;--lilac:#cbaec5;--lilac-strong:#e0c7db;--accent:#e39a7d;--accent-soft:#4c3539;--stone:#403740;--sage:#a7ba9f;--text:#f8eef5;--text-secondary:#ddd0da;--text-muted:#b9aab5;--border:#544755;--border-strong:#766778;--control-border:#a994a6;--on-primary:#241b24;--on-secondary:#241b24;--on-destructive:#241b24;--interactive-hover:#403640;--shell-surface:#2a242a;--shell-hover:#403640;--status-success-text:#bfe2c2;--status-success-surface:#253b2d;--status-warning-text:#f2c996;--status-warning-surface:#49351f;--status-danger-text:#ffc0c0;--status-danger-surface:#4d292d;--success:#a5c8a8;--warning:#ecc18d;--destructive:#f0a4a4;--focus:#efc7e7;--shadow-soft:0 8px 28px #00000047}}:root[data-theme=dark]{--background:#201b20;--surface:#2a242a;--surface-elevated:#332b33;--primary:#dcc5d6;--primary-pressed:#efe0eb;--secondary:#d0b7ca;--lilac:#cbaec5;--lilac-strong:#e0c7db;--accent:#e39a7d;--accent-soft:#4c3539;--stone:#403740;--sage:#a7ba9f;--text:#f8eef5;--text-secondary:#ddd0da;--text-muted:#b9aab5;--border:#544755;--border-strong:#766778;--control-border:#a994a6;--on-primary:#241b24;--on-secondary:#241b24;--on-destructive:#241b24;--interactive-hover:#403640;--shell-surface:#2a242a;--shell-hover:#403640;--status-success-text:#bfe2c2;--status-success-surface:#253b2d;--status-warning-text:#f2c996;--status-warning-surface:#49351f;--status-danger-text:#ffc0c0;--status-danger-surface:#4d292d;--success:#a5c8a8;--warning:#ecc18d;--destructive:#f0a4a4;--focus:#efc7e7;--shadow-soft:0 8px 28px #00000047}
:root{--radius-small:8px;--radius-medium:12px;--radius-large:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--control-height:48px;--control-height-large:52px;--motion-fast:.16s;--motion-base:.2s;--ease-out:cubic-bezier(.2, .8, .2, 1);--state-selected:color-mix(in srgb, var(--lilac) 26%, var(--surface))}.typeCaption{font-size:12px;font-weight:500;line-height:1.35}.typeLabel{font-size:13px;font-weight:650;line-height:1.4}.typeBodySm{font-size:14px;line-height:1.45}.typeBody{font-size:16px;line-height:1.5}.typeTitle{font-size:17px;font-weight:600;line-height:1.4}.typeH3{font-size:20px;font-weight:600;line-height:1.4}.typeH2{font-family:var(--font-serif);letter-spacing:-.01em;font-size:24px;font-weight:500;line-height:1.35}.typeH1{font-family:var(--font-serif);letter-spacing:-.02em;font-size:30px;font-weight:500;line-height:1.27}.typeNumeric{font-variant-numeric:tabular-nums;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*{box-sizing:border-box}html{background:var(--background);color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-manrope,system-ui), system-ui, sans-serif}body{background:var(--background);min-width:0;margin:0}button,input,select,textarea{font:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%;scroll-margin-block:24px}@media (max-width:720px){body main :is(input,select,textarea):not([type=checkbox]):not([type=radio]),body dialog :is(input,select,textarea):not([type=checkbox]):not([type=radio]){font-size:max(16px,1em)}}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;min-height:48px}button,a,summary,input,select,textarea{touch-action:manipulation;min-height:48px}summary,[role=tab]{min-height:48px}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--primary);flex:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 72%, transparent);outline-offset:3px}.srOnly{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skipLink{z-index:100;border:2px solid var(--focus);background:var(--surface-elevated);min-height:48px;color:var(--text);border-radius:8px;align-items:center;padding:0 16px;font-weight:750;display:inline-flex;position:fixed;top:10px;left:10px;transform:translateY(calc(-100% - 18px))}.skipLink:focus-visible{transform:translateY(0)}.brandMonogram{background:var(--primary);width:48px;height:48px;color:var(--on-primary);font-family:var(--font-serif);letter-spacing:-.08em;border-radius:9px;flex:none;place-items:center;font-size:24px;display:grid}.brandMonogram.large{border-radius:12px;width:76px;height:76px;font-size:38px}.brandName{font-family:var(--font-serif);margin:0;font-size:18px;font-weight:550;line-height:1.2}.brandProduct{color:var(--secondary);letter-spacing:.04em;margin:4px 0 0;font-size:12px;font-weight:650}
.loginPage{grid-template-columns:minmax(360px,.86fr) minmax(520px,1.14fr);min-height:100svh;display:grid}.loginBrand{background:var(--primary);color:var(--on-primary);flex-direction:column;align-items:flex-start;padding:clamp(40px,6vw,88px);display:flex}.loginBrand .brandMonogram{background:var(--on-primary);color:var(--primary);margin-bottom:24px}.loginBrand .brandName{font-size:28px}.loginBrand .brandProduct{color:color-mix(in srgb, var(--on-primary) 78%, transparent);font-size:14px}.loginBrand blockquote{max-width:470px;font-family:var(--font-serif);border-top:1px solid #fff9fc38;margin:auto 0 0;padding:32px 0 0;font-size:clamp(22px,2.2vw,34px);font-weight:450;line-height:1.46}.loginPanel{grid-template-columns:minmax(0,1fr);place-items:center;padding:48px 24px;display:grid}.loginPanelInner{width:min(100%,440px);min-width:0}.loginMark{color:var(--secondary);letter-spacing:.04em;margin:0 0 40px;font-size:13px;font-weight:700;display:none}.loginPanel h1{font-family:var(--font-serif);letter-spacing:-.035em;margin:0;font-size:clamp(36px,4vw,50px);font-weight:500;line-height:1.14}.loginLead{color:var(--text-secondary);margin:16px 0 36px;font-size:16px;line-height:1.65}.loginForm{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.fieldGroup{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.fieldGroup label{font-size:13px;font-weight:650}.inputShell{border:1px solid var(--control-border);background:var(--surface-elevated);min-height:54px;color:var(--text-muted);border-radius:10px;align-items:center;gap:12px;padding:0 14px;transition:border-color .16s,box-shadow .16s;display:flex}.inputShell:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #77617326}.inputShell input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.inputShell input::placeholder{color:var(--text-muted)}.inputAction{width:48px;height:48px;color:var(--secondary);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.inputAction svg{width:20px}.primaryButton{border:1px solid var(--primary);background:var(--primary);min-height:52px;color:var(--on-primary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:700;transition:background .16s,transform 90ms;display:inline-flex}.primaryButton:hover{background:var(--primary-pressed)}.primaryButton:active{transform:scale(.99)}.primaryButton:disabled{cursor:wait;opacity:.74}.primaryButton.compact{min-height:48px;padding:0 22px}.formError,.fieldError{color:var(--destructive);margin:-4px 0 0;font-size:13px;line-height:1.5}.loginSupport{color:var(--text-muted);margin:28px 0 0;font-size:12px;line-height:1.6}.spin{width:19px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
.appShell{min-height:100svh}.sidebar{z-index:30;width:var(--sidebar-width);padding:24px 16px 18px;padding-bottom:max(18px, env(safe-area-inset-bottom));overscroll-behavior:contain;border-right:1px solid var(--border);background:var(--shell-surface);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebarBrand{align-items:center;gap:12px;padding:0 8px 32px;display:flex}.sidebarClose{display:none}.navList{gap:6px;display:grid}.navGroup{gap:3px;min-width:0;display:grid}.navGroup+.navGroup{border-top:1px solid var(--border);margin-top:14px;padding-top:10px}.navGroupTitle{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:2px 13px 6px;font-size:12px;font-weight:700}.navGroupHeading{margin:0}.navGroupToggle{width:100%;min-height:48px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:650;display:flex}.navGroupToggle:hover{background:var(--shell-hover);color:var(--primary)}.navGroupToggle svg{flex-shrink:0;width:16px;height:16px}.navGroupToggle[aria-expanded=true] svg{transform:rotate(180deg)}.navSubgroup{gap:3px;display:grid}.navSubgroup+.navSubgroup{border-top:1px solid color-mix(in srgb, var(--border) 72%, transparent);margin-top:5px;padding-top:5px}.navSubgroupLabel{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;margin:8px 13px 4px;font-size:11px;font-weight:700}.navSubgroupToggle{width:100%;min-height:48px;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 13px;font-size:13px;font-weight:650;display:flex}.navSubgroupToggle:hover{background:var(--shell-hover);color:var(--primary)}.navSubgroupToggle svg{flex-shrink:0;width:16px;height:16px}.navSubgroupToggle[aria-expanded=true] svg{transform:rotate(180deg)}.navSubgroupLinks .navItem{padding-left:24px}.navItem,.sidebarLogout button{min-height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 13px;font-size:13px;font-weight:590;transition:background .16s,color .16s;display:flex}.navItem svg,.sidebarLogout svg{stroke-width:1.7px;width:20px}.navItem:hover,.sidebarLogout button:hover{background:var(--shell-hover);color:var(--primary)}.navItem.active{background:var(--primary);color:var(--on-primary)}.sidebarLogout{border-top:1px solid var(--border);margin-top:auto;padding-top:16px}.sidebarLogout button{width:100%;color:var(--text-secondary)}.appMain{min-height:100svh;margin-left:var(--sidebar-width)}.topbar{z-index:20;height:var(--topbar-height);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:24px;padding:0 32px;display:flex;position:sticky;top:0}.menuButton{display:none}.globalSearch{border:1px solid var(--border);background:var(--surface-elevated);width:min(310px,30vw);min-height:48px;color:var(--text-muted);border-radius:9px;align-items:center;gap:10px;padding:0 13px;display:flex}.globalSearch svg{width:18px}.globalSearch input{width:100%;min-height:48px;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.globalSearch:focus-within,.studentSearch:focus-within{border-color:var(--focus);outline:3px solid color-mix(in srgb, var(--focus) 72%, transparent);outline-offset:3px}.globalSearch input:focus-visible,.studentSearch input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:5px}.topbarDate{color:var(--text-secondary);text-transform:capitalize;margin-left:auto;font-size:13px}.accountMenu{position:relative}.accountMenu summary{min-height:48px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:600;list-style:none;display:flex}.accountMenu summary::-webkit-details-marker{display:none}.accountMenu summary>svg{width:16px}.avatar{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:36px;height:36px;color:var(--primary);border-radius:50%;place-items:center;font-size:12px;font-weight:750;display:grid}.accountPopover{border:1px solid var(--border);background:var(--surface-elevated);width:230px;box-shadow:var(--shadow-soft);border-radius:10px;gap:5px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.accountPopover strong{font-size:13px}.accountPopover span{color:var(--text-muted);font-size:12px}.accountPopover form{border-top:1px solid var(--border);margin-top:10px;padding-top:10px}.accountPopover button{background:var(--status-danger-surface);width:100%;min-height:48px;color:var(--status-danger-text);cursor:pointer;border:0;border-radius:7px;font-size:12px;font-weight:650}.contentFrame{width:min(100%,1540px);scroll-margin-top:calc(var(--topbar-height) + 16px);margin:0 auto;padding:36px clamp(24px,3vw,44px) 64px}.pageHeader{margin-bottom:20px}.contentFrame .pageHeader h1{font-size:clamp(26px,2.2vw,32px)}.pageHeader.split,.detailHeader{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.pageHeader h1,.detailHeader h1{font-family:var(--font-serif);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(26px,2.4vw,34px);font-weight:500;line-height:1.22}.pageHeader p,.detailHeader p{color:var(--text-secondary);margin:6px 0 0;font-size:13.5px}.pageHeader p,.detailHeader p,.loginLead{text-wrap:pretty}.filterHelpHint{color:var(--text-muted);align-items:center;gap:6px;margin:4px 0 10px;font-size:12px;display:inline-flex}
.metricBand.compactMetrics{grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:visible}.compactMetrics .metricItem{flex-direction:row;justify-content:flex-start;align-items:center;gap:12px;min-width:0;min-height:88px;padding:14px 18px}.compactMetrics .metricItem strong{font-size:26px}.compactMetrics .metricIcon{width:36px;height:36px}.dashboardSummaryRow{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.dashboardSummaryRow .compactMetrics .metricItem{gap:10px;min-height:72px;padding:10px 14px}.dashboardSummaryRow .compactMetrics .metricIcon{width:32px;height:32px}.dashboardSummaryRow .compactMetrics .metricIcon svg{width:19px}.dashboardSummaryRow .compactMetrics .metricItem strong{font-size:24px}.dashboardSummaryRow .quickActionsBar{flex-wrap:nowrap;margin-top:0}.dashboardGrid.noAttention{grid-template-columns:minmax(0,1fr)}.dashboardFinanceDetails{border-top:1px solid var(--border);margin-top:18px}.dashboardFinanceDetails>summary{min-height:48px;color:var(--text-secondary);cursor:pointer;align-content:center;font-size:13px;font-weight:650}.dashboardFinanceDetails>summary:hover{color:var(--primary)}.dashboardFinanceDetails .dashboardFinance{margin-top:0}@media (max-width:760px){.dashboardSummaryRow{grid-template-columns:minmax(0,1fr)}.dashboardSummaryRow .quickActionsBar{flex-wrap:wrap;justify-content:flex-start}.compactMetrics .metricItem{min-height:76px;padding:12px 10px}.compactMetrics .metricIcon{display:none}.compactMetrics .metricLabel{font-size:12px}.compactMetrics .metricItem strong{font-size:22px}}@media (min-width:761px) and (max-width:1180px){.dashboardSummaryRow{grid-template-columns:minmax(0,1fr)}.dashboardSummaryRow .quickActionsBar{flex-wrap:wrap;justify-content:flex-end}}.metricBand{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.metricItem{border-right:1px solid var(--border);align-items:center;gap:16px;min-height:96px;padding:14px clamp(16px,2vw,28px);display:flex}.metricItem:last-child{border-right:0}.metricIcon{background:color-mix(in srgb, var(--primary) 12%, var(--surface));width:46px;height:46px;color:var(--primary);border-radius:50%;flex:none;place-items:center;display:grid}.metricIcon svg{stroke-width:1.7px;width:22px}.metricItem>span:last-child{gap:6px;display:grid}.metricLabel{color:var(--text-secondary);font-size:12px}.metricItem strong{font-family:var(--font-serif);font-variant-numeric:tabular-nums;letter-spacing:-.025em;font-size:clamp(22px,2.15vw,32px);font-weight:520}.quickActionsBar{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.quickActionBtn{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s,background-color .16s,transform .16s;display:inline-flex}.quickActionBtn:hover{color:var(--secondary);border-color:color-mix(in srgb, var(--lilac) 45%, var(--border));background:color-mix(in srgb, var(--lilac) 6%, var(--surface));transform:translateY(-1px)}.quickActionBtnPrimary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.quickActionBtnPrimary:hover{background:var(--primary-pressed);border-color:var(--primary-pressed);color:var(--on-primary)}.dashboardGrid{grid-template-columns:minmax(0,1fr) minmax(340px,.38fr);gap:18px;margin-top:14px;display:grid}.dashboardFinance,.permissionNotice{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.dashboardFinance>div,.permissionNotice{border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:4px;padding:14px 18px;display:grid}.dashboardFinance span,.dashboardFinance small,.permissionNotice{color:var(--text-secondary);font-size:12px}.dashboardFinance strong{font-variant-numeric:tabular-nums}.schedulePanel,.attentionPanel,.dailySummary,.listSurface,.participantsSurface{border:1px solid var(--border);background:var(--surface);border-radius:10px}.schedulePanel{--week-chrome:328px;min-width:0;padding:18px 16px 10px}.schedulePanel .weekDayEvents{--hour-px:max(46px, calc((100vh - var(--week-chrome,328px) - 48px) / var(--hours)))}.todayOperationsGrid{grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:14px;margin-top:14px;display:grid}.attentionColumn .todayOperationsGrid{grid-template-columns:1fr;gap:12px;margin-top:0}.attentionColumn .todayOpsHeader{align-items:flex-start;min-height:0;padding:12px 14px}.attentionColumn .todayOpsHeader h2{font-size:17px}.attentionColumn .collectionGroupRow,.attentionColumn .dayDebtorRow{padding:10px 14px}.attentionColumn .dayDebtorRow{flex-direction:column;align-items:flex-start;gap:8px}.attentionColumn .todayOpsEmpty{padding:14px}.todayOpsPanel{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;overflow:hidden}.todayOpsHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:70px;padding:14px 18px;display:flex}.todayOpsHeader h2{font-family:var(--font-serif);margin:0;font-size:19px;font-weight:520}.todayOpsHeader span,.collectionGroupRow span,.dayDebtorLessons,.dayDebtorOverdue small,.todayOpsEmpty{color:var(--text-secondary);font-size:12px}.todayOpsHeader>div>span{margin-top:4px;display:block}.todayOpsHeader>a{min-height:48px;color:var(--secondary);align-items:center;font-size:12px;font-weight:750;display:inline-flex}.collectionGroupList,.dayDebtorList{display:grid}.collectionGroupRow,.dayDebtorRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:13px 18px;display:flex}.collectionGroupRow:last-child,.dayDebtorRow:last-child{border-bottom:0}.collectionGroupRow>div,.dayDebtorMain,.dayDebtorOverdue{gap:3px;display:grid}.collectionGroupRow b,.dayDebtorInlineBalances strong{font-variant-numeric:tabular-nums}.dayDebtorMain{min-width:0}.dayDebtorName{color:var(--text);font-weight:750}.dayDebtorIdentity{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dayDebtorInlineBalances{flex:none;align-items:baseline;gap:7px;display:inline-flex}.dayDebtorInlineBalances strong{color:var(--text);white-space:nowrap;font-size:14px;font-weight:750}a.dayDebtorName:hover{color:var(--secondary)}.dayDebtorLessons{gap:2px;display:grid}.dayDebtorOverdue small{color:var(--danger)}.todayOpsEmpty{margin:0;padding:18px}@media (max-width:980px){.todayOperationsGrid{grid-template-columns:1fr}}@media (max-width:640px){.todayOpsHeader,.collectionGroupRow,.dayDebtorRow{align-items:flex-start}.dayDebtorRow{flex-direction:column}.dayDebtorIdentity{flex-wrap:wrap;align-items:flex-start}}.sectionHeading{justify-content:space-between;align-items:center;gap:20px;padding:0 10px 18px;display:flex}.sectionHeading h2,.attentionPanel h2,.dailySummary h2{font-family:var(--font-serif);letter-spacing:-.02em;margin:0;font-size:21px;font-weight:520}.sectionHeading p{color:var(--text-muted);margin:5px 0 0;font-size:12px}.sectionHeading>a{min-height:48px;color:var(--secondary);align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.sectionHeading>a svg{width:16px}.desktopTableWrap,.listSurface{overflow-x:auto}.dataTable{border-collapse:collapse;width:100%;color:var(--text-secondary);text-align:left;font-size:12px}.dataTable th{border-bottom:1px solid var(--border);height:46px;color:var(--text-muted);letter-spacing:.02em;white-space:nowrap;padding:0 12px;font-size:12px;font-weight:700}.dataTable td{border-bottom:1px solid var(--border);vertical-align:middle;height:66px;padding:10px 12px}.dataTable tbody tr:last-child td{border-bottom:0}.dataTable tbody tr{transition:background .16s}.dataTable tbody tr:hover{background:var(--shell-hover)}.pagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:10px 22px;display:flex}.pagination>span{color:var(--text-secondary);font-size:12px}.pagination>div{gap:8px;display:flex}.pagination a,.pagination button,.pagination [aria-disabled=true]{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--secondary);border-radius:8px;justify-content:center;align-items:center;padding:0 14px;font-size:12px;font-weight:750;display:inline-flex}.pagination button{cursor:pointer;font-family:inherit}.pagination a:hover,.pagination button:hover:not(:disabled){background:var(--interactive-hover)}.pagination [aria-disabled=true],.pagination button:disabled{color:var(--text-muted);opacity:.6}.confirmationDialog{border:1px solid var(--border-strong);background:var(--surface);width:min(560px,100vw - 32px);max-height:min(720px,100dvh - 32px);color:var(--text);box-shadow:var(--shadow-soft);border-radius:12px;padding:0}.confirmationDialog::backdrop{background:#241b2494}.confirmationDialogContent{gap:20px;padding:24px;display:grid}.confirmationDialog header,.confirmationDialog dl{gap:10px;margin:0;display:grid}.confirmationDialog h2,.confirmationDialog p,.confirmationDialog dd{margin:0}.confirmationDialog h2{font-family:var(--font-serif);font-size:24px;font-weight:560}.confirmationDialog p,.confirmationDialog dt{color:var(--text-secondary);font-size:12px;line-height:1.55}.confirmationDialog dl>div{border-bottom:1px solid var(--border);grid-template-columns:minmax(108px,.38fr) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.confirmationDialog dt,.confirmationDialog dd{overflow-wrap:anywhere}.confirmationDialog dd{font-size:13px;font-weight:700}.confirmationDialog [data-tone=warning] dd{color:var(--status-warning-text)}.confirmationDialog [data-tone=danger] dd,.confirmationDialog.danger h2{color:var(--status-danger-text)}.confirmationDialog footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.confirmationDialog footer button{min-height:48px}.occupancyCell{flex-direction:column;gap:5px;min-width:80px;display:flex}.occupancyTrack{background:var(--border);border-radius:999px;width:100%;max-width:90px;height:5px;display:block;overflow:hidden}.occupancyFill{background:var(--secondary);transform-origin:0;width:100%;height:100%;transition:transform .24s var(--ease-out,ease);border-radius:999px;display:block}.occupancyFill.isFull{background:var(--warning)}.mobileOccupancy{flex-direction:column;gap:4px;display:flex}.mobileOccupancy .occupancyTrack{max-width:120px}.weekRange{color:var(--text-muted);font-size:13px}.weekNav{align-items:center;gap:6px;display:flex}.weekNavBtn,.weekTodayLink{border:1px solid var(--border);background:var(--surface);min-width:48px;height:48px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-size:13px;text-decoration:none;display:inline-flex}.weekNavBtn:hover,.weekTodayLink:hover{border-color:var(--lilac)}.weekTodayLink{padding:0 12px;font-weight:550}.weekAllLink{min-height:48px;color:var(--secondary);white-space:nowrap;align-items:center;gap:5px;padding-inline:8px;font-size:13px;font-weight:700;display:inline-flex}.weekAllLink svg{width:16px;height:16px}.mobileDayAgenda{display:none}.weekScroll{max-height:calc(100vh - var(--week-chrome,420px));overflow:auto}.weekGrid{grid-template-columns:44px repeat(7,minmax(92px,1fr));min-width:690px;display:grid}.weekGrid.dayGrid{grid-template-columns:44px minmax(0,1fr);min-width:0}.weekCorner{grid-area:1/1}.weekGutter{grid-area:2/1}.weekGutter,.weekHead{z-index:1;background:var(--surface);position:sticky;top:0}.weekCorner,.weekGutter{z-index:2;position:sticky;left:0}.weekCorner{z-index:3}.weekHead{border-bottom:1px solid var(--border);color:var(--text-secondary);letter-spacing:.01em;flex-wrap:wrap;grid-row:1;place-content:center;align-items:baseline;gap:2px 6px;padding:10px 0 12px;font-size:13px;font-weight:500;display:flex}.weekDayName{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.weekHead.isToday{color:var(--lilac-strong);background:color-mix(in srgb, var(--lilac) 6%, var(--surface))}.weekHead.isToday .weekDayName{color:var(--lilac-strong)}.weekHead.isToday .weekDayNum{background:var(--lilac-strong);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;font-weight:650;display:inline-flex}.weekDayNum{font-variant-numeric:tabular-nums;color:var(--text);font-size:16px;font-weight:650}.weekHead.isWeekend .weekDayNum{color:var(--text-muted)}.weekHead.isHoliday{background:color-mix(in srgb, var(--accent) 7%, var(--surface))}.weekHolidayName{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.02em;max-width:100%;color:var(--accent);font-size:10px;font-weight:600;display:block;overflow:hidden}.weekDayCol.isHoliday{background:color-mix(in srgb, var(--accent) 4%, transparent)}.weekGutter{position:relative}.weekHourLabel{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:12px;font-weight:500;position:absolute;right:8px;transform:translateY(-50%)}.weekDayCol{border-left:1px solid var(--border);grid-row:2;position:relative}.weekDayCol.isToday{background:color-mix(in srgb, var(--lilac) 9%, transparent)}.weekDayCol.isWeekend{background:color-mix(in srgb, var(--border) 16%, transparent)}.weekDayCol.isToday.isWeekend{background:color-mix(in srgb, var(--lilac) 9%, transparent)}.weekDayEvents{--hour-px:clamp(46px, calc((100vh - var(--week-chrome,420px) - 48px) / var(--hours)), 68px);height:calc(var(--hours) * var(--hour-px));background-image:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--border) 55%, transparent) 0, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px, transparent var(--hour-px));position:relative;container-type:size}@container (max-height:640px){.weekEventMeta{display:none}}.weekEvent{border:1px solid color-mix(in srgb, var(--lilac-strong) 40%, transparent);border-left:3px solid var(--lilac-strong);background:color-mix(in srgb, var(--lilac) 12%, var(--surface));color:var(--text);border-radius:7px;flex-direction:column;gap:1px;padding:3px 8px;font-size:12px;line-height:1.35;text-decoration:none;transition:background .15s,box-shadow .16s,transform .16s;display:flex;position:absolute}.weekEventTip{z-index:6;border:1px solid var(--border);background:var(--surface-elevated,var(--surface));width:min(280px,220cqw);color:var(--text);text-align:left;pointer-events:none;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.5;display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #241b242e}.weekEventTip.tipBelow{top:calc(100% + 6px);bottom:auto}.weekEventTip.tipLeft{left:0;transform:none}.weekEventTip.tipRight{left:auto;right:0;transform:none}.weekEventTip>span,.weekEventTip>strong{min-width:0;display:block}.weekEventTip strong{font-weight:650}.weekEventTipMuted{color:var(--text-muted)}.weekEvent:hover .weekEventTip,.weekEvent:focus-visible .weekEventTip{display:block}.weekEvent:hover{background:color-mix(in srgb, var(--lilac) 22%, var(--surface));transform:translateY(-1px);box-shadow:0 3px 10px #4f3d5024}.weekEventTime{font-variant-numeric:tabular-nums;color:var(--accent);letter-spacing:.02em;flex-shrink:0;font-size:11px;font-weight:600;line-height:1.2}.weekEventTitle{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:650;line-height:1.25;overflow:hidden}.weekEventMeta{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);flex-shrink:0;font-size:11px;line-height:1.2;overflow:hidden}.weekEvent.status-completed{opacity:.62;border-left-color:var(--text-muted)}.weekEvent.status-completed .weekEventTitle{color:var(--text-secondary)}.weekEvent.status-cancelled{opacity:.6;border-style:dashed}.weekEvent.status-cancelled .weekEventTitle{text-decoration:line-through}.weekEvent.status-in_progress{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}.weekEvent.status-attendance_pending{border-left-color:var(--warning)}.weekNowLine{background:var(--accent);z-index:1;height:2px;position:absolute;left:0;right:0}.weekNowLine:before{content:"";background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;top:-3px;left:-4px}@media (max-width:720px){.schedulePanel{padding:16px 14px 8px}.schedulePanel .sectionHeading{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:0 2px 12px}.schedulePanel .sectionHeading>div:first-child{width:100%}.schedulePanel .weekNav{justify-content:flex-end;width:100%}.desktopDayTimeline{display:none}.mobileDayAgenda{border-top:1px solid var(--border);margin-inline:-14px;display:block}.dayAgendaList{margin:0;padding:0;list-style:none}.dayAgendaList li+li{border-top:1px solid var(--border)}.dayAgendaLink{min-height:68px;color:var(--text);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;display:grid}.dayAgendaLink:hover{background:var(--surface-muted)}.dayAgendaLink:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.dayAgendaTime,.dayAgendaMain,.dayAgendaAside{min-width:0;display:grid}.dayAgendaTime{color:var(--secondary);font-variant-numeric:tabular-nums;font-size:13px;font-weight:750}.dayAgendaTime small,.dayAgendaMain small,.dayAgendaAside small{color:var(--text-muted);font-size:11px;font-weight:500}.dayAgendaMain{gap:3px}.dayAgendaMain strong,.dayAgendaMain small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dayAgendaMain strong{font-size:13px}.dayAgendaAside{color:var(--text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;justify-items:end;gap:3px;font-size:12px}.dayAgendaEmpty{color:var(--text-muted);margin:0;padding:22px 14px;font-size:13px}.weekGrid{min-width:620px}.weekGrid.dayGrid{min-width:0}.weekEventMeta{display:none}}
.catalogManager{gap:18px;display:grid}.catalogTabs{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;display:grid}.catalogTabs button{min-height:48px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:9px;font-size:13px;font-weight:700;display:flex}.catalogTabs button small{background:var(--surface-elevated);min-width:24px;color:var(--text-muted);border-radius:999px;padding:2px 6px;font-size:12px}.catalogTabs button[aria-selected=true]{background:color-mix(in srgb, var(--secondary) 12%, var(--surface));color:var(--secondary)}.catalogTabs button:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}.catalogPanel{gap:18px;display:grid}.catalogCount{color:var(--text-muted);margin:0;font-size:12px}.catalogCreateHint{color:var(--text-secondary);margin:0 0 12px;font-size:12px;line-height:1.6}.studentPackageAssignment{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:16px;padding:0}.studentPackageAssignment>summary{min-height:48px;color:var(--secondary);cursor:pointer;align-items:center;padding:0 20px;font-size:13px;font-weight:700;list-style:none;display:flex}.studentPackageAssignment>summary::-webkit-details-marker{display:none}.studentPackageAssignment>summary:before{content:"+";color:var(--text-muted);margin-right:9px;font-weight:650}.studentPackageAssignment[open]>summary:before{content:"–"}.studentPackageAssignment[open]>summary{border-bottom:1px solid var(--border)}.studentPackageAssignment>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.studentPackageAssignment form{gap:14px;padding:18px 20px 20px;display:grid}.assignmentFields{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.assignmentSummary{color:var(--text-muted);margin:0;font-size:12px}.studentPackageAssignment form>button{background:var(--secondary);width:auto;min-height:44px;color:var(--on-secondary);font:inherit;cursor:pointer;border:0;border-radius:8px;justify-self:start;padding:10px 18px;font-size:12px;font-weight:750}.studentPackageAssignment form>button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:640px){.assignmentFields{grid-template-columns:1fr}.studentPackageAssignment form>button{width:100%}}.catalogCreateBar{justify-content:flex-end;display:flex}.catalogDrawerFields{gap:var(--space-4);display:grid}.catalogDrawerFields .catalogFields{align-items:start;gap:var(--space-5) var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@container (min-width:480px){.catalogDrawerFields .catalogFields{grid-template-columns:repeat(2,minmax(0,1fr))}}:is(.catalogFields>div:has(textarea),.catalogFields>div:has(input[name=email]),.catalogFields>div:has(input[name=address])){grid-column:1/-1}.catalogCheckbox{min-height:48px;color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:12px;font-weight:650;display:flex}.catalogCheckbox input{width:18px;height:18px;accent-color:var(--secondary)}.catalogDeactivatePanel{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border);display:grid}.catalogDeactivatePanel p{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.55}.catalogDeactivatePanel .button{justify-self:start}.catalogMessage{background:color-mix(in srgb, var(--secondary) 10%, var(--surface));border-radius:8px;margin:0;padding:12px 16px}.catalogList{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.catalogRow{border-top:1px solid var(--border);grid-template-columns:minmax(180px,1.2fr) minmax(260px,1.8fr) auto;align-items:center;gap:14px 18px;min-width:0;padding:12px 18px;display:grid}.catalogRow:first-child{border-top:0}.catalogRowMain{align-items:center;gap:12px;min-width:0;display:flex}.catalogRowMain strong{overflow-wrap:anywhere;color:var(--text);font-size:14px}.catalogRowFacts{min-width:0;color:var(--text-muted);flex-wrap:wrap;align-items:center;row-gap:4px;font-size:12px;display:flex}.catalogRowFacts>*{color:var(--text-secondary)}.catalogRowFacts>*+:before{content:"·";color:var(--text-muted);margin:0 8px}.catalogRowAction{text-align:right;min-width:84px}.catalogRowAction summary{min-height:48px;color:var(--secondary);cursor:pointer;align-items:center;font-size:12px;font-weight:750;display:inline-flex}.catalogRowAction:has(>details[open]){text-align:left;grid-area:2/1/auto/-1}.catalogRowAction:has(>details[open])>details>summary{margin-left:auto}.catalogEditPanel{border-top:1px solid var(--border);background:var(--surface-elevated);gap:18px;margin-top:8px;padding:18px;display:grid}.catalogNoAction{color:var(--text-muted)}@media (max-width:700px){.catalogTabs{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogIntro{flex-direction:column;align-items:start;padding:20px 18px}.catalogIntro .catalogRuleNote{text-align:left}.catalogFields{grid-template-columns:1fr}.catalogRow{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:18px}.catalogRowFacts{grid-column:1/-1}.catalogRowAction{text-align:left;grid-column:1/-1}}@media (max-width:520px){.confirmationDialog{width:calc(100vw - 20px)}.confirmationDialogContent{padding:20px 18px}.confirmationDialog footer{grid-template-columns:1fr}}.studentsTable :is(td,a,span,small){overflow-wrap:anywhere}.timeCell,.tabular,.money{font-variant-numeric:tabular-nums}.timeCell{color:var(--text);font-weight:650}.courseLink{color:var(--text);font-weight:700}.courseLink:hover{text-underline-offset:3px;text-decoration:underline}.rowAction{width:48px;height:48px;color:var(--secondary);border-radius:8px;place-items:center;display:grid}.rowAction:hover{background:var(--shell-hover)}.rowAction svg{width:17px}.statusLabel{border:1px solid var(--border);background:var(--surface-elevated);min-height:32px;color:var(--text-secondary);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:650;display:inline-flex}.statusLabel svg{stroke-width:1.8px;width:15px}.statusLabel.attendance_pending{border-color:color-mix(in srgb, var(--status-warning-text) 35%, var(--border));background:var(--status-warning-surface);color:var(--status-warning-text)}.statusLabel.cancelled{border-color:color-mix(in srgb, var(--status-danger-text) 35%, var(--border));background:var(--status-danger-surface);color:var(--status-danger-text)}.statusLabel.completed{border-color:color-mix(in srgb, var(--status-success-text) 35%, var(--border));background:var(--status-success-surface);color:var(--status-success-text)}.statusLabel.in_progress{border-color:color-mix(in srgb, var(--primary) 35%, var(--border));background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--primary)}.attentionColumn{align-content:start;gap:18px;display:grid}.attentionPanel,.dailySummary{padding:22px}.attentionList{gap:8px;margin-top:17px;display:grid}.attentionList a{border:1px solid var(--border);min-height:62px;color:var(--text-secondary);border-radius:8px;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;padding:8px 10px 8px 8px;font-size:12px;font-weight:600;display:grid}.attentionList a:hover{border-color:var(--control-border);background:var(--interactive-hover)}.attentionList a>svg{width:16px}.attentionIcon{background:var(--accent-soft);width:40px;height:40px;color:var(--accent);border-radius:7px;place-items:center;display:grid}.attentionIcon.package{background:var(--interactive-hover);color:var(--secondary)}.attentionIcon svg{width:18px}.calmState{color:var(--success);align-items:center;gap:10px;margin-top:16px;font-size:12px;display:flex}.calmState svg{width:20px}.dailySummary{background:var(--surface-elevated);box-shadow:var(--shadow-soft)}.attendanceNumber{align-items:baseline;gap:5px;margin-top:22px;display:flex}.attendanceNumber strong{color:var(--primary);font-family:var(--font-serif);font-variant-numeric:tabular-nums;font-size:38px;font-weight:520}.attendanceNumber span{color:var(--text-muted);font-size:18px}.dailySummary p{color:var(--text-muted);margin:8px 0 0;font-size:12px;line-height:1.55}.mobileSessionList{display:none}.viewTabs{border:1px solid var(--border);background:var(--surface);border-radius:9px;padding:4px;display:inline-flex}.viewTabs a{min-height:38px;color:var(--text-secondary);border-radius:6px;align-items:center;padding:0 14px;font-size:12px;font-weight:650;display:inline-flex}.viewTabs a.active{background:var(--primary);color:var(--on-primary)}.resultCount{color:var(--text-muted);font-size:12px;font-weight:650}.listSurface{min-width:0;padding:12px 16px}.sessionsCalendarSurface{--week-chrome:330px}.sessionsCalendarSurface .weekDayEvents{--hour-px:max(46px, calc((100vh - var(--week-chrome,330px) - 48px) / var(--hours)))}.choiceCardGroup{border:0;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 4px;padding:0;display:grid}.choiceCardLegend{color:var(--text);margin:0 0 6px;padding:0;font-size:13px;font-weight:600}.choiceCard{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;transition:border-color .16s,background-color .16s;display:flex}.choiceCard:hover{border-color:color-mix(in srgb, var(--lilac) 45%, var(--border))}.choiceCard.checked{border-color:var(--lilac-strong);background:color-mix(in srgb, var(--lilac) 7%, var(--surface))}.choiceCard input{accent-color:var(--primary);margin-top:2px}.choiceCard span{gap:2px;display:grid}.choiceCard strong{color:var(--text);font-size:13px;font-weight:650}.choiceCard small{color:var(--text-secondary);font-size:12px;line-height:1.4}@media (max-width:640px){.choiceCardGroup{grid-template-columns:1fr}}.sessionsCalendarToolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 18px;display:flex}.sessionsWorkspaceToolbar{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin:14px 0 10px;padding:12px 14px}.sessionsCalendarNav{align-items:center;gap:10px;min-width:0;display:flex}.sessionsWeekNavButtons{align-items:center;gap:4px;display:inline-flex}.sessionsWeekIdentity{gap:1px;min-width:0;display:grid}.sessionsCalendarRange{color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.sessionsCurrentWeek,.sessionsWeekIdentity .weekTodayLink{min-height:0;color:var(--text-muted);border:0;padding:0;font-size:11px;font-weight:650;line-height:1.4}.sessionsViewToggle{align-items:center;gap:8px;margin-left:auto;display:flex}.sessionsViewToggle>form,.sessionsViewToggle>form>details{margin:0}.sessionsHeaderActions{justify-content:flex-end;gap:8px}.sessionsHeaderActions .primaryButton,.sessionsHeaderActions .secondaryButton{border-radius:8px;min-height:48px;padding:10px 16px}.viewToggleBtn{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:550;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.viewToggleBtn:hover{border-color:var(--lilac);background:var(--interactive-hover)}.viewToggleBtn.active{border-color:var(--primary);background:var(--primary);color:var(--on-primary);cursor:default}.viewToggleBtn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sessionsProgramToolbar{align-items:flex-end;gap:10px 14px;display:flex}.sessionsProgramToolbar>form{flex-wrap:nowrap;flex:auto;align-items:flex-end;margin:0}.sessionsModeSwitch{border:1px solid var(--border);background:var(--background);border-radius:10px;align-items:center;gap:4px;padding:3px;display:inline-flex}.sessionsModeSwitch .viewToggleBtn{min-height:calc(var(--control-height) - 6px);background:0 0;border:0;border-radius:7px}.sessionsModeSwitch .viewToggleBtn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px color-mix(in srgb, var(--text) 9%, transparent)}.sessionsProgramToolbar form .sessionsDateFilter{flex:0 0 158px}.sessionsProgramViewToggle,.sessionsViewToggle .viewToggleBtn{min-height:var(--control-height);padding:0 14px;font-weight:650}.sessionsProgramViewToggle{flex:none}.sessionsListBar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sessionsListBar .resultCount{margin:0}@media (max-width:1180px){.sessionsViewToggle{justify-content:space-between;width:100%;margin-left:0}.sessionsProgramToolbar{flex-wrap:wrap;align-items:stretch}.sessionsProgramToolbar>form{flex-wrap:wrap;flex:100%}.sessionsProgramViewToggle{margin-left:auto}}@media (max-width:640px){.sessionsWorkspaceToolbar{padding:10px}.sessionsCalendarNav,.sessionsViewToggle{width:100%}.sessionsCalendarNav{justify-content:flex-start}.sessionsViewToggle{flex-direction:column;align-items:stretch}.sessionsViewToggle>form,.sessionsModeSwitch{width:100%}.sessionsModeSwitch .viewToggleBtn{flex:50%;justify-content:center}.sessionsHeaderActions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sessionsHeaderActions .primaryButton,.sessionsHeaderActions .secondaryButton,.sessionsProgramViewToggle{width:100%}.sessionsProgramToolbar form .sessionsDateFilter{flex:calc(50% - 5px)}.sessionsProgramViewToggle{margin-left:0}}.sessionsTable,.studentsTable{min-width:840px}.studentSearch{border:1px solid var(--control-border);background:var(--surface-elevated);border-radius:10px;grid-template-columns:22px 1fr auto;align-items:center;gap:10px;width:min(100%,650px);min-height:50px;margin-bottom:18px;padding:0 6px 0 14px;display:grid}.studentSearch svg{width:18px;color:var(--text-muted)}.studentSearch input{min-width:0;min-height:48px;color:var(--text);background:0 0;border:0;outline:0;font-size:13px}.studentSearch button{background:var(--primary);min-width:76px;min-height:48px;color:var(--on-primary);cursor:pointer;border:0;border-radius:7px;font-size:12px;font-weight:700}.stackedCell{gap:4px;display:grid}.stackedCell small{color:var(--text-muted);font-size:12px}.money{text-align:right}.studentState{border-radius:7px;align-items:center;min-height:28px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.studentState.active{background:var(--status-success-surface);color:var(--status-success-text)}.studentState.inactive{background:var(--status-danger-surface);color:var(--status-danger-text)}.backLink{min-height:48px;color:var(--secondary);align-items:center;gap:8px;margin-bottom:22px;font-size:12px;font-weight:700;display:inline-flex}.detailHeader{margin-bottom:24px}.sessionFacts{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px;display:grid;overflow:hidden}.sessionMetaDisclosure{margin-block:14px}.sessionMetaDisclosure>summary{cursor:pointer;min-height:48px;color:var(--primary);align-items:center;font-weight:650;display:flex}.sessionFacts>div{border-right:1px solid var(--border);grid-template-columns:32px 1fr;align-content:center;gap:5px 12px;min-height:112px;padding:20px 24px;display:grid}.sessionFacts>div:last-child{border-right:0}.sessionFacts svg{width:22px;color:var(--secondary);grid-row:1/3}.sessionFacts span{color:var(--text-muted);font-size:12px;font-weight:650}.sessionFacts strong{font-size:13px;font-weight:700}.participantsSurface .sectionHeading{padding:8px 10px 18px}.participantsSurface .sectionHeading>span{color:var(--text-muted);font-size:12px}.participantList{display:grid}.participantCard{border-top:1px solid var(--border);grid-template-columns:minmax(170px,.8fr) minmax(180px,.8fr) minmax(390px,1.7fr);align-items:start;gap:22px;padding:22px 10px;display:grid}.participantIdentity,.participantIdentity span,.participantIdentity small{display:block}.participantIdentity{gap:5px;display:grid}.participantIdentity strong{font-size:13px}.participantIdentity span,.participantIdentity small{color:var(--text-muted);font-size:12px}.participantStatus{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.participantStatus dt{color:var(--text-muted);margin-bottom:5px;font-size:12px;font-weight:650}.participantStatus dd{margin:0;font-size:12px;font-weight:650}.attendanceEditor{min-width:0}.attendanceControls{grid-template-columns:minmax(150px,.8fr) minmax(190px,1.2fr) auto;align-items:end;gap:10px;display:grid}.attendanceControls label{gap:6px;display:grid}.attendanceControls label>span{color:var(--text-muted);font-size:12px;font-weight:650}.attendanceControls select,.attendanceControls input{border:1px solid var(--control-border);background:var(--surface-elevated);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;outline:0;font-size:12px}.attendanceControls select{padding:0 34px 0 11px}.attendanceControls input{padding:0 11px}.attendanceControls select:focus-visible,.attendanceControls input:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px #7761732e}.attendanceControls button{background:var(--primary);min-width:98px;min-height:48px;color:var(--on-primary);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:700;display:inline-flex}.attendanceControls button:disabled{cursor:not-allowed;opacity:.55}.attendanceControls button svg{width:16px}.attendanceMeta{color:var(--text-muted);flex-wrap:wrap;gap:6px 12px;margin-top:9px;font-size:12px;display:flex}.attendanceMeta strong{color:var(--success)}.attendanceMeta em{font-style:normal}.attendanceFeedback{min-height:18px;margin-top:5px;font-size:12px;font-weight:650}.formError{color:var(--destructive)}.formSuccess{color:var(--success)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.emptyState,.errorState,.standaloneState{text-align:center;place-items:center;display:grid}.emptyState{min-height:250px;color:var(--text-muted);align-content:center;gap:9px}.emptyState.large{min-height:360px}.emptyState svg{width:32px;color:var(--secondary);margin-bottom:5px}.emptyState strong{color:var(--text);font-size:14px}.emptyState span{max-width:390px;font-size:12px;line-height:1.5}.errorState,.standaloneState{min-height:calc(100svh - var(--topbar-height) - 72px);align-content:center;gap:12px}.standaloneState{min-height:100svh;padding:24px}.errorState>svg,.standaloneState>svg{width:42px;color:var(--accent)}.errorState h1,.standaloneState h1{font-family:var(--font-serif);margin:8px 0 0;font-size:30px;font-weight:520}.errorState p,.standaloneState p{max-width:480px;color:var(--text-secondary);margin:0 0 12px;line-height:1.6}.skeleton{background:linear-gradient(90deg, color-mix(in srgb, var(--border) 55%, var(--surface)) 25%, var(--surface) 50%, color-mix(in srgb, var(--border) 55%, var(--surface)) 75%);background-size:200% 100%;border-radius:9px;animation:1.4s linear infinite shimmer}.titleSkeleton{width:260px;height:54px}.metricSkeleton{height:128px;margin-top:24px}.tableSkeleton{height:440px;margin-top:22px}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:1180px){.metricItem{gap:11px;padding-inline:15px}.metricIcon{width:40px;height:40px}.dashboardGrid{grid-template-columns:minmax(0,1fr) 260px}.dataTable th,.dataTable td{padding-inline:9px}.participantCard{grid-template-columns:minmax(180px,.8fr) minmax(240px,1.2fr)}.attendanceEditor{grid-column:1/-1}}@media (max-width:980px){.sidebar{width:min(82vw,300px);transition:transform .24s cubic-bezier(.2,.8,.2,1);transform:translate(-102%)}.sidebar.open{transform:translate(0)}.sidebarClose{width:48px;height:48px;color:var(--primary);cursor:pointer;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.sidebarClose svg{width:21px}.sidebarScrim{z-index:25;background:#241b2452;border:0;position:fixed;inset:0}.appMain{margin-left:0}.menuButton{border:1px solid var(--border);background:var(--surface-elevated);width:48px;height:48px;color:var(--primary);cursor:pointer;border-radius:9px;flex:none;place-items:center;display:grid}.menuButton svg{width:21px}.globalSearch{width:min(290px,40vw)}.dashboardGrid{grid-template-columns:1fr}.attentionColumn{grid-template-columns:1fr 1fr}}@media (max-width:760px){:root{--topbar-height:68px}.topbar{gap:12px;padding:0 16px}.globalSearch,.topbarDate,.accountMenu summary>span:not(.avatar),.accountMenu summary>svg{display:none}.accountMenu{margin-left:auto}.accountPopover{position:fixed;top:62px;right:12px}.contentFrame{padding:30px 18px 56px}.pageHeader{margin-bottom:24px}.pageHeader.split,.detailHeader{flex-direction:column;align-items:flex-start;gap:18px}.pageHeader h1,.detailHeader h1{font-size:38px}.metricBand{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.metricBand::-webkit-scrollbar{display:none}.metricItem{scroll-snap-align:start;border-right:1px solid var(--border);flex-direction:column-reverse;flex:0 0 44vw;justify-content:space-between;align-items:flex-start;min-width:178px;min-height:156px}.metricItem:last-child{border-right:0}.metricIcon{width:36px;height:36px}.metricItem strong{font-size:27px}.dashboardGrid{margin-top:28px}.schedulePanel{background:0 0;border-left:0;border-right:0;border-radius:0;padding:22px 0 0}.sectionHeading{padding-inline:0}.desktopTableWrap{display:none}.mobileSessionList{display:grid}.mobileSessionRow{border-top:1px solid var(--border);grid-template-columns:68px minmax(0,1fr) auto 18px;align-items:center;gap:14px;min-height:126px;display:grid;position:relative}.mobileSessionRow:last-child{border-bottom:1px solid var(--border)}.mobileSessionRow time{color:var(--text);font-variant-numeric:tabular-nums;font-size:20px}.mobileSessionMain{border-left:1px solid var(--border);gap:3px;padding-left:14px;display:grid}.mobileSessionMain strong{font-size:14px}.mobileSessionMain span{color:var(--secondary);font-size:12px}.mobileSessionMain small{color:var(--text-muted);font-size:12px}.mobileSessionRow .statusLabel{white-space:normal;text-align:right;background:0 0;border:0;flex-direction:column;align-items:flex-end;max-width:112px;min-height:auto;padding:0}.mobileSessionRow .statusLabel svg{width:21px}.mobileArrow{width:16px}.attentionColumn{grid-template-columns:1fr}.attentionPanel,.dailySummary{box-shadow:none;background:0 0;border-left:0;border-right:0;border-radius:0;padding:22px 0}.attentionList a{border-left:0;border-right:0;border-radius:0}.viewTabs{width:100%}.viewTabs a{flex:1;justify-content:center}.listSurface{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.studentSearch{width:100%}.sessionFacts{grid-template-columns:1fr}.sessionFacts>div{border-right:0;border-bottom:1px solid var(--border);min-height:92px}.sessionFacts>div:last-child{border-bottom:0}.participantCard{grid-template-columns:1fr;gap:18px;padding-inline:18px}.attendanceEditor{grid-column:auto}.attendanceControls{grid-template-columns:1fr}.attendanceControls button{min-height:48px}}.auditLogView{gap:18px;display:grid}.auditFilters{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;align-items:end;gap:12px;padding:18px;display:grid}.auditFilters label{min-width:0;color:var(--text-secondary);gap:7px;font-size:12px;font-weight:650;display:grid}.auditFilters input,.auditFilters select,.auditFilters button{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px}.auditFilters button{border-color:var(--secondary);background:var(--secondary);color:var(--on-secondary);cursor:pointer;font-weight:750}.auditList{overflow:hidden}.auditTable{table-layout:fixed}.auditTable th:first-child{width:18%}.auditTable th:nth-child(2){width:17%}.auditTable th:nth-child(3){width:18%}.auditTable th:nth-child(4){width:16%}.auditTable th:nth-child(5){width:31%}.auditTable td{vertical-align:top;overflow-wrap:anywhere}.auditTable td>strong{font-size:12px}.auditEntityId{color:var(--text-muted);overflow-wrap:anywhere;font-family:ui-monospace,monospace}.auditNoDetail{color:var(--text-muted);font-size:12px}.auditDetails>summary{min-height:48px;color:var(--secondary);cursor:pointer;align-items:center;font-size:12px;font-weight:750;display:flex}.auditChangeColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 0 4px;display:grid}.auditChangeColumns section{border:1px solid var(--border);border-radius:8px;min-width:0;padding:12px}.auditChangeColumns h3{color:var(--text-secondary);margin:0 0 9px;font-size:12px}.auditChangeColumns dl{gap:7px;margin:0;display:grid}.auditChangeColumns dl>div{border-bottom:1px solid var(--border);gap:2px;padding-bottom:7px;display:grid}.auditChangeColumns dl>div:last-child{border-bottom:0;padding-bottom:0}.auditChangeColumns dt{color:var(--text-muted);font-size:12px}.auditChangeColumns dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px}.auditReason{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.5}@media (max-width:1120px){.auditFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.auditFilters button{grid-column:1/-1}.auditChangeColumns{grid-template-columns:1fr}}@media (max-width:760px){.auditFilters{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-inline:-18px;padding:18px}.auditFilters button{grid-column:auto}.auditTable,.auditTable tbody,.auditTable tr,.auditTable td{width:100%;min-width:0;display:block}.auditTable thead{display:none}.auditTable tr{border-bottom:1px solid var(--border);padding:18px}.auditTable tr:last-child{border-bottom:0}.auditTable td{border:0;grid-template-columns:100px minmax(0,1fr);gap:12px;padding:7px 0;display:grid}.auditTable td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:650}.auditDetails>summary{min-height:48px}.auditChangeColumns{grid-column:1/-1}}@media (max-width:880px){.loginPage{display:block}.loginBrand{display:none}.loginPanel{min-height:100svh;padding:36px 20px}.loginMark{display:block}}.packageDefinitionLayout{gap:22px;display:grid}.packageDefinitionCreateBar{justify-content:flex-end;display:flex}.packageDefinitionDrawerForm{gap:var(--space-4);display:grid}.packageDefinitionList{border:1px solid var(--border);background:var(--surface);border-radius:10px}.packageDefinitionFields{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.packagePriceActive{border:1px solid var(--border);min-height:48px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:8px 11px;display:flex}.packagePriceActive input{width:18px;height:18px;min-height:18px;accent-color:var(--secondary);flex:none;padding:0}.packageDefinitionList{overflow:hidden}.packageDefinitionList .sectionHeading{padding:24px 24px 16px}.packageDefinitionTableWrap{overflow-x:auto}.packageDefinitionTable td{height:auto}.packageDefinitionTable td:first-child{color:var(--text)}.packageDefinitionTable td{overflow-wrap:anywhere;min-width:0}.packageDefinitionTable .packagePrice{font-variant-numeric:tabular-nums;white-space:nowrap}.fieldHint{color:var(--text-muted);margin:0;font-size:12px}.packageDefinitionCards{display:none}@media (max-width:760px){.packageDefinitionFields{grid-template-columns:repeat(2,minmax(0,1fr))}.packageDefinitionList{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.packageDefinitionTableWrap{display:none}.packageDefinitionCards{display:grid}.packageDefinitionCards article{border-top:1px solid var(--border);gap:18px;padding:22px 18px;display:grid}.packageDefinitionCards article,.packageDefinitionCards article>div,.packageDefinitionCards article>div strong,.packageDefinitionCards dl,.packageDefinitionCards dl div,.packageDefinitionCards dd{overflow-wrap:anywhere;min-width:0}.packageDefinitionCards article>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.packageDefinitionCards article>div strong{color:var(--text);font-size:15px}.packageDefinitionCards dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0;display:grid}.packageDefinitionCards .packageCourseFact{grid-column:1/-1}.packageDefinitionCards dl div{gap:4px;display:grid}.packageDefinitionCards dt{color:var(--text-muted);font-size:12px}.packageDefinitionCards dd{color:var(--text-secondary);margin:0;font-size:12px}.packageDefinitionCards form{border-top:1px solid var(--border);gap:14px;margin-top:14px;padding-top:14px;display:grid}}.studentLink{color:var(--text);-webkit-text-decoration-color:color-mix(in srgb, var(--lilac) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--lilac) 60%, transparent);text-underline-offset:4px;font-weight:750}.studentListAction{white-space:nowrap;width:1%}.studentQuickAction{min-height:48px;padding:7px 11px;font-size:12px}@media (max-width:760px){.studentListAction{white-space:normal;width:auto}.studentQuickAction{width:100%}}.backLink{min-height:48px;color:var(--secondary);align-items:center;gap:7px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.backLink svg{width:16px}.studentDetailNavigation{justify-content:space-between;align-items:center;gap:20px;display:flex}.studentDetailHeader{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:14px;padding:12px 0 20px;display:grid}.studentIdentity{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;display:flex}.studentIdentity h1{margin:5px 0 6px;font-size:clamp(26px,2.5vw,34px)}.studentStatus{color:var(--text-muted);align-items:center;gap:7px;font-size:12px;font-weight:750;display:inline-flex}.studentStatus:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.studentStatus.active{color:var(--status-success-text)}.studentStatus.inactive{color:var(--status-danger-text)}.studentContactLine{min-width:0;color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.studentContactLine a{color:inherit;overflow-wrap:anywhere;text-underline-offset:3px}.studentPrimaryActions{flex-wrap:wrap;gap:10px;display:flex}.studentWorkspace{max-width:1400px;margin-inline:auto}.studentWorkspace .studentTabPanel>div>.ledgerSection:first-child,.studentWorkspace .studentTabPanel>div>.ledgerActions:first-child{margin-top:0}.studentReadonlyProfile{gap:18px;display:grid}.studentReadonlyProfile dt{color:var(--text-muted);font-size:12px}.studentReadonlyProfile dd{overflow-wrap:anywhere;margin:4px 0 0}.studentSupportDisclosure{border-block:1px solid var(--border);margin-top:28px}.studentSupportDisclosure>summary{cursor:pointer;min-height:52px;padding:16px 4px;font-weight:650}.studentSupportDisclosure>summary:hover{color:var(--primary)}.packageState small{color:var(--text-muted);font-size:12px}.debt{color:var(--status-danger-text)}.settled{color:var(--status-success-text)}.ledgerActions,.ledgerSection{margin-top:32px}.sectionHeading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:15px;display:flex}.sectionHeading h2,.sectionHeading p{margin:0}.ledgerActionGrid{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ledgerActionGrid form{border-right:1px solid var(--border);flex-direction:column;gap:12px;padding:22px;display:flex}.ledgerActionGrid form:last-child{border-right:0}.ledgerActionGrid h3{margin:0 0 3px;font-size:17px}.packageLedger{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:14px;overflow:hidden}.packageLedger>header{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.packageLedger>header>div{align-items:center;gap:13px;display:flex}.packageLedger>header svg{width:20px;color:var(--lilac-strong)}.packageLedger h3,.packageLedger p{margin:0}.packageLedger p{color:var(--text-muted);margin-top:4px;font-size:12px}.packageLedger>header>strong{font-size:19px}.packageState{text-align:right;gap:3px;display:grid}.packageLedger>header>.packageState{flex:none;justify-items:end;display:grid}.packageState span{color:var(--text-muted);text-transform:uppercase;font-size:12px;font-weight:750}.packageState strong{font-size:19px}.packageLedgerPrimaryAction{padding:0 20px 16px}.packageLedgerDisclosure{border-top:1px solid var(--border)}.packageLedgerDisclosure>summary{min-height:48px;color:var(--text-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:11px 20px;font-size:13px;font-weight:750;list-style-position:inside;display:flex}.packageLedgerDisclosure>summary:hover{background:var(--interactive-hover)}.packageLedgerDisclosure>summary small{color:var(--text-muted);font-size:12px;font-weight:500}.packageLedgerDisclosureBody{border-top:1px solid var(--border)}.packageLedgerDisclosure .lifecycleForm{border-bottom:0}.compactTable th,.compactTable td{padding-block:11px}.positive{color:var(--status-success-text)}.negative{color:var(--status-danger-text)}.lifecycleForm{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 72%, var(--stone));align-items:flex-end;gap:10px;padding:14px 20px;display:flex}.lifecycleForm label,.reversalAction label{color:var(--secondary);gap:5px;font-size:12px;font-weight:700;display:grid}.lifecycleForm .growField{flex:1}.lifecycleForm input,.lifecycleForm select,.lifecycleForm button,.reversalAction input,.reversalAction button{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);font:inherit;border-radius:7px}.lifecycleForm input,.lifecycleForm select,.reversalAction input{padding:8px 10px}.lifecycleForm button,.reversalAction button{cursor:pointer;padding:8px 12px;font-weight:750}.lifecycleForm button:disabled,.reversalAction button:disabled{cursor:not-allowed;opacity:.55}.inlineMessage{color:var(--secondary);font-size:12px}.reversalAction{position:relative}.reversalAction summary{color:var(--lilac-strong);cursor:pointer;font-size:12px;font-weight:750}.reversalAction form{z-index:5;border:1px solid var(--border);background:var(--surface);border-radius:9px;gap:9px;min-width:270px;padding:14px;display:grid;position:absolute;right:0;box-shadow:0 10px 28px #241b241f}@media (max-width:1040px){.studentDetailHeader{grid-template-columns:minmax(0,1fr)}.ledgerActionGrid{grid-template-columns:1fr}.ledgerActionGrid form{border-right:0;border-bottom:1px solid var(--border)}.ledgerActionGrid form:last-child{border-bottom:0}}@media (max-width:720px){.studentDetailHeader{gap:18px;padding:10px 0 16px}.studentPrimaryActions>a{flex:1}.studentPrimaryActions{width:100%}.studentPrimaryActions a{flex:150px}.ledgerActionGrid,.packageLedger{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.packageLedgerDisclosure>summary,.packageLedgerPrimaryAction{padding-inline:18px}.lifecycleForm{flex-direction:column;align-items:stretch;padding-inline:18px}.reversalAction form{min-width:0;margin-top:8px;position:static}}@media (max-width:430px){.metricItem{flex-basis:48vw;min-width:172px}.mobileSessionRow{grid-template-columns:60px minmax(0,1fr) 92px 14px;gap:9px}.mobileSessionRow time{font-size:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.teacherEarningsLayout{gap:20px;display:grid}.teacherEarningsFilters{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;padding:18px;display:grid}.teacherEarningsFilters label,.teacherEarningsDialog label{color:var(--text-secondary);gap:7px;font-size:12px;font-weight:650;display:grid}.teacherEarningsFilters input,.teacherEarningsFilters select,.teacherEarningsDialog input,.teacherEarningsDialog select,.teacherEarningsDialog textarea{border:1px solid var(--control-border);background:var(--surface-elevated);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:8px;padding:10px 12px}.teacherEarningsFilters small{color:var(--text-muted);font-weight:400}.teacherEarningsMetrics{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.teacherEarningsMetrics article{border-inline-start:1px solid var(--border);gap:6px;padding:16px;display:grid}.teacherEarningsMetrics article:first-child{border-inline-start:0}.teacherEarningsMetrics span{color:var(--text-muted);font-size:12px;font-weight:650}.teacherEarningsMetrics strong{color:var(--secondary);font-family:var(--font-serif);font-size:21px;font-weight:550}.teacherEarningsSurface{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}.teacherEarningsTable td small{color:var(--text-muted);margin-top:4px;font-size:12px;display:block}.earningType{border-radius:999px;width:fit-content;padding:4px 7px;font-size:12px;font-weight:750;display:inline-flex}.earningType.accrual{background:var(--status-success-surface);color:var(--status-success-text)}.earningType.reversal{background:var(--status-warning-surface);color:var(--status-warning-text)}.earningType.payout{background:var(--stone);color:var(--text-secondary)}.teacherEarningsDialog{border:1px solid var(--border-strong);background:var(--surface);width:min(560px,100vw - 32px);max-height:min(760px,100dvh - 32px);color:var(--text);box-shadow:var(--shadow-soft);border-radius:12px;padding:0}.teacherEarningsDialog::backdrop{background:#241b2494}.teacherEarningsDialog form{gap:16px;padding:24px;display:grid}.teacherEarningsDialog header,.teacherEarningsDialog h2,.teacherEarningsDialog p{margin:0}.teacherEarningsDialog h2{font-family:var(--font-serif);font-size:24px;font-weight:560}.teacherEarningsDialog header p{color:var(--text-muted);margin-top:8px;font-size:12px;line-height:1.55}.teacherEarningsDialog footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}@media (max-width:900px){.teacherEarningsFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.teacherEarningsMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.teacherEarningsFilters{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-inline:-18px}.teacherEarningsSurface{border-left:0;border-right:0;border-radius:0;margin-inline:-18px}.teacherEarningsMetrics{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-inline:-18px}.teacherEarningsMetrics article{border-inline-start:0;border-top:1px solid var(--border)}.teacherEarningsMetrics article:first-child{border-top:0}.teacherEarningsDialog form{padding:20px}.teacherEarningsDialog footer{grid-template-columns:1fr}}.reportHeader{align-items:flex-end}.reportExports{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.reportExports a{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--secondary);border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.reportExports a:last-child{border-color:var(--secondary);background:var(--secondary);color:var(--on-secondary)}.reportExports svg{width:17px;height:17px}.reportFilters{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:20px;padding:18px;display:grid}.reportFilters label{min-width:0;color:var(--text-secondary);gap:7px;font-size:12px;font-weight:650;display:grid}.reportFilters input,.reportFilters select,.reportFilters button{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;padding:9px 12px}.reportFilters button{border-color:var(--secondary);background:var(--secondary);width:auto;color:var(--on-secondary);white-space:nowrap;cursor:pointer;font-weight:750}.reportFilters :focus-visible,.reportExports a:focus-visible{outline:3px solid color-mix(in srgb, var(--lilac) 62%, transparent);outline-offset:2px}.reportSection{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;padding:22px}.reportSectionHeading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:17px;display:flex}.reportSectionHeading h2{font-family:var(--font-serif);margin:4px 0 0;font-size:22px;font-weight:520}.reportSectionHeading>span{color:var(--text-secondary);font-size:12px}.reportMetricBand{border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(8,minmax(96px,1fr));display:grid;overflow-x:auto}.reportMetricBand>div{border-right:1px solid var(--border);gap:8px;min-width:105px;padding:16px 14px;display:grid}.reportMetricBand>div:last-child{border-right:0}.reportMetricBand span{color:var(--text-muted);white-space:nowrap;font-size:12px}.reportMetricBand strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:20px}.reportLedgerGrid{grid-template-columns:minmax(280px,.7fr) minmax(440px,1.3fr);gap:20px;margin-top:20px;display:grid}.reportDefinitionList{gap:0;margin:0;display:grid}.reportDefinitionList>div{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;min-height:43px;display:flex}.reportDefinitionList>div:first-child{border-top:0}.reportDefinitionList dt{color:var(--text-secondary);font-size:12px}.reportDefinitionList dd{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:13px;font-weight:700}.reportDefinitionList .total{border-top-color:var(--border-strong);margin-top:4px}.reportDefinitionList .total dt,.reportDefinitionList .total dd{color:var(--secondary);font-weight:750}.reportNotice{color:var(--text-secondary);margin:-5px 0 16px;font-size:12px;line-height:1.55}.financeCurrencies{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;display:grid}.financeCurrencies article{border:1px solid var(--border);border-radius:8px;min-width:0;padding:15px}.financeCurrencies h3{color:var(--secondary);letter-spacing:.08em;margin:0 0 8px;font-size:12px}.reportSessions{margin-top:20px;padding:0;overflow:hidden}.reportSessions .reportSectionHeading{margin:0;padding:20px 22px}.reportTableWrap{border-top:1px solid var(--border);overflow-x:auto}.reportTable{table-layout:fixed;min-width:1000px}.reportTable th:first-child{width:16%}.reportTable th:nth-child(2){width:17%}.reportTable th:nth-child(3){width:15%}.reportTable th:nth-child(4){width:12%}.reportTable th:nth-child(5){width:13%}.reportTable th:nth-child(6){width:18%}.reportTable th:nth-child(7){width:9%}.reportTable td{vertical-align:top;overflow-wrap:anywhere;height:auto}.reportTable .stackedCell{gap:4px}.reportTable small{color:var(--text-muted);line-height:1.45}.reportSessions>.emptyState{border-top:1px solid var(--border)}.financeHeader{align-items:flex-end}.financeFilters{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(2,minmax(135px,.65fr)) minmax(210px,1.2fr) minmax(180px,.9fr) minmax(150px,.65fr) minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:20px;padding:18px;display:grid}.financeFilters label{min-width:0;color:var(--text-secondary);gap:7px;font-size:12px;font-weight:650;display:grid}.financeFilters input,.financeFilters select,.financeFilters button{border:1px solid var(--border-strong);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;border-radius:8px;padding:9px 12px}.financeFilters button{border-color:var(--secondary);background:var(--secondary);width:auto;color:var(--on-secondary);cursor:pointer;font-weight:750}.financeFilters .financeCheckbox{border:1px solid var(--border);min-height:48px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:7px 10px;display:flex}.financeFilters .financeCheckbox input{width:18px;height:18px;min-height:18px;accent-color:var(--secondary);flex:none;padding:0}.financeFilters :focus-visible,.financeTable a:focus-visible{outline:3px solid color-mix(in srgb, var(--lilac) 62%, transparent);outline-offset:2px}.financeSection{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;margin-top:20px;padding:22px}.financeSectionHeading{justify-content:space-between;align-items:start;gap:20px;margin-bottom:17px;display:flex}.financeSectionHeading h2{font-family:var(--font-serif);margin:4px 0 0;font-size:22px;font-weight:520}.financeSectionHeading>span{color:var(--text-secondary);font-size:12px}.financeSummaryGrid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;display:grid}.financeSummaryGrid article{border:1px solid var(--border);border-radius:8px;min-width:0;padding:17px}.financeSummaryGrid article header{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:baseline;gap:3px 16px;padding-bottom:12px;display:grid}.financeSummaryGrid h3{color:var(--secondary);letter-spacing:.08em;margin:0;font-size:12px}.financeSummaryGrid header strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:20px}.financeSummaryGrid header span{color:var(--text-muted);text-align:right;grid-column:2;font-size:12px}.financeSummaryGrid dl{gap:0;margin:8px 0 0;display:grid}.financeSummaryGrid dl div{justify-content:space-between;align-items:center;gap:16px;min-height:36px;display:flex}.financeSummaryGrid dt{color:var(--text-secondary);font-size:12px}.financeSummaryGrid dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-size:12px;font-weight:700}.financeTabSwitcher{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 50%, var(--surface));border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%;margin-top:24px;padding:4px;display:inline-flex}.financeTabBtn{min-height:48px;color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s;display:inline-flex}.financeTabBtn:hover{color:var(--text);background:color-mix(in srgb, var(--surface) 60%, transparent)}.financeTabBtn.active{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 1px 4px #0000000a}.financeTabBadge{background:var(--surface-muted);min-width:22px;height:20px;color:var(--text-secondary);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:750;display:inline-flex}.financeTabBtn.active .financeTabBadge{background:color-mix(in srgb, var(--lilac) 18%, var(--surface));color:var(--secondary)}.financeTabHidden{display:none!important}.financeTableSection{padding:0;overflow:hidden}.financeTableSection .financeSectionHeading{margin:0;padding:20px 22px}.financeTableWrap{border-top:1px solid var(--border);overflow-x:auto}.financeTable{table-layout:fixed;min-width:900px}.financeTable td{vertical-align:top;overflow-wrap:anywhere;height:auto}.financeTable a{color:var(--secondary);font-weight:750}.financeTable .stackedCell{gap:4px}.financeTable small{color:var(--text-muted);line-height:1.45}.transactionTable th:first-child{width:22%}.transactionTable th:nth-child(2){width:30%}.transactionTable th:nth-child(3){width:20%}.transactionTable th:nth-child(4){width:16%}.transactionTable th:nth-child(5){width:12%}.financeDirection{border:1px solid var(--border);white-space:nowrap;border-radius:6px;align-items:center;min-height:28px;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.financeDirection.debt{color:var(--warning)}.financeDirection.credit{color:var(--success)}.financeAmount{text-align:right;white-space:nowrap;font-weight:750}.financeAmount.debt{color:var(--warning)}.financeAmount.warning{color:var(--accent)}.financeNotice{border-left:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 6%, var(--surface));color:var(--text-secondary);align-items:start;gap:10px;margin:0 22px 18px;padding:13px 14px;display:flex}.financeNotice svg{width:18px;height:18px;color:var(--accent);flex:none;margin-top:1px}.financeNotice p{gap:4px;margin:0;font-size:12px;line-height:1.5;display:grid}.financeNotice strong{color:var(--text)}@media (max-width:1500px){.financeFilters{grid-template-columns:repeat(3,minmax(0,1fr))}.financeFilters button{width:100%}}@media (max-width:760px){.financeHeader{align-items:stretch}.financeFilters{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-inline:-18px;padding:18px}.financeSection{border-left:0;border-right:0;border-radius:0;margin-inline:-18px;padding-inline:18px}.financeTableSection{padding-inline:0}.financeTableSection .financeSectionHeading{padding-inline:18px}.financeNotice{margin-inline:18px}.financeTableWrap{overflow:visible}.financeAmount{text-align:left}}@media (max-width:1120px){.reportFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.reportFilters button{grid-column:1/-1;width:100%}.reportLedgerGrid{grid-template-columns:1fr}}@media (max-width:760px){.reportHeader{align-items:stretch}.reportExports{justify-content:stretch}.reportExports a{flex:1}.reportFilters{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin-inline:-18px;padding:18px}.reportFilters button{grid-column:auto}.reportSection,.reportSessions{border-left:0;border-right:0;border-radius:0;margin-inline:-18px;padding-inline:18px}.reportLedgerGrid{gap:14px}.reportSessions{padding-inline:0}.reportSessions .reportSectionHeading{padding-inline:18px}.reportTableWrap{overflow:visible}}.sessionToolbar,.detailActions,.formActions{justify-content:space-between;align-items:center;gap:16px;display:flex}.sessionToolbar{margin-bottom:20px}.dateRange{align-items:flex-end;gap:10px;display:flex}.dateRange label,.sessionForm label,.cancelPanel label{color:var(--secondary);gap:7px;font-size:12px;font-weight:650;display:grid}.dateRange input,.dateRange button,.sessionForm input,.sessionForm select,.sessionForm textarea,.cancelPanel textarea,.formActions button{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text);font:inherit;border-radius:8px}.dateRange input,.sessionForm input,.sessionForm select,.sessionForm textarea,.cancelPanel textarea{padding:10px 12px}.dateRange button,.formActions button{cursor:pointer;padding:10px 16px}.secondaryButton,.dangerButton{border:1px solid var(--border);min-height:48px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.secondaryButton svg,.primaryButton svg{width:17px;height:17px}.dangerButton{border-color:color-mix(in srgb, var(--status-danger-text) 40%, var(--border));color:var(--status-danger-text)}.secondaryButton:hover{background:var(--interactive-hover)}.dangerButton:hover{background:var(--status-danger-surface)}.secondaryButton:active,.dangerButton:active{transform:scale(.99)}.secondaryButton:disabled,.dangerButton:disabled{cursor:not-allowed;opacity:.55}.narrowPage{max-width:880px}.formSurface,.cancelSurface{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:26px}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.formGrid .fullField{grid-column:1/-1}.sessionForm small{color:var(--text-muted);font-weight:400}.sessionForm .formActions{justify-content:flex-end;margin-top:24px}.formMessage{margin:16px 0 0}.formMessage.error{color:var(--status-danger-text)}.sessionNote{border-left:2px solid var(--lilac);color:var(--secondary);margin:18px 0;padding-left:16px}.cancelSurface{gap:10px;margin:22px 0;display:grid}.cancelSurface h2,.cancelSurface p{margin:0}.cancelPanel{gap:12px;max-width:620px;margin-top:8px;display:grid}.cancelPanel .formActions{justify-content:flex-start}@media (max-width:960px){.sessionToolbar{flex-direction:column;align-items:stretch}.dateRange{width:100%}.dateRange label{flex:1}}@media (max-width:720px){.formGrid{grid-template-columns:1fr}.formGrid .fullField{grid-column:auto}.formSurface,.cancelSurface{border-left:0;border-right:0;border-radius:0;margin-inline:-18px;padding:22px 18px}.dateRange{grid-template-columns:1fr 1fr;display:grid}.dateRange button{grid-column:1/-1}.detailActions{flex-wrap:wrap;width:100%}}.staffManager{gap:18px;display:grid}.staffSummary{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.staffSummary>div{border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:18px 20px;display:flex}.staffSummary span{color:var(--text-secondary);font-size:12px}.staffSummary strong{color:var(--secondary);font-family:var(--font-serif);font-size:26px}.staffRoleReference{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:22px}.staffCreateBar{justify-content:flex-end;display:flex}.staffSectionIntro{justify-content:space-between;gap:24px;margin-bottom:18px;display:flex}.staffSectionIntro h2{margin:5px 0 0;font-size:20px}.staffSectionIntro p{max-width:560px;color:var(--text-secondary);margin:0;font-size:12px;line-height:1.65}.staffDrawerFields{gap:var(--space-4);display:grid}.staffDrawerPassword{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--border);gap:var(--space-3);display:grid}.staffDrawerPassword form{gap:var(--space-3);display:grid}.staffFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.staffRolePicker{border:0;flex-wrap:wrap;gap:9px;padding:0;display:flex}.staffRolePicker legend{color:var(--text);margin-bottom:16px;font-size:16px;font-weight:650}.staffRolePicker label,.staffCheckbox{border:1px solid var(--border);min-height:48px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:inline-flex}.staffRolePicker label:has(input:checked){background:var(--state-selected);border-color:var(--control-border)}.staffRolePicker input,.staffCheckbox input{width:18px;height:18px;min-height:0}.staffRolePicker small{color:var(--text-muted)}.staffProfileChoice{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.staffList{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.staffRow{border-top:1px solid var(--border);grid-template-columns:minmax(260px,1.2fr) minmax(260px,1.6fr) auto;align-items:center;gap:18px;padding:18px 22px;display:grid}.staffRow:first-child{border-top:0}.staffIdentity{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;display:grid}.staffIdentity div:nth-child(2){gap:3px;min-width:0;display:grid}.staffIdentity strong,.staffIdentity span{overflow-wrap:anywhere}.staffIdentity span{color:var(--text-secondary);font-size:12px}.staffAvatar{background:var(--accent-soft);width:42px;height:42px;color:var(--secondary);border-radius:50%;place-items:center;font-size:12px;font-weight:750;display:grid}.staffFacts{flex-wrap:wrap;gap:7px;display:flex}.staffFacts span{border:1px solid var(--border);color:var(--text-secondary);border-radius:5px;padding:4px 8px;font-size:12px}.staffRowActions{justify-content:flex-end;display:flex}.staffGuardNote{color:var(--text-secondary);margin:0;font-size:12px}.roleReferenceGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.roleReferenceGrid article{border:1px solid var(--border);border-radius:9px;min-width:0;padding:16px}.roleReferenceGrid article>span{color:var(--text-secondary);margin-top:3px;font-size:12px;display:block}.roleReferenceGrid ul{color:var(--text-secondary);gap:9px;margin:13px 0 0;padding:0;font-size:12px;list-style:none;display:grid}.roleReferenceGrid li{border-left:1px solid var(--border);gap:3px;padding-left:12px;display:grid}.roleReferenceGrid li strong{color:var(--text);font-size:12px}.roleReferenceGrid li small{line-height:1.5}.rolePermissionCard{align-content:start;gap:15px;display:grid}.rolePermissionDisclosure{min-width:0}.rolePermissionSummary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;list-style:none;display:grid}.rolePermissionSummary::-webkit-details-marker{display:none}.rolePermissionSummary:focus-visible,.rolePermissionGroup>summary:focus-visible,.permissionTechnicalKey>summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.rolePermissionHeading{justify-content:space-between;align-items:start;gap:12px;display:flex}.rolePermissionHeading>span{gap:3px;display:grid}.rolePermissionHeading strong{font-size:16px}.rolePermissionHeading small,.rolePermissionExpand{color:var(--text-secondary);font-size:12px;line-height:1.5}.rolePermissionExpand{white-space:nowrap}.rolePermissionExpand:before{width:18px;color:var(--secondary);content:"+";font-size:16px;font-weight:750;display:inline-block}.rolePermissionDisclosure[open]>.rolePermissionSummary{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:12px}.rolePermissionDisclosure[open]>.rolePermissionSummary .rolePermissionExpand:before{content:"−"}.rolePermissionCard form{gap:14px;display:grid}.rolePermissionSearch{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:650;display:grid}.rolePermissionSearch input{border:1px solid var(--control-border);background:var(--surface-elevated);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:8px 12px;font-size:14px}.rolePermissionSearch input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.rolePermissionGroup{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:0}.rolePermissionGroup[hidden]{display:none}.rolePermissionGroup>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 12px;list-style-position:inside;display:flex}.rolePermissionGroup>summary strong{font-size:13px}.rolePermissionGroup>summary span{color:var(--text-muted);white-space:nowrap;font-size:12px}.rolePermissionGroup[open]>summary{border-bottom:1px solid var(--border)}.rolePermissionOptions{border:0;gap:7px;margin:0;padding:0;display:grid}.rolePermissionGroup .rolePermissionOptions{padding:10px}.rolePermissionOption{gap:4px;display:grid}.rolePermissionOption[hidden]{display:none}.rolePermissionOptions label{border:1px solid var(--border);cursor:pointer;border-radius:7px;align-items:start;gap:10px;min-width:0;min-height:58px;padding:10px;display:flex}.rolePermissionOptions label:has(input:checked){border-color:color-mix(in srgb, var(--secondary) 48%, var(--border));background:color-mix(in srgb, var(--secondary) 7%, var(--surface))}.rolePermissionOptions input{width:18px;height:18px;accent-color:var(--secondary);flex:none;margin-top:2px}.rolePermissionOptions input:disabled{cursor:not-allowed;opacity:.72}.rolePermissionOptions label:has(input:disabled){cursor:not-allowed}.rolePermissionOptions span{gap:3px;min-width:0;display:grid}.rolePermissionOptions strong{font-size:12px;font-weight:700}.rolePermissionOptions small{color:var(--text-secondary);font-size:12px;line-height:1.45}.permissionTechnicalKey{color:var(--text-muted);margin-top:2px;font-size:11px}.permissionTechnicalKey>summary{cursor:pointer;width:fit-content}.permissionTechnicalKey code{overflow-wrap:anywhere;padding-top:4px;display:block}.rolePermissionNoResults{color:var(--text-secondary);margin:0;padding:12px;font-size:13px}.rolePermissionReadonlyGroups{gap:8px;display:grid}.rolePermissionReadonlyGroups ul{gap:8px;margin:0;padding:10px;list-style:none;display:grid}.rolePermissionReadonlyGroups li{border:1px solid var(--border);border-radius:7px;gap:3px;padding:10px;display:grid}.rolePermissionReadonlyGroups li>small{color:var(--text-secondary);font-size:12px;line-height:1.45}.rolePermissionActions{z-index:1;border-top:1px solid var(--border);background:var(--surface);padding-block:10px;position:sticky;bottom:0}.rolePermissionCard form>button{background:var(--secondary);min-height:48px;color:var(--on-secondary);font:inherit;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:750}.rolePermissionCard form>button:disabled{cursor:not-allowed;opacity:.55}@media (max-width:760px){.rolePermissionSummary{grid-template-columns:minmax(0,1fr)}.rolePermissionExpand{justify-self:start}.rolePermissionHeading{gap:5px;display:grid}.rolePermissionHeading>small{text-align:left;max-width:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}button,select,input:not([type=checkbox]):not([type=radio]),textarea,.navItem,.backLink,.sectionHeading>a,.reportExports a{min-height:48px!important}@media (max-width:760px){.responsiveCards,.responsiveCards tbody,.responsiveCards tr,.responsiveCards td{width:100%;min-width:0;display:block}.responsiveCards thead{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.responsiveCards tr{border-bottom:1px solid var(--border);padding:16px 18px}.responsiveCards tr:last-child{border-bottom:0}.responsiveCards td{text-align:left;border:0;grid-template-columns:minmax(92px,.42fr) minmax(0,1fr);gap:12px;min-height:34px;padding:5px 0;display:grid}.responsiveCards td:before{content:attr(data-label);color:var(--text-muted);font-size:12px;font-weight:650}.studentsTable.responsiveCards tr{grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:12px 16px;display:grid}.studentsTable.responsiveCards td{align-items:baseline;gap:7px;width:auto;height:auto;min-height:0;padding:2px 0;font-size:12px;display:flex}.studentsTable.responsiveCards td:before{flex:none}.studentsTable .studentNameCell{grid-area:1/1;font-size:14px}.studentsTable .studentNameCell:before,.studentsTable .studentContactCell:before,.studentsTable .studentStatusCell:before,.studentsTable .studentListAction:before{display:none}.studentsTable .studentStatusCell{grid-area:1/2;justify-content:flex-end}.studentsTable .studentStatusCell .studentState{min-height:24px;padding-inline:7px}.studentsTable .studentContactCell{color:var(--text-secondary);grid-area:2/1/auto/-1}.studentsTable .studentContactCell .stackedCell{flex-wrap:wrap;gap:2px 10px;display:flex}.studentsTable .studentPackageCell{grid-area:3/1}.studentsTable .studentCreditsCell{white-space:nowrap;grid-area:3/2}.studentsTable .studentBalanceCell{text-align:left;grid-area:4/1/auto/-1}.studentsTable .studentListAction{grid-area:5/1/auto/-1;margin-top:4px}.listSurface:has(>:is(.studentsTable,.paymentsTable).responsiveCards){overflow:visible}.pagination{flex-direction:column;align-items:stretch;padding-inline:18px}.pagination>div{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.staffSummary{grid-template-columns:1fr}.staffSectionIntro,.staffProfileChoice{grid-template-columns:1fr;display:grid}.staffFields{grid-template-columns:1fr}.staffRow{grid-template-columns:minmax(0,1fr);padding:17px}.staffIdentity{grid-template-columns:42px minmax(0,1fr)}.staffIdentity>.studentState{grid-column:2;justify-self:start}.staffActions[open]{grid-column:auto}.staffActions[open]>summary{margin-left:0}.roleReferenceGrid{grid-template-columns:minmax(0,1fr)}.rolePermissionHeading{gap:5px;display:grid}.rolePermissionHeading>small{text-align:left;max-width:none}}.earningDialog{border:1px solid var(--border);background:var(--surface);width:min(64rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);border-radius:.5rem;padding:1.25rem;overflow:auto}.earningDialog::backdrop{background:#00000073}.earningDialog header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.earningDialog h2{overflow-wrap:anywhere;font-size:1.25rem}.earningForm{gap:1rem;margin-block:1rem;display:grid}.earningForm label{gap:.375rem;min-width:0;display:grid}.earningForm input,.earningForm select,.earningForm textarea{width:100%;min-width:0}.earningActions{flex-wrap:wrap;gap:.5rem;margin-block:1rem;display:flex}.earningTotals{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));gap:1rem;display:grid}.earningTotals dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 0}.earningHash{overflow-wrap:anywhere;font-size:.875rem}.earningTableScroll{margin-block:1rem;overflow-x:auto}.earningConfirm{border:1px solid var(--border);padding:1rem}@media (max-width:480px){.earningDialog{width:calc(100vw - 1rem);padding:.75rem}.earningActions>*{flex:auto}}.contextTabs{overscroll-behavior-inline:contain;scrollbar-width:thin;border-bottom:1px solid var(--border);flex-wrap:nowrap;gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}.contextTabs a{min-height:48px;color:var(--text-secondary);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;padding:.75rem 1rem;display:inline-flex}.contextTabs a[aria-current=page]{color:var(--text);border-bottom-color:var(--primary);font-weight:650}@media (max-width:640px){.contextTabs{overflow:visible}.contextTabs a{white-space:normal;text-align:center;flex:1 1 0;justify-content:center;min-width:0;padding:.65rem .35rem;line-height:1.25}.financeTabSwitcher{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.financeTabSwitcher button{justify-content:center;min-width:0}}.earningForm input,.earningForm select,.earningForm textarea{border:1px solid var(--control-border);background:var(--surface-elevated);color:var(--text);font:inherit;border-radius:.375rem;min-height:44px;padding:.625rem .75rem}.earningDialog{overscroll-behavior:contain}.earningDialog :is(button,a,input,select,textarea):focus-visible,.contextTabs a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.earningTableScroll tbody tr{content-visibility:auto;contain-intrinsic-size:auto 48px}.statementToolbar{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;display:grid}.statementToolbar>.primaryButton{white-space:nowrap;min-height:44px}.statementFilters{grid-template-columns:repeat(2,minmax(10rem,1fr)) auto;gap:.75rem;padding:.75rem 1rem}.statementFilters>button{min-height:44px}.statementExtraFilters{grid-column:1/-1}.statementExtraFilters summary,.statementDetailGroup summary{cursor:pointer;color:var(--text-secondary);padding:.5rem 0;font-weight:600}.statementDateFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding-block:.5rem;display:grid}.statementRowActions{flex-wrap:wrap;gap:.4rem;display:flex}.statementTotals{border-block:1px solid var(--border);gap:0}.statementTotals>div{padding:.75rem}.statementTotals>div:last-child{background:var(--surface-elevated);font-weight:700}.statementDetailGroup{border-top:1px solid var(--border)}.statementDetailGroup p{overflow-wrap:anywhere}@media (max-width:760px){.statementToolbar{grid-template-columns:1fr}.statementFilters{border:1px solid var(--border);border-radius:.5rem;grid-template-columns:1fr;margin-inline:0}.statementDateFields{grid-template-columns:1fr}.statementToolbar>.primaryButton{width:100%}}.breadcrumb{margin-bottom:.75rem}.breadcrumb ol{flex-wrap:wrap;align-items:center;gap:.25rem 0;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.breadcrumb li{align-items:center;display:flex}.breadcrumb li+li:before{content:"›";color:var(--text-muted);margin:0 .5rem}.breadcrumb a{color:var(--text-secondary);align-items:center;min-height:44px;display:inline-flex}.breadcrumb a:hover{color:var(--text)}.breadcrumb [aria-current=page]{color:var(--text-muted)}.breadcrumb a:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.coursePackageLink{min-height:44px;color:var(--text-secondary);text-underline-offset:3px;align-items:center;text-decoration:underline;display:inline-flex}.coursePackageLink:hover{color:var(--text)}.coursePackageLink:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.packageDefinitionCourseFilter{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.packageDefinitionCourseFilter select{border:1px solid var(--control-border);background:var(--surface-elevated);min-height:44px;color:var(--text);font:inherit;border-radius:.375rem;padding:.375rem .5rem}.seriesMode{border:0;flex-wrap:wrap;gap:.75rem 1.25rem;margin:0 0 1.5rem;padding:0;display:flex}.seriesMode legend,.seriesWeekdays legend{margin-bottom:.5rem;font-weight:650}.seriesMode label,.seriesWeekdays label{align-items:center;gap:.5rem;min-height:48px;display:flex}.seriesForm{gap:1rem;display:grid}.seriesForm fieldset{min-width:0}.seriesBaseFields{border:0;margin:0;padding:0}.seriesRecurrence{border:1px solid var(--border);padding:1rem}.seriesWeekdays{border:0;flex-wrap:wrap;gap:.5rem 1rem;margin:1rem 0;padding:0;display:flex}.seriesMode input,.seriesWeekdays input{width:1.125rem;height:1.125rem;min-height:0;accent-color:var(--primary)}.seriesForm :is(input:not([type=checkbox]):not([type=radio]),select,textarea){border:1px solid var(--control-border);background:var(--surface-elevated);width:100%;min-width:0;min-height:48px;color:var(--text);font:inherit;border-radius:.375rem;padding:.625rem}.seriesForm label{gap:.375rem;display:grid}.seriesForm .seriesWeekdays label,.seriesForm .seriesMode label{display:flex}.seriesExclusions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.seriesDateTags{flex-wrap:wrap;gap:.5rem;padding:0;list-style:none;display:flex}.seriesDateTags li{border:1px solid var(--border);align-items:center;gap:.5rem;padding-left:.5rem;display:flex}.seriesDateSummary>div{flex-wrap:wrap;gap:.375rem 1rem;max-height:12rem;font-size:.875rem;display:flex;overflow:auto}.seriesConflicts{border:1px solid color-mix(in srgb, var(--destructive) 45%, var(--border));background:color-mix(in srgb, var(--destructive) 6%, var(--surface));border-radius:8px;padding:.75rem 1rem}.seriesConflicts li{overflow-wrap:anywhere;gap:.375rem;margin-block:.75rem;display:grid}.seriesForm .formActions{flex-wrap:wrap;gap:.75rem;display:flex}.seriesForm button{min-height:48px}.seriesMode :focus-visible,.seriesForm :focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (max-width:600px){.seriesForm .formGrid{grid-template-columns:minmax(0,1fr)}.seriesRecurrence{padding:.625rem}.seriesForm .formActions>button{flex:100%}}.studentProgressColumns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.studentProgressColumns ul{margin:0;padding:0;list-style:none}.studentProgressColumns li{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:1rem 0}.studentProgressColumns li header{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.studentProgressColumns li header span{color:var(--text-secondary)}.studentProgressColumns p{white-space:pre-wrap}.studentProgressColumns dl{gap:.375rem;font-size:.875rem;display:grid}.studentProgressColumns dl div{flex-wrap:wrap;gap:.5rem;display:flex}.studentProgressColumns dd{margin:0}@media (max-width:760px){.studentProgressColumns{grid-template-columns:minmax(0,1fr)}}.studentProfileWorkspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:32px;display:grid}.studentProfileWorkspace>.ledgerSection:first-child{min-width:0;margin-top:0}.studentSecondarySettings{border-left:1px solid var(--border);min-width:0;padding-left:24px}.studentSecondarySettings .sectionHeading{align-items:flex-start}.studentSecondarySettings .sectionHeading p{max-width:650px;color:var(--text-muted);margin-top:5px;font-size:13px;line-height:1.55}.studentSecondaryDisclosure{border-top:1px solid var(--border)}.studentSecondaryDisclosure:last-child{border-bottom:1px solid var(--border)}.studentSecondaryDisclosure>summary{min-height:64px;color:var(--text);cursor:pointer;align-content:center;gap:3px;padding:10px 4px;display:grid}.studentSecondaryDisclosure>summary:hover{color:var(--primary)}.studentSecondaryDisclosure>summary span{font-weight:750}.studentSecondaryDisclosure>summary small{color:var(--text-muted);font-size:12px;font-weight:400}.studentSecondaryDisclosureBody{padding:0 0 24px}.studentSecondaryDisclosureBody>.ledgerSection{margin-top:14px}.studentTabsNav{border-bottom:1px solid var(--border);gap:2px;margin:0 0 28px;display:flex;overflow-x:auto}.studentTabsNav button{min-height:48px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.studentTabsNav button:hover{color:var(--primary);background:color-mix(in srgb, var(--interactive-hover) 65%, transparent)}.studentTabsNav button[aria-selected=true],.studentTabsNav button.activeTab{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.studentTabsNav button svg{width:17px;height:17px}.tabBadge{background:color-mix(in srgb, var(--primary) 12%, var(--surface));min-width:20px;height:20px;color:var(--primary);border-radius:10px;place-items:center;padding:0 6px;font-size:12px;font-weight:750;display:inline-grid}.studentTabPanel{animation:.2s cubic-bezier(.16,1,.3,1) fadeInTab}.studentTabPanel[hidden]{display:none!important}@media (max-width:1100px){.studentProfileWorkspace{grid-template-columns:minmax(0,1fr)}.studentSecondarySettings{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}}@media (max-width:720px){.studentTabsNav{margin-inline:-18px;padding-inline:18px}.studentTabsNav button{padding-inline:14px}.studentSecondaryDisclosure>summary{min-height:72px}}@media (max-width:640px){.studentTabsNav{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.studentTabsNav button{white-space:normal;text-align:center;justify-content:center;min-width:0}}@keyframes fadeInTab{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
