/*
 * Design-Tokens (AP4, PLAN.md 4): ruhige, dokumentenorientierte
 * Editorial-Optik. Light-Mode als Standard, KEIN automatischer Dark Mode.
 * Jeder Farbwert liegt ausschliesslich hier -- app.css und alle Templates
 * referenzieren nur diese Custom Properties, nie einen hartkodierten
 * Hex-/oklch-/rgb-Wert direkt.
 */

:root {
  color-scheme: light;

  /* -- Typografie ------------------------------------------------------- */
  --font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 1rem;
  --text-md: 1.125rem;
  --text-lg: 1.375rem;
  --text-xl: 1.875rem;
  --text-2xl: 2.5rem;
  --text-amount: 2.75rem;

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.6;

  --tracking-tight: -0.01em;
  --tracking-wide: 0.06em;

  /* -- Abstand ------------------------------------------------------------ */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  /* -- Radien / Schatten / Konturen --------------------------------------- */
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --border-width: 1px;
  --shadow-card: 0 1px 2px oklch(20% 0 0 / 0.05), 0 6px 16px oklch(20% 0 0 / 0.06);
  --shadow-raised: 0 2px 4px oklch(20% 0 0 / 0.08), 0 12px 28px oklch(20% 0 0 / 0.10);

  /* -- Grundpalette: warmes Papier statt klinischem Weiss ------------------ */
  --color-paper: oklch(97.5% 0.007 85);
  --color-surface: oklch(99.2% 0.003 85);
  --color-surface-sunken: oklch(95.5% 0.008 85);
  --color-surface-raised: oklch(100% 0 0);

  --color-ink: oklch(23% 0.012 55);
  --color-ink-muted: oklch(46% 0.014 55);
  --color-ink-faint: oklch(62% 0.012 55);

  --color-border: oklch(87% 0.012 75);
  --color-border-strong: oklch(72% 0.014 75);

  --color-accent: oklch(37% 0.09 250);
  --color-accent-strong: oklch(30% 0.10 250);
  --color-accent-contrast: oklch(99% 0 0);
  --color-accent-soft: oklch(93% 0.03 250);

  --color-focus-ring: oklch(58% 0.19 255);

  --color-danger: oklch(48% 0.19 25);
  --color-danger-surface: oklch(95% 0.035 25);
  --color-danger-border: oklch(72% 0.12 25);

  --color-success: oklch(46% 0.11 150);
  --color-success-surface: oklch(94.5% 0.045 150);
  --color-success-border: oklch(70% 0.10 150);

  /* -- Statusband "needs_review" (tragendes Layoutelement) ----------------- */
  --color-review-band-bg: oklch(93% 0.06 75);
  --color-review-band-border: oklch(62% 0.13 65);
  --color-review-band-text: oklch(30% 0.08 55);

  --color-draft-band-bg: oklch(94% 0.01 85);
  --color-draft-band-border: oklch(75% 0.015 85);
  --color-draft-band-text: oklch(40% 0.015 60);

  --color-confirmed-band-bg: var(--color-success-surface);
  --color-confirmed-band-border: var(--color-success-border);
  --color-confirmed-band-text: var(--color-success);

  --color-archived-band-bg: oklch(90% 0.01 85);
  --color-archived-band-border: oklch(70% 0.012 85);
  --color-archived-band-text: var(--color-ink-muted);

  /* -- Kategorie-Akzente: semantische Codierung, nicht dekorativ ----------- */
  --cat-werbungskosten: oklch(42% 0.13 255);
  --cat-werbungskosten-surface: oklch(94% 0.035 255);
  --cat-selbststaendig: oklch(43% 0.12 155);
  --cat-selbststaendig-surface: oklch(94% 0.04 155);
  --cat-reisekosten: oklch(48% 0.15 55);
  --cat-reisekosten-surface: oklch(94.5% 0.05 60);
  --cat-vuv: oklch(42% 0.11 325);
  --cat-vuv-surface: oklch(94% 0.035 325);
  --cat-kapital: oklch(40% 0.11 205);
  --cat-kapital-surface: oklch(94% 0.03 205);
  --cat-sonderausgaben: oklch(40% 0.10 25);
  --cat-sonderausgaben-surface: oklch(94.5% 0.035 30);
  --cat-fallback: var(--color-ink-muted);
  --cat-fallback-surface: var(--color-surface-sunken);

  /* -- Bewegung ------------------------------------------------------------ */
  --duration-fast: 120ms;
  --duration-normal: 220ms;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);

  --focus-ring-width: 3px;
  --content-max-width: 72rem;
}
