/* 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 Dark-First Theme (matching bior.tech) ═══ */
  --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 — DARK default (bior.tech standard) */
  --bg-primary:#0a0f1a;--bg-secondary:#0f1724;--bg-card:rgba(255,255,255,0.03);--bg-card-hover:rgba(255,255,255,0.05);
  --bg-elevated:rgba(255,255,255,0.05);--bg-input:rgba(255,255,255,0.04);
  --border-subtle:rgba(255,255,255,0.06);--border-medium:rgba(255,255,255,0.1);--border-bright:rgba(0,168,107,0.4);
  --text-primary:#e5e7eb;--text-secondary:rgba(255,255,255,0.5);--text-muted:rgba(255,255,255,0.35);--text-dim:rgba(255,255,255,0.2);
  color-scheme:dark;

  /* 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:#0a0f1a;color:#e5e7eb;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(255,255,255,0.15);border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,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 #0a0f1a;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 Dark Glass-morphism ────────────────────── */
.card{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden}
.card:hover{border-color:rgba(0,168,107,0.2);box-shadow:0 12px 40px rgba(0,0,0,0.2)}
.card-header{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:space-between}
.card-body{padding:16px}

/* ── KPI ACCENT CARDS — dark glass + top gradient border ────── */
.kpi-card{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;transition:all .3s ease;position:relative;overflow:hidden}
.kpi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:16px 16px 0 0;background:rgba(255,255,255,0.1);transition:all .3s ease}
.kpi-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,0.2);border-color:rgba(0,168,107,0.2);background:rgba(255,255,255,0.05)}
.kpi-card.accent-green::before{background:linear-gradient(90deg,#00A86B,#34d399)}
.kpi-card.accent-green:hover{border-color:rgba(0,168,107,0.25);box-shadow:0 12px 40px rgba(0,168,107,0.08)}
.kpi-card.accent-red::before{background:linear-gradient(90deg,#ef4444,#f87171)}
.kpi-card.accent-red:hover{border-color:rgba(239,68,68,0.25);box-shadow:0 12px 40px rgba(239,68,68,0.08)}
.kpi-card.accent-blue::before{background:linear-gradient(90deg,#3b82f6,#60a5fa)}
.kpi-card.accent-blue:hover{border-color:rgba(59,130,246,0.25);box-shadow:0 12px 40px rgba(59,130,246,0.08)}
.kpi-card.accent-amber::before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}
.kpi-card.accent-amber:hover{border-color:rgba(245,158,11,0.25);box-shadow:0 12px 40px rgba(245,158,11,0.08)}
.kpi-card.accent-purple::before{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}
.kpi-card.accent-purple:hover{border-color:rgba(139,92,246,0.25);box-shadow:0 12px 40px rgba(139,92,246,0.08)}

/* ── PANEL CARD — section containers ──────────── */
.panel-card{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;transition:all .3s ease}
.panel-card:hover{border-color:rgba(255,255,255,0.1)}

/* ── BANNER CARD — top summary banners with left accent ── */
.banner-card{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;border-left:4px solid #00A86B;transition:all .3s ease;padding:16px}
.banner-card:hover{border-color:rgba(0,168,107,0.2);border-left-color:#00A86B;box-shadow:0 12px 40px rgba(0,168,107,0.08)}
.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.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;transition:all .3s ease;padding:12px}
.alert-banner.alert-critical{border-color:rgba(239,68,68,0.25);background:rgba(239,68,68,0.06)}
.alert-banner.alert-warning{border-color:rgba(245,158,11,0.25);background:rgba(245,158,11,0.06)}

/* ── GLASS UTILITY ───────────────── */
.glass{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06)}

/* ── EWS SECTION HEADERS ──────────────────────── */
h3.text-sm.font-semibold{color:rgba(255,255,255,0.5) !important;font-size:11px !important;letter-spacing:.06em}

/* ── STAT CARDS — BioR Glass-morphism ────────────────── */
.stat-card{background:rgba(255,255,255,0.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:16px;transition:all .3s ease;position:relative;overflow:hidden;border-left:4px solid #00A86B}
.stat-card:hover{border-color:rgba(0,168,107,0.25);transform:translateY(-2px);box-shadow:0 12px 40px 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;color:#e5e7eb}
.stat-label{font-size:11px;color:rgba(255,255,255,0.35);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:rgba(255,255,255,0.06);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:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);border-color:rgba(255,255,255,0.1)}
.btn-outline:hover{border-color:#00A86B;color:#00A86B;background:rgba(0,168,107,0.08)}
.btn-sm{padding:4px 10px;font-size:11px}

/* ── FORM ELEMENTS ─────────────────────────────── */
select,input,textarea{background:rgba(255,255,255,0.04) !important;border:1.5px solid rgba(255,255,255,0.08) !important;color:#e5e7eb !important;border-radius:6px;font-family:'Inter',sans-serif;font-size:12px}
select:focus,input:focus,textarea:focus{border-color:#00A86B !important;outline:none;box-shadow:0 0 0 3px rgba(0,168,107,0.1) !important;background:rgba(255,255,255,0.06) !important}
select option{background:#0f1724}

/* ── TABLE ─────────────────────────────────────── */
table{border-collapse:collapse;width:100%}
table thead tr{border-color:rgba(255,255,255,0.06) !important}
table th{color:rgba(255,255,255,0.5) !important;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
table td{color:#e5e7eb !important;border-color:rgba(255,255,255,0.06) !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.03);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.06);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:rgba(255,255,255,0.5);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:rgba(255,255,255,0.35);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.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);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.2)}
.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:rgba(255,255,255,0.06);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:rgba(255,255,255,0.5);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:rgba(255,255,255,0.35);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(255,255,255,0.06)}
.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:#e5e7eb}
.ta-ring-desc{font-size:9px;color:rgba(255,255,255,0.35)}
.ta-ring-bar{height:6px;border-radius:3px;background:rgba(255,255,255,0.06);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:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);padding:1px}

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

/* Skeleton loader — BioR Dark shimmer */
.skeleton{background:linear-gradient(90deg,rgba(255,255,255,0.03) 25%,rgba(255,255,255,0.06) 50%,rgba(255,255,255,0.03) 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:#0a0f1a !important}
.leaflet-popup-content-wrapper{background:rgba(15,23,36,0.95) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;color:#e5e7eb !important;border:1px solid rgba(255,255,255,0.1) !important;border-radius:16px !important;box-shadow:0 8px 32px rgba(0,0,0,0.5) !important}
.leaflet-popup-tip{background:rgba(15,23,36,0.95) !important}
.leaflet-control-zoom a{background:rgba(15,23,36,0.85) !important;backdrop-filter:blur(8px) !important;color:#e5e7eb !important;border-color:rgba(255,255,255,0.1) !important}
.leaflet-control-zoom a:hover{background:rgba(15,23,36,0.95) !important;border-color:rgba(0,168,107,0.3) !important}
.leaflet-control-layers{background:rgba(15,23,36,0.9) !important;backdrop-filter:blur(12px) !important;border:1px solid rgba(255,255,255,0.1) !important;color:#e5e7eb !important;border-radius:12px !important;box-shadow:0 4px 16px rgba(0,0,0,0.3) !important}

/* ── GEOLAYER PANEL ────────────────────────────── */
#geolayer-panel{background:rgba(15,23,36,0.9) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;border:1px solid rgba(255,255,255,0.1) !important;border-radius:16px !important;box-shadow:0 4px 16px rgba(0,0,0,0.3) !important}
#geolayer-panel button{background:rgba(255,255,255,0.06) !important;color:rgba(255,255,255,0.6) !important;border-radius:8px !important}
#geolayer-panel button:hover{background:rgba(0,168,107,0.12) !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:rgba(255,255,255,0.5) !important}
.text-gray-600{color:rgba(255,255,255,0.6) !important}
.text-gray-700{color:rgba(255,255,255,0.7) !important}
.text-gray-800{color:#e5e7eb !important}
.bg-gray-50{background:rgba(255,255,255,0.03) !important}
.bg-gray-100{background:rgba(255,255,255,0.04) !important}
.bg-white{background:rgba(255,255,255,0.03) !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:rgba(255,255,255,0.08) !important}
.hover\:bg-gray-50:hover{background:rgba(255,255,255,0.05) !important}
.border-gray-200{border-color:rgba(255,255,255,0.06) !important}
.border-gray-100{border-color:rgba(255,255,255,0.04) !important}

/* ── IRAN MAP BUTTONS ─────────────────────── */
.iran-bl-btn{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.1);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:#e5e7eb;background:rgba(0,168,107,0.08)}
.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.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.06);border-radius:16px;padding:0;
  transition:all .3s cubic-bezier(0.22,1,0.36,1);position:relative;overflow:hidden
}
.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.2);
  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(255,255,255,0.06);background:rgba(255,255,255,0.02)
}
.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.3);background:rgba(255,255,255,0.06);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:#e5e7eb;text-transform:uppercase;letter-spacing:.04em;line-height:1.2}
.intel-card .ic-signal-origin{font-size:8.5px;color:rgba(255,255,255,0.35);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:rgba(255,255,255,0.35);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:#e5e7eb;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:rgba(255,255,255,0.5);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:rgba(255,255,255,0.06);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(255,255,255,0.06)
}
.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:rgba(255,255,255,0.5);font-family:'JetBrains Mono',monospace;display:flex;align-items:center;gap:3px}
.intel-card .ic-meta i{font-size:8px;color:rgba(255,255,255,0.35)}
.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:5px;font-size:10.5px;font-weight:700;
  color:#fff;margin-left:auto;padding:5px 12px;border-radius:6px;
  background:linear-gradient(135deg,#00A86B,#008F5B);border:1px solid rgba(0,168,107,0.4);
  opacity:1!important;transition:all .25s ease;letter-spacing:.02em;
  text-transform:uppercase;box-shadow:0 2px 6px rgba(0,168,107,0.2);cursor:pointer;
  white-space:nowrap;text-decoration:none
}
.intel-card:hover .ic-link{opacity:1}
.intel-card .ic-link:hover{background:linear-gradient(135deg,#008F5B,#006241);box-shadow:0 3px 10px rgba(0,168,107,0.35);transform:translateY(-1px)}
.intel-card .ic-link i{font-size:10px}

/* ═══ UNIVERSAL SOURCE REFERENCE BUTTON ═══ */
/* Used on ALL cards: news, alerts, predictions, atlas, Iran, intel, etc. */
.source-ref-btn{
  display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;
  color:#fff;padding:5px 12px;border-radius:6px;cursor:pointer;
  background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid rgba(59,130,246,0.4);
  text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;
  box-shadow:0 2px 6px rgba(59,130,246,0.25);transition:all .2s ease;
  text-decoration:none;line-height:1.2
}
.source-ref-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 3px 10px rgba(59,130,246,0.4);transform:translateY(-1px)}
.source-ref-btn i{font-size:9px}
.source-ref-btn.ref-green{background:linear-gradient(135deg,#00A86B,#008F5B);border-color:rgba(0,168,107,0.4);box-shadow:0 2px 6px rgba(0,168,107,0.25)}
.source-ref-btn.ref-green:hover{background:linear-gradient(135deg,#008F5B,#006241);box-shadow:0 3px 10px rgba(0,168,107,0.4)}
.source-ref-btn.ref-amber{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:rgba(245,158,11,0.4);box-shadow:0 2px 6px rgba(245,158,11,0.25)}
.source-ref-btn.ref-amber:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 3px 10px rgba(245,158,11,0.4)}
.source-ref-btn.ref-red{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:rgba(239,68,68,0.4);box-shadow:0 2px 6px rgba(239,68,68,0.25)}
.source-ref-btn.ref-red:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 3px 10px rgba(239,68,68,0.4)}
.source-ref-btn.ref-purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:rgba(139,92,246,0.4);box-shadow:0 2px 6px rgba(139,92,246,0.25)}
.source-ref-btn.ref-purple:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 3px 10px rgba(139,92,246,0.4)}

/* Source button row — always visible at card bottom */
.ic-source-row{
  display:flex;align-items:center;gap:6px;padding:6px 12px 8px;
  border-top:1px solid rgba(255,255,255,0.06);margin-top:auto;flex-wrap:wrap
}
.ic-source-row .source-label{font-size:9px;color:rgba(255,255,255,0.35);text-transform:uppercase;letter-spacing:.04em;font-weight:600}

/* Non-intel-card source buttons (atlas, iran, timeline, etc.) */
.ref-btn-row{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}
.ref-btn-row .source-ref-btn{font-size:9px;padding:4px 10px}
.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.03);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,0.06);border-radius:12px}
.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:rgba(255,255,255,0.2);font-size:14px}
.back-nav-current{font-size:13px;font-weight:600;color:#e5e7eb}

/* ── 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 rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.6);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(255,255,255,0.08);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 rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.6);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 rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.6);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 rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.6);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 rgba(255,255,255,0.06);cursor:pointer;transition:all .2s;background:rgba(255,255,255,0.03)}
.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}

/* ── ATLAS A+++ ENHANCEMENTS ──────────────────── */

/* Country Stats Dashboard */
.atlas-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}
.atlas-stat-card{padding:10px 12px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-card);transition:all .25s ease;position:relative;overflow:hidden}
.atlas-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,0.08)}
.atlas-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:10px 10px 0 0}
.atlas-stat-card .stat-value{font-size:20px;font-weight:800;line-height:1.1}
.atlas-stat-card .stat-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}
.atlas-stat-card .stat-bar{height:4px;border-radius:2px;background:var(--bg-elevated);margin-top:6px;overflow:hidden}
.atlas-stat-card .stat-bar-fill{height:100%;border-radius:2px;transition:width .8s cubic-bezier(.4,0,.2,1)}

/* Mini donut chart */
.atlas-donut{width:64px;height:64px;position:relative}
.atlas-donut svg{transform:rotate(-90deg)}
.atlas-donut-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}

/* Comparison Panel */
.atlas-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.atlas-compare-card{border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-card);padding:12px;position:relative}
.atlas-compare-card .compare-remove{position:absolute;top:6px;right:8px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:11px}
.atlas-compare-card .compare-remove:hover{color:#ef4444}
.atlas-compare-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:10px;border-bottom:1px solid var(--border-subtle)}
.atlas-compare-row:last-child{border-bottom:none}
.atlas-compare-row .cmp-label{color:var(--text-muted)}
.atlas-compare-row .cmp-value{font-weight:600;color:var(--text-primary)}

/* Search Suggestions */
.atlas-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-top:none;border-radius:0 0 8px 8px;max-height:240px;overflow-y:auto;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,0.12);display:none}
.atlas-suggestions.visible{display:block}
.atlas-suggestion{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-size:11px;transition:background .15s;border-bottom:1px solid rgba(0,0,0,0.03)}
.atlas-suggestion:hover{background:var(--bg-elevated)}
.atlas-suggestion:last-child{border-bottom:none}
.atlas-suggestion .sug-cat{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px}
.atlas-suggestion .sug-match{color:var(--primary);font-weight:700}

