:root {
    --bg-primary: #0B0F14;
    --bg-secondary: #171C23;
    --bg-tertiary: #1E232C;
    --bg-elevated: #252B35;
    --text-primary: #F5F5EF;
    --text-secondary: #8A94A2;
    --accent-blue: #C1121F;
    --accent-blue-hover: #A50F1A;
    --accent-blue-muted: rgba(193, 18, 31, 0.15);
    --accent-green: #2ea44f;
    --accent-green-hover: #3fb950;
    --accent-green-muted: rgba(46, 164, 79, 0.15);
    --accent-red: #f85149;
    --accent-red-hover: #ff6b6b;
    --accent-red-muted: rgba(248, 81, 73, 0.15);
    --accent-yellow: #d29922;
    --accent-yellow-hover: #e3b341;
    --accent-yellow-muted: rgba(210, 153, 34, 0.15);
    --accent-purple: #a371f7;
    --accent-purple-hover: #bc8cff;
    --accent-purple-muted: rgba(163, 113, 247, 0.15);
    --border-primary: #3A4250;
    --border-secondary: #222832;
}
html { color-scheme: dark; }
:root {
    --color-primary: var(--accent-blue);
    --color-primary-hover: var(--accent-blue-hover);
    --color-primary-muted: var(--accent-blue-muted);
    --accent-color: var(--accent-blue);
    --color-success: var(--accent-green);
    --color-success-hover: var(--accent-green-hover);
    --color-success-muted: var(--accent-green-muted);
    --color-danger: var(--accent-red);
    --color-danger-hover: var(--accent-red-hover);
    --color-danger-muted: var(--accent-red-muted);
    --color-warning: var(--accent-yellow);
    --color-warning-hover: var(--accent-yellow-hover);
    --color-warning-muted: var(--accent-yellow-muted);
    --color-info: var(--accent-purple);
    --color-info-hover: var(--accent-purple-hover);
    --color-info-muted: var(--accent-purple-muted);
    --color-surface: var(--bg-secondary);
    --color-surface-alt: var(--bg-primary);
    --color-surface-hover: var(--bg-tertiary);
    --color-surface-raised: var(--bg-elevated);
    --color-text: var(--text-primary);
    --color-text-muted: var(--text-secondary);
    --color-border: var(--border-primary);
    --focus-ring-color: var(--accent-blue-muted);
    color-scheme: dark;
    /* UX 3.5 chrome aliases — solid surfaces (no glass/blur in this shell) */
    --ux35-bg: var(--bg-primary);
    --ux35-sidebar-bg: var(--bg-secondary);
    --ux35-card-bg: var(--bg-secondary);
    --ux35-border: var(--border-primary);
    --ux35-border-light: var(--border-secondary);
    --ux35-text: var(--text-primary);
    --ux35-muted: var(--text-secondary);
    --ux35-hover: var(--bg-hover);
    --ux35-primary: var(--accent-blue);
    --ux35-focus-ring: var(--accent-blue);
    --ux35-active-bg: var(--accent-blue-muted);
    --ux35-glass-blur: 0px;
    --ux35-glass-saturate: 1;
    /* UX 3.5 topbar chrome — theme-invariant (always dark) */
    --ux35-topbar-bg: #161b22;
    --ux35-topbar-fg: #e6edf3;
    --ux35-topbar-fg-muted: #8b949e;
    --ux35-topbar-border: #30363d;
}
:root {
    --surface-glass-blur: 16px;
    --surface-glass-saturate: 1.2;
    --surface-glass-bg-secondary: rgba(22, 27, 34, 0.55);
    --surface-glass-bg-tertiary: rgba(22, 27, 34, 0.63);
    --surface-glass-bg-elevated: rgba(22, 27, 34, 0.70);
    --surface-glass-border: rgba(22, 27, 34, 0.90);
    --card-bg: var(--surface-glass-bg-secondary);
    --sidebar-glass-bg-rail: rgba(22, 27, 34, 0.48);
    --sidebar-glass-bg-flyout: rgba(22, 27, 34, 0.58);
}

/* --- custom branding CSS --- */

/* Kalina-CI: Primaeraktion auf Markenfarbe statt Hersteller-Gruen */
.btn-primary,
.btn-primary:focus-visible {
  background: #C1121F;
  border-color: #C1121F;
}
.btn-primary:hover:not(:disabled),
.btn-primary:active:not(:disabled) {
  background: #A50F1A;
  border-color: #A50F1A;
}
/* Links: CI-Rot + 35 % Weiss = #D6656D. Unveraendertes #C1121F erreicht auf Ink
   nur 3,0:1 (unter AA fuer Text), #D6656D erreicht 5,4:1.
   Selektoren mit body-Praefix, weil login.css nach branding.css laedt. */
body a,
body a:link,
body a:visited {
  color: #D6656D;
}
body a:hover,
body a:focus-visible {
  color: #F5F5EF;
}

