/* TruckMargin shared theme — single source of truth for colors + type.
   Loaded AFTER each page's inline <style>, so these tokens win.
   LIGHT is the default; dark applies when <html data-theme="dark">. */

:root{
  --bg:#f6f8fc; --panel:#ffffff; --panel2:#f1f5f9; --panel3:#eef3fa; --input:#ffffff;
  --line:#e3e8f0; --ink:#0f172a; --ink2:#475569; --muted:#64748b; --muted2:#94a3b8;
  --accent:#f59e0b; --accent2:#b45309; --good:#16a34a; --warn:#d97706; --bad:#dc2626;
  --radius:14px;
  --tm-shadow-sm:0 1px 3px rgba(15,23,42,.07), 0 1px 2px rgba(15,23,42,.04);
  --tm-shadow:0 8px 24px -12px rgba(15,23,42,.16);
  --tm-ring:0 0 0 1px rgba(15,23,42,.04);
}
html[data-theme="dark"]{
  --bg:#0f172a; --panel:#1e293b; --panel2:#172033; --panel3:#23324a; --input:#0b1220;
  --line:#334155; --ink:#e2e8f0; --ink2:#cbd5e1; --muted:#94a3b8; --muted2:#64748b;
  --accent:#f59e0b; --accent2:#fbbf24; --good:#22c55e; --warn:#f59e0b; --bad:#ef4444;
  --tm-shadow-sm:0 4px 14px -8px rgba(0,0,0,.5);
  --tm-shadow:0 10px 30px -14px rgba(0,0,0,.55);
  --tm-ring:0 0 0 1px rgba(148,163,184,.08);
}

/* ---- Type: Inter, open tracking, comfortable reading ---- */
body{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  letter-spacing:normal !important; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
h1,h2,h3,.brand,.price,.bigstat .val,.out b,.card .price{
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif !important;
  letter-spacing:-.005em !important;
}
h1{font-weight:800 !important;} h2{font-weight:700 !important;} h3{font-weight:700 !important;}
p,li,.sub,.lead,.note{letter-spacing:normal !important;}

/* ---- Brand wordmark + the ▤ ledger mark ---- */
.brand{font-weight:800 !important;}
.brand .mark{
  background:linear-gradient(135deg,#fbbf24,#f59e0b) !important;
  color:#1a1206 !important;
  box-shadow:0 4px 12px -4px rgba(245,158,11,.5), inset 0 1px 0 rgba(255,255,255,.35) !important;
  border-radius:10px !important;
}

/* ---- Depth on major surfaces ---- */
.panel,.card,.calc,.tier,.hero,.signup,.bigstat,.cards>.card{box-shadow:var(--tm-ring), var(--tm-shadow-sm);}
.hero,.signup{box-shadow:var(--tm-ring), var(--tm-shadow);}

/* ---- Amber CTAs: gentle lift ---- */
.btn,.signup button{transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;}
.btn{box-shadow:0 6px 16px -8px rgba(245,158,11,.55);}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(245,158,11,.65);filter:saturate(1.05);}

/* ---- Theme toggle (injected by tm.js) ---- */
.tm-toggle{display:inline-flex;align-items:center;gap:6px;cursor:pointer;border:1px solid var(--line);
  background:var(--panel2);color:var(--muted);border-radius:999px;padding:4px 11px;font-size:12.5px;font-weight:600;line-height:1.4;}
.tm-toggle:hover{border-color:var(--accent);color:var(--ink);}

/* ---- Trust / social-proof strip ---- */
.tm-trust{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin:14px 0 4px;font-size:13px;color:var(--muted);}
.tm-trust b{color:var(--ink);font-weight:700;}
.tm-trust .dot{width:6px;height:6px;border-radius:50%;background:var(--good);display:inline-block;margin-right:7px;box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 18%,transparent);}
.tm-trust span{display:inline-flex;align-items:center;}

/* ---- Affiliate / "save money" contextual block (hidden until configured) ---- */
.tm-aff{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--panel2);border-radius:0 12px 12px 0;padding:13px 15px;margin:12px 0 6px;}
.tm-aff[hidden]{display:none !important;}
.tm-aff .h{font-weight:700;font-size:14px;margin:0 0 3px;color:var(--ink);}
.tm-aff p{margin:0 0 8px;color:var(--muted);font-size:13px;}
.tm-aff a.tm-aff-link{display:inline-block;background:var(--input);border:1px solid var(--line);color:var(--accent2);font-weight:700;font-size:13.5px;text-decoration:none;border-radius:9px;padding:8px 13px;margin:3px 6px 3px 0;transition:.12s;}
.tm-aff a.tm-aff-link:hover{border-color:var(--accent);}
.tm-aff .disc{font-size:11px;color:var(--muted2);margin:6px 0 0;}

/* ---- Index-page KPI cards ---- */
.tm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0;}
.tm-kpi{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--tm-shadow-sm);}
.tm-kpi .n{font-size:26px;font-weight:800;color:var(--accent2);letter-spacing:-.01em;}
.tm-kpi .l{font-size:12.5px;color:var(--muted);margin-top:2px;}
@media(max-width:600px){.tm-kpis{grid-template-columns:1fr}}
