/*
 * AIceberg-Theme fuer die Keycloak-Admin-Console (Theme "aiceberg", Typ admin, Parent "keycloak.v2",
 * Keycloak 26.3.3, PatternFly v5) -- Designsystem v1.0 (design/aiceberg, 07.10.2026).
 *
 * Kontext: SaaS-Admin (Petrol). Akzent #0E5A66 / Hover #0A4550, dunkle Sidebar #0A4550 (Text weiss,
 * Icons/Gruppen #A9D3D8, Hover #0E5A66, aktiv #073640 mit 3-px-Balken #8FCBE8, Fokus #8FCBE8),
 * Masthead als Admin-Kontextleiste #073640 mit negativem Logo, Favicon favicon-admin.
 *
 * Angepasst wird nur ueber `styles`/`logo`/`favIcon` in theme.properties plus diese CSS-Datei; das
 * JS-Bundle der Console bleibt unangetastet. Feinlayout einzelner Admin-Seiten bleibt Keycloak-
 * Standard (PatternFly), nur Farben, Schrift, Formen und Abstaende folgen dem Designsystem.
 *
 * Tokens: 1:1-Kopie von design/aiceberg/04-styleguide/tokens.css mit Praefix --aic- (siehe
 * account.css, gleiche Komponentenregeln; Kopie, weil Keycloak je Theme-Typ nur eigene
 * Ressourcen ausliefert). Schriften selbst gehostet (woff2 neben dieser Datei).
 * Kein Dunkelmodus: v1.0 kennt nur das helle Set; setzt die Console `pf-v5-theme-dark`, gelten
 * dieselben hellen Werte (empfohlen zusaetzlich: Realm-Einstellung "Dark mode" aus).
 */

/* ==========================================================================
   0. SCHRIFTEN (selbst gehostet, Styleguide 4.1; Dateien liegen neben dieser CSS-Datei)
   ========================================================================== */
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Variable-latin-ext.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/Inter-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("fonts/JetBrainsMono-Variable.woff2") format("woff2");
  font-weight: 100 800;
  font-style: normal;
  font-display: swap;
}

/* ==========================================================================
   1. TOKENS (1:1 aus design/aiceberg/04-styleguide/tokens.css, Praefix --aic-)
   ========================================================================== */
:root {

  /* Neutrale Töne (kühles Blaugrau) */
  --aic-color-neutral-0: #FFFFFF;
  --aic-color-neutral-25: #F5F8FA;
  --aic-color-neutral-50: #EEF2F4;
  --aic-color-neutral-100: #DCE4E9;
  --aic-color-neutral-300: #7C8E98;
  --aic-color-neutral-500: #6B7D87;
  --aic-color-neutral-600: #5A6B75;
  --aic-color-neutral-700: #4A5D68;
  --aic-color-neutral-900: #14232B;

  /* Petrol (Admin) */
  --aic-color-petrol-50: #E6F2F3;
  --aic-color-petrol-200: #A9D3D8;
  --aic-color-petrol-400: #3E8C97;
  --aic-color-petrol-600: #127080;
  --aic-color-petrol-700: #0E5A66;
  --aic-color-petrol-800: #0A4550;
  --aic-color-petrol-900: #073640;

  /* Eisblau (Organisation) */
  --aic-color-ice-50: #EEF8FC;
  --aic-color-ice-100: #DDF0F9;
  --aic-color-ice-200: #B9E0F2;
  --aic-color-ice-300: #8FCBE8;
  --aic-color-ice-400: #5FB4DB;
  --aic-color-ice-600: #1F7DAF;
  --aic-color-ice-700: #16648F;
  --aic-color-ice-800: #11506F;

  /* Status (Text/Icon + Fläche) */
  --aic-status-ok: #1C7448;
  --aic-status-ok-bg: #E7F5EC;
  --aic-status-busy: #5B4BA8;
  --aic-status-busy-bg: #F1EFFA;
  --aic-status-warn: #8A5300;
  --aic-status-warn-icon: #A86A00;
  --aic-status-warn-bg: #FFF4DC;
  --aic-status-err: #B42318;
  --aic-status-err-bg: #FDECEA;
  --aic-status-off: #4A5D68;
  --aic-status-off-bg: #EEF2F4;
  --aic-status-info: #3D5A9E;
  --aic-status-info-bg: #ECF0FA;

  /* Overlay / Schatten */
  --aic-overlay: rgba(7, 54, 64, 0.45);
  --aic-shadow-0: none;
  --aic-shadow-1: 0 4px 12px rgba(7, 54, 64, 0.12);
  --aic-shadow-2: 0 12px 32px rgba(7, 54, 64, 0.18);

  /* Schriften */
  --aic-font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --aic-font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Typo-Skala (Basis 14 px, in rem wegen WCAG 1.4.4) */
  --aic-fs-kpi: 2rem;
  --aic-lh-kpi: 2.5rem;
  --aic-fs-h1: 1.5rem;
  --aic-lh-h1: 2rem;
  --aic-fs-h2: 1.25rem;
  --aic-lh-h2: 1.75rem;
  --aic-fs-h3: 1rem;
  --aic-lh-h3: 1.5rem;
  --aic-fs-body-lg: 1rem;
  --aic-lh-body-lg: 1.5rem;
  --aic-fs-body: 0.875rem;
  --aic-lh-body: 1.25rem;
  --aic-fs-small: 0.8125rem;
  --aic-lh-small: 1.125rem;
  --aic-fs-caption: 0.75rem;
  --aic-lh-caption: 1rem;
  --aic-fs-mono: 0.8125rem;
  --aic-lh-mono: 1.25rem;
  --aic-fw-regular: 400;
  --aic-fw-medium: 500;
  --aic-fw-semibold: 600;

  /* Abstände (4-px-Raster) */
  --aic-space-0: 0;
  --aic-space-1: 0.25rem;
  --aic-space-2: 0.5rem;
  --aic-space-3: 0.75rem;
  --aic-space-4: 1rem;
  --aic-space-5: 1.25rem;
  --aic-space-6: 1.5rem;
  --aic-space-8: 2rem;
  --aic-space-10: 2.5rem;
  --aic-space-12: 3rem;
  --aic-space-16: 4rem;

  /* Radien */
  --aic-radius-sm: 4px;
  --aic-radius-md: 8px;
  --aic-radius-lg: 12px;
  --aic-radius-pill: 999px;

  /* Linien */
  --aic-bw: 1px;
  --aic-bw-thick: 2px;
  --aic-bw-marker: 3px;
  --aic-focus-width: 2px;
  --aic-focus-offset: 2px;

  /* Größen */
  --aic-h-demobar: 3rem;
  --aic-h-ctxbar: 2.25rem;
  --aic-h-topbar: 3.5rem;
  --aic-h-control: 2.25rem;
  --aic-h-control-sm: 2rem;
  --aic-h-control-lg: 2.5rem;
  --aic-h-nav-item: 2.5rem;
  --aic-h-tab: 2.75rem;
  --aic-w-sidebar: 16rem;
  --aic-w-rail: 4rem;
  --aic-w-form: 45rem;
  --aic-w-content: 100rem;
  --aic-w-dialog-sm: 30rem;
  --aic-w-dialog-md: 40rem;
  --aic-w-tooltip: 17.5rem;
  --aic-w-toggletip: 20rem;
  --aic-w-toast: 22.5rem;
  --aic-w-catalog-card: 17.5rem;
  --aic-w-field-short: 7.5rem;
  --aic-size-icon: 1.25rem;
  --aic-size-icon-sm: 0.875rem;
  --aic-size-icon-md: 1rem;
  --aic-size-hit: 1.5rem;
  --aic-size-icon-btn: 2rem;
  --aic-size-count: 1.125rem;
  --aic-size-app-icon: 2rem;
  --aic-size-check: 1.125rem;
  --aic-size-bar-h: 0.5rem;
  --aic-size-bar-w: 5rem;
  --aic-size-swatch: 3.5rem;
  --aic-size-logo-h: 2rem;
  --aic-size-code-rows: 14rem;

  /* Bewegung */
  --aic-dur-fast: 120ms;
  --aic-dur-base: 200ms;
  --aic-ease: ease-out;
  --aic-delay-tooltip: 400ms;

  /* Dichte (Tabellenzeile) */
  --aic-row-h: 3rem;
  --aic-card-pad: var(--aic-space-6);

  /* ---- Kontext admin (tokens.css, html[data-context="admin"]) ---- */
  --aic-accent: var(--aic-color-petrol-700);
  --aic-accent-strong: var(--aic-color-petrol-800);
  --aic-accent-soft: var(--aic-color-petrol-50);
  --aic-accent-text: var(--aic-color-petrol-700);
  --aic-focus-ring: var(--aic-color-ice-600);
  --aic-ctx-bg: var(--aic-color-petrol-900);
  --aic-ctx-fg: var(--aic-color-neutral-0);
  --aic-ctx-fg-soft: var(--aic-color-ice-200);
  --aic-ctx-border: var(--aic-color-petrol-900);
  --aic-ctx-pill-bg: var(--aic-color-neutral-0);
  --aic-ctx-pill-fg: var(--aic-color-petrol-900);
  --aic-nav-bg: var(--aic-color-petrol-800);
  --aic-nav-fg: var(--aic-color-neutral-0);
  --aic-nav-icon: var(--aic-color-petrol-200);
  --aic-nav-group: var(--aic-color-petrol-200);
  --aic-nav-border: var(--aic-color-petrol-800);
  --aic-nav-hover-bg: var(--aic-color-petrol-700);
  --aic-nav-active-bg: var(--aic-color-petrol-900);
  --aic-nav-active-fg: var(--aic-color-neutral-0);
  --aic-nav-active-bar: var(--aic-color-ice-300);
  --aic-nav-focus: var(--aic-color-ice-300);
  --aic-row-h: 2.5rem;
  --aic-card-pad: var(--aic-space-5);
}

