/* The operating surface: one city, four daily facts, one map. */
body{background:#fff;color:#202723}
header{height:78px;padding:0 36px;background:#fff;border-bottom:1px solid #edf0ee;display:flex;flex-wrap:nowrap;gap:40px;color:#202723}
header .brand{color:#202723;text-decoration:none;font-size:19px;letter-spacing:2px;gap:10px;flex-shrink:0}
header .brandmark{background:#203b31;border-radius:9px;width:34px;height:38px;color:white;font-size:23px}
header .brand small{font-size:9px;letter-spacing:1.5px;color:#8a928d;margin-top:2px}
header nav{display:flex;align-items:center;gap:26px;border:0;padding:0;flex:1;overflow:visible;background:none}
header nav button{font-size:13px;color:#78807a;padding:10px 0;border:0;background:none}
header nav button.selected{border:0;color:#203b31;font-weight:650}
.work-tools{position:relative;font-size:13px;color:#78807a}
.work-tools summary{cursor:pointer;list-style:none;padding:10px 0}
.work-tools summary:after{content:'⌄';margin-left:7px}
.work-tools>div{position:absolute;top:40px;left:-14px;z-index:1200;min-width:190px;padding:10px 16px;border:1px solid #e8ece9;border-radius:10px;background:#fff;box-shadow:0 10px 40px #203b3112;display:grid}
.work-tools>div button{text-align:left;padding:12px 0}
header .header-actions{gap:16px;flex-direction:row;align-items:center;flex-shrink:0}
#current-clock{font-size:13px;font-variant-numeric:tabular-nums;color:#505d55}
header #source{font-size:9px;letter-spacing:1px;background:#f0f3f1;color:#728078;border:0;border-radius:4px;padding:4px 6px}
.source-actions>summary{font-size:20px;line-height:20px}
.source-actions>div{gap:10px}
.source-actions .save-state,.source-actions .platform-user{display:block!important;font-size:11px;padding:0 8px}
main{display:block!important;min-height:0}
.workspace{max-width:1500px;margin:auto;padding:28px 36px 12px}
.workspace-heading{margin-bottom:18px}
body[data-view="control"] .workspace-heading{display:none}
.metrics{gap:0;margin:0 0 18px;border:1px solid #e6ebe7;border-radius:12px;background:#fff;overflow:hidden}
.metric{background:none;border:0;border-radius:0;padding:22px 26px;border-right:1px solid #edf0ee}
.metric:last-child{border:0}
body[data-view="control"] #metrics>.metric{grid-column:auto;grid-row:auto}
header .header-actions #source{display:inline-block;color:#62736a}
header .source-actions>summary{color:#718177}
.playback-metrics span{border:0!important;border-radius:0!important}
.map-vehicle.compact span{width:22px;height:22px;font-size:10px;line-height:18px;border-width:2px;box-shadow:0 1px 5px #203b3140}
.vehicle-key b{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#285f47;color:#fff;font-size:8px}
.vehicle-key.delivery b{border-radius:4px;background:#ad7a2e}
@media(max-width:700px){.map-toolbar .city-picker{flex:1;min-width:0}.map-toolbar .city-picker select{width:100%;max-width:180px}.map-legend{gap:10px!important;flex-wrap:wrap}}
.metric>span{font-size:13px;color:#788079}
.metric strong{font-size:32px;font-weight:550;letter-spacing:-1px;color:#21392e;margin:9px 0 6px}
.metric small{font-size:11px;color:#919993}
.metrics:empty{display:none}
#priority-content{margin:0}
.dashboard-loading{display:flex;align-items:center;gap:14px;min-height:72px;margin:0 0 20px;padding:16px 20px;border:1px solid #e6ebe7;border-radius:12px;color:#607166;font-size:12px}
.dashboard-loading strong{color:#294434;font-size:13px}
@media(max-width:700px){.dashboard-loading{align-items:flex-start;flex-direction:column;gap:5px}}
.people-strip{display:flex;align-items:center;justify-content:flex-end;gap:28px;margin:0 2px 22px;color:#838a85;font-size:12px}
.people-strip span{display:flex;gap:9px;align-items:center}
.people-strip b{font-weight:550;color:#46554b;font-variant-numeric:tabular-nums}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 14px;font-size:12px;color:#8a938c}
.overview-heading[hidden]{display:none}
.overview-heading>div{display:flex;gap:12px;align-items:center}
.overview-heading strong{font-size:14px;font-weight:600;color:#294434}
#overview-time{font-variant-numeric:tabular-nums;font-size:11px}
.city-summary{margin:0 0 24px}
.city-summary-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 2px 8px}
.city-summary-head h2{margin:0;font-size:12px;font-weight:600;color:#4e6255}
.city-summary-head>span{font-size:10px;color:#99a39b}
.city-summary-scroll{overflow:auto;border:1px solid #e9eee9;border-radius:9px}
.city-summary table{font-size:13px;font-variant-numeric:tabular-nums}
.city-summary thead th{font-size:11px;background:#fafcf9;padding:8px 14px;color:#728276}
.city-summary thead small{font-weight:400;font-size:10px}
.city-summary td,.city-summary tbody th{padding:5px 14px;border-bottom:1px solid #f0f3ef;background:white}
.city-summary td:not(:last-child),.city-summary thead th:not(:first-child){text-align:right}
.city-summary td:last-child,.city-summary thead th:last-child{text-align:center}
.city-summary tbody th{font-weight:500;text-align:left}
.city-summary td strong{font-weight:600;color:#315940}
.city-summary td>span{color:#9aa39c}
.city-summary tr.selected td,.city-summary tr.selected th{background:#f2f7f2}
.city-summary tr.selected th{box-shadow:inset 3px 0 #3c694a}
.city-summary button{border:0;background:none;text-align:left;padding:5px 0;font-size:13px;color:#3d5444;display:flex;align-items:center;gap:9px;width:100%}
.city-summary button[aria-pressed="true"]{font-weight:650}
.city-summary button small{font-size:10px;font-weight:400;color:#728276}
.city-summary .city-traffic-level{color:#688572;font-size:11px}
.city-summary .city-traffic-level.busy{color:#a47d3d}
@media(max-width:700px){.overview-heading{align-items:flex-start;flex-direction:column;gap:5px}.city-summary-head>span{font-size:10px}.city-summary table{min-width:600px}.city-summary thead th,.city-summary td,.city-summary tbody th{padding-left:10px;padding-right:10px}.city-summary button{font-size:12px}.city-summary{margin-bottom:18px}}
.city-summary-hint{display:none}
@media(max-width:700px){.city-summary-hint{display:block;margin:2px 0 7px;color:#66776c;font-size:11px}}
.map-card{padding:0!important;border:1px solid #e6ebe7!important;border-radius:12px!important;margin:0!important;overflow:visible}
.map-toolbar{padding:16px 20px;margin:0;gap:14px;flex-wrap:wrap}
.map-toolbar .city-picker select{font-size:19px;font-weight:550;color:#233c2e;min-width:122px;max-width:280px;border:0;padding:2px 26px 2px 0;background:#fff;cursor:pointer}
.traffic-chip{font-size:11px;color:#3e755c;background:#f1f7f3;border-radius:20px;padding:5px 10px;white-space:nowrap}
.traffic-chip[data-level="busy"]{background:#fff6e8;color:#a16e21}
#map-counts{font-size:11px;color:#98a099}
.map-toolbar-end{margin-left:auto;display:flex;gap:15px;align-items:center}
.map-toolbar-end label{font-size:11px;color:#8b938d}
.map-toolbar-end input{font-size:12px;border:0;padding:5px 0;color:#647267}
.map-options{margin:0}
.map-options>summary{font-size:20px;padding:0 5px;list-style:none}
.map-options>div{z-index:1200}
#operations-map,body[data-view="control"] #operations-map{height:clamp(340px,49vh,620px);border:0;border-radius:0;background:#edf1ea}
.map-legend{margin:0!important;padding:10px 20px!important;border-bottom:1px solid #f1f3f1;font-size:10px!important;gap:16px!important}
.playback-panel{margin:0!important;padding:12px 20px!important;border:0!important;background:none!important;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.playback-head{gap:12px;flex-shrink:0}
#playback-clock{font-size:12px;font-weight:500;color:#536358}
#playback-toggle{font-size:12px;border-radius:6px;background:#244333;border-color:#244333;padding:6px 15px;min-width:64px}
.playback-head label{font-size:0;gap:0}
#playback-speed{font-size:11px;padding:4px;border:0;background:#f6f8f6}
.playback-slider{flex:1;min-width:130px;margin:0!important;display:block}
.playback-slider>span{display:none}
.playback-slider input{width:100%;accent-color:#355e46}
.playback-metrics{display:flex!important;gap:18px!important;margin:0!important}
.playback-metrics span{display:flex;gap:7px;align-items:center;font-size:11px;color:#8a938c;background:none!important;padding:0!important}
.playback-metrics b{font-size:12px!important;color:#425448;font-weight:550}
.city-live-panel{margin:0!important;padding:0 20px 10px!important;border:0!important;background:none!important}
.city-team-detail{border:0!important;margin:0!important}
.city-team-detail>summary{padding:5px 0!important;font-size:11px;color:#8c978f;cursor:pointer}
.city-unit-list{max-height:300px;overflow:auto}
.city-exception{font-size:12px;margin:5px 0;color:#a36e20}
#content:empty{display:none}
.planning-picker{padding:20px 0 4px}
.planning-picker label{display:flex;align-items:center;gap:12px;color:#7e8a81;font-size:12px}
.planning-picker select{padding:9px 34px 9px 12px;border:1px solid #e3e8e4;border-radius:7px;background:#fff;color:#354d3d}
.focused-tool>summary{display:none!important}
.focused-tool{border:0!important;margin-top:12px}
.site-footer{border:0!important;padding:16px 36px!important;color:#a1a8a3;font-size:10px;gap:16px;max-width:1500px;margin:auto}
.site-footer a{color:#9aa39c;font-size:10px}
#notice:empty{display:none}
@media(max-width:1000px){header{gap:25px;padding:0 24px}.workspace{padding:24px}.metric{padding:20px}.map-toolbar-end{gap:8px}#map-counts{display:none}.playback-metrics{gap:12px!important}.playback-slider{min-width:90px}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.metric strong{font-size:27px}}
@media(max-width:960px){header{height:auto;min-height:78px;flex-wrap:wrap;gap:4px 16px;padding:10px 24px}header .brand{margin-right:auto}header nav{order:3;flex:0 0 100%;width:100%;height:40px;gap:22px;overflow-x:auto;white-space:nowrap}header nav button,.work-tools{flex:0 0 auto;white-space:nowrap}header .header-actions{margin-left:0}}
@media(max-width:700px){header{height:auto;min-height:72px;padding:14px 16px;gap:16px;flex-wrap:wrap}.brand{margin-right:auto}header nav{order:3;flex-basis:100%;gap:24px}header nav button,.work-tools{font-size:12px}header .header-actions{gap:10px}#current-clock{font-size:11px}.workspace{padding:18px 14px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.metric{padding:16px}.metric:nth-child(2){border-right:0}.metric:nth-child(-n+2){border-bottom:1px solid #edf0ee}.metric strong{font-size:26px}.metric small{font-size:10px}.people-strip{justify-content:flex-start;gap:12px 18px;flex-wrap:wrap;margin:0 0 18px;font-size:11px}.map-toolbar{padding:12px}.map-toolbar .city-picker select{font-size:17px;max-width:230px}.map-toolbar-end{width:100%;justify-content:space-between}.traffic-chip{font-size:10px}.map-toolbar-end input{max-width:none}#operations-map,body[data-view="control"] #operations-map{height:360px}.playback-panel{padding:12px!important;gap:12px}.playback-head{gap:9px}.playback-slider{min-width:100%;order:3}.playback-metrics{width:100%;justify-content:space-between;order:4}.city-live-panel{padding:0 12px 12px!important}.site-footer{padding:16px!important}.source-actions>div{left:auto;right:0}}

.calculation-state:not([hidden]){padding:.65rem 2rem;background:#f1f5f9;color:#475569;font-size:.875rem;line-height:1.5;border-bottom:1px solid #dce3ea}

.clock-control{display:flex;align-items:center;gap:4px;white-space:nowrap}
#clock-timezone{width:auto;min-height:30px;padding:4px 18px 4px 5px;border:0;background-color:transparent;color:#505d55;font:inherit;font-size:12px;cursor:pointer}
#clock-timezone:focus-visible{outline:2px solid #3a6650;outline-offset:2px}
.site-footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;text-align:center}
.site-footer>a,.site-footer>span{white-space:nowrap}
.follow-now{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border:1px solid #dce6de;border-radius:20px;background:#fff;color:#6b7c70;font-size:11px;padding:7px 11px}
.follow-now[aria-pressed="true"]{background:#edf6f0;color:#24603c;border-color:#d6e9dc}
.follow-now[aria-pressed="true"]::before{content:'';width:6px;height:6px;border-radius:50%;background:#368451}

.completion-fields{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-top:20px}.completion-fields label{display:flex;flex-direction:column;gap:8px;font-size:14px}.completion-fields label:last-child{grid-column:1/-1}.completion-fields small,.completion-report span{font-size:13px;color:#637569}.completion-report{display:grid;gap:10px;margin:16px 0}.completion-photos{display:flex;gap:12px;flex-wrap:wrap}.completion-photos img{width:112px;height:88px;object-fit:cover;border-radius:8px;border:1px solid #dce6de}.completion-mock{margin:16px 0}.completion-mock small{color:#637569}#completion-feedback{display:inline-block;margin:12px;font-size:14px}@media(max-width:640px){.completion-fields{grid-template-columns:1fr}}

/* Totals lead; receipt provenance opens only when requested. */
.people-strip{flex-wrap:wrap;gap:14px 24px}
.people-strip>span,.people-strip b{white-space:nowrap;flex-shrink:0}
button.receipt-value,.city-summary button.receipt-value{display:inline-block;width:auto;min-height:32px;margin:0;padding:2px 0;background:none;border:0;border-radius:3px;color:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:right;text-decoration:underline;text-decoration-color:#b7c8bd;text-underline-offset:5px;cursor:pointer}
button.receipt-value:hover{color:#256244;text-decoration-color:currentColor}
button.receipt-value:focus-visible{outline:2px solid #3a6650;outline-offset:4px}
.receipt-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 32px));max-height:85dvh;margin:auto;padding:24px;border:1px solid #dce5df;border-radius:14px;background:#fff;color:#233d33;box-shadow:0 20px 80px #14332425;font-size:14px;line-height:1.5;overflow:auto}
.receipt-dialog::backdrop{background:#13261e55}
.receipt-dialog-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.receipt-dialog h2{font-size:20px;margin:0 0 6px}.receipt-dialog-head p{margin:0;color:#6c7d72}
.receipt-dialog-head button{border:0;background:none;color:#50675a;font-size:26px;line-height:1;min-width:40px;min-height:40px;padding:6px;cursor:pointer}
.receipt-dialog-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:24px 0 18px}.receipt-dialog-total>strong{font-size:30px;font-variant-numeric:tabular-nums}.receipt-dialog-total strong span{font-size:16px;margin-left:6px;font-weight:400}.receipt-dialog-total>span{font-size:13px;color:#718176}
.receipt-dialog-table{overflow:auto}.receipt-dialog table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.receipt-dialog th,.receipt-dialog td{padding:11px 9px;border-bottom:1px solid #e7ede9;text-align:left}.receipt-dialog th{background:#f7faf8;color:#697b6f;font-weight:500}.receipt-dialog th:last-child,.receipt-dialog td:last-child{text-align:right;white-space:nowrap}.receipt-dialog td:first-child{white-space:nowrap}
.receipt-dialog-note,.receipt-empty{font-size:13px;color:#718176;margin:18px 0 0}
@media(max-width:600px){.receipt-dialog{padding:18px}.receipt-dialog th,.receipt-dialog td{padding:10px 5px;font-size:13px}.receipt-dialog h2{font-size:18px}.receipt-dialog-total>strong{font-size:28px}}

/* Compact task navigation, with city/date controls available without the map. */
.planning-picker{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px 0;margin-bottom:12px}.planning-picker label{display:grid;gap:6px;font-size:14px;min-width:0}.planning-picker label:first-child{flex:2 1 220px}.planning-picker label:nth-child(2){flex:1 1 180px}.planning-picker select,.planning-picker input{width:100%;max-width:100%;min-width:0}.planning-picker input{padding:9px 12px}.routes details.route{padding:14px;border:1px solid #e3e8e4;border-radius:8px}.routes details.route>summary{cursor:pointer;font-weight:600;font-size:14px}.routes details.route>small{display:block;margin-top:12px}.routes details.route:not([open]){align-self:start}body[data-view="plan"] #map-section{margin-top:18px}
@media(max-width:760px){.planning-picker label{flex:1 1 100%!important}.planning-picker>button{width:100%}}

.planning-warning{padding:16px;background:#fff9ee;border:1px solid #eadbc0;border-radius:8px;line-height:1.6}.planning-warning button{margin:8px 0 0 8px}

.metrics.metrics-two{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics.metrics-two .metric{border-bottom:0}.metrics.metrics-two .metric:last-child{border-right:0}

body[data-view="performance"] .throughput-chart{gap:4px}body[data-view="performance"] .throughput-column{min-width:0}

/* Secondary staffing facts stay available without occupying the dashboard. */
.resource-brief{display:flex;justify-content:flex-end;align-items:flex-start;gap:24px;margin:0 2px 20px;color:#6b7970;font-size:14px;flex-wrap:wrap}
.people-detail{max-width:100%}.people-detail summary{cursor:pointer;white-space:nowrap}.people-detail[open]{flex-basis:100%}
.people-detail .people-strip{margin:14px 0 0;font-size:14px;justify-content:flex-end}
.city-traffic-level{white-space:nowrap}
@media(max-width:700px){.resource-brief{justify-content:space-between;gap:12px}.people-detail .people-strip{justify-content:flex-start}}
