/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink-rgb:15, 23, 42;--brand-rgb:15, 118, 110;--accent-rgb:217, 119, 6;--bg:#eef3f8;--text:#0f172a;--muted:#64748b;--brand:#0f766e;--brand-dark:#115e59;--accent-text:#b45309;--on-brand:#fff;--panel:#ffffffd1;--panel-border:rgba(var(--ink-rgb), .08);--surface-card:#fffc;--surface-input:#ffffffeb;--surface-soft:#fff9;--surface-list:#ffffff8c;--border:rgba(var(--ink-rgb), .12);--border-soft:rgba(var(--ink-rgb), .08);--success-text:#166534;--success-bg:#dcfce7;--success-border:#86efac;--success-dot:#16a34ae6;--warning-text:#9a3412;--warning-bg:#fff7ed;--warning-border:#fdba74;--danger-text:#991b1b;--danger-bg:#fee2e2;--danger-border:#fca5a5;--danger-dot:#dc2626e6;--neutral-text:#334155;--neutral-bg:#f1f5f9;--neutral-border:#cbd5e1;--table-head-bg:#f5f8f9;--table-sticky-bg:#fbfcfd;--table-planned-bg:#fdf7ef;--table-foot-sticky-bg:#e9f2f1;--table-summary-bg:linear-gradient(180deg, rgba(var(--brand-rgb), .14), rgba(var(--brand-rgb), .05));--table-summary-foot-bg:linear-gradient(180deg, rgba(var(--brand-rgb), .18), rgba(var(--brand-rgb), .08));--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-page-title:clamp(2rem, 4vw, 3.6rem);--text-page-title-mobile:clamp(1.6rem, 8vw, 2.2rem);--text-section-title:1.35rem;--text-disclosure-title:1.1rem;--text-auth-title:1.6rem;--text-auth-title-plain:1.85rem;--text-auth-hero:clamp(1.7rem, 3vw, 2.4rem);--text-eyebrow:.74rem;--text-body:1rem;--text-table:.95rem;--text-label:.95rem;--text-hint:.9rem;--text-meta:.9rem;--text-badge:.78rem;--text-small:.72rem;--text-summary-value:1.35rem;--text-class-card:1.5rem;--weight-heading:700;--weight-strong:700;--weight-label:600;--tracking-eyebrow:.18em;--tracking-heading:-.02em;--radius-panel:24px;--radius-panel-mobile:18px;--radius-card:18px;--radius-field:14px;--radius-flash:14px;--radius-sm:10px;--radius-pill:999px;--shadow:0 24px 60px rgba(var(--ink-rgb), .12);--shadow-flash:0 12px 28px rgba(var(--ink-rgb), .12);--shadow-card-hover:0 14px 30px rgba(var(--ink-rgb), .1);--shadow-popover:0 20px 44px rgba(var(--ink-rgb), .2);--page-gutter:clamp(14px, 2.2vw, 28px);--page-max-width:1600px;--page-header-padding:28px 30px;--panel-padding:22px;--panel-padding-mobile:16px;--auth-card-padding-inline:28px;--panel-gap:20px;--stack-gap:14px;--grid-gap:16px;--control-height:44px;--control-height-compact:42px;--control-padding:12px 14px;--table-cell-padding:10px 8px;--table-max-height:70vh;--col-student-width:200px;--col-student-max-width:320px;--col-amount-width:110px;--focus-ring:0 0 0 3px rgba(var(--brand-rgb), .16);--focus-border:rgba(var(--brand-rgb), .62);--transition:.15s ease}*{box-sizing:border-box}body{min-height:100vh;font-family:var(--font-sans);color:var(--text);background:radial-gradient(circle at top left, rgba(var(--brand-rgb), .2), transparent 34%), radial-gradient(circle at top right, rgba(var(--accent-rgb), .18), transparent 28%), linear-gradient(180deg, #f8fafc 0%, var(--bg) 100%);margin:0}button,input,textarea,select{font:inherit}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.top-bar{max-width:var(--page-max-width);padding:12px var(--page-gutter) 0;font-size:var(--text-meta);align-items:center;gap:16px;margin:0 auto;display:flex}.top-bar-brand{font-weight:var(--weight-heading);color:var(--brand-dark);letter-spacing:.02em;text-decoration:none}.top-bar-user{color:var(--muted);margin-left:auto}a.top-bar-user{color:var(--text);font-weight:var(--weight-label);text-decoration:none}a.top-bar-user:hover,a.top-bar-user:focus-visible{outline:none;text-decoration:underline}.top-bar-link{color:var(--brand-dark);font-weight:var(--weight-label);text-decoration:none}.top-bar-link:hover,.top-bar-link:focus-visible{outline:none;text-decoration:underline}.page-shell{width:100%;max-width:var(--page-max-width);padding:var(--page-gutter);margin:0 auto}.page-header{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:var(--radius-panel);padding:var(--page-header-padding);margin-bottom:var(--panel-gap);justify-content:space-between;align-items:end;gap:24px;display:flex}h1{font-size:var(--text-page-title);margin:0;line-height:1}.section-title{font-size:var(--text-section-title);line-height:1.25;font-weight:var(--weight-heading);letter-spacing:var(--tracking-heading);margin:0}.section-header-row{margin-bottom:var(--stack-gap);align-items:center;gap:12px;display:flex}.section-header-row>.action-group{margin-left:auto}.eyebrow{text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-size:var(--text-eyebrow);color:var(--brand);font-weight:var(--weight-heading);margin:0 0 8px}.lede{color:var(--muted);max-width:58ch;margin:14px 0 0;line-height:1.6}.muted,.empty-state{color:var(--muted)}.form-hint{color:var(--muted);font-size:var(--text-hint);margin:0;line-height:1.5}.form-hint code{font-family:var(--font-mono);background:rgba(var(--ink-rgb), .06);border-radius:6px;padding:1px 6px;font-size:.92em}.panel{background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);border-radius:var(--radius-panel);padding:var(--panel-padding);margin-bottom:var(--panel-gap)}.panel-disclosure{padding:0;overflow:hidden}.panel-disclosure-summary{padding:18px var(--panel-padding);cursor:pointer;align-items:baseline;gap:14px;list-style:none;display:flex}.panel-disclosure-summary::-webkit-details-marker{display:none}.panel-disclosure-summary .section-title{font-size:var(--text-disclosure-title)}.panel-disclosure-summary:after{content:"+";color:var(--muted);margin-left:auto;font-size:1.3rem}.panel-disclosure[open] .panel-disclosure-summary:after{content:"−"}.panel-disclosure>.stack-form{padding:0 var(--panel-padding) var(--panel-padding)}.grid-two{gap:var(--panel-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stack-form,.stack-cards{gap:var(--stack-gap);display:grid}.stack-form-inline{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;max-width:560px;display:grid}.stack-form-inline .button{white-space:nowrap}.form-field-wide{grid-column:1/-1}.student-detail-panel{gap:18px;display:grid}.class-grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.class-card{border-radius:var(--radius-card);border:1px solid var(--border-soft);background:var(--panel);color:inherit;flex-direction:column;gap:6px;padding:20px 22px;text-decoration:none;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex}.class-card:hover,.class-card:focus-visible{border-color:rgba(var(--brand-rgb), .45);box-shadow:var(--shadow-card-hover);outline:none;transform:translateY(-2px)}.class-card-name{font-size:var(--text-class-card);font-weight:var(--weight-heading);letter-spacing:-.02em}.class-card-meta{color:var(--muted);font-size:var(--text-meta)}.class-card-cta{color:var(--brand-dark);font-weight:var(--weight-label);margin-top:8px;font-size:.85rem}.card-link{border:1px solid var(--border-soft);border-radius:var(--radius-card);background:var(--surface-card);color:inherit;justify-content:space-between;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.bank-account-panel{gap:12px;display:grid}.bank-account-panel p{margin:0}.bank-account-number{font-family:var(--font-mono);font-size:clamp(1.05rem,2.2vw,1.5rem);font-weight:var(--weight-label);letter-spacing:.04em;color:var(--brand-dark);background:rgba(var(--brand-rgb), .08);border:1px solid rgba(var(--brand-rgb), .18);overflow-wrap:anywhere;border-radius:16px;padding:12px 16px}.button{min-height:var(--control-height);border-radius:var(--radius-pill);font-weight:var(--weight-strong);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:0 18px;text-decoration:none;display:inline-flex}.button-primary{background:linear-gradient(135deg, var(--brand), var(--brand-dark));color:var(--on-brand)}.button-secondary{background:rgba(var(--ink-rgb), .07);color:var(--text)}.button:disabled{opacity:.55;cursor:not-allowed}.action-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.inline-form{display:inline-flex}.copy-link{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.copy-link-url{word-break:break-all;min-width:0;color:var(--brand-dark);font-size:var(--text-meta);flex:260px}.copy-link-button{flex:none;min-width:150px}.copy-link-button.is-copied{background:var(--success-bg);color:var(--success-text)}.student-name-link{color:inherit;text-decoration:none}.student-name-link:hover,.student-name-link:focus-visible{color:var(--brand-dark);outline:none;text-decoration:underline}.student-action-links{align-items:center;gap:8px;display:inline-flex}.student-edit-link{width:30px;height:30px;color:var(--text);background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;font-size:16px;line-height:1;text-decoration:none;display:inline-flex}.student-edit-link:hover,.student-edit-link:focus-visible{color:var(--brand-dark);box-shadow:none;background:0 0;outline:none}.student-delete-link{border-radius:var(--radius-pill);width:26px;height:26px;color:var(--text);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;font-size:.95rem;line-height:1;display:inline-flex}.student-delete-link:hover,.student-delete-link:focus-visible{background:var(--danger-bg);color:var(--danger-text);box-shadow:none;outline:none}.payout-link{border-radius:var(--radius-pill);border:1px solid rgba(var(--brand-rgb), .35);width:24px;height:24px;color:var(--brand-dark);vertical-align:middle;background:#ffffffb3;justify-content:center;align-items:center;margin-left:8px;font-size:.95rem;line-height:1;text-decoration:none;display:inline-flex}.payout-link:hover,.payout-link:focus-visible{background:var(--brand);border-color:var(--brand);color:var(--on-brand);outline:none}.column-header-links{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.column-edit-link{color:inherit;font-weight:var(--weight-label);flex-direction:column;align-items:flex-start;gap:2px;line-height:1.2;text-decoration:none;display:inline-flex}.column-edit-link small{font-size:var(--text-small);color:var(--muted);font-weight:500;line-height:1.2;display:block}.column-edit-icon{opacity:.75;margin-top:2px;font-size:.8rem;line-height:1;display:inline-block}.column-edit-link:hover,.column-edit-link:focus-visible{color:var(--brand-dark);outline:none;text-decoration:underline}.column-report-link{font-size:var(--text-small);font-weight:var(--weight-label);color:var(--brand);text-decoration:none}.column-report-link:hover,.column-report-link:focus-visible{color:var(--brand-dark);outline:none;text-decoration:underline}.icon{vertical-align:-.15em;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:1em;height:1em;display:inline-block}.form-field{font-weight:var(--weight-label);gap:8px;display:grid}.form-label{color:var(--text);font-size:var(--text-label)}input[type=text],input[type=number],input[type=email],input[type=password],textarea{border:1px solid var(--border);border-radius:var(--radius-field);width:100%;padding:var(--control-padding);background:var(--surface-input);color:var(--text)}textarea{resize:vertical;min-height:110px}.form-textarea{resize:vertical;width:100%;min-height:88px}.form-error{color:var(--danger-text);font-weight:var(--weight-label);margin:0}.select-shell{display:block;position:relative}.select-shell:after{content:"";pointer-events:none;border-bottom:2px solid #475569;border-right:2px solid #475569;width:8px;height:8px;position:absolute;top:50%;right:16px;transform:translateY(-65%)rotate(45deg)}.ds-select{appearance:none;border:1px solid var(--border);border-radius:var(--radius-field);width:100%;color:var(--text);transition:border-color var(--transition), box-shadow var(--transition);background:linear-gradient(#fff 0%,#f8fafc 100%);padding:12px 42px 12px 14px;line-height:1.35}.ds-select:focus{border-color:var(--focus-border);box-shadow:var(--focus-ring);outline:none}.ds-check{appearance:none;border:1px solid rgba(var(--ink-rgb), .25);background:#fff;border-radius:6px;flex:none;width:18px;height:18px;margin:0;display:inline-block;position:relative}.ds-check:checked{background:var(--brand);border-color:var(--brand)}.ds-check:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-62%)rotate(45deg)}.checkbox-inline{align-items:center;gap:8px;font-weight:500;display:inline-flex}.checkbox-pill{border-radius:var(--radius-pill);border:1px solid rgba(var(--ink-rgb), .1);background:var(--surface-input);font-weight:var(--weight-label);transition:border-color var(--transition), background-color var(--transition);align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.checkbox-pill:has(.ds-check:checked){border-color:rgba(var(--brand-rgb), .4);background:rgba(var(--brand-rgb), .08)}.checkbox-pill.is-disabled,.checkbox-inline.is-disabled{opacity:.55;cursor:not-allowed}.checkbox-pill.is-disabled .ds-check,.checkbox-inline.is-disabled .ds-check{pointer-events:none}.student-pills{flex-wrap:wrap;gap:8px;display:flex}.expense-auto-switch{margin-top:-2px}input[type=file]{border:1px dashed var(--border);border-radius:var(--radius-field);width:100%;padding:var(--control-padding);background:var(--surface-input);color:var(--text);font-weight:500}input[type=file]::file-selector-button{border-radius:var(--radius-pill);background:var(--brand);color:var(--on-brand);font-weight:var(--weight-label);cursor:pointer;border:0;margin-right:12px;padding:8px 16px}input[type=file]::file-selector-button:hover{background:var(--brand-dark)}.password-shell{display:block;position:relative}.password-shell .password-input{padding-right:46px}.password-toggle{border-radius:var(--radius-pill);width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:1rem;line-height:1;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover,.password-toggle:focus-visible,.password-toggle.is-revealed{background:rgba(var(--brand-rgb), .12);color:var(--brand-dark);box-shadow:none;outline:none}.per-student-amounts{background:0 0;border:0;border-radius:0;gap:10px;padding:0;display:grid}[data-amount-mode-target=totalSection],[data-amount-mode-target=perStudentSection]{background:0 0;border:0;margin:0;padding:0;display:block}.per-student-row{grid-template-columns:1fr 160px;align-items:center;gap:12px;display:grid}.filter-bar{margin-bottom:var(--stack-gap);justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-input-wrap,.filter-input-wrap input{width:100%}.table-wrap{max-height:var(--table-max-height);padding-bottom:4px;overflow:auto}table{border-collapse:collapse;table-layout:auto;width:max-content;min-width:100%}th,td{padding:var(--table-cell-padding);text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap;text-overflow:ellipsis;font-size:var(--text-table);overflow:hidden}.table-wrap thead th{z-index:2;background:var(--table-head-bg);box-shadow:inset 0 -1px 0 rgba(var(--ink-rgb), .14);position:sticky;top:0}.table-wrap thead th.summary-column{background:var(--table-summary-bg) var(--table-head-bg)}.table-wrap thead th.charge-column{background:var(--table-sticky-bg)}.table-wrap thead th.planned-expense-column{background:var(--table-planned-bg)}.table-wrap th.col-student,.table-wrap td.col-student{z-index:1;background:var(--table-sticky-bg);box-shadow:inset -1px 0 0 rgba(var(--ink-rgb), .1);position:sticky;left:0}.table-wrap thead th.col-student{z-index:3}.table-wrap tfoot th.col-student{background:var(--table-foot-sticky-bg)}.table-wrap.is-scrollable-right{box-shadow:inset -40px 0 30px -28px rgba(var(--ink-rgb), .32)}.table-wrap.is-scrollable-left th.col-student,.table-wrap.is-scrollable-left td.col-student{box-shadow:8px 0 12px -8px rgba(var(--ink-rgb), .22)}.col-student{min-width:var(--col-student-width);width:var(--col-student-width)}.col-amount{min-width:var(--col-amount-width);width:var(--col-amount-width)}.col-check{text-align:center;width:72px;min-width:72px}.col-select{min-width:240px}.col-wide{min-width:260px;max-width:420px}.amount-cell{text-align:right}.cell-wrap{white-space:normal;overflow:visible}.cell-wrap small{font-size:.8rem;display:block}.summary-column{background:var(--table-summary-bg);border-left:2px solid rgba(var(--brand-rgb), .34);border-right:2px solid rgba(var(--brand-rgb), .18);box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb), .12);font-weight:var(--weight-strong);color:var(--text)}th.summary-column,td.summary-column{position:relative}th.summary-column:after,td.summary-column:after{content:"";background:linear-gradient(180deg, rgba(var(--brand-rgb), .06), rgba(var(--brand-rgb), .68), rgba(var(--brand-rgb), .06));border-radius:var(--radius-pill);width:4px;height:80%;position:absolute;top:10%;right:-2px}.charge-column{border-left:1px solid var(--border-soft);background:#ffffff75}th.charge-column:first-child,td.charge-column:first-child{border-left:3px solid rgba(var(--brand-rgb), .42);box-shadow:inset 1px 0 0 rgba(var(--brand-rgb), .14)}.planned-expense-column{background:rgba(var(--accent-rgb), .05)}.planned-expense-row{background:rgba(var(--accent-rgb), .04)}.planned-expense-column small,.planned-expense-row small{color:var(--accent-text)}.table-summary-row th{background:rgba(var(--brand-rgb), .08);border-top:1px solid rgba(var(--brand-rgb), .2)}.table-summary-row .summary-column{background:var(--table-summary-foot-bg)}.student-name-cell{max-width:var(--col-student-max-width);justify-content:space-between;align-items:center;gap:10px;display:flex}.student-name-cell>.student-name-link{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.student-name-cell>.student-action-links{flex-shrink:0}.statement-table .col-date{width:110px;min-width:110px}.row-attention td{background:rgba(var(--accent-rgb), .05)}.row-duplicate td{background:var(--danger-bg)}.status-badge{border-radius:var(--radius-pill);font-size:var(--text-badge);font-weight:var(--weight-label);white-space:nowrap;border:1px solid #0000;align-items:center;padding:2px 10px;line-height:1.5;display:inline-flex}.status-badge-success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.status-badge-warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.status-badge-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.status-badge-neutral{background:var(--neutral-bg);border-color:var(--neutral-border);color:var(--neutral-text)}.summary-grid{gap:var(--grid-gap);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.summary-card{border-radius:var(--radius-field);border:1px solid var(--panel-border);background:var(--surface-soft);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.summary-card-label{font-size:var(--text-badge);font-weight:var(--weight-label);letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.summary-card-value{font-size:var(--text-summary-value);font-weight:var(--weight-strong);line-height:1.2}.summary-card-hint{color:var(--muted);font-size:.8rem}.summary-card-positive .summary-card-value{color:var(--success-text)}.summary-card-negative .summary-card-value{color:var(--danger-text)}.positive{color:var(--success-text)}.negative{color:var(--danger-text)}.balance-positive{color:var(--success-text)}.balance-negative{color:var(--danger-text)}.balance-cell{background:var(--table-summary-bg);font-weight:var(--weight-strong);position:relative}.balance-cell:before{content:"";border-radius:var(--radius-pill);vertical-align:middle;width:8px;height:8px;margin-right:8px;display:inline-block}.balance-positive:before{background:var(--success-dot)}.balance-negative:before{background:var(--danger-dot)}.flash-stack{z-index:60;width:100%;padding:10px var(--page-gutter) 0;gap:8px;display:grid;position:sticky;top:10px}.flash{border-radius:var(--radius-flash);font-weight:var(--weight-label);box-shadow:var(--shadow-flash);padding:12px 14px}.flash-success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success-text)}.flash-warning{background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text)}.student-entry-list{background:var(--surface-list);border:1px solid var(--border-soft);border-radius:var(--radius-card);gap:10px;padding:12px;display:grid}.student-entry-row{border-bottom:1px solid var(--border-soft);grid-template-columns:minmax(110px,120px) 1fr auto auto;align-items:center;gap:14px;padding:12px 10px;display:grid}.student-entry-row:last-child{border-bottom:0}.student-entry-date,.student-entry-meta{color:var(--text);font-size:var(--text-body)}.student-entry-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.student-entry-meta small{flex-basis:100%;font-size:.8rem}.student-entry-amount{font-weight:var(--weight-strong);text-align:right}.student-entry-actions{justify-content:flex-end;align-items:center;gap:4px;min-width:56px;display:inline-flex}.student-entry-actions:empty{min-width:56px}.expense-row{background:rgba(var(--ink-rgb), .015);border-radius:var(--radius-sm)}.planned-row{background:rgba(var(--accent-rgb), .06);border-radius:var(--radius-sm)}.auth-shell{justify-content:center;align-items:center;min-height:calc(100vh - 40px);padding:24px 16px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--panel-border);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:var(--radius-panel);padding:32px var(--auth-card-padding-inline)}.auth-brand{color:var(--brand-dark);font-weight:var(--weight-heading);letter-spacing:.04em;text-transform:uppercase;font-size:var(--text-badge);align-items:center;gap:10px;margin-bottom:18px;display:inline-flex}.auth-brand-mark{border-radius:var(--radius-sm);background:var(--brand);width:30px;height:30px;color:var(--on-brand);justify-content:center;align-items:center;font-size:1rem;display:inline-flex}.auth-card h1{font-size:var(--text-auth-title);letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}.auth-card .lede{color:var(--muted);margin:0 0 22px;font-size:.92rem}.auth-card-head{border-bottom:1px solid var(--panel-border);margin-bottom:22px;padding-bottom:18px}.auth-card-head h1{font-size:var(--text-auth-title-plain);margin:0 0 4px}.auth-card-head .lede{margin:0}.auth-card .stack-form{gap:var(--stack-gap)}.auth-card input[type=text],.auth-card input[type=email],.auth-card input[type=password]{font-size:var(--text-table);border-radius:12px;padding:10px 12px}.auth-card .form-label{font-size:.85rem}.auth-card .button{width:100%;margin-top:4px}.auth-footer{color:var(--muted);text-align:center;margin:18px 0 0;font-size:.88rem}.auth-footer a{color:var(--brand-dark);font-weight:var(--weight-label);text-decoration:none}.auth-footer a:hover,.auth-footer a:focus-visible{outline:none;text-decoration:underline}.auth-card .flash{margin-bottom:var(--stack-gap)}.auth-split{grid-template-columns:minmax(0,1.15fr) minmax(0,420px);align-items:center;gap:56px;width:100%;max-width:1040px;display:grid}.auth-split .auth-card{justify-self:center}.auth-hero{gap:18px;min-width:0;display:grid}.auth-hero h2{font-size:var(--text-auth-hero);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:800;line-height:1.12}.auth-hero-lede{color:var(--muted);max-width:52ch;margin:0;font-size:1.02rem;line-height:1.6}.auth-benefits{gap:16px;margin:8px 0 0;padding:0;list-style:none;display:grid}.auth-benefit{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:14px;display:grid}.auth-benefit-icon{background:rgba(var(--brand-rgb), .12);width:42px;height:42px;color:var(--brand-dark);border-radius:12px;justify-content:center;align-items:center;font-size:1.25rem;display:inline-flex}.auth-benefit-title{font-size:var(--text-body);font-weight:var(--weight-strong);letter-spacing:-.01em;margin-bottom:2px;display:block}.auth-benefit-text{color:var(--muted);max-width:50ch;margin:0;font-size:.92rem;line-height:1.5}.auth-assurance{font-size:.85rem;line-height:1.45;font-weight:var(--weight-label);color:var(--brand-dark);align-items:start;gap:8px;margin:6px 0 0;display:flex}.auth-assurance .icon{margin-top:.1em;font-size:1.05rem}.flatpickr-calendar{border-radius:var(--radius-field);border:1px solid rgba(var(--ink-rgb), .14);box-shadow:var(--shadow-popover)}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{border-bottom-color:rgba(var(--ink-rgb), .14)}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:var(--brand);border-color:var(--brand)}.flatpickr-day.today{border-color:rgba(var(--brand-rgb), .5)}@media (max-width:1200px){.button{min-height:var(--control-height-compact);padding:0 16px}}@media (max-width:900px){.grid-two,.page-header{flex-direction:column;grid-template-columns:minmax(0,1fr);align-items:stretch}.section-header-row{flex-wrap:wrap}.section-header-row>.action-group{flex-basis:100%;margin-left:0}.action-group{width:100%}.action-group .button{flex:100%;width:100%}.panel{border-radius:var(--radius-panel-mobile);padding:var(--panel-padding-mobile)}.per-student-row{grid-template-columns:1fr}.auth-split{grid-template-columns:1fr;gap:32px}.auth-split .auth-card{order:-1}.auth-hero{padding-inline:var(--auth-card-padding-inline);gap:14px}.auth-benefits{gap:14px}}@media (max-width:600px){:root{--col-student-width:150px;--col-student-max-width:190px;--col-amount-width:96px;--table-cell-padding:8px 6px;--text-table:.88rem}h1{font-size:var(--text-page-title-mobile)}.button{width:100%}.page-header{padding:22px 18px}.action-group{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.action-group>:last-child:nth-child(odd){grid-column:1/-1}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card{padding:14px}.summary-card-value{white-space:nowrap;font-size:1.25rem}.panel-disclosure-summary{flex-wrap:wrap;gap:6px 14px}.panel-disclosure-summary>.muted{flex-basis:100%;order:1;font-size:.9rem}.student-entry-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date actions""meta amount";gap:4px 12px;padding:10px 8px}.student-entry-date{color:var(--muted);grid-area:date;font-size:.85rem}.student-entry-meta{grid-area:meta}.student-entry-amount{white-space:nowrap;grid-area:amount;align-self:start}.student-entry-actions{grid-area:actions;min-width:0}.statement-table .col-date{width:90px;min-width:90px}.statement-table .col-wide{white-space:normal;min-width:150px;max-width:170px}.action-group .button{padding:0 12px;font-size:.93rem}}.ds-swatches{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.ds-swatch{gap:6px;font-size:.8rem;display:grid}.ds-swatch-color{border-radius:var(--radius-sm);border:1px solid var(--border-soft);height:44px}.ds-swatch code{font-family:var(--font-mono);color:var(--muted);font-size:.75rem}.ds-specimen{border:1px dashed var(--border);border-radius:var(--radius-card);gap:10px;padding:14px;display:grid}.ds-note{font-size:var(--text-hint);color:var(--muted);margin:0}.ds-note code{font-family:var(--font-mono);background:rgba(var(--ink-rgb), .06);border-radius:6px;padding:1px 6px}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}