/* ==========================================================================
   2. KEIN DUNKELMODUS
   Designsystem v1.0 definiert nur das helle Set. Setzt PatternFly/Keycloak trotzdem
   `pf-v5-theme-dark` auf <html>, gelten unten dieselben (hellen) Werte.
   ========================================================================== */
:root,
:root.pf-v5-theme-dark {
  color-scheme: light;
}

/* ==========================================================================
   3. PATTERNFLY-v5-VARIABLEN AUF TOKENS ABBILDEN
   ========================================================================== */
:root,
:root.pf-v5-theme-dark,
.pf-v5-c-page__sidebar,
.pf-v5-c-modal-box,
.pf-v5-c-menu,
.pf-v5-c-dropdown__menu {
  --pf-v5-global--FontFamily--sans-serif: var(--aic-font-sans);
  --pf-v5-global--FontFamily--text--sans-serif: var(--aic-font-sans);
  --pf-v5-global--FontFamily--heading--sans-serif: var(--aic-font-sans);
  --pf-v5-global--FontFamily--text: var(--aic-font-sans);
  --pf-v5-global--FontFamily--heading: var(--aic-font-sans);
  --pf-v5-global--FontFamily--redhatfont--sans-serif: var(--aic-font-sans);
  --pf-v5-global--FontFamily--redhatfont--heading--sans-serif: var(--aic-font-sans);
  --pf-v5-global--FontFamily--monospace: var(--aic-font-mono);
  --pf-v5-global--FontSize--xs: var(--aic-fs-caption);
  --pf-v5-global--FontSize--sm: var(--aic-fs-small);
  --pf-v5-global--FontSize--md: var(--aic-fs-body);
  --pf-v5-global--FontSize--lg: var(--aic-fs-body-lg);
  --pf-v5-global--FontSize--xl: var(--aic-fs-h2);
  --pf-v5-global--FontSize--2xl: var(--aic-fs-h1);
  --pf-v5-global--FontSize--3xl: var(--aic-fs-h1);
  --pf-v5-global--FontWeight--normal: var(--aic-fw-regular);
  --pf-v5-global--FontWeight--bold: var(--aic-fw-semibold);

  --pf-v5-global--Color--100: var(--aic-color-neutral-900);
  --pf-v5-global--Color--200: var(--aic-color-neutral-700);
  --pf-v5-global--Color--300: var(--aic-color-neutral-600);
  --pf-v5-global--Color--400: var(--aic-color-neutral-600);
  --pf-v5-global--Color--light-100: var(--aic-color-neutral-0);
  --pf-v5-global--Color--dark-100: var(--aic-color-neutral-900);
  --pf-v5-global--disabled-color--100: var(--aic-color-neutral-600);
  --pf-v5-global--disabled-color--200: var(--aic-color-neutral-100);
  --pf-v5-global--disabled-color--300: var(--aic-color-neutral-50);

  --pf-v5-global--BackgroundColor--100: var(--aic-color-neutral-0);
  --pf-v5-global--BackgroundColor--200: var(--aic-color-neutral-25);
  --pf-v5-global--BackgroundColor--300: var(--aic-color-neutral-50);
  --pf-v5-global--BackgroundColor--400: var(--aic-color-neutral-50);
  --pf-v5-global--BackgroundColor--light-100: var(--aic-color-neutral-0);
  --pf-v5-global--BackgroundColor--light-300: var(--aic-color-neutral-50);

  --pf-v5-global--BorderColor--100: var(--aic-color-neutral-100);
  --pf-v5-global--BorderColor--200: var(--aic-color-neutral-100);
  --pf-v5-global--BorderColor--300: var(--aic-color-neutral-300);
  --pf-v5-global--BorderColor--dark-100: var(--aic-color-neutral-100);
  --pf-v5-global--BorderColor--light-100: var(--aic-color-neutral-100);
  --pf-v5-global--BorderWidth--sm: var(--aic-bw);

  --pf-v5-global--primary-color--100: var(--aic-accent);
  --pf-v5-global--primary-color--200: var(--aic-accent-strong);
  --pf-v5-global--primary-color--light-100: var(--aic-accent);
  --pf-v5-global--primary-color--dark-100: var(--aic-accent-strong);
  --pf-v5-global--active-color--100: var(--aic-accent);
  --pf-v5-global--active-color--200: var(--aic-accent-soft);
  --pf-v5-global--active-color--300: var(--aic-accent-strong);
  --pf-v5-global--active-color--400: var(--aic-accent);
  --pf-v5-global--link--Color: var(--aic-accent-text);
  --pf-v5-global--link--Color--hover: var(--aic-accent-strong);
  --pf-v5-global--link--Color--light: var(--aic-accent-text);
  --pf-v5-global--link--Color--light--hover: var(--aic-accent-strong);
  --pf-v5-global--link--Color--dark: var(--aic-accent-text);
  --pf-v5-global--link--Color--dark--hover: var(--aic-accent-strong);

  --pf-v5-global--success-color--100: var(--aic-status-ok);
  --pf-v5-global--success-color--200: var(--aic-status-ok);
  --pf-v5-global--warning-color--100: var(--aic-status-warn-icon);
  --pf-v5-global--warning-color--200: var(--aic-status-warn);
  --pf-v5-global--danger-color--100: var(--aic-status-err);
  --pf-v5-global--danger-color--200: var(--aic-status-err);
  --pf-v5-global--danger-color--300: var(--aic-status-err);
  --pf-v5-global--info-color--100: var(--aic-status-info);
  --pf-v5-global--info-color--200: var(--aic-status-info);
  --pf-v5-global--custom-color--100: var(--aic-status-info);
  --pf-v5-global--custom-color--200: var(--aic-status-info);

  --pf-v5-global--BorderRadius--sm: var(--aic-radius-sm);
  --pf-v5-global--BoxShadow--sm: var(--aic-shadow-1);
  --pf-v5-global--BoxShadow--md: var(--aic-shadow-1);
  --pf-v5-global--BoxShadow--lg: var(--aic-shadow-2);
  --pf-v5-global--BoxShadow--xl: var(--aic-shadow-2);
}

/* ==========================================================================
   4. BASIS
   ========================================================================== */
html { font-size: 100%; }
body,
.pf-v5-c-page {
  font-family: var(--aic-font-sans);
  font-size: var(--aic-fs-body);
  line-height: var(--aic-lh-body);
  font-feature-settings: "cv11" 1;
  color: var(--aic-color-neutral-900);
  background-color: var(--aic-color-neutral-25);
}

.pf-v5-c-page__main,
.pf-v5-c-page__main-section,
.pf-v5-c-page__main-section.pf-m-light,
.pf-v5-c-page__main-breadcrumb,
.pf-v5-c-page__main-tabs,
.pf-v5-c-page__main-wizard {
  --pf-v5-c-page__main-section--BackgroundColor: var(--aic-color-neutral-25);
  --pf-v5-c-page__main-section--m-light--BackgroundColor: var(--aic-color-neutral-25);
  --pf-v5-c-page__main-breadcrumb--BackgroundColor: var(--aic-color-neutral-25);
  --pf-v5-c-page__main-tabs--BackgroundColor: var(--aic-color-neutral-25);
  background-color: var(--aic-color-neutral-25);
}

code, kbd, samp, pre,
.pf-v5-c-code-block,
.pf-v5-c-clipboard-copy__text {
  font-family: var(--aic-font-mono);
  font-variant-ligatures: none;
}

a {
  color: var(--aic-accent-text);
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--aic-accent-strong);
}

/* Fokusring global: 2 px, Abstand 2 px (Styleguide 10) */
:focus-visible,
.pf-v5-c-button:focus-visible,
.pf-v5-c-menu-toggle:focus-visible,
.pf-v5-c-tabs__link:focus-visible,
a:focus-visible {
  outline: var(--aic-focus-width) solid var(--aic-focus-ring);
  outline-offset: var(--aic-focus-offset);
}

