/* ============================================================
   Hedge Fund Telemetry — theme layer on Bootstrap 5.3.3
   Brand tokens extracted from production (Divi + aspirehedgefund child theme).
   This file is the only thing that changes when the WP theme is built:
   Bootstrap stays stock, everything brand-specific lives here.
   ============================================================ */

:root{
  /* brand */
  --hft-navy:#101725; --hft-navy-2:#131d2d; --hft-navy-3:#0d1420;
  --hft-red:#a5231a;  --hft-red-hi:#e02b20;
  --hft-gold:#af9d80; --hft-gold-hi:#c7a86d;
  --hft-cream:#f5f1e8;

  /* surfaces */
  --hft-bg:#f4f4f4; --hft-surface:#ffffff; --hft-surface-2:#e8ebf2; --hft-surface-3:#f7f8fa;
  --hft-ink:#101725; --hft-ink-2:#3d4a5f; --hft-ink-3:#78859a;
  --hft-line:#d5dae3; --hft-line-soft:#e8ebf2;
  --hft-ok:#1b7a50; --hft-ok-bg:#ddf0e7;
  --hft-warn:#8a6410; --hft-warn-bg:#fbeed2;
  --hft-bad:#a5231a; --hft-bad-bg:#f9e1dc;
  --hft-series:#00719b;

  /* map onto Bootstrap */
  --bs-primary:#a5231a;
  --bs-body-bg:var(--hft-bg);
  --bs-body-color:var(--hft-ink);
  --bs-border-color:var(--hft-line);
  --bs-link-color:var(--hft-red-hi);
  --bs-link-hover-color:var(--hft-red);
  --bs-border-radius:.4rem;
  --bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --hft-bg:#0d1420; --hft-surface:#131d2d; --hft-surface-2:#1a2637; --hft-surface-3:#0f1826;
    --hft-ink:#e8ebf2; --hft-ink-2:#a8b4c4; --hft-ink-3:#78859a;
    --hft-line:#243044; --hft-line-soft:#1b2637;
    --hft-red:#e02b20; --hft-red-hi:#ff6055; --hft-gold:#c7a86d;
    --hft-ok:#4fbe8b; --hft-ok-bg:#102e23;
    --hft-warn:#d9a441; --hft-warn-bg:#2e2410;
    --hft-bad:#e0574a; --hft-bad-bg:#301711;
    --hft-series:#2e9ec8;
    --bs-body-bg:var(--hft-bg); --bs-body-color:var(--hft-ink);
    --bs-border-color:var(--hft-line); --bs-primary:#e02b20;
    --bs-link-color:#ff6055;
    --bs-secondary-color:var(--hft-ink-2);
    --bs-tertiary-bg:var(--hft-surface-2);
    --bs-emphasis-color:var(--hft-ink);
  }
}
:root[data-theme="dark"]{
  --hft-bg:#0d1420; --hft-surface:#131d2d; --hft-surface-2:#1a2637; --hft-surface-3:#0f1826;
  --hft-ink:#e8ebf2; --hft-ink-2:#a8b4c4; --hft-ink-3:#78859a;
  --hft-line:#243044; --hft-line-soft:#1b2637;
  --hft-red:#e02b20; --hft-red-hi:#ff6055; --hft-gold:#c7a86d;
  --hft-ok:#4fbe8b; --hft-ok-bg:#102e23;
  --hft-warn:#d9a441; --hft-warn-bg:#2e2410;
  --hft-bad:#e0574a; --hft-bad-bg:#301711;
  --hft-series:#2e9ec8;
  --bs-body-bg:var(--hft-bg); --bs-body-color:var(--hft-ink);
  --bs-border-color:var(--hft-line); --bs-primary:#e02b20;
  --bs-link-color:#ff6055;
  --bs-secondary-color:var(--hft-ink-2);
  --bs-tertiary-bg:var(--hft-surface-2);
  --bs-emphasis-color:var(--hft-ink);
}

body{background:var(--hft-bg);color:var(--hft-ink);-webkit-font-smoothing:antialiased}
.mono,.hft-num{font-family:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  font-variant-numeric:tabular-nums}

/* ---- demo chrome ---- */
.hft-demobar{background:var(--hft-navy);color:#fff;font-size:.8125rem;padding:.55rem 1rem;
  text-align:center;border-bottom:2px solid var(--hft-red)}
