/* ci4u-warm-fach.css - Fachseiten im Design "warm" / "Hoher Kontrast" (K262, 05.10.2026): Baeckerei (Bestellvorschlag,
   Prognose-Diagramm, Artikel), Pruefungen & Fristen, Rueckverfolgbarkeit, Veranstaltungen, Standorte/Karte, Analytics.
   Gilt NUR unter html[data-theme="warm"] bzw. html[data-theme="kontrast"] - Ausnahme ist die .warm-only-Weiche ganz oben.
   Grundbausteine (Schrift, Karten, Buttons, Kopfleiste) stehen in ci4u-warm.css; hier nur Fachspezifisches und
   seitenbezogene Uebersteuerungen. Vorlage: Homepage-Demo baecker.ci4u.de (bestellung.png, berichte.png, filialen.png,
   pruefungen.png). Farben kommen aus den Preset-Variablen (--bg/--surface/--border/--accent/--accent2/--text/--muted). */

/* .warm-only: Zusatz-Elemente (Status-Texte, Balken, Chips, Prognose-Diagramm, Kartenlegende), die es im alten Dunkel/
   Hell-Design nicht gab. Dort bleiben sie unsichtbar, damit diese Darstellungen pixelgleich bleiben (Vorgabe K262).
   Zum Freischalten in allen Designs einfach diese eine Regel loeschen. */
html:not([data-theme="warm"]):not([data-theme="kontrast"]) .warm-only{display:none!important}

html[data-theme="warm"],html[data-theme="kontrast"]{
  --fach-ok:var(--ci4u-success);--fach-warn:var(--ci4u-warning);--fach-bad:var(--ci4u-danger);
  --fach-ok-text:#0B5C3A;--fach-warn-text:#7A4600;--fach-bad-text:#8A1C15;
  --fach-ok-bg:#E3F3EA;--fach-warn-bg:#FFF1DB;--fach-bad-bg:#FBE4E1;
  --fach-zeile:#F1E8DA;          /* Zeilentrenner, weicher als --border */
  --fach-hover:#FFF8EE;          /* Zeilen-Hover */
  --fach-radius:16px;
  --fach-ist:#6B4A2B;            /* Diagramm: Ist-Linie (Braun wie berichte.png), Prognose = --accent */
}
html[data-theme="kontrast"]{
  --fach-ok:#005A32;--fach-warn:#7A3F00;--fach-bad:#9E0000;
  --fach-ok-text:#005A32;--fach-warn-text:#7A3F00;--fach-bad-text:#9E0000;
  --fach-ok-bg:#fff;--fach-warn-bg:#fff;--fach-bad-bg:#fff;
  --fach-zeile:#000;--fach-hover:#F2F2F2;--fach-radius:8px;--fach-ist:#000;
}
/* Baeckerei-Modul (baeckerei.css, Klasse bk-root: Oeffnungszeiten/Faktoren auf der Standortseite, Filial-Formular):
   Marken-Variablen des Moduls auf die warme Palette legen statt Violett/Neon-Orange. */
html[data-theme="warm"] .bk-root{--bk-primary:var(--accent);--bk-primary-dark:#8F3A0C;--bk-cta:var(--accent);--bk-cta-dark:#8F3A0C;
  --bk-gold-bg:var(--warm-tint);--bk-gold-text:#7A4600;--bk-hover:var(--warm-tint);--bk-primary-ring:rgb(179 79 22/.18);
  --bk-danger:var(--ci4u-danger);--bk-success:var(--ci4u-success);font-family:var(--font-body,Inter,sans-serif)}
html[data-theme="kontrast"] .bk-root{--bk-primary:#000;--bk-primary-dark:#000;--bk-cta:#000;--bk-cta-dark:#000;--bk-gold-bg:#fff;--bk-gold-text:#000;
  --bk-hover:#F2F2F2;--bk-primary-ring:#000;--bk-danger:#9E0000;--bk-success:#005A32;font-family:var(--font-body,Inter,sans-serif)}

/* ── Seitenrahmen der Fachseiten ohne .page-Wrapper (Pruefungen, Standorte, Rueckverfolgung) ───────────────────── */
html[data-theme="warm"] main.content:not(:has(> .page)),
html[data-theme="kontrast"] main.content:not(:has(> .page)){padding:22px 28px 48px}
html[data-theme="warm"] main.content h2,html[data-theme="kontrast"] main.content h2,
html[data-theme="warm"] .page > h2,html[data-theme="kontrast"] .page > h2,
html[data-theme="warm"] .page-header h1,html[data-theme="kontrast"] .page-header h1{
  font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:2px 0 14px}
html[data-theme="warm"] main.content h3,html[data-theme="kontrast"] main.content h3{
  font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:-.01em;margin:22px 0 10px}
html[data-theme="warm"] main.content h4,html[data-theme="kontrast"] main.content h4{font-family:var(--font-display);font-weight:600}
html[data-theme="warm"] main.content .card-title,html[data-theme="kontrast"] main.content .card-title{font-family:var(--font-display);font-size:16px}

/* ── Tabellen der Fachseiten: weisse Karte, ruhige Zeilen, Links im Akzent ──────────────────────────────────────── */
html[data-theme="warm"] table.card,html[data-theme="kontrast"] table.card,
html[data-theme="warm"] .page .card table,html[data-theme="kontrast"] .page .card table,
html[data-theme="warm"] .page > div > table.ci4u-table,html[data-theme="kontrast"] .page > div > table.ci4u-table{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--fach-radius);
  box-shadow:var(--warm-card-shadow);overflow:hidden;padding:0;font-size:13.5px;border-spacing:0}
html[data-theme="warm"] table.card:hover{border-color:var(--border)}
html[data-theme="warm"] table.card th,html[data-theme="kontrast"] table.card th,
html[data-theme="warm"] .page .card table th,html[data-theme="kontrast"] .page .card table th,
html[data-theme="warm"] .page table.ci4u-table th,html[data-theme="kontrast"] .page table.ci4u-table th{
  background:transparent;color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.02em;
  padding:14px 16px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}
