/* Keep Leaflet panes below the permanent portal header. */
.mapToolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.mapToolbar h1{margin:0;flex:1 1 120px}.mapToolbar label{flex:1 1 200px;min-width:0}.mapToolbar select{width:100%;min-width:0}.mapToolbar button{min-height:44px}#hubMapStatus{font-size:.875rem;overflow-wrap:anywhere;min-height:1.5em}#hubLiveMap{height:calc(100dvh - 290px);min-height:380px;isolation:isolate;z-index:0;border-radius:8px;background:#dce5e8;color:#172d35}#hubLiveMap .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}#hubLiveMap .leaflet-control-attribution{font-size:11px;background:#fff;color:#222}#hubLiveMap .leaflet-control-attribution a{color:#12628b}@media(max-width:640px){#hubLiveMap{height:65dvh;min-height:320px}.mapToolbar button{flex:1 1 auto}}
#trackMap{height:360px;min-height:260px;isolation:isolate;z-index:0;border:1px solid var(--line);border-radius:8px;background:#dce5e8;color:#172d35;margin-top:8px}
#trackMap[hidden]{display:none}
#trackMap{resize:vertical;overflow:hidden;max-height:1000px;max-width:100%}
#trackHeightControl{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.875rem;margin-top:8px}
#trackHeightControl[hidden],.elevationProfile[hidden]{display:none}
#trackHeightControl input{flex:1 1 180px;min-width:0;min-height:44px}
.elevationProfile{max-width:100%;min-width:0;margin-top:12px}
.elevationProfile h3{font-size:1rem;margin:4px 0}
.elevationProfile svg{display:block;width:100%;height:180px;max-width:100%;background:var(--panel);color:var(--accent,#087e8b);cursor:crosshair;border:1px solid var(--line);border-radius:6px}
.elevationProfile label{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem}
.elevationProfile input{flex:1 1 180px;min-width:0;min-height:44px}
.elevationProfile output{display:block;overflow-wrap:anywhere;font-size:.875rem}
.elevationProfile .elevationNote{font-size:.75rem;margin:4px 0}
.elevationProfile .profileAxis{fill:none;stroke:currentColor;stroke-width:1;opacity:.6}
.elevationProfile .profileAxisLabel{fill:var(--text,#183640);font:12px system-ui,sans-serif}
.elevationProfile .profileSelection{stroke:#d82d22;stroke-width:1.5;fill:none;pointer-events:none}
.elevationProfile .profileSelectedPoint{fill:#d82d22;stroke:var(--panel,#fff);stroke-width:2}
.elevationProfile .profileIsolated{fill:currentColor}
#trackMap .leaflet-control-zoom a{width:44px;height:44px;line-height:44px}
#trackMap .leaflet-control-attribution{font-size:11px;background:#fff;color:#222}
#trackMap .leaflet-control-attribution a{color:#12628b}
#trackForm{display:flex;flex-wrap:wrap;align-items:end;gap:10px}
#trackForm label:first-child{flex:1 1 190px}#trackForm label{flex:0 1 160px}
#trackForm button{flex:0 0 auto}#mapPanel{margin-top:12px}#mapPanel h2{font-size:16px}
#mapStatus{font-size:12px;margin:6px 0}#export:disabled,#mapLoad:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:640px){#trackMap{height:300px}#trackForm label:first-child{flex-basis:100%}#trackForm label{flex:1 1 120px}#trackForm button{flex:1 1 auto}}

#hubDailyMetrics{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;font-variant-numeric:tabular-nums}#hubDailyMetrics span{padding:.3rem .5rem;border:1px solid var(--line);border-radius:6px;overflow-wrap:anywhere}

.profileMean{stroke:var(--accent,#e6b852);stroke-width:2;stroke-dasharray:8 5;pointer-events:none}
