/* CBRN WATCH - Extracted Styles */
/* Auto-extracted from monolith index.tsx */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap');
:root {
  /* ═══ BioR DARPA Light Theme ═══ */
  --primary:#00A86B;--primary-light:#00c77b;--primary-dark:#008F5B;--primary-darker:#006241;
  --ews-green-500:#00A86B;--ews-green-400:#00A86B;--ews-green-300:#6ee7b7;
  --ews-amber-500:#f59e0b;--ews-amber-400:#fbbf24;--ews-red-500:#ef4444;--ews-red-400:#f87171;
  --ews-cyan-500:#06b6d4;--ews-cyan-400:#22d3ee;--ews-blue-500:#3b82f6;

  /* Semantic tokens — BioR LIGHT theme */
  --bg-primary:#F3F4F6;--bg-secondary:#FFFFFF;--bg-card:#FFFFFF;--bg-card-hover:#F9FAFB;
  --bg-elevated:#F9FAFB;--bg-input:#FFFFFF;
  --border-subtle:#E5E7EB;--border-medium:#D1D5DB;--border-bright:rgba(0,168,107,0.3);
  --text-primary:#111827;--text-secondary:#6B7280;--text-muted:#9CA3AF;--text-dim:#D1D5DB;

  /* CBRN Domain Colors */
  --cbrn-nuclear:#f59e0b;--cbrn-bio:#00A86B;--cbrn-chem:#a855f7;--cbrn-rad:#3b82f6;
  --cbrn-nuclear-bg:rgba(245,158,11,0.1);--cbrn-bio-bg:rgba(0,168,107,0.1);
  --cbrn-chem-bg:rgba(168,85,247,0.1);--cbrn-rad-bg:rgba(59,130,246,0.1);

  /* Threat Level Colors */
  --threat-critical:#ef4444;--threat-high:#f59e0b;--threat-elevated:#eab308;
  --threat-moderate:#00A86B;--threat-low:#6b83a8;

  /* Layout */
  --sidebar-width:210px;--sidebar-collapsed:56px;--header-height:56px;--ticker-height:32px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;background:#F3F4F6;color:#111827;min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}

/* Scrollbars */
::-webkit-scrollbar{width:5px;height:5px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,0.25)}
.scroll-thin::-webkit-scrollbar{width:4px}

/* ── LAYOUT ────────────────────────────────────── */
.app-layout{display:flex;min-height:100vh}
.content-area{flex:1;margin-left:var(--sidebar-width);min-height:100vh;display:flex;flex-direction:column;transition:margin-left .3s cubic-bezier(.22,1,.36,1)}
body.sidebar-collapsed .content-area{margin-left:var(--sidebar-collapsed)}

