#incident-map{--map-p1:var(--priority-critical);--map-p2:var(--priority-high);--map-p3:var(--priority-standard);--map-p4:var(--priority-monitor);--map-p5:var(--priority-resolved);--map-unclassified:var(--priority-unclassified);font-variant-numeric:tabular-nums}
#incident-map .page-heading{padding-bottom:14px}
#incident-map .page-heading p:last-child{max-width:70ch}
.map-scope{font-size:var(--text-caption);color:var(--muted);margin:0 0 24px}
.map-filters{display:grid;grid-template-columns:minmax(125px,1fr) minmax(140px,1fr) minmax(180px,1.35fr) minmax(275px,1.4fr) auto;gap:16px 12px;align-items:end;background:var(--surface);border:1px solid var(--line);padding:20px}
.map-filters label,.map-reports-panel label{font-size:var(--text-caption)}
.map-filters input,.map-filters select,.map-filters .select-trigger{font-size:var(--text-small)}
.map-filters .map-check{display:flex;align-items:center;gap:10px;align-self:center;grid-column:1/-1;font-size:var(--text-small);font-weight:400;min-height:44px}
.map-check input{width:18px;height:18px;min-height:18px;margin:0;accent-color:var(--deep)}
.map-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.map-active-filters:empty{margin:0}
.map-active-filters button{font-size:var(--text-caption);min-height:36px;padding:6px 10px;border-color:var(--line);font-weight:500}
.map-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);margin:24px 0}
.map-metric{padding:20px 18px;border-right:1px solid var(--line);min-width:0}
.map-metric:last-child{border-right:0}
.map-metric h2{font:500 var(--text-caption)/1.4 Archivo,system-ui,sans-serif;margin:0;color:var(--muted)}
.map-metric strong{display:block;font-size:32px;font-weight:600;line-height:1.3;margin-top:9px}
.map-metric p{font-size:var(--text-caption);color:var(--muted);margin:5px 0 0}
.map-metric[data-metric=critical] strong,.map-metric[data-metric=unable] strong{color:var(--map-p1)}
.map-dashboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(380px,1fr);gap:24px;align-items:start;margin-bottom:24px}
.map-primary,.map-secondary{display:grid;gap:24px;min-width:0}
.map-answers-panel{margin-bottom:24px}
.map-panel{background:var(--surface);border:1px solid var(--line);min-width:0}
.map-panel-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:24px 24px 12px}
.map-panel h2{font:600 var(--text-section)/1.4 Archivo,system-ui,sans-serif;margin:0}
.map-panel-heading p{font-size:var(--text-caption);color:var(--muted);margin:6px 0 0}
.map-panel-heading button{font-size:var(--text-caption);white-space:nowrap}
.map-main-panel>.map-panel-heading{flex-wrap:wrap}
.map-view-tabs{display:flex;border:1px solid var(--line);margin-left:auto}
.map-view-tabs button{min-height:44px;padding:10px 16px;border:0;background:transparent;color:var(--ink);font-size:var(--text-caption)}
.map-view-tabs button:hover{background:var(--hover)}
.map-view-tabs button[aria-selected=true]{background:var(--ink);color:var(--surface)}
.map-view-tabs button:focus-visible{outline:2px solid var(--orange);outline-offset:2px;position:relative}
@media(max-width:600px){.map-view-tabs{margin-left:0}.map-main-panel .map-navigation{width:100%}.map-main-panel .map-navigation:has(button:not([hidden])){margin-top:4px}}
#map-clear-selection{min-height:44px}
.map-canvas{position:relative;margin:8px 18px 0;aspect-ratio:1.55}
.map-canvas svg{display:block;width:100%;height:100%;overflow:hidden;touch-action:pan-y pinch-zoom}
.map-canvas svg:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.map-canvas svg.is-zoomed{cursor:grab;touch-action:none}
.map-canvas svg.is-moving,.map-canvas svg.is-moving .map-state,.map-canvas svg.is-moving .map-zip{cursor:grabbing}
.map-zoom-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:4px 24px 0}
.map-zoom-controls[hidden]{display:none}
.map-zoom-hint{font-size:var(--text-caption);color:var(--muted)}
.map-zoom-buttons{display:flex;align-items:center;gap:0;flex-shrink:0}
.map-zoom-buttons button{width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center}
.map-zoom-buttons button svg{width:16px;height:16px}
.map-zoom-buttons output{min-width:54px;text-align:center;font-size:var(--text-caption);color:var(--muted)}
.map-zoom-buttons .map-zoom-reset{width:auto;padding:0 12px;margin-left:8px;font-size:var(--text-caption)}
@media(max-width:600px){.map-zoom-controls{margin-inline:16px;gap:8px}.map-zoom-hint{flex-basis:100%}}
.map-canvas .map-state{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;cursor:pointer}
.map-canvas .map-state:hover,.map-canvas .map-state:focus{stroke:var(--orange);stroke-width:2;outline:none}
.map-canvas .map-state.is-selected{stroke:var(--orange);stroke-width:2}
.map-canvas .map-county{stroke:#a7adb3;stroke-width:.6;vector-effect:non-scaling-stroke;fill:transparent;pointer-events:none}
.map-canvas .map-zip{stroke:#ffffffc9;stroke-width:1.5;vector-effect:non-scaling-stroke;cursor:pointer}
.map-canvas .map-zip:focus,.map-canvas .map-zip:hover{stroke:var(--ink);stroke-width:2;outline:none}
.map-canvas .map-zip-halo{pointer-events:none;opacity:0}
.map-canvas .map-zip-marker:hover .map-zip-halo,.map-canvas .map-zip-marker:focus-within .map-zip-halo{opacity:.16}
.map-tooltip{position:fixed;z-index:35;max-width:min(280px,calc(100vw - 24px));padding:14px 16px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 4px 16px #131a261a;font-size:var(--text-caption);line-height:1.5;pointer-events:auto}
.map-tooltip[hidden]{display:none}
.map-tooltip[data-placement=side],.map-tooltip[data-placement=map]{pointer-events:none}
.map-tooltip[data-docked=true]{position:static;max-width:none;margin:12px 16px;box-shadow:none;pointer-events:auto}
.map-tooltip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.map-tooltip-actions button{min-height:44px;font-size:var(--text-caption)}
.map-tooltip-title{display:block;font-size:var(--text-small)}
.map-tooltip-total{margin:2px 0 8px;color:var(--muted)}
.map-tooltip-row{display:flex;align-items:center;gap:8px;margin-top:4px}
.map-tooltip-row strong{margin-left:auto;padding-left:16px}
.map-tooltip-note{margin:10px 0 0;color:var(--muted);font-size:var(--text-caption);max-width:28ch}
.map-tooltip .map-legend-swatch{width:8px;height:8px;flex-basis:8px}
.map-canvas .map-state-label{font-size:var(--text-caption);font-weight:600;fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.map-hover{min-height:38px;margin:0 22px;font-size:var(--text-caption);color:var(--muted);display:flex;align-items:center}
.map-hover:empty{visibility:hidden}
.map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--text-caption);color:var(--muted);margin:8px 22px}
.map-density{display:inline-block;width:90px;height:9px;background:linear-gradient(90deg,#ecedef,#bec5cd,#657485)}
.map-priority-legend{display:flex;flex-wrap:wrap;gap:0;font-size:var(--text-caption);margin:6px 22px 12px;border-bottom:1px solid var(--line)}
.map-priority-option{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 12px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--ink);font-size:var(--text-caption);white-space:nowrap}
.map-priority-option:hover{background:var(--hover)}
.map-priority-option[aria-pressed=true]{border-bottom-color:var(--ink);background:var(--soft);font-weight:700}
.map-priority-option:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:600px){.map-priority-legend{margin-inline:16px}.map-priority-option{padding-inline:10px}}
.map-legend[hidden],.map-priority-legend[hidden]{display:none}
.map-legend-label{align-self:center;color:var(--muted)}
.map-legend-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;min-height:28px}
.map-legend-swatch{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--level-color)}
.map-coverage,#map-coverage{margin:14px 22px 20px;font-size:var(--text-caption)}
.map-ranking-scroll{max-height:520px;overflow:auto}
.map-ranking th:first-child,.map-ranking td:first-child{padding-left:24px}
.map-ranking th:last-child,.map-ranking td:last-child{padding-right:24px}
@media(max-width:600px){.map-ranking th:first-child,.map-ranking td:first-child{padding-left:16px}.map-ranking th:last-child,.map-ranking td:last-child{padding-right:16px}}
.map-ranking th,.map-ranking td{padding:12px 10px;font-size:var(--text-caption)}
/* Keep the final row's spacing; the panel supplies its closing border. */
.map-ranking tbody tr:last-child td{border-bottom-color:transparent}
.map-ranking th{position:sticky;top:0}
.map-ranking td:not(:first-child),.map-ranking th:not(:first-child){text-align:right}
.map-report-total{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.map-report-bar{display:block;flex:0 0 36px;width:36px;height:7px;--level-color:color-mix(in srgb,var(--muted) 50%,var(--surface))}
@media(max-width:600px){.map-report-bar{flex-basis:28px;width:28px}}
.map-ranking small{font-size:var(--text-caption);font-weight:400;max-width:22ch}
.map-ranking button{display:block;min-height:32px;background:none;border:0;padding:0;color:var(--ink);font-size:var(--text-small);font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:3px}
.map-ranking button:hover{color:var(--deep)}
.map-view-reports{display:flex;align-items:center;min-height:32px;width:fit-content;font-size:var(--text-caption);font-weight:400;color:var(--muted);text-underline-offset:3px}
.map-view-reports:hover{color:var(--deep)}
#map-reports-title{scroll-margin-top:24px}
@media(max-width:600px){.map-view-reports{min-height:44px}}
.map-panel-note{padding:0 22px;font-size:var(--text-caption)}
.map-issues{padding:8px 22px 20px}
.map-issue{width:100%;display:grid;grid-template-columns:1fr auto;gap:6px 10px;background:transparent;border:0;padding:10px 0;text-align:left;font-size:var(--text-caption);font-weight:400;min-height:48px}
.map-issue:hover{background:var(--soft)}
.map-issue[aria-pressed=true] .map-issue-label{text-decoration:underline;color:var(--deep);font-weight:600}
.map-bar-track{display:block;grid-column:1/-1;height:5px;background:var(--soft)}
.map-bar-fill{display:block;height:100%;width:var(--bar-width);background:var(--level-color)}
.map-bar-fill{transform-origin:left center}
[data-chart-entry] .map-bar-fill,[data-chart-entry] .map-answer-bar{transform:scaleX(.65);opacity:.65}
.map-ranking [data-chart-entry] .map-bar-fill{transform:scaleX(.12);opacity:.45}
[data-chart-entry] .map-daily-bars{transform:scaleY(.75);opacity:.65}
.map-timeline{margin:12px 24px 0;min-height:256px}
.map-timeline svg{height:320px}
.map-timeline svg{width:100%;display:block}
.map-timeline .domain{display:none}
.map-timeline text{font:var(--text-chart) Archivo,system-ui,sans-serif;fill:var(--muted)}
.map-timeline .tick line{stroke:var(--line)}
.map-timeline-panel .map-panel-heading{flex-wrap:wrap;align-items:center}
.map-date-shortcut{display:inline-flex;gap:8px;align-items:center;min-height:40px;padding:8px 10px}
.map-date-shortcut svg{width:16px;height:16px;flex:0 0 16px}
.map-day-segment:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(hover:hover) and (pointer:fine){
 .map-day-segment{transition:opacity 140ms cubic-bezier(0.23,1,0.32,1)}
 .map-day-segment:hover{opacity:.8}
}
@media(prefers-reduced-motion:reduce){.map-day-segment{transition:none}}
@media(prefers-reduced-motion:reduce){[data-chart-entry] .map-bar-fill,[data-chart-entry] .map-daily-bars,[data-chart-entry] .map-answer-bar{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.map-ranking [data-chart-entry] .map-bar-fill{transform:none;opacity:1}}
.map-chart-data{padding:0 22px 20px;font-size:var(--text-caption);color:var(--muted)}
.map-chart-data summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:6px;list-style:none}
.map-chart-data summary::-webkit-details-marker{display:none}
.map-chart-chevron{width:14px;height:14px;flex:0 0 14px}
.map-chart-data[open] .map-chart-chevron{transform:rotate(90deg)}
.map-chart-data-scroll{max-height:240px;overflow:auto}
.map-chart-data td,.map-chart-data th{padding:8px;font-size:var(--text-caption)}
.map-answers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 32px;padding:4px 24px 24px}
.map-answer{margin:10px 0 20px}
.map-answer h3{font-size:var(--text-caption);font-weight:500;margin:0 0 7px}
.map-answer-bar{display:flex;height:7px;gap:1px;overflow:hidden;background:var(--soft);transform-origin:left center}
.map-answer-bar span{width:var(--bar-width);background:var(--segment-color)}
.map-answer p{font-size:var(--text-caption);color:var(--muted);margin:7px 0 0;line-height:1.6}
.map-reports-panel .map-panel-heading{padding-bottom:20px;align-items:end}
#map-search{display:flex;gap:8px;align-items:end;max-width:360px}
#map-search input{font-size:var(--text-small)}
#map-search button{font-size:var(--text-small)}
.map-table-scroll{overflow:auto}
.map-reports{min-width:1020px}
.map-reports th,.map-reports td{padding:14px 16px;font-size:var(--text-caption)}
.map-reports .row-title{font-size:var(--text-caption);white-space:nowrap;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.map-reports .priority-badge{font-size:var(--text-caption);padding:5px 7px}
.map-reports small{font-size:var(--text-caption)}
.map-source{margin:20px 0 0;font-size:var(--text-caption)}
.map-no-results{background:var(--surface);padding:24px;border:1px solid var(--line);margin-bottom:20px}
.map-no-results h2{font-size:18px;margin:0 0 6px}
.map-no-results p{margin:0 0 14px;color:var(--muted)}
.map-empty-chart{font-size:var(--text-small);color:var(--muted);padding:20px 0}
.map-render-error{font-size:var(--text-small);padding:35px 20px;color:var(--muted)}
@media(max-width:1300px){.map-dashboard{grid-template-columns:1fr}.map-secondary{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.map-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.map-date-field{grid-column:span 2}.map-filters .map-check{grid-column:1/-1}.map-filters>button{grid-column:auto}.map-metric{padding:16px 12px}}
@media(max-width:1000px){.map-metrics{grid-template-columns:repeat(3,1fr)}.map-metric:nth-child(3){border-right:0}.map-metric:nth-child(-n+3){border-bottom:1px solid var(--line)}.map-answers{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px}.map-ranking-scroll{max-height:330px}.map-metric strong{font-size:28px}}
@media(max-width:600px){.map-filters{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.map-issue-field,.map-date-field{grid-column:1/-1}.map-filters .map-check{grid-column:1;grid-row:4}.map-filters #map-apply{grid-column:2;grid-row:4}.map-answers{display:block}.map-dashboard,.map-primary,.map-secondary{gap:20px}.map-timeline{margin:8px 16px 0}.map-timeline svg{height:256px}.map-answers{padding-inline:16px}.map-panel-heading{padding:18px 16px 10px}.map-metrics{grid-template-columns:repeat(2,1fr)}.map-metric:nth-child(3){border-right:1px solid var(--line)}.map-metric:nth-child(2n){border-right:0}.map-metric:nth-child(-n+4){border-bottom:1px solid var(--line)}.map-canvas{margin:10px 8px}.map-hover{margin:0 16px}.map-reports-panel .map-panel-heading{display:block}#map-search{margin-top:16px;max-width:none}#map-search label{flex:1}.map-ranking th,.map-ranking td{padding:10px}.map-panel-heading p{font-size:var(--text-caption)}.map-priority-legend{gap:8px}.map-reports-panel .pagination{align-items:start;gap:12px;flex-direction:column}.map-reports-panel .pagination>div{flex-wrap:wrap;gap:8px}}
/* Analytics keep real table semantics and horizontal scrolling at small widths. */
@media(max-width:800px){:is(#incident-map,#form-dashboard){--text-caption:.875rem;--text-control:1rem;--text-chart:.8125rem}:is(#incident-map,#form-dashboard) table{display:table;width:100%}:is(#incident-map,#form-dashboard) thead{position:static;display:table-header-group;width:auto;height:auto;margin:0;overflow:visible;clip-path:none;white-space:normal}:is(#incident-map,#form-dashboard) tbody{display:table-row-group}:is(#incident-map,#form-dashboard) tbody tr{display:table-row;padding:0}:is(#incident-map,#form-dashboard) td{display:table-cell;width:auto}:is(#incident-map,#form-dashboard) td::before{display:none}#incident-map .map-reports{min-width:1020px}.map-filters .select-trigger{font-size:var(--text-section)}.map-filters input{font-size:var(--text-section)}}
@media(max-width:600px){.map-ranking button{min-height:44px}}

/* A single date range keeps the toolbar compact. Calendar uses shared admin tokens. */
.map-filters label{min-width:0}
.map-filters input,.map-filters .select-trigger{font-size:var(--text-control)}
.map-filters input[type=hidden]{display:none}
#map-apply{min-width:88px;min-height:48px}
.map-canvas .map-state-label{font-size:calc(var(--text-chart) * var(--map-label-scale,1))}
.map-timeline text{font-size:calc(var(--text-chart) * var(--chart-label-scale,1))}
@media(max-width:700px){
 .map-filters .select-trigger{padding-inline:12px;gap:8px}
 .map-filters .select-chevron{margin-left:0}
}
@media(max-width:380px){.map-filters>label:not(.map-check){grid-column:1/-1}.map-filters .map-check,.map-filters #map-apply{grid-row:5}}

/* Geography occupies one coherent row, followed by report filters. */
.map-filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.map-filters>label:nth-child(3){grid-column:3/5}
.map-filters>label:nth-child(4){grid-column:1}
.map-filters .map-date-field{grid-column:auto}
.map-navigation{display:flex;flex-wrap:wrap;gap:8px}
.map-navigation button{min-height:44px}
@media(max-width:700px){.map-filters{grid-template-columns:1fr 1fr}.map-filters>label:nth-child(3){grid-column:1/-1}.map-filters>label:nth-child(4){grid-column:auto}.map-filters .map-issue-field{grid-column:auto}.map-filters .map-date-field{grid-column:1/-1}.map-filters .map-check,.map-filters #map-apply{grid-row:auto}.map-filters .map-check{grid-column:1}.map-filters #map-apply{grid-column:2}}

.select-search-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 20px #131a261a;padding:8px}
.select-search-panel[hidden]{display:none}
.select-search-panel .select-options{position:static;box-shadow:none;border:0;margin-top:8px;max-height:240px!important}
.select-search-panel input{width:100%;min-height:44px}
.select-search-panel p{font-size:var(--text-small);padding:8px}
.select-search-panel .select-option[hidden]{display:none}
@media(min-width:381px) and (max-width:700px){.map-filters .map-check,.map-filters #map-apply{grid-row:5}}
@media(max-width:380px){.map-filters>label:not(.map-check){grid-column:1/-1}.map-filters .map-check,.map-filters #map-apply{grid-row:7}}
.select-search-panel .select-options{min-width:0;width:100%;box-sizing:border-box}
.select-search-panel .select-option{overflow-wrap:anywhere;padding-right:26px}

@media(max-width:700px){.map-secondary{grid-template-columns:1fr}}

.map-canvas .map-zip-label{pointer-events:all;cursor:pointer}

.map-heat-note{margin:12px 22px 0;font-size:var(--text-caption);color:var(--muted);max-width:75ch}
.map-heat-note[hidden]{display:none}
.map-heat-layer{pointer-events:none}
@media(max-width:600px){.map-view-tabs button{padding-inline:12px}.map-heat-note{margin-inline:16px}}


@media(max-width:600px){#map-count-label{flex-basis:100%}}
