/* ============================================
   FRABO Design System — CSS Variables
   Brand: Deep Navy / Charcoal / Muted Gold / Off-White
   Motif: Blueprint (grid, precision, whitespace)
   ============================================ */

:root {
  /* === Brand Colors === */
  --color-primary: #1a2744;
  --color-primary-light: #243456;
  --color-primary-dark: #111b30;
  --color-secondary: #2c2c2c;
  --color-secondary-light: #3d3d3d;
  --color-accent: #a8895a;
  --color-accent-light: #c4a76e;
  --color-accent-dark: #8a6f47;
  --color-bg: #f5f0e8;
  --color-bg-warm: #ede7db;
  --color-bg-cool: #f8f5ef;

  /* === Semantic Colors === */
  --color-text-dark: #1a2744;
  --color-text-body: #2c2c2c;
  --color-text-muted: #6b7280;
  --color-text-light: #f5f0e8;
  --color-text-on-dark: #e8e2d6;
  --color-border: rgba(26, 39, 68, 0.12);
  --color-border-dark: rgba(245, 240, 232, 0.15);

  /* === Status Colors === */
  --color-critical: #c0392b;
  --color-critical-bg: rgba(192, 57, 43, 0.08);
  --color-warning: #d4a017;
  --color-warning-bg: rgba(212, 160, 23, 0.08);
  --color-success: #27ae60;
  --color-success-bg: rgba(39, 174, 96, 0.08);
  --color-info: #2980b9;
  --color-info-bg: rgba(41, 128, 185, 0.08);

  /* === Blueprint Colors === */
  --bp-grid: rgba(26, 39, 68, 0.06);
  --bp-grid-major: rgba(26, 39, 68, 0.10);
  --bp-line: rgba(168, 137, 90, 0.3);
  --bp-marker: var(--color-accent);
  --bp-grid-dark: rgba(245, 240, 232, 0.04);
  --bp-grid-major-dark: rgba(245, 240, 232, 0.08);

  /* === Typography === */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --fw-thin: 200;
  --fw-light: 300;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  --fs-xs: 0.75rem;    /* 12px */
  --fs-sm: 0.875rem;   /* 14px */
  --fs-base: 1rem;     /* 16px */
  --fs-lg: 1.125rem;   /* 18px */
  --fs-xl: 1.25rem;    /* 20px */
  --fs-2xl: 1.5rem;    /* 24px */
  --fs-3xl: 1.875rem;  /* 30px */
  --fs-4xl: 2.25rem;   /* 36px */
  --fs-5xl: 3rem;      /* 48px */
  --fs-6xl: 3.75rem;   /* 60px */

  --ls-tight: -0.02em;
  --ls-normal: 0;
  --ls-wide: 0.05em;
  --ls-wider: 0.1em;
  --ls-widest: 0.2em;
  --ls-brand: 0.35em;

  --lh-tight: 1.2;
  --lh-normal: 1.5;
  --lh-relaxed: 1.75;

  /* === Spacing === */
  --sp-1: 0.25rem;   /* 4px */
  --sp-2: 0.5rem;    /* 8px */
  --sp-3: 0.75rem;   /* 12px */
  --sp-4: 1rem;      /* 16px */
  --sp-5: 1.25rem;   /* 20px */
  --sp-6: 1.5rem;    /* 24px */
  --sp-8: 2rem;      /* 32px */
  --sp-10: 2.5rem;   /* 40px */
  --sp-12: 3rem;     /* 48px */
  --sp-16: 4rem;     /* 64px */
  --sp-20: 5rem;     /* 80px */
  --sp-24: 6rem;     /* 96px */
  --sp-32: 8rem;     /* 128px */

  /* === Layout === */
  --max-width: 1200px;
  --max-width-narrow: 800px;
  --max-width-wide: 1400px;
  --sidebar-width: 280px;

  /* === Borders & Radius === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --border-thin: 1px solid var(--color-border);
  --border-accent: 1px solid var(--color-accent);

  /* === Shadows === */
  --shadow-sm: 0 1px 2px rgba(26, 39, 68, 0.06);
  --shadow-md: 0 4px 12px rgba(26, 39, 68, 0.08);
  --shadow-lg: 0 8px 24px rgba(26, 39, 68, 0.12);
  --shadow-xl: 0 16px 48px rgba(26, 39, 68, 0.16);

  /* === Transitions === */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms ease;
  --transition-spring: 500ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* === Z-index === */
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-overlay: 300;
  --z-modal: 400;
  --z-toast: 500;
}