/* Facility cards enhanced */
.atlas-fcard{position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}
.atlas-fcard::after{content:'';position:absolute;inset:0;border-radius:8px;opacity:0;transition:opacity .2s;pointer-events:none;background:linear-gradient(135deg,rgba(6,182,212,0.03),rgba(59,130,246,0.02))}
.atlas-fcard:hover::after{opacity:1}
.atlas-fcard .fcard-actions{opacity:0;transition:opacity .2s;display:flex;gap:4px}
.atlas-fcard:hover .fcard-actions{opacity:1}
.fcard-action-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;padding:2px 6px;font-size:9px;color:var(--text-muted);cursor:pointer;transition:all .15s}
.fcard-action-btn:hover{border-color:var(--primary);color:var(--primary)}

/* Top countries bar */
.atlas-top-countries{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.atlas-top-country{flex-shrink:0;padding:8px 12px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-card);cursor:pointer;transition:all .25s;text-align:center;min-width:80px}
.atlas-top-country:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,0.06);border-color:#06b6d4}
.atlas-top-country.selected{border-color:#06b6d4;background:rgba(6,182,212,0.06)}
.atlas-top-country .tc-flag{font-size:18px;line-height:1}
.atlas-top-country .tc-count{font-size:14px;font-weight:800;color:var(--text-primary);font-family:'JetBrains Mono',monospace}
.atlas-top-country .tc-name{font-size:9px;color:var(--text-muted);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Heatmap toggle */
.atlas-heatmap-gradient{height:8px;border-radius:4px;background:linear-gradient(90deg,#00A86B,#eab308,#f97316,#ef4444);flex:1}

/* Export dropdown */
.atlas-export-menu{position:absolute;top:100%;right:0;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,0.12);z-index:30;min-width:160px;display:none;padding:4px}
.atlas-export-menu.visible{display:block}
.atlas-export-item{padding:6px 12px;font-size:11px;cursor:pointer;border-radius:6px;display:flex;align-items:center;gap:8px;color:var(--text-secondary);transition:all .15s}
.atlas-export-item:hover{background:var(--bg-elevated);color:var(--text-primary)}
.atlas-export-item i{width:14px;text-align:center}

/* ── SKELETON / SHIMMER LOADING ────────────────── */
@keyframes shimmer{0%{background-position:-400px 0}100%{background-position:400px 0}}
.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-elevated) 37%,var(--bg-card) 63%);background-size:800px 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:6px}
.skeleton-line{height:12px;margin-bottom:8px;border-radius:4px}
.skeleton-line.w-75{width:75%}.skeleton-line.w-50{width:50%}.skeleton-line.w-90{width:90%}.skeleton-line.w-60{width:60%}
.skeleton-card{padding:12px;border-radius:8px;border:1px solid var(--border-subtle);margin-bottom:8px}
.skeleton-circle{width:40px;height:40px;border-radius:50%}
.skeleton-block{height:200px;border-radius:8px}

