*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg0:#080e17;--bg1:#0d1622;--bg2:#111e2e;--bg3:#172238;--bg4:#1d2d47;
  --b1:#1e2f48;--b2:#263c5a;--b3:#2f4d73;
  --t1:#e8eef8;--t2:#9ab4cc;--t3:#5a7a9a;--t4:#2d4a6b;
  --blue:#378ADD;--green:#1D9E75;--amber:#EF9F27;--red:#E24B4A;--purple:#7F77DD;--teal:#1d9e9e;
  --r:8px;--r2:12px;
}
body{background:var(--bg0);color:var(--t1);font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;height:100vh;overflow:hidden;display:flex;flex-direction:column}

/* FEDERAL CLASSIFICATION BAR */
.fed-classbar{height:22px;background:#1a0a00;border-bottom:1px solid #5c2a00;display:flex;align-items:center;justify-content:center;gap:32px;flex-shrink:0}
.fed-classbar-text{font-size:10px;font-weight:700;letter-spacing:.12em;color:#cc6600}
.fed-classbar-badge{font-size:9px;font-weight:700;padding:1px 8px;border-radius:3px;background:#5c2a00;color:#ffaa44;letter-spacing:.08em}

/* LOGIN OVERLAY */

.login-box{background:var(--bg1);border:1px solid var(--b2);border-radius:16px;padding:40px;width:400px;text-align:center}
.login-logo{font-size:20px;font-weight:800;letter-spacing:.1em;color:var(--blue);margin-bottom:4px}
.login-sub{font-size:11px;color:var(--t3);margin-bottom:24px;line-height:1.6}
.login-input{width:100%;background:var(--bg3);border:0.5px solid var(--b2);color:var(--t1);padding:10px 14px;border-radius:8px;font-size:13px;font-family:inherit;outline:none;margin-bottom:10px}
.login-input:focus{border-color:var(--blue)}
.login-btn{width:100%;padding:11px;background:var(--blue);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;margin-bottom:12px}
.login-btn:hover{background:#2a6fb8}
.login-notice{font-size:10px;color:var(--t4);line-height:1.6;border-top:0.5px solid var(--b1);padding-top:12px;margin-top:4px}
.cac-btn{width:100%;padding:10px;background:transparent;border:0.5px solid var(--green);color:var(--green);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;margin-bottom:10px}

.topbar{display:flex;flex-direction:column;background:var(--bg1);border-bottom:1px solid var(--b1);flex-shrink:0;position:relative;z-index:200}
.logo{font-size:15px;font-weight:700;letter-spacing:0.08em;color:var(--blue);display:flex;align-items:center;gap:8px}
.logo-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}
.live-badge{font-size:10px;background:var(--red);color:#fff;padding:2px 7px;border-radius:10px;font-weight:600;letter-spacing:0.06em;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.65}}
.topbar-mid{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;overflow-x:auto}
.topbar-mid::-webkit-scrollbar{display:none}
.nav-tab{font-size:11px;color:var(--t3);padding:4px 8px;border-radius:6px;cursor:pointer;border:none;background:transparent;font-family:inherit;transition:.15s;display:flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}
.nav-tab:hover{color:var(--t2);background:var(--bg3)}
.nav-tab.active{color:var(--t1);background:var(--bg4);border:0.5px solid var(--b2)}
.nav-tab i{font-size:12px}
.topbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.clock{font-size:12px;font-family:monospace;color:var(--t3)}
.notif-btn{position:relative;background:transparent;border:0.5px solid var(--b1);color:var(--t3);padding:5px 8px;border-radius:6px;cursor:pointer;font-size:11px;font-family:inherit;display:flex;align-items:center;gap:4px;white-space:nowrap}
.badge{background:var(--red);color:#fff;border-radius:10px;padding:1px 5px;font-size:10px;font-weight:600}
.main{flex:1;display:grid;grid-template-columns:200px 1fr 220px;overflow:hidden}
.sidebar{background:var(--bg1);border-right:1px solid var(--b1);display:flex;flex-direction:column;overflow:hidden}
.panel{background:var(--bg1);border-left:1px solid var(--b1);display:flex;flex-direction:column;overflow:hidden}
.sidebar-header{padding:8px 14px;font-size:10px;font-weight:600;letter-spacing:0.08em;color:var(--t3);border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.sidebar-body{flex:1;overflow-y:auto;padding:8px}
.sidebar-body::-webkit-scrollbar{width:3px}
.sidebar-body::-webkit-scrollbar-thumb{background:var(--b2);border-radius:2px}
.inc-card{border-radius:var(--r);border-left:3px solid transparent;padding:8px 10px;margin-bottom:5px;cursor:pointer;transition:.15s;background:var(--bg2)}
.inc-card:hover{background:var(--bg3)}
.inc-card.active-sel{background:var(--bg4);border-color:var(--blue)}
.p1{border-left-color:var(--red)!important}
.p2{border-left-color:var(--amber)!important}
.p3{border-left-color:var(--blue)!important}
.pri-badge{font-size:9px;font-weight:700;padding:2px 6px;border-radius:10px;letter-spacing:.04em}
.unit-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r);margin-bottom:3px;cursor:pointer;background:var(--bg2);transition:.15s}
.unit-row:hover{background:var(--bg3)}
.unit-row.sel{background:var(--bg4);outline:1px solid var(--b3)}
.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.map-area{position:relative;overflow:hidden;background:var(--bg0)}
canvas#map{display:block;width:100%;height:100%}
.map-overlay{position:absolute;top:10px;left:10px;display:flex;flex-direction:column;gap:5px;pointer-events:none}
.map-badge{background:rgba(8,14,23,.85);border:0.5px solid var(--b2);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--t2);backdrop-filter:blur(4px)}
.map-controls{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px}
.map-btn{background:rgba(13,22,34,.9);border:0.5px solid var(--b2);color:var(--t2);width:30px;height:30px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:.15s}
.map-btn:hover{color:var(--t1);border-color:var(--b3)}
.map-btn.on{color:var(--blue);border-color:var(--blue)}
.sel-panel{position:absolute;bottom:8px;left:8px;right:8px;background:rgba(13,22,34,.96);border:0.5px solid var(--b3);border-radius:var(--r2);padding:10px 12px;backdrop-filter:blur(8px)}
.btn{padding:5px 12px;font-size:12px;border-radius:6px;cursor:pointer;font-family:inherit;border:0.5px solid var(--b2);background:var(--bg3);color:var(--t1);transition:.15s;display:inline-flex;align-items:center;gap:5px}
.btn:hover{background:var(--bg4);border-color:var(--b3)}
.btn.primary{background:rgba(55,138,221,.15);border-color:var(--blue);color:var(--blue)}
.btn.primary:hover{background:rgba(55,138,221,.25)}
.btn.danger{background:rgba(226,75,74,.12);border-color:var(--red);color:var(--red)}
.metric-grid{display:grid;gap:5px}
.metric{background:var(--bg3);border-radius:6px;padding:7px 10px;text-align:center}
.metric-label{font-size:10px;color:var(--t3);margin-bottom:2px}
.metric-val{font-size:16px;font-weight:500}
.panel-section{border-bottom:1px solid var(--b1);padding:10px 14px;flex-shrink:0}
.panel-section:last-child{border-bottom:none;flex:1;overflow-y:auto}
.radio-msg{padding:7px 10px;border-radius:var(--r);margin-bottom:4px;font-size:12px;line-height:1.5;border-left:2px solid transparent}
.radio-msg.dispatch{border-left-color:var(--amber);background:rgba(239,159,39,.06)}
.radio-msg.unit{border-left-color:var(--blue);background:rgba(55,138,221,.06)}
.radio-msg.command{border-left-color:var(--purple);background:rgba(127,119,221,.06)}
.radio-msg.mayday{border-left-color:var(--red);background:rgba(226,75,74,.1);animation:pulse 1s infinite}
.msg-from{font-size:10px;font-weight:600;letter-spacing:.04em;margin-bottom:2px}
.msg-time{font-size:10px;color:var(--t4);margin-top:2px}
.radio-input-row{display:flex;gap:5px;padding:8px 14px;border-top:1px solid var(--b1);flex-shrink:0}
.radio-input{flex:1;background:var(--bg3);border:0.5px solid var(--b2);color:var(--t1);padding:6px 10px;border-radius:6px;font-size:12px;font-family:inherit;outline:none}
.radio-input:focus{border-color:var(--b3)}
.tx-btn{background:var(--blue);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit;font-weight:500}
.tx-btn:hover{background:#2070bb}
.zone-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;margin-bottom:4px;background:var(--bg2);font-size:11px;cursor:pointer;transition:.15s}
.zone-row:hover{background:var(--bg3)}
.zone-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}
.integration-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;background:var(--bg2);margin-bottom:4px;font-size:12px}
.conn-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.conn-dot.live{background:var(--green)}
.conn-dot.warn{background:var(--amber)}
.conn-dot.off{background:var(--t4)}
.tab-bar{display:flex;gap:1px;background:var(--bg0);border-bottom:1px solid var(--b1);flex-shrink:0}
.tab-item{flex:1;padding:7px 4px;font-size:10px;color:var(--t3);border:none;background:transparent;cursor:pointer;font-family:inherit;transition:.15s;letter-spacing:.04em;display:flex;align-items:center;justify-content:center;gap:4px}
.tab-item:hover{color:var(--t2);background:var(--bg2)}
.tab-item.active{color:var(--t1);background:var(--bg2);border-bottom:2px solid var(--blue)}
.tab-item i{font-size:12px}
.hidden{display:none!important}
#panel-details{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
#detail-content{min-width:0;max-width:100%;overflow-x:hidden;word-wrap:break-word;overflow-wrap:break-word}

/* ─── MODALS ─────────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(4,8,15,.85);z-index:1000;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.modal-box{background:var(--bg1);border:1px solid var(--b1);border-radius:14px;width:560px;max-width:95vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.modal-header{padding:16px 20px;border-bottom:1px solid var(--b1);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.modal-title{font-size:14px;font-weight:700;color:var(--t1)}
.modal-close{background:none;border:none;color:var(--t3);cursor:pointer;font-size:18px;line-height:1;padding:2px 6px;border-radius:4px}
.modal-close:hover{color:var(--t1);background:var(--bg3)}
.modal-body{padding:18px 20px;overflow-y:auto;flex:1}
.modal-footer{padding:12px 20px;border-top:1px solid var(--b1);display:flex;gap:8px;justify-content:flex-end;flex-shrink:0}
.mf-label{font-size:10px;font-weight:700;color:var(--t3);letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px}
.mf-input{width:100%;background:var(--bg2);border:1px solid var(--b1);border-radius:7px;padding:8px 11px;color:var(--t1);font-size:12px;font-family:inherit;outline:none;transition:.15s}
.mf-input:focus{border-color:var(--blue)}
.mf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.mf-field{margin-bottom:14px}
.btn-pri{padding:8px 18px;background:var(--blue);color:#fff;border:none;border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.btn-pri:hover{background:#2a6fb5}
.btn-ghost{padding:8px 18px;background:var(--bg2);color:var(--t2);border:1px solid var(--b1);border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.btn-ghost:hover{background:var(--bg3)}
.btn-danger{padding:8px 18px;background:rgba(226,75,74,.15);color:var(--red);border:1px solid rgba(226,75,74,.3);border-radius:7px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:.15s}
.btn-danger:hover{background:rgba(226,75,74,.25)}
/* AI recommendation chip */
.ai-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:12px;font-size:10px;font-weight:700;cursor:pointer;transition:.15s}
.ai-chip.best{background:rgba(29,158,117,.15);color:var(--green);border:1px solid rgba(29,158,117,.25)}
.ai-chip.good{background:rgba(55,138,221,.1);color:var(--blue);border:1px solid rgba(55,138,221,.2)}
.ai-chip.busy{background:rgba(239,159,39,.1);color:var(--amber);border:1px solid rgba(239,159,39,.2)}
/* Unit status board */
.ustatus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.ustatus-card{background:var(--bg2);border:1px solid var(--b1);border-radius:9px;padding:10px;cursor:pointer;transition:.15s}
.ustatus-card:hover{border-color:var(--blue);background:var(--bg3)}
.ustatus-card.selected{border-color:var(--blue);background:rgba(55,138,221,.07)}
.nav-strip{position:absolute;top:0;left:0;right:0;background:rgba(12,58,110,.96);padding:10px 14px;backdrop-filter:blur(8px);border-bottom:0.5px solid #1e4a80;z-index:5}
.nav-instruction{font-size:15px;font-weight:500;color:#d4dbe8}
.nav-sub{font-size:11px;color:#5a90c8;margin-top:3px}
.route-list{position:absolute;top:66px;left:0;bottom:0;width:200px;background:rgba(8,14,23,.93);border-right:0.5px solid var(--b1);overflow-y:auto;z-index:10;padding:5px}

/* ICS ACTIVITY LOG */
.ics-entry{padding:7px 10px;border-bottom:0.5px solid var(--b1);font-size:11px;display:flex;gap:8px}
.ics-time{color:var(--t4);font-family:monospace;flex-shrink:0;font-size:10px}
.ics-who{color:var(--blue);font-weight:600;flex-shrink:0;min-width:60px}
.ics-what{color:var(--t2);flex:1;line-height:1.5}

/* SITREP */
.sitrep-section{margin-bottom:12px}
.sitrep-label{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--t3);margin-bottom:5px;text-transform:uppercase}
.sitrep-value{font-size:12px;color:var(--t2);line-height:1.6;background:var(--bg2);padding:8px;border-radius:6px}

/* No external icon CDN — icons replaced with emoji */
.nav-pick-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:7px;margin-bottom:4px;cursor:pointer;background:var(--bg2);border:1px solid var(--b1);font-size:12px;color:var(--t1);user-select:none}
.nav-pick-row:hover{background:var(--bg3)}
.nav-pick-row.sel{background:#1a2e4a!important;border-color:#378ADD!important}
.nav-pick-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

.kb-article-body h3{font-size:15px;font-weight:700;color:var(--t1);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--b1)}
.kb-article-body h4{font-size:12px;font-weight:700;color:var(--t1);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.kb-article-body ul,.kb-article-body ol{padding-left:18px;margin:6px 0}
.kb-article-body li{margin-bottom:4px;color:var(--t2)}
.kb-article-body table{width:100%;border-collapse:collapse;margin:8px 0;font-size:11px}
.kb-article-body th{background:var(--bg3);color:var(--t1);padding:6px 8px;text-align:left;border:0.5px solid var(--b2)}
.kb-article-body td{padding:5px 8px;border:0.5px solid var(--b1);color:var(--t2)}
.kb-article-body p{margin:6px 0;color:var(--t2)}
.kb-article-body .kb-ref{font-size:10px;color:var(--t4);border-top:0.5px solid var(--b1);padding-top:8px;margin-top:14px}
.kb-article-body .kb-alert{background:rgba(239,159,39,.1);border-left:3px solid var(--amber);padding:8px 12px;border-radius:0 6px 6px 0;color:var(--amber);font-weight:600;margin:8px 0}
.kb-article-body strong{color:var(--t1)}

/* ═══════════════════════════════════════════════════════
   MOBILE RESPONSIVE — Full CAD on any screen width
   ═══════════════════════════════════════════════════ */
@media(max-width:1024px){

  /* ── LAYOUT ── */
  #shell{flex-direction:column}
  #sidebar{display:none!important}
  #center{width:100%!important;min-width:0!important}
  #rightpanel{display:none!important}

  /* ── TOPBAR ── */
  #topbar{padding:0 8px;gap:6px;height:48px;overflow-x:auto;overflow-y:hidden;flex-shrink:0}
  #topbar::-webkit-scrollbar{display:none}
  .tb-logo{font-size:13px;letter-spacing:.06em}
  .tb-logo .dot{width:7px;height:7px}
  .tb-btn{padding:4px 8px;font-size:10px;min-width:auto;flex-shrink:0}
  .tb-clock{font-size:11px;min-width:auto}
  .tb-section-label{display:none}
  #tb-channel{max-width:80px;font-size:10px}
  .tb-badge{font-size:8px;padding:1px 4px}

  /* ── MOBILE BOTTOM NAV ── */
  #mobile-nav{
    display:flex!important;
    position:fixed;bottom:0;left:0;right:0;
    background:#080e17;
    border-top:1px solid #1e2f48;
    height:56px;
    z-index:200;
    flex-shrink:0;
    padding-bottom:env(safe-area-inset-bottom);
  }
  .mn-btn{
    flex:1;display:flex;flex-direction:column;align-items:center;
    justify-content:center;gap:2px;
    background:none;border:none;cursor:pointer;
    font-family:inherit;padding:4px 2px;
    color:#2d4a6b;font-size:9px;font-weight:600;
    letter-spacing:.04em;text-transform:uppercase;
    transition:.15s;
  }
  .mn-btn.active{color:#378ADD}
  .mn-btn .mn-icon{font-size:18px;line-height:1}
  .mn-btn.active .mn-icon{filter:drop-shadow(0 0 4px #378ADD)}

  /* ── CENTER CONTENT AREA ── */
  #center{padding-bottom:56px!important}
  .view-content{padding:10px 10px!important}

  /* ── DISPATCH MAP ── */
  #dispatch-map{height:220px!important;min-height:180px!important}
  .map-unit-dot{width:10px!important;height:10px!important}
  .dispatch-bottom{flex-direction:column!important;gap:8px!important}
  .dispatch-incidents{width:100%!important;max-height:220px!important}
  .dispatch-units{width:100%!important;max-height:160px!important}

  /* ── INCIDENT CARDS ── */
  .inc-card{padding:10px 12px!important;margin-bottom:8px!important}
  .inc-header{flex-wrap:wrap!important;gap:4px!important}
  .inc-address{font-size:11px!important}
  .inc-units{flex-wrap:wrap!important;gap:3px!important}

  /* ── RADIO ── */
  .radio-messages{max-height:280px!important}
  .radio-msg{padding:8px 10px!important;font-size:11px!important}
  .radio-channels{flex-wrap:wrap!important;gap:4px!important}
  .rc-btn{padding:5px 8px!important;font-size:10px!important}

  /* ── KNOWLEDGE BASE ── */
  .kb-layout{flex-direction:column!important}
  .kb-sidebar{width:100%!important;max-height:160px!important;overflow-x:auto!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:6px!important;padding:8px!important}
  .kb-cat-btn{white-space:nowrap!important;flex-shrink:0!important}
  .kb-article-list{max-height:180px!important}
  .kb-content{font-size:12px!important}

  /* ── NG911 ── */
  .ng911-layout{flex-direction:column!important}
  .ng911-left{width:100%!important;min-width:0!important}
  .ng911-right{width:100%!important}
  .ng911-queue{max-height:160px!important}

  /* ── FIRE / LE / EMS VIEWS ── */
  .ops-grid{grid-template-columns:1fr!important}
  .ops-card{padding:10px!important}

  /* ── INTEGRATIONS ── */
  .int-grid{grid-template-columns:1fr!important}
  .ipfsa-layout{flex-direction:column!important}
  .ipfsa-buildings{width:100%!important;max-height:160px!important;overflow-y:auto!important}
  .ipfsa-detail{width:100%!important}

  /* ── ANALYTICS ── */
  .analytics-grid{grid-template-columns:1fr 1fr!important}
  .stat-cards{grid-template-columns:1fr 1fr!important}

  /* ── MODALS ── */
  .modal-box{width:95%!important;max-width:95vw!important;margin:16px!important;max-height:85vh!important;overflow-y:auto!important}
  .modal-header{padding:12px 14px!important;font-size:13px!important}
  .modal-body{padding:12px!important}

  /* ── FORMS & INPUTS ── */
  input,select,textarea{font-size:16px!important} /* prevents iOS zoom */

  /* ── TABLES ── */
  table{font-size:10px!important}
  th,td{padding:6px 8px!important}

  /* ── SECTION HEADERS ── */
  .section-header{font-size:11px!important;padding:8px 10px!important}
  .view-title{font-size:14px!important}

  /* ── HIDE NON-ESSENTIAL DESKTOP ELEMENTS ── */
  .desktop-only{display:none!important}
  .topbar-divider{display:none!important}

}

@media(max-width:480px){
  #topbar{height:44px}
  .tb-logo{font-size:12px}
  .analytics-grid{grid-template-columns:1fr!important}
  .stat-cards{grid-template-columns:1fr 1fr!important}
  #dispatch-map{height:180px!important}
}
/* Mobile/tablet: tabs keep full width and scroll sideways instead of squishing */
#tab-row .nav-tab {
  flex-shrink: 0;
  white-space: nowrap;
}
#tab-row {
  scrollbar-width: none;
}
#tab-row::-webkit-scrollbar {
  display: none;
}

/* Mobile/tablet: disable blur effects - major iOS Safari performance drain */
@media (max-width: 1024px) {
  * {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* Mobile/tablet: unlock page scrolling - desktop layout locks body height */
@media (max-width: 1024px) {
  body {
    height: auto !important;
    min-height: 100dvh;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .main {
    overflow: visible !important;
    grid-template-columns: 1fr !important;
  }
}

/* ═══ MOBILE LAYOUT FIX: map rules to real selectors (.main/.sidebar/.panel) ═══ */
@media (max-width: 1024px) {
  .main {
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    padding-bottom: 64px; /* keep content clear of bottom nav */
  }
  .sidebar {
    width: 100% !important;
    border-right: none !important;
    border-bottom: 1px solid var(--b1);
    overflow: visible !important;
  }
  .sidebar-body {
    overflow-y: visible !important;
    max-height: none !important;
  }
  .panel {
    width: 100% !important;
    border-left: none !important;
    border-top: 1px solid var(--b1);
    overflow: visible !important;
  }
  #panel-details {
    overflow: visible !important;
  }
  .map-area {
    height: 260px !important;
    min-height: 260px !important;
    flex-shrink: 0;
  }
}

/* ═══ MOBILE POLISH v2: CUI banner, notch inset, header spacing ═══ */
@media (max-width: 1024px) {
  /* Classification banner: single line with ellipsis, padded below the notch */
  .fed-classbar {
    height: auto !important;
    min-height: 22px;
    padding: env(safe-area-inset-top, 0px) 10px 2px 10px;
    gap: 8px !important;
  }
  .fed-classbar-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    flex-shrink: 1;
  }
  .fed-classbar-badge { flex-shrink: 0; }

  /* Space between section label and count (e.g. ACTIVE INCIDENTS  3) */
  .sidebar-header { gap: 6px; }
}