/* ---- Typografie ---- */
h1, h2, h3, h4, h5, h6,
.pf-v5-c-title {
  font-family: var(--aic-font-sans);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-title.pf-m-4xl,
.pf-v5-c-title.pf-m-3xl,
.pf-v5-c-title.pf-m-2xl {
  font-size: var(--aic-fs-h1);
  line-height: var(--aic-lh-h1);
  font-weight: var(--aic-fw-semibold);
}

.pf-v5-c-title.pf-m-xl {
  font-size: var(--aic-fs-h2);
  line-height: var(--aic-lh-h2);
  font-weight: var(--aic-fw-semibold);
}

.pf-v5-c-title.pf-m-lg,
.pf-v5-c-title.pf-m-md {
  font-size: var(--aic-fs-h3);
  line-height: var(--aic-lh-h3);
  font-weight: var(--aic-fw-semibold);
}

.pf-v5-c-content {
  --pf-v5-c-content--FontSize: var(--aic-fs-body);
  --pf-v5-c-content--LineHeight: var(--aic-lh-body);
  --pf-v5-c-content--Color: var(--aic-color-neutral-900);
  --pf-v5-c-content--a--Color: var(--aic-accent-text);
  --pf-v5-c-content--a--hover--Color: var(--aic-accent-strong);
}

/* Beschreibung unter dem Seitentitel = Sekundaertext */
.pf-v5-c-page__main-section > .pf-v5-c-content p,
.pf-v5-c-page__main-section .pf-v5-c-title + .pf-v5-c-content p,
.pf-v5-c-page__main-section .pf-v5-c-title + p {
  color: var(--aic-color-neutral-700);
  max-width: 64ch;
}

/* ==========================================================================
   5. MASTHEAD = KONTEXTLEISTE ADMIN
   Die Admin-Console hat (anders als die SPA) keine eigene Kontextleiste; der PatternFly-Masthead
   traegt Logo, Burger und Benutzermenue ueber die volle Breite. Er uebernimmt deshalb die Rolle der
   Admin-Kontextleiste (Styleguide 10.7/11): Flaeche --ctx-bg (#073640), Text --ctx-fg, Unterkante
   2 px --ctx-border, Logo negativ (logo-full-dark.svg = logo-inverse.svg; auf #073640 vorgesehen,
   Styleguide 2.5). Zusammen mit der dunklen Sidebar ist der Admin-Kontext so auf einen Blick
   erkennbar (Helligkeit statt Farbton).
   ========================================================================== */
.pf-v5-c-masthead {
  --pf-v5-c-masthead--BackgroundColor: var(--aic-ctx-bg);
  --pf-v5-c-masthead--m-display-inline--BackgroundColor: var(--aic-ctx-bg);
  --pf-v5-c-masthead--m-display-inline__content--BackgroundColor: var(--aic-ctx-bg);
  --pf-v5-c-masthead--MinHeight: var(--aic-h-topbar);
  --pf-v5-c-masthead--PaddingRight: var(--aic-space-4);
  --pf-v5-c-masthead--PaddingLeft: var(--aic-space-4);
  --pf-v5-c-masthead--m-display-inline--PaddingRight: var(--aic-space-4);
  --pf-v5-c-masthead--m-display-inline--PaddingLeft: var(--aic-space-4);
  --pf-v5-c-masthead--item-border-color--base: transparent;
  --pf-v5-c-masthead--PaddingTop: var(--aic-space-2);
  --pf-v5-c-masthead--PaddingBottom: var(--aic-space-2);
  --pf-v5-c-masthead--m-display-inline--PaddingTop: var(--aic-space-2);
  --pf-v5-c-masthead--m-display-inline--PaddingBottom: var(--aic-space-2);
  --pf-v5-c-masthead__content--MinHeight: var(--aic-h-control);
  --pf-v5-c-masthead__main--MinHeight: var(--aic-h-control);
  min-height: var(--aic-h-topbar);
  padding-block: var(--aic-space-2);
  background-color: var(--aic-ctx-bg);
  border-bottom: var(--aic-bw-thick) solid var(--aic-ctx-border);
  color: var(--aic-ctx-fg);
}

.pf-v5-c-masthead .pf-v5-c-toolbar {
  --pf-v5-c-toolbar--BackgroundColor: transparent;
  --pf-v5-c-toolbar--PaddingTop: 0;
  --pf-v5-c-toolbar--PaddingBottom: 0;
  background-color: transparent;
  padding-block: 0;
}

.pf-v5-c-masthead .pf-v5-c-masthead__content {
  --pf-v5-c-masthead__content--MinHeight: 0;
  min-height: 0;
  flex: 1 1 auto;
  min-width: 0;
}

/* Leiste bleibt einzeilig (auch < 640 px) */
.pf-v5-c-masthead {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--aic-space-3);
}

.pf-v5-c-masthead__brand {
  display: flex;
  align-items: center;
}

/* Logo negativ, 32 px hoch (theme.properties zeigt bereits auf logo-full-dark.svg; die Regel
   sichert das ab, falls die Console den Logo-Pfad anders aufloest) */
.pf-v5-c-masthead__brand img {
  content: url("logo-full-dark.svg");
  height: var(--aic-size-logo-h);
  width: auto;
  max-height: none;
}

.pf-v5-c-masthead,
.pf-v5-c-masthead .pf-v5-c-menu-toggle,
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-page__header-tools,
.pf-v5-c-masthead .pf-v5-c-dropdown__toggle {
  color: var(--aic-ctx-fg);
}

/* Icon-Buttons und Benutzermenue in der Leiste: transparent, Hover = 1-px-Umriss in Textfarbe
   (wie `.ctxbar .icon-btn:hover` der SPA), Fokus --nav-focus */
.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain,
.pf-v5-c-masthead .pf-v5-c-menu-toggle {
  --pf-v5-c-button--m-plain--Color: var(--aic-ctx-fg);
  --pf-v5-c-button--m-plain--hover--Color: var(--aic-ctx-fg);
  --pf-v5-c-button--m-plain--focus--Color: var(--aic-ctx-fg);
  --pf-v5-c-button--m-plain--hover--BackgroundColor: transparent;
  --pf-v5-c-menu-toggle--Color: var(--aic-ctx-fg);
  --pf-v5-c-menu-toggle--BackgroundColor: transparent;
  --pf-v5-c-menu-toggle--hover--Color: var(--aic-ctx-fg);
  --pf-v5-c-menu-toggle--expanded--Color: var(--aic-ctx-fg);
  --pf-v5-c-menu-toggle--before--BorderColor: transparent;
  --pf-v5-c-menu-toggle--before--BorderTopColor: transparent;
  --pf-v5-c-menu-toggle--before--BorderRightColor: transparent;
  --pf-v5-c-menu-toggle--before--BorderBottomColor: transparent;
  --pf-v5-c-menu-toggle--before--BorderLeftColor: transparent;
  --pf-v5-c-menu-toggle--hover--before--BorderBottomColor: transparent;
  --pf-v5-c-menu-toggle--expanded--before--BorderBottomColor: transparent;
  background-color: transparent;
  color: var(--aic-ctx-fg);
  border-radius: var(--aic-radius-sm);
}

.pf-v5-c-masthead .pf-v5-c-menu-toggle::before,
.pf-v5-c-masthead .pf-v5-c-menu-toggle::after {
  border-color: transparent;
}

.pf-v5-c-masthead .pf-v5-c-button.pf-m-plain:hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:hover,
.pf-v5-c-masthead .pf-v5-c-menu-toggle.pf-m-expanded {
  background-color: transparent;
  color: var(--aic-ctx-fg);
  outline: var(--aic-bw) solid currentColor;
}

.pf-v5-c-masthead :focus-visible,
.pf-v5-c-masthead .pf-v5-c-button:focus-visible,
.pf-v5-c-masthead .pf-v5-c-menu-toggle:focus-visible {
  outline: var(--aic-focus-width) solid var(--aic-nav-focus);
  outline-offset: var(--aic-focus-offset);
}

/* Avatar: weisse Flaeche, Figur Petrol (Kontrast auf #073640) */
.pf-v5-c-masthead .pf-v5-c-avatar {
  width: var(--aic-size-icon-btn);
  height: var(--aic-size-icon-btn);
  border-radius: var(--aic-radius-pill);
  background-color: var(--aic-ctx-pill-bg);
}

.pf-v5-c-masthead .pf-v5-c-avatar circle {
  fill: var(--aic-ctx-pill-bg) !important;
}

.pf-v5-c-masthead .pf-v5-c-avatar path[style*="187"] {
  fill: var(--aic-ctx-pill-fg) !important;
}

/* ==========================================================================
   6. SIDEBAR / NAVIGATION (semantische Nav-Tokens des Kontexts, Styleguide 10.5)
   ========================================================================== */
.pf-v5-c-page__sidebar {
  --pf-v5-c-page__sidebar--BackgroundColor: var(--aic-nav-bg);
  --pf-v5-c-page__sidebar--m-light--BackgroundColor: var(--aic-nav-bg);
  --pf-v5-c-page__sidebar--m-light--BorderRightColor: var(--aic-nav-border);
  --pf-v5-c-page__sidebar--Width: min(var(--aic-w-sidebar), 85vw);
  --pf-v5-c-page__sidebar--BoxShadow: var(--aic-shadow-2);
  --pf-v5-c-page__sidebar-body--PaddingLeft: var(--aic-space-3);
  --pf-v5-c-page__sidebar-body--PaddingRight: var(--aic-space-3);
  box-sizing: border-box;
  background-color: var(--aic-nav-bg);
  color: var(--aic-nav-fg);
  border-inline-end: var(--aic-bw) solid var(--aic-nav-border);
  overflow-y: auto;
}

.pf-v5-c-page__sidebar-body {
  padding-block: var(--aic-space-4);
  padding-inline: var(--aic-space-3);
}

.pf-v5-c-page__sidebar :focus-visible {
  outline-color: var(--aic-nav-focus);
}

.pf-v5-c-nav {
  --pf-v5-c-nav--BackgroundColor: transparent;
  --pf-v5-c-nav__link--Color: var(--aic-nav-fg);
  --pf-v5-c-nav__link--hover--Color: var(--aic-nav-fg);
  --pf-v5-c-nav__link--focus--Color: var(--aic-nav-fg);
  --pf-v5-c-nav__link--active--Color: var(--aic-nav-active-fg);
  --pf-v5-c-nav__link--m-current--Color: var(--aic-nav-active-fg);
  --pf-v5-c-nav__link--BackgroundColor: transparent;
  --pf-v5-c-nav__link--hover--BackgroundColor: var(--aic-nav-hover-bg);
  --pf-v5-c-nav__link--focus--BackgroundColor: var(--aic-nav-hover-bg);
  --pf-v5-c-nav__link--active--BackgroundColor: var(--aic-nav-active-bg);
  --pf-v5-c-nav__link--m-current--BackgroundColor: var(--aic-nav-active-bg);
  --pf-v5-c-nav__link--before--BorderColor: transparent;
  --pf-v5-c-nav__link--after--BorderColor: transparent;
  --pf-v5-c-nav__link--hover--after--BorderColor: transparent;
  --pf-v5-c-nav__link--m-current--after--BorderColor: transparent;
  --pf-v5-c-nav__link-icon--Color: var(--aic-nav-icon);
  --pf-v5-c-nav__section-title--Color: var(--aic-nav-group);
  --pf-v5-c-nav__section-title--BorderBottomColor: transparent;
  --pf-v5-c-nav__subnav__link--Color: var(--aic-nav-fg);
  --pf-v5-c-nav__subnav__link--hover--Color: var(--aic-nav-fg);
  --pf-v5-c-nav__subnav__link--m-current--Color: var(--aic-nav-active-fg);
  --pf-v5-c-nav__subnav__link--BackgroundColor: transparent;
  --pf-v5-c-nav__subnav__link--hover--BackgroundColor: var(--aic-nav-hover-bg);
  --pf-v5-c-nav__subnav__link--m-current--BackgroundColor: var(--aic-nav-active-bg);
  --pf-v5-c-nav__item--MarginTop: 0;
  --pf-v5-c-nav__item--item--MarginTop: 0;
  --pf-v5-c-nav__subnav--PaddingBottom: 0;
  --pf-v5-c-nav__subnav--PaddingLeft: 0;
  --pf-v5-c-nav__subnav--m-current--PaddingLeft: 0;
  --pf-v5-c-nav__toggle--Color: var(--aic-nav-icon);
  color: var(--aic-nav-fg);
}

