/* Map chrome: light glass, consistent with the Map page (/map). White at 94%,
   a hairline, one soft shadow, 8px controls and 12px surfaces. Every rule is
   scoped to the map component's own classes, and anything carrying [hidden]
   stays hidden.

   These rules were a <style> block written into the page by nv-map.js. The
   style policy allows stylesheets from this origin and refuses injected style
   elements, so they are a file now. It loads last on every page that embeds a
   map, which is where the injected block sat in the cascade. */
.nvm-ctl{gap:8px}
.nvm-btn{min-width:36px;height:36px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--glass);color:var(--text-2);box-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.10);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);font:500 13px/1 var(--font)}
.nvm-btn:hover{background:var(--surface);color:var(--text);border-color:var(--border-strong)}
.nvm-btn.is-on,.nvm-btn[aria-expanded="true"]{background:var(--blue-soft);border-color:var(--blue-line);color:var(--blue-text)}
.nvm-btn-group{border:1px solid var(--border);border-radius:var(--r-md);box-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.10);background:var(--glass)}
.nvm-btn-group .nvm-btn{box-shadow:none;background:transparent}
.nvm-stage{padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--glass);color:var(--text-2);font:500 13px/1.2 var(--font);box-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.10);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nvm-stage.is-bad{border-color:var(--danger-line);color:var(--danger-text)}
.nvm-lg-states{display:flex;flex-wrap:wrap;gap:4px 10px;width:100%;margin:0 0 0 18px;color:var(--text-3)}
.nvm-lg-states span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.nvm-lg-states i{margin-left:0}
.nvm-legend{gap:6px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--glass);color:var(--text-2);font:400 13px/1.3 var(--font);box-shadow:0 1px 2px rgba(16,24,40,.06),0 8px 24px rgba(16,24,40,.10);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nvm-pop{padding:8px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--glass);color:var(--text);box-shadow:var(--shadow);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.nvm-pop-h{padding:8px 8px 6px;font:600 13px/1.2 var(--font);color:var(--text-3)}
.nvm-pop-h b{font-weight:600}
.nvm-pop-row{min-height:36px;font-size:14px;border-radius:6px}
.nvm-seg{background:var(--surface-3);border-color:var(--border)}
.nvm-seg button{min-height:32px;font:600 13px/1 var(--font)}
.nvm-seg button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px rgba(16,24,40,.08)}
.nvm-pin{width:28px;height:28px;background:var(--surface);border:2.5px solid var(--c);box-shadow:0 1px 3px rgba(16,24,40,.25),0 0 0 3px rgba(255,255,255,.6)}
.nvm-pin i{font:700 12px/1 var(--font);color:var(--c)}
.nvm-pin.is-sel,.is-hover .nvm-pin{transform:scale(1.18);box-shadow:0 0 0 4px var(--blue-line),0 4px 14px rgba(16,24,40,.18)}
.nvm-cluster{background:var(--surface);border:2.5px solid var(--blue);color:var(--text);font:700 13px/1 var(--font);box-shadow:0 1px 3px rgba(16,24,40,.25),0 0 0 4px rgba(255,255,255,.6)}
.nvm-cluster-pilots{border-color:var(--live)}
.nvm-cluster-sites{border-color:var(--unknown)}
.nvm-tip.leaflet-tooltip{background:var(--surface);border:1px solid var(--border);color:var(--text);font:400 13px/1.35 var(--font);border-radius:var(--r-md);box-shadow:0 8px 24px rgba(16,24,40,.12)}
.nvm .leaflet-control-attribution{background:rgba(255,255,255,.94);color:var(--text-3)}
.nvm-stage[hidden],.nvm-legend[hidden],.nvm-pop[hidden]{display:none!important}
