.map-layout-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;font-size:12px;letter-spacing:.04em}
.map-legend-ds1{color:#36f2b5}.map-legend-ds2{color:#65baff}
.vog-status .monitor-pilot-overview{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:8px 0 0;border-top:1px solid #34577f;background:transparent;font-size:11px;line-height:1.5}
.vog-status .monitor-pilot-overview[hidden]{display:none}
.monitor-pilot-overview .pilot-metric{padding:3px 7px;background:#0c2639;color:#b8dbec;border:1px solid #294b63;white-space:nowrap}
.monitor-pilot-overview .pilot-metric:first-child{color:#8ce3c9;border-color:#346d68}
.monitor-pilot-overview .pilot-metric--muted{color:#94aabb;border-color:transparent;background:transparent;white-space:normal}
.vog-status .vogPortalStatus[data-monitor=true]{grid-template-areas:"ds1 ds2" "map1 map2";align-items:stretch}
.vog-status .vogPortalStatus[data-monitor=true]>[data-server=ds1]{grid-area:ds1}
.vog-status .vogPortalStatus[data-monitor=true]>[data-server=ds2]{grid-area:ds2}
.vog-status .vogPortalStatus[data-monitor=true]>[data-map-server=ds1]{grid-area:map1}
.vog-status .vogPortalStatus[data-monitor=true]>[data-map-server=ds2]{grid-area:map2}
.vog-status .vogPortalStatus[data-monitor=true].maps-combined{grid-template-areas:"ds1 ds2"}
.monitor-map-view{border:1px solid #34577f;background:#081820;padding:14px;min-width:0;overflow:hidden}
.monitor-map-view[data-map-server=combined]{margin-top:14px}
.monitor-map-view[hidden]{display:none!important}
.monitor-map-view h3{color:#94e2d2!important;margin:0 0 12px!important;font-size:14px!important}
.map-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px;font-size:12px}
.map-controls label{display:flex;align-items:center;gap:5px}
.map-controls input[type=checkbox]{accent-color:#36d4b3}
.map-canvas{height:400px;background:#17252b;color:#eee;isolation:isolate}
[data-map-server=combined] .map-canvas{height:540px}
.map-feed-note{font-size:11px;color:#a2dfd5;overflow-wrap:anywhere;white-space:pre-line;min-height:48px}
[data-fresh=false] .map-feed-note{color:#e8c36b}
.map-basemap-note{font-size:11px;color:#b2c5cd}
.map-roster{overflow-x:auto;margin-top:12px}
.map-roster p{font-size:12px;color:#b2c5cd}
.map-roster table{width:100%;min-width:520px;border-collapse:collapse;font-size:12px}
.map-roster th,.map-roster td{text-align:left;padding:8px;border-bottom:1px solid #294454;overflow-wrap:anywhere}
.map-roster td:first-child{max-width:260px}
.map-canvas .leaflet-popup-content,.map-canvas .leaflet-tooltip{color:#16232b;font:12px/1.5 Consolas,monospace;overflow-wrap:anywhere}
.map-canvas .leaflet-control-attribution{font:10px/1.3 Arial,sans-serif;max-width:100%;white-space:normal;background:rgba(255,255,255,.9);color:#222}
.map-canvas .leaflet-control-attribution a{color:#005b87}
.map-canvas .leaflet-control-zoom a{color:#14232c}
@media(max-width:700px){
 .vog-status .vogPortalStatus[data-monitor=true]{grid-template-areas:"ds1" "map1" "ds2" "map2"}
 .vog-status .vogPortalStatus[data-monitor=true].maps-combined{grid-template-areas:"ds1" "ds2"}
 .map-canvas,[data-map-server=combined] .map-canvas{height:360px}
 .monitor-map-view{padding:10px}.map-roster th,.map-roster td{padding:6px}
}
.map-aircraft-marker{background:none;border:0}
.map-aircraft-icon{position:relative;width:28px;height:34px;color:#36f2b5}
.map-aircraft-shape{display:block;width:28px;height:34px;transform-origin:50% 50%;overflow:visible;filter:drop-shadow(0 1px 2px #000)}
.map-aircraft-shape path{fill:currentColor;stroke:#071219;stroke-width:1.2;stroke-linejoin:round}
.map-aircraft-name{position:absolute;left:32px;top:11px;font:9px/12px Consolas,monospace;white-space:nowrap;max-width:110px;overflow:hidden;text-overflow:ellipsis;color:#e1ecee;text-shadow:0 1px 2px #000,1px 0 2px #000,-1px 0 2px #000;pointer-events:none}
.map-aircraft-icon.heading-unknown::after{content:'?';position:absolute;right:-3px;top:-4px;font:10px monospace;color:#fff}
.map-aircraft-shape path.f16-detail{fill:#153e49;stroke:none;opacity:.85}
.map-controls select{max-width:190px;min-height:36px;background:#122b39;color:#e1ecee;border:1px solid #456071;padding:5px}.map-controls label{display:inline-flex;align-items:center;gap:5px}.map-copy{margin-top:4px;font-size:11px}.leaflet-popup-content button{margin:4px;padding:6px}.map-roster td{min-width:110px}@media(max-width:600px){.map-controls{align-items:flex-start}.map-controls select{max-width:160px}.map-roster{overflow-x:auto}}

.map-canvas .map-reference-label{font:10px/1.2 Consolas,monospace;color:#e2e7df;background:rgba(12,23,28,.78);border:1px solid #5a6b6e;padding:3px 5px;box-shadow:none}.map-canvas .leaflet-control-scale-line{color:#111;background:rgba(255,255,255,.8)}

.map-health{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;font:11px/1.5 Consolas,monospace}.map-health span{padding:4px 7px;border:1px solid #465a66;color:#a9bbc4;overflow-wrap:anywhere}.map-health [data-health=fresh]{color:#8dd8b3;border-color:#376b57}.map-health [data-health=delayed]{color:#f0d288;border-color:#72613d}.map-health [data-health=unavailable]{color:#e9aa97;border-color:#754d43}.map-airfield-details{min-width:160px;max-width:260px}.map-airfield-details p{margin:8px 0}

.map-incident-marker{background:none;border:0}.map-incident-cross{display:block;color:#ff4545;font:bold 30px/24px Arial,sans-serif;text-align:center;text-shadow:0 1px 2px #000,1px 0 2px #000}

.map-coverage{display:block;font-size:10px;color:#abc3c9;line-height:1.5;max-width:34em}.monitor-restart{font-size:12px;flex-basis:100%;line-height:1.6;color:#b8d5df;overflow-wrap:anywhere}.monitor-restart strong{color:#ffd579}

/* Compact monitor: optional diagnostics stay accessible on touch screens. */
.map-details{margin:8px 0 0;font-size:11px;color:#aac0cb}.map-details summary{cursor:pointer;width:fit-content;padding:6px 0}.map-details[open] summary{color:#d4e4ed}.map-basemap-note[hidden]{display:none}.map-health{font-size:11px}.map-feed-note{overflow-wrap:anywhere}.monitor-restart{margin:6px 0}