html[data-theme="warm"] table.card td,html[data-theme="kontrast"] table.card td,
html[data-theme="warm"] .page .card table td,html[data-theme="kontrast"] .page .card table td,
html[data-theme="warm"] .page table.ci4u-table td,html[data-theme="kontrast"] .page table.ci4u-table td{
  padding:13px 16px;border-bottom:1px solid var(--fach-zeile);vertical-align:middle;color:var(--text)}
html[data-theme="warm"] table.card td:first-child,html[data-theme="warm"] .page table td:first-child{padding-left:20px}
html[data-theme="warm"] table.card th:first-child,html[data-theme="warm"] .page table th:first-child{padding-left:20px}
html[data-theme="warm"] table.card tbody tr:last-child td,html[data-theme="warm"] .page table tr:last-child td{border-bottom:0}
html[data-theme="warm"] table.card tbody tr:hover,html[data-theme="warm"] .page table tbody tr:hover,
html[data-theme="kontrast"] table.card tbody tr:hover,html[data-theme="kontrast"] .page table tbody tr:hover{background:var(--fach-hover)}
html[data-theme="warm"] table.card tbody tr:hover td{background:transparent}
html[data-theme="warm"] table.card a,html[data-theme="warm"] .page table a{color:var(--accent);text-decoration:none;font-weight:500}
html[data-theme="warm"] table.card a:hover,html[data-theme="warm"] .page table a:hover{text-decoration:underline}
html[data-theme="kontrast"] table.card a,html[data-theme="kontrast"] .page table a{color:#0000CC;text-decoration:underline}

/* Nackte Buttons in Fach-Formularen (Filtern, Pruefen, Anlegen, Absenden) als orange Pille */
html[data-theme="warm"] main.content form button:not(.btn):not(.bk-btn):not([class*="ci4u-btn"]),
html[data-theme="kontrast"] main.content form button:not(.btn):not(.bk-btn):not([class*="ci4u-btn"]){
  display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 18px;border-radius:999px;border:0;
  background:var(--accent);color:#fff;font:600 13.5px/1.2 var(--font-body,Inter,sans-serif);cursor:pointer;white-space:nowrap}
html[data-theme="warm"] main.content form button:not(.btn):hover{filter:brightness(1.08)}
html[data-theme="kontrast"] main.content form button:not(.btn){border:2px solid #000;background:#000;color:#fff}
html[data-theme="warm"] main.content form button:not(.btn):focus-visible,html[data-theme="kontrast"] main.content form button:not(.btn):focus-visible{
  outline:3px solid var(--accent2);outline-offset:2px}

/* ── Pruefungen & Fristen ─────────────────────────────────────────────────────────────────────────────────────── */
/* Status-Pille mit Punkt UND Text statt reinem Farbpunkt (Markup: .pf-ampel mit data-label, routes_pruefungen.py) */
html[data-theme="warm"] .pf-ampel,html[data-theme="kontrast"] .pf-ampel{
  display:inline-flex!important;align-items:center;gap:7px;width:auto!important;height:auto!important;
  margin:0 10px 0 0!important;padding:3px 11px 3px 9px;border-radius:999px!important;
  background:var(--pf-bg)!important;color:var(--pf-text);border:1px solid var(--pf-rand);
  font-size:12px;font-weight:600;line-height:1.3;white-space:nowrap;vertical-align:middle}
html[data-theme="warm"] .pf-ampel::before,html[data-theme="kontrast"] .pf-ampel::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pf-punkt);flex:none}
html[data-theme="warm"] .pf-ampel::after,html[data-theme="kontrast"] .pf-ampel::after{content:attr(data-label)}
.pf-ampel-rot{--pf-punkt:var(--fach-bad);--pf-text:var(--fach-bad-text);--pf-bg:var(--fach-bad-bg);--pf-rand:#F3C6C1}
.pf-ampel-gelb{--pf-punkt:var(--fach-warn);--pf-text:var(--fach-warn-text);--pf-bg:var(--fach-warn-bg);--pf-rand:var(--warm-tint-border)}
.pf-ampel-gruen{--pf-punkt:var(--fach-ok);--pf-text:var(--fach-ok-text);--pf-bg:var(--fach-ok-bg);--pf-rand:#BFE3CF}
html[data-theme="kontrast"] .pf-ampel{--pf-rand:#000;border-width:2px}

/* Kennzahlen-Leiste: vier ruhige Kacheln */
html[data-theme="warm"] .pf-kpis,html[data-theme="kontrast"] .pf-kpis{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px!important;
  background:transparent;border:0;box-shadow:none;padding:0;margin-bottom:18px!important}
html[data-theme="warm"] .pf-kpis > div,html[data-theme="kontrast"] .pf-kpis > div{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow);
  padding:14px 18px;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:2px;min-height:78px;justify-content:center}
html[data-theme="warm"] .pf-kpis > div > b,html[data-theme="kontrast"] .pf-kpis > div > b,
html[data-theme="warm"] .pf-kpis > div > a > b,html[data-theme="kontrast"] .pf-kpis > div > a > b{
  display:block;font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.03em;line-height:1.1;color:var(--text)}
html[data-theme="warm"] .pf-kpis b[style*="e2001a"]{color:var(--fach-bad-text)!important}
html[data-theme="warm"] .pf-kpis b[style*="e0a800"]{color:var(--fach-warn-text)!important}
html[data-theme="kontrast"] .pf-kpis b[style]{color:#000!important}
html[data-theme="warm"] .pf-kpis a,html[data-theme="kontrast"] .pf-kpis a{color:inherit;text-decoration:none}
html[data-theme="warm"] .pf-kpis a:hover b{color:var(--accent)}
html[data-theme="warm"] .pf-kpis .pf-aktion,html[data-theme="kontrast"] .pf-kpis .pf-aktion{
  justify-content:center;align-items:flex-start;background:var(--warm-tint);border-color:var(--warm-tint-border)}
html[data-theme="warm"] .pf-kpis .pf-aktion a,html[data-theme="kontrast"] .pf-kpis .pf-aktion a{
  display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;font-size:13px}
html[data-theme="warm"] .pf-kpis .pf-aktion a b{font:inherit;color:inherit;display:inline}
html[data-theme="kontrast"] .pf-kpis .pf-aktion a{background:#000;border:2px solid #000}

/* Filterzeile wie in der Vorlage: weisse runde Auswahlfelder + Pillen-Button */
html[data-theme="warm"] .pf-filter,html[data-theme="kontrast"] .pf-filter{display:flex;flex-wrap:wrap;gap:10px!important;align-items:center;margin-bottom:16px!important}
html[data-theme="warm"] .pf-filter select,html[data-theme="kontrast"] .pf-filter select{
  width:auto;min-width:200px;max-width:100%;min-height:42px;padding:8px 36px 8px 14px;border-radius:12px;background:var(--surface);
  border:1px solid var(--border);font-size:14px;color:var(--text)}
html[data-theme="kontrast"] .pf-filter select{border:2px solid #000}

/* Pruefobjekt: Kopfzeile, 4-Wochen-Kaestchen in warmen Ampelfarben */
html[data-theme="warm"] .pf-objekt-kopf,html[data-theme="kontrast"] .pf-objekt-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 4px;font-size:14px}
html[data-theme="warm"] .pf-kaestchen div[style*="#2e7d32"],html[data-theme="kontrast"] .pf-kaestchen div[style*="#2e7d32"]{
  background:var(--fach-ok)!important;width:14px!important;height:14px!important;border-radius:4px!important;margin:2px!important}
html[data-theme="warm"] .pf-kaestchen div[style*="#e2001a"],html[data-theme="kontrast"] .pf-kaestchen div[style*="#e2001a"]{
  background:var(--fach-bad)!important;width:14px!important;height:14px!important;border-radius:4px!important;margin:2px!important}
html[data-theme="kontrast"] .pf-kaestchen div[style*="#e2001a"]{background:#fff!important;border:2px solid #000;box-sizing:border-box}
html[data-theme="warm"] .pf-wochen,html[data-theme="kontrast"] .pf-wochen{font-size:13px!important}

/* ── Standorte: Karte, Legende, Kacheln, Detailseite ───────────────────────────────────────────────────────────── */
/* Reihenfolge nur im warmen Design: Karte und Standort-Kacheln zuerst, das Anlege-Formular ans Ende (Vorlage filialen.png) */
html[data-theme="warm"] main.content:has(> .st-anlegen),html[data-theme="kontrast"] main.content:has(> .st-anlegen){display:flex;flex-direction:column}
html[data-theme="warm"] .st-anlegen,html[data-theme="kontrast"] .st-anlegen{order:9;margin-top:8px}
html[data-theme="warm"] .st-kacheln,html[data-theme="kontrast"] .st-kacheln{margin-bottom:16px}
html[data-theme="warm"] .st-karte h2,html[data-theme="kontrast"] .st-karte h2{font-size:17px;margin:0 0 12px}
html[data-theme="warm"] #standort-karte,html[data-theme="kontrast"] #standort-karte{height:460px!important;border-radius:12px!important;border:1px solid var(--border)}
html[data-theme="warm"] .leaflet-container{background:#F3EBDD;font-family:var(--font-body,Inter,sans-serif)}
html[data-theme="kontrast"] .leaflet-container{background:#fff;border:2px solid #000}
html[data-theme="warm"] .leaflet-tooltip,html[data-theme="kontrast"] .leaflet-tooltip{
  background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:8px 12px;
  font-size:13px;line-height:1.4;box-shadow:var(--warm-card-shadow)}
html[data-theme="warm"] .leaflet-tooltip em,html[data-theme="kontrast"] .leaflet-tooltip em{color:var(--muted);font-style:normal;font-size:12px}
html[data-theme="warm"] .leaflet-tooltip-top::before{border-top-color:var(--border)}
html[data-theme="kontrast"] .leaflet-tooltip{border:2px solid #000}
html[data-theme="warm"] .leaflet-bar a,html[data-theme="kontrast"] .leaflet-bar a{background:var(--surface);color:var(--text);border-bottom-color:var(--border)}
html[data-theme="warm"] .leaflet-control-attribution{background:rgb(255 255 255/.8);color:var(--muted);font-size:10px;border-radius:8px 0 0 0}
html[data-theme="warm"] .st-marker{box-shadow:0 0 0 3px rgb(255 255 255/.9),0 3px 8px rgb(43 33 24/.35)!important;width:18px!important;height:18px!important}
html[data-theme="kontrast"] .st-marker{border:3px solid #000!important;box-shadow:none!important;width:18px!important;height:18px!important}
html[data-theme="warm"] .st-marker-wb{background:#8A7866!important;border-radius:3px}
html[data-theme="kontrast"] .st-marker-wb{background:#fff!important;border:3px solid #000!important}
html[data-theme="warm"] .karte-legende,html[data-theme="kontrast"] .karte-legende{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:13px;color:var(--muted)}
html[data-theme="warm"] .karte-legende-eintrag,html[data-theme="kontrast"] .karte-legende-eintrag{display:inline-flex;align-items:center;gap:7px}
html[data-theme="warm"] .karte-legende i,html[data-theme="kontrast"] .karte-legende i{width:11px;height:11px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px #fff}
html[data-theme="kontrast"] .karte-legende i{border:2px solid #000;box-shadow:none;box-sizing:border-box}
html[data-theme="warm"] .karte-legende-wb{background:#8A7866;border-radius:3px!important}
html[data-theme="warm"] .st-modal > .card,html[data-theme="kontrast"] .st-modal > .card{border-radius:var(--fach-radius);box-shadow:0 30px 70px rgb(43 33 24/.25);padding:24px 26px}
html[data-theme="warm"] .st-modal h2{font-size:20px;margin:0 0 10px}
html[data-theme="warm"] #sm-body > div{padding:8px 0;border-top:1px solid var(--fach-zeile);font-size:14px}
html[data-theme="warm"] #sm-body > div:first-child{border-top:0}
/* Standort-Detail: Modulkarten nebeneinander, Stammdaten als ruhiges Raster */
html[data-theme="warm"] .st-module,html[data-theme="kontrast"] .st-module{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:16px}
html[data-theme="warm"] .st-module > .card,html[data-theme="kontrast"] .st-module > .card{margin:0;display:flex;flex-direction:column}
html[data-theme="warm"] .st-module > .card form,html[data-theme="kontrast"] .st-module > .card form{margin-top:auto!important;padding-top:10px}
html[data-theme="warm"] .st-module > .card .btn-g{font-size:12.5px}
html[data-theme="warm"] .st-stammdaten > div > div > div:first-child{color:var(--muted);font-size:11px!important;letter-spacing:.06em;margin-bottom:4px!important}
html[data-theme="warm"] .st-stammdaten > div{font-size:14px!important;line-height:1.45}

/* ── Bestellvorschlaege (Modul Baeckerei, Markup-Klassen bv-*) ─────────────────────────────────────────────────── */
html[data-theme="warm"] .bv-page > p.muted,html[data-theme="kontrast"] .bv-page > p.muted{font-size:14px!important;max-width:78ch;line-height:1.5;margin-bottom:16px!important}
html[data-theme="warm"] .bv-filter,html[data-theme="kontrast"] .bv-filter{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
html[data-theme="warm"] .bv-filter select,html[data-theme="kontrast"] .bv-filter select{
  width:auto;min-width:220px;max-width:100%;min-height:42px;padding:8px 36px 8px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:14px}
html[data-theme="kontrast"] .bv-filter select{border:2px solid #000}
html[data-theme="warm"] .bv-filter .bv-filter-hinweis,html[data-theme="kontrast"] .bv-filter .bv-filter-hinweis{font-size:13px;color:var(--muted)}
html[data-theme="warm"] .bv-table,html[data-theme="kontrast"] .bv-table{min-width:1080px}
html[data-theme="warm"] .bv-table td,html[data-theme="kontrast"] .bv-table td{vertical-align:top!important;padding:14px 10px!important}
html[data-theme="warm"] .bv-table th,html[data-theme="kontrast"] .bv-table th{padding-left:10px;padding-right:10px}
html[data-theme="warm"] .bv-table td:first-child,html[data-theme="warm"] .bv-table th:first-child{padding-left:18px!important}
html[data-theme="warm"] .bv-datum,html[data-theme="kontrast"] .bv-datum{white-space:nowrap;font-variant-numeric:tabular-nums}
html[data-theme="warm"] .bv-korrektur form,html[data-theme="kontrast"] .bv-korrektur form{flex-direction:column;align-items:flex-start!important;gap:6px!important}
html[data-theme="warm"] .bv-korrektur .btn,html[data-theme="kontrast"] .bv-korrektur .btn{padding:6px 12px;font-size:12.5px}
html[data-theme="warm"] .bv-table.bv-gefiltert .bv-standort,html[data-theme="kontrast"] .bv-table.bv-gefiltert .bv-standort{display:none}
html[data-theme="warm"] .bv-table tbody tr,html[data-theme="kontrast"] .bv-table tbody tr{cursor:pointer}
html[data-theme="warm"] .bv-table tbody tr.bv-aktiv,html[data-theme="kontrast"] .bv-table tbody tr.bv-aktiv{background:var(--warm-tint)}
html[data-theme="warm"] .bv-table tbody tr.bv-aktiv td:first-child,html[data-theme="kontrast"] .bv-table tbody tr.bv-aktiv td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
html[data-theme="warm"] .bv-artikel-name,html[data-theme="kontrast"] .bv-artikel-name{font-size:14.5px;font-weight:600;display:inline-block;margin-right:6px}
html[data-theme="warm"] .bv-table .muted,html[data-theme="kontrast"] .bv-table .muted{color:var(--muted);font-size:12px!important}
html[data-theme="warm"] .bv-menge,html[data-theme="kontrast"] .bv-menge{font-family:var(--font-display);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
html[data-theme="warm"] .bv-menge .muted,html[data-theme="kontrast"] .bv-menge .muted{font-family:var(--font-body,Inter,sans-serif);font-weight:400;letter-spacing:0;margin-top:4px}
/* Mengenbalken: Vorschlag relativ zur groessten Menge der Tabelle (wie "Vorschlag"-Balken in bestellung.png) */
html[data-theme="warm"] .bv-bar,html[data-theme="kontrast"] .bv-bar{height:7px;width:120px;max-width:100%;border-radius:99px;background:var(--warm-tint);margin:6px 0 2px;overflow:hidden;position:relative}
html[data-theme="warm"] .bv-bar i,html[data-theme="kontrast"] .bv-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--accent)}
html[data-theme="kontrast"] .bv-bar{background:#fff;border:1px solid #000;height:9px;box-sizing:border-box}
html[data-theme="kontrast"] .bv-bar i{background:#000}
html[data-theme="warm"] .bv-sonst,html[data-theme="kontrast"] .bv-sonst{font-family:var(--font-body,Inter,sans-serif);font-size:12px;font-weight:400;color:var(--muted);margin-top:3px;white-space:nowrap}
html[data-theme="warm"] .bv-sonst b,html[data-theme="kontrast"] .bv-sonst b{font-weight:600;color:var(--text)}
html[data-theme="warm"] .bv-sonst b.pos{color:var(--fach-ok-text)}html[data-theme="warm"] .bv-sonst b.neg{color:var(--fach-bad-text)}
/* Chips: Event (orange) und Faktoren (+/-) */
html[data-theme="warm"] .bv-chip,html[data-theme="kontrast"] .bv-chip,html[data-theme="warm"] .bv-faktor,html[data-theme="kontrast"] .bv-faktor{
  display:inline-flex;align-items:center;gap:6px;padding:2px 10px 2px 8px;border-radius:999px;font-size:12px;font-weight:600;line-height:1.4;
  border:1px solid var(--warm-tint-border);background:var(--warm-tint);color:#8F3A0C;white-space:nowrap;vertical-align:middle;margin:2px 4px 2px 0}
html[data-theme="warm"] .bv-chip::before,html[data-theme="kontrast"] .bv-chip::before,html[data-theme="warm"] .bv-faktor::before,html[data-theme="kontrast"] .bv-faktor::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
html[data-theme="warm"] .bv-faktor{color:var(--text);background:var(--surface);border-color:var(--border);font-weight:500}
html[data-theme="warm"] .bv-faktor[data-dir="pos"]::before{background:var(--fach-ok)}
html[data-theme="warm"] .bv-faktor[data-dir="neg"]::before{background:var(--fach-bad)}
html[data-theme="warm"] .bv-faktor b{font-weight:700}
html[data-theme="warm"] .bv-faktor[data-dir="pos"] b{color:var(--fach-ok-text)}html[data-theme="warm"] .bv-faktor[data-dir="neg"] b{color:var(--fach-bad-text)}
html[data-theme="kontrast"] .bv-chip,html[data-theme="kontrast"] .bv-faktor{background:#fff;color:#000;border:2px solid #000}
html[data-theme="kontrast"] .bv-chip::before,html[data-theme="kontrast"] .bv-faktor::before{background:#000}
html[data-theme="warm"] .bv-warum-text,html[data-theme="kontrast"] .bv-warum-text{display:none}
html[data-theme="warm"] .bv-warum,html[data-theme="kontrast"] .bv-warum{font-size:13px!important;min-width:230px;max-width:300px}
html[data-theme="warm"] .bv-warum .muted,html[data-theme="kontrast"] .bv-warum .muted{display:block;margin-top:4px}
html[data-theme="warm"] .bv-korrektur input[name="menge"],html[data-theme="kontrast"] .bv-korrektur input[name="menge"]{width:84px!important;min-height:38px;border-radius:10px;text-align:right;font-weight:600}
html[data-theme="warm"] .bv-korrektur .btn,html[data-theme="kontrast"] .bv-korrektur .btn{min-height:38px;border-radius:999px}
html[data-theme="warm"] .bv-korrektur .badge.ok{background:var(--fach-ok-bg);color:var(--fach-ok-text)}
html[data-theme="kontrast"] .bv-korrektur .badge.ok{background:#fff;color:#000;border:2px solid #000}
html[data-theme="warm"] .bv-sl input[type=range]{accent-color:var(--accent)}
html[data-theme="warm"] .bv-sl .bv-out{font-weight:600;font-size:13px;margin:4px 0}
html[data-theme="warm"] .bv-zeig,html[data-theme="kontrast"] .bv-zeig{
  display:inline-flex!important;align-items:center;gap:5px;background:transparent;border:0;border-radius:6px;
  color:var(--accent);font:500 12px/1 var(--font-body,Inter,sans-serif);padding:6px 2px;cursor:pointer;margin-top:2px;min-height:28px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:transparent}
/* Neutrales Balkendiagramm-Symbol (kein Pfeil: ein schräger Pfeil wirkte wie "Rückgang", Fund Bastian 05.10.) */
html[data-theme="warm"] .bv-zeig::before,html[data-theme="kontrast"] .bv-zeig::before{content:"";width:12px;height:12px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='1' y='6' width='2.6' height='5' rx='.6'/%3E%3Crect x='4.7' y='2' width='2.6' height='9' rx='.6'/%3E%3Crect x='8.4' y='4.5' width='2.6' height='6.5' rx='.6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='1' y='6' width='2.6' height='5' rx='.6'/%3E%3Crect x='4.7' y='2' width='2.6' height='9' rx='.6'/%3E%3Crect x='8.4' y='4.5' width='2.6' height='6.5' rx='.6'/%3E%3C/svg%3E") center/contain no-repeat}
html[data-theme="warm"] .bv-zeig:hover{text-decoration-color:currentColor}
html[data-theme="kontrast"] .bv-zeig{color:#0000CC;text-decoration-color:currentColor}
html[data-theme="warm"] .bv-zeig:focus-visible,html[data-theme="kontrast"] .bv-zeig:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
html[data-theme="warm"] .bv-table tbody tr:focus-visible,html[data-theme="kontrast"] .bv-table tbody tr:focus-visible{outline:3px solid var(--accent2);outline-offset:-3px}
html[data-theme="warm"] .bv-ist,html[data-theme="kontrast"] .bv-ist{font-variant-numeric:tabular-nums;text-align:right;font-weight:500}

/* Prognose-Diagramm + "Warum diese Prognose?" (bv-prognose, Chart.js; Farben kommen per getComputedStyle aus den Variablen) */
html[data-theme="warm"] .bv-prognose,html[data-theme="kontrast"] .bv-prognose{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-bottom:20px}
html[data-theme="warm"] .bv-prognose[hidden],html[data-theme="kontrast"] .bv-prognose[hidden]{display:none}
html[data-theme="warm"] .bv-prognose > .card,html[data-theme="kontrast"] .bv-prognose > .card{margin:0;border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow);padding:20px 22px;min-width:0}
html[data-theme="warm"] .bv-prognose > .card:hover{border-color:var(--border)}
html[data-theme="warm"] .bv-prognose h3,html[data-theme="kontrast"] .bv-prognose h3{margin:0 0 12px;font-size:17px}
html[data-theme="warm"] .bv-chart-wrap,html[data-theme="kontrast"] .bv-chart-wrap{position:relative;height:250px}
html[data-theme="warm"] .bv-legende,html[data-theme="kontrast"] .bv-legende{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:12px;font-size:13px;color:var(--muted)}
html[data-theme="warm"] .bv-legende span,html[data-theme="kontrast"] .bv-legende span{display:inline-flex;align-items:center;gap:7px}
html[data-theme="warm"] .bv-prognose h3 small,html[data-theme="kontrast"] .bv-prognose h3 small{display:block;font:400 13px/1.4 var(--font-body,Inter,sans-serif);color:var(--muted);letter-spacing:0;margin-top:2px}
html[data-theme="warm"] .bv-legende i,html[data-theme="kontrast"] .bv-legende i{width:16px;height:4px;border-radius:2px;background:var(--fach-ist);display:inline-block}
html[data-theme="warm"] .bv-legende i.prog,html[data-theme="kontrast"] .bv-legende i.prog{background:repeating-linear-gradient(90deg,var(--accent) 0 5px,transparent 5px 8px)}
html[data-theme="warm"] .bv-hinweis,html[data-theme="kontrast"] .bv-hinweis{border-left:2px solid var(--accent);padding:2px 0 2px 12px;color:var(--muted);font-size:13px;margin:12px 0 0;line-height:1.45}
html[data-theme="warm"] .bv-warum-kopf,html[data-theme="kontrast"] .bv-warum-kopf{font-size:15px;line-height:1.5;margin-bottom:8px}
html[data-theme="warm"] .bv-warum-kopf small,html[data-theme="kontrast"] .bv-warum-kopf small{display:block;font-size:13px;color:var(--muted)}
html[data-theme="warm"] .bv-faktoren,html[data-theme="kontrast"] .bv-faktoren{list-style:none;margin:0;padding:0}
html[data-theme="warm"] .bv-faktoren li,html[data-theme="kontrast"] .bv-faktoren li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--fach-zeile);font-size:14px}
html[data-theme="warm"] .bv-faktoren li:first-child,html[data-theme="kontrast"] .bv-faktoren li:first-child{border-top:0}
html[data-theme="warm"] .bv-faktoren .bv-faktor,html[data-theme="kontrast"] .bv-faktoren .bv-faktor{margin:0;flex:none}
html[data-theme="warm"] .bv-faktoren .bv-leer,html[data-theme="kontrast"] .bv-faktoren .bv-leer{color:var(--muted);font-size:13px}
/* Zieltag (K262): "morgen / uebermorgen / in 3 Tagen" + Datum; Tag-Chips ueber der Tabelle und in "Warum diese Prognose?" */
html[data-theme="warm"] .bv-datum .bv-tag,html[data-theme="kontrast"] .bv-datum .bv-tag{font-weight:600;font-size:14px}
html[data-theme="warm"] .bv-datum small,html[data-theme="kontrast"] .bv-datum small{font-size:12px!important}
html[data-theme="warm"] .bv-zeitraum,html[data-theme="kontrast"] .bv-zeitraum{color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
html[data-theme="kontrast"] .bv-zeitraum{color:#0000CC}
html[data-theme="warm"] .bv-tage,html[data-theme="kontrast"] .bv-tage,html[data-theme="warm"] .bv-tagwahl,html[data-theme="kontrast"] .bv-tagwahl{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
html[data-theme="warm"] .bv-tagwahl,html[data-theme="kontrast"] .bv-tagwahl{margin-bottom:14px}
html[data-theme="warm"] .bv-tagchip,html[data-theme="kontrast"] .bv-tagchip{
  display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);
  background:var(--surface);color:var(--text);font:500 13px/1.2 var(--font-body,Inter,sans-serif);cursor:pointer;box-shadow:var(--warm-card-shadow)}
html[data-theme="warm"] .bv-tagchip small,html[data-theme="kontrast"] .bv-tagchip small{font-size:12px;color:var(--muted);font-weight:400}
html[data-theme="warm"] .bv-tagchip .bv-anzahl,html[data-theme="kontrast"] .bv-tagchip .bv-anzahl{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--warm-tint);color:#8F3A0C}
html[data-theme="warm"] .bv-tagchip:hover{border-color:var(--warm-tint-border);background:var(--warm-tint)}
html[data-theme="warm"] .bv-tagchip[aria-pressed="true"],html[data-theme="kontrast"] .bv-tagchip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}
html[data-theme="warm"] .bv-tagchip[aria-pressed="true"] small{color:#fff}
html[data-theme="warm"] .bv-tagchip[aria-pressed="true"] .bv-anzahl{color:#fff;background:rgb(255 255 255/.18)}
html[data-theme="warm"] .bv-tagchip.bv-bestelltag{border-style:dashed;border-color:var(--fach-ist)}
html[data-theme="warm"] .bv-tagchip.bv-bestelltag small::before{content:"\25CF  ";color:var(--fach-ist)}
html[data-theme="warm"] .bv-tagchip:focus-visible,html[data-theme="kontrast"] .bv-tagchip:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}
html[data-theme="warm"] .bv-bestellzeile,html[data-theme="kontrast"] .bv-bestellzeile{font-weight:600;color:var(--fach-ist);margin-top:2px}
html[data-theme="warm"] .bv-legende i.spanne,html[data-theme="kontrast"] .bv-legende i.spanne{height:10px;background:rgb(179 79 22/.16);border-radius:2px}
html[data-theme="warm"] .bv-legende i.bestell,html[data-theme="kontrast"] .bv-legende i.bestell{width:2px;height:14px;background:repeating-linear-gradient(180deg,var(--fach-ist) 0 3px,transparent 3px 6px)}
html[data-theme="warm"] .bv-table tbody tr[hidden],html[data-theme="kontrast"] .bv-table tbody tr[hidden]{display:none}

/* ── Artikel (Modul Baeckerei): ABC-Karten mit linkem Farbbalken ruhiger ──────────────────────────────────────── */
html[data-theme="warm"] .page .card[style*="border-left:4px solid #22c55e"]{border-left-color:var(--fach-ok)!important}
html[data-theme="warm"] .page .card[style*="border-left:4px solid #f59e0b"]{border-left-color:var(--fach-warn)!important}
html[data-theme="warm"] .page .card[style*="border-left:4px solid #94a3b8"]{border-left-color:#B9A58C!important}
html[data-theme="kontrast"] .page .card[style*="border-left:4px solid"]{border-left-color:#000!important}

/* ── Rueckverfolgbarkeit ──────────────────────────────────────────────────────────────────────────────────────── */
html[data-theme="warm"] .rv-kacheln > .card,html[data-theme="kontrast"] .rv-kacheln > .card{border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow);padding:16px 18px!important;margin:0;transition:transform .15s,box-shadow .15s}
html[data-theme="warm"] .rv-kacheln > .card:hover{transform:translateY(-2px);border-color:var(--warm-tint-border);box-shadow:0 10px 28px rgb(43 33 24/.1)}
html[data-theme="warm"] .rv-kacheln > .card > div:first-child{font-family:var(--font-display);font-size:15px;margin-bottom:3px}
html[data-theme="warm"] .rv-stats > div,html[data-theme="kontrast"] .rv-stats > div{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:6px 14px;font-size:13px}
html[data-theme="kontrast"] .rv-stats > div{border:2px solid #000;color:#000}
html[data-theme="warm"] .rv-rueckruf .card,html[data-theme="kontrast"] .rv-rueckruf .card{border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow);padding:18px 20px!important}
html[data-theme="warm"] .rv-rueckruf select,html[data-theme="kontrast"] .rv-rueckruf select{min-height:42px;border-radius:12px;margin-bottom:12px!important}
html[data-theme="warm"] main.content > p[style*="max-width:64ch"]{font-size:14px!important;line-height:1.5;margin-bottom:6px}
/* Warn-/Fehlerkarten (rote Rahmen per Inline-Stil) in warmen Toenen */
html[data-theme="warm"] .card[style*="border-color:#c0392b"],html[data-theme="warm"] .card[style*="border-color:#e2001a"]{
  border-color:#F3C6C1!important;background:var(--fach-bad-bg);color:var(--fach-bad-text)!important}
html[data-theme="warm"] .card[style*="border-color:#e0a800"]{border-color:var(--warm-tint-border)!important;background:var(--fach-warn-bg);color:var(--fach-warn-text)!important}
html[data-theme="warm"] .card[style*="border-color:#2ea043"]{border-color:#BFE3CF!important;background:var(--fach-ok-bg);color:var(--fach-ok-text)!important}
html[data-theme="kontrast"] .card[style*="border-color:#"]{border:2px solid #000!important;color:#000!important;background:#fff}

/* ── Veranstaltungen (Modul, Tabelle direkt in .page > .card) ─────────────────────────────────────────────────── */
html[data-theme="warm"] .page > .card > p > a,html[data-theme="kontrast"] .page > .card > p > a{
  display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--border);
  background:var(--surface);color:var(--accent);font-weight:600;font-size:13px;text-decoration:none;margin:2px 4px 2px 0}
html[data-theme="warm"] .page > .card > p > a:hover{background:var(--warm-tint);border-color:var(--warm-tint-border)}
html[data-theme="kontrast"] .page > .card > p > a{border:2px solid #000;color:#000;text-decoration:underline}
html[data-theme="warm"] .page > .card > table,html[data-theme="kontrast"] .page > .card > table{box-shadow:none;margin-top:10px}
html[data-theme="warm"] .page > .card > table td a{display:inline-block;padding:2px 0}

/* ── Leerzustaende (Dokumente/Dateien ohne Paperless/Nextcloud, "Keine ..."-Zeilen) ───────────────────────────── */
html[data-theme="warm"] .ci4u-empty-icon{opacity:.55}
html[data-theme="warm"] .ci4u-empty h3,html[data-theme="kontrast"] .ci4u-empty h3{font-family:var(--font-display)}
html[data-theme="warm"] td[colspan][style*="color:var(--muted)"],html[data-theme="warm"] td[colspan].muted{padding:22px 20px!important;font-size:14px}

/* ── Analytics (/system/analytics, Chart.js) ──────────────────────────────────────────────────────────────────── */
html[data-theme="warm"] .kpi,html[data-theme="kontrast"] .kpi{border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow)}
html[data-theme="warm"] .kpi::before{height:4px}
html[data-theme="warm"] .kpi-blue::before{background:var(--accent)}
html[data-theme="warm"] .kpi-green::before{background:var(--fach-ok)}
html[data-theme="warm"] .kpi-amber::before{background:var(--fach-warn)}
html[data-theme="warm"] .kpi-purple::before{background:var(--accent2)}
html[data-theme="warm"] .kpi-red::before{background:var(--fach-bad)}
html[data-theme="kontrast"] .kpi::before{background:#000!important;height:4px}
html[data-theme="kontrast"] .kpi{border:2px solid #000}
html[data-theme="warm"] .kpi-val,html[data-theme="kontrast"] .kpi-val{font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}
html[data-theme="warm"] .tab-bar,html[data-theme="kontrast"] .tab-bar{gap:4px;border-bottom:0;background:var(--warm-tint);border-radius:999px;padding:4px;width:max-content;max-width:100%}
html[data-theme="warm"] .tab,html[data-theme="kontrast"] .tab{border-radius:999px;border-bottom:0!important;margin-bottom:0;padding:8px 16px;color:var(--text);font-weight:500;min-height:40px}
html[data-theme="warm"] .tab.active,html[data-theme="kontrast"] .tab.active{background:var(--accent);color:#fff;font-weight:600}
html[data-theme="warm"] .tab:hover:not(.active){background:rgb(255 255 255/.7)}
html[data-theme="kontrast"] .tab-bar{background:#fff;border:2px solid #000}
html[data-theme="kontrast"] .tab.active{background:#000;color:#fff}
html[data-theme="warm"] .chart-wrap,html[data-theme="kontrast"] .chart-wrap{border-radius:var(--fach-radius);box-shadow:var(--warm-card-shadow);padding:22px 24px}
html[data-theme="kontrast"] .chart-wrap{border:2px solid #000}
html[data-theme="warm"] .chart-title,html[data-theme="kontrast"] .chart-title{font-family:var(--font-display);font-size:15px;margin-bottom:14px}
html[data-theme="warm"] .trend-up{background:var(--fach-ok-bg);color:var(--fach-ok-text)}
html[data-theme="warm"] .trend-dn{background:var(--fach-bad-bg);color:var(--fach-bad-text)}
html[data-theme="kontrast"] .trend-chip{background:#fff;color:#000;border:2px solid #000}
html[data-theme="warm"] .topic-bar-bg{background:var(--warm-tint)}
html[data-theme="warm"] .anom-card{border-left-color:var(--fach-bad);border-radius:0 12px 12px 0}
html[data-theme="warm"] .anom-card.mittel{border-left-color:var(--fach-warn)}
html[data-theme="warm"] .anom-card span[style*="#ef4444"]{color:var(--fach-bad-text)!important}
html[data-theme="warm"] .anom-card span[style*="#f59e0b"]{color:var(--fach-warn-text)!important}
html[data-theme="warm"] .forecast-prophet{background:var(--warm-tint);color:#8F3A0C}
html[data-theme="warm"] .forecast-linear{background:var(--fach-warn-bg);color:var(--fach-warn-text)}
html[data-theme="kontrast"] .forecast-info{background:#fff;color:#000;border:2px solid #000}

/* ── Hoher Kontrast: Karten und Tabellen mit schwarzem Rahmen, kein Schatten ──────────────────────────────────── */
html[data-theme="kontrast"] table.card,html[data-theme="kontrast"] .page .card table,html[data-theme="kontrast"] .bv-prognose > .card,
html[data-theme="kontrast"] .pf-kpis > div,html[data-theme="kontrast"] .rv-kacheln > .card,html[data-theme="kontrast"] .rv-rueckruf .card{border:2px solid #000;box-shadow:none}
html[data-theme="kontrast"] table.card th,html[data-theme="kontrast"] .page .card table th{color:#000;border-bottom:2px solid #000}
html[data-theme="kontrast"] .bv-table .muted,html[data-theme="kontrast"] .bv-sonst,html[data-theme="kontrast"] .karte-legende,
html[data-theme="kontrast"] .bv-legende,html[data-theme="kontrast"] .bv-hinweis,html[data-theme="kontrast"] .bv-warum-kopf small{color:#000}
html[data-theme="kontrast"] .bv-hinweis{border-left:3px solid #000}
html[data-theme="kontrast"] .bv-table tbody tr.bv-aktiv{background:#fff;outline:3px solid #000;outline-offset:-3px}
html[data-theme="kontrast"] .bv-legende i{background:#000}
html[data-theme="kontrast"] .bv-legende i.prog{background:repeating-linear-gradient(90deg,#8A2F00 0 5px,transparent 5px 8px)}
html[data-theme="kontrast"] .bv-sonst b.pos,html[data-theme="kontrast"] .bv-sonst b.neg,html[data-theme="kontrast"] .bv-faktor b{color:#000}
html[data-theme="kontrast"] .bv-tagchip{border:2px solid #000;color:#000;box-shadow:none}
html[data-theme="kontrast"] .bv-tagchip small,html[data-theme="kontrast"] .bv-tagchip .bv-anzahl{color:#000;background:#fff;border:1px solid #000}
html[data-theme="kontrast"] .bv-tagchip[aria-pressed="true"]{background:#000;color:#fff;border-color:#000}
html[data-theme="kontrast"] .bv-tagchip[aria-pressed="true"] small{color:#fff;background:#000;border:0}
html[data-theme="kontrast"] .bv-tagchip[aria-pressed="true"] .bv-anzahl{color:#000;background:#fff;border-color:#fff}
html[data-theme="kontrast"] .bv-tagchip.bv-bestelltag{border-style:dashed}
html[data-theme="kontrast"] .bv-bestellzeile{color:#000}
html[data-theme="kontrast"] .bv-legende i.spanne{background:rgb(0 0 0/.14);border:1px solid #000}
html[data-theme="kontrast"] .bv-legende i.bestell{background:repeating-linear-gradient(180deg,#000 0 3px,transparent 3px 6px)}

/* ── Mobil (bis 640 px): Tabellen scrollen statt ueberlaufen, Raster einspaltig, Ziele >= 40 px ───────────────── */
@media (max-width:640px){
  html[data-theme="warm"] main.content:not(:has(> .page)),html[data-theme="kontrast"] main.content:not(:has(> .page)){padding:14px 16px 40px}
  html[data-theme="warm"] main.content h2,html[data-theme="kontrast"] main.content h2,html[data-theme="warm"] .page > h2{font-size:22px}
  html[data-theme="warm"] table.card,html[data-theme="kontrast"] table.card,
  html[data-theme="warm"] .page .card > table,html[data-theme="kontrast"] .page .card > table{display:block;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;flex:none;min-height:0}
  html[data-theme="warm"] table.card th,html[data-theme="warm"] table.card td,html[data-theme="kontrast"] table.card th,html[data-theme="kontrast"] table.card td,
  html[data-theme="warm"] .page .card > table th,html[data-theme="warm"] .page .card > table td,html[data-theme="kontrast"] .page .card > table th,html[data-theme="kontrast"] .page .card > table td{white-space:nowrap;padding:11px 12px}
  html[data-theme="warm"] .pf-kpis,html[data-theme="kontrast"] .pf-kpis{grid-template-columns:1fr 1fr}
  html[data-theme="warm"] .pf-kpis > div > b{font-size:24px}
  html[data-theme="warm"] .pf-filter select,html[data-theme="kontrast"] .pf-filter select,html[data-theme="warm"] .bv-filter select{min-width:0;width:100%}
  html[data-theme="warm"] .pf-filter button,html[data-theme="kontrast"] .pf-filter button{width:100%;justify-content:center}
  html[data-theme="warm"] #standort-karte,html[data-theme="kontrast"] #standort-karte{height:320px!important}
  html[data-theme="warm"] .bv-prognose,html[data-theme="kontrast"] .bv-prognose{grid-template-columns:1fr}
  html[data-theme="warm"] .bv-chart-wrap,html[data-theme="kontrast"] .bv-chart-wrap{height:210px}
  html[data-theme="warm"] .rv-rueckruf,html[data-theme="kontrast"] .rv-rueckruf{grid-template-columns:1fr!important}
  html[data-theme="warm"] .st-module,html[data-theme="kontrast"] .st-module{grid-template-columns:1fr}
  html[data-theme="warm"] .page-header .btn,html[data-theme="kontrast"] .page-header .btn{min-height:40px}
  html[data-theme="warm"] .tab-bar,html[data-theme="kontrast"] .tab-bar{width:100%;border-radius:14px;overflow-x:auto}
}

/* ── Bewegung nur, wenn gewuenscht ─────────────────────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html[data-theme="warm"] .rv-kacheln > .card,html[data-theme="warm"] .rv-kacheln > .card:hover{transition:none;transform:none}
}
