/* tokens.css — Design-Tokens. Eine Quelle der Wahrheit für Farbe, Typo, Raum. */
:root {
  /* — Canvas & Flächen — */
  --paper: oklch(99% 0.004 95);
  --canvas: oklch(96.8% 0.006 95);
  --surface: oklch(100% 0 0);
  --surface-2: oklch(97.5% 0.005 95);
  --surface-sunken: oklch(95% 0.006 95);
  --line: oklch(90% 0.006 95);
  --line-strong: oklch(84% 0.008 95);

  /* — Text — */
  --ink: oklch(24% 0.012 270);
  --ink-soft: oklch(42% 0.012 270);
  --ink-muted: oklch(58% 0.01 270);
  --ink-faint: oklch(72% 0.008 270);
  --ink-invert: oklch(98% 0.004 95);

  /* — Primär-Akzent — */
  --brand: oklch(52% 0.155 264);
  --brand-strong: oklch(45% 0.16 264);
  --brand-soft: oklch(95% 0.03 264);
  --brand-ring: oklch(52% 0.155 264 / 0.35);

  /* — Semantische Status — */
  --ok: oklch(58% 0.13 152);
  --ok-soft: oklch(95% 0.04 152);
  --warn: oklch(72% 0.14 75);
  --warn-soft: oklch(95% 0.05 80);
  --danger: oklch(58% 0.19 22);
  --danger-soft: oklch(95% 0.04 22);

  /* — Kategorie-Akzente (semantische Farbcodierung der Doku-Typen) — */
  --accent-invoice: oklch(55% 0.15 255);
  --accent-danger: oklch(58% 0.19 22);
  --accent-contract: oklch(54% 0.16 300);
  --accent-tax: oklch(62% 0.13 70);
  --accent-offer: oklch(58% 0.11 195);
  --accent-delivery: oklch(60% 0.13 150);
  --accent-bank: oklch(52% 0.04 250);
  --accent-hr: oklch(60% 0.15 350);
  --accent-neutral: oklch(60% 0.01 270);

  /* — Typografie — */
  --font-ui: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Fraunces', 'Iowan Old Style', Georgia, serif;
  --font-mono: 'Söhne Mono', ui-monospace, 'SF Mono', 'JetBrains Mono', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.825rem;
  --text-base: 0.9375rem;
  --text-md: 1.0625rem;
  --text-lg: clamp(1.2rem, 1.05rem + 0.6vw, 1.5rem);
  --text-xl: clamp(1.6rem, 1.2rem + 1.4vw, 2.4rem);
  --text-2xl: clamp(2.2rem, 1.4rem + 3vw, 3.6rem);
  --text-hero: clamp(2.6rem, 1.6rem + 4.4vw, 4.8rem);

  --leading-tight: 1.08;
  --leading-snug: 1.3;
  --leading-normal: 1.55;

  /* — Raum (4px-Basis, bewusst nicht-linear) — */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 2.75rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* — Radien — */
  --r-xs: 6px;
  --r-sm: 9px;
  --r-md: 13px;
  --r-lg: 18px;
  --r-xl: 26px;
  --r-pill: 999px;

  /* — Schatten (light-luxury, weich geschichtet) — */
  --shadow-xs: 0 1px 2px oklch(24% 0.02 270 / 0.05);
  --shadow-sm: 0 1px 3px oklch(24% 0.02 270 / 0.06), 0 1px 2px oklch(24% 0.02 270 / 0.04);
  --shadow-md: 0 4px 12px oklch(24% 0.02 270 / 0.07), 0 2px 4px oklch(24% 0.02 270 / 0.05);
  --shadow-lg: 0 18px 40px oklch(24% 0.03 270 / 0.1), 0 6px 14px oklch(24% 0.02 270 / 0.06);
  --shadow-xl: 0 36px 80px oklch(24% 0.04 270 / 0.16), 0 12px 28px oklch(24% 0.02 270 / 0.08);

  /* — Motion — */
  --dur-fast: 140ms;
  --dur-normal: 260ms;
  --dur-slow: 460ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);

  --sidebar-w: 264px;
  --topbar-h: 68px;
  --content-max: 1180px;
}
