*,*:before,*:after{box-sizing:border-box}:root{--brand-primary: #00236f;--brand-secondary: #1e3a8a;--brand-accent: #4059aa;--brand-logo-bg: #243b62;--surface-accent-soft: #eef2ff;--feedback-success: #15803d;--feedback-success-text: #dcfce7;--feedback-warning: #a16206;--feedback-warning-text: #fef9c3;--feedback-danger: #b91c1c;--feedback-danger-text: #fee2e2;--surface-page: #f4f6f9;--page-background: linear-gradient(155deg, #1a2f4d 0%, #243b5e 42%, #2a4570 100%);--page-background-size: 400% 400%;--page-background-animation: AnimateBG 48s ease infinite;--surface-container-lowest: #f8fafcf0;--surface-container-low: #eef2f7;--surface-container: #e4eaf2;--surface-card: #f8fafcf5;--surface-nav: #152238;--text-heading: #1a2f4d;--text-body: #2c3440;--text-secondary: #5a6578;--text-muted: #4a5568;--text-subtle: #6b7589;--value-money: #2563a8;--value-income: #047857;--value-pending: #b45309;--value-expense: #b42318;--value-hours: #4a6082;--value-count: #3d5a8a;--value-total: #1a3358;--border-subtle: #d8e0ea;--border-standard: 1px solid #d8e0ea;--shadow-sm: 0 1px 3px 0 #0f172a0d;--shadow-md: 0 4px 14px -3px #0f172a12, 0 2px 4px -2px #0f172a0a;--shadow-lg: 0 12px 28px -6px #0f172a18, 0 4px 8px -4px #0f172a0d;--nav-bg: #152238;--nav-bg-hover: #1c2d48;--nav-border: #243552;--sidebar-fg: #b4c2d6;--sidebar-fg-muted: #8494ad;--sidebar-fg-heading: #eef2f8;--sidebar-accent: #8eb5f0;--header-bg: #f4f7fbd9;--footer-bg: #f4f7fbd9;--topbar-bg: #f4f7fbd9;--tabs-track-bg: #e8eef6cc;--chrome-bg: var(--nav-bg);--chrome-bg-hover: var(--nav-bg-hover);--chrome-border: var(--nav-border);--backdrop-overlay: #0f172a80;--surface-input: #ffffff;--surface-input-border: var(--border-subtle);--surface-table: #fafbfdf2;--surface-table-header: #eef2f8f2;--surface-table-stripe: #4059aa0a;--focus-ring: #538ce94c;--btn-primary-bg: var(--brand-primary);--btn-primary-fg: #ffffff;--btn-primary-hover-bg: var(--brand-secondary);--btn-primary-shadow: 0 1px 2px #00236f1a, 0 4px 14px #00236f26;--btn-primary-shadow-hover: 0 2px 4px #00236f1f, 0 8px 20px #00236f33;--btn-secondary-bg: var(--surface-container-lowest);--btn-secondary-fg: var(--text-secondary);--btn-secondary-hover-fg: var(--text-heading);--btn-secondary-border: var(--border-subtle);--btn-secondary-hover-bg: var(--surface-container-low);--btn-secondary-hover-border: #c5ced9;--sidebar-link-active-bg: #1e3354;--sidebar-link-active-color: var(--sidebar-accent);--sidebar-link-hover-text: #ffffff;--chip-neutral-bg: #f1f5f9;--chip-neutral-text: #475569;--chip-info-bg: #dbeafe;--chip-info-text: #1e40af;--chip-warning-bg: #fef3c7;--chip-warning-text: #92400e;--chip-success-bg: #dcfce7;--chip-success-text: #166534;--chip-danger-bg: #fee2e2;--chip-danger-text: #991b1b;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--rounded-md: .375rem;--rounded-lg: .5rem;--rounded-xl: .75rem;--container-max: 90rem;--main-bg-color: var(--surface-page);--box-bg-color: var(--surface-container-low);--nav-bg-color: var(--brand-primary);--main-box-bg-color: var(--surface-container);--secondary-bg-color: var(--brand-accent);--border-color: var(--border-subtle);--main-text-color: var(--brand-primary);--surface-main-bg: var(--surface-page);--surface-glass: var(--surface-container-lowest);--icon-green: #0d7e0e;--icon-grey: #a2a2a2;--icon-action-border: #00000024;--icon-action-hover-bg: #ffffffbf;--icon-action-hover-border: #00000038;--icon-action-fg: var(--brand-primary);--icon-action-img-filter: none;--surface-glass-border: #ffffff66;--surface-muted: #eef2f8b3;--surface-highlight: #eef2f8;--surface-row: #fafbfde6;--surface-row-stripe: #4059aa0a;--surface-hover-subtle: #ffffff59;--modal-overlay: #6b7280bf;--modal-backdrop: #6b7280cc;--modal-content-bg: var(--surface-container-lowest);--chart-bar-bg: #ffffffbf;--chart-bar-shadow: 8px 8px 2px 1px #082ac433;--chart-legend-bg: #f5f9ffd1;--chart-legend-border: #ffffff8c;--chart-pie-shadow: 8px 8px 6px 4px #082ac433;--cal-day-bg: var(--surface-container-lowest);--cal-blank-bg: var(--surface-container-low);--cal-today-bg: var(--surface-accent-soft);--cal-today-date: var(--feedback-danger);--cal-cell-date: var(--text-subtle);--cal-shadow: var(--shadow-sm);--cal-overlay: var(--backdrop-overlay);--cal-form-bg: var(--surface-container-lowest);--cal-form-input-bg: var(--surface-input);--cal-form-input-border: var(--surface-input-border);--cal-form-label: var(--text-secondary);--cal-close: var(--feedback-danger);--cal-period-fg: #ffffff;--cal-option-fg: var(--text-body);--info-box-bg: #eff6ff;--info-box-border: #bfdbfe;--info-box-label: #1e40af;--info-box-input-border: #93c5fd;--map-course-fg: #1d4ed8;--map-group-fg: #047857;--alert-success-border: #4ade80;--alert-warning-border: #facc16;--alert-danger-border: #f87171;--accent-soft-hover: #538ce91f;--accent-focus: #538ce940;--text-color: var(--text-body);--toggle-track-bg: #aeaeae;--toggle-track-checked: #4ccf59;--toggle-thumb-bg: #ffffff;--delete-icon-hover-bg: #fff0efd9;--delete-icon-hover-border: #b54a4647;--toggle-success: #4ccf59}html{color-scheme:light}@media print{body{color:var(--text-body);background-color:#fff}.app-sidebar,.app-topbar{display:none}}html,body{width:100%;padding:0;margin:0;min-height:100vh}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:.875rem;line-height:1.5;color:var(--text-body);background:var(--page-background);background-size:var(--page-background-size);animation:var(--page-background-animation)}main{flex:1}header{display:flex;flex-direction:column;justify-content:space-between;width:100%}main>section{margin-top:0;margin-left:0;margin-right:0;font-size:1rem;flex-grow:1;width:100%;min-width:0;max-width:none;padding:var(--spacing-6)}article{margin-bottom:var(--spacing-4)}footer{box-sizing:border-box;margin-top:auto;padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--nav-border);background:var(--footer-bg);color:var(--text-secondary);font-size:.8125rem;text-align:center}a{text-decoration:none}ul{list-style:none}label{font-weight:500}.green{filter:invert(21%) sepia(99%) saturate(3880%) hue-rotate(98deg) brightness(96%) contrast(89%)}.red{filter:invert(12%) sepia(72%) saturate(5368%) hue-rotate(356deg) brightness(121%) contrast(120%)}main>section{background:var(--surface-container-lowest);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--rounded-xl);border:1px solid #ffffff73;box-shadow:var(--shadow-sm)}body>footer,.app-canvas>footer{margin:0;padding:var(--spacing-4) var(--spacing-6);width:100%;max-width:none;border-radius:0;border:none;border-top:1px solid var(--nav-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--footer-bg);color:var(--text-secondary);font-size:.8125rem;letter-spacing:.02em;text-align:center}main>section+section{margin-top:var(--spacing-4)}.group-section-header+section{opacity:.75}main section>ul>li,main .course-info-grid>*{padding:var(--spacing-6);border-radius:var(--rounded-lg);border:var(--border-standard);background:var(--surface-card);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease;list-style:none}main section>ul>li:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}main form>article,main form .card{padding:var(--spacing-4);border-radius:var(--rounded-xl);border:var(--border-standard);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}main form>div:has(>article),main form>div:has(>.card){display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-6);width:100%}main section h2,main section h3,.card-subtitle{font-size:.875rem;font-weight:600;color:var(--text-heading);margin:0 0 var(--spacing-2)}main section header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);width:auto}main section>ul{display:flex;flex-wrap:wrap;gap:var(--spacing-4);padding:0;margin:0;list-style:none}main section ul:not(.resource-grid){flex-direction:column;gap:var(--spacing-2)}main table:not(.course-table),table.simple-table{width:100%;border-collapse:collapse;font-size:.875rem;color:var(--text-body);background:var(--surface-table);border-radius:var(--rounded-md);overflow:hidden;box-shadow:var(--shadow-sm)}main table:not(.course-table) thead,table.simple-table thead{background:var(--surface-table-header);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}main table:not(.course-table) th,main table:not(.course-table) td,table.simple-table th,table.simple-table td{padding:var(--spacing-3) var(--spacing-2);text-align:left;vertical-align:middle}main table:not(.course-table) tbody tr:nth-child(odd),table.simple-table tbody tr:nth-child(odd){background:var(--surface-table-stripe)}main table:not(.course-table) th:last-child{text-align:right}main table:not(.course-table) td:last-child:has(form){display:flex;gap:var(--spacing-1);justify-content:flex-end;align-items:center;white-space:nowrap}main table:not(.course-table) img{max-height:1.5rem;width:auto}main form,body:has(>.maintenance-title) form{display:flex;flex-direction:column;gap:var(--spacing-4)}body:has(>.maintenance-title) form{max-width:28rem;margin:var(--spacing-4) auto;padding:var(--spacing-6);background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--rounded-lg);border:var(--border-standard);box-shadow:var(--shadow-lg)}main form>div,body:has(>.maintenance-title) form>div{display:flex;flex-direction:column;gap:var(--spacing-1)}main form>div:last-child,body:has(>.maintenance-title) form>p,body:has(>.maintenance-title) form>footer{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-4)}main form input[type=checkbox],main form input[type=radio],body:has(>.maintenance-title) form input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--brand-accent)}main form label:has(input[type=checkbox]),main form label:has(input[type=radio]){display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:.875rem;text-transform:none;letter-spacing:normal;color:var(--text-body);cursor:pointer}header [role=alert],header .alert,header>ul{margin:var(--spacing-4) auto;max-width:90%;padding:var(--spacing-4);border-radius:var(--rounded-md);border:1px solid #00000000;list-style:none}header .alert-success,header [data-variant=success]{background-color:var(--feedback-success);color:var(--feedback-success-text)}header .alert-warning,header [data-variant=warning]{background-color:var(--feedback-warning);color:var(--feedback-warning-text)}header .alert-danger,header>ul{background-color:var(--feedback-danger);color:var(--feedback-danger-text)}nav.breadcrumb button{background:none;border:none;color:inherit;font:inherit;font-size:.875rem;padding:var(--spacing-1);cursor:pointer;text-decoration:underline;text-underline-offset:2px}nav.breadcrumb button:hover{color:var(--brand-accent)}nav.breadcrumb li{display:inline-flex;align-items:center}body:has(>.maintenance-title){display:flex;flex-direction:column;align-items:center;min-height:100vh;background:var(--page-background);background-size:var(--page-background-size);animation:var(--page-background-animation);color:#fff}body:has(>.maintenance-title) a{color:#fff;text-decoration:underline;text-underline-offset:2px}body:has(>.maintenance-title)>p,body:has(>.maintenance-title)>div:not([role]){max-width:28rem;margin:var(--spacing-4) auto;padding:0 var(--spacing-4);font-size:.875rem;color:#ffffffd9;text-align:center}body:has(>.maintenance-title)>footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--spacing-4);margin-top:auto;max-width:none;width:100%;background:transparent;border-top-color:#ffffff4c;color:#ffffffb3}body:has(>.maintenance-title) form>footer{background:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;box-shadow:none;border-radius:0;padding:0;margin:0;max-width:none}.total-line{display:flex;justify-content:space-between;font-weight:700;padding:var(--spacing-2)}main figure{margin:0;text-align:center}main article>header h3{margin:0 0 var(--spacing-1);font-size:1.125rem}main article>header h3 a{color:var(--brand-accent);font-weight:700}main article>header p{margin:0 0 var(--spacing-2);font-size:.875rem;color:var(--text-muted)}main article>footer{display:flex;gap:var(--spacing-2);justify-content:flex-end;margin-top:var(--spacing-4);padding-top:var(--spacing-2);border-top:var(--border-standard)}main .course-groups-section>header,main .course-details-section>header.header-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding:0;width:auto;background:none;border:none;box-shadow:none}main .course-groups-section>header h2{margin:0;font-size:1.25rem;color:var(--brand-accent)}main .course-available-groups{margin-top:var(--spacing-8)}main .course-available-groups>h2{margin-bottom:var(--spacing-4)}main dl{display:grid;grid-template-columns:auto 1fr;gap:var(--spacing-2) var(--spacing-4);margin:0}main dt{font-weight:600;color:var(--brand-accent)}main dd{margin:0}.hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hidden{display:none}.p-4{padding:1rem}.my-8{margin:2rem 0}.mx-0{margin:0}.mr-4{margin-right:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.mb-6{margin-bottom:1.5rem}.bg-white{background-color:var(--surface-container-lowest)}.shadow-md{box-shadow:var(--shadow-md)}.border{border-width:1px}.border-gray-400{border-color:var(--border-subtle)}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.w-full{width:100%}nav.breadcrumb{flex-shrink:1;position:relative;z-index:1;background:transparent;padding:0;color:var(--text-secondary);font-size:.8125rem;min-width:0}.breadcrumb ul{display:flex;flex-wrap:wrap;padding:0;margin:0;align-items:center;gap:.35rem .5rem;list-style:none}nav.breadcrumb ul>li[aria-hidden=true]{display:inline-flex;align-items:center;line-height:1;color:var(--text-subtle);-webkit-user-select:none;user-select:none}@media (min-width: 768px) and (max-width: 1023px){nav.breadcrumb{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}}.breadcrumb a:not(.breadcrumb__add),.breadcrumb button{display:inline-flex;align-items:center;min-height:1.625rem;color:var(--text-secondary);text-decoration:none;background:none;border:none;padding:0;font:inherit;line-height:1.25;cursor:pointer}.breadcrumb a:hover,.breadcrumb button:hover{color:var(--brand-accent);text-decoration:underline}.breadcrumb__segment{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;min-height:1.625rem}.breadcrumb__form{margin:0;display:inline-flex;align-items:center;max-width:min(14rem,36vw)}.breadcrumb__add{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.625rem;height:1.625rem;min-height:1.625rem;padding:0;border:none;border-radius:var(--rounded-md);background:transparent;color:var(--brand-accent);text-decoration:none;cursor:pointer;transition:background-color .15s ease,color .15s ease}.breadcrumb__add:hover,.breadcrumb__add:focus-visible{background:var(--accent-soft-hover);outline:2px solid var(--accent-focus);outline-offset:1px}.breadcrumb__add img{display:block}nav.breadcrumb .breadcrumb__select{max-width:100%;width:auto;height:1.625rem;min-height:1.625rem;margin:0;padding:0 1.5rem 0 .35rem;border:1px solid var(--surface-input-border);border-radius:var(--rounded-md);background-color:var(--surface-input);color:var(--text-heading);font:inherit;font-size:inherit;font-weight:600;line-height:1.25;cursor:pointer;box-shadow:none;box-sizing:border-box;vertical-align:middle;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}nav.breadcrumb .breadcrumb__select:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 2px var(--focus-ring)}.icon{width:1.85rem;height:1.85rem;display:inline-flex;align-items:center;justify-content:center;margin:2px}.icon img,.icon svg{width:100%;height:100%}.icon.icon--edit,.icon.icon--delete,.icon.icon--duplicate,.icon.icon--add,.icon.icon--payed,.icon.icon--payment-restore,.icon.icon--validate,.icon.icon--validate-cancel,.icon.icon--pdf-download,.icon.icon--pdf-view,.icon.icon--invoice-manual,.icon.icon--e-invoice,.icon.icon--archive{box-sizing:border-box;width:2rem;height:2rem;margin:2px;padding:0;border:1px solid var(--icon-action-border);border-radius:var(--rounded-md);background:transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.icon.icon--edit:hover,.icon.icon--duplicate:hover,.icon.icon--add:hover,.icon.icon--payed:hover,.icon.icon--payment-restore:hover,.icon.icon--validate:hover,.icon.icon--validate-cancel:hover,.icon.icon--pdf-download:hover,.icon.icon--pdf-view:hover,.icon.icon--invoice-manual:hover,.icon.icon--e-invoice:hover,.icon.icon--archive:hover{background:var(--icon-action-hover-bg);border-color:var(--icon-action-hover-border);box-shadow:var(--shadow-sm)}.icon.icon--delete:hover{background:var(--delete-icon-hover-bg);border-color:var(--delete-icon-hover-border);box-shadow:var(--shadow-sm)}.icon.icon--edit:focus-visible,.icon.icon--delete:focus-visible,.icon.icon--add:focus-visible,.icon.icon--payed:focus-visible,.icon.icon--payment-restore:focus-visible,.icon.icon--validate:focus-visible,.icon.icon--validate-cancel:focus-visible,.icon.icon--pdf-download:focus-visible,.icon.icon--pdf-view:focus-visible,.icon.icon--invoice-manual:focus-visible,.icon.icon--e-invoice:focus-visible,.icon.icon--archive:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.icon.icon--edit img,.icon.icon--delete img,.icon.icon--duplicate img,.icon.icon--add img,.icon.icon--payed img,.icon.icon--invoice-manual img{width:1.125rem;height:1.125rem;max-width:100%;max-height:100%;object-fit:contain;display:block;filter:var(--icon-action-img-filter)}.icon.icon--payment-restore svg,.icon.icon--validate svg,.icon.icon--validate-cancel svg,.icon.icon--pdf-download svg,.icon.icon--pdf-view svg,.icon.icon--archive svg{width:1.125rem;height:1.125rem;max-width:100%;max-height:100%;object-fit:contain;display:block;color:var(--icon-action-fg)}.icon.icon--disabled,.icon.icon--disabled:hover{opacity:.35;cursor:not-allowed;background:transparent;border-color:var(--icon-action-border);box-shadow:none}.icon.icon--e-invoice{font-size:.75rem;font-weight:700;letter-spacing:-.02em;color:var(--icon-action-fg)}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-100{opacity:1}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.translate-y-0{--tw-translate-y: 0px}.translate-y-4{--tw-translate-y: 1rem}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1}@media (min-width: 640px){.sm\:translate-y-0{--tw-translate-y: 0px}.sm\:scale-95{--tw-scale-x: .95;--tw-scale-y: .95}.sm\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1}}.section-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-radius:.5rem}.section-title{font-size:1.25rem;font-weight:600;margin:0}.section-actions{display:flex;gap:.5rem}.text-danger{color:var(--danger-color)}.text-success{color:var(--toggle-success)}.status-indicator{font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.5rem;padding:.625rem 1.125rem;border-radius:var(--rounded-xl);font-weight:600;font-size:.8125rem;letter-spacing:.01em;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;border:1px solid transparent;text-decoration:none;line-height:1.25rem;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:var(--btn-primary-shadow)}.btn-primary:hover:not(:disabled){background-color:var(--btn-primary-hover-bg);box-shadow:var(--btn-primary-shadow-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:focus-visible{outline:none;box-shadow:var(--btn-primary-shadow-hover),0 0 0 3px var(--focus-ring)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border);box-shadow:none}.btn-secondary:hover{background-color:var(--btn-secondary-hover-bg);border-color:var(--btn-secondary-hover-border);color:var(--btn-secondary-hover-fg)}.btn-secondary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--focus-ring)}.btn--compact{min-height:2.25rem;padding:.5rem .875rem;border-radius:var(--rounded-lg);font-size:.8125rem}.btn-danger{background-color:var(--feedback-danger);color:#fff;box-shadow:var(--shadow-sm)}.btn-danger:hover{background-color:#991b1b}.btn-danger:active:not(:disabled){transform:scale(.98)}.btn-text{background:transparent;color:var(--text-heading);min-height:auto;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--rounded-md);text-transform:none;font-weight:500;box-shadow:none}.btn-text:hover{text-decoration:underline}.btn-text-link{background-color:transparent;border:none;box-shadow:none;min-height:auto}.form-group,.form-field,.school-form-input{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-4)}.form-label,.school-form-input>label,main form label:not(:has(input[type=checkbox])):not(:has(input[type=radio])){display:block;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:0}.form-input,.school-form-input .form-input,main form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),main form select,main form textarea{width:100%;padding:.625rem .75rem;border:1px solid var(--surface-input-border);border-radius:var(--rounded-md);background-color:var(--surface-input);color:var(--text-body);font-size:.9375rem;line-height:1.4;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.form-input:focus,.school-form-input .form-input:focus,main form input:focus,main form select:focus,main form textarea:focus{outline:none;border-color:var(--brand-accent);box-shadow:0 0 0 3px var(--focus-ring)}.form-input:disabled,.form-input[readonly],.form-input--readonly{background:var(--surface-container-low);color:var(--text-subtle);cursor:not-allowed}.form-hint{margin:0;font-size:.8125rem;color:var(--text-subtle)}.form-error{font-size:.875rem;color:var(--feedback-danger);list-style:none;padding:0;margin:var(--spacing-1) 0}.nice-form{display:flex;flex-direction:column;min-width:min(50rem,100%);width:100%;max-width:40rem;padding:var(--spacing-6);gap:var(--spacing-2);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-2);padding-top:var(--spacing-4);border-top:var(--border-standard)}form.group-form.nice-form,form.school-create-form.nice-form:not(.company-edit-form){max-width:42rem;margin:0}form.company-edit-form.nice-form{max-width:52rem;margin:0;width:100%}form.nice-form--wide{max-width:none}.nice-form--embedded{max-width:none;padding:0;border:none;box-shadow:none;background:transparent}.school-form-fieldset{margin:0 0 var(--spacing-4);padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-lg);background:var(--surface-container-low)}.school-form-fieldset legend{padding:0 var(--spacing-2);color:var(--text-heading);font-size:.875rem;font-weight:600}.school-create-form__row--submit{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-3);margin-top:var(--spacing-2);padding-top:var(--spacing-4);border-top:var(--border-standard)}.nav-context{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-3);min-width:0}.nav-form{display:inline-flex;align-items:center}.nav-form select{box-sizing:border-box;height:2.25rem;font-size:.875rem;line-height:1;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);padding:0 .75rem;margin:0;min-width:4.5rem;background:var(--surface-input);color:var(--text-body)}.nav-form select:focus{outline:2px solid var(--brand-accent);outline-offset:1px;border-color:var(--brand-accent)}.toggle-label{font-size:.8125rem;font-weight:500;color:var(--text-secondary)}.nav-link{color:var(--brand-accent);font-weight:500;text-decoration:none;font-size:.875rem}.nav-link:hover{text-decoration:underline}.nav-link-responsive{display:block;width:100%;padding:var(--spacing-2) var(--spacing-4);color:var(--text-muted);text-decoration:none;font-weight:500;border-left:4px solid transparent;transition:all .2s}.nav-link-responsive.active{color:var(--brand-primary);background-color:var(--surface-container-low);border-left-color:var(--brand-accent)}.nav-link-responsive:hover{background-color:var(--surface-container);color:var(--brand-primary)}.module-tabs{display:inline-flex;flex-wrap:wrap;gap:.25rem;align-items:stretch;margin:0 0 var(--spacing-4);padding:.25rem;border-radius:var(--rounded-lg);background:var(--tabs-track-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff59}.module-tab{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border:1px solid transparent;border-radius:var(--rounded-md);background:transparent;color:var(--text-secondary);font-weight:500;font-size:.875rem;line-height:1.25;text-decoration:none;white-space:nowrap;transition:color .15s ease,background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.module-tab__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.125rem;height:1.125rem;color:inherit}.module-tab__icon-svg{display:block;width:100%;height:100%}.module-tab__label{line-height:1.2}.module-tab:hover{color:var(--text-heading);background:#ffffff99}.module-tab:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.module-tab.active{background:var(--surface-container-lowest);color:var(--brand-accent);font-weight:600;border-color:var(--brand-accent);box-shadow:0 1px 3px #00236f14}.module-tab--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.module-tab--disabled.active{opacity:.55}.page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}@media (max-width: 767px){.app-topbar__end .nav-form select{min-width:3.75rem}}:root{--sidebar-width-expanded: 16.25rem;--sidebar-width-compact: 4.5rem;--sidebar-width: var(--sidebar-width-expanded);--topbar-height: 4rem}html[data-sidebar-compact=true]{--sidebar-width: var(--sidebar-width-compact)}.app-shell{min-height:100vh;background:var(--page-background);background-size:var(--page-background-size);animation:var(--page-background-animation);color:var(--text-body)}.sidebar-toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;background:var(--backdrop-overlay);cursor:pointer}.app-sidebar{position:fixed;top:0;left:0;bottom:0;z-index:50;display:flex;flex-direction:column;width:var(--sidebar-width);padding:1.5rem 0;background:var(--nav-bg);border-right:1px solid var(--nav-border);box-shadow:4px 0 24px #0a12200f;transition:width .2s ease}.app-sidebar__brand{display:flex;align-items:center;gap:.75rem;padding:0 1.25rem 1.5rem;margin-bottom:.5rem}.app-sidebar__brand-logo{display:flex;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--rounded-md);text-decoration:none;color:inherit;transition:opacity .15s ease}.app-sidebar__brand-logo:hover{opacity:.85}.app-sidebar__brand-logo:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px}.app-sidebar__logo{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:var(--rounded-md);background:var(--brand-logo-bg);color:#fff;flex-shrink:0}.app-sidebar__logo svg{width:1.35rem;height:1.35rem;stroke:currentColor}.app-sidebar__brand-text{display:flex;flex-direction:column;min-width:0}.app-sidebar__app-name{font-size:.9375rem;font-weight:700;line-height:1.2;color:var(--sidebar-fg-heading);letter-spacing:-.01em;text-decoration:none;transition:color .15s ease}.app-sidebar__app-name:hover{color:#fff}.app-sidebar__app-name:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:var(--rounded-sm)}.app-sidebar__app-tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;color:var(--sidebar-fg-muted);text-decoration:none;transition:color .15s ease}.app-sidebar__app-tag:hover{color:var(--sidebar-accent)}.app-sidebar__app-tag:focus-visible{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:var(--rounded-sm)}.app-sidebar__nav{display:flex;flex-direction:column;gap:.25rem;padding:0 .75rem;flex:1}.app-sidebar__footer{display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem 0;margin-top:auto;border-top:1px solid var(--nav-border)}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem .875rem;border:1px solid transparent;border-radius:var(--rounded-lg);color:var(--sidebar-fg);font-size:.875rem;font-weight:500;line-height:1.25;text-decoration:none;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.sidebar-link__icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;color:inherit}.sidebar-link__icon .module-tab__icon-svg{width:100%;height:100%}.sidebar-link:hover{color:var(--sidebar-link-hover-text);background:var(--nav-bg-hover)}.sidebar-link:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.sidebar-link--active{color:var(--sidebar-link-active-color);font-weight:600;background:var(--sidebar-link-active-bg);border-color:#3d5f8f66;box-shadow:inset 3px 0 0 var(--sidebar-accent)}.sidebar-link--button{width:100%;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;text-align:left}html[data-sidebar-compact=true] .app-sidebar__brand{justify-content:center;padding-inline:.5rem}html[data-sidebar-compact=true] .app-sidebar__brand-text,html[data-sidebar-compact=true] .sidebar-link__label{display:none}html[data-sidebar-compact=true] .app-sidebar__nav,html[data-sidebar-compact=true] .app-sidebar__footer{padding-inline:.5rem}html[data-sidebar-compact=true] .sidebar-link{justify-content:center;gap:0;padding-inline:.5rem}html[data-sidebar-compact=true] .sidebar-link--button{text-align:center}.sidebar-compact-toggle__icon--expand,.sidebar-compact-toggle__label--expand,html[data-sidebar-compact=true] .sidebar-compact-toggle__icon--collapse,html[data-sidebar-compact=true] .sidebar-compact-toggle__label--collapse{display:none}html[data-sidebar-compact=true] .sidebar-compact-toggle__icon--expand,html[data-sidebar-compact=true] .sidebar-compact-toggle__label--expand{display:inline-flex}html[data-sidebar-compact=true] .sidebar-compact-toggle__label--expand{display:none}.app-canvas{display:flex;flex-direction:column;min-height:100vh;margin-left:var(--sidebar-width);min-width:0;transition:margin-left .2s ease}.app-topbar{position:sticky;top:0;z-index:40;display:flex;flex-direction:column;align-items:stretch;background:var(--header-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #ffffff59;box-shadow:0 1px #0f172a08}.app-topbar__main{display:flex;align-items:center;gap:var(--spacing-3);min-height:var(--topbar-height);padding:0 var(--spacing-6)}.app-topbar__title{flex:1 1 auto;min-width:0;text-align:left}.app-topbar__title :is(h1,h2,h3,.header-title){margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.125rem;font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--text-heading)}.app-topbar__title :is(h1,h2,h3){font-size:inherit;font-weight:inherit}.app-topbar__tools{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0;gap:var(--spacing-3);margin-left:auto}.app-topbar__profile{display:inline-flex;align-items:center;gap:.5rem;max-width:11rem;padding:.4rem .65rem;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);background:var(--surface-container-lowest);color:var(--text-secondary);font-size:.8125rem;font-weight:500;text-decoration:none;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-topbar__profile:hover{color:var(--text-heading);background:var(--surface-container-low)}.app-topbar__profile:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.app-topbar__profile-icon{display:inline-flex;flex-shrink:0;width:1rem;height:1rem}.app-topbar__profile-icon .module-tab__icon-svg{width:100%;height:100%}.app-topbar__profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar .breadcrumb{padding:0 var(--spacing-6) var(--spacing-2);font-size:.75rem}.app-topbar__menu-btn{display:none;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);background:var(--surface-container-lowest);color:var(--text-secondary);cursor:pointer}.app-topbar__menu-btn:hover,.app-topbar__menu-btn:focus-visible{background:var(--surface-container-low);outline:2px solid var(--brand-accent);outline-offset:1px}.app-topbar__menu-icon{position:relative;display:block;width:1.125rem;height:.125rem;background:currentColor;border-radius:1px;box-shadow:0 -.35rem 0 currentColor,0 .35rem 0 currentColor}.app-alerts{max-width:var(--container-max);width:100%;margin:0 auto;padding:var(--spacing-4) var(--spacing-6) 0}.app-main{flex:1;width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--spacing-6)}.app-canvas>footer{width:100%;max-width:none;margin:0;border-radius:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top-color:#ffffff59}@media (min-width: 1024px){html[data-sidebar-compact=true] .sidebar-link[title]:hover:after{content:attr(title);position:absolute;left:calc(100% + .5rem);z-index:60;padding:.35rem .65rem;border-radius:var(--rounded-md);background:var(--sidebar-fg-heading);color:var(--nav-bg);font-size:.75rem;font-weight:500;line-height:1.25;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-lg)}html[data-sidebar-compact=true] .sidebar-link{position:relative}}@media (max-width: 1023px){.app-sidebar{width:var(--sidebar-width-expanded);transform:translate(-100%);transition:transform .2s ease;box-shadow:var(--shadow-lg)}html[data-sidebar-compact=true] .app-sidebar__brand-text{display:flex}html[data-sidebar-compact=true] .sidebar-link__label{display:inline}html[data-sidebar-compact=true] .app-sidebar__brand{justify-content:flex-start;padding-inline:1.25rem}html[data-sidebar-compact=true] .sidebar-link{justify-content:flex-start;gap:.75rem;padding-inline:.875rem}.sidebar-compact-toggle{display:none}.sidebar-toggle-input:checked~.sidebar-backdrop{display:block}.sidebar-toggle-input:checked~.app-sidebar{transform:translate(0)}.app-canvas{margin-left:0}.app-topbar__menu-btn{display:inline-flex}.app-topbar__main,.app-topbar .breadcrumb,.app-alerts,.app-main{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}}@media (max-width: 767px){.app-topbar__tools .toggle-label,.app-topbar__profile-name{display:none}}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);background:var(--surface-container-lowest);color:var(--text-secondary);cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--text-heading);background:var(--surface-container-low);outline:2px solid var(--brand-accent);outline-offset:1px}.theme-toggle__icon{display:none;width:1.125rem;height:1.125rem}.theme-toggle__icon svg{display:block;width:100%;height:100%}html[data-theme=dark]{color-scheme:dark;--brand-primary: #90a8ff;--brand-secondary: #1e3a8a;--brand-accent: #90a8ff;--brand-logo-bg: #1e3a8a;--surface-accent-soft: #1e3a8a59;--text-heading: #dce1ff;--text-body: #eff1f3;--text-secondary: #94a3b8;--text-muted: #cbd5e1;--text-subtle: #64748b;--surface-page: #0f172a;--page-background: var(--surface-page);--page-background-size: auto;--page-background-animation: none;--surface-container-lowest: #1e293b;--surface-container-low: #1e293b;--surface-container: #334155;--surface-card: #1e293bf2;--surface-nav: #0f172a;--value-money: #93c5fd;--value-income: #6ee7b7;--value-pending: #fcd34d;--value-expense: #fca5a5;--value-hours: #94a3b8;--value-count: #a5b4fc;--value-total: #e2e8f0;--nav-bg: #111827;--nav-bg-hover: #1a2332;--nav-border: #243044;--sidebar-fg: #94a3b8;--sidebar-fg-muted: #64748b;--sidebar-fg-heading: #f1f5f9;--sidebar-accent: #90a8ff;--header-bg: #1e293be6;--footer-bg: #1e293be6;--topbar-bg: #1e293be6;--tabs-track-bg: #33415599;--sidebar-link-active-bg: #243044;--sidebar-link-active-color: var(--sidebar-accent);--sidebar-link-hover-text: #f8fafc;--border-subtle: #334155;--border-standard: 1px solid #334155;--border-color: #334155;--shadow-sm: 0 1px 2px 0 #00000059;--shadow-md: 0 4px 6px -1px #00000059, 0 2px 4px -2px #00000040;--shadow-lg: 0 10px 15px -3px #00000059, 0 4px 6px -4px #00000040;--chrome-bg: var(--nav-bg);--chrome-bg-hover: var(--nav-bg-hover);--chrome-border: var(--nav-border);--backdrop-overlay: #02061799;--surface-input: #0f172a;--surface-input-border: #475569;--surface-table: #1e293bf2;--surface-table-header: #334155e6;--surface-table-stripe: #33415580;--focus-ring: #90a8ff59;--btn-primary-bg: #00236f;--btn-primary-fg: #ffffff;--btn-primary-hover-bg: #1e3a8a;--btn-primary-shadow: 0 1px 2px #00000040, 0 4px 14px #00000059;--btn-primary-shadow-hover: 0 2px 4px #0000004d, 0 8px 20px #00000066;--btn-secondary-bg: var(--surface-container);--btn-secondary-fg: var(--text-muted);--btn-secondary-hover-fg: var(--text-body);--btn-secondary-border: #475569;--btn-secondary-hover-bg: #334155;--btn-secondary-hover-border: #64748b;--main-bg-color: var(--surface-page);--box-bg-color: var(--surface-container-low);--main-box-bg-color: var(--surface-container);--secondary-bg-color: var(--brand-secondary);--main-text-color: var(--text-heading);--surface-main-bg: var(--surface-page);--surface-glass: var(--surface-container-lowest);--chip-neutral-bg: #334155;--chip-neutral-text: #cbd5e1;--chip-info-bg: #1e3a8a66;--chip-info-text: #93c5fd;--chip-warning-bg: #78350f66;--chip-warning-text: #fcd34d;--chip-success-bg: #14532d66;--chip-success-text: #86efac;--chip-danger-bg: #7f1d1d66;--chip-danger-text: #fca5a5;--feedback-success-text: #bbf7d0;--feedback-warning-text: #fef08a;--feedback-danger-text: #fecaca;--feedback-success: #14532d;--feedback-warning: #78350f;--feedback-danger: #7f1d1d;--surface-glass-border: #33415580;--surface-muted: #33415580;--surface-highlight: #334155;--surface-row: #1e293b;--surface-row-stripe: #33415580;--surface-hover-subtle: #ffffff14;--modal-overlay: var(--backdrop-overlay);--modal-backdrop: #020617cc;--modal-content-bg: var(--surface-container-lowest);--chart-bar-bg: var(--surface-container);--chart-bar-shadow: var(--shadow-md);--chart-legend-bg: var(--surface-container-lowest);--chart-legend-border: var(--border-subtle);--chart-pie-shadow: var(--shadow-md);--cal-day-bg: var(--surface-container-lowest);--cal-blank-bg: var(--surface-page);--cal-today-bg: #1e3a8a59;--cal-today-date: #fca5a5;--cal-cell-date: var(--text-subtle);--cal-shadow: var(--shadow-sm);--cal-overlay: var(--backdrop-overlay);--cal-form-bg: var(--surface-container-lowest);--cal-form-input-bg: var(--surface-input);--cal-form-input-border: var(--surface-input-border);--cal-form-label: var(--text-secondary);--cal-close: var(--feedback-danger-text);--cal-period-fg: #ffffff;--cal-option-fg: var(--text-body);--info-box-bg: #1e3a8a40;--info-box-border: #334155;--info-box-label: #93c5fd;--info-box-input-border: #475569;--map-course-fg: #93c5fd;--map-group-fg: #86efac;--alert-success-border: #166534;--alert-warning-border: #92400e;--alert-danger-border: #991b1b;--accent-soft-hover: #90a8ff1f;--accent-focus: #90a8ff40;--toggle-track-bg: #475569;--toggle-track-checked: #15803d;--toggle-thumb-bg: #f1f5f9;--delete-icon-hover-bg: #7f1d1d59;--delete-icon-hover-border: #fca5a559;--toggle-success: #4ade80;--icon-action-border: var(--border-subtle);--icon-action-hover-bg: var(--surface-container);--icon-action-hover-border: #475569;--icon-action-fg: var(--text-body);--icon-action-img-filter: brightness(0) invert(1)}html[data-theme=dark] .module-tab:hover{color:var(--sidebar-link-hover-text);background:var(--surface-container)}html[data-theme=dark] main>section{border-color:#33415599}html[data-theme=dark] .kpi-card{border-color:#33415599}html[data-theme=dark] .kpi-card--total{--kpi-icon-bg: #90a8ff1f}html[data-theme=dark] .app-topbar{border-bottom-color:#33415599}html[data-theme=dark] .app-canvas>footer{border-top-color:#33415599}html[data-theme=dark] .sidebar-link:hover{color:var(--sidebar-link-hover-text)}html[data-theme=dark] .sidebar-link--active{color:var(--sidebar-link-active-color);background:var(--sidebar-link-active-bg)}html[data-theme=dark] .module-tab.active{color:var(--sidebar-link-active-color);border-color:var(--brand-accent);background:var(--surface-container)}html[data-theme=dark] .module-tab:hover{color:var(--sidebar-link-hover-text)}html[data-theme=dark] .breadcrumb a:hover,html[data-theme=dark] .breadcrumb button:hover,html[data-theme=dark] .nav-link{color:var(--brand-accent)}html[data-theme=light] .theme-toggle__icon--sun{display:none}html[data-theme=light] .theme-toggle__icon--moon,html[data-theme=dark] .theme-toggle__icon--sun{display:block}html[data-theme=dark] .theme-toggle__icon--moon{display:none}html[data-theme=dark] .bg-white{background-color:var(--surface-container-lowest)}html[data-theme=dark] .border-gray-400{border-color:var(--border-subtle)}html[data-theme=dark] .modal-container{background-color:var(--modal-content-bg);border-color:var(--border-subtle);color:var(--text-body)}html[data-theme=dark] .modal-overlay .modal-backdrop{opacity:.72}.data-table{overflow:auto;max-height:min(70vh,48rem);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-table);box-shadow:var(--shadow-sm)}.data-table table{width:100%;margin:0;border-collapse:separate;border-spacing:0;font-size:.875rem;color:var(--text-body);background:transparent;border-radius:0;box-shadow:none;overflow:visible}.data-table thead{position:sticky;top:0;z-index:2}.data-table thead th{padding:var(--spacing-3) var(--spacing-4);background:var(--surface-table-header);color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table tbody td,.data-table tbody th{padding:var(--spacing-3) var(--spacing-4);vertical-align:middle;border-bottom:1px solid var(--border-subtle)}.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:none}.data-table tbody tr:nth-child(2n){background:var(--surface-table-stripe)}.data-table tbody tr:hover{background:var(--surface-container-low)}.data-table .money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.data-table .date{text-align:center;white-space:nowrap}.data-table td:last-child:has(form),.data-table th:last-child{text-align:right}.data-table td.card-actions{display:flex;gap:var(--spacing-1);justify-content:flex-end;align-items:center;white-space:nowrap}.status-chip,.invoice-e-status{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.2;white-space:nowrap}.status-chip--neutral,.invoice-e-status--draft{background:var(--chip-neutral-bg);color:var(--chip-neutral-text)}.status-chip--info,.invoice-e-status--ready{background:var(--chip-info-bg);color:var(--chip-info-text)}.status-chip--warning,.invoice-e-status--transmitted{background:var(--chip-warning-bg);color:var(--chip-warning-text)}.status-chip--success,.invoice-e-status--accepted{background:var(--chip-success-bg);color:var(--chip-success-text)}.status-chip--danger,.invoice-e-status--rejected{background:var(--chip-danger-bg);color:var(--chip-danger-text)}.treasury-status--draft{background:var(--chip-neutral-bg);color:var(--chip-neutral-text)}.treasury-status--validated{background:var(--chip-success-bg);color:var(--chip-success-text)}.treasury-status--paid{background:var(--chip-info-bg);color:var(--chip-info-text)}.status-chip--paid{background:var(--chip-success-bg);color:var(--chip-success-text)}.status-chip--unpaid{background:var(--chip-warning-bg);color:var(--chip-warning-text)}.status-chip--bill{background:var(--chip-info-bg);color:var(--chip-info-text)}.data-table--flat{max-height:none}.data-table--flat tbody th[scope=row]{width:12rem;font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-table-header);white-space:nowrap}.course-table-container.data-table{max-height:none}.course-table.data-table__table,table.course-table{background:transparent;color:var(--text-body);box-shadow:none}table.course-table thead{position:sticky;top:0;z-index:1;background:var(--surface-table-header)}table.course-table thead th{color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}table.course-table tbody tr:nth-child(2n){background:var(--surface-table-stripe)}table.course-table tfoot{background:var(--surface-container);color:var(--text-heading);font-weight:600}table.course-table tfoot td,table.course-table tfoot th{border-top:1px solid var(--border-subtle)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.kpi-card{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border:1px solid #ffffff80;border-radius:var(--rounded-xl);background:var(--surface-container-lowest);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.kpi-card__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:var(--rounded-lg);background:var(--kpi-icon-bg, var(--surface-container-low));color:var(--kpi-icon-color, var(--brand-accent))}.kpi-card__icon .module-tab__icon-svg{width:1.25rem;height:1.25rem}.kpi-card__body{min-width:0}.kpi-card__label{margin:0 0 .2rem;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.kpi-card__value{margin:0;font-size:1.25rem;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--text-heading)}.kpi-card__hint{margin:.25rem 0 0;font-size:.75rem;color:var(--text-subtle)}.kpi-card--accent{--kpi-icon-bg: var(--surface-accent-soft);--kpi-icon-color: var(--brand-accent);--kpi-value-color: var(--value-money)}.kpi-card--success{--kpi-icon-bg: var(--chip-success-bg);--kpi-icon-color: var(--chip-success-text);--kpi-value-color: var(--value-income)}.kpi-card--warning{--kpi-icon-bg: var(--chip-warning-bg);--kpi-icon-color: var(--chip-warning-text);--kpi-value-color: var(--value-pending)}.kpi-card--info{--kpi-icon-bg: var(--chip-info-bg);--kpi-icon-color: var(--chip-info-text);--kpi-value-color: var(--value-hours)}.kpi-card--total{--kpi-icon-bg: #1a33581a;--kpi-icon-color: var(--value-total);--kpi-value-color: var(--value-total)}.dashboard-container .school-card{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:var(--border-standard)}.dashboard-container .school-card:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;overflow-y:auto;padding:1.5rem 1rem;display:none;justify-content:center;align-items:flex-start;background-color:var(--modal-overlay)}.modal-container{background-color:var(--modal-content-bg);margin-bottom:1.5rem;border-radius:var(--rounded-md);overflow:hidden;box-shadow:var(--shadow-lg);transition:all .3s;width:100%;border:var(--border-standard);color:var(--text-body)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--modal-backdrop);opacity:.75}.modal-overlay .modal-backdrop{z-index:0}.modal-overlay .modal-container{position:relative;z-index:1;pointer-events:auto}@media (min-width: 640px){.modal-container{margin:0 auto;margin-top:1.75rem}}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-2xl{max-width:42rem}@media (min-width: 640px){.sm\:max-w-sm{max-width:24rem}.sm\:max-w-md{max-width:28rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-2xl{max-width:42rem}}.modal-title{margin-bottom:0;line-height:1.5;font-size:1.125rem;font-weight:600;color:var(--text-heading)}.card-content{display:flex;justify-content:space-between;flex-direction:row;padding:4px}.card-content-text{display:flex;justify-content:space-between;align-items:start;flex-direction:column;font-size:14px;font-weight:300;white-space:nowrap}.card-content-end{display:flex;gap:6px;align-items:center;box-sizing:border-box;padding:0}.card-title{margin:2px;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:20%;text-align:left;color:var(--text-heading)}.card-subtitle{font-size:.875rem;color:var(--text-muted);margin-bottom:var(--spacing-2)}.card-actions{display:flex;justify-content:flex-end;align-items:center;flex-direction:row;gap:var(--spacing-1)}.resource-grid{padding:0;list-style:none}main section ul.resource-grid{display:grid;width:100%;max-width:100%;box-sizing:border-box;grid-template-columns:repeat(1,minmax(0,1fr));gap:1.5rem;padding:0;margin:0;list-style:none}@media (min-width: 640px){main section ul.resource-grid:not(.resource-grid--group-tiles){grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1414px){main section ul.resource-grid:not(.resource-grid--group-tiles){grid-template-columns:repeat(3,minmax(0,1fr))}}main section ul.resource-grid>li{min-width:0;padding:var(--spacing-4);border-radius:var(--rounded-lg);border:var(--border-standard);background:var(--surface-card);box-shadow:var(--shadow-md);list-style:none;transition:transform .2s ease,box-shadow .2s ease}main section ul.resource-grid>li:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.resource-grid--inactive>li{opacity:.7;background:var(--surface-muted);border-style:dashed;filter:grayscale(.35)}.resource-grid--inactive>li:hover{transform:none;box-shadow:var(--shadow-sm)}.alert{padding:1rem;margin:2rem 0;border-width:1px;border-style:solid;border-radius:var(--rounded-md)}.alert-success{background-color:var(--feedback-success);color:var(--feedback-success-text);border-color:var(--alert-success-border)}.alert-warning{background-color:var(--feedback-warning);color:var(--feedback-warning-text);border-color:var(--alert-warning-border)}.alert-danger{background-color:var(--feedback-danger);color:var(--feedback-danger-text);border-color:var(--alert-danger-border)}.card-content--school{flex-direction:column;align-items:stretch;gap:var(--spacing-2);padding:0;min-width:0}.school-header__name{display:block;min-width:0;font-size:1rem;font-weight:600;line-height:1.3;color:var(--text-heading);text-decoration:none;overflow-wrap:anywhere}.school-header__name:hover{color:var(--brand-accent);text-decoration:underline}.school-header__name:focus-visible{outline:none;border-radius:var(--rounded-sm);box-shadow:0 0 0 2px var(--focus-ring)}.school-header__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.375rem;padding:0}.school-header__tools form{display:inline-flex;margin:0}main section:has(>ul.resource-grid){overflow:hidden}main section ul.resource-grid>li:has(.school-header) .school-stats{margin-top:var(--spacing-3);margin-left:0}.school-stats{margin-top:1rem;margin-left:calc(6px + var(--spacing-4));display:flex;flex-wrap:wrap;gap:1rem 1.5rem}.school-stats-totals{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;margin:0}.school-stat{display:flex;flex-direction:column;gap:.15rem}.school-stat__label{font-size:.8125rem;font-weight:500;color:var(--text-muted, #64748b);text-transform:uppercase;letter-spacing:.03em}.school-stat__value{font-size:1.125rem;font-weight:700;margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;font-variant-numeric:tabular-nums}.school-stat__sep{font-weight:400;color:var(--text-muted, #64748b)}.school-panel{margin-top:var(--spacing-6)}main section.school-panel .school-panel__box{background:var(--surface-card);border-radius:var(--rounded-lg);border:var(--border-standard);box-shadow:var(--shadow-md);padding:var(--spacing-4)}main section.school-panel .school-panel__header{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;gap:var(--spacing-3);width:100%;padding:0;margin:0 0 var(--spacing-4);background:none;border:none;box-shadow:none}.school-panel__title{margin:0;flex:1 1 auto;min-width:0;text-align:left;font-size:1.25rem;font-weight:600;line-height:1.25;color:var(--text-heading)}.school-panel__toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:var(--rounded-md);background:transparent;color:var(--text-heading);cursor:pointer;transition:background-color .2s ease,color .2s ease}.school-panel__toggle svg{display:block;flex-shrink:0}.school-panel__toggle:hover{background:var(--surface-hover-subtle);color:var(--brand-accent)}.school-panel__toggle:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.school-create-form{--school-field-gap: 1rem;--school-field-narrow: 10rem;display:flex;flex-direction:column;gap:var(--spacing-4)}main section.school-panel form.school-create-form{margin-top:0;padding:0;background:none;border:none;box-shadow:none}main form.school-create-form>.school-create-form__row{display:grid;width:100%;gap:var(--school-field-gap);column-gap:var(--school-field-gap);margin:0}main form.school-create-form>.school-create-form__row--name-code{grid-template-columns:minmax(0,1fr) var(--school-field-narrow)}main form.school-create-form>.school-create-form__row--zip-city,main form.school-create-form>.school-create-form__row--country{grid-template-columns:var(--school-field-narrow) minmax(0,1fr)}main form.school-create-form>.school-create-form__row--country{grid-template-columns:var(--school-field-narrow)}main form.school-create-form>.school-create-form__row:not(.school-create-form__row--name-code):not(.school-create-form__row--zip-city):not(.school-create-form__row--country){grid-template-columns:1fr}main form.school-create-form>.school-create-form__row--submit{display:flex;justify-content:center;margin-top:var(--spacing-2)}main form.school-create-form .school-form-input{display:block;min-width:0;width:100%;margin:0}main form.school-create-form .school-form-input .form-input{width:100%;box-sizing:border-box}@media (max-width: 640px){.school-create-form{--school-field-narrow: 100%}main form.school-create-form>.school-create-form__row--name-code,main form.school-create-form>.school-create-form__row--zip-city{grid-template-columns:1fr}}.header-actions{display:flex;gap:1rem;align-items:center}.btn-school-list{padding:.5rem 1rem;font-size:.875rem;border:1px solid var(--border-subtle);border-radius:.375rem;font-weight:600;color:var(--text-muted);text-decoration:none;transition:color .2s,border-color .2s}.btn-school-list:hover{color:var(--text-heading);border-color:var(--text-subtle)}.school-details-grid{display:flex;flex-direction:column;gap:1.5rem}main .school-details-grid{margin-top:var(--spacing-1);margin-left:auto;margin-right:auto;width:98%;min-width:min(1100px,100%);max-width:90%}main .school-details-grid>section{background:var(--surface-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--rounded-lg);border:1px solid var(--surface-glass-border);box-shadow:var(--shadow-lg);padding:var(--spacing-4)}.school-section-header{font-size:1.25rem;font-weight:600;margin-bottom:1rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.documents-school-empty{margin:0;padding:var(--spacing-4);font-size:.9375rem;font-style:italic;color:var(--text-muted);text-align:center}.documents-school-table__icon{width:2.35rem;text-align:center}.documents-school-table__icon img{display:block;max-width:2rem;max-height:1.6rem;margin:0 auto;object-fit:contain}.documents-school-table__link{color:var(--brand-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}.documents-school-table__link:hover{color:var(--text-heading)}.school-address-box{display:flex;justify-content:space-between;align-items:flex-start}.address-content{line-height:1.6}.school-upload-container{margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:var(--border-standard)}.school-document-form__grid{display:grid;gap:var(--spacing-3);grid-template-columns:minmax(0,1fr)}@media (min-width: 640px){.school-document-form__grid{grid-template-columns:minmax(0,1fr) max-content minmax(12rem,1fr);align-items:end}}.school-document-form__year .form-input{width:5rem;min-width:5rem;max-width:100%}.school-document-form__file-input{width:100%;padding:.5rem .75rem}.school-document-form__file-input::file-selector-button{margin-right:var(--spacing-3);padding:.35rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);background:var(--surface-container);color:var(--text-body);font-size:.8125rem;font-weight:500;cursor:pointer}.school-document-form .form-actions{justify-content:flex-start}.schools-inactive-section{padding-top:var(--spacing-6);border-top:1px dashed var(--border-subtle)}.schools-inactive-section .school-panel__title,.schools-inactive-header{font-size:.875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.school-inactive-label{margin:var(--spacing-2) 0 0;font-size:.8125rem;font-style:italic;color:var(--text-subtle);text-align:center}.card-content--group{flex-direction:column;align-items:stretch;gap:var(--spacing-2);padding:0;min-width:0}.group-header__titles{display:flex;flex-direction:column;gap:.125rem;min-width:0;max-width:100%}.group-header__name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;line-height:1.3;color:var(--text-heading);text-decoration:none}.group-header__name:hover{color:var(--brand-accent);text-decoration:underline}.group-header__name:focus-visible{outline:none;border-radius:var(--rounded-sm);box-shadow:0 0 0 2px var(--focus-ring)}.group-header__short{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;color:var(--text-muted)}.group-header__tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.375rem;padding:0}.group-header__tools form{display:inline-flex;margin:0}main section ul.resource-grid--group-tiles{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:1rem;justify-content:start}@media (min-width: 480px){main section ul.resource-grid--group-tiles{grid-template-columns:repeat(auto-fill,minmax(11.5rem,12rem))}}main section ul.resource-grid--group-tiles>li{display:flex;flex-direction:column;aspect-ratio:1;padding:var(--spacing-3);overflow:hidden}main section ul.resource-grid--group-tiles .group-header__tools{gap:.25rem}main section ul.resource-grid--group-tiles .group-card-stats{flex-direction:column;flex-wrap:nowrap;gap:.35rem;margin-top:auto;font-size:.8125rem}main section ul.resource-grid--group-tiles .group-card-stat__label{font-size:.6875rem}main section ul.resource-grid--group-tiles .group-card-stat__value{font-size:.8125rem}main section ul.resource-grid--group-tiles .group-table-sessions summary{font-size:.6875rem;min-width:1.5rem;padding:.1rem .35rem}.group-card-stats{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin:var(--spacing-3) 0 0;margin-left:0;min-width:0}.group-card-stat{display:flex;flex-direction:column;gap:.15rem}.group-card-stat__label{color:var(--text-muted);font-size:.75rem;font-weight:700}.group-card-stat__value{margin:0;color:var(--text-heading);font-size:.95rem;font-weight:600}#groups-inactive{scroll-margin-top:5.5rem}.groups-inactive-section{padding-top:var(--spacing-6);border-top:1px dashed var(--border-subtle)}.group-create-panel{margin-top:var(--spacing-6)}.group-panel__header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-2);flex:0 1 auto;min-width:0}.group-panel__search{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);margin:0}main section.school-panel .group-form.nice-form--embedded{margin-top:0;padding:0;background:none;border:none;box-shadow:none}.group-table__empty{color:var(--text-muted)}.group-table-sessions{min-width:0}.group-table-sessions summary{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;padding:.15rem .45rem;border-radius:9999px;background:var(--chip-info-bg);color:var(--chip-info-text);font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;list-style:none}.group-table-sessions summary::-webkit-details-marker{display:none}.group-table-sessions summary:after{content:"";display:inline-block;width:.45rem;height:.45rem;margin-left:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);transition:transform .15s ease}.group-table-sessions[open] summary:after{transform:rotate(-135deg) translateY(1px)}.group-table-sessions__list{display:grid;gap:var(--spacing-1);margin:var(--spacing-2) 0 0;padding:0;list-style:none;min-width:14rem}.group-session-link{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;gap:var(--spacing-2);align-items:baseline;width:100%;min-width:0;color:inherit;text-decoration:none}.group-table-sessions__list .group-session-link{padding:var(--spacing-1) 0}.group-session-link:hover .group-session-course{color:var(--brand-accent);text-decoration:underline}.group-session-course{min-width:0;overflow:hidden;color:var(--text-heading);text-overflow:ellipsis;white-space:nowrap}.group-session-begin,.group-session-end{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.group-session-end:before{content:"- "}.group-archive-toggle svg{display:block;color:var(--text-heading)}.group-detail-card__short{font-size:.875em;font-weight:500;color:var(--text-muted)}.group-form{margin:0 auto;padding:2rem;color:var(--main-text-color)}form.group-form.nice-form .form-group-details-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,5rem) minmax(0,5.5rem);gap:1rem;align-items:start;width:100%}form.group-form.nice-form .form-group-details-row .form-group{margin-bottom:0}@media (max-width: 480px){form.group-form.nice-form .form-group-details-row{grid-template-columns:1fr}form.group-form.nice-form .form-group-details-row .form-group{margin-bottom:var(--spacing-4)}form.group-form.nice-form .form-group-details-row .form-group:last-child{margin-bottom:0}}.planning-calendar-container{padding:0}.planning-summary{display:none}.planning-controls,.planning-toolbar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-3) var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:var(--surface-container-lowest);border:var(--border-standard);border-radius:var(--rounded-xl);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-4)}.planning-toolbar .module-tabs{margin:0;flex:0 1 auto}.planning-toolbar .period-controls{margin-left:auto;flex:0 0 auto}@media (max-width: 639px){.planning-toolbar{flex-direction:column;align-items:stretch}.planning-toolbar .period-controls{margin-left:0;justify-content:flex-end}}.period-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-3)}.billing-jump-unbilled{flex-shrink:0}.period-nav{--period-nav-height: 2.25rem;display:inline-flex;align-items:center;background:var(--surface-card);border:var(--border-standard);border-radius:var(--rounded-lg);box-shadow:var(--shadow-sm);overflow:hidden}.period-nav__btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--period-nav-height);height:var(--period-nav-height);min-height:var(--period-nav-height);padding:0;margin:0;border:none;border-radius:0;background:transparent;color:var(--text-heading);font-size:1.35rem;line-height:1;font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s ease}.period-nav__btn:hover{background:var(--surface-container-low)}.period-nav__form{margin:0;display:flex;align-items:center;align-self:stretch;height:var(--period-nav-height)}main .period-nav__form select.period-nav__select{display:block;height:100%;margin:0;padding:0 1.75rem 0 .65rem;border:none;border-left:var(--border-standard);border-right:var(--border-standard);border-radius:0;font-family:inherit;font-size:.875rem;font-weight:600;line-height:var(--period-nav-height);color:var(--text-heading);background:transparent;min-width:9rem;max-width:14rem;cursor:pointer;box-shadow:none;box-sizing:border-box;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;vertical-align:middle}main .period-nav__form select.period-nav__select:focus{outline:none;background:var(--surface-container-low);box-shadow:none}.period-nav__link{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:var(--rounded-md);border:var(--border-standard);background:var(--surface-card);color:var(--text-heading);font-size:.875rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-sm);transition:background-color .15s ease}.period-nav__link:hover{background:var(--accent-soft-hover)}main form.planning-create-toolbar{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:.35rem .5rem;width:auto;max-width:100%;margin:0;padding:.15rem .35rem;background:var(--surface-card);border:var(--border-standard);border-radius:var(--rounded-md);box-shadow:var(--shadow-sm);flex:0 0 auto}.planning-create-toolbar__label{margin:0;padding:0;font-size:.75rem;font-weight:600;color:var(--brand-accent);white-space:nowrap;cursor:default}main form.planning-create-toolbar .planning-create-toolbar__control{width:auto;margin:0;padding:.1rem .3rem;font-family:inherit;font-size:.75rem;line-height:1.15;height:1.4rem;min-height:1.4rem;box-sizing:border-box;border-radius:var(--rounded-md);box-shadow:none}.planning-create-toolbar__control--course{width:min(14rem,42vw);max-width:16rem;min-width:7rem}main form.planning-create-toolbar .planning-create-toolbar__control:focus{box-shadow:0 0 0 2px var(--accent-focus)}@media (max-width: 480px){main form.planning-create-toolbar{flex-wrap:wrap}}@media (min-width: 768px){main form.planning-create-toolbar .planning-create-toolbar__control--course{width:min(18rem,28vw);max-width:20rem}}#calWrap{overflow:hidden;border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}@media (max-width: 900px){#calWrap{overflow-x:auto}}.calHead{display:flex;background:var(--surface-container-low);color:var(--text-secondary);font-weight:600;border-bottom:1px solid var(--border-subtle)}.calHead .calCell{padding:.65rem .5rem;font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;border:none}.calRow{display:flex;min-width:fit-content;border-bottom:1px solid var(--border-subtle)}.calRow:last-child{border-bottom:none}.calCell{flex:1;min-width:9rem;padding:0;border:none;border-right:1px solid var(--border-subtle)}.calCell:last-child{border-right:none}.calDay{display:flex;flex-direction:column;min-height:9rem;padding:.35rem;background:var(--surface-container-lowest)}.calBlank{min-height:9rem;background:var(--surface-container-low)}.calToday{background:var(--surface-accent-soft)}.planning-event-info{font-weight:600;font-size:.6875rem;line-height:1.35;color:var(--text-heading)}.planning-event-gain{font-size:.625rem;color:var(--text-secondary)}.planning-entry{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;margin:.25rem 0;padding:.35rem .45rem;border-left:3px solid var(--brand-accent);border-radius:var(--rounded-md);background:var(--surface-container-low);box-shadow:none;width:100%}.planning-text{min-width:0;padding-left:0;font-size:.6875rem;line-height:1.25}.planning-text--link{display:block;text-decoration:none;color:inherit;border-radius:var(--rounded-sm);transition:background-color .15s ease}.planning-entry--editable .planning-text--link:hover{background:var(--surface-container)}.planning-text--link:focus-visible{outline:2px solid var(--brand-accent);outline-offset:1px}.planning-tools{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.25rem}.planning-quick-actions{display:flex;flex-direction:row;align-items:center;gap:.2rem}.planning-quick-actions form{margin:0}.planning-native-dialog{width:min(28rem,calc(100vw - 2rem));padding:0;border:var(--border-standard);border-radius:var(--rounded-md);background:var(--modal-content-bg);color:var(--text-body);box-shadow:var(--shadow-lg)}.planning-native-dialog::backdrop{background-color:var(--modal-backdrop)}.planning-native-dialog .profile-modal-form{padding:1.25rem}.planning-native-dialog .form-actions{margin-top:1rem}.planning-quick-action{display:block;min-width:2.1rem;min-height:1.65rem;padding:.25rem .35rem;border:1px solid var(--icon-action-border);border-radius:var(--rounded-sm);background:transparent;color:var(--text-secondary);font-size:.6875rem;font-weight:700;line-height:1.2;text-align:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.planning-quick-action:hover{background:var(--icon-action-hover-bg);border-color:var(--icon-action-hover-border);color:var(--text-heading)}.planning-duplicate-actions--inline{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-standard)}.planning-duplicate-actions__buttons{display:flex;flex-wrap:wrap;gap:.5rem}.planning-duplicate-actions__buttons form{margin:0}#calWrap .planning-entry{width:100%;flex-direction:column;align-items:stretch}#calWrap .planning-tools{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;position:static;top:auto;right:auto;z-index:auto}#calWrap .planning-text--link{display:block}.course-table{width:100%;min-width:52rem;table-layout:fixed;margin-top:0;overflow:hidden;color:var(--text-body);font-size:.875rem;border-radius:0;background:transparent;box-shadow:none}.course-table-container{overflow-x:auto}.course-table__col--program{width:11%}.course-table__col--course{width:17%}.course-table__col--compact{width:6.5%}.course-table__col--actions{width:5.5rem}.course-table th,.course-table td{overflow-wrap:anywhere}.course-table thead th.course-table__th{padding:.5rem .35rem;font-size:.6875rem;font-weight:600;line-height:1.15;letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);white-space:normal;vertical-align:bottom;text-align:center;-webkit-hyphens:auto;hyphens:auto}.course-table thead th.course-table__th:first-child,.course-table thead th.course-table__th:nth-child(2){text-align:left}.course-table__th-stack{display:inline-flex;flex-direction:column;align-items:center;gap:.05rem;max-width:3.25rem}.course-table thead th.course-table__th:first-child .course-table__th-stack,.course-table thead th.course-table__th:nth-child(2) .course-table__th-stack{align-items:flex-start}.course-table__th-line{display:block}.course-table__th-line--sub{font-size:.625rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--text-muted);line-height:1.1}.course-table tbody :is(th,td):nth-child(1),.course-table tbody :is(th,td):nth-child(2){text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-table tbody :is(th,td):nth-child(3),.course-table tbody :is(th,td):nth-child(4),.course-table tbody :is(th,td):nth-child(5),.course-table tbody :is(th,td):nth-child(6),.course-table tbody :is(th,td):nth-child(7),.course-table tbody :is(th,td):nth-child(8),.course-table tbody :is(th,td):nth-child(9),.course-table tbody :is(th,td):nth-child(10){text-align:center;white-space:nowrap}.course-table td:last-child:has(form){display:table-cell;text-align:right;white-space:nowrap}.course-table__actions-form{display:inline}.course-table__link{display:inline;padding:0;border:none;background:transparent;box-shadow:none;min-height:0;color:var(--text-heading);font-weight:500;font-size:inherit;line-height:inherit;text-decoration:none;white-space:nowrap;cursor:pointer}.course-table__link:hover{color:var(--brand-accent);text-decoration:underline}.course-table__link:focus-visible{outline:none;border-radius:var(--rounded-sm);box-shadow:0 0 0 2px var(--focus-ring)}.course-table__program{text-align:left}.course-table tbody th.course-table__course,.course-table tbody th.course-table__course .course-table__link{text-align:left;font-weight:500}.course-table tr th:first-child{padding-left:1rem}.course-table tbody{font-weight:400}.course-table tfoot th,.course-table tfoot td{font-size:.8125rem;white-space:nowrap}.maintenance-notice,.maintenance-title{padding:1rem;text-align:center;background:#ffffff33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--rounded-md);border:1px solid #ffffff4c;color:#fff;box-shadow:0 8px 32px #0000001a;max-width:80vw;margin:1rem auto}.maintenance-notice{padding:var(--spacing-6)}.maintenance-title{font-size:x-large;font-weight:900}.maintenance-notice__logo{display:block;width:min(12rem,70%);height:auto;margin:var(--spacing-4) auto;border-radius:var(--rounded-md)}.maintenance-notice h2{font-size:larger;font-weight:900;margin:0;padding-top:var(--spacing-2)}.maintenance-notice p{margin:0;padding:0 var(--spacing-2) var(--spacing-2);font-size:14px;opacity:.9}body:has(>.maintenance-notice)>.maintenance-logo{display:none}.maintenance-logo{width:50%;margin:1rem auto;height:auto;max-width:40%;border-radius:var(--rounded-md)}.maintenance-title{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.money{color:var(--value-money);font-variant-numeric:tabular-nums}.value-income,.kpi-card--success .kpi-card__value,.school-stat--invoiced .school-stat__value{color:var(--value-income)}.value-pending,.kpi-card--warning .kpi-card__value,.school-stat--unbilled .school-stat__value{color:var(--value-pending)}.value-hours,.kpi-card--info .kpi-card__value{color:var(--value-hours)}.value-total,.kpi-card--total .kpi-card__value,.treasury-summary-table__total .money,.billing-school-footer__totals .money,.total-line .money{color:var(--value-total);font-weight:700}.kpi-card__value{color:var(--kpi-value-color, var(--value-money))}.kpi-card--accent{--kpi-value-color: var(--value-money)}.group-card-stat__value,.program-stats-grid strong{color:var(--value-count);font-weight:700;font-variant-numeric:tabular-nums}.program-stats-grid article:nth-child(3) strong,.program-stats-grid article:nth-child(4) strong{color:var(--value-hours)}.treasury-histogram__balance.money{color:var(--value-total);font-size:.6875rem}.treasury-histogram__balance--empty{color:var(--text-subtle);font-weight:500}.bank-account-card__opening-value:not(.bank-account-card__opening-value--empty){color:var(--value-income)}.planning-duration__value{color:var(--value-hours);font-weight:700;font-variant-numeric:tabular-nums}.planning-duration--invalid .planning-duration__value{color:var(--value-expense)}.planning-total{color:var(--value-total);font-weight:700}.chart-legend__amount,.school-invoices-histogram__amount{color:var(--value-money);font-weight:600;font-variant-numeric:tabular-nums}.school-stats-totals .school-stat__value{font-size:1.25rem}.hide{display:none!important}.my-box{box-shadow:var(--cal-shadow);border:var(--border-standard);border-radius:var(--rounded-md);padding:2pt 4pt;margin:2pt 8pt 6pt;width:90%;font-size:smaller;background:var(--surface-container-lowest);color:var(--text-body)}.course-select{background-color:var(--secondary-bg-color);display:inline;color:var(--main-text-color)}.planning-entry{display:flex;flex-direction:row;background-color:var(--surface-container-lowest);color:var(--main-text-color);box-shadow:var(--cal-shadow);padding:2pt;margin:2pt 0;width:95%}.planning-text{display:flex;flex-direction:column;align-items:flex-start;padding-left:.25rem;font-size:.7rem;line-height:1rem}.planning-tools{display:flex;flex-direction:column}.tool{margin:2px}#calPeriod{display:flex;justify-content:space-between;padding:15px;background:var(--secondary-bg-color)}.calSelect{font-size:24px;outline:none;color:var(--cal-period-fg);background:transparent;cursor:pointer}.period-form{line-height:2em;display:inline-box}.spacer{flex-grow:1}#calPeriod input{font-size:24px;outline:none;color:var(--cal-period-fg);background:transparent;cursor:pointer}#calPeriod option{color:var(--cal-option-fg);background:var(--surface-container-lowest)}#calYear{width:100px;margin-left:10px}.calHead,.calRow{display:flex}.calCell{width:14.3%;margin:1px}.calDay{display:flex;flex-direction:column;background-color:var(--cal-day-bg);min-height:10rem}.calHead .calCell{color:var(--cal-period-fg);background:var(--secondary-bg-color);font-weight:700;text-align:center;padding:8px 0}.calBlank{background:var(--cal-blank-bg)}.calToday{background:var(--cal-today-bg)}.calToday .cellDate{color:var(--cal-today-date)}.calBody .calCell{box-shadow:var(--cal-shadow);border-radius:5% 2%;margin:4px}.cellDate,.evt{padding:5px}.cellDate{font-size:14px;font-weight:700;color:var(--cal-cell-date)}.evt{font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer}#calForm{position:absolute;top:0;left:0;z-index:999;width:100vw;height:100%;min-height:100vh;padding:0;margin:0;border:0;background:var(--cal-overlay)}#calForm:is([open]){display:flex;flex-wrap:wrap;align-items:center;justify-content:center}#calForm form{position:relative;width:450px;padding:15px;border-radius:var(--rounded-xl);background:var(--cal-form-bg);border:var(--border-standard);box-shadow:var(--shadow-lg);color:var(--text-body)}#evtClose{position:absolute;top:0;right:0;padding:10px;color:var(--cal-close);font-size:28px;font-weight:700;cursor:pointer}#calForm h2{margin:0 0 15px;color:var(--text-heading)}#calForm label,#calForm input[type=text],#calForm textarea{width:100%}#calForm label{color:var(--cal-form-label);font-weight:700;font-size:12px;margin-bottom:5px}#calForm input[type=text],#calForm textarea{width:100%;padding:10px;margin-bottom:10px;border:1px solid var(--cal-form-input-border);background:var(--cal-form-input-bg);color:var(--text-body);border-radius:var(--rounded-md)}#calForm textarea{height:100px;resize:none}#calForm input[type=submit]{border:0;padding:10px;margin:10px 2px 0 0;color:var(--btn-primary-fg);background:var(--btn-primary-bg);border-radius:var(--rounded-md);cursor:pointer}.calendar-upload-section,.calendar-history-section{margin-bottom:var(--spacing-6)}.calendar-upload-form__grid{display:grid;gap:var(--spacing-4)}@media (min-width: 768px){.calendar-upload-form__grid{grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) auto minmax(16rem,1.2fr);align-items:end}}.calendar-upload-form__divider{display:flex;align-items:center;justify-content:center;margin:0;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}@media (max-width: 767px){.calendar-upload-form__divider{padding:var(--spacing-1) 0}}.calendar-upload-form__file{width:100%;padding:.5rem .75rem}.calendar-upload-form__file::file-selector-button{margin-right:var(--spacing-3);padding:.35rem .75rem;border:1px solid var(--border-subtle);border-radius:var(--rounded-md);background:var(--surface-container);color:var(--text-body);font-size:.8125rem;font-weight:500;cursor:pointer}.calendar-upload-form__file::file-selector-button:hover{background:var(--surface-container-low)}.calendar-history-empty{text-align:center;font-style:italic;color:var(--text-muted)}.calendar-history-section .data-table td a{color:var(--brand-accent);font-weight:500;text-decoration:underline;text-underline-offset:2px}.calendar-history-section .data-table td a:hover{color:var(--text-heading)}.calendar-history-section .data-table .card-actions form{display:inline-flex}.calendar-mapping-meta,.calendar-mapping-section{margin-bottom:var(--spacing-6)}.calendar-mapping-form__notice{margin:var(--spacing-4) 0 0}.calendar-mapping-label{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;color:var(--text-secondary);overflow-wrap:anywhere}.calendar-mapping-section .data-table .form-input{min-width:12rem}.planning-row{display:flex;flex-direction:row;align-items:baseline;margin:12px auto}.planning-date{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;margin:.35rem auto .5rem;padding:0;border-radius:var(--rounded-md);background:var(--surface-container-low);color:var(--text-heading);font-size:.8125rem;font-weight:700}.calToday .planning-date{background:var(--brand-accent);color:var(--btn-primary-fg)}button.planning-date--create{border:none;cursor:pointer;font-family:inherit;transition:background-color .15s ease,color .15s ease,transform .1s ease}button.planning-date--create:hover{background:var(--brand-accent);color:var(--btn-primary-fg)}button.planning-date--create:focus-visible{outline:2px solid var(--accent-focus);outline-offset:2px}button.planning-date--create:active{transform:scale(.96)}.planning-date--disabled{opacity:.55;cursor:not-allowed}.planning-total{margin-top:auto;padding:.45rem .35rem .35rem;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:.6875rem;font-weight:600;line-height:1.3;text-align:center;white-space:nowrap;background:transparent;border-radius:0}.planning-entry-locked{display:inline-flex;align-items:center;width:fit-content;margin-top:var(--spacing-1);padding:.15rem .45rem;border-radius:9999px;background:var(--chip-success-bg);color:var(--chip-success-text);font-size:.625rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:none}main form.group-form fieldset{margin:0;padding:0;border:0}.planning-date-fields{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.planning-date-fields__day,.planning-date-fields__year{width:auto;min-width:4.25rem;max-width:5.5rem;flex:0 0 auto}.planning-date-fields__month{width:auto;min-width:6.5rem;max-width:9rem;flex:0 0 auto}.planning-session-form .planning-date-fields .form-input{width:auto}.planning-session-form .planning-time-fields{display:flex;align-items:center;align-self:stretch;gap:.5rem;flex-wrap:nowrap}.planning-session-form .planning-time-fields .form-input{width:auto;min-width:4.25rem;max-width:5rem;flex:0 0 auto}.planning-time-row{display:grid;grid-template-columns:auto auto auto;grid-template-rows:auto auto;column-gap:1rem;row-gap:var(--spacing-1)}.planning-time-slot{display:grid;grid-template-rows:subgrid;grid-row:span 2}.planning-time-slot__label{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);line-height:1.2;align-self:end;white-space:nowrap}.planning-duration__value-wrap{display:flex;align-items:center;align-self:stretch;padding:0 .25rem}.planning-duration__value{font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--text-heading);white-space:nowrap}.planning-duration--invalid .planning-duration__value{color:var(--feedback-danger)}.planning-session-form__rate{max-width:7rem}.planning-session-form__rate-input{width:auto;min-width:5rem;max-width:7rem}.planning-session-form__assignments,.planning-session-create-form__assignments{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}.planning-session-form__assignment,.planning-session-create-form__assignment{margin-bottom:0}main form.planning-session-create-form{flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;max-width:42rem}.planning-session-create-form__fields{display:flex;flex-direction:column;gap:0;width:100%}.planning-session-create-form__fields .form-group{width:100%}.planning-session-create-form__fields .form-group-details-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,5rem) minmax(0,5.5rem);gap:1rem;align-items:start;width:100%}.planning-session-create-form__fields .form-group-details-row .form-group{margin-bottom:0}@media (max-width: 480px){.planning-session-create-form__fields .form-group-details-row{grid-template-columns:1fr}.planning-session-create-form__fields .form-group-details-row .form-group{margin-bottom:var(--spacing-4)}.planning-session-create-form__fields .form-group-details-row .form-group:last-child{margin-bottom:0}}.planning-session-create-form .planning-time-fields{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.planning-session-create-form .planning-time-fields .form-input{width:auto;min-width:4.25rem;max-width:5rem;flex:0 0 auto}@media (max-width: 640px){.planning-session-form__assignments,.planning-session-create-form__assignments{grid-template-columns:1fr}.planning-session-form__assignment,.planning-session-create-form__assignment{margin-bottom:var(--spacing-4)}.planning-session-form__assignment:last-child,.planning-session-create-form__assignment:last-child{margin-bottom:0}}.bills-container{display:grid;gap:var(--spacing-4)}.invoice-list-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--text-heading)}.invoice-list-filters{display:grid;gap:var(--spacing-3);margin-bottom:var(--spacing-4);padding:var(--spacing-4);border:1px solid #ffffff80;border-radius:var(--rounded-xl);background:var(--surface-container-lowest);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.invoice-list-filters__fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--spacing-3)}.invoice-list-filters__field{display:grid;gap:.35rem;margin:0}.invoice-list-filters__label{font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.invoice-list-filters__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.invoice-table__sortable{white-space:nowrap}.invoice-table__sort-link{display:inline-flex;align-items:center;gap:.25rem;color:inherit;font-weight:inherit;text-decoration:none}.invoice-table__sort-link:hover,.invoice-table__sort-link--active{color:var(--brand-primary)}.invoice-table__sort-indicator{font-size:.75rem;line-height:1}.invoice-table__empty{padding:var(--spacing-6);text-align:center;color:var(--text-secondary)}.bills td{padding:0;white-space:nowrap}.money{text-align:right}.date{text-align:center}.bills th{padding:0;text-align:center;font-weight:600}.bill-tag{margin-left:var(--spacing-2);vertical-align:middle}.billing-school-box{margin:0 0 var(--spacing-6);padding:var(--spacing-4);border:1px solid #ffffff73;border-radius:var(--rounded-xl);background:var(--surface-container-lowest);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.billing-school-box .school-section-header{margin-bottom:var(--spacing-4)}.billing-school-box>.total-line{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-top:var(--spacing-4);padding-top:var(--spacing-2);border-top:var(--border-standard)}.billing-school-box .program-section-header h2{margin:0;font-size:1.125rem}.billing-course-total,.billing-sessions-table{margin-top:var(--spacing-3)}.billing-school-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-4);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:var(--border-standard)}.billing-school-footer__totals{display:flex;flex-wrap:wrap;gap:var(--spacing-3);color:var(--text-heading);font-weight:600}.billing-school-footer__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-2)}.billing-assign-form{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);margin:0}.billing-assign-form__label{font-size:.8125rem;font-weight:600;color:var(--text-secondary);white-space:nowrap}.billing-assign-form__select{width:auto;min-width:5rem;max-width:8rem}.billing-assign-form .form-input[type=date]{width:auto;min-width:9rem;max-width:11rem}.billing-school-box>.total-line>span{flex:0 0 auto}.billing-school-box>.total-line>.header-actions{flex:1 1 auto;justify-content:flex-end}.billing-course-box{margin:var(--spacing-4) 0;padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-lg);background:var(--surface-container-low);box-shadow:none}.billing-course-box:hover{background:var(--surface-container)}.billing-course-title{margin:0 0 var(--spacing-3);color:var(--text-heading);font-size:1.1rem;font-weight:800;line-height:1.25}.billing-group-title{margin:var(--spacing-3) 0 var(--spacing-1);color:var(--text-secondary);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.billing-schedule-link{color:var(--brand-accent);font-weight:500;text-decoration:none}.billing-schedule-link:hover{color:var(--brand-accent);text-decoration:underline}.billing-invoice-assigned,.billing-hours-badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--rounded-md);font-size:.8125rem;font-weight:700;background:var(--chip-success-bg);color:var(--chip-success-text);border:1px solid transparent}.billing-hours-badge{margin-left:var(--spacing-2)}.billing-hours-badge--warning{border-color:var(--feedback-danger);background:var(--chip-danger-bg);color:var(--chip-danger-text)}.form-input--readonly,.form-input--readonly:focus{background:var(--surface-container-low);color:var(--text-subtle);cursor:not-allowed}.company-readonly-list{margin:.5rem 0 0;padding-left:1.25rem;color:var(--text-secondary)}.company-edit{padding-right:1.25rem;padding-bottom:1.5rem}form.company-edit-form{gap:1.25rem}.company-form-block{background:var(--surface-container-lowest);border:var(--border-standard);border-radius:var(--rounded-xl);box-shadow:var(--shadow-sm);padding:1rem 1.25rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.company-form-block__title{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-heading);padding-bottom:.25rem;border-bottom:var(--border-standard)}.company-form-block .form-hint{margin:0}.company-form-block .school-form-input:last-child{margin-bottom:0}.company-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;margin-right:.5rem;margin-bottom:1rem;padding-bottom:.5rem}.company-form-actions .btn{text-transform:none;letter-spacing:normal;font-size:.9375rem;font-weight:600;padding:.5rem 1rem}.invoice-create-form__meta{margin:0 0 var(--spacing-2)}.invoice-create-preview{margin-bottom:var(--spacing-4)}.invoice-create-preview .company-show-card h3+ul+h3{margin-top:var(--spacing-4)}.invoice-create-items{margin:0;padding:0;list-style:none;display:grid;gap:var(--spacing-2);font-size:.875rem}.invoice-create-items__row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--border-subtle)}.invoice-create-items__meta{color:var(--text-muted);font-size:.8125rem}.invoice-create-items__total{margin-top:var(--spacing-2);padding-top:var(--spacing-3);border-top:var(--border-standard);text-align:right;color:var(--text-heading)}.invoice-create-fields{display:grid;gap:var(--spacing-2);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:var(--border-standard)}.invoice-create-fields__description{grid-column:1 / -1}.invoice-dashboard{display:grid;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.invoice-dashboard__header{display:grid;gap:.25rem}.invoice-dashboard__header h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-heading)}.invoice-dashboard__subtitle{margin:0;font-size:.8125rem;color:var(--text-secondary)}.invoice-dashboard__note{margin:0;font-size:.75rem;color:var(--text-subtle)}.invoice-dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(11.5rem,1fr));gap:var(--spacing-3)}.invoice-metric{display:grid;gap:.35rem;padding:var(--spacing-4);border:1px solid #ffffff80;border-radius:var(--rounded-xl);background:var(--surface-container-lowest);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-sm)}.invoice-metric__title{margin:0;font-size:.9375rem;font-weight:700;line-height:1.35;color:var(--text-heading)}.invoice-metric__label{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.invoice-metric__amounts{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;row-gap:.25rem;align-items:baseline;margin:0}.invoice-metric__amount-row{display:contents}.invoice-metric__amount-row dt{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-subtle)}.invoice-metric__amount-row dd{margin:0;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;justify-self:end}.invoice-metric__value{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3;font-variant-numeric:tabular-nums}.invoice-metric__hint{margin:0;font-size:.6875rem;color:var(--text-subtle)}.invoice-metric--issued .invoice-metric__amount-row dd{color:var(--value-money)}.invoice-metric--paid .invoice-metric__amount-row dd{color:var(--value-income)}.invoice-metric--hours .invoice-metric__hours-value{grid-column:2;margin:0;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;justify-self:end;color:var(--value-hours)}.invoice-metric--hours .invoice-metric__amount-row dd{color:var(--value-count)}.invoice-metric--planned .invoice-metric__amount-row dd{color:var(--value-pending)}.invoice-metric--projected .invoice-metric__title{color:var(--text-heading)}.invoice-metric--projected .invoice-metric__amount-row dd,.invoice-metric--bank .invoice-metric__value{color:var(--value-total)}.invoice-dashboard__chart-title{margin:0 0 var(--spacing-3);font-size:.9375rem;font-weight:600;color:var(--text-heading)}.invoice-histogram .treasury-histogram__plot{overflow-x:auto}.invoice-dashboard__table{max-height:none}.invoice-monthly-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem}.invoice-monthly-table thead th{position:sticky;top:0;z-index:1;padding:var(--spacing-2) var(--spacing-3);background:var(--surface-table-header);color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;vertical-align:bottom;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.invoice-monthly-table__subhead th{font-size:.625rem;font-weight:500;text-transform:none;letter-spacing:normal;color:var(--text-subtle)}.invoice-monthly-table tbody th,.invoice-monthly-table tbody td,.invoice-monthly-table tfoot th,.invoice-monthly-table tfoot td{padding:var(--spacing-2) var(--spacing-3);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.invoice-monthly-table tbody tr:nth-child(2n){background:var(--surface-table-stripe)}.invoice-monthly-table__count{text-align:center;font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:600}.invoice-monthly-table__total th,.invoice-monthly-table__total td{border-top:2px solid var(--border-subtle);background:var(--surface-container-low);font-weight:700}@media (max-width: 1023px){.invoice-dashboard__table{overflow-x:auto}.invoice-monthly-table{min-width:56rem}}.company-show-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--spacing-4)}.company-show-card{padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.company-show-card h3{margin:0 0 var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:var(--border-standard);color:var(--text-heading);font-size:1rem;font-weight:600}.company-show-card ul{margin:0;padding:0;list-style:none;display:grid;gap:var(--spacing-2);color:var(--text-body);line-height:1.5}.company-show-card .form-hint{margin:0 0 var(--spacing-2)}.company-show-card a{color:var(--brand-accent);text-decoration:underline;text-underline-offset:2px}.company-show-card a:hover{color:var(--text-heading)}.company-show-card .simple-table{width:100%;margin:var(--spacing-2) 0}.company-show-card .simple-table th,.company-show-card .simple-table td{padding:.35rem .5rem;border-bottom:var(--border-standard);color:var(--text-body);font-size:.875rem}.company-show-card .simple-table th{color:var(--text-secondary);font-weight:600;text-align:left}.company-show-card__lead{margin:0 0 var(--spacing-2);color:var(--text-heading);font-size:1.125rem;font-weight:700}.settings-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);width:100%;min-width:0}.settings-page-header__actions{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.company-show-card--wide{grid-column:1 / -1}@media (max-width: 640px){.company-show-card--wide{grid-column:span 1}}.course-details-section{margin-bottom:2rem}.course-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}main .course-info-grid>article{padding:var(--spacing-6);border-radius:var(--rounded-lg);border:var(--border-standard);background:var(--surface-card);transition:transform .2s ease,box-shadow .2s ease}main .course-info-grid>article:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-heading);margin-bottom:var(--spacing-1)}.course-title{font-size:1.25rem;font-weight:700;color:var(--text-heading);margin-bottom:.5rem}.course-meta{font-size:.875rem;color:var(--text-muted);margin-bottom:1rem}.course-groups-section{margin-top:var(--spacing-8)}.program-list-section{margin-top:1.5rem}.program-detail-card{padding:var(--spacing-2) var(--spacing-3);border:var(--border-standard);border-radius:var(--rounded-lg);background:var(--surface-card);box-shadow:var(--shadow-md)}.program-detail-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-4);margin-bottom:var(--spacing-1)}.program-detail-card__header h3{margin:0;color:var(--text-heading);font-size:1.2rem}.program-detail-card__title,.program-detail-card__actions,.program-detail-card__icon-actions{display:inline-flex;align-items:center;gap:var(--spacing-1)}.program-detail-card__title{gap:var(--spacing-2)}.program-detail-card__actions,.program-detail-card__icon-actions{justify-content:flex-end}.program-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-2)}.program-stats-grid article{padding:.35rem .65rem;border-radius:var(--rounded-md);background:var(--surface-highlight)}.program-stats-grid span{display:block;color:var(--text-muted);font-size:.75rem;font-weight:700}.program-stats-grid strong{display:block;margin-top:0;font-size:.95rem}.program-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-3)}.program-section-header h3{margin:0;color:var(--text-heading)}.program-empty{padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-md);background:var(--surface-card);color:var(--text-muted);font-weight:700}@media (max-width: 900px){.program-detail-card__header{flex-direction:column}.program-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.profile-form-container{max-width:42rem;margin:0 0 var(--spacing-4)}.profile-form-container.nice-form{gap:var(--spacing-3)}.profile-form-container>section{margin:0;padding:0;background:none;border:0;box-shadow:none}.profile-form-container header{display:block;margin:0 0 var(--spacing-4);padding:0;background:none;border:0;box-shadow:none}.profile-form-container #send-verification{display:none}.profile-form__title{margin:0 0 var(--spacing-1);color:var(--text-heading);font-size:1.15rem;font-weight:700}.profile-form__title--danger{color:var(--feedback-danger)}.profile-form__alert{margin-bottom:var(--spacing-3)}.profile-form__verify{display:grid;gap:var(--spacing-2);margin-top:var(--spacing-2)}.profile-form__danger-actions{justify-content:flex-start;margin-top:var(--spacing-2);padding-top:0;border-top:none}.profile-form-container .group-form{gap:var(--spacing-3)}.profile-form-container .form-actions{display:flex;align-items:center;gap:var(--spacing-3);margin-top:var(--spacing-2);padding-top:var(--spacing-4);border-top:var(--border-standard)}.profile-modal-form{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-6)}.treasury-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--spacing-4)}.treasury-histogram{display:grid;gap:var(--spacing-3)}.treasury-histogram__plot{display:grid;grid-template-columns:repeat(12,minmax(2.5rem,1fr));gap:var(--spacing-2);min-height:15rem;padding:var(--spacing-4) var(--spacing-3) var(--spacing-2);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.treasury-histogram__month{display:grid;grid-template-rows:1fr auto auto;gap:var(--spacing-1);min-width:0}.treasury-histogram__bars{display:flex;align-items:end;justify-content:center;gap:.18rem;min-height:12rem}.treasury-histogram__bar{width:.5rem;min-height:.2rem;border-radius:var(--rounded-md) var(--rounded-md) 0 0}.treasury-histogram__bar--issued,.treasury-histogram__swatch--issued{background:var(--brand-accent)}.treasury-histogram__bar--paid,.treasury-histogram__swatch--paid{background:var(--chip-success-text)}.treasury-histogram__bar--planned,.treasury-histogram__swatch--planned{background:var(--value-pending)}.treasury-histogram__bar--spent,.treasury-histogram__swatch--spent{background:var(--feedback-danger)}.treasury-histogram__bar--bank,.treasury-histogram__swatch--bank{background:var(--brand-primary)}.treasury-histogram__label{color:var(--text-secondary);font-size:.75rem;text-align:center;text-transform:capitalize}.treasury-histogram__balance{font-size:.6875rem;font-weight:600;line-height:1.2;text-align:center;color:var(--brand-primary);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.treasury-histogram__balance--empty{font-weight:400;color:var(--text-subtle)}.treasury-histogram__legend{display:flex;flex-wrap:wrap;gap:var(--spacing-3);color:var(--text-secondary);font-size:.8125rem}.treasury-histogram__legend span{display:inline-flex;align-items:center;gap:var(--spacing-1)}.treasury-histogram__swatch{width:.75rem;height:.75rem;border-radius:9999px}@media (max-width: 820px){.treasury-histogram__plot{overflow-x:auto;grid-template-columns:repeat(12,3rem)}}.treasury-summary-grid article{padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm);overflow:visible}.treasury-report-card{padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.treasury-report-card{display:grid;grid-template-columns:1fr auto;align-items:start;gap:var(--spacing-3);color:inherit;text-decoration:none;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}.treasury-report-card__main,.treasury-report-card__meta{display:grid;gap:var(--spacing-2)}.treasury-report-card__main h4{margin:0;color:var(--text-heading);font-size:1rem;font-weight:600}.treasury-report-card__main strong{color:var(--text-heading);font-size:1.35rem;font-weight:700}.treasury-report-card__meta{justify-items:end;padding-left:var(--spacing-3);color:var(--text-secondary);font-size:.8125rem;font-weight:500;text-align:right}.treasury-report-card:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.treasury-summary-grid h3{margin:0 0 var(--spacing-2);color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.treasury-summary-grid strong{color:var(--text-heading);font-size:1.35rem;font-weight:700}.treasury-summary-card--wide{grid-column:1 / -1}.treasury-summary-table{width:100%;margin-top:var(--spacing-2);table-layout:fixed;background:transparent;box-shadow:none}.treasury-summary-table th:first-child{width:42%}.treasury-summary-table td:last-child{width:58%}.treasury-summary-table th,.treasury-summary-table td{padding:.35rem 0;border:0;color:var(--text-body)}.treasury-summary-table th{color:var(--text-secondary);font-weight:600;text-align:left}.treasury-summary-table td{color:var(--text-heading);font-weight:700;text-align:right}.treasury-summary-table__group th{padding-top:var(--spacing-2);color:var(--text-heading);font-weight:700;text-align:left}.treasury-summary-table__group td{padding-top:var(--spacing-2)}.treasury-summary-table__group+tr th,.treasury-summary-table__group+tr+tr th,.treasury-summary-table__group+tr+tr+tr th{padding-left:var(--spacing-4);font-weight:500}.treasury-opening-balance{display:block;width:max-content;max-width:100%;margin-bottom:var(--spacing-3);padding:var(--spacing-3);border:var(--border-standard);border-radius:var(--rounded-lg);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm);overflow:visible}.treasury-summary-table__total th,.treasury-summary-table__total td{padding-top:var(--spacing-2);border-top:var(--border-standard);color:var(--text-heading);font-size:1rem}main form.treasury-balance-form--inline{display:block;margin:0;gap:0;max-width:100%;text-align:left}main form.treasury-balance-form--inline>.treasury-balance-form__fields{display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:flex-start;gap:.5rem;width:max-content;max-width:none}main form.treasury-balance-form--inline input.form-input{width:auto;flex:0 0 auto;box-sizing:border-box}main form.treasury-balance-form--inline input.form-input[type=date]{width:10.25rem;flex:0 0 10.25rem}main form.treasury-balance-form--inline input.treasury-balance-input--amount{width:7.75rem;flex:0 0 7.75rem;padding-right:.625rem;text-align:right;font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}main form.treasury-balance-form--inline input.treasury-balance-input--amount::-webkit-outer-spin-button,main form.treasury-balance-form--inline input.treasury-balance-input--amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}main form.treasury-balance-form--inline .btn{flex:0 0 auto;flex-shrink:0;white-space:nowrap}.treasury-balance-readonly{display:inline-flex;flex-flow:row nowrap;align-items:baseline;justify-content:flex-start;gap:var(--spacing-2);white-space:nowrap}.treasury-balance-readonly__date{color:var(--text-secondary);font-weight:500}@media (max-width: 720px){.treasury-summary-card--wide{grid-column:span 1}}.treasury-balance-form{margin-top:var(--spacing-2)}.treasury-balance-form.nice-form--embedded{padding:0;border:none;box-shadow:none;background:transparent;min-width:0;width:100%;max-width:none}.treasury-balance-form:not(.treasury-balance-form--inline) .treasury-balance-form__fields{display:grid;gap:var(--spacing-2);grid-template-columns:repeat(auto-fit,minmax(8rem,1fr))}.treasury-balance-form .form-group{margin-bottom:0}.treasury-balance-form .form-actions{margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:none;justify-content:flex-start}.treasury-balance-form .form-input.treasury-balance-input--amount{text-align:right}.treasury-report-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);color:var(--text-secondary);font-size:.875rem}.treasury-report-summary p{margin:0}.treasury-report-summary strong{color:var(--text-heading);font-weight:600}.treasury-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.treasury-section-header h3{margin:0;color:var(--text-heading);font-size:1.125rem;font-weight:600}.treasury-report-toolbar{display:grid;justify-items:end;gap:var(--spacing-1)}.treasury-report-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-2)}.treasury-report-actions form{margin:0}.treasury-report-payment-form{margin-right:var(--spacing-2)}.treasury-report-payment-form .form-input.treasury-report-payment-date{width:8.4rem;min-width:8.4rem;max-width:8.4rem;padding:.18rem .35rem;line-height:1.1;font-size:.9rem}.treasury-report-list{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-4)}@media (min-width: 720px){.treasury-report-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.treasury-report-list{grid-template-columns:repeat(3,1fr)}}.treasury-empty{margin:0;padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-low);color:var(--text-secondary);text-align:center}.treasury-expense-form{max-width:42rem;margin:0}.bank-dialog{width:min(100%,28rem);padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);color:var(--text-body);box-shadow:var(--shadow-lg)}.bank-dialog::backdrop{background:var(--modal-backdrop, rgba(0, 0, 0, .45))}.bank-dialog .modal-title{margin:0 0 var(--spacing-3)}.bank-cards-section{margin-bottom:var(--spacing-4)}.bank-cards-grid{display:flex;flex-wrap:nowrap;gap:var(--spacing-3);overflow-x:auto;padding-bottom:var(--spacing-1)}.bank-card-wrap{flex:0 0 auto;width:11.5rem;display:grid;grid-template-rows:1fr auto;border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.bank-card-wrap:hover{border-color:var(--brand-accent);box-shadow:var(--shadow-md)}.bank-card-wrap--selected{border-color:var(--brand-primary);box-shadow:var(--shadow-md);background:var(--surface-container-low)}.bank-card__body{display:grid;gap:var(--spacing-1);padding:var(--spacing-4);padding-bottom:var(--spacing-2);color:inherit;text-decoration:none}.bank-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-1);padding:0 var(--spacing-2) var(--spacing-2);position:relative;z-index:1}.bank-card__actions form{display:inline;margin:0}.bank-card-wrap--add{display:flex;align-items:center;justify-content:center;min-height:5.5rem}.bank-card-wrap--add .icon--add{margin:0}.bank-card__name{color:var(--text-heading);font-size:1rem;font-weight:600}.bank-card__meta{color:var(--text-secondary);font-size:.8125rem}.bank-card__badge{display:inline-block;align-self:start;padding:.125rem .5rem;border-radius:var(--rounded-md);background:var(--chip-success-bg, var(--surface-container-high));color:var(--chip-success-text, var(--brand-primary));font-size:.6875rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.bank-card__badge--inline{margin-left:var(--spacing-1)}.bank-billing-form{max-width:32rem}.bank-manage-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:var(--border-standard)}.bank-account-cards-section{margin-bottom:var(--spacing-4)}.bank-account-cards-grid{display:flex;flex-wrap:nowrap;gap:var(--spacing-3);overflow-x:auto;padding-bottom:var(--spacing-1)}.bank-account-card{flex:0 0 auto;width:14rem;display:grid;gap:var(--spacing-2);padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm)}.bank-account-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-2)}.bank-account-card__titles{display:grid;gap:.125rem;min-width:0;flex:1}.bank-account-card__name{color:var(--text-heading);font-size:.9375rem;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-account-card__number{color:var(--text-secondary);font-size:.8125rem;font-variant-numeric:tabular-nums;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bank-account-card__delete{flex-shrink:0;margin:0}.bank-account-card__opening{display:grid;gap:.125rem;margin:0}.bank-account-card__opening-label{color:var(--text-secondary);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.bank-account-card__opening-value{color:var(--text-heading);font-size:.8125rem;font-variant-numeric:tabular-nums}.bank-account-card__opening-value--empty{color:var(--text-subtle)}.bank-account-card__meta{color:var(--text-secondary);font-size:.75rem;line-height:1.35;word-break:break-word}.bank-account-card__edit{margin-top:0;padding-top:var(--spacing-2);border-top:var(--border-standard)}.bank-setup{display:grid;gap:var(--spacing-4)}.bank-setup__form{max-width:36rem}.bank-import-form{max-width:32rem}.bank-accounts-list{display:grid;gap:var(--spacing-3)}.bank-accounts-list__bank{padding:var(--spacing-4);border:var(--border-standard);border-radius:var(--rounded-xl);background:var(--surface-container-lowest)}.bank-accounts-list__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.bank-accounts-list__header h4{margin:0}.bank-accounts-list__items{list-style:none;margin:0;padding:0;display:grid;gap:var(--spacing-2)}.bank-accounts-list__items li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.bank-accounts-list__name{font-weight:600}.bank-accounts-list__item{flex-direction:column;align-items:stretch}.bank-accounts-list__summary{display:flex;flex-wrap:wrap;gap:var(--spacing-1);align-items:center}.bank-accounts-list__delete{margin-left:auto}.bank-rib-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:var(--spacing-2)}.bank-account-edit{margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:var(--border-standard)}.bank-account-edit summary{cursor:pointer;color:var(--brand-primary);font-size:.8125rem}.company-billing-preview{margin-top:var(--spacing-3);padding:var(--spacing-3);border:var(--border-standard);border-radius:var(--rounded-lg);background:var(--surface-container-low)}.company-billing-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-3)}.bank-import-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.bank-import-actions form{display:inline}.bank-reconciliation-meta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2)}.bank-reconciliation-meta__actions form{display:inline}.bank-reconciliation-meta{margin-bottom:var(--spacing-4)}.bank-reconciliation-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-3);margin-bottom:var(--spacing-3);max-width:24rem}.bank-reconciliation-toolbar__count{margin:0;align-self:center}.bank-reconciliation-table__sortable{white-space:nowrap}.bank-reconciliation-table__sort-link{display:inline-flex;align-items:center;gap:.25rem;color:inherit;font-weight:inherit;text-decoration:none}.bank-reconciliation-table__sort-link:hover,.bank-reconciliation-table__sort-link--active{color:var(--brand-primary)}.bank-reconciliation-table__sort-indicator{font-size:.75rem;line-height:1}.bank-reconciliation-table .bank-line__label{max-width:28rem;white-space:normal;font-weight:500;text-align:left}.bank-line__reconciliation-details{margin:var(--spacing-1) 0 0;padding-left:1.1rem;color:var(--text-secondary);font-size:.8125rem;list-style:disc}.bank-line--reconciled{background:color-mix(in srgb,var(--chip-success-bg) 35%,transparent)}.bank-line__actions{min-width:16rem}.bank-match-form{display:flex;flex-flow:row nowrap;align-items:center;gap:.5rem;justify-content:flex-end}main form.bank-match-form{flex-direction:row;gap:.5rem;margin:0}.bank-match-form__select{min-width:14rem;max-width:20rem}@media (max-width: 900px){.bank-match-form{flex-wrap:wrap;justify-content:flex-start}.bank-match-form__select{min-width:100%;max-width:100%}}.treasury-checkbox{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);color:var(--text-heading);font-weight:600}.text-input{padding:.6rem;min-width:4.5rem;max-width:20rem;border:1px solid var(--surface-input-border);border-radius:var(--rounded-md)!important;background-color:var(--surface-input);color:var(--text-body);font-size:1rem;box-shadow:var(--shadow-sm);transition:border-color .3s ease,box-shadow .3s ease}:root{--c0: #ddff00;--c1: #bc2b2b;--c2: #13bc13;--c3: #0000aa;--c4: #aa00aa;--c5: #4228ab;--c6: #2e9ce0;--c7: #ff5500;--c8: #aa55aa}.charts{display:flex;place-content:center;flex-direction:column;gap:1rem}.chart-type-tabs{display:inline-flex;flex-wrap:wrap;gap:.375rem;align-self:center;margin:0;padding:.375rem;border-radius:var(--rounded-lg);background:var(--surface-container-low);border:1px solid var(--border-subtle)}.chart-type-tabs__btn{padding:.55rem .875rem;border:1px solid transparent;border-radius:var(--rounded-md);background:transparent;color:var(--text-secondary);font-weight:500;font-size:.875rem;line-height:1.25;cursor:pointer;transition:color .15s ease,background-color .15s ease,border-color .15s ease}.chart-type-tabs__btn:hover{color:var(--text-heading);background:var(--surface-hover-subtle)}.chart-type-tabs__btn--active{color:var(--text-heading);background:var(--surface-container-lowest);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.chart-type-tabs__btn:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.charts__content{display:grid;grid-template-columns:minmax(9rem,16rem) max-content;align-items:center;justify-content:center;gap:var(--spacing-6);width:100%}.pie{width:min(100%,16rem);aspect-ratio:1;border-radius:50%;box-shadow:var(--chart-pie-shadow)}.school-invoices-histogram{width:100%}.school-invoices-histogram__plot{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(4.5rem,1fr);gap:var(--spacing-2);min-height:8rem;padding:var(--spacing-4) var(--spacing-3) var(--spacing-2);border:1px solid var(--chart-legend-border);border-radius:var(--rounded-lg);background:var(--chart-legend-bg);box-shadow:var(--shadow-md)}.school-invoices-histogram__school{display:grid;grid-template-rows:1fr auto;gap:var(--spacing-2);min-width:0}.school-invoices-histogram__bars{display:flex;align-items:end;justify-content:center;min-height:6rem}.school-invoices-histogram__stack{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;height:100%;gap:.2rem}.school-invoices-histogram__amount{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.625rem;font-weight:600;color:var(--text-heading);line-height:1;white-space:nowrap}.school-invoices-histogram__percent{font-size:.5625rem;font-weight:500;color:var(--text-muted, #64748b)}.school-invoices-histogram__bar{width:1.25rem;min-height:.2rem;border-radius:var(--rounded-md) var(--rounded-md) 0 0;box-shadow:0 1px 2px #0000001f}.school-invoices-histogram__label{color:var(--text-secondary);font-size:.6875rem;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend{display:flex;flex-direction:column;gap:var(--spacing-2);margin:0;padding:var(--spacing-3);width:fit-content;max-width:min(100%,24rem);border:1px solid var(--chart-legend-border);border-radius:var(--rounded-lg);background:var(--chart-legend-bg);box-shadow:var(--shadow-md);color:var(--text-heading)}.chart-legend__item{display:grid;grid-template-columns:auto minmax(0,14rem) max-content;align-items:center;gap:var(--spacing-2);font-size:.9375rem}.chart-legend__swatch{width:.9rem;height:.9rem;border-radius:999px;border:1px solid var(--border-subtle);box-shadow:0 1px 2px #0000001f}.chart-legend__school{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend__amount{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;font-weight:600;white-space:nowrap}.chart-legend__percent{font-size:.8125rem;font-weight:500;color:var(--text-muted, #64748b)}@media (max-width: 900px){.charts__content{grid-template-columns:1fr}.pie{justify-self:center;width:min(100%,12rem)}.school-invoices-histogram__plot{overflow-x:auto;grid-auto-columns:4.5rem}.chart-legend{justify-self:center}}.metrics{display:flex;flex-direction:column;width:80%;align-self:center;margin-bottom:12px}.metrics h2{text-align:center;color:var(--text-heading)}.metrics-row{display:flex;flex-wrap:wrap;justify-content:center;flex-direction:row;width:100%;justify-content:space-evenly}.histogram{width:auto;height:200px;overflow:hidden;vertical-align:bottom;line-height:0;display:inline-flex;align-items:end;margin-bottom:6px}.histogram-bar{background-color:var(--chart-bar-bg);box-shadow:var(--chart-bar-shadow);border-radius:5px 5px 0 0;display:inline-block;margin:0 8px;min-width:4em;vertical-align:bottom}.histogram-label{color:var(--text-body);position:relative;top:-1.5em;left:.5em;font-size:smaller;padding:6px}.fixed{position:fixed}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.overflow-y-auto{overflow-y:auto}.overflow-hidden{overflow:hidden}.mx-auto{margin-left:auto;margin-right:auto}.block{display:block}.w-auto{width:auto}.h-9{height:2.25rem}.w-20{width:5rem}.h-20{height:5rem}.w-4{width:1rem}.h-4{height:1rem}.w-48{width:12rem}.relative{position:relative}.origin-top-right{transform-origin:top right}.origin-top-left{transform-origin:top left}.origin-top{transform-origin:top}.right-0{right:0}.left-0{left:0}.mt-2{margin-top:.5rem}.rounded-md{border-radius:var(--rounded-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.ring-1{box-shadow:0 0 0 1px #0000000d}.ring-black{--tw-ring-color: #000}.ring-opacity-5{--tw-ring-opacity: .05}.app-sidebar__logo svg,.nav-logo svg{height:auto;width:auto;fill:none}.ml-1{margin-left:.25rem}.ml-6{margin-left:1.5rem}.inline-flex{display:inline-flex}.pt-1{padding-top:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.max-w-screen-xl{max-width:80rem}.lg\:px-12{padding-left:3rem;padding-right:3rem}body:has(>.maintenance-title) form.login-form{align-items:center;text-align:center;padding:var(--spacing-6)}body:has(form.login-form)>.maintenance-logo{display:none}body:has(>.maintenance-title) form.login-form .login-card-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-3);width:100%;margin:0;padding:0 0 var(--spacing-2);background:none;border:none;box-shadow:none}body:has(>.maintenance-title) form.login-form .login-card-logo{display:block;width:min(20rem,92%);height:auto;border-radius:var(--rounded-lg)}body:has(>.maintenance-title) form.login-form .login-card-header h2{margin:0;color:#fff;font-size:1.25rem;font-weight:700}body:has(>.maintenance-title) form.login-form .login-field{display:flex;flex-direction:column;align-items:center;width:100%;gap:var(--spacing-1);margin:0}body:has(>.maintenance-title) form.login-form .login-field .form-input{display:block;width:20rem;max-width:100%;margin-inline:auto;text-align:center}body:has(>.maintenance-title) form.login-form .login-remember{justify-content:center}body:has(>.maintenance-title) form.login-form .login-forgot{display:block;width:100%;margin:0;text-align:center}body:has(>.maintenance-title) form.login-form .login-actions{display:flex;justify-content:center;width:100%;background:none;border:none;box-shadow:none;padding:0;margin:0}body.marketing-page{--marketing-bg: linear-gradient(155deg, #1a2f4d 0%, #243b5e 42%, #2a4570 100%);--marketing-bg-size: 400% 400%;--marketing-bg-animation: AnimateBG 48s ease infinite;--marketing-text: #ffffff;--marketing-text-muted: #ffffffd9;--marketing-text-subtle: #ffffffbf;--marketing-chrome-bg: #0f172a99;--marketing-chrome-border: #ffffff1a;--marketing-nav-link: #ffffffd9;--marketing-nav-link-hover-bg: #ffffff14;--marketing-card-bg: #ffffff12;--marketing-card-border: #ffffff1f;--marketing-icon-bg: #ffffff1a;--marketing-icon-fg: #ffffff;--marketing-eyebrow-bg: #ffffff1a;--marketing-eyebrow-border: #ffffff26;--marketing-image-border: #ffffff26;display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--marketing-bg);background-size:var(--marketing-bg-size);animation:var(--marketing-bg-animation);color:var(--marketing-text-muted)}html[data-theme=light] body.marketing-page{--marketing-bg: linear-gradient(160deg, #eef2f8 0%, #e4eaf2 45%, #d8e2ee 100%);--marketing-bg-size: auto;--marketing-bg-animation: none;--marketing-text: var(--text-heading);--marketing-text-muted: var(--text-body);--marketing-text-subtle: var(--text-secondary);--marketing-chrome-bg: #f4f7fbd9;--marketing-chrome-border: var(--border-subtle);--marketing-nav-link: var(--text-secondary);--marketing-nav-link-hover-bg: #00236f0f;--marketing-card-bg: var(--surface-card);--marketing-card-border: var(--border-subtle);--marketing-icon-bg: var(--surface-accent-soft);--marketing-icon-fg: var(--brand-primary);--marketing-eyebrow-bg: var(--surface-accent-soft);--marketing-eyebrow-border: #4059aa33;--marketing-image-border: var(--border-subtle)}html[data-theme=dark] body.marketing-page{--marketing-bg: linear-gradient(155deg, #0f172a 0%, #1a2f4d 50%, #1e293b 100%);--marketing-bg-size: auto;--marketing-bg-animation: none}.marketing-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-6);background:var(--marketing-chrome-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--marketing-chrome-border);position:sticky;top:0;z-index:20}.marketing-brand{display:inline-flex;align-items:center;gap:var(--spacing-3);color:var(--marketing-text);text-decoration:none;font-weight:700}.marketing-brand__logo{border-radius:var(--rounded-md);object-fit:cover}.marketing-brand__name{font-size:1.05rem;letter-spacing:.01em}.marketing-nav{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-3)}.marketing-nav__theme{flex-shrink:0}.marketing-nav__link{color:var(--marketing-nav-link);text-decoration:none;font-size:.9375rem;font-weight:500;padding:var(--spacing-2) var(--spacing-3);border-radius:var(--rounded-md);transition:color .15s ease,background-color .15s ease}.marketing-nav__link:hover{color:var(--marketing-text);background:var(--marketing-nav-link-hover-bg)}.marketing-nav__cta{font-size:.875rem;padding:.55rem 1rem}.marketing-main{flex:1 1 auto;width:min(72rem,100%);margin-inline:auto;padding:var(--spacing-6) var(--spacing-4) var(--spacing-8)}body.marketing-page--narrow .marketing-main{display:flex;align-items:flex-start;justify-content:center;padding-top:var(--spacing-8)}.marketing-footer{padding:var(--spacing-6) var(--spacing-6);text-align:center;background:var(--marketing-chrome-bg);border-top:1px solid var(--marketing-chrome-border);color:var(--marketing-text-subtle);font-size:.8125rem}.marketing-footer__copy{margin:0}.marketing-footer__tagline{margin:var(--spacing-2) 0 0;opacity:.85}.marketing-hero{display:grid;grid-template-columns:1fr;gap:var(--spacing-8);align-items:center;padding:var(--spacing-4) 0 var(--spacing-10)}@media (min-width: 900px){.marketing-hero{grid-template-columns:1.05fr .95fr;gap:var(--spacing-10)}}.marketing-hero__eyebrow{display:inline-block;margin:0 0 var(--spacing-3);padding:.35rem .75rem;border-radius:999px;background:var(--marketing-eyebrow-bg);border:1px solid var(--marketing-eyebrow-border);color:var(--marketing-text);font-size:.8125rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.marketing-hero__title{margin:0 0 var(--spacing-4);color:var(--marketing-text);font-size:clamp(2rem,4vw,3rem);line-height:1.1;font-weight:800;letter-spacing:-.02em}.marketing-hero__lead{margin:0 0 var(--spacing-6);color:var(--marketing-text-muted);font-size:clamp(1rem,2vw,1.2rem);line-height:1.6;max-width:38rem}.marketing-hero__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.marketing-hero__cta{min-width:11rem;text-align:center;justify-content:center}.marketing-hero__visual{display:flex;justify-content:center}.marketing-hero__image{width:min(100%,32rem);height:auto;border-radius:var(--rounded-lg);box-shadow:var(--shadow-lg);border:1px solid var(--marketing-image-border)}.marketing-section-header{text-align:center;max-width:42rem;margin:0 auto var(--spacing-8)}.marketing-section-header h2{margin:0 0 var(--spacing-3);color:var(--marketing-text);font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.marketing-section-header p{margin:0;color:var(--marketing-text-muted);line-height:1.6}.marketing-features{padding:var(--spacing-2) 0 var(--spacing-10)}.marketing-features__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:var(--spacing-4);list-style:none;margin:0;padding:0}.marketing-feature-card{padding:var(--spacing-6);border-radius:var(--rounded-lg);background:var(--marketing-card-bg);border:1px solid var(--marketing-card-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-md)}.marketing-feature-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;margin-bottom:var(--spacing-3);border-radius:var(--rounded-md);background:var(--marketing-icon-bg);color:var(--marketing-icon-fg)}.marketing-feature-card__icon .module-tab__icon-svg{width:1.35rem;height:1.35rem}.marketing-feature-card h3{margin:0 0 var(--spacing-2);color:var(--marketing-text);font-size:1.05rem;font-weight:700}.marketing-feature-card p{margin:0;color:var(--marketing-text-subtle);font-size:.9375rem;line-height:1.55}.marketing-cta-band{padding:var(--spacing-2) 0 var(--spacing-4)}.marketing-cta-band__inner{text-align:center;padding:var(--spacing-8) var(--spacing-6);border-radius:var(--rounded-lg);background:linear-gradient(135deg,#1e3a8acc 0%,#00236fcc 100%);border:1px solid #ffffff26;box-shadow:var(--shadow-lg)}.marketing-cta-band__inner h2{margin:0 0 var(--spacing-3);color:#fff;font-size:clamp(1.35rem,2.5vw,1.75rem)}.marketing-cta-band__inner p{margin:0 auto var(--spacing-6);max-width:36rem;color:#ffffffd9;line-height:1.6}.marketing-auth-card{width:min(28rem,100%);padding:var(--spacing-6);border-radius:var(--rounded-lg);background:var(--surface-card);border:var(--border-standard);box-shadow:var(--shadow-lg);color:var(--text-body)}.marketing-auth-card--wide{width:min(36rem,100%)}.marketing-auth-card__header{margin-bottom:var(--spacing-6);text-align:center}.marketing-auth-card__header h1{margin:0 0 var(--spacing-2);color:var(--text-heading);font-size:1.5rem;font-weight:700}.marketing-auth-card__header p{margin:0;color:var(--text-secondary);font-size:.9375rem;line-height:1.5}.marketing-auth-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.marketing-auth-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.marketing-auth-form__remember{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:.875rem;color:var(--text-body);cursor:pointer}.marketing-auth-form__meta{margin:0;font-size:.875rem}.marketing-auth-form__meta a{color:var(--brand-accent)}.marketing-auth-form__actions{display:flex;justify-content:stretch;padding-top:var(--spacing-2)}.marketing-auth-form__actions .button-primary{width:100%;justify-content:center}.marketing-auth-card__footer{margin:var(--spacing-6) 0 0;padding-top:var(--spacing-4);border-top:1px solid var(--border-subtle);text-align:center;font-size:.875rem;color:var(--text-secondary)}.marketing-auth-card__footer a{color:var(--brand-accent);font-weight:600;text-decoration:none}.marketing-auth-card__footer a:hover{text-decoration:underline}body.marketing-page--narrow .marketing-auth-card a{color:var(--brand-accent)}body.marketing-page--narrow [role=status]{width:min(28rem,100%);margin:0 auto var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--rounded-md);background:var(--feedback-success);color:var(--feedback-success-text);text-align:center;font-size:.875rem}@media (max-width: 640px){.marketing-header{padding-inline:var(--spacing-4)}.marketing-nav__link{display:none}.marketing-hero__actions .button-secondary{width:100%}}[x-cloak]{display:none!important}@-webkit-keyframes AnimateBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes AnimateBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.list{display:flex;flex-wrap:wrap;justify-content:start;width:100%}.btn-text-link{background-color:#0000;border:none}main form.manual-invoice-form,.manual-invoice-form{display:inline-flex;flex-direction:row;align-items:center;margin:0;padding:0;width:auto;max-width:none;background:none;border:none;box-shadow:none;gap:0}@media (min-width: 640px){.school-details{padding-left:1.5rem;padding-right:1.5rem}}.toggle-system{display:inline-flex;align-items:center;gap:var(--spacing-2)}.toggle-container{position:relative;display:inline-flex;flex:0 0 auto;border-radius:3.125em;width:3.25em;height:1.875em;line-height:1.25rem;align-items:center;cursor:pointer}.toggle-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.toggle-track{display:flex;align-items:center;position:relative;border-radius:inherit;padding:.25em;width:100%;height:1.6em;background-color:var(--toggle-track-bg);box-shadow:inset 0 .0625em .125em #0003;transition:background-color .4s linear}.toggle-container.edit>.toggle-checkbox:checked+.toggle-track{background-color:var(--toggle-track-checked)}.toggle-container.edit>.toggle-checkbox:checked+.toggle-track>.toggle-thumb{transform:translate(100%)}.toggle-thumb{position:relative;border-radius:.6875em;transform-origin:left;width:1.2em;height:1.2em;background-color:var(--toggle-thumb-bg);box-shadow:0 .25em .25em #0003,inset 0 -.125em .25em #0003}.toggle-checkbox.toggled-once+.toggle-track>.toggle-thumb{animation-name:grow-out,bounce-out;animation-duration:.2s;animation-timing-function:cubic-bezier(.75,0,1,1),cubic-bezier(0,0,.3,1.5);animation-delay:0s,.2s;animation-fill-mode:forwards}.toggle-checkbox.toggled-once:checked+.toggle-track>.toggle-thumb{animation-name:grow-in,bounce-in}@keyframes grow-in{0%{border-radius:.6875em;transform:translate(0) scale(1)}to{border-radius:.4448529412em/.9453125em;transform:translate(.5em) scale(1.5454545455,.7272727273)}}@keyframes bounce-in{0%{border-radius:.4448529412em/.9453125em;transform:translate(.5em) scale(1.5454545455,.7272727273)}to{border-radius:.6875em;transform:translate(100%) scale(1)}}@keyframes grow-out{0%{border-radius:.6875em;transform:translate(100%) scale(1)}to{border-radius:.4448529412em/.9453125em;transform:translate(.125em) scale(1.5454545455,.7272727273)}}@keyframes bounce-out{0%{border-radius:.4448529412em/.9453125em;transform:translate(.125em) scale(1.5454545455,.7272727273)}to{border-radius:.6875em;transform:translate(0) scale(1)}}.nav-form{display:inline-flex;color:var(--main-text-color)}.nav-form select{font-size:smaller;border-radius:8px;padding:0 8px;margin:1rem;min-width:4.5rem}.total-line{display:flex;justify-content:space-between;font-weight:700;background-color:var(--surface-glass);padding:.5rem;border-radius:8px}
