/* ============================================================================
   stil.css — modernes Design-System (hell und dunkel), ohne externe Abhängigkeiten
   Wird nach app.css und app2.css geladen und ersetzt deren Optik.
   Grundsätze: keine überlaufenden Raster, gleiche Kartenhöhen, große Ziele für
   Finger, klare Sprache in der Oberfläche, Druckbild für den Bericht.
   ============================================================================ */

/* ---------- Farben und Maße (hell) ---------- */
:root {
  --bg: #f6f8fb;
  --bg-soft: #ffffff;
  --bg-tief: #eef2f7;
  --ink: #0f1b2d;
  --ink-soft: #43536b;
  --ink-leise: #6b7a91;
  --line: #dde4ee;
  --line-soft: #e9eff7;
  --brand: #0d7d5f;
  --brand-hell: #0f9f78;
  --brand-soft: #e6f6f0;
  --warn: #a25a00;
  --warn-soft: #fdf3e3;
  --rot: #b3261e;
  --rot-soft: #fdeceb;
  --schatten: 0 1px 2px rgba(15, 27, 45, .05), 0 8px 24px rgba(15, 27, 45, .06);
  --radius: 14px;
  --radius-klein: 10px;
  --breite: 1120px;
  --abstand: 20px;
  --schrift: "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b1220;
    --bg-soft: #111a2b;
    --bg-tief: #0e1728;
    --ink: #eaf1fb;
    --ink-soft: #b9c6da;
    --ink-leise: #8fa0b8;
    --line: #1f2c44;
    --line-soft: #1a2438;
    --brand: #2fd39a;
    --brand-hell: #4ee3ae;
    --brand-soft: #10281f;
    --warn: #f0b95c;
    --warn-soft: #2a2113;
    --rot: #ff8b80;
    --rot-soft: #2c1614;
    --schatten: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .25);
  }
}

