/* ══════════════════════════════════════════════════════════════════
   AREA RISK MONITOR 48H — INTEL v4
   ══════════════════════════════════════════════════════════════════ */
:root {
  --bg:           #07090f;
  --bg-panel:     #0c1018;
  --bg-card:      #101520;
  --bg-card-h:    #141b28;
  --bg-input:     #0f1520;
  --border:       #1a2840;
  --border-l:     #1e3050;
  --text:         #e8eef8;   /* brighter main text */
  --text-dim:     #9ab8d4;   /* was #6a8aaa — much more readable */
  --text-muted:   #6a8aaa;   /* was #354b65 — was nearly invisible */
  --accent:       #1a9fff;
  --accent-dim:   rgba(26,159,255,0.12);
  --verified:     #10b981;
  --verified-dim: rgba(16,185,129,0.12);
  --critical:     #ff2945;
  --high:         #ff6b35;
  --medium:       #f59e0b;
  --low:          #10b981;
  --font-head:    'Rajdhani', sans-serif;
  --font-mono:    'Space Mono', monospace;
  --font-body:    'DM Sans', sans-serif;
  --left-w:       278px;
  --right-w:      480px;
  --header-h:     52px;
  --radius:       6px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{height:100%;}
body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:13px;line-height:1.5;overflow:hidden;}

/* ── Shell ──────────────────────────────────────────────────────── */
#app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;}
.layout{flex:1;display:flex;min-height:0;overflow:hidden;}

/* ── Header ─────────────────────────────────────────────────────── */
.app-header{flex-shrink:0;height:var(--header-h);background:rgba(7,9,15,0.97);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 18px;z-index:200;}
.header-left{display:flex;align-items:center;gap:12px;}
.header-logo{flex-shrink:0;display:flex;align-items:center;}
.header-title-group{line-height:1.2;}
.header-title{font-family:var(--font-head);font-size:17px;font-weight:700;letter-spacing:2px;color:#fff;}
.header-sub{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--text-dim);}
.header-right{display:flex;align-items:center;gap:8px;}
/* Header logs button — opens log-admin.php in a new tab */
.hdr-btn{
  display:inline-flex;align-items:center;gap:4px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:.06em;
  color:#6a8aaa;background:rgba(26,159,255,0.06);
  border:1px solid rgba(26,159,255,0.18);
  border-radius:3px;padding:4px 8px;
  text-decoration:none;cursor:pointer;
  transition:background .15s,color .15s,border-color .15s;
}
.hdr-btn:hover{
  background:rgba(26,159,255,0.14);
  color:#1a9fff;
  border-color:rgba(26,159,255,0.35);
}
.header-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;padding:3px 8px;border-radius:3px;background:rgba(26,159,255,0.12);border:1px solid rgba(26,159,255,0.3);color:var(--accent);}
.header-badge-dim{background:rgba(255,255,255,0.04);border-color:var(--border-l);color:var(--text-muted);}
.header-badge-verified{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.35);color:var(--verified);}
.header-badge-warn{background:rgba(245,158,11,0.1);border-color:rgba(245,158,11,0.3);color:var(--medium);cursor:help;}
.header-clock{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);min-width:220px;text-align:right;}

/* ── Layout ─────────────────────────────────────────────────────── */
.layout{flex:1;display:flex;min-height:0;overflow:hidden;}

/* ── Panels ─────────────────────────────────────────────────────── */
.panel{display:flex;flex-direction:column;background:var(--bg-panel);overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.panel::-webkit-scrollbar{width:4px;}
.panel::-webkit-scrollbar-thumb{background:var(--border-l);border-radius:4px;}
.panel-left{width:var(--left-w);flex-shrink:0;border-right:1px solid var(--border);}
.panel-right{width:var(--right-w);flex-shrink:0;border-left:1px solid var(--border);padding:14px 0;}
.panel-section{padding:14px 16px;border-bottom:1px solid var(--border);}
.panel-section:last-child{border-bottom:none;}
.section-label{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;margin-bottom:10px;display:block;}

/* ── Search ─────────────────────────────────────────────────────── */
.search-wrap{position:relative;display:flex;align-items:center;gap:6px;}
.search-icon{position:absolute;left:10px;color:var(--text-muted);pointer-events:none;}
.search-input{flex:1;min-width:0;background:var(--bg-input);border:1px solid var(--border-l);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:13px;padding:9px 10px 9px 30px;outline:none;transition:border-color .2s,box-shadow .2s;}
.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(26,159,255,0.12);}
.search-input.input-error{border-color:var(--critical);animation:shake .35s ease;}
.search-btn{flex-shrink:0;background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:1px;padding:9px 14px;cursor:pointer;transition:background .2s,box-shadow .2s,transform .1s;}
.search-btn:hover{background:#1eb5ff;box-shadow:0 0 12px rgba(26,159,255,0.35);}
.search-btn:active{transform:scale(.97);}
.refresh-btn{flex-shrink:0;background:transparent;border:1px solid var(--border-l);border-radius:var(--radius);color:var(--text-muted);font-size:15px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,transform .3s;}
.refresh-btn:hover{border-color:var(--accent);color:var(--accent);}
.refresh-btn:active{transform:rotate(180deg) scale(.95);}
.refresh-btn.spinning{animation:spin .7s linear infinite;}
@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}

/* Autocomplete */
.ac-list{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-card);border:1px solid var(--border-l);border-radius:var(--radius);z-index:300;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s,transform .15s;box-shadow:0 8px 24px rgba(0,0,0,0.5);overflow:hidden;}
.ac-list.ac-open{opacity:1;transform:translateY(0);pointer-events:all;}
.ac-item{display:flex;flex-direction:column;gap:2px;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--border);outline:none;transition:background .12s;}
.ac-item:last-child{border-bottom:none;}
.ac-item:hover,.ac-item:focus{background:var(--bg-card-h);}
.ac-type{font-family:var(--font-mono);font-size:8px;letter-spacing:1.5px;color:var(--accent);opacity:.7;text-transform:uppercase;}
.ac-primary{font-size:13px;color:var(--text);font-weight:500;}
.ac-secondary{font-size:11px;color:var(--text-dim);}

/* ── Risk card ──────────────────────────────────────────────────── */
.risk-card{transition:border-left-color .4s,box-shadow .4s;}
.risk-card.level-CRITICAL{border-left:3px solid var(--critical);box-shadow:inset 3px 0 20px rgba(255,41,69,0.07);}
.risk-card.level-HIGH    {border-left:3px solid var(--high);    box-shadow:inset 3px 0 20px rgba(255,107,53,0.06);}
.risk-card.level-MEDIUM  {border-left:3px solid var(--medium);  box-shadow:inset 3px 0 20px rgba(245,158,11,0.06);}
.risk-card.level-LOW     {border-left:3px solid var(--low);     box-shadow:inset 3px 0 20px rgba(16,185,129,0.05);}

