@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist:"Geist","Geist Fallback"}:root{color-scheme:light dark;--background:#f2f0ed;--surface:#fff;--surface-secondary:#f8f7f5;--surface-sunken:#ece9e5;--surface-elevated:#fff;--surface-hover:#f8f7f5;--border:#ddd9d4;--border-strong:#8c8781;--text:#1c1917;--text-secondary:#57534e;--text-muted:#6f6a64;--accent:#7d1d35;--accent-hover:#651529;--accent-muted:#f5e9ed;--accent-subtle:#eedce2;--accent-fill:#7d1d35;--accent-fill-hover:#651529;--brand-on-fill:#fff;--success:#21643e;--success-soft:#e8f3ec;--success-border:#b9d7c4;--warning:#795014;--warning-soft:#fbf1dc;--warning-border:#ebcf94;--destructive:#b42318;--destructive-fill:#b42318;--destructive-fill-hover:#8f1c13;--destructive-soft:#fceae8;--destructive-border:#edb8b2;--info:#245b78;--info-soft:#e8f1f6;--info-border:#b9d1df;--neutral-soft:#f1efec;--neutral-border:#d5d0ca;--overlay:rgb(28 25 23/45%);--focus-color:var(--accent);--focus-ring:0 0 0 3px color-mix(in srgb,var(--focus-color) 45%,transparent);--error-ring:0 0 0 3px color-mix(in srgb,var(--destructive) 35%,transparent);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.625rem;--radius-full:999px;--shadow-sm:0 1px 2px rgb(28 25 23/5%);--shadow-popover:0 1px 2px rgb(0 0 0/6%),0 8px 24px rgb(28 25 23/10%);--shadow-dialog:0 1px 2px rgb(0 0 0/6%),0 8px 24px rgb(28 25 23/10%);--font-sans:var(--font-geist),system-ui,-apple-system,sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.8125rem;--font-size-body:0.875rem;--font-size-heading:1.125rem;--font-size-title:1.5rem;--font-size-metric:1.75rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--line-height:1.5;--control-height:2.25rem;--control-height-sm:2rem;--motion-duration:150ms;--motion-easing:cubic-bezier(0.2,0,0,1);--bg:var(--background);--surface-muted:var(--surface-secondary);--sidebar-bg:var(--background);--brand:var(--accent);--brand-hover:var(--accent-hover);--brand-fill:var(--accent-fill);--brand-fill-hover:var(--accent-fill-hover);--brand-soft:var(--accent-muted);--danger:var(--destructive);--danger-soft:var(--destructive-soft)}:root[data-theme=dark]{color-scheme:dark;--background:#0b0b0c;--surface:#131316;--surface-secondary:#17171a;--surface-sunken:#17171a;--surface-elevated:#1d1d21;--surface-hover:#202024;--border:rgb(255 255 255/9%);--border-strong:#767681;--text:#fafafa;--text-secondary:#c4c4cb;--text-muted:#a1a1aa;--accent:#df8ca0;--accent-hover:#e9a4b4;--accent-muted:#21191c;--accent-fill:#8f233f;--accent-fill-hover:#a52a49;--success:#89cba4;--success-soft:#182a20;--success-border:color-mix(in srgb,var(--success) 22%,transparent);--warning:#e1be72;--warning-soft:#2d2619;--warning-border:color-mix(in srgb,var(--warning) 22%,transparent);--destructive:#f099a3;--destructive-fill:#a92435;--destructive-fill-hover:#ba2b3e;--destructive-soft:#301e23;--destructive-border:color-mix(in srgb,var(--destructive) 22%,transparent);--info:#92bde6;--info-soft:#1a2735;--info-border:color-mix(in srgb,var(--info) 22%,transparent);--neutral-soft:var(--surface-secondary);--neutral-border:var(--border);--overlay:rgb(11 11 12/72%);--sidebar-bg:var(--surface);--shadow-sm:none;--shadow-popover:0 2px 6px rgb(0 0 0/18%),0 12px 28px rgb(0 0 0/20%);--shadow-dialog:0 4px 12px rgb(0 0 0/22%),0 24px 48px rgb(0 0 0/30%)}:root{font-family:var(--font-sans);background:var(--bg);color:var(--text)}.cash-page{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.reports-page,.reports-stack{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;grid-gap:var(--space-4);gap:var(--space-4)}.reports-page>*,.reports-stack>*{min-width:0}.reports-tabs{display:flex;gap:var(--space-1);overflow-x:auto;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-muted)}.reports-tabs a{flex:0 0 auto;padding:.7rem var(--space-4);border-radius:var(--radius-md);color:var(--text-muted);font-weight:700;text-decoration:none}.reports-tabs a.active{background:var(--surface);box-shadow:var(--shadow-sm);color:var(--brand)}.reports-difference,.reports-filters,.reports-inline-filters,.reports-operator,.reports-panel-heading,.reports-section-heading{display:flex;align-items:center;gap:var(--space-3)}.reports-filters{flex-wrap:wrap;align-items:flex-end}.reports-filters label,.reports-inline-filters label,.reports-sort{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.reports-presets{display:flex;gap:var(--space-2)}.reports-difference,.reports-panel-heading,.reports-section-heading{justify-content:space-between}.reports-panel-heading{margin-bottom:var(--space-4)}.reports-panel-heading h2,.reports-section-heading h2{margin-bottom:0}.reports-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.reports-metrics article{min-width:0;padding:var(--space-4)}.reports-metrics.compact{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:var(--space-4)}.reports-metrics.compact article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.reports-metrics span,.reports-metrics strong{display:block}.reports-metrics span{color:var(--text-muted)}.reports-metrics strong{margin-top:var(--space-2);font-size:clamp(1.2rem,2vw,1.7rem)}.reports-note{padding:var(--space-3);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--text-muted)}.reports-inline-filters{align-items:flex-end;margin-bottom:var(--space-4)}.reports-inline-filters label:first-child{flex:1 1}.reports-chart{height:13rem;max-width:100%;overflow-x:auto;display:flex;align-items:flex-end;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.reports-chart div{min-width:2rem;height:100%;flex:1 1;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;gap:var(--space-1)}.reports-chart div>span{width:min(2.5rem,80%);display:block;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--brand-fill)}.reports-chart small{color:var(--text-muted);white-space:nowrap}.reports-panel table a{color:var(--brand);font-weight:700}.reports-panel table a small{display:block;color:var(--text-muted);font-weight:400}.reports-sort{max-width:16rem;margin:0 0 var(--space-3) auto}.reports-operator{flex-wrap:wrap;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.reports-difference{padding:var(--space-3);border-bottom:1px solid var(--border);text-decoration:none}.reports-difference span:first-child{display:grid}@media (max-width:64rem){.reports-metrics.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:48rem){.reports-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reports-difference,.reports-filters,.reports-inline-filters,.reports-panel-heading{align-items:stretch;flex-direction:column}.reports-filters button,.reports-filters label,.reports-inline-filters label,.reports-panel-heading .button{width:100%}.reports-presets{display:grid;grid-template-columns:1fr 1fr}.reports-sort{max-width:none;margin-left:0}}@media (max-width:28rem){.reports-metrics,.reports-metrics.compact{grid-template-columns:1fr}}.cash-page .panel{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.cash-empty,.cash-page .panel{display:grid;grid-gap:var(--space-3)}.cash-empty{min-height:14rem;place-content:center;justify-items:center;gap:var(--space-3);text-align:center}.cash-heading,.cash-movements article,.cash-range{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cash-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin:var(--space-4) 0}.cash-heading-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.cash-totals article,.cash-totals label{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.cash-totals strong{font-size:1.2rem}.cash-movements{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin-top:var(--space-3)}.cash-movements article{padding:var(--space-3);border-bottom:1px solid var(--border)}.cash-range{align-items:flex-end;justify-content:flex-start;flex-wrap:wrap;margin-top:var(--space-3)}.cash-range label{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}@media (max-width:70rem){.class-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:48rem){.cash-totals{grid-template-columns:1fr}.cash-heading,.cash-movements article{align-items:stretch;flex-direction:column}.cash-heading .button,.cash-heading button,.cash-range button{width:100%}.cash-heading-actions{display:grid;width:100%}}*{box-sizing:border-box}html{min-width:20rem}body,html{background:var(--bg)}body{min-height:100vh;margin:0;color:var(--text);font-size:var(--font-size-body);line-height:var(--line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:color-mix(in srgb,var(--accent) 28%,transparent)}body,html{max-width:100%;overflow-x:clip}*,:after,:before{min-width:0}img,svg{max-width:100%}:root[data-theme=dark] .sidebar-header{background:var(--surface)}:root[data-theme=dark] .nav-link:hover{border-color:var(--border);background:var(--brand-soft)}:root[data-theme=dark] .topbar{background:var(--surface)}.dashboard-page{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}.dashboard-card .eyebrow{color:var(--brand)}.dashboard-card{padding:var(--space-4)}.dashboard-card h2{margin:.15rem 0 .75rem;font-size:1.15rem}.dashboard-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.dashboard-card-title>strong{display:grid;place-items:center;min-width:2rem;min-height:2rem;border-radius:999px;background:var(--brand-soft);color:var(--brand)}.dashboard-card-title a{color:var(--brand);font-weight:700}.dashboard-empty{color:var(--text-muted)}.attendance-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--space-2);margin-bottom:var(--space-4)}.attendance-summary span{padding:.7rem;border-radius:var(--radius-md)}.attendance-summary strong{display:block;font-size:1.2rem}.context-filter{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:.65rem .8rem;border-radius:var(--radius-md);background:var(--brand-soft)}.context-filter a{color:var(--brand);font-weight:700}.debtor-list{display:grid;border-top:1px solid var(--border)}.debtor-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.debtor-row h3,.debtor-row p{margin:0}.debtor-row small{color:var(--text-muted)}.debtor-actions{display:flex;gap:var(--space-2)}.dashboard-loading{padding:var(--space-8);color:var(--text-muted);text-align:center}.financial-card{overflow:hidden}.financial-period{color:var(--text-muted)}.payment-chart{height:15rem;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:clamp(.35rem,2vw,1rem);gap:clamp(.35rem,2vw,1rem);align-items:flex-end;padding:var(--space-4) var(--space-2);border-bottom:1px solid var(--border)}.payment-bar-column{height:100%;display:grid;grid-template-rows:1.5rem minmax(0,1fr) 1.5rem;grid-gap:.35rem;gap:.35rem;text-align:center;color:var(--text-muted)}.payment-bar-value{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.payment-bar-track{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:0;background:var(--surface-sunken)}.payment-bar,.payment-bar-track{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.payment-bar{width:min(70%,3.5rem);display:block;background:color-mix(in srgb,var(--brand-fill) 60%,var(--surface));transition:height .18s ease}.payment-bar-track.current .payment-bar{background:var(--brand-fill)}.payment-bar-column:hover .payment-bar{background:var(--brand-fill-hover)}.payment-bar-column strong{color:var(--text);font-size:.82rem}.financial-metrics{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--space-2);gap:var(--space-2);padding-top:var(--space-4)}.financial-metric{padding:.8rem;border-radius:var(--radius-md);background:var(--surface-muted)}:root:not([data-theme=dark]) .financial-metric{border:1px solid var(--border)}.financial-metric span{display:block;color:var(--text-muted);font-size:.8rem}.financial-metric strong{display:block;margin-top:.15rem;font-size:1.15rem}.financial-positive{color:var(--success)}.financial-warning{color:var(--warning)}.financial-disclaimer{margin:var(--space-3) 0 0;color:var(--text-muted);font-size:.78rem}.financial-empty{min-height:8rem;display:grid;place-items:center;border-block:1px solid var(--border);text-align:center}@media (max-width:40rem){.attendance-summary,.debtor-row{grid-template-columns:1fr}.debtor-actions{display:grid;grid-template-columns:1fr 1fr}.financial-metrics{grid-template-columns:repeat(2,1fr)}.payment-chart{height:12rem;gap:.25rem;padding-inline:0}.payment-bar-value{font-size:.62rem}}@media (max-width:22rem){.financial-metrics{grid-template-columns:1fr}.payment-bar-value{visibility:hidden}.debtor-actions{grid-template-columns:1fr}}a{color:inherit}button,input,select,textarea{font:inherit}.button,button{min-height:var(--control-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--brand-fill);border-radius:var(--radius-md);background:var(--brand-fill);color:var(--brand-on-fill);font-weight:var(--font-weight-medium);line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--motion-duration) var(--motion-easing),border-color var(--motion-duration) var(--motion-easing),color var(--motion-duration) var(--motion-easing)}:root:not([data-theme=dark]) .button:not(.secondary),:root:not([data-theme=dark]) button:not(.secondary){box-shadow:inset 0 1px 0 rgb(255 255 255/12%)}.button:hover:not([aria-disabled=true]),button:hover:not(:disabled){border-color:var(--brand-fill-hover);background:var(--brand-fill-hover)}:root:not([data-theme=dark]) .button:active:not([aria-disabled=true]),:root:not([data-theme=dark]) button:active:not(:disabled){background:var(--brand-hover)}.button:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.6}:root:not([data-theme=dark]) button:disabled{border-style:dashed;background:var(--surface-secondary);color:var(--text-muted);opacity:1}.button.secondary,button.secondary{border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text)}.button.secondary:hover:not([aria-disabled=true]):not(:disabled),button.secondary:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-muted);color:var(--text)}.admin-layout{min-height:100vh;display:grid;grid-template-columns:16rem minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-3)}.sidebar{position:-webkit-sticky;position:sticky;top:var(--space-3);z-index:30;height:calc(100vh - var(--space-6));padding:var(--space-3);overflow-y:auto;border:1px solid var(--border);border-radius:calc(var(--radius-lg) + var(--space-2));background:var(--sidebar-bg);box-shadow:var(--shadow-sm)}.sidebar-header{margin-bottom:var(--space-4);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.brand{gap:var(--space-3);color:var(--text);font-weight:800;line-height:1.05}.brand small{display:block;margin-top:.22rem;color:var(--text-muted);font-size:.72rem}.sidebar-nav{display:grid;grid-gap:var(--space-3);gap:var(--space-3);padding:0 var(--space-1)}.nav-group-label{margin:0 0 var(--space-1);padding:0 var(--space-3);font-size:.67rem;font-weight:800;letter-spacing:.11em}.nav-link{gap:var(--space-3);min-height:2.35rem;padding:.5rem var(--space-3);border:1px solid transparent;border-radius:var(--radius-lg);color:var(--text-muted);font-size:.875rem;font-weight:600}.nav-link+.nav-link{margin-top:var(--space-1)}.nav-link:hover{border-color:var(--border);background:var(--brand-soft);color:var(--text)}.nav-link.active{border-color:var(--brand-fill);background:var(--brand-fill);box-shadow:var(--shadow-sm);color:var(--brand-on-fill);font-weight:750}.topbar{top:var(--space-3);min-height:4.25rem;gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.admin-content>main{width:min(100%,82rem);padding:var(--space-8) var(--space-8) 5rem}h1{margin:var(--space-1) 0 var(--space-2);font-size:var(--font-size-title);letter-spacing:-.02em;line-height:1.2}h1,h2{font-weight:var(--font-weight-semibold);text-wrap:balance}h2{margin:0 0 var(--space-4);font-size:var(--font-size-heading);line-height:1.3;letter-spacing:-.01em}h3{font-size:1rem;font-weight:var(--font-weight-semibold)}p{line-height:1.55}.attendance-eyebrow,.eyebrow{margin:0;color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:normal;text-transform:none}.attendance-date-title,.subtitle{margin:0;color:var(--text-muted);font-size:.875rem}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-6)}.attendance-empty,.attendance-filters,.attendance-panel,.card{margin-top:var(--space-4);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);min-width:0;max-width:100%;overflow-wrap:anywhere}.catalog-form,.class-filters,.filters,.schedule-builder{display:grid;align-items:flex-end;grid-gap:var(--space-4);gap:var(--space-4)}.filters{grid-template-columns:minmax(16rem,1fr) 12rem auto;margin-bottom:var(--space-4)}.student-form{grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-4)}.lead-form,.student-form{display:grid;gap:var(--space-4)}.lead-form{grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4)}.lead-form textarea{min-height:7rem;resize:vertical}.lead-filters{display:grid;grid-template-columns:minmax(15rem,1.6fr) repeat(3,minmax(9rem,.7fr)) auto;align-items:flex-end;grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-4)}.duplicate-warning{padding:var(--space-4);border:1px solid var(--warning);border-radius:var(--radius-md);background:var(--warning-soft);color:var(--text)}.duplicate-warning p{margin:var(--space-1) 0}.duplicate-warning a,.lead-overdue{color:var(--warning);font-weight:750}.status.lead-interested{background:var(--brand-soft);color:var(--brand)}.status.lead-trial{background:var(--warning-soft);color:var(--warning)}.lead-notes{margin:0;white-space:pre-wrap}.onboarding-classes,.onboarding-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.charge-summary p,.onboarding-heading,.payment-options{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3)}.charge-summary p,.onboarding-heading h2,.onboarding-heading p{margin:0}.onboarding-fields,.onboarding-period{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.class-summary{margin-bottom:0;color:var(--text-muted);overflow-wrap:anywhere}.charge-summary{margin-top:var(--space-4)}.charge-summary p{padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.charge-total{font-size:1rem}.payment-options{justify-content:flex-start}.payment-options label{display:flex;align-items:center;grid-auto-flow:column}.payment-options input[type=radio]{width:auto;min-height:auto}.onboarding-success{max-width:44rem}.catalog-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.tariff-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.class-filters{grid-template-columns:minmax(12rem,1.4fr) repeat(5,minmax(8rem,1fr)) auto;margin-bottom:var(--space-4)}.class-filters input,.class-filters select,.class-filters>button{height:var(--control-height)}.class-filters>button{align-self:end;padding-inline:var(--space-5);white-space:nowrap}.classes-table-capacity{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}@media (max-width:90rem){.class-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.class-filters>button{grid-column:-2/-1}}.classes-table td:last-child,.classes-table th:last-child{width:5.5rem;min-width:5.5rem;overflow-wrap:normal;white-space:nowrap}.classes-table-action{display:inline-flex;align-items:center;min-height:var(--control-height-sm);white-space:nowrap}.class-form{display:grid;grid-gap:var(--space-6);gap:var(--space-6)}fieldset{margin:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md)}legend{padding:0 var(--space-2);font-weight:750}.schedule-builder{grid-template-columns:repeat(5,minmax(7rem,1fr)) auto}.schedule-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:0;list-style:none}.schedule-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.section-title{margin-top:var(--space-8)}label{display:grid;align-content:start;grid-gap:var(--space-1);gap:var(--space-1);color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}input,select,textarea{width:100%;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);outline:none;background:var(--surface);color:var(--text);font-size:var(--font-size-body);line-height:1.25}input::placeholder{color:var(--text-muted)}select:not([multiple]):not([size]){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:calc(var(--space-3) * 2 + .75rem);background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:right calc(var(--space-3) + .3125rem) center,right var(--space-3) center;background-repeat:no-repeat;background-size:.3125rem .3125rem;text-overflow:ellipsis}select:not([multiple]):not([size]):disabled{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%)}textarea::placeholder{color:var(--text-muted)}textarea{min-height:calc(var(--control-height) * 2);resize:vertical;line-height:var(--line-height)}input[type=checkbox],input[type=radio]{width:var(--space-4);height:var(--space-4);min-height:var(--space-4);margin:0;padding:0;accent-color:var(--brand-fill)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-muted);color:var(--text-muted);cursor:not-allowed}input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}:root:not([data-theme=dark]) input:hover:not(:disabled),:root:not([data-theme=dark]) select:hover:not(:disabled),:root:not([data-theme=dark]) textarea:hover:not(:disabled){border-color:var(--text-muted)}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:var(--error-ring)}.wide{grid-column:1/-1}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.attendance-message,.field-error,.message{color:var(--danger);font-weight:650}.attendance-message[role=status]{color:var(--success)}.field-error{font-size:.76rem}.optional{color:var(--text-muted);font-size:.72rem;font-weight:500}.table-wrap,section.card:has(>table){overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{padding:var(--space-3);border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}th{background:var(--surface);color:var(--text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:normal;text-transform:none;white-space:nowrap;overflow-wrap:normal}tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td{border-bottom-color:transparent}td.actions{min-width:max-content}td button.secondary,td.actions button{min-height:2.125rem;padding:.45rem .7rem;font-size:.78rem;white-space:nowrap;overflow-wrap:normal}.attendance-status,.status{display:inline-flex;width:-moz-fit-content;width:fit-content;min-height:1.375rem;align-items:center;gap:.375rem;padding:.125rem var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);white-space:nowrap;overflow-wrap:normal}.attendance-status:before,.status:before{width:.375rem;height:.375rem;flex:none;border-radius:50%;background:currentcolor;content:""}.attendance-status.present,.status.active{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.status.inactive{background:var(--neutral-soft);border-color:var(--neutral-border);color:var(--text-muted)}.status.pending{background:var(--surface-muted);color:var(--text-muted)}.status.paid{background:var(--success-soft);color:var(--success)}.status.void{background:var(--danger-soft);border-color:var(--destructive-border);color:var(--danger)}.status+.status{margin-left:var(--space-2)}.attendance-status.absent{background:var(--danger-soft);border-color:var(--destructive-border);color:var(--danger)}.attendance-status.justified{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.back-link,.text-link{color:var(--brand);font-weight:var(--font-weight-medium);text-decoration:none}.back-link:hover,.text-link:hover{text-decoration:underline;text-underline-offset:3px}.back-link{display:inline-block;margin-bottom:var(--space-2);font-size:.82rem;text-decoration:none}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-4);color:var(--text-muted);font-size:.82rem}.payment-charge-list,.selection-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-4)}.selection-list{grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}.payment-charge-list .enrollment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4)}.payment-charge-list .enrollment-card>span:last-child{text-align:right}.payment-v2-grid{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(18rem,1.2fr);grid-gap:var(--space-6);gap:var(--space-6);margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border)}.payment-allocation-preview,.payment-tenders{display:grid;align-content:start;grid-gap:var(--space-3);gap:var(--space-3)}.payment-allocation-preview{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.payment-allocation-preview ul{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:0;list-style:none}.payment-allocation-preview li{display:flex;justify-content:space-between;gap:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--border)}.status.partial{background:var(--warning-soft);color:var(--warning)}.payment-summary{display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border)}.payment-summary label{min-width:12rem}.pagination button{min-height:2.25rem;padding:.45rem .75rem}.attendance-empty,.empty-state{padding:var(--space-12) var(--space-4);text-align:center;color:var(--text-muted)}.empty-state h2{margin-bottom:var(--space-2)}.empty-state p{margin:0}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--space-6);gap:var(--space-6);margin:0}dt{color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-size:.95rem}.enrollment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.future-card{box-shadow:none}.future-card h2{font-size:1rem}.future-card p{margin:0;color:var(--text-muted)}.enrollment-card{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hover)}.enrollment-card h3{margin:0 0 var(--space-2)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:var(--space-6);background:var(--bg)}.auth-card{width:100%;min-width:0;max-width:27rem;margin:0;border-top:3px solid var(--brand);box-shadow:var(--shadow-sm)}.auth-card h1{font-size:1.75rem}.auth-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.password-field{position:relative;display:block}.password-field input{padding-right:5.4rem}.password-toggle{position:absolute;top:50%;right:.35rem;min-height:2rem;padding:.35rem .55rem;transform:translateY(-50%);border-color:transparent;background:transparent;color:var(--brand);font-size:.75rem}.password-toggle:hover{border-color:transparent;background:var(--brand-soft)}.password-toggle:focus-visible{outline-offset:0}.auth-shell--login{display:flex;align-items:flex-start;justify-content:center;padding:var(--space-6) var(--space-4) var(--space-8)}.auth-layout{width:100%;max-width:27rem;margin-inline:auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-5)}.auth-brand,.auth-layout>.auth-card{flex:none;width:100%}.auth-brand{order:-1;max-width:16rem;margin-inline:auto;display:flex;justify-content:center}.auth-logo{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border:0;border-radius:0;background:transparent}.auth-logo--dark,:root[data-theme=dark] .auth-logo--light{display:none}:root[data-theme=dark] .auth-logo--dark{display:block}@media (min-width:64rem){.auth-shell--login{align-items:center;padding:var(--space-6) clamp(var(--space-4),5vw,var(--space-12))}.auth-layout{max-width:72rem;flex-direction:row;align-items:center;justify-content:center;gap:clamp(var(--space-8),7vw,7rem)}.auth-layout>.auth-card{flex:0 1 27rem;width:auto}.auth-brand{order:0;flex:1 1;width:auto;max-width:36rem;margin-inline:0}.auth-logo{aspect-ratio:16/9}}.attendance-header{margin-bottom:var(--space-6)}.attendance-date-title,.attendance-header h1{margin-top:var(--space-1)}.attendance-date-title{text-transform:capitalize}.attendance-filters{display:grid;grid-template-columns:minmax(0,2fr) minmax(12rem,1fr);grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-4)}.attendance-quick-filters{grid-template-columns:minmax(15rem,2fr) minmax(12rem,1fr) auto;align-items:flex-end}.attendance-class-list,.attendance-day-list,.attendance-list,.attendance-quick-results{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.attendance-row{display:grid;grid-template-columns:minmax(11rem,1fr) minmax(10rem,.75fr) minmax(14rem,1.4fr);align-items:flex-end;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hover)}.attendance-toggle-row{grid-template-columns:minmax(12rem,1fr) 8rem auto;align-items:center}.attendance-student{min-height:2.625rem;display:flex;align-items:center}.attendance-student small{display:block;color:var(--text-muted)}.attendance-actions{display:flex;justify-content:flex-end;margin-top:var(--space-6)}.attendance-roster-heading,.attendance-row-actions,.attendance-section-heading,.attendance-student-header,.attendance-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.attendance-roster-heading,.attendance-student-header{align-items:flex-start}.attendance-roster-heading,.attendance-section-heading,.attendance-student-header{margin-bottom:var(--space-4)}.attendance-class-card h3,.attendance-class-card p,.attendance-day-card h3,.attendance-day-card p,.attendance-roster-heading h2,.attendance-roster-heading p,.attendance-section-heading h2,.attendance-student-header h2{margin:0}.attendance-section-heading{margin-top:var(--space-6)}.attendance-class-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hover)}.attendance-class-card.suggested{border-color:var(--brand);background:var(--brand-soft);box-shadow:inset 3px 0 var(--brand)}.attendance-class-card p,.attendance-day-card p{margin-top:var(--space-1);color:var(--text-muted)}.attendance-quick-action{min-width:12rem;display:grid;align-content:center;grid-gap:var(--space-2);gap:var(--space-2)}.attendance-search-status{min-height:var(--control-height);display:flex;align-items:center;align-self:end;color:var(--text-muted);font-size:.82rem}.attendance-day-card{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;align-items:center;grid-gap:var(--space-6);gap:var(--space-6);padding:var(--space-4) var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.attendance-day-card time{color:var(--brand);font-size:1.15rem;font-weight:800}.attendance-roster-panel{margin-top:var(--space-4)}.attendance-summary{justify-content:flex-end}.attendance-summary span{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--surface-muted);color:var(--text-muted);font-size:.78rem}.attendance-roster-search{display:block;max-width:28rem;margin-bottom:var(--space-4)}.attendance-row-actions{justify-content:flex-end}@media (max-width:1100px){.catalog-form,.class-filters,.schedule-builder,.tariff-form{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-form>.actions,.catalog-form>button{justify-self:start}}@media (max-width:900px){.admin-layout{display:block;padding:var(--space-2)}.sidebar{position:fixed;top:var(--space-2);left:var(--space-2);height:calc(100vh - var(--space-4));width:min(19rem,calc(100vw - 3rem));transform:translateX(calc(-100% - var(--space-4)));border-radius:calc(var(--radius-lg) + var(--space-2));box-shadow:var(--shadow-dialog);transition:transform .18s ease}.sidebar.open{transform:translateX(0)}.menu-button,.sidebar-close{width:2.625rem;min-width:2.625rem;padding:0}.sidebar-close{display:inline-flex;font-size:1.35rem}.menu-button{display:inline-flex;font-size:1.1rem}.sidebar-backdrop{position:fixed;inset:0;z-index:25;min-height:100vh;display:block;padding:0;border:0;border-radius:0}.sidebar-backdrop,.sidebar-backdrop:hover{background:var(--overlay)}.detail-grid,.student-form{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-row{grid-template-columns:1fr 1fr}.attendance-toggle-row{grid-template-columns:1fr auto}.attendance-row-actions{grid-column:1/-1;justify-content:stretch}.attendance-row-actions button{flex:1 1}}@media (max-width:768px){.topbar{min-height:3.75rem;padding:var(--space-2) var(--space-4)}.topbar>button:last-child{min-height:2.25rem;padding:.45rem .65rem;font-size:.76rem}.admin-content>main{padding:var(--space-6) var(--space-4) var(--space-12)}.page-heading{align-items:stretch;flex-direction:column;gap:var(--space-4)}.page-heading>.button{align-self:stretch}.attendance-filters,.attendance-panel,.card{padding:var(--space-4)}.attendance-class-card,.attendance-filters,.attendance-quick-filters,.attendance-row,.catalog-form,.class-filters,.detail-grid,.enrollment-grid,.filters,.lead-form,.onboarding-fields,.onboarding-period,.schedule-builder,.student-form,.tariff-form{grid-template-columns:1fr}.lead-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-filters .search-field{grid-column:1/-1}.lead-filters button{width:100%}.onboarding-heading{align-items:stretch;flex-direction:column}.onboarding-heading>button{align-self:flex-start}.payment-options{align-items:stretch;flex-direction:column}.payment-options label{min-height:2.75rem}.payment-charge-list .enrollment-card{grid-template-columns:1fr;align-items:start}.payment-charge-list .enrollment-card>span:last-child{text-align:left}.payment-v2-grid{grid-template-columns:1fr}.payment-summary{align-items:stretch;flex-direction:column}.payment-summary label{min-width:0}.schedule-list li{align-items:stretch;flex-direction:column;overflow-wrap:anywhere}.table-wrap,section.card:has(>table){overflow:visible}table,tbody,td,tr{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%)}tbody{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}tbody tr{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md)}tbody tr,tbody tr:hover{background:var(--surface-hover)}tbody tr:last-child td,td{display:grid;grid-template-columns:minmax(6.5rem,38%) minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-2);border-bottom:1px solid var(--border)}td:last-child{border-bottom:0}td:before{content:attr(data-label);color:var(--text-muted);font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual}td.actions{min-width:0;align-items:stretch}td>*{grid-column:2;min-width:0}td .button,td button.secondary,td.actions button{min-height:2.75rem}.attendance-row-actions,.wide{grid-column:auto}.actions:not(td){align-items:stretch}.actions:not(td) .button,.actions:not(td) button,.attendance-actions button{flex:1 1}.pagination{justify-content:space-between;gap:var(--space-2)}.pagination button{min-height:2.75rem}.attendance-day-card,.attendance-roster-heading,.attendance-section-heading,.attendance-student-header{align-items:stretch;flex-direction:column}.attendance-day-card{display:flex;gap:var(--space-3)}.attendance-row-actions,.attendance-summary{justify-content:stretch}}@media (max-width:390px){.lead-filters{grid-template-columns:1fr}.lead-filters .search-field{grid-column:auto}.admin-layout{padding:var(--space-1)}.topbar{top:var(--space-1);gap:var(--space-2);padding-inline:var(--space-2)}.admin-content>main{padding:var(--space-4) var(--space-2) var(--space-8)}.attendance-empty,.attendance-filters,.attendance-panel,.card{padding:var(--space-3)}.selection-list{grid-template-columns:1fr}tbody tr:last-child td,td{grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);gap:var(--space-2)}.pagination{flex-wrap:wrap}.pagination span{order:-1;width:100%;text-align:center}}.audit-filter-card{padding:var(--space-4)}.audit-filters{display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(11rem,1fr) minmax(13rem,1.25fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:flex-end}.audit-filters label,.audit-user-filter{min-width:0}.audit-filter-actions{display:flex;justify-content:flex-end;gap:var(--space-2);align-self:end}.audit-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.audit-card{padding:var(--space-4);overflow:hidden}.audit-event-header{display:grid;grid-template-columns:minmax(14rem,1.3fr) minmax(10rem,1fr) auto;grid-gap:var(--space-4);gap:var(--space-4);align-items:start}.audit-entity,.audit-event-context{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0}.audit-event-context time{font-weight:700;color:var(--text)}.audit-entity span,.audit-event-context span{color:var(--text-muted);font-size:.84rem;overflow-wrap:anywhere}.audit-event-context strong{color:var(--text);font-weight:600}.audit-entity strong{font-size:1.08rem}.audit-action-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.4rem .7rem;font-size:.78rem;font-weight:800;white-space:nowrap}.audit-action-badge.brand{color:var(--brand);background:var(--brand-soft)}.audit-action-badge.warning{color:var(--warning);background:var(--warning-soft)}.audit-action-badge.danger{color:var(--danger);background:var(--danger-soft)}.audit-metadata{display:flex;gap:var(--space-6);margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border)}.audit-metadata div{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.audit-metadata dt,.audit-reason span,.audit-section-label{color:var(--text-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.audit-metadata dd{margin:0;font-weight:700}.audit-change-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.audit-section-label{margin:0 0 var(--space-2)}.audit-changes{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0}.audit-changes>div{display:grid;grid-template-columns:minmax(9rem,.55fr) minmax(0,2fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center}.audit-changes dt{font-weight:700}.audit-changes dd{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:var(--space-3);gap:var(--space-3);margin:0;min-width:0}.audit-changes dd>span:not(.audit-change-arrow){display:grid;grid-gap:.15rem;gap:.15rem;min-width:0;overflow-wrap:anywhere}.audit-changes small{color:var(--text-muted);font-size:.72rem}.audit-change-arrow{color:var(--brand);font-weight:800}.audit-reason{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--surface-muted)}.audit-reason p{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.audit-empty,.audit-feedback{text-align:center}.audit-empty p,.audit-feedback p,.audit-pagination{color:var(--text-muted)}.audit-pagination{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.audit-pagination div{display:flex;gap:var(--space-2)}.follow-up-stack{display:grid;grid-gap:1.25rem;gap:1.25rem;min-width:0}.follow-up-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.students-navigation{display:flex;gap:var(--space-2);margin-bottom:var(--space-5);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-hover)}.follow-up-filters{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.follow-up-filters label{flex:1 1 12rem;min-width:0}.follow-up-indicator{display:grid;grid-gap:.5rem;gap:.5rem;margin:1rem 0;padding:1rem;border-radius:.75rem;color:var(--warning);background:var(--warning-soft)}dialog.enrollment-end-dialog{margin:auto;max-height:calc(100dvh - 2rem);overflow-y:auto;color:var(--text)}dialog.enrollment-end-dialog::-webkit-backdrop{background:var(--overlay)}dialog.enrollment-end-dialog::backdrop{background:var(--overlay)}dialog.enrollment-end-dialog:not([open]){display:none}@media (max-width:640px){.students-navigation{flex-direction:column}.follow-up-actions button,.follow-up-filters>*{width:100%}}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:1rem;background:var(--overlay)}.modal{display:grid;width:min(34rem,100%);max-height:calc(100dvh - 2rem);padding:var(--space-6);grid-gap:var(--space-4);gap:var(--space-4);overflow-y:auto;box-shadow:var(--shadow-dialog)}.modal,.modal h2,.modal p{margin:0}.modal label,.modal textarea{display:block;width:100%}.modal label{color:var(--text-muted);font-weight:var(--font-weight-medium)}.modal textarea{min-height:7rem;margin-top:var(--space-2);resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-copy{color:var(--text-muted)}.modal-note{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger)}.danger-button{border-color:var(--destructive-fill);background:var(--destructive-fill);color:var(--brand-on-fill)}.student-profile-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);margin-bottom:var(--space-6)}.student-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3)}.student-title-row h1{margin:0}.student-primary-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2)}.danger-link{border-color:transparent;background:transparent;color:var(--danger)}.danger-link:hover{border-color:var(--danger);background:var(--danger-soft)}.section-title{margin:0 0 var(--space-3)}.student-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-6)}.student-metrics article{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:0;padding:var(--space-4)}.student-metrics span{color:var(--text-muted);font-size:.84rem;font-weight:700}.student-metrics strong{font-size:clamp(1.35rem,2vw,1.85rem);overflow-wrap:anywhere}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3)}.section-heading h2{margin-bottom:var(--space-1)}.student-payment-list{display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.student-payment-list article{display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(14rem,1.6fr) auto;align-items:center;grid-gap:var(--space-4);gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border)}.student-payment-list article:first-child{border-top:0}.student-payment-list article>div{display:grid;grid-gap:var(--space-1);gap:var(--space-1);min-width:0;overflow-wrap:anywhere}.student-payment-list article small,.student-payment-list article span{color:var(--text-muted)}.attendance-summary{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.attendance-summary>span{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:.5rem .875rem;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:var(--font-size-sm);line-height:1.2}.attendance-summary strong{display:inline;color:var(--text);font-size:1.125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.2}.student-loading{text-align:center;color:var(--text-muted)}.modal-note.neutral{color:var(--text);background:var(--surface-muted)}@media (max-width:900px){.student-profile-heading{flex-direction:column}.student-primary-actions{justify-content:flex-start}.student-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.audit-card,.audit-filter-card{padding:var(--space-3)}.audit-changes>div,.audit-event-header,.audit-filters{grid-template-columns:1fr}.audit-filter-actions button{flex:1 1}.audit-action-badge{justify-self:start;grid-row:1}.audit-event-context{grid-row:2}.audit-entity{grid-row:3}.audit-changes dd{grid-template-columns:1fr;gap:var(--space-1)}.audit-change-arrow{transform:rotate(90deg);justify-self:start}.audit-pagination{align-items:stretch;flex-direction:column}.audit-pagination button,.audit-pagination div,.modal-actions button{flex:1 1}.student-profile-heading{gap:var(--space-4)}.student-primary-actions,.student-primary-actions .button,.student-primary-actions button{width:100%}.student-primary-actions .button,.student-primary-actions button{text-align:center}.section-heading{flex-direction:column}.student-payment-list article{grid-template-columns:1fr;gap:var(--space-2)}}@media (max-width:390px){.student-metrics{grid-template-columns:1fr}}.payments-heading{align-items:flex-start}.payment-center-tabs{display:inline-flex;gap:var(--space-1);margin-bottom:var(--space-4);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.payment-center-tabs button{min-height:2.5rem;border-color:transparent;background:transparent;color:var(--text-muted)}.payment-center-tabs button.active{border-color:var(--border);background:var(--surface);color:var(--brand);box-shadow:var(--shadow-sm)}.receivables-heading{margin-bottom:var(--space-4)}.payment-context-chip{flex:0 0 auto;margin:0 0 var(--space-4)}.link-button{min-height:auto;padding:0;border:0;background:transparent;color:var(--brand);text-decoration:underline}.account-metrics{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.account-metric{min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted)}.account-metric.primary{border-color:color-mix(in srgb,var(--brand) 34%,var(--border));background:var(--brand-soft)}.account-metric small,.account-metric span{display:block;color:var(--text-muted)}.account-metric span{margin-bottom:var(--space-1);font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.account-metric strong{display:block;margin-bottom:var(--space-1);font-size:clamp(1.45rem,2vw,2rem);overflow-wrap:anywhere}.scope-filters{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.scope-filters button.active{border-color:var(--brand);background:var(--brand-fill);color:white}.payment-account-filters{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(12rem,.35fr) auto;align-items:flex-end;grid-gap:var(--space-3);gap:var(--space-3);padding-bottom:var(--space-4)}.receivables-card .debtor-row{grid-template-columns:minmax(13rem,1.4fr) minmax(8rem,.7fr) minmax(8rem,.55fr) auto}.debtor-balance,.debtor-identity,.debtor-situation{min-width:0}.debtor-balance span,.debtor-identity p,.debtor-situation small,.debtor-situation span{color:var(--text-muted)}.debtor-balance span,.debtor-situation span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.debtor-situation small{display:block;margin-top:var(--space-1)}.debtor-balance strong{color:var(--brand);font-size:1.25rem}.debtor-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.debtor-badges>span:not(.status){padding:.3rem .55rem;border-radius:999px;background:var(--surface-muted);color:var(--text-muted);font-size:.75rem}.receivables-card .debtor-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap;max-width:17rem}.text-link{color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:.18em}.any-student-search summary{cursor:pointer;color:var(--brand);font-size:1.05rem;font-weight:800}.any-student-search[open] summary{margin-bottom:var(--space-3)}.module-state{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);min-height:9rem;place-content:center;color:var(--text-muted);text-align:center}.module-state p{margin:0}.payment-history-filters{display:grid;grid-template-columns:minmax(14rem,1.4fr) repeat(4,minmax(9rem,.65fr));align-items:flex-end;grid-gap:var(--space-3);gap:var(--space-3);margin-bottom:var(--space-4)}.history-filter-actions{display:flex;gap:var(--space-2);grid-column:1/-1;justify-content:flex-end}.payment-breakdown{display:grid;grid-gap:var(--space-1);gap:var(--space-1);margin:0;padding:0;list-style:none}.table-subline{display:block;margin-top:var(--space-1);color:var(--text-muted)}.student-account-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.student-account-header h2,.student-account-header p{margin-bottom:var(--space-1)}.student-account-metrics{margin-block:var(--space-4)}@media (max-width:1100px){.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.receivables-card .debtor-row{grid-template-columns:minmax(12rem,1.3fr) minmax(8rem,.7fr) minmax(8rem,.6fr)}.receivables-card .debtor-actions{grid-column:1/-1;justify-content:flex-start;max-width:none}.payment-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-history-filters .search-field{grid-column:1/-1}}@media (max-width:720px){.payments-heading,.receivables-heading,.student-account-header{align-items:stretch;flex-direction:column}.payment-center-tabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.payment-center-tabs button{white-space:normal}.payment-context-chip{align-items:flex-start;flex-direction:column}.account-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-account-filters,.payment-history-filters,.receivables-card .debtor-row{grid-template-columns:1fr}.history-filter-actions,.payment-account-filters button,.payment-history-filters .search-field,.receivables-card .debtor-actions{grid-column:auto}.scope-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.history-filter-actions button,.payment-account-filters button,.scope-filters button{width:100%}.receivables-card .debtor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.receivables-card .debtor-actions .text-link{grid-column:1/-1;text-align:center}.history-filter-actions{display:grid;grid-template-columns:1fr 1fr}}@media (max-width:390px){.account-metrics,.history-filter-actions,.payment-center-tabs,.receivables-card .debtor-actions,.scope-filters{grid-template-columns:1fr}.receivables-card .debtor-actions .text-link{grid-column:auto}}.billing-conditions{border-top:1px solid var(--border);margin-top:var(--space-4);padding-top:var(--space-4)}.billing-condition-title,.billing-conditions-heading,.billing-form-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.billing-condition-card p,.billing-conditions-heading h4,.billing-conditions-heading p{margin:0}.billing-conditions-heading h4{color:var(--text);font-size:1rem}.billing-condition-period,.billing-conditions-empty,.billing-conditions-heading p,.billing-form-heading small,.field-helper{color:var(--text-muted)}.billing-conditions-empty{margin:var(--space-3) 0 0}.billing-add-button{flex:0 0 auto;color:var(--brand-on-fill)}.billing-condition-list{display:grid;grid-gap:var(--space-3);gap:var(--space-3);margin-top:var(--space-3)}.billing-condition-card{display:grid;grid-gap:var(--space-2);gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--brand);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm)}.billing-condition-card p,.billing-condition-title>div{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.billing-condition-card p>span,.billing-condition-title span{color:var(--text-muted);font-size:.78rem}.condition-status{flex:0 0 auto;padding:.25rem .55rem;border-radius:999px;font-size:.7rem;font-weight:800}.condition-status.current{background:var(--success-soft);color:var(--success)}.condition-status.ended{background:var(--surface-muted);color:var(--text-muted)}.billing-condition-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.billing-condition-actions button{min-height:2.25rem;padding:.45rem .75rem}.billing-condition-form{display:grid;grid-gap:var(--space-4);gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface-muted)}.billing-form-heading{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.condition-options,.discount-fields{grid-gap:var(--space-2);gap:var(--space-2)}.condition-option,.condition-options,.discount-fields{display:grid;padding:var(--space-3);background:var(--surface)}.condition-option{grid-template-columns:auto minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);cursor:pointer}.condition-option:has(input:checked){border-color:var(--brand);background:var(--brand-soft)}.condition-option input,.inline-radio-options input{width:1rem;min-height:1rem;margin:.2rem 0 0;accent-color:var(--brand-fill)}.condition-option span{display:grid;grid-gap:var(--space-1);gap:var(--space-1)}.condition-option small{color:var(--text-muted);font-weight:500}.inline-radio-options{display:flex;flex-wrap:wrap;gap:var(--space-4)}.inline-radio-options label{display:flex}.amount-input,.inline-radio-options label{align-items:center;gap:var(--space-2);color:var(--text)}.amount-input{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:var(--space-2);font-size:1rem}.scholarship-coverage{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:var(--space-1) var(--space-3);gap:var(--space-1) var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--brand-soft)}.scholarship-coverage strong{color:var(--brand);font-size:1.1rem}.scholarship-coverage small{grid-column:1/-1;color:var(--text-muted)}.billing-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.billing-form-actions{justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--border)}.billing-adjustment-summary{display:block;color:var(--text-muted);margin-top:.2rem}@media (max-width:48rem){.billing-condition-title,.billing-conditions-heading{align-items:stretch;flex-direction:column}.billing-add-button,.billing-form-actions button{width:100%}.billing-period-fields{grid-template-columns:1fr}.billing-condition-actions,.billing-form-actions{display:grid;grid-template-columns:1fr}}.ui-button{white-space:nowrap;flex-shrink:0}.ui-button.ui-button-small{min-height:var(--control-height-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-sm)}.ui-button.ui-button-ghost{border-color:transparent;background:transparent;color:var(--text-secondary)}.ui-button.ui-button-ghost:hover:not(:disabled){border-color:transparent;background:var(--surface-hover);color:var(--text)}.ui-button.danger-button:hover:not(:disabled){border-color:var(--destructive-fill-hover);background:var(--destructive-fill-hover)}.ui-button[aria-busy=true]{cursor:progress}.ui-button-spinner{flex:none;animation:ui-button-spin .7s linear infinite}@keyframes ui-button-spin{to{transform:rotate(1turn)}}.ui-field{display:grid;min-width:0;align-content:start;grid-gap:var(--space-1);gap:var(--space-1)}.ui-field>.ui-select-control>select,.ui-field>input,.ui-field>select{height:var(--control-height)}.ui-field>textarea{margin-top:0}.ui-field>label{color:var(--text-secondary)}.ui-select-control{position:relative;display:block}.ui-select-control select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:2.25rem}.ui-select-control>select:not([multiple]):not([size]){background-image:none}.ui-select-control svg{position:absolute;top:50%;right:var(--space-3);color:var(--text-muted);pointer-events:none;transform:translateY(-50%)}.ui-field-help,.ui-field>.field-error{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height)}.ui-field-help{color:var(--text-muted)}.ui-badge-warning{background:var(--warning-soft);border-color:var(--warning-border);color:var(--warning)}.ui-badge-info{background:var(--info-soft);border-color:var(--info-border);color:var(--info)}.ui-panel{margin:0;padding:var(--space-4)}.ui-empty-state{display:grid;justify-items:center;grid-gap:var(--space-3);gap:var(--space-3);padding:var(--space-8) var(--space-4)}.ui-empty-state>*{margin:0}.ui-empty-state-icon{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-muted)}.ui-empty-state h2{font-size:var(--font-size-body);font-weight:var(--font-weight-medium)}.ui-empty-state p{color:var(--text-muted);font-size:var(--font-size-sm)}.ui-skeleton{display:block;height:var(--space-4);width:100%;border-radius:var(--radius-sm);background:var(--surface-sunken);animation:ui-skeleton-pulse 1.4s var(--motion-easing) infinite alternate}:root:not([data-theme=dark]) .ui-skeleton{background:linear-gradient(90deg,#ece9e5,#f5f3f0 50%,#ece9e5);background-size:200% 100%;animation:ui-skeleton-shimmer 1.4s var(--motion-easing) infinite}@keyframes ui-skeleton-pulse{to{opacity:.55}}@keyframes ui-skeleton-shimmer{to{background-position:-200% 0}}.admin-layout{min-height:100dvh;display:block;padding:0}.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:16.5rem;height:100dvh;display:flex;flex-direction:column;padding:0;overflow:hidden;border:0;border-right:1px solid var(--border);border-radius:0;background:var(--surface);box-shadow:none}.sidebar-header{min-height:6.75rem;display:flex;align-items:center;flex:none;justify-content:space-between;margin:0;padding:var(--space-5) var(--space-6) var(--space-4);border:0;border-radius:0;background:transparent}:root[data-theme=dark] .sidebar-header{border-color:var(--border);background:transparent}.brand{min-width:0;display:inline-flex;align-items:center;color:var(--accent);line-height:1.2;text-decoration:none}.brand-copy{display:grid;grid-gap:.125rem;gap:.125rem}.brand-name{font-family:Georgia,Times New Roman,serif;font-size:2.25rem;font-weight:600;letter-spacing:-.065em;line-height:.9}.brand-tagline{color:var(--text-muted);font-family:var(--font-sans);font-size:.6875rem;font-weight:var(--font-weight-semibold);letter-spacing:.12em;line-height:1.2;text-transform:uppercase}.sidebar-nav{min-height:0;display:flex;flex-direction:column;flex:1 1;padding:var(--space-3) var(--space-3) calc(var(--space-4) + env(safe-area-inset-bottom));overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.sidebar-nav::-webkit-scrollbar{width:6px}.sidebar-nav::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--border-strong)}.nav-section--secondary{margin-top:auto;padding-top:var(--space-6)}.nav-section--secondary:before{content:"";display:block;margin:0 var(--space-3) var(--space-4);border-top:1px solid var(--border)}.nav-group+.nav-group{margin-top:var(--space-5)}.nav-group-label{margin:0 0 var(--space-2);padding:0 var(--space-4);color:var(--text-muted);font-size:.6875rem;font-weight:var(--font-weight-semibold);letter-spacing:.08em;line-height:1.5;text-transform:uppercase}.nav-group-links{display:grid;grid-gap:.25rem;gap:.25rem}.nav-section--secondary .nav-link{min-height:2.5rem;font-size:var(--font-size-sm)}.nav-link{position:relative;min-height:2.875rem;display:flex;align-items:center;gap:var(--space-4);margin:0;padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-md);color:var(--text-secondary);font-size:.9375rem;font-weight:var(--font-weight-medium);line-height:1.2;text-decoration:none;transition:background-color .12s var(--motion-easing),color .12s var(--motion-easing)}.nav-link+.nav-link{margin-top:0}.nav-link:hover,:root[data-theme=dark] .nav-link:hover{border-color:transparent;background:var(--surface-secondary);color:var(--text)}.nav-link.active{border-color:transparent;color:var(--accent);font-weight:var(--font-weight-medium)}.nav-link.active,:root:not([data-theme=dark]) .nav-link.active{background:color-mix(in srgb,var(--accent-muted) 84%,var(--surface));box-shadow:none}:root:not([data-theme=dark]) .nav-link.active{border:0;color:var(--accent-hover);font-weight:var(--font-weight-semibold)}.nav-icon{flex:none}.nav-active-indicator{position:absolute;top:0;bottom:0;left:0;width:4px;border-radius:0 var(--radius-full) var(--radius-full) 0;background:transparent}.nav-link.active .nav-active-indicator{background:var(--accent)}.nav-link.active .nav-icon{color:var(--accent)}.shell-icon-button{width:2rem;min-width:2rem;min-height:2rem;padding:0;border-color:transparent;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary)}.shell-icon-button:hover:not(:disabled){border-color:transparent;background:var(--surface-hover);color:var(--text)}.menu-button,.sidebar-backdrop,.sidebar-close{display:none}.admin-content{min-width:0;margin-left:16.5rem}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;min-height:4.5rem;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-8);border:0;border-bottom:1px solid transparent;border-radius:0;box-shadow:none}.topbar,:root[data-theme=dark] .topbar{background:var(--background)}.topbar-section{min-width:0;flex:1 1;margin:0;overflow:hidden;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap;visibility:hidden}.topbar-actions{display:flex;align-items:center;flex:none;gap:var(--space-2);margin-left:auto}.theme-toggle-button{width:2.75rem;min-width:2.75rem;min-height:2.75rem;border-radius:50%}.user-menu{position:relative}.user-menu-trigger{min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border:0;border-radius:var(--radius-full);background:transparent;color:var(--text);text-align:left}.user-menu-trigger:hover:not(:disabled),.user-menu-trigger[aria-expanded=true]{border-color:transparent;background:var(--surface-hover)}.user-menu-avatar{width:2.5rem;height:2.5rem;display:grid;flex:none;place-items:center;border-radius:50%;background:var(--accent-muted);color:var(--accent);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.user-menu-heading,.user-menu-identity{min-width:0;display:grid;line-height:1.25}.user-menu-heading strong,.user-menu-identity strong{max-width:10rem;overflow:hidden;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-overflow:ellipsis;white-space:nowrap}.user-menu-heading small,.user-menu-identity small{color:var(--text-muted);font-size:var(--font-size-xs)}.user-menu-chevron{flex:none;color:var(--text-secondary);transition:transform .12s var(--motion-easing)}.user-menu-trigger[aria-expanded=true] .user-menu-chevron{transform:rotate(180deg)}.user-menu-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:50;min-width:13rem;display:grid;grid-gap:2px;gap:2px;padding:var(--space-1);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-elevated);box-shadow:var(--shadow-popover)}.user-menu-heading{display:none;border-bottom:1px solid var(--border);margin-bottom:var(--space-1)}.user-menu-heading,.user-menu-item{padding:var(--space-2) var(--space-3)}.user-menu-item{min-height:2.5rem;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.user-menu-item:focus-visible,.user-menu-item:hover:not(:disabled){border-color:transparent;background:var(--surface-hover)}@media (min-width:64rem){.topbar{min-height:4rem;padding-block:var(--space-2)}.admin-content>.topbar+main{padding-top:var(--space-1)}}.admin-content>main{width:100%;max-width:96rem;min-width:0;margin:0 auto;padding:var(--space-6) var(--space-8) var(--space-12);animation:page-enter .18s var(--motion-easing) both;display:flex;flex-direction:column;gap:var(--space-4)}.admin-content>main>*{margin-block:0}.admin-content>main>:is(.page-heading,.page-header,.student-back-link){margin-bottom:var(--space-2)}.admin-content>main>:is(a,.back-link){align-self:flex-start}:is(.table-wrap,.ui-table-wrap):has(tbody:empty):after{content:"No hay registros para mostrar.";display:block;padding:var(--space-6) var(--space-4);color:var(--text-muted);font-size:var(--font-size-body);text-align:center}.page-container{width:100%;margin-inline:auto}.page-container--wide{max-width:90rem}.page-container--default{max-width:75rem}.page-container--narrow{max-width:60rem}@keyframes page-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.page-header{min-width:0;display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-6)}.page-header-copy{min-width:0}.page-header h1{margin:0}.page-header p{margin:var(--space-1) 0 0;color:var(--text-muted);font-size:var(--font-size-body)}.page-header-actions{display:flex;align-items:center;flex:none;gap:var(--space-2);color:var(--text-muted);font-size:var(--font-size-sm)}@media (max-height:50rem) and (min-width:64rem){.sidebar-header{min-height:5rem;padding-block:var(--space-4) var(--space-2)}.sidebar-nav{padding-block:var(--space-1)}.nav-group+.nav-group{margin-top:var(--space-3)}.nav-link,.nav-section--secondary .nav-link{min-height:2.25rem;padding-block:2px}}@media (max-width:63.999rem){.admin-content{margin-left:0}.sidebar{inset:0 auto 0 0;width:min(16.5rem,calc(100vw - 3rem));height:100dvh;transform:translateX(-100%);transition:transform .18s var(--motion-easing)}.sidebar.open{transform:translateX(0)}.menu-button,.sidebar-close{display:inline-flex}.sidebar-backdrop{position:fixed;inset:0;z-index:30;min-height:100dvh;display:block;padding:0;border:0;border-radius:0}.sidebar-backdrop,.sidebar-backdrop:hover{background:var(--overlay)}.topbar{top:0;min-height:3.5rem;padding:var(--space-2) var(--space-4);border-bottom-color:var(--border)}.topbar-section{visibility:visible}.admin-content>main{padding-inline:var(--space-6)}}@media (max-width:39.999rem){.user-menu-chevron,.user-menu-identity{display:none}.user-menu-trigger{padding:var(--space-1)}.user-menu-avatar{width:2.25rem;height:2.25rem}.user-menu-heading{display:grid}.topbar{padding-inline:max(var(--space-2),env(safe-area-inset-left)) max(var(--space-2),env(safe-area-inset-right))}.admin-content>main{padding:var(--space-5) var(--space-4) var(--space-10)}.page-header{align-items:flex-start;flex-direction:column;gap:var(--space-2)}}@media (pointer:coarse){.nav-link,.shell-icon-button{min-height:2.75rem}.shell-icon-button{width:2.75rem;min-width:2.75rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:color,background-color,border-color,opacity,box-shadow!important}}