/* Keep map tools along the lower edge, outside the Info reading area. */
.gnss-map-controls .leaflet-bottom.leaflet-left{bottom:24px;left:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;align-items:flex-end;pointer-events:none}
.gnss-map-controls .leaflet-bottom.leaflet-left>.leaflet-control{float:none;clear:none;margin:0!important;pointer-events:auto;box-sizing:border-box}
.gnss-map-controls .map-info-control{display:flex;align-items:center;gap:5px;padding:3px!important}
.gnss-map-controls .map-info-control label{margin:0!important;min-height:38px!important;white-space:nowrap}
.gnss-map-controls .map-info-control button{min-width:52px!important;min-height:38px!important;padding:4px;font-size:12px}
.gnss-map-controls .asig-control{position:relative;max-width:none;padding:0;font-size:12px}
.gnss-map-controls .asig-control>summary{padding:12px 8px;min-height:18px;box-sizing:content-box;white-space:nowrap}
.gnss-map-controls .asig-control>div{position:absolute;bottom:calc(100% + 5px);left:0;width:min(280px,calc(100vw - 60px));max-height:min(260px,35vh);background:#172033;border:1px solid #607087;border-radius:6px;padding:8px;box-sizing:border-box;box-shadow:0 2px 8px #0005}
.gnss-map-controls .asig-parcels-control{position:relative;display:flex;align-items:center;gap:3px;padding:3px!important;font-size:12px}
.gnss-map-controls .asig-parcels-control>button{min-height:38px!important;padding:4px;white-space:nowrap}
.gnss-map-controls .asig-parcels-control>details>summary{min-height:38px;display:flex;align-items:center;padding:0 5px;cursor:pointer}
.gnss-map-controls .asig-parcels-control>details[open]{position:static}
.gnss-map-controls .asig-parcels-control>details[open]>div{position:absolute;bottom:calc(100% + 5px);left:0;width:min(270px,calc(100vw - 60px));max-height:min(240px,32vh)!important;background:white;border:1px solid #aaa;border-radius:5px;padding:8px;box-sizing:border-box;box-shadow:0 2px 8px #0005}
.gnss-map-controls .asig-parcels-control>details>p{display:none}
.gnss-map-controls .map-info-popup{pointer-events:auto}
.gnss-map-controls .map-info-popup .leaflet-popup-content{margin:20px 20px 14px 14px;line-height:1.4;font-size:12px}
.gnss-map-controls .map-info-popup .leaflet-popup-close-button{width:30px;height:30px;font-size:23px}
@media(max-width:600px){
 .gnss-map-controls .leaflet-bottom.leaflet-left{gap:3px;left:5px;right:5px}
 .gnss-map-controls .asig-parcels-control>details[open]>div{left:0;right:auto}
 .gnss-map-controls .asig-control>div{left:50%;transform:translateX(-50%);width:min(260px,calc(100vw - 60px))}
}

.gnss-map-controls.map-info-open .leaflet-top .leaflet-control-zoom{visibility:hidden}


.map-identifying .leaflet-interactive,.map-identifying .leaflet-marker-icon{pointer-events:none!important}

/* Map jobs: compact full-width toolbar, native accessible dropdown. */
#tab-map .project-map-layout{grid-template-columns:minmax(0,1fr);gap:10px}
#tab-map #mapProjectSidebar{max-height:none;overflow:visible;padding:12px 14px;border-radius:12px;border-top:2px solid #3b82f6;background:linear-gradient(115deg,var(--panel),var(--panel2))}
.map-job-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.map-job-picker{display:flex;flex-direction:column;gap:5px;flex:1 1 260px;min-width:0;font-size:12px;color:var(--muted)}
#mapProjectList,#mapProjectSearch{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel2,#172033);color:var(--text,#e2e8f0);font:inherit;font-size:16px}
#mapProjectList:focus-visible,#mapProjectSearch:focus-visible,.map-job-options summary:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
#mapProjectClear,.map-job-options summary{min-height:44px;box-sizing:border-box}
.map-job-options{flex:0 1 auto;min-width:0}
.map-job-options summary{cursor:pointer;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:13px}
.map-job-options[open]{flex:1 1 100%}
.map-job-options-body{display:grid;gap:8px;padding:12px 0 0;font-size:13px}
#tab-map .map-project-filters{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0}
#tab-map .map-project-filters label{display:flex;align-items:center;gap:7px;min-height:36px}
#tab-map .map-project-filters input{width:18px;height:18px;accent-color:#3b82f6}
#mapProjectStatus{margin:8px 0 0;font-size:12px;overflow-wrap:anywhere}
#mapProjectStatus:empty{display:none}
#tab-map .toolbar{gap:12px;flex-wrap:wrap}
#tab-map .toolbar h2{margin:4px 0;font-size:clamp(19px,2.5vw,25px)}
.map-legend{font-size:12px;max-width:100%}
.map-legend summary{cursor:pointer;padding:10px;border-radius:8px;border:1px solid var(--border)}
.map-legend .muted{padding-top:8px;line-height:1.8}
#tab-map #map{height:clamp(340px,68vh,900px);min-height:0;border-radius:12px}
@media(max-width:600px){
 #tab-map #mapProjectSidebar{padding:10px}
 .map-job-picker{flex-basis:100%}
 #mapProjectClear{flex:0 0 auto}
 .map-job-options{flex:1 1 auto}
 .map-job-options[open]{flex-basis:100%}
 #tab-map #map{height:65vh;height:65svh;min-height:300px}
}
@media(max-height:500px) and (orientation:landscape){#tab-map #map{height:78vh;min-height:260px}.map-job-picker{flex:1 1 220px}}