.risk-level-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;}
.risk-level-text{font-family:var(--font-head);font-size:32px;font-weight:700;letter-spacing:2px;line-height:1;transition:color .4s;}
.risk-card.level-CRITICAL .risk-level-text{color:var(--critical);animation:pulse-crit 1.8s ease-in-out infinite;}
.risk-card.level-HIGH     .risk-level-text{color:var(--high);}
.risk-card.level-MEDIUM   .risk-level-text{color:var(--medium);}
.risk-card.level-LOW      .risk-level-text{color:var(--low);}
.risk-score-box{text-align:right;}
.risk-score-num  {font-family:var(--font-mono);font-size:26px;font-weight:700;color:var(--text);}
.risk-score-denom{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);}

.score-track{position:relative;height:6px;background:rgba(255,255,255,0.05);border-radius:3px;overflow:hidden;margin-bottom:4px;}
.score-fill{height:100%;width:0%;border-radius:3px;background:var(--low);transition:width 1s cubic-bezier(.25,.8,.25,1),background .4s;}
.score-ticks{position:absolute;inset:0;pointer-events:none;}
.score-ticks span{position:absolute;top:0;bottom:0;width:1px;background:rgba(0,0,0,0.4);}
.score-labels{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:8px;letter-spacing:1px;color:var(--text-muted);margin-bottom:10px;}

.risk-pill{display:inline-block;font-family:var(--font-head);font-size:12px;font-weight:700;letter-spacing:2px;padding:4px 12px;border-radius:3px;}
.pill-standby {background:rgba(255,255,255,0.06);color:var(--text-muted);}
.pill-scanning{background:rgba(26,159,255,0.12);color:var(--accent);animation:blink .8s step-start infinite;}
.pill-error   {background:rgba(255,41,69,0.15);color:var(--critical);}
.pill-CRITICAL{background:rgba(255,41,69,0.18);color:var(--critical);animation:pulse-crit 1.8s ease-in-out infinite;}
.pill-HIGH    {background:rgba(255,107,53,0.15);color:var(--high);}
.pill-MEDIUM  {background:rgba(245,158,11,0.15);color:var(--medium);}
.pill-LOW     {background:rgba(16,185,129,0.12);color:var(--low);}

/* ── Data grid ──────────────────────────────────────────────────── */
.loc-name{font-size:14px;color:var(--text);font-weight:500;margin-bottom:10px;line-height:1.4;}
.data-grid{display:flex;flex-direction:column;}
.data-row{display:flex;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.03);}
.data-row:last-child{border-bottom:none;}
.data-row span{font-family:var(--font-mono);font-size:9px;letter-spacing:1px;color:var(--text-muted);display:flex;align-items:center;gap:5px;}
.data-row b{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--text-dim);}
.val-highlight{color:var(--text)!important;font-size:13px!important;}
.data-divider{height:1px;background:var(--border);margin:6px 0;}

/* Verified source rows */
.src-verified span{color:var(--verified)!important;opacity:.85;}
.verified-tag{font-family:var(--font-mono);font-size:7px;letter-spacing:1px;padding:1px 5px;border-radius:2px;background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.3);color:var(--verified);}
.not-configured{font-family:var(--font-mono);font-size:9px;color:var(--text-muted);font-style:italic;}

/* ── Recommendation ─────────────────────────────────────────────── */
.rec-section{transition:border-left-color .4s;border-left:3px solid transparent;}
.rec-CRITICAL{border-left-color:var(--critical)!important;background:rgba(255,41,69,0.04);}
.rec-HIGH    {border-left-color:var(--high)!important;    background:rgba(255,107,53,0.03);}
.rec-MEDIUM  {border-left-color:var(--medium)!important;  background:rgba(245,158,11,0.03);}
.rec-LOW     {border-left-color:var(--low)!important;     background:rgba(16,185,129,0.02);}
.rec-text{font-size:13px;color:var(--text-dim);line-height:1.6;}

/* ── Disclaimer ─────────────────────────────────────────────────── */
.disclaimer{margin-top:auto;padding:12px 16px;font-family:var(--font-mono);font-size:9px;letter-spacing:.4px;line-height:1.7;color:var(--text-muted);border-top:1px solid var(--border);}

/* ══════════════════════════════════════════════════════════════════
   MAP — flex column: map on top, results panel on bottom
   ══════════════════════════════════════════════════════════════════ */
.map-panel{
  flex:1;
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:0;  /* lets flex children shrink below content height */
  overflow:hidden;
}
/* Map area — takes all remaining space above results */
.map-area{
  flex:1;
  position:relative;
  min-height:0;  /* critical for leaflet */
  overflow:hidden;
}
#map{position:absolute;inset:0;width:100%;height:100%;z-index:1;}

/* ── Results inner panel — 280px fixed at bottom of center column ── */
.results-inner-panel{
  height:280px;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  background:var(--bg-panel);
  border-top:2px solid var(--border-l);
  overflow:hidden;
}
.results-inner-header{
  display:flex;align-items:center;justify-content:space-between;
  height:28px;padding:0 16px;
  background:var(--bg);
  border-bottom:1px solid var(--border-l);
  flex-shrink:0;
}
.results-inner-title{
  display:flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.12em;color:var(--text-dim);
}
.results-ready-dot{
  font-family:var(--font-mono);font-size:8px;font-weight:700;
  color:#10b981;letter-spacing:.06em;animation:blink 2s infinite;
}
#briefCenterPanel{flex:1;overflow-y:auto;overflow-x:hidden;}