.hft-demobar a{color:var(--hft-gold-hi);text-decoration:underline}
.hft-demobar a:hover{color:#fff}
.hft-demobar strong{color:#fff}

/* ---- navbar ---- */
.hft-nav{background:var(--hft-navy)!important}
.hft-nav .navbar-brand{font-weight:800;letter-spacing:-.02em;color:#fff;display:flex;align-items:center;gap:.55rem}
.hft-mark{width:30px;height:30px;border-radius:5px;background:var(--hft-red);color:#fff;
  display:grid;place-items:center;font-size:.66rem;font-weight:900}
.hft-nav .nav-link{color:#b9c3d1;font-size:.925rem}
.hft-nav .nav-link:hover,.hft-nav .nav-link:focus{color:#fff}
.hft-nav .nav-link.active{color:#fff;font-weight:650}
.hft-nav .navbar-toggler{border-color:rgba(255,255,255,.25)}

/* ---- buttons ---- */
.btn-hft{background:var(--hft-red);color:#fff;border:1px solid var(--hft-red);font-weight:650}
.btn-hft:hover,.btn-hft:focus{background:var(--hft-red-hi);border-color:var(--hft-red-hi);color:#fff}
.btn-hft-outline{background:transparent;color:var(--hft-ink);border:1px solid var(--hft-line);font-weight:600}
.btn-hft-outline:hover{border-color:var(--hft-red);color:var(--hft-red-hi)}
.btn-hft-gold{background:var(--hft-gold-hi);color:var(--hft-navy);border:1px solid var(--hft-gold-hi);font-weight:680}
.btn-hft-gold:hover{filter:brightness(1.07);color:var(--hft-navy)}
.btn-hft-ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.34);font-weight:650}
.btn-hft-ghost:hover{background:rgba(255,255,255,.18);color:#fff}

/* ---- surfaces ---- */
.hft-card{background:var(--hft-surface);border:1px solid var(--hft-line);border-radius:.5rem;overflow:hidden}
.hft-card-head{padding:.8rem 1.1rem;border-bottom:1px solid var(--hft-line);
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.hft-card-head h2,.hft-card-head h3{margin:0;font-size:.94rem;font-weight:700;
  display:flex;align-items:center;gap:.55rem}
.hft-rule{width:3px;height:15px;border-radius:2px;background:var(--hft-red);display:inline-block}
.hft-card-body{padding:1.1rem}

.hft-kicker{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--hft-red-hi);
  font-weight:750}
.hft-muted{color:var(--hft-ink-3)}
.hft-note{border-left:3px solid var(--hft-gold-hi);background:var(--hft-surface-2);
  padding:.8rem 1rem;font-size:.82rem;color:var(--hft-ink-2);border-radius:0 .3rem .3rem 0}

/* ---- stat tiles ---- */
.hft-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--hft-line);border:1px solid var(--hft-line);border-radius:.5rem;overflow:hidden}
.hft-kpi{background:var(--hft-surface);padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem}
.hft-kpi .k{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--hft-ink-3);font-weight:650}
.hft-kpi .v{font-family:ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;
  font-size:1.42rem;letter-spacing:-.02em;line-height:1.15}
.hft-kpi .n{font-size:.72rem;color:var(--hft-ink-3)}

/* ---- tables ---- */
.hft-table{width:100%;border-collapse:collapse;font-size:.86rem}
.hft-table th{text-align:left;padding:.6rem 1.1rem;font-size:.66rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--hft-ink-3);font-weight:650;background:var(--hft-surface-3);
  border-bottom:1px solid var(--hft-line);white-space:nowrap}
.hft-table td{padding:.7rem 1.1rem;border-bottom:1px solid var(--hft-line-soft);vertical-align:middle}
.hft-table tbody tr:last-child td{border-bottom:0}
.hft-table tbody tr:hover{background:var(--hft-surface-3)}

/* ---- status pills ---- */
.hft-pill{display:inline-block;padding:.15rem .5rem;border-radius:.2rem;font-size:.66rem;
  font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.hft-pill-ok{background:var(--hft-ok-bg);color:var(--hft-ok)}
.hft-pill-warn{background:var(--hft-warn-bg);color:var(--hft-warn)}
.hft-pill-bad{background:var(--hft-bad-bg);color:var(--hft-bad)}
.hft-pill-idle{background:var(--hft-surface-2);color:var(--hft-ink-3)}

/* ---- dark bands ---- */
.hft-band{background:var(--hft-navy);color:#fff;border-top:3px solid var(--hft-red)}
.hft-band h2,.hft-band h3{color:#fff}
.hft-band p{color:#b9c3d1}

footer.hft-foot{background:var(--hft-navy);color:#8f9db0;padding:2rem 0;font-size:.84rem}
footer.hft-foot a{color:var(--hft-gold-hi)}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
