
.watchtower-map-lightbox-stage>#airLiveTrafficMapPanel{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.watchtower-map-lightbox-stage>#airLiveTrafficMapPanel .aircraft-live-traffic-frame{flex:1;height:auto;min-height:0!important}
/* ═══════════════════════════════════════════════════════════════
   WATCHTOWER - OSINT COMMAND CENTER
   Dark command-center theme
   ═══════════════════════════════════════════════════════════════ */

:root {
  --bg: #070b12;
  --bg-panel: rgba(14, 21, 32, 0.92);
  --bg-card: #121b28;
  --bg-input: #172131;
  --border: rgba(255,255,255,0.08);
  --border-active: rgba(133,196,255,0.36);
  --text: #ffffff;
  --text-bright: #ffffff;
  --text-muted: #d7e4f2;
  --accent: #76c8ff;
  --accent-glow: rgba(118,200,255,0.18);
  --up: #2ecc71;
  --down: #e74c3c;
  --warn: #ffb347;
  --danger: #ff6b6b;
  --solar: #ff8b5c;
  --quake: #e74c3c;
  --flight: #00d4ff;
  --sat: #a855f7;
  --weather: #1abc9c;
  --news: #f1c40f;
  --econ: #3498db;
  --panel-radius: 10px;
  --font-mono: ui-monospace, 'Cascadia Mono', 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --font-ui: system-ui, -apple-system, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  background:
    radial-gradient(circle at top, rgba(118,200,255,0.12), transparent 28%),
    radial-gradient(circle at right, rgba(168,85,247,0.08), transparent 24%),
    linear-gradient(180deg, #09101a 0%, var(--bg) 54%, #05080d 100%);
  color: var(--text);
  font-family: var(--font-ui);
  font-size: 13px;
  overflow: hidden;
}

body.theme-light {
  --bg: #f4f7fb;
  --bg-panel: rgba(255,255,255,0.94);
  --bg-card: #ffffff;
  --bg-input: #eef3f8;
  --border: rgba(32,52,78,0.14);
  --border-active: rgba(33,116,184,0.38);
  --text: #263548;
  --text-bright: #0b1524;
  --text-muted: #5f7187;
  --accent: #176da8;
  --accent-glow: rgba(23,109,168,0.12);
  --up: #16824c;
  --down: #c0392b;
  --warn: #b66a00;
  --danger: #c94343;
  --solar: #c45a25;
  color: var(--text);
  background:
    radial-gradient(circle at top left, rgba(23,109,168,0.12), transparent 30%),
    radial-gradient(circle at right, rgba(82,120,170,0.1), transparent 28%),
    linear-gradient(180deg, #fbfdff 0%, var(--bg) 56%, #e8eef6 100%);
}

body.theme-light .topbar {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(238,244,250,0.94));
  box-shadow: 0 8px 24px rgba(32,52,78,0.08);
}

body.theme-light .panel {
  background: linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,252,0.94));
  box-shadow: 0 14px 34px rgba(32,52,78,0.12);
}

body.theme-light .panel:hover,
body.theme-light .card:hover {
  box-shadow: 0 16px 28px rgba(32,52,78,0.16);
}

body.theme-light .top-risk-chip,
body.theme-light .ticker-item:hover,
body.theme-light .cal-date-header {
  background: rgba(23,109,168,0.07);
}

body.theme-light .panel-drag-handle,
body.theme-light .globe-legend,
body.theme-light .globe-info,
body.theme-light .ticker-settings,
body.theme-light .ops-panel,
body.theme-light .layout-manager {
  box-shadow: 0 14px 34px rgba(32,52,78,0.18);
}

body.theme-light .data-table td,
body.theme-light .layout-tab-table th,
body.theme-light .layout-tab-table td {
  border-bottom-color: rgba(32,52,78,0.08);
}

body.theme-light .btn {
  color: #fff;
}

body.theme-light .btn-ghost,
body.theme-light .layout-mini-btn {
  background: rgba(255,255,255,0.54);
  color: var(--text);
}

body.theme-light .theme-toggle-btn.active {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(23,109,168,0.12);
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.2); }

/* ── TOP BAR ── */
.topbar {
  min-height: 42px;
  background: linear-gradient(180deg, rgba(18,27,40,0.96), rgba(11,17,26,0.94));
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  padding: 0 16px;
  gap: 16px;
  z-index: 100;
  position: relative;
}

.topbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-weight: 600;
  font-size: 14px;
  color: var(--accent);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  text-decoration: none;
}

.topbar-brand:hover .topbar-brand-main,
.topbar-brand:focus-visible .topbar-brand-main {
  color: var(--text-bright);
}

.topbar-brand-icon {
  width: 16px;
  height: 16px;
  border-radius: 4px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(145deg, rgba(59,139,235,0.22), rgba(46,204,113,0.2));
  border: 1px solid rgba(255,255,255,0.16);
}

.topbar-brand-icon svg {
  width: 11px;
  height: 11px;
  display: block;
}

.topbar-brand-main {
  color: var(--accent);
}

.topbar-brand-sub {
  color: var(--text-muted);
  font-weight: 400;
  font-size: 11px;
  margin-left: 8px;
  letter-spacing: 0.04em;
}

.topbar-clock {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--text-muted);
  white-space: nowrap;
  flex-shrink: 0;
}

.topbar-status {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-shrink: 0;
}

.app-health-pill {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 5px 9px;
  background: var(--bg-card);
  color: inherit;
  font: inherit;
  cursor: pointer;
  appearance: none;
  transition: border-color 140ms ease, background 140ms ease;
}

.app-health-pill:hover {
  border-color: var(--border-active);
  background: var(--bg-input);
}

.app-health-pill.degraded .status-label {
  color: var(--danger);
}

.app-health-pill.warning .status-label {
  color: var(--warn);
}

.topbar-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

.topbar-menu-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.topbar-menu-btn,
.topbar-status-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
}

.topbar-user-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(118,200,255,0.14);
  border: 1px solid rgba(118,200,255,0.25);
  color: var(--accent);
  font-size: 12px;
  line-height: 1;
}

.topbar-user-icon svg {
  width: 13px;
  height: 13px;
  display: block;
}

.topbar-cog-icon {
  display: inline-grid;
  place-items: center;
  color: var(--text-muted);
  width: 16px;
  height: 16px;
}

.topbar-cog-icon svg {
  width: 15px;
  height: 15px;
  display: block;
}

.topbar-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: min(380px, calc(100vw - 24px));
  max-height: min(72vh, 620px);
  overflow: auto;
  display: none;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-panel);
  box-shadow: 0 18px 42px rgba(0,0,0,0.52);
  z-index: 1250;
}

.topbar-dropdown.visible {
  display: grid;
  gap: 8px;
}

.topbar-user-dropdown {
  background: var(--bg-card);
}

.topbar-status-dropdown,
.topbar-user-dropdown {
  position: fixed;
  top: 58px;
  left: 50%;
  right: auto;
  width: min(920px, calc(100vw - 28px));
  max-height: min(82vh, 760px);
  transform: translateX(-50%);
  padding: 16px;
  border-radius: 18px;
  border-color: rgba(118,200,255,0.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.13), transparent 32%),
    linear-gradient(180deg, rgba(17,24,36,0.99), rgba(8,13,22,0.99));
  box-shadow: 0 28px 80px rgba(0,0,0,0.72), inset 0 1px 0 rgba(255,255,255,0.06);
}

.topbar-status-dropdown::before,
.topbar-user-dropdown::before {
  content: '';
  position: fixed;
  inset: -80px -100vw;
  z-index: -1;
  background: rgba(2,6,12,0.58);
  backdrop-filter: blur(8px);
}

.topbar-status-dropdown .topbar-menu-section,
.topbar-user-dropdown .topbar-menu-section {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.topbar-user-dropdown .person-intel-grid,
.topbar-shortcut-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.topbar-user-dropdown .mode-toggle-group {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

@media (max-width: 640px) {
  .topbar-status-dropdown,
  .topbar-user-dropdown {
    top: 50px;
    width: calc(100vw - 16px);
    max-height: calc(100vh - 66px);
    padding: 12px;
  }
}

.topbar-dropdown-title {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 2px 2px 4px;
}

.topbar-menu-section {
  display: grid;
  gap: 7px;
}

.topbar-menu-section .topbar-status,
.topbar-menu-section .app-health-pill,
.topbar-menu-section #startupPresetPill,
.topbar-menu-section #reportProfilePill,
.topbar-menu-section #watchtowerFavoritesPill {
  width: 100%;
  min-width: 0 !important;
  max-width: none !important;
  justify-content: flex-start;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 7px 9px;
  background: rgba(255,255,255,0.03);
}

.topbar-user-dropdown .mode-toggle-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.topbar-user-dropdown .mode-toggle-group .btn,
.topbar-user-dropdown > .btn,
.topbar-user-dropdown .topbar-menu-section > .btn {
  width: 100%;
  justify-content: center;
}

.topbar-user-dropdown .topbar-menu-section > [data-user-open-startup],
.topbar-user-dropdown .topbar-menu-section > [data-user-open-report],
.topbar-user-dropdown .topbar-menu-section > #watchtowerHelpMenuBtn,
.topbar-user-dropdown .topbar-menu-section > #watchtowerCommandPaletteBtn {
  background: var(--bg-input);
  border-color: var(--border-active);
  color: var(--text-bright);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(0,0,0,0.2);
}

.topbar-user-dropdown .topbar-menu-section > [data-user-open-startup]:hover,
.topbar-user-dropdown .topbar-menu-section > [data-user-open-report]:hover,
.topbar-user-dropdown .topbar-menu-section > #watchtowerHelpMenuBtn:hover,
.topbar-user-dropdown .topbar-menu-section > #watchtowerCommandPaletteBtn:hover {
  background: var(--bg-card);
  border-color: var(--accent);
}

.topbar-status-dropdown.visible,
.topbar-user-dropdown.visible {
  display: grid;
  gap: 12px;
}

.topbar-status-dropdown .topbar-menu-section,
.topbar-user-dropdown .topbar-menu-section,
.topbar-shortcut-grid {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
}

.topbar-user-dropdown .mode-toggle-group,
.topbar-user-dropdown .person-intel-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

#startupPresetManager,
#reportProfileManager,
#watchtowerCommandPalette > div {
  background: var(--bg-card) !important;
}

#startupPresetManager .layout-mini-btn,
#reportProfileManager .layout-mini-btn,
#watchtowerCommandPalette .layout-mini-btn {
  background: var(--bg-input) !important;
  border-color: var(--border-active);
  color: var(--text-bright);
}

#startupPresetManager .layout-mini-btn:hover,
#reportProfileManager .layout-mini-btn:hover,
#watchtowerCommandPalette .layout-mini-btn:hover {
  background: var(--bg-card) !important;
  border-color: var(--accent);
}

#watchtowerCommandPaletteList {
  background: var(--bg-card);
}

.watchtower-help-btn {
  border-color: rgba(118,200,255,0.28) !important;
  color: var(--text-bright) !important;
  background: linear-gradient(135deg, rgba(118,200,255,0.16), rgba(255,203,107,0.08)) !important;
}

.watchtower-help-overlay {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2,6,12,0.72);
  backdrop-filter: blur(10px);
}

.watchtower-help-overlay.visible {
  display: flex;
}

.watchtower-help-modal {
  width: min(980px, calc(100vw - 24px));
  max-height: min(88vh, 820px);
  overflow: auto;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.14), transparent 32%),
    linear-gradient(180deg, rgba(17,24,36,0.98), rgba(8,13,22,0.98));
  box-shadow: 0 28px 80px rgba(0,0,0,0.72), inset 0 1px 0 rgba(255,255,255,0.06);
}

.watchtower-help-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 12px;
  border-bottom: 1px solid rgba(118,200,255,0.13);
}

.watchtower-help-kicker,
.watchtower-help-card-kicker,
.watchtower-help-section-title {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.watchtower-help-title {
  margin-top: 4px;
  font-size: 24px;
  line-height: 1.1;
  color: var(--text-bright);
  font-weight: 700;
}

.watchtower-help-copy {
  margin-top: 6px;
  max-width: 720px;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.45;
}

.watchtower-help-body {
  padding: 14px 18px 18px;
  display: grid;
  gap: 12px;
}

.watchtower-help-search {
  width: 100%;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 12px;
  background: rgba(4,9,16,0.74);
  color: var(--text-bright);
  padding: 11px 12px;
  font-size: 13px;
}

.watchtower-help-quick,
.watchtower-help-card-actions,
.watchtower-help-glossary {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.watchtower-help-results {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}

.watchtower-help-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 170px;
  padding: 12px;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 14px;
  background: rgba(255,255,255,0.035);
}

.watchtower-help-card-title {
  color: var(--text-bright);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

.watchtower-help-card-copy,
.watchtower-help-card-how,
.watchtower-help-glossary-card {
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.42;
}

.watchtower-help-card-how {
  padding-top: 6px;
  border-top: 1px solid rgba(255,255,255,0.06);
}

.watchtower-help-glossary-card {
  flex: 1 1 180px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}

.watchtower-help-empty {
  padding: 16px;
  border: 1px dashed rgba(118,200,255,0.22);
  border-radius: 14px;
  color: var(--text-muted);
  font-size: 12px;
  line-height: 1.45;
}

.topbar-shortcuts-title {
  padding-top: 6px;
}

.topbar-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.topbar-shortcut-grid .btn {
  width: 100%;
  justify-content: center;
  background: var(--bg-input);
  border-color: var(--border-active);
  color: var(--text-bright);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 8px 18px rgba(0,0,0,0.18);
}

.topbar-shortcut-grid .btn:hover {
  background: var(--bg-card);
  border-color: var(--accent);
}

.ticker-stack {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0 12px;
}

.top-risk-strip {
  display: flex;
  align-items: stretch;
  min-width: 0;
  overflow: hidden;
  position: relative;
  min-height: 18px;
  mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}

.top-risk-strip:hover .top-risk-track { animation-play-state: paused; }

.top-risk-track {
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  animation: ticker-scroll 85s linear infinite;
}

.top-risk-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  font-family: var(--font-mono);
  font-size: 9px;
  white-space: nowrap;
  text-decoration: none;
  appearance: none;
  color: inherit;
  cursor: pointer;
}

.top-risk-chip:hover {
  background: rgba(255,255,255,0.08);
}

.top-risk-chip.flash-alert {
  animation: watchtowerAlertFlash 1.2s ease-in-out infinite;
  box-shadow: 0 0 0 rgba(231, 76, 60, 0);
}

@keyframes watchtowerAlertFlash {
  0% { background: rgba(231,76,60,0.14); box-shadow: 0 0 0 0 rgba(231,76,60,0.28); }
  50% { background: rgba(231,76,60,0.28); box-shadow: 0 0 18px 0 rgba(231,76,60,0.34); }
  100% { background: rgba(231,76,60,0.14); box-shadow: 0 0 0 0 rgba(231,76,60,0.18); }
}

.top-risk-chip-label {
  color: var(--text-bright);
}

.top-risk-chip-meta {
  color: var(--text-muted);
}

.top-risk-chip-detail {
  color: var(--text-muted);
  opacity: 0.92;
}

/* ── TICKER BAR ── */
.ticker-wrap {
  flex: 0 0 auto;
  overflow: hidden;
  position: relative;
  mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30px, #000 calc(100% - 30px), transparent);
  cursor: pointer;
}

.ticker-track {
  display: flex;
  gap: 18px;
  animation: ticker-scroll 60s linear infinite;
  width: max-content;
  align-items: center;
}

.ticker-wrap:hover .ticker-track { animation-play-state: paused; }

@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.ticker-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-family: var(--font-mono);
  font-size: 10px;
  white-space: nowrap;
  padding: 2px 6px;
  border-radius: 3px;
  transition: background 150ms;
}

.ticker-item:hover { background: rgba(255,255,255,0.06); }
.ticker-item.selected { background: rgba(59,139,235,0.15); border: 1px solid rgba(59,139,235,0.3); }
.ticker-name { color: var(--text-muted); font-size: 9px; letter-spacing: 0.04em; }
.ticker-price { color: var(--text-bright); font-weight: 600; }
.ticker-chg { font-size: 9px; }
.ticker-chg.up { color: var(--up); }
.ticker-chg.down { color: var(--danger); }
.ticker-sep { color: var(--border); font-size: 8px; }
.ticker-debt { color: var(--danger); font-weight: 600; }

/* Ticker settings popover */
.ticker-settings {
  position: absolute; top: 100%; left: 50%; transform: translateX(-50%);
  background: var(--bg-panel); border: 1px solid var(--border); border-radius: 8px;
  padding: 10px 12px; z-index: 999; width: 280px; max-height: 350px; overflow-y: auto;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5); display: none;
}
.ticker-settings.visible { display: block; }
.ticker-settings-title { font-family: var(--font-mono); font-size: 10px; color: var(--text-muted); letter-spacing: 0.08em; margin-bottom: 6px; }
.ticker-opt { display: flex; align-items: center; gap: 6px; padding: 3px 0; font-size: 11px; cursor: pointer; }
.ticker-opt input[type="checkbox"] { accent-color: var(--accent); }
.ticker-opt-label { color: var(--text); }
.ticker-opt-cat { font-family: var(--font-mono); font-size: 9px; color: var(--text-muted); letter-spacing: 0.08em; margin-top: 8px; margin-bottom: 2px; }

/* ── YIELD CURVE CANVAS ── */
.yield-curve-chart { width: 100%; height: 140px; }

/* ── FEAR & GREED GAUGE ── */
.fg-gauge { text-align: center; padding: 10px 0; }
.fg-arc { position: relative; width: 160px; height: 90px; margin: 0 auto; }
.fg-score { font-family: var(--font-mono); font-size: 36px; font-weight: 700; }
.fg-label { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; margin-top: 4px; }
.fg-bar { height: 10px; border-radius: 5px; margin: 8px 0; background: linear-gradient(90deg, #e74c3c, #e67e22, #f1c40f, #2ecc71, #27ae60); position: relative; }
.fg-indicator { position: absolute; top: -3px; width: 4px; height: 16px; background: #fff; border-radius: 2px; transition: left 0.5s; }
.fg-factors { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; font-size: 10px; margin-top: 8px; }
.fg-factor { display: flex; justify-content: space-between; padding: 3px 6px; background: var(--bg-card); border-radius: 4px; }

/* ── CENTRAL BANK RATES ── */
.cb-rate-row { display: flex; align-items: center; justify-content: space-between; padding: 5px 6px; border-bottom: 1px solid var(--border); font-size: 11px; }
.cb-rate-country { color: var(--text); flex: 1; }
.cb-rate-val { font-family: var(--font-mono); font-weight: 600; color: var(--text-bright); min-width: 50px; text-align: right; }
.cb-rate-name { font-family: var(--font-mono); font-size: 9px; color: var(--text-muted); }

/* ── CURRENCY HEATMAP ── */
.fx-heatmap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; padding: 4px; }
.fx-heat-cell { padding: 6px 4px; text-align: center; border-radius: 4px; font-family: var(--font-mono); }
.fx-heat-name { font-size: 10px; font-weight: 600; }
.fx-heat-val { font-size: 9px; margin-top: 2px; }

/* ── PORTFOLIO SEARCH RESULTS ── */
.pf-search-item { display:flex; align-items:center; gap:6px; padding:6px 8px; cursor:pointer; border-bottom:1px solid var(--border); font-size:11px; transition:background 100ms; }
.pf-search-item:hover { background:rgba(59,139,235,0.1); }
.pf-search-sym { font-family:var(--font-mono); font-weight:600; color:var(--accent); min-width:60px; }
.pf-search-name { color:var(--text); flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pf-search-exch { font-family:var(--font-mono); font-size:9px; color:var(--text-muted); }

.status-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 6px var(--up);
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}

.status-label {
  font-size: 11px;
  color: var(--text-muted);
  font-family: var(--font-mono);
}

#getAdvancedBtn {
  display: none;
}

.ops-panel {
  position: absolute;
  top: 44px;
  right: 14px;
  width: min(420px, calc(100vw - 28px));
  max-height: 70vh;
  overflow: auto;
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.5);
  z-index: 1200;
  padding: 10px;
  display: none;
}

.ops-panel.visible {
  display: block;
}

.ops-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.ops-panel-title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.ops-panel-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 8px;
}

.ops-pill {
  padding: 5px 7px;
  border-radius: 6px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
}

.ops-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.ops-select {
  flex: 1;
  min-width: 190px;
}

.ops-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 9px;
}

.ops-table th,
.ops-table td {
  text-align: left;
  padding: 4px 6px;
  border-bottom: 1px solid var(--border);
}

.ops-table th {
  color: var(--text-muted);
  letter-spacing: 0.06em;
  font-weight: 500;
}

/* ── MAIN GRID ── */
.main-grid {
  display: grid;
  grid-template-columns: 280px 1fr 300px;
  grid-template-rows: 1fr 1fr;
  height: calc(100vh - 42px);
  gap: 10px;
  padding: 10px;
  background: transparent;
}

/* ── PANEL BASE ── */
.panel {
  background: linear-gradient(180deg, rgba(17,24,36,0.94), rgba(12,18,28,0.92));
  border: 1px solid var(--border);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0,0,0,0.28);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: box-shadow 180ms ease, transform 180ms ease, border-color 180ms ease;
}

.panel:hover {
  border-color: var(--border-active);
  box-shadow: 0 16px 32px rgba(0,0,0,0.3);
  transform: translateY(-1px);
}

.panel.panel-dragging {
  opacity: 0.76;
  transform: scale(0.992);
}

.panel.panel-drop-target {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px rgba(59,139,235,0.4), 0 18px 34px rgba(0,0,0,0.34);
}

.panel-drag-handle {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 6;
  border: 1px solid var(--border);
  background: rgba(19, 24, 34, 0.75);
  color: var(--text-muted);
  border-radius: 5px;
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: grab;
  user-select: none;
}

.panel-drag-handle:hover {
  color: var(--text-bright);
  border-color: var(--accent);
}

.panel-drag-handle:active {
  cursor: grabbing;
}

.panel-drag-handle[disabled] {
  opacity: 0.45;
  cursor: default;
}

.panel-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  min-height: 38px;
  flex-shrink: 0;
}

.panel-title {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  white-space: nowrap;
}

.panel-title-icon {
  width: 14px; height: 14px;
  border-radius: 3px;
  flex-shrink: 0;
}

.panel-badge {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 3px;
  background: var(--accent-glow);
  color: var(--accent);
  margin-left: auto;
}

.panel-timestamp {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  margin-left: 8px;
  opacity: 0.8;
  white-space: nowrap;
}

.mode-toggle-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.mode-toggle-btn.active {
  color: var(--accent);
  border-color: var(--accent);
  background: rgba(59,139,235,0.12);
}

.simple-board-bar {
  display: none;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.02);
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  user-select: none;
  scrollbar-width: thin;
}

body.simple-mode .simple-board-bar {
  justify-content: center;
  cursor: default;
}

.simple-board-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.simple-pick-btn {
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
  border-radius: 999px;
  padding: 5px 10px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
}

#simpleBoardBar .simple-pick-btn {
  min-height: 34px;
  padding-inline: 14px;
}

.simple-pick-btn.active {
  color: var(--text-bright);
  border-color: var(--accent);
  background: rgba(59,139,235,0.12);
}

.simple-board-meta {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  white-space: nowrap;
  flex: 0 0 auto;
}

.simple-summary-board {
  display: none;
  padding: 10px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.015);
}

.simple-summary-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.simple-summary-title {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.simple-summary-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: auto;
}

.simple-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(146px, 1fr));
  gap: 8px;
}

.simple-summary-card {
  position: relative;
  padding: 10px 12px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.simple-summary-card-title {
  font-size: 12px;
  color: var(--text-bright);
  margin-bottom: 4px;
  padding-right: 18px;
}

.simple-summary-card-meta {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.simple-summary-card-value {
  font-family: var(--font-mono);
  font-size: 20px;
  color: var(--text-bright);
  margin-top: 6px;
}

.simple-summary-card-change {
  font-family: var(--font-mono);
  font-size: 11px;
  margin-top: 3px;
}

.simple-summary-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  cursor: pointer;
}

.simple-summary-empty {
  padding: 12px;
  color: var(--text-muted);
  text-align: center;
  background: var(--bg-card);
  border: 1px dashed var(--border);
  border-radius: 10px;
}

.signal-board-panel {
  height: 100%;
  overflow: hidden;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.signal-board-topbar {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 0.9fr) auto;
  gap: 8px;
  align-items: center;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}

.signal-board-topbar input,
.signal-board-topbar select {
  width: 100%;
  min-width: 0;
  font-size: 11px;
  padding: 6px 8px;
}

.signal-board-topbar-meta {
  grid-column: 1 / -1;
  min-height: 11px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.signal-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.11), transparent 32%),
    linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.012));
}

.signal-board-title {
  font-family: var(--font-ui);
  font-size: 18px;
  font-weight: 700;
  color: var(--text-bright);
  letter-spacing: -0.03em;
}

.signal-board-subtitle,
.signal-board-meta {
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.45;
}

.signal-board-tools {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.signal-board-tile-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.signal-board-tile-title {
  font-weight: 700;
  color: var(--text-bright);
  margin-top: 3px;
}

.signal-board-tile-detail {
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.35;
  margin-top: 4px;
}

.signal-board-grid {
  --signal-cols: 4;
  --signal-row-min: 148px;
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(var(--signal-cols), minmax(0, 1fr));
  grid-auto-rows: minmax(var(--signal-row-min), auto);
  gap: 10px;
  align-items: stretch;
}

.signal-board-grid.layout-dynamic[data-count="1"] { --signal-cols: 1; --signal-row-min: min(62vh, 520px); }
.signal-board-grid.layout-dynamic[data-count="2"] { --signal-cols: 2; --signal-row-min: min(58vh, 480px); }
.signal-board-grid.layout-dynamic[data-count="3"],
.signal-board-grid.layout-dynamic[data-count="4"] { --signal-cols: 2; --signal-row-min: min(32vh, 300px); }

.signal-board-tile {
  position: relative;
  min-width: 0;
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 12px;
  border: 1px solid var(--border);
  border-left: 4px solid var(--tile-color, var(--accent));
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tile-color, var(--accent)) 18%, transparent), transparent 34%),
    var(--bg-card);
  overflow: hidden;
}

.signal-board-tile.triggered {
  border-color: color-mix(in srgb, var(--tile-color, var(--danger)) 70%, var(--border));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--tile-color, var(--danger)) 28%, transparent), 0 0 24px color-mix(in srgb, var(--tile-color, var(--danger)) 18%, transparent);
}

.signal-board-grid.alert-priority .signal-board-tile.triggered:first-child,
.signal-board-grid.layout-focus .signal-board-tile:first-child {
  grid-column: span min(2, var(--signal-cols));
  grid-row: span 2;
}

.signal-board-tile-value {
  font-family: var(--font-mono);
  font-size: clamp(20px, 4vw, 42px);
  line-height: 1;
  color: var(--text-bright);
  letter-spacing: -0.04em;
}

.signal-board-tile-change {
  font-family: var(--font-mono);
  font-size: 11px;
}

.signal-board-tile-footer,
.signal-board-alert-row {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.signal-board-alert-row {
  padding-top: 2px;
}

.signal-board-tile-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 2px;
}

.signal-board-tile-alert {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.05em;
}

.signal-board-remove {
  position: absolute;
  top: 8px;
  right: 8px;
  border: none;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 12px;
  cursor: pointer;
}

.signal-board-tile[draggable="true"] {
  cursor: grab;
}

.signal-board-tile.drag-over {
  outline: 2px dashed var(--accent);
  outline-offset: 3px;
}

.signal-board-notice {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--solar);
}

.signal-board-empty {
  padding: 26px;
  border: 1px dashed var(--border-active);
  border-radius: 14px;
  text-align: center;
  color: var(--text-muted);
  background: rgba(118,200,255,0.045);
}

.signal-board-empty strong {
  display: block;
  color: var(--text-bright);
  font-size: 16px;
  margin-bottom: 5px;
}

@media (max-width: 760px) {
  .signal-board-head,
  .signal-board-tools {
    align-items: stretch;
  }

  .signal-board-topbar {
    grid-template-columns: 1fr;
  }

  .signal-board-grid {
    --signal-cols: 1 !important;
    --signal-row-min: 180px !important;
  }

  .signal-board-grid.alert-priority .signal-board-tile.triggered:first-child,
  .signal-board-grid.layout-focus .signal-board-tile:first-child {
    grid-column: span 1;
    grid-row: span 1;
  }
}

.brief-summary-board {
  display: none;
  padding: 16px;
  border-bottom: 1px solid var(--border);
  background:
    radial-gradient(circle at top right, rgba(118,200,255,0.08), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.012));
}

.brief-summary-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.brief-summary-title {
  font-family: var(--font-ui);
  font-size: 26px;
  font-weight: 700;
  color: var(--text-bright);
  letter-spacing: -0.03em;
}

.brief-summary-meta {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
}

.brief-hero {
  display: grid;
  grid-template-columns: 1.45fr 0.85fr;
  gap: 12px;
  margin-bottom: 12px;
}

.brief-hero-main {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  padding: 18px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background:
    radial-gradient(circle at top right, rgba(118,200,255,0.2), transparent 30%),
    radial-gradient(circle at left, rgba(168,85,247,0.1), transparent 24%),
    linear-gradient(135deg, rgba(14,24,38,0.98), rgba(11,17,27,0.94));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 18px 48px rgba(0,0,0,0.24);
}

.brief-hero-main::after {
  content: '';
  position: absolute;
  inset: auto -40px -60px auto;
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(118,200,255,0.18), transparent 72%);
  pointer-events: none;
}

.brief-hero-kicker {
  position: relative;
  z-index: 1;
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(215,223,235,0.78);
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.brief-hero-title {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  max-width: 10.5ch;
  font-size: clamp(34px, 5vw, 52px);
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 700;
  color: var(--text-bright);
}

.brief-hero-copy {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  max-width: 62ch;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(215,223,235,0.9);
}

.brief-hero-ribbon {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.brief-hero-markets {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 16px;
}

.brief-hero-market {
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.brief-hero-market-name {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brief-hero-market-value {
  margin-top: 6px;
  font-size: 18px;
  letter-spacing: -0.03em;
  font-weight: 700;
  color: var(--text-bright);
}

.brief-hero-market-change {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 10px;
}

.brief-hero-chip {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.brief-hero-chip strong {
  color: var(--text-bright);
  font-weight: 600;
}

.brief-hero-side {
  display: grid;
  gap: 12px;
}

.brief-hero-stat {
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(18,28,43,0.94), rgba(11,18,28,0.9));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.brief-hero-stat-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brief-hero-stat-value {
  margin-top: 8px;
  font-size: 22px;
  letter-spacing: -0.04em;
  font-weight: 700;
  color: var(--text-bright);
}

.brief-hero-stat-meta {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.5;
}

.brief-hero-tone-stable .brief-hero-stat-value { color: var(--accent); }
.brief-hero-tone-watch .brief-hero-stat-value { color: var(--solar); }
.brief-hero-tone-elevated .brief-hero-stat-value { color: var(--warn); }
.brief-hero-tone-critical .brief-hero-stat-value { color: var(--danger); }

.brief-summary-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 12px;
}

.brief-summary-card {
  background: linear-gradient(180deg, rgba(20,31,46,0.96), rgba(16,24,35,0.92));
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.brief-summary-card-title {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.brief-summary-lines {
  display: grid;
  gap: 6px;
}

.brief-summary-line {
  font-size: 13px;
  color: var(--text);
  line-height: 1.55;
}

.brief-summary-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.brief-signal-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px;
}

.crypto-watch-btn {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  color: var(--text);
  font: inherit;
}

.crypto-watch-btn:hover {
  border-color: var(--accent) !important;
  background: rgba(65,196,255,0.08);
}

.brief-signal-name {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-bottom: 5px;
}

.brief-signal-value {
  font-size: 20px;
  font-weight: 700;
  color: var(--text-bright);
  letter-spacing: -0.03em;
}

.brief-signal-change {
  font-family: var(--font-mono);
  font-size: 11px;
  margin-top: 4px;
}

.brief-action-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}

.brief-list {
  display: grid;
  gap: 7px;
}

.brief-list-item {
  padding: 10px 12px;
  background: rgba(255,255,255,0.02);
  border: 1px solid var(--border);
  border-radius: 10px;
}

.brief-list-item-title {
  font-size: 12px;
  color: var(--text-bright);
}

.brief-list-item-meta {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.brief-summary-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.brief-kpi-card {
  background: linear-gradient(180deg, rgba(118,200,255,0.08), rgba(255,255,255,0.025));
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.brief-kpi-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brief-kpi-value {
  margin-top: 6px;
  font-size: 24px;
  font-weight: 700;
  color: var(--text-bright);
  letter-spacing: -0.04em;
}

.brief-kpi-meta {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.daily-brief-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.85fr);
  gap: 12px;
}

.daily-brief-section {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(20,31,46,0.96), rgba(16,24,35,0.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.daily-brief-alerts { grid-column: 1 / -1; }

.daily-brief-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.daily-brief-section-title {
  color: var(--text-bright);
  font-size: 16px;
  font-weight: 750;
  letter-spacing: -0.02em;
}

.daily-brief-section-meta,
.daily-brief-item-meta,
.daily-brief-status {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.45;
}

.daily-brief-list { display: grid; gap: 6px; }

.daily-brief-news-item,
.daily-brief-alert-item {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 9px;
  background: rgba(255,255,255,0.025);
}

.daily-brief-news-item { grid-template-columns: minmax(0, 1fr); }

.daily-brief-item-title {
  color: var(--text-bright);
  font-size: 12px;
  line-height: 1.4;
}

.daily-brief-item-title a { color: inherit; text-decoration: none; }
.daily-brief-item-title a:hover { color: var(--accent); }

.daily-brief-assets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.daily-brief-asset {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}

.daily-brief-asset-name {
  overflow: hidden;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.daily-brief-asset-price {
  margin-top: 6px;
  color: var(--text-bright);
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -0.03em;
}

.daily-brief-asset-change {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 10px;
}

.daily-brief-alert-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.daily-brief-alert-column {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
}

.daily-brief-alert-title {
  margin-bottom: 7px;
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.daily-brief-empty {
  padding: 12px;
  border: 1px dashed var(--border);
  border-radius: 9px;
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.5;
}

.daily-brief-toolbar,
.daily-brief-freshness {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 9px 10px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(255,255,255,0.025);
}

.daily-brief-toolbar { justify-content: space-between; }
.daily-brief-toolbar-group { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }

.daily-brief-control,
.daily-brief-action {
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg-card);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 10px;
}

.daily-brief-action { cursor: pointer; }
.daily-brief-action:hover { border-color: var(--accent); color: var(--accent); }

.daily-brief-freshness { gap: 5px; }
.daily-brief-freshness-label {
  margin-right: 3px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.daily-brief-freshness-chip {
  padding: 4px 7px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 999px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.daily-brief-freshness-chip[data-status="stale"],
.daily-brief-freshness-chip[data-status="degraded"] { color: var(--solar); }
.daily-brief-freshness-chip[data-status="unavailable"] { color: var(--danger); }

.daily-brief-primer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 12px;
}

.daily-brief-event-time {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
}

.daily-brief-methodology {
  grid-column: 1 / -1;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.55;
}

.daily-brief-methodology summary {
  color: var(--text-bright);
  cursor: pointer;
  font-family: var(--font-mono);
  font-size: 10px;
}

.daily-brief-methodology a { color: var(--accent); }
.daily-brief-action-status { min-height: 14px; color: var(--text-muted); font-size: 9px; }

@media print {
  body * { visibility: hidden !important; }
  #briefSummaryBoard,
  #briefSummaryBoard * { visibility: visible !important; }
  #briefSummaryBoard {
    display: block !important;
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
    color: #111 !important;
  }
  #briefSummaryBoard :where(.daily-brief-section, .daily-brief-alert-column, .daily-brief-news-item, .daily-brief-alert-item, .daily-brief-asset, .daily-brief-methodology, .daily-brief-freshness) {
    break-inside: avoid;
    border-color: #bbb !important;
    background: #fff !important;
  }
  #briefSummaryBoard :where(.brief-summary-title, .daily-brief-section-title, .daily-brief-item-title, .daily-brief-asset-price, .daily-brief-alert-title, summary) { color: #111 !important; }
  #briefSummaryBoard :where(.brief-summary-meta, .daily-brief-section-meta, .daily-brief-item-meta, .daily-brief-status, .daily-brief-asset-name, .daily-brief-freshness-chip) { color: #444 !important; }
  .daily-brief-toolbar { display: none !important; }
}

.operator-briefing-board {
  margin-bottom: 12px;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 16px;
  overflow: hidden;
  background:
    radial-gradient(circle at top left, rgba(255,203,107,0.09), transparent 30%),
    linear-gradient(135deg, rgba(10,20,34,0.92), rgba(14,22,35,0.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.operator-briefing-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  flex-wrap: wrap;
  padding: 14px 16px 10px;
  border-bottom: 1px solid rgba(118,200,255,0.14);
}

.operator-briefing-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.035em;
  color: var(--text-bright);
}

.operator-briefing-meta {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.operator-briefing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(260px, 0.8fr);
  gap: 10px;
  padding: 12px;
}

.operator-risk-list {
  display: grid;
  gap: 8px;
}

.operator-risk-card {
  padding: 10px 12px;
  border: 1px solid rgba(255,255,255,0.075);
  border-left: 3px solid var(--level-color, var(--accent));
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
}

.operator-risk-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.operator-risk-rank {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--level-color, var(--accent));
  min-width: 28px;
}

.operator-risk-title {
  flex: 1 1 220px;
  font-size: 12px;
  color: var(--text-bright);
  font-weight: 650;
}

.operator-risk-score,
.operator-action-pill,
.operator-source-pill {
  font-family: var(--font-mono);
  font-size: 9px;
  border-radius: 999px;
  padding: 3px 7px;
  border: 1px solid rgba(255,255,255,0.09);
  background: rgba(255,255,255,0.035);
}

.operator-risk-score {
  color: var(--level-color, var(--accent));
}

.operator-action-pill {
  color: var(--text-bright);
}

.operator-source-pill {
  color: var(--source-color, var(--text-muted));
}

.operator-investigation-pill {
  color: var(--investigation-color, var(--accent));
}

.operator-risk-detail {
  margin-top: 6px;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}

.operator-risk-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.operator-briefing-side {
  display: grid;
  gap: 8px;
  align-content: start;
}

.operator-change-line {
  padding: 8px 9px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 9px;
  background: rgba(255,255,255,0.025);
  font-size: 10px;
  color: var(--text);
  line-height: 1.4;
}

.operator-investigation-row {
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.operator-investigation-row:last-child {
  border-bottom: 0;
}

.operator-investigation-title {
  margin-top: 3px;
  font-size: 10px;
  color: var(--text-bright);
  line-height: 1.35;
}

@media (max-width: 900px) {
  .operator-briefing-grid {
    grid-template-columns: 1fr;
  }
}

/* Commodity Atlas V4 Phase 1 workspace. The existing map remains the single Atlas map surface. */
#cb-commodities-map.active { overflow-x: hidden !important; }
#cb-commodities-data.active { padding:0 !important;overflow:hidden !important; }
#commoditiesDataFrame { width:100%;height:100%;min-height:620px;border:0;background:#050b12; }
@media (max-width:600px) { #commoditiesDataFrame { min-height:720px; } }
.commodity-atlas-workspace-head { flex:0 0 auto !important;display:grid;gap:7px;padding:8px;border-bottom:1px solid rgba(118,200,255,.2);background:#08121d;font-family:var(--font-mono); }
.commodity-atlas-view-tabs { display:flex;gap:4px;align-items:center; }
.commodity-atlas-view-tab { min-height:32px;padding:6px 14px;border:1px solid rgba(118,200,255,.2);border-radius:4px;color:#8fa6b7;background:#0a1723;font:800 9px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer; }
.commodity-atlas-view-tab.active { border-color:rgba(118,200,255,.7);color:#eaf7ff;background:rgba(118,200,255,.14); }
.commodity-atlas-view-tab:focus-visible,.commodity-atlas-table button:focus-visible { outline:2px solid var(--accent);outline-offset:2px; }
.commodity-atlas-query { display:grid;grid-template-columns:minmax(145px,1.3fr) minmax(145px,1.2fr) repeat(5,minmax(105px,1fr)) auto auto;gap:6px;align-items:end;min-width:0; }
.commodity-atlas-query label { display:grid;gap:3px;min-width:0;color:#748a9b;font-size:7px;font-weight:800;letter-spacing:.07em;text-transform:uppercase; }
.commodity-atlas-query input,.commodity-atlas-query select { width:100%;min-width:0;min-height:30px;padding:5px 7px;border:1px solid rgba(118,200,255,.18);border-radius:3px;color:#dceaf4;background:#0c1925;font:9px var(--font-mono); }
.commodity-atlas-query .commodity-atlas-viewport-filter { display:flex;min-height:30px;align-items:center;gap:6px;padding:5px 7px;border:1px solid rgba(118,200,255,.18);border-radius:3px;white-space:nowrap; }
.commodity-atlas-viewport-filter input { width:auto;min-height:0;accent-color:var(--accent); }
#cb-commodities-map#cb-commodities-map[data-atlas-view="table"] > .infra-wrap,#cb-commodities-map#cb-commodities-map[data-atlas-view="sources"] > .infra-wrap { display:none !important; }
.commodity-atlas-deck { flex:1 1 auto !important;min-height:420px;max-width:100%;padding:9px;overflow:auto;background:radial-gradient(circle at 85% 0,rgba(118,200,255,.08),transparent 28%),#060d15;font-family:var(--font-mono); }
.commodity-atlas-deck[hidden] { display:none !important; }
.commodity-atlas-deck-head { display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px;padding:10px 11px;border:1px solid rgba(118,200,255,.2);background:#0a1723; }
.commodity-atlas-deck-head strong,.commodity-atlas-deck-head span { display:block; }
.commodity-atlas-deck-head strong { color:#eef8ff;font-size:11px;letter-spacing:.08em;text-transform:uppercase; }
.commodity-atlas-deck-head span { margin-top:3px;color:#7f96a8;font-size:8px; }
.commodity-atlas-page-controls { display:flex;gap:6px;align-items:center;white-space:nowrap; }
.commodity-atlas-table-scroll { max-width:100%;overflow:auto;border:1px solid rgba(118,200,255,.18);background:#08121c; }
.commodity-atlas-table { width:100%;min-width:980px;border-collapse:collapse;color:#b9cad6;font-size:9px; }
.commodity-atlas-table th { position:sticky;top:0;z-index:1;border-bottom:1px solid rgba(118,200,255,.28);background:#0d1d2a;text-align:left; }
.commodity-atlas-table th button { width:100%;padding:9px 8px;border:0;color:#78cfff;background:transparent;font:800 8px var(--font-mono);letter-spacing:.06em;text-align:left;text-transform:uppercase;cursor:pointer; }
.commodity-atlas-table td { max-width:250px;padding:8px;border-bottom:1px solid rgba(118,200,255,.1);overflow-wrap:anywhere;vertical-align:top; }
.commodity-atlas-table tr[data-selected="true"] td { background:rgba(118,200,255,.1); }
.commodity-atlas-row-select { padding:0;border:0;color:#e9f7ff;background:transparent;font:700 9px var(--font-mono);text-align:left;text-decoration:underline;text-decoration-color:rgba(118,200,255,.4);cursor:pointer; }
.commodity-atlas-source-link { color:#77d4ff;text-decoration:none; }
.commodity-atlas-source-link:hover { text-decoration:underline; }
.commodity-atlas-truth { margin-bottom:8px;padding:9px 11px;border:1px solid rgba(255,203,107,.25);border-left:3px solid #ffcb6b;color:#aebdca;background:rgba(255,203,107,.045);font-size:9px;line-height:1.5; }
.commodity-atlas-source-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px; }
.commodity-atlas-source-card,.commodity-atlas-empty { padding:10px;border:1px solid rgba(118,200,255,.16);background:#0a1621;color:#8fa4b4;font-size:9px;line-height:1.5;overflow-wrap:anywhere; }
.commodity-atlas-source-card strong { color:#e9f5fc; }
.commodity-atlas-source-state { display:inline-flex;margin-left:6px;padding:2px 5px;border:1px solid rgba(118,200,255,.25);border-radius:999px;color:#8ed8ff;font-size:7px;text-transform:uppercase; }
.commodity-atlas-source-state.active { border-color:rgba(46,204,113,.5);color:#5de39b; }
.commodity-atlas-source-state.planned,.commodity-atlas-source-state.form-credential-gated { border-color:rgba(255,203,107,.5);color:#ffcb6b; }
.commodity-atlas-v4-disclosure { padding:8px 10px;border:1px solid rgba(118,200,255,.2);color:#8fa6b7;background:#091722;font:8px/1.5 var(--font-mono); }
.commodity-atlas-v4-disclosure strong { color:#dff5ff; }
.commodity-atlas-v4-legend { display:inline-flex;align-items:center;gap:5px;color:#c4a7ff; }
.commodity-atlas-v4-legend::before { content:'';width:22px;border-top:2px dashed #b794f6; }
.commodity-atlas-access-strip { display:flex;gap:8px;align-items:center;justify-content:space-between;padding:8px 10px;border:1px solid rgba(118,200,255,.18);color:#91a8b8;background:#091722;font:8px/1.45 var(--font-mono); }
.commodity-atlas-access-strip strong { color:#e6f6ff; }
.commodity-atlas-access-actions { display:flex;gap:6px;align-items:center;flex-wrap:wrap; }
.commodity-atlas-methodology { display:grid;gap:6px;margin-bottom:8px;padding:10px;border:1px solid rgba(118,200,255,.16);color:#8da4b5;background:#08131e;font:8px/1.55 var(--font-mono); }
.commodity-atlas-methodology a { color:#76cfff; }
.commodity-atlas-analysis-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:8px; }
.commodity-atlas-analysis-card { padding:10px;border:1px solid rgba(183,148,246,.25);color:#9fb0c1;background:rgba(183,148,246,.045);font:8px/1.5 var(--font-mono); }
.commodity-atlas-analysis-card strong { display:block;margin-bottom:4px;color:#eadfff;font-size:10px; }
@media(max-width:1100px){.commodity-atlas-query{grid-template-columns:repeat(4,minmax(120px,1fr))}.commodity-atlas-source-grid{grid-template-columns:1fr}}
@media(max-width:560px){.commodity-atlas-workspace-head{padding:6px}.commodity-atlas-view-tab{flex:1;min-height:44px;padding:7px}.commodity-atlas-query{grid-template-columns:1fr 1fr}.commodity-atlas-query label:first-child{grid-column:1/-1}.commodity-atlas-query input,.commodity-atlas-query select,.commodity-atlas-query .commodity-atlas-viewport-filter,.commodity-atlas-query .layout-mini-btn{min-height:44px}.commodity-atlas-query .commodity-atlas-viewport-filter{white-space:normal}.commodity-atlas-deck{width:100%;padding:6px;overflow-x:hidden}.commodity-atlas-deck-head,.commodity-atlas-access-strip{align-items:flex-start;flex-direction:column}.commodity-atlas-table-scroll{width:100%;overflow-x:auto}.commodity-atlas-page-controls,.commodity-atlas-access-actions{width:100%;justify-content:space-between}.commodity-atlas-access-actions .layout-mini-btn{min-height:44px}.commodity-atlas-analysis-grid{grid-template-columns:1fr}}

.watchtower-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  padding: 10px;
  border-bottom: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(118,200,255,0.055), rgba(255,255,255,0.012));
}

.watchtower-summary-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 12px 14px;
}

.watchtower-summary-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.watchtower-summary-value {
  margin-top: 6px;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-bright);
}

.watchtower-summary-meta {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.45;
}

.watchtower-summary-note {
  padding: 8px 10px 0;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.5;
}

.watchtower-empty-state {
  padding: 12px 14px;
  border: 1px dashed rgba(118,200,255,0.28);
  border-radius: 12px;
  background:
    radial-gradient(circle at top right, rgba(118,200,255,0.08), transparent 28%),
    rgba(255,255,255,0.018);
  color: var(--text-muted);
  line-height: 1.5;
}

.watchtower-empty-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.watchtower-empty-title {
  margin-top: 5px;
  font-size: 13px;
  font-weight: 700;
  color: var(--text-bright);
}

.watchtower-empty-copy {
  margin-top: 5px;
  font-size: 11px;
}

.watchtower-empty-next {
  margin-top: 5px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.watchtower-empty-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 9px;
}

.public-severity-explain {
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-muted);
}

.public-severity-guide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.public-severity-guide-card {
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}

.public-severity-guide-title {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-severity-guide-copy {
  margin-top: 5px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-muted);
}

.systemic10-board,
.systemic10-board * {
  box-sizing: border-box;
  min-width: 0;
}

.systemic10-board {
  display: grid;
  gap: 10px;
  padding: 8px;
  overflow: hidden;
}

.systemic10-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.24);
  border-radius: 16px;
  padding: 14px;
  background:
    radial-gradient(circle at 12% 10%, rgba(118,200,255,0.26), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(255,203,107,0.16), transparent 30%),
    linear-gradient(135deg, rgba(8,16,28,0.98), rgba(14,20,34,0.88));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 18px 36px rgba(0,0,0,0.24);
}

.systemic10-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 0 46%, rgba(255,255,255,0.055) 47% 49%, transparent 50%);
}

.systemic10-hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(210px, 0.38fr);
  gap: 12px;
  align-items: stretch;
}

.systemic10-eyebrow,
.systemic10-card-kicker,
.systemic10-metric-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.systemic10-headline {
  margin-top: 7px;
  font-size: clamp(21px, 4vw, 34px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.06em;
  color: var(--text-bright);
  overflow-wrap: anywhere;
}

.systemic10-subline {
  margin-top: 8px;
  max-width: 760px;
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.systemic10-domain-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 12px;
}

.systemic10-domain-pill {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  gap: 5px;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(255,255,255,0.045);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 9px;
  overflow-wrap: anywhere;
}

.systemic10-hero-side {
  display: grid;
  gap: 8px;
}

.systemic10-orb-card,
.systemic10-mini-stat {
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  padding: 10px;
  background: rgba(4,9,16,0.52);
  overflow: hidden;
}

.systemic10-score-orb {
  width: 92px;
  height: 92px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  margin: 0 auto 8px;
  background: conic-gradient(var(--level-color, var(--accent)) var(--score, 0%), rgba(255,255,255,0.08) 0);
  box-shadow: inset 0 0 0 10px rgba(4,9,16,0.88), 0 0 28px rgba(118,200,255,0.14);
}

.systemic10-score-value {
  font-family: var(--font-mono);
  font-size: 20px;
  font-weight: 800;
  color: var(--text-bright);
}

.systemic10-mini-stat-value {
  margin-top: 4px;
  color: var(--text-bright);
  font-size: 18px;
  font-weight: 800;
}

.systemic10-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}

.systemic10-card {
  position: relative;
  display: grid;
  gap: 9px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.09);
  border-left: 4px solid var(--level-color, var(--accent));
  border-radius: 14px;
  padding: 12px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.014)),
    radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--level-color, var(--accent)) 22%, transparent), transparent 38%);
}

.systemic10-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--level-color, var(--accent)) 65%, transparent), transparent);
}

.systemic10-card-head {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.systemic10-icon {
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 800;
  background: color-mix(in srgb, var(--level-color, var(--accent)) 22%, rgba(255,255,255,0.04));
  border: 1px solid color-mix(in srgb, var(--level-color, var(--accent)) 44%, rgba(255,255,255,0.08));
}

.systemic10-title {
  margin-top: 3px;
  color: var(--text-bright);
  font-weight: 800;
  font-size: 14px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.systemic10-score-line {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
}

.systemic10-score-track {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,0.075);
}

.systemic10-score-fill {
  height: 100%;
  width: var(--score, 0%);
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--level-color, var(--accent)) 42%, transparent), var(--level-color, var(--accent)));
}

.systemic10-meta,
.systemic10-detail,
.systemic10-link,
.systemic10-source-row,
.systemic10-lead-item {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.systemic10-meta {
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.45;
}

.systemic10-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.systemic10-metric-chip {
  max-width: 100%;
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 999px;
  padding: 3px 7px;
  background: rgba(255,255,255,0.035);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  overflow-wrap: anywhere;
}

.systemic10-lead-list {
  display: grid;
  gap: 6px;
}

.systemic10-lead-item {
  display: block;
  max-width: 100%;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 10px;
  padding: 7px 8px;
  background: rgba(4,9,16,0.44);
  color: var(--text-muted);
  text-decoration: none;
  line-height: 1.35;
}

.systemic10-lead-item:hover,
.systemic10-link:hover {
  color: var(--text-bright);
  border-color: color-mix(in srgb, var(--level-color, var(--accent)) 55%, rgba(255,255,255,0.12));
}

.systemic10-lead-title {
  display: block;
  color: var(--text-bright);
  font-size: 10px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.systemic10-detail {
  display: block;
  margin-top: 3px;
  color: var(--text-muted);
  font-size: 9px;
  line-height: 1.35;
}

.systemic10-source-row {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
}

.systemic10-link {
  display: inline-flex;
  max-width: 100%;
  align-items: center;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.25;
  text-decoration: none;
}

@media (max-width: 760px) {
  .systemic10-hero-inner {
    grid-template-columns: 1fr;
  }

  .systemic10-grid {
    grid-template-columns: 1fr;
  }
}

.liveuamap-wrap {
  display: grid;
  grid-template-columns: minmax(260px, 0.42fr) minmax(320px, 0.58fr);
  gap: 10px;
  height: 100%;
  padding: 8px;
}

.liveuamap-sidebar,
.liveuamap-viewer-card {
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.014));
  overflow: hidden;
}

.liveuamap-toolbar {
  display: grid;
  gap: 6px;
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: rgba(5,10,17,0.42);
}

.liveuamap-region-list {
  height: calc(100% - 92px);
  overflow-y: auto;
  padding: 8px;
}

.liveuamap-region-card {
  width: 100%;
  text-align: left;
  display: block;
  border: 1px solid var(--border);
  border-left: 3px solid rgba(118,200,255,0.36);
  border-radius: 9px;
  padding: 8px 9px;
  margin-bottom: 6px;
  background: rgba(10,14,20,0.64);
  color: var(--text);
  cursor: pointer;
  transition: border-color 140ms, background 140ms, transform 140ms;
}

.liveuamap-region-card:hover,
.liveuamap-region-card.active {
  border-color: var(--accent);
  background: rgba(118,200,255,0.09);
  transform: translateY(-1px);
}

.liveuamap-region-title {
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--text-bright);
  font-size: 12px;
  font-weight: 700;
}

.liveuamap-region-meta {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.liveuamap-viewer-head {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  padding: 8px;
  border-bottom: 1px solid var(--border);
}

.liveuamap-frame-wrap {
  position: relative;
  height: calc(100% - 52px);
  min-height: 360px;
  background: #050a11;
}

.liveuamap-launch-url {
  margin-top: 7px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--accent);
  overflow-wrap: anywhere;
}

.liveuamap-source-warning {
  border: 1px solid rgba(255,179,71,0.28);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(255,179,71,0.08);
}

.liveuamap-data-board {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 10px;
  padding: 12px;
  overflow: auto;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,159,67,0.12), transparent 30%),
    radial-gradient(circle at 8% 88%, rgba(118,200,255,0.12), transparent 34%),
    linear-gradient(145deg, rgba(8,16,26,0.98), rgba(4,8,14,0.98));
}

.liveuamap-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.liveuamap-data-card,
.liveuamap-event-row {
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 11px;
  background: rgba(5,10,17,0.62);
  padding: 10px;
}

.liveuamap-event-list {
  display: grid;
  gap: 7px;
  min-height: 0;
}

.liveuamap-event-row-title {
  color: var(--text-bright);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.liveuamap-event-row-title a {
  color: inherit;
  text-decoration: none;
}

.liveuamap-event-row-title a:hover,
.liveuamap-event-row-title a:focus-visible {
  color: var(--accent);
  text-decoration: underline;
}

.liveuamap-event-row-meta {
  margin-top: 4px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.45;
}

.conflict-zone-taxonomy-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.conflict-zone-taxonomy-pill {
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  padding: 4px 7px;
  background: rgba(255,255,255,0.055);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.2;
}

.conflict-zone-analysis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.conflict-zone-analysis-card {
  border: 1px solid rgba(118,200,255,0.14);
  border-radius: 11px;
  padding: 9px;
  background: rgba(0,0,0,0.16);
}

.conflict-zone-analysis-text {
  margin-top: 5px;
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.45;
}

.conflict-zone-method-note {
  margin-top: 8px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.45;
}

.conflict-zone-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 14px;
  padding: 14px;
  background:
    radial-gradient(circle at 90% 8%, rgba(255,107,107,0.16), transparent 30%),
    radial-gradient(circle at 8% 90%, rgba(118,200,255,0.14), transparent 32%),
    linear-gradient(135deg, rgba(9,17,28,0.96), rgba(6,10,17,0.96));
}

.conflict-zone-hero-title {
  margin-top: 4px;
  color: var(--text-bright);
  font-size: clamp(18px, 2vw, 28px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.conflict-zone-score-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.conflict-zone-score-tile {
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 11px;
  padding: 9px;
  background: rgba(255,255,255,0.045);
}

.conflict-zone-section-title {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.conflict-zone-source-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
}

.conflict-zone-mini-map {
  position: relative;
  min-height: 210px;
  border: 1px solid rgba(118,200,255,0.14);
  border-radius: 13px;
  overflow: hidden;
  background:
    linear-gradient(rgba(118,200,255,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(118,200,255,0.07) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(118,200,255,0.14), rgba(8,14,23,0.76) 42%, rgba(3,7,12,0.98));
  background-size: 36px 36px, 36px 36px, cover;
}

.conflict-zone-mini-map-basemap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.92;
}

.conflict-zone-mini-map-country,
.conflict-zone-mini-map-continent {
  fill: rgba(118,200,255,0.085);
  stroke: rgba(118,200,255,0.26);
  stroke-width: 0.65;
  vector-effect: non-scaling-stroke;
}

.conflict-zone-mini-map-continent {
  fill: rgba(118,200,255,0.06);
  stroke-dasharray: 2 4;
}

.conflict-zone-mini-map-focus {
  fill: none;
  stroke: rgba(255,159,67,0.86);
  stroke-width: 1.75;
  vector-effect: non-scaling-stroke;
}

.conflict-zone-mini-map-country-focus {
  fill: rgba(255,159,67,0.22);
  stroke: rgba(255,159,67,0.88);
  stroke-width: 1.1;
  vector-effect: non-scaling-stroke;
}

.conflict-zone-mini-map-label {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(5,10,17,0.78);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.45;
}

.conflict-zone-mini-map-pin {
  position: absolute;
  z-index: 3;
  width: 14px;
  height: 14px;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(255,255,255,0.9);
  background: var(--pin-color, var(--danger));
  box-shadow: 0 0 0 7px color-mix(in srgb, var(--pin-color, var(--danger)) 22%, transparent), 0 0 24px var(--pin-color, var(--danger));
}

.conflict-map-stage {
  --conflict-map-red: #ff5d73;
  --conflict-map-cyan: #67d8ff;
  display: grid;
  grid-template-rows: auto auto auto minmax(360px, 1fr) auto;
  width: calc(100% - 16px);
  min-width: 0;
  height: 640px;
  min-height: 640px;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(103,216,255,0.28);
  border-radius: 14px;
  background: radial-gradient(circle at 8% -12%, rgba(255,93,115,0.18), transparent 34%), radial-gradient(circle at 94% 4%, rgba(103,216,255,0.13), transparent 28%), #020711;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 20px 50px rgba(0,0,0,0.28);
}

.conflict-map-toolbar,
.conflict-map-basemaps,
.conflict-map-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  padding: 6px 9px;
  border-bottom: 1px solid rgba(255,255,255,0.075);
  font-family: var(--font-mono);
  font-size: 9px;
}

.conflict-map-toolbar {
  min-height: 40px;
  background: linear-gradient(90deg, rgba(58,18,31,0.96), rgba(10,33,50,0.96));
}

.conflict-map-toolbar strong { color: var(--text-bright); letter-spacing: 0.08em; }
.conflict-map-basemaps { background: rgba(4,11,20,0.96); }
.conflict-map-controls { background: rgba(7,16,27,0.98); }
.conflict-map-basemaps .infra-pill { margin-left: auto; }

.conflict-map-meta {
  min-width: 0;
  color: var(--text-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conflict-map-actions {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  margin-left: auto;
}

.conflict-map-filter {
  min-height: 28px;
  max-width: 190px;
  border: 1px solid var(--border);
  border-radius: 7px;
  padding: 4px 24px 4px 7px;
  background: rgba(2,7,17,0.88);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 9px;
}

.conflict-map-layer-toggle {
  border: 1px solid rgba(103,216,255,0.28);
  border-radius: 999px;
  padding: 5px 8px;
  background: rgba(103,216,255,0.09);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 8px;
  cursor: pointer;
}

.conflict-map-layer-toggle[aria-pressed="false"] { opacity: 0.42; filter: grayscale(0.72); }

.conflict-map-canvas {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 360px;
  background: linear-gradient(rgba(103,216,255,0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(103,216,255,0.045) 1px, transparent 1px), #020711;
  background-size: 32px 32px;
}

.conflict-map-caption {
  min-height: 38px;
  padding: 7px 9px;
  border-top: 1px solid rgba(255,255,255,0.07);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.45;
}

.conflict-map-legend {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-right: 10px;
  color: var(--text-bright);
}

.conflict-map-legend::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--legend-color, var(--conflict-map-cyan));
  box-shadow: 0 0 10px color-mix(in srgb, var(--legend-color, var(--conflict-map-cyan)) 72%, transparent);
}

.liveuamap-fallback-note {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  border: 1px solid rgba(255,179,71,0.32);
  border-radius: 10px;
  padding: 9px 11px;
  background: rgba(5,10,17,0.9);
  color: var(--text-muted);
  font-size: 11px;
  box-shadow: 0 18px 42px rgba(0,0,0,0.32);
}

body.theme-light .liveuamap-toolbar,
body.theme-light .liveuamap-region-card,
body.theme-light .liveuamap-fallback-note,
body.theme-light .liveuamap-data-card,
body.theme-light .liveuamap-event-row,
body.theme-light .conflict-zone-score-tile,
body.theme-light .conflict-zone-analysis-card,
body.theme-light .conflict-zone-taxonomy-pill {
  background: rgba(255,255,255,0.88);
}

body.theme-light .liveuamap-data-board,
body.theme-light .conflict-zone-hero {
  background:
    radial-gradient(circle at 72% 24%, rgba(255,159,67,0.14), transparent 34%),
    radial-gradient(circle at 28% 70%, rgba(33,116,184,0.12), transparent 38%),
    linear-gradient(145deg, rgba(244,248,252,0.98), rgba(226,236,246,0.98));
}

body.theme-light .conflict-zone-mini-map-country,
body.theme-light .conflict-zone-mini-map-continent {
  fill: rgba(33,116,184,0.12);
  stroke: rgba(33,116,184,0.30);
}

body.theme-light .conflict-zone-mini-map-label {
  background: rgba(255,255,255,0.82);
}

@media (max-width: 900px) {
  .liveuamap-wrap { grid-template-columns: 1fr; height: auto; }
  .liveuamap-region-list { max-height: 320px; height: auto; }
  .liveuamap-frame-wrap { height: 520px; }
  .conflict-map-stage { height: 590px; min-height: 590px; grid-template-rows: auto auto auto minmax(280px, 1fr) auto; }
  .conflict-map-canvas { min-height: 280px; }
  .conflict-map-toolbar { align-content: flex-start; padding-bottom: 9px; }
  .conflict-map-meta { flex: 1 1 100%; order: 3; line-height: 1.4; padding: 2px 0; }
  .conflict-map-actions { margin-left: 0; }
  .conflict-map-filter { flex: 1 1 130px; max-width: none; }
}

.brief-secondary-stack {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.brief-collapsible {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(18,29,44,0.96), rgba(13,21,31,0.92));
  overflow: hidden;
}

.brief-collapsible > summary {
  list-style: none;
  cursor: pointer;
  padding: 12px 14px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brief-collapsible > summary::-webkit-details-marker { display: none; }

.brief-collapsible-body {
  padding: 0 14px 14px;
}

.brief-onboarding-card {
  position: relative;
  overflow: hidden;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 16px;
  background:
    radial-gradient(circle at top left, rgba(118,200,255,0.16), transparent 34%),
    linear-gradient(135deg, rgba(14,24,38,0.96), rgba(12,19,30,0.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 16px 38px rgba(0,0,0,0.18);
}

.brief-onboarding-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.brief-onboarding-kicker,
.brief-onboarding-progress {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--accent);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brief-onboarding-title {
  margin-top: 6px;
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.05em;
  color: var(--text-bright);
}

.brief-onboarding-copy {
  margin-top: 7px;
  max-width: 74ch;
  font-size: 12px;
  line-height: 1.55;
  color: var(--text-muted);
}

.brief-onboarding-progress {
  padding: 7px 9px;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 999px;
  background: rgba(118,200,255,0.08);
  color: var(--text-bright);
}

.brief-onboarding-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 9px;
  margin-top: 13px;
}

.brief-onboarding-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  text-align: left;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 13px;
  padding: 11px 12px;
  background: rgba(255,255,255,0.035);
  color: var(--text);
  cursor: pointer;
}

.brief-onboarding-item:hover {
  border-color: rgba(118,200,255,0.42);
  background: rgba(118,200,255,0.075);
}

.brief-onboarding-item.completed {
  border-color: rgba(91,213,151,0.35);
  background: rgba(91,213,151,0.07);
}

.brief-onboarding-check {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(5,10,17,0.42);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1;
}

.brief-onboarding-item.completed .brief-onboarding-check {
  color: var(--up);
  border-color: rgba(91,213,151,0.45);
}

.brief-onboarding-item-title {
  display: block;
  font-size: 12px;
  font-weight: 750;
  color: var(--text-bright);
}

.brief-onboarding-item-copy {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.45;
  color: var(--text-muted);
}

.brief-onboarding-actions,
.brief-onboarding-return {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.brief-onboarding-actions {
  position: relative;
  z-index: 1;
  margin-top: 12px;
}

.brief-onboarding-note {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.brief-onboarding-return {
  margin: 10px 0;
  padding: 8px 10px;
  border: 1px dashed rgba(118,200,255,0.22);
  border-radius: 12px;
  background: rgba(118,200,255,0.035);
  color: var(--text-muted);
  font-size: 11px;
}

.brief-scenario-bar {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 10px 0;
}

.brief-journal-box {
  display: grid;
  gap: 8px;
}

.brief-journal-textarea {
  width: 100%;
  min-height: 96px;
  resize: vertical;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255,255,255,0.03);
  color: var(--text-bright);
  font: 12px/1.5 var(--font-ui);
  padding: 10px 12px;
}

.drag-scroll-active {
  cursor: grabbing !important;
}

.watchtower-collapsible {
  margin: 8px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255,255,255,0.02);
  overflow: hidden;
}

.watchtower-collapsible > summary {
  list-style: none;
  cursor: pointer;
  padding: 10px 12px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.outcome-tree-wrap {
  display: grid;
  gap: 10px;
  color: var(--text-bright);
}

.outcome-tree-hero {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.24);
  border-radius: 14px;
  padding: 14px;
  background:
    radial-gradient(circle at 12% 18%, rgba(118,200,255,0.22), transparent 28%),
    radial-gradient(circle at 82% 10%, rgba(255,184,77,0.16), transparent 24%),
    linear-gradient(135deg, rgba(8,13,22,0.98), rgba(18,30,45,0.94));
  box-shadow: 0 16px 44px rgba(0,0,0,0.24);
}

.outcome-tree-hero::after {
  content: '';
  position: absolute;
  inset: -80px -120px auto auto;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 1px solid rgba(118,200,255,0.16);
  box-shadow: 0 0 80px rgba(118,200,255,0.14) inset;
}

.outcome-tree-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 12px;
  align-items: stretch;
}

.outcome-tree-kicker,
.outcome-tree-section-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.outcome-tree-title {
  margin-top: 6px;
  font-size: clamp(24px, 3.4vw, 44px);
  line-height: 0.95;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.outcome-tree-subtitle {
  margin-top: 8px;
  max-width: 760px;
  font-size: 12px;
  line-height: 1.45;
  color: var(--text-muted);
}

.outcome-tree-metric-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 12px;
}

.outcome-tree-metric {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  padding: 8px;
  background: rgba(255,255,255,0.045);
}

.outcome-tree-metric-label {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.outcome-tree-metric-value {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 18px;
  font-weight: 800;
}

.outcome-tree-metric-meta {
  margin-top: 3px;
  font-size: 9px;
  color: var(--text-muted);
}

.outcome-tree-pyramid {
  display: grid;
  gap: 7px;
  align-content: center;
  min-height: 100%;
}

.outcome-tree-pyramid-layer {
  position: relative;
  margin: 0 auto;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: 9px 12px;
  text-align: center;
  background: linear-gradient(135deg, rgba(118,200,255,0.12), rgba(255,255,255,0.035));
  clip-path: polygon(8% 0, 92% 0, 100% 100%, 0 100%);
}

.outcome-tree-pyramid-top { width: 58%; border-color: rgba(255,92,92,0.32); }
.outcome-tree-pyramid-mid { width: 78%; border-color: rgba(255,184,77,0.30); }
.outcome-tree-pyramid-base { width: 100%; border-color: rgba(118,200,255,0.26); }

.outcome-tree-layer-label {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.outcome-tree-layer-value {
  margin-top: 3px;
  font-size: 12px;
  font-weight: 800;
}

.outcome-tree-input-grid,
.outcome-tree-branch-grid,
.outcome-tree-compound-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 8px;
}

.outcome-tree-input-card,
.outcome-tree-branch-card,
.outcome-tree-compound-card {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
  padding: 10px;
}

.outcome-tree-branch-card {
  border-left: 4px solid var(--branch-color, var(--accent));
}

.outcome-tree-card-head {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.outcome-tree-badge {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid currentColor;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 800;
}

.outcome-tree-card-title {
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
}

.outcome-tree-card-meta {
  margin-top: 3px;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.35;
}

.outcome-tree-ifbox {
  margin-top: 8px;
  border-radius: 9px;
  border: 1px solid rgba(118,200,255,0.16);
  background: rgba(118,200,255,0.055);
  padding: 8px;
  font-size: 10px;
  line-height: 1.4;
  color: var(--text-muted);
}

.outcome-tree-scenario-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.outcome-tree-scenario-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 58px;
  gap: 8px;
  align-items: center;
}

.outcome-tree-scenario-label {
  font-size: 10px;
  color: var(--text-bright);
}

.outcome-tree-scenario-bar {
  height: 7px;
  margin-top: 3px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,0.06);
}

.outcome-tree-scenario-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--branch-color, var(--accent));
}

.outcome-tree-scenario-pct {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--branch-color, var(--accent));
  text-align: right;
  font-weight: 800;
}

.outcome-tree-driver-row {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.outcome-tree-driver-chip {
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: 999px;
  padding: 2px 6px;
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  background: rgba(0,0,0,0.14);
}

.outcome-tree-note {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(0,0,0,0.18);
  padding: 8px 10px;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}

.outcome-tree-horizons { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.outcome-tree-horizon-button { border:1px solid rgba(118,200,255,0.24); border-radius:999px; padding:5px 10px; background:rgba(0,0,0,0.18); color:var(--text-muted); font:9px var(--font-mono); cursor:pointer; }
.outcome-tree-horizon-button[aria-pressed="true"] { border-color:var(--accent); background:rgba(118,200,255,0.14); color:var(--text-bright); }
.outcome-tree-ledger { display:grid; gap:6px; }
.outcome-tree-ledger-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; border-bottom:1px solid rgba(255,255,255,0.06); padding:6px 0; }
.outcome-tree-test-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:8px; }
.outcome-tree-test-box { border:1px solid rgba(255,255,255,0.07); border-radius:8px; padding:7px; color:var(--text-muted); font-size:9px; line-height:1.45; }
.forecast-calibration-lab { display:grid; gap:8px; border:1px solid rgba(118,200,255,0.18); border-radius:12px; padding:10px; background:rgba(4,10,18,0.46); }
.forecast-calibration-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.forecast-calibration-chart { width:100%; min-height:180px; border:1px solid rgba(255,255,255,0.07); border-radius:10px; background:rgba(0,0,0,0.18); }
.forecast-calibration-table { width:100%; border-collapse:collapse; font-size:9px; }
.forecast-calibration-table th,.forecast-calibration-table td { padding:6px; border-bottom:1px solid rgba(255,255,255,0.06); text-align:left; vertical-align:top; }
.forecast-resolution-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:7px; align-items:end; }
.forecast-workflow-card { border:1px solid rgba(118,200,255,0.16); border-radius:10px; padding:9px; background:rgba(255,255,255,0.025); }
.forecast-workflow-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:8px; }
.personal-consequence-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:7px; }
.personal-consequence-option { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; align-items:start; border:1px solid rgba(255,255,255,0.08); border-radius:9px; padding:8px; background:rgba(255,255,255,0.025); cursor:pointer; }
.personal-consequence-option input { margin-top:2px; accent-color:var(--accent); }
.personal-consequence-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }

@media (max-width: 980px) {
  .outcome-tree-hero-grid { grid-template-columns: 1fr; }
  .outcome-tree-metric-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .outcome-tree-pyramid-top { width: 72%; }
  .outcome-tree-pyramid-mid { width: 88%; }
}

@media (max-width: 620px) {
  .outcome-tree-metric-row { grid-template-columns: 1fr; }
  .outcome-tree-input-grid,
  .outcome-tree-branch-grid,
  .outcome-tree-compound-grid { grid-template-columns: 1fr; }
  .outcome-tree-title { font-size: 28px; }
  .outcome-tree-test-grid { grid-template-columns: 1fr; }
  .forecast-calibration-grid,.forecast-resolution-form { grid-template-columns:1fr; }
}

.watchtower-collapsible > summary::-webkit-details-marker {
  display: none;
}

.watchtower-collapsible > summary::after {
  content: '+';
  float: right;
  color: var(--accent);
}

.watchtower-collapsible[open] > summary::after {
  content: '-';
}

.watchtower-collapsible[open] > summary {
  border-bottom: 1px solid var(--border);
}

.watchtower-collapsible-body {
  display: grid;
  gap: 8px;
  padding: 8px;
}

.brief-premium-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.brief-premium-card {
  background: linear-gradient(180deg, rgba(18,29,44,0.96), rgba(13,21,31,0.92));
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.brief-premium-title {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.brief-premium-list {
  display: grid;
  gap: 8px;
}

.brief-premium-item {
  padding: 12px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.025), rgba(255,255,255,0.015));
  border: 1px solid var(--border);
  border-radius: 10px;
}

.brief-premium-item-title {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
  font-size: 12px;
  color: var(--text-bright);
}

.brief-premium-pill {
  padding: 3px 8px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.03);
}

.brief-premium-pill.low { color: var(--accent); background: rgba(118,200,255,0.1); }
.brief-premium-pill.watch { color: var(--solar); background: rgba(255,139,92,0.12); }
.brief-premium-pill.high { color: var(--warn); background: rgba(255,179,71,0.12); }
.brief-premium-pill.critical { color: var(--danger); background: rgba(255,107,107,0.12); }

.brief-premium-item-meta {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.45;
}

.brief-tier-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(118,200,255,0.08), rgba(255,255,255,0.02));
  margin: 10px 0 0;
}

.brief-tier-copy {
  display: grid;
  gap: 4px;
}

.brief-tier-title {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-bright);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brief-tier-meta {
  font-size: 11px;
  color: var(--text-muted);
  line-height: 1.45;
}

.brief-advanced-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.brief-advanced-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(18,29,44,0.96), rgba(13,21,31,0.92));
  padding: 12px;
}

.brief-advanced-kicker {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brief-advanced-title {
  margin-top: 6px;
  font-size: 13px;
  color: var(--text-bright);
  font-weight: 600;
}

.brief-advanced-meta {
  margin-top: 6px;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}

.brief-action-list {
  display: grid;
  gap: 8px;
}

.brief-status-window {
  display: grid;
  gap: 10px;
}

.brief-geo-card {
  padding: 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(18,29,44,0.96), rgba(13,21,31,0.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.brief-geo-title {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.brief-geo-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.brief-geo-cell {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,0.025);
}

.brief-geo-cell-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brief-geo-cell-value {
  margin-top: 6px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--text-bright);
}

.brief-status-row {
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(18,29,44,0.96), rgba(13,21,31,0.92));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.payment-checkout-context {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.payment-checkout-fields {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 220px);
  gap: 8px;
  align-items: end;
}

.payment-checkout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.payment-checkout-option {
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}

.payment-checkout-option strong,
.payment-checkout-option span {
  display: block;
}

.payment-checkout-option span {
  margin-top: 4px;
  color: var(--text-muted);
  font: 10px/1.45 var(--font-mono);
}

.payment-result-banner {
  position: fixed;
  z-index: 10050;
  top: 72px;
  left: 50%;
  width: min(620px, calc(100% - 28px));
  transform: translateX(-50%);
  padding: 13px 46px 13px 15px;
  border: 1px solid rgba(118,200,255,0.4);
  border-radius: 12px;
  color: var(--text-bright);
  background: rgba(10,18,27,0.98);
  box-shadow: 0 18px 60px rgba(0,0,0,0.5);
  font: 12px/1.5 var(--font-mono);
}

.payment-result-banner .payment-result-close {
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 44px;
  min-height: 44px;
}

.payment-result-banner .payment-result-action { min-height: 44px; margin: 8px 0 0 10px; }

@media (max-width: 640px) {
  .payment-checkout-fields { grid-template-columns: 1fr; }
  .payment-checkout-fields input,
  .payment-checkout-fields select,
  .payment-checkout-actions button { width: 100%; min-height: 44px; font-size: 16px; }
  .payment-result-banner { top: 58px; }
}

.brief-status-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.brief-status-text {
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.55;
  color: var(--text-bright);
}

.brief-action-item {
  padding: 12px 14px;
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border: 1px solid var(--border);
}

.brief-action-item strong {
  display: block;
  color: var(--text-bright);
  margin-bottom: 4px;
}

.public-brief-nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.public-brief-nav-btn {
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018));
  color: var(--text-bright);
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
}

.public-brief-nav-title {
  font-size: 12px;
  font-weight: 700;
}

.public-brief-nav-meta {
  margin-top: 4px;
  font-size: 10px;
  line-height: 1.35;
  color: var(--text-muted);
}

.public-plain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.public-plain-card {
  padding: 13px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-card);
}

.public-plain-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.public-plain-title {
  margin-top: 6px;
  font-size: 15px;
  line-height: 1.3;
  color: var(--text-bright);
  font-weight: 700;
}

.public-plain-copy {
  margin-top: 7px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--text-muted);
}

.public-severity-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 9px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.public-help-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.public-brief-section {
  margin: 14px 0;
  scroll-margin-top: 72px;
}

.public-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.public-section-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
}

.public-section-meta {
  max-width: 560px;
  font-size: 11px;
  line-height: 1.45;
  color: var(--text-muted);
}

body.brief-mode #layoutCustomizeBtn,
body.brief-mode #opsPanelToggleBtn,
body.brief-mode #watchtowerCommandPaletteBtn,
body.brief-mode #watchtowerAppHealthPill,
body.brief-mode [data-user-open-startup="1"],
body.brief-mode [data-user-open-report="1"],
body.brief-mode [data-user-shortcut="search"],
body.brief-mode [data-user-shortcut="sitrep"],
body.brief-mode #startupPresetPill,
body.brief-mode #reportProfilePill,
body.brief-mode #opsPanel.visible,
body.brief-mode #layoutManager.visible,
body.brief-mode #startupPresetManager,
body.brief-mode #reportProfileManager,
body.simple-mode #layoutCustomizeBtn,
body.simple-mode #opsPanelToggleBtn,
body.simple-mode #watchtowerCommandPaletteBtn,
body.simple-mode #watchtowerAppHealthPill,
body.simple-mode [data-user-open-startup="1"],
body.simple-mode [data-user-open-report="1"],
body.simple-mode [data-user-shortcut="search"],
body.simple-mode [data-user-shortcut="sitrep"],
body.simple-mode #startupPresetPill,
body.simple-mode #reportProfilePill,
body.simple-mode #opsPanel.visible,
body.simple-mode #layoutManager.visible,
body.simple-mode #startupPresetManager,
body.simple-mode #reportProfileManager {
  display: none !important;
}

body.simple-mode .main-grid {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

body.brief-mode .main-grid {
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
}

body.simple-mode #panel-market-overview,
body.simple-mode #panel-news-feed,
body.simple-mode #panel-markets,
body.simple-mode #panel-space-weather {
  display: none !important;
}

body.brief-mode #panel-market-overview,
body.brief-mode #panel-news-feed,
body.brief-mode #panel-markets,
body.brief-mode #panel-space-weather,
body.brief-mode .ticker-wrap,
body.brief-mode .top-risk-strip {
  display: none !important;
}

body.brief-mode .topbar-brand {
  pointer-events: none;
}

body.brief-mode #getAdvancedBtn {
  display: inline-flex;
}

body.simple-mode #panel-briefing-center {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

body.brief-mode #panel-briefing-center {
  grid-column: 1 !important;
  grid-row: 1 !important;
  overflow-y: auto;
  overflow-x: hidden;
}

body.simple-mode #panel-briefing-center .center-globe-area,
body.simple-mode #panel-briefing-center .tab-bar {
  display: none !important;
}

body.brief-mode #panel-briefing-center .center-globe-area,
body.brief-mode #panel-briefing-center .tab-bar {
  display: none !important;
}

body.simple-mode .simple-board-bar {
  display: flex;
}

body.simple-mode .simple-summary-board {
  display: none !important;
}

body.simple-mode.signal-board-active .simple-summary-board {
  display: none !important;
}

body.brief-mode .brief-summary-board {
  display: block;
}

body.brief-mode #panel-briefing-center .center-tabs-area {
  min-height: calc(100vh - 112px);
  overflow: visible;
}

body.brief-mode #panel-briefing-center .center-tabs-area .panel-body {
  display: none;
}

body.brief-mode .simple-board-bar,
body.brief-mode .simple-summary-board {
  display: none !important;
}

body:not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-simplealerts"],
body:not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-signalboard"],
body:not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-watchtower-search"] {
  display: none !important;
}

body:not(.brief-mode):not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-dataqa"],
body:not(.brief-mode):not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-ai-analysis"],
body:not(.brief-mode):not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-entity-explorer"],
body:not(.brief-mode):not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="mkt-deposits-liquidity"],
body:not(.brief-mode):not(.simple-mode) #panel-briefing-center .tab-btn[data-tab="cb-cameras"] {
  display: none !important;
}

body.brief-mode #panel-briefing-center .tab-btn[data-tab="cb-incidentgraph"],
body.simple-mode #panel-briefing-center .tab-btn[data-tab="cb-incidentgraph"] {
  display: none !important;
}

body.brief-mode .professional-tools-drawer,
body.simple-mode .professional-tools-drawer,
body.brief-mode .watchtower-mission-nav,
body.simple-mode .watchtower-mission-nav {
  display: none !important;
}

.watchtower-mission-nav {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 8px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(118,200,255,0.16);
  background: linear-gradient(90deg, rgba(8,18,30,0.94), rgba(13,20,32,0.58));
  scrollbar-width: thin;
}

.watchtower-mission-label {
  flex: 0 0 auto;
  margin-right: 2px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.watchtower-mission-nav .layout-mini-btn {
  flex: 0 0 auto;
  min-height: 32px;
  padding-inline: 10px;
}

.professional-tools-drawer {
  border-bottom: 1px solid rgba(118,200,255,0.12);
  background: linear-gradient(90deg, rgba(4,9,16,0.64), rgba(13,20,32,0.36));
  padding: 6px 8px;
}

.professional-tools-drawer summary {
  cursor: pointer;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.professional-tool-groups {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.professional-tool-group {
  border: 1px solid rgba(118,200,255,0.12);
  border-radius: 10px;
  padding: 8px;
  background: rgba(255,255,255,0.025);
}

.professional-tool-title,
.professional-ref-label {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.professional-tool-actions,
.professional-ref-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.professional-ref-label {
  margin-top: 8px;
}

.professional-ref-chip span {
  color: var(--text-muted);
}

.professional-ref-empty {
  color: var(--text-muted);
  font-size: 10px;
}

.simple-alert-board {
  padding: 10px;
  height: 100%;
  overflow-y: auto;
}

.simple-alert-board-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}

.simple-alert-board-meta {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.simple-alert-grid {
  display: grid;
  gap: 10px;
}

.simple-alert-grid.preset-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.simple-alert-grid.preset-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simple-alert-grid.preset-9 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simple-alert-grid.preset-focus { grid-template-columns: 1.4fr 1fr 1fr; }
.simple-alert-grid.preset-focus .simple-alert-tile.focus { grid-row: span 2; min-height: 320px; }

.simple-alert-tile {
  position: relative;
  min-height: 150px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
  overflow: hidden;
}

.simple-alert-tile::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 30px solid transparent;
  border-left: 30px solid transparent;
  opacity: 0;
}

.simple-alert-tile.state-triggered,
.simple-alert-tile.state-critical {
  border-color: rgba(255,71,87,0.55);
  background: linear-gradient(180deg, rgba(255,71,87,0.18), rgba(255,71,87,0.06));
  box-shadow: 0 0 0 1px rgba(255,71,87,0.08), 0 18px 32px rgba(255,71,87,0.10);
  animation: simpleAlertFlash 1.8s ease-in-out infinite;
}

.simple-alert-tile.state-triggered::before,
.simple-alert-tile.state-critical::before {
  opacity: 1;
  border-top-color: rgba(255,71,87,0.95);
}

.simple-alert-tile.state-warning {
  border-color: rgba(255,159,67,0.45);
  background: linear-gradient(180deg, rgba(255,159,67,0.14), rgba(255,159,67,0.05));
}

.simple-alert-tile.state-ack,
.simple-alert-tile.state-snoozed {
  border-color: rgba(74,163,255,0.34);
  background: linear-gradient(180deg, rgba(74,163,255,0.10), rgba(74,163,255,0.03));
}

.simple-alert-tile-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.simple-alert-tile-icon {
  width: 26px;
  height: 26px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.simple-alert-tile-title {
  font-size: 13px;
  color: var(--text-bright);
  font-weight: 600;
}

.simple-alert-tile-source {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.simple-alert-tile-value {
  font-family: var(--font-mono);
  font-size: 28px;
  line-height: 1.05;
  color: var(--text-bright);
  margin: 10px 0 4px;
}

.simple-alert-tile-threshold,
.simple-alert-tile-detail,
.simple-alert-tile-updated {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
}

.simple-alert-tile-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.simple-alert-empty {
  padding: 18px;
  text-align: center;
  color: var(--text-muted);
  border: 1px dashed var(--border);
  border-radius: 12px;
  background: var(--bg-card);
}

.simple-alert-board-tools {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-left: auto;
}

.simple-alert-manage {
  margin: 0 0 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--bg-card);
}

.simple-alert-manage[hidden] { display: none !important; }

.simple-alert-manage-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.simple-alert-manage-list {
  margin-top: 10px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.simple-alert-manage-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.simple-alert-manage-chip button {
  border: none;
  background: transparent;
  color: var(--danger);
  cursor: pointer;
  font-size: 12px;
  line-height: 1;
}

.simple-alert-tile[draggable="true"] {
  cursor: grab;
}

.simple-alert-tile.drag-over {
  outline: 2px dashed var(--accent);
  outline-offset: 3px;
}

body.simple-alert-fullscreen #panel-briefing-center {
  position: fixed !important;
  inset: 10px !important;
  z-index: 1800;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

body.simple-alert-kiosk header,
body.simple-alert-kiosk #panel-market-overview,
body.simple-alert-kiosk #panel-news-feed,
body.simple-alert-kiosk #panel-markets,
body.simple-alert-kiosk #panel-space-weather {
  display: none !important;
}

body.simple-alert-kiosk .main-grid {
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr !important;
  min-height: 100vh;
}

body.simple-alert-kiosk #panel-briefing-center {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1900;
  border-radius: 0;
}

body.simple-alert-fullscreen .main-grid {
  grid-template-columns: 1fr !important;
  grid-template-rows: 1fr !important;
}

@keyframes simpleAlertFlash {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,71,87,0.08), 0 18px 32px rgba(255,71,87,0.10); }
  50% { box-shadow: 0 0 0 2px rgba(255,71,87,0.18), 0 24px 40px rgba(255,71,87,0.18); }
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.global-markets-panel {
  --gm-bg: #05080d;
  --gm-panel: #0b1119;
  --gm-panel-2: #101923;
  --gm-line: rgba(168, 199, 218, 0.14);
  --gm-cyan: #66d9ef;
  --gm-green: #50e3a4;
  --gm-amber: #ffca68;
  --gm-red: #ff6d7f;
  min-height: 100%;
  height: 100%;
  overflow-y: auto;
  color: #eef5f8;
  background:
    linear-gradient(rgba(102, 217, 239, 0.026) 1px, transparent 1px),
    linear-gradient(90deg, rgba(102, 217, 239, 0.026) 1px, transparent 1px),
    radial-gradient(circle at 12% -10%, rgba(41, 143, 174, 0.24), transparent 34%),
    radial-gradient(circle at 88% 3%, rgba(255, 202, 104, 0.13), transparent 28%),
    var(--gm-bg);
  background-size: 34px 34px, 34px 34px, auto, auto, auto;
}

.global-markets-commandbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px clamp(14px, 3vw, 30px);
  border-bottom: 1px solid rgba(102, 217, 239, 0.22);
  background: rgba(5, 8, 13, 0.94);
  backdrop-filter: blur(16px);
}

.global-markets-identity { min-width: 0; }
.global-markets-kicker {
  display: block;
  color: var(--gm-cyan);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.global-markets-title {
  display: block;
  margin-top: 2px;
  color: #f7fbfd;
  font-size: clamp(17px, 2.4vw, 25px);
  font-weight: 820;
  letter-spacing: -0.025em;
}
.global-markets-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 7px; flex-wrap: wrap; }
.global-markets-status {
  color: #8299a8;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
}

.global-markets-shell {
  width: min(1480px, 100%);
  margin: 0 auto;
  padding: clamp(16px, 3vw, 30px);
}

.global-markets-search-deck {
  position: relative;
  overflow: hidden;
  padding: clamp(18px, 3.5vw, 34px);
  border: 1px solid rgba(102, 217, 239, 0.22);
  border-radius: 18px;
  background: linear-gradient(130deg, rgba(13, 28, 40, 0.96), rgba(9, 14, 21, 0.96) 62%, rgba(34, 27, 16, 0.92));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34), inset 0 1px rgba(255, 255, 255, 0.05);
}
.global-markets-search-deck::after {
  content: 'WT // GLOBAL TAPE';
  position: absolute;
  top: 15px;
  right: 18px;
  color: rgba(102, 217, 239, 0.18);
  font-family: var(--font-mono);
  font-size: clamp(11px, 2vw, 22px);
  font-weight: 900;
  letter-spacing: 0.16em;
  pointer-events: none;
}
.global-markets-search-copy { position: relative; z-index: 1; max-width: 760px; }
.global-markets-search-copy h2 { margin: 4px 0 7px; color: #f7fbfd; font-size: clamp(24px, 4vw, 42px); letter-spacing: -0.045em; line-height: 1.04; }
.global-markets-search-copy p { margin: 0; max-width: 680px; color: #91a5b2; font-size: 11px; line-height: 1.6; }
.global-markets-search-form { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 20px; }
.global-markets-search-form input {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(102, 217, 239, 0.30);
  border-radius: 11px;
  outline: none;
  background: rgba(3, 7, 11, 0.82);
  color: #f6fbfd;
  font-family: var(--font-mono);
  font-size: 13px;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.035);
}
.global-markets-search-form input:focus { border-color: rgba(102, 217, 239, 0.78); box-shadow: 0 0 0 3px rgba(102, 217, 239, 0.09); }
.global-markets-search-form button {
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid rgba(102, 217, 239, 0.54);
  border-radius: 11px;
  background: linear-gradient(135deg, #147a99, #0f506b);
  color: white;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  cursor: pointer;
}
.global-markets-coverage-strip { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.global-markets-coverage-strip span { padding: 4px 7px; border: 1px solid rgba(168,199,218,0.14); border-radius: 999px; color: #78909f; font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: 0.07em; }

.global-market-lookup-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 9px; margin-top: 12px; }
.global-market-lookup-results:empty { display: none; }
.global-market-lookup-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px 12px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid var(--gm-line);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(14, 23, 32, 0.96), rgba(7, 12, 18, 0.98));
  overflow: hidden;
}
.global-market-lookup-card::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--gm-cyan); }
.global-market-lookup-card[data-asset-type="crypto"]::before { background: var(--gm-amber); }
.global-market-lookup-card[data-asset-type="futures"]::before { background: #e89d58; }
.global-market-lookup-card[data-asset-type="forex"]::before { background: #8eb8ff; }
.global-market-lookup-symbol { color: #f7fbfd; font-family: var(--font-mono); font-size: 13px; font-weight: 900; overflow-wrap: anywhere; }
.global-market-lookup-name { margin-top: 3px; color: #8196a5; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.global-market-lookup-price { color: #f7fbfd; font-family: var(--font-mono); font-size: 16px; font-weight: 800; text-align: right; }
.global-market-lookup-change { margin-top: 2px; font-family: var(--font-mono); font-size: 9px; text-align: right; }
.global-market-lookup-meta { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px 9px; padding-top: 7px; border-top: 1px solid rgba(168,199,218,0.09); color: #657c8b; font-family: var(--font-mono); font-size: 7px; text-transform: uppercase; }
.global-market-lookup-actions { grid-column: 1 / -1; display: flex; gap: 6px; flex-wrap: wrap; }
.global-market-lookup-actions a, .global-market-lookup-actions button { display: inline-flex; align-items: center; min-height: 40px; padding: 0 11px; border: 1px solid rgba(102,217,239,0.22); border-radius: 7px; background: rgba(102,217,239,0.06); color: #9dc6d5; font-family: var(--font-mono); font-size: 9px; text-decoration: none; cursor: pointer; }

.global-markets-dashboard { display: grid; gap: 14px; margin-top: 14px; }
.global-markets-headline-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.global-market-tape-card { min-width: 0; padding: 13px; border: 1px solid var(--gm-line); border-radius: 12px; background: rgba(9, 15, 22, 0.92); }
.global-market-tape-kicker { color: #718795; font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.11em; text-transform: uppercase; }
.global-market-tape-name { margin-top: 6px; color: #dfeaf0; font-size: 11px; font-weight: 720; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.global-market-tape-value { margin-top: 5px; color: #f8fcfd; font-family: var(--font-mono); font-size: 19px; font-weight: 850; }
.global-market-tape-change { margin-top: 2px; font-family: var(--font-mono); font-size: 9px; }

.global-markets-section {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gm-line);
  border-radius: 14px;
  background: rgba(8, 13, 19, 0.94);
}
.global-markets-section-head { display: flex; align-items: flex-start; gap: 12px; padding: 13px 14px 11px; border-bottom: 1px solid rgba(168,199,218,0.10); }
.global-markets-section-title { color: #e8f2f6; font-size: 12px; font-weight: 800; }
.global-markets-section-meta { margin-top: 2px; color: #6e8391; font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.05em; }
.global-markets-section-count { margin-left: auto; color: var(--gm-cyan); font-family: var(--font-mono); font-size: 8px; }
.global-markets-section-body { padding: 10px 12px 12px; }
.global-markets-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.global-markets-quad { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.global-market-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.global-market-table th { padding: 6px 7px; border-bottom: 1px solid rgba(168,199,218,0.12); color: #647987; font-family: var(--font-mono); font-size: 7px; font-weight: 700; letter-spacing: 0.07em; text-align: left; text-transform: uppercase; }
.global-market-table td { padding: 7px; border-bottom: 1px solid rgba(168,199,218,0.07); color: #aebec8; font-size: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-market-table tr:last-child td { border-bottom: 0; }
.global-market-table .finance-chart-row:hover td { background: rgba(102,217,239,0.045); }
.global-market-table td:nth-last-child(-n+2), .global-market-table th:nth-last-child(-n+2) { text-align: right; font-family: var(--font-mono); }
.global-market-table .gm-name { color: #e4edf2; font-weight: 720; }
.global-market-table .gm-sub { display: block; margin-top: 2px; color: #607584; font-family: var(--font-mono); font-size: 7px; }
.gm-chart-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.gm-chart-trigger:focus-visible { outline: 1px solid rgba(102,217,239,0.72); outline-offset: 3px; border-radius: 3px; }
.global-markets-empty { padding: 24px 12px; color: #718693; font-size: 10px; text-align: center; }
.global-index-table-wrap { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.global-index-table { width: 100%; min-width: 1040px; border-collapse: collapse; table-layout: fixed; }
.global-index-table th { position: sticky; top: 0; z-index: 1; padding: 7px 8px; border-bottom: 1px solid rgba(168,199,218,0.15); background: rgba(8,13,19,0.98); color: #647987; font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.07em; text-align: right; text-transform: uppercase; }
.global-index-table th:first-child { width: 31%; text-align: left; }
.global-index-table th:nth-child(2) { width: 13%; }
.global-index-table td { padding: 8px; border-bottom: 1px solid rgba(168,199,218,0.07); color: #aebec8; font-family: var(--font-mono); font-size: 9px; text-align: right; white-space: nowrap; }
.global-index-table td:first-child { font-family: var(--font-ui); text-align: left; white-space: normal; }
.global-index-table tr:last-child td { border-bottom: 0; }
.global-index-table .finance-chart-row:hover td { background: rgba(102,217,239,0.045); }
.global-index-status { display: inline-flex; align-items: center; margin-top: 4px; padding: 2px 5px; border: 1px solid rgba(168,199,218,0.12); border-radius: 999px; color: #6f8492; font-family: var(--font-mono); font-size: 6px; letter-spacing: 0.06em; text-transform: uppercase; }
.global-index-status[data-state="limited-history"] { border-color: rgba(255,202,104,0.24); color: var(--gm-amber); }
.global-index-status[data-state="unavailable"] { border-color: rgba(255,109,127,0.20); color: #b77982; }
.global-index-note { display: flex; gap: 8px; align-items: flex-start; margin-bottom: 8px; padding: 8px 9px; border: 1px solid rgba(102,217,239,0.12); border-radius: 8px; color: #718693; font-size: 8px; line-height: 1.45; }

.global-exchange-grid, .global-provider-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)); gap: 8px; }
.global-exchange-card, .global-provider-card { min-width: 0; padding: 11px; border: 1px solid rgba(168,199,218,0.10); border-radius: 10px; background: rgba(255,255,255,0.018); }
.global-exchange-card strong, .global-provider-card strong { display: block; color: #dfeaf0; font-size: 10px; }
.global-exchange-card span, .global-provider-card span { display: block; margin-top: 4px; color: #6d8290; font-size: 8px; line-height: 1.4; }
.global-provider-state { color: var(--gm-amber) !important; font-family: var(--font-mono); font-size: 7px !important; letter-spacing: 0.07em; text-transform: uppercase; }
.global-markets-disclosure { padding: 10px 12px; border: 1px solid rgba(255,202,104,0.18); border-radius: 10px; background: rgba(255,202,104,0.035); color: #8f8268; font-size: 8px; line-height: 1.55; }

.watchtower-search-market-quotes { display: grid; gap: 8px; margin: 0 0 12px; }
.watchtower-search-market-quotes:empty { display: none; }
.watchtower-search-market-head { display: flex; align-items: center; gap: 8px; color: #8097a8; font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; }
.watchtower-search-market-head button { min-height: 40px; margin-left: auto; padding: 0 8px; border: 0; border-bottom: 1px dotted rgba(118,200,255,0.44); background: transparent; color: #9cc8dc; font: inherit; cursor: pointer; }
.watchtower-search-market-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 8px; }
.watchtower-search-market-opt-in { display: inline-flex; align-items: flex-start; gap: 8px; max-width: 760px; margin-top: 12px; color: #768d9e; font-family: var(--font-mono); font-size: 8px; line-height: 1.5; text-align: left; }
.watchtower-search-market-opt-in input { width: 16px; height: 16px; margin: 1px 0 0; accent-color: var(--search-accent); flex: 0 0 auto; }

body.theme-light .global-markets-panel { --gm-bg: #edf3f6; --gm-panel: #ffffff; --gm-panel-2: #f5f8fa; --gm-line: rgba(31,77,101,0.16); color: #142632; background-color: #edf3f6; }
body.theme-light .global-markets-commandbar { background: rgba(244,248,250,0.95); }
body.theme-light .global-markets-title, body.theme-light .global-markets-search-copy h2, body.theme-light .global-market-tape-value, body.theme-light .global-market-lookup-price { color: #102735; }
body.theme-light .global-markets-search-deck { background: linear-gradient(130deg, #ffffff, #eef5f8 65%, #fff7e7); }
body.theme-light .global-markets-search-form input { background: #ffffff; color: #112936; }
body.theme-light .global-market-lookup-card, body.theme-light .global-market-tape-card, body.theme-light .global-markets-section { background: rgba(255,255,255,0.94); }
body.theme-light .global-market-lookup-symbol, body.theme-light .global-market-tape-name, body.theme-light .global-markets-section-title, body.theme-light .global-market-table .gm-name, body.theme-light .global-exchange-card strong, body.theme-light .global-provider-card strong { color: #183141; }
body.theme-light .global-index-table th { background: rgba(255,255,255,0.98); }

@media (max-width: 980px) {
  .global-markets-headline-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .global-markets-quad { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .global-markets-commandbar { position: relative; grid-template-columns: 1fr; padding: 12px; }
  .global-markets-toolbar-actions { justify-content: flex-start; }
  .global-markets-shell { padding: 10px; }
  .global-markets-search-deck { padding: 18px 13px; border-radius: 13px; }
  .global-markets-search-deck::after { display: none; }
  .global-markets-search-form { grid-template-columns: 1fr; }
  .global-markets-search-form button { min-height: 43px; }
  .global-markets-headline-grid, .global-markets-split { grid-template-columns: 1fr; }
  .global-markets-section-body { padding: 7px; overflow-x: auto; }
  .global-market-table { min-width: 460px; }
  .global-index-table { min-width: 940px; }
  .global-market-lookup-actions a, .global-market-lookup-actions button, .watchtower-search-market-head button { min-height: 44px; }
}

.watchtower-search-panel {
  --search-surface: #08101a;
  --search-surface-raised: #0c1724;
  --search-line: rgba(118, 200, 255, 0.16);
  --search-accent: #76c8ff;
  --search-gold: #ffcb6b;
  min-height: 100%;
  height: 100%;
  overflow-y: auto;
  color: #e8f1f8;
  background:
    radial-gradient(circle at 50% -18%, rgba(43, 130, 188, 0.20), transparent 38%),
    linear-gradient(180deg, #07101a 0%, #050a11 100%);
}

.watchtower-search-shell {
  width: min(1080px, 100%);
  margin: 0 auto;
  padding: clamp(34px, 7vh, 76px) clamp(16px, 4vw, 48px) 56px;
}

.watchtower-search-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.watchtower-search-mark {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 7px);
  align-items: end;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 9px 8px;
  margin-bottom: 14px;
  border: 1px solid rgba(118, 200, 255, 0.34);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(118, 200, 255, 0.16), rgba(255, 203, 107, 0.04));
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.watchtower-search-mark span {
  display: block;
  border-radius: 5px 5px 2px 2px;
  background: linear-gradient(180deg, var(--search-gold), var(--search-accent));
}

.watchtower-search-mark span:nth-child(1) { height: 12px; opacity: 0.72; }
.watchtower-search-mark span:nth-child(2) { height: 24px; }
.watchtower-search-mark span:nth-child(3) { height: 18px; opacity: 0.86; }

.watchtower-search-eyebrow {
  color: var(--search-accent);
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.watchtower-search-hero h2 {
  margin: 8px 0 7px;
  color: #f5f9fc;
  font-size: clamp(28px, 5vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

.watchtower-search-hero > p {
  max-width: 680px;
  margin: 0;
  color: #8ea4b6;
  font-size: clamp(12px, 1.8vw, 14px);
  line-height: 1.6;
}

.watchtower-search-form {
  width: min(780px, 100%);
  margin-top: 24px;
}

.watchtower-search-field {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 6px 7px 6px 19px;
  border: 1px solid rgba(118, 200, 255, 0.28);
  border-radius: 18px;
  background: rgba(12, 23, 36, 0.96);
  box-shadow: 0 18px 55px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}

.watchtower-search-field:focus-within {
  border-color: rgba(118, 200, 255, 0.74);
  box-shadow: 0 0 0 3px rgba(118, 200, 255, 0.09), 0 22px 60px rgba(0, 0, 0, 0.38);
}

.watchtower-search-icon {
  position: relative;
  width: 16px;
  height: 16px;
  margin-right: 12px;
  border: 2px solid #7f99ac;
  border-radius: 50%;
  flex: 0 0 auto;
}

.watchtower-search-icon::after {
  content: '';
  position: absolute;
  width: 7px;
  height: 2px;
  right: -6px;
  bottom: -3px;
  border-radius: 2px;
  background: #7f99ac;
  transform: rotate(45deg);
}

.watchtower-search-field input {
  min-width: 0;
  flex: 1 1 auto;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #f4f8fb !important;
  font-family: var(--font-sans);
  font-size: 15px;
  padding: 10px 4px !important;
}

.watchtower-search-field input::placeholder { color: #688095; }

.watchtower-search-field > button {
  min-height: 44px;
  padding: 0 21px;
  border: 1px solid rgba(118, 200, 255, 0.52);
  border-radius: 13px;
  background: linear-gradient(135deg, #2a91cf, #176da7);
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.20), 0 9px 24px rgba(20, 105, 160, 0.24);
}

.watchtower-search-field > button:hover { filter: brightness(1.1); }
.watchtower-search-field > button:disabled { cursor: wait; opacity: 0.68; }

.watchtower-search-examples {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
  color: #60798d;
  font-family: var(--font-mono);
  font-size: 9px;
}

.watchtower-search-examples button {
  border: 0;
  border-bottom: 1px dotted rgba(118, 200, 255, 0.36);
  background: transparent;
  color: #8da8ba;
  font: inherit;
  cursor: pointer;
}

.watchtower-search-examples button:hover { color: var(--search-accent); }

.watchtower-search-categories {
  display: flex;
  gap: 7px;
  margin-top: 34px;
  padding-bottom: 12px;
  overflow-x: auto;
  border-bottom: 1px solid var(--search-line);
  scrollbar-width: thin;
}

.watchtower-search-category {
  flex: 0 0 auto;
  min-height: 44px;
  padding: 0 11px;
  border: 1px solid rgba(118, 200, 255, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.025);
  color: #849bad;
  font-family: var(--font-mono);
  font-size: 9px;
  cursor: pointer;
}

.watchtower-search-category span { margin-left: 5px; opacity: 0.7; }

.watchtower-search-category.active,
.watchtower-search-category[aria-pressed="true"] {
  border-color: rgba(118, 200, 255, 0.48);
  background: rgba(118, 200, 255, 0.12);
  color: #eaf6fd;
}

.watchtower-search-status-row {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  color: #70879a;
  font-family: var(--font-mono);
  font-size: 9px;
}

.watchtower-search-access {
  margin-left: auto;
  padding: 4px 7px;
  border: 1px solid rgba(118, 200, 255, 0.18);
  border-radius: 6px;
  color: #85a3b8;
  letter-spacing: 0.08em;
}

.watchtower-search-access.professional {
  border-color: rgba(255, 203, 107, 0.32);
  color: var(--search-gold);
}

.watchtower-search-results {
  display: grid;
  gap: 10px;
}

.watchtower-search-empty,
.watchtower-search-error {
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: clamp(36px, 7vw, 72px) 20px;
  border: 1px dashed rgba(118, 200, 255, 0.17);
  border-radius: 16px;
  color: #71889a;
  text-align: center;
  line-height: 1.55;
}

.watchtower-search-empty strong { color: #c9d8e2; font-size: 14px; }
.watchtower-search-empty span { max-width: 650px; font-size: 11px; }

.watchtower-search-error {
  border-color: rgba(255, 92, 108, 0.34);
  color: #ff9baa;
}

.watchtower-search-skeleton {
  height: 118px;
  border: 1px solid rgba(118, 200, 255, 0.10);
  border-radius: 14px;
  background: linear-gradient(100deg, rgba(255,255,255,0.025) 20%, rgba(118,200,255,0.08) 45%, rgba(255,255,255,0.025) 70%);
  background-size: 240% 100%;
  animation: watchtowerSearchShimmer 1.4s linear infinite;
}

@keyframes watchtowerSearchShimmer {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .watchtower-search-skeleton { animation: none; }
  .watchtower-search-result { transition: none; }
}

.watchtower-search-result {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 18px;
  padding: 17px 18px 15px;
  overflow: hidden;
  border: 1px solid rgba(118, 200, 255, 0.12);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(13, 25, 39, 0.92), rgba(8, 16, 26, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
  transition: border-color 150ms ease, transform 150ms ease;
}

.watchtower-search-result::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--result-accent, var(--search-accent));
  opacity: 0.78;
}

.watchtower-search-result:hover {
  border-color: rgba(118, 200, 255, 0.30);
  transform: translateY(-1px);
}

.watchtower-search-result[data-category="markets-finance"] { --result-accent: #ffcb6b; }
.watchtower-search-result[data-category="geopolitics"] { --result-accent: #bc91ff; }
.watchtower-search-result[data-category="conflict-security"] { --result-accent: #ff6b7d; }
.watchtower-search-result[data-category="infrastructure"] { --result-accent: #58d6c7; }
.watchtower-search-result[data-category="weather-hazards"] { --result-accent: #64a8ff; }
.watchtower-search-result[data-category="health-biosecurity"] { --result-accent: #78d68b; }
.watchtower-search-result[data-category="society-mobility"] { --result-accent: #e09bd5; }

.watchtower-search-result-main { min-width: 0; }

.watchtower-search-result-kicker {
  color: var(--result-accent, var(--search-accent));
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.watchtower-search-result-title {
  margin-top: 5px;
  color: #eef5f9;
  font-size: 15px;
  font-weight: 750;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.watchtower-search-result-summary {
  margin-top: 7px;
  color: #91a5b5;
  font-size: 11px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.watchtower-search-result-actions {
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.watchtower-search-result-actions a,
.watchtower-search-result-actions button,
.watchtower-search-more {
  min-height: 44px;
  padding: 0 10px;
  border: 1px solid rgba(118, 200, 255, 0.22);
  border-radius: 8px;
  background: rgba(118, 200, 255, 0.06);
  color: #a9c9dc;
  font-family: var(--font-mono);
  font-size: 8px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}

.watchtower-search-result-actions a,
.watchtower-search-result-actions button { display: inline-flex; align-items: center; }
.watchtower-search-result-actions a:hover,
.watchtower-search-result-actions button:hover,
.watchtower-search-more:hover { border-color: rgba(118, 200, 255, 0.52); color: #eef8ff; }

.watchtower-search-result-meta {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  padding-top: 9px;
  border-top: 1px solid rgba(118, 200, 255, 0.08);
  color: #667e91;
  font-family: var(--font-mono);
  font-size: 8px;
}

.watchtower-search-tier {
  color: var(--search-gold);
  font-weight: 700;
}

.watchtower-search-more {
  justify-self: center;
  min-height: 38px;
  margin-top: 8px;
  padding: 0 18px;
}

body.theme-light .watchtower-search-panel {
  --search-surface: #ffffff;
  --search-surface-raised: #f7fafc;
  --search-line: rgba(32, 82, 118, 0.16);
  --search-accent: #176da8;
  --search-gold: #9b6500;
  color: #122333;
  background:
    radial-gradient(circle at 50% -18%, rgba(43, 130, 188, 0.13), transparent 38%),
    linear-gradient(180deg, #ffffff 0%, #f3f7fa 100%);
}

body.theme-light .watchtower-search-hero h2,
body.theme-light .watchtower-search-result-title { color: #102434; }
body.theme-light .watchtower-search-hero > p,
body.theme-light .watchtower-search-result-summary { color: #536d80; }
body.theme-light .watchtower-search-field {
  border-color: rgba(23, 109, 168, 0.26);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 18px 44px rgba(32, 75, 104, 0.13), inset 0 1px 0 #ffffff;
}
body.theme-light .watchtower-search-field input { color: #102434 !important; }
body.theme-light .watchtower-search-field input::placeholder { color: #7b91a1; }
body.theme-light .watchtower-search-category { background: rgba(255,255,255,0.72); color: #587185; border-color: rgba(32,82,118,0.15); }
body.theme-light .watchtower-search-category.active { background: rgba(23,109,168,0.10); color: #164f76; border-color: rgba(23,109,168,0.38); }
body.theme-light .watchtower-search-result {
  border-color: rgba(32, 82, 118, 0.13);
  background: linear-gradient(145deg, rgba(255,255,255,0.98), rgba(244,248,251,0.98));
  box-shadow: 0 8px 22px rgba(32, 75, 104, 0.08), inset 0 1px 0 #ffffff;
}
body.theme-light .watchtower-search-empty { color: #60798b; border-color: rgba(32,82,118,0.18); }
body.theme-light .watchtower-search-empty strong { color: #263f52; }

@media (max-width: 640px) {
  .watchtower-search-shell { padding: 24px 12px 36px; }
  .watchtower-search-mark { width: 38px; height: 38px; margin-bottom: 10px; }
  .watchtower-search-hero > p { max-width: 340px; }
  .watchtower-search-form { margin-top: 18px; }
  .watchtower-search-field { min-height: 52px; padding-left: 14px; border-radius: 15px; }
  .watchtower-search-field > button { min-height: 40px; padding: 0 14px; }
  .watchtower-search-field input { font-size: 13px; }
  .watchtower-search-examples button:nth-of-type(n+4) { display: none; }
  .watchtower-search-categories { margin-top: 24px; }
  .watchtower-search-result { grid-template-columns: 1fr; padding: 15px 14px 13px; }
  .watchtower-search-result-actions { grid-row: 3; flex-wrap: wrap; }
  .watchtower-search-result-meta { grid-row: 4; }
  .watchtower-search-status-row { align-items: flex-start; padding: 7px 0; }
}

body.simple-mode #panel-briefing-center .center-tabs-area {
  min-height: calc(100vh - 112px);
}

.panel-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px;
  min-width: 0;
  min-height: 0;
}

/* ── TABS ── */
.tab-bar {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border);
  flex-shrink: 0;
  overflow-x: auto;
  overflow-y: hidden;
  cursor: grab;
  scrollbar-width: thin;
}

.tab-btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: none;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 8px 10px;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 150ms;
  white-space: nowrap;
}

.tab-btn:hover { color: var(--text); background: rgba(255,255,255,0.03); }
.tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); }
.tab-health-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 13px;
  padding: 0 4px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.05);
  color: var(--text-muted);
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.tab-health-badge.ok {
  border-color: rgba(45, 204, 112, 0.35);
  background: rgba(45, 204, 112, 0.1);
  color: var(--up);
}
.tab-health-badge.covered {
  border-color: rgba(243, 156, 18, 0.4);
  background: rgba(243, 156, 18, 0.12);
  color: var(--warn);
}
.tab-health-badge.degraded {
  border-color: rgba(255, 82, 82, 0.42);
  background: rgba(255, 82, 82, 0.12);
  color: var(--danger);
}
.tab-health-badge.pending {
  border-color: rgba(118, 200, 255, 0.24);
  background: rgba(118, 200, 255, 0.08);
  color: var(--text-muted);
}
.tab-change-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 13px;
  padding: 0 4px;
  border-radius: 999px;
  border: 1px solid rgba(255, 203, 107, 0.42);
  background: rgba(255, 203, 107, 0.12);
  color: var(--solar);
  font-size: 8px;
  line-height: 1;
  letter-spacing: 0.04em;
}
.tab-btn.tab-dragging { opacity: 0.45; }
.tab-btn.tab-drop-target {
  border-bottom-color: var(--warn) !important;
  background: rgba(243, 156, 18, 0.14) !important;
  color: var(--warn) !important;
}
.tab-bar.tab-drop-target {
  background: rgba(59, 139, 235, 0.08);
  box-shadow: inset 0 -2px 0 0 rgba(59, 139, 235, 0.4);
}

.tab-content { display: none; }
.tab-content.active {
  display: block;
  min-width: 0;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#cb-entity-explorer.active,
#cb-sanctions-ownership.active,
#cb-cyber-exposure.active,
#cb-crypto-intel.active,
#mkt-global-bonds.active,
#news-narratives.active,
#mkt-commodity-stock-analysis.active {
  min-height: 0;
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

#cb-crypto-intel.active,
#mkt-global-bonds.active {
  display: flex;
  flex-direction: column;
  height: calc(100vh - 132px);
  min-height: 640px;
  width: 100%;
  box-sizing: border-box;
}

#cryptoIntelPanel,
#globalBondIntelPanel {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  box-sizing: border-box;
  align-content: start;
}

.crypto-intel-section {
  display: grid;
  gap: 8px;
}

.crypto-intel-section-head {
  display: flex;
  gap: 8px;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
}

.crypto-intel-section-title {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.crypto-intel-section-note {
  margin: 0;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.crypto-intel-table-wrap {
  max-height: 420px;
}

.crypto-intel-table-wrap .data-table {
  margin: 0;
}

.crypto-intel-table-wrap .data-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.crypto-data-card {
  border-style: dashed;
  display: grid;
  gap: 8px;
  min-height: 360px;
  align-content: start;
}

.crypto-data-card-body {
  max-height: 620px;
  overflow: auto;
  display: grid;
  gap: 8px;
  padding-right: 2px;
}

.crypto-data-card-body .crypto-intel-table-wrap,
.crypto-intel-scroll .crypto-intel-table-wrap {
  max-height: none;
}

.crypto-intel-scroll {
  max-height: 620px;
  overflow: auto;
  display: grid;
  gap: 8px;
  padding-right: 2px;
}

.crypto-data-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 10px;
  align-items: stretch;
}

@media (max-width: 760px) {
  .crypto-data-grid {
    grid-template-columns: 1fr;
  }
  .crypto-data-card {
    min-height: 300px;
  }
}

button.crypto-click-card,
button.crypto-watch-btn,
button.watchtower-summary-card.crypto-click-card {
  appearance: none;
  display: block;
  width: 100%;
  font: inherit;
  color: inherit;
  text-align: left;
}

button.watchtower-summary-card.crypto-click-card {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
}

#cryptoIntelPanel .watchtower-summary-grid,
#globalBondIntelPanel .watchtower-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

@media (max-width: 760px) {
  #cb-crypto-intel.active,
  #mkt-global-bonds.active {
    height: calc(100vh - 108px);
    min-height: 520px;
  }

  #cryptoIntelPanel .watchtower-summary-grid,
  #globalBondIntelPanel .watchtower-summary-grid {
    grid-template-columns: 1fr;
  }
}

.crypto-clickable-row,
.crypto-click-card {
  cursor: pointer;
}

.crypto-clickable-row:hover,
.crypto-click-card:hover {
  background: rgba(118,200,255,0.07) !important;
}

.crypto-command-toolbar {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 360px) auto auto auto;
  gap: 7px;
  align-items: center;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(48, 218, 196, 0.22);
  background: linear-gradient(90deg, rgba(8, 25, 31, 0.98), rgba(8, 15, 27, 0.98));
}

.crypto-command-identity {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.crypto-command-kicker,
.crypto-terminal-nav-label,
.crypto-terminal-card-title,
.crypto-terminal-kpi-label {
  font-family: var(--font-mono);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.crypto-command-kicker {
  color: #30dac4;
  font-size: 8px;
}

.crypto-command-title {
  color: var(--text-bright);
  font-weight: 800;
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.crypto-terminal-shell {
  display: grid;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.crypto-terminal-nav {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  gap: 5px;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  padding: 6px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid rgba(48, 218, 196, 0.2);
  border-radius: 8px;
  background: rgba(4, 14, 22, 0.97);
  scrollbar-width: thin;
}

.crypto-terminal-nav > * {
  flex: 0 0 auto;
}

.crypto-terminal-nav-label {
  padding: 0 5px;
  color: #30dac4;
  font-size: 8px;
}

.crypto-terminal-nav .layout-mini-btn.active {
  border-color: rgba(48, 218, 196, 0.66);
  background: rgba(48, 218, 196, 0.13);
  color: #8af5e6;
  box-shadow: inset 0 -2px 0 rgba(48, 218, 196, 0.75);
}

.crypto-terminal-view {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.crypto-terminal-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(125px, 1fr));
  gap: 6px;
  min-width: 0;
}

.crypto-terminal-kpi,
.crypto-terminal-card {
  min-width: 0;
  border: 1px solid rgba(121, 156, 177, 0.2);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(11, 27, 39, 0.95), rgba(6, 16, 26, 0.95));
}

.crypto-terminal-kpi {
  padding: 8px;
  border-top-color: var(--crypto-kpi-color, rgba(48, 218, 196, 0.55));
}

.crypto-terminal-kpi-label,
.crypto-terminal-card-title {
  color: #7e9dac;
  font-size: 7px;
}

.crypto-terminal-kpi-value {
  margin-top: 3px;
  color: var(--crypto-kpi-color, var(--text-bright));
  font: 800 17px/1.1 var(--font-mono);
  overflow-wrap: anywhere;
}

.crypto-terminal-kpi-meta,
.crypto-terminal-card-meta,
.crypto-terminal-note {
  color: var(--text-muted);
  font-size: 9px;
  line-height: 1.4;
}

.crypto-terminal-kpi-meta {
  margin-top: 4px;
}

.crypto-terminal-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
}

.crypto-terminal-grid.assets {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
  align-items: start;
}

.crypto-terminal-card {
  overflow: hidden;
}

.crypto-terminal-card-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(121, 156, 177, 0.14);
  background: rgba(255, 255, 255, 0.015);
}

.crypto-terminal-card-body {
  min-width: 0;
  padding: 9px;
}

.crypto-terminal-card.flush .crypto-terminal-card-body {
  padding: 0;
}

.crypto-terminal-card .data-ask-table-wrap {
  max-height: 480px;
  margin: 0;
  overflow: auto;
}

.crypto-terminal-card .data-table {
  margin: 0;
}

.crypto-terminal-alerts,
.crypto-terminal-source-grid,
.crypto-terminal-discovery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 7px;
}

.crypto-terminal-alert,
.crypto-terminal-source,
.crypto-terminal-discovery {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(121, 156, 177, 0.18);
  border-left: 3px solid var(--crypto-row-color, #30dac4);
  border-radius: 7px;
  background: rgba(5, 17, 28, 0.86);
}

.crypto-terminal-alert-title,
.crypto-terminal-discovery-title {
  color: var(--text-bright);
  font-weight: 750;
  font-size: 11px;
  overflow-wrap: anywhere;
}

.crypto-terminal-alert-meta,
.crypto-terminal-discovery-meta {
  margin: 4px 0 7px;
  color: var(--crypto-row-color, #30dac4);
  font: 8px/1.35 var(--font-mono);
  letter-spacing: 0.04em;
}

.crypto-terminal-evidence {
  display: grid;
  gap: 5px;
  margin-top: 7px;
}

.crypto-terminal-evidence strong {
  color: #f2bd67;
  font: 700 8px var(--font-mono);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.crypto-terminal-tags {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.crypto-terminal-tag {
  padding: 3px 6px;
  border: 1px solid rgba(121, 156, 177, 0.22);
  border-radius: 999px;
  color: #9eb7c3;
  background: rgba(255, 255, 255, 0.025);
  font: 8px var(--font-mono);
}

.crypto-terminal-tag.direct { border-color: rgba(48, 218, 196, 0.38); color: #73ead9; }
.crypto-terminal-tag.context { border-color: rgba(118, 200, 255, 0.38); color: #8bcfff; }
.crypto-terminal-tag.required { border-color: rgba(242, 189, 103, 0.4); color: #f2bd67; }

.crypto-terminal-empty {
  padding: 14px;
  color: var(--text-muted);
  text-align: center;
  font-size: 10px;
}

.crypto-terminal-dossier {
  display: grid;
  gap: 8px;
}

.crypto-terminal-dossier-actions,
.crypto-terminal-rule-controls {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.crypto-terminal-rule-controls .search-input {
  flex: 1 1 135px;
  min-width: 0;
}

.crypto-terminal-clickable:focus-visible,
.crypto-terminal-nav .layout-mini-btn:focus-visible {
  outline: 2px solid #30dac4;
  outline-offset: 2px;
}

@media (max-width: 1040px) {
  .crypto-command-toolbar {
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto auto;
  }
  .crypto-command-toolbar #cryptoIntelStatus {
    grid-column: 1 / -1;
  }
  .crypto-terminal-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .crypto-command-toolbar {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .crypto-command-identity,
  .crypto-command-toolbar #cryptoIntelSearch,
  .crypto-command-toolbar #cryptoIntelStatus {
    grid-column: 1 / -1;
  }
  .crypto-command-toolbar #cryptoIntelSearch {
    width: 100%;
    max-width: none;
    font-size: 16px;
  }
  .crypto-terminal-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .crypto-terminal-grid,
  .crypto-terminal-grid.assets {
    grid-template-columns: minmax(0, 1fr);
  }
  .crypto-terminal-alerts,
  .crypto-terminal-source-grid,
  .crypto-terminal-discovery-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

.bond-terminal-shell,
.bond-terminal-view,
.bond-terminal-card {
  min-width: 0;
  max-width: 100%;
}

.bond-terminal-nav {
  display: flex;
  gap: 5px;
  align-items: center;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;
}

.bond-terminal-nav > * {
  flex: 0 0 auto;
}

.bond-terminal-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}

.bond-terminal-table-wrap .data-table {
  margin: 0;
}

@media (max-width: 760px) {
  #mkt-global-bonds.active {
    width: 100% !important;
    max-width: 100% !important;
    scrollbar-gutter: auto !important;
  }
}

#cb-entity-explorer.active,
#cb-sanctions-ownership.active,
#cb-cyber-exposure.active,
#cb-crypto-intel.active,
#mkt-global-bonds.active,
#mkt-commodity-stock-analysis.active {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #09111f 0%, #060b14 100%);
}

#news-narratives.active {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #09111f 0%, #060b14 100%);
  padding: 8px;
  border-radius: 10px;
}

#cb-entity-explorer > div:first-child,
#cb-sanctions-ownership > div:first-child,
#cb-cyber-exposure > div:first-child,
#cb-crypto-intel > div:first-child,
#mkt-commodity-stock-analysis > div:first-child,
#news-narratives > div:first-child {
  flex: 0 0 auto;
  position: relative;
  z-index: 2;
  background: linear-gradient(180deg, rgba(9,17,31,0.98), rgba(7,13,24,0.96));
}

#entityExplorerPanel,
#sanctionsOwnershipPanel,
#cyberExposurePanel,
#narrativeTrackerPanel,
#mkt-commodity-stock-analysis-body {
  min-height: 0;
  box-sizing: border-box;
}

#entityExplorerPanel,
#sanctionsOwnershipPanel,
#cyberExposurePanel,
#narrativeTrackerPanel,
#mkt-commodity-stock-analysis-body[data-osint-module-kind] {
  flex: 1 1 auto;
  height: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  position: relative;
  z-index: 1;
  margin: 8px;
  padding: 8px !important;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 12px;
  background: linear-gradient(180deg, #0a1322 0%, #070d18 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045);
}

#cb-sanctions-ownership.active,
#cb-cyber-exposure.active {
  height: 100%;
  max-height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
}

#cb-sanctions-ownership.active #sanctionsOwnershipPanel,
#cb-cyber-exposure.active #cyberExposurePanel {
  flex: 0 0 auto;
  height: auto !important;
  overflow: visible !important;
}

#mkt-commodity-stock-analysis-body {
  flex: 1 1 auto;
  overflow-y: auto;
  overflow-x: hidden;
}

.business-corporate-distress-panel,
.business-corporate-distress-signal {
  display: block;
  width: 100%;
  clear: both;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  background: #08111f !important;
}

.business-corporate-distress-signal {
  padding: 10px 12px;
  border: 1px solid rgba(255,179,102,0.24);
  border-left: 3px solid #ffb366;
  border-radius: 8px;
  margin: 0 0 10px;
  color: var(--text-muted);
}

.center-tabs-area #mkt-commodity-stock-analysis.active {
  height: auto !important;
  min-height: 100%;
  overflow: visible;
}

.center-tabs-area #mkt-commodity-stock-analysis.active #mkt-commodity-stock-analysis-body {
  flex: 0 0 auto;
  height: auto !important;
  min-height: 0;
  overflow: visible !important;
  padding: 8px;
  box-sizing: border-box;
}

#mkt-commodity-stock-analysis.active {
  display: flex !important;
  flex-direction: column;
  min-height: 0 !important;
  overflow: hidden !important;
}

#mkt-commodity-stock-analysis > div:first-child,
#mkt-commodity-stock-analysis-evidence {
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#mkt-commodity-stock-analysis-evidence:empty {
  display: none;
}

#mkt-commodity-stock-analysis-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-width: 100%;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box;
  display: block;
}

#mkt-commodity-stock-analysis-body > *,
#mkt-commodity-stock-analysis-evidence > * {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

#mkt-commodity-stock-analysis :where(div, section, article, aside) {
  min-width: 0;
  box-sizing: border-box;
}

#mkt-commodity-stock-analysis :where(.watchtower-summary-card, .watchtower-summary-note, .watchtower-summary-meta, .business-corporate-distress-panel, .business-corporate-distress-signal, article, td, th, a) {
  overflow-wrap: anywhere;
  word-break: normal;
}

#mkt-commodity-stock-analysis :where(.data-table) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

#mkt-commodity-stock-analysis :where(.data-table td, .data-table th) {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
}

#mkt-commodity-stock-analysis-body > div[style*="display:grid"],
#mkt-commodity-stock-analysis .business-corporate-distress-panel > div[style*="display:grid"] {
  min-width: 0;
}

@media (max-width: 980px) {
  #mkt-commodity-stock-analysis-body > div[style*="grid-template-columns:1fr 1fr"],
  #mkt-commodity-stock-analysis-body > div[style*="grid-template-columns:1.1fr 0.9fr"],
  #mkt-commodity-stock-analysis .business-corporate-distress-panel > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* Companies workstream */
.companies-nav { flex:0 0 auto;padding:12px;border-bottom:1px solid var(--border);background:radial-gradient(circle at 8% 0%,rgba(118,200,255,.13),transparent 30%),linear-gradient(135deg,rgba(15,27,42,.98),rgba(8,14,23,.96)); }
.companies-nav-head,.companies-workspaces,.companies-lanes,.companies-dashboard-head { display:flex;gap:8px; }
.companies-nav-head { align-items:center;justify-content:space-between;margin-bottom:10px; }
.companies-nav-title { color:var(--text-bright);font-size:18px;font-weight:750;letter-spacing:-.03em; }
.companies-nav-copy,.companies-dashboard-copy,.companies-gap { color:var(--text-muted);font-size:10px;line-height:1.5; }
.companies-workspaces,.companies-lanes { overflow-x:auto;scrollbar-width:thin; }
.companies-workspace-btn,.companies-lane-btn,.companies-miner-btn { min-height:44px;padding:9px 13px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.035);color:var(--text-muted);font:650 10px/1.2 var(--font-mono);letter-spacing:.035em;cursor:pointer;white-space:nowrap; }
.companies-workspace-btn:hover,.companies-lane-btn:hover,.companies-miner-btn:hover,.companies-workspace-btn.active,.companies-lane-btn.active,.companies-miner-btn.active { color:var(--text-bright);border-color:var(--border-active);background:linear-gradient(135deg,rgba(118,200,255,.17),rgba(168,85,247,.08)); }
.companies-lanes { margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06); }
.companies-lane-btn[hidden] { display:none; }
.companies-sort { min-height:44px;margin-left:auto; }
.companies-dashboard { margin-bottom:14px;padding:14px;border:1px solid rgba(118,200,255,.22);border-radius:16px;background:radial-gradient(circle at 100% 0%,rgba(118,200,255,.12),transparent 32%),linear-gradient(150deg,rgba(17,29,45,.98),rgba(9,15,24,.97));box-shadow:0 18px 46px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.05); }
.companies-dashboard-head { align-items:flex-start;justify-content:space-between;flex-wrap:wrap; }
.companies-dashboard-kicker,.companies-card-label { color:var(--accent);font:9px var(--font-mono);letter-spacing:.1em;text-transform:uppercase; }
.companies-dashboard-title { margin-top:4px;color:var(--text-bright);font-size:clamp(20px,3vw,30px);font-weight:760;letter-spacing:-.04em; }
.companies-metric-grid,.companies-chart-grid,.companies-field-grid { display:grid;gap:8px;margin-top:10px; }
.companies-metric-grid { grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px; }
.companies-metric,.companies-field { padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(255,255,255,.035); }
.companies-metric-value { margin-top:5px;color:var(--text-bright);font:700 18px var(--font-mono); }
.companies-chart-grid { grid-template-columns:1.35fr 1fr; }
.companies-chart-card { min-width:0;padding:10px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(3,8,14,.38); }
.companies-chart-card:last-child { grid-column:1/-1; }
.companies-chart { display:block;width:100%;height:180px;margin-top:8px; }
.companies-field-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.companies-field-value { margin-top:5px;color:var(--text-bright);font:11px var(--font-mono);overflow-wrap:anywhere; }
.companies-gap { margin-top:10px;padding:10px;border-left:3px solid var(--warn);background:rgba(255,179,71,.055); }
.companies-screening-disclosure { margin:8px 0 12px;padding:10px 12px;border:1px solid rgba(255,179,71,.22);border-radius:10px;color:var(--text-muted);font-size:10px;line-height:1.5; }
@media (max-width: 760px) {
  .companies-nav { padding:10px 8px; }
  .companies-nav-head { align-items:stretch;flex-direction:column; }
  .companies-sort { width:100%;margin:0; }
  .companies-metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .companies-chart-grid,.companies-field-grid { grid-template-columns:1fr; }
  .companies-chart-card:last-child { grid-column:auto; }
  .companies-chart { height:150px; }
}
@media (max-width: 390px) {
  .companies-workspaces,.companies-lanes { margin-inline:-8px;padding-inline:8px; }
  .companies-dashboard { padding:11px;border-radius:13px; }
  .companies-metric-grid { grid-template-columns:1fr 1fr; }
}

.osint-module-shell {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  gap: 10px;
}

.osint-module-grid {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(260px,0.75fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
}

.osint-module-panel a,
.osint-module-shell a,
.osint-link,
.osint-item-title {
  position: relative;
  z-index: 3;
  pointer-events: auto;
  cursor: pointer;
}

.osint-item-title {
  color: var(--text-bright);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  font-weight: 600;
  line-height: 1.35;
}

.osint-entity-query {
  appearance: none;
  cursor: pointer;
  color: var(--text-muted);
}

.osint-entity-query:hover,
.osint-link:hover,
.osint-item-title:hover {
  color: var(--accent);
}

.osint-query-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 6px;
  margin-top: 8px;
}

@media (max-width: 900px) {
  .osint-module-grid {
    grid-template-columns: 1fr;
  }
}

.data-ask-shell { display: grid; grid-template-rows: auto auto minmax(0, 1fr); gap: 10px; height: 100%; padding: 8px; overflow: hidden; }
.data-ask-controls { display: grid; grid-template-columns: minmax(180px, 1fr) auto auto; gap: 8px; align-items: center; }
.data-ask-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.data-ask-card { border: 1px solid var(--border); border-radius: 8px; background: var(--bg-card); padding: 8px 10px; }
.data-ask-card-label { font-family: var(--font-mono); font-size: 9px; color: var(--text-muted); letter-spacing: 0.08em; text-transform: uppercase; }
.data-ask-card-value { margin-top: 3px; font-family: var(--font-mono); font-size: 18px; color: var(--text-bright); font-weight: 700; }
.data-ask-answer { border: 1px solid rgba(118,200,255,0.18); border-left: 3px solid var(--accent); border-radius: 8px; background: rgba(118,200,255,0.06); padding: 10px 12px; color: var(--text); line-height: 1.5; }
.data-ask-results { overflow: hidden; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: 10px; }
.data-ask-inventory-results { overflow: auto; grid-template-rows: auto auto auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.ai-analysis-results { grid-template-rows: auto auto minmax(0, 1fr); }
.data-ask-chip-row { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.data-ask-table-wrap {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: auto;
  background: rgba(0,0,0,0.1);
  max-width: 100%;
  min-width: 0;
  max-height: min(70vh, 760px);
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.watchtower-summary-card.dataqa-search-card {
  display: grid;
  grid-template-rows: auto auto auto minmax(320px, 1fr);
  min-height: min(680px, calc(100vh - 190px));
  max-height: min(82vh, 920px);
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.dataqa-primary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 10px;
  min-height: 0;
  overflow: auto;
}
.dataqa-primary-grid > .watchtower-summary-card.dataqa-search-card,
.dataqa-primary-grid > .intel-os-copilot-panel,
.dataqa-primary-grid > .watchtower-prompt-panel,
.dataqa-primary-grid > .deep-analyst-panel {
  height: 100%;
  min-height: 0;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.dataqa-search-card .watchtower-summary-card {
  overflow: visible !important;
}
.dataqa-search-results-stack {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-top: 8px;
  min-height: 320px;
  max-height: none;
  overflow: visible;
  align-content: start;
}
.dataqa-search-result-row {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.dataqa-search-result-row:last-child {
  border-bottom: 0;
}
.dataqa-search-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.intel-os-copilot-panel {
  min-height: min(720px, calc(100vh - 170px));
  max-height: min(84vh, 940px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.deep-analyst-panel {
  min-height: min(720px, calc(100vh - 170px));
  max-height: min(84vh, 940px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.watchtower-prompt-panel {
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.watchtower-prompt-input {
  width: 100%;
  min-width: 0;
  min-height: 112px;
  max-height: 320px;
  resize: vertical;
  font-size: 12px;
  line-height: 1.45;
  padding: 9px 10px;
}
.watchtower-prompt-output {
  min-height: 96px;
  max-height: min(46vh, 520px);
  overflow: auto;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.deep-analyst-body {
  display: grid;
  gap: 10px;
  min-height: 380px;
  max-height: none;
  overflow: visible;
}
.deep-analyst-control-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.deep-analyst-report {
  display: grid;
  gap: 10px;
}
.deep-analyst-section {
  border: 1px solid rgba(118,200,255,0.14);
  border-radius: 10px;
  background: rgba(118,200,255,0.04);
  padding: 9px 10px;
}
.intel-os-copilot-body {
  display: grid;
  gap: 10px;
  min-height: 380px;
  max-height: none;
  overflow: visible;
}

@media (max-width: 760px) {
  .data-ask-controls { grid-template-columns: 1fr; }
  .data-ask-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .watchtower-summary-card.dataqa-search-card,
  .intel-os-copilot-panel,
  .watchtower-prompt-panel,
  .deep-analyst-panel {
    min-height: min(620px, calc(100vh - 150px));
    max-height: 72vh;
  }
  .dataqa-primary-grid {
    grid-template-columns: 1fr;
    overflow: hidden;
  }
  .dataqa-primary-grid > .watchtower-summary-card.dataqa-search-card,
  .dataqa-primary-grid > .intel-os-copilot-panel,
  .dataqa-primary-grid > .watchtower-prompt-panel,
  .dataqa-primary-grid > .deep-analyst-panel {
    min-height: 320px;
    max-height: none;
  }
  .dataqa-search-results-stack,
  .intel-os-copilot-body,
  .deep-analyst-body {
    min-height: 280px;
    max-height: none;
  }
  .deep-analyst-control-grid { grid-template-columns: 1fr; }
}

.intel-matrix-wrap {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 8px;
  height: 100%;
  padding: 8px;
}

.risk-overview-map-stage {
  grid-template-rows: auto auto auto auto minmax(320px, 46vh) auto;
}

.risk-overview-map-control-stack {
  display: grid;
  gap: 5px;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(89, 219, 232, 0.14);
  background: rgba(4, 12, 23, 0.58);
}

.risk-overview-map-control-row {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  min-width: 0;
}

.risk-overview-map-control-label {
  min-width: 58px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.risk-overview-map-control-btn.active {
  border-color: rgba(89, 219, 232, 0.72) !important;
  color: #c9fbff !important;
  background: rgba(89, 219, 232, 0.14) !important;
}

.risk-overview-map-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 290px);
  min-width: 0;
  min-height: 320px;
  overflow: hidden;
}

.risk-overview-map-frame > .watchtower-safe-map-canvas {
  height: 100%;
  min-height: 320px;
}

.risk-overview-map-news-rail {
  min-width: 0;
  overflow: auto;
  border-left: 1px solid rgba(89, 219, 232, 0.16);
  background: rgba(5, 15, 27, 0.96);
}

.risk-overview-map-news-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 8px 9px;
  border-bottom: 1px solid rgba(89, 219, 232, 0.16);
  color: #dffcff;
  background: rgba(7, 20, 34, 0.98);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
}

.risk-overview-map-news-item {
  display: grid;
  gap: 3px;
  padding: 8px 9px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 10px;
  line-height: 1.35;
}

.risk-overview-map-news-item a { color: #dceef6; text-decoration: none; }
.risk-overview-map-news-item a:hover { text-decoration: underline; }
.risk-overview-map-news-meta { color: var(--text-muted); font-family: var(--font-mono); font-size: 8px; }

#riskOverviewMap .maplibregl-popup-content {
  max-height: min(70vh, 620px);
  overflow: auto;
  border: 1px solid rgba(89, 219, 232, 0.32);
  border-radius: 6px;
  color: #dbe8ed;
  background: #07121f;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.5);
}

#riskOverviewMap .maplibregl-popup-content * { font-family: var(--font-mono); }

.watchtower-map-lightbox-stage > #riskOverviewMapStage {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  border-radius: 0;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage #riskOverviewMap,
.watchtower-map-lightbox-stage .risk-overview-map-frame {
  height: 100%;
  min-height: 0;
}

@media (max-width: 900px) {
  .risk-overview-map-stage { grid-template-rows: auto auto auto auto auto auto; }
  .risk-overview-map-frame { grid-template-columns: 1fr; }
  .risk-overview-map-news-rail { max-height: 190px; border-top: 1px solid rgba(89, 219, 232, 0.16); border-left: 0; }
  .watchtower-map-lightbox-stage > #riskOverviewMapStage { overflow-y: auto; }
  .watchtower-map-lightbox-stage .risk-overview-map-frame { grid-template-rows: minmax(300px, 1fr) minmax(120px, 30vh); }
}

@media (prefers-reduced-motion: reduce) {
  .risk-overview-map-stage,
  .risk-overview-map-stage * {
    animation: none !important;
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
  }
}

.intel-matrix-meta {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.intel-matrix-meta-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px;
}

.intel-matrix-meta-label {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.intel-matrix-meta-value {
  margin-top: 2px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--text-bright);
  font-weight: 600;
}

.intel-matrix-control-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.intel-matrix-pill {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 2px 8px;
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.04em;
}

.intel-matrix-pill.active {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(59,139,235,0.12);
}

.intel-matrix-grid {
  border: 1px solid var(--border);
  border-radius: 8px;
  overflow: auto;
  min-height: 180px;
}

.intel-matrix-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
}

.intel-matrix-table th,
.intel-matrix-table td {
  border-bottom: 1px solid rgba(255,255,255,0.05);
  border-right: 1px solid rgba(255,255,255,0.05);
  padding: 0;
}

.intel-matrix-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: var(--bg-panel);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 6px 5px;
  text-align: center;
}

.intel-matrix-table th:first-child {
  text-align: left;
  min-width: 116px;
}

.intel-matrix-region {
  padding: 0 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  white-space: nowrap;
  letter-spacing: 0.03em;
}

.intel-matrix-cell-btn {
  width: 100%;
  min-height: 40px;
  border: none;
  background: transparent;
  color: var(--text-bright);
  cursor: pointer;
  font-family: var(--font-mono);
  padding: 4px 3px;
  display: grid;
  place-items: center;
  transition: filter 120ms ease, transform 120ms ease;
}

.intel-matrix-cell-btn:hover {
  filter: brightness(1.08);
}

.intel-matrix-cell-btn.active {
  box-shadow: inset 0 0 0 1px rgba(240, 244, 248, 0.95);
}

.intel-matrix-cell-score {
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
}

.intel-matrix-cell-state {
  margin-top: 3px;
  font-size: 8px;
  letter-spacing: 0.06em;
  opacity: 0.92;
}

.intel-matrix-drill {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 8px;
  background: var(--bg-card);
  display: grid;
  gap: 7px;
}

.intel-matrix-drill-head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.intel-matrix-badge {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.intel-matrix-metric-line {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.45;
}

.intel-matrix-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.intel-matrix-chip {
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 2px 7px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  background: rgba(255,255,255,0.03);
}

.intel-matrix-trend-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.intel-matrix-trend-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 6px;
}

.intel-matrix-trend-label {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.intel-matrix-trend-value {
  margin-top: 2px;
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--text-bright);
  font-weight: 600;
}

.intel-matrix-trend-sub {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.35;
}

.intel-matrix-movers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.intel-matrix-mover-col {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
  padding: 6px;
}

.intel-matrix-mover-head {
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 4px;
}

.intel-matrix-mover-item {
  display: grid;
  gap: 2px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  padding: 4px 0;
}

.intel-matrix-mover-item:last-child {
  border-bottom: none;
}

.intel-matrix-mover-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.intel-matrix-mover-name {
  font-size: 10px;
  color: var(--text-bright);
}

.intel-matrix-mover-metric {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 9px;
}

.intel-matrix-watch-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.intel-matrix-watch-card {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
  padding: 6px;
  display: grid;
  gap: 4px;
}

.intel-matrix-watch-head {
  display: flex;
  align-items: center;
  gap: 6px;
}

.intel-matrix-watch-title {
  font-size: 10px;
  color: var(--text-bright);
}

.intel-matrix-watch-meta {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.intel-matrix-watch-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}

.intel-matrix-playbook-grid {
  display: grid;
  gap: 6px;
}

.intel-matrix-playbook-item {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
  padding: 6px;
  display: grid;
  gap: 4px;
}

.intel-matrix-playbook-head {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.intel-matrix-playbook-title {
  font-size: 10px;
  color: var(--text-bright);
}

.intel-matrix-playbook-meta {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.intel-matrix-playbook-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.intel-matrix-brief {
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.02);
  padding: 6px;
  display: grid;
  gap: 5px;
}

.intel-matrix-brief-head {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.intel-matrix-brief-title {
  font-size: 10px;
  color: var(--text-bright);
}

.intel-matrix-brief-line {
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}

@media (max-width: 900px) {
  .intel-matrix-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .intel-matrix-trend-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .intel-matrix-movers-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .intel-matrix-watch-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
}

/* Economic calendar command */
#cb-calendar.active {
  min-height: 0;
  overflow: hidden;
}

.calendar-command {
  --cal-blue: #76c8ff;
  --cal-violet: #9b8cff;
  --cal-warm: #ffcb6b;
  min-height: calc(100vh - 132px);
  padding: 14px;
  overflow: auto;
  background:
    radial-gradient(circle at 8% 0%, rgba(118,200,255,0.14), transparent 28%),
    radial-gradient(circle at 96% 4%, rgba(155,140,255,0.12), transparent 25%),
    linear-gradient(180deg, rgba(6,12,21,0.74), rgba(6,10,17,0.34));
}

.calendar-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) auto;
  gap: 18px;
  align-items: end;
  padding: 22px;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 20px;
  background:
    linear-gradient(118deg, rgba(18,30,47,0.96), rgba(13,21,35,0.88) 58%, rgba(20,18,41,0.9));
  box-shadow: 0 24px 64px rgba(0,0,0,0.30), inset 0 1px 0 rgba(255,255,255,0.06);
}

.calendar-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(118,200,255,0.045) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(118,200,255,0.035) 50%, transparent 50.2%);
  background-size: 42px 42px;
  mask-image: linear-gradient(90deg, transparent, #000 38%, #000);
}

.calendar-identity,
.calendar-hero-actions { position: relative; z-index: 1; }
.calendar-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 8px;
  color: var(--cal-blue);
  font: 700 9px/1 var(--font-mono);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.calendar-kicker::before {
  content: '';
  width: 24px;
  height: 1px;
  background: currentColor;
  box-shadow: 0 0 12px currentColor;
}
.calendar-title {
  margin: 0;
  color: var(--text-bright);
  font-size: clamp(24px, 3.2vw, 42px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}
.calendar-dek {
  max-width: 720px;
  margin-top: 12px;
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.6;
}
.calendar-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.calendar-live-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 30px;
  padding: 0 11px;
  border: 1px solid rgba(46,204,113,0.22);
  border-radius: 999px;
  background: rgba(46,204,113,0.07);
  color: var(--text-muted);
  font: 9px/1 var(--font-mono);
}
.calendar-live-status::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 10px rgba(46,204,113,0.7);
}
.calendar-live-status.stale { border-color: rgba(255,203,107,0.28); background: rgba(255,203,107,0.08); }
.calendar-live-status.stale::before { background: var(--warn); box-shadow: 0 0 10px rgba(255,203,107,0.55); }
.calendar-live-status.error { border-color: rgba(255,107,107,0.30); background: rgba(255,107,107,0.08); }
.calendar-live-status.error::before { background: var(--danger); box-shadow: 0 0 10px rgba(255,107,107,0.55); }
.calendar-refresh {
  min-height: 30px;
  padding: 0 13px;
  border: 1px solid rgba(118,200,255,0.30);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(118,200,255,0.18), rgba(155,140,255,0.10));
  color: var(--text-bright);
  font: 700 9px/1 var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}
.calendar-refresh:hover { border-color: rgba(118,200,255,0.58); transform: translateY(-1px); }
.calendar-refresh:disabled { opacity: 0.55; cursor: wait; transform: none; }

.calendar-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.calendar-kpi {
  position: relative;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,0.045), rgba(255,255,255,0.014));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}
.calendar-kpi-label {
  color: var(--text-muted);
  font: 8px/1.2 var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.calendar-kpi-value {
  margin-top: 7px;
  color: var(--text-bright);
  font: 700 21px/1 var(--font-mono);
  letter-spacing: -0.04em;
}
.calendar-kpi-value.accent { color: var(--cal-blue); }
.calendar-kpi-value.warm { color: var(--cal-warm); }
.calendar-kpi-meta {
  margin-top: 5px;
  overflow: hidden;
  color: var(--text-muted);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.calendar-filterbar {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(120px, 0.55fr)) auto;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 15px;
  background: rgba(6,11,19,0.68);
  backdrop-filter: blur(18px);
}
.calendar-control {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(118,200,255,0.14);
  border-radius: 10px;
  background: rgba(255,255,255,0.035);
  color: var(--text);
  font: 10px/1 var(--font-mono);
}
.calendar-control:focus { outline: 2px solid rgba(118,200,255,0.14); border-color: rgba(118,200,255,0.44); }
.calendar-control:disabled { opacity: 0.62; cursor: not-allowed; }
.calendar-range {
  display: inline-flex;
  gap: 3px;
  justify-content: flex-end;
  padding: 3px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}
.calendar-range-btn {
  height: 26px;
  padding: 0 9px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text-muted);
  font: 700 8px/1 var(--font-mono);
  letter-spacing: 0.06em;
  cursor: pointer;
}
.calendar-range-btn:hover { color: var(--text-bright); }
.calendar-range-btn.active { background: rgba(118,200,255,0.15); color: var(--cal-blue); box-shadow: inset 0 0 0 1px rgba(118,200,255,0.20); }

.calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(260px, 0.62fr);
  gap: 10px;
  align-items: start;
  margin-top: 10px;
}
.calendar-timeline,
.calendar-intel-card {
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 17px;
  background: linear-gradient(160deg, rgba(16,25,39,0.90), rgba(8,14,24,0.82));
  box-shadow: 0 18px 42px rgba(0,0,0,0.20), inset 0 1px 0 rgba(255,255,255,0.035);
}
.calendar-timeline { min-width: 0; overflow: hidden; }
.calendar-table-head {
  display: grid;
  grid-template-columns: 64px 58px minmax(160px, 1fr) repeat(3, minmax(58px, 0.34fr));
  gap: 10px;
  align-items: center;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  color: var(--text-muted);
  font: 8px/1 var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.calendar-table-head span:nth-last-child(-n+3) { text-align: right; }
.calendar-day { border-bottom: 1px solid rgba(255,255,255,0.06); }
.calendar-day:last-child { border-bottom: 0; }
.calendar-command .cal-date-header {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border: 0;
  border-bottom: 1px solid rgba(118,200,255,0.12);
  background: rgba(10,17,28,0.95);
  color: var(--text-bright);
  backdrop-filter: blur(18px);
}
.calendar-day-name { font: 700 10px/1 var(--font-mono); letter-spacing: 0.09em; text-transform: uppercase; }
.calendar-day-meta { color: var(--text-muted); font: 8px/1 var(--font-mono); letter-spacing: 0.04em; }
.calendar-command .cal-row {
  position: relative;
  display: grid;
  grid-template-columns: 64px 58px minmax(160px, 1fr) repeat(3, minmax(58px, 0.34fr));
  gap: 10px;
  align-items: center;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,0.055);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: background 140ms ease, box-shadow 140ms ease;
}
.calendar-command .cal-row:last-child { border-bottom: 0; }
.calendar-command .cal-row:hover {
  background: linear-gradient(90deg, rgba(118,200,255,0.075), rgba(155,140,255,0.025));
  box-shadow: inset 2px 0 0 rgba(118,200,255,0.52);
}
.calendar-command .cal-time { min-width: 0; color: var(--text-muted); font: 700 10px/1 var(--font-mono); text-align: left; }
.calendar-country {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.calendar-command .cal-iso {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 24px;
  padding: 0 6px;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 7px;
  background: rgba(118,200,255,0.07);
  color: var(--cal-blue);
  font: 700 9px/1 var(--font-mono);
}
.calendar-impact {
  display: flex;
  gap: 2px;
  align-items: center;
}
.calendar-impact i { width: 3px; height: 10px; border-radius: 2px; background: rgba(255,255,255,0.10); }
.calendar-impact i.on { background: var(--cal-warm); box-shadow: 0 0 6px rgba(255,203,107,0.32); }
.calendar-event-cell { min-width: 0; }
.calendar-command .cal-event {
  display: block;
  overflow: hidden;
  color: var(--text-bright);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-event-meta {
  display: flex;
  gap: 6px;
  align-items: center;
  min-width: 0;
  margin-top: 5px;
  color: var(--text-muted);
  font-size: 8px;
}
.calendar-theme-tag {
  overflow: hidden;
  max-width: 140px;
  padding: 2px 6px;
  border: 1px solid rgba(155,140,255,0.16);
  border-radius: 999px;
  color: color-mix(in srgb, var(--cal-violet) 72%, var(--text-muted));
  font: 7px/1 var(--font-mono);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.calendar-command .cal-ref { overflow: hidden; margin: 0; color: var(--text-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.calendar-command .cal-val { min-width: 0; color: var(--text-muted); font: 10px/1 var(--font-mono); text-align: right; }
.calendar-command .cal-val.actual { color: var(--text-bright); font-weight: 700; }
.calendar-command .cal-val.beat { color: var(--up); }
.calendar-command .cal-val.miss { color: var(--danger); }
.calendar-release-state {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--text-muted);
  font: 7px/1 var(--font-mono);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.calendar-release-state::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--text-muted); }
.calendar-release-state.released::before { background: var(--up); box-shadow: 0 0 6px rgba(46,204,113,0.5); }

.calendar-intel { position: sticky; top: 0; display: grid; gap: 10px; }
.calendar-intel-card { padding: 14px; }
.calendar-intel-kicker { color: var(--cal-blue); font: 700 8px/1 var(--font-mono); letter-spacing: 0.13em; text-transform: uppercase; }
.calendar-intel-title { margin-top: 7px; color: var(--text-bright); font-size: 15px; font-weight: 700; letter-spacing: -0.025em; }
.calendar-intel-copy { margin-top: 7px; color: var(--text-muted); font-size: 10px; line-height: 1.55; }
.calendar-signal-score { margin-top: 12px; color: var(--text-bright); font: 700 26px/1 var(--font-mono); letter-spacing: -0.05em; }
.calendar-signal-score span { color: var(--text-muted); font-size: 10px; font-weight: 400; letter-spacing: 0; }
.calendar-signal-track { height: 4px; margin-top: 9px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,0.07); }
.calendar-signal-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cal-blue), var(--cal-violet), var(--cal-warm)); }
.calendar-intel-list { display: grid; gap: 7px; margin-top: 10px; }
.calendar-intel-row { padding: 9px 0 0; border-top: 1px solid rgba(255,255,255,0.06); }
.calendar-intel-row:first-child { padding-top: 0; border-top: 0; }
.calendar-intel-row-head { display: flex; gap: 8px; align-items: flex-start; justify-content: space-between; }
.calendar-intel-row-title { min-width: 0; color: var(--text-bright); font-size: 10px; font-weight: 600; line-height: 1.35; }
.calendar-intel-row-value { flex: 0 0 auto; color: var(--cal-warm); font: 700 9px/1 var(--font-mono); }
.calendar-intel-row-meta { margin-top: 4px; color: var(--text-muted); font: 8px/1.4 var(--font-mono); }
.calendar-empty {
  display: grid;
  place-items: center;
  min-height: 260px;
  padding: 28px;
  color: var(--text-muted);
  text-align: center;
}
.calendar-empty strong { display: block; margin-bottom: 7px; color: var(--text-bright); font-size: 14px; }

body.theme-light .calendar-command {
  background:
    radial-gradient(circle at 8% 0%, rgba(23,109,168,0.12), transparent 28%),
    radial-gradient(circle at 96% 4%, rgba(112,91,184,0.10), transparent 25%),
    linear-gradient(180deg, rgba(244,248,252,0.92), rgba(234,241,248,0.74));
}
body.theme-light .calendar-hero,
body.theme-light .calendar-timeline,
body.theme-light .calendar-intel-card {
  background: linear-gradient(145deg, rgba(255,255,255,0.97), rgba(239,245,251,0.93));
  border-color: rgba(23,109,168,0.17);
  box-shadow: 0 18px 44px rgba(32,52,78,0.12), inset 0 1px 0 rgba(255,255,255,0.9);
}
body.theme-light .calendar-filterbar,
body.theme-light .calendar-command .cal-date-header { background: rgba(255,255,255,0.90); }
body.theme-light .calendar-control { background: rgba(255,255,255,0.82); color: var(--text); }
body.theme-light .calendar-kpi { border-color: rgba(32,52,78,0.10); background: rgba(255,255,255,0.58); }
body.theme-light .calendar-command .cal-row { border-color: rgba(32,52,78,0.09); }
body.theme-light .calendar-command .cal-row:hover { background: linear-gradient(90deg, rgba(23,109,168,0.08), rgba(112,91,184,0.025)); }

@media (max-width: 1050px) {
  .calendar-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calendar-filterbar { grid-template-columns: minmax(200px, 1fr) repeat(2, minmax(120px, 0.5fr)); }
  .calendar-range { justify-content: flex-start; }
  .calendar-layout { grid-template-columns: 1fr; }
  .calendar-intel { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-intel-card:first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  .calendar-command { min-height: calc(100vh - 116px); padding: 8px; }
  .calendar-hero { grid-template-columns: 1fr; padding: 17px; border-radius: 16px; }
  .calendar-hero-actions { justify-content: flex-start; }
  .calendar-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calendar-kpi:last-child { grid-column: 1 / -1; }
  .calendar-filterbar { grid-template-columns: 1fr 1fr; }
  .calendar-filterbar .calendar-search { grid-column: 1 / -1; }
  .calendar-range { grid-column: 1 / -1; }
  .calendar-intel { grid-template-columns: 1fr; }
  .calendar-intel-card:first-child { grid-column: auto; }
  .calendar-table-head { display: none; }
  .calendar-command .cal-row {
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
  }
  .calendar-country { justify-content: flex-end; }
  .calendar-event-cell { grid-column: 2 / -1; grid-row: 1; padding-right: 54px; }
  .calendar-command .cal-time { grid-column: 1; grid-row: 1; align-self: start; padding-top: 2px; }
  .calendar-country { grid-column: 3; grid-row: 1; }
  .calendar-command .cal-val { position: relative; padding-top: 12px; text-align: left; }
  .calendar-command .cal-val::before { content: attr(data-label); position: absolute; top: 0; left: 0; color: var(--text-muted); font: 6px/1 var(--font-mono); letter-spacing: 0.08em; }
  .calendar-command .cal-val.actual { grid-column: 1; grid-row: 2; }
  .calendar-command .cal-val.forecast { grid-column: 2; grid-row: 2; }
  .calendar-command .cal-val.previous { grid-column: 3; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .calendar-refresh { transition: none; }
}

/* ── CARD ── */
.card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px 10px;
  margin-bottom: 6px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.16);
  transition: border-color 150ms, transform 150ms ease, box-shadow 150ms ease;
}

.card:hover {
  border-color: var(--border-active);
  box-shadow: 0 10px 18px rgba(0,0,0,0.22);
  transform: translateY(-1px);
}
.card-clickable { cursor: pointer; }

/* ── DATA TABLE ── */
.data-table {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
  font-size: 11px;
}

.data-table th {
  text-align: left;
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  padding: 6px 6px;
  border-bottom: 1px solid var(--border);
  position: sticky;
  top: 0;
  background: var(--bg-panel);
  z-index: 1;
}

.data-table td {
  padding: 5px 6px;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  white-space: nowrap;
  font-family: var(--font-mono);
  font-size: 11px;
  max-width: 420px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.watchtower-summary-card,
.brief-signal-card,
.data-ask-card,
.data-ask-answer,
.crypto-intel-section,
.crypto-data-card {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.watchtower-summary-card svg,
.brief-signal-card svg,
.crypto-intel-section svg {
  max-width: 100%;
  height: auto;
}

.watchtower-summary-grid,
.dataqa-primary-grid,
.crypto-data-grid {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 760px) {
  .data-table td,
  .data-table th {
    max-width: 260px;
  }
  .data-ask-table-wrap {
    max-height: min(68vh, 620px);
  }
}

.data-table tr:hover td { background: rgba(255,255,255,0.02); }
.data-table tr.clickable { cursor: pointer; }

.finance-chart-row {
  cursor: pointer;
}

.finance-chart-row:focus-visible {
  outline: 1px solid rgba(59,139,235,0.72);
  outline-offset: -1px;
}

.finance-chart-link {
  margin-left: 6px;
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--accent);
  text-decoration: none;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.finance-chart-link:hover {
  color: var(--text-bright);
  text-decoration: underline;
}

.mover-chart-link-wrap {
  min-width: 34px;
  text-align: right;
  flex-shrink: 0;
}

.market-flag {
  margin-right: 4px;
  width: 14px;
  height: 10px;
  vertical-align: -1px;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,0.12);
  object-fit: cover;
  background: rgba(255,255,255,0.06);
}

.market-meta-line {
  display: block;
  margin-top: 2px;
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.04em;
}

.market-inline-badges {
  display: inline-flex;
  gap: 4px;
  flex-wrap: wrap;
  margin-left: 6px;
}

.market-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 5px;
  border-radius: 999px;
  border: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.2;
}

.fx-heat-link {
  margin-top: 2px;
}

.fx-heat-link .finance-chart-link {
  margin-left: 0;
  font-size: 8px;
}

.finance-chart-overlay {
  position: fixed;
  inset: 0;
  z-index: 1450;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(6, 10, 16, 0.74);
}

.finance-chart-overlay.visible {
  display: flex;
}

.finance-chart-modal {
  width: min(980px, 100%);
  max-height: calc(100vh - 40px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border-active);
  border-radius: 10px;
  overflow: hidden;
  background: var(--bg-panel);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.55);
}

.finance-chart-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.02);
}

.finance-chart-title {
  color: var(--text-bright);
  font-size: 12px;
  font-weight: 600;
}

.finance-chart-meta {
  margin-top: 2px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.04em;
}

.finance-chart-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 6px;
}

.finance-chart-action-btn {
  border: 1px solid var(--border);
  background: var(--bg-card);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  border-radius: 5px;
  padding: 4px 8px;
  cursor: pointer;
}

.finance-chart-action-btn:hover {
  border-color: var(--border-active);
  color: var(--text-bright);
}

.finance-chart-body {
  flex: 1;
  min-height: 350px;
  background: #0f151f;
}

.finance-chart-tabs {
  display: flex;
  gap: 6px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.015);
}

.finance-chart-tab {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  cursor: pointer;
}

.finance-chart-tab[aria-selected="true"] {
  border-color: var(--border-active);
  background: rgba(59,139,235,0.12);
  color: var(--text-bright);
}

.finance-chart-panel[hidden] { display: none; }
.finance-history-shell { display: grid; gap: 12px; min-height: 350px; padding: 14px; }
.finance-history-ranges { display: flex; gap: 5px; flex-wrap: wrap; }
.finance-history-range {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  cursor: pointer;
}
.finance-history-range[aria-pressed="true"] { border-color: var(--border-active); background: rgba(59,139,235,0.12); color: var(--text-bright); }
.finance-history-state { min-height: 280px; display: grid; place-items: center; padding: 18px; color: var(--text-muted); font-size: 11px; text-align: center; }
.finance-history-state[role="alert"] { color: var(--danger); }
.finance-history-chart { display: grid; gap: 10px; min-width: 0; }
.finance-history-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; }
.finance-history-metric { min-width: 0; padding: 9px 10px; border: 1px solid var(--border); border-radius: 7px; background: rgba(255,255,255,0.018); }
.finance-history-metric span { display: block; color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.06em; text-transform: uppercase; }
.finance-history-metric strong { display: block; margin-top: 4px; color: var(--text-bright); font-family: var(--font-mono); font-size: 13px; overflow-wrap: anywhere; }
.finance-history-svg-wrap { min-width: 0; overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: linear-gradient(180deg, rgba(59,139,235,0.055), rgba(255,255,255,0.008)); }
.finance-history-svg { display: block; width: 100%; height: auto; min-height: 250px; }
.finance-history-axis { fill: var(--text-muted); font: 9px var(--font-mono); }
.finance-history-caveat { color: var(--text-muted); font-size: 8px; line-height: 1.5; }
.finance-history-stale { margin-bottom: 10px; padding: 9px 11px; border: 1px solid rgba(240,201,106,0.3); border-radius: 8px; background: rgba(240,201,106,0.08); color: var(--warning); font-size: 9px; line-height: 1.45; }
.finance-trading-shell { min-height: 350px; }

.api-connections-shell {
  padding: 14px;
  overflow: auto;
  min-height: 0;
  display: grid;
  gap: 12px;
}

.api-connections-notice {
  padding: 10px 12px;
  border: 1px solid rgba(118, 200, 255, 0.24);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(118, 200, 255, 0.1), rgba(255, 255, 255, 0.015));
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.55;
}

.api-connections-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
  align-items: start;
}

.api-connection-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg-card);
}

.api-connection-card[hidden] {
  display: none;
}

.api-connection-category {
  margin-bottom: 3px;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.api-connection-card-head,
.api-connection-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.api-connection-card-title {
  color: var(--text-bright);
  font-size: 12px;
  font-weight: 650;
}

.api-connection-status {
  margin-left: auto;
  padding: 3px 7px;
  border: 1px solid rgba(255, 179, 71, 0.3);
  border-radius: 999px;
  color: var(--warn);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.api-connection-status.connected {
  border-color: rgba(46, 204, 113, 0.35);
  color: var(--up);
}

.api-connection-fields {
  display: grid;
  gap: 8px;
}

.api-connection-field {
  display: grid;
  gap: 5px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
}

.api-connection-field[hidden] {
  display: none;
}

.api-connection-message {
  min-height: 15px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.45;
}

.api-connection-message.error {
  color: var(--down);
}

.api-connection-message.success {
  color: var(--up);
}

.api-connection-actions .finance-chart-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.api-connection-actions .finance-chart-action-btn.primary {
  border-color: var(--accent);
  color: var(--text-bright);
  background: rgba(118, 200, 255, 0.12);
}

.api-connection-actions .finance-chart-action-btn.danger {
  border-color: rgba(255, 95, 109, 0.35);
  color: var(--down);
}

.connected-provider-mount {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 8px;
  overflow: hidden;
}

.connected-provider-mount[hidden] {
  display: none;
}

.connected-provider-panel {
  min-width: 0;
  max-width: 100%;
  padding: 10px;
  border: 1px solid rgba(168, 85, 247, 0.3);
  border-left: 3px solid #a855f7;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.1), rgba(118, 200, 255, 0.035));
  overflow: hidden;
}

.connected-provider-head,
.connected-provider-actions,
.connected-provider-card-head,
.connected-provider-links {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 0;
}

.connected-provider-head {
  align-items: flex-start;
  margin-bottom: 8px;
}

.connected-provider-actions {
  margin-left: auto;
  justify-content: flex-end;
}

.connected-provider-private-label {
  color: #c9a7ff;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.connected-provider-title {
  margin-top: 2px;
  color: var(--text-bright);
  font-size: 12px;
  font-weight: 650;
}

.connected-provider-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 8px;
  min-width: 0;
}

.connected-provider-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  max-width: 100%;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg-card);
  overflow: hidden;
}

.connected-provider-card-title {
  color: var(--text-bright);
  font-size: 11px;
  font-weight: 650;
}

.connected-provider-status {
  margin-left: auto;
  padding: 2px 6px;
  border: 1px solid rgba(118, 200, 255, 0.3);
  border-radius: 999px;
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.connected-provider-status.loading {
  border-color: rgba(255, 179, 71, 0.35);
  color: var(--warn);
}

.connected-provider-status.error {
  border-color: rgba(255, 95, 109, 0.4);
  color: var(--danger);
}

.connected-provider-items {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.connected-provider-item {
  display: grid;
  grid-template-columns: minmax(82px, 0.42fr) minmax(0, 1fr);
  gap: 4px 8px;
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 5px;
  background: rgba(255,255,255,0.025);
}

.connected-provider-item-label,
.connected-provider-item-value,
.connected-provider-meta,
.connected-provider-license,
.connected-provider-message {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.connected-provider-item-label {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.connected-provider-item-value {
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 10px;
}

.connected-provider-item-detail {
  grid-column: 1 / -1;
  color: var(--text-muted);
  font-size: 9px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.connected-provider-meta,
.connected-provider-license,
.connected-provider-message {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.45;
}

.connected-provider-license {
  padding-top: 6px;
  border-top: 1px solid var(--border);
}

.connected-provider-message {
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: rgba(255,255,255,0.025);
}

.connected-provider-message.error {
  border-color: rgba(255, 95, 109, 0.3);
  color: var(--danger);
}

.connected-provider-links a {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 8px;
}

@media (max-width: 480px) {
  .connected-provider-mount {
    padding: 6px 4px;
  }
  .connected-provider-panel,
  .connected-provider-card {
    padding: 8px;
  }
  .connected-provider-actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }
  .connected-provider-actions .layout-mini-btn {
    flex: 1 1 130px;
  }
  .connected-provider-grid,
  .connected-provider-item {
    grid-template-columns: minmax(0, 1fr);
  }
  .connected-provider-item-detail {
    grid-column: auto;
  }
}

.finance-chart-frame {
  width: 100%;
  height: 100%;
  min-height: 350px;
  border: 0;
  display: block;
}

.finance-chart-fallback {
  height: 100%;
  min-height: 300px;
  display: grid;
  place-items: center;
  padding: 16px;
  text-align: center;
  color: var(--text-muted);
  font-size: 11px;
}

.watchtower-proof-overlay {
  position: fixed;
  inset: 0;
  z-index: 1750;
  display: none;
  justify-content: flex-end;
  background: rgba(5, 9, 15, 0.76);
  backdrop-filter: blur(3px);
}

.watchtower-proof-overlay.visible {
  display: flex;
}

.watchtower-proof-drawer {
  width: min(560px, 100%);
  height: 100%;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--border-active);
  background: var(--bg-panel);
  box-shadow: -24px 0 60px rgba(0, 0, 0, 0.55);
}

.watchtower-proof-head {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.02);
}

.watchtower-proof-body {
  flex: 1;
  overflow: auto;
  padding: 14px;
}

.watchtower-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.watchtower-proof-field {
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 7px;
  background: var(--bg-card);
}

.watchtower-proof-label {
  margin-bottom: 3px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.watchtower-proof-value {
  overflow-wrap: anywhere;
  color: var(--text-bright);
  font-size: 10px;
}

.watchtower-proof-section {
  margin-top: 12px;
}

.watchtower-proof-section-title {
  margin-bottom: 6px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.watchtower-proof-open {
  margin-top: 7px;
}

@media (max-width: 600px) {
  .watchtower-proof-drawer { width: 100%; }
  .watchtower-proof-grid { grid-template-columns: 1fr; }
}

.val-up { color: var(--up); }
.val-down { color: var(--down); }
.val-warn { color: var(--warn); }
.val-muted { color: var(--text-muted); }

/* ── SEARCH INPUT ── */
.search-input {
  width: 100%;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 6px 10px;
  color: var(--text);
  font-family: var(--font-ui);
  font-size: 12px;
  outline: none;
  transition: border-color 150ms;
}

.search-input:focus { border-color: var(--accent); }
.search-input::placeholder { color: var(--text-muted); }

/* ── SELECT ── */
.select-input {
  width: 100%;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 5px;
  padding: 6px 10px;
  color: var(--text);
  font-family: var(--font-ui);
  font-size: 12px;
  outline: none;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='%236b7a8d'%3E%3Cpath d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

.select-input:focus { border-color: var(--accent); }

/* ── BUTTON ── */
.btn {
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 5px;
  padding: 6px 14px;
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 150ms;
}

.btn:hover { opacity: 0.85; }
.btn-sm { padding: 4px 10px; font-size: 10px; }
.btn-ghost {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
}
.btn-ghost:hover { border-color: var(--accent); color: var(--text); }

/* ── LAYOUT MANAGER ── */
.layout-manager {
  position: absolute;
  top: 46px;
  right: 12px;
  width: 430px;
  max-height: 78vh;
  overflow: auto;
  background: var(--bg-panel);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 10px;
  z-index: 1200;
  box-shadow: 0 16px 40px rgba(0,0,0,0.45);
  display: none;
}

.layout-manager.visible { display: block; }
.layout-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.layout-title { font-family:var(--font-mono); font-size:10px; color:var(--text-muted); letter-spacing:0.08em; }
.layout-section { border-top:1px solid var(--border); padding-top:8px; margin-top:8px; }
.layout-section-title { font-family:var(--font-mono); font-size:9px; color:var(--text-muted); letter-spacing:0.08em; margin-bottom:6px; }
.layout-row { display:flex; align-items:center; gap:6px; margin-bottom:5px; }
.layout-row label { min-width:120px; font-size:11px; color:var(--text); }
.layout-select {
  flex: 1;
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  font-size: 11px;
  padding: 4px 24px 4px 8px;
}
.layout-tab-table { width:100%; border-collapse: collapse; }
.layout-tab-table th, .layout-tab-table td { font-size:10px; padding:4px; border-bottom:1px solid rgba(255,255,255,0.06); }
.layout-tab-table th { color: var(--text-muted); font-family: var(--font-mono); letter-spacing:0.05em; text-align:left; }
.layout-mini-btn {
  background: var(--bg-input);
  border: 1px solid var(--border);
  color: var(--text);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 10px;
  cursor: pointer;
}
.layout-mini-btn:hover { border-color: var(--accent); color: var(--accent); }
.layout-mini-btn.active { border-color: var(--accent); color: var(--accent); background: rgba(59,139,235,0.12); }
.tab-btn.tab-hidden, .tab-content.tab-hidden { display: none !important; }
.tab-btn.tab-move-source {
  border-bottom-color: var(--warn) !important;
  color: var(--warn) !important;
  background: rgba(243, 156, 18, 0.12);
}

.layout-tab-picker {
  border: 1px solid var(--border);
  border-radius: 6px;
  padding: 8px;
  background: rgba(0, 0, 0, 0.16);
}

.layout-tab-picker-group + .layout-tab-picker-group {
  margin-top: 8px;
}

.layout-tab-picker-head {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.layout-tab-picker-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.layout-tab-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 10px;
  color: var(--text);
  background: rgba(255,255,255,0.03);
}

.layout-tab-chip-muted {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
}

/* ── GLOBE PANEL ── */
/* ── CENTER FULL-HEIGHT PANEL ── */
.center-full {
  grid-column: 2;
  grid-row: 1 / 3;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.center-globe-area {
  position: relative;
  flex: 0 0 42%;
  min-height: 200px;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 50% 45%, rgba(34,95,150,0.13), transparent 32%),
    radial-gradient(circle at 15% 16%, rgba(255,255,255,0.045), transparent 18%),
    radial-gradient(circle at 86% 72%, rgba(0,92,160,0.08), transparent 25%),
    linear-gradient(180deg, #01040b 0%, #03101c 48%, #00030a 100%);
  box-shadow: inset 0 0 0 1px rgba(118,200,255,0.16), inset 0 -54px 110px rgba(0,0,0,0.66), 0 20px 44px rgba(0,0,0,0.24);
}

.watchtower-globe-closed-bar { display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex:0 0 auto;padding:8px 12px;background:var(--bg-card);border-bottom:1px solid var(--border);color:var(--text-muted);font:11px/1.5 var(--font-mono); }
.watchtower-globe-closed-bar button,#watchtowerGlobeCloseBtn { min-height:40px; }
@media(min-width:961px) { .watchtower-globe-closed-bar { padding-right:48px; } }
#watchtowerGlobeClosedBar[hidden],body.brief-mode #watchtowerGlobeClosedBar { display:none!important; }
body.watchtower-globe-closed #panel-briefing-center > #watchtowerGlobeArea { display:none!important; }
body.wt-command-ready.simple-mode.watchtower-globe-closed #panel-briefing-center { grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr); }

.center-globe-area::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 54%, rgba(74,162,255,0.05) 60%, rgba(0,0,0,0.28) 82%, rgba(0,0,0,0.58) 100%),
    radial-gradient(circle at 18% 16%, rgba(255,255,255,0.10), transparent 18%),
    radial-gradient(circle at 70% 30%, rgba(92,185,255,0.05), transparent 26%);
  background-size: auto;
  mix-blend-mode: normal;
}

.center-globe-area::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  border: 1px solid rgba(118,200,255,0.12);
  box-shadow: inset 0 0 56px rgba(118,200,255,0.10), inset 0 -32px 90px rgba(0,0,0,0.34);
}

body.globe-mode-2d .center-globe-area::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 36%, rgba(118,200,255,0.045) 36.3% 36.7%, transparent 37%, transparent 55%, rgba(118,200,255,0.032) 55.3% 55.7%, transparent 56%),
    linear-gradient(90deg, rgba(118,200,255,0.045) 1px, transparent 1px),
    linear-gradient(0deg, rgba(118,200,255,0.032) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,0,0,0.02), rgba(0,0,0,0.16));
  background-size: auto, 88px 88px, 88px 88px, auto;
}

body.globe-mode-2d .center-globe-area::after {
  box-shadow: inset 0 0 28px rgba(118,200,255,0.06), inset 0 -18px 48px rgba(0,0,0,0.16);
}

body.theme-light .center-globe-area {
  background:
    radial-gradient(circle at 50% 44%, rgba(31,137,220,0.26), transparent 31%),
    radial-gradient(circle at 14% 18%, rgba(255,255,255,0.13), transparent 20%),
    linear-gradient(180deg, #071d31 0%, #09223a 48%, #041321 100%);
  box-shadow: inset 0 0 0 1px rgba(23,109,168,0.22), inset 0 -36px 82px rgba(0,24,46,0.32);
}

body.theme-light .center-globe-area::before {
  background:
    radial-gradient(circle at 50% 50%, transparent 0 55%, rgba(118,200,255,0.06) 63%, rgba(0,19,38,0.24) 84%, rgba(0,16,32,0.42) 100%),
    radial-gradient(circle at 18% 16%, rgba(255,255,255,0.10), transparent 18%);
  background-size: auto;
  mix-blend-mode: normal;
}

.center-tabs-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--border);
  overflow: hidden;
}

.center-tabs-area .panel-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  min-height: 0;
  min-width: 0;
}

.panel-body,
.center-tabs-area .panel-body,
.tab-content.active,
.data-ask-results,
.data-ask-inventory-results,
.data-ask-table-wrap,
.dataqa-primary-grid,
.watchtower-summary-card.dataqa-search-card,
#cryptoIntelPanel,
#globalBondIntelPanel,
#mkt-commodity-stock-analysis-body,
.commodity-atlas-panel,
.crypto-intel-scroll,
.crypto-data-card-body,
#insuranceStressPanel,
#geoRiskPanel,
#countryRiskPanel,
#watchtowerDataAskPanel,
#watchtowerAiAnalysisPanel {
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.tab-content.active > * {
  max-width: 100%;
}

/* Make iframe tab contents fill entire panel body */
.center-tabs-area .tab-content.active { height: 100%; }
.center-tabs-area .tab-content iframe { display: block; }

#globeContainer {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  background: #020713;
  opacity: 1;
}

#globeContainer::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 58%, rgba(98,188,255,0.055) 64%, transparent 70%),
    linear-gradient(118deg, transparent 0 47%, rgba(255,255,255,0.055) 48%, transparent 49%);
  mix-blend-mode: screen;
  opacity: 0.42;
}

body.globe-mode-3d .center-globe-area::before,
body.globe-mode-3d #globeContainer::after {
  display: none !important;
  opacity: 0 !important;
  background: none !important;
}

body.globe-mode-2d #globeContainer::after {
  opacity: 0.38;
  background:
    linear-gradient(90deg, rgba(118,200,255,0.032) 1px, transparent 1px),
    linear-gradient(0deg, rgba(118,200,255,0.024) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, transparent 0 48%, rgba(118,200,255,0.038) 48.4%, transparent 49.2%);
  background-size: 72px 72px, 72px 72px, auto;
}

#globeContainer .cesium-viewer,
#globeContainer .cesium-viewer-cesiumWidgetContainer,
#globeContainer .cesium-widget,
#globeContainer .cesium-widget-contents,
#globeContainer .cesium-widget canvas {
  width: 100% !important;
  height: 100% !important;
  background: #020713 !important;
  opacity: 1 !important;
}

#globeContainer canvas {
  display: block;
  background: #020713 !important;
  outline: none;
  opacity: 1 !important;
}

body.theme-light #globeContainer,
body.theme-light #globeContainer canvas {
  background: #071d31 !important;
}

body.theme-light #globeContainer .cesium-viewer,
body.theme-light #globeContainer .cesium-viewer-cesiumWidgetContainer,
body.theme-light #globeContainer .cesium-widget,
body.theme-light #globeContainer .cesium-widget-contents,
body.theme-light #globeContainer .cesium-widget canvas {
  background: #071d31 !important;
}

/* Hide Cesium branding clutter */
.cesium-viewer-toolbar,
.cesium-viewer-animationContainer,
.cesium-viewer-timelineContainer,
.cesium-viewer-fullscreenContainer,
.cesium-viewer-vrContainer,
.cesium-viewer-bottom,
.cesium-credit-logoContainer,
.cesium-credit-expand-link { display: none !important; }

.cesium-viewer-infoBoxContainer { display: none !important; }

.globe-layers {
  position: absolute;
  top: 8px;
  left: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  z-index: 10;
  max-width: calc(100% - 16px);
  padding: 6px;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(5,10,17,0.92), rgba(11,18,30,0.78));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 14px 34px rgba(0,0,0,0.28);
  backdrop-filter: blur(12px);
}

.globe-hud {
  position: absolute;
  right: 8px;
  bottom: 8px;
  z-index: 11;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: center;
  justify-content: flex-end;
  max-width: calc(100% - 16px);
  padding: 5px;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(5,10,17,0.94), rgba(11,18,30,0.82));
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 30px rgba(0,0,0,0.28);
}

body.theme-light .globe-layers,
body.theme-light .globe-hud,
body.theme-light .layer-toggle,
body.theme-light .globe-legend,
body.theme-light .globe-info {
  background: rgba(255,255,255,0.94);
}

.globe-mode-btn {
  min-width: 76px;
  justify-content: center;
}

.globe-basemap-toggle {
  min-width: 0;
  padding: 3px 7px;
  font-size: 8px;
}

.globe-basemap-pill {
  align-self: center;
  white-space: nowrap;
}

.globe-mode-btn.active {
  border-color: var(--accent);
  color: var(--accent);
  background: rgba(59,139,235,0.12);
}

.layer-toggle {
  background: rgba(12,18,28,0.94);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  cursor: pointer;
  transition: all 150ms;
  user-select: none;
  backdrop-filter: blur(8px);
}

.layer-toggle:hover { border-color: var(--border-active); color: var(--text); }
.layer-toggle.active { border-color: var(--accent); color: var(--accent); background: rgba(59,139,235,0.1); }

.globe-legend {
  position: absolute;
  top: 8px;
  right: 8px;
  min-width: 210px;
  background: linear-gradient(135deg, rgba(5,10,17,0.92), rgba(11,18,30,0.78));
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 14px;
  padding: 7px 9px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  z-index: 10;
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 28px rgba(0,0,0,0.24);
}

.globe-legend-title {
  color: var(--text-bright);
  letter-spacing: 0.06em;
  margin-bottom: 5px;
}

.globe-legend-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 3px 0;
}

.globe-legend-row.legend-toggle {
  cursor: pointer;
  border-radius: 4px;
  padding: 2px 4px;
  transition: background 120ms, opacity 120ms;
}

.globe-legend-row.legend-toggle:hover {
  background: rgba(255,255,255,0.06);
}

.globe-legend-row.legend-toggle.inactive {
  opacity: 0.45;
}

.globe-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.12), 0 0 14px currentColor;
}

.globe-legend-meta {
  margin-top: 5px;
  padding-top: 4px;
  border-top: 1px solid rgba(255,255,255,0.08);
}

.globe-info {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 96px;
  background: linear-gradient(135deg, rgba(5,10,17,0.94), rgba(11,18,30,0.82));
  border: 1px solid rgba(118,200,255,0.24);
  border-radius: 14px;
  padding: 8px 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-muted);
  z-index: 10;
  backdrop-filter: blur(8px);
  display: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05), 0 12px 28px rgba(0,0,0,0.24);
  overflow-wrap: anywhere;
}

.globe-info.visible { display: block; }

.infra-wrap {
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  min-height: 0;
}

.infra-topbar {
  padding: 6px 8px;
  border-bottom: 1px solid var(--border);
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.05em;
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.infra-map {
  width: 100%;
  height: 100%;
  min-height: 320px;
}

#infraMap .maplibregl-popup-content,
#commodityAtlasMap .maplibregl-popup-content,
#insuranceStressMap .maplibregl-popup-content,
#liveuamapMap .maplibregl-popup-content,
#outageMap .maplibregl-popup-content,
#weatherMap .maplibregl-popup-content {
  color: #1d2d3a;
  background: #fffdf9;
  line-height: 1.45;
}

#infraMap .maplibregl-popup-content *,
#commodityAtlasMap .maplibregl-popup-content *,
#insuranceStressMap .maplibregl-popup-content *,
#liveuamapMap .maplibregl-popup-content *,
#outageMap .maplibregl-popup-content *,
#weatherMap .maplibregl-popup-content * {
  color: #1d2d3a !important;
}

#infraMap .maplibregl-popup-content strong,
#commodityAtlasMap .maplibregl-popup-content strong,
#insuranceStressMap .maplibregl-popup-content strong,
#liveuamapMap .maplibregl-popup-content strong,
#outageMap .maplibregl-popup-content strong,
#weatherMap .maplibregl-popup-content strong {
  color: #0b1524 !important;
}

.outage-command-topbar {
  min-height: 42px;
  padding: 7px 9px;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  background: linear-gradient(90deg, rgba(9,20,31,0.98), rgba(19,28,44,0.96));
}

.outage-command-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--text-bright);
}

.outage-command-title::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #ff5d73;
  box-shadow: 0 0 16px rgba(255,93,115,0.72);
}

.outage-command-status {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.outage-command-scroll {
  height: calc(100% - 42px);
  overflow: auto;
  padding: 9px;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,93,115,0.07), transparent 28%),
    radial-gradient(circle at 96% 4%, rgba(98,217,255,0.07), transparent 24%),
    #050a12;
}

.outage-map-stage {
  display: grid;
  grid-template-rows: auto auto auto minmax(330px, 1fr) auto;
  width: 100%;
  height: 560px;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(98,217,255,0.26);
  border-radius: 12px;
  background: #020711;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04), 0 18px 44px rgba(0,0,0,0.22);
}

.outage-map-toolbar {
  min-height: 34px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(90deg, rgba(14,43,60,0.98), rgba(17,25,43,0.98));
  font-family: var(--font-mono);
  font-size: 9px;
}

.outage-map-toolbar strong {
  color: var(--text-bright);
  letter-spacing: 0.07em;
}

.outage-map-new-count {
  color: #ff8aa0;
  font-weight: 800;
}

.outage-map-controls {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(4,10,18,0.96);
}

.outage-basemap-controls {
  display: flex;
  gap: 5px;
  align-items: center;
  flex-wrap: wrap;
  padding: 5px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: rgba(7,15,25,0.98);
}

.outage-basemap-controls .infra-pill { margin-left: auto; }

.outage-layer-toggle {
  --outage-layer-color: #70a1ff;
  border: 1px solid color-mix(in srgb, var(--outage-layer-color) 45%, transparent);
  border-radius: 999px;
  padding: 4px 8px;
  background: color-mix(in srgb, var(--outage-layer-color) 12%, transparent);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
  cursor: pointer;
}

.outage-layer-toggle.inactive { opacity: 0.34; filter: grayscale(0.75); }
.outage-layer-toggle[data-outage-domain="cyber"] { --outage-layer-color: #d76dff; }
.outage-layer-toggle[data-outage-domain="power"] { --outage-layer-color: #facc15; }
.outage-layer-toggle[data-outage-domain="telecom"] { --outage-layer-color: #22d3ee; }
.outage-layer-toggle[data-outage-domain="transport"] { --outage-layer-color: #fb923c; }
.outage-layer-toggle[data-outage-domain="hazard"] { --outage-layer-color: #ef4444; }
.outage-layer-toggle[data-outage-domain="water"] { --outage-layer-color: #38bdf8; }
.outage-layer-toggle[data-outage-domain="gnss"] { --outage-layer-color: #a78bfa; }
.outage-layer-toggle[data-outage-domain="cloud-saas"] { --outage-layer-color: #34d399; }
.outage-layer-toggle[data-outage-domain="payments"] { --outage-layer-color: #f472b6; }
.outage-layer-toggle[data-outage-domain="industrial"] { --outage-layer-color: #c084fc; }
.outage-layer-toggle[data-outage-domain="undersea-cable"] { --outage-layer-color: #60a5fa; }

.outage-map-canvas {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 330px;
  background: #020711;
}

.outage-map-caption {
  min-height: 32px;
  padding: 6px 8px;
  border-top: 1px solid rgba(255,255,255,0.07);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.4;
}

.outage-command-deck {
  display: grid;
  gap: 9px;
  margin-top: 9px;
}

.outage-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.outage-kpi,
.outage-domain-card,
.outage-signal-card,
.outage-source-card,
.outage-gap-card {
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(17,28,42,0.96), rgba(8,14,23,0.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.outage-kpi { padding: 8px; min-width: 0; }
.outage-kpi-label { color: var(--text-muted); font-family: var(--font-mono); font-size: 8px; letter-spacing: 0.06em; }
.outage-kpi-value { margin-top: 3px; color: var(--text-bright); font-family: var(--font-mono); font-size: 19px; font-weight: 900; }
.outage-kpi-meta { margin-top: 2px; color: var(--text-muted); font-size: 8px; overflow-wrap: anywhere; }

.outage-section-head {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.07em;
}

.outage-section-head::after { content: ''; flex: 1; height: 1px; background: rgba(255,255,255,0.07); }

.outage-domain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 7px;
}

.outage-domain-card { padding: 8px; border-left: 3px solid var(--accent); }
.outage-domain-name { color: var(--text-bright); font-family: var(--font-mono); font-size: 10px; font-weight: 800; }
.outage-domain-counts { margin-top: 4px; color: var(--accent); font-family: var(--font-mono); font-size: 11px; }
.outage-domain-meta { margin-top: 4px; color: var(--text-muted); font-size: 8px; line-height: 1.45; }

.outage-evidence-strip { display: flex; flex-wrap: wrap; gap: 5px; }
.outage-evidence-pill { padding: 4px 7px; border: 1px solid rgba(255,255,255,0.09); border-radius: 999px; background: rgba(255,255,255,0.035); color: var(--text-muted); font-family: var(--font-mono); font-size: 8px; }

.outage-signal-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 7px; }
.outage-signal-card { position: relative; padding: 8px 9px; border-left: 3px solid var(--warn); overflow: hidden; }
.outage-signal-card.new { border-color: #ff5d73; box-shadow: 0 0 0 1px rgba(255,93,115,0.16), 0 0 22px rgba(255,93,115,0.08); }
.outage-signal-head { display: flex; gap: 7px; align-items: center; font-family: var(--font-mono); font-size: 8px; color: var(--text-muted); }
.outage-signal-title { margin-top: 4px; color: var(--text-bright); font-size: 11px; line-height: 1.35; }
.outage-signal-detail { margin-top: 3px; color: var(--text-muted); font-size: 9px; line-height: 1.4; }
.outage-new-badge { padding: 2px 5px; border-radius: 999px; background: rgba(255,93,115,0.16); color: #ff8aa0; font-weight: 900; animation: outage-new-blink 900ms steps(2, end) infinite; }

@keyframes outage-new-blink {
  50% { opacity: 0.35; box-shadow: 0 0 18px rgba(255,93,115,0.68); }
}

.outage-source-grid,
.outage-gap-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 7px; }
.outage-source-card,
.outage-gap-card { padding: 8px; }
.outage-source-state { color: var(--up); font-family: var(--font-mono); font-size: 8px; }
.outage-source-state.partial,
.outage-source-state.stale { color: var(--warn); }
.outage-source-state.unavailable { color: var(--danger); }

.watchtower-map-lightbox-stage > #outageMapStage {
  width: 100%;
  height: 100%;
  min-height: 0;
  border-radius: 0;
}

.watchtower-map-lightbox-stage #outageMap { min-height: 0; }

@media (max-width: 900px) {
  .outage-kpi-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .outage-command-topbar { align-items: flex-start; }
  .outage-command-scroll { padding: 6px; }
  .outage-map-stage { height: 500px; min-height: 500px; grid-template-rows: auto auto auto minmax(250px, 1fr) auto; }
  .outage-map-canvas { min-height: 250px; }
  .outage-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .outage-domain-grid,
  .outage-signal-grid,
  .outage-source-grid,
  .outage-gap-grid { grid-template-columns: 1fr; }
  .outage-layer-toggle { padding: 4px 7px; }
}

.weather-command-stage {
  --weather-official: #ff785a;
  --weather-modeled: #67d8ff;
  --weather-observed: #6ee7b7;
  --weather-visual: #b99cff;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: auto auto auto auto minmax(360px, 1fr) auto;
  width: calc(100% - 16px);
  height: 780px;
  min-height: 720px;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(103,216,255,0.32);
  border-radius: 14px;
  background: radial-gradient(circle at 12% -8%, rgba(103,216,255,0.17), transparent 30%), radial-gradient(circle at 92% 4%, rgba(255,120,90,0.12), transparent 25%), #030914;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 20px 52px rgba(0,0,0,0.32);
}

.weather-command-stage::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0.28;
  background-image: linear-gradient(rgba(103,216,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(103,216,255,0.035) 1px, transparent 1px);
  background-size: 26px 26px;
  mask-image: linear-gradient(180deg, #000, transparent 48%);
}

.weather-command-stage > * { position: relative; z-index: 1; }
.weather-command-head { display: flex; align-items: center; gap: 12px; min-width: 0; padding: 10px 12px; border-bottom: 1px solid rgba(103,216,255,0.18); background: linear-gradient(90deg, rgba(9,35,51,0.98), rgba(12,20,38,0.97) 58%, rgba(43,20,28,0.96)); }
.weather-command-identity { min-width: 190px; }
.weather-command-eyebrow { color: #78ddff; font-family: var(--font-mono); font-size: 8px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.weather-command-title { margin-top: 2px; color: var(--text-bright); font-family: var(--font-mono); font-size: 14px; font-weight: 900; letter-spacing: 0.055em; text-transform: uppercase; }
.weather-command-live-status { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 7px; min-width: 0; padding-left: 12px; border-left: 1px solid rgba(255,255,255,0.1); font-family: var(--font-mono); }
.weather-command-state { display: inline-flex; align-items: center; gap: 6px; color: var(--up); font-size: 9px; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.weather-command-state::before { content: ''; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: currentColor; box-shadow: 0 0 14px currentColor; }
.weather-command-time,
.weather-command-notice { grid-column: 2; min-width: 0; color: var(--text-muted); font-size: 8px; line-height: 1.35; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.weather-command-stage[data-weather-state="loading"] .weather-command-state { color: var(--weather-modeled); }
.weather-command-stage[data-weather-state="degraded"] .weather-command-state,
.weather-command-stage[data-weather-state="legacy"] .weather-command-state,
.weather-command-stage[data-weather-state="stale"] .weather-command-state { color: var(--warn); }
.weather-command-stage[data-weather-state="offline"] .weather-command-state { color: var(--danger); }
.weather-command-actions { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.weather-command-actions .layout-mini-btn { min-height: 28px; border-color: rgba(103,216,255,0.34); background: rgba(103,216,255,0.08); color: var(--text-bright); white-space: nowrap; }
.weather-command-actions .layout-mini-btn:disabled { opacity: 0.45; cursor: wait; }

.weather-command-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid rgba(255,255,255,0.07); background: rgba(1,6,13,0.94); }
.weather-command-metric { min-width: 0; padding: 7px 9px; border-right: 1px solid rgba(255,255,255,0.065); background: linear-gradient(180deg, rgba(255,255,255,0.035), transparent); }
.weather-command-metric:last-child { border-right: 0; }
.weather-command-metric-label { color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.09em; text-transform: uppercase; }
.weather-command-metric-value { margin-top: 2px; color: var(--text-bright); font-family: var(--font-mono); font-size: 18px; font-weight: 900; line-height: 1; }
.weather-command-metric-meta { margin-top: 3px; color: var(--text-muted); font-size: 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.weather-command-metric[data-weather-metric="severe"] .weather-command-metric-value { color: #ff8b6b; }
.weather-command-metric[data-weather-metric="forecast"] .weather-command-metric-value { color: var(--weather-modeled); }
.weather-command-metric[data-weather-metric="observations"] .weather-command-metric-value { color: var(--weather-observed); }

.weather-command-source-strip { display: flex; gap: 5px; min-width: 0; min-height: 58px; padding: 6px 8px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid rgba(255,255,255,0.07); background: rgba(5,13,23,0.97); scrollbar-width: thin; }
.weather-command-source-card { flex: 0 0 168px; min-width: 0; padding: 6px 7px; border: 1px solid rgba(255,255,255,0.08); border-left: 3px solid var(--up); border-radius: 7px; background: rgba(255,255,255,0.025); }
.weather-command-source-card.partial,
.weather-command-source-card.stale,
.weather-command-source-card.configured { border-left-color: var(--warn); }
.weather-command-source-card.unavailable { border-left-color: var(--danger); }
.weather-command-source-name { color: var(--text-bright); font-family: var(--font-mono); font-size: 8px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.weather-command-source-meta,
.weather-command-source-detail { margin-top: 2px; color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.weather-command-controls { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.75fr); gap: 8px; min-width: 0; padding: 7px 8px; border-bottom: 1px solid rgba(103,216,255,0.13); background: linear-gradient(90deg, rgba(5,15,25,0.99), rgba(10,15,29,0.99)); }
.weather-command-layer-deck,
.weather-command-timeline-deck { min-width: 0; }
.weather-command-control-label { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; letter-spacing: 0.1em; text-transform: uppercase; }
.weather-command-layer-row,
.weather-command-basemap-row { display: flex; align-items: center; gap: 4px; min-width: 0; flex-wrap: wrap; }
.weather-command-basemap-row { margin-bottom: 6px; }
.weather-layer-toggle { min-height: 23px; padding: 3px 7px; border: 1px solid rgba(255,120,90,0.36); border-radius: 999px; background: rgba(255,120,90,0.11); color: var(--text-bright); font-family: var(--font-mono); font-size: 7px; font-weight: 700; letter-spacing: 0.035em; cursor: pointer; white-space: nowrap; }
.weather-layer-toggle[data-weather-semantics="modeled"] { border-color: rgba(103,216,255,0.38); background: rgba(103,216,255,0.1); }
.weather-layer-toggle[data-weather-semantics="observed"] { border-color: rgba(110,231,183,0.38); background: rgba(110,231,183,0.1); }
.weather-layer-toggle[data-weather-semantics="visual"] { border-color: rgba(185,156,255,0.38); background: rgba(185,156,255,0.1); }
.weather-layer-toggle.inactive { opacity: 0.32; filter: grayscale(0.7); }
.weather-layer-toggle:focus-visible { outline: 2px solid var(--weather-modeled); outline-offset: 1px; }
.weather-command-timeline-row { display: grid; grid-template-columns: auto minmax(100px, 1fr) auto; gap: 7px; align-items: center; min-width: 0; color: var(--text-muted); font-family: var(--font-mono); font-size: 8px; }
.weather-command-timeline-row + .weather-command-timeline-row { margin-top: 5px; }
.weather-command-timeline-row input[type="range"] { width: 100%; min-width: 0; accent-color: var(--weather-modeled); }
.weather-command-timeline-value { min-width: 38px; color: var(--text-bright); text-align: right; white-space: nowrap; }
.weather-command-valid-time { margin-top: 4px; color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.weather-command-map-shell { position: relative; min-width: 0; min-height: 360px; overflow: hidden; background: radial-gradient(circle at 50% 50%, rgba(22,87,117,0.2), transparent 46%), #020711; }
.weather-command-map { width: 100%; height: 100%; min-width: 0; min-height: 360px; background: #020711; }
.weather-command-map .maplibregl-ctrl-attrib { max-width: min(70vw, 520px); font-size: 8px; }
.weather-command-map-stamp { position: absolute; top: 8px; left: 8px; z-index: 3; max-width: min(62%, 520px); padding: 5px 7px; border: 1px solid rgba(103,216,255,0.2); border-radius: 6px; background: rgba(2,9,18,0.84); color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; line-height: 1.35; pointer-events: none; backdrop-filter: blur(5px); }
.weather-command-legend { position: absolute; left: 8px; bottom: 28px; z-index: 3; display: grid; grid-template-columns: repeat(2, auto); gap: 4px 9px; max-width: min(76%, 440px); padding: 7px 8px; border: 1px solid rgba(255,255,255,0.1); border-radius: 7px; background: rgba(2,8,16,0.86); color: var(--text-muted); font-family: var(--font-mono); font-size: 7px; pointer-events: none; backdrop-filter: blur(6px); }
.weather-command-legend-row { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.weather-command-legend-swatch { width: 9px; height: 9px; flex: 0 0 auto; border: 1px solid rgba(255,255,255,0.55); border-radius: 50%; background: var(--weather-observed); }
.weather-command-legend-swatch.official { border-radius: 2px; background: rgba(255,120,90,0.72); }
.weather-command-legend-swatch.modeled { background: var(--weather-modeled); }
.weather-command-legend-swatch.cyclone { background: #ff5d91; box-shadow: 0 0 8px rgba(255,93,145,0.7); }
.weather-command-legend-swatch.marine { background: #45e0ce; }
.weather-command-legend-swatch.visual { border-style: dashed; background: var(--weather-visual); }
.weather-command-caption { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: start; min-width: 0; padding: 7px 9px; border-top: 1px solid rgba(255,255,255,0.07); background: #040b15; color: var(--text-muted); font-size: 8px; line-height: 1.4; }
.weather-command-caveat { overflow-wrap: anywhere; }
.weather-command-attribution { max-width: 38vw; font-family: var(--font-mono); font-size: 7px; text-align: right; overflow-wrap: anywhere; }

.watchtower-map-lightbox-stage > #weatherMapStage { width: 100%; height: 100%; min-height: 0; margin: 0; border-radius: 0; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; }
.watchtower-map-lightbox-stage #weatherMap,
.watchtower-map-lightbox-stage .weather-command-map-shell { min-height: 0; height: 100%; }

@media (max-width: 900px) {
  .weather-command-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .weather-command-controls { grid-template-columns: 1fr; }
  .weather-command-stage { height: auto; min-height: 780px; grid-template-rows: auto auto auto auto minmax(420px, 1fr) auto; }
  .weather-command-map,
  .weather-command-map-shell { min-height: 420px; }
  .watchtower-map-lightbox-stage > #weatherMapStage { min-height: 0; grid-template-rows: auto auto minmax(58px, auto) minmax(88px, auto) minmax(180px, 1fr) auto; }
  .watchtower-map-lightbox-stage .weather-command-map,
  .watchtower-map-lightbox-stage .weather-command-map-shell { min-height: 180px; }
}

@media (max-width: 700px) {
  .weather-command-stage { width: calc(100% - 8px); margin: 4px; border-radius: 10px; }
  .weather-command-head { align-items: flex-start; gap: 8px; padding: 9px; flex-wrap: wrap; }
  .weather-command-identity { min-width: 0; flex: 1 1 190px; }
  .weather-command-title { font-size: 12px; }
  .weather-command-live-status { order: 3; flex: 1 1 100%; padding: 6px 0 0; border-left: 0; border-top: 1px solid rgba(255,255,255,0.08); }
  .weather-command-actions { margin-left: 0; }
  .weather-command-source-card { flex-basis: 148px; }
  .weather-layer-toggle { min-height: 28px; flex: 1 1 auto; }
  .weather-command-timeline-row { grid-template-columns: 58px minmax(0, 1fr) 42px; }
  .weather-command-caption { grid-template-columns: 1fr; }
  .weather-command-attribution { max-width: none; text-align: left; }
  .weather-command-legend { grid-template-columns: 1fr; max-width: 170px; }
  .weather-command-map-stamp { max-width: calc(100% - 86px); }
  .watchtower-map-lightbox-stage .weather-command-head { flex-wrap: nowrap; align-items: center; padding: 6px 8px; }
  .watchtower-map-lightbox-stage .weather-command-eyebrow,
  .watchtower-map-lightbox-stage .weather-command-metric-meta,
  .watchtower-map-lightbox-stage .weather-command-caption { display: none; }
  .watchtower-map-lightbox-stage .weather-command-title { font-size: 10px; }
  .watchtower-map-lightbox-stage .weather-command-live-status { order: 0; flex: 1 1 auto; padding: 0 0 0 6px; border-top: 0; }
  .watchtower-map-lightbox-stage .weather-command-time,
  .watchtower-map-lightbox-stage .weather-command-notice { display: none; }
  .watchtower-map-lightbox-stage .weather-command-actions { display: flex; flex: 0 0 auto; }
  .watchtower-map-lightbox-stage .weather-command-actions .watchtower-map-lightbox-nested-trigger { display: none !important; }
  .watchtower-map-lightbox-stage .weather-command-source-strip { min-height: 44px; padding-block: 4px; }
  .watchtower-map-lightbox-stage .weather-command-source-card { flex-basis: 132px; padding-block: 4px; }
  .watchtower-map-lightbox-stage .weather-command-controls { max-height: 116px; padding: 5px 6px; overflow-y: auto; }
  .watchtower-map-lightbox-stage .weather-layer-toggle { min-height: 24px; }
}

.commodity-atlas-stage {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  min-height: 0;
  height: 100%;
}

.commodity-atlas-panel {
  border-left: 1px solid var(--border);
  background: linear-gradient(180deg, rgba(13,21,31,0.96), rgba(8,13,20,0.98));
  overflow-y: auto;
  padding: 9px;
  display: grid;
  align-content: start;
  gap: 8px;
}

.map-bottom-sheet-controls {
  display: none;
  position: sticky;
  top: 0;
  z-index: 4;
  align-items: center;
  gap: 5px;
  padding: 5px;
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 9px;
  background: rgba(8,13,20,0.96);
}

.map-bottom-sheet-controls-label {
  margin-right: auto;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.map-evidence-panel-content {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.map-evidence-legend-row {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 22px;
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 9px;
}

.map-evidence-swatch {
  width: 26px;
  height: 4px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: var(--map-evidence-color, #76c8ff);
  box-shadow: 0 0 0 1px rgba(4,9,16,0.86);
}

.map-evidence-swatch.unknown-capacity {
  height: 5px;
  background: repeating-linear-gradient(90deg, var(--map-evidence-color, #ff9f43) 0 4px, transparent 4px 8px);
}

.map-evidence-swatch.facility-point {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.map-evidence-swatch.modeled-area {
  height: 10px;
  border: 1px dashed var(--map-evidence-color, #ff6b6b);
  border-radius: 2px;
  background: color-mix(in srgb, var(--map-evidence-color, #ff6b6b) 22%, transparent);
}

.map-evidence-swatch.schematic {
  height: 3px;
  border-radius: 0;
  background: repeating-linear-gradient(90deg, var(--map-evidence-color, #a29bfe) 0 7px, transparent 7px 12px);
}

.map-evidence-actions,
.map-overlap-list {
  display: grid;
  gap: 6px;
}

.map-evidence-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 8px;
}

.map-overlap-result {
  width: 100%;
  min-height: 44px;
  padding: 7px 8px;
  border: 1px solid rgba(118,200,255,0.2);
  border-radius: 8px;
  background: rgba(118,200,255,0.055);
  color: var(--text);
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
  cursor: pointer;
}

.map-overlap-result:hover,
.map-overlap-result:focus-visible {
  border-color: rgba(118,200,255,0.52);
  color: var(--text-bright);
  outline: none;
}

.map-schematic-warning {
  border-style: dashed;
  border-color: rgba(162,155,254,0.58);
  color: #d7c9ff;
  letter-spacing: 0.04em;
}

.map-preset-controls,
.map-network-controls {
  display: contents;
}

.commodity-atlas-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 9px;
  background: rgba(255,255,255,0.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.commodity-atlas-card-title {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
  margin-bottom: 6px;
}

.commodity-atlas-card-value {
  font-size: 18px;
  color: var(--text-bright);
  font-weight: 700;
  letter-spacing: -0.04em;
}

.commodity-atlas-card-meta {
  margin-top: 4px;
  font-size: 10px;
  color: var(--text-muted);
  line-height: 1.45;
}

.commodity-atlas-chip-row {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.commodity-atlas-row {
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.commodity-atlas-row:last-child { border-bottom: 0; }

.commodity-atlas-row-title {
  font-size: 10px;
  color: var(--text-bright);
  line-height: 1.25;
}

.commodity-atlas-row-meta {
  margin-top: 3px;
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  line-height: 1.35;
}

@media (max-width: 900px) {
  .commodity-atlas-stage {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(360px, 1fr) auto;
  }
  .commodity-atlas-panel {
    border-left: 0;
    border-top: 1px solid var(--border);
    max-height: 310px;
  }
}

@media (max-width: 700px) {
  .map-bottom-sheet-controls { display: flex; }
  .map-bottom-sheet-controls .layout-mini-btn,
  .map-evidence-actions .layout-mini-btn { min-height: 44px; }
  .commodity-atlas-panel[data-sheet-state="peek"] { max-height: 190px; }
  .commodity-atlas-panel[data-sheet-state="half"] { max-height: 48vh; }
  .commodity-atlas-panel[data-sheet-state="full"] { max-height: 72vh; }
  .map-evidence-actions { grid-template-columns: 1fr; }
}

.infra-legend {
  display: flex;
  gap: 8px;
  margin-left: auto;
  flex-wrap: wrap;
}

.infra-pill {
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 2px 6px;
  background: var(--bg-card);
  font-size: 8px;
}

.infra-controls {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  width: 100%;
}

.infra-basemap-label {
  align-self: center;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.map-basemap-toggle {
  padding: 3px 8px;
  font-size: 9px;
}

.infra-layer-toggle {
  padding: 3px 8px;
  font-size: 9px;
}

@media (max-width: 700px) {
  #cb-infra .infra-wrap {
    height: auto;
    min-height: 680px;
  }
  #cb-infra .infra-topbar {
    display: grid;
    gap: 6px;
    padding: 7px;
    overflow: hidden;
  }
  #cb-infra .infra-legend,
  #cb-infra .infra-controls {
    width: 100%;
    margin: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    padding-bottom: 4px;
  }
  #cb-infra .infra-pill,
  #cb-infra .infra-controls > * {
    flex: 0 0 auto;
    white-space: nowrap;
  }
  #cb-infra .infra-controls button {
    min-height: 36px;
  }
  #cb-infra #infraAssetSearchInput {
    min-width: 230px !important;
    font-size: 16px !important;
  }
  #cb-infra .commodity-atlas-stage {
    grid-template-rows: minmax(400px, 58vh) auto;
  }
  #cb-infra .infra-map {
    min-height: 400px;
    touch-action: pan-x pan-y;
  }
}

/* ── LEFT PANELS ── */
.left-top { grid-column: 1; grid-row: 1; }
.left-bottom { grid-column: 1; grid-row: 2; }

/* ── RIGHT PANELS ── */
.right-top { grid-column: 3; grid-row: 1; }
.right-bottom { grid-column: 3; grid-row: 2; }



/* ── ECON CALENDAR ── */
.econ-country-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  margin-bottom: 8px;
}

.econ-indicator {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  font-size: 11px;
}

.econ-indicator-name { color: var(--text-muted); }
.econ-indicator-value { font-family: var(--font-mono); color: var(--text-bright); }

/* ── MARKET MOVERS ── */
.mover-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.mover-rank {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  width: 16px;
  text-align: right;
  flex-shrink: 0;
}

.mover-name {
  flex: 1;
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mover-price {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-bright);
  flex-shrink: 0;
}

.mover-change {
  font-family: var(--font-mono);
  font-size: 11px;
  flex-shrink: 0;
  min-width: 56px;
  text-align: right;
}

/* ── NEWS ITEMS ── */
.news-item {
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.04);
}

.news-item:last-child { border-bottom: none; }

.news-source {
  font-family: var(--font-mono);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--news);
  margin-bottom: 3px;
}

.news-title {
  font-size: 12px;
  line-height: 1.4;
  color: var(--text-bright);
  margin-bottom: 3px;
}

.news-title a {
  color: inherit;
  text-decoration: none;
}

.news-title a:hover { color: var(--accent); }

.news-time {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
}

.news-controls {
  display: grid;
  gap: 6px;
  padding: 6px 0 8px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  margin-bottom: 4px;
}

.news-control-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.news-facet-row {
  flex-wrap: wrap;
  align-items: flex-end;
}

.news-facet-control {
  display: grid;
  gap: 3px;
  flex: 1 1 150px;
  min-width: 0;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.news-facet-control .select-input {
  width: 100%;
  min-width: 0;
  font-size: 10px;
  padding: 4px 24px 4px 8px;
  text-transform: none;
}

.news-chip-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-height: 22px;
}

.news-chip {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(59,139,235,0.12);
  border: 1px solid rgba(59,139,235,0.28);
  color: var(--accent);
  cursor: pointer;
}

.news-chip:hover {
  background: rgba(231,76,60,0.12);
  border-color: rgba(231,76,60,0.25);
  color: var(--danger);
}

.news-meta {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  margin-bottom: 6px;
}

.news-type {
  font-family: var(--font-mono);
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}

.news-context-badge {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  border-left: 1px solid rgba(255,255,255,0.14);
  padding-left: 6px;
}

.news-title-unavailable {
  color: var(--text-bright);
  cursor: default;
}

.news-source-toggles {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.news-source-toggle {
  font-family: var(--font-mono);
  font-size: 9px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
  border-radius: 4px;
  padding: 3px 6px;
  cursor: pointer;
}

.news-source-toggle.active {
  color: var(--text-bright);
  border-color: rgba(59,139,235,0.34);
  background: rgba(59,139,235,0.14);
}

.news-outlet-wrap {
  max-height: 96px;
  overflow-y: auto;
  padding-right: 2px;
}

.news-outlet-chip {
  font-size: 9px;
  padding: 2px 5px;
}

.news-outlet-chip.inactive {
  color: var(--text-muted);
  border-color: rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.03);
}

.news-outlet-count {
  opacity: 0.8;
  margin-left: 3px;
}

.news-preset-chip {
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.news-flag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.06em;
  padding: 1px 5px;
  border-radius: 999px;
  margin-right: 6px;
  border: 1px solid transparent;
}

.news-flag-hard {
  color: #ffd4d4;
  background: rgba(231,76,60,0.22);
  border-color: rgba(231,76,60,0.45);
}

.news-flag-break {
  color: #fef0c3;
  background: rgba(241,196,15,0.18);
  border-color: rgba(241,196,15,0.4);
}

.health-bio-news-brief {
  display: grid;
  gap: 7px;
  padding: 9px;
  margin: 2px 0 8px;
  border: 1px solid rgba(46, 204, 113, 0.24);
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(46, 204, 113, 0.1), rgba(0, 212, 255, 0.035));
}

.health-bio-news-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.health-bio-news-heading .btn {
  min-width: 72px;
  min-height: 36px;
}

.health-bio-news-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  color: #72e6a2;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.health-bio-news-title {
  margin-top: 2px;
  color: var(--text-bright);
  font-size: 13px;
  font-weight: 700;
}

.health-bio-news-caveat {
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.45;
}

.health-bio-scope-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.health-bio-scope-chip {
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  padding: 2px 6px;
  background: rgba(0,0,0,0.12);
}

.health-bio-news-sections {
  display: grid;
  gap: 9px;
}

.health-bio-news-section {
  border-left: 2px solid rgba(46, 204, 113, 0.55);
  padding-left: 8px;
}

.health-bio-news-section[data-health-bio-section="synthetic"] { border-left-color: rgba(0, 212, 255, 0.65); }
.health-bio-news-section[data-health-bio-section="traditional"] { border-left-color: rgba(241, 196, 15, 0.65); }

.health-bio-news-section-title {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 3px 0 2px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.health-bio-claim-flag {
  display: inline-block;
  margin-right: 6px;
  padding: 1px 5px;
  border: 1px solid rgba(241, 196, 15, 0.42);
  border-radius: 999px;
  background: rgba(241, 196, 15, 0.13);
  color: #f7dc6f;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.05em;
}

.health-bio-claim-flag.health-bio-source-flag {
  color: #b8d8ff;
  background: rgba(59, 139, 235, 0.13);
  border-color: rgba(59, 139, 235, 0.42);
}

.health-bio-news-empty {
  padding: 9px 0;
  color: var(--text-muted);
  font-size: 10px;
}

body.theme-light .health-bio-news-kicker { color: #176b3a; }
body.theme-light .health-bio-claim-flag {
  color: #654600;
  background: rgba(151, 105, 0, 0.12);
  border-color: rgba(101, 70, 0, 0.42);
}
body.theme-light .health-bio-claim-flag.health-bio-source-flag {
  color: #174f85;
  background: rgba(23, 79, 133, 0.1);
  border-color: rgba(23, 79, 133, 0.38);
}

/* ── QUAKE ITEMS ── */
.quake-item {
  display: grid;
  grid-template-columns: 40px 1fr auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.03);
  cursor: pointer;
  transition: background 150ms;
}

.quake-item:hover { background: rgba(255,255,255,0.02); }

.quake-mag {
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  border-radius: 4px;
  padding: 2px;
}

.quake-mag.severe { color: var(--danger); }
.quake-mag.moderate { color: var(--warn); }
.quake-mag.light { color: var(--up); }

.quake-place { font-size: 11px; color: var(--text); line-height: 1.3; }
.quake-depth { font-size: 10px; color: var(--text-muted); }
.quake-time { font-family: var(--font-mono); font-size: 10px; color: var(--text-muted); white-space: nowrap; }

.geo-hazard-sections {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
}

.geo-hazard-section {
  border: 1px solid var(--border);
  border-radius: 8px;
  background: rgba(255,255,255,0.01);
  min-height: 140px;
  overflow: hidden;
}

.geo-hazard-title {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 6px 8px;
  border-bottom: 1px solid var(--border);
}

.geo-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: flex-end;
}

.geo-pill {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 2px 7px;
  white-space: nowrap;
}

.geo-alert-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 6px;
  border-left: 3px solid var(--warn);
  border-radius: 4px;
  background: rgba(255,255,255,0.03);
  margin-bottom: 4px;
  font-size: 11px;
}

.geo-alert-item.level-high {
  border-left-color: var(--danger);
  background: rgba(231,76,60,0.1);
}

.geo-alert-item.level-medium {
  border-left-color: var(--warn);
  background: rgba(243,156,18,0.1);
}

.geo-alert-item.level-low {
  border-left-color: var(--up);
  background: rgba(46,204,113,0.1);
}

.geo-alert-tag {
  font-family: var(--font-mono);
  font-size: 8px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 1px 5px;
}

.geo-hazard-empty {
  padding: 8px;
  font-size: 11px;
  color: var(--text-muted);
}

.volcano-source-link {
  color: var(--accent);
  text-decoration: none;
}

.volcano-source-link:hover {
  text-decoration: underline;
}

.natural-hazard-lightbox {
  margin: 8px;
  padding: 12px 14px;
  border: 1px solid rgba(255,184,77,0.28);
  border-left: 4px solid var(--warn);
  border-radius: 14px;
  background:
    radial-gradient(circle at 96% 12%, rgba(255,184,77,0.16), transparent 32%),
    radial-gradient(circle at 8% 88%, rgba(118,200,255,0.10), transparent 34%),
    linear-gradient(135deg, rgba(18,24,34,0.96), rgba(9,14,23,0.96));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.055), 0 14px 36px rgba(0,0,0,0.18);
}

.natural-hazard-lightbox-title {
  color: var(--text-bright);
  font-weight: 800;
  font-size: 13px;
  letter-spacing: -0.01em;
}

.natural-hazard-lightbox-text {
  margin-top: 6px;
  color: var(--text-muted);
  font-size: 11px;
  line-height: 1.55;
}

.natural-hazard-lightbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.natural-hazard-lightbox-chip {
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.035);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.35;
}

.natural-hazard-lightbox-chip strong {
  display: block;
  margin-bottom: 3px;
  color: var(--text-bright);
  font-size: 10px;
}

/* Natural Hazards Command Center */
.hazards-command{--hz-red:#ff5263;--hz-amber:#ffb44a;--hz-cyan:#42d9e8;--hz-line:rgba(255,180,74,.2);margin:8px;overflow:hidden;border:1px solid var(--hz-line);border-radius:12px;background:linear-gradient(145deg,#111319 0%,#080d15 55%,#0d1820 100%);box-shadow:0 18px 46px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04)}
.hazards-command-head{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--hz-line);background:radial-gradient(circle at 88% 0,rgba(255,82,99,.18),transparent 35%)}
.hazards-command-identity{min-width:0;flex:1}.hazards-command-kicker,.hazards-command-section-label{color:var(--hz-amber);font:800 8px/1.2 var(--font-mono);letter-spacing:.13em;text-transform:uppercase}.hazards-command-title{margin:4px 0 0;color:#fff8eb;font-size:17px;font-weight:900;letter-spacing:-.025em}
.hazards-command-status{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 9px;border:1px solid currentColor;border-radius:999px;color:#9aabb8;font:800 8px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.hazards-command-status::before{width:7px;height:7px;border-radius:50%;background:currentColor;content:"";box-shadow:0 0 10px currentColor}.hazards-command-status[data-state="live"]{color:#58dda1}.hazards-command-status[data-state="partial"]{color:var(--hz-amber)}.hazards-command-status[data-state="stale"]{color:#ff8b52}.hazards-command-status[data-state="offline"]{color:var(--hz-red)}
.hazards-command-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-bottom:1px solid var(--hz-line)}.hazards-command-metric{min-width:0;padding:9px 11px;border-right:1px solid var(--hz-line)}.hazards-command-metric:last-child{border-right:0}.hazards-command-metric strong{display:block;color:#f9fbfc;font:900 18px/1 var(--font-mono)}.hazards-command-metric span{display:block;margin-top:5px;overflow:hidden;color:#81939f;font:700 8px/1.2 var(--font-mono);letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.hazards-command-controls,.hazards-command-basemaps{position:relative;z-index:5;display:flex;align-items:center;gap:5px;min-width:0;padding:6px 8px;overflow-x:auto;border-bottom:1px solid var(--hz-line);background:#0b1219;scrollbar-width:thin}.hazards-command-controls button,.hazards-command-basemaps button{flex:0 0 auto;min-height:34px}.hazards-command-filter.active{border-color:var(--hz-amber)!important;color:#fff3dc!important;background:rgba(255,180,74,.12)!important}.hazards-command-basemaps .infra-pill{flex:0 0 auto;margin-left:auto}
.hazards-command-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:430px}.hazards-command-map-stage{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:430px;overflow:hidden;background:#071019}.hazards-command-map-wrap{position:relative;min-width:0;min-height:0;background:#071019}.hazards-command-map{position:absolute;inset:0}.hazards-command-map-fallback{position:absolute;inset:0;z-index:3;display:none;place-items:center;padding:20px;color:#9eabb4;background:#071019;text-align:center}.hazards-command-map-fallback.visible{display:grid}.hazards-command-rail{min-width:0;max-height:430px;overflow-y:auto;border-left:1px solid var(--hz-line);background:rgba(5,9,14,.88)}.hazards-command-rail section{padding:9px;border-bottom:1px solid var(--hz-line)}
.hazards-command-event{width:100%;min-height:44px;margin-top:6px;padding:7px 8px;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--hazard-color,var(--hz-amber));border-radius:4px;color:#dce4e8;background:rgba(255,255,255,.025);text-align:left;cursor:pointer}.hazards-command-event:hover,.hazards-command-event:focus-visible{border-color:var(--hazard-color,var(--hz-amber));outline:none;background:rgba(255,255,255,.07)}.hazards-command-event strong{display:block;font-size:10px;line-height:1.3}.hazards-command-event span{display:block;margin-top:3px;color:#82939f;font:8px/1.3 var(--font-mono)}
.hazards-command-source-grid{display:grid;gap:5px;margin-top:7px}.hazards-command-source{padding:6px;border:1px solid rgba(255,255,255,.07);border-radius:4px;color:#8798a3;font:8px/1.35 var(--font-mono)}.hazards-command-source strong{color:#dce4e8}.hazards-command-source a{color:#8de5ed}.hazards-command-caveat{padding:8px 10px;border-top:1px solid var(--hz-line);color:#94a2ab;background:rgba(255,180,74,.045);font:8px/1.45 var(--font-mono)}
.hazards-drought-legend{position:absolute;z-index:4;left:8px;bottom:8px;display:none;align-items:center;gap:8px;max-width:calc(100% - 16px);padding:6px 8px;overflow-x:auto;border:1px solid var(--hz-line);border-radius:4px;color:#aeb8bd;background:rgba(17,19,13,.94);box-shadow:0 8px 24px rgba(0,0,0,.42);font:8px/1.3 var(--font-mono)}.hazards-drought-legend.visible{display:flex}.hazards-drought-legend span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.hazards-drought-legend i{width:12px;height:8px;border:1px solid rgba(255,255,255,.3)}.hazards-drought-legend a{margin-left:auto;color:#8de5ed;white-space:nowrap}
.hazards-command-news{border-top:1px solid var(--hz-line)}.hazards-command-news-head{display:flex;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--hz-line)}.hazards-command-news-head span:last-child{margin-left:auto;color:#7f909b;font:8px/1 var(--font-mono)}.hazards-command-news-list,.natural-disaster-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hazards-news-item{min-width:0;min-height:72px;padding:9px 10px;border:0;border-right:1px solid var(--hz-line);border-bottom:1px solid var(--hz-line);color:#dfe7ea;background:transparent;text-align:left;cursor:pointer}.hazards-news-item:hover,.hazards-news-item:focus-visible{outline:1px solid var(--hz-amber);outline-offset:-2px;background:rgba(255,180,74,.06)}.hazards-news-item strong{display:block;font-size:10px;line-height:1.35}.hazards-news-item span{display:block;margin-top:5px;color:#82939f;font:8px/1.2 var(--font-mono)}
.natural-disaster-news-brief{margin-bottom:8px;padding:11px;border:1px solid rgba(255,180,74,.22);border-radius:9px;background:linear-gradient(120deg,rgba(255,180,74,.09),rgba(66,217,232,.04))}.natural-disaster-news-controls{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.natural-disaster-news-controls button{min-height:34px}.natural-disaster-news-controls button.active{border-color:var(--warn);color:var(--text-bright)}
#hazardsCommandMap .maplibregl-popup-content{max-width:min(390px,88vw);border:1px solid var(--hz-line);border-radius:5px;color:#dce6e9;background:#09121a;font:9px/1.45 var(--font-mono);box-shadow:0 16px 42px rgba(0,0,0,.5)}.hazards-popup-title{margin-bottom:5px;color:#fff4de;font-size:11px;font-weight:900}.hazards-popup-row{margin-top:3px;color:#9babb4}.hazards-popup-row b{color:#dce6e9}.hazards-popup-link{display:inline-block;margin-top:7px;color:#77e5ee}
.watchtower-map-lightbox-stage > #hazardsMapStage{width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.watchtower-map-lightbox-stage #hazardsCommandMapWrap{min-height:0;height:100%}
@media (max-width:700px){.hazards-command{margin:4px;border-radius:7px}.hazards-command-head{align-items:flex-start;flex-wrap:wrap}.hazards-command-status{min-height:32px}.hazards-command-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.hazards-command-metric{border-bottom:1px solid var(--hz-line)}.hazards-command-metric:nth-child(5){grid-column:1/-1}.hazards-command-controls button,.hazards-command-basemaps button,.natural-disaster-news-controls button{min-height:44px;padding:8px 10px}.hazards-command-basemaps .infra-pill{margin-left:0}.hazards-command-grid{grid-template-columns:1fr;min-height:0}.hazards-command-map-stage{min-height:430px}.hazards-command-rail{max-height:300px;border-top:1px solid var(--hz-line);border-left:0}.hazards-command-news-list,.natural-disaster-news-list{grid-template-columns:1fr}.hazards-news-item{min-height:64px;border-right:0}.watchtower-map-lightbox-stage > #hazardsMapStage{min-height:0}}
@media (max-width:420px){.hazards-command-title{font-size:15px}.hazards-command-controls,.hazards-command-basemaps{padding:5px}.hazards-command-map-wrap{min-height:320px}}
@media (prefers-reduced-motion:reduce){.hazards-command,.hazards-command *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.osint-source-health-box {
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 12px;
  background: linear-gradient(180deg, #0b1422 0%, #070d17 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045), 0 12px 28px rgba(0,0,0,0.24);
  overflow: hidden;
}

.osint-source-health-box > summary {
  cursor: pointer;
  list-style: none;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  background: #0d1726;
}

.osint-source-health-box > summary::-webkit-details-marker {
  display: none;
}

.osint-source-health-caret {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: 10px;
  transition: transform 140ms ease;
}

.osint-source-health-box[open] .osint-source-health-caret {
  transform: rotate(90deg);
}

.osint-source-health-body {
  display: grid;
  gap: 4px;
  padding: 8px 10px 10px;
  background: #08101c;
}

.osint-source-health-row {
  display: flex;
  gap: 6px;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: 5px 0;
}

/* ── SPACE WEATHER ── */
.sw-gauge {
  text-align: center;
  padding: 12px;
  margin-bottom: 8px;
}

.sw-gauge-value {
  font-family: var(--font-mono);
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}

.sw-gauge-label {
  font-family: var(--font-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  margin-top: 4px;
}

.sw-alert-item {
  padding: 6px 8px;
  margin-bottom: 4px;
  border-radius: 4px;
  border-left: 3px solid var(--solar);
  background: rgba(255,107,53,0.05);
  font-size: 11px;
}

.sw-scale-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}

.sw-scale-name { font-size: 11px; color: var(--text-muted); }
.sw-scale-value { font-family: var(--font-mono); font-size: 12px; font-weight: 600; }

.sw-command {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.sw-command-status {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid rgba(255, 107, 53, 0.22);
  border-radius: 8px;
  background: linear-gradient(120deg, rgba(255,107,53,0.08), rgba(111,66,193,0.08));
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.sw-live-pulse {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--up);
  box-shadow: 0 0 0 0 rgba(46, 204, 113, 0.55);
  animation: sw-live-pulse 1.8s ease-out infinite;
}

.sw-live-pulse.stale,
.sw-live-pulse.degraded { background: var(--warn); }
.sw-live-pulse.offline { background: var(--danger); animation: none; }

@keyframes sw-live-pulse {
  70% { box-shadow: 0 0 0 6px rgba(46, 204, 113, 0); }
  100% { box-shadow: 0 0 0 0 rgba(46, 204, 113, 0); }
}

.sw-pressure-deck {
  display: grid;
  grid-template-columns: minmax(108px, 0.7fr) minmax(0, 1.3fr);
  gap: 8px;
}

.sw-pressure-orb {
  --sw-pressure: 0deg;
  position: relative;
  display: grid;
  place-items: center;
  min-height: 126px;
  border: 1px solid rgba(255, 107, 53, 0.24);
  border-radius: 12px;
  background:
    radial-gradient(circle at center, #111927 0 36%, transparent 37%),
    conic-gradient(var(--solar) var(--sw-pressure), rgba(255,255,255,0.06) 0);
  box-shadow: inset 0 0 30px rgba(255,107,53,0.06);
}

.sw-pressure-value {
  font-family: var(--font-mono);
  font-size: 27px;
  font-weight: 800;
  color: var(--text-bright);
  line-height: 1;
  text-align: center;
}

.sw-pressure-value span {
  display: block;
  margin-top: 5px;
  color: var(--text-muted);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-metric-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.sw-metric-card,
.sw-threat-card,
.sw-forecast-card {
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(15,25,40,0.96), rgba(8,15,26,0.96));
}

.sw-metric-label,
.sw-section-label {
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sw-metric-value {
  margin-top: 3px;
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.sw-metric-meta {
  margin-top: 3px;
  color: var(--text-muted);
  font-size: 9px;
  line-height: 1.35;
}

.sw-kp-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(4px, 1fr);
  align-items: end;
  gap: 2px;
  height: 58px;
  padding-top: 8px;
}

.sw-kp-bar {
  min-height: 2px;
  border-radius: 2px 2px 0 0;
  background: var(--up);
}

.sw-threat-card {
  position: relative;
  overflow: hidden;
  border-left: 3px solid var(--text-muted);
}

.sw-threat-card[data-level="watch"] { border-left-color: var(--accent); }
.sw-threat-card[data-level="elevated"] { border-left-color: var(--warn); }
.sw-threat-card[data-level="high"],
.sw-threat-card[data-level="severe"] { border-left-color: var(--danger); }

.sw-threat-head,
.sw-map-toolbar,
.sw-source-head {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.sw-threat-title {
  min-width: 0;
  color: var(--text-bright);
  font-size: 11px;
  font-weight: 700;
}

.sw-threat-level,
.sw-semantics-badge {
  flex: 0 0 auto;
  padding: 2px 5px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.sw-threat-detail {
  margin-top: 5px;
  color: var(--text-muted);
  font-size: 10px;
  line-height: 1.45;
}

.sw-impact-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}

.sw-impact-tag {
  padding: 2px 5px;
  border-radius: 4px;
  background: rgba(118,200,255,0.08);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.sw-sun-pipeline {
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 6px;
  padding: 10px;
  border: 1px solid rgba(255, 107, 53, 0.22);
  border-radius: 10px;
  background: radial-gradient(circle at 10% 50%, rgba(255,168,48,0.2), transparent 34%), #09121f;
}

.sw-pipeline-node {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.16);
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 8px;
  text-align: center;
}

.sw-pipeline-node.sun { background: radial-gradient(circle at 35% 35%, #fff5b2, #ff8a2a 45%, #b82500); box-shadow: 0 0 20px rgba(255,123,31,0.45); color: #1b0900; }
.sw-pipeline-node.earth { background: radial-gradient(circle at 35% 35%, #c9f5ff, #287ec4 45%, #082949); }
.sw-pipeline-node.model { border-radius: 9px; background: rgba(135,93,255,0.16); }
.sw-pipeline-line { height: 1px; background: linear-gradient(90deg, var(--solar), rgba(118,200,255,0.55)); position: relative; }
.sw-pipeline-line::after { content: ''; position: absolute; right: -1px; top: -3px; border-left: 5px solid rgba(118,200,255,0.75); border-top: 3px solid transparent; border-bottom: 3px solid transparent; }

.sw-product-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.sw-product-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: #07101c;
}

.sw-product-card img {
  display: block;
  width: 100%;
  height: 94px;
  object-fit: cover;
  background: #02050a;
}

.sw-product-card-body { padding: 7px; }

.sw-map-stage {
  display: grid;
  grid-template-rows: auto minmax(220px, 1fr) auto;
  width: 100%;
  min-width: 0;
  height: 370px;
  min-height: 370px;
  overflow: hidden;
  border: 1px solid rgba(83, 255, 179, 0.2);
  border-radius: 10px;
  background: #030812;
}

#spaceAuroraMapStage {
  width: min(100%, 900px);
  height: 500px;
  min-height: 500px;
  margin-inline: auto;
}

.sw-map-toolbar {
  padding: 7px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(90deg, rgba(19,46,64,0.96), rgba(15,24,42,0.96));
}

.sw-map-title {
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.sw-map-canvas,
.sw-asteroid-radar {
  position: relative;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 220px;
  overflow: hidden;
  background: #030812;
}

.sw-map-caption {
  padding: 6px 8px;
  border-top: 1px solid rgba(255,255,255,0.07);
  color: var(--text-muted);
  font-size: 8px;
  line-height: 1.35;
}

.sw-map-legend {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
}

.sw-map-gradient {
  width: 58px;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #155e75, #2dd4bf, #a3e635, #facc15, #fb7185);
}

.sw-forecast-kp {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 3px;
}

.sw-forecast-kp-cell {
  padding: 5px 2px;
  border-radius: 4px;
  background: rgba(255,255,255,0.05);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 8px;
  text-align: center;
}

.sw-forecast-kp-cell strong { display: block; color: var(--text-bright); font-size: 10px; }

.sw-source-row {
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.sw-source-dot {
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--danger);
}
.sw-source-dot.live { background: var(--up); }
.sw-source-dot.stale { background: var(--warn); }

.watchtower-map-lightbox-stage > .sw-map-stage {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage > #spaceAuroraMapStage {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  margin: 0;
}

.watchtower-map-lightbox-stage .sw-map-canvas,
.watchtower-map-lightbox-stage .sw-asteroid-radar {
  height: 100% !important;
  min-height: 0 !important;
}

@media (max-width: 700px) {
  .sw-pressure-deck { grid-template-columns: 1fr; }
  .sw-pressure-orb { min-height: 112px; }
  .sw-product-grid { grid-template-columns: 1fr; }
  .sw-map-stage { height: 320px; min-height: 320px; }
  #spaceAuroraMapStage { height: 360px; min-height: 360px; }
  .sw-sun-pipeline { grid-template-columns: auto 1fr auto; }
  .sw-sun-pipeline .sw-pipeline-node.model,
  .sw-sun-pipeline .sw-pipeline-line:nth-of-type(2) { display: none; }
}

/* ── LOADING ── */
.loading-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 11px;
  gap: 8px;
}

.loading-spinner::before {
  content: '';
  width: 14px; height: 14px;
  border: 2px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin { to { transform: rotate(360deg); } }

/* ── ALERTS / NOTIFICATIONS ── */
.alert-form {
  display: grid;
  gap: 6px;
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.02);
}

.alert-form-row {
  display: flex;
  gap: 6px;
  align-items: center;
}

.alert-form-row label {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  min-width: 56px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.alert-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 150ms;
}

.alert-item:hover { background: rgba(255,255,255,0.02); }

.alert-item-icon {
  width: 28px; height: 28px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  font-size: 14px;
  flex-shrink: 0;
}

.alert-item-body {
  flex: 1;
  min-width: 0;
}

.alert-item-title {
  font-size: 11px;
  color: var(--text-bright);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alert-item-detail {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  margin-top: 1px;
}

.alert-item-status {
  font-family: var(--font-mono);
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 3px;
  flex-shrink: 0;
}

.alert-item-status.watching {
  background: var(--accent-glow);
  color: var(--accent);
}

.alert-item-status.triggered {
  background: rgba(231,76,60,0.12);
  color: var(--danger);
  animation: pulse-alert 1.5s ease-in-out infinite;
}

.alert-item-status.acked {
  background: rgba(46,204,113,0.14);
  color: var(--up);
}

.alert-item-status.snoozed {
  background: rgba(241,196,15,0.14);
  color: var(--warn);
}

.alert-item-status.escalated {
  background: rgba(231,76,60,0.2);
  color: var(--danger);
}

/* Watchtower loading experience v1 — isolated critical styles. */
#watchtowerPreloader.wt-loader {
  --wtl-ink: #102d43;
  --wtl-muted: #526b7c;
  --wtl-accent: #287c9c;
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  padding: max(26px, env(safe-area-inset-top)) max(38px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(38px, env(safe-area-inset-left));
  overflow: auto;
  overscroll-behavior: contain;
  isolation: isolate;
  color: var(--wtl-ink);
  background: radial-gradient(ellipse at 50% 42%, #fff 0, #f2f6f7 34%, transparent 68%), linear-gradient(130deg, #e8f0f3, #f7f8f6 54%, #e5eef3);
  font-family: "Inter", "Watchtower Website UI", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  transition: opacity 420ms ease, visibility 420ms ease;
}
#watchtowerPreloader.wt-loader, #watchtowerPreloader.wt-loader * { box-sizing: border-box; }
#watchtowerPreloader.wt-loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
#watchtowerPreloader.wt-loader::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(#193c5210 1px, transparent 1px), linear-gradient(90deg, #193c5210 1px, transparent 1px);
  background-size: 76px 76px;
  mask-image: radial-gradient(ellipse at 50% 55%, transparent 12%, #0006 60%, transparent 88%);
}
#watchtowerPreloader .wtl-header, #watchtowerPreloader .wtl-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; position: relative; z-index: 2; }
#watchtowerPreloader .wtl-wordmark { display: inline-flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 750; letter-spacing: .21em; color: var(--wtl-ink); }
#watchtowerPreloader .wtl-brand-glyph { display: inline-block; width: 10px; height: 14px; border: 1px solid #486579; border-radius: 2px 2px 5px 5px; box-shadow: inset 3px 0 #183e53, inset -3px 0 #adc3d0; transform: perspective(80px) rotateY(-15deg); }
#watchtowerPreloader .wtl-motion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #203e5422;
  border-radius: 30px;
  min-height: 36px;
  padding: 8px 13px;
  background: #ffffff70;
  color: var(--wtl-muted);
  font-family: inherit;
  font-weight: 500;
  font-size: 11px;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 2px 4px #132f4104, inset 0 1px #ffffffba;
}
#watchtowerPreloader .wtl-motion-symbol { width: 8px; height: 9px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
#watchtowerPreloader .wtl-motion[aria-pressed="true"] .wtl-motion-symbol { border: 0; border-left: 7px solid currentColor; border-top: 4px solid transparent; border-bottom: 4px solid transparent; width: 7px; }
#watchtowerPreloader .wtl-motion:disabled { cursor: default; opacity: .65; }
#watchtowerPreloader .wtl-motion:focus-visible, #watchtowerPreloader .wtl-recovery button:focus-visible { outline: 2px solid var(--wtl-accent); outline-offset: 4px; }
#watchtowerPreloader .wtl-main { align-self: center; justify-self: center; width: min(720px, 100%); display: grid; justify-items: center; text-align: center; padding: 6px 0 22px; position: relative; }
#watchtowerPreloader .wtl-scene { position: relative; width: min(530px, 78vw, 52vh); aspect-ratio: 1.18; perspective: 900px; margin-top: -12px; }
#watchtowerPreloader .wtl-ground { position: absolute; inset: 0; overflow: hidden; overflow: clip; perspective: 900px; mask-image: linear-gradient(#000 76%, transparent 100%); }
#watchtowerPreloader .wtl-halo { position: absolute; inset: 6% -12% -6%; border-radius: 50%; background: radial-gradient(ellipse, #b9d8e840 0, #d5e6ec20 48%, transparent 70%); filter: blur(12px); }
#watchtowerPreloader .wtl-floor { position: absolute; width: 82%; aspect-ratio: 1; left: 9%; top: 40%; border-radius: 50%; transform: rotateX(76deg); background: radial-gradient(ellipse, #cad9e479 0, #cbdde466 23%, #e8f0f561 44%, #ffffff90 65%, #9cb9c13b 72%, transparent 73%); border: 1px solid #577b8e29; box-shadow: 0 12px 0 -1px #abbfc41a, 0 17px 30px #41627712, inset 0 0 38px #ffffffb0; }
#watchtowerPreloader .wtl-shadow { position: absolute; inset: 81% 27% 3%; border-radius: 50%; background: radial-gradient(ellipse, #143f6145, #254a6320 42%, transparent 73%); filter: blur(10px); transform: translateY(5px); animation: wtl-shadow 4.8s ease-in-out infinite; }
#watchtowerPreloader .wtl-orbit { position: absolute; width: 101%; aspect-ratio: 1; left: -.5%; top: 25%; border: 1px solid #3675952b; border-radius: 50%; transform: rotateX(70deg); transform-style: preserve-3d; }
#watchtowerPreloader .wtl-orbit-inner { position: absolute; inset: 10%; border: 1px dashed #49788831; border-radius: 50%; }
#watchtowerPreloader .wtl-orbit-spin { position: absolute; inset: -1px; border: 1px solid transparent; border-top-color: #34799a82; border-right-color: #34799a30; border-radius: 50%; animation: wtl-orbit-spin 14s linear infinite; }
#watchtowerPreloader .wtl-orbit-spin::after { content: ""; position: absolute; width: 6px; height: 6px; left: 50%; top: -3px; border-radius: 50%; background: #2d819f; box-shadow: 0 0 0 5px #61a5c01a, 0 0 14px #3881a43b; }
#watchtowerPreloader .wtl-orbit-two { width: 86%; left: 7%; top: 31%; transform: rotateX(67deg) rotateZ(-22deg); opacity: .5; }
#watchtowerPreloader .wtl-orbit-two .wtl-orbit-spin { animation-direction: reverse; animation-duration: 19s; }
#watchtowerPreloader .wtl-art { position: absolute; inset: 0; z-index: 2; animation: wtl-levitate 4.8s ease-in-out infinite; }
#watchtowerPreloader .wtl-art img { position: absolute; width: 100%; height: 100%; inset: 0; display: block; object-fit: contain; filter: drop-shadow(0 13px 9px #132d4014); }
#watchtowerPreloader #wtLoaderMotionImage { opacity: 0; visibility: hidden; }
#watchtowerPreloader[data-art="motion"] #wtLoaderMotionImage { opacity: 1; visibility: visible; }
#watchtowerPreloader[data-art="motion"] #wtLoaderStillImage { opacity: 0; }
#watchtowerPreloader .wtl-art-fallback { position: absolute; inset: 0; display: none; align-items: center; justify-content: center; color: #132f48; font-size: clamp(28px, 5vw, 52px); font-weight: 800; letter-spacing: -.04em; }
#watchtowerPreloader[data-art="fallback"] .wtl-art img { display: none; }
#watchtowerPreloader[data-art="fallback"] .wtl-art-fallback { display: flex; }
#watchtowerPreloader .wtl-caption { margin: -7px 0 30px; font-size: 14px; line-height: 1.6; font-weight: 450; letter-spacing: .015em; color: #4b6879; position: relative; z-index: 3; }
#watchtowerPreloader .wtl-console { width: min(410px, 100%); position: relative; z-index: 3; }
#watchtowerPreloader .wtl-loading-label { margin: 0 0 13px; font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .17em; font-weight: 750; color: #244c62; }
#watchtowerPreloader .wtl-rail { position: relative; height: 5px; overflow: hidden; border-radius: 8px; background: #24496811; box-shadow: inset 0 1px 2px #24496820, 0 1px 0 #fff; transform: perspective(400px) rotateX(20deg); }
#watchtowerPreloader .wtl-rail::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 38%; border-radius: inherit; background: linear-gradient(90deg, transparent, #4e9fba, #265b78, transparent); animation: wtl-rail 2.4s cubic-bezier(.4,0,.2,1) infinite; }
#watchtowerPreloader .wtl-status { margin: 14px 0 20px; min-height: 3em; font-size: 12px; line-height: 1.5; color: #516d7e; text-wrap: balance; overflow-wrap: anywhere; }
#watchtowerPreloader .wtl-steps { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; text-align: left; }
#watchtowerPreloader .wtl-step { flex: 1; display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 36px; padding: 8px 10px; border: 1px solid #4a718017; border-radius: 8px; background: #ffffff59; color: #728693; box-shadow: 0 2px 2px #1e4b6110, inset 0 1px #ffffffc2; font-size: 10px; font-weight: 550; }
#watchtowerPreloader .wtl-step i { display: block; width: 5px; height: 5px; border-radius: 50%; background: #a8bac3; }
#watchtowerPreloader .wtl-step[data-step-state="active"] { background: #f7fcff; border-color: #6b9cb23b; color: #164b69; box-shadow: 0 3px 7px #27506810, inset 0 1px #fff; }
#watchtowerPreloader .wtl-step[data-step-state="active"] i { background: #3889a8; box-shadow: 0 0 0 3px #438dad1b; animation: wtl-beacon 1.8s ease-in-out infinite; }
#watchtowerPreloader .wtl-step[data-step-state="complete"] { color: #36566a; }
#watchtowerPreloader .wtl-step[data-step-state="complete"] i { background: #6d9294; }
#watchtowerPreloader .wtl-footer { font-size: 9px; line-height: 1.5; letter-spacing: .1em; text-transform: uppercase; color: #607786; padding-right: 120px; }
#watchtowerPreloader .wtl-footer strong { font-weight: 600; }
#watchtowerPreloader .wtl-footer-line { width: 28px; height: 1px; background: #597d914d; margin-right: 9px; display: inline-block; vertical-align: middle; }
#watchtowerPreloader .wtl-recovery { margin-top: 20px; color: #586e7a; font-size: 11px; line-height: 1.6; }
#watchtowerPreloader .wtl-recovery[hidden] { display: none; }
#watchtowerPreloader .wtl-recovery p { margin: 0 0 8px; }
#watchtowerPreloader .wtl-recovery button { appearance: none; background: #ffffffb8; color: #254e66; border: 1px solid #52768b40; border-radius: 6px; padding: 7px 11px; margin: 0 3px; font: inherit; cursor: pointer; }
#watchtowerPreloader .wtl-recovery button:disabled { opacity: .5; cursor: default; }
#watchtowerPreloader .wtl-noscript { font-size: 12px; margin-top: 18px; color: #334f60; }
#watchtowerPreloader[data-motion="off"] *, #watchtowerPreloader[data-motion="off"] *::before, #watchtowerPreloader[data-motion="off"] *::after { animation-play-state: paused !important; }
@keyframes wtl-levitate { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes wtl-shadow { 0%,100% { opacity: .5; transform: translateY(5px) scaleX(1); } 50% { opacity: .32; transform: translateY(5px) scaleX(.86); } }
@keyframes wtl-orbit-spin { to { transform: rotateZ(360deg); } }
@keyframes wtl-rail { from { transform: translateX(-110%); } to { transform: translateX(370%); } }
@keyframes wtl-beacon { 0%,100% { opacity: .65; } 50% { opacity: 1; } }
@media (max-width:600px) {
  #watchtowerPreloader.wt-loader { padding: max(20px, env(safe-area-inset-top)) 22px max(20px, env(safe-area-inset-bottom)); gap: 8px; }
  #watchtowerPreloader .wtl-header { gap: 10px; }
  #watchtowerPreloader .wtl-wordmark { font-size: 9px; letter-spacing: .17em; gap: 7px; }
  #watchtowerPreloader .wtl-motion { font-size: 10px; padding: 8px 10px; }
  #watchtowerPreloader .wtl-scene { width: min(440px, 98vw); max-width: calc(100vw - 24px); margin: -12px -10px 0; }
  #watchtowerPreloader .wtl-main { padding: 0 0 20px; }
  #watchtowerPreloader .wtl-caption { font-size: 12px; margin: 1px 0 26px; }
  #watchtowerPreloader .wtl-console { width: min(360px,100%); }
  #watchtowerPreloader .wtl-status { font-size: 11px; min-height: 3em; }
  #watchtowerPreloader .wtl-steps { gap: 6px; }
  #watchtowerPreloader .wtl-step { padding: 8px 6px; }
  #watchtowerPreloader .wtl-footer { font-size: 8px; letter-spacing: .06em; flex-wrap: wrap; gap: 6px; padding-right: 68px; }
}
@media (max-height:620px) and (min-width:601px) {
  #watchtowerPreloader.wt-loader { padding: 16px 28px; gap: 0; }
  #watchtowerPreloader .wtl-main { width: min(780px,100%); grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 0 32px; padding: 6px 0; }
  #watchtowerPreloader .wtl-scene { width: min(350px,42vw); grid-column: 1; grid-row: 1/3; margin: -8px 0 0; }
  #watchtowerPreloader .wtl-caption { grid-column: 2; margin: 0 0 18px; align-self: end; font-size: 13px; }
  #watchtowerPreloader .wtl-console { grid-column: 2; align-self: start; }
  #watchtowerPreloader .wtl-status { margin-bottom: 12px; }
  #watchtowerPreloader .wtl-recovery { margin-top: 10px; }
}
@media (max-height:660px) and (max-width:600px) {
  #watchtowerPreloader .wtl-scene { width: min(92vw, 48vh); }
  #watchtowerPreloader .wtl-caption { margin-bottom: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  #watchtowerPreloader.wt-loader { transition-duration: 120ms; }
  #watchtowerPreloader *, #watchtowerPreloader *::before, #watchtowerPreloader *::after { animation: none !important; transition: none !important; }
  #watchtowerPreloader .wtl-rail::after { transform: translateX(80%); }
}


@keyframes pulse-alert {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

.alert-item-delete {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
  border-radius: 3px;
  transition: color 150ms, background 150ms;
  flex-shrink: 0;
}

.alert-item-delete:hover { color: var(--danger); background: rgba(231,76,60,0.1); }

.auto-alert-actions {
  display: flex;
  gap: 4px;
  margin-top: 4px;
}

.auto-alert-btn {
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
  border-radius: 4px;
  padding: 2px 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  cursor: pointer;
}

.auto-alert-btn:hover {
  color: var(--text-bright);
  border-color: rgba(59,139,235,0.32);
  background: rgba(59,139,235,0.12);
}

.alert-log {
  max-height: 120px;
  overflow-y: auto;
  border-top: 1px solid var(--border);
  padding: 4px 8px;
}

.alert-log-entry {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--warn);
  padding: 3px 0;
  border-bottom: 1px solid rgba(255,255,255,0.02);
}

.screen-alert-rail {
  position: absolute;
  bottom: 8px;
  right: 8px;
  top: auto;
  width: min(300px, calc(100% - 16px));
  display: none;
  flex-direction: column-reverse;
  gap: 6px;
  z-index: 14;
  pointer-events: none;
}

.screen-alert-toast {
  pointer-events: auto;
  border: 1px solid rgba(255,255,255,0.12);
  border-left: 3px solid var(--accent);
  background: linear-gradient(160deg, rgba(11,16,24,0.94), rgba(17,24,32,0.9));
  border-radius: 8px;
  box-shadow: 0 14px 24px rgba(0,0,0,0.34);
  padding: 7px 8px;
  animation: screen-alert-slide-in 240ms ease;
}

.screen-alert-toast.level-critical,
.screen-alert-toast.level-high,
.screen-alert-toast.level-severe {
  border-left-color: var(--danger);
}

.screen-alert-toast.level-elevated,
.screen-alert-toast.level-medium {
  border-left-color: var(--warn);
}

.screen-alert-toast-head {
  display: flex;
  align-items: center;
  gap: 6px;
}

.screen-alert-toast-title {
  font-size: 10px;
  color: var(--text-bright);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.screen-alert-toast-meta {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 8px;
  color: var(--text-muted);
  letter-spacing: 0.05em;
}

.screen-alert-toast-detail {
  margin-top: 3px;
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.3;
}

.screen-alert-toast-actions {
  margin-top: 6px;
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.screen-alert-toast-btn {
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.03);
  color: var(--text-muted);
  border-radius: 4px;
  padding: 2px 6px;
  font-family: var(--font-mono);
  font-size: 8px;
  cursor: pointer;
}

.screen-alert-toast-btn:hover {
  color: var(--text-bright);
  border-color: rgba(59,139,235,0.32);
  background: rgba(59,139,235,0.12);
}

.screen-alert-toast-btn.primary {
  color: var(--text-bright);
  border-color: rgba(59,139,235,0.42);
}

@keyframes screen-alert-slide-in {
  from { transform: translateY(-8px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.critical-flash-overlay {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(760px, calc(100% - 32px));
  z-index: 18;
  border: 2px solid rgba(255, 71, 87, 0.82);
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(38, 8, 12, 0.96), rgba(24, 6, 9, 0.94));
  box-shadow: 0 0 0 1px rgba(255, 71, 87, 0.36), 0 20px 48px rgba(0, 0, 0, 0.55);
  padding: 12px 14px;
  pointer-events: auto;
  animation: critical-flash-pulse 1.2s ease-in-out infinite;
}

.critical-flash-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.critical-flash-title {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #ff9aa4;
}

.critical-flash-main {
  font-size: 17px;
  font-weight: 700;
  color: #ffd6da;
  line-height: 1.25;
}

.critical-flash-detail {
  margin-top: 5px;
  font-size: 11px;
  color: #ffc6cd;
  line-height: 1.35;
}

.critical-flash-actions {
  margin-top: 9px;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.critical-flash-btn {
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffe2e6;
  font-family: var(--font-mono);
  font-size: 9px;
  padding: 4px 8px;
  cursor: pointer;
}

.critical-flash-btn.primary {
  border-color: rgba(255, 71, 87, 0.6);
  background: rgba(255, 71, 87, 0.16);
}

@keyframes critical-flash-pulse {
  0% { box-shadow: 0 0 0 1px rgba(255, 71, 87, 0.36), 0 20px 48px rgba(0, 0, 0, 0.55); }
  50% { box-shadow: 0 0 0 2px rgba(255, 71, 87, 0.62), 0 24px 56px rgba(0, 0, 0, 0.64); }
  100% { box-shadow: 0 0 0 1px rgba(255, 71, 87, 0.36), 0 20px 48px rgba(0, 0, 0, 0.55); }
}

/* ── PORTFOLIO ── */
.portfolio-form {
  display: flex;
  gap: 6px;
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,0.02);
  align-items: center;
  flex-wrap: wrap;
}

.portfolio-summary {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 8px;
  border-bottom: 1px solid var(--border);
}

.portfolio-stat {
  text-align: center;
  padding: 6px;
  border-radius: 6px;
  background: var(--bg-card);
}

.portfolio-stat-value {
  font-family: var(--font-mono);
  font-size: 16px;
  font-weight: 700;
  color: var(--text-bright);
}

.portfolio-stat-label {
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-top: 2px;
}

.portfolio-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: background 150ms;
}

.portfolio-row:hover { background: rgba(255,255,255,0.02); }

.portfolio-symbol {
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-bright);
  min-width: 60px;
}

.portfolio-shares {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  min-width: 50px;
}

.portfolio-cost {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text-muted);
  min-width: 60px;
}

.portfolio-current {
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--text-bright);
  min-width: 60px;
  text-align: right;
}

.portfolio-pnl {
  font-family: var(--font-mono);
  font-size: 11px;
  min-width: 70px;
  text-align: right;
  flex-shrink: 0;
}

.portfolio-delete {
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 14px;
  padding: 2px 4px;
  border-radius: 3px;
  flex-shrink: 0;
}

.portfolio-delete:hover { color: var(--danger); background: rgba(231,76,60,0.1); }

.portfolio-edit {
  background: none; border: none; color: var(--text-muted); cursor: pointer;
  font-size: 11px; padding: 2px 4px; border-radius: 3px; flex-shrink: 0;
}
.portfolio-edit:hover { color: var(--accent); background: rgba(59,139,235,0.1); }

.pf-inline-input {
  background: var(--bg-card); border: 1px solid var(--accent); border-radius: 3px;
  color: var(--text-bright); font-family: var(--font-mono); font-size: 10px;
  padding: 2px 4px; width: 60px; outline: none;
}
.pf-inline-input:focus { border-color: var(--accent); box-shadow: 0 0 4px rgba(59,139,235,0.3); }

.pf-inline-select {
  background: var(--bg-card); border: 1px solid var(--accent); border-radius: 3px;
  color: var(--text-bright); font-family: var(--font-mono); font-size: 9px;
  padding: 2px 2px; outline: none; cursor: pointer;
}

.portfolio-ccy {
  font-family: var(--font-mono); font-size: 9px; color: var(--text-muted);
  min-width: 28px; text-align: center;
}

.portfolio-signal-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

.portfolio-signal-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 1px 6px;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.portfolio-signal-note {
  margin-top: 2px;
  font-size: 8px;
  color: var(--text-muted);
  line-height: 1.3;
  max-width: 220px;
}

/* ── GLOBAL SYSTEMIC VISUAL PASS ── */
:root {
  --wt-glass: rgba(255,255,255,0.035);
  --wt-glass-strong: rgba(255,255,255,0.065);
  --wt-card-edge: rgba(118,200,255,0.18);
  --wt-card-shadow: 0 18px 38px rgba(0,0,0,0.24);
  --wt-card-radius: 14px;
  --wt-terminal-line: rgba(118,200,255,0.16);
  --wt-terminal-green: #7ddf9a;
  --wt-terminal-amber: #ffcb6b;
}

.news-executive-briefing {
  margin: 0 0 8px;
  background:
    linear-gradient(90deg, rgba(118,200,255,0.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(118,200,255,0.035) 1px, transparent 1px),
    radial-gradient(circle at 9% 20%, rgba(118,200,255,0.13), transparent 28%),
    radial-gradient(circle at 82% 0%, rgba(255,203,107,0.08), transparent 26%),
    linear-gradient(135deg, rgba(4,9,16,0.86), rgba(10,16,28,0.72));
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035), 0 10px 26px rgba(0,0,0,0.18);
}

.person-intel-console {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(118,200,255,0.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(118,200,255,0.026) 1px, transparent 1px),
    linear-gradient(135deg, rgba(255,255,255,0.045), rgba(255,255,255,0.014));
  background-size: 34px 34px, 34px 34px, auto;
}

.person-intel-grid {
  display: grid;
  gap: 6px;
}

.person-intel-mini {
  min-width: 0;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 10px;
  padding: 8px;
  background: rgba(255,255,255,0.026);
}

.person-intel-mini.warning {
  border-color: rgba(255,203,107,0.28);
}

.person-intel-mini.degraded {
  border-color: rgba(255,107,107,0.36);
}

.person-intel-mini .executive-intel-value {
  margin-top: 5px;
  font-size: 13px;
  letter-spacing: -0.025em;
}

.person-intel-mini .executive-intel-meta {
  -webkit-line-clamp: 3;
}

.executive-intel-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 14px;
  padding: 10px 11px;
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.12), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.048), rgba(255,255,255,0.016));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 14px 28px rgba(0,0,0,0.18);
}

.executive-intel-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(118,200,255,0.42), rgba(255,203,107,0.22), transparent);
  pointer-events: none;
}

.executive-intel-hero {
  border-color: color-mix(in srgb, var(--executive-rail-color, var(--accent)) 46%, rgba(118,200,255,0.16));
  background:
    radial-gradient(circle at 0% 0%, color-mix(in srgb, var(--executive-rail-color, var(--accent)) 22%, transparent), transparent 38%),
    linear-gradient(135deg, rgba(11,20,34,0.94), rgba(18,25,38,0.64));
}

.executive-intel-topline {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.executive-intel-kicker {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent) 74%, var(--text-muted));
}

.executive-intel-live {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 1px solid rgba(125,223,154,0.22);
  border-radius: 999px;
  padding: 2px 6px;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wt-terminal-green);
  background: rgba(125,223,154,0.08);
}

.executive-intel-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 10px currentColor;
}

.executive-intel-value {
  margin-top: 8px;
  font-size: 19px;
  line-height: 1.05;
  letter-spacing: -0.045em;
  font-weight: 750;
  color: var(--text-bright);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.executive-intel-hero .executive-intel-value {
  color: var(--executive-rail-color, var(--text-bright));
  text-shadow: 0 0 24px color-mix(in srgb, var(--executive-rail-color, var(--accent)) 28%, transparent);
}

.executive-intel-meta {
  margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.42;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.executive-intel-actions {
  margin-top: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.executive-intel-action {
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--text-bright);
  background: rgba(118,200,255,0.08);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1;
  cursor: pointer;
  appearance: none;
}

.executive-intel-action:hover,
.executive-intel-action:focus-visible {
  border-color: rgba(118,200,255,0.42);
  background: rgba(118,200,255,0.15);
  outline: none;
}

.executive-intel-action.primary {
  border-color: color-mix(in srgb, var(--executive-rail-color, var(--accent)) 55%, rgba(118,200,255,0.2));
  background: color-mix(in srgb, var(--executive-rail-color, var(--accent)) 16%, rgba(255,255,255,0.035));
}

.executive-intel-meter {
  margin-top: 8px;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
}

.executive-intel-meter > span {
  display: block;
  width: var(--executive-meter, 0%);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--executive-meter-color, var(--accent)), rgba(255,255,255,0.28));
  box-shadow: 0 0 14px color-mix(in srgb, var(--executive-meter-color, var(--accent)) 45%, transparent);
}

.executive-intel-card.warning {
  border-color: rgba(255,203,107,0.28);
}

.executive-intel-card.degraded {
  border-color: rgba(255,107,107,0.36);
}

body.theme-light .news-executive-briefing,
body.theme-light .person-intel-console {
  background:
    linear-gradient(90deg, rgba(23,109,168,0.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(23,109,168,0.05) 1px, transparent 1px),
    radial-gradient(circle at 9% 20%, rgba(23,109,168,0.13), transparent 28%),
    linear-gradient(135deg, rgba(247,251,255,0.9), rgba(232,239,248,0.72));
}

body.theme-light .executive-intel-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(23,109,168,0.10), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,252,0.82));
  box-shadow: 0 12px 24px rgba(32,52,78,0.10);
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 14%, rgba(118,200,255,0.14), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255,203,107,0.09), transparent 24%),
    linear-gradient(115deg, transparent 0 45%, rgba(255,255,255,0.028) 46% 48%, transparent 49%);
}

.panel,
.card,
.watchtower-summary-card,
.brief-summary-card,
.brief-signal-card,
.commodity-atlas-card,
.intel-matrix-meta-card,
.layout-tab-picker,
.ticker-settings,
.ops-panel,
.layout-manager,
.finance-chart-modal {
  border-color: color-mix(in srgb, var(--wt-card-edge) 70%, var(--border));
  border-radius: var(--wt-card-radius);
  background:
    radial-gradient(circle at 96% 0%, rgba(118,200,255,0.105), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.014));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045), var(--wt-card-shadow);
}

#mkt-commodity-stock-analysis .watchtower-data-points-mount,
#mkt-commodity-stock-analysis .watchtower-domain-signals-mount,
#mkt-commodity-stock-analysis .watchtower-summary-grid,
#mkt-commodity-stock-analysis .watchtower-summary-card,
#mkt-commodity-stock-analysis .business-corporate-distress-panel,
#mkt-commodity-stock-analysis .business-corporate-distress-signal {
  background: #08111f !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#mkt-commodity-stock-analysis .watchtower-data-points-mount,
#mkt-commodity-stock-analysis .watchtower-domain-signals-mount,
#mkt-commodity-stock-analysis .business-corporate-distress-panel {
  position: relative;
  z-index: 1;
  clear: both;
  width: 100%;
  box-sizing: border-box;
}

#mkt-commodity-stock-analysis .watchtower-summary-card,
#mkt-commodity-stock-analysis .business-corporate-distress-signal,
#mkt-commodity-stock-analysis .companies-corporate-distress-card {
  background: #0b1728 !important;
  color: var(--text-muted);
}

#mkt-commodity-stock-analysis .companies-corporate-distress-card {
  display: block;
  width: 100%;
  grid-column: 1 / -1;
  position: relative;
  z-index: 1;
  clear: both;
}

#mkt-commodity-stock-analysis .companies-corporate-distress-signal-line {
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(255,179,102,0.24);
  border-radius: 8px;
  background: #08111f !important;
  color: var(--text-muted);
  line-height: 1.5;
}

.ops-panel.visible,
.layout-manager.visible {
  background: linear-gradient(180deg, #111827 0%, #080d16 100%);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.72);
}

.panel {
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.11), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(168,85,247,0.065), transparent 30%),
    linear-gradient(180deg, rgba(17,24,36,0.965), rgba(8,13,22,0.94));
}

.panel::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(118,200,255,0.34), rgba(255,203,107,0.16), transparent);
}

.panel:hover,
.card:hover,
.watchtower-summary-card:hover,
.brief-summary-card:hover,
.commodity-atlas-card:hover,
.intel-matrix-meta-card:hover {
  border-color: rgba(118,200,255,0.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.07), 0 20px 42px rgba(0,0,0,0.30), 0 0 0 1px rgba(118,200,255,0.055);
}

.panel-header {
  position: relative;
  background:
    linear-gradient(90deg, rgba(118,200,255,0.10), rgba(255,255,255,0.018) 42%, rgba(255,203,107,0.055));
  border-bottom-color: rgba(118,200,255,0.16);
}

.panel-title {
  color: var(--text-bright);
  text-shadow: 0 0 18px rgba(118,200,255,0.16);
  overflow: hidden;
  text-overflow: ellipsis;
}

.panel-title-icon {
  box-shadow: 0 0 0 1px rgba(255,255,255,0.18), 0 0 18px rgba(118,200,255,0.24);
}

.panel-badge,
.status-label,
.tab-health-badge,
.tab-change-badge {
  border: 1px solid rgba(118,200,255,0.18);
  border-radius: 999px;
  background: rgba(118,200,255,0.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

.panel-body,
.center-tabs-area .panel-body,
.tab-content.active {
  min-width: 0;
}

.center-tabs-area .panel-body {
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.07), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.012), rgba(255,255,255,0.004));
}

.tab-bar {
  gap: 6px;
  padding: 7px 8px;
  background:
    linear-gradient(90deg, rgba(4,9,16,0.74), rgba(13,20,32,0.52));
  border-bottom-color: rgba(118,200,255,0.13);
}

.tab-btn {
  border: 1px solid transparent;
  border-bottom: 1px solid transparent;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(255,255,255,0.025);
  transition: border-color 150ms ease, color 150ms ease, background 150ms ease, box-shadow 150ms ease;
}

.tab-btn:hover {
  color: var(--text-bright);
  border-color: rgba(118,200,255,0.18);
  background: rgba(118,200,255,0.075);
}

.tab-btn.active {
  color: var(--text-bright);
  border-color: rgba(118,200,255,0.42);
  background:
    linear-gradient(135deg, rgba(118,200,255,0.20), rgba(255,203,107,0.08));
  box-shadow: 0 0 0 1px rgba(118,200,255,0.06), inset 0 1px 0 rgba(255,255,255,0.08);
}

.brief-summary-board,
.simple-summary-board,
.simple-board-bar {
  background:
    radial-gradient(circle at 100% 0%, rgba(118,200,255,0.13), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(255,203,107,0.07), transparent 28%),
    linear-gradient(135deg, rgba(8,16,28,0.82), rgba(14,20,34,0.52));
  border-bottom-color: rgba(118,200,255,0.16);
}

.watchtower-summary-grid,
.brief-summary-grid,
.brief-summary-kpis,
.brief-summary-signal-grid,
.commodity-atlas-stage,
.intel-matrix-wrap {
  min-width: 0;
}

.watchtower-summary-card,
.brief-summary-card,
.brief-signal-card,
.card,
.commodity-atlas-card,
.intel-matrix-meta-card {
  position: relative;
  overflow: hidden;
}

.watchtower-summary-card::before,
.brief-summary-card::before,
.brief-signal-card::before,
.card::before,
.commodity-atlas-card::before,
.intel-matrix-meta-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(118,200,255,0.30), transparent);
}

.watchtower-summary-kicker,
.brief-summary-card-title,
.brief-signal-name,
.commodity-atlas-card-title,
.intel-matrix-meta-label,
.news-source,
.cal-date-header,
.data-table th {
  color: color-mix(in srgb, var(--accent) 72%, var(--text-muted));
}

.watchtower-summary-value,
.brief-signal-value,
.commodity-atlas-card-value {
  letter-spacing: -0.035em;
}

.news-item,
.cal-row {
  margin: 6px 0;
  padding: 8px 9px;
  border: 1px solid rgba(255,255,255,0.065);
  border-radius: 11px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.news-item:last-child {
  border-bottom: 1px solid rgba(255,255,255,0.065);
}

.news-title,
.news-title a,
.watchtower-summary-meta,
.watchtower-summary-note,
.brief-summary-line,
.commodity-atlas-card-meta,
.commodity-atlas-row-title,
.commodity-atlas-row-meta,
.card,
.card a,
.panel a,
.news-time {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.panel a,
.card a,
.watchtower-summary-card a,
.brief-summary-card a,
.news-title a,
.commodity-atlas-card a {
  max-width: 100%;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.news-title a:hover,
.panel a:hover,
.card a:hover {
  color: var(--accent);
  text-shadow: 0 0 18px rgba(118,200,255,0.18);
}

.geo-pill,
.news-chip,
.layout-tab-chip,
.portfolio-signal-badge,
.layer-toggle,
.simple-pick-btn,
.layout-mini-btn,
.btn-ghost,
.theme-toggle-btn,
.mode-toggle-btn {
  border-radius: 999px;
  border-color: rgba(118,200,255,0.18);
  background:
    linear-gradient(135deg, rgba(118,200,255,0.10), rgba(255,255,255,0.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.045);
}

.layout-mini-btn,
.layer-toggle,
.simple-pick-btn,
.btn-ghost,
.theme-toggle-btn,
.mode-toggle-btn {
  padding-left: 8px;
  padding-right: 8px;
}

.layout-mini-btn:hover,
.layer-toggle:hover,
.simple-pick-btn:hover,
.btn-ghost:hover,
.theme-toggle-btn:hover,
.mode-toggle-btn:hover {
  border-color: rgba(118,200,255,0.42);
  color: var(--text-bright);
  background:
    linear-gradient(135deg, rgba(118,200,255,0.18), rgba(255,203,107,0.06));
}

.layer-toggle.active,
.layout-mini-btn.active,
.theme-toggle-btn.active,
.mode-toggle-btn.active,
.simple-pick-btn.active {
  border-color: rgba(118,200,255,0.50);
  color: var(--text-bright);
  background:
    linear-gradient(135deg, rgba(118,200,255,0.22), rgba(255,203,107,0.09));
}

.search-input,
.select-input,
.layout-select,
input[type="text"],
input[type="search"],
textarea {
  border-color: rgba(118,200,255,0.16);
  border-radius: 10px;
  background: rgba(4,9,16,0.52);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.search-input:focus,
.select-input:focus,
.layout-select:focus,
input[type="text"]:focus,
input[type="search"]:focus,
textarea:focus {
  outline: none;
  border-color: rgba(118,200,255,0.46);
  box-shadow: 0 0 0 2px rgba(118,200,255,0.10), inset 0 1px 0 rgba(255,255,255,0.05);
}

.data-table {
  border-collapse: separate;
  border-spacing: 0;
}

.data-table th {
  background: rgba(4,9,16,0.82);
}

.data-table td {
  max-width: 280px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.theme-light {
  --wt-glass: rgba(255,255,255,0.70);
  --wt-glass-strong: rgba(255,255,255,0.86);
  --wt-card-edge: rgba(23,109,168,0.20);
  --wt-card-shadow: 0 16px 34px rgba(32,52,78,0.12);
}

body.theme-light .panel,
body.theme-light .card,
body.theme-light .watchtower-summary-card,
body.theme-light .brief-summary-card,
body.theme-light .brief-signal-card,
body.theme-light .commodity-atlas-card,
body.theme-light .intel-matrix-meta-card,
body.theme-light .news-item,
body.theme-light .cal-row {
  background:
    radial-gradient(circle at 96% 0%, rgba(23,109,168,0.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,0.96), rgba(244,248,252,0.90));
}

/* Theme contrast hardening: keep light mode light and dark mode dark. */
body.theme-dark {
  color-scheme: dark;
}

body.theme-light {
  color-scheme: light;
  color: var(--text);
}

body.theme-light :where(.topbar, .panel, .panel-body, .card, .tab-content, .tab-panel, .news-item, .cal-row, .watchtower-summary-card, .brief-summary-card, .brief-signal-card, .commodity-atlas-card, .intel-matrix-meta-card, .ops-panel, .layout-manager, .portfolio-panel, .ticker-settings, .globe-info, .globe-legend) {
  color: var(--text);
}

body.theme-light :where(.panel-title, .layout-title, .ops-panel-title, .ticker-price, .card-title, .news-title, .news-title a, .data-table td, .layout-tab-table td, .ops-table td) {
  color: var(--text-bright);
}

body.theme-light ::-webkit-scrollbar-thumb {
  background: rgba(32,52,78,0.20);
}

body.theme-light ::-webkit-scrollbar-thumb:hover {
  background: rgba(32,52,78,0.32);
}

body.theme-light .panel-header,
body.theme-light .tab-bar,
body.theme-light .center-tabs-area,
body.theme-light .news-controls,
body.theme-light .brief-summary-board,
body.theme-light .watchtower-summary-grid,
body.theme-light .simple-board-bar,
body.theme-light .simple-summary-board,
body.theme-light .finance-chart-head,
body.theme-light .liveuamap-viewer-head {
  background: rgba(255,255,255,0.70);
  border-color: rgba(32,52,78,0.12);
}

body.theme-light .brief-hero-main,
body.theme-light .brief-hero-stat,
body.theme-light .brief-geo-card,
body.theme-light .brief-status-row,
body.theme-light .brief-collapsible,
body.theme-light .brief-action-item,
body.theme-light .simple-alert-tile,
body.theme-light .simple-alert-manage,
body.theme-light .intel-matrix-drill,
body.theme-light .intel-matrix-trend-card,
body.theme-light .intel-matrix-mover-col,
body.theme-light .intel-matrix-watch-card,
body.theme-light .intel-matrix-playbook-item,
body.theme-light .intel-matrix-brief,
body.theme-light .liveuamap-toolbar,
body.theme-light .liveuamap-region-card,
body.theme-light .liveuamap-fallback-note,
body.theme-light .ticker-settings,
body.theme-light .ops-panel,
body.theme-light .layout-manager,
body.theme-light .portfolio-panel,
body.theme-light .finance-chart-modal {
  background:
    radial-gradient(circle at 96% 0%, rgba(23,109,168,0.08), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(245,248,252,0.94));
  border-color: rgba(32,52,78,0.13);
  box-shadow: 0 14px 30px rgba(32,52,78,0.12);
}

body.theme-light .ops-panel.visible,
body.theme-light .layout-manager.visible {
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  box-shadow: 0 18px 42px rgba(32,52,78,0.22);
}

body.theme-light .brief-hero-main::after,
body.theme-light .systemic10-hero::after {
  background: linear-gradient(115deg, transparent 0 46%, rgba(23,109,168,0.08) 47% 49%, transparent 50%);
}

body.theme-light .systemic10-hero {
  background:
    radial-gradient(circle at 12% 10%, rgba(23,109,168,0.16), transparent 34%),
    radial-gradient(circle at 88% 22%, rgba(182,106,0,0.10), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(242,247,252,0.94));
  border-color: rgba(23,109,168,0.20);
  box-shadow: 0 14px 30px rgba(32,52,78,0.12);
}

body.theme-light .brief-hero-kicker,
body.theme-light .brief-hero-copy {
  color: var(--text);
}

body.theme-light .brief-hero-market,
body.theme-light .brief-hero-chip,
body.theme-light .brief-signal-card,
body.theme-light .brief-list-item,
body.theme-light .brief-kpi-card,
body.theme-light .simple-alert-empty,
body.theme-light .intel-matrix-chip,
body.theme-light .geo-pill,
body.theme-light .news-chip,
body.theme-light .layout-tab-chip,
body.theme-light .portfolio-signal-badge,
body.theme-light .layer-toggle,
body.theme-light .simple-pick-btn,
body.theme-light .layout-mini-btn,
body.theme-light .btn-ghost,
body.theme-light .theme-toggle-btn,
body.theme-light .mode-toggle-btn,
body.theme-light .panel-drag-handle {
  background: linear-gradient(135deg, rgba(255,255,255,0.92), rgba(235,242,249,0.84));
  border-color: rgba(32,52,78,0.16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.80);
}

body.theme-light.brief-mode,
body.theme-light.brief-mode .main-grid,
body.theme-light.brief-mode #panel-briefing-center,
body.theme-light.brief-mode #panel-briefing-center .center-tabs-area {
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fc 100%);
  color: var(--text);
}

body.theme-light.brief-mode .brief-summary-board {
  background: linear-gradient(180deg, #ffffff 0%, #f4f8fc 100%);
  border-color: rgba(32,52,78,0.12);
}

body.theme-light.brief-mode :where(.brief-hero-main, .brief-hero-stat, .brief-summary-card, .brief-action-item, .brief-hero-market, .brief-hero-chip, .brief-signal-card, .brief-list-item, .brief-kpi-card, .brief-status-row, .brief-collapsible, .brief-geo-card) {
  background: linear-gradient(180deg, rgba(255,255,255,0.99), rgba(245,248,252,0.96));
  border-color: rgba(32,52,78,0.14);
  box-shadow: 0 10px 24px rgba(32,52,78,0.10);
  color: var(--text);
}

body.theme-light.brief-mode :where(.brief-summary-title, .brief-hero-title, .brief-hero-market-value, .brief-hero-chip strong, .brief-hero-stat-value, .brief-status-text, .brief-action-item strong, .brief-summary-line strong, .brief-signal-value, .brief-kpi-value) {
  color: var(--text-bright);
}

body.theme-light.brief-mode :where(.brief-summary-meta, .brief-hero-kicker, .brief-hero-copy, .brief-hero-market-name, .brief-hero-stat-kicker, .brief-hero-stat-meta, .brief-summary-card-title, .brief-signal-name, .brief-signal-change, .brief-kpi-label) {
  color: var(--text-muted);
}

body.theme-light .search-input,
body.theme-light .select-input,
body.theme-light .layout-select,
body.theme-light input[type="text"],
body.theme-light input[type="search"],
body.theme-light textarea,
body.theme-light .brief-journal-textarea {
  background: #ffffff;
  color: #07111f;
  border-color: rgba(32,52,78,0.18);
  box-shadow: inset 0 1px 0 rgba(32,52,78,0.04);
}

body.theme-light .search-input::placeholder,
body.theme-light input[type="text"]::placeholder,
body.theme-light input[type="search"]::placeholder,
body.theme-light textarea::placeholder {
  color: rgba(38,53,72,0.58);
}

body.theme-light .data-table th,
body.theme-light .intel-matrix-table th {
  background: #f6f9fc;
  color: #3e526c;
  border-bottom-color: rgba(32,52,78,0.12);
}

body.theme-light .data-table td,
body.theme-light .intel-matrix-table td,
body.theme-light .layout-tab-table th,
body.theme-light .layout-tab-table td,
body.theme-light .ops-table th,
body.theme-light .ops-table td {
  color: #263548;
  border-bottom-color: rgba(32,52,78,0.10);
  border-right-color: rgba(32,52,78,0.08);
}

body.theme-light .data-table tr:hover td,
body.theme-light .cal-row:hover,
body.theme-light .tab-btn:hover,
body.theme-light .ticker-item:hover {
  background: rgba(23,109,168,0.07);
}

body.theme-light .news-item {
  border-color: rgba(32,52,78,0.14);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.86), 0 8px 20px rgba(32,52,78,0.08);
}

body.theme-light #panel-news-feed,
body.theme-light #panel-news-feed .panel-body,
body.theme-light #news-breaking,
body.theme-light #news-search {
  color: #07111f;
}

body.theme-light #panel-news-feed .news-title,
body.theme-light #panel-news-feed .news-title a {
  color: #050b14 !important;
}

body.theme-light #panel-news-feed .news-time,
body.theme-light #panel-news-feed .news-type,
body.theme-light #panel-news-feed .news-meta {
  color: #33465d;
}

body.theme-light #panel-news-feed .news-source {
  color: #5d3e00;
}

body.theme-light #panel-news-feed .news-flag-hard,
body.theme-light #panel-news-feed .news-flag-break {
  color: #050b14;
  font-weight: 700;
}

body.theme-light #panel-news-feed .news-flag-hard {
  background: rgba(231,76,60,0.18);
  border-color: rgba(178,43,43,0.42);
}

body.theme-light #panel-news-feed .news-flag-break {
  background: rgba(241,196,15,0.24);
  border-color: rgba(151,114,0,0.38);
}

body.theme-light .finance-chart-body,
body.theme-light .liveuamap-frame-wrap {
  background: #f4f8fc;
}

body.theme-light .finance-chart-tabs,
body.theme-light .finance-history-metric,
body.theme-light .finance-history-svg-wrap {
  background: rgba(255,255,255,0.82);
}

.bankrun-metric-grid {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
}

.bankrun-metric-grid-five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.bankrun-metric-grid-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ── RESPONSIVE ── */
@media (max-width: 1200px) {
  .main-grid {
    grid-template-columns: 240px 1fr 260px;
  }
  .geo-hazard-sections {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .topbar {
    min-height: auto;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 10px 12px;
    gap: 10px;
  }
  .topbar-brand {
    flex: 1 1 100%;
  }
  .topbar-brand-sub {
    display: none;
  }
  .ticker-stack {
    order: 10;
    width: 100%;
    margin: 0;
  }
  .ticker-wrap,
  .top-risk-strip {
    display: none;
  }
  .mode-toggle-group {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }
  .mode-toggle-group .btn {
    width: 100%;
    justify-content: center;
  }
  .topbar-controls {
    width: 100%;
    justify-content: flex-start;
    margin-left: 0;
  }
  .topbar-clock {
    margin-left: auto;
  }
  .executive-intel-value {
    white-space: normal;
  }
  .main-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, auto);
    gap: 8px;
    padding: 8px;
  }
  .center-full { grid-column: 1; grid-row: 1; min-height: 620px; }
  .center-globe-area { flex: 0 0 280px; }
  .left-top { grid-column: 1; grid-row: 2; }
  .left-bottom { grid-column: 1; grid-row: 3; }
  .right-top { grid-column: 1; grid-row: 4; }
  .right-bottom { grid-column: 1; grid-row: 5; }
  body:not(.brief-mode):not(.simple-mode) .left-top,
  body:not(.brief-mode):not(.simple-mode) .left-bottom,
  body:not(.brief-mode):not(.simple-mode) .right-top,
  body:not(.brief-mode):not(.simple-mode) .right-bottom {
    min-height: 240px;
    max-height: 52vh;
  }
  .globe-layers,
  .tab-bar,
  .simple-board-bar,
  .public-brief-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    scrollbar-width: thin;
  }
  .layer-toggle,
  .tab-btn,
  .simple-pick-btn,
  .layout-mini-btn,
  .public-brief-nav-btn {
    min-height: 36px;
  }
  .layer-toggle,
  .tab-btn,
  .simple-pick-btn,
  .public-brief-nav-btn {
    flex: 0 0 auto;
  }
  #simpleBoardBar .simple-board-label,
  #simpleBoardBar .simple-board-meta {
    display: none;
  }
  #simpleBoardBar {
    justify-content: flex-start;
    padding-inline: 8px;
  }
  body { overflow-y: auto; }
  .main-grid { height: auto; min-height: calc(100vh - 42px); }
  .panel { min-height: 300px; }
  .geo-pill-row {
    justify-content: flex-start;
  }
  .panel:hover,
  .card:hover {
    transform: none;
  }
  .panel-drag-handle {
    display: none;
  }
  .bankrun-metric-grid-five,
  .bankrun-metric-grid-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .screen-alert-rail {
    position: fixed;
    bottom: 8px;
    top: auto;
    right: 8px;
    left: 8px;
    width: auto;
    z-index: 1300;
  }
  .finance-chart-overlay {
    padding: 8px;
  }
  .finance-chart-modal {
    width: 100%;
    max-height: calc(100vh - 16px);
  }
  .finance-chart-head {
    flex-wrap: wrap;
  }
  .finance-chart-actions {
    width: 100%;
    margin-left: 0;
    justify-content: flex-end;
  }
  .finance-history-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .finance-history-shell {
    padding: 10px;
  }
  .api-connections-shell {
    padding: 10px;
  }
  .api-connections-grid {
    grid-template-columns: 1fr;
  }
  #watchtowerApiConnectionsOverlay .finance-chart-action-btn {
    min-height: 36px;
    font-size: 10px;
    padding: 6px 10px;
  }
  #watchtowerApiConnectionsOverlay .search-input {
    font-size: 16px !important;
  }
  .brief-summary-grid,
  .brief-summary-kpis,
  .brief-premium-grid {
    grid-template-columns: 1fr;
  }
  .brief-hero {
    grid-template-columns: 1fr;
  }
  .brief-geo-grid,
  .brief-hero-markets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .brief-hero-main {
    min-height: 0;
  }
  .brief-hero-title {
    max-width: none;
  }
  .brief-summary-signal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-brief-grid {
    grid-template-columns: 1fr;
  }
  .daily-brief-primer-grid {
    grid-template-columns: 1fr;
  }
  .daily-brief-alerts {
    grid-column: auto;
  }
}

@media (max-width: 640px) {
  html, body {
    font-size: 12px;
  }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 1200;
  }
  .topbar-controls .btn,
  .topbar-status,
  .app-health-pill {
    min-height: 34px;
  }
  .wt-health-fab {
    right: 6px !important;
    bottom: 6px !important;
    min-width: 0 !important;
    min-height: 32px !important;
    padding: 7px 10px !important;
    font-size: 0 !important;
  }
  .wt-health-fab::after {
    content: 'Report';
    font-size: 10px;
  }
  .center-full {
    min-height: calc(100vh - 112px);
  }
  .center-globe-area {
    flex-basis: min(52vh, 360px);
    min-height: 260px;
  }
  .globe-layers {
    gap: 6px;
    padding: 6px;
  }
  .globe-info {
    left: 10px;
    right: 10px;
    bottom: 10px;
    max-width: none;
  }
  .brief-summary-board {
    padding: 12px 10px;
  }
  .brief-hero-main {
    padding: 14px;
  }
  .brief-hero-title {
    font-size: clamp(24px, 9vw, 34px);
  }
  .public-brief-nav {
    display: flex;
    gap: 8px;
    padding-bottom: 4px;
  }
  .public-brief-nav-btn {
    min-width: 210px;
  }
  .watchtower-summary-grid,
  .public-plain-grid,
  .public-severity-guide {
    grid-template-columns: 1fr !important;
  }
  .brief-geo-grid,
  .brief-hero-markets {
    grid-template-columns: 1fr;
  }
  .brief-summary-signal-grid {
    grid-template-columns: 1fr;
  }
  .daily-brief-alert-grid {
    grid-template-columns: 1fr;
  }
  .daily-brief-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .daily-brief-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .daily-brief-toolbar-group {
    width: 100%;
  }
  .daily-brief-control {
    flex: 1 1 180px;
  }
  .news-facet-control {
    flex-basis: 100%;
  }
  .news-facet-control .select-input,
  .news-source-toggle {
    min-height: 36px;
  }
  #newsMeta {
    margin-left: 0 !important;
    flex: 1 1 100%;
  }
}

/* Final cross-browser scroll hardening layer. Keep this late so it overrides older panel-specific rules. */
:where(.panel, .panel-body, .center-full, .center-tabs-area, .tab-content, .tab-content.active, .watchtower-summary-card, .brief-collapsible, .brief-collapsible-body, .data-ask-shell, .data-ask-results, .dataqa-primary-grid, .finance-chart-modal, .watchtower-help-modal, .topbar-dropdown, .layout-manager, .ops-panel, .screen-alert-rail, .crypto-data-card, .crypto-intel-section, .commodity-atlas-panel, .liveuamap-sidebar, .liveuamap-viewer-card, .liveuamap-data-board, .outcome-tree-wrap, .signal-board-panel, .simple-alert-board, .operator-briefing-board) {
  min-height: 0;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

:where(.panel-body, .center-tabs-area .panel-body, .tab-content.active) {
  min-height: 0;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

:where(.tab-content.active) {
  display: block;
  height: auto !important;
  max-height: none !important;
  contain: layout paint;
}

:where(.tab-content.active > *) {
  min-height: 0;
  min-width: 0;
  max-width: 100%;
}

:where(#cb-entity-explorer.active, #cb-sanctions-ownership.active, #cb-cyber-exposure.active, #cb-crypto-intel.active, #mkt-global-bonds.active, #news-narratives.active, #mkt-commodity-stock-analysis.active, #cb-insurance-stress.active, #cb-georisk.active, #cb-countryrisk.active, #cb-dataqa.active, #cb-ai-analysis.active, #cb-eventgraph.active, #cb-outcometree.active, #cb-social.active, #cb-military.active, #cb-cameras.active, #cb-crime.active, #cb-mobility-intel.active) {
  overflow: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

:where(#cryptoIntelPanel, #globalBondIntelPanel, #entityExplorerPanel, #sanctionsOwnershipPanel, #cyberExposurePanel, #narrativeTrackerPanel, #mkt-commodity-stock-analysis-body, #insuranceStressPanel, #geoRiskPanel, #countryRiskPanel, #watchtowerDataAskPanel, #watchtowerAiAnalysisPanel, #watchtowerEventGraphPanel, #watchtowerOutcomeTreePanel, #liveuamapPanel, #militaryPanel, #crimePanel, #mobilityIntelPanel) {
  min-height: 0;
  max-height: none;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

/* Safari/WebKit clipping fix: Crypto/Bonds content must not be trapped by fixed vh + nested max-height boxes. */
:where(#cb-crypto-intel.active, #mkt-global-bonds.active) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

:where(#cryptoIntelPanel, #globalBondIntelPanel) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

:where(#cryptoIntelPanel .watchtower-summary-card, #globalBondIntelPanel .watchtower-summary-card, .crypto-data-card, .crypto-intel-section) {
  overflow: visible;
  min-height: 0;
}

:where(.crypto-data-card-body, .crypto-intel-scroll) {
  max-height: none !important;
  overflow: visible !important;
}

:where(.crypto-intel-table-wrap) {
  max-height: min(72vh, 760px) !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch;
}

/* Deep vertical scroll repair: active tabs own vertical scroll; inner modules expand unless they are table/list boxes. */
.watchtower-tab-forensic-layout-v1 {
  display: none;
}

:where(.center-tabs-area .tab-content.active, .panel-body > .tab-content.active) {
  display: flex !important;
  flex-direction: column;
  min-height: 0 !important;
  max-width: 100%;
  overflow: hidden !important;
  contain: layout paint;
}

:where(.center-tabs-area .tab-content.active > *, .panel-body > .tab-content.active > *) {
  flex: 0 0 auto;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

:where(.tab-content.active .watchtower-data-points-mount, .tab-content.active .watchtower-domain-signals-mount) {
  flex: 0 0 auto;
  position: relative;
  z-index: 1;
  clear: both;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  background: #08111f !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

:where(.tab-content.active .watchtower-summary-grid) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
  background: #08111f !important;
}

:where(.tab-content.active .watchtower-summary-card, .tab-content.active .brief-summary-card, .tab-content.active .brief-signal-card, .tab-content.active .crypto-data-card, .tab-content.active .crypto-intel-section, .tab-content.active .commodity-atlas-card, .tab-content.active .intel-matrix-meta-card) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
  overflow: visible;
  background: #0b1728 !important;
  opacity: 1 !important;
}

:where(.tab-content.active div, .tab-content.active section, .tab-content.active article, .tab-content.active aside, .tab-content.active table, .tab-content.active tr, .tab-content.active td, .tab-content.active th, .tab-content.active p, .tab-content.active span, .tab-content.active a) {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

:where(.tab-content.active .watchtower-summary-note, .tab-content.active .watchtower-summary-meta, .tab-content.active .brief-signal-change, .tab-content.active .news-title, .tab-content.active .news-summary, .tab-content.active td, .tab-content.active th, .tab-content.active a) {
  overflow-wrap: anywhere;
  word-break: normal;
}

:where(.tab-content.active .data-table) {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: visible;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

:where(.tab-content.active .data-table td, .tab-content.active .data-table th) {
  max-width: min(420px, 70vw);
  overflow: hidden;
  text-overflow: ellipsis;
}

:where(.tab-content.active > [id$="Panel"], .tab-content.active > [id$="PanelBody"], .tab-content.active > [id$="panel"], .tab-content.active > [id$="body"], .tab-content.active > [id$="Body"]) {
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

:where(.tab-content.active > .infra-wrap, .tab-content.active > .liveuamap-shell, .tab-content.active > .signal-board-panel, .tab-content.active > .simple-alert-board, .tab-content.active > #liveuamapPanel) {
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  :where(.tab-content.active div[style*="grid-template-columns:1fr 1fr"], .tab-content.active div[style*="grid-template-columns:repeat(2"], .tab-content.active div[style*="grid-template-columns:repeat(3"], .tab-content.active div[style*="grid-template-columns:minmax(0,1.5fr"], .tab-content.active div[style*="grid-template-columns:1.1fr 0.9fr"]) {
    grid-template-columns: 1fr !important;
  }
}

:where(.center-tabs-area .panel-body, .panel-body) {
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

:where(.center-tabs-area .tab-content.active, .panel-body > .tab-content.active) {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

:where(#cb-crypto-intel.active, #mkt-global-bonds.active, #cb-entity-explorer.active, #cb-sanctions-ownership.active, #cb-cyber-exposure.active, #mkt-commodity-stock-analysis.active, #news-narratives.active) {
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

:where(#cryptoIntelPanel, #globalBondIntelPanel, #insuranceStressPanel, #geoRiskPanel, #countryDossierPanel, #cashlessCbdcPanel, #mobilityIntelPanel, #realEstatePanel, #intelMatrixPanel, #riskDomainPanel, #threatOutcomeTreePanel, #eventGraphPanel, #entityExplorerPanel, #sanctionsOwnershipPanel, #cyberExposurePanel, #satelliteIsrPanel, #ancapBayesPanel, #socialIntelPanel, #bankrunTabPanel, #reportsPanel, #militaryPanel, #weatherWarningPanel, #healthPanel, #crimePanel) {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

:where(#watchtowerDataAskPanel, #watchtowerAiAnalysisPanel, #liveuamapPanel) {
  min-height: 0 !important;
  height: 100% !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

:where(.watchtower-vertical-scroll-repaired) {
  min-height: 0 !important;
  min-width: 0 !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

:where(.data-ask-table-wrap, .crypto-intel-table-wrap, .table-wrap, .intel-matrix-grid, .finance-table-wrap, .commodity-table-wrap, .watchtower-table-wrap, .dataqa-search-results-stack, .crypto-intel-scroll, .crypto-data-card-body, .signal-board-grid, .liveuamap-region-list, .topbar-dropdown, .ticker-settings, .layout-manager, .ops-panel, .watchtower-help-modal, .finance-chart-modal, #watchtowerCommandPaletteList) {
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

:where(.data-ask-table-wrap, .crypto-intel-table-wrap, .table-wrap, .intel-matrix-grid, .finance-table-wrap, .commodity-table-wrap, .watchtower-table-wrap) .data-table {
  min-width: max-content;
}

:where(.finance-chart-body, .brief-collapsible-body, .deep-analyst-body, .intel-os-copilot-body) {
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#financeChartOverlay .finance-chart-modal {
  overflow: hidden !important;
}

#financeChartOverlay .finance-chart-body {
  flex: 1 1 auto;
  min-height: 0 !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

#financeChartOverlay .finance-history-shell,
#financeChartOverlay .finance-chart-panel,
#financeChartOverlay .finance-trading-shell {
  min-height: 0;
}

@media (max-height: 520px) {
  #financeChartOverlay { padding: 4px; }
  #financeChartOverlay .finance-chart-modal { max-height: calc(100dvh - 8px); }
  #financeChartOverlay .finance-chart-head { padding: 6px 8px; }
  #financeChartOverlay .finance-chart-tabs { padding: 5px 8px; }
  #financeChartOverlay .finance-chart-tab { min-height: 30px; }
  #financeChartOverlay .finance-history-shell { padding: 8px; }
  #financeChartOverlay .finance-history-svg { min-height: 220px; }
}

@supports not (scrollbar-gutter: stable) {
  :where(.panel-body, .tab-content.active, .data-ask-table-wrap, .crypto-intel-scroll, .crypto-data-card-body, .watchtower-help-modal, .finance-chart-modal) {
    padding-right: 2px;
  }
}

/* Final forensic tab-layout guard: keep every active tab in one non-overlapping flow. */
.center-tabs-area .tab-content.active,
.panel-body > .tab-content.active {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.center-tabs-area .tab-content.active > *,
.panel-body > .tab-content.active > * {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.tab-content.active > [id$="Panel"],
.tab-content.active > [id$="PanelBody"],
.tab-content.active > [id$="panel"],
.tab-content.active > [id$="body"],
.tab-content.active > [id$="Body"],
.tab-content.active > [id$="List"],
.tab-content.active > [id$="Grid"] {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

.tab-content.active > .infra-wrap,
.tab-content.active > #liveuamapPanel,
.tab-content.active > .signal-board-panel,
.tab-content.active > .simple-alert-board {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.tab-content.active .watchtower-data-points-mount,
.tab-content.active .watchtower-domain-signals-mount,
.tab-content.active .watchtower-summary-grid,
.tab-content.active .watchtower-summary-card,
.tab-content.active .brief-summary-card,
.tab-content.active .brief-signal-card {
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.tab-content.active .data-table {
  display: block !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
}

/* Open-scroll override: tabs should feel like large pages, not small nested windows. */
.watchtower-open-scroll-layout-v2 {
  display: none;
}

.center-tabs-area .tab-content.active,
.panel-body > .tab-content.active {
  display: block !important;
  height: auto !important;
  min-height: 100% !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
}

.center-tabs-area .tab-content.active > *,
.panel-body > .tab-content.active > * {
  display: revert;
  flex: none !important;
  min-height: 0 !important;
  max-height: none !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.tab-content.active > [id$="Panel"],
.tab-content.active > [id$="PanelBody"],
.tab-content.active > [id$="panel"],
.tab-content.active > [id$="body"],
.tab-content.active > [id$="Body"],
.tab-content.active > [id$="List"],
.tab-content.active > [id$="Grid"],
.tab-content.active > .watchtower-data-points-mount,
.tab-content.active > .watchtower-domain-signals-mount {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: hidden !important;
}

.tab-content.active :where(.watchtower-summary-grid, .watchtower-summary-card, .brief-summary-card, .brief-signal-card, .crypto-intel-section, .crypto-data-card, .commodity-atlas-card, .intel-matrix-meta-card, .brief-collapsible-body, .deep-analyst-body, .intel-os-copilot-body) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

.tab-content.active :where(.data-table, .data-ask-table-wrap, .crypto-intel-table-wrap, .table-wrap, .intel-matrix-grid, .finance-table-wrap, .commodity-table-wrap, .watchtower-table-wrap) {
  max-height: none !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  -webkit-overflow-scrolling: touch;
}

.watchtower-mobile-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.watchtower-mobile-table-scroll > table {
  display: table !important;
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.watchtower-mobile-table-scroll > table :is(th, td) {
  min-width: 72px !important;
}

.watchtower-mobile-table-scroll > table :is(th, td):first-child {
  min-width: 120px !important;
}

@media (max-width: 760px) {
  .watchtower-mobile-table-scroll,
  .tab-content.active .intel-matrix-grid,
  .tab-content.active .data-table:not(.watchtower-mobile-table-scroll > .data-table) {
    max-width: 100% !important;
    max-height: min(68dvh, 620px) !important;
    overflow: auto !important;
    overscroll-behavior: contain;
    touch-action: pan-x pan-y;
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
  }

  .watchtower-mobile-table-scroll > table {
    min-width: var(--watchtower-table-min-width, 100%) !important;
    max-height: none !important;
  }

  .tab-content.active .data-table th {
    min-width: 72px !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

#cb-commodities-map.active > .infra-wrap {
  display: grid !important;
  grid-template-rows: auto minmax(420px, 1fr) !important;
  height: clamp(560px, calc(100vh - 96px), 900px) !important;
  min-height: 560px !important;
  max-height: 900px !important;
  overflow: hidden !important;
}

#cb-commodities-map.active > .infra-wrap > .infra-topbar {
  max-height: 260px;
  overflow: auto;
  overscroll-behavior: contain;
}

#cb-commodities-map.active > .infra-wrap > .commodity-atlas-stage {
  height: 100% !important;
  min-height: 420px !important;
  overflow: hidden;
}

@media (max-width: 900px) {
  #cb-commodities-map.active > .infra-wrap {
    grid-template-rows: auto minmax(670px, 1fr) !important;
    height: clamp(760px, calc(100vh - 32px), 900px) !important;
    min-height: 760px !important;
  }
  #cb-commodities-map.active > .infra-wrap > .infra-topbar {
    max-height: 140px;
  }
  #cb-commodities-map.active > .infra-wrap > .commodity-atlas-stage {
    min-height: 670px !important;
  }
  #cb-commodities-map.active > .infra-wrap > .commodity-atlas-stage > #commodityAtlasMap {
    height: auto !important;
    min-height: 360px;
    align-self: stretch;
  }
  #cb-commodities-map.active .commodity-atlas-panel {
    display: block;
  }
  #cb-commodities-map.active .commodity-atlas-panel > .commodity-atlas-card + .commodity-atlas-card {
    margin-top: 8px;
  }
}

/* Atlas layout follows the actual panel width, including narrow desktop columns. */
#commodityAtlasMapView { container-type: inline-size; }
#commodityAtlasMap .maplibregl-canvas-container { touch-action: none; }
@container (max-width: 800px) {
  #commodityAtlasMapView > .commodity-atlas-stage { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(360px, 1fr) auto; }
  #commodityAtlasMapView #commodityAtlasMap { height: auto !important; min-height: 360px; min-width: 0; align-self: stretch; }
  #commodityAtlasMapView .commodity-atlas-panel { border-left: 0; border-top: 1px solid var(--border); max-height: 220px; min-width: 0; }
}

/* Loading counters must not move the Atlas controls or resize its map. */
#cb-commodities-map, #commodityAtlasMapView { overflow-anchor: none; }
#commodityAtlasMapView > .infra-topbar {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 16px minmax(0, 1fr) 40px;
  grid-template-areas: "title" "controls" "status";
  gap: 6px;
  height: 200px !important;
  min-height: 200px !important;
  max-height: 200px !important;
  min-width: 0;
  padding: 8px;
  overflow: hidden !important;
  align-items: stretch;
}
#commodityAtlasMapView .commodity-atlas-toolbar-title {
  grid-area: title;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#commodityAtlasMapView > .infra-topbar > .infra-controls {
  grid-area: controls;
  min-height: 0;
  min-width: 0;
  overflow: auto;
  align-content: start;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
  overflow-anchor: none;
}
#commodityAtlasMapView > .infra-topbar > .infra-legend {
  grid-area: status;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior: contain;
  overflow-anchor: none;
  font-variant-numeric: tabular-nums;
}
#commodityAtlasMapView > .infra-topbar > .infra-legend > * {
  flex: 0 0 auto;
  white-space: nowrap !important;
  max-width: none !important;
}
@media (max-height: 600px) {
  #commodityAtlasMapView > .infra-topbar { height: 160px !important; min-height: 160px !important; max-height: 160px !important; }
}

/* Standalone map workspaces own the full tab viewport; generic open-scroll rules must not collapse their iframes. */
#cb-commodities-data.active,
#cb-war-room.active {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  width: 100% !important;
  height: max(640px, calc(100dvh - 94px)) !important;
  min-height: 640px !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.commodities-data-tab-tools {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  min-height: 40px !important;
  padding: 5px 8px;
  border-bottom: 1px solid rgba(118, 200, 255, 0.22);
  background: #07111b;
}

#cb-commodities-data.active > #commoditiesDataFrame,
#cb-war-room.active > #warRoomFrame {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: stretch;
  border: 0;
}

@media (max-width: 600px) {
  #cb-commodities-data.active,
  #cb-war-room.active {
    height: max(720px, calc(100dvh - 54px)) !important;
    min-height: 720px !important;
  }
}

/* Financial Stress solid-layout guard: keep generated data opaque and in normal flow. */
.watchtower-financial-stress-solid-layout-v1 {
  display: none;
}

#mkt-finance-intel {
  --finance-stress-panel-bg: #050914;
  --finance-stress-card-bg: #0b1728;
  --finance-stress-subcard-bg: #0f1f35;
  --finance-stress-table-bg: #091525;
  --finance-stress-border: rgba(118,200,255,0.18);
  background: var(--finance-stress-panel-bg) !important;
}

body.theme-light #mkt-finance-intel {
  --finance-stress-panel-bg: #f6f8fb;
  --finance-stress-card-bg: #ffffff;
  --finance-stress-subcard-bg: #eef3fa;
  --finance-stress-table-bg: #ffffff;
  --finance-stress-border: rgba(15,23,42,0.16);
}

#mkt-finance-intel.active {
  display: block !important;
  position: relative;
  isolation: isolate;
  contain: layout paint;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--finance-stress-panel-bg) !important;
}

#mkt-finance-intel.active > *,
#mkt-finance-intel.active :where(section, article, aside, div, details, summary, table, thead, tbody, tr, th, td) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

#mkt-finance-intel.active > *,
#mkt-finance-intel.active :where(#mkt-finance-intel-funding, #mkt-finance-intel-macro, #mkt-finance-intel-sovereign, #mkt-finance-intel-reserve, #mkt-finance-intel-derivatives, .watchtower-data-points-mount, .watchtower-domain-signals-mount) {
  display: block;
  position: relative;
  z-index: 1;
  clear: both;
  width: 100%;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#mkt-finance-intel.active :where(.card, .watchtower-summary-card, .brief-summary-card, .brief-signal-card, .watchtower-summary-note, .watchtower-summary-meta, .news-item, div[style*="background:var(--bg-card)"], div[style*="background: var(--bg-card)"], div[style*="background:linear-gradient"], div[style*="background: linear-gradient"]) {
  background: var(--finance-stress-card-bg) !important;
  opacity: 1 !important;
  border-color: var(--finance-stress-border);
}

#mkt-finance-intel.active :where(div[style*="display:grid"], div[style*="display: grid"], .watchtower-summary-grid) {
  display: grid !important;
  position: relative;
  z-index: 1;
  align-items: stretch;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  opacity: 1 !important;
}

#mkt-finance-intel.active :where(.data-table, table) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  white-space: nowrap;
  background: var(--finance-stress-table-bg) !important;
  opacity: 1 !important;
  border-radius: 8px;
  -webkit-overflow-scrolling: touch;
}

#mkt-finance-intel.active :where(thead, tbody, tr, th, td) {
  background: var(--finance-stress-table-bg) !important;
  opacity: 1 !important;
}

#mkt-finance-intel.active :where(th, td, .watchtower-summary-note, .watchtower-summary-meta, .news-title, .news-summary, a) {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 980px) {
  #mkt-finance-intel.active :where(div[style*="grid-template-columns:repeat(2"], div[style*="grid-template-columns: repeat(2"], div[style*="grid-template-columns:repeat(3"], div[style*="grid-template-columns: repeat(3"], div[style*="grid-template-columns:repeat(4"], div[style*="grid-template-columns: repeat(4"]) {
    grid-template-columns: 1fr !important;
  }
}

/* Sovereign/Consumer Financial Stress guard: separate local history, hotspots, and warnings. */
.watchtower-sovereign-consumer-layout-v1 {
  display: none;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer).finance-sovereign-consumer-panel,
:where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve).finance-sovereign-reserve-panel {
  display: block !important;
  position: relative;
  isolation: isolate;
  clear: both;
  width: 100%;
  max-width: 100%;
  overflow: visible !important;
  background: var(--finance-stress-panel-bg, #050914) !important;
  opacity: 1 !important;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer, #mkt-finance-intel-reserve, #mkt-sovereign-reserve) :where(.finance-sovereign-labor-history, .finance-sovereign-consumer-hotspots, .finance-sovereign-consumer-hotspot-card, .finance-sovereign-reserve-history, .finance-sovereign-reserve-alert) {
  position: relative;
  z-index: 1;
  clear: both;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  background: var(--finance-stress-card-bg, #0b1728) !important;
  border: 1px solid var(--finance-stress-border, rgba(118,200,255,0.18));
  border-radius: 8px;
  opacity: 1 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-labor-history,
:where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve) .finance-sovereign-reserve-history {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 10px;
  padding: 8px;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-consumer-hotspots {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0 0;
  background: transparent !important;
  border: 0;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-consumer-hotspot-card,
:where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve) .finance-sovereign-reserve-alert {
  padding: 8px;
  overflow: visible !important;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer, #mkt-finance-intel-reserve, #mkt-sovereign-reserve) :where(.finance-sovereign-consumer-hotspot-title, .finance-sovereign-history-title) {
  display: block;
  position: relative;
  z-index: 2;
  margin: 0 0 6px;
  padding: 0;
  background: transparent !important;
  opacity: 1 !important;
  white-space: normal;
  overflow-wrap: anywhere;
}

:where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-consumer-hotspot-card .data-table,
:where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve).finance-sovereign-reserve-panel .data-table {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  overflow-x: auto !important;
  overflow-y: visible !important;
  background: var(--finance-stress-table-bg, #091525) !important;
  opacity: 1 !important;
}

:where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve) .finance-sovereign-reserve-alert {
  margin: 0 0 6px;
}

@media (max-width: 980px) {
  :where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-consumer-hotspots,
  :where(#mkt-finance-intel-sovereign, #mkt-sovereign-consumer) .finance-sovereign-labor-history,
  :where(#mkt-finance-intel-reserve, #mkt-sovereign-reserve) .finance-sovereign-reserve-history {
    grid-template-columns: 1fr !important;
  }
}

.aircraft-mini-globe-panel {
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: #050914;
}

.aircraft-live-traffic-panel {
  padding: 8px;
  border-bottom: 1px solid var(--border);
  background: #050914;
}

.aircraft-live-traffic-frame {
  position: relative;
  height: min(62vh, 620px);
  min-height: 420px;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.24);
  border-radius: 12px;
  background: #030712;
}

.aircraft-live-traffic-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.aircraft-mini-globe-head {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}

.aircraft-mini-globe-head span:last-child {
  margin-left: auto;
  letter-spacing: 0;
}

.aircraft-mini-globe {
  position: relative;
  height: min(42vh, 390px);
  min-height: 300px;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgba(118,200,255,0.22);
  border-radius: 12px;
  background: #030712;
}

.aircraft-mini-globe .cesium-viewer,
.aircraft-mini-globe .cesium-viewer-cesiumWidgetContainer,
.aircraft-mini-globe .cesium-widget,
.aircraft-mini-globe .cesium-widget-contents,
.aircraft-mini-globe .cesium-sceneModePicker-wrapper,
.aircraft-mini-globe canvas {
  background: #030712 !important;
}

.aircraft-mini-globe .cesium-viewer,
.aircraft-mini-globe .cesium-viewer-cesiumWidgetContainer,
.aircraft-mini-globe .cesium-widget,
.aircraft-mini-globe .cesium-widget-contents,
.aircraft-mini-globe canvas {
  width: 100% !important;
  height: 100% !important;
}

.aircraft-mini-globe .cesium-widget-credits,
.aircraft-mini-globe .cesium-credit-logoContainer,
.aircraft-mini-globe .cesium-credit-textContainer {
  display: none !important;
}

.aircraft-mini-globe-detail {
  margin-top: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(118,200,255,0.16);
  border-radius: 8px;
  background: #0b1728;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

body.watchtower-map-lightbox-open {
  overflow: hidden !important;
}

.watchtower-map-lightbox {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: none;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: clamp(10px, 1.5vw, 20px);
  background: rgba(2, 7, 14, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.watchtower-map-lightbox.visible {
  display: grid;
}

.watchtower-map-lightbox-head {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(118, 200, 255, 0.28);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(11, 24, 40, 0.98), rgba(6, 14, 25, 0.98));
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.watchtower-map-lightbox-title {
  min-width: 0;
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 700;
  color: var(--text-bright);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.watchtower-map-lightbox-hint {
  margin-left: auto;
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
  white-space: nowrap;
}

.watchtower-map-lightbox-close {
  flex: 0 0 auto;
  border-color: rgba(118, 200, 255, 0.46) !important;
  color: var(--text-bright) !important;
  background: rgba(118, 200, 255, 0.12) !important;
}

.watchtower-map-lightbox-stage {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(118, 200, 255, 0.28);
  border-radius: 14px;
  background: #030712;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
}

.watchtower-map-lightbox-stage > .watchtower-map-lightbox-live-node {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden;
}

.watchtower-map-lightbox-stage > :is(#signalBoardPanel, #watchtowerSearchPanel) {
  overflow-y: auto !important;
  overscroll-behavior: contain;
}

.watchtower-map-lightbox-stage > #signalBoardPanel .signal-board-grid {
  min-height: 280px;
}

.watchtower-map-lightbox-stage [data-map-lightbox-open] {
  visibility: hidden !important;
  pointer-events: none !important;
}

.watchtower-map-lightbox-stage > .infra-wrap {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.watchtower-map-lightbox-stage .infra-topbar {
  max-height: min(30vh, 250px);
  overflow: auto;
  background: #08121f;
}

.watchtower-map-lightbox-stage .commodity-atlas-stage {
  height: 100% !important;
  min-height: 0 !important;
}

.watchtower-map-lightbox-stage .infra-map {
  height: 100% !important;
  min-height: 0 !important;
}

.watchtower-map-lightbox-stage > .aircraft-mini-globe-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage .aircraft-mini-globe {
  height: 100% !important;
  min-height: 0 !important;
}

.watchtower-map-lightbox-iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #030712;
}

.watchtower-map-lightbox-nested-trigger {
  visibility: hidden !important;
  pointer-events: none !important;
}

.map-lightbox-open-btn {
  flex: 0 0 auto;
  border-color: rgba(118, 200, 255, 0.36) !important;
  color: var(--text-bright) !important;
  background: rgba(118, 200, 255, 0.09) !important;
}

.watchtower-surface-fullscreen-btn {
  min-height: 34px;
  padding-inline: 11px;
  white-space: nowrap;
}

.watchtower-search-surface-tools {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.globe-hud .map-lightbox-open-btn {
  min-width: 76px;
}

@media (max-width: 700px) {
  .watchtower-map-lightbox {
    gap: 0;
    padding: 0;
  }
  .watchtower-map-lightbox-head,
  .watchtower-map-lightbox-stage {
    border-radius: 0;
  }
  .watchtower-map-lightbox-head {
    padding: 9px 10px;
  }
  .watchtower-map-lightbox-hint {
    display: none;
  }
  .watchtower-map-lightbox-stage .infra-topbar {
    max-height: 32vh;
  }
  .watchtower-map-lightbox-stage .commodity-atlas-stage {
    position: relative;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr);
  }
  .watchtower-map-lightbox-stage .commodity-atlas-panel[data-map-sheet] {
    display: grid;
    position: absolute;
    inset: auto 0 0;
    z-index: 5;
    width: 100%;
    max-width: none;
    min-height: 0;
    box-sizing: border-box;
    border-left: 0;
    padding-bottom: max(9px, env(safe-area-inset-bottom));
  }
  .watchtower-surface-fullscreen-btn {
    min-height: 40px;
  }
}

.tab-content.active > :where(.infra-wrap, #liveuamapPanel, .signal-board-panel, .simple-alert-board),
.tab-content.active :where(.infra-map, .commodity-atlas-stage, .liveuamap-map, .liveuamap-shell) {
  min-height: min(76vh, 820px);
}

#cb-livemaps.active { overflow-y: auto !important; }
#cb-livemaps.active > #liveuamapMapStage { flex: 0 0 640px; }
#cb-livemaps.active > #liveuamapPanel { flex: 0 0 auto; height: min(76vh, 820px) !important; min-height: 620px !important; }

.watchtower-map-lightbox-stage > #liveuamapMapStage {
  width: 100%;
  max-width: 100% !important;
  height: 100%;
  min-height: 0;
  min-width: 0 !important;
  margin: 0;
  border-radius: 0;
  box-sizing: border-box;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage #liveuamapMap { min-height: 0; }
.watchtower-map-lightbox-stage .conflict-map-actions .watchtower-map-lightbox-nested-trigger { display: none !important; }
.watchtower-map-lightbox-stage :where(.conflict-map-toolbar, .conflict-map-basemaps, .conflict-map-controls, .conflict-map-actions) { min-width: 0; max-width: 100%; box-sizing: border-box; }

@media (max-width: 900px) {
  #cb-livemaps.active > #liveuamapMapStage { flex-basis: 590px; }
  #cb-livemaps.active > #liveuamapPanel { height: 980px !important; min-height: 980px !important; }
  .watchtower-map-lightbox-stage > #liveuamapMapStage { height: 100%; min-height: 0; }
}

@media (max-width: 900px) {
  :where(.panel-body, .center-tabs-area .panel-body, .tab-content.active, #cryptoIntelPanel, #globalBondIntelPanel, #watchtowerDataAskPanel, #watchtowerAiAnalysisPanel) {
    max-height: none;
  }
  :where(.watchtower-summary-card.dataqa-search-card, .intel-os-copilot-panel, .deep-analyst-panel) {
    max-height: min(76vh, 820px);
  }
}

.watchtower-safe-map-stage {
  position: relative;
  display: grid;
  gap: 0;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(89, 219, 232, 0.24);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(8, 21, 35, 0.98), rgba(4, 12, 23, 0.99));
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.24);
}

#cb-intelmatrix.active > .risk-overview-map-stage {
  display: grid !important;
}

.watchtower-safe-map-toolbar,
.watchtower-safe-map-basemaps,
.watchtower-safe-map-source-status,
.watchtower-safe-map-legend,
.watchtower-safe-map-caveat {
  min-width: 0;
  padding: 7px 9px;
  border-bottom: 1px solid rgba(89, 219, 232, 0.14);
  font-family: var(--font-mono);
  font-size: 9px;
  color: var(--text-muted);
}

.watchtower-safe-map-toolbar,
.watchtower-safe-map-basemaps,
.watchtower-safe-map-legend {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.watchtower-safe-map-title {
  color: var(--text-bright);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.watchtower-safe-map-toolbar .watchtower-safe-map-spacer { margin-left: auto; }
.watchtower-safe-map-basemaps .infra-pill { margin-left: auto; }
.watchtower-safe-map-source-status { line-height: 1.45; }
.watchtower-safe-map-source-rail {
  display: flex;
  gap: 6px;
  min-width: 0;
  padding: 7px 9px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(89, 219, 232, 0.14);
  scrollbar-width: thin;
}

#geoRiskDiscoveryMapSources[hidden] { display: none; }

.watchtower-safe-map-source-card {
  flex: 0 0 min(260px, 72vw);
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid rgba(89, 219, 232, 0.16);
  border-radius: 6px;
  background: rgba(14, 31, 48, 0.82);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.35;
}

.watchtower-safe-map-source-card a { color: #bceff3; text-decoration: none; }
.watchtower-safe-map-source-card a:hover { text-decoration: underline; }
.watchtower-safe-map-source-card-meta { margin-top: 3px; color: var(--text-muted); }
.watchtower-safe-map-caveat {
  border-top: 1px solid rgba(89, 219, 232, 0.14);
  border-bottom: 0;
  color: #a9bac8;
  line-height: 1.45;
}

.watchtower-safe-map-canvas {
  position: relative;
  width: 100%;
  height: clamp(320px, 43vh, 480px);
  min-height: 320px;
  background: #06101d;
}

.watchtower-safe-map-fallback {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: none;
  place-items: center;
  padding: 24px;
  background: rgba(4, 12, 23, 0.94);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 10px;
  line-height: 1.5;
  text-align: center;
}

.watchtower-safe-map-fallback.visible { display: grid; }

.watchtower-safe-map-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.watchtower-safe-map-legend-swatch {
  width: 9px;
  height: 9px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 50%;
}

#geoRiskDiscoveryMap .maplibregl-popup-content,
#militaryAggregateMap .maplibregl-popup-content {
  max-width: min(390px, 86vw);
  border: 1px solid rgba(89, 219, 232, 0.3);
  border-radius: 5px;
  color: #dbe8ed;
  background: #07121f;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.5);
}

#geoRiskDiscoveryMap .maplibregl-popup-content *,
#militaryAggregateMap .maplibregl-popup-content * { font-family: var(--font-mono); }

.watchtower-map-lightbox-stage > :where(#geoRiskDiscoveryMapStage, #militaryAggregateMapStage) {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  border-radius: 0;
}

.watchtower-map-lightbox-stage > #geoRiskDiscoveryMapStage {
  grid-template-rows: auto auto auto minmax(64px, auto) minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage > #militaryAggregateMapStage {
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto;
}

.watchtower-map-lightbox-stage :where(#geoRiskDiscoveryMap, #militaryAggregateMap) {
  height: 100%;
  min-height: 0;
}

@media (max-width: 700px) {
  .watchtower-safe-map-stage { margin: 6px; border-radius: 7px; }
  .watchtower-safe-map-toolbar,
  .watchtower-safe-map-basemaps,
  .watchtower-safe-map-source-status,
  .watchtower-safe-map-source-rail,
  .watchtower-safe-map-legend,
  .watchtower-safe-map-caveat { padding: 6px; }
  .watchtower-safe-map-toolbar .watchtower-safe-map-spacer { margin-left: 0; }
  .watchtower-safe-map-toolbar .watchtower-safe-map-title { flex: 1 1 100%; }
  .watchtower-safe-map-basemaps .infra-pill { flex: 1 1 100%; margin-left: 0; }
  .watchtower-safe-map-toolbar .layout-mini-btn,
  .watchtower-safe-map-basemaps .layout-mini-btn,
  .watchtower-map-lightbox-close { min-height: 40px; padding: 8px 10px; }
  .watchtower-safe-map-canvas { height: 300px; min-height: 280px; }
  .watchtower-map-lightbox-stage > #geoRiskDiscoveryMapStage,
  .watchtower-map-lightbox-stage > #militaryAggregateMapStage { margin: 0; overflow-y: auto; }
  .watchtower-map-lightbox-stage :where(#geoRiskDiscoveryMap, #militaryAggregateMap) { height: 100%; min-height: 280px; }
}

@media (prefers-reduced-motion: reduce) {
  .watchtower-safe-map-stage,
  .watchtower-safe-map-stage * {
    scroll-behavior: auto !important;
    transition-duration: 0s !important;
    animation: none !important;
  }
}

#cb-military.active > .military-command-stage { display: grid !important; }

.military-command-stage {
  --mil-command-cyan: #59dbe8;
  --mil-command-blue: #70a5ff;
  --mil-command-red: #ff5d73;
  --mil-command-amber: #ffb347;
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto;
  border-color: rgba(89, 219, 232, 0.34);
  background:
    linear-gradient(rgba(89, 219, 232, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(89, 219, 232, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 18% -20%, rgba(46, 167, 184, 0.18), transparent 42%),
    linear-gradient(180deg, #07131f, #030913 78%);
  background-size: 24px 24px, 24px 24px, auto, auto;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.44), inset 0 0 60px rgba(5, 214, 231, 0.035);
}

.military-command-header {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border-bottom: 1px solid rgba(89, 219, 232, 0.18);
}

.military-command-identity { min-width: 0; }
.military-command-kicker {
  display: block;
  margin-bottom: 3px;
  color: var(--mil-command-cyan);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.18em;
}

.military-command-title {
  display: block;
  color: #effcff;
  font-family: var(--font-mono);
  font-size: clamp(12px, 1.4vw, 17px);
  letter-spacing: 0.08em;
  text-shadow: 0 0 18px rgba(89, 219, 232, 0.22);
}

.military-command-subtitle {
  display: block;
  margin-top: 3px;
  color: #89a5b6;
  font-family: var(--font-mono);
  font-size: 8px;
  letter-spacing: 0.04em;
}

.military-command-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.military-command-actions .infra-pill { color: #bdeff3; border-color: rgba(89, 219, 232, 0.28); }

.military-command-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: rgba(89, 219, 232, 0.12);
  border-bottom: 1px solid rgba(89, 219, 232, 0.16);
}

.military-command-metric {
  min-width: 0;
  padding: 7px 9px;
  background: rgba(3, 11, 20, 0.88);
  font-family: var(--font-mono);
}

.military-command-metric span { display: block; overflow: hidden; color: #7894a7; font-size: 7px; letter-spacing: 0.1em; text-overflow: ellipsis; white-space: nowrap; }
.military-command-metric strong { display: block; margin-top: 3px; overflow: hidden; color: #e8f8fb; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.military-command-metric[data-tone="warn"] strong { color: var(--mil-command-amber); }
.military-command-metric[data-tone="alert"] strong { color: var(--mil-command-red); }

.military-command-controls {
  display: flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  padding: 7px 9px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(89, 219, 232, 0.14);
  font-family: var(--font-mono);
  font-size: 8px;
  color: #7894a7;
  scrollbar-width: thin;
}

.military-command-controls > span { flex: 0 0 auto; color: #89a9bb; letter-spacing: 0.1em; }
.military-command-layer-toggle { flex: 0 0 auto; border-color: rgba(89, 219, 232, 0.2); color: #91a9b8; }
.military-command-layer-toggle.active { border-color: rgba(89, 219, 232, 0.64); color: #eaffff; background: rgba(89, 219, 232, 0.14); box-shadow: inset 0 0 16px rgba(89, 219, 232, 0.08); }

.military-command-source-status {
  padding: 6px 9px;
  border-bottom: 1px solid rgba(89, 219, 232, 0.14);
  color: #91a9b8;
  font-family: var(--font-mono);
  font-size: 8px;
  line-height: 1.5;
}

.military-command-frame {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 29%);
  height: clamp(460px, 64vh, 680px);
  min-height: 430px;
  background: #020811;
}

.military-command-frame > #militaryAggregateMap { height: 100%; min-height: 430px; }
.military-command-rail {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  border-left: 1px solid rgba(89, 219, 232, 0.18);
  background: linear-gradient(180deg, rgba(8, 20, 32, 0.98), rgba(3, 10, 18, 0.99));
}

.military-command-rail-head,
.military-command-selected,
.military-command-source-grid { padding: 8px; border-bottom: 1px solid rgba(89, 219, 232, 0.12); }
.military-command-rail-label { color: var(--mil-command-cyan); font-family: var(--font-mono); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; }
.military-command-locate { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; margin-top: 6px; }
.military-command-locate select { min-width: 0; padding: 5px 6px; border: 1px solid rgba(89, 219, 232, 0.24); border-radius: 4px; color: #dceff3; background: #07121f; font: 9px var(--font-mono); }
.military-command-selected { min-height: 58px; color: #93aebb; font: 9px/1.5 var(--font-mono); }
.military-command-selected strong { display: block; margin-bottom: 3px; color: #eefcff; font-size: 10px; }
.military-command-events { min-height: 0; padding: 7px; overflow-y: auto; scrollbar-width: thin; }
.military-command-event { display: block; width: 100%; margin-bottom: 5px; padding: 6px 7px; border: 1px solid rgba(255, 93, 115, 0.2); border-left: 3px solid var(--mil-command-red); border-radius: 5px; color: #dbe8ed; background: rgba(18, 24, 34, 0.88); font: 9px/1.4 var(--font-mono); text-align: left; }
.military-command-event:hover,
.military-command-event:focus-visible { border-color: rgba(255, 93, 115, 0.62); outline: none; background: rgba(30, 35, 47, 0.96); }
.military-command-event span { display: block; margin-top: 2px; color: #8299a8; font-size: 8px; }
.military-command-source-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; border-bottom: 0; }
.military-command-source { min-width: 0; padding: 5px; border: 1px solid rgba(89, 219, 232, 0.13); border-radius: 4px; color: #7894a7; font: 8px/1.35 var(--font-mono); }
.military-command-source strong { display: block; overflow: hidden; color: #cce9ee; text-overflow: ellipsis; white-space: nowrap; }

.military-command-legend { justify-content: flex-start; }
.military-command-legend .watchtower-safe-map-legend-swatch[data-shape="square"] { border-radius: 2px; }
#militaryAggregateMap .maplibregl-popup-content { max-width: min(420px, 88vw); }

.watchtower-map-lightbox-stage > #militaryAggregateMapStage.military-command-stage { grid-template-rows: auto auto auto auto auto minmax(0, 1fr) auto; overflow: hidden; }
.watchtower-map-lightbox-stage .military-command-frame { min-height: 0; height: 100%; }
.watchtower-map-lightbox-stage .military-command-frame > #militaryAggregateMap { min-height: 0; }

@media (max-width: 900px) {
  .military-command-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .military-command-frame { grid-template-columns: 1fr; grid-template-rows: minmax(340px, 52dvh) auto; height: auto; min-height: 0; }
  .military-command-frame > #militaryAggregateMap { min-height: 340px; }
  .military-command-rail { grid-template-rows: auto auto minmax(140px, 260px) auto; min-height: 320px; overflow-y: auto; border-top: 1px solid rgba(89, 219, 232, 0.18); border-left: 0; }
  .watchtower-map-lightbox-stage > #militaryAggregateMapStage.military-command-stage { overflow-y: auto; }
  .watchtower-map-lightbox-stage .military-command-frame { height: auto; }
}

@media (max-width: 620px) {
  .military-command-header { grid-template-columns: 1fr; }
  .military-command-actions { justify-content: flex-start; }
  .military-command-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .military-command-frame { grid-template-rows: 310px auto; height: auto; min-height: 0; }
  .military-command-frame > #militaryAggregateMap { min-height: 310px; }
}

/* Global health command: laboratory green, evidence-tier accents, no inferred geometry. */
#cb-health {
  max-width: 100%;
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(34, 211, 167, 0.13), transparent 28%),
    radial-gradient(circle at 94% 3%, rgba(183, 243, 74, 0.07), transparent 24%),
    linear-gradient(rgba(74, 222, 174, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(74, 222, 174, 0.022) 1px, transparent 1px),
    #030b09;
  background-size: auto, auto, 26px 26px, 26px 26px, auto;
}
#cb-health.active > #healthCommandStage { display: grid !important; }
.health-command-stage,
.health-command-stage * { box-sizing: border-box; }
.health-command-stage,
.health-command-frame,
.health-command-map-wrap,
.health-command-rail { min-width: 0; max-width: 100%; }
.health-command-stage {
  --health-lab: #05130f;
  --health-teal: #22d3a7;
  --health-lime: #b7f34a;
  --health-amber: #f2bd55;
  --health-coral: #ff776d;
  --health-claim: #ff78aa;
  --health-line: rgba(74, 222, 174, 0.2);
  display: grid;
  grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  width: calc(100% - 16px);
  min-height: 760px;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(74, 222, 174, 0.34);
  border-radius: 9px;
  color: #dff8ee;
  background: radial-gradient(ellipse at 22% -10%, rgba(34, 211, 167, 0.16), transparent 36%), linear-gradient(135deg, rgba(183, 243, 74, 0.025), transparent 42%), var(--health-lab);
  box-shadow: 0 20px 52px rgba(0, 0, 0, 0.42), inset 0 1px rgba(190, 255, 228, 0.045);
  font-family: var(--font-mono);
}
.health-command-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px 13px;
  overflow: hidden;
  border-bottom: 1px solid var(--health-line);
  background: linear-gradient(102deg, rgba(34, 211, 167, 0.1), rgba(5, 19, 15, 0.92) 52%, rgba(183, 243, 74, 0.06));
}
.health-command-head::after {
  content: '';
  position: absolute;
  top: -88px;
  right: 55px;
  width: 206px;
  height: 206px;
  border: 1px solid rgba(183, 243, 74, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(34, 211, 167, 0.018), 0 0 0 38px rgba(183, 243, 74, 0.012);
  pointer-events: none;
}
.health-command-identity,
.health-command-actions { position: relative; z-index: 1; min-width: 0; }
.health-command-kicker { color: var(--health-lime); font-size: 8px; font-weight: 900; letter-spacing: 0.17em; text-transform: uppercase; }
.health-command-title { display: block; margin-top: 3px; color: #f2fff9; font-size: clamp(15px, 2vw, 23px); font-weight: 900; line-height: 1.04; letter-spacing: -0.025em; text-transform: uppercase; text-shadow: 0 0 22px rgba(34, 211, 167, 0.2); }
.health-command-subtitle { display: block; max-width: 850px; margin-top: 5px; color: #87aa9d; font-size: 8px; line-height: 1.45; letter-spacing: 0.045em; }
.health-command-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.health-command-actions .layout-mini-btn,
.health-command-basemaps .layout-mini-btn,
.health-command-layer-toggle,
.health-command-locate-btn { border-color: rgba(74, 222, 174, 0.26) !important; color: #b6d8cb !important; background: rgba(3, 13, 10, 0.82) !important; }
.health-command-actions .layout-mini-btn:hover,
.health-command-basemaps .layout-mini-btn:hover,
.health-command-basemaps .layout-mini-btn.active,
.health-command-layer-toggle:hover,
.health-command-layer-toggle.active,
.health-command-locate-btn:hover { border-color: var(--health-lime) !important; color: #efffdc !important; background: rgba(183, 243, 74, 0.09) !important; }
.health-command-state {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 8px;
  border: 1px solid rgba(34, 211, 167, 0.42);
  border-radius: 999px;
  color: var(--health-teal);
  background: rgba(34, 211, 167, 0.075);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.health-command-state[data-state="loading"] { color: var(--health-amber); border-color: rgba(242, 189, 85, 0.48); }
.health-command-state[data-state="degraded"] { color: var(--health-coral); border-color: rgba(255, 119, 109, 0.52); }
.health-command-state[data-state="stale"] { color: #ffc86b; border-color: rgba(255, 200, 107, 0.54); }
.health-command-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1px; border-bottom: 1px solid var(--health-line); background: rgba(74, 222, 174, 0.12); }
.health-command-metric { min-width: 0; padding: 8px 10px; background: rgba(3, 14, 11, 0.94); }
.health-command-metric-label { overflow: hidden; color: #648f7f; font-size: 7px; font-weight: 800; letter-spacing: 0.1em; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.health-command-metric-value { margin-top: 3px; overflow: hidden; color: #eafff5; font-size: 15px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.health-command-metric-meta { margin-top: 2px; overflow: hidden; color: #678679; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.health-command-metric[data-tone="lime"] .health-command-metric-value { color: var(--health-lime); }
.health-command-metric[data-tone="warn"] .health-command-metric-value { color: var(--health-amber); }
.health-command-metric[data-tone="claim"] .health-command-metric-value { color: var(--health-claim); }
.health-command-basemaps,
.health-command-layers {
  display: flex;
  gap: 5px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 6px 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid rgba(74, 222, 174, 0.12);
  background: rgba(5, 18, 14, 0.96);
  scrollbar-width: thin;
  scrollbar-color: rgba(74, 222, 174, 0.34) transparent;
  overscroll-behavior-inline: contain;
}
.health-command-control-label { flex: 0 0 auto; color: #6b9485; font-size: 8px; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.health-command-basemaps .infra-pill { flex: 0 0 auto; margin-left: auto; color: #8db7a8; border-color: rgba(74, 222, 174, 0.22); }
.health-command-layer-toggle { flex: 0 0 auto; min-height: 27px; padding: 5px 8px; border: 1px solid rgba(74, 222, 174, 0.2); border-radius: 999px; font: 800 8px/1.1 var(--font-mono); letter-spacing: 0.035em; cursor: pointer; }
.health-command-layer-toggle.active { box-shadow: inset 0 -2px 0 var(--health-teal); }
.health-command-layer-toggle[data-health-command-layer="alternative-health"] { border-color: rgba(255, 120, 170, 0.48) !important; color: #ffacd0 !important; }
.health-command-layer-toggle[data-health-command-layer="alternative-health"].active { background: rgba(255, 120, 170, 0.1) !important; box-shadow: inset 0 -2px 0 var(--health-claim); }
.health-command-layer-toggle[data-health-command-layer="capacity"] { border-style: dashed; color: #9cad9f !important; }
.health-command-frame { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, 32%); height: clamp(540px, 68vh, 760px); min-height: 500px; overflow: hidden; background: #020906; }
.health-command-map-wrap { position: relative; min-height: 500px; overflow: hidden; }
.health-command-map { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; background: radial-gradient(circle at center, #0a231a, #020906 72%); }
.health-command-map-fallback { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 24px; color: #91ab9e; background: radial-gradient(circle, rgba(34, 211, 167, 0.1), rgba(2, 9, 6, 0.97)); font-size: 9px; line-height: 1.55; text-align: center; }
.health-command-map-fallback.visible { display: grid; }
.health-command-map-stamp { position: absolute; z-index: 3; left: 8px; bottom: 26px; max-width: min(430px, calc(100% - 70px)); padding: 4px 6px; border: 1px solid rgba(74, 222, 174, 0.18); border-radius: 3px; color: #75978a; background: rgba(3, 13, 10, 0.86); font-size: 7px; line-height: 1.35; pointer-events: none; }
.health-command-rail { display: flex; flex-direction: column; min-height: 0; overflow-y: auto; overflow-x: hidden; border-left: 1px solid var(--health-line); background: linear-gradient(180deg, rgba(8, 30, 23, 0.99), rgba(3, 14, 11, 0.995)); scrollbar-width: thin; scrollbar-color: rgba(74, 222, 174, 0.34) transparent; }
.health-command-rail-section { min-width: 0; padding: 9px; border-bottom: 1px solid rgba(74, 222, 174, 0.12); }
.health-command-rail-label { color: var(--health-lime); font-size: 8px; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.health-command-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(105px, 0.55fr); gap: 5px; margin-top: 7px; }
.health-command-search,
.health-command-select { width: 100%; min-width: 0; min-height: 31px; padding: 6px 7px; border: 1px solid rgba(74, 222, 174, 0.24); border-radius: 4px; color: #def6ec; background: #051711; font: 9px var(--font-mono); }
.health-command-search { grid-column: 1 / -1; }
.health-command-locator { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px; margin-top: 5px; }
.health-command-locate-btn { min-height: 31px; border: 1px solid rgba(74, 222, 174, 0.24); border-radius: 4px; font: 800 8px var(--font-mono); cursor: pointer; }
.health-command-selected { color: #9cbbae; font-size: 9px; line-height: 1.5; overflow-wrap: anywhere; }
.health-command-selected-title { margin-top: 5px; color: #f1fff8; font-size: 11px; font-weight: 800; line-height: 1.35; }
.health-command-selected-meta { margin-top: 4px; color: #759689; font-size: 8px; line-height: 1.5; }
.health-command-selected a,
.health-command-source-card a,
.health-command-provider-card a,
.health-command-stat-table a { color: #8cf2cf; text-decoration: none; border-bottom: 1px dotted rgba(140, 242, 207, 0.48); }
.health-command-badge { display: inline-flex; align-items: center; margin: 0 4px 4px 0; padding: 2px 5px; border: 1px solid rgba(74, 222, 174, 0.3); border-radius: 2px; color: var(--health-teal); background: rgba(34, 211, 167, 0.06); font-size: 7px; font-weight: 900; letter-spacing: 0.055em; text-transform: uppercase; }
.health-command-badge.official { color: #76d7ff; border-color: rgba(118, 215, 255, 0.4); background: rgba(118, 215, 255, 0.07); }
.health-command-badge.corroborated { color: var(--health-lime); border-color: rgba(183, 243, 74, 0.38); background: rgba(183, 243, 74, 0.06); }
.health-command-badge.reported { color: var(--health-amber); border-color: rgba(242, 189, 85, 0.4); background: rgba(242, 189, 85, 0.07); }
.health-command-badge.unverified { color: #ff9ac2; border-color: rgba(255, 120, 170, 0.5); background: rgba(255, 120, 170, 0.08); }
.health-command-report-list { margin-top: 7px; }
.health-command-report { display: block; width: 100%; margin-bottom: 5px; padding: 7px 8px; border: 1px solid rgba(74, 222, 174, 0.14); border-left: 3px solid var(--health-teal); border-radius: 4px; color: #dcefe7; background: rgba(9, 31, 24, 0.82); font: 9px/1.4 var(--font-mono); text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.health-command-report:hover,
.health-command-report:focus-visible { border-color: rgba(183, 243, 74, 0.48); outline: none; background: rgba(13, 42, 31, 0.94); }
.health-command-report[data-category="alternative-health"] { border-left-color: var(--health-claim); background: rgba(54, 15, 35, 0.42); }
.health-command-report-title { display: block; color: #ecfff6; font-size: 9px; font-weight: 800; }
.health-command-report-meta { display: block; margin-top: 3px; color: #769486; font-size: 8px; }
.health-command-empty { padding: 8px; border: 1px dashed rgba(74, 222, 174, 0.2); border-radius: 4px; color: #78978a; font-size: 9px; line-height: 1.45; }
.health-command-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-top: 7px; }
.health-command-source-card,
.health-command-provider-card { min-width: 0; padding: 6px; border: 1px solid rgba(74, 222, 174, 0.14); border-left: 2px solid #526e62; border-radius: 4px; color: #78998b; background: rgba(4, 18, 13, 0.8); font-size: 8px; line-height: 1.4; overflow-wrap: anywhere; }
.health-command-source-card[data-state="live"],
.health-command-source-card[data-state="ok"],
.health-command-provider-card[data-state="available"] { border-left-color: var(--health-teal); }
.health-command-source-card[data-state="degraded"],
.health-command-source-card[data-state="stale"] { border-left-color: var(--health-amber); }
.health-command-source-card strong,
.health-command-provider-card strong { display: block; overflow: hidden; color: #dff5eb; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.health-command-stat-wrap { width: 100%; margin-top: 7px; overflow-x: auto; border: 1px solid rgba(74, 222, 174, 0.12); border-radius: 4px; }
.health-command-stat-table { width: 100%; border-collapse: collapse; color: #a7c0b5; font-size: 8px; }
.health-command-stat-table th,
.health-command-stat-table td { padding: 5px 6px; border-bottom: 1px solid rgba(255, 255, 255, 0.045); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.health-command-stat-table th { color: #87e5c5; background: #092119; font-size: 7px; letter-spacing: 0.055em; text-transform: uppercase; }
.health-command-caveat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; align-items: start; padding: 8px 10px; border-top: 1px solid var(--health-line); color: #94ada2; background: rgba(4, 15, 11, 0.98); font-size: 8px; line-height: 1.5; }
.health-command-caveat strong { color: var(--health-lime); letter-spacing: 0.08em; white-space: nowrap; }
#healthCommandMap .maplibregl-popup-content { max-width: min(410px, 88vw); border: 1px solid rgba(74, 222, 174, 0.35); border-radius: 5px; color: #dff4eb; background: #061711; box-shadow: 0 16px 42px rgba(0, 0, 0, 0.54); }
#healthCommandMap .maplibregl-popup-content * { font-family: var(--font-mono); }
#healthCommandMap .maplibregl-popup-tip { border-top-color: #061711; border-bottom-color: #061711; }
.watchtower-map-lightbox-stage > #healthCommandStage { width: 100% !important; height: 100% !important; min-height: 0 !important; margin: 0; border: 0; border-radius: 0; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; }
.watchtower-map-lightbox-stage #healthCommandStage .health-command-frame { height: 100%; min-height: 0; }
.watchtower-map-lightbox-stage #healthCommandStage .health-command-map-wrap { min-height: 0; }
.watchtower-map-lightbox-stage #healthCommandStage .watchtower-map-lightbox-nested-trigger { display: none !important; }
body.theme-light .health-command-stage { --health-lab: #edf7f2; --health-line: rgba(22, 123, 91, 0.2); color: #203b31; background: linear-gradient(180deg, rgba(239, 250, 245, 0.98), rgba(228, 242, 235, 0.98)); }
body.theme-light .health-command-head { background: linear-gradient(102deg, rgba(196, 238, 222, 0.98), rgba(246, 251, 248, 0.98) 55%, rgba(231, 247, 199, 0.84)); }
body.theme-light .health-command-title,
body.theme-light .health-command-metric-value { color: #16392c; }
body.theme-light .health-command-metric { background: rgba(250, 253, 251, 0.97); }
body.theme-light .health-command-basemaps,
body.theme-light .health-command-layers { background: rgba(230, 244, 237, 0.97); }
body.theme-light .health-command-rail { background: linear-gradient(180deg, #f4faf7, #eaf4ef); }
body.theme-light .health-command-search,
body.theme-light .health-command-select { color: #203b31; background: #fff; }
body.theme-light .health-command-report,
body.theme-light .health-command-source-card,
body.theme-light .health-command-provider-card { color: #38594c; background: rgba(255, 255, 255, 0.9); }
body.theme-light .health-command-report-title,
body.theme-light .health-command-source-card strong,
body.theme-light .health-command-provider-card strong,
body.theme-light .health-command-selected-title { color: #173c2e; }
@media (max-width: 980px) {
  .health-command-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .health-command-frame { grid-template-columns: 1fr; grid-template-rows: minmax(380px, 54dvh) auto; height: auto; min-height: 0; }
  .health-command-map-wrap { min-height: 380px; }
  .health-command-rail { max-height: none; overflow-y: visible; border-top: 1px solid var(--health-line); border-left: 0; }
  .watchtower-map-lightbox-stage > #healthCommandStage { overflow-y: auto; }
  .watchtower-map-lightbox-stage #healthCommandStage .health-command-frame { height: auto; }
}
@media (max-width: 620px) {
  #cb-health { width: 100%; max-width: 100%; }
  .health-command-stage { width: calc(100% - 8px); min-height: 0; margin: 4px; border-radius: 6px; }
  .health-command-head { grid-template-columns: 1fr; gap: 8px; padding: 10px 9px; }
  .health-command-actions { justify-content: flex-start; }
  .health-command-actions .layout-mini-btn,
  .health-command-state { min-height: 36px; }
  .health-command-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .health-command-metric { padding: 7px 8px; }
  .health-command-basemaps,
  .health-command-layers { padding: 6px; }
  .health-command-basemaps .layout-mini-btn,
  .health-command-layer-toggle { min-height: 36px; padding: 7px 9px; }
  .health-command-basemaps .infra-pill { margin-left: 0; }
  .health-command-frame { grid-template-rows: minmax(300px, 48dvh) auto; }
  .health-command-map-wrap { min-height: 300px; }
  .health-command-map-stamp { bottom: 22px; max-width: calc(100% - 58px); }
  .health-command-filter-grid { grid-template-columns: 1fr; }
  .health-command-search { grid-column: auto; }
  .health-command-card-grid { grid-template-columns: 1fr; }
  .health-command-caveat { grid-template-columns: 1fr; }
  .health-command-caveat strong { white-space: normal; }
}
@media (prefers-reduced-motion: reduce) {
  .health-command-stage,
  .health-command-stage *,
  .health-command-stage *::before,
  .health-command-stage *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: 0s !important; }
}

/* Crime command: incident evidence, reported signals, models, and non-incident context stay visually separate. */
#cb-crime.active > #crimeCommandStage { display: grid !important; }
.crime-command-stage,
.crime-command-stage * { box-sizing: border-box; }
.crime-command-stage {
  --crime-red: #ff5d73;
  --crime-amber: #f2bd55;
  --crime-violet: #c185f4;
  --crime-line: rgba(255, 93, 115, 0.2);
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  width: calc(100% - 16px);
  min-width: 0;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 93, 115, 0.34);
  border-radius: 9px;
  color: #e9edf2;
  background: radial-gradient(circle at 12% -20%, rgba(255, 93, 115, 0.16), transparent 35%), linear-gradient(180deg, #10090f, #05080f 74%);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.42), inset 0 1px rgba(255, 225, 230, 0.04);
  font-family: var(--font-mono);
}
.crime-command-head { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: 10px; align-items: center; padding: 9px 10px; border-bottom: 1px solid var(--crime-line); background: linear-gradient(105deg, rgba(255, 93, 115, 0.09), rgba(8, 10, 17, 0.94) 58%, rgba(193, 133, 244, 0.06)); }
.crime-command-identity,
.crime-command-actions { min-width: 0; }
.crime-command-kicker { color: var(--crime-red); font-size: 8px; font-weight: 900; letter-spacing: 0.16em; text-transform: uppercase; }
.crime-command-title { display: block; margin-top: 3px; color: #fff5f6; font-size: clamp(13px, 1.6vw, 18px); letter-spacing: 0.07em; text-transform: uppercase; }
.crime-command-subtitle { display: block; margin-top: 3px; color: #9d8790; font-size: 8px; line-height: 1.4; letter-spacing: 0.035em; }
.crime-command-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.crime-command-actions .layout-mini-btn,
.crime-command-basemaps .layout-mini-btn { border-color: rgba(255, 93, 115, 0.28) !important; color: #d8c2c7 !important; background: rgba(14, 8, 13, 0.86) !important; }
.crime-command-actions .layout-mini-btn:hover,
.crime-command-basemaps .layout-mini-btn:hover,
.crime-command-basemaps .layout-mini-btn.active { border-color: var(--crime-red) !important; color: #fff6f7 !important; background: rgba(255, 93, 115, 0.1) !important; }
.crime-command-state { display: inline-flex; align-items: center; min-height: 25px; max-width: min(360px, 42vw); padding: 3px 8px; overflow: hidden; border: 1px solid rgba(242, 189, 85, 0.4); border-radius: 999px; color: var(--crime-amber); background: rgba(242, 189, 85, 0.06); font-size: 8px; font-weight: 900; letter-spacing: 0.055em; text-overflow: ellipsis; white-space: nowrap; text-transform: uppercase; }
.crime-command-state[data-state="live"] { color: #7ee2a8; border-color: rgba(126, 226, 168, 0.42); }
.crime-command-state[data-state="unavailable"] { color: var(--crime-red); border-color: rgba(255, 93, 115, 0.5); }
.crime-command-basemaps { display: flex; gap: 5px; align-items: center; min-width: 0; padding: 6px 8px; overflow-x: auto; border-bottom: 1px solid rgba(255, 93, 115, 0.12); background: rgba(10, 8, 14, 0.96); scrollbar-width: thin; overscroll-behavior-inline: contain; }
.crime-command-control-label { flex: 0 0 auto; color: #987d85; font-size: 8px; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.crime-command-basemaps .infra-pill { flex: 0 0 auto; margin-left: auto; color: #b29da3; border-color: rgba(255, 93, 115, 0.2); }
.crime-command-map-shell { position: relative; width: 100%; min-width: 0; height: clamp(360px, 48vh, 560px); min-height: 340px; overflow: hidden; background: #05080f; }
.crime-command-map { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; background: radial-gradient(circle at center, #211019, #05080f 70%); }
.crime-command-map-fallback { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 24px; color: #b6a5aa; background: radial-gradient(circle, rgba(255, 93, 115, 0.09), rgba(5, 8, 15, 0.97)); font-size: 9px; line-height: 1.55; text-align: center; }
.crime-command-map-fallback.visible { display: grid; }
.crime-command-legend { position: absolute; z-index: 3; left: 8px; bottom: 24px; display: flex; gap: 7px; max-width: calc(100% - 70px); padding: 5px 7px; overflow-x: auto; border: 1px solid rgba(255, 93, 115, 0.18); border-radius: 4px; color: #b5a3a8; background: rgba(8, 8, 14, 0.88); font-size: 7px; white-space: nowrap; pointer-events: none; }
.crime-command-legend-item { display: inline-flex; gap: 4px; align-items: center; }
.crime-command-legend-swatch { width: 8px; height: 8px; border: 1px solid rgba(255, 255, 255, 0.58); border-radius: 50%; background: var(--crime-red); }
.crime-command-legend-swatch.reported { background: var(--crime-amber); }
.crime-command-legend-swatch.model { border: 2px solid var(--crime-violet); background: transparent; }
.crime-command-legend-swatch.context { border-radius: 2px; border-color: #91a2b2; background: rgba(145, 162, 178, 0.2); }
.crime-command-inspector { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; padding: 7px 9px; border-top: 1px solid rgba(255, 93, 115, 0.16); background: rgba(10, 8, 14, 0.98); }
.crime-command-inspector-control { display: grid; gap: 4px; min-width: 0; color: #987d85; font-size: 8px; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.crime-command-inspector select { width: 100%; min-width: 0; min-height: 31px; padding: 5px 7px; border: 1px solid rgba(255, 93, 115, 0.28); border-radius: 4px; color: #eadfe2; background: #110b11; font: 9px var(--font-mono); letter-spacing: 0; text-transform: none; }
.crime-command-inspector .layout-mini-btn { align-self: end; min-height: 31px; border-color: rgba(255, 93, 115, 0.34) !important; color: #eadfe2 !important; background: rgba(255, 93, 115, 0.08) !important; }
.crime-command-evidence-detail { grid-column: 1 / -1; min-width: 0; min-height: 46px; padding: 6px 8px; border: 1px solid rgba(255, 93, 115, 0.14); border-radius: 4px; color: #bba8ae; background: rgba(255, 255, 255, 0.018); font-size: 8px; line-height: 1.45; overflow-wrap: anywhere; }
.crime-command-evidence-detail strong { display: block; margin-bottom: 3px; color: #fff2f4; font-size: 9px; }
.crime-command-evidence-detail dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1px 7px; margin: 0; }
.crime-command-evidence-detail dt { color: #987d85; font-weight: 900; text-transform: uppercase; }
.crime-command-evidence-detail dd { min-width: 0; margin: 0; }
.crime-command-evidence-detail a { color: #ffb7c2; }
.crime-command-caveat { padding: 7px 9px; border-top: 1px solid var(--crime-line); color: #9b8c91; background: rgba(9, 8, 13, 0.98); font-size: 8px; line-height: 1.5; }
#crimeCommandMap .maplibregl-popup-content { max-width: min(410px, 88vw); border: 1px solid rgba(255, 93, 115, 0.34); border-radius: 5px; color: #eadfe2; background: #110b11; box-shadow: 0 16px 42px rgba(0, 0, 0, 0.55); }
#crimeCommandMap .maplibregl-popup-content * { font-family: var(--font-mono); }
#crimeCommandMap .maplibregl-popup-tip { border-top-color: #110b11; border-bottom-color: #110b11; }
.watchtower-map-lightbox-stage > #crimeCommandStage { width: 100% !important; height: 100% !important; min-height: 0 !important; margin: 0; border: 0; border-radius: 0; grid-template-rows: auto auto minmax(0, 1fr) auto auto; }
.watchtower-map-lightbox-stage #crimeCommandStage .crime-command-map-shell { height: 100%; min-height: 0; }
.watchtower-map-lightbox-stage #crimeCommandStage .watchtower-map-lightbox-nested-trigger { display: none !important; }
body.theme-light .crime-command-stage { color: #402a30; background: linear-gradient(180deg, #fff7f8, #f5ecef); }
body.theme-light .crime-command-head,
body.theme-light .crime-command-basemaps,
body.theme-light .crime-command-inspector,
body.theme-light .crime-command-caveat { background: rgba(255, 248, 249, 0.98); }
body.theme-light .crime-command-title { color: #4b202a; }
body.theme-light .crime-command-inspector select,
body.theme-light .crime-command-evidence-detail { color: #402a30; background: #fff; }
@media (max-width: 620px) {
  .crime-command-stage { width: calc(100% - 8px); margin: 4px; border-radius: 6px; }
  .crime-command-head { grid-template-columns: 1fr; gap: 7px; padding: 8px; }
  .crime-command-actions { justify-content: flex-start; }
  .crime-command-state { max-width: 100%; min-height: 36px; }
  .crime-command-actions .layout-mini-btn,
  .crime-command-basemaps .layout-mini-btn { min-height: 36px; padding: 7px 9px; }
  .crime-command-basemaps { padding: 6px; }
  .crime-command-basemaps .infra-pill { margin-left: 0; }
  .crime-command-map-shell { height: min(52dvh, 390px); min-height: 300px; }
  .crime-command-legend { right: 6px; left: 6px; bottom: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; max-height: 88px; overflow: auto; font-size: 9px; white-space: normal; pointer-events: auto; touch-action: pan-y; -webkit-overflow-scrolling: touch; }
  .crime-command-legend-item { align-items: flex-start; min-width: 0; line-height: 1.35; }
  .crime-command-legend-swatch { flex: 0 0 8px; margin-top: 1px; }
  .crime-command-inspector { grid-template-columns: minmax(0, 1fr) auto; }
  .crime-command-evidence-detail { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  .crime-command-stage,
  .crime-command-stage * { scroll-behavior: auto !important; animation: none !important; transition-duration: 0s !important; }
}

/* Owner-private P2 exposure monitor. This surface is intentionally isolated from cached/public UI. */
.watchtower-p2-monitor {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255, 203, 107, 0.28);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 203, 107, 0.055), rgba(7, 13, 24, 0.94));
  min-width: 0;
}

.watchtower-p2-monitor-head,
.watchtower-p2-actions,
.watchtower-p2-rule-actions,
.watchtower-p2-alert-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.watchtower-p2-monitor-head {
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 9px;
}

.watchtower-p2-classification {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 7px;
  border: 1px solid rgba(255, 203, 107, 0.42);
  border-radius: 999px;
  color: var(--solar);
  background: rgba(255, 203, 107, 0.1);
  font-family: var(--font-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.watchtower-p2-status,
.watchtower-p2-error {
  margin: 7px 0;
  padding: 7px 9px;
  border-left: 3px solid var(--accent);
  background: rgba(118, 200, 255, 0.055);
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  line-height: 1.45;
}

.watchtower-p2-error {
  border-left-color: var(--danger);
  color: var(--danger);
  background: rgba(255, 107, 107, 0.07);
}

.watchtower-p2-grid,
.watchtower-p2-assessment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  min-width: 0;
}

.watchtower-p2-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 9px;
}

.watchtower-p2-card {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.026);
}

.watchtower-p2-card + .watchtower-p2-card { margin-top: 7px; }

.watchtower-p2-hash,
.watchtower-p2-card code,
.watchtower-p2-card a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.watchtower-p2-status-label {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  color: var(--text-bright);
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.watchtower-p2-status-label::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--text-muted);
}

.watchtower-p2-status-label[data-status="complete"]::before,
.watchtower-p2-status-label[data-status="acknowledged"]::before,
.watchtower-p2-status-label[data-status="enabled"]::before { background: var(--up); }
.watchtower-p2-status-label[data-status="open"]::before { background: var(--danger); }
.watchtower-p2-status-label[data-status="failed"]::before { background: var(--danger); }
.watchtower-p2-status-label[data-status="indeterminate"]::before,
.watchtower-p2-status-label[data-status="partial"]::before,
.watchtower-p2-status-label[data-status="busy"]::before { background: var(--warn); }
.watchtower-p2-status-label[data-status="resolved"]::before,
.watchtower-p2-status-label[data-status="removed"]::before { background: var(--text-muted); }

.watchtower-p2-rule-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.watchtower-p2-field {
  display: grid;
  gap: 4px;
  min-width: 0;
  color: var(--text-muted);
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 0.025em;
}

.watchtower-p2-field.wide { grid-column: 1 / -1; }
.watchtower-p2-field input[type="text"],
.watchtower-p2-field input[type="number"] {
  width: 100%;
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid var(--border);
  border-radius: 5px;
  background: var(--bg-card);
  color: var(--text-bright);
  font-size: 10px;
}

.watchtower-p2-checks {
  display: flex;
  gap: 8px 12px;
  align-items: center;
  flex-wrap: wrap;
  color: var(--text-muted);
  font-size: 9px;
}

.watchtower-p2-checks label { display: inline-flex; align-items: center; gap: 4px; }
.watchtower-p2-path { border-left: 3px solid var(--accent); }
.watchtower-p2-caveat { color: var(--warn); }

body.theme-light .watchtower-p2-monitor {
  border-color: rgba(151, 114, 0, 0.3);
  background: linear-gradient(180deg, rgba(255, 247, 224, 0.94), rgba(244, 248, 252, 0.96));
  color: var(--text);
}

body.theme-light .watchtower-p2-card,
body.theme-light .watchtower-p2-field input[type="text"],
body.theme-light .watchtower-p2-field input[type="number"] {
  border-color: rgba(32, 52, 78, 0.16);
  background: rgba(255, 255, 255, 0.82);
  color: var(--text-bright);
}

body.theme-light .watchtower-p2-classification { color: #6d4700; }
body.theme-light .watchtower-p2-status { background: rgba(23, 109, 168, 0.07); }
body.theme-light .watchtower-p2-error { background: rgba(178, 43, 43, 0.08); }

.watchtower-p2-monitor :where(button, input, select):focus-visible {
  outline: 2px solid var(--solar);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .watchtower-p2-grid,
  .watchtower-p2-assessment-grid,
  .watchtower-p2-summary-grid,
  .watchtower-p2-rule-form {
    grid-template-columns: 1fr;
  }
  .watchtower-p2-field.wide { grid-column: auto; }
  .watchtower-p2-actions,
  .watchtower-p2-rule-actions,
  .watchtower-p2-alert-actions { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .watchtower-p2-monitor *,
  .watchtower-p2-monitor *::before,
  .watchtower-p2-monitor *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

/* Wealth / Affordability terminal. Scoped to the merged canonical tab. */
#cb-fuelstress {
  --wealth-amber: #f2b84b;
  --wealth-amber-soft: rgba(242, 184, 75, 0.12);
  --wealth-teal: #43d6c5;
  --wealth-teal-soft: rgba(67, 214, 197, 0.11);
  --wealth-indigo: #7c83ff;
  --wealth-indigo-soft: rgba(124, 131, 255, 0.12);
  --wealth-ink: #050914;
  --wealth-panel: #09111e;
  --wealth-line: rgba(126, 222, 211, 0.18);
  overflow-x: hidden !important;
  background:
    linear-gradient(rgba(67, 214, 197, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 131, 255, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 10% 0%, rgba(242, 184, 75, 0.1), transparent 30%),
    radial-gradient(circle at 95% 8%, rgba(124, 131, 255, 0.12), transparent 34%),
    var(--wealth-ink);
  background-size: 28px 28px, 28px 28px, auto, auto, auto;
}

.wealth-command-center,
.wealth-command-center * {
  box-sizing: border-box;
}

.wealth-command-center,
.wealth-view-panel,
.wealth-terminal-section,
.wealth-table-wrap,
.wealth-map-stage {
  min-width: 0;
  max-width: 100%;
}

.wealth-command-center {
  width: 100%;
  min-height: 100%;
  color: #dce8ef;
  font-family: var(--font-mono);
}

.wealth-command-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 16px 12px;
  overflow: hidden;
  border-bottom: 1px solid var(--wealth-line);
  background: linear-gradient(105deg, rgba(242, 184, 75, 0.11), rgba(67, 214, 197, 0.04) 48%, rgba(124, 131, 255, 0.11));
}

.wealth-command-head::after {
  content: '';
  position: absolute;
  right: -38px;
  top: -72px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(124, 131, 255, 0.28);
  border-radius: 50%;
  box-shadow: 0 0 0 18px rgba(124, 131, 255, 0.025), 0 0 0 36px rgba(67, 214, 197, 0.018);
  pointer-events: none;
}

.wealth-command-eyebrow,
.wealth-terminal-kicker {
  color: var(--wealth-teal);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.wealth-command-title {
  margin-top: 3px;
  color: #fff4d6;
  font-size: clamp(17px, 2.2vw, 27px);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.035em;
  text-transform: uppercase;
}

.wealth-command-subtitle {
  max-width: 760px;
  margin-top: 5px;
  color: #9db0bf;
  font-size: 9px;
  line-height: 1.45;
}

.wealth-command-actions {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.wealth-command-actions .layout-mini-btn,
.wealth-view-btn,
.wealth-filter-btn,
.wealth-metric-btn {
  border-color: rgba(67, 214, 197, 0.28) !important;
  background: rgba(5, 13, 24, 0.78) !important;
  color: #b9cbd5 !important;
}

.wealth-command-actions .layout-mini-btn:hover,
.wealth-view-btn:hover,
.wealth-filter-btn:hover,
.wealth-metric-btn:hover,
.wealth-view-btn.active,
.wealth-filter-btn.active,
.wealth-metric-btn.active {
  border-color: var(--wealth-amber) !important;
  color: #fff1ca !important;
  background: var(--wealth-amber-soft) !important;
}

.wealth-live-state {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(67, 214, 197, 0.28);
  border-radius: 3px;
  color: var(--wealth-teal);
  background: rgba(67, 214, 197, 0.07);
  font-size: 8px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.wealth-live-state[data-state="loading"],
.wealth-live-state[data-state="refreshing"] { color: var(--wealth-amber); border-color: rgba(242, 184, 75, 0.4); }
.wealth-live-state[data-state="degraded"] { color: var(--danger); border-color: rgba(255, 107, 107, 0.42); }
.wealth-live-state[data-state="replay"] { color: var(--wealth-indigo); border-color: rgba(124, 131, 255, 0.44); }

.wealth-summary-tape {
  display: flex;
  width: 100%;
  min-height: 62px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid var(--wealth-line);
  background: rgba(3, 8, 16, 0.78);
  scrollbar-width: thin;
  scrollbar-color: rgba(242, 184, 75, 0.35) transparent;
}

.wealth-tape-cell {
  flex: 1 0 150px;
  min-width: 0;
  padding: 9px 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.065);
}

.wealth-tape-label { color: #778a99; font-size: 8px; letter-spacing: 0.11em; text-transform: uppercase; }
.wealth-tape-value { margin-top: 4px; color: #f8e6b7; font-size: 15px; font-weight: 800; white-space: nowrap; }
.wealth-tape-meta { margin-top: 2px; color: #8297a5; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.wealth-view-nav,
.wealth-map-control-strip,
.wealth-map-basemaps,
.wealth-map-metrics {
  display: flex;
  gap: 6px;
  align-items: center;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(67, 214, 197, 0.34) transparent;
  -webkit-overflow-scrolling: touch;
}

.wealth-view-nav {
  padding: 7px 9px;
  border-bottom: 1px solid var(--wealth-line);
  background: rgba(8, 16, 29, 0.96);
}

.wealth-view-btn,
.wealth-filter-btn,
.wealth-metric-btn {
  flex: 0 0 auto;
  min-height: 27px;
  padding: 5px 9px;
  border: 1px solid rgba(67, 214, 197, 0.2);
  border-radius: 3px;
  font: 700 8px/1.15 var(--font-mono);
  letter-spacing: 0.065em;
  text-transform: uppercase;
  cursor: pointer;
}

.wealth-view-btn.active { box-shadow: inset 0 -2px 0 var(--wealth-amber); }

.wealth-view-panel {
  padding: 10px;
  align-content: start;
}

.wealth-view-panel[hidden] { display: none !important; }

.wealth-terminal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(230px, 100%), 1fr));
  gap: 8px;
  min-width: 0;
}

.wealth-terminal-section,
.wealth-terminal-card,
.wealth-state-block {
  position: relative;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(67, 214, 197, 0.14);
  border-left: 3px solid var(--wealth-teal);
  border-radius: 4px;
  background: linear-gradient(180deg, rgba(12, 24, 39, 0.96), rgba(7, 14, 25, 0.96));
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.wealth-terminal-section.amber,
.wealth-terminal-card.amber { border-left-color: var(--wealth-amber); }
.wealth-terminal-section.indigo,
.wealth-terminal-card.indigo { border-left-color: var(--wealth-indigo); }

.wealth-terminal-heading {
  margin: 2px 0 8px;
  color: #eff7fa;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.wealth-terminal-value { color: #fff0c6; font-size: 18px; font-weight: 800; line-height: 1.1; overflow-wrap: anywhere; }
.wealth-terminal-meta { margin-top: 4px; color: #8fa2af; font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }

.wealth-evidence-tag {
  display: inline-flex;
  align-items: center;
  margin: 0 4px 4px 0;
  padding: 2px 5px;
  border: 1px solid rgba(67, 214, 197, 0.34);
  border-radius: 2px;
  color: var(--wealth-teal);
  background: rgba(67, 214, 197, 0.06);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.085em;
  text-transform: uppercase;
}

.wealth-evidence-tag.model { color: var(--wealth-indigo); border-color: rgba(124, 131, 255, 0.4); background: var(--wealth-indigo-soft); }
.wealth-evidence-tag.discovery { color: var(--wealth-amber); border-color: rgba(242, 184, 75, 0.42); background: var(--wealth-amber-soft); }
.wealth-evidence-tag.source-required { color: #ff8f9c; border-color: rgba(255, 107, 123, 0.42); background: rgba(255, 107, 123, 0.07); }

.wealth-state-block {
  border-style: dashed;
  border-left-width: 1px;
  color: #92a5b2;
  font-size: 9px;
  line-height: 1.5;
}
.wealth-state-block.loading { border-color: rgba(242, 184, 75, 0.38); color: var(--wealth-amber); }
.wealth-state-block.degraded { border-color: rgba(255, 107, 107, 0.42); color: #ff9aa4; }
.wealth-state-block.withheld { border-color: rgba(124, 131, 255, 0.36); }

.wealth-table-wrap {
  width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(67, 214, 197, 0.14);
  border-radius: 4px;
  background: rgba(5, 11, 20, 0.88);
  -webkit-overflow-scrolling: touch;
}

.wealth-table-wrap.matrix { max-height: min(68vh, 720px); }
.wealth-table { width: 100%; min-width: 720px; border-collapse: collapse; color: #cbd8df; font-size: 9px; }
.wealth-table th,
.wealth-table td { padding: 7px 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.055); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.wealth-table th { position: sticky; top: 0; z-index: 2; color: #8de2d7; background: #0b1727; font-size: 8px; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.wealth-table tbody tr:hover { background: rgba(67, 214, 197, 0.045); }
.wealth-sort-btn { border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.wealth-source-link { color: #8fdcd3; text-decoration: none; border-bottom: 1px dotted rgba(143, 220, 211, 0.5); }

.wealth-ratio-track { width: 100%; min-width: 90px; height: 4px; margin-top: 5px; overflow: hidden; background: rgba(255, 255, 255, 0.07); }
.wealth-ratio-fill { height: 100%; background: linear-gradient(90deg, var(--wealth-indigo), var(--wealth-teal), var(--wealth-amber)); }

.wealth-filter-bar {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.wealth-filter-input,
.wealth-filter-select {
  min-width: 0;
  max-width: 100%;
  padding: 6px 8px;
  border: 1px solid rgba(67, 214, 197, 0.22);
  border-radius: 3px;
  color: #dce8ef;
  background: #07111e;
  font: 9px var(--font-mono);
}

.wealth-filter-input { flex: 1 1 220px; }
.wealth-filter-select { flex: 0 1 220px; }

.wealth-map-stage {
  display: grid;
  grid-template-rows: auto auto auto minmax(500px, 1fr) auto;
  width: 100%;
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(67, 214, 197, 0.22);
  border-radius: 5px;
  background: #030815;
}

.wealth-map-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border-bottom: 1px solid var(--wealth-line);
  background: linear-gradient(90deg, rgba(242, 184, 75, 0.09), rgba(67, 214, 197, 0.055), rgba(124, 131, 255, 0.08));
}

.wealth-map-title { color: #fff0c7; font-size: 10px; font-weight: 800; letter-spacing: 0.08em; }
.wealth-map-meta { min-width: 0; color: #91a5b2; font-size: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wealth-map-toolbar-actions { display: flex; gap: 5px; align-items: center; margin-left: auto; flex: 0 0 auto; }

.wealth-map-basemaps,
.wealth-map-metrics { padding: 6px 8px; border-bottom: 1px solid rgba(67, 214, 197, 0.1); background: rgba(7, 15, 27, 0.94); }
.wealth-map-metric-select { display: none; min-width: 190px; }

.wealth-map-frame { position: relative; min-width: 0; min-height: 500px; overflow: hidden; }
.wealth-map-frame > .wealth-map-canvas { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.wealth-map-fallback { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 24px; color: #9fb1bc; background: radial-gradient(circle, rgba(124, 131, 255, 0.1), rgba(3, 8, 21, 0.96)); font-size: 9px; line-height: 1.5; text-align: center; }
.wealth-map-fallback.visible { display: grid; }

.wealth-map-caption {
  display: flex;
  gap: 8px 12px;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  padding: 7px 9px;
  border-top: 1px solid var(--wealth-line);
  color: #8295a2;
  background: rgba(5, 11, 20, 0.96);
  font-size: 8px;
  line-height: 1.4;
}

.wealth-map-legend { display: inline-flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.wealth-map-legend-chip { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.wealth-map-legend-chip::before { content: ''; width: 9px; height: 9px; border: 1px solid rgba(255, 255, 255, 0.2); background: var(--legend-color, #273141); }

#wealthAffordabilityMap .maplibregl-popup-content { border: 1px solid rgba(67, 214, 197, 0.28); border-radius: 4px; color: #dbe7ed; background: #07111f; box-shadow: 0 14px 38px rgba(0, 0, 0, 0.46); }
#wealthAffordabilityMap .maplibregl-popup-content * { font-family: var(--font-mono); }
#wealthAffordabilityMap .maplibregl-popup-tip { border-top-color: #07111f; border-bottom-color: #07111f; }

.watchtower-map-lightbox-stage > #wealthAffordabilityMapStage {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  border: 0;
  border-radius: 0;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}
.watchtower-map-lightbox-stage #wealthAffordabilityMapStage .wealth-map-frame { min-height: 0; }
.watchtower-map-lightbox-stage #wealthAffordabilityMapStage .watchtower-map-lightbox-nested-trigger { display: none !important; }

body.theme-light #cb-fuelstress {
  --wealth-ink: #eef4f6;
  --wealth-panel: #f8fbfc;
  --wealth-line: rgba(25, 116, 112, 0.2);
  color: #20333d;
}
body.theme-light .wealth-terminal-section,
body.theme-light .wealth-terminal-card,
body.theme-light .wealth-state-block { color: #20333d; background: rgba(255, 255, 255, 0.92); }
body.theme-light .wealth-command-title,
body.theme-light .wealth-map-title,
body.theme-light .wealth-terminal-heading { color: #142832; }
body.theme-light .wealth-terminal-value,
body.theme-light .wealth-tape-value { color: #805600; }
body.theme-light .wealth-command-subtitle,
body.theme-light .wealth-tape-label,
body.theme-light .wealth-tape-meta,
body.theme-light .wealth-terminal-meta,
body.theme-light .wealth-map-meta,
body.theme-light .wealth-map-caption { color: #526b78; }
body.theme-light .wealth-summary-tape { background: rgba(255, 255, 255, 0.84); }
body.theme-light .wealth-view-nav,
body.theme-light .wealth-map-basemaps,
body.theme-light .wealth-map-metrics { background: rgba(232, 242, 243, 0.96); }
body.theme-light .wealth-table-wrap { background: #fff; }
body.theme-light .wealth-table { color: #29404b; }
body.theme-light .wealth-table th { color: #176d68; background: #e8f2f3; }
body.theme-light .wealth-filter-input,
body.theme-light .wealth-filter-select { color: #20333d; background: #fff; }

@media (max-width: 700px) {
  html, body { width: 100%; max-width: 100%; overflow-x: hidden; }
  .wealth-command-head { grid-template-columns: 1fr; padding: 11px 10px; }
  .wealth-command-actions { justify-content: flex-start; }
  .wealth-view-panel { padding: 7px; }
  .wealth-terminal-grid { grid-template-columns: 1fr; }
  .wealth-map-stage { grid-template-rows: auto auto auto minmax(430px, 1fr) auto; min-height: 600px; }
  .wealth-map-frame { min-height: 430px; }
  .wealth-map-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .wealth-map-toolbar-actions { width: 100%; margin-left: 0; overflow-x: auto; }
  .wealth-map-metric-buttons { display: none; }
  .wealth-map-metric-select { display: block; }
  .wealth-table { min-width: 680px; }
  .wealth-summary-tape { min-height: 58px; }
  .wealth-tape-cell { flex-basis: 138px; padding: 8px 9px; }
  .wealth-view-nav { padding-inline: 7px; }
}

/* Geopolitical command center. Discovery remains score-neutral; model lenses are explicit. */
#cb-georisk {
  --geo-cyan: #68e5f2;
  --geo-blue: #4aa8ff;
  --geo-lime: #b8ee72;
  --geo-amber: #ffc566;
  --geo-coral: #ff7a62;
  --geo-red: #f0446e;
  --geo-violet: #a793ff;
  --geo-ink: #040a12;
  --geo-panel: #07131e;
  --geo-panel-2: #0a1825;
  --geo-line: rgba(104, 229, 242, 0.17);
  overflow-x: hidden !important;
  background:
    linear-gradient(rgba(104, 229, 242, 0.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(104, 229, 242, 0.018) 1px, transparent 1px),
    radial-gradient(circle at 6% 0%, rgba(74, 168, 255, 0.12), transparent 26%),
    radial-gradient(circle at 96% 8%, rgba(240, 68, 110, 0.09), transparent 28%),
    var(--geo-ink);
  background-size: 28px 28px, 28px 28px, auto, auto, auto;
}
.geo-command, .geo-command * { box-sizing: border-box; }
.geo-command { width: 100%; min-width: 0; color: #d9e8ee; font-family: var(--font-mono); }
.geo-command-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px 12px;
  overflow: hidden;
  border-bottom: 1px solid var(--geo-line);
  background: linear-gradient(106deg, rgba(74, 168, 255, 0.12), rgba(6, 18, 29, 0.96) 50%, rgba(240, 68, 110, 0.1));
}
.geo-command-head::after { content: ''; position: absolute; right: -42px; top: -102px; width: 250px; height: 250px; border: 1px solid rgba(104, 229, 242, 0.2); border-radius: 50%; box-shadow: 0 0 0 25px rgba(104, 229, 242, 0.018), 0 0 0 54px rgba(240, 68, 110, 0.014); pointer-events: none; }
.geo-command-head-copy, .geo-command-head-actions { position: relative; z-index: 1; min-width: 0; }
.geo-command-eyebrow { color: var(--geo-cyan); font-size: 8px; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.geo-command-title { margin: 3px 0 0; color: #f4fbff; font-size: clamp(19px, 2.4vw, 30px); font-weight: 950; line-height: 1; letter-spacing: -.04em; text-transform: uppercase; }
.geo-command-subtitle { max-width: 880px; margin: 6px 0 0; color: #8da5b2; font-size: 9px; line-height: 1.5; }
.geo-command-head-actions { display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; max-width: 560px; }
.geo-command-state, .geo-command-asof, .geo-command-country-label { display: inline-flex; align-items: center; min-height: 27px; padding: 4px 8px; border: 1px solid var(--geo-line); border-radius: 3px; color: #8ba2ad; background: rgba(3, 11, 18, .8); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.geo-command-state { color: var(--geo-amber); border-color: rgba(255, 197, 102, .4); }
.geo-command-state[data-state="guarded"] { color: var(--geo-lime); border-color: rgba(184, 238, 114, .4); }
.geo-command-state[data-state="elevated"] { color: var(--geo-amber); border-color: rgba(255, 197, 102, .48); }
.geo-command-state[data-state="high"], .geo-command-state[data-state="critical"] { color: #ff91a9; border-color: rgba(240, 68, 110, .58); background: rgba(240, 68, 110, .08); }
.geo-command-state[data-state="insufficient"], .geo-command-state[data-state="stale"] { color: var(--geo-violet); border-color: rgba(167, 147, 255, .44); }
.geo-command-country-label { min-height: 27px; padding-right: 2px; border: 0; background: transparent; }
.geo-command-country-select { min-height: 29px; max-width: 190px; padding: 5px 8px; border: 1px solid rgba(104, 229, 242, .24); border-radius: 3px; color: #dbe9ef; background: #07131e; font: 8px var(--font-mono); }
.geo-command-tape { display: flex; width: 100%; min-height: 68px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid var(--geo-line); background: rgba(2, 8, 14, .88); scrollbar-width: thin; scrollbar-color: rgba(104, 229, 242, .32) transparent; }
.geo-command-tape-cell { flex: 1 0 145px; min-width: 0; padding: 10px 12px; border-right: 1px solid rgba(255,255,255,.055); }
.geo-command-tape-cell span, .geo-command-section-head span { display: block; color: #718995; font-size: 7px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.geo-command-tape-cell strong { display: block; margin-top: 4px; overflow: hidden; color: #edf9fc; font-size: 16px; font-weight: 950; white-space: nowrap; text-overflow: ellipsis; }
.geo-command-tape-cell small { display: block; margin-top: 3px; overflow: hidden; color: #78919e; font-size: 7px; line-height: 1.25; white-space: nowrap; text-overflow: ellipsis; }
.geo-command-main { display: grid; grid-template-columns: minmax(230px, .62fr) minmax(460px, 1.7fr) minmax(275px, .72fr); gap: 8px; align-items: stretch; padding: 8px; }
.geo-command-queue, .geo-command-dossier, .geo-command-timeline, .geo-command-workspace-panel { min-width: 0; overflow: hidden; border: 1px solid var(--geo-line); border-radius: 5px; background: rgba(6, 17, 27, .94); box-shadow: 0 14px 36px rgba(0,0,0,.16); }
.geo-command-section-head { display: flex; gap: 8px; align-items: center; min-height: 42px; padding: 8px 10px; border-bottom: 1px solid rgba(104, 229, 242, .12); background: linear-gradient(90deg, rgba(104,229,242,.07), transparent); }
.geo-command-section-head strong { display: block; margin-top: 2px; color: #e8f5f8; font-size: 10px; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.geo-command-count { margin-left: auto; min-width: 24px; padding: 3px 6px; border: 1px solid rgba(104,229,242,.24); border-radius: 999px; color: var(--geo-cyan) !important; text-align: center; }
.geo-command-filter-row, .geo-command-lenses, .geo-command-workspaces { display: flex; gap: 5px; align-items: center; min-width: 0; overflow-x: auto; scrollbar-width: thin; }
.geo-command-filter-row { padding: 7px 8px; border-bottom: 1px solid rgba(104,229,242,.09); }
.geo-command-filter, .geo-command-lens, .geo-command-workspace, .geo-command-icon-btn { min-height: 28px; padding: 5px 8px; border: 1px solid rgba(104,229,242,.18); border-radius: 3px; color: #8fa8b4; background: rgba(3,11,18,.78); font: 850 8px/1 var(--font-mono); letter-spacing: .055em; text-transform: uppercase; cursor: pointer; }
.geo-command-filter:hover, .geo-command-filter.active, .geo-command-lens:hover, .geo-command-lens.active, .geo-command-workspace:hover, .geo-command-workspace.active { color: #effdff; border-color: var(--geo-cyan); background: rgba(104,229,242,.09); }
.geo-command-filter.active, .geo-command-lens.active, .geo-command-workspace.active { box-shadow: inset 0 -2px 0 var(--geo-lime); }
.geo-command-queue-list { max-height: 650px; overflow-y: auto; padding: 6px; scrollbar-width: thin; }
.geo-command-priority { display: grid; grid-template-columns: 4px minmax(0,1fr); gap: 0 8px; width: 100%; margin: 0 0 5px; padding: 0 8px 8px 0; border: 1px solid rgba(255,255,255,.065); border-radius: 3px; color: inherit; background: rgba(255,255,255,.016); text-align: left; cursor: pointer; }
.geo-command-priority::before { content: ''; grid-row: 1 / span 4; width: 4px; height: 100%; min-height: 58px; background: var(--priority-color, #526979); box-shadow: 0 0 12px color-mix(in srgb, var(--priority-color, #526979) 38%, transparent); }
.geo-command-priority:hover, .geo-command-priority.active { border-color: rgba(104,229,242,.36); background: rgba(104,229,242,.045); }
.geo-command-priority-meta { display: flex; gap: 5px; align-items: center; margin-top: 7px; color: #78929e; font-size: 7px; text-transform: uppercase; }
.geo-command-priority-level { color: var(--priority-color, #879ba5); font-weight: 900; }
.geo-command-priority-title { margin-top: 5px; color: #e4f0f4; font-size: 10px; font-weight: 850; line-height: 1.35; }
.geo-command-priority-detail { margin-top: 4px; display: -webkit-box; overflow: hidden; color: #7f96a1; font-size: 8px; line-height: 1.4; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.geo-command-priority-foot { margin-top: 5px; color: #607b88; font-size: 7px; }
.geo-command-map.watchtower-safe-map-stage { width: 100%; min-height: 700px; margin: 0; grid-template-rows: auto auto auto auto auto minmax(430px, 1fr) auto; border-color: rgba(104,229,242,.23); }
.geo-command-map > #geoRiskDiscoveryMap { grid-row: 6; }
.geo-command-map > .watchtower-safe-map-caveat { grid-row: 7; }
.geo-command-lenses { padding: 6px 8px; border-bottom: 1px solid rgba(104,229,242,.1); background: rgba(4,13,21,.96); }
.geo-command-lenses > span:first-child { flex: 0 0 auto; color: #6d8793; font-size: 8px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.geo-command-lens { flex: 0 0 auto; }
.geo-command-lens-note { min-width: 180px; margin-left: auto; overflow: hidden; color: #718b97; font-size: 7px; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.geo-command-dossier-body { max-height: 700px; overflow-y: auto; padding: 8px; scrollbar-width: thin; }
.geo-command-icon-btn { margin-left: auto; width: 28px; padding: 0; color: #839aa5; font-size: 15px; }
.geo-command-dossier-hero { padding: 10px; border: 1px solid rgba(104,229,242,.17); border-left: 3px solid var(--dossier-color, var(--geo-cyan)); background: linear-gradient(130deg, color-mix(in srgb, var(--dossier-color, var(--geo-cyan)) 8%, transparent), rgba(255,255,255,.01)); }
.geo-command-dossier-kicker { color: #718a96; font-size: 7px; letter-spacing: .12em; text-transform: uppercase; }
.geo-command-dossier-title { margin-top: 4px; color: #f1fbfd; font-size: 16px; font-weight: 950; line-height: 1.1; }
.geo-command-dossier-score { margin-top: 5px; color: var(--dossier-color, var(--geo-cyan)); font-size: 10px; font-weight: 850; }
.geo-command-dossier-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin-top: 7px; }
.geo-command-dossier-cell { padding: 6px; border: 1px solid rgba(255,255,255,.06); background: rgba(255,255,255,.018); }
.geo-command-dossier-cell span { display: block; color: #6d8490; font-size: 7px; text-transform: uppercase; }
.geo-command-dossier-cell strong { display: block; margin-top: 3px; overflow: hidden; color: #dbe9ee; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.geo-command-dossier-section { margin-top: 9px; }
.geo-command-dossier-section > strong { display: block; margin-bottom: 5px; color: #90a8b2; font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.geo-command-evidence-link { display: block; margin-top: 4px; padding: 6px; border: 1px solid rgba(104,229,242,.1); color: #cdeaf0; background: rgba(104,229,242,.025); font-size: 8px; line-height: 1.4; text-decoration: none; }
.geo-command-evidence-link:hover { border-color: rgba(104,229,242,.4); color: #fff; }
.geo-command-empty { padding: 12px; color: #718894; font-size: 8px; line-height: 1.5; }
.geo-command-timeline { margin: 0 8px 8px; }
.geo-command-timeline-note { margin-left: auto; max-width: 520px; color: #6e8793 !important; text-align: right; text-transform: none !important; letter-spacing: 0 !important; }
.geo-command-timeline-track { display: flex; gap: 6px; min-height: 92px; padding: 8px; overflow-x: auto; scrollbar-width: thin; }
.geo-command-time-item { position: relative; flex: 0 0 220px; min-height: 70px; padding: 8px 8px 8px 12px; border: 1px solid rgba(255,255,255,.065); background: rgba(255,255,255,.016); }
.geo-command-time-item::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--time-color, #526979); }
.geo-command-time-item time { color: #6e8a97; font-size: 7px; }
.geo-command-time-item strong { display: block; margin-top: 4px; color: #dfecef; font-size: 9px; line-height: 1.35; }
.geo-command-time-item span { display: block; margin-top: 4px; color: #708995; font-size: 7px; }
.geo-command-workspaces { margin: 0 8px; padding: 7px 8px; border: 1px solid var(--geo-line); border-bottom: 0; border-radius: 5px 5px 0 0; background: rgba(4,12,20,.96); }
.geo-command-workspace { flex: 0 0 auto; min-height: 30px; }
.geo-command-workspace-panel { margin: 0 8px 10px; padding: 10px; border-radius: 0 0 5px 5px; overflow-x: hidden !important; }
.geo-command-workspace-panel .data-table { max-width: 100%; }
.geo-command-overview { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 8px; }
.geo-command-card { min-width: 0; padding: 10px; border: 1px solid rgba(104,229,242,.12); border-radius: 4px; background: rgba(255,255,255,.014); }
.geo-command-card-head { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; color: #e6f3f6; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.geo-command-card-head span { margin-left: auto; color: #6f8995; font-size: 7px; font-weight: 700; }
.geo-command-driver-row { display: grid; grid-template-columns: minmax(110px,.75fr) minmax(120px,1.25fr) 44px; gap: 8px; align-items: center; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.05); }
.geo-command-driver-name { overflow: hidden; color: #a7bbc4; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.geo-command-driver-bar { height: 5px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.055); }
.geo-command-driver-bar i { display: block; height: 100%; width: var(--driver-width,0%); background: var(--driver-color,var(--geo-cyan)); box-shadow: 0 0 8px var(--driver-color,var(--geo-cyan)); }
.geo-command-driver-value { color: #dcebef; font-size: 8px; text-align: right; }
.geo-command-country-list { display: grid; gap: 5px; }
.geo-command-country-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 7px; align-items: center; width: 100%; padding: 7px; border: 1px solid rgba(255,255,255,.06); color: inherit; background: rgba(255,255,255,.012); text-align: left; cursor: pointer; }
.geo-command-country-row:hover { border-color: rgba(104,229,242,.34); }
.geo-command-country-row strong { overflow: hidden; color: #dcebee; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.geo-command-country-row span { color: #78909b; font-size: 7px; }
.geo-command-country-row b { color: var(--row-color,#dcebee); font-size: 10px; }
.geo-command-scenario-grid, .geo-command-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.geo-command-scenario { padding: 10px; border: 1px solid rgba(104,229,242,.13); border-top: 3px solid var(--scenario-color,var(--geo-cyan)); background: linear-gradient(145deg, color-mix(in srgb,var(--scenario-color,var(--geo-cyan)) 6%,transparent), rgba(255,255,255,.012)); }
.geo-command-scenario h3 { margin: 0; color: #eaf5f8; font-size: 11px; }
.geo-command-scenario p { margin: 6px 0; color: #8198a3; font-size: 8px; line-height: 1.5; }
.geo-command-scenario ul { margin: 7px 0 0; padding-left: 16px; color: #a5b7bf; font-size: 8px; line-height: 1.55; }
.geo-command-scenario-state { color: var(--scenario-color,var(--geo-cyan)); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.geo-command-evidence { padding: 9px; border: 1px solid rgba(255,255,255,.065); border-left: 3px solid var(--evidence-color,#708895); background: rgba(255,255,255,.012); }
.geo-command-evidence-type { color: var(--evidence-color,#8da2ac); font-size: 7px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.geo-command-evidence strong { display: block; margin-top: 5px; color: #dce9ed; font-size: 9px; line-height: 1.4; }
.geo-command-evidence p { margin: 5px 0 0; color: #748d98; font-size: 8px; line-height: 1.4; }
.geo-command-method-note { padding: 9px 11px; border: 1px solid rgba(255,197,102,.2); border-left: 3px solid var(--geo-amber); color: #9eabb0; background: rgba(255,197,102,.035); font-size: 8px; line-height: 1.55; }
.geo-command-deep { contain: inline-size; }
.geo-command-deep > .geo-command-method-note { margin-bottom: 8px; }
body.theme-light #cb-georisk { --geo-ink:#eef4f6; --geo-panel:#fff; --geo-panel-2:#f6fafb; --geo-line:rgba(22,117,131,.2); color:#243b44; }
body.theme-light .geo-command-head { background: linear-gradient(106deg,#d9eff5,#f7fafb 52%,#f7e2e8); }
body.theme-light .geo-command-title, body.theme-light .geo-command-tape-cell strong, body.theme-light .geo-command-section-head strong, body.theme-light .geo-command-card-head, body.theme-light .geo-command-dossier-title { color:#17343d; }
body.theme-light .geo-command-tape, body.theme-light .geo-command-workspaces, body.theme-light .geo-command-lenses { background:rgba(244,249,250,.96); }
body.theme-light .geo-command-queue, body.theme-light .geo-command-dossier, body.theme-light .geo-command-timeline, body.theme-light .geo-command-workspace-panel { background:rgba(255,255,255,.96); }
body.theme-light .geo-command-country-select, body.theme-light .geo-command-filter, body.theme-light .geo-command-lens, body.theme-light .geo-command-workspace { color:#375561; background:#f7fbfc; }
@media (max-width: 1180px) {
  .geo-command-main { grid-template-columns: minmax(0,1fr) minmax(280px,.45fr); }
  .geo-command-map { grid-column:1 / -1; grid-row:1; }
  .geo-command-queue { grid-column:1; grid-row:2; }
  .geo-command-dossier { grid-column:2; grid-row:2; }
  .geo-command-queue-list, .geo-command-dossier-body { max-height:430px; }
}
@media (max-width: 760px) {
  .geo-command-head { grid-template-columns:1fr; padding:12px 10px; }
  .geo-command-head-actions { justify-content:flex-start; max-width:none; }
  .geo-command-country-select { flex:1 1 150px; max-width:none; }
  .geo-command-main { grid-template-columns:1fr; padding:6px; }
  .geo-command-map, .geo-command-queue, .geo-command-dossier { grid-column:1; }
  .geo-command-map { grid-row:1; min-height:620px; grid-template-rows:auto auto auto auto auto minmax(340px,1fr) auto !important; }
  .geo-command-queue { grid-row:2; }
  .geo-command-dossier { grid-row:3; }
  .geo-command-queue-list, .geo-command-dossier-body { max-height:360px; }
  .geo-command-lens-note { display:none; }
  .geo-command-filter, .geo-command-lens, .geo-command-workspace { min-height:40px; padding-inline:11px; }
  .geo-command-timeline { margin:0 6px 6px; }
  .geo-command-timeline-note { display:none !important; }
  .geo-command-workspaces { margin:0 6px; }
  .geo-command-workspace-panel { margin:0 6px 8px; padding:7px; }
  .geo-command-overview, .geo-command-scenario-grid, .geo-command-evidence-grid { grid-template-columns:1fr; }
  .geo-command-driver-row { grid-template-columns:minmax(95px,.8fr) minmax(90px,1fr) 38px; }
  .geo-command-time-item { flex-basis:190px; }
}

/* Countries intelligence atlas. The map stage is deliberately outside the rerendered dossier. */
#cb-countries {
  --country-cyan: #59dbe8;
  --country-cyan-soft: rgba(89, 219, 232, 0.11);
  --country-lime: #b9e769;
  --country-amber: #f1bb55;
  --country-coral: #f1765c;
  --country-red: #df3f68;
  --country-ink: #050b13;
  --country-panel: #091522;
  --country-line: rgba(89, 219, 232, 0.18);
  overflow-x: hidden !important;
  background:
    linear-gradient(rgba(89, 219, 232, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(89, 219, 232, 0.022) 1px, transparent 1px),
    radial-gradient(circle at 8% 0%, rgba(89, 219, 232, 0.11), transparent 28%),
    radial-gradient(circle at 94% 5%, rgba(223, 63, 104, 0.1), transparent 30%),
    var(--country-ink);
  background-size: 30px 30px, 30px 30px, auto, auto, auto;
}

.country-atlas-command,
.country-atlas-command *,
.country-atlas-stage,
.country-atlas-frame,
.country-atlas-source-deck { box-sizing: border-box; }

.country-atlas-command,
.country-atlas-stage,
.country-atlas-frame,
.country-atlas-map,
.country-atlas-source-deck { min-width: 0; max-width: 100%; }

.country-atlas-command { width: 100%; color: #dbe7ec; font-family: var(--font-mono); }

#cb-countries #countryDossierPanel {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden !important;
  contain: inline-size;
}
#cb-countries #countryDossierPanel :where(.brief-collapsible, .brief-collapsible-body) { min-width: 0; max-width: 100%; }
#cb-countries #countryDossierPanel .data-table { display: block !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; overflow-x: auto !important; overflow-y: visible; white-space: nowrap; -webkit-overflow-scrolling: touch; }

.country-atlas-head {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px 12px;
  overflow: hidden;
  border-bottom: 1px solid var(--country-line);
  background: linear-gradient(104deg, rgba(89, 219, 232, 0.1), rgba(8, 21, 34, 0.94) 48%, rgba(223, 63, 104, 0.09));
}

.country-atlas-head::after {
  content: '';
  position: absolute;
  right: -35px;
  top: -88px;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(89, 219, 232, 0.24);
  border-radius: 50%;
  box-shadow: 0 0 0 20px rgba(89, 219, 232, 0.02), 0 0 0 42px rgba(223, 63, 104, 0.016);
  pointer-events: none;
}

.country-atlas-eyebrow { color: var(--country-cyan); font-size: 8px; font-weight: 800; letter-spacing: 0.17em; text-transform: uppercase; }
.country-atlas-title { margin: 3px 0 0; color: #f5fbfd; font-size: clamp(18px, 2.2vw, 28px); font-weight: 900; line-height: 1.02; letter-spacing: -0.035em; text-transform: uppercase; }
.country-atlas-subtitle { max-width: 820px; margin-top: 5px; color: #91a8b4; font-size: 9px; line-height: 1.45; }
.country-atlas-head-actions { position: relative; z-index: 1; display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }

.country-atlas-live-state {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid rgba(89, 219, 232, 0.34);
  border-radius: 3px;
  color: var(--country-cyan);
  background: rgba(89, 219, 232, 0.07);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.country-atlas-live-state[data-state="loading"] { color: var(--country-amber); border-color: rgba(241, 187, 85, 0.4); }
.country-atlas-live-state[data-state="degraded"] { color: #ff8b9e; border-color: rgba(223, 63, 104, 0.46); }
.country-atlas-live-state[data-state="replay"] { color: #9ba6ff; border-color: rgba(155, 166, 255, 0.42); }

.country-atlas-tape {
  display: flex;
  width: 100%;
  min-height: 62px;
  overflow-x: auto;
  overflow-y: hidden;
  border-bottom: 1px solid var(--country-line);
  background: rgba(3, 9, 16, 0.84);
  scrollbar-width: thin;
  scrollbar-color: rgba(89, 219, 232, 0.34) transparent;
}
.country-atlas-tape-cell { flex: 1 0 145px; min-width: 0; padding: 9px 12px; border-right: 1px solid rgba(255, 255, 255, 0.06); }
.country-atlas-tape-label { color: #718995; font-size: 8px; letter-spacing: 0.11em; text-transform: uppercase; }
.country-atlas-tape-value { margin-top: 4px; overflow: hidden; color: #eaf8fa; font-size: 15px; font-weight: 900; white-space: nowrap; text-overflow: ellipsis; }
.country-atlas-tape-meta { margin-top: 2px; color: #7f96a2; font-size: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.country-atlas-stage {
  --country-cyan: #59dbe8;
  --country-cyan-soft: rgba(89, 219, 232, 0.11);
  --country-lime: #b9e769;
  --country-amber: #f1bb55;
  --country-coral: #f1765c;
  --country-red: #df3f68;
  --country-line: rgba(89, 219, 232, 0.18);
  display: grid;
  grid-template-rows: auto auto auto auto minmax(500px, 1fr) auto;
  width: calc(100% - 16px);
  min-height: 735px;
  margin: 8px;
  overflow: hidden;
  border: 1px solid rgba(89, 219, 232, 0.24);
  border-radius: 6px;
  background: #030a13;
  color: #dbe7ec;
  font-family: var(--font-mono);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.24), inset 0 1px rgba(255, 255, 255, 0.025);
}

.country-atlas-toolbar {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border-bottom: 1px solid var(--country-line);
  background: linear-gradient(90deg, rgba(89, 219, 232, 0.09), rgba(8, 19, 31, 0.96) 52%, rgba(223, 63, 104, 0.07));
}
.country-atlas-map-title { color: #eefbfc; font-size: 10px; font-weight: 900; letter-spacing: 0.09em; white-space: nowrap; }
.country-atlas-map-meta { min-width: 0; color: #8ca3ae; font-size: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.country-atlas-toolbar-actions { display: flex; gap: 5px; align-items: center; margin-left: auto; flex: 0 0 auto; }

.country-atlas-basemaps,
.country-atlas-metrics,
.country-atlas-source-deck {
  display: flex;
  gap: 6px;
  align-items: center;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(89, 219, 232, 0.3) transparent;
}
.country-atlas-basemaps,
.country-atlas-metrics { padding: 6px 8px; border-bottom: 1px solid rgba(89, 219, 232, 0.1); background: rgba(7, 16, 27, 0.96); }
.country-atlas-control-label { flex: 0 0 auto; color: #6e8995; font-size: 8px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.country-atlas-metric-strip { display: flex; gap: 5px; align-items: center; min-width: 0; }
.country-atlas-metric-btn {
  flex: 0 0 auto;
  min-height: 27px;
  padding: 5px 9px;
  border: 1px solid rgba(89, 219, 232, 0.22);
  border-radius: 3px;
  color: #adc2ca;
  background: rgba(4, 12, 21, 0.82);
  font: 800 8px/1.15 var(--font-mono);
  letter-spacing: 0.055em;
  text-transform: uppercase;
  cursor: pointer;
}
.country-atlas-metric-btn:hover,
.country-atlas-metric-btn.active { border-color: var(--country-cyan); color: #effdff; background: var(--country-cyan-soft); }
.country-atlas-metric-btn.active { box-shadow: inset 0 -2px 0 var(--country-lime); }
.country-atlas-metric-select { display: none; min-width: 190px; padding: 6px 8px; border: 1px solid rgba(89, 219, 232, 0.25); border-radius: 3px; color: #dbe8ed; background: #07111d; font: 9px var(--font-mono); }

.country-atlas-source-deck { min-height: 56px; padding: 6px 8px; border-bottom: 1px solid rgba(89, 219, 232, 0.1); background: rgba(4, 11, 19, 0.95); }
.country-atlas-source-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 6px;
  flex: 0 0 152px;
  min-height: 42px;
  padding: 6px 7px;
  border: 1px solid rgba(255, 255, 255, 0.075);
  border-left: 2px solid #425563;
  border-radius: 3px;
  color: #9eb1ba;
  background: rgba(12, 24, 36, 0.86);
  text-align: left;
  font: 8px/1.25 var(--font-mono);
}
button.country-atlas-source-card { cursor: pointer; }
button.country-atlas-source-card:hover { border-color: rgba(89, 219, 232, 0.42); }
.country-atlas-source-card.loaded { border-left-color: var(--country-cyan); }
.country-atlas-source-card.hit { border-left-color: var(--country-lime); }
.country-atlas-source-dot { grid-row: 1 / span 2; align-self: center; width: 7px; height: 7px; border-radius: 50%; background: #425563; box-shadow: 0 0 0 3px rgba(66, 85, 99, 0.12); }
.country-atlas-source-card.loaded .country-atlas-source-dot { background: var(--country-cyan); box-shadow: 0 0 0 3px rgba(89, 219, 232, 0.1); }
.country-atlas-source-card.hit .country-atlas-source-dot { background: var(--country-lime); box-shadow: 0 0 0 3px rgba(185, 231, 105, 0.1); }
.country-atlas-source-name { overflow: hidden; color: #d7e5e9; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.country-atlas-source-meta { overflow: hidden; color: #718993; text-overflow: ellipsis; white-space: nowrap; }
.country-atlas-source-summary { flex-basis: 210px; border-left-color: var(--country-coral); }

.country-atlas-frame { position: relative; min-height: 500px; overflow: hidden; }
.country-atlas-frame > .country-atlas-map { position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; }
.country-atlas-map-fallback { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 24px; color: #9eb2bb; background: radial-gradient(circle, rgba(89, 219, 232, 0.09), rgba(3, 10, 19, 0.97)); font-size: 9px; line-height: 1.5; text-align: center; }
.country-atlas-map-fallback.visible { display: grid; }

.country-atlas-caption { display: flex; gap: 8px 12px; align-items: center; flex-wrap: wrap; min-width: 0; padding: 7px 9px; border-top: 1px solid var(--country-line); color: #7d929c; background: rgba(4, 11, 19, 0.97); font-size: 8px; line-height: 1.4; }
.country-atlas-legend { display: inline-flex; gap: 5px; align-items: center; flex-wrap: wrap; }
.country-atlas-legend-chip { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.country-atlas-legend-chip::before { content: ''; width: 9px; height: 9px; border: 1px solid rgba(255, 255, 255, 0.2); background: var(--legend-color, #1b2734); }

#countriesMap .maplibregl-popup-content { max-width: min(390px, 86vw); border: 1px solid rgba(89, 219, 232, 0.3); border-radius: 4px; color: #dbe8ed; background: #07121f; box-shadow: 0 16px 42px rgba(0, 0, 0, 0.5); }
#countriesMap .maplibregl-popup-content * { font-family: var(--font-mono); }
#countriesMap .maplibregl-popup-tip { border-top-color: #07121f; border-bottom-color: #07121f; }

.watchtower-map-lightbox-stage > #countriesMapStage { width: 100% !important; height: 100% !important; min-height: 0 !important; margin: 0; border: 0; border-radius: 0; grid-template-rows: auto auto auto auto minmax(0, 1fr) auto; }
.watchtower-map-lightbox-stage #countriesMapStage .country-atlas-frame { min-height: 0; }
.watchtower-map-lightbox-stage #countriesMapStage .watchtower-map-lightbox-nested-trigger { display: none !important; }

body.theme-light #cb-countries { --country-ink: #edf4f5; --country-panel: #fff; --country-line: rgba(26, 120, 127, 0.2); color: #243942; }
body.theme-light .country-atlas-title,
body.theme-light .country-atlas-map-title,
body.theme-light .country-atlas-tape-value { color: #17323a; }
body.theme-light .country-atlas-subtitle,
body.theme-light .country-atlas-map-meta,
body.theme-light .country-atlas-caption { color: #526d78; }
body.theme-light .country-atlas-tape,
body.theme-light .country-atlas-source-deck { background: rgba(248, 252, 252, 0.94); }
body.theme-light .country-atlas-head { background: linear-gradient(104deg, rgba(205, 239, 241, 0.98), rgba(248, 251, 252, 0.98) 50%, rgba(246, 222, 228, 0.94)); }
body.theme-light .country-atlas-basemaps,
body.theme-light .country-atlas-metrics { background: rgba(231, 242, 243, 0.97); }
body.theme-light .country-atlas-toolbar { background: linear-gradient(90deg, rgba(195, 234, 235, 0.98), rgba(241, 247, 247, 0.98) 55%, rgba(244, 218, 224, 0.92)); }
body.theme-light .country-atlas-stage { --country-line: rgba(26, 120, 127, 0.2); background: #edf4f5; }
body.theme-light .country-atlas-source-card { color: #47626c; background: rgba(255, 255, 255, 0.92); }
body.theme-light .country-atlas-source-name { color: #203d46; }
body.theme-light .country-atlas-metric-select { color: #243942; background: #fff; }

@media (max-width: 700px) {
  .country-atlas-head { grid-template-columns: 1fr; padding: 11px 10px; }
  .country-atlas-head-actions { justify-content: flex-start; }
  .country-atlas-stage { grid-template-rows: auto auto auto auto minmax(430px, 1fr) auto; width: calc(100% - 10px); min-height: 675px; margin: 5px; }
  .country-atlas-frame { min-height: 430px; }
  .country-atlas-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .country-atlas-toolbar-actions { width: 100%; margin-left: 0; overflow-x: auto; }
  .country-atlas-metric-strip { display: none; }
  .country-atlas-metric-select { display: block; min-height: 38px; }
  .country-atlas-toolbar-actions .layout-mini-btn,
  .country-atlas-basemaps .layout-mini-btn { min-height: 38px; padding-block: 8px; }
  .country-atlas-source-card { flex-basis: 138px; }
  .country-atlas-source-summary { flex-basis: 190px; }
}

/* Real Estate economics atlas. The stable map is separate from the rerendered tables. */
#cb-realestate { overflow-x: hidden !important; background: radial-gradient(circle at 12% 0%, rgba(75, 189, 170, 0.1), transparent 30%), var(--bg-primary); }
.real-estate-atlas-stage { display:grid; grid-template-rows:auto auto minmax(480px,1fr) auto; width:calc(100% - 16px); min-height:650px; margin:8px; overflow:hidden; border:1px solid rgba(75,189,170,0.28); border-radius:6px; background:#040d14; color:#dbe7ec; font-family:var(--font-mono); }
.real-estate-atlas-toolbar { display:flex; gap:8px; align-items:center; min-width:0; padding:8px 10px; border-bottom:1px solid rgba(75,189,170,0.2); background:linear-gradient(90deg,rgba(75,189,170,0.12),rgba(7,18,28,0.97) 55%,rgba(241,187,85,0.08)); }
.real-estate-atlas-title { color:#effcf8; font-size:10px; font-weight:900; letter-spacing:.09em; white-space:nowrap; }
.real-estate-atlas-meta { min-width:0; color:#8ca9a3; font-size:8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.real-estate-atlas-actions { display:flex; gap:5px; align-items:center; margin-left:auto; flex:0 0 auto; }
.real-estate-atlas-controls { display:flex; gap:6px; align-items:center; width:100%; min-width:0; padding:6px 8px; overflow-x:auto; border-bottom:1px solid rgba(75,189,170,0.13); background:rgba(7,17,26,.97); scrollbar-width:thin; }
.real-estate-atlas-label { flex:0 0 auto; color:#76978f; font-size:8px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.real-estate-metric-btn { flex:0 0 auto; min-height:27px; padding:5px 9px; border:1px solid rgba(75,189,170,.24); border-radius:3px; color:#adc5bf; background:rgba(4,13,20,.86); font:800 8px/1.15 var(--font-mono); letter-spacing:.045em; text-transform:uppercase; cursor:pointer; }
.real-estate-metric-btn:hover,.real-estate-metric-btn.active { border-color:#4bbdaa; color:#effffb; background:rgba(75,189,170,.13); }
.real-estate-atlas-frame { position:relative; min-height:480px; overflow:hidden; }
.real-estate-atlas-map { position:absolute; inset:0; width:100%; height:100%; }
.real-estate-atlas-fallback { position:absolute; inset:0; z-index:5; display:none; place-items:center; padding:24px; color:#9eb6b0; background:radial-gradient(circle,rgba(75,189,170,.09),rgba(3,10,16,.97)); font-size:9px; text-align:center; }
.real-estate-atlas-fallback.visible { display:grid; }
.real-estate-atlas-caption { display:flex; gap:8px 12px; align-items:center; flex-wrap:wrap; min-width:0; padding:7px 9px; border-top:1px solid rgba(75,189,170,.18); color:#829b95; background:rgba(4,12,18,.98); font-size:8px; line-height:1.4; }
.real-estate-atlas-legend { display:inline-flex; gap:5px; align-items:center; flex-wrap:wrap; }
.real-estate-atlas-legend-chip { display:inline-flex; gap:4px; align-items:center; white-space:nowrap; }
.real-estate-atlas-legend-chip::before { content:''; width:9px; height:9px; border:1px solid rgba(255,255,255,.2); background:var(--legend-color,#1b2734); }
#realEstateMap .maplibregl-popup-content { max-width:min(390px,86vw); border:1px solid rgba(75,189,170,.32); border-radius:4px; color:#dbe8ed; background:#07141c; box-shadow:0 16px 42px rgba(0,0,0,.5); }
#realEstateMap .maplibregl-popup-content * { font-family:var(--font-mono); }
.watchtower-map-lightbox-stage > #realEstateMapStage { width:100%!important; height:100%!important; min-height:0!important; margin:0; border:0; border-radius:0; grid-template-rows:auto auto minmax(0,1fr) auto; }
.watchtower-map-lightbox-stage #realEstateMapStage .real-estate-atlas-frame { min-height:0; }
#cb-realestate #realEstatePanel { min-width:0; max-width:100%; contain:inline-size; }
#cb-realestate #realEstatePanel .data-table { display:block!important; width:100%!important; max-width:100%!important; overflow-x:auto!important; white-space:nowrap; -webkit-overflow-scrolling:touch; }
.real-estate-sort-btn { display:inline-flex; gap:5px; align-items:center; width:100%; min-height:30px; padding:3px 2px; border:0; color:inherit; background:transparent; font:inherit; font-weight:800; text-align:left; white-space:nowrap; cursor:pointer; }
.real-estate-sort-btn:hover,.real-estate-sort-btn:focus-visible { color:#7de1cf; outline:1px solid rgba(75,189,170,.55); outline-offset:2px; }
.real-estate-sort-indicator { min-width:10px; color:#7fa49b; font-size:9px; }
th[aria-sort="ascending"] .real-estate-sort-indicator,th[aria-sort="descending"] .real-estate-sort-indicator { color:#4bbdaa; }
body.theme-light .real-estate-atlas-stage { background:#edf5f2; color:#28433d; }
body.theme-light .real-estate-atlas-toolbar { background:linear-gradient(90deg,rgba(190,235,224,.98),rgba(244,249,247,.98)); }
body.theme-light .real-estate-atlas-title { color:#173a32; }
body.theme-light .real-estate-atlas-controls,.theme-light .real-estate-atlas-caption { background:rgba(246,251,249,.97); color:#4f6f67; }
@media (max-width:700px) {
  .real-estate-atlas-stage { grid-template-rows:auto auto minmax(410px,1fr) auto; width:calc(100% - 10px); min-height:585px; margin:5px; }
  .real-estate-atlas-frame { min-height:410px; }
  .real-estate-atlas-toolbar { align-items:flex-start; flex-wrap:wrap; }
  .real-estate-atlas-actions { width:100%; margin-left:0; overflow-x:auto; }
  .real-estate-atlas-actions .layout-mini-btn,.real-estate-atlas-controls button { min-height:38px; }
}

/* Mobility command map. Reference inventory stays visually distinct from observed disruption. */
#cb-mobility {
  --mobility-blue: #43c7e8;
  --mobility-amber: #f0b34d;
  --mobility-orange: #f17848;
  --mobility-red: #df4565;
  --mobility-green: #8fd277;
  --mobility-line: rgba(67, 199, 232, 0.18);
  overflow-x: hidden !important;
  overflow-y: auto !important;
  background:
    linear-gradient(rgba(67, 199, 232, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(67, 199, 232, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 84% 0%, rgba(241, 120, 72, 0.12), transparent 28%),
    #040a12;
  background-size: 28px 28px, 28px 28px, auto, auto;
}
.mobility-command, .mobility-command *, .mobility-map-stage, .mobility-map-frame, .mobility-map-detail { box-sizing: border-box; }
.mobility-command, .mobility-map-stage, .mobility-map-frame, .mobility-map-canvas { width: 100%; min-width: 0; max-width: 100%; }
.mobility-command { color: #d9e6eb; font-family: var(--font-mono); }
.mobility-command-head { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px; align-items: center; padding: 13px 15px 11px; overflow: hidden; border-bottom: 1px solid var(--mobility-line); background: linear-gradient(105deg, rgba(67,199,232,0.11), rgba(6,16,27,0.95) 48%, rgba(241,120,72,0.11)); }
.mobility-command-head::after { content: ''; position: absolute; right: 44px; top: -92px; width: 210px; height: 210px; border: 1px dashed rgba(240,179,77,0.24); border-radius: 50%; box-shadow: 0 0 0 24px rgba(67,199,232,0.018), 0 0 0 49px rgba(241,120,72,0.014); pointer-events: none; }
.mobility-command-eyebrow { color: var(--mobility-amber); font-size: 8px; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.mobility-command-title { margin-top: 3px; color: #f5fafb; font-size: clamp(18px,2.2vw,27px); font-weight: 900; line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; }
.mobility-command-subtitle { max-width: 850px; margin-top: 5px; color: #8ca3ae; font-size: 9px; line-height: 1.45; }
.mobility-command-actions { position: relative; z-index: 1; display: flex; gap: 6px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.mobility-state-pill { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid rgba(67,199,232,.36); border-radius: 3px; color: var(--mobility-blue); background: rgba(67,199,232,.07); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.mobility-state-pill[data-state="degraded"] { color: #ff8297; border-color: rgba(223,69,101,.52); }
.mobility-state-pill[data-state="partial"], .mobility-state-pill[data-state="stale"] { color: var(--mobility-amber); border-color: rgba(240,179,77,.52); }
.mobility-state-pill[data-state="no-observations"] { color: #a8bac1; border-color: rgba(168,186,193,.4); }
.mobility-state-pill[data-state="loading"] { color: var(--mobility-amber); border-color: rgba(240,179,77,.48); }
.mobility-summary-tape { display: flex; min-height: 61px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid var(--mobility-line); background: rgba(3,9,16,.88); scrollbar-width: thin; scrollbar-color: rgba(67,199,232,.32) transparent; }
.mobility-tape-cell { flex: 1 0 145px; min-width: 0; padding: 9px 11px; border-right: 1px solid rgba(255,255,255,.06); }
.mobility-tape-label { color: #6e8792; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.mobility-tape-value { margin-top: 4px; overflow: hidden; color: #eef8fa; font-size: 15px; font-weight: 900; white-space: nowrap; text-overflow: ellipsis; }
.mobility-tape-meta { margin-top: 2px; overflow: hidden; color: #728a95; font-size: 8px; white-space: nowrap; text-overflow: ellipsis; }
.mobility-map-stage { display: grid; grid-template-rows: auto auto auto minmax(490px,1fr) auto; width: calc(100% - 16px); min-height: 690px; margin: 8px; overflow: hidden; border: 1px solid rgba(67,199,232,.24); border-radius: 6px; background: #030912; box-shadow: 0 18px 50px rgba(0,0,0,.25); }
.mobility-map-toolbar { display: flex; gap: 7px; align-items: center; min-width: 0; padding: 8px 9px; border-bottom: 1px solid var(--mobility-line); background: linear-gradient(90deg, rgba(67,199,232,.09), rgba(7,18,30,.97) 52%, rgba(241,120,72,.08)); }
.mobility-map-title { color: #eefbfc; font-size: 10px; font-weight: 900; letter-spacing: .09em; white-space: nowrap; }
.mobility-map-meta { min-width: 0; overflow: hidden; color: #8199a4; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.mobility-map-toolbar-actions { display: flex; gap: 5px; align-items: center; margin-left: auto; flex: 0 0 auto; }
.mobility-map-search { width: min(260px,28vw); min-height: 29px; padding: 5px 8px; border: 1px solid rgba(67,199,232,.22); border-radius: 3px; color: #dce9ed; background: #07121e; font: 9px var(--font-mono); }
.mobility-map-controls { display: flex; gap: 6px; align-items: center; width: 100%; min-width: 0; padding: 6px 8px; overflow-x: auto; overflow-y: hidden; border-bottom: 1px solid rgba(67,199,232,.1); background: rgba(7,16,27,.97); scrollbar-width: thin; scrollbar-color: rgba(67,199,232,.28) transparent; }
.mobility-control-label { flex: 0 0 auto; color: #6e8793; font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.mobility-layer-btn { flex: 0 0 auto; min-height: 27px; padding: 5px 9px; border: 1px solid rgba(67,199,232,.2); border-radius: 3px; color: #9fb5bd; background: rgba(3,10,18,.8); font: 900 8px/1.1 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.mobility-layer-btn.active { border-color: var(--mobility-blue); color: #effdff; background: rgba(67,199,232,.11); box-shadow: inset 0 -2px 0 var(--mobility-amber); }
.mobility-map-frame { display: grid; grid-template-columns: minmax(0,1fr) 270px; min-height: 490px; overflow: hidden; }
.mobility-map-canvas-wrap { position: relative; min-width: 0; min-height: 490px; overflow: hidden; }
.mobility-map-canvas { position: absolute; inset: 0; height: 100%; min-height: 0; }
.mobility-map-fallback { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 24px; color: #9bb0b9; background: radial-gradient(circle,rgba(67,199,232,.08),rgba(3,9,18,.98)); font-size: 9px; line-height: 1.5; text-align: center; }
.mobility-map-fallback.visible { display: grid; }
.mobility-map-detail { min-width: 0; overflow-y: auto; border-left: 1px solid var(--mobility-line); background: linear-gradient(180deg,rgba(12,27,40,.98),rgba(4,11,19,.98)); }
.mobility-detail-head { padding: 9px 10px; border-bottom: 1px solid rgba(67,199,232,.13); color: var(--mobility-amber); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.mobility-detail-body { display: grid; gap: 8px; padding: 10px; color: #8fa5ae; font-size: 9px; line-height: 1.45; }
.mobility-detail-name { color: #f1f8fa; font-size: 13px; font-weight: 900; line-height: 1.2; }
.mobility-detail-score { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.mobility-detail-metric { padding: 7px; border: 1px solid rgba(255,255,255,.075); border-radius: 3px; background: rgba(255,255,255,.025); }
.mobility-detail-metric strong { display: block; margin-top: 3px; color: #e9f4f6; font-size: 14px; }
.mobility-map-caption { display: flex; gap: 8px 12px; align-items: center; flex-wrap: wrap; min-width: 0; padding: 7px 9px; border-top: 1px solid var(--mobility-line); color: #728892; background: rgba(4,11,19,.98); font-size: 8px; line-height: 1.4; }
.mobility-map-legend { display: inline-flex; gap: 7px; align-items: center; flex-wrap: wrap; }
.mobility-legend-chip { display: inline-flex; gap: 4px; align-items: center; white-space: nowrap; }
.mobility-legend-chip::before { content: ''; width: 8px; height: 8px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: var(--legend-color,#50616d); }
#mobilityMap .maplibregl-popup-content { max-width: min(390px,86vw); border: 1px solid rgba(67,199,232,.3); border-radius: 4px; color: #dbe8ed; background: #07121f; box-shadow: 0 16px 42px rgba(0,0,0,.5); }
#mobilityMap .maplibregl-popup-content * { font-family: var(--font-mono); }
#mobilityMap .maplibregl-popup-tip { border-top-color: #07121f; border-bottom-color: #07121f; }
#cb-mobility #mobilityIntelPanel { width: 100%; height: auto !important; min-width: 0; overflow-x: hidden !important; overflow-y: visible !important; padding: 8px; contain: inline-size; }
#cb-mobility #mobilityIntelPanel .data-table { display: block; width: 100%; max-width: 100%; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
.mobility-intel-nav { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:8px; }
.mobility-intel-nav [role="tab"] { min-height:30px; }
.mobility-intel-nav [role="tab"]:focus-visible { outline:2px solid var(--mobility-amber); outline-offset:2px; }
.watchtower-map-lightbox-stage > #mobilityMapStage { width: 100% !important; height: 100% !important; min-height: 0 !important; margin: 0; border: 0; border-radius: 0; grid-template-rows: auto auto auto minmax(0,1fr) auto; }
.watchtower-map-lightbox-stage #mobilityMapStage .mobility-map-frame, .watchtower-map-lightbox-stage #mobilityMapStage .mobility-map-canvas-wrap { min-height: 0; height: 100%; }
.watchtower-map-lightbox-stage #mobilityMapStage .watchtower-map-lightbox-nested-trigger { display: none !important; }
body.theme-light #cb-mobility { background-color: #edf3f4; color: #243942; }
body.theme-light .mobility-command-title, body.theme-light .mobility-map-title, body.theme-light .mobility-tape-value { color: #17323a; }
body.theme-light .mobility-command-head, body.theme-light .mobility-map-toolbar { background: linear-gradient(105deg,rgba(199,235,238,.98),rgba(248,251,252,.98) 52%,rgba(247,222,212,.96)); }
body.theme-light .mobility-summary-tape, body.theme-light .mobility-map-controls { background: rgba(246,251,251,.97); }
body.theme-light .mobility-map-stage { background: #edf4f5; }
body.theme-light .mobility-map-detail { background: #f8fbfb; }
body.theme-light .mobility-detail-name, body.theme-light .mobility-detail-metric strong { color: #1b3942; }
@media (max-width: 760px) {
  .mobility-command-head { grid-template-columns: 1fr; padding: 11px 10px; }
  .mobility-command-actions { justify-content: flex-start; }
  .mobility-map-stage { grid-template-rows: auto auto auto minmax(560px,1fr) auto; width: calc(100% - 10px); min-height: 735px; margin: 5px; }
  .mobility-map-toolbar { align-items: flex-start; flex-wrap: wrap; }
  .mobility-map-toolbar-actions { width: 100%; margin-left: 0; overflow-x: auto; }
  .mobility-map-search { width: min(100%,320px); min-height: 38px; }
  .mobility-map-frame { grid-template-columns: 1fr; grid-template-rows: minmax(370px,1fr) auto; min-height: 560px; }
  .mobility-map-canvas-wrap { min-height: 370px; }
  .mobility-map-detail { max-height: 190px; border-top: 1px solid var(--mobility-line); border-left: 0; }
  .mobility-layer-btn, .mobility-map-controls .layout-mini-btn { min-height: 38px; padding-block: 8px; }
}
@media (max-width: 430px) {
  .mobility-map-stage { grid-template-rows:auto auto auto minmax(500px,1fr) auto; min-height:675px; }
  .mobility-map-frame { grid-template-rows:minmax(330px,1fr) auto; min-height:500px; }
  .mobility-map-canvas-wrap { min-height:330px; }
  .mobility-map-detail { max-height:170px; }
  .mobility-intel-nav { flex-wrap:nowrap; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
  .mobility-intel-nav [role="tab"] { flex:0 0 auto; min-height:40px; }
}

/* Global Bond Intelligence v3 */
#mkt-global-bonds { --bond-ink:#dce8f5; --bond-muted:#7890a8; --bond-line:rgba(112,153,191,.18); --bond-panel:#081421; --bond-panel-2:#0b1a29; --bond-amber:#f5b942; --bond-cyan:#55c8e8; --bond-red:#f05e76; --bond-green:#55c99a; color:var(--bond-ink); background:radial-gradient(circle at 12% 0%,rgba(41,96,135,.16),transparent 28%),#050d16; }
#mkt-global-bonds.active { display:flex; min-width:0; min-height:680px; flex-direction:column; overflow:hidden; }
.bond-command-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(220px,360px) auto auto minmax(120px,auto); gap:8px; align-items:center; padding:10px 12px; border-bottom:1px solid var(--bond-line); background:linear-gradient(100deg,rgba(12,35,52,.98),rgba(6,17,28,.98) 58%,rgba(43,31,12,.92)); }
.bond-command-identity { display:grid; gap:2px; min-width:0; }
.bond-command-kicker { color:var(--bond-amber); font:800 8px/1.2 var(--font-mono); letter-spacing:.16em; text-transform:uppercase; }
.bond-command-title { overflow:hidden; color:#f2f7fb; font:900 14px/1.15 var(--font-mono); letter-spacing:.035em; text-overflow:ellipsis; white-space:nowrap; }
#globalBondStatus { overflow:hidden; color:var(--bond-muted); font:800 8px/1.25 var(--font-mono); letter-spacing:.04em; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.bond-command-root { display:grid !important; grid-template-rows:auto minmax(0,1fr); width:100% !important; min-width:0 !important; min-height:0; height:100% !important; padding:0 !important; overflow:hidden !important; align-content:stretch !important; }
.bond-terminal-nav { display:flex; gap:4px; align-items:center; min-width:0; padding:6px 8px; overflow-x:auto; border-bottom:1px solid var(--bond-line); background:rgba(5,14,24,.98); scrollbar-width:thin; }
.bond-terminal-nav-label { margin-right:5px; color:var(--bond-amber); font:800 8px/1 var(--font-mono); letter-spacing:.12em; white-space:nowrap; }
.bond-terminal-nav .layout-mini-btn { min-height:27px; border-color:rgba(112,153,191,.2); color:#8ea4b9; background:rgba(255,255,255,.018); font:800 8px/1 var(--font-mono); letter-spacing:.05em; white-space:nowrap; }
.bond-terminal-nav .layout-mini-btn.active { border-color:rgba(245,185,66,.58); color:#07111c; background:var(--bond-amber); box-shadow:0 0 18px rgba(245,185,66,.14); }
.bond-command-dynamic { min-width:0; min-height:0; padding:9px; overflow:auto; scrollbar-gutter:stable; }
.bond-terminal-view { display:grid; gap:9px; min-width:0; align-content:start; }
.bond-terminal-kpis { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:7px; }
.bond-terminal-kpi { position:relative; min-width:0; min-height:78px; padding:10px; overflow:hidden; border:1px solid var(--bond-line); border-radius:3px; background:linear-gradient(145deg,rgba(16,37,55,.94),rgba(7,19,31,.96)); }
.bond-terminal-kpi::after { position:absolute; right:-26px; bottom:-38px; width:80px; height:80px; border:1px solid rgba(85,200,232,.08); border-radius:50%; content:''; }
.bond-terminal-kpi-label { color:var(--bond-muted); font:800 7px/1.2 var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.bond-terminal-kpi-value { margin-top:7px; overflow:hidden; color:var(--bond-ink); font:900 18px/1 var(--font-mono); letter-spacing:-.03em; text-overflow:ellipsis; white-space:nowrap; }
.bond-terminal-kpi-meta { margin-top:7px; overflow:hidden; color:#6f879d; font:7px/1.25 var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.bond-terminal-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:9px; min-width:0; }
.bond-terminal-grid.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bond-terminal-card { min-width:0; overflow:hidden; border:1px solid var(--bond-line); border-radius:3px; background:linear-gradient(155deg,rgba(10,27,42,.96),rgba(5,15,25,.98)); box-shadow:0 12px 30px rgba(0,0,0,.13); }
.bond-terminal-card-head { display:flex; gap:10px; align-items:center; justify-content:space-between; min-height:35px; padding:8px 10px; border-bottom:1px solid var(--bond-line); background:rgba(255,255,255,.018); }
.bond-terminal-card-title { color:#c7d7e5; font:900 8px/1.2 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.bond-terminal-card-note { color:#647e95; font:7px/1.25 var(--font-mono); text-align:right; }
.bond-terminal-card-body { min-width:0; padding:10px; }
.bond-terminal-card-body.flush { padding:0; }
.bond-terminal-note { color:#8da2b4; font:9px/1.55 var(--font-mono); }
.bond-terminal-note strong { color:#d8e5ef; }
.bond-terminal-table-wrap { width:100%; max-width:100%; overflow:auto; }
.bond-terminal-table-wrap .data-table { min-width:720px; font-family:var(--font-mono); }
.bond-terminal-table-wrap .data-table th { position:sticky; top:0; z-index:1; color:#718aa0; background:#0a1826; font-size:7px; letter-spacing:.08em; text-transform:uppercase; }
.bond-terminal-table-wrap .data-table td { color:#a9bbca; font-size:8px; line-height:1.35; }
.bond-terminal-score-row { display:grid; grid-template-columns:minmax(145px,1fr) minmax(80px,1.2fr) 68px; gap:10px; align-items:center; padding:7px 0; border-bottom:1px solid rgba(112,153,191,.11); }
.bond-terminal-score-row:last-child { border-bottom:0; }
.bond-terminal-score-label { color:#afc1cf; font:800 8px/1.2 var(--font-mono); }
.bond-terminal-score-track { height:5px; overflow:hidden; border-radius:1px; background:rgba(255,255,255,.055); }
.bond-terminal-score-fill { display:block; height:100%; background:currentColor; box-shadow:0 0 9px currentColor; }
.bond-terminal-score-value { font:900 9px/1 var(--font-mono); text-align:right; }
.bond-terminal-alert-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:7px; }
.bond-terminal-alert { padding:10px; border:1px solid rgba(112,153,191,.16); border-left:3px solid currentColor; border-radius:2px; background:rgba(255,255,255,.018); }
.bond-terminal-alert-head { display:flex; gap:9px; align-items:flex-start; justify-content:space-between; }
.bond-terminal-alert-family { color:currentColor; font:800 7px/1.3 var(--font-mono); letter-spacing:.07em; text-transform:uppercase; }
.bond-terminal-alert-title { margin-top:4px; color:#e2ebf3; font:800 11px/1.3 var(--font-sans); }
.bond-terminal-alert-score { font:900 18px/1 var(--font-mono); }
.bond-terminal-alert-detail { margin-top:7px; color:#8197aa; font:8px/1.45 var(--font-mono); }
.bond-terminal-evidence-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:8px; }
.bond-terminal-evidence { padding:7px; border:1px solid rgba(112,153,191,.11); background:rgba(0,0,0,.12); }
.bond-terminal-evidence-label { color:#7892aa; font:800 7px/1.2 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.bond-terminal-evidence ul { margin:5px 0 0 14px; padding:0; color:#8ea2b4; font:8px/1.4 var(--font-mono); }
.bond-terminal-tags { display:flex; gap:5px; flex-wrap:wrap; }
.bond-terminal-tag { padding:4px 6px; border:1px solid rgba(112,153,191,.18); border-radius:2px; color:#8298ab; background:rgba(255,255,255,.018); font:700 7px/1.2 var(--font-mono); }
.bond-terminal-tag.direct { border-color:rgba(85,201,154,.35); color:var(--bond-green); }
.bond-terminal-tag.context { border-color:rgba(85,200,232,.3); color:var(--bond-cyan); }
.bond-terminal-tag.required { border-color:rgba(245,185,66,.34); color:var(--bond-amber); }
.bond-terminal-source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:6px; }
.bond-terminal-source { padding:8px; border:1px solid var(--bond-line); border-top:2px solid #526779; background:rgba(255,255,255,.018); }
.bond-terminal-source.healthy { border-top-color:var(--bond-green); }
.bond-terminal-source.partial { border-top-color:var(--bond-amber); }
.bond-terminal-source.stale { border-top-color:var(--bond-amber); }
.bond-terminal-source.unavailable { border-top-color:var(--bond-red); }
.bond-terminal-source-title { color:#c1d0dc; font:800 8px/1.25 var(--font-mono); }
.bond-terminal-source-meta { margin-top:4px; overflow:hidden; color:#6d8498; font:7px/1.3 var(--font-mono); text-overflow:ellipsis; white-space:nowrap; }
.bond-terminal-osint-row { display:grid; gap:5px; padding:8px 0; border-bottom:1px solid rgba(112,153,191,.12); }
.bond-terminal-osint-title { color:#c8d7e3; font:800 10px/1.3 var(--font-sans); }
.bond-terminal-osint-meta { color:#718ba1; font:7px/1.3 var(--font-mono); }
.bond-terminal-empty { padding:14px; color:#6e8599; font:8px/1.45 var(--font-mono); text-align:center; }
.bond-map-stage { display:grid; grid-template-rows:auto auto auto minmax(0,1fr) auto; min-width:0; min-height:690px; margin:7px; overflow:hidden; border:1px solid rgba(245,185,66,.23); border-radius:3px; background:#06101b; }
.bond-map-stage[hidden] { display:none !important; }
.bond-map-toolbar { display:flex; gap:8px; align-items:center; min-width:0; padding:9px 10px; border-bottom:1px solid var(--bond-line); background:linear-gradient(100deg,rgba(18,41,59,.98),rgba(7,18,29,.98) 58%,rgba(50,36,13,.94)); }
.bond-map-title { color:#eaf1f7; font:900 12px/1.15 var(--font-mono); letter-spacing:.05em; }
.bond-map-toolbar #globalBondMapStatus { margin-left:auto; }
.bond-map-controls,.bond-map-basemaps { display:flex; gap:5px; align-items:center; min-width:0; padding:6px 8px; overflow-x:auto; border-bottom:1px solid var(--bond-line); color:#698198; background:rgba(5,15,25,.98); font:800 7px/1 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.bond-map-controls .layout-mini-btn,.bond-map-basemaps .layout-mini-btn { flex:0 0 auto; }
.bond-map-controls .layout-mini-btn.active { border-color:rgba(245,185,66,.55); color:#07111b; background:var(--bond-amber); }
.bond-map-frame { display:grid; grid-template-columns:minmax(0,1fr) 240px; min-width:0; min-height:540px; }
.bond-map-canvas-wrap { position:relative; min-width:0; min-height:540px; overflow:hidden; }
.bond-map-canvas { position:absolute; inset:0; }
.bond-map-fallback { display:none; position:absolute; inset:0; z-index:3; place-items:center; padding:22px; color:#91a5b6; background:rgba(5,14,23,.96); font:9px/1.5 var(--font-mono); text-align:center; }
.bond-map-fallback.visible { display:grid; }
.bond-map-detail { min-width:0; overflow:auto; border-left:1px solid var(--bond-line); background:linear-gradient(180deg,#091827,#06111c); }
.bond-map-detail-head { padding:9px 10px; border-bottom:1px solid var(--bond-line); color:var(--bond-amber); font:900 8px/1.2 var(--font-mono); letter-spacing:.11em; text-transform:uppercase; }
.bond-map-detail-body { display:grid; gap:8px; padding:10px; color:#899fb2; font:8px/1.45 var(--font-mono); }
.bond-map-detail-name { color:#edf3f7; font:900 13px/1.2 var(--font-mono); }
.bond-map-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.bond-map-detail-metric { padding:7px; border:1px solid rgba(112,153,191,.13); background:rgba(255,255,255,.018); }
.bond-map-detail-metric strong { display:block; margin-top:3px; color:#dbe6ef; font-size:11px; }
.bond-map-caption { display:flex; gap:7px 12px; align-items:center; flex-wrap:wrap; min-width:0; padding:7px 9px; border-top:1px solid var(--bond-line); color:#667f95; background:#050f19; font:7px/1.4 var(--font-mono); }
.bond-map-legend { display:inline-flex; gap:6px; align-items:center; flex-wrap:wrap; }
.bond-map-legend-chip { display:inline-flex; gap:4px; align-items:center; white-space:nowrap; }
.bond-map-legend-chip::before { width:8px; height:8px; border:1px solid rgba(255,255,255,.16); background:var(--legend-color,#263444); content:''; }
#globalBondMap .maplibregl-popup-content { max-width:min(390px,86vw); border:1px solid rgba(245,185,66,.34); border-radius:3px; color:#dbe7f0; background:#071522; box-shadow:0 18px 44px rgba(0,0,0,.48); font:9px/1.5 var(--font-mono); }
#globalBondMap .maplibregl-popup-tip { border-top-color:#071522; border-bottom-color:#071522; }
.watchtower-map-lightbox-stage > #globalBondMapStage { width:100% !important; height:100% !important; min-height:0 !important; margin:0; border:0; border-radius:0; }
.watchtower-map-lightbox-stage #globalBondMapStage .bond-map-frame,.watchtower-map-lightbox-stage #globalBondMapStage .bond-map-canvas-wrap { min-height:0; height:100%; }
.watchtower-map-lightbox-stage #globalBondMapStage .watchtower-map-lightbox-nested-trigger { display:none !important; }
body.theme-light #mkt-global-bonds { --bond-ink:#203745; --bond-muted:#617987; --bond-line:rgba(44,83,105,.18); --bond-panel:#f7fafb; --bond-panel-2:#edf4f6; color:#213a48; background:#edf3f5; }
body.theme-light .bond-command-toolbar,body.theme-light .bond-map-toolbar { background:linear-gradient(100deg,#dcebee,#f8fbfb 58%,#f3e6c9); }
body.theme-light .bond-command-title,body.theme-light .bond-map-title,body.theme-light .bond-terminal-kpi-value { color:#193541; }
body.theme-light .bond-terminal-nav,body.theme-light .bond-map-controls,body.theme-light .bond-map-basemaps,body.theme-light .bond-map-caption { background:#eef5f6; }
body.theme-light .bond-command-dynamic,body.theme-light .bond-map-stage { background:#f4f8f9; }
body.theme-light .bond-terminal-card,body.theme-light .bond-terminal-kpi,body.theme-light .bond-map-detail { color:#29434f; background:#f9fbfb; }
body.theme-light .bond-terminal-card-title,body.theme-light .bond-terminal-alert-title,body.theme-light .bond-map-detail-name,body.theme-light .bond-map-detail-metric strong { color:#1b3945; }
@media (max-width:1100px) { .bond-terminal-kpis { grid-template-columns:repeat(3,minmax(120px,1fr)); } .bond-command-toolbar { grid-template-columns:minmax(210px,1fr) minmax(180px,280px) auto auto; } #globalBondStatus { grid-column:1/-1; text-align:left; } }
@media (max-width:760px) {
  #mkt-global-bonds.active { min-height:900px; overflow:visible; }
  .bond-command-toolbar { grid-template-columns:1fr auto; padding:9px; }
  .bond-command-identity,.bond-command-toolbar .search-input,#globalBondStatus { grid-column:1/-1; width:100%; }
  .bond-command-root { height:auto !important; min-height:800px; overflow:visible !important; }
  .bond-command-dynamic { overflow:visible; }
  .bond-terminal-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bond-terminal-grid,.bond-terminal-grid.equal { grid-template-columns:1fr; }
  .bond-terminal-score-row { grid-template-columns:minmax(120px,1fr) 70px 56px; }
  .bond-terminal-evidence-grid { grid-template-columns:1fr; }
  .bond-map-stage { width:calc(100% - 8px); min-height:900px; margin:4px; }
  .bond-map-toolbar { align-items:flex-start; flex-wrap:wrap; }
  .bond-map-toolbar #globalBondMapStatus { margin-left:0; }
  .bond-map-frame { grid-template-columns:1fr; grid-template-rows:minmax(520px,1fr) auto; min-height:760px; }
  .bond-map-canvas-wrap { min-height:520px; }
  .bond-map-detail { max-height:240px; border-top:1px solid var(--bond-line); border-left:0; }
  .bond-map-controls .layout-mini-btn,.bond-map-basemaps .layout-mini-btn { min-height:36px; }
  .watchtower-map-lightbox-stage > #globalBondMapStage { overflow-y:auto;align-content:start; }
  .watchtower-map-lightbox-stage #globalBondMapStage .bond-map-frame { height:auto;min-height:390px;grid-template-rows:minmax(240px,1fr) minmax(150px,220px); }
  .watchtower-map-lightbox-stage #globalBondMapStage .bond-map-canvas-wrap { min-height:240px;height:auto; }
  .watchtower-map-lightbox-stage #globalBondMapStage .bond-map-detail { min-height:150px;max-height:220px; }
}

/* Bank Run Command v2.2 */
#cb-bankrun { --br-ink:#dcefeb;--br-muted:#789991;--br-line:rgba(99,211,177,.17);--br-mint:#63d3b1;--br-cyan:#62cce8;--br-amber:#f0ba62;--br-red:#f16b75;--br-neutral:#182b2d;max-width:100%;overflow:hidden;color:var(--br-ink);background:linear-gradient(rgba(99,211,177,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(99,211,177,.025) 1px,transparent 1px),radial-gradient(circle at 7% 0%,rgba(47,151,123,.15),transparent 29%),radial-gradient(circle at 94% 3%,rgba(240,186,98,.1),transparent 27%),#030c0b;background-size:26px 26px,26px 26px,auto,auto,auto;}
#cb-bankrun.active { display:flex;min-width:0;min-height:680px;flex-direction:column;overflow:hidden;}
.bankrun-command-toolbar { position:relative;display:grid;grid-template-columns:minmax(245px,1fr) minmax(220px,360px) auto auto minmax(150px,auto);gap:8px;align-items:center;min-width:0;padding:10px 12px;overflow:hidden;border-bottom:1px solid var(--br-line);background:linear-gradient(104deg,rgba(20,68,57,.96),rgba(5,20,18,.985) 58%,rgba(66,45,16,.91));}
.bankrun-command-toolbar::after { position:absolute;right:-65px;top:-145px;width:330px;height:330px;border:1px solid rgba(99,211,177,.12);border-radius:50%;box-shadow:0 0 0 26px rgba(99,211,177,.018),0 0 0 58px rgba(240,186,98,.014);content:'';pointer-events:none;}
.bankrun-command-identity { position:relative;z-index:1;display:grid;gap:2px;min-width:0;}
.bankrun-command-kicker { color:var(--br-amber);font:900 8px/1.2 var(--font-mono);letter-spacing:.17em;text-transform:uppercase;}
.bankrun-command-title { overflow:hidden;color:#f2fbf8;font:900 15px/1.1 var(--font-mono);letter-spacing:.025em;text-overflow:ellipsis;white-space:nowrap;}
#bankrunCommandStatus { position:relative;z-index:1;overflow:hidden;color:var(--br-muted);font:900 8px/1.25 var(--font-mono);letter-spacing:.055em;text-align:right;text-overflow:ellipsis;white-space:nowrap;}
#bankrunCommandStatus[data-state="live"] { color:var(--br-mint);}#bankrunCommandStatus[data-state="loading"],#bankrunCommandStatus[data-state="stale"],#bankrunCommandStatus[data-state="replay"] { color:var(--br-amber);}#bankrunCommandStatus[data-state="degraded"],#bankrunCommandStatus[data-state="unavailable"] { color:var(--br-red);}
.bankrun-command-root { display:grid!important;grid-template-rows:auto minmax(0,1fr);width:100%!important;max-width:100%;min-width:0!important;min-height:0;height:100%!important;padding:0!important;overflow:hidden!important;align-content:stretch!important;contain:inline-size;}
.bankrun-command-nav { display:flex;gap:4px;align-items:center;min-width:0;max-width:100%;padding:6px 8px;overflow-x:auto;border-bottom:1px solid var(--br-line);background:rgba(3,14,12,.985);scrollbar-width:thin;}
.bankrun-command-nav-label { flex:0 0 auto;margin-right:5px;color:var(--br-amber);font:900 8px/1 var(--font-mono);letter-spacing:.12em;white-space:nowrap;}
.bankrun-command-nav .layout-mini-btn { flex:0 0 auto;min-height:29px;border-color:rgba(99,211,177,.17);color:#82a59d;background:rgba(255,255,255,.014);font:900 8px/1 var(--font-mono);letter-spacing:.045em;white-space:nowrap;}
.bankrun-command-nav .layout-mini-btn.active { border-color:rgba(240,186,98,.62);color:#06120f;background:var(--br-amber);box-shadow:0 0 19px rgba(240,186,98,.12);}
.bankrun-command-dynamic { min-width:0;max-width:100%;min-height:0;padding:9px;overflow:auto;scrollbar-gutter:stable;}
.bankrun-view { display:grid;gap:9px;min-width:0;max-width:100%;align-content:start;}
.bankrun-tape { display:grid;grid-template-columns:repeat(6,minmax(115px,1fr));gap:1px;overflow:hidden;border:1px solid var(--br-line);border-top:2px solid rgba(99,211,177,.42);background:var(--br-line);box-shadow:0 15px 36px rgba(0,0,0,.18);}
.bankrun-tape-cell { position:relative;min-width:0;min-height:80px;padding:10px;overflow:hidden;background:linear-gradient(145deg,rgba(12,40,34,.98),rgba(5,20,18,.99));}
.bankrun-tape-cell::after { position:absolute;right:-25px;bottom:-42px;width:86px;height:86px;border:1px solid rgba(99,211,177,.08);border-radius:50%;content:'';}
.bankrun-tape-label { color:var(--br-muted);font:900 7px/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;}
.bankrun-tape-value { margin-top:8px;overflow:hidden;color:var(--metric-color,#eaf8f4);font:900 19px/1 var(--font-mono);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;}
.bankrun-tape-meta { margin-top:7px;overflow:hidden;color:#688a82;font:7px/1.3 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;}
.bankrun-grid { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:9px;min-width:0;max-width:100%;}.bankrun-grid.equal { grid-template-columns:repeat(2,minmax(0,1fr));}
.bankrun-ledger { min-width:0;max-width:100%;overflow:hidden;border:1px solid var(--br-line);border-radius:2px;background:linear-gradient(155deg,rgba(8,31,26,.975),rgba(4,16,14,.99));box-shadow:0 13px 34px rgba(0,0,0,.14);}
.bankrun-ledger-head { display:flex;gap:10px;align-items:center;justify-content:space-between;min-height:36px;padding:8px 10px;border-bottom:1px solid var(--br-line);background:linear-gradient(90deg,rgba(99,211,177,.045),rgba(255,255,255,.012));}
.bankrun-ledger-title { color:#c8dfd9;font:900 8px/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;}.bankrun-ledger-note { color:#67877f;font:7px/1.3 var(--font-mono);text-align:right;}
.bankrun-ledger-body { min-width:0;max-width:100%;padding:10px;}.bankrun-ledger-body.flush { padding:0;}.bankrun-note { color:#8ba8a1;font:9px/1.55 var(--font-mono);}.bankrun-note strong { color:#d9ebe7;}
.bankrun-table-wrap { width:100%;max-width:100%;overflow:auto;overscroll-behavior-inline:contain;}.bankrun-table-wrap .data-table { min-width:760px;font-family:var(--font-mono);}.bankrun-table-wrap .data-table th { position:sticky;top:0;z-index:1;color:#71958c;background:#08201a;font-size:7px;letter-spacing:.085em;text-transform:uppercase;}.bankrun-table-wrap .data-table td { color:#a8c1bb;font-size:8px;line-height:1.38;vertical-align:top;}
.bankrun-family-row { display:grid;grid-template-columns:minmax(165px,1fr) minmax(90px,1.25fr) 78px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(99,211,177,.105);}.bankrun-family-row:last-child { border-bottom:0;}.bankrun-family-name { color:#b8d0ca;font:900 8px/1.25 var(--font-mono);}.bankrun-family-meta { margin-top:3px;color:#678a81;font:7px/1.3 var(--font-mono);}.bankrun-family-track { height:5px;overflow:hidden;background:rgba(255,255,255,.055);}.bankrun-family-fill { display:block;height:100%;background:currentColor;box-shadow:0 0 9px currentColor;}.bankrun-family-score { font:900 9px/1.2 var(--font-mono);text-align:right;}
.bankrun-tags { display:flex;gap:5px;flex-wrap:wrap;}.bankrun-tag { padding:4px 6px;border:1px solid rgba(99,211,177,.18);border-radius:2px;color:#86a79f;background:rgba(255,255,255,.014);font:800 7px/1.2 var(--font-mono);}.bankrun-tag.direct { border-color:rgba(99,211,177,.38);color:var(--br-mint);}.bankrun-tag.proxy { border-color:rgba(98,204,232,.32);color:var(--br-cyan);}.bankrun-tag.required { border-color:rgba(240,186,98,.38);color:var(--br-amber);}
.bankrun-source-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:5px;}.bankrun-source { min-width:0;padding:8px;border:1px solid var(--br-line);border-top:2px solid #526d66;background:rgba(255,255,255,.014);}.bankrun-source.healthy { border-top-color:var(--br-mint);}.bankrun-source.partial,.bankrun-source.stale { border-top-color:var(--br-amber);}.bankrun-source.unavailable { border-top-color:var(--br-red);}.bankrun-source-title { overflow:hidden;color:#c1d8d2;font:900 8px/1.3 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;}.bankrun-source-meta { margin-top:4px;overflow:hidden;color:#6d8e86;font:7px/1.35 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;}.bankrun-empty { padding:16px;color:#728f88;font:8px/1.5 var(--font-mono);text-align:center;}
.bankrun-attribution { display:grid;gap:6px;}.bankrun-attribution-row { display:grid;grid-template-columns:minmax(150px,1fr) 90px 90px 76px;gap:8px;align-items:center;padding:7px;border:1px solid rgba(99,211,177,.11);background:rgba(255,255,255,.012);}.bankrun-attribution-row strong { color:#dcefeb;font:900 8px/1.25 var(--font-mono);}.bankrun-attribution-row span { color:#789991;font:8px/1.25 var(--font-mono);}.bankrun-health-badge { display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid rgba(99,211,177,.22);border-radius:2px;color:var(--br-muted);font:900 7px/1 var(--font-mono);white-space:nowrap;}.bankrun-health-badge.healthy { color:var(--br-mint);}.bankrun-health-badge.partial,.bankrun-health-badge.stale { color:var(--br-amber);}.bankrun-health-badge.unavailable { color:var(--br-red);}.bankrun-timeline { display:grid;grid-template-columns:repeat(auto-fit,minmax(12px,1fr));gap:3px;align-items:end;min-height:150px;padding:10px;border:1px solid var(--br-line);background:rgba(0,0,0,.15);}.bankrun-timeline-point { display:grid;align-items:end;min-width:0;height:130px;}.bankrun-timeline-bar { min-height:2px;background:var(--bar-color,var(--br-mint));box-shadow:0 0 8px color-mix(in srgb,var(--bar-color,var(--br-mint)) 40%,transparent);}.bankrun-dossier { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}.bankrun-dossier-card { min-width:0;padding:8px;border:1px solid var(--br-line);background:rgba(255,255,255,.014);}.bankrun-dossier-card span { display:block;color:var(--br-muted);font:700 7px/1.25 var(--font-mono);text-transform:uppercase;}.bankrun-dossier-card strong { display:block;margin-top:5px;color:#dcefeb;font:900 12px/1 var(--font-mono);}.bankrun-scenario-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}.bankrun-scenario-control { display:grid;grid-template-columns:minmax(130px,1fr) minmax(120px,1fr) 58px;gap:8px;align-items:center;padding:9px;border:1px solid var(--br-line);background:rgba(255,255,255,.014);}.bankrun-scenario-control label { color:#b8d0ca;font:900 8px/1.3 var(--font-mono);}.bankrun-scenario-control input { width:100%;accent-color:var(--br-amber);}.bankrun-scenario-control output { color:var(--br-amber);font:900 9px/1 var(--font-mono);text-align:right;}.bankrun-alert-state { font-weight:900;letter-spacing:.06em;}.bankrun-alert-state.new { color:var(--br-red);}.bankrun-alert-state.escalating { color:var(--br-amber);}.bankrun-alert-state.ongoing,.bankrun-alert-state.acknowledged { color:var(--br-cyan);}.bankrun-reference-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px;}.bankrun-reference-card { padding:10px;border:1px solid var(--br-line);border-top:2px solid var(--br-cyan);background:rgba(255,255,255,.014);}.bankrun-reference-card h4 { margin:0 0 7px;color:#dcefeb;font:900 9px/1.2 var(--font-mono);}.bankrun-reference-card p { margin:4px 0;color:#789991;font:8px/1.45 var(--font-mono);}
.bankrun-map-stage { display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;min-width:0;max-width:100%;min-height:690px;margin:7px;overflow:hidden;border:1px solid rgba(99,211,177,.25);border-radius:3px;background:#04110f;box-shadow:0 18px 48px rgba(0,0,0,.2);}.bankrun-map-stage[hidden] { display:none!important;}
.bankrun-map-toolbar { display:flex;gap:8px;align-items:center;min-width:0;padding:9px 10px;border-bottom:1px solid var(--br-line);background:linear-gradient(100deg,rgba(18,58,49,.98),rgba(5,19,17,.99) 58%,rgba(57,40,14,.94));}.bankrun-map-title { color:#edf9f6;font:900 12px/1.15 var(--font-mono);letter-spacing:.055em;}.bankrun-map-toolbar #bankrunMapStatus { margin-left:auto;}
.bankrun-map-controls,.bankrun-map-basemaps { display:flex;gap:5px;align-items:center;min-width:0;max-width:100%;padding:6px 8px;overflow-x:auto;border-bottom:1px solid var(--br-line);color:#66877f;background:rgba(3,15,13,.99);font:900 7px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;}.bankrun-map-controls .layout-mini-btn,.bankrun-map-basemaps .layout-mini-btn { flex:0 0 auto;}.bankrun-map-controls .layout-mini-btn.active { border-color:rgba(240,186,98,.58);color:#06120f;background:var(--br-amber);}
.bankrun-map-frame { display:grid;grid-template-columns:minmax(0,1fr) 260px;min-width:0;min-height:540px;}.bankrun-map-canvas-wrap { position:relative;min-width:0;min-height:540px;overflow:hidden;background:radial-gradient(circle at 48% 45%,rgba(99,211,177,.07),transparent 46%),#03100e;}.bankrun-map-canvas { position:absolute;inset:0;}.bankrun-map-fallback { display:none;position:absolute;inset:0;z-index:4;place-items:center;padding:22px;color:#91aaa4;background:rgba(3,15,13,.965);font:9px/1.55 var(--font-mono);text-align:center;}.bankrun-map-fallback.visible { display:grid;}
.bankrun-map-detail { min-width:0;overflow:auto;border-left:1px solid var(--br-line);background:linear-gradient(180deg,#08231c,#04130f);}.bankrun-map-detail-head { position:sticky;top:0;z-index:1;padding:9px 10px;border-bottom:1px solid var(--br-line);color:var(--br-amber);background:rgba(5,20,17,.96);font:900 8px/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase;}.bankrun-map-detail-body { display:grid;gap:8px;padding:10px;color:#88a69f;font:8px/1.5 var(--font-mono);}.bankrun-map-detail-name { color:#eef9f6;font:900 14px/1.15 var(--font-mono);}.bankrun-map-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:6px;}.bankrun-map-detail-metric { min-width:0;padding:7px;border:1px solid rgba(99,211,177,.12);background:rgba(255,255,255,.014);}.bankrun-map-detail-metric span { display:block;overflow:hidden;color:#6f9188;font-size:7px;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;}.bankrun-map-detail-metric strong { display:block;margin-top:4px;color:#dcefeb;font-size:11px;}
.bankrun-map-caption { display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;min-width:0;padding:7px 9px;border-top:1px solid var(--br-line);color:#67877f;background:#030e0c;font:7px/1.45 var(--font-mono);}.bankrun-map-legend { display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;}.bankrun-map-legend-chip { display:inline-flex;gap:4px;align-items:center;white-space:nowrap;}.bankrun-map-legend-chip::before { width:8px;height:8px;border:1px solid rgba(255,255,255,.16);background:var(--legend-color,var(--br-neutral));content:'';}
#bankrunMap .maplibregl-popup-content { max-width:min(390px,86vw);border:1px solid rgba(99,211,177,.36);border-radius:3px;color:#dcefeb;background:#061b16;box-shadow:0 18px 46px rgba(0,0,0,.52);font:9px/1.5 var(--font-mono);}#bankrunMap .maplibregl-popup-tip { border-top-color:#061b16;border-bottom-color:#061b16;}
.watchtower-map-lightbox-stage > #bankrunMapStage { width:100%!important;height:100%!important;min-height:0!important;margin:0;border:0;border-radius:0;}.watchtower-map-lightbox-stage #bankrunMapStage .bankrun-map-frame,.watchtower-map-lightbox-stage #bankrunMapStage .bankrun-map-canvas-wrap { min-height:0;height:100%;}.watchtower-map-lightbox-stage #bankrunMapStage .watchtower-map-lightbox-nested-trigger { display:none!important;}
body.theme-light #cb-bankrun { --br-ink:#203c35;--br-muted:#627e77;--br-line:rgba(42,104,87,.18);color:#203c35;background:#edf5f2;}body.theme-light .bankrun-command-toolbar,body.theme-light .bankrun-map-toolbar { background:linear-gradient(100deg,#d7eee7,#f8fbfa 58%,#f2e5c9);}body.theme-light .bankrun-command-title,body.theme-light .bankrun-map-title,body.theme-light .bankrun-tape-value { color:#173b32;}body.theme-light .bankrun-command-nav,body.theme-light .bankrun-map-controls,body.theme-light .bankrun-map-basemaps,body.theme-light .bankrun-map-caption { background:#edf5f2;}body.theme-light .bankrun-command-dynamic,body.theme-light .bankrun-map-stage { background:#f3f8f6;}body.theme-light .bankrun-ledger,body.theme-light .bankrun-tape-cell,body.theme-light .bankrun-map-detail { color:#29473f;background:#f9fcfb;}body.theme-light .bankrun-ledger-title,body.theme-light .bankrun-map-detail-name,body.theme-light .bankrun-map-detail-metric strong { color:#183c33;}
@media (max-width:1100px) { .bankrun-tape { grid-template-columns:repeat(3,minmax(115px,1fr));}.bankrun-command-toolbar { grid-template-columns:minmax(210px,1fr) minmax(180px,280px) auto auto;}#bankrunCommandStatus { grid-column:1/-1;text-align:left;} }
@media (max-width:430px) {
  #cb-bankrun.active { min-height:0;max-width:100%;overflow:hidden;}.bankrun-command-toolbar { grid-template-columns:1fr 1fr;gap:6px;padding:8px;}.bankrun-command-identity,.bankrun-command-toolbar .search-input,#bankrunCommandStatus { grid-column:1/-1;width:100%;min-width:0;}.bankrun-command-toolbar .layout-mini-btn { min-width:0;min-height:40px;padding-inline:7px;white-space:normal;}.bankrun-command-root { min-height:0;max-width:100%;}.bankrun-command-nav .layout-mini-btn { min-height:40px;padding-inline:10px;}.bankrun-command-dynamic { padding:6px;overflow:auto;}.bankrun-tape { grid-template-columns:repeat(2,minmax(0,1fr));}.bankrun-grid,.bankrun-grid.equal { grid-template-columns:1fr;}.bankrun-family-row { grid-template-columns:minmax(115px,1fr) 62px 62px;gap:6px;}
  .bankrun-attribution-row { grid-template-columns:1fr 70px;}.bankrun-attribution-row span:nth-of-type(2) { display:none;}.bankrun-dossier,.bankrun-scenario-grid { grid-template-columns:1fr;}.bankrun-scenario-control { grid-template-columns:1fr 1fr 52px;}.bankrun-map-stage { width:calc(100% - 6px);min-height:720px;margin:3px;}.bankrun-map-toolbar { align-items:flex-start;flex-wrap:wrap;}.bankrun-map-toolbar #bankrunMapStatus { order:3;width:100%;margin-left:0;}.bankrun-map-controls .layout-mini-btn,.bankrun-map-basemaps .layout-mini-btn { min-height:40px;padding-inline:10px;}.bankrun-map-frame { grid-template-columns:1fr;grid-template-rows:minmax(430px,1fr) auto;min-height:650px;}.bankrun-map-canvas-wrap { min-height:430px;}.bankrun-map-detail { max-height:220px;border-top:1px solid var(--br-line);border-left:0;}
  .watchtower-map-lightbox-stage > #bankrunMapStage { overflow-y:auto;align-content:start;}.watchtower-map-lightbox-stage #bankrunMapStage .bankrun-map-frame { height:auto;min-height:390px;grid-template-rows:minmax(240px,1fr) minmax(145px,210px);}.watchtower-map-lightbox-stage #bankrunMapStage .bankrun-map-canvas-wrap { min-height:240px;height:auto;}.watchtower-map-lightbox-stage #bankrunMapStage .bankrun-map-detail { min-height:145px;max-height:210px;}
}
@media (max-width:430px) and (max-height:680px) { .bankrun-command-title { font-size:13px;}.bankrun-command-toolbar { padding-block:6px;}.bankrun-command-dynamic { padding:5px;}.bankrun-tape-cell { min-height:70px;padding:8px;}.bankrun-map-stage { min-height:620px;}.bankrun-map-frame { grid-template-rows:minmax(350px,1fr) auto;min-height:560px;}.bankrun-map-canvas-wrap { min-height:350px;} }

/* Bayes Threat map-free research board. Dormant atlas styles remain isolated for rollback only. */
#cb-ancapbayes {
  --bayes-cyan:#54d9e8;
  --bayes-blue:#6f8cff;
  --bayes-lime:#a8dc69;
  --bayes-amber:#f0b95a;
  --bayes-orange:#ee7b4f;
  --bayes-red:#dc4669;
  --bayes-ink:#030912;
  --bayes-panel:#081522;
  --bayes-line:rgba(84,217,232,.17);
  overflow-x:hidden !important;
  overflow-y:auto !important;
  color:#dce9ed;
  background:
    linear-gradient(rgba(84,217,232,.022) 1px,transparent 1px),
    linear-gradient(90deg,rgba(84,217,232,.022) 1px,transparent 1px),
    radial-gradient(circle at 7% 0%,rgba(84,217,232,.12),transparent 28%),
    radial-gradient(circle at 95% 3%,rgba(220,70,105,.11),transparent 31%),
    var(--bayes-ink);
  background-size:30px 30px,30px 30px,auto,auto,auto;
}
.bayes-atlas,.bayes-atlas *,.bayes-pre-map,.bayes-pre-map *,.bayes-map-stage,.bayes-map-frame,.bayes-analysis-shell { box-sizing:border-box; }
.bayes-atlas,.bayes-pre-map,.bayes-map-stage,.bayes-map-frame,.bayes-map-canvas,.bayes-analysis-shell { width:100%;min-width:0;max-width:100%; }
.bayes-atlas { min-height:100%;font-family:var(--font-mono); }
.bayes-pre-map { min-height:100%;font-family:var(--font-mono); }
.bayes-pre-map-toolbar { position:sticky;top:0;z-index:8;display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:14px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--bayes-line);background:linear-gradient(104deg,rgba(84,217,232,.105),rgba(7,19,31,.98) 50%,rgba(220,70,105,.09));box-shadow:0 8px 24px rgba(0,0,0,.18);backdrop-filter:blur(10px); }
.bayes-pre-map-heading { min-width:0; }
.bayes-pre-map-title { margin-top:3px;color:#eff9fb;font:900 clamp(11px,1.35vw,15px)/1.25 var(--font-mono);letter-spacing:.035em;text-transform:uppercase; }
.bayes-pre-map-panel { width:100%;min-width:0;padding:9px;overflow:visible;contain:inline-size; }
.bayes-pre-map-board { display:grid;gap:13px;min-width:0;align-content:start; }
.bayes-pre-map-section { display:grid;gap:9px;min-width:0;padding-top:2px; }
.bayes-pre-map-section + .bayes-pre-map-section { padding-top:13px;border-top:1px solid rgba(84,217,232,.14); }
.bayes-pre-map-section-label { display:flex;gap:8px;align-items:center;color:var(--bayes-amber);font:900 8px/1.2 var(--font-mono);letter-spacing:.14em;text-transform:uppercase; }
.bayes-pre-map-section-label::after { height:1px;flex:1;background:linear-gradient(90deg,rgba(240,185,90,.4),transparent);content:''; }
.bayes-command-head { position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:15px 16px 13px;overflow:hidden;border-bottom:1px solid var(--bayes-line);background:linear-gradient(104deg,rgba(84,217,232,.105),rgba(7,19,31,.97) 50%,rgba(220,70,105,.09)); }
.bayes-command-head::after { position:absolute;right:-58px;top:-118px;width:290px;height:290px;border:1px solid rgba(84,217,232,.18);border-radius:50%;box-shadow:0 0 0 24px rgba(84,217,232,.018),0 0 0 51px rgba(220,70,105,.014);content:'';pointer-events:none; }
.bayes-command-kicker { color:var(--bayes-amber);font:900 8px/1.2 var(--font-mono);letter-spacing:.18em;text-transform:uppercase; }
.bayes-command-title { margin:4px 0 0;color:#f4fbfd;font:900 clamp(19px,2.25vw,29px)/1 var(--font-mono);letter-spacing:-.045em;text-transform:uppercase; }
.bayes-command-subtitle { max-width:850px;margin-top:6px;color:#8da5b0;font:9px/1.5 var(--font-mono); }
.bayes-command-actions { position:relative;z-index:1;display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap; }
.bayes-country-select { width:min(340px,42vw);min-height:32px;border:1px solid rgba(84,217,232,.26);border-radius:3px;color:#dce9ed;background:#07131f;font:9px var(--font-mono); }
.bayes-live-state { display:inline-flex;align-items:center;min-height:27px;padding:4px 8px;border:1px solid rgba(84,217,232,.35);border-radius:3px;color:var(--bayes-cyan);background:rgba(84,217,232,.07);font:900 8px/1 var(--font-mono);letter-spacing:.09em;text-transform:uppercase; }
.bayes-live-state[data-state="loading"] { color:var(--bayes-amber);border-color:rgba(240,185,90,.4); }
.bayes-live-state[data-state="degraded"] { color:#ff8ca0;border-color:rgba(220,70,105,.46); }
.bayes-live-state[data-state="replay"] { color:#a9b2ff;border-color:rgba(111,140,255,.44); }
.bayes-map-stage { --bayes-cyan:#54d9e8;--bayes-blue:#6f8cff;--bayes-lime:#a8dc69;--bayes-amber:#f0b95a;--bayes-orange:#ee7b4f;--bayes-red:#dc4669;--bayes-ink:#030912;--bayes-panel:#081522;--bayes-line:rgba(84,217,232,.17);display:grid;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto;min-height:760px;margin:8px;width:calc(100% - 16px);overflow:hidden;border:1px solid rgba(84,217,232,.25);border-radius:6px;color:#dce9ed;background:#030a13;box-shadow:0 20px 56px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.025);font-family:var(--font-mono); }
.bayes-map-toolbar { display:flex;gap:9px;align-items:center;min-width:0;padding:9px 10px;border-bottom:1px solid var(--bayes-line);background:linear-gradient(90deg,rgba(84,217,232,.095),rgba(7,18,30,.98) 54%,rgba(220,70,105,.065)); }
.bayes-map-title { flex:0 0 auto;color:#effbfc;font:900 11px/1.15 var(--font-mono);letter-spacing:.09em;text-transform:uppercase; }
.bayes-map-meta { min-width:0;overflow:hidden;color:#79929e;font:8px/1.3 var(--font-mono);text-overflow:ellipsis;white-space:nowrap; }
.bayes-map-toolbar-actions { display:flex;gap:5px;align-items:center;margin-left:auto;flex:0 0 auto; }
.bayes-map-data-tabs,.bayes-map-metrics,.bayes-map-basemaps,.bayes-map-layers { display:flex;gap:6px;align-items:center;min-width:0;padding:6px 8px;overflow-x:auto;border-bottom:1px solid rgba(84,217,232,.1);background:rgba(6,15,25,.97);scrollbar-width:thin;scrollbar-color:rgba(84,217,232,.3) transparent; }
.bayes-map-data-tabs { gap:4px;background:linear-gradient(90deg,rgba(84,217,232,.055),rgba(6,15,25,.97) 58%,rgba(240,185,90,.035)); }
.bayes-map-data-tab { flex:0 0 auto;min-height:30px;padding:6px 10px;border:1px solid rgba(84,217,232,.16);border-radius:3px;color:#76909b;background:rgba(3,11,19,.72);font:900 8px/1 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap; }
.bayes-map-data-tab:hover,.bayes-map-data-tab.active { border-color:rgba(240,185,90,.65);color:#f4fbfd;background:rgba(240,185,90,.1); }
.bayes-map-data-tab.active { box-shadow:inset 0 -2px 0 var(--bayes-amber),0 0 15px rgba(240,185,90,.07); }
.bayes-control-label { flex:0 0 auto;color:#69838f;font:900 8px/1 var(--font-mono);letter-spacing:.11em;text-transform:uppercase; }
.bayes-map-metric-strip { display:flex;gap:5px;align-items:center;min-width:0; }
.bayes-lens-btn { flex:0 0 auto;min-height:28px;padding:5px 9px;border:1px solid rgba(84,217,232,.2);border-radius:3px;color:#a8bcc5;background:rgba(3,11,19,.84);font:900 8px/1.15 var(--font-mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer; }
.bayes-lens-btn:hover,.bayes-lens-btn.active { border-color:var(--bayes-cyan);color:#f2fdff;background:rgba(84,217,232,.095); }
.bayes-lens-btn.active { box-shadow:inset 0 -2px 0 var(--bayes-amber),0 0 15px rgba(84,217,232,.06); }
.bayes-layer-btn { flex:0 0 auto;min-height:27px;padding:5px 8px;border:1px solid rgba(84,217,232,.16);border-radius:3px;color:#7d949f;background:rgba(3,11,19,.78);font:900 8px/1 var(--font-mono);letter-spacing:.045em;text-transform:uppercase;cursor:pointer; }
.bayes-layer-btn.active { border-color:var(--layer-color,var(--bayes-cyan));color:var(--layer-color,var(--bayes-cyan));background:rgba(84,217,232,.055);box-shadow:inset 0 -2px 0 var(--layer-color,var(--bayes-cyan)); }
.bayes-map-metric-select { display:none;min-width:210px;min-height:32px;border:1px solid rgba(84,217,232,.25);border-radius:3px;color:#dce9ed;background:#07131f;font:9px var(--font-mono); }
.bayes-map-frame { display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:550px; }
.bayes-map-canvas-wrap { position:relative;min-width:0;min-height:550px;overflow:hidden;background:radial-gradient(circle at 45% 45%,rgba(84,217,232,.08),transparent 45%),#030914; }
.bayes-map-canvas { position:absolute;inset:0; }
.bayes-map-fallback { position:absolute;inset:0;z-index:5;display:none;place-items:center;padding:24px;color:#9cb0b9;background:radial-gradient(circle,rgba(84,217,232,.09),rgba(3,9,18,.97));font:9px/1.55 var(--font-mono);text-align:center; }
.bayes-map-fallback.visible { display:grid; }
.bayes-map-detail { min-width:0;overflow:auto;border-left:1px solid var(--bayes-line);background:linear-gradient(180deg,#091827,#050f19);scrollbar-width:thin; }
.bayes-map-detail-head { position:sticky;top:0;z-index:1;padding:9px 10px;border-bottom:1px solid var(--bayes-line);color:var(--bayes-amber);background:rgba(7,18,29,.96);font:900 8px/1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;backdrop-filter:blur(7px); }
.bayes-map-detail-body { display:grid;gap:8px;padding:10px;color:#899faa;font:8px/1.48 var(--font-mono); }
.bayes-map-detail-name { color:#f0f8fa;font:900 15px/1.1 var(--font-mono);letter-spacing:-.025em; }
.bayes-map-detail-grid { display:grid;grid-template-columns:1fr 1fr;gap:6px; }
.bayes-map-detail-metric { min-width:0;padding:7px;border:1px solid rgba(84,217,232,.12);background:rgba(255,255,255,.018); }
.bayes-map-detail-metric span { display:block;overflow:hidden;color:#738b97;font-size:7px;letter-spacing:.07em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap; }
.bayes-map-detail-metric strong { display:block;margin-top:4px;color:#dce9ed;font-size:13px; }
.bayes-map-reason { padding:6px 7px;border-left:2px solid var(--bayes-orange);color:#92a7b0;background:rgba(238,123,79,.045); }
.bayes-map-caption { display:flex;gap:7px 12px;align-items:center;flex-wrap:wrap;min-width:0;padding:7px 9px;border-top:1px solid var(--bayes-line);color:#718894;background:#040c15;font:8px/1.4 var(--font-mono); }
.bayes-map-legend { display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap; }
.bayes-legend-chip { display:inline-flex;gap:4px;align-items:center;white-space:nowrap; }
.bayes-legend-chip::before { width:9px;height:9px;border:1px solid rgba(255,255,255,.18);background:var(--legend-color,#1a2734);content:''; }
#ancapBayesMap .maplibregl-popup-content { max-width:min(390px,86vw);border:1px solid rgba(84,217,232,.32);border-radius:4px;color:#dce9ed;background:#071522;box-shadow:0 18px 46px rgba(0,0,0,.52);font:9px/1.5 var(--font-mono); }
#ancapBayesMap .maplibregl-popup-tip { border-top-color:#071522;border-bottom-color:#071522; }
.bayes-analysis-shell { margin-top:2px;border-top:1px solid var(--bayes-line); }
.bayes-analysis-nav { display:flex;gap:4px;align-items:center;min-width:0;padding:7px 8px;overflow-x:auto;border-bottom:1px solid var(--bayes-line);background:rgba(4,12,21,.97);scrollbar-width:thin; }
.bayes-analysis-nav .layout-mini-btn { flex:0 0 auto;min-height:29px;border-color:rgba(84,217,232,.17);color:#829aa5;background:rgba(255,255,255,.015);font:900 8px/1 var(--font-mono);letter-spacing:.055em;white-space:nowrap; }
.bayes-analysis-nav .layout-mini-btn.active { border-color:rgba(240,185,90,.56);color:#07111a;background:var(--bayes-amber);box-shadow:0 0 17px rgba(240,185,90,.12); }
#cb-ancapbayes #ancapBayesPanel { width:100%;height:auto !important;min-width:0;padding:9px;overflow:visible !important;contain:inline-size; }
.bayes-view { display:grid;gap:9px;min-width:0;align-content:start; }
.bayes-kpi-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:7px; }
.bayes-kpi { position:relative;min-width:0;min-height:82px;padding:10px;overflow:hidden;border:1px solid var(--bayes-line);border-top:2px solid var(--metric-color,var(--bayes-cyan));border-radius:3px;background:linear-gradient(150deg,rgba(13,34,51,.96),rgba(5,15,25,.97)); }
.bayes-kpi::after { position:absolute;right:-29px;bottom:-42px;width:90px;height:90px;border:1px solid color-mix(in srgb,var(--metric-color,var(--bayes-cyan)) 18%,transparent);border-radius:50%;content:''; }
.bayes-kpi-label { color:#718995;font:900 7px/1.2 var(--font-mono);letter-spacing:.11em;text-transform:uppercase; }
.bayes-kpi-value { margin-top:8px;overflow:hidden;color:var(--metric-color,#e9f5f7);font:900 20px/1 var(--font-mono);letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap; }
.bayes-kpi-meta { margin-top:7px;overflow:hidden;color:#6e8591;font:7px/1.3 var(--font-mono);text-overflow:ellipsis;white-space:nowrap; }
.bayes-grid { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:9px;min-width:0; }
.bayes-grid.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
.bayes-card { min-width:0;overflow:hidden;border:1px solid var(--bayes-line);border-radius:3px;background:linear-gradient(155deg,rgba(9,26,40,.97),rgba(4,13,22,.98));box-shadow:0 12px 32px rgba(0,0,0,.14); }
.bayes-card-head { display:flex;gap:9px;align-items:center;justify-content:space-between;min-height:36px;padding:8px 10px;border-bottom:1px solid var(--bayes-line);background:rgba(255,255,255,.017); }
.bayes-card-title { color:#c9d9df;font:900 8px/1.2 var(--font-mono);letter-spacing:.105em;text-transform:uppercase; }
.bayes-card-note { color:#667f8b;font:7px/1.3 var(--font-mono);text-align:right; }
.bayes-card-body { min-width:0;padding:10px; }
.bayes-note { color:#8ca2ac;font:9px/1.55 var(--font-mono); }
.bayes-note strong { color:#dce8ec; }
.bayes-score-row { display:grid;grid-template-columns:minmax(145px,1fr) minmax(90px,1.2fr) 72px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(84,217,232,.09); }
.bayes-score-row:last-child { border-bottom:0; }
.bayes-score-label { color:#b4c5cb;font:900 8px/1.25 var(--font-mono); }
.bayes-score-track { height:5px;overflow:hidden;border-radius:1px;background:rgba(255,255,255,.055); }
.bayes-score-fill { display:block;height:100%;background:currentColor;box-shadow:0 0 9px currentColor; }
.bayes-score-value { font:900 9px/1 var(--font-mono);text-align:right; }
.bayes-disclosure { margin-bottom:6px;border:1px solid rgba(84,217,232,.12);border-left:2px solid var(--disclosure-color,var(--bayes-cyan));background:rgba(255,255,255,.016); }
.bayes-disclosure summary { display:flex;gap:8px;align-items:center;min-height:36px;padding:7px 9px;color:#cad9de;font:900 9px/1.35 var(--font-mono);cursor:pointer;list-style:none; }
.bayes-disclosure summary::-webkit-details-marker { display:none; }
.bayes-disclosure summary::before { color:var(--disclosure-color,var(--bayes-cyan));content:'+';font-size:13px; }
.bayes-disclosure[open] summary::before { content:'−'; }
.bayes-disclosure-summary-score { margin-left:auto;color:var(--disclosure-color,var(--bayes-cyan));font-size:11px; }
.bayes-disclosure-body { padding:8px 10px 10px;border-top:1px solid rgba(84,217,232,.09);color:#879da7;font:8px/1.55 var(--font-mono); }
.bayes-tag-row { display:flex;gap:5px;flex-wrap:wrap; }
.bayes-tag { padding:4px 6px;border:1px solid rgba(84,217,232,.16);border-radius:2px;color:#8299a4;background:rgba(255,255,255,.016);font:800 7px/1.2 var(--font-mono); }
.bayes-tag.direct { border-color:rgba(168,220,105,.34);color:var(--bayes-lime); }
.bayes-tag.proxy { border-color:rgba(240,185,90,.36);color:var(--bayes-amber); }
.bayes-tag.missing { border-color:rgba(220,70,105,.34);color:#ee7b95; }
.bayes-event { display:grid;gap:4px;padding:9px 0;border-bottom:1px solid rgba(84,217,232,.09); }
.bayes-event:last-child { border-bottom:0; }
.bayes-event-kicker { color:var(--bayes-amber);font:900 7px/1.2 var(--font-mono);letter-spacing:.075em;text-transform:uppercase; }
.bayes-event-title { color:#d6e3e7;font:800 10px/1.35 var(--font-sans); }
.bayes-event-title a { color:inherit; }
.bayes-event-meta { color:#708994;font:7px/1.4 var(--font-mono); }
.bayes-table-wrap { width:100%;max-width:100%;overflow:auto; }
.bayes-table-wrap .data-table { min-width:930px;font-family:var(--font-mono); }
.bayes-table-wrap .data-table th { position:sticky;top:0;z-index:1;color:#718995;background:#091825;font-size:7px;letter-spacing:.08em;text-transform:uppercase; }
.bayes-table-wrap .data-table td { color:#a9bbc3;font-size:8px;line-height:1.4;vertical-align:top; }
.bayes-country-link { padding:0;border:0;color:#dbe9ed;background:transparent;font:900 9px/1.3 var(--font-mono);text-align:left;cursor:pointer; }
.bayes-country-link:hover { color:var(--bayes-cyan); }
.bayes-rank-controls { display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--bayes-line); }
.bayes-rank-controls .search-input { min-width:220px;flex:1 1 260px; }
.bayes-sparkline { width:100%;height:88px;overflow:visible; }
.bayes-sparkline .axis { stroke:rgba(84,217,232,.12);stroke-width:1; }
.bayes-sparkline .area { fill:rgba(84,217,232,.08); }
.bayes-sparkline .line { fill:none;stroke:var(--bayes-cyan);stroke-width:2;vector-effect:non-scaling-stroke; }
.bayes-sparkline .point { fill:var(--bayes-amber);stroke:#07131f;stroke-width:1.5;vector-effect:non-scaling-stroke; }
.bayes-method-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:7px; }
.bayes-method-card { padding:10px;border:1px solid rgba(84,217,232,.12);border-top:2px solid var(--method-color,var(--bayes-cyan));background:rgba(255,255,255,.017); }
.bayes-method-card strong { display:block;color:#d8e6e9;font:900 9px/1.3 var(--font-mono); }
.bayes-method-card span { display:block;margin-top:5px;color:#7f97a2;font:8px/1.5 var(--font-mono); }
.bayes-fact-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:7px; }
.bayes-fact-card { min-width:0;padding:10px;border:1px solid rgba(84,217,232,.12);border-top:2px solid var(--fact-color,var(--bayes-cyan));background:rgba(255,255,255,.017); }
.bayes-fact-title { color:#d8e6e9;font:900 9px/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase; }
.bayes-fact-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,auto);gap:10px;padding:6px 0;border-bottom:1px solid rgba(84,217,232,.08);color:#78909b;font:8px/1.35 var(--font-mono); }
.bayes-fact-row:last-child { border-bottom:0; }
.bayes-fact-row strong { color:#d3e1e5;text-align:right;overflow-wrap:anywhere; }
.bayes-fact-card .bayes-tag-row { margin-top:8px; }
.watchtower-map-lightbox-stage > #ancapBayesMapStage { width:100% !important;height:100% !important;min-height:0 !important;margin:0;border:0;border-radius:0;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto; }
.watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-frame,.watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-canvas-wrap { min-height:0;height:100%; }
.watchtower-map-lightbox-stage #ancapBayesMapStage .watchtower-map-lightbox-nested-trigger { display:none !important; }
body.theme-light #cb-ancapbayes { --bayes-ink:#edf4f5;--bayes-panel:#fff;--bayes-line:rgba(31,116,124,.19);color:#253d47; }
body.theme-light .bayes-command-head,body.theme-light .bayes-map-toolbar { background:linear-gradient(104deg,#d8edef,#f8fbfb 52%,#f4dfe5); }
body.theme-light .bayes-command-title,body.theme-light .bayes-map-title,body.theme-light .bayes-kpi-value,body.theme-light .bayes-map-detail-name { color:#17343e; }
body.theme-light .bayes-map-data-tabs,body.theme-light .bayes-map-metrics,body.theme-light .bayes-map-basemaps,body.theme-light .bayes-map-layers,body.theme-light .bayes-analysis-nav,body.theme-light .bayes-map-caption { background:#edf5f6; }
body.theme-light .bayes-map-stage { color:#253d47;background:#edf4f5; }
body.theme-light .bayes-map-detail,body.theme-light .bayes-card,body.theme-light .bayes-kpi { color:#29434d;background:#f9fbfb; }
body.theme-light .bayes-card-title,body.theme-light .bayes-score-label,body.theme-light .bayes-event-title { color:#1d3b44; }
body.theme-light .bayes-country-select,body.theme-light .bayes-map-metric-select { color:#263f49;background:#fff; }
@media (max-width:1100px) {
  .bayes-command-head { grid-template-columns:1fr; }
  .bayes-pre-map-toolbar { grid-template-columns:1fr; }
  .bayes-command-actions { justify-content:flex-start; }
}
@media (max-width:760px) {
  #cb-ancapbayes { overflow-y:visible !important; }
  .bayes-command-head { padding:12px 10px; }
  .bayes-pre-map-toolbar { position:relative;padding:10px 8px; }
  .bayes-pre-map-panel { padding:6px; }
  .bayes-pre-map-board { gap:10px; }
  .bayes-command-actions { width:100%; }
  .bayes-country-select { width:100%;min-height:40px;order:-1; }
  .bayes-map-stage { width:calc(100% - 10px);min-height:930px;margin:5px; }
  .bayes-map-toolbar { align-items:flex-start;flex-wrap:wrap; }
  .bayes-map-toolbar-actions { width:100%;margin-left:0;overflow-x:auto; }
  .bayes-map-metric-strip { display:none; }
  .bayes-map-metric-select { display:block;min-height:40px; }
  .bayes-map-frame { grid-template-columns:1fr;grid-template-rows:minmax(520px,1fr) auto;min-height:760px; }
  .bayes-map-canvas-wrap { min-height:520px; }
  .bayes-map-detail { max-height:250px;border-top:1px solid var(--bayes-line);border-left:0; }
  .bayes-map-data-tab,.bayes-map-basemaps .layout-mini-btn,.bayes-map-toolbar-actions .layout-mini-btn,.bayes-lens-btn,.bayes-layer-btn { min-height:40px;padding-block:8px; }
  .bayes-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bayes-grid,.bayes-grid.equal { grid-template-columns:1fr; }
  .bayes-score-row { grid-template-columns:minmax(120px,1fr) 70px 58px; }
  .bayes-analysis-nav .layout-mini-btn { min-height:39px; }
  .watchtower-map-lightbox-stage > #ancapBayesMapStage { overflow-y:auto;align-content:start;grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto; }
  .watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-frame { height:auto;min-height:390px;grid-template-rows:minmax(240px,1fr) minmax(150px,220px); }
  .watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-canvas-wrap { min-height:240px;height:auto; }
  .watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-detail { min-height:150px;max-height:220px; }
  .watchtower-map-lightbox-stage #ancapBayesMapStage .bayes-map-detail-body { padding-bottom:64px; }
}
/* Marine Intelligence: oceanic command surface with separately scoped external and first-party maps. */
#cb-marine { max-width:100%;overflow-x:hidden!important;background:radial-gradient(circle at 12% 0%,rgba(28,211,194,.12),transparent 30%),linear-gradient(180deg,#031119,#02090f); }
#cb-marine.active { overflow-y:auto!important; }
.marine-command { --marine-aqua:#38e1d1;--marine-blue:#56a8ff;--marine-amber:#ffc45c;--marine-red:#ff6c78;display:grid;gap:10px;width:100%;min-width:0;padding:10px;color:#d9f5f3;font-family:var(--font-mono); }
.marine-command * { min-width:0;box-sizing:border-box; }
.marine-command-head { display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid rgba(56,225,209,.3);border-radius:12px;background:linear-gradient(105deg,rgba(13,61,69,.72),rgba(3,17,25,.97) 58%,rgba(40,94,145,.3));box-shadow:0 18px 45px rgba(0,0,0,.35); }
.marine-command-kicker,.marine-section-kicker { color:var(--marine-aqua);font-size:8px;font-weight:900;letter-spacing:.18em;text-transform:uppercase; }
.marine-command-title { display:block;margin-top:4px;color:#f3ffff;font-size:clamp(17px,2.2vw,28px);line-height:1;letter-spacing:-.03em;text-transform:uppercase; }
.marine-command-subtitle { display:block;max-width:850px;margin-top:6px;color:#83aaa9;font-size:9px;line-height:1.5; }
.marine-command-actions { display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap; }
.marine-command-actions .layout-mini-btn,.marine-map-controls .layout-mini-btn,.marine-basemaps .layout-mini-btn,.marine-layer-toggle { border-color:rgba(56,225,209,.27)!important;color:#bde8e4!important;background:rgba(2,16,22,.84)!important; }
.marine-status { display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(56,225,209,.32);border-radius:999px;color:#b9d4d2;font-size:8px;letter-spacing:.1em;text-transform:uppercase; }
.marine-status::before { content:'';width:7px;height:7px;border-radius:50%;background:#70828c; }
.marine-status[data-state="live"]::before { background:var(--marine-aqua);box-shadow:0 0 12px var(--marine-aqua); }
.marine-status[data-state="partial"]::before,.marine-status[data-state="stale"]::before { background:var(--marine-amber); }
.marine-status[data-state="offline"]::before { background:var(--marine-red); }
.marine-metrics { display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(56,225,209,.18);border-radius:9px;background:rgba(56,225,209,.13); }
.marine-metric { padding:9px;background:rgba(3,16,23,.94); }
.marine-metric span { display:block;overflow:hidden;color:#668d90;font-size:7px;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap; }
.marine-metric strong { display:block;margin-top:3px;color:#efffff;font-size:16px; }
.marine-disclosure { padding:10px 12px;border:1px solid rgba(255,196,92,.25);border-left:3px solid var(--marine-amber);border-radius:7px;color:#b9c9c7;background:rgba(255,196,92,.055);font:9px/1.55 var(--font-mono); }
.marine-live-frame,.marine-atlas,.marine-data-section { overflow:hidden;border:1px solid rgba(56,225,209,.22);border-radius:11px;background:rgba(3,15,22,.94); }
.marine-live-head,.marine-section-head,.marine-map-controls,.marine-basemaps { display:flex;gap:7px;align-items:center;flex-wrap:wrap;padding:9px 10px;border-bottom:1px solid rgba(56,225,209,.14); }
.marine-live-head strong,.marine-section-head strong { color:#eafffd;font-size:11px;letter-spacing:.06em;text-transform:uppercase; }
.marine-spacer { margin-left:auto; }
.marine-live-iframe { position:relative;min-height:clamp(340px,55vh,620px);background:#021018; }
.marine-live-iframe iframe { display:block;width:100%;height:clamp(340px,55vh,620px);border:0;background:#021018; }
.marine-live-foot { display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:9px 10px;color:#789a9a;font-size:8px;line-height:1.45; }
.marine-map-stage { display:grid;grid-template-rows:auto auto minmax(0,1fr);min-height:0;overflow:hidden; }
.marine-map-controls { overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin; }
.marine-map-controls > * { flex:0 0 auto; }
.marine-layer-toggle.active { color:#f2ffff!important;border-color:rgba(56,225,209,.7)!important;background:rgba(56,225,209,.14)!important; }
.marine-map-search { width:min(190px,38vw);padding:6px 8px;border:1px solid rgba(56,225,209,.25);border-radius:5px;color:#e7fffc;background:#03131c;font:9px var(--font-mono); }
.marine-atlas-frame { display:grid;grid-template-columns:minmax(0,1fr) minmax(245px,29%);height:clamp(470px,65vh,700px);min-height:430px; }
#marineIntelMap { width:100%;height:100%;min-height:430px;background:#021018; }
.marine-map-rail { display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden;border-left:1px solid rgba(56,225,209,.17);background:#06151d; }
.marine-selected { padding:11px;color:#9bb8b6;font-size:9px;line-height:1.55;overflow-y:auto; }
.marine-selected strong { display:block;margin-bottom:5px;color:#f0fffd;font-size:12px; }
.marine-evidence-key { display:grid;align-content:start;gap:5px;padding:9px;border-top:1px solid rgba(56,225,209,.14);color:#779997;font-size:8px; }
.marine-disclosure a,.marine-data-row a,.marine-selected a { color:#73d9ef; }
.marine-key { display:flex;align-items:center;gap:6px; }
.marine-key::before { content:'';width:18px;height:3px;background:var(--key); }
.marine-key[data-pattern="dash"]::before { background:repeating-linear-gradient(90deg,var(--key) 0 4px,transparent 4px 7px); }
.marine-data-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.marine-data-section { min-height:130px; }
.marine-data-body { display:grid;gap:6px;padding:9px; }
.marine-data-row,.marine-provider-card { padding:8px;border:1px solid rgba(56,225,209,.12);border-radius:6px;color:#a9c2c0;background:rgba(7,28,37,.72);font-size:9px;line-height:1.45;overflow-wrap:anywhere; }
.marine-data-row strong,.marine-provider-card strong { color:#edfffd; }
.marine-row-meta { display:block;margin-top:3px;color:#6e9190;font-size:8px; }
.marine-provider-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px; }
#marineIntelMap .maplibregl-popup-content { max-width:min(390px,86vw);border:1px solid rgba(56,225,209,.35);color:#dff8f5;background:#06151d;font:9px/1.55 var(--font-mono); }
.watchtower-map-lightbox-stage > #marineIntelMapStage { width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden; }
.watchtower-map-lightbox-stage #marineIntelMapStage .marine-atlas-frame { height:100%;min-height:0; }
.watchtower-map-lightbox-stage #marineIntelMap { min-height:0; }
@media (max-width:900px) { .marine-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.marine-atlas-frame{grid-template-columns:1fr;grid-template-rows:minmax(350px,55vh) auto;height:auto}.marine-map-rail{border-top:1px solid rgba(56,225,209,.17);border-left:0}.marine-selected{max-height:210px}.marine-data-grid{grid-template-columns:1fr}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-atlas-frame{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;height:100%}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-map-rail{max-height:150px} }
@media (max-width:420px) { #cb-marine,.marine-command{width:100%;max-width:100%;overflow-x:hidden}.marine-command{padding:6px;gap:7px}.marine-command-head{grid-template-columns:1fr;padding:10px}.marine-command-actions{justify-content:flex-start}.marine-command-actions .layout-mini-btn,.marine-map-controls .layout-mini-btn,.marine-live-head .layout-mini-btn,.marine-live-foot .layout-mini-btn{min-height:44px}.marine-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.marine-live-iframe,.marine-live-iframe iframe{min-height:350px;height:58vh}.marine-map-search{width:145px}.marine-atlas-frame{grid-template-rows:360px auto}.marine-provider-grid{grid-template-columns:1fr}.watchtower-map-lightbox-stage > #marineIntelMapStage{grid-template-rows:auto auto minmax(0,1fr);overflow:hidden}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-map-controls{padding:4px;max-height:102px}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-basemaps{display:none}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-atlas-frame{grid-template-rows:minmax(0,1fr) 112px;height:100%;min-height:0}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-map-rail{max-height:112px}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-selected{padding:6px;max-height:112px}.watchtower-map-lightbox-stage #marineIntelMapStage .marine-evidence-key{display:none} }
/* The mobile lightbox hides the basemap row, leaving controls + atlas. */
@media (max-width:420px) { .watchtower-map-lightbox-stage > #marineIntelMapStage { grid-template-rows:auto minmax(0,1fr); } }
/* Incident Graph v1: an isolated evidence-network command surface. */
#cb-incidentgraph{--ig-cyan:#69e4ff;--ig-lime:#b8f36b;--ig-amber:#ffc766;--ig-red:#ff7185;max-width:100%;overflow-x:hidden!important;background:radial-gradient(circle at 82% 2%,rgba(105,228,255,.1),transparent 28%),repeating-linear-gradient(90deg,transparent 0 47px,rgba(105,228,255,.025) 48px),#050a0f;color:#dceaf0;font-family:var(--font-mono)}
#cb-incidentgraph.active{overflow-y:auto!important}.ig-command,.ig-command *{min-width:0;box-sizing:border-box}.ig-command{display:grid;gap:8px;width:100%;padding:9px}.ig-head{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid rgba(105,228,255,.3);border-left:4px solid var(--ig-cyan);background:linear-gradient(110deg,rgba(13,42,54,.94),rgba(5,10,15,.96) 58%,rgba(67,86,30,.2));box-shadow:0 16px 40px rgba(0,0,0,.35)}
.ig-kicker,.ig-label{color:var(--ig-cyan);font:800 8px/1.3 var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.ig-title{margin:3px 0;color:#f6fdff;font-size:clamp(18px,2.2vw,27px);line-height:1;letter-spacing:-.035em;text-transform:uppercase}.ig-subtitle{max-width:850px;color:#86a0ab;font-size:9px;line-height:1.5}.ig-actions,.ig-controls,.ig-basemaps,.ig-filter-row,.ig-window-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ig-actions{justify-content:flex-end}.ig-actions .layout-mini-btn,.ig-controls .layout-mini-btn,.ig-basemaps .layout-mini-btn,.ig-filter-row .layout-mini-btn,.ig-window-controls .layout-mini-btn{border-color:rgba(105,228,255,.25)!important;color:#cbeef5!important;background:#08131a!important}.ig-state{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid rgba(105,228,255,.28);border-radius:999px;color:#aac0c8;font-size:8px;letter-spacing:.09em;text-transform:uppercase}.ig-state:before{content:'';width:7px;height:7px;border-radius:50%;background:#687983}.ig-state[data-state=live]:before{background:var(--ig-lime);box-shadow:0 0 10px var(--ig-lime)}.ig-state[data-state=partial]:before,.ig-state[data-state=stale]:before{background:var(--ig-amber)}.ig-state[data-state=offline]:before{background:var(--ig-red)}
.ig-tape{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;border:1px solid rgba(105,228,255,.17);background:rgba(105,228,255,.14)}.ig-tape-cell{padding:9px;background:#071118}.ig-tape-cell span{display:block;color:#718b96;font-size:7px;letter-spacing:.11em;text-transform:uppercase}.ig-tape-cell strong{display:block;margin-top:3px;color:#f2fbfe;font-size:15px}.ig-truth{padding:9px 11px;border:1px solid rgba(255,199,102,.22);border-left:3px solid var(--ig-amber);color:#b9c6ca;background:rgba(255,199,102,.045);font-size:8px;line-height:1.55}.ig-main{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);gap:8px;align-items:start}.ig-map-stage,.ig-feed,.ig-dossier,.ig-timeline,.ig-candidates{overflow:hidden;border:1px solid rgba(105,228,255,.19);background:rgba(6,15,21,.94)}.ig-controls,.ig-basemaps,.ig-filter-row,.ig-window-controls{padding:8px;border-bottom:1px solid rgba(105,228,255,.12)}.ig-controls,.ig-basemaps{overflow-x:auto;flex-wrap:nowrap}.ig-controls>*,.ig-basemaps>*{flex:0 0 auto}.ig-map-wrap{position:relative;height:clamp(390px,58vh,650px)}#incidentGraphMap{width:100%;height:100%;background:#050d13}.ig-map-fallback{display:none;position:absolute;inset:0;overflow:auto;padding:18px;color:#a7bac1;background:linear-gradient(145deg,#07131a,#10161a);font-size:10px;line-height:1.6}.ig-map-fallback.visible{display:block}.ig-map-key{display:flex;gap:12px;flex-wrap:wrap;padding:7px 9px;color:#78919b;font-size:8px}.ig-map-key span:before{content:'';display:inline-block;width:9px;height:9px;margin-right:5px;border:1px solid currentColor;border-radius:50%;vertical-align:-1px}.ig-map-key .observed{color:var(--ig-red)}.ig-map-key .entity{color:var(--ig-cyan)}.ig-map-key .context{color:#8b98a0}.ig-side{display:grid;gap:8px}.ig-filter-row input,.ig-filter-row select{min-height:32px;padding:5px 7px;border:1px solid rgba(105,228,255,.2);color:#dceaf0;background:#08131a;font:9px var(--font-mono)}.ig-filter-row input{flex:1 1 150px}.ig-list{display:grid;max-height:410px;overflow-y:auto}.ig-feed-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:9px;border:0;border-bottom:1px solid rgba(105,228,255,.1);color:inherit;text-align:left;background:transparent;cursor:pointer}.ig-feed-row:hover,.ig-feed-row.active{background:rgba(105,228,255,.075)}.ig-rank{color:var(--ig-cyan);font-size:12px}.ig-row-title{color:#edf9fc;font-size:10px;font-weight:800}.ig-meta,.ig-note{margin-top:4px;color:#79919a;font-size:8px;line-height:1.45}.ig-dossier-body,.ig-timeline-body,.ig-candidate-list{display:grid;gap:7px;padding:9px}.ig-section-head{display:flex;gap:8px;align-items:center;padding:8px 9px;border-bottom:1px solid rgba(105,228,255,.12);color:#e9f7fa;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ig-evidence,.ig-association,.ig-contradiction,.ig-candidate{padding:8px;border-left:2px solid var(--ig-cyan);background:rgba(105,228,255,.045);font-size:9px;line-height:1.45}.ig-contradiction{border-left-color:var(--ig-red)}.ig-candidate{border-left-color:var(--ig-amber)}.ig-chip-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.ig-chip{padding:4px 6px;border:1px solid rgba(105,228,255,.22);border-radius:999px;color:#bfeaf3;background:transparent;font:8px var(--font-mono);cursor:pointer}.ig-source-link{display:inline-block;margin-top:5px;color:var(--ig-cyan);font-size:8px}.ig-window-btn.active{border-color:var(--ig-lime)!important;color:var(--ig-lime)!important}.ig-empty{padding:18px;color:#8399a1;font-size:9px;line-height:1.55}.ig-candidate-banner{padding:9px;border-bottom:1px solid rgba(255,199,102,.2);color:#ffd992;background:rgba(255,199,102,.06);font-size:8px;line-height:1.5}.ig-watch-btn[aria-pressed=true]{border-color:var(--ig-lime)!important;color:var(--ig-lime)!important}.watchtower-map-lightbox-stage>#incidentGraphMapStage{width:100%;height:100%;min-height:0;margin:0;border:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.watchtower-map-lightbox-stage #incidentGraphMapStage .ig-map-wrap{height:100%;min-height:0}
@media(max-width:900px){.ig-main{grid-template-columns:1fr}.ig-tape{grid-template-columns:repeat(3,minmax(0,1fr))}.ig-list{max-height:330px}}
.ig-feed-page{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 8px;border-top:1px solid rgba(105,228,255,.12);color:#78919b;font:8px var(--font-mono)}.ig-feed-page-actions{display:flex;gap:5px}.ig-feed-page .layout-mini-btn:disabled{opacity:.38;cursor:not-allowed}
@media(max-width:420px){#cb-incidentgraph,.ig-command{width:100%;max-width:100%;overflow-x:hidden}.ig-command{padding:5px;gap:6px}.ig-head{grid-template-columns:1fr;padding:10px}.ig-actions{justify-content:flex-start}.ig-actions .layout-mini-btn,.ig-controls .layout-mini-btn,.ig-basemaps .layout-mini-btn,.ig-filter-row .layout-mini-btn,.ig-window-controls .layout-mini-btn,.ig-watch-btn,.ig-chip,.ig-feed-row{min-height:44px}.ig-tape{grid-template-columns:repeat(2,minmax(0,1fr))}.ig-main{grid-template-columns:minmax(0,1fr)}.ig-map-wrap{height:390px}.ig-filter-row{align-items:stretch}.ig-filter-row input,.ig-filter-row select{width:100%;min-height:44px}.ig-feed-row{grid-template-columns:28px minmax(0,1fr)}#incidentGraphMap .maplibregl-ctrl button{min-width:44px;min-height:44px}.watchtower-map-lightbox-stage>#incidentGraphMapStage{grid-template-rows:auto auto minmax(0,1fr) auto}.watchtower-map-lightbox-stage #incidentGraphMapStage .ig-controls{display:none}.watchtower-map-lightbox-stage #incidentGraphMapStage .ig-basemaps{padding:4px}.watchtower-map-lightbox-stage #incidentGraphMapStage .ig-basemaps .layout-mini-btn{min-height:44px}.watchtower-map-lightbox-stage #incidentGraphMapStage .ig-map-wrap{height:100%}}
@media(max-width:420px){.watchtower-map-lightbox-stage>#incidentGraphMapStage{grid-template-rows:auto minmax(0,1fr) auto}}
.ig-context-evidence{padding:8px;border-left:2px dashed #8b98a0;color:#aebbc0;background:rgba(139,152,160,.05);font-size:9px;line-height:1.45}
.ig-trace-head{padding:10px;border:1px solid rgba(255,113,133,.28);border-left:3px solid var(--ig-red);background:linear-gradient(110deg,rgba(255,113,133,.07),rgba(7,17,24,.92))}.ig-trace-guard{display:inline-flex;margin-top:7px;padding:4px 7px;border:1px solid rgba(255,199,102,.3);color:var(--ig-amber);font-size:7px;letter-spacing:.08em;text-transform:uppercase}.ig-trace-section{margin-top:7px;border:1px solid rgba(105,228,255,.14);background:rgba(4,11,16,.55)}.ig-trace-section>summary{cursor:pointer;padding:8px;color:var(--ig-cyan);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ig-trace-section-body{display:grid;gap:6px;padding:0 8px 8px}.ig-evidence-trace{padding:9px;border-left:3px solid var(--ig-red);background:rgba(255,113,133,.055);font-size:9px;line-height:1.5;overflow-wrap:anywhere}.ig-evidence-trace.context{border-left:2px dashed #8b98a0;background:rgba(139,152,160,.05)}.ig-class-badge{display:inline-flex;margin-bottom:5px;padding:3px 6px;border:1px solid rgba(105,228,255,.25);color:var(--ig-cyan);font-size:7px;letter-spacing:.09em;text-transform:uppercase}.ig-evidence-trace.context .ig-class-badge{border-style:dashed;color:#aebbc0}.ig-trace-link{padding:8px;border-left:2px dashed var(--ig-amber);background:rgba(255,199,102,.045);font-size:8px;line-height:1.45;overflow-wrap:anywhere}.ig-trace-snapshot{padding:7px;color:#718b96;font-size:7px;line-height:1.5;overflow-wrap:anywhere}.ig-evidence-ref{min-height:32px;padding:3px 6px;border:1px solid rgba(255,199,102,.25);color:var(--ig-amber);background:transparent;font:inherit}.ig-evidence-trace:focus{outline:2px solid var(--ig-lime);outline-offset:2px}.ig-source-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:5px}.ig-trace-status{display:block;padding:0 8px 7px;color:#78919b;font-size:7px}
.ig-prediction{overflow:hidden;border:1px solid rgba(184,243,107,.24);background:linear-gradient(135deg,rgba(15,29,22,.94),rgba(5,13,18,.96))}.ig-prediction-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:8px;border-bottom:1px solid rgba(184,243,107,.15)}.ig-prediction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px}.ig-prediction-card{padding:9px;border:1px solid rgba(184,243,107,.17);border-left:3px solid var(--ig-lime);background:rgba(4,12,15,.72);font-size:8px;line-height:1.5}.ig-prediction-card strong{display:block;color:#efffd8;font-size:10px}.ig-prediction-probability{color:var(--ig-lime);font-size:20px;font-weight:900}.ig-prediction-note{padding:8px 10px;border-bottom:1px solid rgba(184,243,107,.12);color:#aebfc0;font-size:8px;line-height:1.55}.ig-prediction-driver{margin-top:5px;padding-top:5px;border-top:1px dashed rgba(184,243,107,.14);color:#8fa7a7;overflow-wrap:anywhere}
@media(max-width:900px){.ig-prediction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.ig-prediction-grid{grid-template-columns:1fr}.ig-prediction-head .layout-mini-btn{min-height:44px}}
@media(max-width:420px){.ig-trace-section>summary,.ig-evidence-ref{min-height:44px}.ig-source-links{display:grid}.ig-source-link{display:flex;min-height:44px;align-items:center}.ig-trace-head{padding:9px}}
