/* NG7M: responsive spotter picker and offline world map. */
.spotter-filter .quick-filter-menu {width:min(520px,calc(100vw - 48px));max-height:70vh;overflow:auto;z-index:1100}
.spotter-picker {color:var(--ink);white-space:normal;min-width:0}
.spotter-picker input[type=search],.spotter-picker input[type=text] {width:100%;min-height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--paper);color:var(--ink)}
.spotter-picker p,.spotter-conflicts {font-size:13px;line-height:1.5;margin:8px 0}
.spotter-chips {display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}
.spotter-picker button {min-height:44px;border:1px solid var(--line);border-radius:6px;padding:7px 10px;color:var(--ink);background:var(--paper);text-align:left}
.spotter-picker button:hover {background:var(--hover,var(--wash))}
.spotter-picker button:focus-visible,.spot-map-panel button:focus-visible {outline:2px solid var(--teal);outline-offset:2px}
.spotter-suggestions {display:flex;flex-direction:column;gap:4px;max-height:300px;overflow:auto;margin:8px 0}
.spotter-suggestions strong {margin-top:8px;font-size:13px}
.spotter-selection-card {grid-column:1/-1}
.spot-map-panel {margin:12px 0;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);overflow:hidden}
.spot-map-panel summary {padding:12px 14px;min-height:44px;cursor:pointer;font-weight:600}
.spot-map-description,.spot-map-status {padding:0 14px;font-size:13px;line-height:1.5}
.spot-map-actions {display:flex;align-items:center;gap:12px;padding:0 14px 10px;flex-wrap:wrap}
.spot-map-actions button {min-height:44px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:5px 12px}
#spotMap {height:440px;background:var(--wash);isolation:isolate}
#spotMapLegend {display:flex;flex-wrap:wrap;gap:12px;font-size:13px}
#spotMapLegend span {display:inline-flex;gap:5px;align-items:center}
#spotMapLegend i {width:10px;height:10px;border-radius:50%;display:inline-block}
.spot-map-panel .leaflet-popup-content-wrapper,.spot-map-panel .leaflet-popup-tip,.spot-map-panel .leaflet-tooltip {background:var(--paper);color:var(--ink)}
.spot-map-panel .leaflet-control-attribution {background:var(--paper);color:var(--ink);font-size:10px}
.spot-map-panel .leaflet-bar a {background:var(--paper);color:var(--ink);min-width:36px;min-height:36px;line-height:36px}
.spot-map-popup p {margin:8px 0}
@media(max-width:600px){#spotMap{height:340px}.spotter-filter{position:static}.spotter-filter .quick-filter-menu{left:12px;right:12px;width:auto}.spot-map-actions{align-items:flex-start}}
.spot-map-key strong,.spot-map-spotters>strong {display:block;font-size:12px;margin-bottom:5px}
.spot-map-spotters {padding:0 14px 12px}
#spotMapSpotters {display:flex;flex-wrap:wrap;gap:8px 14px;max-height:120px;overflow:auto;font-size:13px}
#spotMapSpotters span {display:inline-flex;gap:6px;align-items:center}
#spotMapSpotters i {width:20px;height:4px;display:inline-block;border-radius:2px}
/* Give the hover card the same readable proportions as the click popup.
   Scroll its content, keeping the pointer and outer card unclipped. */
.spot-map-panel .leaflet-tooltip.spot-map-tooltip {width:360px;max-width:calc(100vw - 48px);box-sizing:border-box;padding:0;border:1px solid var(--line);border-radius:10px;white-space:normal;overflow:visible;box-shadow:0 3px 14px rgba(0,0,0,.25);font-size:12px;line-height:1.4}
.spot-map-panel .spot-map-tooltip>.spot-map-popup {padding:12px 14px;box-sizing:border-box;max-height:min(300px,calc(100vh - 120px));overflow:auto;overscroll-behavior:contain}
.spot-map-panel .spot-map-tooltip.leaflet-tooltip-left:before {border-left-color:var(--paper)}
.spot-map-panel .spot-map-tooltip.leaflet-tooltip-right:before {border-right-color:var(--paper)}
.spot-map-panel .spot-map-tooltip.leaflet-tooltip-top:before {border-top-color:var(--paper)}
.spot-map-panel .spot-map-tooltip.leaflet-tooltip-bottom:before {border-bottom-color:var(--paper)}
.spot-map-report {margin:10px 0;border-top:1px solid var(--line);padding-top:8px}
.spot-map-report h4 {font-size:14px;margin:0 0 8px;font-weight:600}
.spot-map-report dl {display:grid;grid-template-columns:105px minmax(0,1fr);gap:4px 8px;font-size:12px;line-height:1.4;margin:0}
.spot-map-report dt {font-weight:600;text-align:left;white-space:normal}
.spot-map-report dd {margin:0;overflow-wrap:anywhere;white-space:normal}
@media(max-width:600px){.spot-map-panel .spot-map-tooltip>.spot-map-popup{max-height:min(240px,calc(100vh - 100px))}.spot-map-report dl{grid-template-columns:90px minmax(0,1fr)}}