/* ── AUTO-REFRESH COUNTDOWN ────────────────────── */
.refresh-ring{position:relative;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center}
.refresh-ring svg{transform:rotate(-90deg)}
.refresh-ring-track{fill:none;stroke:var(--border-subtle);stroke-width:2.5}
.refresh-ring-progress{fill:none;stroke:var(--primary);stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset 1s linear}
.refresh-ring-text{position:absolute;font-size:8px;font-weight:700;color:var(--text-muted)}
.refresh-paused .refresh-ring-progress{stroke:var(--ews-amber-500)}

/* ── LIGHT THEME (alternate) ────────────────────── */
body.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;
  color-scheme:light;
}
body.light-theme{background:var(--bg-primary);color:var(--text-primary)}
body.light-theme .card,body.light-theme .panel-card,body.light-theme .kpi-card,body.light-theme .banner-card,body.light-theme .alert-banner,body.light-theme .stat-card,body.light-theme .intel-card,body.light-theme .ta-banner,body.light-theme .ta-domain-card{background:rgba(255,255,255,0.72);backdrop-filter:blur(12px);border-color:#E5E7EB;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
body.light-theme .kpi-card{border-left:4px solid #E5E7EB}
body.light-theme .kpi-card::before{display:none}
body.light-theme .kpi-card.accent-green{border-left-color:#00A86B}
body.light-theme .kpi-card.accent-red{border-left-color:#ef4444}
body.light-theme .kpi-card.accent-blue{border-left-color:#3b82f6}
body.light-theme .kpi-card.accent-amber{border-left-color:#f59e0b}
body.light-theme .kpi-card.accent-purple{border-left-color:#a855f7}
body.light-theme .top-bar{background:rgba(255,255,255,0.82);border-color:#E5E7EB}
body.light-theme .ews-ticker{background:linear-gradient(90deg,rgba(239,68,68,0.04),rgba(245,158,11,0.03),rgba(239,68,68,0.04));border-color:#E5E7EB}
body.light-theme .ews-ticker-content span{color:#6B7280}
body.light-theme .glass{background:rgba(255,255,255,0.72);border-color:#E5E7EB}
body.light-theme .back-nav{background:rgba(255,255,255,0.72);border-color:#E5E7EB}
body.light-theme .back-nav-sep{color:#D1D5DB}
body.light-theme .back-nav-current{color:#374151}
body.light-theme .btn-outline{background:transparent;color:#6B7280;border-color:#D1D5DB}
body.light-theme .atlas-fcard{background:#fff;border-color:#E5E7EB;color:#111827}
body.light-theme .atlas-fcard:hover{border-color:#06b6d4;background:#F9FAFB}
body.light-theme .atlas-country-btn,body.light-theme .atlas-cat-btn,body.light-theme .atlas-threat-btn,body.light-theme .atlas-bl-btn{background:#fff;border-color:#E5E7EB;color:#6B7280}
body.light-theme .iran-bl-btn{background:rgba(243,244,246,0.8);color:#6B7280;border-color:#E5E7EB}
body.light-theme footer{border-color:#E5E7EB;color:#9CA3AF}
body.light-theme h3,body.light-theme .text-gray-500{color:#6B7280 !important}
body.light-theme .text-gray-600,body.light-theme .text-gray-700{color:#4B5563 !important}
body.light-theme .text-gray-800,body.light-theme .text-gray-900{color:#111827 !important}
body.light-theme input,body.light-theme select,body.light-theme textarea{background:#fff !important;border-color:#E5E7EB !important;color:#111827 !important}
body.light-theme select option{background:#fff}
body.light-theme table thead tr{border-color:#E5E7EB !important}
body.light-theme table th{color:#9CA3AF !important}
body.light-theme table td{color:#111827 !important;border-color:#E5E7EB !important}
body.light-theme .stat-number{color:#111827}
body.light-theme .stat-label{color:#9CA3AF}
body.light-theme .gradient-text{background:linear-gradient(135deg,#00A86B,#00A86B);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
body.light-theme .intel-card .ic-source-name{color:#374151}
body.light-theme .intel-card .ic-title{color:#111827}
body.light-theme .intel-card .ic-desc{color:#6B7280}
body.light-theme .intel-card .ic-source-bar{background:rgba(249,250,251,0.5);border-color:#E5E7EB}
body.light-theme .intel-card .ic-source-logo{background:#fff}
body.light-theme .ta-banner-desc{color:#6B7280}
body.light-theme .ta-ring-label{color:#374151}
body.light-theme .ta-ring-bar,.body.light-theme .ta-domain-bar,.body.light-theme .progress-bar{background:#E5E7EB}
body.light-theme .leaflet-container{background:#F3F4F6 !important}
body.light-theme .leaflet-popup-content-wrapper{background:rgba(255,255,255,0.88) !important;color:#111827 !important;border-color:#E5E7EB !important}
body.light-theme .leaflet-popup-tip{background:rgba(255,255,255,0.88) !important}
body.light-theme .leaflet-control-zoom a{background:rgba(255,255,255,0.85) !important;color:#374151 !important;border-color:#E5E7EB !important}
body.light-theme .leaflet-control-layers{background:rgba(255,255,255,0.88) !important;color:#374151 !important;border-color:#E5E7EB !important}
body.light-theme #geolayer-panel{background:rgba(255,255,255,0.82) !important;border-color:#E5E7EB !important}
body.light-theme #geolayer-panel button{background:rgba(243,244,246,0.8) !important;color:#6B7280 !important}
body.light-theme .bg-gray-50{background:#F9FAFB !important}
body.light-theme .bg-gray-100{background:#F3F4F6 !important}
body.light-theme .bg-white{background:rgba(255,255,255,0.72) !important}
body.light-theme .border-gray-200{border-color:#E5E7EB !important}
body.light-theme .skeleton{background:linear-gradient(90deg,#F3F4F6 25%,#E5E7EB 50%,#F3F4F6 75%)}
body.light-theme ::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.15)}
body.light-theme .sidebar-collapse-btn{border-color:#F3F4F6}
body.light-theme h3.text-sm.font-semibold{color:#9CA3AF !important}

/* Theme toggle button */
.theme-toggle{width:32px;height:32px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;font-size:13px}
.theme-toggle:hover{border-color:var(--primary);color:var(--primary);background:rgba(0,168,107,0.06)}

/* ── KEYBOARD SHORTCUT HINT ────────────────────── */
.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:var(--bg-elevated);border:1px solid var(--border-subtle);font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;color:var(--text-muted);line-height:1}
.shortcut-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}
.shortcut-overlay.visible{opacity:1;pointer-events:auto}
.shortcut-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:24px;width:400px;max-width:90vw;box-shadow:0 24px 64px rgba(0,0,0,0.3)}
.shortcut-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;color:var(--text-secondary)}
.shortcut-row .kbd{margin-left:8px}

/* ── TOAST NOTIFICATION ────────────────────────── */
.toast{position:fixed;bottom:24px;right:24px;padding:10px 16px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:12px;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:9999;transform:translateY(20px);opacity:0;transition:all .3s ease;display:flex;align-items:center;gap:8px}
.toast.visible{transform:translateY(0);opacity:1}
.toast-icon{font-size:14px}
.toast.toast-success .toast-icon{color:#00A86B}
.toast.toast-info .toast-icon{color:#3b82f6}
.toast.toast-warn .toast-icon{color:#f59e0b}

/* ══════════════════════════════════════════════════
   v9.0 UPGRADES — Stat Cards, Live Ticker, Geofence,
   Cross-Ref, Reliability, Mobile Nav
   ══════════════════════════════════════════════════ */

/* ── COMMAND STAT CARDS ─────────────────────────── */
.stat-card{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;background:var(--bg-card);border:1px solid var(--border-subtle);overflow:hidden;transition:all .3s ease}
.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.08);border-color:var(--border-bright)}
.stat-card-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.stat-card-facilities .stat-card-icon{background:rgba(6,182,212,0.12);color:#06b6d4}
.stat-card-countries .stat-card-icon{background:rgba(59,130,246,0.12);color:#3b82f6}
.stat-card-threats .stat-card-icon{background:rgba(239,68,68,0.12);color:#ef4444}
.stat-card-sources .stat-card-icon{background:rgba(0,168,107,0.12);color:#00A86B}
.stat-card-body{flex:1;min-width:0}
.stat-card-value{font-size:22px;font-weight:900;line-height:1;color:var(--text-primary)}
.stat-card-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;margin-top:2px}
.stat-sparkline{position:absolute;right:8px;bottom:4px;opacity:0.25;pointer-events:none}

/* ── LIVE INCIDENT TICKER ───────────────────────── */
.ews-ticker-count{font-size:10px;font-weight:700;color:#ef4444;background:rgba(239,68,68,0.08);padding:2px 8px;border-radius:6px;margin-right:8px;flex-shrink:0}
.ticker-incident{display:inline-flex;align-items:center;gap:6px;margin-right:32px;white-space:nowrap}
.ticker-sev{font-size:8px;font-weight:800;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}
.ticker-sev-critical{background:rgba(239,68,68,0.2);color:#ef4444}
.ticker-sev-high{background:rgba(249,115,22,0.2);color:#f97316}
.ticker-sev-elevated{background:rgba(245,158,11,0.2);color:#f59e0b}
.ticker-sev-moderate{background:rgba(0,168,107,0.2);color:#00A86B}
.ticker-flag{font-size:12px}
.ticker-title{font-size:11px;font-weight:500}
.ticker-time{font-size:9px;color:#9CA3AF}
.ticker-src-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:rgba(59,130,246,0.2);color:#3b82f6;font-size:8px;cursor:pointer;text-decoration:none;transition:all .2s ease;flex-shrink:0}
.ticker-src-btn:hover{background:rgba(59,130,246,0.4);transform:scale(1.15)}
.ticker-loading{color:#9CA3AF;font-size:11px}

/* ── GEOFENCE ALERT ZONES ───────────────────────── */
.geofence-drawing{cursor:crosshair !important}
.geofence-drawing .leaflet-container{cursor:crosshair !important}
#geofence-draw-btn.active{background:#ef4444 !important;color:#fff !important;border-color:#ef4444 !important}
.geofence-zone{fill-opacity:0.1;stroke-width:2;stroke-dasharray:8 4}
@keyframes geofencePulse{0%{opacity:1;transform:scale(1)}50%{opacity:0.6;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}
.geofence-alert .leaflet-marker-icon{animation:geofencePulse 1.5s ease-in-out infinite}
.map-marker-pulse{animation:markerPulse 2s ease-in-out infinite}
@keyframes markerPulse{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,0.4)}50%{box-shadow:0 0 0 12px rgba(239,68,68,0)}}

/* ── CROSS-REFERENCE INTEL ──────────────────────── */
.crossref-item{display:flex;align-items:flex-start;gap:8px;padding:6px 8px;border-radius:6px;border-left:3px solid var(--border-subtle);transition:all .2s;cursor:pointer}
.crossref-item:hover{background:var(--bg-elevated);border-left-color:#f59e0b}
.crossref-item.direct{border-left-color:#ef4444}
.crossref-item.contextual{border-left-color:#3b82f6}
.crossref-badge{font-size:7px;font-weight:800;padding:1px 4px;border-radius:3px;text-transform:uppercase}
.crossref-badge-direct{background:rgba(239,68,68,0.12);color:#ef4444}
.crossref-badge-contextual{background:rgba(59,130,246,0.12);color:#3b82f6}

/* ── SOURCE RELIABILITY LEADERBOARD ─────────────── */
.rel-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;transition:all .2s;border:1px solid transparent}
.rel-row:hover{background:var(--bg-elevated);border-color:var(--border-subtle)}
.rel-rank{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
.rel-rank-1{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}
.rel-rank-2{background:linear-gradient(135deg,#d1d5db,#9ca3af);color:#fff}
.rel-rank-3{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff}
.rel-tier{font-size:11px;font-weight:800;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rel-tier-A{background:rgba(0,168,107,0.15);color:#00A86B}
.rel-tier-B{background:rgba(59,130,246,0.15);color:#3b82f6}
.rel-tier-C{background:rgba(245,158,11,0.15);color:#f59e0b}
.rel-tier-D{background:rgba(239,68,68,0.15);color:#ef4444}
.rel-tier-F{background:rgba(107,114,128,0.15);color:#6b7280}
.rel-score-bar{height:6px;border-radius:3px;background:var(--bg-elevated);overflow:hidden;flex:1;min-width:60px}
.rel-score-fill{height:100%;border-radius:3px;transition:width .5s ease}

/* ── MOBILE BOTTOM NAV ──────────────────────────── */
.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:50;background:var(--bg-card);border-top:1px solid var(--border-subtle);padding:4px 0;padding-bottom:env(safe-area-inset-bottom,4px);justify-content:space-around}
.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border:none;background:none;color:var(--text-muted);font-size:9px;font-weight:600;cursor:pointer;transition:color .2s;text-transform:uppercase;letter-spacing:.04em}
.mobile-nav-item i{font-size:16px}
.mobile-nav-item.active{color:var(--primary)}
.mobile-nav-item:active{transform:scale(0.92)}

/* ── MOBILE RESPONSIVE ──────────────────────────── */
@media(max-width:768px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.mobile-open{transform:translateX(0)}
  .content-area{margin-left:0 !important}
  .mobile-bottom-nav{display:flex}
  .page-content{padding-bottom:70px}
  .top-bar{padding:0 12px;flex-wrap:wrap;gap:6px;height:auto;padding-top:8px;padding-bottom:8px}
  .stat-card{padding:10px 12px}
  .stat-card-value{font-size:18px}
  .stat-card-icon{width:32px;height:32px;font-size:13px}
  .stat-sparkline{display:none}
  .ews-ticker{font-size:10px}
  footer{display:none}
  .sidebar-collapse-btn{display:none}
  .mobile-menu-btn{display:flex !important}
  #tab-atlas .grid.lg\\:grid-cols-5{grid-template-columns:1fr}
  #tab-atlas #atlas-map{height:50vh !important;min-height:300px !important}
  #atlas-card-list{max-height:300px !important;min-height:200px !important}
  #map-wrapper #map{height:60vh !important}
  .grid.md\\:grid-cols-4{grid-template-columns:repeat(2,1fr)}
  .grid.lg\\:grid-cols-3{grid-template-columns:1fr}
}
@media(max-width:480px){
  .grid.md\\:grid-cols-4,.grid.grid-cols-2{grid-template-columns:repeat(2,1fr)}
  .stat-card{gap:8px;padding:8px 10px}
  .stat-card-value{font-size:16px}
  .stat-card-label{font-size:8px}
  .stat-card-icon{width:28px;height:28px;font-size:12px;border-radius:8px}
  .top-bar > div:first-child > div:not(.mobile-menu-btn){display:none}
  #overall-score-ring{width:36px !important;height:36px !important}
  #overall-score{font-size:12px !important}
}

/* Light theme additions for v9 */
body.light-theme .stat-card{background:rgba(255,255,255,0.72);border-color:#E5E7EB;box-shadow:0 1px 3px rgba(0,0,0,0.04)}
body.light-theme .crossref-item{border-left-color:#E5E7EB}
body.light-theme .crossref-item:hover{background:#F9FAFB}
body.light-theme .rel-row:hover{background:#F9FAFB}
body.light-theme .mobile-bottom-nav{background:#fff;border-color:#E5E7EB}

/* ══════════════════════════════════════════════════
   BioR.tech Enhanced Features — v10.0
   Button shimmer, page transitions, gauge animations,
   version footer, enhanced header search
   ══════════════════════════════════════════════════ */

/* ── BUTTON SHIMMER ANIMATION ─────────────────── */
.btn-primary{position:relative;overflow:hidden}
.btn-primary::after{
  content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.15),transparent);
  transition:left 0.5s ease;
}
.btn-primary:hover::after{left:100%}

/* ── PAGE TRANSITIONS ─────────────────────────── */
.page-transition{animation:pageSlideIn 0.35s cubic-bezier(0.4,0,0.2,1)}
@keyframes pageSlideIn{
  from{opacity:0;transform:translateY(12px) scale(0.995)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* ── ANIMATED GAUGE RINGS ─────────────────────── */
.gauge-ring{animation:gaugeIn 1.2s cubic-bezier(0.4,0,0.2,1) forwards}
@keyframes gaugeIn{from{stroke-dashoffset:213.6}}

/* ── RISK BAR ANIMATION ──────────────────────── */
.risk-bar-animate{animation:riskBarGrow 0.8s cubic-bezier(0.4,0,0.2,1) forwards}
@keyframes riskBarGrow{from{width:0%}}

/* ── TAB BUTTON GLOW ─────────────────────────── */
.tab-btn{transition:all 0.25s ease;backdrop-filter:blur(4px)}
.tab-btn.active{
  background:rgba(0,168,107,0.15);color:#00A86B;
  border-color:rgba(0,168,107,0.4);box-shadow:0 0 15px rgba(0,168,107,0.1);
}

/* ── HEADER SEARCH EXPANDING ─────────────────── */
.header-search{
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;padding:6px 12px 6px 36px;color:#e5e7eb;
  font-size:12px;font-family:'Inter',sans-serif;outline:none;
  width:200px;transition:all 0.3s ease;
}
.header-search:focus{
  width:280px;border-color:rgba(0,168,107,0.4);
  background:rgba(255,255,255,0.08);box-shadow:0 0 0 3px rgba(0,168,107,0.08);
}
.header-search::placeholder{color:rgba(255,255,255,0.3)}
body.light-theme .header-search{background:rgba(0,0,0,0.04);color:#111827;border-color:rgba(0,0,0,0.08)}
body.light-theme .header-search:focus{background:rgba(0,0,0,0.06);border-color:rgba(0,168,107,0.3)}
body.light-theme .header-search::placeholder{color:rgba(0,0,0,0.3)}

/* ── NOTIFICATION BELL ANIMATION ─────────────── */
.notif-btn{
  position:relative;width:34px;height:34px;border-radius:10px;
  background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all 0.25s ease;color:rgba(255,255,255,0.5);
}
.notif-btn:hover{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.15)}
.notif-count{
  position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;
  border-radius:8px;background:#ef4444;color:#fff;font-size:9px;
  font-weight:700;display:flex;align-items:center;justify-content:center;
  padding:0 4px;border:2px solid #0a0f1a;line-height:1;
  animation:notifPop 0.3s cubic-bezier(0.4,0,0.2,1);
}
@keyframes notifPop{from{transform:scale(0)}to{transform:scale(1)}}
body.light-theme .notif-btn{background:rgba(0,0,0,0.04);border-color:rgba(0,0,0,0.08);color:rgba(0,0,0,0.5)}
body.light-theme .notif-count{border-color:#F3F4F6}

/* ── VERSION FOOTER ──────────────────────────── */
.version-footer{
  position:fixed;bottom:0;left:0;right:0;
  background:rgba(10,15,26,0.9);backdrop-filter:blur(12px);
  border-top:1px solid rgba(255,255,255,0.05);
  padding:6px 20px;display:flex;align-items:center;justify-content:center;
  font-size:10px;color:rgba(255,255,255,0.25);
  z-index:40;pointer-events:none;
}
body.light-theme .version-footer{background:rgba(255,255,255,0.9);color:rgba(0,0,0,0.3);border-top-color:rgba(0,0,0,0.06)}

/* ── MODAL — Dark Glass ──────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(8px);z-index:50;display:flex;align-items:center;justify-content:center;animation:overlayIn 0.2s ease-out}
.modal-content{
  background:linear-gradient(135deg,#0f1724 0%,#0a1628 100%);
  border:1px solid rgba(0,168,107,0.15);border-radius:20px;
  max-width:720px;width:90%;max-height:85vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.5);
  animation:modalIn 0.3s cubic-bezier(0.4,0,0.2,1);
}
@keyframes overlayIn{from{opacity:0}to{opacity:1}}
@keyframes modalIn{from{opacity:0;transform:scale(0.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}
body.light-theme .modal-content{background:linear-gradient(135deg,#f8f9fa 0%,#ffffff 100%);border-color:#E5E7EB}
