/* ══════════════════════════════════════════
   FIRE DESIGN SYSTEM — TOKENS
   Privacy is dignity.
   ══════════════════════════════════════════ */

/* --- Dark theme (default) --- */
:root,
[data-theme="dark"] {
  /* Accent */
  --accent: #d61d3e;
  --accent-dim: rgba(214, 29, 62, 0.12);
  --accent-glow: rgba(214, 29, 62, 0.3);
  --cyan: #00F0FF;

  /* Gold (swap interface only) */
  --gold: #FFB800;
  --gold-dim: rgba(255, 184, 0, 0.18);
  --gold-text: rgba(255, 184, 0, 0.83);
  --gold-border: rgba(255, 184, 0, 0.41);

  /* Semantic dim/border */
  --green-dim: rgba(34, 197, 94, 0.06);
  --green-border: rgba(34, 197, 94, 0.2);
  --red-dim: rgba(239, 68, 68, 0.06);
  --red-border: rgba(239, 68, 68, 0.2);
  --cyan-dim: rgba(0, 240, 255, 0.04);
  --cyan-border: rgba(0, 240, 255, 0.15);
  --amber-dim: rgba(245, 158, 11, 0.1);
  --amber-border: rgba(245, 158, 11, 0.2);
  --invoice-dim: rgba(34, 118, 108, 0.15);
  --payroll-dim: rgba(34, 90, 118, 0.15);
  --books-dim: rgba(70, 57, 117, 0.15);

  /* Surfaces */
  --bg: #060606;
  --surface: #131315;
  --surface-2: #262629;
  --surface-dim: rgba(20, 20, 20, 0.4);
  --nav-bg: rgba(10, 10, 10, 0.85);
  --dropdown-bg: #1a1a1a;

  /* Text */
  --text: #ffffff;
  --text-2: #999999;
  --text-3: #888888;

  /* Borders */
  --border: #222222;
  --border-hover: #333333;

  /* Status */
  --green: #22C55E;
  --red: #EF4444;
  --amber: #f59e0b;

  /* Constant */
  --white: #ffffff;

  /* Suite product accents */
  --invoice: #22766c;
  --payroll: #225a76;
  --books: #463975;

  /* Plugin accents */
  --fire-fund: #2081ff;
  --fire-fund-dim: rgba(32, 129, 255, 0.2);

  /* Shadows */
  --shadow-hero: 0 16px 48px rgba(0, 0, 0, 0.3), 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* --- Light theme --- */
[data-theme="light"] {
  --accent: #f03f5c;
  --accent-dim: rgba(240, 63, 92, 0.06);
  --accent-glow: rgba(240, 63, 92, 0.2);
  --cyan: #0088aa;

  --gold: #FFB800;
  --gold-dim: rgba(255, 184, 0, 0.15);
  --gold-text: rgb(117, 82, 2);
  --gold-border: rgba(255, 184, 0, 0.5);

  --green-dim: rgba(22, 163, 74, 0.06);
  --green-border: rgba(22, 163, 74, 0.2);
  --red-dim: rgba(220, 38, 38, 0.06);
  --red-border: rgba(220, 38, 38, 0.2);
  --cyan-dim: rgba(0, 136, 170, 0.06);
  --cyan-border: rgba(0, 136, 170, 0.15);
  --amber-dim: rgba(245, 158, 11, 0.08);
  --amber-border: rgba(245, 158, 11, 0.2);
  --invoice-dim: rgba(34, 118, 108, 0.1);
  --payroll-dim: rgba(34, 90, 118, 0.1);
  --books-dim: rgba(70, 57, 117, 0.1);

  --bg: #ffffff;
  --surface: #f4f4f4;
  --surface-2: #eeeeee;
  --surface-dim: rgba(0, 0, 0, 0.03);
  --nav-bg: rgba(255, 255, 255, 0.88);
  --dropdown-bg: #ffffff;

  --text: #0a0a0a;
  --text-2: #555555;
  --text-3: #717171;

  --border: #e0e0e0;
  --border-hover: #cccccc;

  --green: #16a34a;
  --red: #dc2626;

  --shadow-hero: 0 16px 48px rgba(0, 0, 0, 0.08), 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* --- Typography --- */
:root {
  --sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono: 'JetBrains Mono', 'SF Mono', 'Consolas', monospace;

  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 18px;
  --text-xl: 24px;
  --text-2xl: clamp(28px, 4vw, 40px);
  --text-3xl: clamp(36px, 5vw, 56px);
  --text-4xl: clamp(44px, 6vw, 72px);

  --leading-tight: 1.15;
  --leading-normal: 1.6;
  --leading-relaxed: 1.7;
  --tracking-tight: -0.02em;
  --tracking-snug: -0.01em;
  --tracking-wide: 0.08em;
}

/* --- Spacing (4px base) --- */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --space-30: 120px;
}

/* --- Layout --- */
:root {
  --nav-height: 56px;
}

/* --- Borders & Radius --- */
:root {
  --radius: 4px;
  --radius-sm: 4px;
  --radius-lg: 12px;
  --radius-full: 9999px;
}

/* --- Z-index --- */
:root {
  --z-base: 1;
  --z-sticky: 40;
  --z-nav: 100;
  --z-progress: 101;
  --z-skip: 1000;
}

/* --- Motion --- */
:root {
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --duration-fast: 100ms;
  --duration-normal: 200ms;
  --duration-slow: 300ms;
  --duration-reveal: 600ms;
}
