/* War Room (v3 Phase 3). Definitive-derived panels are display only: never add export affordances. */
.wr { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.wr-tools { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; justify-content: space-between; }
.wr-co { min-width: 180px; }
.wr-co[hidden] { display: none; }
.tiles { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(8, auto); gap: 4px; }
/* No background here: lv1-4 and b-* (components.css) set it; lv0 and b-none fall back below. */
.tile { aspect-ratio: 1; border-radius: 8px; border: 1px solid var(--edge); color: var(--ink); text-decoration: none; display: grid; place-content: center; text-align: center; line-height: 1.1; min-width: 0; }
.tile b { font-family: var(--mono); font-size: 11px; font-weight: 600; }
.tile span { font-family: var(--mono); font-size: 9.5px; color: var(--ink-2); }
.tile:hover, .tile.on { outline: 2px solid var(--accent); outline-offset: 1px; }
.lv0, .tile.b-none { background: var(--glass-2); }
#wr-legend { margin-top: 10px; }
#wr-state { position: sticky; top: 84px; max-height: calc(100vh - 100px); overflow: auto; }
#ws-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wr-sub { display: grid; gap: 4px; }
.wr-sub h4 { margin: 8px 0 0; font-size: 12.5px; font-weight: 600; display: flex; gap: 8px; align-items: center; }
.wm { margin-top: 12px; }
.wm-tools { display: flex; gap: 12px; flex-wrap: wrap; align-items: end; }
.wm-tools .field { min-width: 150px; }
.wm-tools select { font-size: 13px; color: var(--ink); background: var(--glass-2); border: 1px solid var(--edge); border-radius: 10px; padding: 8px 10px; }
.wm-checks { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.wm-checks .chk { display: flex; gap: 6px; align-items: center; font-size: 12.5px; color: var(--ink-2); }
.wm-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 12px; }
.wm-map { height: 560px; border-radius: 14px; overflow: hidden; border: 1px solid var(--edge); }
/* OSM tiles are themed here: Midnight (default, no attribute) inverts to dark, Frost mutes to grey. */
:root:not([data-theme="light"]) .wm-map .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.85) contrast(.9); }
:root[data-theme="light"] .wm-map .leaflet-tile-pane { filter: grayscale(1) contrast(.9) brightness(1.05); }
.wm-side { display: grid; gap: 8px; align-content: start; min-width: 0; }
.wm-pin-wrap { background: transparent; border: 0; }
.wm-pin { display: block; width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--bg); box-shadow: 0 0 0 1px var(--edge-hi); }
.wm-city { stroke: var(--data-2); fill: var(--data-2); fill-opacity: .35; }
.wm-list { display: grid; gap: 6px; }
.wm-item p { margin: 2px 0; font-size: 13px; }
.wm-job { font-size: 13px; padding: 3px 0; }
@media (max-width: 980px) {
  .wr, .wm-body { grid-template-columns: minmax(0, 1fr); }
  #wr-state { position: static; max-height: none; }
  .wm-map { height: 420px; }
}
@media (max-width: 520px) { .tile span { display: none; } }
