:root {
  --bg-primary:     #0A0E1A;
  --bg-secondary:   #0F1629;
  --bg-tertiary:    #151D35;
  --bg-elevated:    #1C2540;

  --border-subtle:  #1E2A45;
  --border-default: #2A3A5C;
  --border-active:  #3B5BDB;

  --accent-blue:    #3B82F6;
  --accent-cyan:    #06B6D4;
  --accent-indigo:  #6366F1;

  --severity-critical: #EF4444;
  --severity-high:     #F97316;
  --severity-medium:   #EAB308;
  --severity-low:      #22C55E;

  --text-primary:   #E8EBF4;
  --text-secondary: #8B9CC8;
  --text-muted:     #4A5A82;
  --text-data:      #06B6D4;

  --map-pin-pulse-critical: rgba(239, 68, 68, 0.4);
  --map-pin-pulse-high:     rgba(249, 115, 22, 0.35);
  --map-pin-pulse-medium:   rgba(234, 179, 8, 0.3);
  --map-pin-pulse-low:      rgba(34, 197, 94, 0.25);
}

*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; margin: 0; }
body {
  background: var(--bg-primary);
  color: var(--text-primary);
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 13px;
  overflow: hidden;
}
.font-sans { font-family: 'Inter', system-ui, sans-serif; }
.tb-mono, .mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

#grid {
  display: grid;
  grid-template-columns: 80% 20%;
  grid-template-rows: 1fr 48px;
  grid-template-areas:
    "map sidebar"
    "stats sidebar";
  height: calc(100vh - 52px);
  width: 100vw;
}
#map-region { grid-area: map; position: relative; overflow: hidden; }
#sidebar    { grid-area: sidebar; }
#statbar    {
  grid-area: stats;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border-subtle);
  display: flex;
  align-items: stretch;
  height: 48px;
}

.hidden { display: none !important; }

/* Subtle scrollbar */
::-webkit-scrollbar { width: 3px; height: 3px; }
::-webkit-scrollbar-thumb { background: var(--border-default); border-radius: 2px; }
::-webkit-scrollbar-track { background: transparent; }
