/* ============================================================
   tokens.css — AUTO-GENERATED. DO NOT EDIT DIRECTLY.
   Source: tokens/*.json  |  Regenerate: node scripts/build-tokens.js
   ============================================================ */

:root {

  /* ── Brand colors ────────────────────────────────────── */
  --brand-blue: #004581;
  --brand-blue-dark: #002f5a;
  --brand-blue-deeper: #001830;
  --brand-red: #e5312b;
  --brand-red-hover: #cc2a25;

  /* ── Background ──────────────────────────────────────── */
  --bg: #f0f4f8;
  --bg2: #ffffff;
  --bg3: #e8eef5;

  /* ── Border ──────────────────────────────────────────── */
  --border: #dde6ef;
  --border2: #c0d0e0;

  /* ── Text ────────────────────────────────────────────── */
  --text: #0d1f33;
  --text2: #4a6a8a;
  --text3: #90aabf;

  /* ── Product — OmniFab ───────────────────────────────── */
  --omnifab: #00964a;
  --omnifab-accent: #00c853;
  --omnifab-hero-from: #001a0c;
  --omnifab-hero-to: #004d30;

  /* ── Product — OmniWin ───────────────────────────────── */
  --omniwin: #004581;
  --omniwin-accent: #3b82f6;
  --omniwin-hero-from: #001128;
  --omniwin-hero-to: #004581;

  /* ── Product — OmniBevel ─────────────────────────────── */
  --omnibevel: #7a00cc;
  --omnibevel-accent: #cc44ff;
  --omnibevel-hero-from: #160020;
  --omnibevel-hero-to: #3d0060;

  /* ── Status ──────────────────────────────────────────── */
  --status-success: #4ade80;
  --status-warning: #f87171;
  --status-info: #60a5fa;

  /* ── Overlay ─────────────────────────────────────────── */
  --overlay-white-4: rgba(255,255,255,0.04);
  --overlay-white-8: rgba(255,255,255,0.08);
  --overlay-white-10: rgba(255,255,255,0.10);
  --overlay-white-20: rgba(255,255,255,0.20);
  --overlay-white-55: rgba(255,255,255,0.55);
  --overlay-white-65: rgba(255,255,255,0.65);
  --overlay-white-72: rgba(255,255,255,0.72);
  --overlay-white-78: rgba(255,255,255,0.78);
  --overlay-black-18: rgba(0,0,0,0.18);
  --overlay-black-30: rgba(0,0,0,0.30);
  --overlay-black-88: rgba(0,0,0,0.88);

  /* ── Font families ───────────────────────────────────── */
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  /* ── Font size ───────────────────────────────────────── */
  --text-xs: 0.6875rem;
  --text-sm: 0.8125rem;
  --text-base: 0.875rem;
  --text-md: 0.9375rem;
  --text-lg: 1.0625rem;
  --text-xl: 1.125rem;
  --text-2xl: clamp(1.1rem, 2vw, 1.4rem);
  --text-3xl: clamp(1.6rem, 3vw, 2.4rem);
  --text-4xl: clamp(2rem, 4vw, 3.25rem);

  /* ── Font weight ─────────────────────────────────────── */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* ── Line height ─────────────────────────────────────── */
  --leading-tight: 1.2;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.7;

  /* ── Letter spacing ──────────────────────────────────── */
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-normal: 0em;
  --tracking-wide: 0.08em;
  --tracking-wider: 0.12em;

  /* ── Space scale ─────────────────────────────────────── */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-7: 28px;
  --space-8: 32px;
  --space-9: 36px;
  --space-10: 40px;
  --space-12: 48px;
  --space-14: 56px;
  --space-16: 64px;
  --space-18: 72px;
  --space-20: 80px;
  --space-24: 96px;

  /* ── Layout dimensions ───────────────────────────────── */
  --nav-h: 66px;
  --max-w: 1160px;
  --section-py: 96px;
  --section-px: 28px;
  --sidebar-w: 240px;
  --sidebar-collapsed: 56px;
  --topbar-h: 52px;

  /* ── Border radius ───────────────────────────────────── */
  --r-sm: 6px;
  --r-md: 8px;
  --r: 10px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-full: 9999px;

  /* ── Shadows ─────────────────────────────────────────── */
  --shadow-sm: 0 2px 8px rgba(0,0,0,0.08);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 28px rgba(0,0,0,0.12);
  --shadow-xl: 0 24px 64px rgba(0,0,0,0.45);
  --shadow-nav: 0 2px 24px rgba(0,0,0,0.30);
  --shadow-dropdown: 0 8px 40px rgba(0,0,0,0.18);
  --shadow-red: 0 4px 16px rgba(229,49,43,0.35);
  --shadow-blue: 0 12px 40px rgba(0,69,129,0.12);

  /* ── Duration ────────────────────────────────────────── */
  --duration-fast: 0.12s;
  --duration-base: 0.18s;
  --duration-slow: 0.22s;
  --duration-reveal: 0.55s;
  --duration-modal: 0.25s;
  --duration-nav: 0.25s;

  /* ── Easing ──────────────────────────────────────────── */
  --ease-base: ease;
  --ease-smooth: ease-in-out;
  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-index ─────────────────────────────────────────── */
  --z-below: -1;
  --z-base: 0;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-topbar: 300;
  --z-sidebar: 400;
  --z-nav: 1000;
  --z-tooltip: 1100;
  --z-overlay: 1500;
  --z-modal: 2000;
  --z-toast: 2100;

  /* ── Focus ───────────────────────────────────────────── */
  --focus-ring-width: 3px;
  --focus-ring-offset: 2px;
  --focus-ring-color: rgba(0, 69, 129, 0.45);
  --focus-ring-red: rgba(229, 49, 43, 0.45);
  --focus-ring-white: rgba(255, 255, 255, 0.55);
}
