.api-legacy .grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:1rem; align-items:end; }
.api-legacy form { margin-bottom:1rem; }
.api-legacy .panel { overflow-x:auto; }
.api-legacy table { width:100%; border-collapse:collapse; }
.api-legacy th,.api-legacy td { padding:.7rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--border); }
.api-legacy .raw { font: .85rem/1.5 ui-monospace,monospace; white-space:pre-wrap; overflow-wrap:anywhere; max-height:12rem; overflow:auto; }
.api-legacy .error { color:var(--danger); }
.api-legacy .hint { color:var(--muted); }
.api-viewer-navigation .button-link { max-width:100%; white-space:normal; text-align:center; overflow-wrap:anywhere; }

.api-map-panel { margin:1rem 0; }
.api-map-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.6rem; }
.api-map-heading h2 { margin:.2rem 0; }
.api-map-heading button { width:auto; }
.api-map-status { color:var(--muted); font-size:.95rem; }
.api-data-map { width:100%; height:clamp(320px,55vh,600px); border:1px solid var(--border); border-radius:.4rem; isolation:isolate; }
.api-data-map[hidden] { display:none; }
.api-data-map .leaflet-control-attribution,.police-map .leaflet-control-attribution { background:var(--panel-bg); color:var(--text); }
.api-data-map .leaflet-control-attribution a,.police-map .leaflet-control-attribution a { color:var(--accent); }
.api-data-map .leaflet-popup-content-wrapper,.api-data-map .leaflet-popup-tip,
.police-map .leaflet-popup-content-wrapper,.police-map .leaflet-popup-tip { background:var(--panel-bg); color:var(--text); }
.api-map-popup { overflow-wrap:anywhere; max-height:45vh; overflow:auto; font-size:.9rem; line-height:1.5; }
.api-map-record + .api-map-record { border-top:1px solid var(--border); padding-top:.7rem; margin-top:.7rem; }
.api-map-popup h3 { font-size:1rem; margin:.5rem 0; }
.api-map-popup dl,.api-outage-details,.api-record-details { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:.35rem .7rem; margin:.5rem 0; }
.api-map-popup dt { font-weight:700; }
.api-map-popup dd { margin:0; white-space:pre-line; }
.api-outage-details,.api-record-details { min-width:16rem; overflow-wrap:anywhere; }
.api-outage-details dt,.api-record-details dt { font-weight:700; }
.api-outage-details dd,.api-record-details dd { margin:0; white-space:pre-line; }
.api-map-legend { display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; }
.api-legend-planned { color:var(--info); }
.api-legend-unplanned { color:var(--warn); }
.api-legend-info { color:var(--info); }
.api-legend-warning { color:var(--warn); }
.api-legend-danger { color:var(--danger); }
.api-data-map a.leaflet-popup-close-button,.police-map a.leaflet-popup-close-button { color:var(--text); }
.api-data-map .leaflet-interactive:focus,.police-map .leaflet-interactive:focus { outline:2px solid var(--accent); }
.api-data-map .leaflet-bar a,.police-map .leaflet-bar a { color:#111; background:#fff; }
@media(max-width:520px) { .api-map-popup dl { display:block; } .api-map-popup dd { margin-bottom:.45rem; } }
@media print { .api-map-heading button,.api-map-status { display:none; } .api-data-map { height:95mm; } }

.utility-viewer .utility-filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.utility-viewer .utility-filters button{align-self:end}.utility-results td:nth-child(3){min-width:12rem;max-width:24rem}.utility-results td:nth-child(4){max-width:20rem;overflow-wrap:anywhere}.utility-results summary{cursor:pointer;overflow-wrap:anywhere}.utility-results td:last-child{min-width:20rem}.utility-coverage td{min-width:10rem;max-width:32rem}.utility-coverage td p{margin:.5rem 0}.utility-tracker-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem 2rem;padding-left:1.4rem}.utility-tracker-list p{margin:.3rem 0}.utility-coverage .error{overflow-wrap:anywhere}