.pf-v5-c-nav__list,
.pf-v5-c-nav__subnav .pf-v5-c-nav__list {
  display: flex;
  flex-direction: column;
  gap: var(--aic-space-1);
  padding: 0;
  margin: 0;
}

/* Trennlinien der PatternFly-Nav entfallen (Sidebar des Designsystems hat keine) */
.pf-v5-c-nav__item::before,
.pf-v5-c-nav__item::after,
.pf-v5-c-nav__item + .pf-v5-c-nav__item::before,
.pf-v5-c-nav__subnav::before,
.pf-v5-c-nav__subnav::after,
.pf-v5-c-nav__section::before,
.pf-v5-c-nav__section::after {
  display: none;
  border: 0;
  content: none;
}

.pf-v5-c-nav__item.pf-m-expandable,
.pf-v5-c-nav__section {
  border: 0;
}

/* Gruppenueberschrift: 12/16, 600, --nav-group */
.pf-v5-c-nav__section-title {
  margin: 0;
  padding: var(--aic-space-4) var(--aic-space-3) var(--aic-space-1);
  border: 0;
  font-size: var(--aic-fs-caption);
  line-height: var(--aic-lh-caption);
  font-weight: var(--aic-fw-semibold);
  color: var(--aic-nav-group);
  text-transform: none;
  letter-spacing: normal;
}

/* Eintrag: min. 40 px, Padding 8/12, Radius 4, 14/20 500 */
.pf-v5-c-nav__link,
.pf-v5-c-nav__item.pf-m-expanded > .pf-v5-c-nav__link,
.pf-v5-c-nav__subnav .pf-v5-c-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--aic-space-3);
  box-sizing: border-box;
  width: 100%;
  min-height: var(--aic-h-nav-item);
  padding: var(--aic-space-2) var(--aic-space-3);
  border: 0;
  border-radius: var(--aic-radius-sm);
  color: var(--aic-nav-fg);
  background-color: transparent;
  font-family: var(--aic-font-sans);
  font-size: var(--aic-fs-body);
  line-height: var(--aic-lh-body);
  font-weight: var(--aic-fw-medium);
  text-align: start;
  text-decoration: none;
}

.pf-v5-c-nav__subnav .pf-v5-c-nav__link {
  padding-inline-start: var(--aic-space-10);
}

.pf-v5-c-nav__link:hover,
.pf-v5-c-nav__item.pf-m-expanded > .pf-v5-c-nav__link:hover,
.pf-v5-c-nav__subnav .pf-v5-c-nav__link:hover {
  color: var(--aic-nav-fg);
  background-color: var(--aic-nav-hover-bg);
}

.pf-v5-c-nav__link.pf-m-current,
.pf-v5-c-nav__link:hover.pf-m-current,
.pf-v5-c-nav__link[aria-current="page"],
.pf-v5-c-nav__subnav .pf-v5-c-nav__link.pf-m-current {
  color: var(--aic-nav-active-fg);
  background-color: var(--aic-nav-active-bg);
  font-weight: var(--aic-fw-semibold);
}

/* Aktiv-Balken 3 px links (wie `.nav a[aria-current]::before` der SPA; hier ::after, da
   ::before im Account-Theme das Icon traegt) */
.pf-v5-c-nav__link::after {
  content: "";
  position: absolute;
  inset: var(--aic-space-1) auto var(--aic-space-1) 0;
  width: var(--aic-bw-marker);
  height: auto;
  border: 0;
  border-radius: var(--aic-radius-pill);
  background-color: transparent;
  transform: none;
}

.pf-v5-c-nav__link.pf-m-current::after,
.pf-v5-c-nav__link[aria-current="page"]::after {
  background-color: var(--aic-nav-active-bar);
}

.pf-v5-c-nav__link:focus-visible {
  outline: var(--aic-focus-width) solid var(--aic-nav-focus);
  outline-offset: calc(var(--aic-focus-offset) * -1);
}

.pf-v5-c-nav__link .pf-v5-c-nav__toggle {
  margin-inline-start: auto;
  padding: 0;
  color: var(--aic-nav-icon);
}

/* ---- Admin: Realm-Auswahl und weitere Bedienelemente auf der dunklen Sidebar ---- */
.pf-v5-c-page__sidebar,
.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title,
.pf-v5-c-page__sidebar .pf-v5-c-title,
.pf-v5-c-page__sidebar h1,
.pf-v5-c-page__sidebar h2 {
  color: var(--aic-nav-fg);
}