/* Umschalter in der Kopfzeile setzt data-theme am <html> */
html[data-theme="hell"] { --bg:#f6f8fb; --bg-soft:#fff; --bg-tief:#eef2f7; --ink:#0f1b2d; --ink-soft:#43536b; --ink-leise:#6b7a91; --line:#dde4ee; --line-soft:#e9eff7; --brand:#0d7d5f; --brand-hell:#0f9f78; --brand-soft:#e6f6f0; --shadow-fix:1; }
html[data-theme="dunkel"] { --bg:#0b1220; --bg-soft:#111a2b; --bg-tief:#0e1728; --ink:#eaf1fb; --ink-soft:#b9c6da; --ink-leise:#8fa0b8; --line:#1f2c44; --line-soft:#1a2438; --brand:#2fd39a; --brand-hell:#4ee3ae; --brand-soft:#10281f; }

/* ---------- Grundgerüst ---------- */
* { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--schrift);
  font-size: 15.5px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { color: var(--ink); letter-spacing: -.01em; line-height: 1.22; margin: 0 0 .5em; }
h1 { font-size: clamp(28px, 4.4vw, 44px); letter-spacing: -.025em; }
h2 { font-size: clamp(20px, 2.5vw, 27px); margin-top: 1.6em; }
h3 { font-size: 17.5px; }
p { margin: 0 0 1em; }
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
code, pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; }
hr { border: 0; border-top: 1px solid var(--line); margin: 28px 0; }
.muted { color: var(--ink-leise); font-size: 14px; }
.klein { font-size: 13px; color: var(--ink-leise); }
.mitte { text-align: center; }
.jetzt-lesen { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.rahmen { max-width: var(--breite); margin: 0 auto; padding: 0 var(--abstand); width: 100%; }
.eng { max-width: 720px; }

/* ---------- Kopfzeile ---------- */
header.kopf {
  position: sticky; top: 0; z-index: 30;
  background: color-mix(in srgb, var(--bg-soft) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
header.kopf .rahmen { display: flex; align-items: center; gap: 18px; min-height: 64px; }
.marke { display: flex; align-items: center; gap: 12px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; }
.marke .zeichen {
  width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
  background: linear-gradient(140deg, var(--brand), var(--brand-hell)); color: #06231b; font-weight: 800; font-size: 15px;
}
.marke small { display: block; font-weight: 500; font-size: 12px; color: var(--ink-leise); letter-spacing: 0; }
nav.haupt { margin-left: auto; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
nav.haupt a { padding: 9px 13px; border-radius: 10px; color: var(--ink-soft); font-size: 14.5px; }
nav.haupt a:hover { background: var(--bg-tief); text-decoration: none; }
nav.haupt a.aktiv { color: var(--ink); background: var(--bg-tief); font-weight: 600; }
.theme-schalter {
  border: 1px solid var(--line); background: var(--bg-soft); color: var(--ink-soft);
  width: 38px; height: 38px; border-radius: 11px; cursor: pointer; font-size: 16px; line-height: 1;
}
.theme-schalter:hover { border-color: var(--brand); color: var(--brand); }

/* ---------- Karten und Raster: nie überlaufen ---------- */
.card, .block {
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 22px 24px; margin: 16px 0; box-shadow: var(--schatten);
  min-width: 0; overflow-wrap: anywhere;
}
.card > :first-child { margin-top: 0; }
.card > :last-child { margin-bottom: 0; }
.raster {
  display: grid; gap: 16px; margin: 20px 0;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  align-items: stretch;
}
.raster.zwei { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); }
.raster > * { min-width: 0; height: 100%; }
.karte {
  background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 22px; box-shadow: var(--schatten);
  display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere;
}
.karte h3 { margin: 0 0 8px; font-size: 16.5px; }
.hilfe {
  background: var(--flaeche-2, rgba(56, 132, 255, .07));
  border-left: 3px solid var(--akzent, #3884ff);
  border-radius: 8px; padding: 10px 14px; margin: 10px 0 14px;
  font-size: 14px; line-height: 1.6; color: var(--ink-soft);
}
.hilfe b { color: var(--ink); }
.karte p { color: var(--ink-soft); font-size: 14.5px; margin: 0 0 12px; }
.karte ul { margin: 0 0 16px; padding-left: 18px; color: var(--ink-soft); font-size: 14px; }
.karte ul li { margin: 4px 0; }
.karte .fuss { margin-top: auto; display: flex; gap: 10px; flex-wrap: wrap; }
.karte .nr {
  width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; font-weight: 700;
  background: var(--brand-soft); color: var(--brand); font-size: 14px; margin-bottom: 10px;
}

/* ---------- Knöpfe ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 11px 18px; border-radius: 11px; border: 1px solid var(--line);
  background: var(--bg-soft); color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 600;
  cursor: pointer; text-decoration: none; min-height: 44px;
}
.btn:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }
.btn.primary { background: linear-gradient(140deg, var(--brand), var(--brand-hell)); border-color: transparent; color: #06231b; }
.btn.primary:hover { filter: brightness(1.06); color: #06231b; }
.btn.ghost { background: transparent; }
.btn.gross { padding: 14px 24px; font-size: 16px; min-height: 52px; }
.btn.klein { padding: 7px 12px; font-size: 13px; min-height: 36px; }
.btn[disabled] { opacity: .5; cursor: not-allowed; }
.btn-row { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- Startseite ---------- */
.hero { padding: 54px 0 10px; }
.hero .pill {
  display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px;
  font-size: 12.5px; border: 1px solid color-mix(in srgb, var(--brand) 45%, transparent);
  color: var(--brand); background: var(--brand-soft); margin-bottom: 18px;
}
.hero h1 { max-width: 20ch; }
.hero .lead { font-size: 17.5px; color: var(--ink-soft); max-width: 68ch; }
.hero .kennzahlen { display: flex; gap: 26px; flex-wrap: wrap; margin-top: 22px; }
.hero .kennzahlen div { font-size: 13.5px; color: var(--ink-leise); }
.hero .kennzahlen b { display: block; font-size: 22px; color: var(--ink); }

.schritt-band { display: flex; gap: 10px; flex-wrap: wrap; margin: 18px 0 6px; }
.schritt-band span {
  font-size: 13px; padding: 7px 13px; border-radius: 999px; background: var(--bg-tief);
  color: var(--ink-soft); border: 1px solid var(--line);
}

/* ---------- Formulare ---------- */
.f { display: block; margin: 14px 0; min-width: 0; }
.f > span, .f > label { display: block; font-size: 14px; color: var(--ink-soft); margin-bottom: 6px; font-weight: 600; }
.f .hilfe { display: block; font-size: 13px; color: var(--ink-leise); font-weight: 400; margin-top: 4px; }
.f input[type=text], .f input[type=date], .f input[type=email], .f input[type=password],
.f input[type=number], .f input[type=tel], .f select, .f textarea {
  width: 100%; padding: 12px 14px; border-radius: var(--radius-klein); font: inherit; font-size: 15.5px;
  color: var(--ink); background: var(--bg); border: 1px solid var(--line);
}
.f textarea { min-height: 96px; resize: vertical; line-height: 1.55; }
.f input:focus, .f select:focus, .f textarea:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 20%, transparent);
}
.f.check { display: flex; align-items: flex-start; gap: 12px; }
.f.check input { width: 22px; height: 22px; accent-color: var(--brand); margin-top: 2px; }
.f.check > span { font-weight: 500; font-size: 15px; margin: 0; }
.grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 0 20px; }
.grid3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 0 16px; }

/* Auswahlmöglichkeiten: groß, gut treffbar */
.radios { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); margin: 6px 0 4px; }
.pick, .radio {
  display: flex; align-items: flex-start; gap: 11px; padding: 14px 16px; border-radius: var(--radius-klein);
  border: 1px solid var(--line); background: var(--bg); cursor: pointer; font-size: 15px; min-width: 0;
}
.pick:hover, .radio:hover { border-color: var(--brand); }
.pick.on, .radio:has(input:checked) { border-color: var(--brand); background: var(--brand-soft); }
.pick input, .radio input { width: 20px; height: 20px; accent-color: var(--brand); margin-top: 2px; flex: none; }
.pick span, .radio span { min-width: 0; overflow-wrap: anywhere; }
.radio .kurz { display: block; font-size: 13px; color: var(--ink-leise); }
.picklist { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }

