/* ───────────────────────────────────────────────────────────────────────────
   NovoOffice Studio design system — token layer.

   ⚠️ RECONSTRUCTED, NOT SHIPPED BY DESIGN. Both handoff HTML files link this
   path, but the file was NOT in any of the three handoff zips (the design-system
   zip contained only exports/*.png app icons). Without it the hero product-UI
   mock and the BOQ table render unstyled — undefined custom properties make
   `background:var(--surface-app)` an invalid declaration that is simply dropped,
   so borders vanish, `font:var(--font-heading)` falls back to the UA default,
   and light-grey text lands on a transparent ground.

   Values are the Tailwind slate + sky scales, chosen because the handoff's own
   inline :root already pins --brass to #0284C7 (sky-600), --brassSoft to
   #38BDF8 (sky-400) and --ink to #0F172A (slate-900). That matches the CR-322
   app accent, so the marketing mock and the real product agree.

   If the real design-system CSS ever arrives, drop it in over this file —
   nothing here is referenced by name outside the two handoff pages.
   ─────────────────────────────────────────────────────────────────────────── */
:root{
  /* neutral ramp — Tailwind slate */
  --gray-50:#F8FAFC;  --gray-100:#F1F5F9; --gray-200:#E2E8F0; --gray-300:#CBD5E1;
  --gray-400:#94A3B8; --gray-500:#64748B; --gray-600:#475569; --gray-700:#334155;
  --gray-800:#1E293B; --gray-900:#0F172A;

  /* accent — Tailwind sky (matches --brass in the page's own :root) */
  --sky-50:#F0F9FF; --sky-500:#0EA5E9; --sky-600:#0284C7;

  /* status */
  --emerald-50:#ECFDF5; --emerald-500:#10B981; --emerald-700:#047857;
  --amber-500:#F59E0B;
  --warning-tint:#FFFBEB; --warning-text:#B45309;

  /* surfaces */
  --surface-app:#F8FAFC;
  --surface-card:#FFFFFF;
  --surface-sunken:#F1F5F9;
  --surface-emphasis:#0F172A;

  /* text roles */
  --text-strong:#0F172A;
  --text-body:#334155;
  --text-muted:#64748B;
  --text-faint:#94A3B8;
  --text-ondark:#F8FAFC;

  /* borders */
  --border-subtle:#F1F5F9;
  --border-default:#E2E8F0;
  --border-strong:#CBD5E1;

  /* type — single family throughout, per the handoff README (no webfont) */
  --font-sans:Verdana,Geneva,sans-serif;
  --font-heading:600 15px/1.2 Verdana,Geneva,sans-serif;
  --font-eyebrow:500 9.5px/1.3 Verdana,Geneva,sans-serif;
  --font-total:600 16px/1.15 Verdana,Geneva,sans-serif;

  /* the mock is a scaled-down product screenshot — these run small on purpose */
  --text-4xs:8px; --text-3xs:9px; --text-2xs:10px; --text-xs:11.5px; --text-sm:13px;

  --weight-medium:500; --weight-semibold:600;
  --leading-tight:1.2;
  --tracking-wide:.08em;

  --radius-xs:3px; --radius-md:7px; --radius-lg:12px; --radius-full:999px;

  --shadow-sm:0 1px 2px rgba(15,23,42,.06);
  --transition-base:all .18s ease;
}