.pf-v5-c-page__sidebar .pf-v5-c-nav__section-title {
  color: var(--aic-nav-group);
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle,
.pf-v5-c-page__sidebar .pf-v5-c-dropdown__toggle {
  --pf-v5-c-menu-toggle--Color: var(--aic-nav-fg);
  --pf-v5-c-menu-toggle--BackgroundColor: transparent;
  --pf-v5-c-menu-toggle--hover--Color: var(--aic-nav-fg);
  --pf-v5-c-menu-toggle--expanded--Color: var(--aic-nav-fg);
  --pf-v5-c-menu-toggle__toggle-icon--Color: var(--aic-nav-icon);
  min-height: var(--aic-h-control);
  border-radius: var(--aic-radius-sm);
  background-color: transparent;
  color: var(--aic-nav-fg);
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle::before {
  border: var(--aic-bw) solid var(--aic-nav-icon);
  border-radius: var(--aic-radius-sm);
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle::after {
  border: 0;
}

.pf-v5-c-page__sidebar .pf-v5-c-menu-toggle:hover {
  background-color: var(--aic-nav-hover-bg);
}

.pf-v5-c-page__sidebar .pf-v5-c-divider::after,
.pf-v5-c-page__sidebar .pf-v5-c-divider::before,
.pf-v5-c-page__sidebar hr {
  background-color: var(--aic-color-petrol-700);
  border-color: var(--aic-color-petrol-700);
}

/* Menues, die aus der Sidebar aufklappen, bleiben hell (schwebende Ebene) */
.pf-v5-c-page__sidebar .pf-v5-c-menu,
.pf-v5-c-page__sidebar .pf-v5-c-menu .pf-v5-c-menu__item-text {
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-page__sidebar a:not(.pf-v5-c-nav__link) {
  color: var(--aic-nav-fg);
}

/* Breite wie --w-sidebar (PatternFly-Standard 290 px) */
@media (min-width: 1200px) {
  .pf-v5-c-page {
    --pf-v5-c-page__sidebar--Width: var(--aic-w-sidebar);
  }
}

/* Dunkle Sidebar: PatternFly-Globalwerte innerhalb der Sidebar auf helle Schrift umstellen */
.pf-v5-c-page__sidebar {
  --pf-v5-global--Color--100: var(--aic-nav-fg);
  --pf-v5-global--Color--200: var(--aic-nav-icon);
  --pf-v5-global--BackgroundColor--100: var(--aic-nav-bg);
  --pf-v5-global--BorderColor--100: var(--aic-color-petrol-700);
  --pf-v5-global--link--Color: var(--aic-nav-fg);
  --pf-v5-global--link--Color--hover: var(--aic-nav-fg);
}

/* ==========================================================================
   7. SEITENINHALT (Seitenrand wie `.page` der SPA: 16 / 24 / 32 px, unten 48 px)
   ========================================================================== */
.pf-v5-c-page__main-section {
  --pf-v5-c-page__main-section--PaddingTop: var(--aic-space-6);
  --pf-v5-c-page__main-section--PaddingRight: var(--aic-space-4);
  --pf-v5-c-page__main-section--PaddingBottom: var(--aic-space-6);
  --pf-v5-c-page__main-section--PaddingLeft: var(--aic-space-4);
}

@media (min-width: 1024px) {
  .pf-v5-c-page__main-section {
    --pf-v5-c-page__main-section--PaddingRight: var(--aic-space-6);
    --pf-v5-c-page__main-section--PaddingLeft: var(--aic-space-6);
  }
}

@media (min-width: 1280px) {
  .pf-v5-c-page__main-section {
    --pf-v5-c-page__main-section--PaddingRight: var(--aic-space-8);
    --pf-v5-c-page__main-section--PaddingLeft: var(--aic-space-8);
  }
}

/* Breadcrumb: 13/18, --color-neutral-700, Hover --accent-strong */
.pf-v5-c-breadcrumb {
  --pf-v5-c-breadcrumb__item--FontSize: var(--aic-fs-small);
  --pf-v5-c-breadcrumb__link--Color: var(--aic-color-neutral-700);
  --pf-v5-c-breadcrumb__link--hover--Color: var(--aic-accent-strong);
  --pf-v5-c-breadcrumb__link--m-current--Color: var(--aic-color-neutral-900);
  --pf-v5-c-breadcrumb__item-divider--Color: var(--aic-color-neutral-600);
}

/* ==========================================================================
   8. KARTEN UND LISTEN (weiss, Rahmen 1 px --color-neutral-100, Radius 8, kein Schatten)
   ========================================================================== */
.pf-v5-c-card {
  --pf-v5-c-card--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-card--BoxShadow: none;
  --pf-v5-c-card--first-child--PaddingTop: var(--aic-card-pad);
  --pf-v5-c-card--child--PaddingRight: var(--aic-card-pad);
  --pf-v5-c-card--child--PaddingBottom: var(--aic-card-pad);
  --pf-v5-c-card--child--PaddingLeft: var(--aic-card-pad);
  --pf-v5-c-card__title--not--last-child--PaddingBottom: var(--aic-space-4);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-radius: var(--aic-radius-md);
  box-shadow: none;
}

.pf-v5-c-card__title,
.pf-v5-c-card__title-text,
.pf-v5-c-card__header {
  color: var(--aic-color-neutral-900);
  font-size: var(--aic-fs-h3);
  line-height: var(--aic-lh-h3);
  font-weight: var(--aic-fw-semibold);
}

.pf-v5-c-data-list,
.pf-v5-c-data-list__item {
  --pf-v5-c-data-list--BorderTopColor: var(--aic-color-neutral-100);
  --pf-v5-c-data-list--BorderTopWidth: 0;
  --pf-v5-c-data-list__item--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-data-list__item--BorderBottomColor: var(--aic-color-neutral-100);
  --pf-v5-c-data-list__item--BorderTopColor: var(--aic-color-neutral-100);
  --pf-v5-c-data-list__item--hover--BackgroundColor: var(--aic-color-neutral-25);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-data-list,
.pf-v5-c-data-list.pf-m-grid-md,
.pf-v5-c-data-list.pf-m-grid-lg {
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-radius: var(--aic-radius-md);
  overflow: hidden;
}

.pf-v5-c-data-list__item,
.pf-v5-c-data-list.pf-m-grid-md .pf-v5-c-data-list__item,
.pf-v5-c-data-list.pf-m-grid-lg .pf-v5-c-data-list__item {
  border-inline: 0;
  border-block: 0;
  box-shadow: none;
}

.pf-v5-c-data-list__item::before,
.pf-v5-c-data-list__item::after {
  display: none;
}

.pf-v5-c-data-list__item + .pf-v5-c-data-list__item,
.pf-v5-c-data-list.pf-m-grid-md .pf-v5-c-data-list__item + .pf-v5-c-data-list__item,
.pf-v5-c-data-list.pf-m-grid-lg .pf-v5-c-data-list__item + .pf-v5-c-data-list__item {
  border-block-start: var(--aic-bw) solid var(--aic-color-neutral-100);
}

.pf-v5-c-data-list__item-row {
  padding-inline: var(--aic-space-2);
}

.pf-v5-c-data-list__item.pf-m-clickable:hover,
.pf-v5-c-data-list__item.pf-m-selected {
  background-color: var(--aic-accent-soft);
}

.pf-v5-c-description-list {
  --pf-v5-c-description-list__term--FontWeight: var(--aic-fw-medium);
  --pf-v5-c-description-list__term--Color: var(--aic-color-neutral-700);
  --pf-v5-c-description-list__description--Color: var(--aic-color-neutral-900);
}

.pf-v5-c-description-list__term,
.pf-v5-c-description-list__term .pf-v5-c-description-list__text {
  color: var(--aic-color-neutral-700);
  font-weight: var(--aic-fw-medium);
}

.pf-v5-c-divider {
  --pf-v5-c-divider--BackgroundColor: var(--aic-color-neutral-100);
}

.pf-v5-c-divider::after,
.pf-v5-c-divider::before,
hr {
  background-color: var(--aic-color-neutral-100);
  border-color: var(--aic-color-neutral-100);
}

.pf-v5-c-empty-state {
  --pf-v5-c-empty-state__icon--Color: var(--aic-accent);
}

.pf-v5-c-empty-state__content,
.pf-v5-c-empty-state__body {
  color: var(--aic-color-neutral-700);
}

/* ==========================================================================
   9. BUTTONS (Styleguide 10.1)
   ========================================================================== */
.pf-v5-c-button {
  --pf-v5-c-button--BorderRadius: var(--aic-radius-sm);
  --pf-v5-c-button--PaddingTop: var(--aic-space-2);
  --pf-v5-c-button--PaddingRight: var(--aic-space-4);
  --pf-v5-c-button--PaddingBottom: var(--aic-space-2);
  --pf-v5-c-button--PaddingLeft: var(--aic-space-4);
  --pf-v5-c-button--FontSize: var(--aic-fs-body);
  --pf-v5-c-button--LineHeight: var(--aic-lh-body);
  --pf-v5-c-button--FontWeight: var(--aic-fw-medium);
  --pf-v5-c-button--after--BorderRadius: var(--aic-radius-sm);
  --pf-v5-c-button--after--BorderWidth: var(--aic-bw);
  --pf-v5-c-button--hover--after--BorderWidth: var(--aic-bw);
  --pf-v5-c-button--focus--after--BorderWidth: var(--aic-bw);
  --pf-v5-c-button--active--after--BorderWidth: var(--aic-bw);
  font-family: var(--aic-font-sans);
  font-weight: var(--aic-fw-medium);
  border-radius: var(--aic-radius-sm);
  transition: background-color var(--aic-dur-fast) var(--aic-ease), color var(--aic-dur-fast) var(--aic-ease);
}

.pf-v5-c-button.pf-m-primary,
.pf-v5-c-button.pf-m-secondary,
.pf-v5-c-button.pf-m-tertiary,
.pf-v5-c-button.pf-m-danger,
.pf-v5-c-button.pf-m-warning,
.pf-v5-c-button.pf-m-control {
  min-height: var(--aic-h-control);
}

/* Primaer: Flaeche --accent, Hover --accent-strong */
.pf-v5-c-button.pf-m-primary {
  --pf-v5-c-button--m-primary--BackgroundColor: var(--aic-accent);
  --pf-v5-c-button--m-primary--Color: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-primary--hover--BackgroundColor: var(--aic-accent-strong);
  --pf-v5-c-button--m-primary--hover--Color: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-primary--focus--BackgroundColor: var(--aic-accent-strong);
  --pf-v5-c-button--m-primary--focus--Color: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-primary--active--BackgroundColor: var(--aic-accent-strong);
  --pf-v5-c-button--m-primary--active--Color: var(--aic-color-neutral-0);
  background-color: var(--aic-accent);
  color: var(--aic-color-neutral-0);
}

.pf-v5-c-button.pf-m-primary:hover,
.pf-v5-c-button.pf-m-primary:focus,
.pf-v5-c-button.pf-m-primary:active {
  background-color: var(--aic-accent-strong);
  color: var(--aic-color-neutral-0);
}

/* Sekundaer/Tertiaer/Control: weiss, Rahmen --color-neutral-300, Text --color-neutral-900, Hover --color-neutral-50 */
.pf-v5-c-button.pf-m-secondary,
.pf-v5-c-button.pf-m-tertiary,
.pf-v5-c-button.pf-m-control {
  --pf-v5-c-button--m-secondary--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-secondary--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-secondary--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-secondary--hover--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-secondary--hover--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--m-secondary--hover--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-secondary--focus--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-secondary--focus--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--m-secondary--focus--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-secondary--active--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-secondary--active--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--m-secondary--active--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-tertiary--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-tertiary--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-tertiary--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-tertiary--hover--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-tertiary--hover--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--m-tertiary--hover--after--BorderColor: var(--aic-color-neutral-300);
  --pf-v5-c-button--m-control--Color: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-control--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-control--hover--BackgroundColor: var(--aic-color-neutral-50);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-button.pf-m-secondary::after,
.pf-v5-c-button.pf-m-tertiary::after,
.pf-v5-c-button.pf-m-control::after {
  border: var(--aic-bw) solid var(--aic-color-neutral-300);
  border-radius: var(--aic-radius-sm);
}

.pf-v5-c-button.pf-m-secondary:hover,
.pf-v5-c-button.pf-m-tertiary:hover,
.pf-v5-c-button.pf-m-control:hover {
  background-color: var(--aic-color-neutral-50);
  color: var(--aic-color-neutral-900);
}

/* Danger: Flaeche --status-err, Hover --color-neutral-900 */
.pf-v5-c-button.pf-m-danger {
  --pf-v5-c-button--m-danger--BackgroundColor: var(--aic-status-err);
  --pf-v5-c-button--m-danger--Color: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-danger--hover--BackgroundColor: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-danger--focus--BackgroundColor: var(--aic-color-neutral-900);
  --pf-v5-c-button--m-danger--active--BackgroundColor: var(--aic-color-neutral-900);
  background-color: var(--aic-status-err);
  color: var(--aic-color-neutral-0);
}

.pf-v5-c-button.pf-m-danger:hover {
  background-color: var(--aic-color-neutral-900);
}

/* Danger-Sekundaer: weiss, Rahmen und Text --status-err, Hover --status-err-bg */
.pf-v5-c-button.pf-m-secondary.pf-m-danger {
  --pf-v5-c-button--m-secondary--m-danger--Color: var(--aic-status-err);
  --pf-v5-c-button--m-secondary--m-danger--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-button--m-secondary--m-danger--after--BorderColor: var(--aic-status-err);
  --pf-v5-c-button--m-secondary--m-danger--hover--Color: var(--aic-status-err);
  --pf-v5-c-button--m-secondary--m-danger--hover--BackgroundColor: var(--aic-status-err-bg);
  --pf-v5-c-button--m-secondary--m-danger--hover--after--BorderColor: var(--aic-status-err);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-status-err);
}

.pf-v5-c-button.pf-m-secondary.pf-m-danger::after {
  border-color: var(--aic-status-err);
}

.pf-v5-c-button.pf-m-secondary.pf-m-danger:hover {
  background-color: var(--aic-status-err-bg);
  color: var(--aic-status-err);
}

/* Link-Button: --accent-text, Hover --accent-strong */
.pf-v5-c-button.pf-m-link,
.pf-v5-c-button.pf-m-link.pf-m-inline {
  --pf-v5-c-button--m-link--Color: var(--aic-accent-text);
  --pf-v5-c-button--m-link--hover--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-link--focus--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-link--active--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-link--BackgroundColor: transparent;
  --pf-v5-c-button--m-link--hover--BackgroundColor: transparent;
  color: var(--aic-accent-text);
}

.pf-v5-c-button.pf-m-link:hover,
.pf-v5-c-button.pf-m-link.pf-m-inline:hover {
  color: var(--aic-accent-strong);
}

.pf-v5-c-button.pf-m-link.pf-m-danger {
  --pf-v5-c-button--m-link--m-danger--Color: var(--aic-status-err);
  --pf-v5-c-button--m-link--m-danger--hover--Color: var(--aic-status-err);
  color: var(--aic-status-err);
}

/* Icon-Button (plain): Icon --color-neutral-700, Hover Flaeche --color-neutral-50 / Icon --accent-strong */
.pf-v5-c-button.pf-m-plain {
  --pf-v5-c-button--m-plain--Color: var(--aic-color-neutral-700);
  --pf-v5-c-button--m-plain--hover--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-plain--focus--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-plain--active--Color: var(--aic-accent-strong);
  --pf-v5-c-button--m-plain--BackgroundColor: transparent;
  --pf-v5-c-button--m-plain--hover--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--m-plain--PaddingRight: var(--aic-space-2);
  --pf-v5-c-button--m-plain--PaddingLeft: var(--aic-space-2);
  color: var(--aic-color-neutral-700);
}

.pf-v5-c-button.pf-m-plain:hover {
  background-color: var(--aic-color-neutral-50);
  color: var(--aic-accent-strong);
}

/* Disabled: Flaeche --color-neutral-50, Rahmen --color-neutral-100, Text --color-neutral-600 */
.pf-v5-c-button:disabled,
.pf-v5-c-button.pf-m-disabled,
.pf-v5-c-button.pf-m-aria-disabled {
  --pf-v5-c-button--disabled--Color: var(--aic-color-neutral-600);
  --pf-v5-c-button--disabled--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-button--disabled--after--BorderColor: var(--aic-color-neutral-100);
  background-color: var(--aic-color-neutral-50);
  color: var(--aic-color-neutral-600);
  cursor: not-allowed;
}

.pf-v5-c-button.pf-m-link:disabled,
.pf-v5-c-button.pf-m-link.pf-m-disabled,
.pf-v5-c-button.pf-m-link.pf-m-aria-disabled,
.pf-v5-c-button.pf-m-plain:disabled,
.pf-v5-c-button.pf-m-plain.pf-m-disabled,
.pf-v5-c-button.pf-m-plain.pf-m-aria-disabled {
  background-color: transparent;
}

/* ==========================================================================
   10. FORMULARE (Styleguide 10.2)
   ========================================================================== */
.pf-v5-c-form {
  --pf-v5-c-form--GridGap: var(--aic-space-5);
  --pf-v5-c-form__group-label--PaddingBottom: var(--aic-space-1);
  --pf-v5-c-form__label--FontSize: var(--aic-fs-body);
  --pf-v5-c-form__label--LineHeight: var(--aic-lh-body);
  --pf-v5-c-form__label-required--Color: var(--aic-color-neutral-700);
  max-width: var(--aic-w-form);
}

.pf-v5-c-form__label,
.pf-v5-c-form__label-text {
  font-size: var(--aic-fs-body);
  line-height: var(--aic-lh-body);
  font-weight: var(--aic-fw-medium);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-form__label-required {
  color: var(--aic-color-neutral-700);
}

/* Eingabefeld: weiss, Rahmen 1 px --color-neutral-300, Radius 4, min. 36 px.
   PatternFly zeichnet den Rand ueber ::before/::after -- hier ein durchgehender Rahmen am Element. */
.pf-v5-c-form-control,
.pf-v5-c-text-input-group__main {
  --pf-v5-c-form-control--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-form-control--Color: var(--aic-color-neutral-900);
  --pf-v5-c-form-control--FontSize: var(--aic-fs-body);
  --pf-v5-c-form-control--LineHeight: var(--aic-lh-body);
  --pf-v5-c-form-control--BorderRadius: var(--aic-radius-sm);
  --pf-v5-c-form-control--placeholder--Color: var(--aic-color-neutral-600);
  box-sizing: border-box;
  min-height: var(--aic-h-control);
  border: var(--aic-bw) solid var(--aic-color-neutral-300);
  border-radius: var(--aic-radius-sm);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
  transition: border-color var(--aic-dur-fast) var(--aic-ease);
}

.pf-v5-c-form-control::before,
.pf-v5-c-form-control::after,
.pf-v5-c-text-input-group__main::before,
.pf-v5-c-text-input-group__main::after,
.pf-v5-c-text-input-group::before,
.pf-v5-c-text-input-group::after {
  border: 0;
  border-radius: var(--aic-radius-sm);
}

.pf-v5-c-form-control > input,
.pf-v5-c-form-control > select,
.pf-v5-c-form-control > textarea,
.pf-v5-c-text-input-group__text-input {
  font-family: var(--aic-font-sans);
  font-size: var(--aic-fs-body);
  line-height: var(--aic-lh-body);
  color: var(--aic-color-neutral-900);
  outline: none;
}

.pf-v5-c-form-control > input::placeholder,
.pf-v5-c-form-control > textarea::placeholder,
.pf-v5-c-text-input-group__text-input::placeholder {
  color: var(--aic-color-neutral-600);
  opacity: 1;
}

.pf-v5-c-form-control:hover,
.pf-v5-c-text-input-group__main:hover {
  border-color: var(--aic-color-neutral-700);
}

/* Fokus: Rahmen --accent, Ring 2 px --focus-ring, Abstand 0 */
.pf-v5-c-form-control:focus-within,
.pf-v5-c-text-input-group__main:focus-within {
  border-color: var(--aic-accent);
  outline: var(--aic-focus-width) solid var(--aic-focus-ring);
  outline-offset: 0;
}

.pf-v5-c-form-control.pf-m-error,
.pf-v5-c-form-control:has(> [aria-invalid="true"]) {
  border-color: var(--aic-status-err);
}

.pf-v5-c-form-control.pf-m-success {
  border-color: var(--aic-status-ok);
}

.pf-v5-c-form-control.pf-m-disabled,
.pf-v5-c-form-control:has(> :disabled) {
  background-color: var(--aic-color-neutral-50);
  border-color: var(--aic-color-neutral-100);
  color: var(--aic-color-neutral-600);
  cursor: not-allowed;
}

.pf-v5-c-form-control.pf-m-readonly,
.pf-v5-c-form-control:has(> [readonly]) {
  background-color: var(--aic-color-neutral-25);
}

/* Hilfetext 13/18 --color-neutral-700; Fehler 13/18 500 --status-err */
.pf-v5-c-helper-text,
.pf-v5-c-form__helper-text {
  --pf-v5-c-helper-text--FontSize: var(--aic-fs-small);
  --pf-v5-c-helper-text__item-text--Color: var(--aic-color-neutral-700);
  --pf-v5-c-helper-text__item-icon--m-error--Color: var(--aic-status-err);
  --pf-v5-c-helper-text__item-text--m-error--Color: var(--aic-status-err);
  --pf-v5-c-helper-text__item-icon--m-success--Color: var(--aic-status-ok);
  --pf-v5-c-helper-text__item-text--m-success--Color: var(--aic-status-ok);
  --pf-v5-c-helper-text__item-icon--m-warning--Color: var(--aic-status-warn-icon);
  --pf-v5-c-helper-text__item-text--m-warning--Color: var(--aic-status-warn);
  font-size: var(--aic-fs-small);
  line-height: var(--aic-lh-small);
  color: var(--aic-color-neutral-700);
}

.pf-v5-c-helper-text__item.pf-m-error,
.pf-v5-c-helper-text__item.pf-m-error .pf-v5-c-helper-text__item-text {
  color: var(--aic-status-err);
  font-weight: var(--aic-fw-medium);
}

.pf-v5-c-helper-text__item.pf-m-success .pf-v5-c-helper-text__item-text {
  color: var(--aic-status-ok);
}

/* Fehlermeldung steht UEBER dem Feld (Styleguide 10.2): Fehler-Hilfetext per Flex-Reihenfolge nach oben */
.pf-v5-c-form__group-control:has(.pf-v5-c-helper-text__item.pf-m-error) {
  display: flex;
  flex-direction: column;
}

.pf-v5-c-form__group-control .pf-v5-c-form__helper-text:has(.pf-v5-c-helper-text__item.pf-m-error) {
  order: -1;
  margin: 0 0 var(--aic-space-1);
}

/* Checkbox/Radio: 18 x 18, Rahmen --color-neutral-300, gewaehlt --accent (wie `.check input` der SPA) */
.pf-v5-c-check__input,
.pf-v5-c-radio__input {
  appearance: none;
  flex: none;
  width: var(--aic-size-check);
  height: var(--aic-size-check);
  margin: var(--aic-space-0);
  border: var(--aic-bw) solid var(--aic-color-neutral-300);
  background-color: var(--aic-color-neutral-0);
  display: grid;
  place-content: center;
  cursor: pointer;
}

.pf-v5-c-check__input { border-radius: var(--aic-radius-sm); }
.pf-v5-c-radio__input { border-radius: var(--aic-radius-pill); }

.pf-v5-c-check__input:hover,
.pf-v5-c-radio__input:hover {
  border-color: var(--aic-color-neutral-700);
}

.pf-v5-c-check__input:checked,
.pf-v5-c-check__input:indeterminate,
.pf-v5-c-radio__input:checked {
  background-color: var(--aic-accent);
  border-color: var(--aic-accent);
}

.pf-v5-c-check__input:checked::after {
  content: "";
  width: var(--aic-space-1);
  height: var(--aic-space-2);
  border: solid var(--aic-color-neutral-0);
  border-width: 0 var(--aic-bw-thick) var(--aic-bw-thick) 0;
  transform: translateY(calc(var(--aic-bw) * -1)) rotate(45deg);
}

.pf-v5-c-radio__input:checked::after {
  content: "";
  width: var(--aic-space-2);
  height: var(--aic-space-2);
  border-radius: var(--aic-radius-pill);
  background-color: var(--aic-color-neutral-0);
}

.pf-v5-c-check__input:disabled,
.pf-v5-c-radio__input:disabled {
  background-color: var(--aic-color-neutral-50);
  border-color: var(--aic-color-neutral-100);
  cursor: not-allowed;
}

.pf-v5-c-check__input:focus-visible,
.pf-v5-c-radio__input:focus-visible {
  outline: var(--aic-focus-width) solid var(--aic-focus-ring);
  outline-offset: var(--aic-focus-offset);
}

.pf-v5-c-check__label,
.pf-v5-c-radio__label {
  font-size: var(--aic-fs-body);
  line-height: var(--aic-lh-body);
  color: var(--aic-color-neutral-900);
}

/* Switch: aus --color-neutral-300, an --accent, Daumen weiss */
.pf-v5-c-switch {
  --pf-v5-c-switch__toggle--BackgroundColor: var(--aic-color-neutral-300);
  --pf-v5-c-switch__input--checked__toggle--BackgroundColor: var(--aic-accent);
  --pf-v5-c-switch__toggle--before--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-switch__input--focus__toggle--OutlineColor: var(--aic-focus-ring);
  --pf-v5-c-switch__input--focus__toggle--OutlineWidth: var(--aic-focus-width);
  --pf-v5-c-switch__input--focus__toggle--OutlineOffset: var(--aic-focus-offset);
}

/* Auswahl-/Menue-Toggle im Inhalt im Stil der Eingabefelder */
.pf-v5-c-page__main .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary),
.pf-v5-c-modal-box .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary) {
  --pf-v5-c-menu-toggle--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-menu-toggle--Color: var(--aic-color-neutral-900);
  --pf-v5-c-menu-toggle--BorderRadius: var(--aic-radius-sm);
  --pf-v5-c-menu-toggle--FontSize: var(--aic-fs-body);
  min-height: var(--aic-h-control);
  border-radius: var(--aic-radius-sm);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-page__main .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary)::before,
.pf-v5-c-modal-box .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary)::before {
  border: var(--aic-bw) solid var(--aic-color-neutral-300);
  border-radius: var(--aic-radius-sm);
}

.pf-v5-c-page__main .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary)::after,
.pf-v5-c-modal-box .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary)::after {
  border: 0;
}

.pf-v5-c-page__main .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary):hover::before,
.pf-v5-c-modal-box .pf-v5-c-menu-toggle:not(.pf-m-plain):not(.pf-m-primary):hover::before {
  border-color: var(--aic-color-neutral-700);
}

