:root {
 --theme-background:#f4f7f9;
 --theme-foreground:#172331;
 --theme-primary:#0c5264;
 --theme-sidebar:#104e64;
 --theme-sidebarText:#f4f7f9;
 --theme-muted:#586672;
 --theme-border:#e5e5e5;
 --theme-soft:#e7f1f4;
 --theme-subtle:#f4f7f9;
 --theme-ring:#0c7184;
 --theme-destructive:#e7000b;
 --theme-chart1:#f54900;
 --theme-chart2:#009689;
 --theme-chart3:#104e64;
 --theme-chart4:#ffb900;
 --theme-chart5:#fe9a00;
}
:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--theme-foreground);background:var(--theme-background);font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex}aside{width:245px;position:fixed;inset:0 auto 0 0;background:var(--theme-sidebar);color:var(--theme-sidebarText);padding:35px 23px;display:flex;flex-direction:column}.brand{font-size:38px;font-weight:800;letter-spacing:-2px;color:white}.brand span{display:block;font-size:8px;letter-spacing:1.5px;margin-top:3px}.client{margin:40px 0 27px;border-top:1px solid #456563;padding-top:25px;font-size:10px;letter-spacing:1.5px;color:var(--theme-sidebarText)}.client strong{display:block;color:#fff;font-size:19px;letter-spacing:0;margin:10px 0}.client a{color:var(--theme-sidebarText);font-size:12px;letter-spacing:0}nav{display:grid;gap:6px}nav button{text-align:left;background:transparent;color:var(--theme-sidebarText);border:0;padding:13px 14px;font-size:14px;border-radius:7px}nav button.active{background:var(--theme-soft);color:var(--theme-foreground);font-weight:600}.aside-foot{margin-top:auto;font-size:9px;letter-spacing:1px;line-height:2}.aside-foot span{letter-spacing:0;font-size:11px;color:var(--theme-sidebarText)}main{margin-left:245px;padding:36px 42px;width:calc(100% - 245px);max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.eyebrow{font-size:10px;font-weight:650;letter-spacing:2px;color:var(--theme-muted)}h1{font-size:33px;margin:13px 0 7px;letter-spacing:-1px}p{color:var(--theme-muted);line-height:1.6;margin:0}h2{font-size:18px;margin:0 0 8px}h3{font-size:14px}.badge{border:1px solid var(--theme-border);border-radius:30px;padding:9px 14px;color:#617747;font-size:12px}.notice{background:#f5f0df;border:1px solid #e4dcc0;border-radius:8px;padding:13px 17px;font-size:12px;color:#75633d;line-height:1.6}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:25px 0}label{font-size:11px;color:var(--theme-muted);display:grid;gap:7px}input,select,button{font:inherit}input,select{padding:10px 11px;border:1px solid var(--theme-border);border-radius:6px;background:white;color:var(--theme-foreground);min-width:115px}button{cursor:pointer;background:var(--theme-primary);color:#fff;border:0;border-radius:6px;padding:11px 16px}button:hover{filter:brightness(1.1)}button:focus-visible,a:focus-visible{outline:3px solid var(--theme-ring);outline-offset:3px}.filters button{margin-left:auto}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:20px 0}.card,.panel{background:white;border:1px solid var(--theme-border);border-radius:10px;padding:22px}.card small{color:var(--theme-muted);font-size:11px}.card strong{display:block;font-size:30px;font-weight:600;margin:15px 0 8px;letter-spacing:-1px}.card p{font-size:11px}.panel{margin:19px 0}.twocol{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.twocol .panel{margin:0}.empty{padding:45px 20px;text-align:center;color:var(--theme-muted);border:1px dashed var(--theme-border);border-radius:6px;margin-top:20px;line-height:1.8}.empty strong{display:block;color:var(--theme-foreground);font-size:15px}.tablewrap{overflow:auto;margin-top:20px}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}th{font-weight:500;color:var(--theme-muted);background:var(--theme-subtle)}td,th{padding:13px 12px;border-bottom:1px solid var(--theme-border);white-space:nowrap}td:last-child,th:last-child{text-align:right}.pill{font-size:10px;color:#846c35;background:#f7f0db;border-radius:20px;padding:5px 9px}.source{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--theme-border);padding:19px 0;gap:15px}.source p{font-size:12px}.source strong{display:block;margin-bottom:5px}.source a{color:var(--theme-foreground)}.toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:18px 0}.toolbar label{display:flex;align-items:center}.toolbar input[type=checkbox]{min-width:0}.method{font-size:12px;line-height:1.9;color:var(--theme-muted)}footer{margin-top:30px;font-size:10px;color:var(--theme-muted);display:flex;justify-content:space-between;gap:15px}.error{color:var(--theme-destructive);padding:15px;background:#fff1ed}pre{background:var(--theme-subtle);padding:18px;overflow:auto;font-size:11px}.timing input{width:95px;min-width:0}.linkbtn{background:var(--theme-soft);color:var(--theme-foreground)}.source-grid{display:grid;gap:10px}.bars{display:flex;align-items:end;height:160px;gap:12px;padding:20px 0}.bar{flex:1;background:var(--theme-chart2);min-height:2px;position:relative;border-radius:3px 3px 0 0}.bar span{position:absolute;top:100%;font-size:9px;margin-top:8px;white-space:nowrap} @media(max-width:1050px){aside{width:200px}main{margin-left:200px;width:calc(100% - 200px);padding:25px}.cards{grid-template-columns:repeat(2,1fr)}.twocol{grid-template-columns:1fr}}@media(max-width:650px){body{display:block}aside{position:static;width:100%;padding:18px}.brand{font-size:25px}.brand span,.aside-foot{display:none}.client{margin:12px 0;padding-top:12px}.client strong{font-size:16px}nav{display:flex;overflow:auto}nav button{white-space:nowrap;padding:10px}main{margin:0;width:100%;padding:20px}header{align-items:start;gap:10px}h1{font-size:27px}.badge{font-size:10px}.cards{gap:9px}.card{padding:15px}.card strong{font-size:24px}.filters label{flex:1}footer{display:block}}
[hidden]{display:none!important}
/* Compact report grids and per-column menus. */
.tablewrap table{width:100%;border-collapse:collapse}.tablewrap th,.tablewrap td{padding:9px 10px;text-align:center!important;font-size:12px;white-space:normal}.tablewrap th:first-child,.tablewrap td:first-child{text-align:left!important}.tablewrap th{min-width:96px;max-width:200px;vertical-align:middle}.column-heading{display:flex;align-items:center;justify-content:center;gap:5px}.tablewrap th:first-child .column-heading{justify-content:flex-start}.column-heading>span{line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.column-menu-button{padding:3px 6px;min-width:22px;border:0;background:transparent;color:var(--theme-muted);border-radius:4px}.column-menu-button:hover,.column-menu-button.filtered{background:var(--theme-soft);color:var(--theme-sidebar)}.column-summary{font-size:11px!important;margin:7px 0 0!important}.column-summary:empty{display:none}.column-menu{width:330px;max-width:90vw;border:1px solid var(--theme-border);border-radius:10px;padding:18px;color:var(--theme-foreground);box-shadow:0 18px 60px color-mix(in srgb, var(--theme-sidebar) 20%, transparent)}.column-menu::backdrop{background:color-mix(in srgb, var(--theme-sidebar) 13%, transparent)}.column-menu>strong{display:block;margin-bottom:12px}.column-menu>button{display:block;width:100%;text-align:left;background:var(--theme-background);color:var(--theme-foreground);border:0;margin:5px 0;padding:9px;border-radius:4px}.column-menu>button:hover{background:var(--theme-soft)}.column-menu input[type=search]{width:100%;margin:12px 0}.column-choices{max-height:230px;overflow:auto;border:1px solid var(--theme-border);padding:6px}.column-choices label{display:flex;gap:8px;align-items:center;padding:6px;font-size:12px}.column-choices input{width:auto}.column-selection{display:flex;gap:10px;margin-bottom:8px}.column-selection button{background:transparent;color:var(--theme-primary);padding:4px;border:0;text-decoration:underline}

.timing-input{width:150px;max-width:100%;text-align:center}.toolbar input[type=date]{min-width:135px}

.occupancy-summary{display:flex;align-items:center;gap:22px}.occupancy-summary>div:first-child{flex:0 0 160px}.occupancy-summary>div:first-child p{font-size:11px}.occupancy-summary .cards{flex:1;grid-template-columns:repeat(3,1fr)}.estimate-toggle{display:flex;align-items:center;gap:6px}.estimate-toggle input{min-width:0}.census-mode{margin-bottom:15px}@media(max-width:800px){.occupancy-summary{display:block}.occupancy-summary .cards{grid-template-columns:repeat(3,1fr)}}

.tablewrap td.text-left{text-align:left!important}

.filter-panel{margin:24px 0;background:var(--theme-soft);border:1px solid var(--theme-border);border-left:5px solid var(--theme-primary);border-radius:12px;padding:18px 20px;box-shadow:0 3px 12px color-mix(in srgb, var(--theme-sidebar) 4%, transparent)}.filter-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.filter-heading h2{font-size:15px;margin:0}.filter-heading span{font-size:11px;color:var(--theme-muted)}.filter-panel .filters{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:15px;margin:17px 0 0}.financial-options{grid-column:1/4;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.filter-actions{grid-column:4/6;display:flex;gap:10px;justify-content:flex-end}.filter-panel .filters button{margin:0;white-space:nowrap}.filter-panel label{font-weight:500}.filter-panel input,.filter-panel select{min-width:0;width:100%}.filter-panel .estimate-toggle input{width:auto}.ar-total{display:block;font-size:38px;color:var(--theme-primary);margin:20px 0 10px;letter-spacing:-1px}.overview-top{grid-template-columns:1.2fr 1fr}.overview-metrics .cards{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1050px){.overview-metrics .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.column-menu::backdrop{background:color-mix(in srgb, var(--theme-sidebar) 33%, transparent)}@media(max-width:900px){.filter-panel .filters{grid-template-columns:repeat(2,minmax(110px,1fr))}.financial-options,.filter-actions{grid-column:1/-1}.filter-heading{align-items:start}.filter-heading span{max-width:180px}.overview-top{grid-template-columns:1fr}}@media(max-width:650px){.filter-panel{padding:15px}.overview-metrics .cards{grid-template-columns:1fr}.filter-heading span{display:none}}

.tablewrap tr.total-row td{font-weight:600;background:var(--theme-soft);border-top:2px solid var(--theme-border)}

.total-column{position:sticky;right:0;background:var(--theme-soft);z-index:2;font-weight:600;box-shadow:-2px 0 3px color-mix(in srgb, var(--theme-sidebar) 7%, transparent)}th.total-column{z-index:3}.total-row td{position:sticky;bottom:0;background:var(--theme-soft);font-weight:600}.total-row .total-column{z-index:4}

.census-view-buttons{flex-wrap:wrap}.census-view-buttons button[aria-pressed="false"]{background:var(--theme-soft);color:var(--theme-primary)}.census-view-buttons button:focus-visible{outline:2px solid var(--theme-primary);outline-offset:2px}

.marketing-summary td:first-child{text-align:center!important}.marketing-summary th .column-heading,#marketing-patients th:not(:first-child) .column-heading{justify-content:center}.referrer-update{margin-left:8px;padding:5px 9px}.marketing-summary .column-heading{white-space:normal}#referrer-editor{border:1px solid var(--theme-border);border-radius:8px;color:var(--theme-foreground);max-width:calc(100vw - 32px);padding:24px}#referrer-editor input{max-width:100%;min-width:230px}

.marketing-breakdown>.panel{min-width:0}.marketing-pie-layout{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin:16px 0}.marketing-pie{width:170px;aspect-ratio:1;border-radius:50%;flex-shrink:0}.marketing-pie-legend{list-style:none;margin:0;padding:0;display:grid;gap:7px}.marketing-pie-legend li{display:flex;align-items:center;gap:8px}.marketing-pie-legend li>span{width:12px;height:12px;border-radius:50%;flex-shrink:0}.marketing-pie-legend strong{margin-left:auto}

.cash-buttons{flex-wrap:wrap}.cash-rule-form{margin:1rem 0}.cash-rule-form fieldset{border:1px solid var(--theme-border);border-radius:8px;padding:.75rem}.cash-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;max-width:31rem}.cash-days label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:0;min-height:2.75rem;padding:.25rem;border:1px solid var(--theme-border);border-radius:6px;cursor:pointer;font-variant-numeric:tabular-nums}.cash-days label:has(input:checked){background:var(--theme-soft);border-color:var(--theme-chart5)}.cash-days input{min-width:0;width:1rem;height:1rem;margin:0;padding:0;accent-color:var(--theme-primary)}.cash-paid{display:inline-flex;align-items:center;gap:.35rem}.cash-paid input{margin:0}.cash-rule-form input[type=number],#cash-ap-form input[type=number]{width:8rem}#cash-feedback:empty{display:none}
.cash-drilldown th:first-child,.cash-drilldown td:first-child{min-width:13rem}
.cash-row-label{display:flex;align-items:center;gap:.45rem;min-width:0}
.cash-row-depth-1{padding-left:.8rem}.cash-row-depth-2{padding-left:1.6rem}.cash-row-depth-3{padding-left:2.4rem}.cash-row-depth-4{padding-left:3.2rem}.cash-row-depth-5{padding-left:4rem}
.cash-row-toggle,.cash-row-toggle-space{display:inline-grid;flex:0 0 1.35rem;width:1.35rem;min-height:1.35rem;place-items:center}
.cash-row-toggle{padding:0;border:1px solid var(--theme-border);border-radius:4px;background:var(--theme-soft);color:var(--theme-primary);font-size:.95rem;line-height:1}
.cash-row-toggle[aria-expanded=true]{background:var(--theme-soft)}
.cash-forecast-total td{font-weight:600;background:var(--theme-soft)}
.cash-payroll-roster input[type=number]{width:8rem;min-width:0}
.cash-payroll-roster td:nth-child(3){text-align:left!important}
.cash-payroll-roster .cash-days{width:12rem}.cash-payroll-roster .cash-days[hidden]{display:none}
#cash-copy-payroll{display:block;margin:.35rem auto 0;padding:.25rem .5rem;font-size:.75rem}
.marketing-referrals td:nth-child(-n+2),.marketing-referrals th:nth-child(-n+2),#marketing-patients td:nth-child(2),#marketing-patients td:nth-child(3){text-align:left!important}
.marketing-referrals th:nth-child(-n+2) .column-heading{justify-content:flex-start}
.referrer-cell{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .65rem}
.referrer-value{overflow-wrap:anywhere}
.referrer-cell .referrer-update{margin:0;padding:.22rem .5rem;border:1px solid var(--theme-border);background:var(--theme-subtle);color:var(--theme-foreground);font-size:.72rem;white-space:nowrap}

.stay-metric{padding:2px 4px;background:transparent;color:var(--theme-primary);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#stay-cohort-dialog{width:min(900px,calc(100vw - 32px));max-height:85vh;padding:24px;border:1px solid var(--theme-border);border-radius:10px;color:var(--theme-foreground)}
#stay-cohort-dialog form{display:flex;justify-content:flex-end;margin-bottom:12px}
#stay-cohort-dialog::backdrop{background:color-mix(in srgb, var(--theme-sidebar) 40%, transparent)}

.overview-metrics .card{position:relative}
.overview-card-action{position:absolute;inset:0;width:100%;height:100%;background:transparent;border-radius:10px;padding:0}
.overview-card-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0 8px}
.overview-card-split strong{font-size:clamp(13px,1.35vw,21px);letter-spacing:0;margin:4px 0 0}

.overview-metrics .card{text-align:center}
.overview-metrics .card>small{display:block;color:var(--theme-foreground);font-size:13px;font-weight:650}
.overview-metrics .card strong{color:var(--theme-primary);font-weight:750}
.overview-metrics .card>strong{font-size:32px;margin:13px 0 9px}
.overview-metrics .card p{font-size:12px}
.overview-card-split small{color:var(--theme-muted);font-weight:600}
@media(min-width:1051px){
 .overview-metrics .card:nth-child(5){grid-column:2}
}
.filter-panel .filters{display:flex;flex-direction:column;align-items:stretch;gap:14px}
.period-filters,.scope-filters{display:flex;flex-wrap:wrap;align-items:end;justify-content:flex-start;gap:12px}
.period-filters>label,.scope-filters>label{flex:0 1 140px;min-width:120px}
.period-filters .census-view-buttons{margin:0;gap:8px}
.period-filters .census-view-buttons button{padding-inline:12px;border:1px solid var(--theme-primary)}
.period-filters .census-view-buttons button[aria-pressed="false"]{background:var(--theme-surface,#fff)}
.period-filters .census-view-buttons[hidden]{display:none}
.custom-period-label{align-self:end;padding-bottom:12px;font-size:12px;font-weight:600}
.scope-filters .financial-options,.scope-filters .filter-actions{align-self:end;min-height:41px;gap:12px}
.scope-filters .filter-actions{align-items:center;justify-content:flex-start}
.scope-filters .financial-options label{flex:none;white-space:nowrap}
.overview-ar-table{width:100%;margin:12px 0}
.overview-ar-table th:first-child{text-align:left}
.overview-ar-table tbody th,.overview-ar-table tfoot th{background:transparent}
.overview-ar-table th:not(:first-child),.overview-ar-table td{text-align:right;font-variant-numeric:tabular-nums}
.overview-ar-table .overview-ar-live,.overview-ar-table .overview-ar-live th,.overview-ar-table tfoot{font-weight:700}
.overview-ar-table tfoot{background:var(--theme-soft);border-top:1px solid var(--theme-border)}
.overview-top .tablewrap{max-width:540px}
.overview-top .tablewrap table{min-width:0}
.overview-top .tablewrap th{min-width:0}
.overview-ar-table{max-width:460px}
.twocol.marketing-breakdown{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start}
.marketing-breakdown .marketing-pie-layout{gap:14px;margin:12px 0}
.marketing-breakdown .marketing-pie{width:120px}
.marketing-revenue .tablewrap td:first-child{text-align:left!important}
.marketing-revenue .tablewrap th:first-child{text-align:center!important}
@media(max-width:1100px){
 .twocol.marketing-breakdown{grid-template-columns:minmax(0,1fr)}
 .marketing-breakdown>.panel:first-child{max-width:360px}
}
.eob-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;align-items:end;margin-top:18px}
.eob-form label{min-width:0}
.eob-form input{width:100%;min-width:0}
#eob-drop{border:1px dashed var(--theme-primary);border-radius:8px;padding:10px}
#export-format{width:auto;min-height:41px}
@media(max-width:650px){
 header{flex-wrap:wrap}
 .panel,.twocol,.cards{min-width:0}
 .eob-form input,.eob-form button{min-height:44px;font-size:16px}
 .scope-filters .filter-actions{flex-wrap:wrap}
}
@media print{
 body{display:block;background:white}
 aside,.filter-panel,.notice,header .toolbar,header .badge,#eob-upload,#eob-bank,button{display:none!important}
 main{width:100%;max-width:none;margin:0;padding:0}
 .tablewrap{overflow:visible}
 .tablewrap th,.tablewrap td{min-width:0;white-space:normal;padding:4px}
 tr{break-inside:avoid}
 @page{size:landscape;margin:10mm}
}
.overview-top{grid-template-columns:minmax(250px,.85fr) minmax(0,1.2fr) minmax(0,1fr)}
.overview-top>.panel{min-width:0}
#eob-drop{display:grid;gap:7px;grid-column:1/-1;padding:20px;cursor:pointer}
#eob-drop.drag-over{background:var(--theme-soft);border-style:solid}
@media(max-width:1150px){.overview-top{grid-template-columns:minmax(0,1fr)}}