/* ── SIDEBAR ───────────────────────────────────── */
.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg,#006241 0%,#007850 40%,#00A86B 100%);position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:40;display:flex;flex-direction:column;border-right:none;overflow:hidden;transition:width .3s cubic-bezier(.22,1,.36,1)}
body.sidebar-collapsed .sidebar{width:var(--sidebar-collapsed);overflow:visible}
.sidebar::before{content:'';position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgba(255,255,255,0.06) 0%,transparent 70%);top:-60px;left:-60px;animation:sidebarBlob 10s ease-in-out infinite;pointer-events:none}
.sidebar::after{content:'';position:absolute;width:250px;height:250px;background:radial-gradient(circle,rgba(255,255,255,0.04) 0%,transparent 70%);bottom:-40px;right:-40px;animation:sidebarBlob2 12s ease-in-out infinite;pointer-events:none}
@keyframes sidebarBlob{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(15px,-10px) scale(1.05)}}
@keyframes sidebarBlob2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-10px,-15px) scale(1.08)}}
.sidebar-brand{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,0.1);flex-shrink:0;position:relative;z-index:2;transition:padding .3s ease}
body.sidebar-collapsed .sidebar-brand{padding:10px 9px}
.sidebar-brand-logo{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,0.15);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,0.2);flex-shrink:0}
.sidebar-brand-text{transition:opacity .2s ease,width .2s ease;overflow:hidden;white-space:nowrap}
body.sidebar-collapsed .sidebar-brand-text{opacity:0;width:0;pointer-events:none}
.sidebar-brand-status{transition:opacity .2s ease,max-height .2s ease;overflow:hidden}
body.sidebar-collapsed .sidebar-brand-status{opacity:0;max-height:0;pointer-events:none;margin:0;padding:0}
.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0;position:relative;z-index:2}
.sidebar-section{padding:0 8px;margin-bottom:2px;transition:padding .3s ease}
body.sidebar-collapsed .sidebar-section{padding:0 4px}
.sidebar-section-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,0.4);padding:14px 10px 4px;transition:opacity .2s ease,font-size .2s ease}
body.sidebar-collapsed .sidebar-section-label{font-size:7px;text-align:center;padding:12px 2px 3px;letter-spacing:0;opacity:0.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:6px;font-size:12.5px;font-weight:500;color:rgba(255,255,255,0.7);cursor:pointer;transition:all .25s ease;border-left:3px solid transparent;position:relative;z-index:2}
body.sidebar-collapsed .sidebar-item{justify-content:center;gap:0;padding:9px 6px;border-left:none;border-radius:8px}
.sidebar-item:hover{background:rgba(255,255,255,0.12);color:#fff;border-left-color:rgba(255,255,255,0.6)}
body.sidebar-collapsed .sidebar-item:hover{border-left-color:transparent}
.sidebar-item.active{background:rgba(255,255,255,0.18);color:#fff;font-weight:600;border-left-color:#fff;box-shadow:inset 0 0 20px rgba(255,255,255,0.05)}
body.sidebar-collapsed .sidebar-item.active{border-left-color:transparent;box-shadow:0 0 12px rgba(255,255,255,0.15)}
.sidebar-item.active::before{display:none}
.sidebar-item i{width:16px;text-align:center;font-size:12px;flex-shrink:0;opacity:0.7}
body.sidebar-collapsed .sidebar-item i{font-size:15px;width:auto;opacity:0.85}
.sidebar-item:hover i,.sidebar-item.active i{opacity:1}
.sidebar-item-label{transition:opacity .2s ease,width .2s ease;overflow:hidden;white-space:nowrap}
body.sidebar-collapsed .sidebar-item-label{opacity:0;width:0;position:absolute;pointer-events:none}
.sidebar-badge{margin-left:auto;background:rgba(255,255,255,0.2);color:#fff;font-size:10px;font-weight:700;padding:1px 6px;border-radius:10px;transition:opacity .2s ease}
body.sidebar-collapsed .sidebar-badge{opacity:0;width:0;overflow:hidden;padding:0;margin:0}
.sidebar-footer{padding:12px 16px;border-top:1px solid rgba(255,255,255,0.1);flex-shrink:0;position:relative;z-index:2;transition:opacity .2s ease,padding .2s ease}
body.sidebar-collapsed .sidebar-footer{opacity:0;padding:0;max-height:0;overflow:hidden;border:none}

/* Collapse toggle button */
.sidebar-collapse-btn{position:absolute;bottom:14px;right:-14px;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#007850,#00A86B);border:2px solid #F3F4F6;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,0.2);transition:transform .3s ease,background .3s ease}
.sidebar-collapse-btn:hover{background:linear-gradient(135deg,#006241,#007850);transform:scale(1.1)}
body.sidebar-collapsed .sidebar-collapse-btn{right:-14px;transform:rotate(180deg)}
body.sidebar-collapsed .sidebar-collapse-btn:hover{transform:rotate(180deg) scale(1.1)}

/* Collapsed tooltip on hover */
.sidebar-item[data-tooltip]{position:relative}
body.sidebar-collapsed .sidebar-item[data-tooltip]:hover::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#1F2937;color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;white-space:nowrap;z-index:100;box-shadow:0 4px 12px rgba(0,0,0,0.25);pointer-events:none}
body.sidebar-collapsed .sidebar-item[data-tooltip]:hover::before{content:'';position:absolute;left:calc(100% + 4px);top:50%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1F2937;z-index:100;pointer-events:none}

/* Mobile overlay */
.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:35;opacity:0;transition:opacity .3s ease}
.mobile-overlay.visible{display:block;opacity:1}

/* ── TOP BAR — BioR Glass-morphism ────────────────── */
.top-bar{height:var(--header-height);border-bottom:1px solid rgba(229,231,235,0.7);background:rgba(255,255,255,0.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 20px}

/* ── ALERT TICKER ──────────────────────────────── */
.ews-ticker{height:var(--ticker-height);background:linear-gradient(90deg,rgba(239,68,68,0.04),rgba(245,158,11,0.03),rgba(239,68,68,0.04));border-bottom:1px solid rgba(229,231,235,0.7);overflow:hidden;display:flex;align-items:center;padding:0 20px;gap:12px}
.ews-ticker-label{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--ews-red-400);text-transform:uppercase;white-space:nowrap;flex-shrink:0}
.ews-ticker-scroll{flex:1;overflow:hidden;position:relative;height:100%;display:flex;align-items:center}
.ews-ticker-content{display:flex;gap:40px;animation:tickerScroll 60s linear infinite;white-space:nowrap}
.ews-ticker-content span{font-size:11px;color:#6B7280;font-weight:500}
.ews-ticker-content .ticker-critical{color:var(--ews-red-400);font-weight:600}
.ews-ticker-content .ticker-high{color:var(--ews-amber-400);font-weight:600}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── CARDS — BioR Glass-morphism Light ────────────────────── */
.card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02)}
.card:hover{border-color:rgba(0,168,107,0.2);box-shadow:0 4px 16px rgba(0,168,107,0.06),0 2px 6px rgba(0,0,0,0.04)}
.card-header{padding:12px 16px;border-bottom:1px solid rgba(229,231,235,0.5);display:flex;align-items:center;justify-content:space-between}
.card-body{padding:16px}

/* ── KPI ACCENT CARDS — glass + colored left border ────── */
.kpi-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04);border-left:4px solid #E5E7EB}
.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,168,107,0.08)}
.kpi-card.accent-green{border-left-color:#00A86B}
.kpi-card.accent-green:hover{box-shadow:0 4px 16px rgba(0,168,107,0.12)}
.kpi-card.accent-red{border-left-color:#ef4444}
.kpi-card.accent-red:hover{box-shadow:0 4px 16px rgba(239,68,68,0.12)}
.kpi-card.accent-blue{border-left-color:#3b82f6}
.kpi-card.accent-blue:hover{box-shadow:0 4px 16px rgba(59,130,246,0.12)}
.kpi-card.accent-amber{border-left-color:#f59e0b}
.kpi-card.accent-amber:hover{box-shadow:0 4px 16px rgba(245,158,11,0.12)}
.kpi-card.accent-purple{border-left-color:#a855f7}
.kpi-card.accent-purple:hover{box-shadow:0 4px 16px rgba(168,85,247,0.12)}

/* ── PANEL CARD — section containers ──────────── */
.panel-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;transition:all .3s ease;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.panel-card:hover{border-color:rgba(0,168,107,0.2);box-shadow:0 4px 12px rgba(0,168,107,0.06)}

/* ── BANNER CARD — top summary banners with left accent ── */
.banner-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;border-left:4px solid #00A86B;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:all .3s ease;padding:16px}
.banner-card:hover{border-color:rgba(0,168,107,0.2);border-left-color:#00A86B;box-shadow:0 4px 12px rgba(0,168,107,0.06)}
.banner-card.accent-red{border-left-color:#ef4444}
.banner-card.accent-amber{border-left-color:#f59e0b}
.banner-card.accent-blue{border-left-color:#3b82f6}
.banner-card.accent-purple{border-left-color:#a855f7}

/* ── ALERT BANNER — critical/warning notifications ─── */
.alert-banner{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:all .3s ease;padding:12px}
.alert-banner.alert-critical{border-color:rgba(239,68,68,0.25);background:rgba(255,255,255,0.68)}
.alert-banner.alert-warning{border-color:rgba(245,158,11,0.25);background:rgba(255,255,255,0.68)}

/* ── GLASS UTILITY (light mode) ───────────────── */
.glass{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);box-shadow:0 1px 3px rgba(0,0,0,0.04)}

/* ── EWS SECTION HEADERS ──────────────────────── */
h3.text-sm.font-semibold{color:#9CA3AF !important;font-size:11px !important;letter-spacing:.06em}

/* ── STAT CARDS — BioR Glass-morphism ────────────────── */
.stat-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;padding:16px;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04);border-left:4px solid #00A86B}
.stat-card:hover{border-color:rgba(0,168,107,0.25);transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,168,107,0.1)}
.stat-number{font-size:26px;font-weight:800;letter-spacing:-0.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.stat-label{font-size:11px;color:#9CA3AF;font-weight:500;margin-top:4px}

/* ── BADGES ────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.02em}
.badge-green{background:rgba(0,168,107,0.1);color:#00A86B}
.badge-amber{background:rgba(245,158,11,0.1);color:#d97706}
.badge-red{background:rgba(239,68,68,0.1);color:#dc2626}
.badge-blue{background:rgba(59,130,246,0.1);color:#2563eb}
.badge-purple{background:rgba(168,85,247,0.1);color:#7c3aed}
.badge-gray{background:rgba(107,114,128,0.1);color:#6B7280}

/* ── PROGRESS BARS ─────────────────────────────── */
.progress-bar{height:4px;background:#E5E7EB;border-radius:2px;overflow:hidden}
.progress-fill{height:100%;border-radius:2px;transition:width 1.2s cubic-bezier(0.22,1,0.36,1)}
.progress-fill-green{background:linear-gradient(90deg,#00A86B,#00A86B)}
.progress-fill-amber{background:linear-gradient(90deg,#fbbf24,#f59e0b)}
.progress-fill-red{background:linear-gradient(90deg,#f87171,#ef4444)}
.ring-indicator{width:7px;height:7px;border-radius:50%;display:inline-block}

/* ── BUTTONS ───────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease;border:1px solid transparent}
.btn-primary{background:linear-gradient(135deg,#00A86B,#008F5B);color:#fff;border-color:rgba(0,168,107,0.3);box-shadow:0 0 12px rgba(0,168,107,0.15)}
.btn-primary:hover{box-shadow:0 0 20px rgba(0,168,107,0.3);filter:brightness(1.1)}
.btn-outline{background:transparent;color:#6B7280;border-color:#D1D5DB}
.btn-outline:hover{border-color:#00A86B;color:#00A86B;background:rgba(0,168,107,0.05)}
.btn-sm{padding:4px 10px;font-size:11px}

/* ── FORM ELEMENTS ─────────────────────────────── */
select,input,textarea{background:#FFFFFF !important;border:1px solid #E5E7EB !important;color:#111827 !important;border-radius:6px;font-family:'Inter',sans-serif;font-size:12px}
select:focus,input:focus,textarea:focus{border-color:rgba(0,168,107,0.5) !important;outline:none;box-shadow:0 0 0 2px rgba(0,168,107,0.1) !important}
select option{background:#FFFFFF}

/* ── TABLE ─────────────────────────────────────── */
table{border-collapse:collapse;width:100%}
table thead tr{border-color:#E5E7EB !important}
table th{color:#9CA3AF !important;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
table td{color:#111827 !important;border-color:#E5E7EB !important;font-size:12px}

/* ── TAB SYSTEM ────────────────────────────────── */
.tab-content{display:none}
.tab-content.active-tab{display:block;animation:fadeIn .4s ease}
.tab-content.hidden{display:none}

/* ── MAP PULSE ANIMATIONS ──────────────────────── */
@keyframes mapPulse{0%{opacity:1;box-shadow:0 0 0 0 rgba(239,68,68,0.4)}70%{opacity:.8;box-shadow:0 0 0 10px rgba(239,68,68,0)}100%{opacity:1;box-shadow:0 0 0 0 rgba(239,68,68,0)}}
.map-pulse-critical{animation:mapPulse 2s ease-in-out infinite}
.map-pulse-high{animation:mapPulse 3s ease-in-out infinite}

/* ── ANIMATIONS ────────────────────────────────── */
.fade-in{animation:fadeIn .4s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.pulse{animation:ewsPulse 2s ease-in-out infinite}
@keyframes ewsPulse{0%,100%{opacity:1}50%{opacity:.4}}
@keyframes scanLine{0%{transform:translateY(-100%)}100%{transform:translateY(100vh)}}

/* EWS Threat Pulse — for critical/high cards */
.ews-pulse-critical{animation:ewsThreatPulse 3s ease-in-out infinite;border-color:rgba(239,68,68,0.3) !important}
@keyframes ewsThreatPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}50%{box-shadow:0 0 20px 2px rgba(239,68,68,0.1)}}
.ews-pulse-high{animation:ewsThreatHigh 4s ease-in-out infinite;border-color:rgba(245,158,11,0.3) !important}
@keyframes ewsThreatHigh{0%,100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}50%{box-shadow:0 0 16px 2px rgba(245,158,11,0.08)}}

/* Blinking alert dot */
.ews-blink{animation:ewsBlink 1.5s ease-in-out infinite}
@keyframes ewsBlink{0%,100%{opacity:1}50%{opacity:0.2}}

/* Glow for critical items */
.glow-critical{box-shadow:0 0 15px rgba(239,68,68,.12)}

/* ── THREAT ASSESSMENT — Premium A+++ ─────── */
.ta-banner{background:rgba(255,255,255,0.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(229,231,235,0.7);border-radius:20px;padding:0;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.22,1,.36,1)}
.ta-banner:hover{border-color:rgba(0,168,107,0.25);box-shadow:0 8px 32px rgba(0,168,107,0.08)}
.ta-banner-accent{position:absolute;top:0;left:0;width:5px;height:100%;border-radius:20px 0 0 20px;transition:background .5s ease}
.ta-banner-glow{position:absolute;top:-50%;right:-20%;width:300px;height:300px;border-radius:50%;opacity:0.06;pointer-events:none;transition:all 1s ease}
.ta-banner-inner{display:flex;align-items:center;gap:20px;padding:20px 24px;position:relative;z-index:2}
.ta-banner-ring{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;border:3px solid currentColor;transition:all .5s ease}
.ta-banner-ring-score{font-size:24px;font-weight:900;letter-spacing:-.02em}
.ta-banner-ring::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid currentColor;opacity:0.15;animation:taRingPulse 3s ease-in-out infinite}
@keyframes taRingPulse{0%,100%{transform:scale(1);opacity:0.15}50%{transform:scale(1.08);opacity:0.08}}
.ta-banner-info{flex:1;min-width:0}
.ta-banner-level{font-size:22px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.ta-banner-desc{font-size:12.5px;color:#6B7280;line-height:1.5;margin-top:4px;max-width:600px}
.ta-banner-meta{display:flex;gap:16px;margin-top:8px;flex-wrap:wrap}
.ta-banner-meta-item{display:flex;align-items:center;gap:5px;font-size:10px;color:#9CA3AF;font-weight:600}
.ta-banner-meta-item i{font-size:9px;opacity:0.7}

/* CBRN Domain Strip */
.ta-domains{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px}
@media(max-width:768px){.ta-domains{grid-template-columns:repeat(2,1fr)}}
.ta-domain-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:16px;padding:16px;position:relative;overflow:hidden;transition:all .35s cubic-bezier(.22,1,.36,1);cursor:default}
.ta-domain-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,0.06)}
.ta-domain-card-accent{position:absolute;top:0;left:0;width:4px;height:100%;border-radius:16px 0 0 16px}
.ta-domain-card-glow{position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;opacity:0.06;pointer-events:none}
.ta-domain-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ta-domain-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ta-domain-name{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.ta-domain-level{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:0.7;margin-top:1px}
.ta-domain-score{margin-left:auto;font-size:28px;font-weight:900;letter-spacing:-.03em;line-height:1}
.ta-domain-bar{height:4px;border-radius:2px;background:#F3F4F6;margin:8px 0;overflow:hidden}
.ta-domain-bar-fill{height:100%;border-radius:2px;transition:width 1.2s cubic-bezier(.22,1,.36,1)}
.ta-domain-detail{font-size:10.5px;color:#6B7280;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ta-domain-signals{display:flex;align-items:center;gap:5px;margin-top:6px;font-size:9.5px;color:#9CA3AF;font-weight:600}
.ta-domain-signals i{font-size:8px;opacity:0.6}

/* Active Threats List */
.ta-threats-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ta-threats-count{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:10px;font-weight:800;letter-spacing:.04em}

/* Signal Sources Breakdown */
.ta-ring-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(229,231,235,0.4)}
.ta-ring-row:last-child{border-bottom:none}
.ta-ring-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.ta-ring-info{flex:1;min-width:0}
.ta-ring-label{font-size:11px;font-weight:700;color:#374151}
.ta-ring-desc{font-size:9px;color:#9CA3AF}
.ta-ring-bar{height:6px;border-radius:3px;background:#F3F4F6;flex:1;min-width:60px;max-width:140px;overflow:hidden}
.ta-ring-bar-fill{height:100%;border-radius:3px;transition:width 1s ease}
.ta-ring-count{font-size:13px;font-weight:800;min-width:28px;text-align:right}
.ta-ring-sources{display:flex;gap:3px;flex-shrink:0}
.ta-ring-src-logo{width:18px;height:18px;border-radius:4px;object-fit:contain;background:#fff;border:1px solid rgba(229,231,235,0.5);padding:1px}

/* Gradient text */
.gradient-text{background:linear-gradient(135deg,#00A86B,#00A86B);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* Skeleton loader — BioR Light shimmer */
.skeleton{background:linear-gradient(90deg,#F3F4F6 25%,#E5E7EB 50%,#F3F4F6 75%);background-size:200% 100%;animation:skeletonPulse 1.5s ease-in-out infinite;border-radius:10px}

/* ── GREEN AMBIENT GLOW ON ACTIVE ELEMENTS ─── */
.sidebar-brand-logo{box-shadow:0 0 25px rgba(0,168,107,0.3),inset 0 1px 0 rgba(255,255,255,0.15)}
@keyframes skeletonPulse{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* ── LEAFLET OVERRIDES ─────────────────────────── */
.leaflet-container{background:#F3F4F6 !important}
.leaflet-popup-content-wrapper{background:rgba(255,255,255,0.88) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;color:#111827 !important;border:1px solid rgba(229,231,235,0.7) !important;border-radius:16px !important;box-shadow:0 8px 24px rgba(0,0,0,0.1) !important}
.leaflet-popup-tip{background:rgba(255,255,255,0.88) !important}
.leaflet-control-zoom a{background:rgba(255,255,255,0.85) !important;backdrop-filter:blur(8px) !important;color:#374151 !important;border-color:rgba(229,231,235,0.7) !important}
.leaflet-control-zoom a:hover{background:rgba(249,250,251,0.9) !important;border-color:rgba(0,168,107,0.2) !important}
.leaflet-control-layers{background:rgba(255,255,255,0.88) !important;backdrop-filter:blur(12px) !important;border:1px solid rgba(229,231,235,0.7) !important;color:#374151 !important;border-radius:12px !important;box-shadow:0 4px 16px rgba(0,0,0,0.08) !important}

/* ── GEOLAYER PANEL ────────────────────────────── */
#geolayer-panel{background:rgba(255,255,255,0.82) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;border:1px solid rgba(229,231,235,0.7) !important;border-radius:16px !important;box-shadow:0 4px 16px rgba(0,0,0,0.08) !important}
#geolayer-panel button{background:rgba(243,244,246,0.8) !important;color:#6B7280 !important;border-radius:8px !important}
#geolayer-panel button:hover{background:rgba(0,168,107,0.08) !important;color:#00A86B !important}

/* ── CBRN TEXT COLORS ──────────────────────────── */
.text-yellow-400{color:var(--cbrn-nuclear) !important}
.text-green-400{color:var(--cbrn-bio) !important}
.text-purple-400{color:var(--cbrn-chem) !important}
.text-blue-400{color:var(--cbrn-rad) !important}
.text-red-400{color:var(--ews-red-400) !important}
.text-orange-400{color:#fb923c !important}
.text-orange-500{color:#f97316 !important}
.text-cyan-400,.text-emerald-400,.text-emerald-600{color:#00A86B !important}
.text-amber-400{color:var(--ews-amber-400) !important}
.text-indigo-400{color:#818cf8 !important}
.text-violet-400{color:#c084fc !important}
.text-rose-400{color:#fb7185 !important}

/* ── ICON BG WRAPPERS ──────────────────────────── */
.bg-yellow-500\/20{background:var(--cbrn-nuclear-bg) !important}
.bg-green-500\/20{background:var(--cbrn-bio-bg) !important}
.bg-purple-500\/20{background:var(--cbrn-chem-bg) !important}
.bg-blue-500\/20{background:var(--cbrn-rad-bg) !important}
.bg-red-500\/20{background:rgba(239,68,68,0.08) !important}
.bg-orange-500\/20{background:rgba(249,115,22,0.08) !important}
.bg-cyan-500\/20,.bg-emerald-500\/20{background:rgba(0,168,107,0.08) !important}
.bg-violet-500\/20,.bg-rose-500\/20,.bg-sky-500\/20{background:rgba(139,92,246,0.08) !important}

/* Threat filter buttons */
.bg-yellow-500\/30:hover{background:rgba(245,158,11,0.15) !important}
.bg-green-500\/30:hover{background:rgba(0,168,107,0.15) !important}
.bg-purple-500\/30:hover{background:rgba(168,85,247,0.15) !important}
.bg-red-500\/5{background:rgba(239,68,68,0.05) !important}
.bg-amber-500\/10{background:rgba(245,158,11,0.06) !important}

/* ── OPERATIONAL STATUS INDICATORS ─────────────── */
.ews-status-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.ews-status-dot.online{background:#00A86B;box-shadow:0 0 6px rgba(0,168,107,0.5)}
.ews-status-dot.degraded{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.5)}
.ews-status-dot.offline{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,0.5)}

/* ── CLASSIFICATION BANNER ─────────────────────── */
.ews-classification{background:rgba(0,168,107,0.08);border:1px solid rgba(0,168,107,0.2);text-align:center;padding:2px;font-size:9px;font-weight:800;letter-spacing:.15em;color:#00A86B;text-transform:uppercase}

/* ── MOBILE ────────────────────────────────────── */
.mobile-menu-btn{display:none}
@media(max-width:1024px){
  .sidebar{transform:translateX(-100%);width:var(--sidebar-width) !important}
  .sidebar.open{transform:translateX(0);box-shadow:4px 0 30px rgba(0,0,0,0.5)}
  body.sidebar-collapsed .sidebar{transform:translateX(-100%);width:var(--sidebar-width) !important}
  body.sidebar-collapsed .sidebar.open{transform:translateX(0)}
  .content-area{margin-left:0 !important}
  body.sidebar-collapsed .content-area{margin-left:0 !important}
  .mobile-menu-btn{display:flex}
  .sidebar-collapse-btn{display:none}
  /* On mobile, always show full sidebar when opened */
  body.sidebar-collapsed .sidebar.open .sidebar-brand-text{opacity:1;width:auto}
  body.sidebar-collapsed .sidebar.open .sidebar-brand-status{opacity:1;max-height:100px}
  body.sidebar-collapsed .sidebar.open .sidebar-item-label{opacity:1;width:auto;position:static}
  body.sidebar-collapsed .sidebar.open .sidebar-badge{opacity:1;width:auto;padding:1px 6px;margin-left:auto}
  body.sidebar-collapsed .sidebar.open .sidebar-footer{opacity:1;padding:12px 16px;max-height:200px;border-top:1px solid rgba(255,255,255,0.1)}
  body.sidebar-collapsed .sidebar.open .sidebar-section-label{font-size:9px;text-align:left;padding:14px 10px 4px;letter-spacing:.1em;opacity:1}
  body.sidebar-collapsed .sidebar.open .sidebar-item{justify-content:flex-start;gap:10px;padding:7px 10px;border-left:3px solid transparent}
  body.sidebar-collapsed .sidebar.open .sidebar-item i{font-size:12px;width:16px}
}
@media(max-width:768px){.page-content{padding:12px}.top-bar{padding:0 12px}.stat-number{font-size:20px}.ews-ticker{display:none}}

/* ── TAILWIND UTILITY OVERRIDES for EWS ────────── */
.text-gray-500{color:#6B7280 !important}
.text-gray-600{color:#4B5563 !important}
.text-gray-700{color:#374151 !important}
.text-gray-800{color:#1F2937 !important}
.bg-gray-50{background:#F9FAFB !important}
.bg-gray-100{background:#F3F4F6 !important}
.bg-white{background:rgba(255,255,255,0.72) !important}
.bg-emerald-600{background:linear-gradient(135deg,#00A86B,#008F5B) !important}
.hover\:bg-emerald-700:hover{background:#006241 !important}
.hover\:bg-gray-200:hover{background:#E5E7EB !important}
.hover\:bg-gray-50:hover{background:#F9FAFB !important}
.border-gray-200{border-color:#E5E7EB !important}
.border-gray-100{border-color:#F3F4F6 !important}

/* ── IRAN MAP BUTTONS ─────────────────────── */
.iran-bl-btn{background:rgba(243,244,246,0.8);color:#6B7280;border:1px solid rgba(229,231,235,0.7);cursor:pointer;transition:all .15s ease;font-family:'Inter',sans-serif;font-weight:500}
.iran-bl-btn:hover{border-color:rgba(0,168,107,0.3);color:#111827;background:rgba(0,168,107,0.06)}
.iran-bl-btn.active{background:linear-gradient(135deg,#00A86B,#008F5B) !important;color:#fff !important;border-color:rgba(0,168,107,0.5) !important;box-shadow:0 0 10px rgba(0,168,107,0.2)}

/* ── IRAN CRITICAL LIST ITEMS ─────────────────── */
.iran-crit-item{background:rgba(0,168,107,0.04);backdrop-filter:blur(8px);border:1px solid rgba(0,168,107,0.12);cursor:pointer;transition:all .15s ease;border-radius:10px}
.iran-crit-item:hover{background:rgba(0,168,107,0.08);box-shadow:0 2px 8px rgba(0,168,107,0.08)}
.iran-site-item{cursor:pointer;transition:all .15s ease;border:1px solid transparent;border-radius:8px}
.iran-site-item:hover{background:rgba(0,168,107,0.04);border-color:rgba(0,168,107,0.1)}

/* Page content */
.page-content{padding:20px;max-width:1400px}

/* ── INTEL CARD SYSTEM — Glass-morphism v2 ───── */
.intel-card{
  background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(229,231,235,0.7);border-radius:16px;padding:0;
  transition:all .3s cubic-bezier(0.22,1,0.36,1);position:relative;overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02)
}
.intel-card:hover{
  border-color:rgba(0,168,107,0.25);
  box-shadow:0 8px 24px rgba(0,168,107,0.08),0 2px 8px rgba(0,0,0,0.04);
  transform:translateY(-2px)
}
/* Left accent strip */
.intel-card .ic-accent{position:absolute;top:0;left:0;width:3px;height:100%;border-radius:16px 0 0 16px}

/* Source banner — top strip */
.intel-card .ic-source-bar{
  display:flex;align-items:center;gap:8px;padding:8px 12px 7px 12px;
  border-bottom:1px solid rgba(229,231,235,0.5);background:rgba(249,250,251,0.5)
}
.intel-card .ic-source-logo{
  width:32px;height:32px;border-radius:8px;flex-shrink:0;object-fit:contain;
  box-shadow:0 1px 4px rgba(0,0,0,0.1);background:#fff;padding:3px
}
.intel-card .ic-source-initials{
  width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:11px;font-weight:800;letter-spacing:-.02em;color:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,0.1)
}
.intel-card .ic-source-info{flex:1;min-width:0}
.intel-card .ic-source-name{font-size:11px;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}
.intel-card .ic-signal-origin{font-size:8.5px;color:#9CA3AF;font-weight:500;display:flex;align-items:center;gap:4px;margin-top:1px}
.intel-card .ic-signal-origin .ic-ring-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.intel-card .ic-time{font-size:9px;color:#9CA3AF;font-weight:500;font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:3px}
.intel-card .ic-badges{display:flex;gap:4px;flex-wrap:wrap;margin-left:auto;align-items:center}
/* Domain classifier tag */
.intel-card .ic-domain{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:5px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}

/* Severity dot indicator */
.intel-card .ic-sev-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.intel-card .ic-sev-dot.sev-critical{background:#ef4444;box-shadow:0 0 6px rgba(239,68,68,0.5);animation:ewsBlink 1.5s ease-in-out infinite}
.intel-card .ic-sev-dot.sev-high{background:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.4)}
.intel-card .ic-sev-dot.sev-elevated{background:#f97316;box-shadow:0 0 4px rgba(249,115,22,0.3)}
.intel-card .ic-sev-dot.sev-moderate{background:#00A86B}

/* Body */
.intel-card .ic-body{padding:10px 12px 8px 12px}
.intel-card .ic-title{font-size:13px;font-weight:600;color:#111827;line-height:1.45;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.intel-card .ic-desc{font-size:11.5px;color:#6B7280;line-height:1.55;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Confidence / progress bar */
.intel-card .ic-conf-bar{height:3px;background:#F3F4F6;border-radius:2px;margin:8px 0 4px;overflow:hidden}
.intel-card .ic-conf-fill{height:100%;border-radius:2px;transition:width 1s cubic-bezier(0.22,1,0.36,1)}

/* Footer — metas + link */
.intel-card .ic-footer{
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;
  padding:6px 12px 8px;border-top:1px solid rgba(229,231,235,0.4)
}
.intel-card .ic-tag{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:6px;font-size:9px;font-weight:700;letter-spacing:.02em;backdrop-filter:blur(4px)}
.intel-card .ic-meta{font-size:9px;color:#6B7280;font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:3px}
.intel-card .ic-meta i{font-size:8px;color:#9CA3AF}
.intel-card .ic-geo{font-size:9px;color:#00A86B;font-weight:600;display:flex;align-items:center;gap:3px}
.intel-card .ic-geo i{font-size:8px}
.intel-card .ic-link{
  display:inline-flex;align-items:center;gap:3px;font-size:9.5px;font-weight:600;
  color:#00A86B;margin-left:auto;padding:2px 8px;border-radius:5px;
  background:rgba(0,168,107,0.06);border:1px solid rgba(0,168,107,0.12);
  opacity:0;transition:all .25s ease
}
.intel-card:hover .ic-link{opacity:1}
.intel-card .ic-link:hover{background:rgba(0,168,107,0.12);border-color:rgba(0,168,107,0.25)}
.intel-card a{text-decoration:none;color:inherit}

/* Severity pulse animations */
.intel-card.ic-critical{border-color:rgba(239,68,68,0.25);animation:icPulseCrit 3s ease-in-out infinite}
.intel-card.ic-high{border-color:rgba(245,158,11,0.2);box-shadow:0 1px 4px rgba(245,158,11,0.06)}
@keyframes icPulseCrit{0%,100%{box-shadow:0 1px 3px rgba(0,0,0,0.04)}50%{box-shadow:0 0 16px rgba(239,68,68,0.12),0 0 4px rgba(239,68,68,0.08)}}

/* ── BACK TO HUB NAV ─────────────────────────── */
.back-nav{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:10px 16px;background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(229,231,235,0.7);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
.back-nav-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;color:#00A86B;background:rgba(0,168,107,0.06);border:1px solid rgba(0,168,107,0.15);cursor:pointer;transition:all .2s ease;text-decoration:none}
.back-nav-btn:hover{background:rgba(0,168,107,0.12);border-color:rgba(0,168,107,0.3);box-shadow:0 2px 8px rgba(0,168,107,0.1)}
.back-nav-btn i{font-size:11px}
.back-nav-sep{color:#D1D5DB;font-size:14px}
.back-nav-current{font-size:13px;font-weight:600;color:#374151}

/* ── RESPONSIVE: SMALL SCREENS ───────────────── */
@media (max-width: 640px) {
  canvas { max-height: 280px !important; }
}
@media (max-width: 480px) {
  .page-content { padding: 12px; }
}

/* ── PRINT STYLES ─────────────────────────────── */
@media print {
  body { background: white !important; color: black !important; font-size: 10pt !important; }
  .sidebar { display: none !important; }
  .content-area { margin-left: 0 !important; }
  .top-bar { display: none !important; }
  .ews-ticker { display: none !important; }
  .no-print { display: none !important; }
  .card { border: 1px solid #e2e8f0 !important; box-shadow: none !important; break-inside: avoid; background: white !important; backdrop-filter: none !important; }
  .page-content { padding: 0 !important; max-width: 100% !important; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 7pt; color: #00A86B; word-break: break-all; }
  a[href^="javascript:"]::after, a[href^="#"]::after { content: ""; }
  .fade-in, .fade-in-up, .scale-in { animation: none !important; opacity: 1 !important; }
  .stagger-1,.stagger-2,.stagger-3,.stagger-4,.stagger-5,.stagger-6 { animation: none !important; opacity: 1 !important; }
  @page { margin: 1.5cm; size: A4; }
  h2, h3 { page-break-after: avoid; }
}

/* ── SMOOTH TRANSITIONS ──────────────────────── */
* { transition-property: color, background-color, border-color; transition-duration: 0.1s; }
canvas, svg, svg *, .animate-spin, input[type="range"], .leaflet-pane, .leaflet-pane * { transition: none !important; }

/* ── ATLAS TAB ────────────────────────────────── */
.atlas-country-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:8px;font-size:10px;font-weight:600;border:1px solid #E5E7EB;background:#fff;color:#6B7280;cursor:pointer;transition:all .2s}
.atlas-country-btn:hover{border-color:#06b6d4;color:#06b6d4}
.atlas-country-btn.active{background:rgba(6,182,212,0.1);border-color:#06b6d4;color:#06b6d4}
.atlas-country-count{font-size:9px;font-weight:800;background:rgba(0,0,0,0.06);padding:1px 5px;border-radius:4px;font-family:'JetBrains Mono',monospace}
.atlas-cat-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;border:1px solid #E5E7EB;background:#fff;color:#6B7280;cursor:pointer;transition:all .15s}
.atlas-cat-btn:hover,.atlas-cat-btn.active{background:color-mix(in srgb,var(--cat-color,#06b6d4) 12%,transparent);border-color:var(--cat-color,#06b6d4);color:var(--cat-color,#06b6d4)}
.atlas-threat-btn{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:6px;font-size:10px;font-weight:600;border:1px solid #E5E7EB;background:#fff;color:#6B7280;cursor:pointer;transition:all .15s}
.atlas-threat-btn:hover,.atlas-threat-btn.active{background:color-mix(in srgb,var(--thr-color,#06b6d4) 12%,transparent);border-color:var(--thr-color,#06b6d4);color:var(--thr-color,#06b6d4)}
.atlas-bl-btn{font-size:9px;padding:3px 8px;border:1px solid #E5E7EB;background:#fff;color:#6B7280;cursor:pointer;border-radius:5px;transition:all .15s}
.atlas-bl-btn:hover,.atlas-bl-btn.active{background:rgba(6,182,212,0.1);border-color:#06b6d4;color:#06b6d4}
.atlas-fcard{padding:8px 10px;border-radius:8px;border:1px solid #E5E7EB;cursor:pointer;transition:all .2s;background:#fff}
.atlas-fcard:hover{border-color:#06b6d4;box-shadow:0 2px 8px rgba(6,182,212,0.1);transform:translateX(2px)}
.atlas-fcard.active{border-color:#06b6d4;background:rgba(6,182,212,0.04);box-shadow:0 2px 12px rgba(6,182,212,0.15)}
.atlas-fcard .atlas-fcard-cat{width:4px;border-radius:2px;flex-shrink:0;align-self:stretch}
.atlas-treaty-ok{color:#00A86B;font-weight:700}
.atlas-treaty-partial{color:#f59e0b;font-weight:700}
.atlas-treaty-no{color:#ef4444;font-weight:700}
@keyframes atlasPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.5)}50%{box-shadow:0 0 0 8px rgba(239,68,68,0)}}
@keyframes mapPulse{0%,100%{opacity:0.85}50%{opacity:0.5}}
.map-facility-critical path{stroke-width:3 !important}
/* Ensure Leaflet SVG marker paths are always visible */
.leaflet-overlay-pane svg path.leaflet-interactive{opacity:1 !important;visibility:visible !important}
.atlas-marker-critical{animation:atlasPulse 2s ease-in-out infinite}
/* MarkerCluster custom styling */
.marker-cluster-small{background:rgba(6,182,212,0.25);border:2px solid rgba(6,182,212,0.6)}
.marker-cluster-small div{background:rgba(6,182,212,0.7);color:#fff;font-weight:700;font-size:11px;font-family:'JetBrains Mono',monospace}
.marker-cluster-medium{background:rgba(245,158,11,0.25);border:2px solid rgba(245,158,11,0.6)}
.marker-cluster-medium div{background:rgba(245,158,11,0.7);color:#fff;font-weight:700;font-size:11px;font-family:'JetBrains Mono',monospace}
.marker-cluster-large{background:rgba(239,68,68,0.25);border:2px solid rgba(239,68,68,0.6)}
.marker-cluster-large div{background:rgba(239,68,68,0.7);color:#fff;font-weight:700;font-size:11px;font-family:'JetBrains Mono',monospace}
.atlas-prox-ring{fill:none;pointer-events:none}
.atlas-prox-label{background:rgba(0,0,0,0.6) !important;color:#fff !important;border:none !important;font-size:9px !important;padding:2px 6px !important;border-radius:4px !important;font-family:'JetBrains Mono',monospace !important;box-shadow:none !important;pointer-events:none !important}