.pf-v5-c-page__main .pf-v5-c-menu-toggle.pf-m-expanded:not(.pf-m-plain)::before,
.pf-v5-c-modal-box .pf-v5-c-menu-toggle.pf-m-expanded:not(.pf-m-plain)::before {
  border-color: var(--aic-accent);
}

/* ==========================================================================
   11. MELDUNGEN (Banner/Toast, Styleguide 10.3/10.11) -- Status immer Icon + Text + Farbe
   ========================================================================== */
.pf-v5-c-alert {
  --pf-v5-c-alert--BoxShadow: none;
  --pf-v5-c-alert--BorderTopWidth: 0;
  --pf-v5-c-alert--BackgroundColor: var(--aic-status-info-bg);
  --pf-v5-c-alert--PaddingTop: var(--aic-space-3);
  --pf-v5-c-alert--PaddingRight: var(--aic-space-4);
  --pf-v5-c-alert--PaddingBottom: var(--aic-space-3);
  --pf-v5-c-alert--PaddingLeft: var(--aic-space-4);
  --pf-v5-c-alert__title--Color: var(--aic-color-neutral-900);
  --pf-v5-c-alert__title--FontWeight: var(--aic-fw-semibold);
  --pf-v5-c-alert__icon--Color: var(--aic-status-info);
  --pf-v5-c-alert__icon--FontSize: var(--aic-size-icon);
  --pf-v5-c-alert--m-success__icon--Color: var(--aic-status-ok);
  --pf-v5-c-alert--m-success__title--Color: var(--aic-color-neutral-900);
  --pf-v5-c-alert--m-danger__icon--Color: var(--aic-status-err);
  --pf-v5-c-alert--m-danger__title--Color: var(--aic-color-neutral-900);
  --pf-v5-c-alert--m-warning__icon--Color: var(--aic-status-warn-icon);
  --pf-v5-c-alert--m-warning__title--Color: var(--aic-color-neutral-900);
  --pf-v5-c-alert--m-info__icon--Color: var(--aic-status-info);
  --pf-v5-c-alert--m-info__title--Color: var(--aic-color-neutral-900);
  --pf-v5-c-alert--m-custom__icon--Color: var(--aic-status-info);
  --pf-v5-c-alert--m-custom__title--Color: var(--aic-color-neutral-900);
  border: var(--aic-bw) solid var(--aic-status-info);
  border-radius: var(--aic-radius-md);
  background-color: var(--aic-status-info-bg);
  color: var(--aic-color-neutral-900);
  font-size: var(--aic-fs-body);
}

