.intel-page { max-width:1200px; margin:0 auto; padding:16px 24px 40px; }

/* ── Stats strip ── */
.intel-stats { display:flex; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
.istat {
  flex:1; min-width:120px;
  background:var(--bg-1); border:none; border-radius:12px;
  padding:10px 14px; display:flex; flex-direction:column; box-shadow:var(--card-shadow);
}
.istat-r, .istat-o, .istat-b, .istat-g { /* no accent bars */ }
.istat-top { display:flex; align-items:baseline; gap:5px; }
.istat-v { font-size:20px; font-weight:700; color:var(--text-0); line-height:1; font-variant-numeric:tabular-nums; }
.istat-l { font-size:12px; color:var(--text-3); margin-top:2px; }
.istat-spark { height:14px; display:flex; align-items:end; gap:1px; margin-top:3px; }
.istat-spark div { background:var(--text-3); opacity:.2; border-radius:1px; min-width:2px; flex:1; }
.istat-spark div.has { opacity:.6; }
.istat-fresh { display:inline-flex; align-items:center; gap:3px; font-size:8px; margin-top:2px; color:var(--text-3); }
.fr-dot { width:5px; height:5px; border-radius:50%; }
.fr-live { background:var(--green); }
.fr-recent { background:var(--yellow); }
.fr-stale { background:var(--red); }

/* ── Map layout ── */
.intel-main { display:grid; grid-template-columns:1fr 260px; gap:0; margin-bottom:12px; border-radius:12px; overflow:hidden; border:none; background:var(--bg-1); box-shadow:var(--card-shadow); }
#map { width:100%; height:560px; position:relative; z-index:1; }

/* ── Sidebar ── */
.isb { background:var(--bg-1); border-left:1px solid var(--bg-2); display:flex; flex-direction:column; overflow-y:auto; max-height:560px; }
.isb-s { padding:10px 12px; border-bottom:1px solid var(--bg-2); }
.isb-s:last-child { border-bottom:none; }
.isb-s h3 { margin:0 0 6px; font-size:12px; text-transform:uppercase; letter-spacing:0.8px; color:var(--text-3); font-weight:700; }

/* Layers */
.lrow { display:flex; align-items:center; gap:6px; font-size:12px; color:var(--text-2); cursor:pointer; padding:2px 0; user-select:none; }
.lrow:hover { color:var(--text-0); }
.lrow input { accent-color:var(--text-3); margin:0; width:11px; height:11px; }
.ldot { width:6px; height:6px; border-radius:50%; }
.lrect { width:10px; height:6px; border-radius:1px; }
.ltri { width:0; height:0; border-left:none;color: transparent; border-right:3px solid transparent; }
.lline { width:10px; height:0; border-top:1.5px dashed; opacity:.5; }
.lcnt { font-size:12px; color:var(--text-3); margin-left:auto; font-variant-numeric:tabular-nums; }
.lfresh { display:flex; align-items:center; gap:3px; font-size:8px; color:var(--text-3); margin:1px 0 0 18px; }

/* Site list */
.slist { list-style:none; padding:0; margin:0; }
.slist li { font-size:12px; padding:4px 0; border-bottom:1px solid var(--bg-2); display:flex; justify-content:space-between; align-items:center; cursor:pointer; color:var(--text-2); transition:color .12s; gap:4px; }
.slist li:hover { color:var(--text-0); }
.slist li:last-child { border-bottom:none; }
.slist li.dimmed { opacity:.35; }
.sn { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sb { font-size:8px; font-weight:700; padding:1px 5px; border-radius:6px; background:var(--bg-hover); color:var(--text-3); font-variant-numeric:tabular-nums; flex-shrink:0; }
.sb-hot { background:var(--red-soft); color:var(--red); }
.stier { font-size:8px; color:var(--text-3); margin-right:2px; flex-shrink:0; }

/* Tier filter + empty-site toggle */
.tier-btns { display:flex; gap:3px; margin-bottom:6px; flex-wrap:wrap; }
.tier-btn { font-size:12px; padding:2px 6px; border-radius:6px; border:none; background:none; color:var(--text-3); cursor:pointer; transition:all .12s; }
.tier-btn:hover, .tier-btn.active { background:var(--bg-hover); color:var(--text-0); border-color:var(--text-3); }

/* ── Detail drawer ── */
.drawer { position:absolute; bottom:0; left:0; right:0; background:var(--bg-1); border-top:1px solid var(--bg-2); padding:12px 16px; transform:translateY(100%); transition:transform .25s ease; z-index:900; max-height:200px; overflow-y:auto; }
.drawer.open { transform:translateY(0); }
.drawer-close { position:absolute; top:8px; right:12px; background:none; border:none; color:var(--text-3); cursor:pointer; font-size:14px; }
.drawer-close:hover { color:var(--text-0); }
.drawer-title { font-size:13px; font-weight:600; color:var(--text-0); margin:0 0 6px; padding-right:24px; }
.drawer-body { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; font-size:12px; }
.drawer-body dt { color:var(--text-3); }
.drawer-body dd { color:var(--text-1); margin:0; }
.dbadge { display:inline-block; font-size:12px; font-weight:600; padding:1px 5px; border-radius:6px; margin:2px 2px 0 0; }
.db-r { background:var(--red-soft); color:var(--red); }
.db-o { background:var(--orange-soft); color:var(--orange); }
.db-y { background:var(--yellow-soft); color:var(--yellow); }
.db-b { background:rgba(91,142,219,.1); color:var(--cat-nato); }
.db-g { background:var(--green-soft); color:var(--green); }

/* ── Map marker icons ── */
.micon { display:flex; align-items:center; justify-content:center; border-radius:50%; box-shadow:0 1px 3px rgba(0,0,0,.2); cursor:pointer; line-height:1; transition:transform .12s; }
.micon:hover { transform:scale(1.2); z-index:9999 !important; }
.micon-firms     { width:20px; height:20px; background:rgba(220,74,74,.85); color:#fff; font-size:12px; }
.micon-firms-old { width:14px; height:14px; background:rgba(220,74,74,.3);  color:#ddd; font-size:8px; box-shadow:none; }
.micon-plane     { width:20px; height:20px; background:rgba(212,135,46,.8); color:#fff; font-size:12px; }
.micon-plane-mil { width:24px; height:24px; background:rgba(220,74,74,.85); color:#fff; font-size:13px; border:2px solid rgba(255,255,255,.35); }
.micon-plane-unk { width:20px; height:20px; background:rgba(181,166,58,.8); color:#fff; font-size:12px; }
.micon-ship      { width:16px; height:16px; background:rgba(91,142,219,.6); color:#fff; font-size:12px; box-shadow:none; }
.micon-ship-shadow { width:22px; height:22px; background:rgba(220,74,74,.85); color:#fff; font-size:12px; border:2px solid rgba(255,200,200,.4); }
.micon-ship-naval  { width:22px; height:22px; background:rgba(212,135,46,.8); color:#fff; font-size:12px; border:2px solid rgba(255,220,180,.35); }
.micon-sonde     { width:16px; height:16px; background:rgba(168,85,247,.5); color:#fff; font-size:12px; }
.micon-sonde-wx  { width:6px;  height:6px;  background:rgba(168,85,247,.2); box-shadow:none; border:none; }
.micon-sonde-cb  { width:24px; height:24px; background:rgba(220,74,74,.85); color:#fff; font-size:13px; border:2px solid rgba(255,200,200,.4); animation:mk-pulse 2s ease-in-out infinite; }
@keyframes mk-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(220,74,74,.4);} 50%{box-shadow:0 0 0 8px rgba(220,74,74,0);} }
.jam-icon { font-size:12px; text-align:center; line-height:16px; cursor:pointer; }
.leaflet-control-attribution { display:none !important; }
.leaflet-control-zoom { border:none !important; box-shadow:none !important; margin:8px !important; }
.leaflet-control-zoom a { background:var(--bg-1) !important; color:var(--text-2) !important; border:none !important; border-radius:5px !important; width:24px !important; height:24px !important; line-height:22px !important; font-size:13px !important; margin-bottom:1px !important; }
.leaflet-control-zoom a:hover { background:var(--bg-hover) !important; color:var(--text-0) !important; }
.map-ctrls { position:absolute; bottom:8px; left:8px; z-index:900; display:flex; gap:4px; }
.map-btn { background:var(--bg-1); border:none; border-radius:5px; padding:3px 8px; font-size:12px; color:var(--text-2); cursor:pointer; user-select:none; transition:all .12s; font-family:inherit; }
.map-btn:hover { background:var(--bg-hover); color:var(--text-0); }
.map-btn.active { background:var(--bg-hover); color:var(--text-0); border-color:var(--text-3); }

/* Leaflet popup */
.leaflet-popup-content-wrapper { background:var(--bg-0) !important; color:var(--text-1) !important; border:1px solid var(--bg-hover) !important; border-radius:12px !important; box-shadow:0 8px 28px rgba(0,0,0,.22) !important; padding:0 !important; overflow:hidden !important; }
.leaflet-popup-content { margin:0 !important; font-family:inherit !important; font-size:13px !important; line-height:1.5 !important; max-width:280px; min-width:220px; }
.leaflet-popup-tip-container { overflow:hidden; }
.leaflet-popup-tip { background:var(--bg-0) !important; border:none !important; box-shadow:none !important; }
.leaflet-popup-close-button { color:var(--text-3) !important; font-size:20px !important; font-weight:300 !important; top:8px !important; right:10px !important; width:22px !important; height:22px !important; line-height:20px !important; text-align:center !important; z-index:10 !important; opacity:.6 !important; transition:opacity .15s !important; }
.leaflet-popup-close-button:hover { opacity:1 !important; color:var(--text-0) !important; }
.leaflet-popup { margin-bottom:14px; }
.pp-head { padding:10px 14px 8px; border-bottom:1px solid var(--bg-hover); }
.pp-head .pp-icon { font-size:14px; margin-right:4px; }
.pp-head .pp-name { font-weight:700; font-size:13px; color:var(--text-0); }
.pp-body { padding:8px 14px 10px; }
.pp-badge { display:inline-block; padding:1px 7px; border-radius:4px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.3px; }
.pp-badge-high { background:rgba(239,68,68,.12); color:var(--red); }
.pp-badge-mod  { background:rgba(249,115,22,.12); color:var(--orange,#f97316); }
.pp-badge-low  { background:rgba(34,197,94,.12); color:var(--green); }
.pp-meta { font-size:11px; color:var(--text-3); margin-top:4px; }
.pp-summary { font-size:11.5px; color:var(--text-2); margin-top:6px; line-height:1.45; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.pp-link { display:inline-block; margin-top:6px; font-size:11px; font-weight:600; color:var(--accent); text-decoration:none; }
.pp-link:hover { text-decoration:underline; }
/* Legacy .pt/.pd still used by some popups */
.pt { font-weight:600; font-size:13px; color:var(--text-0); margin-bottom:4px; padding-right:18px; }
.pd { color:var(--text-2); font-size:12px; line-height:1.5; }
.pd strong { color:var(--text-1); font-weight:600; }
.country-tooltip { background:var(--bg-1) !important; color:var(--text-2) !important; border:none !important; border-radius:6px !important; padding:2px 6px !important; font-size:10px !important; box-shadow:none !important; font-family:inherit !important; }
.country-tooltip::before { display:none !important; }

/* ── Bottom cards ── */
.intel-bottom { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
.icard { background:var(--bg-1); border:none; border-radius:12px; padding:12px 14px; }
.icard h3 { margin:0 0 6px; font-size:12px; text-transform:uppercase; letter-spacing:.6px; color:var(--text-3); font-weight:700; }
.icard-text { font-size:12px; line-height:1.5; color:var(--text-2); }
.icard-text strong { color:var(--text-1); }

/* ── IMINT activity markers ── */
.imint-mk { border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:8px; font-weight:800; letter-spacing:.5px; color:#fff; cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,.3); transition:transform .12s; border:1.5px solid rgba(255,255,255,.3); text-shadow:0 1px 1px rgba(0,0,0,.4); line-height:1; }
.imint-mk:hover { transform:scale(1.15); z-index:9999 !important; }
.imint-HIGH { background:rgba(220,74,74,.9); min-width:38px; min-height:18px; }
.imint-MODERATE { background:rgba(212,135,46,.85); min-width:30px; min-height:16px; }
.imint-LOW { background:rgba(34,120,60,.8); min-width:26px; min-height:14px; font-size:7px; }

/* ── Analysis summary strip ── */
.anal-strip { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:6px; margin-bottom:10px; }
.anal-card { background:var(--bg-1); border:none; border-radius:10px; padding:7px 10px; display:flex; align-items:center; gap:8px; cursor:pointer; transition:border-color .12s; text-decoration:none; }
.anal-card:hover { border-color:var(--text-3); }
.anal-dot { width:10px; height:10px; border-radius:6px; flex-shrink:0; }
.anal-dot-HIGH { background:var(--red); }
.anal-dot-MODERATE { background:var(--orange); }
.anal-dot-LOW { background:var(--green); }
.anal-name { font-size:11px; font-weight:600; color:var(--text-0); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.anal-level { font-size:9px; font-weight:700; margin-left:auto; flex-shrink:0; padding:1px 5px; border-radius:6px; }
.anal-level-HIGH { background:var(--red-soft); color:var(--red); }
.anal-level-MODERATE { background:var(--orange-soft); color:var(--orange); }
.anal-level-LOW { background:var(--green-soft); color:var(--green); }
.anal-meta { font-size:8px; color:var(--text-3); }

/* ── GPS jam zone pulse ── */
@keyframes jam-pulse { 0%,100%{opacity:.12;} 50%{opacity:.28;} }
.jam-zone { animation: jam-pulse 3s ease-in-out infinite; }

/* ── NOTAM danger area ── */
.notam-icon { background:none; border:none; }
.notam-dot { width:12px; height:12px; border-radius:50%; border:2px dashed var(--orange); background:rgba(212,135,46,.15); position:relative; }
.notam-dot::after { content:'⚠'; position:absolute; top:-2px; left:1px; font-size:7px; }

/* ── Vessel track line ── */
.track-label { background:var(--bg-1) !important; border:none !important; border-radius:6px !important; padding:1px 4px !important; font-size:8px !important; color:var(--text-2) !important; box-shadow:none !important; white-space:nowrap !important; font-family:inherit !important; }
.track-label::before { display:none !important; }
.loiter-ring { animation: loiter-pulse 2s ease-in-out infinite; }
@keyframes loiter-pulse { 0%,100%{opacity:.15;stroke-width:2;} 50%{opacity:.4;stroke-width:3;} }

/* ── Geo-mention bubble ── */
.mention-bubble { border-radius:50%; border:1.5px solid var(--green); display:flex; align-items:center; justify-content:center; font-size:8px; font-weight:700; color:var(--green); background:rgba(34,197,94,.08); font-family:inherit; font-variant-numeric:tabular-nums; }

/* ── Information battlespace markers ── */
.info-cluster {
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700; color:#fff; cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.3); transition:transform .12s;
  border:2px solid rgba(255,255,255,.3);
}
.info-cluster:hover { transform:scale(1.15); z-index:9999 !important; }
.campaign-mk {
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  font-size:9px; font-weight:700; color:#fff; cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.35); transition:transform .12s;
  border:2px solid rgba(255,255,255,.35);
  min-width:24px; min-height:24px; padding:2px 4px;
  animation:campaign-pulse 2.5s ease-in-out infinite;
}
.campaign-mk:hover { transform:scale(1.15); z-index:9999 !important; }
@keyframes campaign-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(220,74,74,.3);} 50%{box-shadow:0 0 0 6px rgba(220,74,74,0);} }
.tg-target-mk {
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:10px; cursor:pointer; box-shadow:0 1px 3px rgba(0,0,0,.2);
  transition:transform .12s; border:1.5px dashed rgba(168,85,247,.5);
  background:rgba(168,85,247,.1);
}
.tg-target-mk:hover { transform:scale(1.15); z-index:9999 !important; }
.info-legend {
  position:absolute; bottom:40px; left:8px; z-index:900;
  background:var(--bg-1); border-radius:8px; padding:8px 10px;
  font-size:10px; color:var(--text-2); box-shadow:0 2px 8px rgba(0,0,0,.15);
  max-width:200px;
}
.info-legend h4 { margin:0 0 4px; font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:var(--text-3); }
.info-legend-row { display:flex; align-items:center; gap:5px; margin:2px 0; }
.info-legend-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.info-legend-rect { width:10px; height:10px; border-radius:3px; flex-shrink:0; }

/* ── Energy flow labels ── */
.energy-label { background:var(--bg-1) !important; border:none !important; border-radius:10px !important; padding:2px 6px !important; font-size:10px !important; font-weight:600 !important; box-shadow:none !important; white-space:nowrap !important; font-family:inherit !important; }
.energy-label::before { display:none !important; }
.eflow-import { color:var(--red) !important; }
.eflow-export { color:var(--green) !important; }

@media (max-width:1000px) {
  .intel-main { grid-template-columns:1fr; }
  .isb { max-height:none; border-left:none; border-top:1px solid var(--border-subtle); }
  .intel-bottom { grid-template-columns:1fr; }
  #map { height:400px; }
}
@media (max-width:600px) {
  .intel-page { padding:8px 10px 24px; }
  .intel-stats { gap:6px; }
  .istat { min-width:90px; }
  .istat-v { font-size:18px; }
  #map { height:300px; }
}
