/* ============================================================
   Regentia Client-Portal — TOKENS
   Single Source of Truth. Nicht in HTML-Dateien duplizieren.
   Stand: 2026-05-14 — Phase 1 (1:1 Migration aus Master-Dateien)
   ============================================================ */


/* === Farb-Tokens (aus allen Master-Dateien identisch extrahiert) === */

:root {
  --navy:       #0A1628;
  --gold:       #C4A55A;
  --slate:      #2D3A4A;
  --steel:      #6B7B8D;
  --ivory:      #F5F1EB;
  --light-gold: #EDE5D0;
  --light-navy: #E8ECF1;
  --charcoal:   #1A1A2E;
  --copper:     #A0522D;
  --white:      #FFFFFF;

  /* AUDIT-FIX P2: --gold-muted als Token definiert, ersetzt Hardcode #8a7040 in reporting */
  --gold-muted: #8A7040;


  /* === Typografie-Skala === */

  --type-display: 2rem;       /* h1 */
  --type-hero:    1.875rem;   /* Grosse Metriken */
  --type-section: 1.125rem;   /* h2, h3 */
  --type-body:    0.875rem;   /* Fliesstext */
  --type-caption: 0.75rem;    /* Labels, Badges, Meta */


  /* === Spacing-Skala === */

  --space-4:  4px;
  --space-6:  6px;   /* Sidebar-Section bottom-padding (Master-Standard) */
  --space-8:  8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;


  /* === Radien === */

  --radius-sm:     4px;
  --radius-pill:   9px;    /* Sidebar-Badge (AUDIT-FIX P1) */
  --radius-chip:   999px;  /* Filter-Chips, volle Pille */
  --radius-status: 999px;  /* Status- / Prio-Badges (Live-Werte, klickbar) */


  /* === Layout === */

  --sidebar-width: 260px;


  /* === Transitions === */

  --transition-fast: 150ms ease-out;
  --transition-base: 0.2s;


  /* === Schatten === */

  --shadow-dropdown: 0 8px 24px rgba(10, 22, 40, 0.08);


  /* === Semantische Status-Farben === */

  /* Pending / Bereit */
  --status-pending-bg:   rgba(196, 165, 90, 0.15);
  --status-pending-fg:   var(--gold);

  /* Approved / Freigegeben */
  --status-approved-bg:  var(--gold);
  --status-approved-fg:  var(--navy);

  /* Declined / Abgelehnt */
  --status-declined-bg:  rgba(160, 82, 45, 0.15);
  --status-declined-fg:  var(--copper);

  /* Neutral / Info */
  --status-neutral-bg:   rgba(107, 123, 141, 0.12);
  --status-neutral-fg:   var(--steel);
}


/* === Body-Reset === */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: Inter, Calibri, sans-serif;
  color: var(--charcoal);
  line-height: 1.5;
  background: var(--white);
}


/* === Headings (Playfair Display — identisch in allen Master-Dateien) === */

h1, h2, h3 {
  font-family: "Playfair Display", Georgia, serif;
  color: var(--navy);
}

h1 {
  font-size: var(--type-display);
  font-weight: 700;
  letter-spacing: 0.05em;
}

h2 {
  font-size: var(--type-section);
  font-weight: 700;
  color: var(--slate);
}

h3 {
  font-size: var(--type-section);
  font-weight: 700;
}


/* === Basis-Link === */

a {
  color: var(--gold);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}


/* === Utility: Meta-Text === */

.meta {
  font-size: var(--type-caption);
  color: var(--steel);
}