.pf-v5-c-alert::before { display: none; }

.pf-v5-c-alert.pf-m-success { background-color: var(--aic-status-ok-bg); border-color: var(--aic-status-ok); }
.pf-v5-c-alert.pf-m-warning { background-color: var(--aic-status-warn-bg); border-color: var(--aic-status-warn-icon); }
.pf-v5-c-alert.pf-m-danger { background-color: var(--aic-status-err-bg); border-color: var(--aic-status-err); }
.pf-v5-c-alert.pf-m-info,
.pf-v5-c-alert.pf-m-custom { background-color: var(--aic-status-info-bg); border-color: var(--aic-status-info); }

.pf-v5-c-alert__description {
  color: var(--aic-color-neutral-900);
}

/* Toast (Alert-Gruppe): weiss, Rahmen --color-neutral-100, linker Balken 3 px in Statusfarbe, --shadow-2 */
.pf-v5-c-alert-group.pf-m-toast {
  --pf-v5-c-alert-group--m-toast--Top: var(--aic-space-4);
  --pf-v5-c-alert-group--m-toast--Right: var(--aic-space-4);
  --pf-v5-c-alert-group--m-toast--MaxWidth: min(var(--aic-w-toast), calc(100vw - var(--aic-space-8)));
}

.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert {
  background-color: var(--aic-color-neutral-0);
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-left: var(--aic-bw-marker) solid var(--aic-status-ok);
  box-shadow: var(--aic-shadow-2);
}

.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert.pf-m-danger { border-left-color: var(--aic-status-err); }
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert.pf-m-warning { border-left-color: var(--aic-status-warn-icon); }
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert.pf-m-info,
.pf-v5-c-alert-group.pf-m-toast .pf-v5-c-alert.pf-m-custom { border-left-color: var(--aic-status-info); }

/* ==========================================================================
   12. BADGES / LABELS (Status-Badge: eckig, Radius 4, 12/16 500, Statusfarbe auf getoenter Flaeche)
   ========================================================================== */
.pf-v5-c-label {
  --pf-v5-c-label--BorderRadius: var(--aic-radius-sm);
  --pf-v5-c-label--FontSize: var(--aic-fs-caption);
  --pf-v5-c-label--PaddingTop: var(--aic-space-1);
  --pf-v5-c-label--PaddingRight: var(--aic-space-2);
  --pf-v5-c-label--PaddingBottom: var(--aic-space-1);
  --pf-v5-c-label--PaddingLeft: var(--aic-space-2);
  --pf-v5-c-label--BackgroundColor: var(--aic-status-off-bg);
  --pf-v5-c-label--Color: var(--aic-status-off);
  --pf-v5-c-label__content--Color: var(--aic-status-off);
  --pf-v5-c-label__content--before--BorderColor: transparent;
  --pf-v5-c-label__icon--Color: var(--aic-status-off);
  border-radius: var(--aic-radius-sm);
  font-weight: var(--aic-fw-medium);
}

.pf-v5-c-label.pf-m-blue,
.pf-v5-c-label.pf-m-cyan { --pf-v5-c-label--BackgroundColor: var(--aic-status-info-bg); --pf-v5-c-label__content--Color: var(--aic-status-info); --pf-v5-c-label__icon--Color: var(--aic-status-info); }
.pf-v5-c-label.pf-m-green { --pf-v5-c-label--BackgroundColor: var(--aic-status-ok-bg); --pf-v5-c-label__content--Color: var(--aic-status-ok); --pf-v5-c-label__icon--Color: var(--aic-status-ok); }
.pf-v5-c-label.pf-m-orange,
.pf-v5-c-label.pf-m-gold { --pf-v5-c-label--BackgroundColor: var(--aic-status-warn-bg); --pf-v5-c-label__content--Color: var(--aic-status-warn); --pf-v5-c-label__icon--Color: var(--aic-status-warn-icon); }
.pf-v5-c-label.pf-m-red { --pf-v5-c-label--BackgroundColor: var(--aic-status-err-bg); --pf-v5-c-label__content--Color: var(--aic-status-err); --pf-v5-c-label__icon--Color: var(--aic-status-err); }
.pf-v5-c-label.pf-m-purple { --pf-v5-c-label--BackgroundColor: var(--aic-status-busy-bg); --pf-v5-c-label__content--Color: var(--aic-status-busy); --pf-v5-c-label__icon--Color: var(--aic-status-busy); }

