/*
 * roomlogic Design-Tokens — einzige Quelle für beide Layouts (rl + app).
 *
 * Vorher lag der :root-Block wortgleich in zwei Blade-Layouts und war bereits
 * auseinandergedriftet. Änderungen gehören ausschließlich hierher.
 */

:root {
  /* Marke */
  --rl-primary: #0F2A3F;
  --rl-primary-hover: #13293D;
  --rl-accent: #B8863B;
  --rl-accent-hover: #9C6F2E;
  --rl-accent-subtle: #F3EADB;

  /* Flächen */
  --rl-surface: #FFFFFF;
  --rl-canvas: #F6F5F3;
  --rl-sunken: #ECEAE6;
  --rl-border: #D8D5CF;
  --rl-border-subtle: #ECEAE6;

  /* Text — der frühere Wert für --rl-text-tertiary lag bei 2,95:1 auf Weiß und
     wurde flächendeckend für 12px-Labels genutzt: klarer Verstoß gegen
     WCAG 1.4.3. Der jetzige Wert erreicht 4,6:1 und bleibt zurückhaltend. */
  --rl-text: #33312E;
  --rl-text-strong: #1A1917;
  --rl-text-secondary: #6B6862;
  --rl-text-tertiary: #75726B;

  /* Statusfarben */
  --rl-success: #2E7D5B;
  --rl-warning: #8A5A15;
  --rl-danger: #B23B3B;
  --rl-info: #2C5F8A;

  /* Statusflächen — ersetzen die bisher fünf auseinandergedrifteten
     Hex-Familien (3× danger, 4× success, 2× warning) in den Views. */
  --rl-success-surface: #E4F0EA;
  --rl-success-border: #BEDDCC;
  --rl-warning-surface: #F6ECD9;
  --rl-warning-border: #E4CFA6;
  --rl-danger-surface: #F5E4E4;
  --rl-danger-border: #E4BEBE;
  --rl-info-surface: #E4EBF0;
  --rl-info-border: #BFD0DB;
  --rl-neutral-surface: #ECEAE6;
  --rl-neutral-border: #D8D5CF;

  --rl-radius-sm: 4px;
  --rl-radius-md: 6px;
  --rl-radius-lg: 8px;

  --rl-shadow-e1: 0 2px 6px rgba(26, 25, 23, 0.08);
  --rl-shadow-e2: 0 4px 12px rgba(26, 25, 23, 0.10);
  --rl-shadow-e3: 0 12px 32px rgba(26, 25, 23, 0.16);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--rl-text);
  -webkit-font-smoothing: antialiased;
}

button, input, select, textarea { font-family: inherit; }
a { text-decoration: none; color: inherit; }

.rl-num { font-variant-numeric: tabular-nums; }
.rl-card { transition: border-color 120ms ease-out; }
.rl-card:hover { border-color: var(--rl-primary); }

:focus-visible { outline: 2px solid var(--rl-accent); outline-offset: 2px; }

/*
 * Deaktivierte und laufende Aktionen waren nirgends gestylt: der einzige
 * @disabled-Button im Produkt (Veröffentlichen) sah exakt aus wie ein aktiver.
 */
button:disabled,
button[aria-busy="true"],
.btn:disabled,
.btn[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  filter: saturate(0.6);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
