.report-filter-box{background:#fff;border:1px solid var(--line);border-radius:4px;margin:-8px 0 22px;padding:14px 18px}
.report-filter-box summary{cursor:pointer;font-size:13px;color:var(--ink);list-style-position:inside}.report-filter-box summary span{color:var(--muted);font-size:11px;margin-left:12px}
#analytics-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-top:20px}#analytics-filters label{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#77717a}#analytics-filters select,#analytics-filters input{min-width:0;width:100%}#analytics-filters .actions{align-items:end}.filter-explanation{grid-column:1/-1;color:var(--muted);font-size:11px;margin:0 0 3px}
.overview-columns{margin-bottom:22px;grid-template-columns:1fr 1fr}.overview-columns .panel-head{align-items:start}.column-chart{overflow:visible}.column-chart .column-value{fill:#51434f;font-size:12px;font-weight:600}.column-bar{transform-box:fill-box;transform-origin:center bottom;animation:column-grow .55s ease-out both;transition:opacity .18s}.column-item:hover .column-bar{opacity:.7}.column-item:nth-of-type(2) .column-bar{animation-delay:.07s}.column-item:nth-of-type(3) .column-bar{animation-delay:.14s}.drilldown-scope{padding:14px 20px;background:#fcf6f7;color:#925763;font-size:12px;border-bottom:1px solid var(--line)}
@keyframes column-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.backup-panel{margin-top:24px}.backup-help{padding:17px 22px 0;color:var(--muted);font-size:12px;line-height:1.8}.backup-panel #backup-status:not(:empty){padding:15px 22px;color:var(--primary);font-size:13px}.backup-panel .table-wrap{margin-top:16px}
.topbar .title{min-width:0}.topbar-right{flex-shrink:0;gap:16px}.account-role{font-size:12px;color:#914052;white-space:nowrap}.account-name{font-size:14px;color:#2c3946;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-right .date-text{display:inline-block;white-space:nowrap;font-size:12px;border-left:1px solid var(--line);padding-left:16px}.account-logout{color:#b32038;border-color:#e6bac3;background:#fff5f6;white-space:nowrap;font-weight:600;min-height:35px;padding:7px 13px}.account-logout:hover{color:#a4152a;background:#fde8ed;border-color:#d99caa}.sidebar-tools{margin-top:auto;padding:20px 27px;border-top:1px solid var(--line)}.sidebar-tools .text-btn{font-size:13px;color:#5e6875;padding:8px 0}.sidebar-tools .text-btn:hover{color:var(--primary)}
@media(max-width:1100px){.topbar .title>.muted{display:none}.topbar-right{gap:11px}.topbar-right .date-text{padding-left:11px}.topbar .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:680px){.topbar{height:auto;min-height:99px;padding:10px 16px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px}.topbar .title{grid-column:2}.topbar-right{grid-column:1/-1;justify-content:flex-end;min-width:0;gap:9px}.topbar-right .date-text{display:inline-block;font-size:11px;padding-left:9px}.topbar-right .time-zone{display:none}.account-name{font-size:13px;max-width:80px}.account-role{font-size:11px}.account-logout{font-size:12px;padding:6px 10px;min-height:33px}}
/* Stronger type contrast, with restrained red accents on the white workspace. */
:root{--muted:#65707c;--line:#dfe3e8;--bg:#f4f5f7}
.page-head p,.panel-head p,.table-footer,.report-notice,.stat-label,.stat-foot,.substat span,.filter-item label,.form-field>label,.nav-label,.account-role,.date-text{color:#65707c}
.page-head p,.panel-head p{font-size:12px}.panel{border-color:#dfe3e8;box-shadow:0 3px 12px #26344505}.panel-head h2{border-left:3px solid var(--primary);padding-left:10px;color:#28333e}.nav button{color:#525d69}.nav button.active{color:#bb1c30;background:#fbecef;box-shadow:inset 3px 0 var(--primary)}.swiss-eyebrow{color:#98505d!important}.record-tabs button{color:#5d626d;font-weight:600}.record-tabs button.active{color:#b11b31;background:#fcebef;border-color:#e8a7b2}.daily-note{color:#914150;background:#fff1f3;border-color:#edccd3}.stat-value{color:#28333e}.primary-stat .stat-value{color:#fff}.primary-stat .stat-label,.primary-stat .stat-foot{color:#fff1f3}.substat strong{color:#33404e}
th{background:#f5edf0;color:#555360;font-size:12px;font-weight:650;border-bottom:1px solid #ddd4da}td{color:#36414d;font-size:14px;border-bottom-color:#e6e9ed}td strong,.records-table td.patient{color:#222e3a;font-weight:650}.records-table td.number{color:#263746;font-weight:650;font-variant-numeric:tabular-nums}.records-table tbody tr:nth-child(even){background:#fcfafb}.records-table tbody tr:hover,tbody tr:hover{background:#fff2f5}.records-table td .muted{color:#667281}.record-summary{font-size:12px!important;color:#5e6875!important}.record-summary b{color:#b81e35}.row-actions button,.row-actions button.danger{color:#ad2138;font-weight:550}.badge.gray{color:#53616f;background:#edf0f4}.badge{font-weight:550}.table-footer{font-size:12px}.report-tabs button{color:#67717e}.bar-text,.bar-text span:last-child,.legend{color:#636d79}.chart-svg text{fill:#707a86}.settings-fields>label,.settings-fields p,.option-help{color:#626c78}input::placeholder,textarea::placeholder{color:#7c8590}.topbar .title{color:#526170}
@media(prefers-reduced-motion:reduce){.column-bar{animation:none;transition:none}}
@media(max-width:1000px){#analytics-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.report-filter-box{padding:13px;margin-top:0}.report-filter-box summary span{display:block;margin:7px 0 0 16px}#analytics-filters{gap:12px}.overview-columns{grid-template-columns:1fr}.column-chart .column-value{font-size:14px}}
@media print{.report-filter-box{display:none}.column-bar{animation:none}.panel{break-inside:avoid}.overview-columns{display:grid;grid-template-columns:1fr 1fr}}
/* Daily summaries: clear totals and a restrained red management focus. */
.reconciliation-filters{padding:20px;margin-bottom:22px}.reconciliation-filters form{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end}.reconciliation-filters label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#536170}.reconciliation-total{padding:28px 30px;border:1px solid #e5b7c1;border-top:4px solid #c92332;border-radius:8px;background:linear-gradient(110deg,#fff,#fff1f3);margin-bottom:24px}.reconciliation-result{display:flex;align-items:center;gap:14px}.reconciliation-result strong{font-size:20px;color:#9f2337}.reconciliation-result span,.reconciliation-total>p{font-size:13px;color:#695c64}.reconciliation-money{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:28px;align-items:center;margin:26px 0}.reconciliation-money>div{display:flex;flex-direction:column;gap:12px}.reconciliation-money span{font-size:14px;color:#635e6b}.reconciliation-money strong{font-size:32px;color:#9f2337;font-variant-numeric:tabular-nums;white-space:nowrap}.reconciliation-versus{font-size:24px!important;color:#b2838d!important}.reconciliation-difference{border-left:1px solid #dfb8c0;padding-left:28px}.reconciliation-total.unbalanced{border-color:#cf963e;background:#fffbf2}.unbalanced .reconciliation-result strong,.unbalanced .reconciliation-difference strong{color:#945813}.reconcile-pending,.reconcile-receipts{margin-top:22px}.reconcile-pending>summary,.reconcile-receipts>summary{padding:20px;font-weight:650;cursor:pointer}.reconcile-pending>p{margin:0;padding:0 20px 16px;color:#68717c;font-size:13px}.binding-body{padding:20px 28px}.binding-body .actions{margin:12px 0 20px}.binding-body input{min-width:160px}.binding-body .muted{line-height:1.6;font-size:13px}.handoff-destination{display:block;margin-bottom:18px;font-size:14px;font-weight:600}.handoff-destination select{display:block;width:100%;margin-top:8px}.records-table .row-actions:has(.bind-record){flex-wrap:wrap;gap:4px 10px}.records-table .bind-record{color:#526977;font-weight:600}
@media(max-width:1000px){.reconciliation-money{grid-template-columns:1fr 1fr;gap:22px}.reconciliation-versus{display:none}.reconciliation-difference{border:0;padding:15px 0 0;grid-column:1/-1;border-top:1px solid #dfb8c0}.reconciliation-money strong{font-size:28px}}
@media(max-width:680px){.reconciliation-total{padding:20px}.reconciliation-money strong{font-size:22px}.reconciliation-result{align-items:flex-start;flex-direction:column}.reconciliation-filters label{flex:1;min-width:140px}.binding-body{padding:16px}.binding-body .actions{flex-wrap:wrap}}
.record-head-tools{display:flex;flex-direction:column;align-items:flex-end;gap:16px}.list-total{display:grid;grid-template-columns:auto auto;align-items:center;gap:6px 22px;background:#fff1f3;border:1px solid #ebbac4;border-left:4px solid #c92332;padding:14px 22px;border-radius:6px;min-width:330px;color:#9f2436}.list-total>span{font-size:14px;font-weight:600}.list-total strong{font-size:29px;line-height:1.2;font-variant-numeric:tabular-nums}.list-total small{grid-column:1/-1;text-align:right;font-size:12px;color:#7e4c56}.patient-lookup-panel{margin:0 0 20px;border-top:3px solid #c92332}.patient-lookup-heading{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.patient-lookup-heading h2{font-size:17px;margin:0 0 6px}.patient-lookup-heading p{color:#65717c;font-size:13px;margin:0;line-height:1.6}#patient-lookup-form{display:flex;gap:10px;flex:none}#patient-lookup-name{width:220px}.patient-lookup-table td{vertical-align:middle}.patient-lookup-table small{display:block;font-size:12px;color:#6a7480;margin-top:5px}.patient-lookup-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;border-top:1px solid #e6e9ed;font-size:12px;color:#61707e}.patient-lookup-footer>div{display:flex;gap:8px}.lookup-empty{padding:0 22px 16px;color:#63717f;font-size:14px}.handoff-reference{display:block;color:#a22e41;font-size:11px;margin-top:5px}.handoff-form-note{margin:0 0 16px;padding:10px 14px;border-left:3px solid #c92332;background:#fff3f5;color:#873144;font-size:13px;line-height:1.6}.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}
@media(max-width:1100px){.patient-lookup-heading{align-items:flex-start;flex-direction:column}.record-head-tools .actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:680px){.record-head-tools{width:100%;align-items:stretch}.list-total{min-width:0;padding:13px 16px;gap:5px 12px}.list-total strong{font-size:25px}.patient-lookup-heading{padding:16px}#patient-lookup-form{width:100%;flex-wrap:wrap}#patient-lookup-name{flex:1;min-width:130px;width:0}.patient-lookup-footer{flex-wrap:wrap}.patient-lookup-table{min-width:670px}}
.daily-stats,.daily-panel{margin-top:24px}
.records-toolbar>label{display:flex;flex-direction:column;gap:7px;min-width:145px;color:#526071;font-size:13px}
.records-toolbar>label input,.records-toolbar>label select{min-width:140px}
.matrix-table th:first-child{min-width:105px;position:sticky;left:0;z-index:1;background:#fff}
.matrix-table thead th:first-child,.matrix-table tfoot th:first-child{background:#f4e6e9}
.matrix-table td{min-width:100px}
.matrix-table .row-total{font-weight:700;color:#9e1f30;background:#fff5f6}
table tfoot th,table tfoot td{background:#f4e6e9!important;color:#8f1d2f!important;font-weight:700;border-top:2px solid #d9b0b8;padding:17px 18px}
.difference{font-weight:800;color:#b31c32!important;background:#ffedf0}
.validation-issues{margin:20px;padding:20px;background:#fff3e0;border-left:4px solid #bf801f;color:#7c4f11}
.boss-focus{margin:24px 0;background:linear-gradient(115deg,#fff,#fff4f5);border:1px solid #e3c9ce;border-top:4px solid #bd2036;border-radius:8px;padding:28px}
.focus-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.focus-heading h2{font-size:25px;margin:0 0 8px}.focus-heading p{color:#667080;margin:5px 0}
.focus-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:28px 0}
.focus-numbers>div,.focus-money>div{display:flex;flex-direction:column;gap:9px}
.focus-numbers strong{font-size:35px;font-variant-numeric:tabular-nums;color:#272d38}.focus-numbers small{font-size:13px;font-weight:400}
.focus-numbers span,.focus-money span{color:#626573;font-size:14px}
.focus-money{border-top:1px solid #e6cdd2;padding-top:22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.focus-money strong{font-size:28px;color:#b51e32;font-variant-numeric:tabular-nums}.focus-money strong small{font-size:17px}.focus-money small{color:#795c65;font-size:12px}
.project-rank{padding:4px 25px 24px}.project-rank>div{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:22px}.project-rank .bar-track{grid-column:1/-1}.project-rank strong{color:#ad2034;font-variant-numeric:tabular-nums}
#field-diagnosis{min-height:115px;line-height:1.8;resize:vertical;font-size:15px}
.detail-grid dd{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:750px){.boss-focus{padding:20px}.focus-heading{align-items:flex-start;flex-direction:column}.focus-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.focus-money{grid-template-columns:1fr}.focus-money>div{border-bottom:1px solid #f0dfe2;padding-bottom:12px}.daily-panel .panel-head{flex-wrap:wrap;gap:15px}.daily-stats .stat-value{font-size:26px}}
@media print{.daily-panel{break-inside:avoid}.boss-focus{background:#fff}.matrix-table th:first-child{position:static}.validation-issues{break-inside:avoid}}
.section-title{margin:30px 0 18px}.section-title h2{font-size:21px;margin:0 0 7px}.section-title p{color:#667080;font-size:13px;margin:0}
.staff-disclosure{margin-top:24px}.staff-disclosure>summary{padding:22px;font-weight:700;cursor:pointer}
/* Wide entry sheet: four fields per row and notes side by side. */
dialog.entry-dialog{width:min(1400px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden}
dialog.entry-dialog[open]{display:flex;flex-direction:column}
.entry-dialog .modal-head{position:static;flex:none;padding:20px 28px 16px}
.entry-dialog .modal-head h2{font-size:23px}
.entry-dialog #entry-form{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.entry-dialog .entry-fields{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:20px 28px}
.entry-dialog .entry-fields::-webkit-scrollbar{display:none}
.entry-dialog .form-grid{padding:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 22px;align-items:start}
.entry-dialog .form-field{min-width:0;gap:6px;font-size:14px}
.entry-dialog input,.entry-dialog select{min-width:0;width:100%;height:40px;min-height:40px;padding:8px 11px}
.entry-dialog .entry-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:16px}
.entry-dialog .entry-notes>.full{grid-column:auto}
.entry-dialog .entry-notes>.full:only-child{grid-column:1/-1}
.entry-dialog textarea,.entry-dialog #field-diagnosis{min-height:80px;max-height:160px;resize:vertical;line-height:1.6;font-size:14px;padding:10px 12px}
.entry-dialog .modal-foot{position:static;flex:none;padding:14px 28px;gap:12px}
.entry-dialog .modal-foot .btn{min-width:104px;height:40px}
.entry-dialog .form-error{flex:none;margin:0 28px 12px}
@media(min-width:961px) and (max-height:740px){.entry-dialog .modal-head{padding:15px 24px 12px}.entry-dialog .entry-fields{padding:14px 24px}.entry-dialog .form-grid{gap:10px 20px}.entry-dialog .entry-notes{margin-top:12px}.entry-dialog .modal-foot{padding:12px 24px}}
@media(max-width:960px){dialog.entry-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.entry-dialog .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 16px}.entry-dialog .entry-fields{padding:18px 22px}}
@media(max-width:680px){dialog.entry-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.entry-dialog .modal-head{padding:16px 18px 13px}.entry-dialog .modal-head h2{font-size:20px}.entry-dialog .entry-fields{padding:17px 18px}.entry-dialog .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 13px}.entry-dialog .entry-notes{grid-template-columns:1fr;gap:15px}.entry-dialog .modal-foot{padding:12px 18px}.entry-dialog .modal-foot .btn{min-width:96px}.entry-dialog .form-error{margin:0 18px 12px}}
.batch-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 22px;margin:0 0 22px;border:1px solid #ead5db;border-left:3px solid #ba243a;border-radius:5px;background:#fffafa;color:#42444e}
.batch-panel strong{font-size:14px}.batch-panel strong span{font-size:12px;font-weight:400;color:#747380;margin-left:12px}.batch-panel p{font-size:12px;line-height:1.8;margin:6px 0 0}.batch-panel summary{margin-top:7px;font-size:12px;color:#925465;cursor:pointer}.batch-panel>.btn{flex:none}.batch-panel b{color:#af2036}
@media(max-width:680px){.batch-panel{align-items:flex-start;flex-direction:column;gap:12px;padding:16px}.batch-panel>.btn{align-self:flex-end}}
@media print{.batch-panel{display:none!important}}
.multi-select{position:relative;border:1px solid #d8dce3;border-radius:4px;background:white;color:#263442}
.multi-select summary{padding:11px 13px;min-height:43px;cursor:pointer;font-size:14px;line-height:21px;overflow-wrap:anywhere}
.multi-select[open]{border-color:#c92332;box-shadow:0 0 0 2px #c9233210;z-index:8}
.multi-choices{position:absolute;z-index:20;top:100%;left:-1px;min-width:100%;width:100%;max-height:280px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:10px;background:#fff;border:1px solid #d8dce3;border-radius:4px;box-shadow:0 10px 25px #21334422}
.form-field .multi-choices label{display:flex;align-items:center;gap:9px;margin:0;padding:9px 10px;cursor:pointer;color:#263442;white-space:normal}
.form-field .multi-choices input{width:17px;height:17px;min-height:0;margin:0;accent-color:#c92332;flex:none}
.multi-choices label:hover{background:#fcf0f2}.project-note{padding:12px 20px;margin:0;color:#647080;font-size:13px;line-height:1.6}
/* Bounded previews keep long clinical notes from stretching every data row. */
.records-scroll{position:relative;isolation:isolate;max-width:100%;overscroll-behavior-x:contain}
.records-scroll:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.records-table{table-layout:fixed;width:100%}
.records-table th,.records-table td{padding:14px 12px;vertical-align:middle}
.records-table th{font-size:12px;white-space:nowrap}
.records-table td{font-size:14px;line-height:1.5}
.record-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:3em;white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.records-table .record-secondary{display:block;margin-top:4px;color:#667281;font-size:12px;font-weight:400;line-height:1.5}
.records-table .record-secondary.record-clamp{display:-webkit-box}
.record-preview{display:block;width:100%;padding:0;text-align:left;border:0;border-radius:3px;background:none;color:#36414d;font:inherit;cursor:pointer}
.record-preview .record-clamp{font-weight:400}
.record-preview-link{display:block;margin-top:5px;font-size:12px;line-height:18px;color:#af2036;font-weight:550}
.record-preview:hover .record-preview-link{text-decoration:underline}
.record-preview:focus-visible{outline:2px solid var(--primary);outline-offset:4px}
.record-empty{color:#79828c}
.records-table .record-patient_name{position:sticky;left:0;z-index:1;background:inherit}
.records-table th.record-patient_name{background:#f5edf0}
.records-table .record-patient_name strong{font-weight:650;color:#222e3a}
.records-table .record-actions{position:sticky;right:0;z-index:2;background:inherit;box-shadow:-1px 0 0 #e6e9ed}
.records-table th.record-actions{background:#f5edf0}
.records-table .row-actions{gap:12px;justify-content:flex-end}
.records-table .row-actions button{min-height:32px;font-size:12px;white-space:nowrap}
.records-table .record-money{white-space:nowrap;font-variant-numeric:tabular-nums}
dialog.record-detail-dialog{width:min(1040px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);overflow:hidden}
dialog.record-detail-dialog[open]{display:flex;flex-direction:column}
.record-detail-dialog .modal-head,.record-detail-dialog .modal-foot{position:static;flex:none}
.record-detail-dialog .record-detail{margin:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:24px 28px;gap:20px 28px}
.record-detail-dialog dt{font-size:12px;color:#65707c}
.record-detail-dialog dd{font-size:15px;line-height:1.75;color:#2b3743}
.record-detail-dialog .full{border-top:1px solid #e6e9ed;padding-top:18px}
.record-detail-dialog .record-detail>div:focus{outline:2px solid #edc1c9;outline-offset:6px}
@media(max-width:680px){.records-table .record-patient_name{position:static}.record-detail-dialog .record-detail{padding:20px;gap:18px}.records-table th,.records-table td{padding:12px 10px}}
@media print{.records-table{min-width:0!important;table-layout:auto}.records-table col{width:auto!important}.records-table .record-clamp{display:block;max-height:none;overflow:visible}.records-table .record-patient_name,.records-table .record-actions{position:static;box-shadow:none}.record-preview-link{display:none}.record-preview{cursor:default}}