.pf-v5-c-badge {
  --pf-v5-c-badge--BorderRadius: var(--aic-radius-pill);
  --pf-v5-c-badge--FontSize: var(--aic-fs-caption);
  --pf-v5-c-badge--m-read--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-badge--m-read--Color: var(--aic-color-neutral-900);
  --pf-v5-c-badge--m-unread--BackgroundColor: var(--aic-accent);
  --pf-v5-c-badge--m-unread--Color: var(--aic-color-neutral-0);
  min-width: var(--aic-size-count);
}

/* ==========================================================================
   13. TABS (Styleguide 10.8: aktiv Unterstrich 3 px --accent, Text 600)
   ========================================================================== */
.pf-v5-c-tabs {
  --pf-v5-c-tabs--before--BorderColor: var(--aic-color-neutral-100);
  --pf-v5-c-tabs--before--BorderBottomWidth: var(--aic-bw);
  --pf-v5-c-tabs__link--Color: var(--aic-color-neutral-700);
  --pf-v5-c-tabs__link--FontSize: var(--aic-fs-body);
  --pf-v5-c-tabs__link--BackgroundColor: transparent;
  --pf-v5-c-tabs__link--hover--Color: var(--aic-color-neutral-900);
  --pf-v5-c-tabs__link--before--BorderColor: transparent;
  --pf-v5-c-tabs__link--after--BorderColor: transparent;
  --pf-v5-c-tabs__link--hover--after--BorderColor: var(--aic-color-neutral-100);
  --pf-v5-c-tabs__link--hover--after--BorderWidth: var(--aic-bw-marker);
  --pf-v5-c-tabs__item--m-current__link--Color: var(--aic-color-neutral-900);
  --pf-v5-c-tabs__item--m-current__link--BackgroundColor: transparent;
  --pf-v5-c-tabs__item--m-current__link--after--BorderColor: var(--aic-accent);
  --pf-v5-c-tabs__item--m-current__link--after--BorderWidth: var(--aic-bw-marker);
  --pf-v5-c-tabs--m-box__link--BackgroundColor: transparent;
  --pf-v5-c-tabs--m-box__item--m-current__link--BackgroundColor: transparent;
}

.pf-v5-c-tabs__link {
  min-height: var(--aic-h-tab);
  font-weight: var(--aic-fw-medium);
  color: var(--aic-color-neutral-700);
  background-color: transparent;
}

/* Auch Box-Tabs (pf-m-box, Admin-Console) als Unterstrich-Tabs: keine Kacheln, Indikator unten */
.pf-v5-c-tabs.pf-m-box {
  background-color: transparent;
}

.pf-v5-c-tabs.pf-v5-c-tabs .pf-v5-c-tabs__item .pf-v5-c-tabs__link {
  background-color: transparent;
}

.pf-v5-c-tabs.pf-v5-c-tabs .pf-v5-c-tabs__item .pf-v5-c-tabs__link::before {
  border: 0;
}

.pf-v5-c-tabs.pf-v5-c-tabs .pf-v5-c-tabs__item .pf-v5-c-tabs__link::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: var(--aic-bw-marker);
  border: 0;
  background-color: transparent;
}

.pf-v5-c-tabs.pf-v5-c-tabs .pf-v5-c-tabs__item .pf-v5-c-tabs__link:hover::after {
  background-color: var(--aic-color-neutral-100);
}

.pf-v5-c-tabs.pf-v5-c-tabs .pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link::after {
  background-color: var(--aic-accent);
}

.pf-v5-c-tabs__item.pf-m-current .pf-v5-c-tabs__link {
  color: var(--aic-color-neutral-900);
  font-weight: var(--aic-fw-semibold);
}

/* ==========================================================================
   14. TABELLEN (Styleguide 10.4)
   ========================================================================== */
.pf-v5-c-table {
  --pf-v5-c-table--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-table--BorderColor: var(--aic-color-neutral-100);
  --pf-v5-c-table--cell--FontSize: var(--aic-fs-body);
  --pf-v5-c-table--cell--Color: var(--aic-color-neutral-900);
  --pf-v5-c-table__thead--cell--FontSize: var(--aic-fs-caption);
  --pf-v5-c-table__thead--cell--FontWeight: var(--aic-fw-semibold);
  --pf-v5-c-table--m-striped__tr--BackgroundColor: var(--aic-color-neutral-25);
  --pf-v5-c-table__tr--m-clickable--hover--BackgroundColor: var(--aic-color-neutral-25);
  --pf-v5-c-table__tr--m-selected--BackgroundColor: var(--aic-accent-soft);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-table thead th,
.pf-v5-c-table thead td {
  background-color: var(--aic-color-neutral-50);
  color: var(--aic-color-neutral-700);
  font-size: var(--aic-fs-caption);
  line-height: var(--aic-lh-caption);
  font-weight: var(--aic-fw-semibold);
}

/* Responsive Tabellen (Kartenansicht < 768 px): Trenner 1 px statt PatternFlys 8-px-Balken */
.pf-v5-c-table.pf-v5-c-table[class*="pf-m-grid"] {
  --pf-v5-c-table--responsive--BorderColor: var(--aic-color-neutral-100);
  --pf-v5-c-table__tbody--responsive--border-width--base: var(--aic-bw);
  --pf-v5-c-table__tr--responsive--border-width--base: var(--aic-bw);
}

.pf-v5-c-table tbody tr:hover {
  background-color: var(--aic-color-neutral-25);
}

/* ==========================================================================
   15. DIALOGE, MENUES, TOOLTIPS (Styleguide 10.9/10.11)
   ========================================================================== */
.pf-v5-c-backdrop {
  --pf-v5-c-backdrop--BackgroundColor: var(--aic-overlay);
}

.pf-v5-c-modal-box {
  --pf-v5-c-modal-box--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-modal-box--BoxShadow: var(--aic-shadow-2);
  --pf-v5-c-modal-box--BorderRadius: var(--aic-radius-lg);
  --pf-v5-c-modal-box__title--FontSize: var(--aic-fs-h2);
  --pf-v5-c-modal-box__title--LineHeight: var(--aic-lh-h2);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-radius: var(--aic-radius-lg);
  box-shadow: var(--aic-shadow-2);
}

.pf-v5-c-modal-box__title,
.pf-v5-c-modal-box__title-text {
  font-size: var(--aic-fs-h2);
  line-height: var(--aic-lh-h2);
  font-weight: var(--aic-fw-semibold);
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-modal-box__body {
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-menu,
.pf-v5-c-dropdown__menu,
.pf-v5-c-select__menu {
  --pf-v5-c-menu--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-menu--BoxShadow: var(--aic-shadow-1);
  --pf-v5-c-menu__item--FontSize: var(--aic-fs-body);
  --pf-v5-c-menu__list-item--hover--BackgroundColor: var(--aic-color-neutral-50);
  --pf-v5-c-menu__list-item--m-selected--BackgroundColor: var(--aic-accent-soft);
  --pf-v5-c-menu__item-select-icon--Color: var(--aic-accent);
  background-color: var(--aic-color-neutral-0);
  color: var(--aic-color-neutral-900);
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-radius: var(--aic-radius-md);
  box-shadow: var(--aic-shadow-1);
}

.pf-v5-c-menu__item:hover,
.pf-v5-c-menu__list-item:hover,
.pf-v5-c-dropdown__menu-item:hover {
  background-color: var(--aic-color-neutral-50);
}

.pf-v5-c-menu__item-text,
.pf-v5-c-menu__item-main {
  color: var(--aic-color-neutral-900);
}

.pf-v5-c-tooltip {
  --pf-v5-c-tooltip__content--BackgroundColor: var(--aic-color-neutral-900);
  --pf-v5-c-tooltip__content--Color: var(--aic-color-neutral-0);
  --pf-v5-c-tooltip__content--FontSize: var(--aic-fs-small);
  --pf-v5-c-tooltip__content--PaddingTop: var(--aic-space-2);
  --pf-v5-c-tooltip__content--PaddingRight: var(--aic-space-3);
  --pf-v5-c-tooltip__content--PaddingBottom: var(--aic-space-2);
  --pf-v5-c-tooltip__content--PaddingLeft: var(--aic-space-3);
  --pf-v5-c-tooltip__arrow--BackgroundColor: var(--aic-color-neutral-900);
  --pf-v5-c-tooltip--BoxShadow: var(--aic-shadow-1);
  --pf-v5-c-tooltip--MaxWidth: var(--aic-w-tooltip);
}

.pf-v5-c-tooltip__content {
  border-radius: var(--aic-radius-sm);
  line-height: var(--aic-lh-small);
}

.pf-v5-c-popover {
  --pf-v5-c-popover__content--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-popover__arrow--BackgroundColor: var(--aic-color-neutral-0);
  --pf-v5-c-popover--BoxShadow: var(--aic-shadow-1);
  --pf-v5-c-popover--FontSize: var(--aic-fs-small);
  --pf-v5-c-popover--MaxWidth: min(var(--aic-w-toggletip), calc(100vw - var(--aic-space-8)));
}

.pf-v5-c-popover__content {
  border: var(--aic-bw) solid var(--aic-color-neutral-100);
  border-radius: var(--aic-radius-md);
  color: var(--aic-color-neutral-900);
}

/* ==========================================================================
   16. SONSTIGES
   ========================================================================== */
.pf-v5-c-spinner {
  --pf-v5-c-spinner--Color: var(--aic-accent);
}

.pf-v5-c-code-block,
.pf-v5-c-code-editor__main {
  --pf-v5-c-code-block--BackgroundColor: var(--aic-color-neutral-25);
  border-radius: var(--aic-radius-md);
}

.pf-v5-c-progress {
  --pf-v5-c-progress__indicator--BackgroundColor: var(--aic-accent);
  --pf-v5-c-progress__bar--before--BackgroundColor: var(--aic-color-neutral-100);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
  .pf-v5-c-spinner { animation-duration: 0s; }
}