/* ---------- Fragenblöcke ---------- */
.q, .cat, .comp {
  border: 1px solid var(--line); border-radius: var(--radius); padding: 18px 20px; margin: 16px 0;
  background: var(--bg-soft); min-width: 0;
}
.qt, .ct { font-size: 16px; font-weight: 650; color: var(--ink); margin-bottom: 4px; }
.qf { font-size: 14px; color: var(--ink-leise); margin: 2px 0 12px; }
.comp summary { cursor: pointer; font-size: 15px; color: var(--brand); font-weight: 600; padding: 4px 0; }
details.mx { border: 1px solid var(--line); border-radius: var(--radius-klein); padding: 12px 16px; margin: 12px 0; background: var(--bg-tief); min-width: 0; }
details.mx summary { cursor: pointer; font-weight: 600; color: var(--ink); }
details.faq { border-bottom: 1px solid var(--line-soft); padding: 12px 0; }
details.faq summary { cursor: pointer; font-weight: 600; font-size: 15.5px; color: var(--ink); list-style: none; display: flex; gap: 10px; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::before { content: "+"; color: var(--brand); font-weight: 700; }
details.faq[open] summary::before { content: "–"; }
details.faq p { margin: 8px 0 0 22px; color: var(--ink-soft); font-size: 14.5px; }
span.faqkat { color: var(--brand); font-size: 11.5px; text-transform: uppercase; letter-spacing: .08em; }

/* ---------- Schrittanzeige ---------- */
.steps { display: flex; gap: 8px; flex-wrap: wrap; margin: 18px 0 22px; }
.step {
  display: flex; align-items: center; gap: 9px; padding: 9px 14px; border-radius: 11px;
  border: 1px solid var(--line); color: var(--ink-leise); font-size: 13.5px; background: var(--bg-soft); text-decoration: none;
}
.step b { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; background: var(--bg-tief); color: var(--ink-soft); }
.step.on { border-color: var(--brand); color: var(--ink); background: var(--brand-soft); font-weight: 600; }
.step.on b { background: var(--brand); color: #06231b; }
.step.fertig b::before { content: "✓"; }
.step.fertig b span { display: none; }

/* ---------- Tabellen: am Rechner Tabelle, am Handy Karten ---------- */
.tabelle { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.tabelle th, .tabelle td { text-align: left; padding: 11px 12px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.tabelle th { color: var(--ink-leise); font-size: 12.5px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
@media (max-width: 720px) {
  .tabelle, .tabelle tbody, .tabelle tr, .tabelle td { display: block; width: 100%; }
  .tabelle thead { display: none; }
  .tabelle tr { border: 1px solid var(--line); border-radius: var(--radius-klein); margin-bottom: 12px; padding: 8px 4px; background: var(--bg-soft); }
  .tabelle td { border: 0; padding: 7px 12px; }
  .tabelle td::before { content: attr(data-spalte) ": "; color: var(--ink-leise); font-size: 13px; }
}

/* ---------- Hinweise, Zustände ---------- */
.hinweis {
  border-radius: var(--radius-klein); padding: 14px 16px; margin: 16px 0; font-size: 14.5px;
  border: 1px solid var(--line); background: var(--bg-tief); color: var(--ink);
  display: flex; gap: 12px; align-items: flex-start;
}
.hinweis.gut { background: var(--brand-soft); border-color: color-mix(in srgb, var(--brand) 40%, transparent); }
.hinweis.warnung { background: var(--warn-soft); border-color: color-mix(in srgb, var(--warn) 40%, transparent); }
.hinweis.fehler { background: var(--rot-soft); border-color: color-mix(in srgb, var(--rot) 40%, transparent); }
.hinweis b { display: block; margin-bottom: 2px; }
.marke-stand { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; padding: 4px 11px; border-radius: 999px; background: var(--bg-tief); color: var(--ink-soft); }
.marke-stand.gut { background: var(--brand-soft); color: var(--brand); }
.marke-stand.offen { background: var(--warn-soft); color: var(--warn); }

ul.sauber { padding-left: 20px; margin: 0 0 14px; color: var(--ink-soft); }
ul.sauber li { margin: 5px 0; }
.row { display: grid; grid-template-columns: minmax(0, 40%) minmax(0, 1fr); gap: 12px; padding: 8px 0; border-bottom: 1px dotted var(--line); }
.row .lbl { color: var(--ink-leise); font-size: 13.5px; overflow-wrap: anywhere; }
.row .val { font-weight: 600; font-size: 15px; overflow-wrap: anywhere; min-width: 0; }
@media (max-width: 620px) { .row { grid-template-columns: minmax(0, 1fr); gap: 2px; } }
.doc-list { display: grid; gap: 10px; }
.doc-item {
  display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap;
  border: 1px solid var(--line); border-radius: var(--radius-klein); padding: 12px 16px; background: var(--bg-soft);
}
.doc-item .t { font-weight: 600; font-size: 15px; }
.doc-item .m { font-size: 13px; color: var(--ink-leise); }
.prose { max-width: 78ch; }
.prose p, .prose li { font-size: 15.5px; color: var(--ink-soft); }
.prose h2 { margin-top: 1.8em; }
footer.fuss { border-top: 1px solid var(--line); margin-top: 56px; padding: 26px 0 40px; color: var(--ink-leise); font-size: 13.5px; }
footer.fuss a { color: var(--ink-soft); }
footer.fuss .rahmen { display: flex; gap: 22px; flex-wrap: wrap; align-items: center; }

/* ---------- Fortschritt und Diagramme ---------- */
.balken { height: 9px; border-radius: 999px; background: var(--bg-tief); overflow: hidden; }
.balken > i { display: block; height: 100%; background: linear-gradient(90deg, var(--brand), var(--brand-hell)); }
.ring { width: 92px; height: 92px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 19px; }
.ring.niedrig { background: var(--brand-soft); color: var(--brand); }
.ring.mittel { background: var(--warn-soft); color: var(--warn); }
.ring.hoch { background: var(--rot-soft); color: var(--rot); }

@media (max-width: 700px) {
  body { font-size: 16px; }
  .card, .karte, .q, .cat, .comp { padding: 18px 16px; }
  .hero { padding: 30px 0 4px; }
  header.kopf .rahmen { min-height: 58px; gap: 10px; }
  nav.haupt a { padding: 8px 10px; font-size: 14px; }
}

/* ---------- Druckbild (Bericht) ----------
   Der Bericht selbst (/app/form/:id/druck) bringt sein Papierformat und die
   Fußzeile „Seite X von Y – Erstellt am … – TRBS 1115-1“ mit. Hier stehen die
   Regeln für alle übrigen Seiten der Anwendung: helles Blatt, keine Bedien-
   elemente, saubere Umbrüche — damit auch ein Ausdruck aus dem Formular oder
   der Übersicht wie ein Dokument aussieht. */
@media print {
  /* Die dunkle Darstellung wird beim Drucken immer hell (Papier sparen). */
  :root, html[data-theme="dunkel"], html[data-theme="hell"] {
    --bg: #fff; --bg-soft: #fff; --bg-tief: #fff;
    --ink: #000; --ink-soft: #1f2937; --ink-leise: #4b5563;
    --line: #b9c2cf; --line-soft: #d5dbe4;
    --brand: #0b6b52; --brand-hell: #0b6b52; --brand-soft: #eef7f3;
    --warn: #7a4400; --warn-soft: #fdf3e3;
    --rot: #8c1d18; --rot-soft: #fdeceb;
    --schatten: none;
  }
  html, body { background: #fff !important; color: #000; font-size: 11.5pt; }
  /* Bedienoberfläche gehört nicht aufs Papier. */
  header.kopf, nav.haupt, footer.fuss, .theme-schalter, .steps,
  .btn, .btn-row, button, .no-print { display: none !important; }
  .rahmen { max-width: none; padding: 0; }
  @page { size: A4; margin: 16mm 14mm; }
  /* Blöcke wie im Bericht: kein Schatten, dünne Linien, ruhige Schnitte. */
  .card, .karte, .q, .cat, .comp, .doc-item {
    box-shadow: none; border: 1px solid #9aa6b5; border-radius: 0; background: #fff;
    break-inside: avoid; page-break-inside: avoid;
  }
  h1 { font-size: 18pt; } h2 { font-size: 14pt; } h3 { font-size: 12pt; }
  h1, h2, h3 { break-after: avoid; page-break-after: avoid; }
  .row, .grid > .row, .sub, .sign, .kpi, .hinweis {
    break-inside: avoid; page-break-inside: avoid;
  }
  .row { border-bottom: 1px dotted #9aa6b5; }
  .grid > .row .val, .row .val { font-size: 10pt; }
  a { color: #000; text-decoration: none; }
  table { border-collapse: collapse; width: 100%; }
  thead { display: table-header-group; }
  tr, img { break-inside: avoid; page-break-inside: avoid; }
  .table-wrap { overflow: visible; }
}

/* Hinweisleiste zur Speicherung auf dem Gerät (kein Werbe-Cookie) */
.hinweisbanner{position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--bg-soft,#fff);color:var(--ink,#0f1b2d);
  border-top:1px solid var(--line,#d8dee9);box-shadow:0 -6px 20px rgba(15,23,42,.10);padding:14px 0}
.hinweisbanner .rahmen{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.hinweisbanner p{margin:0;font-size:13.5px;max-width:900px;line-height:1.5;color:var(--ink-soft,#43536b)}
.hinweisbanner p strong{color:var(--ink,#0f1b2d)}
.hinweisbanner a{color:var(--brand,#0d7d5f)}
.frage summary{cursor:pointer;font-weight:600}
.frage[open] summary{margin-bottom:8px}
.suche .suchzeile{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 6px}
.suche .suchzeile input[type=search]{flex:1;min-width:240px}
.kontakt .zwei{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.kontakt .zwei{grid-template-columns:1fr}}

/* ------------------------------------------------------------------ Tabellen
   Auf schmalen Bildschirmen hatten die Tabellen zu viele Spalten: die Überschriften
   standen senkrecht untereinander, der Inhalt war zu Buchstaben gequetscht.
   Deshalb: breite Tabellen scrollen seitlich, und Tabellen mit dem Vermerk „mobil“
   werden zu Karten (eine Zeile = eine Karte, jede Angabe mit ihrer Bezeichnung). */
@media (max-width: 760px) {
  .table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-wrap > table { min-width: 620px; }
  .table-wrap.mobil > table { min-width: 0; }
  .table-wrap.mobil table, .table-wrap.mobil tbody, .table-wrap.mobil tr, .table-wrap.mobil td { display: block; width: 100%; }
  .table-wrap.mobil thead { display: none; }
  .table-wrap.mobil tr { border: 1px solid var(--line); border-radius: var(--radius-klein, 10px);
    padding: 10px 12px; margin: 0 0 10px; background: var(--bg-soft); }
  .table-wrap.mobil td { border: 0; padding: 3px 0; display: flex; align-items: baseline;
    justify-content: space-between; gap: 14px; text-align: right; }
  .table-wrap.mobil td::before { content: attr(data-label); font-weight: 600; color: var(--ink-soft);
    text-align: left; flex: 0 0 auto; }
  .table-wrap.mobil td[data-label=""] { justify-content: flex-start; padding-top: 8px; }
  .table-wrap.mobil td[data-label=""]::before { content: none; }
  .table-wrap.mobil td.aktionen { display: flex; flex-wrap: wrap; gap: 8px; }
  .table-wrap.mobil td.aktionen form { display: inline-block; }
}

/* ------------------------------------------------------ Helle Darstellung nachschärfen
   Etliche Farben (Markierungen, Knöpfe, gedämpfte Texte) waren für den dunklen
   Hintergrund gedacht. Auf weißem Grund waren sie kaum zu lesen — hier die Werte
   für die helle Darstellung. Diese Datei wird zuletzt geladen und gewinnt daher. */
html[data-theme="hell"] {
  --slate-300: #43536b;
  --slate-400: #5a6a82;
}
html[data-theme="hell"] .badge.green { background: #e4f6ee; color: #0a6b4e; border-color: #b6e0cd; }
html[data-theme="hell"] .badge.amber { background: #fdf3e1; color: #8a5a06; border-color: #efd8a8; }
html[data-theme="hell"] .badge.red   { background: #fdecea; color: #91271f; border-color: #f2c4bf; }
html[data-theme="hell"] .badge.slate { background: #eef2f7; color: #465468; border-color: #dae1eb; }
html[data-theme="hell"] .btn.danger  { background: #fdecea; color: #91271f; border-color: #f2c4bf; }
html[data-theme="hell"] .btn.ghost   { color: var(--ink); border-color: var(--line); }
html[data-theme="hell"] .table-wrap.mobil tr { background: #fff; border-color: var(--line); }
