/* System fonts keep the upload workflow independent of external services. */
h1,h2,.stat strong,#periodLabel,.brand span{font-family:Arial,sans-serif!important}
:root{--ink:#183b3b;--muted:#768786;--teal:#087d73;--line:#e2e9e6;--bg:#f5f7f4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #dce5df;background:white;color:var(--ink);padding:10px 14px;border-radius:7px}button:hover{background:#edf5f0}button:disabled{opacity:.4;cursor:default}aside{position:fixed;width:230px;inset:0 auto 0 0;background:#103f3e;color:#d5e8e2;padding:36px 22px}.brand{display:flex;gap:12px;align-items:center;font-size:31px;color:#c2e8c7}.brand span{font:700 14px Manrope,sans-serif;letter-spacing:1.7px}.brand small{font:400 12px 'DM Sans';letter-spacing:.6px;color:#93b3ae}.caption{font-size:10px;letter-spacing:1.8px;color:#85a5a0;margin:54px 12px 18px}.nav{display:block;width:100%;text-align:left;background:none;border:0;color:#b4cfca;margin:7px 0;padding:14px}.nav.active{background:#285552;color:#fff}.aside-bottom{position:absolute;bottom:28px;font-size:12px}.aside-bottom p{font-size:11px;line-height:1.8;color:#87a9a3}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bedc9e;margin-right:6px}main{margin-left:230px;padding:0 38px 30px;max-width:1800px}header{height:77px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:var(--muted)}header b{margin:0 14px;color:#bdc9c1}.private{padding:7px 12px;border:1px solid #d8e5d9;border-radius:20px;color:#537b62;letter-spacing:0}.title{display:flex;justify-content:space-between;align-items:center;margin:36px 0 27px}.eyebrow{font-size:10px;letter-spacing:1.9px;font-weight:700;color:#658875}h1{font:600 32px Manrope,sans-serif;letter-spacing:-1.2px;margin:9px 0}p{color:var(--muted);font-size:13px;margin:7px 0}.primary{background:var(--teal);color:white;border-color:var(--teal);padding:12px 20px}.primary:hover{background:#09695f}.filters{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-bottom:22px}.filters input,.filters select{border:1px solid var(--line);background:white;padding:11px;border-radius:7px;color:#526965;min-width:0}#search{flex:1;min-width:210px}.filters input[type=date]{width:132px}.filters select{max-width:190px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);padding:22px;border-radius:10px}.stat label{color:#6f827a;font-size:12px}.stat strong{display:block;font:600 30px Manrope;margin:13px 0 8px}.stat small{font-size:11px;color:#7a9183}.insights{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:24px}article,.register{border:1px solid var(--line);background:white;border-radius:10px;padding:23px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}h2{font:700 15px Manrope;margin:0}.section-head>span{font-size:11px;color:var(--muted)}.activity{display:flex;align-items:end;height:172px;gap:12px;padding-top:20px}.barcol{flex:1;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:6px;font-size:10px;color:#87968b}.barcol i{width:100%;max-width:36px;background:#8eb9a5;border-radius:4px 4px 0 0;min-height:2px}.barcol:last-child i{background:#087d73}.mix-row{margin:13px 0;font-size:11px;display:grid;grid-template-columns:125px 1fr 32px;align-items:center;gap:8px}.track{height:7px;background:#edf2ed;border-radius:6px;overflow:hidden}.track i{display:block;height:100%;background:#3e9985;border-radius:6px}.register{padding-bottom:0}.actions{display:flex;gap:6px;flex-wrap:wrap}.actions button{font-size:11px;padding:8px 10px}.table-wrap{overflow:auto;margin:0 -23px}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;background:#f8faf7;color:#819087;font-size:10px;font-weight:500;padding:14px 17px;text-transform:uppercase;letter-spacing:.6px}td{padding:16px 17px;border-bottom:1px solid #eef1eb;font-size:12px}td small{display:block;font-size:10px;color:#8c9991;margin-top:5px}td:nth-child(3){max-width:260px;white-space:normal}td button{padding:6px 10px;font-size:11px}.badge{background:#edf5ed;border:1px solid #deebdf;border-radius:5px;padding:5px 8px;font-size:10px;color:#347565}.emergency{background:#fff2eb;color:#ac6943;border-color:#f3dfd0}footer{display:flex;justify-content:space-between;align-items:center;padding:17px 0;color:var(--muted);font-size:11px}footer button{padding:7px 10px;margin-left:6px;font-size:11px}.footnote{font-size:10px;margin-top:19px}dialog{border:0;border-radius:14px;padding:28px;width:min(810px,95vw);max-height:92vh;color:var(--ink)}dialog::backdrop{background:#0b2e3280;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}dialog h2{font-size:24px;margin:10px 0 25px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px}.fields label{font-size:12px;display:flex;flex-direction:column;gap:7px}.fields input,.fields textarea{border:1px solid #d6e3da;padding:11px;border-radius:7px;width:100%;color:var(--ink);background:#fbfcfa}.fields .wide{grid-column:1/-1}.form-actions{display:flex;justify-content:end;gap:9px;margin-top:27px}.danger{color:#ad544b;margin-right:auto}#toast{position:fixed;bottom:22px;right:25px;background:#153e3a;color:white;padding:14px 22px;border-radius:9px;display:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9bd3c2;outline-offset:2px}@media(min-width:1500px){main{padding-left:55px;padding-right:55px}}@media(max-width:1100px){aside{width:180px;padding:30px 14px}main{margin-left:180px;padding:0 23px 25px}.stats{gap:10px}.stat{padding:17px}.insights{grid-template-columns:1fr 1fr}.section-head{flex-wrap:wrap}}@media(max-width:760px){aside{position:static;width:100%;padding:16px;display:flex;align-items:center;gap:5px}.brand{font-size:24px;margin-right:auto}.brand span{font-size:10px}.brand small{font-size:9px}.caption,.aside-bottom{display:none}.nav{width:auto;padding:9px;font-size:10px}main{margin:0;padding:0 16px 20px}header{height:50px}.title{margin:25px 0;gap:10px}h1{font-size:25px}.title p{font-size:11px}.eyebrow{font-size:8px}.primary{padding:11px 13px;white-space:nowrap}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:26px}.insights{grid-template-columns:1fr}.fields{grid-template-columns:1fr}.fields .wide{grid-column:auto}.private{font-size:9px}.filters select{flex:1;max-width:100%}.actions{gap:5px}}@media print{aside,.filters,.actions,button,.footnote{display:none!important}main{margin:0;padding:0}.insights{break-inside:avoid}.table-wrap{overflow:visible}table{white-space:normal}td,th{padding:8px;font-size:9px}header{height:40px}.register{border:0}}
[hidden]{display:none!important}.monthly-controls{display:flex;align-items:center;gap:24px;padding:18px 22px;background:#eaf2e9;border:1px solid #d8e5d5;border-radius:9px;margin:0 0 20px}.monthly-controls>div{display:flex;align-items:center;gap:12px}.monthly-controls label{font-size:12px;font-weight:600}.monthly-controls input[type=month]{font:inherit;background:white;border:1px solid #ceddce;border-radius:6px;padding:9px;color:var(--ink)}.toggle{display:flex;align-items:center;gap:9px}.toggle input{accent-color:var(--teal);width:17px;height:17px}#periodLabel{margin-left:auto;color:#517255;font:700 15px Manrope}.monthly-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.monthly-card{min-width:0;padding:24px}.monthly-card.full{grid-column:1/-1}.distribution{display:flex;align-items:center;gap:25px;min-height:190px}.donut{width:170px;height:170px;flex-shrink:0;border-radius:50%;display:grid;place-items:center}.donut>div{height:102px;width:102px;background:white;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.donut b{font:700 28px Manrope}.donut small{font-size:11px;color:var(--muted);margin-top:2px}.distribution-list{width:100%;min-width:0}.category{margin:13px 0}.category>div:first-child{display:flex;align-items:center;gap:7px;font-size:12px}.category span:nth-child(2){overflow-wrap:anywhere;flex:1}.category small{color:var(--muted);width:32px;text-align:right;font-size:10px}.category b{font-size:13px}.color-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;display:inline-block}.category-track{height:5px;border-radius:4px;background:#f0f3ed;margin:7px 0 0 15px;overflow:hidden}.category-track i{display:block;height:100%;border-radius:4px}.chart-note{font-size:10px;line-height:1.6;margin-top:18px}.day-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;align-items:center}.day-bar{display:grid;grid-template-columns:80px 1fr 24px;align-items:center;gap:9px;margin:15px 0;font-size:11px}.day-bar>div{display:flex;height:23px;background:#f3f6f0;border-radius:3px;overflow:hidden}.day-bar i{display:grid;place-items:center;font-size:10px;font-style:normal;overflow:hidden}.time-legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;margin:23px 0 8px}.time-legend i{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:2px}.day-table{margin:0}.day-table table{white-space:normal}.day-table td,.day-table th{padding:11px 8px;font-size:10px}.total-row{background:#edf4ea;font-weight:700}.revenue-chip{padding:8px 12px;background:#edf5eb;border-radius:7px;color:#38725a!important}.monthly-card>.table-wrap{margin:0}.monthly-card table td:first-child{white-space:normal}.monthly-card .section-head{margin-bottom:16px}#insights{display:none!important}@media(max-width:1200px){.distribution{gap:16px}.donut{height:135px;width:135px}.donut>div{height:82px;width:82px}.day-layout{grid-template-columns:1fr}.monthly-controls{flex-wrap:wrap}.monthly-controls #periodLabel{margin-left:0}}@media(max-width:900px){.monthly-grid{grid-template-columns:1fr}.monthly-card.full{grid-column:auto}.distribution{gap:24px}.donut{width:155px;height:155px}.donut>div{width:94px;height:94px}}@media(max-width:450px){.monthly-card{padding:18px}.distribution{gap:15px}.donut{width:120px;height:120px}.donut>div{width:74px;height:74px}.donut b{font-size:23px}.category>div:first-child{font-size:11px}.monthly-controls{padding:14px;gap:13px}.monthly-controls>div{flex-wrap:wrap}.monthly-controls #periodLabel{font-size:13px}.monthly-card .section-head>span{font-size:10px}.day-table th,.day-table td{padding:9px 5px;font-size:9px}}@media print{.monthly-controls{background:none}.monthly-grid{display:block}.monthly-card{break-inside:avoid;margin-bottom:18px}.distribution{min-height:140px}.donut{print-color-adjust:exact;-webkit-print-color-adjust:exact}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
.sync-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 21px;border:1px solid #cfe1d2;border-radius:10px;background:#eef5ec;margin-bottom:22px}.sync-panel b{font-size:13px}.sync-panel p{font-size:12px;color:#456d5c;line-height:1.6}.sync-panel small{font-size:10px;color:#6f8578;line-height:1.6}.sync-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:48%}.sync-actions button{font-size:11px;padding:9px 12px}.sync-actions a{color:#147b69;font-size:11px;white-space:nowrap}.sheet-badge{display:inline-block;font-size:10px;padding:5px 8px;border-radius:5px;white-space:nowrap}.sheet-badge.synced{color:#23674e;background:#e8f3e7}.sheet-badge.pending{color:#987027;background:#fff3d6}.sheet-badge.error{color:#a44338;background:#fcebe6}.sheet-badge.local{color:#7d8982;background:#f0f2ef}.sync-code-label{display:flex;flex-direction:column;gap:10px;margin-top:24px;font-size:12px}.sync-code-label input{padding:12px;border:1px solid #cdded0;border-radius:7px;font:inherit}.sync-code-label input:focus{outline:2px solid #a8d5ba}#syncDialog{max-width:600px}#syncDialog p{line-height:1.8}#syncFormError{color:#a44338}#syncDialog h2{font-size:20px;margin:0}@media(max-width:760px){.sync-panel{flex-direction:column;align-items:start;gap:14px}.sync-actions{max-width:100%;justify-content:start}}@media print{.sync-panel{display:none!important}}

main > .sync-panel{margin-top:24px;margin-bottom:0}

.monthly-controls select,.monthly-controls input[type=number]{font:inherit;background:white;border:1px solid #ceddce;border-radius:6px;padding:9px;color:var(--ink)}.monthly-controls input[type=number]{width:100px}.monthly-controls{gap:18px}
.progress-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:8px 0 22px}.progress-intro h2{font-size:22px;margin:9px 0}.progress-intro p{line-height:1.7}.progression-stats .stat strong{font-size:27px;overflow-wrap:anywhere}.progression-stats .stat small{line-height:1.6;display:block}.progress-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}.progress-card{min-width:0;padding:24px}.progress-card.wide{grid-column:1/-1}.progress-card .section-head p{font-size:11px;line-height:1.6;margin-top:6px}.progress-card .table-wrap{margin:0}.progress-chart-scroll{overflow-x:auto}.progress-svg{display:block;width:100%;min-width:570px;height:auto}.progress-svg text{font:12px 'DM Sans',sans-serif;fill:#617c70}.progress-note{font-size:11px;line-height:1.8;background:#edf3ed;border-left:3px solid #8fb69c;padding:14px 18px;margin:0 0 22px}.progress-comparison{font-size:12px;margin:0 0 18px;line-height:1.7}.progress-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;margin:7px 0 12px;color:#5c7668}.progress-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:7px}.progress-card:not(.wide) .progress-svg{min-width:570px}.progression-stats .stat{min-width:0}@media(max-width:760px){.progress-intro{flex-direction:column;align-items:start}.progress-grid{grid-template-columns:1fr}.progress-card.wide{grid-column:auto}.progress-intro h2{font-size:19px}.progress-card{padding:18px}.progression-stats .stat strong{font-size:23px}}@media print{.progress-note,.progress-card,.progression-stats{break-inside:avoid}.progress-grid{display:block}.progress-card{margin:16px 0}.progress-svg{min-width:0}.progress-chart-scroll{overflow:visible}.progress-card .table-wrap{overflow:visible}.progression-stats{display:grid}.progress-card{border-color:#ccd9ce}}
.dataset-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 21px;border:1px solid #cfe1d2;border-radius:10px;background:#eef5ec;margin-bottom:20px}.dataset-panel p{color:#456d5c;font-size:12px;overflow-wrap:anywhere}.dataset-panel small{font-size:11px;color:#6f8578;line-height:1.7}.dataset-panel button{flex-shrink:0;font-size:11px}.empty-dataset{padding:45px 24px;text-align:center;border:1px dashed #acc7b4;border-radius:12px;background:white;margin:24px 0}.empty-dataset h2{font-size:23px;margin:13px}.empty-dataset p{max-width:620px;line-height:1.8;margin:12px auto}.empty-dataset button{margin-top:12px}#uploadError,.import-warnings{color:#9d5a30;line-height:1.8;white-space:pre-wrap}.replace-note{font-weight:600;color:var(--ink);margin-top:22px!important}#importDialog p{line-height:1.8}#importDialog .table-wrap{margin:18px 0}#importDialog td{white-space:normal;min-width:130px}.case-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.case-details dt{font-size:11px;color:var(--muted)}.case-details dd{margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}@media(max-width:760px){.dataset-panel{align-items:start;flex-direction:column;gap:10px}.title .primary{font-size:11px}.case-details{grid-template-columns:1fr}}@media print{.empty-dataset,#uploadError{display:none!important}.dataset-panel{background:none;padding:10px 0;border:0}.case-details{display:grid}}
/* Checkbox dropdowns allow multiple choices with a tap or click. */
.multi-filter{position:relative;min-width:150px;max-width:220px;flex:0 1 190px;font-size:13px;color:#526965}.multi-filter summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;background:white;border:1px solid var(--line);border-radius:7px;padding:11px;min-height:42px}.multi-filter summary::-webkit-details-marker{display:none}.multi-filter summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-filter summary b{font-weight:400;flex-shrink:0}.multi-filter.has-selection summary{border-color:#82b9a6;color:#136c5f;background:#f6fcf7}.multi-filter summary:focus-visible{outline:3px solid #9bd3c2;outline-offset:2px}.multi-filter[open]{z-index:30}.multi-menu{position:absolute;top:calc(100% + 6px);left:0;width:320px;max-width:calc(100vw - 40px);background:#fff;border:1px solid #cfdfd4;border-radius:9px;box-shadow:0 10px 30px #143c3226;padding:10px;z-index:30}.multi-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:0 0 9px}.multi-tools small{font-size:10px;color:var(--muted)}.multi-tools button{font-size:11px;padding:7px 9px}.multi-options{max-height:270px;overflow-y:auto;overscroll-behavior:contain;padding-top:6px}.multi-options label{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:5px;cursor:pointer;font-size:12px;font-weight:400!important;color:var(--ink)}.multi-options label:hover{background:#edf5ef}.multi-options input[type=checkbox]{width:17px;height:17px;accent-color:var(--teal);flex-shrink:0;margin:0;padding:0}.multi-options span{overflow-wrap:anywhere}.monthly-controls .multi-filter{min-width:175px;flex:none;max-width:240px}.monthly-controls .multi-filter summary{padding:9px 11px;min-height:38px}.period-control-label{font-size:12px;font-weight:600}@media(max-width:760px){.filters .multi-filter{flex:1 1 145px;max-width:none}.multi-menu{width:280px}.filters .multi-filter:nth-of-type(even) .multi-menu{left:auto;right:0}.monthly-controls .multi-filter{max-width:100%}}@media print{.multi-filter .multi-menu{display:none!important}.multi-filter summary{border:0;padding:0;background:none}.multi-filter summary b{display:none}}
 .privacy-review{display:flex;align-items:flex-start;gap:10px;margin:20px 0;line-height:1.55;font-size:14px}.privacy-review input{flex:0 0 auto;margin-top:5px}

.dataset-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.dataset-actions .actions{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:700px){.dataset-actions{width:100%}.dataset-actions .actions>button{flex:1}}

.case-cards{display:none}.case-card{background:#fff;border:1px solid #e2e9e6;border-radius:10px;padding:16px;margin:10px 0}.case-card>div{display:flex;justify-content:space-between;gap:10px}.case-card p{margin:10px 0}.case-card small,.case-card span{color:#768786}.case-card button{min-height:40px}
@media(max-width:700px){.register>.table-wrap{display:none}.case-cards{display:block}.register .actions{flex-wrap:wrap}.register select{max-width:100%}}
@media print{.case-cards{display:none!important}.register>.table-wrap{display:block!important}}

/* Case Entry - separate, copy-only form */
.case-entry{margin:14px 0 28px}.entry-intro{padding:23px 25px;border:1px solid var(--line);border-radius:11px 11px 0 0;background:#edf5f0}.entry-intro h2{margin:0 0 8px;font-size:22px}.entry-intro p{font-size:13px;line-height:1.7;margin:0}.entry-form{padding:24px;border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;background:white}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.entry-field{display:flex;flex-direction:column;gap:7px;min-width:0;position:relative;font-size:13px;font-weight:600;color:#344f48}.entry-label{min-height:17px}.entry-field input,.entry-field textarea,.entry-preview{width:100%;border:1px solid #ccdbd3;border-radius:7px;background:#fff;padding:12px 13px;font:inherit;color:var(--ink);font-size:14px;min-height:43px}.entry-field textarea{min-height:78px;resize:vertical}.entry-field input:focus,.entry-field textarea:focus{outline:2px solid #8dc6b3;outline-offset:1px}.entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 12px}.entry-actions button{padding:13px 19px}.entry-status{color:#176a58;font-size:13px;min-height:24px;line-height:1.6}.entry-preview-label{font-size:12px;font-weight:700;display:block;margin:15px 0 8px}.entry-preview{font-size:11px;line-height:1.7;resize:vertical;color:#46635d}.entry-help{font-size:12px;line-height:1.7;color:#607a71}.entry-suggest{position:absolute;z-index:12;background:white;border:1px solid #bdd7c8;border-radius:7px;box-shadow:0 8px 16px #183b3b22;top:calc(100% - 4px);width:100%;max-height:220px;overflow-y:auto}.entry-suggestion{display:block;width:100%;text-align:left;padding:9px 11px;border:0;border-bottom:1px solid #edf3ef;border-radius:0;background:#fff;color:var(--ink);font-size:12px;white-space:normal}.entry-suggestion:hover{background:#edf5ef}@media(max-width:1050px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.entry-grid{grid-template-columns:1fr}.entry-form{padding:17px}.entry-intro{padding:18px}.entry-actions button{width:100%}}@media print{.case-entry{display:none!important}}

/* Honor hidden sections even when layout classes set display. */
[hidden]{display:none!important}
