/* CGK·router unified theme — single source of truth for dash / optimizer / firms
   (and FPA / screener once wired). Loaded AFTER each page's inline <style> so it wins.
   Strategy: remap the EXISTING css var NAMES to the night palette, so every existing
   component rule adopts the new look automatically — minimal per-page churn. */
@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#080b10;
  --surface:#10151e;
  --surface-2:#161d29;
  --border:#1f2733;
  --border-strong:#2c3744;
  --text:#f0f5fb;
  --text-muted:#aab6c6;
  --text-dim:#6b7889;
  --info-bg:#11213a; --info-fg:#5a97f8;
  --ok-bg:#102217;  --ok-fg:#46c75a;  --ok-bar:#2f9f46;
  --warn-bg:#231d10; --warn-fg:#d9a441; --warn-bar:#b07d1c;
  --risk-bg:#281318; --risk-fg:#e5687f; --risk-bar:#a3303f;
  --pa-bg:#1b1730;  --pa-fg:#b39ddb;
  --eval-bg:#0f201a; --eval-fg:#7fc99a;
  --demo-bg:#231e12; --demo-fg:#c4a574;
  --radius:8px;
  --accent:#5a97f8;
}

body{ font-family:'Archivo',-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif; zoom:1.07; }
.mono,.num,code,kbd{ font-family:'JetBrains Mono',ui-monospace,"SF Mono",Monaco,monospace; }
::selection{ background:rgba(90,151,248,.30); }

/* universal top nav (shared _header.html) */
.cgk-nav{ display:flex; align-items:center; gap:6px; height:58px; padding:0 2px; margin:0 0 8px;
  border-bottom:1px solid var(--border); font-family:'Archivo',system-ui,sans-serif; }
.cgk-nav .logo{ font-weight:800; letter-spacing:-.5px; font-size:18px; color:var(--text);
  text-decoration:none; margin-right:16px; }
.cgk-nav .logo b{ color:var(--accent); }
.cgk-nav a.nav-tab{ display:inline-flex; align-items:center; gap:6px; color:var(--text-muted);
  text-decoration:none; font-size:14.5px; font-weight:500; padding:8px 14px; border-radius:8px;
  transition:background .15s,color .15s; }
.cgk-nav a.nav-tab:hover{ color:var(--text); background:var(--surface-2); }
.cgk-nav a.nav-tab.active{ color:var(--text); box-shadow:inset 0 -2px 0 var(--accent);
  border-radius:8px 8px 0 0; }
.cgk-nav a.nav-tab .lock{ font-size:10.5px; opacity:.65; }
.cgk-nav .nav-spacer{ margin-left:auto; }

/* in-page secondary tab row sits tighter under the universal nav */
.subtabbar{ margin-top:10px; }

/* ============================================================
   RESPONSIVE / MOBILE  (added 2026-06-29)
   Fixes the fleet-dashboard column cutoff on phones + general
   small-screen layout. Applies to every surface that links this theme.
   ============================================================ */
/* Wide data tables scroll horizontally instead of being clipped
   (dashboard/playbook .tbl-wrap were overflow:hidden → columns lost). */
.tbl-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

@media (max-width:760px){
  /* the 1.07 desktop zoom pushes content ~7% past a phone viewport → neutralize it */
  body{ zoom:1; }
  /* edge breathing room */
  .wrap{ padding-left:12px; padding-right:12px; }

  /* universal nav: wrap the 7 tabs onto multiple rows instead of overflowing one line */
  .cgk-nav{ flex-wrap:wrap; height:auto; row-gap:2px; padding:6px 2px; margin-bottom:6px; }
  .cgk-nav .logo{ margin-right:8px; font-size:16px; }
  .cgk-nav .nav-spacer{ margin-left:0; }           /* don't shove FPA/screener off-screen */
  .cgk-nav a.nav-tab{ padding:6px 10px; font-size:13.5px; }

  /* metric tiles: 4-up → 2-up so values stay legible */
  .metrics{ grid-template-columns:repeat(2,1fr) !important; }

  /* fixed-min-width form controls (e.g. optimizer .sel) shouldn't force overflow on very narrow phones */
  .sel,.up-in{ min-width:0; }
}