/* ── Map type switcher ──────────────────────────────────────────── */
.map-switcher{position:absolute;top:10px;right:10px;z-index:50;display:flex;gap:4px;background:rgba(255,255,255,0.92);border:1px solid #d0d8e4;border-radius:8px;padding:4px;box-shadow:0 4px 16px rgba(0,0,0,0.15);backdrop-filter:blur(6px);}
.map-btn{display:flex;align-items:center;gap:5px;background:transparent;border:none;color:#4a6080;cursor:pointer;font-family:var(--font-head);font-size:11px;font-weight:600;letter-spacing:1px;padding:5px 11px;border-radius:5px;transition:background .15s,color .15s;white-space:nowrap;}
.map-btn:hover{background:rgba(26,100,200,0.1);color:#1a4080;}
.map-btn.active{background:var(--accent);color:#fff;box-shadow:0 0 10px rgba(26,159,255,0.4);}
.map-btn svg{flex-shrink:0;}

/* Coords overlay */
.map-coords{position:absolute;bottom:22px;left:10px;z-index:50;font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;color:rgba(60,90,120,0.7);pointer-events:none;background:rgba(255,255,255,0.75);padding:3px 8px;border-radius:3px;}

/* ── Custom marker ──────────────────────────────────────────────── */
.map-marker-wrap{position:relative;width:32px;height:32px;}
.map-marker-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent);z-index:2;}
.map-marker-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(26,159,255,0.5);animation:ring-pulse 2s ease-out infinite;}

/* ── Leaflet popup ──────────────────────────────────────────────── */
.arm-popup .leaflet-popup-content-wrapper{background:#fff;border:1px solid #d8e4f0;border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.15);padding:0;overflow:hidden;}
.arm-popup .leaflet-popup-content{margin:0!important;width:auto!important;}
.arm-popup .leaflet-popup-tip{background:#fff;}
.mp-name{padding:10px 14px 6px;font-family:var(--font-head);font-size:14px;font-weight:600;color:#1a2840;letter-spacing:.5px;}
.mp-risk{padding:0 14px 6px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;}
.mp-CRITICAL{color:var(--critical);} .mp-HIGH{color:var(--high);} .mp-MEDIUM{color:var(--medium);} .mp-LOW{color:#0a9a6a;}
.mp-period{padding:6px 14px 10px;font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;color:#8899aa;border-top:1px solid #e8eef4;}
.leaflet-popup-close-button{color:#8899aa!important;top:6px!important;right:6px!important;}

/* Light map: dark controls */
.leaflet-control-zoom a{background:rgba(255,255,255,0.92)!important;color:#4a6080!important;border-color:#c8d4e0!important;}
.leaflet-control-zoom a:hover{background:#f0f5fa!important;color:#1a3060!important;}
.leaflet-control-attribution{background:rgba(255,255,255,0.75)!important;color:#8899aa!important;}
.leaflet-control-attribution a{color:#5580aa!important;}

/* ── Right panel ────────────────────────────────────────────────── */
.panel-right-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px;border-bottom:1px solid var(--border);margin-bottom:12px;}
.signal-count-badge{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;font-weight:700;padding:3px 8px;border-radius:3px;background:rgba(255,255,255,0.05);border:1px solid var(--border-l);color:var(--text-muted);}
.badge-scanning{color:var(--accent);border-color:rgba(26,159,255,0.3);background:rgba(26,159,255,0.08);animation:blink .8s step-start infinite;}
.badge-error   {color:var(--critical);border-color:rgba(255,41,69,0.3); background:rgba(255,41,69,0.08);}
.badge-CRITICAL{color:var(--critical);border-color:rgba(255,41,69,0.4); background:rgba(255,41,69,0.12);}
.badge-HIGH    {color:var(--high);    border-color:rgba(255,107,53,0.4);background:rgba(255,107,53,0.1);}
.badge-MEDIUM  {color:var(--medium);  border-color:rgba(245,158,11,0.4);background:rgba(245,158,11,0.08);}
.badge-LOW     {color:var(--low);     border-color:rgba(16,185,129,0.4);background:rgba(16,185,129,0.08);}

/* ── Terms ──────────────────────────────────────────────────────── */
.terms-box{padding:0 16px 10px;}
.terms-label{font-family:var(--font-mono);font-size:9px;letter-spacing:1px;color:var(--text-dim);margin-bottom:6px;}
.terms-list{display:flex;flex-wrap:wrap;gap:4px;}
.term-tag{font-family:var(--font-mono);font-size:10px;letter-spacing:.5px;padding:2px 7px;border-radius:3px;background:var(--accent-dim);border:1px solid rgba(26,159,255,0.2);color:rgba(26,159,255,0.7);}

/* ── News / Signals feed ────────────────────────────────────────── */
.news-feed{padding:0 12px;display:flex;flex-direction:column;gap:8px;}
.news-empty{padding:24px 12px;text-align:center;color:var(--text-muted);font-size:12px;line-height:1.7;}
.news-empty-icon{font-size:22px;margin-bottom:8px;opacity:.4;}
.loading-state{display:flex;align-items:center;gap:10px;padding:20px 12px;color:var(--text-dim);font-size:12px;}
.spinner{width:16px;height:16px;border-radius:50%;flex-shrink:0;border:2px solid var(--border-l);border-top-color:var(--accent);animation:spin .7s linear infinite;}

/* Signal item */
.sig-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;opacity:0;animation:fadein .3s ease forwards;transition:border-color .2s,background .2s;}
.sig-item:hover{background:var(--bg-card-h);border-color:var(--border-l);}

/* Verified item — subtle left accent */
.sig-verified{border-left:2px solid rgba(16,185,129,0.5);background:rgba(16,185,129,0.025);}
.sig-verified:hover{background:rgba(16,185,129,0.04);}

.sig-top{display:flex;align-items:center;gap:6px;margin-bottom:7px;}
.sig-pill{font-family:var(--font-head);font-size:10px;font-weight:700;letter-spacing:1.5px;padding:2px 7px;border-radius:3px;}
.sig-pill.pill-CRITICAL{background:rgba(255,41,69,0.18);color:var(--critical);}
.sig-pill.pill-HIGH    {background:rgba(255,107,53,0.15);color:var(--high);}
.sig-pill.pill-MEDIUM  {background:rgba(245,158,11,0.15);color:var(--medium);}
.sig-pill.pill-LOW     {background:rgba(16,185,129,0.12);color:var(--low);}
.sig-score{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-right:auto;}
.sig-src        {font-family:var(--font-mono);font-size:9px;letter-spacing:1px;color:var(--text-muted);}
.sig-src-verified{font-family:var(--font-mono);font-size:9px;letter-spacing:1px;color:var(--verified);font-weight:700;}

.sig-title{display:block;font-size:13px;font-weight:500;color:var(--text);text-decoration:none;line-height:1.5;margin-bottom:5px;transition:color .15s;}
.sig-title:hover{color:var(--accent);}
.sig-snippet{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:5px;}
.sig-meta{font-family:var(--font-mono);font-size:10px;letter-spacing:.3px;color:var(--text-muted);}

/* ── Animations ─────────────────────────────────────────────────── */
@keyframes fadein   {from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes shake    {0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@keyframes spin     {to{transform:rotate(360deg)}}
@keyframes blink    {50%{opacity:.35}}
@keyframes ring-pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.6}100%{transform:translate(-50%,-50%) scale(2.4);opacity:0}}
@keyframes pulse-crit{0%,100%{opacity:1}50%{opacity:.65}}
.scan-dots span{animation:blink 1s step-start infinite;display:inline-block;}
.scan-dots span:nth-child(2){animation-delay:.2s}
.scan-dots span:nth-child(3){animation-delay:.4s}

/* Leaflet z-index */
.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,
.leaflet-tile-container,.leaflet-map-pane svg,.leaflet-map-pane canvas{z-index:1;}
.leaflet-overlay-pane{z-index:4;}.leaflet-shadow-pane{z-index:5;}.leaflet-marker-pane{z-index:6;}
.leaflet-tooltip-pane{z-index:7;}.leaflet-popup-pane{z-index:8;}
.leaflet-top,.leaflet-bottom{z-index:9!important;}

/* ── Category breakdown bars ────────────────────────────────────── */
.cat-grid{margin-top:12px;display:flex;flex-direction:column;gap:5px;padding-top:12px;border-top:1px solid var(--border);}
.cat-row{display:flex;align-items:center;gap:6px;}
.cat-icon{font-size:11px;width:16px;text-align:center;flex-shrink:0;}
.cat-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;color:var(--text-dim);width:56px;flex-shrink:0;}
.cat-bar-wrap{flex:1;height:4px;background:rgba(255,255,255,0.06);border-radius:2px;overflow:hidden;}
.cat-bar{height:100%;width:0%;border-radius:2px;background:var(--low);transition:width 1s cubic-bezier(.25,.8,.25,1),background .4s;}
.cat-val{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);width:22px;text-align:right;flex-shrink:0;}

/* ── Scanning marker ────────────────────────────────────────────── */
.map-marker-scan{width:20px;height:20px;border-radius:50%;border:2px solid rgba(26,159,255,0.6);animation:ring-pulse 1.2s ease-out infinite;background:rgba(26,159,255,0.2);}

/* ── Category chip in signal feed ───────────────────────────────── */
.cat-chip{font-size:11px;line-height:1;}

/* ── Popup category row ─────────────────────────────────────────── */
.mp-cats{display:flex;gap:10px;padding:4px 14px 8px;flex-wrap:wrap;}
.mp-cat{font-family:var(--font-mono);font-size:10px;color:#6a8aaa;white-space:nowrap;}

/* ── Advisory Banner ────────────────────────────────────────────── */
.advisory-banner{
  margin:0;padding:12px 16px;
  border-left:4px solid #f59e0b;
  background:rgba(245,158,11,0.06);
  border-bottom:1px solid var(--border);
  transition:border-left-color .3s,background .3s;
}
.adv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.adv-source{font-family:var(--font-mono);font-size:10px;letter-spacing:1px;color:var(--text-dim);}
.adv-link{font-family:var(--font-mono);font-size:10px;color:var(--accent);text-decoration:none;opacity:.7;}
.adv-link:hover{opacity:1;}
.adv-level-row{display:flex;align-items:center;gap:10px;margin-bottom:5px;}
.adv-level-bar{height:6px;border-radius:3px;background:#f59e0b;transition:width .6s ease,background .3s;flex-shrink:0;}
.adv-label{font-family:var(--font-head);font-size:13px;font-weight:700;letter-spacing:.5px;color:#f59e0b;transition:color .3s;}
.adv-date{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);}

/* ── Source count badge ─────────────────────────────────────────── */
.src-count{font-family:var(--font-mono);font-size:8px;letter-spacing:.5px;padding:1px 5px;border-radius:2px;background:rgba(26,159,255,0.1);border:1px solid rgba(26,159,255,0.2);color:rgba(26,159,255,0.7);margin-right:auto;}

/* ── Popup advisory line ────────────────────────────────────────── */
.mp-adv{padding:4px 14px 0;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.5px;}

/* ── Category bars (v5 carryover) ───────────────────────────────── */
.cat-grid{margin-top:12px;display:flex;flex-direction:column;gap:5px;padding-top:12px;border-top:1px solid var(--border);}
.cat-row{display:flex;align-items:center;gap:6px;}
.cat-icon{font-size:11px;width:16px;text-align:center;flex-shrink:0;}
.cat-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.5px;color:var(--text-dim);width:56px;flex-shrink:0;}
.cat-bar-wrap{flex:1;height:4px;background:rgba(255,255,255,0.06);border-radius:2px;overflow:hidden;}
.cat-bar{height:100%;width:0%;border-radius:2px;background:var(--low);transition:width 1s cubic-bezier(.25,.8,.25,1),background .4s;}
.cat-val{font-family:var(--font-mono);font-size:9px;color:var(--text-dim);width:22px;text-align:right;flex-shrink:0;}

/* ── Scanning marker ─────────────────────────────────────────────── */
.map-marker-scan{width:20px;height:20px;border-radius:50%;border:2px solid rgba(26,159,255,0.6);animation:ring-pulse 1.2s ease-out infinite;background:rgba(26,159,255,0.2);}

/* ── Category chip ───────────────────────────────────────────────── */
.cat-chip{font-size:11px;line-height:1;}

/* ── Popup category row ──────────────────────────────────────────── */
.mp-cats{display:flex;gap:10px;padding:4px 14px 8px;flex-wrap:wrap;}
.mp-cat{font-family:var(--font-mono);font-size:10px;color:#6a8aaa;white-space:nowrap;}

/* ── Time-window breakdown row ──────────────────────────────────── */
.window-row {
  display:flex; gap:0;
  border-bottom:1px solid var(--border);
  margin-bottom:10px;
}
.win-cell {
  flex:1; display:flex; flex-direction:column; align-items:center;
  padding:7px 4px; gap:2px;
  border-right:1px solid var(--border);
  cursor:default;
}
.win-cell:last-child { border-right:none; }
.win-icon   { font-size:12px; line-height:1; }
.win-label  { font-family:var(--font-mono); font-size:8px; letter-spacing:.5px; color:var(--text-dim); }
.win-count  { font-family:var(--font-mono); font-size:15px; font-weight:700; }

.win-breaking    .win-count { color:#ff6b35; }
.win-operational .win-count { color:#f59e0b; }
.win-context     .win-count { color:#1a9fff; }
.win-structural  .win-count { color:var(--text-dim); }

.win-breaking    { background:rgba(255,107,53,0.04); }
.win-operational { background:rgba(245,158,11,0.03); }
.win-context     { background:rgba(26,159,255,0.03); }
.win-structural  { background:rgba(255,255,255,0.01); }

/* ── Time-window tag on each signal ────────────────────────────── */
.win-tag {
  font-family:var(--font-mono); font-size:8px; letter-spacing:.5px;
  padding:1px 5px; border-radius:2px; white-space:nowrap;
}
.win-tag-breaking    { background:rgba(255,107,53,0.15); color:#ff6b35; border:1px solid rgba(255,107,53,0.3); }
.win-tag-operational { background:rgba(245,158,11,0.12); color:#f59e0b; border:1px solid rgba(245,158,11,0.3); }
.win-tag-context     { background:rgba(26,159,255,0.1);  color:#1a9fff; border:1px solid rgba(26,159,255,0.25); }
.win-tag-structural  { background:rgba(255,255,255,0.05);color:var(--text-muted);border:1px solid var(--border-l); }

/* ══════════════════════════════════════════════════════════════════
   AI INTELLIGENCE BRIEF WIDGET
   ══════════════════════════════════════════════════════════════════ */

/* Header badge */
.header-badge-ai {
  background:rgba(168,85,247,0.12);
  border-color:rgba(168,85,247,0.35);
  color:#c084fc;
}

/* Section */
.llm-section {
  border-left:3px solid rgba(168,85,247,0.5);
  background:rgba(168,85,247,0.03);
}
.llm-model-tag {
  font-size:7px; letter-spacing:.5px; color:rgba(168,85,247,0.6);
  margin-left:6px; font-weight:400;
}

/* Origin + trend row */
.llm-origin-row {
  display:flex; gap:12px; margin-bottom:8px;
}
.llm-field {
  display:flex; flex-direction:column; gap:2px;
}
.llm-key {
  font-family:var(--font-mono); font-size:9px; letter-spacing:1px;
  color:var(--text-dim); text-transform:uppercase;
}
.llm-val {
  font-family:var(--font-head); font-size:13px; font-weight:700;
  letter-spacing:1px; color:var(--text);
  transition:color .3s;
}

/* Actor tags */
.llm-actors {
  display:flex; flex-wrap:wrap; gap:4px; margin-bottom:10px;
}
.actor-tag {
  font-family:var(--font-mono); font-size:9px; letter-spacing:.5px;
  padding:2px 7px; border-radius:3px;
  background:rgba(168,85,247,0.1); border:1px solid rgba(168,85,247,0.25);
  color:rgba(168,85,247,0.9);
}

/* Risk grid */
.llm-risk-grid {
  display:flex; flex-direction:column; gap:2px;
  margin-bottom:10px; padding:8px 0;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.llm-risk-row {
  display:flex; align-items:center; gap:6px; margin-bottom:1px;
}
.llm-risk-label {
  font-family:var(--font-mono); font-size:9px; letter-spacing:.5px;
  color:var(--text-dim); width:60px; flex-shrink:0;
}
.llm-bar-wrap {
  flex:1; height:5px; background:rgba(255,255,255,0.06);
  border-radius:3px; overflow:hidden;
}
.llm-bar {
  height:100%; width:0%; border-radius:3px;
  transition:width .8s cubic-bezier(.25,.8,.25,1), background .4s;
}
.llm-risk-score {
  font-family:var(--font-mono); font-size:10px; font-weight:700;
  width:30px; text-align:right; flex-shrink:0;
}
.llm-reason {
  font-size:10px; color:var(--text-dim); line-height:1.4;
  padding:0 0 4px 66px;
}

/* Outlook */
.llm-outlook-label {
  font-family:var(--font-mono); font-size:8px; letter-spacing:1.5px;
  color:var(--text-muted); margin-bottom:4px;
}
.llm-outlook {
  font-size:12.5px; color:var(--text-dim); line-height:1.6;
  margin-bottom:8px;
}

/* Key concerns */
.llm-concerns { margin-bottom:8px; display:flex; flex-direction:column; gap:3px; }
.llm-concern-item {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.3px;
  color:#f59e0b; line-height:1.4;
}

/* AI Recommendation */
.llm-rec-label {
  font-family:var(--font-mono); font-size:8px; letter-spacing:1.5px;
  color:rgba(168,85,247,0.7); margin-bottom:4px;
}
.llm-rec {
  font-size:13px; color:var(--text); line-height:1.6;
  font-weight:500; margin-bottom:6px;
}
.llm-disclaimer {
  font-family:var(--font-mono); font-size:8px; letter-spacing:.3px;
  color:var(--text-muted); font-style:italic;
}

/* ── Popup AI rows ──────────────────────────────────────────────── */
.mp-ai-row {
  padding:4px 14px 2px;
  font-family:var(--font-mono); font-size:10px; font-weight:700;
  letter-spacing:.5px;
}
.mp-ai-scores {
  display:flex; gap:12px;
  padding:2px 14px 6px;
  font-family:var(--font-mono); font-size:10px; color:#6a8aaa;
}
.mp-ai-rec {
  padding:4px 14px 6px;
  font-size:10px; color:#4a6888; line-height:1.4;
  border-top:1px solid #e8eef4; font-style:italic;
}

/* Wider popup */
.arm-popup .leaflet-popup-content-wrapper {
  min-width:260px;
}

/* ── Fix 2: Wider popup ──────────────────────────────────────────── */
.arm-popup .leaflet-popup-content-wrapper {
  min-width: 280px !important;
  max-width: 340px !important;
}
.mp-name {
  font-size: 13px !important;
  line-height: 1.3;
}
.mp-ai-rec {
  font-size: 10px !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}

/* ── Fix 3: AI reasons — 2-line clamp ───────────────────────────── */
.llm-reason {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  word-break: break-word;
}

/* ── Fix 4: Score bar — ensure color matches level not category ──── */
/* Category bars keep their own color logic (correct) */
/* Main score bar gets explicit level colors via JS — no override needed */
/* But ensure smooth transition doesn't leave stale colors */
#scoreBar {
  transition: width 1s cubic-bezier(.25,.8,.25,1),
              background 0.4s ease,
              box-shadow 0.4s ease !important;
}

/* ── Multi-government advisory rows ─────────────────────────────── */
.adv-gov-row {
  display:flex; align-items:center; gap:8px;
  padding:4px 0; border-bottom:1px solid rgba(255,255,255,0.05);
}
.adv-gov-row:last-child { border-bottom:none; }
.adv-flag { font-size:14px; flex-shrink:0; width:20px; text-align:center; }
.adv-gov-bar-wrap { flex:1; height:5px; background:rgba(255,255,255,0.06); border-radius:3px; overflow:hidden; }
.adv-label-sm {
  font-family:var(--font-mono); font-size:9px; font-weight:700;
  letter-spacing:.5px; white-space:nowrap; min-width:120px;
  transition:color .3s;
}

/* ── New AI Brief fields ─────────────────────────────────────────── */
.llm-ai-score {
  font-family:var(--font-mono); font-size:9px; color:rgba(168,85,247,0.6);
  margin-left:auto;
}
.llm-section-hdr {
  font-family:var(--font-mono); font-size:8px; letter-spacing:1.5px;
  color:var(--text-muted); text-transform:uppercase;
  margin:8px 0 4px; border-bottom:1px solid var(--border); padding-bottom:3px;
}
.llm-risk-today {
  font-size:12px; color:var(--text); line-height:1.6;
  margin-bottom:6px;
}
.llm-reasons { display:flex; flex-direction:column; gap:3px; margin-bottom:6px; }
.llm-reason-item {
  font-size:11px; color:var(--text-dim); line-height:1.5;
}
.llm-status-badge {
  font-family:var(--font-mono); font-size:8px; font-weight:700;
  letter-spacing:.5px; padding:2px 6px; border-radius:2px;
  border:1px solid; margin-left:4px; white-space:nowrap; flex-shrink:0;
  transition:all .3s;
}
.llm-rec-block {
  display:flex; align-items:center; gap:10px;
  padding:8px 0; border-top:1px solid var(--border); margin-top:6px;
}
.llm-rec-label {
  font-family:var(--font-mono); font-size:8px; letter-spacing:1.5px;
  color:var(--text-muted);
}
.llm-rec-badge {
  font-family:var(--font-mono); font-size:13px; font-weight:900;
  letter-spacing:2px; padding:3px 10px; border-radius:3px;
  border:1px solid; transition:all .3s;
}
.llm-advisory-note {
  font-family:var(--font-mono); font-size:9px; color:var(--text-dim);
  line-height:1.5; margin:4px 0; padding:4px 6px;
  background:rgba(255,255,255,0.03); border-radius:3px;
}

/* ══════════════════════════════════════════════════════════════════
   AI BRIEF v18 — PROFESSIONAL SECURITY ASSESSMENT UI
   ══════════════════════════════════════════════════════════════════ */

/* Dual score header */
.llm-header-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.llm-dual-score { font-family:var(--font-mono); font-size:11px; }
.llm-score-country { color:var(--text); font-weight:700; }
.llm-score-city    { color:var(--text-dim); }
.llm-city-label    { font-size:9px; color:var(--text-muted); }

/* Status line */
.llm-status-line {
  font-family:var(--font-mono); font-size:9px; letter-spacing:1px;
  color:#f59e0b; text-transform:uppercase; margin-bottom:4px;
}

/* Main alert */
.llm-main-alert {
  font-size:12.5px; color:var(--text); line-height:1.5;
  background:rgba(255,255,255,0.03); border-radius:4px;
  padding:8px 10px; margin-bottom:8px;
  border-left:3px solid rgba(245,158,11,0.5);
}

/* Section headers */
.llm-section-hdr {
  font-family:var(--font-mono); font-size:8px; letter-spacing:2px;
  color:var(--text-muted); text-transform:uppercase;
  margin:10px 0 5px; border-bottom:1px solid var(--border); padding-bottom:3px;
}

/* Reasons */
.llm-reasons { display:flex; flex-direction:column; gap:4px; margin-bottom:2px; }
.llm-reason-item { font-size:11px; color:var(--text-dim); line-height:1.5; }

/* Activity decision table */
.llm-activity-table { display:flex; flex-direction:column; gap:3px; }
.act-row {
  display:flex; align-items:flex-start; gap:6px;
  padding:4px 0; border-bottom:1px solid rgba(255,255,255,0.04);
}
.act-row:last-child { border-bottom:none; }
.act-label {
  font-size:10px; color:var(--text-dim); flex:1; line-height:1.4;
}
.act-decision {
  font-family:var(--font-mono); font-size:8px; font-weight:700;
  letter-spacing:.5px; padding:2px 6px; border-radius:2px;
  border:1px solid; white-space:nowrap; flex-shrink:0;
}
.act-note { font-size:9px; color:var(--text-muted); }

/* Trigger alerts */
.llm-triggers { display:flex; flex-direction:column; gap:6px; }
.trig-group { display:flex; flex-direction:column; gap:2px; }
.trig-label {
  font-family:var(--font-mono); font-size:8px; letter-spacing:.5px;
  font-weight:700; padding:2px 6px; border-radius:2px; margin-bottom:3px;
  display:inline-block; width:fit-content;
}
.trig-high { background:rgba(255,107,53,0.15); color:#ff6b35; border:1px solid rgba(255,107,53,0.3); }
.trig-crit { background:rgba(255,41,69,0.15);  color:#ff2945; border:1px solid rgba(255,41,69,0.3); }
.trig-item      { font-size:10px; color:var(--text-dim); padding-left:10px; line-height:1.5; }
.trig-crit-item { color:#ff6b35; }

/* Sidebar alert */
.llm-sidebar-alert {
  font-family:var(--font-mono); font-size:10px; letter-spacing:.3px;
  color:#f59e0b; line-height:1.6; padding:6px 8px;
  background:rgba(245,158,11,0.05); border:1px solid rgba(245,158,11,0.2);
  border-radius:3px;
}

/* Advisory note */
.llm-advisory-note {
  font-size:10px; color:var(--text-dim); line-height:1.5;
  padding:4px 6px; background:rgba(255,255,255,0.02); border-radius:3px;
  margin-top:4px;
}

/* Rec block */
.llm-rec-block {
  display:flex; align-items:center; gap:10px;
  padding:8px 0; border-top:2px solid var(--border); margin-top:8px;
}
.llm-rec-label {
  font-family:var(--font-mono); font-size:8px; letter-spacing:2px; color:var(--text-muted);
}
.llm-rec-badge {
  font-family:var(--font-mono); font-size:14px; font-weight:900;
  letter-spacing:2px; padding:4px 12px; border-radius:3px;
  border:1px solid; transition:all .3s;
}

/* ── 8 Questions UI additions ───────────────────────────────────── */
.llm-q-num {
  font-family:var(--font-mono); font-size:7px; font-weight:900;
  letter-spacing:1px; color:rgba(168,85,247,0.7);
  background:rgba(168,85,247,0.1); border:1px solid rgba(168,85,247,0.25);
  padding:1px 4px; border-radius:2px; margin-right:4px;
}
.llm-event-badge {
  font-family:var(--font-mono); font-size:8px; font-weight:700;
  padding:1px 5px; border-radius:2px; border:1px solid;
  margin-right:4px; white-space:nowrap;
}
.llm-event-meta {
  font-family:var(--font-mono); font-size:9px; color:var(--text-muted);
  margin-left:4px;
}
.actor-threat {
  background:rgba(255,107,53,0.1) !important;
  border-color:rgba(255,107,53,0.3) !important;
  color:#ff6b35 !important;
}
.llm-content { width:100%; }

/* ── 11 Questions specific styles ───────────────────────────────── */
.q1-status-row { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px; align-items:center; }
.q3-threat-row { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:6px; align-items:center; }
.q3-active-badge {
  font-family:var(--font-mono); font-size:9px; font-weight:700;
  letter-spacing:.5px; padding:3px 8px; border-radius:3px; border:1px solid;
}
.q3-timeline {
  font-family:var(--font-mono); font-size:9px; color:var(--text-dim);
  padding:2px 6px; background:rgba(255,255,255,0.04); border-radius:2px;
}
.q-badge {
  font-family:var(--font-mono); font-size:8px; font-weight:700;
  letter-spacing:.5px; padding:2px 7px; border-radius:2px; border:1px solid;
  white-space:nowrap;
}
.adv-q-row {
  display:flex; align-items:center; gap:6px;
  padding:3px 0; border-bottom:1px solid rgba(255,255,255,0.04);
  flex-wrap:wrap;
}
.adv-q-row:last-child { border-bottom:none; }

/* ── AI Brief loading state ──────────────────────────────────────── */
.llm-loading {
  font-family:var(--font-mono); font-size:11px; color:var(--text-dim);
  padding:16px 8px; text-align:center; letter-spacing:.5px;
  animation: llm-pulse 1.5s ease-in-out infinite;
}
.llm-loading-dot {
  color:rgba(168,85,247,0.8);
  animation: llm-pulse 1s ease-in-out infinite;
}
@keyframes llm-pulse {
  0%,100% { opacity:1; }
  50%      { opacity:0.4; }
}

/* ── Scan timer ──────────────────────────────────────────────────── */
.scan-timer {
  font-family:var(--font-mono); font-size:9px; font-weight:700;
  color:#f59e0b; letter-spacing:1px; margin-left:8px;
  animation:llm-pulse 1s ease-in-out infinite;
}

/* ── Scan timer box ──────────────────────────────────────────────── */
.scan-timer-box {
  display:flex; align-items:center; gap:6px;
  padding:8px 12px; margin-top:8px;
  background:rgba(245,158,11,0.08);
  border:1px solid rgba(245,158,11,0.3);
  border-radius:4px;
}
.scan-timer-icon {
  color:#f59e0b; font-size:10px;
  animation:llm-pulse 0.8s ease-in-out infinite;
}
.scan-timer-label {
  font-family:var(--font-mono); font-size:9px; font-weight:700;
  letter-spacing:2px; color:#f59e0b;
}
.scan-timer-count {
  font-family:var(--font-mono); font-size:16px; font-weight:900;
  color:#f59e0b; letter-spacing:1px; min-width:32px;
}
.scan-timer-phase {
  font-family:var(--font-mono); font-size:9px;
  color:var(--text-dim); letter-spacing:.3px;
}

/* ── LLM Q TABLE ─────────────────────────────────────────────────────────── */
.llm-q-table{width:100%;border-collapse:collapse;margin-bottom:8px;table-layout:fixed}
.llm-q-table thead tr{border-bottom:1px solid var(--border-l)}
.llm-q-table thead th{
  font-size:9px;font-weight:700;letter-spacing:.12em;
  color:var(--text-muted);padding:5px 6px;text-align:left;
}
.llm-q-table thead th:last-child{text-align:right}
.llm-q-table tbody tr{border-bottom:1px solid var(--border)}
.llm-q-table tbody tr:last-child{border-bottom:none}
.llm-q-table tbody tr:hover{background:var(--bg-card-h)}
.llm-qt-id{
  font-size:13px;font-weight:700;padding:7px 5px;
  width:18px;text-align:center;vertical-align:top;
  color:var(--text-muted);
}
.llm-qt-label{
  font-size:10px;font-weight:600;color:var(--text-dim);padding:7px 8px;
  width:95px;vertical-align:top;line-height:1.5;
}
.llm-qt-answer{
  font-size:10px;padding:7px 6px;vertical-align:top;
  overflow:hidden;word-wrap:break-word;
}
.llm-qt-ans-text{
  color:var(--text);line-height:1.6;margin-bottom:4px;
}
.llm-qt-score{
  font-size:15px;font-weight:700;padding:7px 10px 7px 4px;
  width:44px;min-width:44px;text-align:right;vertical-align:top;
  white-space:nowrap;
}



/* ── BRIEF CENTER PANEL ──────────────────────────────────────────────────── */
.brief-center-panel{
  padding:10px 24px 14px;
  min-width:0;
}
/* In the full-width bar, show table horizontally */
.brief-center-panel .llm-q-table{
  display:block;
  white-space:nowrap;
}
.brief-center-panel .llm-header-row{
  display:flex;align-items:baseline;gap:12px;
  padding-bottom:8px;
  border-bottom:1px solid var(--border);
  margin-bottom:10px;
}
.brief-waiting{
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;height:300px;gap:12px;
  color:var(--text-muted);font-family:var(--font-mono);font-size:11px;
}
.brief-waiting-icon{font-size:24px;opacity:.3;}
.brief-loading{
  display:flex;align-items:center;gap:8px;
  padding:40px 32px;color:var(--text-dim);
  font-family:var(--font-mono);font-size:11px;
}
/* Bottom results panel — compact but readable */
.brief-center-panel .llm-q-table{font-size:11px;}
.brief-center-panel colgroup col:nth-child(2){width:110px}
.brief-center-panel .llm-qt-label{font-size:11px;width:110px;}
.brief-center-panel .llm-qt-answer{font-size:11px;}
.brief-center-panel .llm-qt-ans-text{font-size:11px;line-height:1.55;}
.brief-center-panel .llm-qt-score{font-size:16px;width:46px;}
.brief-center-panel .llm-qt-id{font-size:13px;}
.brief-center-panel .llm-header-row{margin-bottom:8px;}
.brief-center-panel .llm-score-country{font-size:22px;}
.brief-center-panel .llm-main-alert{font-size:11px;padding:6px 10px;margin-bottom:10px;}
.brief-center-panel .llm-section-hdr{font-size:9px;padding-top:8px;margin:8px 0 5px;}
.brief-center-panel .q-badge{font-size:9px;padding:2px 7px;}
.brief-center-panel .llm-rec-block{padding:8px 0;margin-top:8px;}
.brief-center-panel .llm-rec-badge{font-size:12px;padding:3px 12px;}
.brief-center-panel .llm-rec{font-size:10px;}
.brief-center-panel .llm-sidebar-alert{font-size:10px;padding:6px 10px;}
.brief-center-panel .llm-disclaimer{font-size:8px;padding-top:8px;margin-top:10px;}

/* ── COUNTDOWN BADGE ─────────────────────────────────────────────────────── */
.countdown-badge{
  font-family:var(--font-mono);font-size:8px;font-weight:700;
  padding:2px 6px;border-radius:3px;border:1px solid;
  letter-spacing:.04em;transition:color .5s,border-color .5s;
}
.countdown-ok    {color:#10b981;border-color:rgba(16,185,129,.35);background:rgba(16,185,129,.08)}
.countdown-soon  {color:#f59e0b;border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.countdown-urgent{color:#ff6b35;border-color:rgba(255,107,53,.35);background:rgba(255,107,53,.08)}
.countdown-ready {
  color:#1a9fff;border-color:rgba(26,159,255,.4);
  background:rgba(26,159,255,.1);
  animation:blink .8s infinite;cursor:pointer;
}

/* ── HEADER CENTER — location info ──────────────────────────────────────── */
.header-center{
  display:flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:9px;
  flex:1;justify-content:center;flex-wrap:nowrap;overflow:hidden;
}
.hdr-loc{
  color:var(--text);font-weight:700;font-size:10px;
  letter-spacing:.04em;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;max-width:200px;
}
.hdr-sep{color:var(--text-muted);opacity:.4;}
.hdr-label{color:var(--text-muted);font-size:8px;letter-spacing:.1em;}
.hdr-meta{color:var(--text-dim);font-size:9px;}
.hdr-countdown{font-size:9px;font-weight:700;}
.hdr-ttl{font-size:9px;color:var(--accent);}

/* ── HEADER CENTER — larger fonts ────────────────────────────────────────── */
.hdr-loc{font-size:12px !important;font-weight:700 !important;}
.hdr-meta{font-size:10px !important;}
.hdr-label{font-size:9px !important;letter-spacing:.08em;}
.hdr-countdown{font-size:10px !important;font-weight:700 !important;}
.hdr-ttl{font-size:10px !important;}
.header-center{gap:10px !important;}

/* ── RESULTS OPEN BUTTON ─────────────────────────────────────────────────── */
.results-open-btn{
  width:100%;padding:9px 14px;
  background:rgba(26,159,255,.1);
  border:1px solid rgba(26,159,255,.35);
  border-radius:4px;
  color:var(--accent);
  font-family:var(--font-mono);font-size:10px;font-weight:700;
  letter-spacing:.1em;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:all .2s;
}
.results-open-btn:hover{
  background:rgba(26,159,255,.2);
  border-color:rgba(26,159,255,.6);
  box-shadow:0 0 12px rgba(26,159,255,.2);
}
.results-btn-dot{color:#10b981;animation:blink 1.5s infinite;}

/* ── RESULTS MODAL ───────────────────────────────────────────────────────── */
.modal-overlay{
  position:fixed;inset:0;z-index:1000;
  background:rgba(4,8,16,.75);
  backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
.modal-box{
  background:var(--bg-panel);
  border:1px solid var(--border-l);
  border-radius:8px;
  width:100%;max-width:900px;
  max-height:85vh;
  display:flex;flex-direction:column;
  box-shadow:0 24px 60px rgba(0,0,0,.6);
  overflow:hidden;
}
.modal-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;
  background:var(--bg);
  border-bottom:1px solid var(--border-l);
  flex-shrink:0;
}
.modal-title{
  display:flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:11px;font-weight:700;
  letter-spacing:.12em;color:var(--text-dim);
}
.modal-close{
  background:transparent;border:1px solid var(--border-l);
  color:var(--text-muted);font-size:14px;cursor:pointer;
  width:28px;height:28px;border-radius:4px;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;line-height:1;
}
.modal-close:hover{background:rgba(255,41,69,.15);border-color:rgba(255,41,69,.4);color:var(--critical);}
.modal-body{
  flex:1;overflow-y:auto;overflow-x:hidden;
  padding:16px 24px 20px;
}

/* ── MODAL BODY — larger fonts ───────────────────────────────────────────── */
.modal-body .llm-qt-label{font-size:13px !important;width:130px !important;}
.modal-body .llm-qt-answer{font-size:13px !important;}
.modal-body .llm-qt-ans-text{font-size:13px !important;line-height:1.6 !important;}
.modal-body .llm-qt-score{font-size:22px !important;width:52px !important;padding-right:12px !important;}
.modal-body .llm-qt-id{font-size:14px !important;}
.modal-body .llm-q-table thead th{font-size:10px !important;}
.modal-body colgroup col:nth-child(2){width:160px !important;}
.modal-body .q-badge{font-size:10px !important;padding:3px 8px !important;}
.modal-body .llm-score-country{font-size:32px !important;}
.modal-body .llm-score-city{font-size:12px !important;}
.modal-body .llm-main-alert{font-size:13px !important;padding:10px 14px !important;}
.modal-body .llm-section-hdr{font-size:11px !important;margin:14px 0 8px !important;}
.modal-body .llm-rec-badge{font-size:16px !important;padding:4px 16px !important;}
.modal-body .llm-rec{font-size:12px !important;}
.modal-body .llm-sidebar-alert{font-size:12px !important;}
.modal-body .llm-disclaimer{font-size:10px !important;}
.llm-final-score-row{display:flex;align-items:center;gap:12px;padding:10px 14px;margin-bottom:8px;background:rgba(26,159,255,0.05);border:0.5px solid rgba(26,159,255,0.2);border-radius:6px;}
.llm-final-score-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;color:var(--text-dim);flex:1;}
.llm-final-score-num{font-family:var(--font-mono);font-size:28px;font-weight:700;line-height:1;}
.llm-final-score-denom{font-size:12px;font-weight:400;opacity:.6;}

/* RESULTS button — loading vs live states */
.results-open-btn .results-btn-dot{display:none;}
.results-open-btn.results-btn-live{
  border-color:rgba(16,185,129,.5);
  background:rgba(16,185,129,.1);
  color:#10b981;
}
.results-open-btn.results-btn-live .results-btn-dot{display:inline;}

/* ── MODAL PRINT BUTTON ──────────────────────────────────────────────────── */
.modal-print-btn{
  display:flex;align-items:center;gap:5px;
  background:transparent;
  border:1px solid var(--border-l);
  color:var(--text-dim);
  font-family:var(--font-mono);font-size:9px;font-weight:700;
  letter-spacing:.08em;padding:4px 10px;border-radius:4px;
  cursor:pointer;transition:all .2s;
}
.modal-print-btn:hover{
  background:rgba(26,159,255,.1);
  border-color:rgba(26,159,255,.4);
  color:var(--accent);
}

/* AI scanning animation on score bar */
@keyframes ai-scan{
  0%{opacity:.3;width:20%}
  50%{opacity:.8;width:85%}
  100%{opacity:.3;width:20%}
}
