@font-face { font-family: Rajdhani; src: url('/assets/fonts/Rajdhani-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Rajdhani; src: url('/assets/fonts/Rajdhani-SemiBold.ttf') format('truetype'); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: Rajdhani; src: url('/assets/fonts/Rajdhani-Bold.ttf') format('truetype'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'IBM Plex Mono'; src: url('/assets/fonts/IBMPlexMono-Regular.ttf') format('truetype'); font-style: normal; font-weight: 400; font-display: swap; }

:root {
  color-scheme: dark;
  --void: #05070a;
  --ink: #080c11;
  --panel: #0d1319;
  --panel-2: #111a21;
  --panel-3: #151f27;
  --line: #26333c;
  --line-hi: #425562;
  --text: #f1f5f2;
  --muted: #82939b;
  --cyan: #00e5ff;
  --cyan-dim: rgba(0, 229, 255, .13);
  --acid: #b7ff36;
  --acid-dim: rgba(183, 255, 54, .12);
  --amber: #ffb000;
  --amber-dim: rgba(255, 176, 0, .13);
  --red: #ff315f;
  --red-dim: rgba(255, 49, 95, .13);
  --grey-dim: rgba(130, 147, 155, .11);
  --shadow: 0 18px 60px rgba(0, 0, 0, .34);
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--void); }
body {
  min-width: 320px;
  margin: 0;
  overflow-x: hidden;
  background:
    linear-gradient(rgba(0, 229, 255, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 229, 255, .025) 1px, transparent 1px),
    #070b0f;
  background-size: 40px 40px;
  color: var(--text);
  font-family: Rajdhani, 'Segoe UI', sans-serif;
  font-size: 16px;
}

body::before {
  position: fixed;
  z-index: -1;
  inset: 0;
  background: linear-gradient(105deg, rgba(183,255,54,.035), transparent 24%, transparent 76%, rgba(0,229,255,.035));
  pointer-events: none;
  content: '';
}

.scanline {
  position: fixed;
  z-index: 100;
  top: -20%;
  right: 0;
  left: 0;
  height: 120px;
  opacity: .25;
  background: linear-gradient(180deg, transparent, rgba(0,229,255,.028), transparent);
  pointer-events: none;
  animation: scan 11s linear infinite;
}
@keyframes scan { to { transform: translateY(120vh); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

h1, h2, h3, p { margin: 0; }
h1 { font-size: 31px; line-height: 1; text-transform: uppercase; }
h2 { font-size: 20px; line-height: 1.1; text-transform: uppercase; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .55; }
svg { width: 18px; height: 18px; stroke-width: 1.8; }

.app-shell { display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; transition: grid-template-columns .18s ease; }
.command-rail {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 18px 14px;
  border-right: 1px solid #26333c;
  background: rgba(5, 8, 11, .97);
  box-shadow: 18px 0 44px rgba(0,0,0,.24);
}

.rail-brand { display: grid; grid-template-columns: 42px minmax(0,1fr) 30px; gap: 10px; align-items: center; padding: 0 2px 18px; border-bottom: 1px solid var(--line); }
.brand-sigil { position: relative; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--cyan); background: var(--cyan-dim); clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 9px 100%, 0 calc(100% - 9px)); }
.brand-sigil::after { position: absolute; right: -1px; bottom: -1px; width: 11px; height: 2px; background: var(--acid); content: ''; }
.brand-sigil span { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 700; }
.brand-copy small, .brand-copy strong { display: block; }
.brand-copy small { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.brand-copy strong { margin-top: 3px; color: #fff; font-size: 15px; letter-spacing: .03em; }
.icon-command { display: grid; width: 30px; height: 30px; min-height: 30px; padding: 0; place-items: center; border: 1px solid var(--line); border-radius: 2px; background: var(--panel); color: var(--muted); }
.icon-command:hover { border-color: var(--cyan); color: var(--cyan); }

.rail-state { display: grid; grid-template-columns: 12px minmax(0,1fr); gap: 9px; align-items: center; margin: 14px 0 8px; padding: 10px; border: 1px solid rgba(183,255,54,.26); background: var(--acid-dim); clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%); }
.rail-state strong, .rail-state small { display: block; }
.rail-state strong { color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.rail-state small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.pulse-core { display: block; width: 8px; height: 8px; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 4px rgba(183,255,54,.08), 0 0 16px rgba(183,255,54,.7); animation: pulse 1.8s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .45; box-shadow: 0 0 0 7px rgba(183,255,54,.04); } }

.sidebar-nav { display: grid; gap: 3px; }
.sidebar-nav > p { margin: 17px 9px 5px; color: #53636c; font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .13em; }
.side-link { display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 8px; width: 100%; min-height: 39px; padding: 0 10px; border: 0; border-left: 2px solid transparent; border-radius: 0; background: transparent; color: #9eacb2; text-align: left; }
.side-link svg { width: 15px; height: 15px; }
.side-link span { font-size: 14px; font-weight: 600; }
.side-link b { color: #51616a; font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 400; }
.side-link:hover { background: rgba(255,255,255,.03); color: #fff; }
.side-link.is-active { border-left-color: var(--cyan); background: linear-gradient(90deg, rgba(0,229,255,.16), rgba(0,229,255,.025)); color: #fff; }
.side-link.is-active svg, .side-link.is-active b { color: var(--cyan); }
.rail-footer { margin-top: auto; padding: 14px 8px 2px; border-top: 1px solid var(--line); }
.footer-code { color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.rail-footer p { margin-top: 5px; color: #596970; font-size: 11px; line-height: 1.35; }

.sidebar-collapsed .app-shell { grid-template-columns: 74px minmax(0,1fr); }
.sidebar-collapsed .command-rail { padding-inline: 12px; }
.sidebar-collapsed .rail-brand { display: block; padding-bottom: 12px; }
.sidebar-collapsed .brand-copy, .sidebar-collapsed .rail-state, .sidebar-collapsed .rail-footer, .sidebar-collapsed .sidebar-nav > p { display: none; }
.sidebar-collapsed .icon-command { position: absolute; top: 64px; left: 22px; }
.sidebar-collapsed .sidebar-nav { margin-top: 44px; }
.sidebar-collapsed .side-link { grid-template-columns: 1fr; justify-items: center; width: 48px; padding: 0; }
.sidebar-collapsed .side-link span, .sidebar-collapsed .side-link b { display: none; }

.command-main { width: min(1700px, calc(100% - 36px)); margin: 0 auto; padding: 18px 0 44px; min-width: 0; }
.command-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 86px; padding: 15px 18px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 3px solid var(--acid); background: rgba(8, 12, 17, .88); box-shadow: var(--shadow); clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%); }
.sector-tag { margin-bottom: 7px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .09em; }
.sector-tag span { display: inline-block; width: 22px; height: 2px; margin-right: 7px; background: var(--cyan); vertical-align: 3px; }
.command-title p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.command-actions { display: flex; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.clock-block, .sync-block { min-width: 108px; padding: 6px 10px; border-left: 1px solid var(--line); }
.clock-block small, .clock-block strong, .sync-block small, .sync-block strong { display: block; }
.clock-block small, .sync-block small { color: #62747d; font-family: 'IBM Plex Mono', monospace; font-size: 8px; letter-spacing: .08em; }
.clock-block strong, .sync-block strong { margin-top: 3px; color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 400; }

button, input, select, textarea { min-height: 39px; border: 1px solid var(--line); border-radius: 2px; background: #090e13; color: var(--text); }
input, select, textarea { padding: 0 11px; font-size: 14px; }
textarea { min-height: 74px; padding-top: 9px; resize: vertical; }
button { padding: 0 13px; color: var(--text); font-weight: 600; }
button:hover { border-color: var(--cyan); color: #fff; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
.hud-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; text-transform: uppercase; }
.primary-action { border-color: rgba(183,255,54,.55); background: var(--acid-dim); color: var(--acid); }
.primary-action:hover { border-color: var(--acid); }
.secondary-btn { background: var(--panel); color: #c0ccd1; }
.danger-btn { border-color: var(--red) !important; background: var(--red-dim) !important; color: #ffc3d0 !important; }
.spinner { display: inline-block; width: 13px; height: 13px; margin-right: 7px; border: 2px solid rgba(0,229,255,.2); border-top-color: var(--cyan); border-radius: 50%; vertical-align: -2px; animation: spin .75s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.tabbar { display: none; gap: 5px; margin-top: 10px; overflow-x: auto; }
.tab-button { min-width: max-content; border-color: var(--line); background: #090e13; color: var(--muted); }
.tab-button.is-active { border-color: var(--cyan); background: var(--cyan-dim); color: var(--cyan); }
.tab-panel { margin-top: 12px; }
.tab-panel[hidden] { display: none !important; }
.tab-panel.is-active { animation: reveal .22s ease-out; }
@keyframes reveal { from { opacity: .25; transform: translateY(4px); } to { opacity: 1; transform: none; } }

.hud-panel { position: relative; border: 1px solid var(--line); background: rgba(10, 15, 20, .94); box-shadow: 0 12px 30px rgba(0,0,0,.2); clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
.hud-panel::after { position: absolute; top: 0; right: 10px; width: 34px; height: 1px; background: var(--cyan); opacity: .55; content: ''; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 54px; padding: 9px 12px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.018); }
.panel-heading > div { display: flex; align-items: center; gap: 10px; min-width: 0; }
.panel-heading small, .panel-heading h2 { display: block; }
.panel-heading small { color: #61717a; font-family: 'IBM Plex Mono', monospace; font-size: 8px; letter-spacing: .1em; }
.panel-heading h2 { margin-top: 2px; font-size: 16px; }
.panel-index { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(0,229,255,.35); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.live-label { padding: 4px 7px; border: 1px solid rgba(183,255,54,.32); color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.panel-jump { display: inline-flex; align-items: center; gap: 5px; min-height: 30px; padding: 0 8px; border: 0; background: transparent; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.panel-jump svg { width: 13px; height: 13px; }
.stream-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--red); box-shadow: 0 0 14px var(--red); }

.command-deck { display: grid; grid-template-columns: minmax(330px, .9fr) minmax(390px, 1.25fr) minmax(280px, .72fr); gap: 10px; min-height: 470px; }
.priority-stage, .battle-stage, .stream-stage { min-width: 0; }
.priority-content, .overview-fronts, .intel-stream { min-height: 410px; padding: 12px; }
.lower-deck { display: grid; grid-template-columns: 1.1fr .9fr; gap: 10px; margin-top: 10px; }
.timeline-feed, .alert-feed { display: grid; gap: 6px; max-height: 360px; padding: 10px; overflow-y: auto; }

.priority-hero { position: relative; min-height: 180px; padding: 18px; border: 1px solid rgba(255,49,95,.45); border-left: 3px solid var(--red); background: linear-gradient(112deg, rgba(255,49,95,.11), rgba(8,12,17,.4) 58%); overflow: hidden; }
.priority-hero::before { position: absolute; right: -42px; bottom: -75px; width: 190px; height: 190px; border: 1px solid rgba(255,49,95,.12); border-radius: 50%; box-shadow: 0 0 0 24px rgba(255,49,95,.025), 0 0 0 49px rgba(255,49,95,.018); content: ''; }
.priority-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.priority-country { display: flex; align-items: center; gap: 10px; }
.priority-country .country-flag { width: 52px; height: 36px; }
.priority-country strong { display: block; font-size: 24px; text-transform: uppercase; }
.priority-country span { color: var(--muted); font-size: 12px; }
.threat-code { position: relative; z-index: 1; color: var(--red); text-align: right; }
.threat-code b { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 32px; line-height: 1; }
.threat-code small { font-size: 9px; letter-spacing: .1em; }
.priority-reason { position: relative; z-index: 1; margin-top: 20px; color: #d8e0e2; font-size: 15px; line-height: 1.35; }
.priority-action { position: relative; z-index: 1; margin-top: 9px; padding-top: 9px; border-top: 1px solid rgba(255,49,95,.22); color: var(--amber); font-family: 'IBM Plex Mono', monospace; font-size: 10px; line-height: 1.45; }
.nation-telemetry { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin-top: 8px; }
.telemetry-cell { min-width: 0; padding: 9px; border: 1px solid var(--line); background: rgba(255,255,255,.018); }
.telemetry-cell span, .telemetry-cell strong { display: block; }
.telemetry-cell span { color: #64757e; font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.telemetry-cell strong { margin-top: 4px; color: #dbe4e6; font-size: 13px; line-height: 1.25; word-break: break-word; }

.overview-front-card { padding: 13px; border: 1px solid var(--line); border-left: 2px solid var(--amber); background: #090e13; }
.overview-front-card + .overview-front-card { margin-top: 8px; }
.front-versus { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 8px; align-items: center; }
.combatant { min-width: 0; }
.combatant.defender { text-align: right; }
.combatant strong, .combatant span { display: block; }
.combatant strong { overflow: hidden; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.combatant span { margin-top: 3px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.versus-mark { color: var(--red); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.control-track { display: flex; height: 10px; margin-top: 12px; border: 1px solid #27343c; background: #05080a; overflow: hidden; }
.control-a { background: var(--acid); }
.control-d { flex: 1; background: var(--cyan); }
.control-labels { display: flex; justify-content: space-between; margin-top: 5px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.front-foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 11px; padding-top: 8px; border-top: 1px solid var(--line); color: #aab7bc; font-size: 11px; }
.front-foot b { color: var(--amber); font-family: 'IBM Plex Mono', monospace; font-weight: 400; }
.front-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.warera-link { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 31px; padding: 0 9px; border: 1px solid rgba(183,255,54,.42); border-radius: 2px; background: var(--acid-dim); color: var(--acid); font-size: 11px; font-weight: 600; text-decoration: none; }
.warera-link:hover { border-color: var(--acid); color: #fff; }
.warera-link svg { width: 13px; height: 13px; }
.overview-front-card > .warera-link { width: 100%; margin-top: 9px; }

.stream-group + .stream-group { margin-top: 13px; }
.stream-group h3 { margin-bottom: 6px; color: #5f7078; font-family: 'IBM Plex Mono', monospace; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.stream-item { position: relative; padding: 8px 8px 8px 16px; border-left: 1px solid #2a3840; color: #bfcacc; }
.stream-item::before { position: absolute; top: 13px; left: -3px; width: 5px; height: 5px; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); content: ''; }
.stream-item + .stream-item { margin-top: 2px; }
.stream-item strong, .stream-item span { display: block; }
.stream-item strong { font-size: 12px; }
.stream-item span { margin-top: 2px; color: var(--muted); font-size: 11px; line-height: 1.3; }
.stream-item.sev-critical::before, .stream-item.sev-critica::before { background: var(--red); box-shadow: 0 0 8px var(--red); }
.stream-item.sev-high::before, .stream-item.sev-alta::before { background: var(--amber); box-shadow: 0 0 8px var(--amber); }

.timeline-event, .delivery-row { display: grid; gap: 8px; padding: 9px 10px; border: 1px solid var(--line); background: rgba(255,255,255,.014); }
.timeline-event { grid-template-columns: 92px minmax(0,1fr) auto; align-items: center; }
.event-time { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.event-main strong, .event-main span { display: block; }
.event-main strong { font-size: 13px; }.event-main span { margin-top: 2px; color: var(--muted); font-size: 11px; }
.event-priority { color: #657780; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.delivery-row { grid-template-columns: 7px minmax(0,1fr) auto; align-items: center; }
.delivery-signal { width: 7px; height: 28px; background: var(--cyan); }
.delivery-row.sev-critical .delivery-signal, .delivery-row.sev-critica .delivery-signal { background: var(--red); }
.delivery-row.sev-high .delivery-signal, .delivery-row.sev-alta .delivery-signal { background: var(--amber); }
.delivery-copy strong, .delivery-copy span { display: block; }.delivery-copy strong { font-size: 13px; }.delivery-copy span { margin-top: 2px; color: var(--muted); font-size: 11px; }

.telemetry-drawer { margin-top: 10px; }
.telemetry-drawer summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 42px; padding: 0 12px; cursor: pointer; list-style: none; }
.telemetry-drawer summary::-webkit-details-marker { display: none; }
.telemetry-drawer summary span { display: inline-flex; align-items: center; gap: 8px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.telemetry-drawer summary small { color: var(--muted); font-size: 11px; }
.health-metrics { display: grid; grid-template-columns: repeat(auto-fit,minmax(130px,1fr)); gap: 6px; padding: 10px; border-top: 1px solid var(--line); }
.reliability-console { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 52px; padding: 8px 10px; border-top: 1px solid var(--line); background: #080d12; }
.reliability-console > div:first-child { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.reliability-console > div:first-child svg { flex: 0 0 auto; color: var(--cyan); }
.reliability-console .is-ok { color: var(--acid); }.reliability-console .is-warning { color: var(--amber); }.reliability-console .is-critical { color: var(--red); }
.reliability-actions { display: flex; flex: 0 0 auto; gap: 6px; }
.reliability-actions button { display: inline-flex; min-height: 34px; align-items: center; gap: 6px; padding: 0 9px; font-size: 11px; }
.metric-tile { min-width: 130px; padding: 9px; border: 1px solid var(--line); border-top: 2px solid var(--cyan); background: #090e13; }
.metric-tile span, .metric-tile strong { display: block; }.metric-tile span { color: #5e7079; font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }.metric-tile strong { margin-top: 5px; color: #d8e2e4; font-size: 12px; line-height: 1.25; }
.metric-tile.sev-critical { border-top-color: var(--red); }.metric-tile.sev-medium { border-top-color: var(--amber); }

.view-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; min-height: 108px; margin-bottom: 10px; padding: 18px; border: 1px solid var(--line); border-left: 3px solid var(--cyan); background: rgba(9,14,19,.9); clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
.view-code { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: .1em; }
.view-header h2 { margin-top: 8px; font-size: 28px; }.view-header p { margin-top: 5px; color: var(--muted); font-size: 13px; }
.view-icon { display: grid; width: 54px; height: 54px; place-items: center; border: 1px solid rgba(0,229,255,.3); color: var(--cyan); background: var(--cyan-dim); }.view-icon svg { width: 25px; height: 25px; }
.registry-header { align-items: center; }

.fronts-panel { min-height: 240px; }
.front-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px; border-bottom: 1px solid var(--line); }
.front-toolbar strong, .front-toolbar span { display: block; }.front-toolbar strong { font-size: 15px; }.front-toolbar span { color: var(--muted); font-size: 11px; }
.front-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(360px,1fr)); gap: 8px; padding: 10px; }
.front-card { padding: 13px; border: 1px solid var(--line); border-left: 2px solid var(--amber); background: #090e13; }
.front-head { display: flex; justify-content: space-between; gap: 10px; }.front-head strong, .front-head span { display: block; }.front-head strong { font-size: 15px; }.front-head span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.front-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin-top: 11px; }.front-metrics span { padding: 7px; border: 1px solid var(--line); color: #c4ced1; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }.front-metrics b { display: block; margin-bottom: 3px; color: #667780; font-size: 8px; text-transform: uppercase; }
.front-ranking { margin-top: 7px; padding: 8px; border: 1px solid var(--line); color: var(--muted); font-size: 11px; }.front-ranking b { color: var(--cyan); }.front-ranking p { margin-top: 3px; }
.front-report-box { margin: 0 10px 10px; border: 1px solid var(--line); }.front-report-head { display: flex; justify-content: space-between; gap: 10px; padding: 9px; border-bottom: 1px solid var(--line); }.front-report-head span { color: var(--muted); font-size: 11px; }.front-report-box textarea { display: block; width: 100%; min-height: 250px; border: 0; background: #06090d; color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 11px; line-height: 1.55; }

.risk-map { min-height: 420px; padding: 12px; }
.relation-network { position: relative; height: 540px; margin-top: 8px; border: 1px solid var(--line); background: #060a0e; overflow: hidden; }
.network-viewport { position: absolute; inset: 0; overflow: hidden; cursor: grab; touch-action: none; }
.network-viewport.is-dragging { cursor: grabbing; }
.network-stage { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
.network-stage::before, .network-stage::after { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(0,229,255,.11); border-radius: 50%; transform: translate(-50%,-50%); content: ''; }
.network-stage::before { width: 260px; height: 260px; box-shadow: 0 0 0 78px rgba(0,229,255,.025), 0 0 0 156px rgba(0,229,255,.018); }
.network-stage::after { width: 430px; height: 430px; border-style: dashed; animation: orbit-spin 34s linear infinite; }
@keyframes orbit-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }
.network-tools { position: absolute; z-index: 20; top: 10px; right: 10px; display: flex; align-items: center; gap: 4px; padding: 4px; border: 1px solid var(--line); background: rgba(5,9,13,.9); box-shadow: 0 8px 24px rgba(0,0,0,.32); }
.network-tools button { display: grid; width: 30px; min-height: 30px; padding: 0; place-items: center; border-color: transparent; background: transparent; color: var(--cyan); }
.network-tools button:hover { border-color: var(--cyan); background: var(--cyan-dim); }
.network-tools button svg { width: 14px; height: 14px; }
.network-tools span { min-width: 43px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-align: center; }
.network-grid { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49.9%, rgba(0,229,255,.08) 50%, transparent 50.1%), linear-gradient(transparent 49.9%, rgba(0,229,255,.08) 50%, transparent 50.1%); }
.network-core { position: absolute; z-index: 4; top: 50%; left: 50%; display: grid; width: 118px; height: 118px; place-content: center; justify-items: center; border: 1px solid var(--acid); background: rgba(10,16,15,.96); box-shadow: 0 0 28px rgba(183,255,54,.12); transform: translate(-50%,-50%) rotate(45deg); }
.network-core > * { transform: rotate(-45deg); }.network-core .country-flag { width: 42px; height: 30px; }.network-core strong { margin-top: 5px; color: var(--acid); font-size: 13px; }.network-core small { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.network-node { position: absolute; z-index: 3; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 7px; align-items: center; width: 156px; min-height: 48px; padding: 6px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); background: rgba(9,14,19,.96); box-shadow: 0 7px 20px rgba(0,0,0,.34); text-align: left; transform: translate(-50%,-50%); }
.network-node .country-flag { width: 31px; height: 22px; }.network-node strong, .network-node small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.network-node strong { font-size: 11px; text-transform: uppercase; }.network-node small { margin-top: 2px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.network-node:hover, .network-node.is-map-selected { z-index: 6; border-color: var(--cyan); background: #0d1820; color: #fff; box-shadow: 0 0 0 1px rgba(0,229,255,.18), 0 10px 28px rgba(0,0,0,.46); }
.network-node.slot-0 { top: 12%; left: 50%; }.network-node.slot-1 { top: 18%; left: 73%; }.network-node.slot-2 { top: 34%; left: 88%; }.network-node.slot-3 { top: 57%; left: 90%; }.network-node.slot-4 { top: 78%; left: 77%; }.network-node.slot-5 { top: 88%; left: 56%; }.network-node.slot-6 { top: 86%; left: 32%; }.network-node.slot-7 { top: 72%; left: 13%; }.network-node.slot-8 { top: 43%; left: 10%; }.network-node.slot-9 { top: 20%; left: 25%; }
.alliance-node { width: 145px; border-style: dashed; }.alliance-mini { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--amber); color: var(--amber); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.network-node.alliance-slot-0 { top: 42%; left: 31%; }.network-node.alliance-slot-1 { top: 42%; left: 69%; }.network-node.alliance-slot-2 { top: 66%; left: 34%; }.network-node.alliance-slot-3 { top: 66%; left: 66%; }
.risk-command { display: grid; grid-template-columns: minmax(0,1fr) 145px; gap: 12px; align-items: center; padding: 16px; border: 1px solid rgba(255,49,95,.4); border-left: 3px solid var(--red); background: var(--red-dim); }.risk-command h2 { margin-top: 4px; font-size: 23px; }.risk-command p:not(.eyebrow) { margin-top: 5px; color: #b7c2c5; }
.risk-confidence { display: block; margin-top: 8px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.eyebrow { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 8px; letter-spacing: .1em; }
.risk-score { display: grid; place-items: center; padding: 10px; border: 1px solid rgba(255,49,95,.35); }.risk-score span, .risk-score small { color: var(--muted); font-size: 9px; }.risk-score strong { color: var(--red); font-family: 'IBM Plex Mono', monospace; font-size: 30px; }
.risk-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 8px; }.risk-grid.lower { grid-template-columns: 1.15fr .85fr; }
.risk-bucket { border: 1px solid var(--line); background: #090e13; }.risk-bucket header { display: flex; justify-content: space-between; gap: 8px; padding: 9px; border-bottom: 1px solid var(--line); }.risk-bucket header strong { font-size: 13px; text-transform: uppercase; }.risk-bucket header span { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.risk-list { display: grid; gap: 5px; padding: 7px; }.risk-row { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 8px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); }.risk-row strong { display: block; font-size: 12px; }.risk-row > div > span { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }.risk-row-meta { display: flex; align-items: flex-start; gap: 4px; flex-wrap: wrap; }.risk-row-meta span { padding: 3px 5px; border: 1px solid var(--line); color: #aab7bc; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.status-ally { border-left-color: var(--acid) !important; }.status-watch { border-left-color: var(--cyan) !important; }.status-suspect { border-left-color: var(--amber) !important; }.status-enemy { border-left-color: var(--red) !important; }.status-neutral { border-left-color: #718188 !important; }
.brief-line { display: grid; grid-template-columns: 24px minmax(0,1fr); gap: 7px; padding: 7px; border: 1px solid var(--line); }.brief-line > span { display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid rgba(0,229,255,.3); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }.brief-line p { color: #aebbbf; font-size: 11px; line-height: 1.35; }

.target-form, .alliance-form { display: grid; gap: 6px; width: min(820px, 100%); }
.target-form { grid-template-columns: 1fr 1fr 120px auto; }.alliance-form { grid-template-columns: 1fr 1fr 112px 130px auto; }
.target-form button, .alliance-form button, .notes-panel form button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-color: rgba(183,255,54,.5); color: var(--acid); background: var(--acid-dim); }
.inline-status { min-height: 23px; padding: 2px 1px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.status-ok { color: var(--acid); }.status-error { color: var(--red); }.status-loading { color: var(--cyan); }
.registry-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 9px; }
.registry-table-panel { min-width: 0; }.registry-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px; border-bottom: 1px solid var(--line); }.registry-toolbar label { display: flex; align-items: center; gap: 7px; min-width: min(440px,70%); padding-left: 9px; border: 1px solid var(--line); background: #070b0f; }.registry-toolbar label svg { color: var(--cyan); width: 14px; }.registry-toolbar input { width: 100%; border: 0; background: transparent; }.registry-toolbar > span { color: #667780; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.watch-table { min-height: 300px; }.watch-header, .target-row { display: grid; grid-template-columns: minmax(170px,1.2fr) 105px 90px 95px 120px; gap: 8px; align-items: center; }.watch-header { padding: 8px 11px; border-bottom: 1px solid var(--line); color: #5e7079; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.target-row { width: 100%; min-height: 58px; padding: 8px 11px; border: 0; border-bottom: 1px solid var(--line); border-left: 2px solid var(--cyan); background: transparent; color: var(--text); text-align: left; }.target-row:hover, .target-row.is-selected { background: var(--cyan-dim); }.target-row.is-selected { box-shadow: inset 2px 0 var(--cyan); }.target-name { display: flex; align-items: center; gap: 9px; min-width: 0; }.target-name strong, .target-name span { display: block; }.target-name strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }.target-name span { color: var(--muted); font-size: 10px; }.country-flag { display: grid; width: 34px; height: 24px; flex: 0 0 auto; place-items: center; overflow: hidden; border: 1px solid var(--line-hi); background: #111820; }.country-flag-icon, .country-flag-icon::before { font-size: 24px; line-height: 1; }.country-flag-fallback { font-size: 13px; }.target-cell { color: #aab7bc; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }.target-cell strong { display: block; color: #e4ebed; font-family: Rajdhani, sans-serif; font-size: 13px; }
.target-inspector { min-height: 360px; padding: 13px; }.empty-inspector { display: grid; min-height: 330px; place-content: center; justify-items: center; text-align: center; }.empty-inspector svg { width: 34px; height: 34px; color: #41515a; }.empty-inspector strong { margin-top: 12px; color: #718189; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }.empty-inspector span { max-width: 220px; margin-top: 6px; color: #53636b; font-size: 12px; }
.inspector-head { display: flex; align-items: center; gap: 10px; padding-bottom: 11px; border-bottom: 1px solid var(--line); }.inspector-head .country-flag { width: 52px; height: 36px; }.inspector-head strong, .inspector-head span { display: block; }.inspector-head strong { font-size: 22px; text-transform: uppercase; }.inspector-head span { color: var(--muted); font-size: 11px; }.inspector-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }.inspector-badges span, .mini-pill { padding: 3px 6px; border: 1px solid var(--line); color: #b6c2c5; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.inspector-section { margin-top: 12px; }.inspector-section small { color: #596a72; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.inspector-section p { margin-top: 5px; color: #bdc8cb; font-size: 12px; line-height: 1.4; }.target-note, .alliance-note { width: 100%; }.card-actions, .row-actions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }.mini-btn, .icon-btn { min-height: 31px; padding: 0 8px; border-color: var(--line-hi); background: #0b1117; color: #b7c3c7; font-size: 11px; }.icon-btn { width: 31px; padding: 0; }

.relation-dock {
  display: grid;
  grid-template-columns: repeat(5, minmax(118px, 1fr));
  gap: 6px;
  margin: 3px 0 10px;
}
.relation-zone {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  min-height: 52px;
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-left: 2px solid var(--cyan);
  background: #090e13;
  color: var(--text);
  text-align: left;
  transition: border-color .14s ease, background-color .14s ease, transform .14s ease;
}
.relation-zone > svg { width: 17px; color: var(--muted); }
.relation-zone strong, .relation-zone small { display: block; }
.relation-zone strong { font-size: 12px; text-transform: uppercase; }
.relation-zone small { color: var(--muted); font-size: 9px; }
.relation-zone b { min-width: 24px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 11px; text-align: right; }
.relation-zone:hover, .relation-zone.is-current { border-color: var(--line-hi); background: var(--panel-2); }
.relation-zone.is-current { box-shadow: inset 0 -2px var(--cyan); }
.relation-zone.is-over { border-color: var(--acid); background: var(--acid-dim); box-shadow: inset 0 0 0 1px var(--acid); transform: translateY(-2px); }
.relation-zone.is-over > svg, .relation-zone.is-over b { color: var(--acid); }
.relation-dock.is-saving { pointer-events: none; opacity: .55; }

.watch-header, .target-row { grid-template-columns: 24px minmax(170px, 1.2fr) 105px 90px 95px 120px; }
.drag-handle { display: grid; width: 24px; height: 34px; place-items: center; color: #50616a; cursor: grab; }
.drag-handle svg { width: 15px; }
.target-row:hover .drag-handle, .target-row.is-selected .drag-handle { color: var(--cyan); }
.target-row.is-dragging { opacity: .35; cursor: grabbing; }
.target-row.data-stale { box-shadow: inset -2px 0 var(--amber); }
.target-row.data-degraded { box-shadow: inset -2px 0 var(--red); }

.alliance-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(310px,1fr)); gap: 8px; }.alliance-card { padding: 12px; border: 1px solid var(--line); border-top: 2px solid var(--cyan); background: #090e13; clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%); }.alliance-top { display: grid; grid-template-columns: 52px minmax(0,1fr) auto; gap: 10px; align-items: center; }.alliance-avatar { display: grid; width: 52px; height: 52px; place-items: center; overflow: hidden; border: 1px solid var(--line-hi); background: #121b21; color: var(--cyan); }.alliance-avatar img { width: 100%; height: 100%; object-fit: cover; }.alliance-top strong, .alliance-top span { display: block; }.alliance-top strong { font-size: 17px; text-transform: uppercase; }.alliance-top span { margin-top: 2px; color: var(--muted); font-size: 11px; }.card-badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }.card-badges span { padding: 3px 6px; border: 1px solid var(--line); color: #95a5ab; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.alliance-card p { margin-top: 8px; color: #a9b6ba; font-size: 11px; line-height: 1.35; }

.priority-doctrine { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; margin-bottom: 10px; }
.priority-doctrine article { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 9px; min-width: 0; padding: 10px; border: 1px solid var(--line); border-left: 2px solid var(--muted); background: #090e13; }
.priority-doctrine article > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid currentColor; font-family: 'IBM Plex Mono', monospace; font-size: 14px; }
.priority-doctrine strong { display: block; font-size: 14px; text-transform: uppercase; }
.priority-doctrine article p { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
.priority-doctrine .doctrine-d1 { border-left-color: var(--red); }.priority-doctrine .doctrine-d1 > span { color: var(--red); }
.priority-doctrine .doctrine-d2 { border-left-color: var(--amber); }.priority-doctrine .doctrine-d2 > span { color: var(--amber); }
.priority-doctrine .doctrine-d3 { border-left-color: var(--cyan); }.priority-doctrine .doctrine-d3 > span { color: var(--cyan); }
.priority-doctrine .doctrine-d4 { border-left-color: #718188; }.priority-doctrine .doctrine-d4 > span { color: #8fa0a7; }
.doctrine-principle { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; padding: 9px 11px; border: 1px solid rgba(183,255,54,.25); background: var(--acid-dim); color: #cfe5bd; font-size: 12px; }
.doctrine-principle svg { flex: 0 0 auto; color: var(--acid); }
.rules-list { display: grid; gap: 8px; }.rule-group { border: 1px solid var(--line); background: #090e13; }.rule-group summary { display: flex; justify-content: space-between; gap: 9px; padding: 10px; cursor: pointer; list-style: none; }.rule-group summary::-webkit-details-marker { display: none; }.rule-group summary b { color: var(--cyan); }.rule-group summary span { color: var(--muted); }.rule-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 7px; border-top: 1px solid var(--line); }.rule-card { padding: 9px; border: 1px solid var(--line); background: #070b0f; }.rule-card.is-muted { opacity: .5; }.rule-head { display: flex; justify-content: space-between; gap: 8px; }.rule-head strong, .rule-head span { display: block; }.rule-head strong { font-size: 13px; }.rule-head span { color: var(--muted); font-size: 10px; }.rule-controls { display: grid; grid-template-columns: 1fr 78px; gap: 5px; margin-top: 8px; }.rule-controls label > span { display: block; margin-bottom: 3px; color: var(--muted); font-size: 9px; }.rule-notes { width: 100%; min-height: 55px; }.switch { display: inline-flex; align-items: center; }.switch input { position: absolute; opacity: 0; }.switch span { position: relative; display: block; width: 35px; height: 19px; border: 1px solid var(--line-hi); background: #070b0f; }.switch span::after { position: absolute; top: 3px; left: 3px; width: 11px; height: 11px; background: #607078; content: ''; transition: transform .15s ease; }.switch input:checked + span { border-color: var(--acid); background: var(--acid-dim); }.switch input:checked + span::after { transform: translateX(16px); background: var(--acid); }

.incident-view-header { align-items: center; }
.incident-filters { display: flex; gap: 7px; align-items: end; }
.incident-filters label > span { display: block; margin-bottom: 4px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.incident-filters select { min-width: 125px; }
.incident-console { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 9px; align-items: start; }
.incident-summary-panel { position: sticky; top: 10px; }
.incident-stats { display: grid; gap: 6px; padding: 10px; }
.incident-stat { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 8px; align-items: center; min-height: 46px; padding: 7px; border: 1px solid var(--line); background: #080d12; }
.incident-stat > span { display: grid; width: 34px; height: 30px; place-items: center; border: 1px solid var(--line-hi); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.incident-stat strong, .incident-stat small { display: block; }
.incident-stat strong { font-size: 13px; text-transform: uppercase; }
.incident-stat small { color: var(--muted); font-size: 10px; }
.incident-stat b { color: var(--text); font-family: 'IBM Plex Mono', monospace; font-size: 18px; }
.incident-stat.stat-d1 { border-left: 2px solid var(--red); }.incident-stat.stat-d1 > span { color: var(--red); }
.incident-stat.stat-d2 { border-left: 2px solid var(--amber); }.incident-stat.stat-d2 > span { color: var(--amber); }
.incident-stat.stat-d3 { border-left: 2px solid var(--cyan); }
.incident-stat.stat-ok { border-left: 2px solid var(--acid); }.incident-stat.stat-ok > span { color: var(--acid); }
.feedback-calibration { margin-top: 4px; padding: 9px; border: 1px dashed var(--line-hi); color: var(--muted); font-size: 10px; line-height: 1.4; }
.feedback-calibration b { color: var(--acid); }
.incident-board-panel { min-width: 0; }
.incident-board { display: grid; gap: 8px; padding: 9px; }
.incident-card { --incident-tone: var(--cyan); position: relative; border: 1px solid var(--line); border-left: 3px solid var(--incident-tone); background: #080d12; overflow: hidden; }
.incident-card, .incident-card-head, .incident-heading, .incident-body, .incident-score-grid, .incident-score, .incident-assessment, .incident-assessment div, .incident-actions, .incident-feedback-buttons { min-width: 0; }
.incident-heading strong, .incident-heading span, .incident-summary, .incident-assessment span, .evidence-row span { overflow-wrap: anywhere; }
.incident-card::before { position: absolute; top: 0; right: 0; width: 58px; height: 2px; background: var(--incident-tone); content: ''; }
.incident-card.band-d1 { --incident-tone: var(--red); }.incident-card.band-d2 { --incident-tone: var(--amber); }.incident-card.band-d3 { --incident-tone: var(--cyan); }.incident-card.band-d4 { --incident-tone: #718188; }
.incident-card.is-closed { opacity: .72; }
.incident-card-head { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border-bottom: 1px solid var(--line); }
.incident-country-flag { display: grid; width: 42px; height: 34px; place-items: center; border: 1px solid var(--line-hi); background: #111820; font-size: 20px; }
.incident-heading small, .incident-heading strong, .incident-heading span { display: block; }
.incident-heading small { color: var(--incident-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.incident-heading strong { margin-top: 3px; font-size: 17px; line-height: 1.1; text-transform: uppercase; }
.incident-heading span { margin-top: 3px; color: var(--muted); font-size: 10px; }
.incident-priority { min-width: 62px; padding: 7px; border: 1px solid var(--incident-tone); color: var(--incident-tone); font-family: 'IBM Plex Mono', monospace; text-align: center; }
.incident-priority b, .incident-priority small { display: block; }.incident-priority b { font-size: 19px; }.incident-priority small { margin-top: 2px; font-size: 8px; }
.incident-body { padding: 11px; }
.incident-summary { color: #c5d0d3; font-size: 13px; line-height: 1.35; }
.incident-score-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 5px; margin-top: 10px; }
.incident-score { padding: 7px; border: 1px solid var(--line); background: #060a0e; }
.incident-score header { display: flex; justify-content: space-between; gap: 5px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.incident-score header b { color: var(--text); font-size: 10px; }
.incident-meter { height: 3px; margin-top: 7px; background: #202b32; overflow: hidden; }
.incident-meter span { display: block; height: 100%; background: var(--incident-tone); }
.incident-assessment { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 8px; }
.incident-assessment div { padding: 8px; border: 1px solid var(--line); }
.incident-assessment b, .incident-assessment span { display: block; }
.incident-assessment b { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.incident-assessment span { margin-top: 4px; color: #bac6c9; font-size: 11px; line-height: 1.35; }
.incident-evidence { margin-top: 9px; border-top: 1px solid var(--line); }
.incident-evidence summary { display: flex; justify-content: space-between; gap: 8px; padding: 8px 0 3px; color: var(--cyan); cursor: pointer; font-family: 'IBM Plex Mono', monospace; font-size: 9px; list-style: none; }
.incident-evidence summary::-webkit-details-marker { display: none; }
.evidence-list { display: grid; gap: 4px; padding-top: 5px; }
.evidence-row { display: grid; grid-template-columns: 105px minmax(0,1fr) auto; gap: 8px; padding: 6px; border-left: 1px solid var(--line-hi); color: #aebabc; font-size: 10px; }
.evidence-row time, .evidence-row b { font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.evidence-row time { color: var(--muted); }.evidence-row b { color: var(--cyan); }
.incident-actions { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }
.incident-feedback-state { color: var(--muted); font-size: 10px; }.incident-feedback-state b { color: var(--acid); text-transform: uppercase; }
.incident-feedback-buttons { display: flex; gap: 5px; flex-wrap: wrap; }
.incident-feedback { display: inline-flex; min-height: 32px; align-items: center; gap: 5px; padding: 0 8px; border-color: var(--line-hi); background: #0c1319; color: #aebbc0; }
.incident-feedback span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.incident-feedback svg { width: 14px; height: 14px; }
.incident-feedback:hover, .incident-feedback.is-active { border-color: var(--acid); color: var(--acid); background: var(--acid-dim); }
.incident-feedback[data-feedback="noise"]:hover, .incident-feedback[data-feedback="noise"].is-active { border-color: var(--amber); color: var(--amber); background: var(--amber-dim); }

.readiness-view-header { align-items: center; }
.readiness-view-header > div, .readiness-header-actions, .readiness-layout, .posture-panel, .alliance-strength-panel, .posture-board, .alliance-strength-board { min-width: 0; }
.readiness-header-actions { display: flex; max-width: 100%; align-items: center; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
.state-legend { display: flex; gap: 4px; flex-wrap: wrap; }
.state-legend span { padding: 5px 7px; border: 1px solid var(--line); color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.state-legend [data-state="active"] { border-color: rgba(255,49,95,.55); color: var(--red); background: var(--red-dim); }
.state-legend [data-state="mobilizing"] { border-color: rgba(255,176,0,.5); color: var(--amber); background: var(--amber-dim); }
.state-legend [data-state="watch"] { border-color: rgba(0,229,255,.45); color: var(--cyan); background: var(--cyan-dim); }
.state-legend [data-state="quiet"] { border-color: rgba(183,255,54,.35); color: var(--acid); background: var(--acid-dim); }
.readiness-overview { display: grid; grid-template-columns: repeat(5,minmax(120px,1fr)); gap: 6px; margin-bottom: 9px; }
.readiness-kpi { min-height: 74px; padding: 10px; border: 1px solid var(--line); border-top: 2px solid var(--kpi-tone,var(--cyan)); background: #080d12; }
.readiness-kpi small, .readiness-kpi strong, .readiness-kpi span { display: block; }
.readiness-kpi small { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.readiness-kpi strong { margin-top: 5px; color: var(--kpi-tone,var(--cyan)); font-family: 'IBM Plex Mono', monospace; font-size: 23px; font-weight: 400; }
.readiness-kpi span { margin-top: 2px; color: #7e8f97; font-size: 10px; }
.readiness-kpi.kpi-active { --kpi-tone: var(--red); }.readiness-kpi.kpi-mobilizing { --kpi-tone: var(--amber); }.readiness-kpi.kpi-watch { --kpi-tone: var(--cyan); }.readiness-kpi.kpi-quiet { --kpi-tone: var(--acid); }.readiness-kpi.kpi-alliance { --kpi-tone: #d7a9ff; }
.readiness-layout { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr); gap: 9px; align-items: start; }
.posture-board, .alliance-strength-board { display: grid; gap: 7px; padding: 9px; }
.posture-card { --state-tone: var(--muted); position: relative; padding: 11px; border: 1px solid var(--line); border-left: 3px solid var(--state-tone); background: #070c10; overflow: hidden; }
.posture-card::after { position: absolute; top: 0; right: 0; width: 52px; height: 2px; background: var(--state-tone); content: ''; }
.posture-card.state-active { --state-tone: var(--red); }.posture-card.state-mobilizing { --state-tone: var(--amber); }.posture-card.state-watch { --state-tone: var(--cyan); }.posture-card.state-quiet { --state-tone: var(--acid); }.posture-card.state-stand-down { --state-tone: #d7a9ff; }
.posture-head { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 9px; align-items: center; }
.posture-flag { display: grid; width: 44px; height: 34px; place-items: center; border: 1px solid var(--line-hi); background: #111920; font-size: 20px; }
.posture-title strong, .posture-title span { display: block; overflow-wrap: anywhere; }
.posture-title strong { font-size: 16px; text-transform: uppercase; }.posture-title span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.posture-state { min-width: 84px; padding: 6px 8px; border: 1px solid var(--state-tone); color: var(--state-tone); font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-align: center; text-transform: uppercase; }
.posture-meter { position: relative; height: 7px; margin-top: 10px; background: #1d282f; overflow: hidden; }
.posture-meter span { display: block; height: 100%; background: var(--state-tone); box-shadow: 0 0 16px color-mix(in srgb, var(--state-tone) 55%, transparent); }
.posture-meter::after { position: absolute; inset: 0; background: repeating-linear-gradient(90deg,transparent 0 19%,rgba(5,7,10,.75) 19% 20%); content: ''; }
.posture-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; margin-top: 8px; }
.posture-fact { min-width: 0; padding: 6px; border: 1px solid var(--line); background: #090f14; }
.posture-fact small, .posture-fact b { display: block; }.posture-fact small { color: #607079; font-family: 'IBM Plex Mono', monospace; font-size: 7px; text-transform: uppercase; }.posture-fact b { margin-top: 3px; overflow-wrap: anywhere; color: #c8d2d5; font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 400; }
.posture-evidence { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 8px; }
.posture-evidence span { padding: 3px 5px; border: 1px solid var(--line); color: #83939a; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.strength-card { --strength-tone: var(--cyan); padding: 11px; border: 1px solid var(--line); border-top: 2px solid var(--strength-tone); background: #070c10; }
.strength-card.band-dominante { --strength-tone: var(--red); }.strength-card.band-fuerte { --strength-tone: var(--amber); }.strength-card.band-equilibrada { --strength-tone: var(--cyan); }.strength-card.band-fragil { --strength-tone: var(--muted); }
.strength-head { display: grid; grid-template-columns: 46px minmax(0,1fr) 58px; gap: 9px; align-items: center; }
.strength-logo { display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border: 1px solid var(--line-hi); background: #121a20; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }.strength-logo img { width: 100%; height: 100%; object-fit: cover; }
.strength-title strong, .strength-title span { display: block; overflow-wrap: anywhere; }.strength-title strong { font-size: 15px; text-transform: uppercase; }.strength-title span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.strength-score { color: var(--strength-tone); font-family: 'IBM Plex Mono', monospace; font-size: 22px; text-align: right; }.strength-score small { display: block; color: var(--muted); font-size: 7px; }
.dimension-list { display: grid; gap: 5px; margin-top: 10px; }
.dimension-row { display: grid; grid-template-columns: 92px minmax(0,1fr) 30px; gap: 7px; align-items: center; }
.dimension-row label, .dimension-row b { font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.dimension-row label { color: #8b9aa0; }.dimension-row b { color: #d2dcde; text-align: right; }
.dimension-track { height: 4px; background: #1d282f; overflow: hidden; }.dimension-track span { display: block; height: 100%; background: var(--strength-tone); }
.dimension-row.is-risk .dimension-track span { background: var(--red); }
.strength-foot { display: flex; justify-content: space-between; gap: 8px; margin-top: 9px; padding-top: 7px; border-top: 1px solid var(--line); color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.readiness-timeline-panel { margin-top: 9px; }
.readiness-transitions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 9px; }
.readiness-transition { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 8px; align-items: center; min-width: 0; padding: 8px; border: 1px solid var(--line); border-left: 2px solid var(--transition-tone,var(--cyan)); background: #070c10; }
.readiness-transition.is-escalation { --transition-tone: var(--red); }.readiness-transition.is-deescalation { --transition-tone: var(--acid); }.readiness-transition.is-alliance { --transition-tone: #d7a9ff; }
.readiness-transition.is-recovery { --transition-tone: var(--cyan); }.readiness-transition.is-uncertain { --transition-tone: var(--muted); }
.transition-mark { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid var(--transition-tone,var(--cyan)); color: var(--transition-tone,var(--cyan)); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.transition-copy strong, .transition-copy span { display: block; min-width: 0; overflow-wrap: anywhere; }.transition-copy strong { font-size: 12px; text-transform: uppercase; }.transition-copy span { margin-top: 2px; color: var(--muted); font-size: 9px; }
.readiness-transition time { color: #61727a; font-family: 'IBM Plex Mono', monospace; font-size: 8px; white-space: nowrap; }

.ops-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.ops-body { padding: 12px; }
.ops-form { display: grid; grid-template-columns: .75fr 1.25fr auto; gap: 6px; }
.compact-list { display: grid; gap: 5px; margin-top: 10px; }
.compact-list.is-loading { opacity: .55; }
.compact-row { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 9px; border: 1px solid var(--line); }
.compact-row strong, .compact-row span { display: block; }
.compact-row strong { font-size: 13px; }
.compact-row span { color: var(--muted); font-size: 10px; }
.visual-intel-panel { grid-column: 1 / -1; border-color: rgba(0,229,255,.36); }
.visual-intel-body { display: grid; gap: 12px; }
.mini-pill.is-online { border-color: rgba(183,255,54,.55); background: var(--acid-dim); color: var(--acid); }
.mini-pill.is-offline { border-color: rgba(255,176,0,.45); background: var(--amber-dim); color: var(--amber); }
.visual-intel-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border: 1px solid var(--line); background: #080d12; }
.visual-intel-metrics span { min-width: 0; padding: 10px 12px; border-right: 1px solid var(--line); }
.visual-intel-metrics span:last-child { border-right: 0; }
.visual-intel-metrics small, .visual-intel-metrics b { display: block; }
.visual-intel-metrics small { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.visual-intel-metrics b { margin-top: 4px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 15px; }
.visual-config-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 9px; }
.visual-settings-form { grid-template-columns: 1.4fr .7fr .55fr auto; }
.visual-settings-form label { display: grid; min-width: 0; gap: 3px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.visual-settings-form .visual-toggle { display: flex; min-height: 36px; padding: 0 10px; flex-direction: row; align-items: center; gap: 8px; border: 1px solid var(--line); background: #080d12; color: var(--text); font-size: 11px; }
.visual-toggle input { width: 16px; height: 16px; accent-color: var(--acid); }
.visual-intel-console { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10px; align-items: start; }
.visual-intel-console > div { min-width: 0; }
.visual-job-row { border-left: 3px solid var(--cyan); }
.visual-job-row.status-failed, .visual-job-row.status-skipped { border-left-color: var(--red); }
.visual-job-row.status-sent { border-left-color: var(--acid); }
.discord-embed-preview { min-height: 220px; margin-top: 10px; }
.discord-preview-card { overflow: hidden; max-width: 680px; border: 1px solid #313845; border-left: 4px solid var(--cyan); background: #2b2d35; color: #f2f3f5; box-shadow: var(--shadow); }
.discord-preview-card.band-d1 { border-left-color: var(--red); }
.discord-preview-card.band-d2 { border-left-color: var(--amber); }
.discord-preview-card > header, .discord-preview-card h3, .discord-preview-card p, .discord-preview-card footer { padding-right: 14px; padding-left: 14px; }
.discord-preview-card > header { display: flex; gap: 9px; align-items: center; padding-top: 12px; }
.discord-preview-card > header .fi { width: 28px; height: 20px; }
.discord-preview-card > header b, .discord-preview-card > header small { display: block; }
.discord-preview-card > header b { font-size: 13px; }
.discord-preview-card > header small { color: #b5bac1; font-size: 10px; }
.discord-preview-card h3 { margin-top: 12px; font-size: 18px; text-transform: none; }
.discord-preview-card p { margin-top: 5px; color: #dbdee1; font-size: 12px; }
.discord-preview-card img { display: block; width: calc(100% - 28px); max-height: 360px; margin: 12px 14px 0; object-fit: cover; aspect-ratio: 16 / 9; border: 1px solid #404249; }
.discord-preview-card footer { padding-top: 10px; padding-bottom: 12px; color: #949ba4; font-size: 10px; }
.visual-preview-pending, .visual-preview-empty { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 8px; border: 1px dashed var(--line-hi); background: #080d12; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.visual-preview-pending { min-height: 220px; margin: 12px 14px 0; }
.visual-preview-pending svg, .visual-preview-empty svg { color: var(--cyan); }

.notes-panel { padding: 12px; }.notes-panel form { display: grid; grid-template-columns: 140px 120px minmax(220px,1fr) auto; gap: 6px; }.notes-timeline { display: grid; gap: 6px; margin-top: 10px; }.intel-card, .mini-row-card { padding: 9px; border: 1px solid var(--line); background: #090e13; }.intel-card-head { display: flex; justify-content: space-between; gap: 9px; }.intel-card-head strong, .intel-card-head span { display: block; }.intel-card-head strong { font-size: 13px; }.intel-card-head span, .intel-card p { color: var(--muted); font-size: 10px; }.intel-card p { margin-top: 5px; }
.fact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin-top: 7px; }.fact-grid span { padding: 6px; border: 1px solid var(--line); color: #aebabc; font-size: 10px; }.fact-grid b { display: block; margin-bottom: 2px; color: #60717a; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }

.empty-row, .visual-empty { display: grid; min-height: 100px; place-items: center; padding: 16px; border: 1px dashed #324049; color: #65757d; font-family: 'IBM Plex Mono', monospace; font-size: 10px; text-align: center; }.empty-row::before, .visual-empty::before { display: block; margin-bottom: 5px; color: var(--cyan); content: '[ NO DATA ]'; }
.sev-critical, .sev-critica { border-left-color: var(--red) !important; }.sev-high, .sev-alta { border-left-color: var(--amber) !important; }.sev-medium, .sev-media, .sev-observacion { border-left-color: var(--cyan) !important; }.sev-info { border-left-color: #718188 !important; }

.toast-region { position: fixed; z-index: 80; right: 18px; bottom: 18px; display: grid; gap: 7px; width: min(360px,calc(100vw - 36px)); }.toast { padding: 10px; border: 1px solid var(--line-hi); border-left: 3px solid var(--cyan); background: #0c1319; box-shadow: var(--shadow); }.toast strong, .toast span { display: block; }.toast strong { font-size: 13px; }.toast span { margin-top: 3px; color: var(--muted); font-size: 11px; }.toast-ok { border-left-color: var(--acid); }.toast-error { border-left-color: var(--red); }.toast.is-hiding { opacity: 0; transform: translateY(8px); transition: .18s ease; }
.modal-backdrop { position: fixed; z-index: 90; inset: 0; display: grid; place-items: center; padding: 18px; background: rgba(2,4,6,.8); }.modal-backdrop[hidden] { display: none; }.confirm-modal { width: min(460px,100%); padding: 20px; border: 1px solid var(--cyan); border-left: 3px solid var(--cyan); background: #0b1117; box-shadow: 0 30px 90px rgba(0,0,0,.6); clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 0 100%); }.confirm-modal h2 { margin-top: 6px; }.confirm-modal > p:not(.eyebrow) { margin-top: 9px; color: var(--muted); }.modal-actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 17px; }

@media (min-width: 1500px) {
  body { font-size: 17px; }
  .command-main { width: min(1760px, calc(100% - 30px)); }
  h1 { font-size: 34px; }
  h2 { font-size: 22px; }
  .command-bar { min-height: 94px; padding: 17px 20px; }
  .sector-tag, .sidebar-nav > p { font-size: 10px; }
  .command-title p { font-size: 15px; }
  .clock-block small, .sync-block small { font-size: 9px; }
  .clock-block strong, .sync-block strong { font-size: 13px; }
  .side-link { min-height: 42px; }
  .side-link span { font-size: 15px; }
  .panel-heading { min-height: 58px; padding: 10px 14px; }
  .panel-heading small { font-size: 9px; }
  .panel-heading h2 { font-size: 18px; }
  .priority-country strong { font-size: 26px; }
  .priority-country span, .front-head span, .timeline-event p, .alert-item p, .stream-item p { font-size: 12px; }
  .front-head strong, .timeline-event strong, .alert-item strong, .stream-item strong { font-size: 14px; }
  .metric-tile strong, .target-row strong, .risk-row strong { font-size: 13px; }
  .risk-row > div > span, .brief-line p, .front-ranking, .front-foot { font-size: 12px; }
  .network-node { width: 168px; min-height: 52px; }
  .network-node strong { font-size: 12px; }
  .network-node small { font-size: 8px; }
  .relation-network { height: 570px; }
}

@media (max-width: 1250px) {
  .app-shell { grid-template-columns: 210px minmax(0,1fr); }
  .command-deck { grid-template-columns: minmax(300px,.9fr) minmax(360px,1.15fr); }
  .stream-stage { grid-column: 1 / -1; }
  .intel-stream { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; min-height: 0; }
  .stream-group + .stream-group { margin-top: 0; }
  .target-form, .alliance-form { width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .view-header.registry-header { display: grid; }
  .health-metrics { grid-template-columns: repeat(4,minmax(140px,1fr)); }
  .incident-score-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .priority-doctrine { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .readiness-layout { grid-template-columns: 1fr; }
  .readiness-overview { grid-template-columns: repeat(3,minmax(120px,1fr)); }
}

@media (max-width: 900px) {
  .app-shell, .sidebar-collapsed .app-shell { display: block; }
  .command-rail, .sidebar-collapsed .command-rail { display: none; }
  .rail-brand, .sidebar-collapsed .rail-brand { display: grid; grid-template-columns: 38px minmax(0,1fr) 30px; padding-bottom: 10px; }
  .sidebar-collapsed .brand-copy { display: block; }
  .sidebar-collapsed .icon-command { position: static; }
  .rail-state, .rail-footer, .sidebar-nav > p { display: none; }
  .sidebar-nav, .sidebar-collapsed .sidebar-nav { display: none; }
  .side-link, .sidebar-collapsed .side-link { display: inline-flex; width: auto; min-width: max-content; min-height: 34px; padding: 0 9px; border: 1px solid var(--line); font-size: 12px; }
  .side-link span, .sidebar-collapsed .side-link span { display: inline; }.side-link b, .sidebar-collapsed .side-link b { display: none; }
  .command-main { width: min(100% - 20px,1000px); padding-top: 10px; }
  .command-bar { display: grid; }.command-actions { justify-content: flex-start; }
  .tabbar { display: flex; }
  .command-deck { grid-template-columns: 1fr; }.stream-stage { grid-column: auto; }
  .priority-content, .overview-fronts, .intel-stream { min-height: 0; }
  .intel-stream { grid-template-columns: 1fr; }
  .lower-deck, .registry-layout, .ops-grid { grid-template-columns: 1fr; }
  .incident-console { grid-template-columns: 1fr; }.incident-summary-panel { position: static; }.incident-stats { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .readiness-transitions { grid-template-columns: 1fr; }
  .target-inspector { order: -1; min-height: 220px; }.empty-inspector { min-height: 190px; }
  .rule-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Contracts scoped panel */
.contracts-header-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.contracts-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.42fr); align-items:start; gap:18px; margin:18px 0; }
.contracts-grid > * { min-width:0; }
.contracts-action-panel { position:sticky; top:18px; border-top:2px solid var(--cyan); }
.contracts-balance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px; }
.contracts-balance article { --metric-color:var(--cyan); border:1px solid var(--line-hi); border-left:3px solid var(--metric-color); background:linear-gradient(110deg,rgba(0,229,255,.07),var(--panel)); padding:18px 22px; display:flex; flex-direction:column; gap:6px; }
.contracts-balance .contract-balance-available { --metric-color:var(--acid); background:linear-gradient(110deg,rgba(183,255,54,.08),var(--panel)); }
.contracts-balance .contract-balance-reserved { --metric-color:var(--amber); background:linear-gradient(110deg,rgba(255,176,0,.08),var(--panel)); }
.contracts-balance small, .contracts-action-panel label span { font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:.1em; color:#b6c6ce; }
.contracts-balance strong { font-size:30px; color:var(--metric-color); font-variant-numeric:tabular-nums; }
.contracts-balance article > span { color:#b6c6ce; font-size:13px; }
#contracts-action-form { display:grid; gap:12px; padding:16px; }
#contracts-action-form label { display:grid; gap:6px; }
#contracts-action-form input, #contracts-action-form select { min-height:44px; width:100%; border:1px solid var(--line, #22313a); background:#0a1117; color:inherit; padding:10px 12px; }
.contracts-action-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.contracts-warning, .contracts-observer-note, .contracts-inline-note { padding:12px 16px; opacity:.82; font-size:13px; }
.contracts-observer-note { display:flex; gap:12px; align-items:flex-start; border:1px solid var(--line, #22313a); margin-top:16px; }
.contracts-observer-note p { margin:.25rem 0 0; }
.contracts-list-panel { margin-top:16px; }
.contracts-list { display:grid; gap:8px; padding:14px; }
.contracts-row { border:1px solid var(--line, #22313a); padding:12px; background:rgba(255,255,255,.02); }
.contracts-row div { display:grid; gap:4px; }
.contracts-row strong { overflow-wrap:anywhere; }
.contract-browser-toolbar { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:12px; padding:18px 18px 12px; }
.contract-browser-toolbar label { display:grid; gap:7px; min-width:0; }
.contract-browser-toolbar label > span { color:#afc2cc; font:10px 'IBM Plex Mono',monospace; letter-spacing:.1em; }
.contract-browser-toolbar input, .contract-browser-toolbar select { width:100%; min-width:0; min-height:44px; padding:10px 12px; color:var(--text); background:#080f15; border:1px solid var(--line-hi); border-radius:5px; }
.contract-state-filters { display:flex; flex-wrap:wrap; gap:7px; padding:0 18px 12px; }
.contract-state-filters button { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 12px; border:1px solid var(--line-hi); border-radius:5px; background:var(--panel-2); color:#c8d5dc; transition:background .18s,border-color .18s; }
.contract-state-filters button strong { min-width:20px; padding:2px 5px; border-radius:3px; background:rgba(255,255,255,.06); font:11px 'IBM Plex Mono',monospace; }
.contract-state-filters button[aria-pressed="true"] { color:var(--cyan); background:var(--cyan-dim); border-color:var(--cyan); }
.contract-state-filters button:hover { border-color:var(--cyan); }
.contract-results-heading { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:space-between; padding:0 18px; color:#b6c6ce; font-size:13px; }
.contract-results-heading button { min-height:44px; padding:6px 0 6px 12px; color:var(--cyan); background:none; border:0; text-decoration:underline; text-underline-offset:4px; }
.contract-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:8px 18px 18px; align-items:start; }
.contract-card-grid > .empty-row { grid-column:1/-1; }
.contract-card { --contract-accent:var(--muted); min-width:0; border:1px solid var(--line-hi); border-top:2px solid var(--contract-accent); border-radius:6px; background:linear-gradient(145deg,#15222c,#0d141b 72%); transition:border-color .18s,box-shadow .18s,transform .18s; animation:contract-enter .18s ease-out; }
.contract-tone-active { --contract-accent:var(--cyan); }
.contract-tone-completed { --contract-accent:var(--acid); }
.contract-tone-expired { --contract-accent:var(--amber); }
.contract-card:hover { border-color:var(--contract-accent); box-shadow:0 6px 22px rgba(0,0,0,.25); transform:translateY(-2px); }
.contract-card[open] { border-color:var(--contract-accent); box-shadow:0 0 0 1px rgba(0,229,255,.06); }
.contract-card-summary { display:block; cursor:pointer; padding:16px; list-style:none; border-radius:5px; }
.contract-card-summary::-webkit-details-marker { display:none; }
.contract-card-heading { display:flex; gap:10px; align-items:flex-start; }
.contract-unit-icon { position:relative; overflow:hidden; flex-shrink:0; display:grid; place-items:center; width:42px; height:42px; border:1px solid var(--line-hi); border-radius:5px; color:var(--contract-accent); background:rgba(255,255,255,.03); font-size:23px; }
.contract-unit-icon img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.contract-unit-icon img[hidden] { display:none; }
.contract-card-title { flex:1; min-width:0; display:grid; gap:4px; }
.contract-card-title strong { font-size:20px; line-height:1.12; overflow-wrap:anywhere; }
.contract-card-title > span { font-size:13px; line-height:1.3; color:#b6c6ce; overflow-wrap:anywhere; }
.contract-state { flex-shrink:0; padding:5px 7px; border:1px solid var(--contract-accent); border-radius:4px; color:var(--contract-accent); font:10px 'IBM Plex Mono',monospace; }
.contract-card-metrics { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:18px 0; padding:12px; border:1px solid var(--line); border-radius:4px; background:rgba(0,0,0,.17); }
.contract-card-metrics > span { display:grid; gap:4px; min-width:0; }
.contract-card-metrics small { color:#a8bdc9; font:9px 'IBM Plex Mono',monospace; letter-spacing:.07em; }
.contract-card-metrics strong { font-size:19px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.contract-damage-label { display:flex; justify-content:space-between; gap:8px; font-size:13px; color:#c8d5dc; font-variant-numeric:tabular-nums; }
.contract-damage-label strong { color:var(--contract-accent); white-space:nowrap; }
.contract-progress { display:block; overflow:hidden; height:8px; background:#050a0e; border-radius:4px; margin:8px 0 14px; }
.contract-progress > span { display:block; height:100%; max-width:100%; border-radius:inherit; background:var(--contract-accent); transition:width .18s ease; }
.contract-progress-unknown { display:block; margin:8px 0 14px; font-size:12px; color:#b6c6ce; }
.contract-card-bottom { display:flex; gap:8px; justify-content:space-between; align-items:center; color:#a8bdc9; font-size:12px; }
.contract-expand-label { color:var(--cyan); white-space:nowrap; }
.contract-expand-label > span { display:inline-block; transition:transform .18s; }
.contract-card[open] .contract-expand-label > span { transform:rotate(180deg); }
.contract-card-details { border-top:1px solid var(--line-hi); padding:14px 16px; animation:contract-enter .18s ease-out; }
.contract-card-details dl { display:grid; gap:10px; margin:0; }
.contract-card-details dl > div { display:grid; gap:3px; }
.contract-card-details dt { color:#a8bdc9; font-size:12px; }
.contract-card-details dd { margin:0; font:11px/1.5 'IBM Plex Mono',monospace; overflow-wrap:anywhere; color:#e1ebee; }
.contract-game-links { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:12px; }
.contract-game-links a { display:flex; align-items:center; min-height:44px; color:var(--cyan); font-size:13px; text-underline-offset:4px; }
.contract-approved-details { border-top:1px solid var(--line); margin:0 18px; padding:4px 0 12px; }
.contract-approved-details > summary { display:flex; gap:10px; align-items:center; min-height:44px; cursor:pointer; color:#b6c6ce; }
.contract-approved-details > summary strong { padding:2px 8px; color:var(--acid); background:var(--acid-dim); border-radius:4px; }
.contract-unit-chips { display:flex; flex-wrap:wrap; gap:8px; }
.contract-unit-chip { display:grid; gap:4px; border:1px solid var(--line-hi); background:var(--panel-2); border-radius:4px; padding:8px 10px; font-size:13px; }
.contract-unit-chip small { font:10px 'IBM Plex Mono',monospace; overflow-wrap:anywhere; color:#a8bdc9; }
#contracts-discovery-status[data-freshness="fresh"] { color:var(--acid); border-color:var(--acid); background:var(--acid-dim); }
#contracts-discovery-status[data-freshness="stale"], #contracts-discovery-status[data-freshness="unavailable"] { color:var(--amber); border-color:var(--amber); background:var(--amber-dim); }
#panel-contracts :is(summary,button,input,select,a):focus-visible { outline:2px solid var(--cyan); outline-offset:3px; }
@keyframes contract-enter { from { opacity:.65; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:1280px) { .contract-card-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { #panel-contracts *, #panel-contracts *::before, #panel-contracts *::after { animation:none !important; transition:none !important; } .contract-card:hover { transform:none; } }
.contracts-observer-shell { padding:18px; }
.contracts-observer-shell p { opacity:.8; }
.contracts-observer-shell pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:60vh; overflow:auto; padding:14px; background:#071017; border:1px solid var(--line, #22313a); font-size:12px; }
body.contracts-scoped .tab-panel:not(#panel-contracts) > *:not(.contracts-observer-shell) { display:none !important; }
body.contracts-scoped #capture,
body.contracts-scoped #discord-summary,
body.contracts-scoped #write-access-state { display:none !important; }
body.contracts-scoped .contracts-observer-shell { display:block !important; }
@media (max-width: 900px) {
  .contracts-grid { grid-template-columns:1fr; }
  .contracts-action-panel { position:static; }
  .contracts-action-fields { grid-template-columns:1fr; }
  .contracts-balance { grid-template-columns:1fr; }
  .contracts-header-actions { width:100%; }
  .contracts-header-actions .hud-button, #contracts-action-submit { min-height:44px; }
}
@media (max-width:540px) {
  .contract-browser-toolbar { grid-template-columns:1fr; }
  .contract-card-heading { flex-wrap:wrap; }
  .contract-card-title { flex-basis:calc(100% - 44px); }
  .contract-state { margin-left:44px; }
  .contract-card-bottom, .contract-damage-label { flex-wrap:wrap; }
  .contract-card-grid { padding:8px 12px 12px; }
  .contracts-balance strong { font-size:26px; }
}

@media (max-width: 620px) {
  h1 { max-width: 100%; overflow-wrap: anywhere; font-size: 23px; }.command-title, .command-title p { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }.command-title p { font-size: 12px; }
  .command-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }.clock-block, .sync-block { min-width: 0; padding-left: 0; }.hud-button { justify-content: center; }
  .command-deck { min-height: 0; }.panel-heading { min-height: 50px; }.panel-heading h2 { font-size: 14px; }
  .priority-top { display: grid; }.threat-code { text-align: left; }.nation-telemetry { grid-template-columns: 1fr; }
  .lower-deck { grid-template-columns: 1fr; }.timeline-event { grid-template-columns: 72px minmax(0,1fr); }.event-priority { display: none; }
  .view-header { min-height: 0; padding: 14px; }.view-header h2 { font-size: 23px; }.view-icon { display: none; }
  .incident-view-header { display: grid; }.incident-filters { width: 100%; }.incident-filters label { flex: 1; }.incident-filters select { width: 100%; min-width: 0; }
  .readiness-view-header { display: grid; }.readiness-header-actions { display: grid; width: 100%; grid-template-columns: minmax(0,1fr); justify-content: stretch; }.state-legend { display: grid; width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }.state-legend span { min-width: 0; text-align: center; }.readiness-header-actions .hud-button { width: 100%; min-width: 0; }.readiness-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }.posture-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }.posture-head { grid-template-columns: 38px minmax(0,1fr) auto; }.posture-flag { width: 38px; }.posture-state { min-width: 0; max-width: 112px; padding-inline: 5px; overflow-wrap: anywhere; }
  .incident-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }.incident-score-grid, .incident-assessment { grid-template-columns: minmax(0,1fr); }.incident-card-head { grid-template-columns: 36px minmax(0,1fr) 52px; }.incident-country-flag { width: 36px; }.incident-priority { min-width: 0; padding: 5px 3px; }.incident-actions { align-items: stretch; flex-direction: column; }.incident-feedback-buttons { display: grid; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); }.incident-feedback { width: 100%; min-width: 0; justify-content: center; padding: 0 4px; }.evidence-row { grid-template-columns: minmax(0,1fr); gap: 2px; }
  .target-form, .alliance-form, .ops-form, .notes-panel form { grid-template-columns: 1fr; }
  .registry-toolbar { display: grid; }.registry-toolbar label { min-width: 100%; }.watch-header { display: none; }.target-row { grid-template-columns: minmax(0,1fr) auto; gap: 4px; }.target-row .target-cell:nth-child(3), .target-row .target-cell:nth-child(4) { display: none; }.target-row .target-cell:last-child { grid-column: 2; grid-row: 1; }
  .front-grid { grid-template-columns: 1fr; }.front-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .risk-command, .risk-grid, .risk-grid.lower { grid-template-columns: 1fr; }.risk-row { grid-template-columns: 1fr; }
  .relation-network { display: block; height: auto; padding: 8px; }.network-tools { display: none; }.network-viewport { position: static; overflow: visible; cursor: default; touch-action: auto; }.network-stage { position: static; display: grid; gap: 5px; transform: none !important; }.network-stage::before, .network-stage::after, .network-grid { display: none; }.network-core, .network-node { position: static; width: 100%; height: auto; min-height: 48px; transform: none; }.network-core { display: flex; gap: 8px; align-items: center; justify-content: flex-start; padding: 9px; }.network-core > * { transform: none; }.network-node { transform: none; }
  .rule-grid, .fact-grid { grid-template-columns: 1fr; }
  .priority-doctrine { grid-template-columns: 1fr; }
  .telemetry-drawer summary small { display: none; }.health-metrics { grid-template-columns: repeat(2,minmax(135px,1fr)); }
  .modal-actions { flex-direction: column-reverse; }.modal-actions button { width: 100%; }
}

@media (max-width: 900px) {
  .relation-dock { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}

@media (max-width: 620px) {
  .relation-dock { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reliability-console { align-items: stretch; flex-direction: column; }
  .reliability-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reliability-actions button { justify-content: center; }
  .relation-zone { min-height: 48px; grid-template-columns: 22px minmax(0, 1fr) auto; padding: 6px 7px; }
  .watch-header { display: none; }
  .target-row { grid-template-columns: 24px minmax(0, 1fr) auto; gap: 5px; }
  .target-row .target-name { grid-column: 2; grid-row: 1; }
  .target-row .target-cell:nth-child(3) { display: block; grid-column: 3; grid-row: 1; }
  .target-row .target-cell:nth-child(4), .target-row .target-cell:nth-child(5) { display: none; }
  .target-row .target-cell:nth-child(6) { grid-column: 2 / 4; grid-row: 2; }
}

/* Phase 3: human-controlled operational planning */
.operations-view-header { align-items: center; }
.operations-overview { display: grid; grid-template-columns: repeat(5,minmax(120px,1fr)); gap: 6px; margin-bottom: 9px; }
.operations-overview article { position: relative; min-height: 76px; padding: 10px; overflow: hidden; border: 1px solid var(--line); border-top: 2px solid var(--cyan); background: #080d12; }
.operations-overview article::after { position: absolute; right: -12px; bottom: -21px; width: 58px; height: 58px; border: 1px solid rgba(0,229,255,.08); transform: rotate(45deg); content: ''; }
.operations-overview .op-kpi-priority { border-top-color: var(--red); }
.operations-overview span, .operations-overview strong, .operations-overview small { display: block; }
.operations-overview span { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.operations-overview strong { margin-top: 4px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 24px; font-weight: 400; }
.operations-overview .op-kpi-priority strong { color: var(--red); }
.operations-overview small { margin-top: 2px; color: #65757d; font-size: 10px; }
.operations-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,410px); gap: 9px; align-items: start; }
.operations-main-column { display: grid; gap: 9px; min-width: 0; }
.operation-builder-panel { position: sticky; top: 10px; min-width: 0; }
.operation-suggestions { display: grid; gap: 6px; padding: 9px; }
.operation-suggestion { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; min-width: 0; padding: 9px; border: 1px solid var(--line); border-left: 2px solid var(--cyan); background: #070c10; }
.operation-suggestion[data-priority="D1"] { border-left-color: var(--red); }
.operation-suggestion[data-priority="D2"] { border-left-color: var(--amber); }
.operation-suggestion-main { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 9px; align-items: center; min-width: 0; }
.operation-suggestion-main > span { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid var(--cyan); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.operation-suggestion[data-priority="D1"] .operation-suggestion-main > span { border-color: var(--red); color: var(--red); }
.operation-suggestion[data-priority="D2"] .operation-suggestion-main > span { border-color: var(--amber); color: var(--amber); }
.operation-suggestion strong, .operation-suggestion small { display: block; min-width: 0; overflow-wrap: anywhere; }
.operation-suggestion strong { font-size: 13px; text-transform: uppercase; }
.operation-suggestion small { margin-top: 2px; color: var(--muted); font-size: 10px; line-height: 1.35; }
.operation-prefill { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; border-color: rgba(0,229,255,.35); background: var(--cyan-dim); color: var(--cyan); font-size: 11px; white-space: nowrap; }
.operation-prefill svg { width: 14px; }
.operation-missions { display: grid; gap: 8px; padding: 9px; }
.operation-card { --op-tone: var(--cyan); position: relative; min-width: 0; overflow: hidden; border: 1px solid var(--line); border-left: 3px solid var(--op-tone); background: #070c10; }
.operation-card::before { position: absolute; top: 0; right: 0; width: 72px; height: 2px; background: var(--op-tone); content: ''; }
.operation-card.operation-danger { --op-tone: var(--red); }
.operation-card.operation-warning { --op-tone: var(--amber); }
.operation-card.operation-success { --op-tone: var(--acid); }
.operation-card.operation-muted { --op-tone: #66777f; opacity: .82; }
.operation-card.is-selected { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--op-tone) 36%, transparent); }
.operation-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 11px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.015); }
.operation-identity { display: grid; grid-template-columns: 39px minmax(0,1fr); gap: 9px; align-items: center; min-width: 0; }
.operation-priority { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--op-tone); color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.operation-identity strong, .operation-identity span { display: block; min-width: 0; overflow-wrap: anywhere; }
.operation-identity strong { font-size: 16px; text-transform: uppercase; }
.operation-identity div > span { margin-top: 2px; color: var(--muted); font-size: 10px; }
.operation-decision { min-width: 116px; text-align: right; }
.operation-decision b, .operation-decision span { display: block; }
.operation-decision b { color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 10px; text-transform: uppercase; }
.operation-decision span { margin-top: 3px; color: var(--muted); font-size: 9px; }
.operation-progress-row { display: grid; grid-template-columns: 92px minmax(0,1fr) 38px; gap: 8px; align-items: center; padding: 9px 11px 4px; }
.operation-progress-copy { display: flex; justify-content: space-between; gap: 5px; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.operation-progress-copy b { color: #cbd5d8; font-weight: 400; }
.operation-progress { height: 5px; overflow: hidden; background: #1b262d; }
.operation-progress span { display: block; height: 100%; background: var(--op-tone); box-shadow: 0 0 14px color-mix(in srgb, var(--op-tone) 60%, transparent); }
.operation-progress-row > strong { color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-align: right; }
.operation-readout { display: grid; grid-template-columns: .8fr 1.3fr 1fr; gap: 5px; padding: 5px 11px 9px; }
.operation-readout > div { min-width: 0; padding: 7px; border: 1px solid var(--line); background: #090f14; }
.operation-readout span, .operation-readout strong { display: block; }
.operation-readout span { color: #5f7078; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.operation-readout strong { margin-top: 3px; overflow-wrap: anywhere; color: #bac6ca; font-size: 10px; }
.operation-readout select { width: 100%; min-height: 28px; margin-top: 3px; padding: 0 6px; border-color: #35444c; color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.operation-battle-strip { display: flex; justify-content: space-between; gap: 10px; align-items: center; margin: 0 11px 9px; padding: 8px; border: 1px solid rgba(0,229,255,.2); background: var(--cyan-dim); }
.operation-battle-strip > div { display: flex; gap: 8px; align-items: center; min-width: 0; }
.operation-battle-strip > div > svg { flex: 0 0 auto; color: var(--cyan); }
.operation-battle-strip b, .operation-battle-strip small { display: block; overflow-wrap: anywhere; }
.operation-battle-strip b { font-size: 12px; }.operation-battle-strip small { margin-top: 2px; color: #88a0a9; font-size: 9px; }
.operation-battle-strip.is-empty { justify-content: flex-start; color: var(--muted); background: transparent; }
.operation-recommendation { margin: 0 11px 9px; padding: 8px 9px; border-left: 2px solid var(--op-tone); background: color-mix(in srgb, var(--op-tone) 7%, transparent); color: #b8c4c7; font-size: 11px; line-height: 1.4; }
.operation-recommendation b { color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.operation-context-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 0 11px 10px; }
.operation-context-grid > div { padding: 8px; border: 1px solid var(--line); background: #090e13; }
.operation-context-grid span { display: block; margin-bottom: 5px; color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.operation-context-grid p { position: relative; margin-top: 3px; padding-left: 10px; color: #89999f; font-size: 10px; line-height: 1.35; }
.operation-context-grid p::before { position: absolute; left: 0; color: var(--op-tone); content: '>'; }
.operation-detail { border-top: 1px solid var(--line); }
.operation-detail > summary { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 39px; padding: 0 11px; cursor: pointer; list-style: none; color: #aab7bb; }
.operation-detail > summary::-webkit-details-marker { display: none; }
.operation-detail > summary span { display: inline-flex; gap: 7px; align-items: center; font-size: 11px; text-transform: uppercase; }
.operation-detail > summary svg { width: 14px; color: var(--cyan); }
.operation-detail > summary b { color: var(--op-tone); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.operation-detail-body { padding: 0 11px 11px; }
.operation-objectives { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; }
.operation-objectives > div { padding: 8px; border: 1px solid var(--line); background: #080d12; }
.operation-objectives span { color: #667880; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.operation-objectives p { margin-top: 4px; color: #aab7bb; font-size: 10px; line-height: 1.35; }
.operation-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; margin-top: 6px; }
.operation-check-row { display: grid; grid-template-columns: 21px minmax(0,1fr); gap: 7px; align-items: center; min-height: 36px; padding: 6px; border: 1px solid var(--line); background: #080d12; color: #94a3a8; cursor: pointer; font-size: 10px; line-height: 1.25; }
.operation-check-row input { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; }
.operation-check-box { display: grid; width: 20px; height: 20px; place-items: center; border: 1px solid var(--line-hi); color: transparent; }
.operation-check-box svg { width: 13px; }
.operation-check-row.is-done { border-color: rgba(183,255,54,.25); color: #b8c7ac; background: var(--acid-dim); }
.operation-check-row.is-done .operation-check-box { border-color: var(--acid); color: var(--acid); }
.operation-check-row:has(input:focus-visible) { outline: 2px solid var(--cyan); outline-offset: 2px; }
.operation-log { margin-top: 6px; padding: 8px; border: 1px solid var(--line); background: #080d12; }
.operation-log > header { margin-bottom: 5px; color: #667880; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.operation-log-row { display: grid; grid-template-columns: 62px minmax(0,1fr) auto; gap: 7px; align-items: start; padding: 6px 0; border-top: 1px solid #1c282f; }
.operation-log-row > span { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.operation-log-row p { color: #a4b1b5; font-size: 10px; line-height: 1.35; }
.operation-log-row time { color: #5e6f77; font-family: 'IBM Plex Mono', monospace; font-size: 7px; white-space: nowrap; }
.operation-log-empty { padding: 8px 0; color: #5e6f77; font-size: 10px; }
.operation-note-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 5px; margin-top: 6px; }
.operation-note-form input { min-width: 0; min-height: 34px; }
.operation-note-form button, .operation-create-button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border-color: rgba(183,255,54,.4); background: var(--acid-dim); color: var(--acid); }
.operation-note-form button { min-height: 34px; }
.operation-actions { display: flex; justify-content: flex-end; gap: 5px; flex-wrap: wrap; padding: 8px 11px; border-top: 1px solid var(--line); }
.operation-actions button { display: inline-flex; align-items: center; gap: 5px; min-height: 32px; font-size: 10px; }
.operation-actions button svg { width: 13px; }
.operation-actions .operation-close { border-color: rgba(255,49,95,.35); background: var(--red-dim); color: #ff9ab1; }
.operation-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 11px; }
.operation-field { display: block; min-width: 0; }
.operation-field-wide { grid-column: 1 / -1; }
.operation-field > span { display: block; margin-bottom: 4px; color: #6d7e86; font-family: 'IBM Plex Mono', monospace; font-size: 7px; text-transform: uppercase; }
.operation-field input, .operation-field select, .operation-field textarea { width: 100%; }
.operation-field textarea { min-height: 60px; }
.operation-create-button { grid-column: 1 / -1; width: 100%; min-height: 42px; text-transform: uppercase; }
.human-control-note { display: flex; gap: 8px; align-items: flex-start; margin: 0 11px 11px; padding: 9px; border: 1px solid rgba(255,176,0,.25); background: var(--amber-dim); color: #c5b98e; font-size: 10px; line-height: 1.35; }
.human-control-note svg { flex: 0 0 auto; width: 15px; color: var(--amber); }
.operation-empty { gap: 4px; }
.operation-empty::before { display: none; }
.operation-empty svg { width: 24px; height: 24px; color: var(--cyan); }
.operation-empty strong, .operation-empty span { display: block; }
.operation-empty strong { color: #b8c4c8; font-size: 12px; text-transform: uppercase; }
.operation-empty span { color: #61727a; font-size: 9px; }

@media (max-width: 1250px) {
  .operations-layout { grid-template-columns: minmax(0,1fr) 340px; }
  .operation-readout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .operation-readout > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 900px) {
  .operations-overview { grid-template-columns: repeat(3,minmax(110px,1fr)); }
  .operations-layout { grid-template-columns: 1fr; }
  .operation-builder-panel { position: static; order: -1; }
}

@media (max-width: 620px) {
  .operations-view-header { display: grid; }
  .operations-view-header .hud-button { width: 100%; }
  .operations-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .operation-suggestion { grid-template-columns: 1fr; }
  .operation-prefill { width: 100%; justify-content: center; }
  .operation-card-head { align-items: flex-start; }
  .operation-decision { min-width: 82px; }
  .operation-readout, .operation-context-grid, .operation-objectives, .operation-checklist, .operation-form { grid-template-columns: 1fr; }
  .operation-readout > div:last-child, .operation-field-wide, .operation-create-button { grid-column: auto; }
  .operation-battle-strip { align-items: stretch; flex-direction: column; }
  .operation-battle-strip .warera-link { justify-content: center; }
  .operation-log-row { grid-template-columns: 52px minmax(0,1fr); }
  .operation-log-row time { grid-column: 2; }
  .operation-note-form { grid-template-columns: 1fr; }
  .operation-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .operation-actions button { justify-content: center; min-width: 0; }
}

/* Phase 3.1: automatic battle intelligence room */
.battle-room-header { align-items: center; border-left-color: var(--amber); background: linear-gradient(90deg, rgba(255,176,0,.035), transparent 42%); }
.battle-room-header .view-code { color: var(--amber); }
.battle-radar-console { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(560px,1.4fr); gap: 12px; align-items: center; margin-bottom: 10px; padding: 13px; border: 1px solid #283941; border-left: 3px solid var(--cyan); background: #070d12; }
.battle-radar-title { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 12px; align-items: center; min-width: 0; }
.radar-orb { position: relative; display: grid; width: 46px; height: 46px; place-items: center; overflow: hidden; border: 1px solid rgba(0,229,255,.45); background: radial-gradient(circle, rgba(0,229,255,.16), transparent 68%); color: var(--cyan); }
.radar-orb::after { position: absolute; width: 68px; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); animation: radar-sweep 2.4s linear infinite; content: ''; }
.radar-orb svg { width: 21px; }
@keyframes radar-sweep { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.battle-radar-title small, .battle-radar-title strong, .battle-radar-title p { display: block; min-width: 0; }
.battle-radar-title small { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.battle-radar-title strong { margin-top: 2px; color: #e4ecef; font-size: 17px; text-transform: uppercase; }
.battle-radar-title p { margin-top: 2px; color: #768991; font-size: 11px; }
.battle-catalog-source { padding: 6px 8px; border: 1px solid rgba(183,255,54,.35); color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 8px; white-space: nowrap; }
.battle-catalog-source.is-degraded { border-color: rgba(255,176,0,.45); color: var(--amber); }
.battle-radar-tools { display: grid; grid-template-columns: minmax(190px,1.4fr) repeat(3,minmax(130px,1fr)); gap: 6px; min-width: 0; }
.battle-radar-tools select, .battle-search { min-width: 0; min-height: 40px; }
.battle-search { display: flex; gap: 8px; align-items: center; padding: 0 10px; border: 1px solid #30434c; background: #090f14; }
.battle-search:focus-within { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(0,229,255,.08); }
.battle-search svg { flex: 0 0 auto; width: 15px; color: var(--cyan); }
.battle-search input { width: 100%; min-height: 36px; padding: 0; border: 0; background: transparent; }
.battle-radar-overview { display: grid; grid-template-columns: repeat(6,minmax(100px,1fr)); gap: 6px; margin-bottom: 10px; }
.battle-radar-overview article { min-height: 72px; padding: 10px 11px; border: 1px solid var(--line); border-top: 2px solid var(--cyan); background: #080e13; }
.battle-radar-overview article.is-danger { border-top-color: var(--red); }.battle-radar-overview article.is-warning { border-top-color: var(--amber); }.battle-radar-overview article.is-resistance { border-top-color: #c875ff; }
.battle-radar-overview span, .battle-radar-overview strong, .battle-radar-overview small { display: block; }
.battle-radar-overview span { color: #6f828a; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.battle-radar-overview strong { margin-top: 4px; color: #e4ecef; font-family: 'IBM Plex Mono', monospace; font-size: 23px; font-weight: 400; }
.battle-radar-overview small { margin-top: 1px; color: #61737b; font-size: 10px; }
.battle-theater-layout { display: grid; grid-template-columns: minmax(380px,.78fr) minmax(0,1.35fr); gap: 10px; align-items: start; }
.battle-catalog-panel, .battle-inspector-panel { min-width: 0; }
.battle-catalog { max-height: 860px; overflow-y: auto; scrollbar-color: #30444d #080e13; }
.battle-catalog-row { --battle-tone: #61757e; display: grid; grid-template-columns: 42px minmax(0,1fr) 66px 18px; gap: 10px; align-items: center; width: 100%; min-height: 96px; padding: 10px; border: 0; border-bottom: 1px solid #1d2b32; border-left: 3px solid var(--battle-tone); background: #080e13; color: #b8c5ca; text-align: left; }
.battle-catalog-row:hover { background: #0c151b; }.battle-catalog-row.is-selected { background: color-mix(in srgb, var(--battle-tone) 9%, #080e13); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--battle-tone) 42%, transparent); }
.battle-priority-d1 { --battle-tone: var(--red); }.battle-priority-d2 { --battle-tone: var(--amber); }.battle-priority-d3 { --battle-tone: var(--cyan); }.battle-priority-d4 { --battle-tone: #667981; }
.battle-row-priority { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--battle-tone); color: var(--battle-tone); font-family: 'IBM Plex Mono', monospace; font-size: 11px; }
.battle-row-main { display: grid; gap: 7px; min-width: 0; }
.battle-row-versus { display: grid; grid-template-columns: minmax(0,1fr) 24px minmax(0,1fr); gap: 5px; align-items: center; }
.battle-row-versus b { min-width: 0; overflow: hidden; color: #dce5e8; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.battle-row-versus i { color: #63757d; font-family: 'IBM Plex Mono', monospace; font-size: 8px; font-style: normal; text-align: center; }
.battle-row-tags { display: flex; gap: 5px; min-width: 0; overflow: hidden; }
.battle-row-tags em { display: inline-flex; gap: 4px; align-items: center; min-width: 0; padding: 2px 5px; border: 1px solid #2b3b43; color: #788b93; font-family: 'IBM Plex Mono', monospace; font-size: 7px; font-style: normal; white-space: nowrap; }
.battle-row-tags em:first-child { color: var(--battle-tone); }.battle-row-tags svg { width: 10px; }
.battle-row-control { display: block; height: 3px; overflow: hidden; background: #23323a; }.battle-row-control > span { display: block; height: 100%; background: var(--battle-tone); box-shadow: 0 0 8px var(--battle-tone); }
.battle-row-readout { text-align: right; }.battle-row-readout b, .battle-row-readout small, .battle-row-readout time { display: block; }
.battle-row-readout b { color: #d9e4e7; font-family: 'IBM Plex Mono', monospace; font-size: 12px; }.battle-row-readout small { color: #63757d; font-size: 7px; }.battle-row-readout time { margin-top: 7px; color: var(--battle-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.battle-row-arrow { width: 15px; color: var(--battle-tone); }
.battle-catalog-empty, .battle-inspector-empty { display: grid; min-height: 280px; place-content: center; justify-items: center; padding: 24px; color: #596b73; text-align: center; }
.battle-catalog-empty svg, .battle-inspector-empty svg { width: 34px; height: 34px; margin-bottom: 10px; color: var(--cyan); }.battle-catalog-empty strong, .battle-inspector-empty strong { color: #9aabb1; font-size: 14px; }.battle-catalog-empty span, .battle-inspector-empty span { max-width: 360px; margin-top: 5px; font-size: 11px; line-height: 1.4; }
.battle-dossier { --battle-tone: var(--cyan); min-width: 0; border-left: 3px solid var(--battle-tone); background: #070d12; }
.battle-dossier-head { display: grid; grid-template-columns: 50px minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--battle-tone) 5%, #070d12); }
.battle-dossier-priority { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid var(--battle-tone); color: var(--battle-tone); font-family: 'IBM Plex Mono', monospace; font-size: 14px; }
.battle-dossier-head small { color: var(--battle-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.battle-dossier-head h3 { margin-top: 3px; color: #edf3f5; font-size: 19px; line-height: 1.08; text-transform: uppercase; }.battle-dossier-head h3 i { margin: 0 5px; color: #697b83; font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-style: normal; }.battle-dossier-head p { margin-top: 4px; color: #82949b; font-size: 11px; }
.battle-verified-stamp { display: inline-flex; gap: 5px; align-items: center; padding: 6px 8px; border: 1px solid rgba(183,255,54,.3); color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 8px; white-space: nowrap; }.battle-verified-stamp svg { width: 13px; }
.battle-scoreboard { display: grid; grid-template-columns: minmax(0,1fr) 190px minmax(0,1fr); gap: 12px; align-items: center; padding: 18px 14px 14px; }
.battle-side { min-width: 0; }.battle-side.defender { text-align: right; }.battle-side span, .battle-side strong, .battle-side small { display: block; }.battle-side span { overflow: hidden; color: #cbd6da; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }.battle-side strong { margin-top: 4px; color: #f1f5f6; font-family: 'IBM Plex Mono', monospace; font-size: 28px; font-weight: 400; }.battle-side small { margin-top: 3px; color: #657980; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.battle-control-core { display: grid; grid-template-columns: 1fr auto 1fr; gap: 6px; align-items: center; color: #74878f; font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-align: center; }.battle-control-core span:last-of-type { text-align: right; }.battle-control-core span:first-of-type { text-align: left; }.battle-control-core b { color: var(--battle-tone); font-size: 9px; font-weight: 400; text-transform: uppercase; }.battle-control-core div { grid-column: 1 / -1; height: 9px; overflow: hidden; border: 1px solid #31434b; background: #202d34; }.battle-control-core div i { display: block; height: 100%; background: var(--battle-tone); box-shadow: 0 0 12px var(--battle-tone); }
.battle-tactical-readout { display: grid; grid-template-columns: repeat(6,minmax(90px,1fr)); gap: 5px; padding: 0 14px 14px; }.battle-tactical-readout span { min-width: 0; padding: 8px; border: 1px solid #22323a; background: #090f14; overflow-wrap: anywhere; color: #b4c0c4; font-size: 10px; }.battle-tactical-readout b { display: block; margin-bottom: 3px; color: #60747c; font-family: 'IBM Plex Mono', monospace; font-size: 7px; font-weight: 400; }
.battle-assessment { margin: 0 14px 12px; padding: 10px 12px; border: 1px solid color-mix(in srgb, var(--battle-tone) 30%, #263840); border-left: 2px solid var(--battle-tone); background: color-mix(in srgb, var(--battle-tone) 5%, transparent); }.battle-assessment header { display: flex; gap: 7px; align-items: center; margin-bottom: 6px; color: var(--battle-tone); text-transform: uppercase; }.battle-assessment header svg { width: 15px; }.battle-assessment header strong { font-size: 11px; }.battle-assessment p { position: relative; margin-top: 4px; padding-left: 12px; color: #a8b6ba; font-size: 11px; line-height: 1.4; }.battle-assessment p::before { position: absolute; left: 0; color: var(--battle-tone); content: '>'; }
.battle-rankings { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; padding: 0 14px 12px; }.battle-ranking-group { min-width: 0; border: 1px solid #23333b; background: #080e13; }.battle-ranking-group > header { display: flex; gap: 6px; align-items: center; min-height: 34px; padding: 0 9px; border-bottom: 1px solid #23333b; color: var(--cyan); text-transform: uppercase; }.battle-ranking-group > header svg { width: 13px; }.battle-ranking-group > header strong { font-size: 9px; }.battle-ranking-versus { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.battle-ranking-versus > div { min-width: 0; padding: 8px; }.battle-ranking-versus > div + div { border-left: 1px solid #23333b; }.battle-ranking-versus > div > span { color: #5f737b; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }.battle-ranking-versus ol { margin-top: 5px; list-style: none; }.battle-ranking-versus li { display: flex; justify-content: space-between; gap: 5px; padding: 3px 0; color: #9dacb1; font-size: 9px; }.battle-ranking-versus li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.battle-ranking-versus li b { color: #d4dee1; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.battle-ranking-versus li.is-empty { color: #53666e; }
.battle-intel-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 0 14px 12px; }.battle-intel-grid > article { min-width: 0; border: 1px solid #23333b; background: #080e13; }.battle-intel-grid > article > header, .battle-contracts > header { display: flex; justify-content: space-between; align-items: center; min-height: 35px; padding: 0 9px; border-bottom: 1px solid #23333b; color: #73868e; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.battle-intel-grid > article > header svg { width: 14px; color: var(--cyan); }
.battle-activity-grid, .battle-orders-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.battle-activity-side, .battle-order-side { min-width: 0; padding: 9px; }.battle-activity-side + .battle-activity-side, .battle-order-side + .battle-order-side { border-left: 1px solid #23333b; }.battle-activity-side header, .battle-order-side header { display: flex; justify-content: space-between; gap: 6px; color: #687b83; font-size: 8px; text-transform: uppercase; }.battle-activity-side header b, .battle-order-side header b { color: #c2ced2; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.battle-activity-stats { display: flex; gap: 5px; flex-wrap: wrap; margin: 6px 0; }.battle-activity-stats span { padding: 2px 4px; border: 1px solid #283a42; color: #71858d; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }.battle-activity-side ol { list-style: none; }.battle-activity-side li, .battle-order-side p { display: flex; justify-content: space-between; gap: 6px; align-items: center; padding: 4px 0; border-top: 1px solid #18252b; color: #95a6ac; font-size: 9px; }.battle-activity-side li span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.battle-activity-side li small { display: block; color: #586b73; font-size: 7px; }.battle-activity-side li b { color: #d8e2e5; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }.battle-order-side p { justify-content: flex-start; }.battle-order-side p svg { flex: 0 0 auto; width: 12px; color: var(--cyan); }.battle-order-side p span { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.battle-order-side p em { color: var(--amber); font-family: 'IBM Plex Mono', monospace; font-size: 7px; font-style: normal; }
.battle-contracts { margin: 0 14px 12px; border: 1px solid #23333b; background: #080e13; }.battle-contracts > header b { color: var(--amber); }.battle-contracts > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px; padding: 8px; }.battle-contracts article { display: flex; gap: 8px; align-items: center; min-width: 0; padding: 8px; border: 1px solid #263840; }.battle-contracts article svg { flex: 0 0 auto; width: 16px; color: var(--amber); }.battle-contracts article strong, .battle-contracts article span { display: block; overflow-wrap: anywhere; }.battle-contracts article strong { color: #bac7ca; font-size: 10px; }.battle-contracts article span, .battle-contracts p { margin-top: 2px; color: #687b83; font-size: 8px; }
.battle-dossier-actions { display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; padding: 10px 14px; border-top: 1px solid var(--line); }.battle-dossier-actions > * { display: inline-flex; gap: 6px; align-items: center; justify-content: center; min-height: 37px; }.battle-dossier-actions svg { width: 14px; }.battle-open-game { margin-right: auto; border-color: rgba(183,255,54,.35); color: var(--acid); }
.operations-memory { margin-top: 12px; padding-top: 11px; border-top: 1px solid #2a3c44; }.operations-memory-head { display: flex; justify-content: space-between; gap: 12px; align-items: end; margin-bottom: 8px; padding: 0 2px; }.operations-memory-head h2 { margin-top: 2px; color: #dbe4e7; font-size: 20px; text-transform: uppercase; }.operations-memory-head p { margin-top: 2px; color: #6f828a; font-size: 11px; }
.operations-memory-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(330px,420px); gap: 9px; align-items: start; }.operation-builder-panel { position: static; }.operation-builder-panel > summary { display: flex; justify-content: space-between; gap: 8px; align-items: center; min-height: 48px; padding: 0 12px; cursor: pointer; list-style: none; }.operation-builder-panel > summary::-webkit-details-marker { display: none; }.operation-builder-panel > summary span { display: inline-flex; gap: 8px; align-items: center; color: var(--acid); text-transform: uppercase; }.operation-builder-panel > summary svg { width: 16px; }.operation-builder-panel > summary small { color: #697c84; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }.operation-builder-panel[open] > summary { border-bottom: 1px solid var(--line); background: var(--acid-dim); }

@media (max-width: 1320px) {
  .battle-radar-console { grid-template-columns: 1fr; }
  .battle-theater-layout { grid-template-columns: minmax(340px,.7fr) minmax(0,1.3fr); }
  .battle-tactical-readout { grid-template-columns: repeat(3,minmax(90px,1fr)); }
  .battle-rankings { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .battle-radar-tools { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .battle-radar-overview { grid-template-columns: repeat(3,minmax(100px,1fr)); }
  .battle-theater-layout, .operations-memory-layout { grid-template-columns: 1fr; }
  .battle-catalog { max-height: 460px; }
  .battle-scoreboard { grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr); }
}
@media (max-width: 650px) {
  .battle-room-header { display: grid; }.battle-room-header .hud-button { width: 100%; }
  .battle-radar-title { grid-template-columns: 42px minmax(0,1fr); }.battle-catalog-source { grid-column: 1 / -1; text-align: center; }
  .battle-radar-tools, .battle-radar-overview { grid-template-columns: 1fr 1fr; }
  .battle-search { grid-column: 1 / -1; }
  .battle-catalog-row { grid-template-columns: 38px minmax(0,1fr) 58px; gap: 7px; }.battle-row-arrow { display: none; }.battle-row-versus { grid-template-columns: 1fr; }.battle-row-versus i { display: none; }.battle-row-tags em:nth-child(n+3) { display: none; }
  .battle-dossier-head { grid-template-columns: 42px minmax(0,1fr); }.battle-dossier-priority { width: 40px; height: 40px; }.battle-verified-stamp { grid-column: 1 / -1; justify-self: stretch; justify-content: center; }.battle-dossier-head h3 { font-size: 16px; }
  .battle-scoreboard { grid-template-columns: 1fr 1fr; }.battle-control-core { grid-column: 1 / -1; grid-row: 2; }.battle-side strong { font-size: 22px; }.battle-tactical-readout { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .battle-intel-grid { grid-template-columns: 1fr; }.battle-activity-grid, .battle-orders-grid { grid-template-columns: 1fr; }.battle-activity-side + .battle-activity-side, .battle-order-side + .battle-order-side { border-top: 1px solid #23333b; border-left: 0; }.battle-contracts > div { grid-template-columns: 1fr; }
  .battle-dossier-actions { display: grid; grid-template-columns: 1fr; }.battle-open-game { margin-right: 0; }
  .operations-memory-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .radar-orb::after { animation: none; } }

/* Influence layer: HUMINT and public API correlation */
.proxy-console { margin-top: 12px; padding-top: 14px; border-top: 2px solid var(--amber); }
.proxy-console-header { display: flex; justify-content: space-between; gap: 18px; align-items: end; margin-bottom: 10px; padding: 0 2px; }
.proxy-console-header h2 { margin-top: 4px; font-size: 23px; }
.proxy-console-header p { margin-top: 4px; color: var(--muted); font-size: 12px; }
.proxy-summary { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.proxy-summary span { min-width: 92px; padding: 6px 8px; border: 1px solid #314149; background: #080d12; color: #778a92; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.proxy-summary b { display: block; margin-bottom: 2px; color: var(--cyan); font-size: 14px; font-weight: 400; }
.proxy-form { display: grid; grid-template-columns: minmax(150px,1fr) 30px minmax(150px,1fr) minmax(145px,.7fr) minmax(180px,1.1fr) auto; gap: 6px; align-items: end; padding: 10px; border: 1px solid var(--line); background: #080d12; }
.proxy-form label { display: grid; gap: 4px; min-width: 0; }
.proxy-form label > span { color: #6d8088; font-family: 'IBM Plex Mono', monospace; font-size: 8px; text-transform: uppercase; }
.proxy-form input, .proxy-form select { width: 100%; min-width: 0; }
.proxy-form button { display: inline-flex; gap: 7px; align-items: center; justify-content: center; border-color: rgba(255,176,0,.45); background: var(--amber-dim); color: var(--amber); white-space: nowrap; }
.proxy-form button svg { width: 15px; }
.proxy-direction { display: grid; height: 39px; place-items: center; color: var(--amber); }
.proxy-direction svg { width: 16px; }
.proxy-doctrine { display: flex; gap: 9px; align-items: center; margin: 8px 0; padding: 8px 10px; border-left: 2px solid var(--cyan); background: rgba(0,229,255,.035); color: #8fa0a6; font-size: 11px; }
.proxy-doctrine svg { flex: 0 0 auto; width: 15px; color: var(--cyan); }
.proxy-doctrine strong { color: #d7e0e3; }
.proxy-board { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.proxy-card { --proxy-tone: var(--amber); position: relative; min-width: 0; overflow: hidden; border: 1px solid #273740; border-left: 3px solid var(--proxy-tone); background: #070c10; }
.proxy-card::after { position: absolute; top: 0; right: 0; width: 72px; height: 2px; background: var(--proxy-tone); content: ''; }
.proxy-card.proxy-confirmed { --proxy-tone: var(--acid); }
.proxy-card.proxy-probable { --proxy-tone: var(--amber); }
.proxy-card.proxy-dismissed { --proxy-tone: #61727a; opacity: .75; }
.proxy-card.is-disabled { filter: saturate(.55); opacity: .62; }
.proxy-route { display: grid; grid-template-columns: minmax(0,1fr) 64px minmax(0,1fr); gap: 8px; align-items: center; padding: 12px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--proxy-tone) 4%, #080d12); }
.proxy-country { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 8px; align-items: center; min-width: 0; }
.proxy-country.controller { text-align: right; }
.proxy-country.controller .country-flag { grid-column: 2; grid-row: 1; }
.proxy-country.controller > span:last-child { grid-column: 1; grid-row: 1; }
.proxy-country .country-flag { display: grid; width: 34px; height: 26px; place-items: center; overflow: hidden; border: 1px solid #35464e; background: #111a20; }
.proxy-country small, .proxy-country strong { display: block; min-width: 0; }
.proxy-country small { color: #60747c; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.proxy-country strong { margin-top: 2px; overflow: hidden; color: #e2e9eb; font-size: 14px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.proxy-link-mark { display: grid; justify-items: center; color: var(--proxy-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.proxy-link-mark svg { width: 22px; margin-bottom: 3px; }
.proxy-state-line { display: flex; gap: 5px; flex-wrap: wrap; padding: 9px 11px 3px; }
.proxy-state { display: inline-flex; gap: 5px; align-items: center; min-height: 25px; padding: 3px 6px; border: 1px solid #2b3b43; background: #090f14; color: #899aa1; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.proxy-state svg { width: 12px; }
.proxy-state.manual { border-color: color-mix(in srgb, var(--proxy-tone) 45%, #2b3b43); color: var(--proxy-tone); }
.proxy-state.territory-occupied { border-color: rgba(255,49,95,.45); color: var(--red); }
.proxy-state.territory-contested { border-color: rgba(255,176,0,.45); color: var(--amber); }
.proxy-state.territory-sovereign { border-color: rgba(183,255,54,.35); color: var(--acid); }
.proxy-doctrine-line { padding: 5px 11px 8px; color: #7d8f96; font-size: 10px; line-height: 1.35; }
.proxy-rules-note { display: flex; gap: 6px; align-items: center; margin: 0 11px 8px; padding: 6px 7px; border: 1px solid rgba(0,229,255,.18); background: rgba(0,229,255,.025); color: #71858c; font-size: 8px; line-height: 1.35; }
.proxy-rules-note svg { flex: 0 0 auto; width: 13px; color: var(--cyan); }
.proxy-rules-note b { color: #a9c2ca; font-weight: 600; }
.proxy-signal-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; padding: 0 11px 8px; }
.proxy-signal-strip span { min-width: 0; padding: 6px; border: 1px solid #22323a; color: #64777f; font-size: 8px; }
.proxy-signal-strip b { display: block; margin-bottom: 2px; color: #cbd6d9; font-family: 'IBM Plex Mono', monospace; font-size: 10px; font-weight: 400; }
.proxy-territory-detail { display: flex; gap: 6px; align-items: center; margin: 0 11px 8px; color: #71848b; font-size: 9px; }
.proxy-territory-detail svg { flex: 0 0 auto; width: 13px; color: var(--cyan); }
.proxy-indicators, .proxy-evidence ul { display: grid; gap: 3px; padding: 0 11px 9px; list-style: none; }
.proxy-indicators li, .proxy-evidence li { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; gap: 6px; align-items: center; padding: 6px 7px; border: 1px solid #1f2e35; background: #080e13; }
.proxy-indicators svg, .proxy-evidence svg { width: 13px; color: var(--cyan); }
.proxy-indicators strong, .proxy-indicators small, .proxy-evidence strong, .proxy-evidence small { display: block; min-width: 0; }
.proxy-indicators strong, .proxy-evidence strong { color: #aebbc0; font-size: 9px; }
.proxy-indicators small, .proxy-evidence small { margin-top: 2px; color: #5e7078; font-size: 8px; }
.proxy-indicators b { color: var(--proxy-tone); font-family: 'IBM Plex Mono', monospace; font-size: 8px; font-weight: 400; }
.proxy-evidence { margin: 0 11px 8px; border: 1px solid #22323a; }
.proxy-evidence summary { min-height: 31px; padding: 7px 9px; cursor: pointer; color: #71858d; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.proxy-evidence[open] summary { border-bottom: 1px solid #22323a; color: var(--cyan); }
.proxy-evidence ul { padding: 6px; }
.proxy-editor { display: grid; grid-template-columns: 170px minmax(0,1fr); gap: 5px; padding: 0 11px 8px; }
.proxy-editor select, .proxy-editor input { width: 100%; min-width: 0; min-height: 34px; }
.proxy-actions { padding: 0 11px 9px; }
.proxy-actions button { display: inline-flex; gap: 5px; align-items: center; min-height: 32px; }
.proxy-actions svg { width: 12px; }
.proxy-actions .danger { border-color: rgba(255,49,95,.28); color: #ff8ba5; }
.proxy-card > footer { padding: 7px 11px; border-top: 1px solid #1f2e35; color: #52656d; font-family: 'IBM Plex Mono', monospace; font-size: 7px; }
.proxy-inspector p + p { margin-top: 5px; }

@media (max-width: 1200px) {
  .proxy-form { grid-template-columns: minmax(150px,1fr) 26px minmax(150px,1fr) minmax(140px,.7fr); }
  .proxy-form-note { grid-column: 1 / 4; }
  .proxy-form button { grid-column: 4; }
}
@media (max-width: 900px) {
  .proxy-console-header { align-items: flex-start; flex-direction: column; }
  .proxy-summary { justify-content: flex-start; }
  .proxy-board { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
  .proxy-form { grid-template-columns: 1fr; }
  .proxy-direction { height: 22px; transform: rotate(90deg); }
  .proxy-form-note, .proxy-form button { grid-column: auto; }
  .proxy-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .proxy-summary span { min-width: 0; }
  .proxy-route { grid-template-columns: 1fr 42px 1fr; padding: 9px; }
  .proxy-country { grid-template-columns: 28px minmax(0,1fr); gap: 5px; }
  .proxy-country .country-flag { width: 27px; height: 21px; }
  .proxy-country strong { font-size: 11px; }
  .proxy-signal-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .proxy-editor { grid-template-columns: 1fr; }
  .proxy-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .proxy-actions button { justify-content: center; }
}

@media (max-width: 1000px) {
  .visual-config-grid, .visual-intel-console { grid-template-columns: 1fr; }
  .visual-settings-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .visual-settings-form .visual-toggle { grid-column: 1 / -1; }
}

@media (max-width: 650px) {
  .visual-intel-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .visual-intel-metrics span { border-bottom: 1px solid var(--line); }
  .visual-intel-metrics span:nth-child(2n) { border-right: 0; }
  .visual-settings-form { grid-template-columns: 1fr; }
  .visual-settings-form .visual-toggle { grid-column: auto; }
  .visual-job-row, .visual-key-row { align-items: stretch; flex-direction: column; }
  .visual-job-row .row-actions, .visual-key-row .row-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .discord-preview-card { width: 100%; }
  .front-head-actions { justify-content: flex-start; }
  .incident-feedback-buttons { grid-template-columns: repeat(4,minmax(0,1fr)); }
}

/* Motion system v59: quiet background, animated data and a more readable command scale. */
.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;
}

.app-shell { position: relative; z-index: 1; }
.market-ambient {
  position: fixed;
  z-index: 0;
  right: 0;
  bottom: 0;
  left: 248px;
  height: 34vh;
  min-height: 230px;
  opacity: .22;
  overflow: hidden;
  pointer-events: none;
  transition: left .18s ease, opacity .2s ease;
}
.market-bars {
  position: absolute;
  inset: 0 2.5% 18px;
  display: grid;
  grid-template-columns: repeat(42, minmax(2px, 1fr));
  gap: 8px;
  align-items: end;
}
.market-bar {
  width: 3px;
  height: 100%;
  justify-self: center;
  transform: scaleY(var(--market-base, .3));
  transform-origin: center bottom;
  background: var(--cyan);
  box-shadow: 0 0 9px color-mix(in srgb, var(--cyan) 42%, transparent);
}
.market-bar.tone-1, .market-bar.tone-5 { background: var(--acid); box-shadow: 0 0 9px rgba(183,255,54,.32); }
.market-bar.tone-2 { background: var(--amber); box-shadow: 0 0 9px rgba(255,176,0,.28); }
.market-bar.tone-3 { background: #c875ff; box-shadow: 0 0 9px rgba(200,117,255,.28); }
.market-bar.tone-6 { background: var(--red); box-shadow: 0 0 9px rgba(255,49,95,.25); }
.market-baseline {
  position: absolute;
  right: 2.5%;
  bottom: 18px;
  left: 2.5%;
  height: 1px;
  background: rgba(0,229,255,.24);
  box-shadow: 0 0 18px rgba(0,229,255,.16);
}
.sidebar-collapsed .market-ambient { left: 74px; }

.scanline {
  top: 0;
  height: 2px;
  opacity: 0;
  background: var(--cyan);
  box-shadow: 0 0 12px rgba(0,229,255,.7), 0 0 34px rgba(0,229,255,.32);
  animation: none;
  will-change: transform, opacity;
}

.tab-panel { position: relative; }
.tab-panel.is-active { animation: none; }
.panel-data-wipe {
  position: absolute;
  z-index: 40;
  top: 0;
  bottom: 0;
  left: 0;
  width: 18%;
  border-right: 1px solid var(--acid);
  border-left: 1px solid var(--cyan);
  background: rgba(0,229,255,.11);
  box-shadow: 0 0 28px rgba(0,229,255,.18);
  pointer-events: none;
  will-change: transform, opacity;
}
.motion-ready .side-link,
.motion-ready .tab-button,
.motion-ready button,
.motion-ready .warera-link {
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .16s ease, box-shadow .16s ease;
}
.motion-ready button:not(:disabled):active,
.motion-ready .warera-link:active { transform: translateY(1px); }
.motion-ready .side-link { position: relative; }
.motion-ready .side-link::after {
  position: absolute;
  top: 7px;
  right: 0;
  bottom: 7px;
  width: 2px;
  background: var(--cyan);
  opacity: 0;
  transform: scaleY(.2);
  transition: opacity .18s ease, transform .22s ease;
  content: '';
}
.motion-ready .side-link.is-active::after { opacity: 1; transform: scaleY(1); box-shadow: 0 0 12px var(--cyan); }
.icon-only { width: 42px; min-width: 42px; padding: 0; justify-content: center; }

/* Tactical meters use distinct sides and segmented overlays. */
.control-track {
  position: relative;
  display: flex;
  height: 14px;
  border-color: #40515a;
  background: linear-gradient(90deg, var(--red), var(--amber));
  box-shadow: inset 0 0 12px rgba(0,0,0,.72), 0 0 14px rgba(0,229,255,.06);
}
.control-a {
  flex: 0 0 auto;
  background: linear-gradient(90deg, var(--cyan), var(--acid));
  box-shadow: 5px 0 14px rgba(183,255,54,.28);
}
.control-d { min-width: 0; background: linear-gradient(90deg, var(--red), var(--amber)); }
.control-track::after,
.battle-row-control::after,
.battle-control-core div::after,
.incident-meter::after,
.posture-meter::after,
.dimension-track::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0 9%, rgba(5,7,10,.72) 9% 10%);
  pointer-events: none;
  content: '';
}
.battle-row-control,
.battle-control-core div,
.incident-meter,
.posture-meter,
.dimension-track { position: relative; }
.battle-row-control { height: 6px; background: linear-gradient(90deg, var(--red), var(--amber)); }
.battle-row-control > span { background: linear-gradient(90deg, var(--cyan), var(--acid)); }
.battle-control-core div { height: 14px; background: linear-gradient(90deg, var(--red), var(--amber)); }
.battle-control-core div i { background: linear-gradient(90deg, var(--cyan), var(--acid)); }
.incident-meter { height: 6px; }
.posture-meter { height: 10px; }
.dimension-track { height: 7px; }
.incident-meter span,
.posture-meter span,
.dimension-track span,
.battle-row-control > span,
.battle-control-core div > i,
.control-a { will-change: transform, opacity; }

/* Discord verification command deck. */
.verification-view-header { border-left-color: var(--acid); }
.verification-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.verification-state, .verification-admin-state { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 0 10px; border: 1px solid var(--line); background: #080d12; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-transform: uppercase; }
.verification-state > span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 12px currentColor; }
.verification-state.is-online { border-color: rgba(183,255,54,.35); color: var(--acid); }
.verification-state.is-online > span { animation: pulse 1.8s ease-in-out infinite; }
.verification-state.is-degraded, .verification-admin-state { border-color: rgba(255,176,0,.4); color: var(--amber); }
.verification-state.is-offline { border-color: rgba(255,49,95,.45); color: var(--red); }
.verification-admin-state svg { width: 14px; height: 14px; }
.verification-admin-state.is-unlocked { border-color: rgba(183,255,54,.42); background: rgba(183,255,54,.08); color: var(--acid); }
.verification-admin-gate { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 13px; align-items: center; margin: 10px 0; padding: 12px 14px; border: 1px solid rgba(255,176,0,.28); border-left: 3px solid var(--amber); background: linear-gradient(90deg, rgba(255,176,0,.09), rgba(255,176,0,.015)); }
.verification-admin-gate[hidden], .verification-admin-panel[hidden], .verification-diagnostic[hidden], #verification-admin-logout[hidden] { display: none; }
.verification-admin-gate-icon { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,176,0,.35); color: var(--amber); }
.verification-admin-gate-icon svg { width: 20px; height: 20px; }
.verification-admin-gate strong, .verification-admin-gate p { display: block; }
.verification-admin-gate strong { margin-top: 2px; color: #f2e4bd; font-size: 14px; text-transform: uppercase; }
.verification-admin-gate p { margin-top: 3px; color: #a99c7b; font-size: 12px; }
.verification-admin-gate code { padding: 1px 5px; border: 1px solid rgba(0,229,255,.25); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; }
.verification-metrics { display: grid; grid-template-columns: repeat(6, minmax(150px,1fr)); gap: 8px; margin: 10px 0; }
.verification-loading { grid-column: 1/-1; min-height: 92px; padding: 22px; border: 1px solid var(--line); background: var(--panel); color: var(--muted); }
.verification-metric { --metric-tone: var(--cyan); position: relative; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; min-height: 96px; padding: 12px; overflow: hidden; border: 1px solid var(--line); border-top-color: var(--metric-tone); background: linear-gradient(145deg, color-mix(in srgb, var(--metric-tone) 7%, var(--panel)), var(--panel)); }
.verification-metric::after { position: absolute; right: -20px; bottom: -28px; width: 70px; height: 70px; border: 1px solid color-mix(in srgb, var(--metric-tone) 28%, transparent); transform: rotate(45deg); content: ''; }
.verification-metric.tone-green { --metric-tone: var(--acid); } .verification-metric.tone-amber { --metric-tone: var(--amber); } .verification-metric.tone-red { --metric-tone: var(--red); }
.verification-metric-icon { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid color-mix(in srgb, var(--metric-tone) 45%, var(--line)); color: var(--metric-tone); }
.verification-metric-icon svg { width: 16px; height: 16px; }
.verification-metric small, .verification-metric strong, .verification-metric span { display: block; }
.verification-metric small { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.verification-metric strong { margin-top: 4px; color: var(--metric-tone); font-family: 'IBM Plex Mono', monospace; font-size: 20px; line-height: 1; overflow-wrap: anywhere; }
.verification-metric span { margin-top: 6px; color: #9dadb4; font-size: 11px; line-height: 1.2; }
.verification-layout { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.verification-country-panel, .verification-admin-panel { grid-column: 1/-1; min-width: 0; }
.verification-ops-panel, .verification-error-panel { min-width: 0; }
.verification-directory-heading { align-items: center; gap: 15px; }
.verification-directory-tools { display: flex; align-items: center; justify-content: flex-end; gap: 9px; min-width: min(100%,440px); }
.verification-search { display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; width: min(330px,100%); min-height: 34px; border: 1px solid var(--line); background: #060a0e; }
.verification-search:focus-within { border-color: var(--cyan); }
.verification-search svg { width: 14px; height: 14px; justify-self: end; color: var(--muted); }
.verification-search input { width: 100%; min-width: 0; height: 32px; padding: 0 9px; border: 0; outline: 0; background: transparent; color: #e5eef0; font-family: 'IBM Plex Mono', monospace; font-size: 10px; }
.verification-search input:disabled { cursor: not-allowed; opacity: .45; }
.verification-country-list, .verification-error-list { display: grid; gap: 6px; padding: 12px; }
.verification-country-row { display: grid; grid-template-columns: minmax(150px,.8fr) minmax(120px,1fr) 42px; gap: 12px; align-items: center; min-height: 42px; padding: 7px 9px; border: 1px solid rgba(66,85,98,.55); background: rgba(255,255,255,.018); }
.verification-country-name { display: flex; align-items: center; gap: 9px; min-width: 0; }
.verification-country-name span:last-child { overflow: hidden; color: #dce5e7; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.verification-country-track { position: relative; height: 7px; overflow: hidden; border: 1px solid #263944; background: #05080b; }
.verification-country-track::after { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 9%, rgba(5,7,10,.75) 9% 10%); content: ''; }
.verification-country-track span { display: block; height: 100%; background: linear-gradient(90deg,var(--cyan),var(--acid)); box-shadow: 0 0 12px rgba(0,229,255,.28); }
.verification-country-row > strong { color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 13px; text-align: right; }
.verification-country-group { overflow: hidden; border: 1px solid rgba(66,85,98,.7); background: rgba(4,9,13,.7); }
.verification-country-group.is-expanded { border-color: rgba(0,229,255,.38); background: rgba(0,229,255,.025); }
.verification-country-toggle { display: grid; grid-template-columns: minmax(0,1fr) 48px 24px; gap: 10px; align-items: center; width: 100%; min-height: 58px; padding: 9px 12px; border: 0; background: transparent; color: inherit; text-align: left; }
.verification-country-toggle:hover { background: rgba(0,229,255,.045); }
.verification-country-toggle > svg { width: 17px; height: 17px; color: var(--cyan); transition: transform .2s ease; }
.verification-country-group.is-expanded .verification-country-toggle > svg { transform: rotate(180deg); }
.verification-country-identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.verification-country-identity > span:last-child { display: grid; gap: 2px; min-width: 0; }
.verification-country-identity strong { overflow: hidden; color: #e6edef; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.verification-country-identity small { color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.verification-country-count { color: var(--acid); font-family: 'IBM Plex Mono', monospace; font-size: 18px; text-align: right; }
.verification-members { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0 10px 10px; }
.verification-member { display: grid; gap: 9px; min-width: 0; padding: 12px; border: 1px solid var(--line); border-left: 3px solid var(--amber); background: #080e13; }
.verification-member.is-healthy { border-left-color: var(--acid); }
.verification-member-primary { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; }
.verification-member-avatar { position: relative; display: grid; width: 36px; height: 36px; place-items: center; overflow: hidden; border: 1px solid rgba(0,229,255,.38); background: rgba(0,229,255,.08); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 12px; }
.verification-member-avatar > span { position: relative; z-index: 0; }
.verification-member-avatar img { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.verification-member-avatar img[hidden] { display: none; }
.verification-member-primary strong, .verification-member-primary span { display: block; min-width: 0; }
.verification-member-primary strong { overflow: hidden; color: #eff6f5; font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.verification-member-primary div > span { margin-top: 2px; overflow: hidden; color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.verification-member-context { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.verification-member-context > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; color: #93a3a9; font-size: 10px; }
.verification-member-context svg { width: 12px; height: 12px; color: var(--cyan); }
.verification-member-context .verification-sync.state-active { color: var(--acid); }
.verification-member-context .verification-sync:not(.state-active) { color: var(--amber); }
.verification-member-roles { display: flex; flex-wrap: wrap; gap: 5px; min-height: 23px; }
.verification-role-chip { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; min-height: 22px; padding: 2px 6px; border: 1px solid #283842; background: #0a1218; color: #aebbc0; font-family: 'IBM Plex Mono', monospace; font-size: 8px; overflow-wrap: anywhere; }
.verification-role-chip svg { width: 11px; height: 11px; }
.verification-role-chip.state-known { border-color: rgba(183,255,54,.32); color: #c9ed8c; }
.verification-role-chip.state-stale { border-color: rgba(255,176,0,.35); color: #e3c274; }
.verification-role-chip.state-unknown { border-color: rgba(255,49,95,.32); color: #e7889e; }
.verification-role-empty { color: var(--muted); font-size: 10px; }
.verification-member-error { display: flex; gap: 7px; padding: 7px; border: 1px solid rgba(255,49,95,.24); background: rgba(255,49,95,.06); color: #e48fa3; font-size: 10px; overflow-wrap: anywhere; }
.verification-member-error svg { flex: 0 0 auto; width: 13px; height: 13px; }
.verification-member-actions { display: flex; justify-content: flex-end; gap: 6px; }
.verification-member-actions button, .verification-admin-item-actions button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 30px; padding: 0 9px; border: 1px solid rgba(0,229,255,.3); background: rgba(0,229,255,.06); color: var(--cyan); font-size: 11px; font-weight: 700; text-transform: uppercase; }
.verification-member-actions svg, .verification-admin-item-actions svg { width: 13px; height: 13px; }
.verification-ops-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; padding: 12px; }
.verification-ops-grid article { min-height: 76px; padding: 10px; border-left: 2px solid var(--cyan); background: #090f14; }
.verification-ops-grid article:last-child { grid-column: 1/-1; }
.verification-ops-grid small, .verification-ops-grid strong, .verification-ops-grid span { display: block; }
.verification-ops-grid small { color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.verification-ops-grid strong { margin-top: 5px; color: #e9f0ef; font-size: 14px; overflow-wrap: anywhere; }
.verification-ops-grid span { margin-top: 4px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
.verification-error-list { grid-template-columns: 1fr; }
.verification-error-list article { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px; align-items: center; min-height: 58px; padding: 9px; border: 1px solid rgba(255,176,0,.24); background: var(--amber-dim); }
.verification-error-list article > svg { color: var(--amber); }
.verification-error-list strong, .verification-error-list span { display: block; }
.verification-error-list strong { color: #f4e4ba; font-size: 13px; }
.verification-error-list span { margin-top: 3px; color: #bba879; font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.verification-admin-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; }
.verification-admin-grid > section { min-width: 0; border: 1px solid var(--line); background: #070c10; }
.verification-admin-grid > .verification-contracts-panel { grid-column: 1 / -1; }
.verification-contracts-panel .verification-admin-item-actions { grid-template-columns: repeat(2,minmax(0,1fr)); }
.verification-admin-grid > section > header { display: flex; align-items: center; justify-content: space-between; min-height: 36px; padding: 0 10px; border-bottom: 1px solid var(--line); color: var(--cyan); font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.verification-admin-grid > section > header strong { color: var(--acid); }
.verification-admin-list { display: grid; gap: 6px; max-height: 360px; padding: 8px; overflow: auto; }
.verification-admin-item { display: grid; gap: 9px; padding: 9px; border-left: 2px solid var(--amber); background: #0a1117; }
.verification-admin-item strong, .verification-admin-item span, .verification-admin-item small { display: block; }
.verification-admin-item strong { color: #e6edef; font-size: 12px; }
.verification-admin-item span { margin-top: 2px; color: #9ba9ae; font-size: 10px; overflow-wrap: anywhere; }
.verification-admin-item small { margin-top: 4px; color: #7f8f95; font-size: 9px; }
.verification-admin-item-actions { display: grid; grid-template-columns: auto minmax(120px,1fr) auto; gap: 5px; }
.verification-admin-item-actions input { min-width: 0; height: 30px; border: 1px solid #293943; outline: 0; background: #05090c; color: #dce5e7; font-family: 'IBM Plex Mono', monospace; font-size: 9px; padding: 0 8px; }
.verification-admin-item-actions button.danger, .verification-danger-action { border-color: rgba(255,49,95,.35); background: rgba(255,49,95,.07); color: #ff7697; }
.verification-admin-log { display: grid; grid-template-columns: 5px minmax(0,1fr); gap: 8px; min-height: 42px; padding: 7px; background: #0a1117; }
.verification-admin-log > span { background: var(--muted); }
.verification-admin-log > span.status-completed, .verification-admin-log > span.status-ok { background: var(--acid); }
.verification-admin-log > span.status-failed, .verification-admin-log > span.status-error { background: var(--red); }
.verification-admin-log > div { align-self: center; min-width: 0; }
.verification-admin-log strong, .verification-admin-log small { display: block; overflow-wrap: anywhere; }
.verification-admin-log strong { color: #d9e3e5; font-size: 11px; }
.verification-admin-log small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.verification-admin-boundary { display: flex; align-items: center; gap: 9px; margin: 0 12px 12px; padding: 9px 11px; border: 1px solid rgba(255,176,0,.24); color: #b9a978; font-size: 10px; }
.verification-admin-boundary svg { flex: 0 0 auto; width: 15px; height: 15px; color: var(--amber); }
.verification-diagnostic { margin: 12px 12px 0; border: 1px solid rgba(0,229,255,.35); background: #070d12; }
.verification-diagnostic > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px; border-bottom: 1px solid var(--line); }
.verification-diagnostic > header strong { display: block; color: #e7efef; }
.verification-diagnostic > header button { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid var(--line); background: #080d12; color: var(--muted); }
.verification-diagnostic-summary { display: flex; flex-wrap: wrap; gap: 6px; padding: 9px 11px; }
.verification-diagnostic-summary span { padding: 3px 7px; border: 1px solid var(--line); color: var(--muted); font-family: 'IBM Plex Mono', monospace; font-size: 9px; }
.verification-diagnostic-summary .assign { color: var(--acid); } .verification-diagnostic-summary .remove { color: var(--red); } .verification-diagnostic-summary .preserve { color: var(--amber); }
.verification-diagnostic-decisions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; padding: 0 11px 11px; }
.verification-diagnostic-decisions article { padding: 8px; border-left: 2px solid var(--muted); background: #0a1117; }
.verification-diagnostic-decisions article.action-assign { border-left-color: var(--acid); } .verification-diagnostic-decisions article.action-remove { border-left-color: var(--red); } .verification-diagnostic-decisions article.action-preserve { border-left-color: var(--amber); }
.verification-diagnostic-decisions strong, .verification-diagnostic-decisions span, .verification-diagnostic-decisions small { display: block; }
.verification-diagnostic-decisions strong { color: #dce6e7; font-size: 11px; text-transform: uppercase; }
.verification-diagnostic-decisions span { margin-top: 3px; color: #9facb1; font-size: 10px; }
.verification-diagnostic-decisions small { margin-top: 5px; color: #71838a; font-family: 'IBM Plex Mono', monospace; font-size: 8px; }
.healthy-empty { display: flex; align-items: center; gap: 8px; color: var(--acid); }
.action-empty { display: flex; align-items: center; gap: 12px; min-height: 104px; }
.action-empty > svg { width: 28px; height: 28px; color: var(--red); }
.action-empty strong, .action-empty span { display: block; }
.action-empty span { margin-top: 5px; color: var(--muted); }
.verification-privacy { display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 12px 14px; border: 1px solid rgba(183,255,54,.28); background: var(--acid-dim); }
.verification-privacy > svg { flex: 0 0 auto; color: var(--acid); }
.verification-privacy strong { color: var(--acid); font-size: 13px; text-transform: uppercase; }
.verification-privacy p { margin-top: 3px; color: #a8b69a; font-size: 12px; }
@media (max-width:1300px) { .verification-metrics { grid-template-columns: repeat(3,minmax(160px,1fr)); } }
@media (max-width:760px) {
  .verification-header-actions { justify-content: flex-start; }
  .verification-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .verification-layout, .verification-members, .verification-admin-grid, .verification-diagnostic-decisions { grid-template-columns: 1fr; }
  .verification-country-panel, .verification-admin-panel { grid-column: auto; }
  .verification-country-row { grid-template-columns: minmax(120px,1fr) 38px; }
  .verification-country-track { grid-column: 1/-1; grid-row: 2; }
  .verification-directory-heading { align-items: flex-start; }
  .verification-directory-tools { width: 100%; justify-content: stretch; }
  .verification-search { width: 100%; }
}
@media (max-width:460px) {
  .verification-metrics, .verification-ops-grid { grid-template-columns: 1fr; }
  .verification-ops-grid article:last-child { grid-column: auto; }
  .verification-admin-gate { grid-template-columns: 34px minmax(0,1fr); }
  .verification-admin-gate-icon { width: 32px; height: 32px; }
  .verification-directory-tools { align-items: stretch; flex-direction: column; }
  .verification-country-toggle { grid-template-columns: minmax(0,1fr) 36px 18px; }
  .verification-member-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .verification-admin-item-actions { grid-template-columns: 1fr; }
}

body[data-density="comfortable"] { font-size: 17px; }
body[data-density="comfortable"] .app-shell { grid-template-columns: 264px minmax(0,1fr); }
body[data-density="comfortable"] .command-rail { padding: 20px 16px; }
body[data-density="comfortable"] .command-main { width: min(1840px, calc(100% - 30px)); padding-top: 20px; }
body[data-density="comfortable"] .command-bar { min-height: 98px; padding: 17px 20px; }
body[data-density="comfortable"] h1 { font-size: 35px; }
body[data-density="comfortable"] .command-title p,
body[data-density="comfortable"] .view-header p { font-size: 14px; }
body[data-density="comfortable"] .side-link { min-height: 43px; }
body[data-density="comfortable"] .side-link span { font-size: 15px; }
body[data-density="comfortable"] .side-link b,
body[data-density="comfortable"] .sidebar-nav > p,
body[data-density="comfortable"] .sector-tag,
body[data-density="comfortable"] .panel-heading small,
body[data-density="comfortable"] .panel-index,
body[data-density="comfortable"] .live-label,
body[data-density="comfortable"] .panel-jump,
body[data-density="comfortable"] .clock-block small,
body[data-density="comfortable"] .sync-block small { font-size: 9px; }
body[data-density="comfortable"] .clock-block strong,
body[data-density="comfortable"] .sync-block strong { font-size: 13px; }
body[data-density="comfortable"] button,
body[data-density="comfortable"] input,
body[data-density="comfortable"] select { min-height: 42px; }
body[data-density="comfortable"] .panel-heading { min-height: 60px; padding: 10px 14px; }
body[data-density="comfortable"] .panel-heading h2 { font-size: 18px; }
body[data-density="comfortable"] .panel-index { width: 35px; height: 35px; }
body[data-density="comfortable"] .view-header h2 { font-size: 31px; }
body[data-density="comfortable"] .priority-country strong { font-size: 27px; }
body[data-density="comfortable"] .priority-country span,
body[data-density="comfortable"] .stream-item strong,
body[data-density="comfortable"] .event-main span,
body[data-density="comfortable"] .delivery-copy span,
body[data-density="comfortable"] .incident-heading span,
body[data-density="comfortable"] .incident-assessment span,
body[data-density="comfortable"] .front-foot,
body[data-density="comfortable"] .front-ranking,
body[data-density="comfortable"] .posture-title span { font-size: 12px; }
body[data-density="comfortable"] .stream-item span,
body[data-density="comfortable"] .event-main strong,
body[data-density="comfortable"] .delivery-copy strong,
body[data-density="comfortable"] .front-metrics span,
body[data-density="comfortable"] .battle-row-versus b,
body[data-density="comfortable"] .battle-side span { font-size: 13px; }
body[data-density="comfortable"] .incident-heading small,
body[data-density="comfortable"] .incident-assessment b,
body[data-density="comfortable"] .readiness-kpi small,
body[data-density="comfortable"] .posture-fact small,
body[data-density="comfortable"] .dimension-row label,
body[data-density="comfortable"] .dimension-row b,
body[data-density="comfortable"] .battle-tactical-readout b,
body[data-density="comfortable"] .battle-row-tags em { font-size: 9px; }
body[data-density="comfortable"] .incident-heading strong { font-size: 19px; }
body[data-density="comfortable"] .posture-fact b,
body[data-density="comfortable"] .battle-tactical-readout span,
body[data-density="comfortable"] .battle-ranking-versus li { font-size: 11px; }
body[data-density="comfortable"] .readiness-kpi { min-height: 82px; padding: 12px; }
body[data-density="comfortable"] .readiness-kpi strong { font-size: 26px; }
body[data-density="comfortable"] .battle-row-readout b { font-size: 14px; }
body[data-density="comfortable"] .battle-side strong { font-size: 31px; }
body[data-density="comfortable"] .battle-catalog-row { min-height: 104px; padding: 12px; }
body[data-density="comfortable"] .market-ambient { left: 264px; }

body[data-density="compact"] .market-ambient { left: 248px; opacity: .14; }
body.sidebar-collapsed .market-ambient { left: 74px; }

@media (min-width: 1500px) {
  body[data-density="comfortable"] .command-main { width: min(1840px, calc(100% - 30px)); }
}

@media (max-width: 1250px) {
  body[data-density="comfortable"] .app-shell { grid-template-columns: 220px minmax(0,1fr); }
  body[data-density="comfortable"] .command-main { width: min(100% - 24px, 1500px); }
  body[data-density="comfortable"] .market-ambient { left: 220px; }
  body[data-density="compact"] .market-ambient { left: 210px; }
  body.sidebar-collapsed .market-ambient { left: 74px; }
}

@media (max-width: 900px) {
  .market-ambient,
  body[data-density="comfortable"] .market-ambient,
  body[data-density="compact"] .market-ambient,
  body.sidebar-collapsed .market-ambient { left: 0; height: 24vh; min-height: 160px; opacity: .14; }
  .market-bars { gap: 4px; }
  .market-bar { width: 2px; }
  body[data-density="comfortable"] .app-shell { display: block; }
  body[data-density="comfortable"] .command-main { width: min(100% - 16px,1000px); padding-top: 8px; }
}

@media (max-width: 620px) {
  body[data-density="comfortable"] h1 {
    max-width: 100%;
    font-size: 26px;
    line-height: 1.05;
    overflow-wrap: normal;
  }
  body[data-density="comfortable"] .command-bar { min-height: 0; gap: 14px; padding: 14px 12px; }
  body[data-density="comfortable"] .command-title,
  body[data-density="comfortable"] .command-title p { min-width: 0; max-width: 100%; }
  body[data-density="comfortable"] .command-title p { font-size: 12px; line-height: 1.35; }
  body[data-density="comfortable"] .command-actions { gap: 7px; }
  body[data-density="comfortable"] .clock-block,
  body[data-density="comfortable"] .sync-block { min-width: 0; }
  .tabbar { padding-bottom: 3px; scrollbar-width: thin; scrollbar-color: var(--cyan) transparent; }
  .tabbar { scroll-snap-type: x proximity; box-shadow: inset -1px 0 var(--cyan); }
  .tab-button { scroll-snap-align: start; }
  .verification-metrics { grid-template-columns: 1fr; }
  .verification-admin-gate { width: 100%; max-width: 100%; grid-template-columns: 1fr; overflow: hidden; }
  .verification-admin-gate > div:last-child { width: 100%; min-width: 0; max-width: 100%; overflow: hidden; }
  .verification-admin-gate p { width: 100%; max-width: 100%; white-space: normal; overflow-wrap: break-word; word-break: normal; }
  .verification-admin-gate code { display: inline-block; max-width: 100%; white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .market-ambient { opacity: .1; }
  .panel-data-wipe { display: none; }
  .motion-ready .side-link,
  .motion-ready .tab-button,
  .motion-ready button,
  .motion-ready .warera-link { transition: none; }
}

.write-access-state {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255, 190, 42, .42);
  background: rgba(255, 190, 42, .07);
  color: #f4c451;
  font: 700 10px/1 "IBM Plex Mono", monospace;
  letter-spacing: 0;
  padding: 0 12px;
}
.write-access-state svg { width: 15px; height: 15px; }
.write-access-state.is-unlocked {
  border-color: rgba(145, 255, 51, .5);
  background: rgba(145, 255, 51, .08);
  color: var(--acid);
}
body.intel-readonly button[type="submit"] { cursor: not-allowed; }

@media (max-width: 900px) {
  .write-access-state { min-width: 38px; padding: 0 9px; }
  .write-access-state span { display: none; }
}
