/* Map view (web/map.js): Leaflet map or canvas radar, GNSS sky plot. Uses the app's CSS variables. */
.fm-map { display: flex; flex-direction: column; gap: 8px; min-height: 0; height: 100%; color: var(--text, #e8eef1); }
.fm-bar { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.fm-btn { min-height: 34px; padding: 4px 12px; border-radius: var(--radius, 8px); border: 1px solid var(--line, #27343c);
  background: var(--panel2, #1c2830); color: inherit; font: inherit; cursor: pointer; }
.fm-btn[aria-pressed=true] { background: var(--accent, #37c964); border-color: var(--accent, #37c964); color: #fff; }
.fm-btn:disabled { opacity: .5; cursor: default; }
.fm-loc { font-size: 18px; line-height: 1; padding: 4px 10px; }
.fm-status { flex: 1 1 140px; min-width: 0; font-size: 12px; color: var(--muted, #8b9ba3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fm-stage { position: relative; flex: 1 1 auto; min-height: 260px; border-radius: var(--radius, 8px); overflow: hidden;
  border: 1px solid var(--line, #27343c); background: var(--plot-bg, #111a1f); }
.fm-leaflet, .fm-radar { position: absolute; inset: 0; width: 100%; height: 100%; }
.fm-leaflet[hidden], .fm-radar[hidden] { display: none; }
.fm-radar { touch-action: none; }
.fm-cells { font-size: 13px; }
.fm-cells summary { cursor: pointer; color: var(--muted, #8b9ba3); }
.fm-cells ul { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 4px; }
.fm-cells li { display: flex; gap: 8px; flex-wrap: wrap; padding: 6px 8px; border-radius: 6px; background: var(--panel2, #1c2830); }
.fm-cells li span { color: var(--muted, #8b9ba3); }

/* Leaflet markers (divIcon / path classNames) */
.fm-ac { color: #e6b969; background: none; border: 0; }
.fm-ac svg { display: block; fill: currentColor; stroke: #0008; stroke-width: 1; filter: drop-shadow(0 1px 1px #0006); }
.fm-ac.stale { opacity: .4; }
.fm-drone { color: #ff5c8a; font-size: 16px; line-height: 18px; text-align: center; background: none; border: 0; text-shadow: 0 0 2px #000; }
.fm-sat { font-size: 16px; line-height: 20px; text-align: center; background: none; border: 0; }
path.fm-op { stroke: #ff5c8a; fill: #ff9cb8; fill-opacity: .9; }
path.fm-line { stroke: #ff5c8a; stroke-width: 2; }
path.fm-self { stroke: #fff; stroke-width: 2; fill: var(--accent, #37c964); fill-opacity: 1; }
path.fm-acc { stroke: var(--accent, #37c964); stroke-width: 1; fill: var(--accent, #37c964); fill-opacity: .08; }
.fm-map .leaflet-container { background: var(--plot-bg, #111a1f); font: 12px/1.4 var(--font, system-ui, sans-serif); }
.fm-map .leaflet-control-attribution { font-size: 10px; }

/* GNSS sky plot */
.fm-sky { display: block; width: 100%; aspect-ratio: 1; max-width: 420px; margin: 0 auto; border-radius: 50%; }
