/* ============================================================
   Engerman — Design Tokens
   Derived from brand mark: deep navy, royal blue, neutral gray,
   off-white. Finance-grade, calm, scannable.
   ============================================================ */

:root {
  /* ── Color: Brand ─────────────────────────────────────── */
  --color-navy-950: #0d1520;
  --color-navy-900: #131e30;
  --color-navy-800: #192746;
  --color-navy-700: #1f3058;
  --color-navy-600: #2a4070;

  --color-blue-700: #2c4a8e;
  --color-blue-600: #3859a9;
  --color-blue-500: #4a6ec0;
  --color-blue-400: #6b8cd4;
  --color-blue-300: #93ade2;
  --color-blue-200: #bccbee;
  --color-blue-100: #dfe7f6;
  --color-blue-50:  #eef2fa;

  /* ── Color: Neutral ───────────────────────────────────── */
  --color-gray-900: #1a1d23;
  --color-gray-800: #2d3139;
  --color-gray-700: #404550;
  --color-gray-600: #555b68;
  --color-gray-500: #6e7582;
  --color-gray-400: #8b919c;
  --color-gray-300: #b6c0cb;
  --color-gray-200: #d4dae2;
  --color-gray-100: #e7eaed;
  --color-gray-50:  #f4f5f7;
  --color-white:    #ffffff;

  /* ── Color: Semantic ──────────────────────────────────── */
  --color-surface:      var(--color-white);
  --color-surface-alt:  var(--color-gray-50);
  --color-surface-invert: var(--color-navy-800);
  --color-border:       var(--color-gray-200);
  --color-border-light: var(--color-gray-100);
  --color-text:         var(--color-gray-900);
  --color-text-secondary: var(--color-gray-600);
  --color-text-tertiary:  var(--color-gray-400);
  --color-text-invert:  var(--color-white);
  --color-link:         var(--color-blue-600);
  --color-link-hover:   var(--color-blue-700);
  --color-accent:       var(--color-blue-600);
  --color-accent-hover: var(--color-blue-700);

  /* Status colors */
  --color-green-600: #16803c;
  --color-green-100: #dcfce7;
  --color-amber-600: #ca8a04;
  --color-amber-100: #fef9c3;
  --color-red-600:   #dc2626;
  --color-red-100:   #fee2e2;

  /* ── Typography ───────────────────────────────────────── */
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: "SF Mono", "Fira Code", "Fira Mono", "Roboto Mono",
               Menlo, Monaco, Consolas, monospace;

  /* Type scale (1.200 – minor third) */
  --text-xs:   0.75rem;   /* 12px */
  --text-sm:   0.875rem;  /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg:   1.125rem;  /* 18px */
  --text-xl:   1.25rem;   /* 20px */
  --text-2xl:  1.5rem;    /* 24px */
  --text-3xl:  1.875rem;  /* 30px */
  --text-4xl:  2.25rem;   /* 36px */
  --text-5xl:  3rem;      /* 48px */

  /* Line heights */
  --leading-tight:  1.2;
  --leading-snug:   1.35;
  --leading-normal: 1.5;
  --leading-relaxed: 1.625;

  /* Font weights */
  --weight-normal:   400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;

  /* ── Spacing (4px base) ───────────────────────────────── */
  --space-0:   0;
  --space-1:   0.25rem;   /* 4px  */
  --space-2:   0.5rem;    /* 8px  */
  --space-3:   0.75rem;   /* 12px */
  --space-4:   1rem;      /* 16px */
  --space-5:   1.25rem;   /* 20px */
  --space-6:   1.5rem;    /* 24px */
  --space-8:   2rem;      /* 32px */
  --space-10:  2.5rem;    /* 40px */
  --space-12:  3rem;      /* 48px */
  --space-16:  4rem;      /* 64px */
  --space-20:  5rem;      /* 80px */
  --space-24:  6rem;      /* 96px */

  /* ── Layout ───────────────────────────────────────────── */
  --container-max:  1200px;
  --container-narrow: 800px;
  --container-wide: 1400px;

  /* ── Borders & Radius ─────────────────────────────────── */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
  --radius-full: 9999px;

  /* ── Shadows ──────────────────────────────────────────── */
  --shadow-xs:  0 1px 2px rgba(0,0,0,0.05);
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md:  0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.04);
  --shadow-lg:  0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
  --shadow-xl:  0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.04);

  /* ── Transitions ──────────────────────────────────────── */
  --transition-fast:   150ms ease;
  --transition-base:   200ms ease;
  --transition-slow:   300ms ease;
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);

  /* ── Z-index ──────────────────────────────────────────── */
  --z-dropdown:  10;
  --z-sticky:    20;
  --z-overlay:   30;
  --z-modal:     40;
  --z-toast:     50;
}
