/* ═══════════════════════════════════════════════════════════════════════════
   base.css — CSS custom properties, resets, theme variants, root layout
   ═══════════════════════════════════════════════════════════════════════════ */

html{overflow-x:hidden;overflow-y:hidden}
body{margin:0;padding:0;height:100%;width:100%;overflow:hidden;overflow-x:hidden;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}
:root{
  --bg:#0d1117;--bg2:#111827;--bg3:#0a0f1a;
  --border:#1e293b;--border2:#1a2332;
  --text:#f8fafc;--text2:#e2e8f0;--text3:#64748b;--text4:#475569;
  --accent:#0ea5e9;--accent2:#0284c7;
  --live:#22c55e;--pend:#f59e0b;
  --row-hover:#0a0f1a;
  --card-bg:#111827;
  --hdr-bg:#0d1117;
  --tag-gov-bg:rgba(59,130,246,.15);--tag-gov:rgba(59,130,246,.15);--tag-gov-c:#60a5fa;
  --tag-health-bg:rgba(20,184,166,.15);--tag-health-c:#2dd4bf;
  --tag-nfp-bg:rgba(168,85,247,.15);--tag-nfp-c:#c084fc;
  --dot-live-glow:none;--stat-glow:none;
  --shimmer-dur:.55s;
  --font:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --shimmer-color:rgba(255,255,255,.22);
  --shimmer-clr2:rgba(255,255,255,.08);
}
body.theme-blue{--bg:#070c18;--bg2:#0c1527;--bg3:#060a14;--border:#1a2d4a;--border2:#142238;--hdr-bg:#070c18;--card-bg:#0c1527;--row-hover:#0a1422;--accent:#3b82f6;--accent2:#2563eb;}
body.theme-midnight{--bg:#09050f;--bg2:#120a1f;--bg3:#060308;--border:#2a1445;--border2:#1e0f33;--hdr-bg:#09050f;--card-bg:#120a1f;--row-hover:#0f0819;--accent:#8b5cf6;--accent2:#7c3aed;}
body.theme-shiny{--bg:#080d14;--bg2:#0f1824;--bg3:#060a10;--border:#1e3a5f;--border2:#172d4a;--hdr-bg:#080d14;--card-bg:#0f1824;--row-hover:#0c1520;--accent:#06b6d4;--accent2:#0891b2;--dot-live-glow:0 0 8px rgba(34,197,94,.6);--stat-glow:0 0 20px rgba(6,182,212,.1);}
body.theme-chrome{--bg:#070d12;--bg2:#0c1820;--bg3:#0a1520;--hdr-bg:#040c12;--card-bg:#0c1820;--border:#0e3d4a;--border2:#0a2d38;--row-hover:rgba(6,182,212,.06);--accent:#06b6d4;--accent2:#0891b2;--live:#06b6d4;--text:#d0f4fb;--text2:#a8e6f0;--text3:#5bb5cc;--text4:#3a7d8c;--stat-glow:0 0 20px rgba(6,182,212,.18)}

/* Root app container */
#nrt-app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:100%;overflow-x:hidden;background:var(--bg);font-family:var(--font);color:var(--text2);overflow-y:hidden}
body.effects-on #nrt-app{background:linear-gradient(160deg,var(--bg) 0%,var(--bg2) 60%,var(--bg) 100%)}

/* ── Light theme ─────────────────────────────────────────────────── */
body.theme-light{
  --bg:#f8fafc;--bg2:#f1f5f9;--bg3:#e2e8f0;
  --hdr-bg:#1e40af;--card-bg:#ffffff;
  --border:#cbd5e1;--border2:#e2e8f0;
  --row-hover:rgba(0,0,0,.04);
  --text:#0f172a;--text2:#1e293b;--text3:#334155;--text4:#64748b;
  --accent:#2563eb;--accent2:#1d4ed8;
  --live:#16a34a;--pend:#d97706;
  --tag-gov-bg:rgba(37,99,235,.1);--tag-gov-c:#1d4ed8;
  --tag-health-bg:rgba(109,40,217,.1);--tag-health-c:#7c3aed;
  --tag-nfp-bg:rgba(22,163,74,.1);--tag-nfp-c:#15803d;
}
body.theme-light .nav-header{background:#1e40af}
body.theme-light .tab{color:rgba(255,255,255,.7)}
body.theme-light .tab.active{background:rgba(255,255,255,.25);color:#fff;font-weight:600}
body.theme-light #nrt-app{background:var(--bg)}
body.theme-light .client-row{color:var(--text)}
body.theme-light .client-name{color:var(--text)}
body.theme-light .client-domain{color:var(--text3)}
body.theme-light .stat-card{background:#fff;border-color:#d1d5db}
body.theme-light .stat-val{color:var(--text)}
body.theme-light .stat-label{color:var(--text4)}
body.theme-light .tbl-hdr-wrap{background:var(--bg3);color:var(--text3)}
body.theme-light .modal{background:#fff;color:var(--text)}
body.theme-light .sm-icon-wrap{font-size:32px;width:56px;height:56px;border-radius:14px;background:var(--bg3);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}
body.theme-light .page-hdr,.page-subhdr{color:var(--text)}
body.theme-light .attention-bar{background:#fef3c7;border-color:#fcd34d;color:#92400e}
body.theme-light .user-menu,body.theme-light .theme-panel{background:#fff!important;border-color:#e2e8f0!important;color:var(--text)!important}
body.theme-light .um-item{color:var(--text)!important}
body.theme-light .health-panel{background:#fff}
body.theme-light .outages-view,.ep-summary,.ep-wf-card,.ep-table,.ep-row{background:var(--card-bg);color:var(--text)}
body.theme-light .tab.active{background:rgba(255,255,255,.2);color:#fff}
