.rp-workspace{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}.rp-filter-panel{padding:22px}.rp-section-heading h2,.rp-preview-heading h2{font-size:15px;font-weight:650}.rp-section-heading p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:7px}.rp-filter-fields{display:grid;gap:20px;margin-top:24px}.rp-filter-hint{font-size:12px;line-height:1.8;color:var(--muted)}.rp-filter-hint a{color:var(--accent);text-decoration:underline}.rp-source-note{display:grid;gap:16px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.rp-source-note dt{color:var(--muted);font-size:11px}.rp-source-note dd{color:var(--text);font-size:12px;margin-top:5px;font-weight:500}.rp-filter-panel>.ui-button{margin-top:20px;padding-left:0}.rp-results{min-width:0;display:grid;gap:20px}.rp-state{padding:32px 24px;font-size:13px;color:var(--muted);line-height:1.8}.rp-state h2{color:var(--text);font-size:17px;font-weight:650;margin-bottom:8px}.rp-state .ui-button{margin-top:20px}.rp-result-heading{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;justify-content:space-between}.rp-kicker{font-size:11px;color:var(--muted)}.rp-result-heading h2{font-size:22px;font-weight:650;letter-spacing:-.5px;margin-top:5px}.rp-selected{font-size:12px;line-height:1.8;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.rp-result-heading>div{min-width:0}.rp-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:10px}.rp-summary>div{padding:18px 20px}.rp-summary>div:nth-child(2n){border-left:1px solid var(--line)}.rp-summary>div:nth-child(n+3){border-top:1px solid var(--line)}.rp-summary dt{font-size:12px;color:var(--muted)}.rp-summary dd{font-size:28px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.6px;margin-top:8px}.rp-preview-heading{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--line)}.rp-preview-heading p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:5px}.rp-export-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}.rp-export-actions .ui-button{flex:1;white-space:nowrap}.rp-row-name{font-weight:600;overflow-wrap:anywhere}.rp-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:14px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.rp-pagination>div{display:flex;align-items:center;gap:10px}.rp-export-note{font-size:11px;line-height:1.9;color:var(--muted)}.rp-export-note strong{font-weight:600;color:var(--text)}.rp-export-error,.rp-export-feedback{font-size:12px;line-height:1.8;padding:12px 22px}.rp-export-error{color:var(--danger-fg);background:var(--danger-bg)}.rp-export-feedback{color:var(--success-fg);background:var(--success-bg)}@media (min-width: 680px){.rp-filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.rp-filter-hint{grid-column:1 / -1}.rp-source-note{grid-template-columns:repeat(2,minmax(0,1fr))}.rp-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.rp-summary>div+div{border-left:1px solid var(--line)}.rp-summary>div:nth-child(n+3){border-top:0}.rp-export-actions{width:auto}}@media (min-width: 1280px){.rp-workspace{grid-template-columns:260px minmax(0,1fr)}.rp-filter-fields,.rp-source-note{grid-template-columns:minmax(0,1fr)}}.fr-page{display:grid;gap:24px;min-width:0}.fr-controls{padding:22px}.fr-controls-heading,.fr-section-heading{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px}.fr-controls-heading h2,.fr-section-heading h2{font-size:15px;font-weight:650}.fr-controls-heading p,.fr-section-heading p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px}.fr-presets{display:flex;flex-wrap:wrap;gap:8px;margin-block:18px}.fr-presets button{min-height:44px;padding:9px 13px;border-radius:6px;font-size:12px;border:1px solid var(--input-line);background:var(--surface);color:var(--text)}.fr-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);font-weight:650}.fr-filter-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.fr-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.fr-summary>div{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0}.fr-summary>div:first-child{border-left:3px solid var(--accent)}.fr-summary dt{color:var(--muted);font-size:12px}.fr-summary dd{margin-top:12px;font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:650;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.5px;overflow-wrap:anywhere}.fr-summary small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.8;letter-spacing:0;margin-top:8px}.fr-summary .status{margin-top:10px}.fr-section-heading{padding:22px}.fr-section-heading>span{color:var(--muted);font-size:12px}.fr-person{min-width:0;overflow-wrap:anywhere}.fr-person strong{font-weight:650}.fr-person small{display:block;color:var(--muted);font-size:11px;line-height:1.8;margin-top:5px}.fr-money{font-variant-numeric:tabular-nums;font-weight:650}.fr-table-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:15px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.fr-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--muted)}.fr-pagination>div{display:flex;flex-wrap:wrap;gap:8px}.fr-method{border-top:1px solid var(--line);padding-top:18px;font-size:12px;color:var(--muted);line-height:1.8}.fr-method summary{min-height:44px;padding-block:10px;color:var(--text);font-weight:600}.fr-method ul{padding-left:20px;display:grid;gap:7px;margin-top:8px;list-style:disc}.fr-error{color:var(--danger-fg);font-size:12px;line-height:1.8}.fr-load-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}.fr-tabs{display:flex;gap:20px;padding:8px 22px 0;border-bottom:1px solid var(--line);overflow-x:auto}.fr-tabs button{flex:none;min-height:48px;padding-block:12px;border-bottom:2px solid transparent;color:var(--muted);font-size:12px}.fr-tabs button[aria-pressed=true]{border-bottom-color:var(--accent);color:var(--accent);font-weight:650}.fr-tabs button span{margin-left:5px;font-size:11px}.fr-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.fr-dialog>.dialog-heading{flex:none}.fr-dialog>.dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.fr-dialog .ui-button,.fr-page .ui-button,.fr-header-action.ui-button{transition:none}.fr-dialog .form-error{color:var(--danger-fg)}.fr-detail-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px}.fr-detail-title>div{min-width:0}.fr-detail-title h3{font-size:20px;font-weight:650;overflow-wrap:anywhere}.fr-detail-title p,.fr-detail-title small{color:var(--muted);font-size:12px;line-height:1.8;margin-top:6px}.fr-detail-total{margin-block:20px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.fr-detail-total dt{font-size:12px;color:var(--muted)}.fr-detail-total dd{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums;margin-top:8px;overflow-wrap:anywhere}.fr-detail-body{margin-top:18px}.fr-detail-body>h3{font-size:14px;font-weight:650;margin-bottom:12px}.fr-dialog-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.fr-list-filters{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:0 22px 20px}.fr-actions{display:flex;flex-wrap:wrap;gap:7px}.fr-result-equation{color:var(--muted);font-size:12px;line-height:1.8}.fr-outside-expense{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}@media (min-width: 680px){.fr-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-filter-grid.fr-filter-three,.fr-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fr-summary.fr-profit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-list-filters{grid-template-columns:minmax(180px,2fr) minmax(160px,1fr)}.fr-page :is(th,td),.fr-dialog :is(th,td){padding:15px 14px!important}}@media (min-width: 1300px){.fr-summary.fr-profit-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}.fn-actions{display:flex;flex-wrap:wrap;gap:10px}.fn-actions .ui-button{white-space:nowrap}.fn-actions .ui-button,.fn-list .ui-button{transition:none}.fn-overview{display:grid;gap:12px}.fn-overview>h2{font-size:12px;font-weight:600;color:var(--muted)}.fn-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fn-summary>div{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:0}.fn-summary .fn-balance{grid-column:1 / -1}.fn-summary dt{font-size:12px;color:var(--muted)}.fn-summary dd{margin-top:12px;font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:650;letter-spacing:-.5px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.fn-summary dd span{font-size:12px;font-weight:400;letter-spacing:0}.fn-summary small{display:block;font-size:11px;font-weight:400;letter-spacing:0;line-height:1.8;color:var(--muted);margin-top:6px}.fn-view-switch{display:flex;gap:20px;padding:8px 22px 0;border-bottom:1px solid var(--line)}.fn-view-switch button{display:flex;gap:7px;align-items:center;min-height:48px;padding:10px 0;border-bottom:2px solid transparent;font-size:12px;color:var(--muted)}.fn-view-switch button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.fn-view-switch button:hover{color:var(--text)}.fn-view-switch button span{border-radius:4px;padding:1px 5px;font-size:10px;color:var(--muted);background:var(--subtle)}.fn-toolbar{padding:22px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px}.fn-toolbar h2{font-size:15px;font-weight:650}.fn-toolbar p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:5px}.fn-filters{display:flex;flex-wrap:wrap;gap:10px;width:100%}.fn-filters>div{min-width:0;flex:1 1 160px}.fn-filters .search-field{flex:2 1 200px;max-width:none}.fn-person{min-width:0;overflow-wrap:anywhere}.fn-person strong{font-weight:600}.fn-person small{display:block;font-size:11px;line-height:1.8;color:var(--muted);margin-top:4px}.fn-remaining{font-weight:650}.fn-overdue{color:var(--danger-fg)}.fn-muted{color:var(--muted);font-size:11px}.fn-list-footer{padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.fn-list-footer p{font-size:11px;color:var(--muted)}.fn-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.fn-dialog>.dialog-heading{flex:none}.fn-dialog>.dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.fn-dialog .form-footer .form-error{flex:1 0 100%}.fn-dialog .ui-button{transition:none}.fn-invoice-mode{margin-bottom:22px;max-width:320px}.fn-form-wide{grid-column:1 / -1}.fn-form-wide a{color:var(--accent);text-decoration:underline}.fn-no-payments{display:grid;gap:20px;justify-items:start}.fn-payment-summary{padding:18px;margin-bottom:24px;background:var(--canvas);border:1px solid var(--line);border-radius:8px}.fn-payment-summary>strong{font-size:14px;font-weight:650}.fn-payment-summary>p{font-size:11px;color:var(--muted);line-height:1.8;margin-top:5px}.fn-payment-summary dl{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:16px}.fn-payment-summary dl>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.fn-payment-summary dt{color:var(--muted);font-size:12px}.fn-payment-summary dd{font-size:12px;font-weight:600}.fn-payment-summary dl>div:last-child{padding-top:12px;border-top:1px solid var(--line)}.fn-generation{min-width:0;border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.fn-result-summary{padding:18px}.fn-result-summary h3,.fn-payment-preview h3,.fn-correction h3,.fn-detail-section h3{font-size:14px;font-weight:650}.fn-result-summary p{margin-top:7px;font-size:12px;line-height:1.8;color:var(--muted)}.fn-result-summary strong{color:var(--text);font-variant-numeric:tabular-nums}.fn-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 18px;border-top:1px solid var(--line);font-size:12px}.fn-pagination>span{margin-right:auto;color:var(--muted)}.fn-field-label{display:block;margin-bottom:10px;font-size:12px;font-weight:600}.fn-invoice-selection{min-width:0;border:1px solid var(--input-line);border-radius:8px;padding:14px}.fn-invoice-selection legend{font-size:12px;font-weight:600;padding-inline:5px}.fn-invoice-selection>p{font-size:12px;color:var(--muted);line-height:1.8}.fn-invoice-option{display:flex;align-items:flex-start;gap:12px;min-height:56px;padding:12px 8px;border-radius:5px}.fn-invoice-option+.fn-invoice-option{border-top:1px solid var(--line)}.fn-invoice-option:has(input:checked){background:var(--accent-soft)}.fn-invoice-option input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--accent)}.fn-invoice-option>span{min-width:0}.fn-invoice-option strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}.fn-invoice-option small{display:block;margin-top:5px;font-size:11px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.fn-payment-preview h3{margin-bottom:12px}.fn-allocation-total{font-size:12px;line-height:1.8;padding-block:16px}.fn-detail-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.fn-detail-title>div{min-width:0}.fn-detail-title h3{font-size:19px;font-weight:650;overflow-wrap:anywhere}.fn-detail-title p{margin-top:7px;font-size:13px}.fn-detail-title small{display:block;margin-top:6px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.fn-detail-title>strong{font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fn-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);margin-bottom:16px}.fn-detail-metrics>div{min-width:0}.fn-detail-metrics dt{color:var(--muted);font-size:12px}.fn-detail-metrics dd{margin-top:7px;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.fn-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:20px}.fn-correction{margin-block:20px;padding:18px;background:var(--canvas);border:1px solid var(--line);border-radius:8px}.fn-correction>p{font-size:12px;color:var(--muted);line-height:1.8;margin-block:10px 18px}.fn-detail-section{margin-top:24px}.fn-detail-section>h3{margin-bottom:12px}.fn-allocation-history>.notice+.fn-allocation-total{padding-top:12px}.fn-payment-summary{margin-bottom:0}.fn-list :is(th,td){font-variant-numeric:tabular-nums}@media (min-width: 680px){.fn-list :is(th,td){padding:15px 14px!important}.fn-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fn-summary .fn-balance{grid-column:auto}.fn-filters{max-width:520px}}.rv-overview{display:grid;gap:12px}.rv-overview-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.rv-overview-heading h2{color:var(--text);font-size:12px;font-weight:600}.rv-overview-heading p,.rv-scope{font-size:11px;color:var(--muted);line-height:1.8}.rv-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rv-summary>div{min-width:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.rv-summary .rv-balance{grid-column:1 / -1;border-left:3px solid var(--accent)}.rv-summary>div:last-child{grid-column:1 / -1}.rv-summary dt,.rv-detail-summary dt{font-size:12px;color:var(--muted)}.rv-summary dd{margin-top:12px;font-size:clamp(1.2rem,2vw,1.65rem);font-weight:650;letter-spacing:-.5px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rv-summary .rv-balance dd{font-size:clamp(1.6rem,3vw,2rem)}.rv-summary small{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);line-height:1.8;margin-top:6px}.rv-list-heading{padding:22px 22px 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.rv-list-heading h2{font-size:15px;font-weight:650}.rv-list-heading p,.rv-detail-heading p,.rv-detail-person p{color:var(--muted);font-size:12px;line-height:1.8;margin-top:5px}.rv-filters{padding:20px 22px 22px;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.rv-search{position:relative}.rv-search>svg{position:absolute;left:12px;top:14px;color:var(--muted)}.rv-search input{padding-left:38px}.rv-person{overflow-wrap:anywhere;min-width:0}.rv-person strong,.rv-amount{font-weight:650}.rv-person small{display:block;font-size:11px;color:var(--muted);line-height:1.8;margin-top:4px}.rv-amount,.rv-list td,.rv-dialog td{font-variant-numeric:tabular-nums}.rv-payment-allocations{display:grid;gap:10px;margin-top:12px;font-size:12px;line-height:1.8}.rv-list .ui-button,.rv-dialog .ui-button{transition:none}.status-credit{color:var(--info-fg);background:var(--info-bg)}.rv-list-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-top:1px solid var(--line)}.rv-list-footer>p,.rv-pagination>span{color:var(--muted);font-size:11px;line-height:1.8}.rv-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.rv-pagination>div{display:flex;flex-wrap:wrap;gap:8px}.rv-load-error{padding:0 22px 20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:12px;color:var(--danger-fg)}.rv-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.rv-dialog>.dialog-heading{flex:none}.rv-dialog>.dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.rv-detail-person{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.rv-detail-person>div{min-width:0;flex:1 1 200px}.rv-detail-person h3{font-size:19px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.rv-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:18px;margin-top:20px}.rv-detail-summary>div{min-width:0}.rv-detail-summary dd{margin-top:7px;font-size:14px;font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.rv-detail-summary>div:last-child{border-top:1px solid var(--line);padding-top:12px;grid-column:1 / -1}.rv-view-switch{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-top:18px}.rv-view-switch button{min-height:48px;font-size:13px;color:var(--muted);padding:10px 0;border-bottom:2px solid transparent}.rv-view-switch button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:650}.rv-view-switch button span{font-size:11px;margin-left:5px}.rv-detail-heading{margin-block:20px 14px}.rv-detail-heading h3{font-size:14px;font-weight:650}.rv-dialog .rv-pagination{margin-top:18px}.rv-detail-footer{margin-top:24px;border-top:1px solid var(--line);padding-top:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}@media (min-width: 680px){.rv-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.rv-summary .rv-balance,.rv-summary>div:last-child{grid-column:auto}.rv-filters{grid-template-columns:minmax(180px,2fr) repeat(2,minmax(150px,1fr))}.rv-list .responsive-table,.rv-dialog .responsive-table{min-width:800px}.rv-list :is(th,td),.rv-dialog :is(th,td){padding:15px 14px!important}.rv-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.rv-detail-summary>div:last-child{border-top:0;border-left:1px solid var(--line);padding-top:0;padding-left:16px;grid-column:auto}}.rc-panel{min-width:0}.rc-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:22px 20px}.rc-heading h2{font-size:16px;font-weight:650}.rc-heading p{margin-top:5px;color:var(--muted);font-size:12px}.rc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:0 20px 18px}.rc-period-controls{display:flex;flex-wrap:wrap;align-items:center;gap:14px}.rc-period{font-size:14px;font-weight:600;text-transform:capitalize}.rc-stepper{display:inline-flex;border:1px solid var(--input-line);border-radius:8px;padding:2px}.rc-stepper .ui-button{padding-inline:10px;min-width:44px}.rc-view-switch{display:inline-flex;padding:3px;border-radius:8px;background:var(--subtle);border:1px solid var(--line)}.rc-view-switch button{font-size:12px;min-height:44px;padding:8px 17px;border-radius:5px;color:var(--muted);font-weight:600}.rc-view-switch button:hover{color:var(--text);background:var(--surface)}.rc-view-switch button[aria-pressed=true]{color:var(--accent);background:var(--surface);box-shadow:inset 0 0 0 1px var(--input-line)}.rc-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px 20px;background:var(--canvas);border-block:1px solid var(--line)}.rc-filter{flex:1;min-width:min(100%,180px);max-width:260px}.rc-filter label{display:block;font-size:11px;font-weight:600;margin-bottom:6px}.rc-filter input,.rc-filter select{width:100%;padding:8px 10px;border:1px solid var(--input-line)}.rc-summary{font-size:12px;color:var(--muted);margin-left:auto;padding-block:12px}.rc-scroll{overflow:auto;max-height:640px;scrollbar-width:thin;scrollbar-color:var(--input-line) var(--canvas)}.rc-desktop-calendar{display:none}.rc-week-grid{display:grid;grid-template-columns:170px repeat(var(--rc-days),minmax(148px,1fr));min-width:1206px}.rc-resource-row{display:contents}.rc-corner,.rc-day-heading{position:sticky;top:0;z-index:2;background:var(--surface);border-bottom:1px solid var(--line);padding:14px}.rc-corner{left:0;z-index:4;font-size:12px;display:flex;align-items:center;color:var(--muted)}.rc-day-heading{display:flex;align-items:center;gap:8px;justify-content:center;border-left:1px solid var(--line)}.rc-day-heading span{color:var(--muted);font-size:12px}.rc-day-heading time{font-size:16px;font-weight:650}.rc-teacher{padding:16px;min-width:0}.rc-teacher strong{display:block;font-size:12px;font-weight:650;overflow-wrap:anywhere}.rc-teacher span{display:block;font-size:11px;margin-top:5px;color:var(--muted)}.rc-week-grid .rc-teacher{position:sticky;left:0;z-index:1;background:var(--surface);border-bottom:1px solid var(--line)}.rc-week-cell{padding:8px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:112px}.rc-today{background:var(--accent-soft)}.rc-day-heading.rc-today time{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border-radius:6px;background:#2454ce;color:#fff}.rc-event{width:100%;min-height:44px;display:flex;flex-direction:column;text-align:left;gap:6px;padding:11px 12px;border:1px solid var(--info-border);background:var(--info-bg);color:var(--info-fg);border-radius:7px;margin-bottom:7px;overflow-wrap:anywhere;transition:border-color .12s}.rc-event:last-child{margin-bottom:0}.rc-event:hover{border-color:var(--accent);text-decoration:underline;text-underline-offset:3px}.rc-event:active{filter:brightness(.94)}.rc-event-time{font-size:11px;font-variant-numeric:tabular-nums;font-weight:650}.rc-event strong{font-size:12px;line-height:1.6;font-weight:600}.rc-event-teacher{font-size:11px}.rc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(145px,1fr));min-width:1015px}.rc-weekday{position:sticky;top:0;z-index:1;text-align:center;padding:14px 8px;background:var(--surface);color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}.rc-month-cell{min-height:140px;padding:10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.rc-month-cell>time{display:inline-block;font-size:12px;font-weight:600;margin-bottom:10px}.rc-other-month{background:var(--canvas);color:var(--muted)}.rc-day-resource{border-bottom:1px solid var(--line)}.rc-day-events{padding:0 16px 16px;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.rc-day-events .rc-event{margin-bottom:0}.rc-no-events{font-size:12px;color:var(--muted);padding:12px 0}.rc-mobile-agenda{padding:0 20px}.rc-agenda-day{padding-block:18px;border-bottom:1px solid var(--line)}.rc-agenda-day:last-child{border-bottom:0}.rc-agenda-day h3{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-weight:600;font-size:13px;margin-bottom:12px}.rc-agenda-day h3 span{color:var(--accent);font-size:11px}.rc-empty-note{padding:20px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.rc-footer{padding:16px 20px;display:flex;align-items:flex-start;gap:9px;color:var(--muted);border-top:1px solid var(--line)}.rc-footer svg{flex:none;margin-top:2px}.rc-footer p{font-size:11px;line-height:1.8}.rc-detail{display:grid;gap:18px}.rc-detail dt{font-size:11px;color:var(--muted);margin-bottom:5px}.rc-detail dd{font-size:14px;font-weight:500;overflow-wrap:anywhere}@media (min-width: 680px){.rc-desktop-calendar{display:block}.rc-mobile-agenda{display:none}.rc-day-resource{display:grid;grid-template-columns:170px minmax(0,1fr)}.rc-day-events{padding:16px;border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.rc-heading,.rc-toolbar,.rc-filters{padding-inline:24px}}.person-detail-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.person-detail-dialog>.dialog-heading{flex:none;padding:14px 18px}.person-detail-dialog>.dialog-body{padding:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.person-detail-dialog .ui-button{transition:none}.person-details{min-width:0}.pd-identity{padding:24px 20px;display:flex;gap:14px;align-items:flex-start;background:var(--canvas);border-bottom:1px solid var(--line)}.pd-avatar{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex:none;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:17px;font-weight:650}.pd-identity>div{min-width:0;flex:1}.pd-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pd-name-row h3{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.5;font-weight:650;letter-spacing:-.4px;overflow-wrap:anywhere}.pd-identity p{color:var(--muted);font-size:12px;line-height:1.8;margin-top:5px;overflow-wrap:anywhere}.pd-content{padding:0 20px}.pd-section{padding-block:22px;border-bottom:1px solid var(--line)}.pd-section:last-child{border-bottom:0}.pd-section-heading{margin-bottom:16px}.pd-section-heading h3{font-size:14px;font-weight:650}.pd-section-heading>p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:5px}.pd-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:15px 28px}.pd-fields>div{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:12px;align-items:start;min-width:0}.pd-fields dt{color:var(--muted);font-size:12px;line-height:1.8;overflow-wrap:anywhere}.pd-fields dd{color:var(--text);font-size:12px;line-height:1.8;font-weight:500;min-width:0;overflow-wrap:anywhere;white-space:pre-wrap}.pd-fields dd .pd-missing{color:var(--muted);font-weight:400}.pd-field-wide{grid-column:1 / -1}.pd-contract-note{margin-top:16px;padding:12px 14px;border-radius:7px;background:var(--warning-bg);color:var(--warning-fg);font-size:12px;line-height:1.8}.pd-programs{display:grid;gap:10px}.pd-program{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px 16px}.pd-program>div{min-width:0}.pd-program h4{font-size:13px;font-weight:600;overflow-wrap:anywhere}.pd-program p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:4px;overflow-wrap:anywhere}.pd-attendance{display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:8px;background:var(--canvas)}.pd-attendance>div{padding:16px}.pd-attendance>div+div{border-top:1px solid var(--line)}.pd-attendance dt{font-size:11px;color:var(--muted)}.pd-attendance dd{font-size:25px;line-height:1.4;font-weight:650;font-variant-numeric:tabular-nums;margin-top:5px}.pd-attendance dd span{font-size:15px}.pd-sessions{display:grid;gap:12px}.pd-session{border:1px solid var(--line);border-radius:8px;padding:16px}.pd-session-heading{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:14px}.pd-session-heading h4{font-size:13px;font-weight:600}.pd-session-heading p{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:4px}.pd-session .pd-fields{gap:12px}.pd-empty{font-size:12px;line-height:1.8;color:var(--muted)}.pd-error{font-size:12px;line-height:1.8;padding:12px;border-radius:6px;color:var(--danger-fg);background:var(--danger-bg)}.pd-prose{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.pd-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px}.pd-pagination p{color:var(--muted);font-size:11px}.pd-pagination>div{display:flex;gap:8px}.pd-footer{border-top:1px solid var(--line);padding:16px 20px;display:flex;justify-content:flex-end}@media (min-width: 480px){.pd-attendance{grid-template-columns:repeat(3,minmax(0,1fr))}.pd-attendance>div+div{border-top:0;border-left:1px solid var(--line)}}@media (min-width: 680px){.person-detail-dialog>.dialog-heading{padding-inline:28px}.pd-identity{padding:26px 28px;align-items:center;gap:18px}.pd-content{padding-inline:28px}.pd-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-fields>div{grid-template-columns:minmax(0,40fr) minmax(0,60fr)}.pd-fields>.pd-field-wide{grid-template-columns:minmax(0,19fr) minmax(0,81fr)}.pd-footer{padding-inline:28px}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-primary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px}.btn-primary:disabled{pointer-events:none;opacity:.5}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-primary:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.btn-primary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:.5rem;padding:.5rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn-secondary:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-offset-width: 2px}.btn-secondary:disabled{pointer-events:none;opacity:.5}.btn-secondary{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.btn-secondary:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.input{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem}.input::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.input::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.input:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1));outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(59 130 246 / .2)}.label{margin-bottom:.25rem;display:block;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.card{border-radius:.75rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.badge{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500}.badge-info{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.badge-gray{display:inline-flex;align-items:center;border-radius:9999px;padding:.125rem .625rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.bottom-4{bottom:1rem}.right-4{right:1rem}.z-50{z-index:50}.mb-1{margin-bottom:.25rem}.mb-5{margin-bottom:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.hidden{display:none}.min-h-\[80px\]{min-height:80px}.w-full{width:100%}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity, 1))}.overflow-x-auto{overflow-x:auto}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.outline{outline-style:solid}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.odd\:bg-white:nth-child(odd){--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.even\:bg-gray-50:nth-child(2n){--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(239 68 68 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\:ring-blue-500\/20:focus{--tw-ring-color: rgb(59 130 246 / .2)}.focus\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\:ring-red-500\/20:focus{--tw-ring-color: rgb(239 68 68 / .2)}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}:root{font-family:Segoe UI,system-ui,sans-serif;color-scheme:light;--canvas: #f5f7fb;--surface: #ffffff;--subtle: #edf1f7;--line: #dce2ec;--text: #1c2d49;--muted: #5b6980;--accent: #2454ce;--accent-soft: #edf2ff;--input-line: #8390a5;--bottom-nav-height: 72px;--topbar-height: 72px;--success-bg: #e6f4ee;--success-fg: #206046;--success-border: #8ab9a3;--warning-bg: #fff2d9;--warning-fg: #80520a;--warning-border: #c8a34e;--danger-bg: #fceaea;--danger-fg: #a52929;--danger-border: #d59696;--info-bg: #edf2ff;--info-fg: #244cb7;--info-border: #9eafe0}:root.dark{color-scheme:dark;--canvas: #111925;--surface: #1a2535;--subtle: #263247;--line: #364358;--text: #edf2fa;--muted: #b0bed2;--accent: #9cbaff;--accent-soft: #253b65;--input-line: #7b8da7;--success-bg: #183b30;--success-fg: #9ee4bf;--success-border: #497b65;--warning-bg: #3b301c;--warning-fg: #f1cf85;--warning-border: #8b713f;--danger-bg: #43282e;--danger-fg: #ffb6bb;--danger-border: #9b606b;--info-bg: #243754;--info-fg: #b8ceff;--info-border: #5979aa}body{margin:0;background:var(--canvas);color:var(--text)}*,*:before,*:after{box-sizing:border-box}button,a,select,summary,label[for],input[type=file]{cursor:pointer}button:disabled,input:disabled,select:disabled{cursor:not-allowed}button,input,select,textarea{font:inherit}button,a,input,select,textarea,[tabindex]{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button:active:not(:disabled),.btn:active{transform:translateY(1px)}.app-shell{min-height:100dvh}.desktop-sidebar{display:none}.sidebar{background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column}.sidebar.desktop-sidebar{display:none}.brand{padding:31px 28px 27px;border-bottom:1px solid var(--line)}.brand-name{font-size:29px;letter-spacing:-1.4px;font-weight:750;color:var(--text)}.brand-name>span{color:var(--accent)}.brand p{font-size:12px;color:var(--muted);margin-top:3px}.navigation{flex:1;overflow-y:auto;padding:12px 15px 20px}.nav-group{color:var(--muted);font-size:11px;font-weight:600;margin:22px 13px 8px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 13px;min-height:44px;color:var(--muted);font-size:13px;font-weight:500;border-radius:7px;margin:2px 0;transition:background .14s}.nav-link:hover{background:var(--subtle);color:var(--text)}.nav-link.is-active{color:var(--accent);background:var(--accent-soft);font-weight:650}.sidebar-footer{display:flex;align-items:center;gap:10px;margin:0 22px;padding:21px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.sidebar-footer strong{color:var(--text);font-weight:600}.sidebar-footer p{margin-top:3px}.storage-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}.app-workspace{min-width:0;padding-top:var(--topbar-height)}html{scroll-padding-top:calc(var(--topbar-height) + 16px)}.main-content :is(a,button,input,select,textarea,[tabindex]){scroll-margin-top:calc(var(--topbar-height) + 16px)}.topbar{position:fixed;inset:0 0 auto;z-index:35;height:var(--topbar-height);padding:12px 20px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{display:none;align-items:center;gap:14px;font-size:12px;font-weight:600}.breadcrumb span{color:var(--muted);font-weight:400}.topbar-actions{display:flex;gap:18px;align-items:center;margin-left:auto;min-width:0}.topbar-date{color:var(--muted);font-size:12px}.bottom-navigation{position:fixed;z-index:30;inset:auto 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding:6px max(8px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line)}.bottom-navigation-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:56px;padding:6px 4px;border-radius:7px;font-size:11px;font-weight:500;line-height:1.5;color:var(--muted);text-align:center}.bottom-navigation-item svg{flex:none}.bottom-navigation-item:hover{background:var(--subtle);color:var(--text)}.bottom-navigation-item.is-active{background:var(--accent-soft);color:var(--accent);font-weight:650}.bottom-navigation-item:active{background:var(--line);color:var(--text)}.icon-button{width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--muted);flex:none}.icon-button:hover{background:var(--subtle);color:var(--text)}.notification-button{position:relative}.notification-count{position:absolute;top:3px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#c2413b;color:#fff;font-size:10px;line-height:17px;text-align:center;font-weight:700}.notification-list{display:grid;gap:12px}.notification-item{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--subtle);color:#b45309}.notification-item div{display:grid;gap:5px}.notification-item strong{color:var(--text);font-size:13px;line-height:1.5}.notification-item small{color:var(--muted);font-size:11px;line-height:1.5}.main-content{padding:28px 18px 40px;max-width:1600px;margin-inline:auto}.page{display:flex;flex-direction:column;gap:24px;min-width:0}.page-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-bottom:7px}.page-heading h1{font-size:clamp(1.6rem,2.3vw,2rem);letter-spacing:-.8px;line-height:1.2;font-weight:700}.page-heading p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:8px}.btn,.ui-button{min-height:44px;border-radius:7px;font-size:13px;font-weight:600}.btn-primary,.ui-button.bg-blue-600{background:#2454ce;color:#fff}.btn-primary:hover,.ui-button.bg-blue-600:hover{background:#1e44a8}.btn-secondary,.ui-button.bg-gray-100{background:var(--subtle);color:var(--text)}.btn-secondary:hover,.ui-button.bg-gray-100:hover{background:var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:none;min-width:0}.overview-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;margin-bottom:-11px}.overview-label span:first-child{font-weight:600;color:var(--text)}.overview-label span:last-child{font-size:11px}.stats-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.stat-card{display:flex;flex-direction:column;padding:20px;border-radius:10px;background:var(--surface);border:1px solid var(--line);min-width:0;transition:border-color .14s}.stat-card:hover{border-color:var(--accent)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}.stat-top svg{flex:none}.stat-card>strong{font-size:34px;letter-spacing:-1px;font-weight:650;margin:15px 0 8px;line-height:1;font-variant-numeric:tabular-nums}.stat-card>span{font-size:11px;color:var(--muted);line-height:1.6}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.panel-heading{padding:22px 24px}.panel-heading h2,.table-toolbar h2,.settings-panel h2,.report-card h2{font-size:15px;font-weight:650;letter-spacing:-.15px}.panel-heading p,.table-toolbar p,.settings-panel p,.report-card p{margin-top:5px;font-size:12px;line-height:1.7;color:var(--muted)}.panel-heading-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.panel-heading-row>span{font-size:12px;color:var(--muted)}.text-link{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--accent);font-weight:600;min-height:44px}.text-link:hover{text-decoration:underline}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:35px 22px 40px}.empty-state h3{font-size:14px;font-weight:600;margin-top:20px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.8;max-width:300px;margin-top:7px}.empty-state .btn{margin-top:20px}.empty-mark{width:54px;height:58px;border:1px solid var(--line);border-radius:8px;background:var(--canvas);padding:14px 11px;display:flex;flex-direction:column;gap:6px}.empty-mark span{height:3px;background:var(--input-line);opacity:.55;border-radius:1px}.empty-mark span:last-child{width:65%}.setup-panel{padding-bottom:10px}.setup-row{display:flex;align-items:center;gap:13px;margin:0 20px;padding:17px 0;border-top:1px solid var(--line)}.setup-number{flex:none;width:34px;height:34px;border-radius:8px;background:var(--subtle);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted)}.setup-number.is-complete{color:var(--accent);background:var(--accent-soft)}.setup-row>span:nth-child(2){flex:1;min-width:0}.setup-row strong{font-size:13px;font-weight:600}.setup-row small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:3px}.setup-row>svg{flex:none;color:var(--muted)}.setup-row:hover strong{color:var(--accent)}.backup-note{display:flex;align-items:flex-start;flex-wrap:wrap;gap:14px;padding:20px 0;border-top:1px solid var(--line)}.backup-note>svg{color:var(--muted);margin-top:2px;flex:none}.backup-note>div{flex:1;min-width:min(100%,230px)}.backup-note strong{font-size:12px;font-weight:600}.backup-note p{color:var(--muted);font-size:11px;line-height:1.8;margin-top:5px;max-width:600px}.form-panel .panel-heading{padding-bottom:20px}.form-panel>form,.form-panel>.notice{margin:0 24px 24px}.form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;min-width:0}.field{min-width:0}.field>label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}input:not([type=checkbox]),select,textarea{min-height:44px;max-width:100%;background:var(--surface);color:var(--text);border-color:var(--input-line);border-radius:6px;font-size:13px}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--muted);opacity:1}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input:disabled,select:disabled{opacity:.65;background:var(--subtle)}input[type=file]{padding:9px;width:100%}input[type=file]::file-selector-button{background:var(--subtle);color:var(--text);border:0;border-radius:4px;padding:4px 8px;margin-right:10px;cursor:pointer}.field-hint{font-size:11px;color:var(--muted);margin-top:6px}.form-footer{grid-column:1 / -1;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;flex-wrap:wrap;align-items:center;gap:15px}.form-error{font-size:13px;color:#b42318;flex:1}.table-toolbar{padding:22px 24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px}.count-label{display:inline-block;font-size:11px;background:var(--subtle);border-radius:5px;padding:3px 7px;margin-left:6px;color:var(--muted);vertical-align:middle}.search-field{position:relative;width:100%;max-width:320px}.search-field svg{position:absolute;left:12px;top:14px;color:var(--muted)}.search-field input{padding-left:37px}.data-panel>.overflow-x-auto{border-radius:0 0 12px 12px}table{min-width:520px}th{background:var(--canvas);color:var(--muted)!important;font-size:11px;font-weight:600!important;white-space:nowrap}td{color:var(--text);font-size:12px}th,td{padding:16px 24px!important;border-color:var(--line)}tbody>tr:nth-child(odd),tbody>tr:nth-child(2n){background:var(--surface)}tbody>tr:hover{background:var(--canvas)}.table-mobile-label{display:none}.table-cell-value{min-width:0}.table-cell-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}@media (max-width: 679.98px){.table-container{overflow:visible}.responsive-table{display:block;min-width:0;width:100%}.responsive-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.responsive-table tbody,.responsive-table tbody>tr{display:block;width:100%}.responsive-table .table-data-row{padding:12px 16px}.responsive-table .table-data-row+.table-data-row{border-top:8px solid var(--canvas)}.responsive-table .table-data-cell{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);gap:12px;align-items:start;padding:10px 0!important;width:100%;white-space:normal}.responsive-table .table-data-cell+.table-data-cell{border-top:1px solid var(--line)}.table-mobile-label{display:block;min-width:0;font-size:12px;font-weight:600;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.table-cell-value{line-height:1.7;overflow-wrap:anywhere;white-space:normal}.table-cell-value>*,.table-cell-value .person-cell>*{min-width:0;max-width:100%}.table-cell-value .initials{flex-shrink:0}.table-cell-value .status,.table-cell-value .badge{white-space:normal}.table-cell-actions{gap:6px}.table-cell-actions>button{max-width:100%;white-space:normal}.responsive-table .table-message{display:block;width:100%;padding:24px 16px!important;overflow-wrap:anywhere;white-space:normal}}.person-cell{display:flex;align-items:center;gap:11px}.person-cell strong{font-weight:600}.person-cell small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.initials{width:34px;height:34px;background:var(--accent-soft);color:var(--accent);font-size:11px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex:none;font-weight:600}.status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;font-size:11px;white-space:nowrap;background:var(--subtle);color:var(--muted)}.status-active,.status-present,.status-paid,.status-completed,.badge-success{background:var(--success-bg);color:var(--success-fg)}.status-sent,.status-partial,.status-late,.badge-warning{background:var(--warning-bg);color:var(--warning-fg)}.status-absent,.status-overdue,.status-cancelled,.badge-danger{background:var(--danger-bg);color:var(--danger-fg)}.status-scheduled,.status-rescheduled,.badge-info{background:var(--info-bg);color:var(--info-fg)}.badge-gray{background:var(--subtle);color:var(--muted)}.badge{border-radius:5px;font-size:11px;font-weight:600}.agenda-list{padding:0 24px}.agenda-row{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.agenda-row:last-child{border-bottom:0}.agenda-time{font-size:13px}.agenda-time span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.agenda-detail{flex:1;min-width:100px}.agenda-detail strong{font-size:13px}.agenda-detail span{display:block;font-size:12px;margin-top:4px;color:var(--muted)}.notice{padding:16px 18px;border:1px solid var(--line);background:var(--subtle);color:var(--muted);border-radius:8px;font-size:12px;line-height:1.8}.notice a{color:var(--accent);text-decoration:underline}.notice strong{color:var(--text)}.report-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.report-card{padding:26px}.report-card>svg{color:var(--muted);margin-bottom:20px}.report-card strong{display:block;font-size:23px;margin:25px 0;font-weight:600}.settings-panel{padding:24px;display:flex;flex-wrap:wrap;align-items:center;gap:24px;justify-content:space-between}.settings-panel>div{max-width:600px}.settings-about{padding:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px}.settings-about h2,.settings-support h2{font-size:15px;font-weight:650;letter-spacing:-.15px}.app-version{margin-top:6px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.settings-external-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--accent);text-decoration:underline;text-underline-offset:3px;font-size:13px}.settings-external-link:hover{color:var(--text)}.settings-support{overflow:hidden}.settings-support-heading{padding:24px}.settings-support-heading p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.7;max-width:620px}.settings-support-action{padding:0 24px 16px}.pwa-notice{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px;margin-bottom:24px;border:1px solid var(--info-border);border-radius:10px;background:var(--info-bg);color:var(--info-fg)}.pwa-notice-message{display:flex;flex:1 1 320px;gap:12px;min-width:0}.pwa-notice-message>svg{flex:none;margin-top:2px}.pwa-notice h2{font-size:14px;font-weight:650}.pwa-notice p{margin-top:6px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.pwa-notice-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.pwa-notice-error{flex-basis:100%}.restore-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin:0 24px 24px}.restore-controls .field{flex:1;min-width:min(100%,240px)}.settings-panel+.form-panel>.notice{margin-top:20px}.app-dialog{padding:0;width:calc(100% - 32px);max-height:calc(100dvh - 32px);border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 24px 80px #0003;margin:auto}.app-dialog::backdrop{background:#101a32a3}.dialog-sm{max-width:440px}.dialog-md{max-width:520px}.dialog-lg{max-width:720px}.dialog-xl{max-width:900px}.dialog-full{max-width:1200px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 24px;border-bottom:1px solid var(--line)}.dialog-heading h2{font-size:17px;font-weight:650}.dialog-body{padding:24px}.schedule-actions{display:flex;flex-wrap:wrap;gap:10px}.schedule-actions .ui-button{white-space:nowrap}.schedule-form-dialog[open]{display:flex;flex-direction:column;overflow:hidden}.schedule-form-dialog>.dialog-heading{flex:none}.schedule-form-dialog>.dialog-body{min-height:0;overflow-y:auto;overscroll-behavior:contain}.schedule-enrollment-period{grid-column:1 / -1;min-width:0;overflow-wrap:anywhere}.schedule-enrollment-period a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.schedule-modal-intro{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:22px}.schedule-modal-empty{display:grid;gap:20px;justify-items:start}.schedule-form-dialog .form-footer .form-error{flex:1 0 100%;min-width:0}.delete-confirmation{display:grid;gap:16px;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.delete-confirmation strong{font-weight:650}.delete-hint{color:var(--muted);font-size:12px}.delete-validation{padding:14px 16px;border:1px solid var(--danger-border);border-radius:7px;background:var(--danger-bg);color:var(--danger-fg);white-space:pre-wrap}.delete-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding-top:16px;border-top:1px solid var(--line)}.dialog-drawer{margin:0;min-height:100dvh;max-height:100dvh;width:min(320px,calc(100% - 40px));border-radius:0}.dialog-drawer .dialog-body{padding:0}.toast-container{max-width:calc(100vw - 32px)}.toast-container>div{min-width:0;width:min(384px,calc(100vw - 32px));overflow-wrap:anywhere}.loading-state,.startup-state{padding:48px 24px;text-align:center;font-size:14px;color:var(--muted)}.startup-state{max-width:600px;margin:20vh auto;display:grid;justify-items:center;gap:20px}.startup-state h1{font-size:24px;font-weight:700;color:var(--text)}.skip-link{position:fixed;top:-100px;left:20px;background:var(--surface);color:var(--accent);padding:14px;z-index:100}.skip-link:focus{top:10px}.dark .bg-white{background-color:var(--surface)}.dark tbody>tr:nth-child(odd),.dark tbody>tr:nth-child(2n){background:var(--surface)}.dark tbody>tr:hover{background:var(--subtle)}.dark .bg-gray-50,.dark .hover\:bg-gray-50:hover,.dark .hover\:bg-gray-100:hover{background-color:var(--subtle)}.dark .text-gray-900,.dark .text-gray-800,.dark .text-gray-700{color:var(--text)}.dark .text-gray-600,.dark .text-gray-500,.dark .text-gray-400{color:var(--muted)}.dark .border-gray-200,.dark .border-gray-300,.dark .divide-gray-200>:not([hidden])~:not([hidden]){border-color:var(--line)}.dark .form-error{color:#ffb4ad}.toast{display:flex;align-items:flex-start;gap:12px;padding:12px 12px 12px 16px;border:1px solid var(--toast-border);border-radius:10px;background:var(--toast-bg);color:var(--toast-fg);box-shadow:0 8px 28px #0002;pointer-events:auto}.toast-success{--toast-bg: var(--success-bg);--toast-fg: var(--success-fg);--toast-border: var(--success-border)}.toast-warning{--toast-bg: var(--warning-bg);--toast-fg: var(--warning-fg);--toast-border: var(--warning-border)}.toast-error{--toast-bg: var(--danger-bg);--toast-fg: var(--danger-fg);--toast-border: var(--danger-border)}.toast-info{--toast-bg: var(--info-bg);--toast-fg: var(--info-fg);--toast-border: var(--info-border)}.toast-icon{flex:none;margin-top:12px}.toast-content{flex:1;min-width:0;padding-block:3px}.toast-content strong{font-size:12px;font-weight:700}.toast-content p{font-size:12px;line-height:1.7;margin-top:3px}.toast .toast-close{color:var(--toast-fg)}.toast .toast-close:hover{background:var(--toast-fg);color:var(--toast-bg)}@media (min-width: 480px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 680px){.main-content{padding:36px 30px 48px}.topbar{padding-inline:30px}.form-columns-2,.form-columns-3,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1024px){.sidebar.desktop-sidebar{position:fixed;inset:0 auto 0 0;width:240px;display:flex}.app-workspace{margin-left:240px}.topbar{left:240px}.bottom-navigation{display:none}.breadcrumb{display:flex}.form-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1220px){.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1.75fr) minmax(280px,1fr)}.main-content{padding:40px}.topbar{padding-inline:40px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}@media (max-width: 1023.98px){html{scroll-padding-bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom,0px))}.main-content{padding-bottom:calc(40px + var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.main-content :is(a,button,input,select,textarea){scroll-margin-bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom,0px))}.toast-container{bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom,0px))}}
