.symbol-available { color:var(--warning); }
.symbol-active { color:var(--accent-soft); }
.symbol-asset { color:var(--muted); }
.symbol-infrastructure { color:var(--paper); }
.symbol-agent { color:var(--accent-soft); }
.map-site-symbol { cursor:pointer; }
.symbol-hit { fill:transparent; stroke:none; pointer-events:all; }
.map-symbol-glyph { fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:square; stroke-linejoin:round; pointer-events:none; }
.symbol-count { fill:currentColor; font-size:8px; font-weight:700; text-anchor:middle; paint-order:stroke; stroke:var(--bg); stroke-width:3px; pointer-events:none; }
.site-symbol-leader { fill:none; stroke:currentColor; stroke-width:1; pointer-events:none; opacity:.65; }
.map-site-symbol:hover .map-symbol-glyph,
.map-site-symbol:focus-visible .map-symbol-glyph { stroke:#fff; stroke-width:2; }
.map-site-symbol .map-symbol-glyph { filter:drop-shadow(0 0 1.5px var(--bg)); }
.map-site-symbol:focus-visible { outline:none; }
.map-legend { gap:7px 14px; }
.map-symbol-icon { width:17px; height:17px; flex:0 0 auto; }
.map-symbol-key { white-space:nowrap; }
