/* Archiv zum Prüfprotokoll DIN VDE 0100-600 – Fachwerte – v1.1 (27.09.2026)
   Gehört zu vde-0100-600-archiv.js. Eigenständige Klassen (va-*, vad-*),
   Optik wie das Stammdaten-Panel des Blatts. Ohne die Body-Klasse „va-print“
   ändert diese Datei nichts am Druck des Protokolls; mit ihr druckt NUR die
   Druckbühne (.va-druck) auf benannten Seiten va-a4q / va-a5q. */

/* ============ KNÖPFE IN DER KNOPFLEISTE (#ab-slot-archiv) ============ */
.va-slot { display: inline-flex; align-items: center; gap: 6px; position: relative; }
.va-slot:empty { display: none; }
.va-knopf { position: relative; }
.va-badge {
  display: inline-block; min-width: 18px; margin-left: 6px; padding: 0 6px;
  border-radius: 9px; background: #1e40af; color: #fff;
  font-size: 11px; line-height: 17px; text-align: center; font-variant-numeric: tabular-nums;
}
.va-alarm {
  position: absolute; top: -4px; right: -4px; width: 12px; height: 12px;
  border-radius: 50%; background: #dc2626; border: 2px solid #fff;
}
.va-ungesp { color: #d97706; margin-left: 5px; font-size: 11px; line-height: 1; }
.va-badge[hidden], .va-alarm[hidden], .va-ungesp[hidden] { display: none; }
.va-knopf:focus-visible { outline: 2px solid #1e3a8a; outline-offset: 2px; }
/* Rückfall ohne Anker in der Knopfleiste */
.va-slot-frei { position: fixed; left: 12px; bottom: 12px; z-index: 1300; background: #fff; padding: 6px; border-radius: 10px; box-shadow: 0 6px 20px rgba(15,23,42,0.2); }
.va-slot-frei .va-knopf { font: 600 13px/1.2 system-ui, sans-serif; padding: 8px 12px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; cursor: pointer; }

/* Sprechblase unter „Ins Archiv“ (Rückfrage ohne confirm()) */
.va-blase {
  position: absolute; left: 0; top: calc(100% + 8px); z-index: 30; width: min(360px, calc(100vw - 24px));
  background: #fff; color: #111827; border: 1px solid #fcd34d; border-left: 4px solid #f59e0b; border-radius: 10px;
  box-shadow: 0 12px 32px rgba(15,23,42,0.2); padding: 10px 12px; font-size: 13px; line-height: 1.45; white-space: normal; text-align: left;
}
.va-blase[hidden] { display: none; }
.va-blase p { margin: 0 0 8px; }
.va-blase-knoepfe { display: flex; flex-wrap: wrap; gap: 6px; }

.va-toast {
  position: fixed; bottom: 14px; left: 50%; transform: translateX(-50%); z-index: 2100; max-width: calc(100vw - 32px);
  background: #111827; color: #fff; font-size: 12px; padding: 7px 13px; border-radius: 7px;
  opacity: 0; transition: opacity 0.25s; pointer-events: none;
}
.va-toast.an { opacity: 0.94; }

/* ============ PANEL ============ */
.va-panel {
  max-width: 1080px; margin: 15px auto 0; scroll-margin-top: 135px; background: #fff; color: #111;
  border: 1px solid #d1d5db; border-radius: 10px; padding: 18px 22px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08); font-size: 10pt; font-family: inherit; text-align: left;
}
.va-panel[hidden] { display: none; }
.va-panel * { box-sizing: border-box; }
.va-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.va-panel button:focus-visible, .va-panel select:focus-visible, .va-panel input:focus-visible,
.va-panel summary:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }

.va-kopf { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #e5e7eb; }
.va-kopf h2 { color: #1e40af; font-size: 13pt; margin: 0; padding: 0; border: none; text-transform: none; letter-spacing: 0; white-space: nowrap; }
.va-kopf-hinweis { color: #6b7280; font-size: 9pt; flex: 1; }
.va-zu { background: none; border: none; font-size: 20px; color: #6b7280; cursor: pointer; padding: 0 6px; line-height: 1; }
.va-zu:hover { color: #111; }

.va-btn {
  background: #fff; color: #374151; border: 1px solid #d1d5db; padding: 6px 11px; border-radius: 6px;
  font-family: inherit; font-size: 9pt; cursor: pointer; white-space: nowrap; line-height: 1.3;
}
.va-btn:hover { background: #f3f4f6; }
.va-btn.va-primaer { background: #1e40af; color: #fff; border-color: #1e40af; font-weight: 600; }
.va-btn.va-primaer:hover { background: #1e3a8a; }
.va-btn.danger { color: #b91c1c; border-color: #fca5a5; }
.va-btn.danger:hover { background: #fef2f2; }
.va-btn[hidden] { display: none; }

.va-warnung, .va-zurueck {
  display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center;
  font-size: 9pt; border-radius: 6px; padding: 8px 12px; margin-bottom: 12px;
}
.va-warnung { color: #7c2d12; background: #fff7ed; border-left: 3px solid #f97316; }
.va-zurueck { color: #1e3a8a; background: #eff6ff; border-left: 3px solid #93c5fd; }
.va-warnung[hidden], .va-zurueck[hidden] { display: none; }
.va-zurueck { display: block; }
.va-zurueck-titel { font-weight: 700; margin-bottom: 4px; }
.va-zurueck-zeile { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; padding: 3px 0; border-top: 1px solid #dbeafe; }
.va-zurueck-titel + .va-zurueck-zeile { border-top: none; }
.va-zurueck-zeile > span:first-child { flex: 1; min-width: 200px; }

/* Kennzahlen */
.va-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 12px; }
.va-kpi {
  display: block; width: 100%; text-align: left; font-family: inherit;
  border: 1px solid #e5e7eb; border-radius: 8px; padding: 8px 10px; background: #f8fafc; color: inherit;
}
button.va-kpi { cursor: pointer; }
button.va-kpi:hover { background: #f1f5f9; border-color: #cbd5e1; }
.va-kpi[aria-pressed="true"] { border-color: #1e40af; box-shadow: 0 0 0 2px #dbeafe; background: #fff; }
.va-kpi-wert { display: block; font-size: 16pt; font-weight: 700; color: #111827; line-height: 1.15; font-variant-numeric: tabular-nums; }
.va-kpi-label { display: block; font-size: 7.5pt; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; margin-top: 3px; line-height: 1.25; }
.va-kpi-sub { display: block; font-size: 7.5pt; color: #9ca3af; margin-top: 1px; }
.va-kpi.gut .va-kpi-wert { color: #15803d; }
.va-kpi.warn .va-kpi-wert { color: #b45309; }
.va-kpi.schlecht .va-kpi-wert { color: #b91c1c; }

/* Filter */
.va-filter { display: grid; grid-template-columns: 2fr 1.4fr 1.2fr; gap: 10px; margin-bottom: 10px; }
.va-feld label { display: block; font-size: 8pt; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; margin-bottom: 3px; }
.va-feld input, .va-feld select, .va-werkzeuge select {
  width: 100%; padding: 7px 9px; border: 1px solid #d1d5db; border-radius: 4px;
  font-size: 10pt; font-family: inherit; outline: none; background: #fff; color: #111;
}
.va-feld input:focus, .va-feld select:focus { border-color: #1e40af; box-shadow: 0 0 0 2px #dbeafe; }
.va-sort-mobil { display: none; }

/* Werkzeuge (Druck, Export) */
.va-werkzeuge { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 4px 0 10px; }
.va-werkzeuge[hidden] { display: none; }
.va-aktuell { padding: 8px 10px; background: #f8fafc; border: 1px solid #e5e7eb; border-radius: 8px; }
.va-w-titel { font-size: 8pt; color: #1e40af; text-transform: uppercase; letter-spacing: 0.4px; font-weight: 700; margin-right: 2px; }
.va-gruppe { display: inline-flex; flex-wrap: wrap; max-width: 100%; gap: 6px; align-items: center; padding: 3px 3px 3px 10px; border: 1px solid #e5e7eb; border-radius: 6px; background: #fff; }
.va-gruppe label { font-size: 8pt; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; }
.va-werkzeuge select { width: auto; max-width: 200px; padding: 5px 7px; font-size: 9pt; }
.va-trenner { flex: 1; }

.va-meldung { font-size: 9pt; font-weight: 600; color: #15803d; min-height: 1.3em; margin-bottom: 4px; }
.va-meldung.fehler { color: #b91c1c; }
.va-zaehler { font-size: 8.5pt; color: #6b7280; margin-bottom: 6px; }

/* ============ TABELLE ============ */
.va-tabelle-wrap { border: 1px solid #e5e7eb; border-radius: 8px; overflow-x: auto; }
.va-tabelle { width: 100%; border-collapse: collapse; font-size: 8.8pt; }
.va-tabelle th {
  background: #f8fafc; text-align: left; font-size: 7.5pt; color: #6b7280; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.3px; border-bottom: 1px solid #e5e7eb; padding: 0; vertical-align: bottom; line-height: 1.25;
}
.va-tabelle th.va-th-akt, .va-tabelle th.va-th-plain { padding: 7px 6px; }
.va-tabelle th.va-th-akt { text-align: right; }
.va-sort {
  display: block; width: 100%; padding: 7px 6px; background: none; border: none; cursor: pointer;
  font: inherit; color: inherit; text-transform: inherit; letter-spacing: inherit; text-align: left;
}
.va-sort:hover { color: #1e40af; }
th[aria-sort] .va-sort { color: #1e40af; }
th[aria-sort="ascending"] .va-sort::after { content: " ▲"; font-size: 7pt; }
th[aria-sort="descending"] .va-sort::after { content: " ▼"; font-size: 7pt; }
.va-tabelle td { padding: 6px 6px; border-bottom: 1px solid #f1f5f9; vertical-align: top; line-height: 1.35; }
.va-tabelle tr.va-zeile:hover td { background: #fafcff; }
.va-tabelle tr.va-zeile.offen td { background: #f8fafc; border-bottom-color: transparent; }
.va-z-anlage strong { font-weight: 600; color: #111827; }
.va-klein { font-size: 7.5pt; color: #6b7280; }
.va-z-datum { white-space: nowrap; font-variant-numeric: tabular-nums; }
.va-leerwert { color: #cbd5e1; }
.va-rot { color: #b91c1c; }

.va-auf { margin-top: 3px; background: none; border: none; padding: 1px 0; cursor: pointer; font: inherit; font-size: 8pt; color: #1e40af; font-weight: 600; }
.va-auf:hover { text-decoration: underline; }
.va-auf .va-pfeil { display: inline-block; transition: transform 0.15s; }
.va-auf[aria-expanded="true"] .va-pfeil { transform: rotate(90deg); }

.va-chip { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 8pt; font-weight: 600; white-space: nowrap; }
.va-chip.ok { background: #dcfce7; color: #166534; }
.va-chip.mangel { background: #fef3c7; color: #92400e; }
.va-chip.nio { background: #fee2e2; color: #991b1b; }
.va-chip.offen { background: #f1f5f9; color: #64748b; }

.va-faellig { white-space: nowrap; font-variant-numeric: tabular-nums; }
.va-faellig small { display: block; font-size: 7.5pt; font-weight: 600; white-space: normal; max-width: 8em; }
.va-faellig.ueber { color: #b91c1c; font-weight: 700; }
.va-faellig.bald { color: #b45309; font-weight: 600; }
.va-faellig.ok { color: #15803d; }
.va-gesperrt { display: inline-block; padding: 1px 7px; border-radius: 10px; background: #fee2e2; color: #991b1b; font-size: 8pt; font-weight: 700; white-space: nowrap; }

.va-z-hinweise { max-width: 13em; }
.va-hw { display: inline-block; margin: 0 3px 3px 0; padding: 1px 7px; border-radius: 10px; background: #f1f5f9; color: #475569; font-size: 7.8pt; font-weight: 600; }
.va-hw.warn { background: #fef3c7; color: #92400e; }
.va-hw.trend { background: #fee2e2; color: #991b1b; }

.va-z-aktionen { text-align: right; width: 1%; }
.va-akt-stapel { display: inline-grid; gap: 3px; }
.va-akt {
  background: #fff; color: #374151; border: 1px solid #d1d5db; border-radius: 5px;
  padding: 4px 8px; font-family: inherit; font-size: 8.5pt; cursor: pointer; white-space: nowrap;
}
.va-akt:hover { background: #f3f4f6; }
.va-akt.primaer { color: #1e40af; border-color: #93c5fd; }
.va-akt.primaer:hover { background: #eff6ff; }
.va-akt.danger { color: #b91c1c; border-color: #fca5a5; }
.va-akt.danger:hover { background: #fef2f2; }
.va-frage { display: inline-flex; flex-wrap: wrap; gap: 4px; align-items: center; justify-content: flex-end; color: #b91c1c; font-size: 8.5pt; font-weight: 600; }

/* Verlauf einer Anlage */
.va-detail td { background: #f8fafc; padding: 4px 8px 10px; }
.va-verlauf { display: grid; gap: 6px; }
.va-verlauf-titel { font-size: 8pt; font-weight: 700; color: #1e40af; text-transform: uppercase; letter-spacing: 0.4px; }
.va-v-eintrag {
  display: grid; grid-template-columns: 9.5em 1fr; gap: 4px 12px; align-items: start;
  background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 7px 10px;
}
.va-v-eintrag.aktuell { border-color: #93c5fd; }
.va-v-datum { font-weight: 700; font-variant-numeric: tabular-nums; }
.va-v-datum .va-chip { margin-top: 3px; }
.va-v-mitte { font-size: 8.5pt; color: #374151; line-height: 1.45; }
.va-v-maengel { color: #92400e; }
.va-v-akt { grid-column: 2; display: flex; flex-wrap: wrap; gap: 4px; }

.va-trend { margin-top: 8px; background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; padding: 7px 10px; }
.va-trend summary { cursor: pointer; font-size: 8.5pt; font-weight: 600; color: #1e40af; }
.va-trend-hinweise { margin: 6px 0 6px 18px; padding: 0; font-size: 8.5pt; color: #991b1b; }
.va-trend-wrap { overflow-x: auto; margin-top: 6px; }
.va-trend-tab { border-collapse: collapse; font-size: 8pt; min-width: 60%; }
.va-trend-tab th, .va-trend-tab td { padding: 3px 7px; border-bottom: 1px solid #f1f5f9; text-align: left; }
.va-trend-tab th { color: #6b7280; font-weight: 600; font-size: 7.5pt; text-transform: uppercase; }
.va-trend-tab .r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.va-trend-tab tr.warn td { background: #fef2f2; color: #991b1b; font-weight: 600; }
.va-trend p { margin: 6px 0 0; }

.va-leer { text-align: center; color: #6b7280; font-size: 9.5pt; padding: 22px 12px; line-height: 1.5; }
.va-leer[hidden] { display: none; }
.va-leer .va-btn { margin-top: 8px; }

.va-fuss { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 14px; padding-top: 12px; border-top: 1px solid #e5e7eb; }
.va-sicherung { flex: 1; font-size: 8.5pt; color: #6b7280; min-width: 200px; }
.va-sicherung.alt { color: #b45309; font-weight: 600; }

/* ============ SCHMALE BILDSCHIRME ============ */
@media (max-width: 800px) {
  .va-panel { margin: 12px 8px 0; padding: 14px 14px; }
  .va-kpis { grid-template-columns: repeat(3, 1fr); }
  .va-filter { grid-template-columns: 1fr 1fr; }
  .va-f-suche { grid-column: 1 / -1; }
  .va-kopf { flex-wrap: wrap; }
  .va-kopf-hinweis { order: 3; flex-basis: 100%; }
  .va-zu { margin-left: auto; }
}
@media (max-width: 700px) {
  .va-sort-mobil { display: block; }
  .va-tabelle-wrap { border: none; overflow: visible; }
  .va-tabelle > thead { display: none; }
  .va-tabelle, .va-tabelle > tbody { display: block; width: 100%; }
  .va-tabelle > tbody > tr.va-zeile {
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px 12px;
    border: 1px solid #e5e7eb; border-radius: 8px; padding: 10px 12px; margin-top: 8px; background: #fff;
  }
  .va-tabelle > tbody > tr.va-zeile.offen { border-radius: 8px 8px 0 0; border-bottom: none; }
  .va-tabelle > tbody > tr.va-zeile > td { display: block; padding: 0; border: none; background: none !important; }
  .va-tabelle > tbody > tr > td[data-label]::before {
    content: attr(data-label); display: block; font-size: 7pt; color: #9ca3af;
    text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; margin-bottom: 1px;
  }
  .va-tabelle > tbody > tr > td.va-z-anlage { grid-column: 1 / -1; order: -2; font-size: 10pt; }
  .va-tabelle > tbody > tr > td.va-z-anlage::before { display: none; }
  .va-tabelle > tbody > tr > td.va-z-hinweise { grid-column: 1 / -1; max-width: none; }
  .va-tabelle > tbody > tr > td.va-z-aktionen { grid-column: 1 / -1; width: auto; text-align: left; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
  .va-akt { padding: 9px 12px; font-size: 9pt; min-height: 40px; }
  .va-akt-stapel { display: flex; flex-wrap: wrap; gap: 6px; }
  .va-frage { justify-content: flex-start; }
  .va-tabelle > tbody > tr.va-detail { display: block; }
  .va-tabelle > tbody > tr.va-detail > td { display: block; border: 1px solid #e5e7eb; border-top: none; border-radius: 0 0 8px 8px; padding: 6px 10px 10px; }
  .va-v-eintrag { grid-template-columns: 1fr; }
  .va-v-akt { grid-column: 1; }
  .va-btn { padding: 9px 12px; min-height: 40px; }
  .va-werkzeuge select { min-height: 40px; }
}
@media (max-width: 600px) {
  /* Handy: nur „Archiv“ in der Leiste (44 px); „Ins Archiv“ steht im Panel, „ungespeichert“ als Punkt am Archiv-Knopf */
  .va-txt, .va-knopf .va-badge { display: none; }
  .va-slot .va-knopf-ins { display: none; }
  .va-slot.va-ungesp-an .va-knopf-archiv::after {
    content: ""; position: absolute; left: -4px; top: -4px; width: 10px; height: 10px;
    border-radius: 50%; background: #d97706; border: 2px solid #fff;
  }
  .va-blase { position: fixed; left: 12px; right: 12px; top: 120px; width: auto; }
}
@media (max-width: 480px) {
  .va-kpis { grid-template-columns: repeat(2, 1fr); }
  .va-filter { grid-template-columns: 1fr; }
  .va-kpi-wert { font-size: 14pt; }
  .va-gruppe { padding-left: 6px; }
}
/* hidden-Attribut hat Vorrang vor den Karten-Regeln */
.va-tabelle[hidden], .va-tabelle > tbody > tr[hidden] { display: none !important; }

/* ============ DRUCKBÜHNE (nur mit body.va-print) ============ */
.va-druck { display: none; }

/* Benannte Seiten; Randfelder setzt das Skript je Druck zusätzlich (Kopfzeile mit Prot.-Nr.). */
@page va-a4q {
  size: A4 landscape;
  margin: 11mm 10mm 12mm;
  @top-left { content: none; } @top-center { content: none; } @top-right { content: none; } @bottom-center { content: none; }
  @bottom-left { content: "Archiv Anlagenprüfung · erstellt mit Fachwerte"; font-size: 7pt; color: #9ca3af; }
  @bottom-right { content: "Seite " counter(page) " von " counter(pages); font-size: 7pt; color: #6b7280; }
}
@page va-a5q {
  size: A5 landscape;
  margin: 7mm 8mm 9mm;
  @top-left { content: none; } @top-center { content: none; } @top-right { content: none; } @bottom-center { content: none; }
  @bottom-left { content: "Stromkreisverzeichnis · erstellt mit Fachwerte"; font-size: 6.5pt; color: #9ca3af; }
  @bottom-right { content: "Seite " counter(page) " von " counter(pages); font-size: 6.5pt; color: #6b7280; }
}

@media print {
  /* Beim normalen Protokolldruck erscheint nichts vom Archiv */
  .va-panel, .va-slot, .va-blase, .va-toast { display: none !important; }
  /* Archivdruck: nur die Druckbühne */
  body.va-print > *:not(.va-druck) { display: none !important; }
  body.va-print { background: #fff !important; margin: 0 !important; padding: 0 !important; }
  body.va-print .va-druck { display: block !important; }
  body.va-print .va-druck[data-seite="a4q"] { page: va-a4q; }
  body.va-print .va-druck[data-seite="a5q"] { page: va-a5q; }
  body.va-print .va-druck * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

.va-druck { font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; font-size: 8pt; color: #111; line-height: 1.35; text-align: left; }
.va-druck * { box-sizing: border-box; }
.va-druck h1, .va-druck h2, .va-druck p { margin: 0; padding: 0; border: none; text-transform: none; letter-spacing: 0; }
.vad-kopf { display: flex; align-items: flex-end; gap: 6mm; border-bottom: 2px solid #1e40af; padding-bottom: 2mm; margin-bottom: 3mm; }
.vad-logo { width: 32mm; height: 14mm; display: flex; align-items: center; flex-shrink: 0; }
.vad-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.vad-titel { flex: 1; }
.vad-titel h1 { font-size: 14pt; font-weight: 700; color: #1e40af; line-height: 1.15; }
.vad-unter { font-size: 8pt; color: #4b5563; margin-top: 0.8mm; }
.vad-firma { text-align: right; font-size: 8pt; color: #374151; line-height: 1.4; }
.vad-firma strong { font-size: 9pt; color: #111; }

.vad-info { display: grid; gap: 0; border: 0.5pt solid #9ca3af; margin-bottom: 3mm; }
.vad-info > div { padding: 1.5mm 2mm; border-right: 0.5pt solid #d1d5db; min-width: 0; }
.vad-info > div:last-child { border-right: none; }
.vad-l { display: block; font-size: 6.3pt; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; }
.vad-w { display: block; font-size: 8.5pt; font-weight: 600; overflow-wrap: anywhere; }

.vad-kpis { display: flex; gap: 2mm; margin-bottom: 3mm; }
.vad-kpi { flex: 1; border: 0.5pt solid #d1d5db; border-radius: 1.5mm; padding: 1.3mm 2mm; }
.vad-kpi b { display: block; font-size: 12pt; font-variant-numeric: tabular-nums; }
.vad-kpi b .vad-erg { font-size: 10pt; }
.vad-kpi span { font-size: 6.5pt; color: #6b7280; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; }
.vad-kpi.gut b { color: #15803d; } .vad-kpi.warn b { color: #b45309; } .vad-kpi.schlecht b { color: #b91c1c; }

.vad-tab { width: 100%; border-collapse: collapse; font-size: 7.3pt; margin-bottom: 3mm; }
.vad-tab thead { display: table-header-group; }
.vad-tab th {
  background: #eff6ff; color: #1e3a8a; font-weight: 700; text-align: left; font-size: 6.6pt;
  text-transform: uppercase; letter-spacing: 0.2px; padding: 1.2mm 1.3mm; border: 0.5pt solid #9ca3af;
}
.vad-tab th sub, .vad-tab td sub { text-transform: none; }
.vad-tab tr.vad-tkopf th { background: #1e40af; color: #fff; font-size: 7pt; text-transform: none; letter-spacing: 0; }
.vad-tab td { padding: 0.9mm 1.3mm; border: 0.5pt solid #d1d5db; vertical-align: top; overflow-wrap: break-word; }
/* Messwert-Tabellen: Einheiten (mA, ms, MΩ) nicht in Großbuchstaben setzen */
.vad-mess th { text-transform: none; font-size: 6.9pt; letter-spacing: 0; }
.vad-tab tr { break-inside: avoid; page-break-inside: avoid; }
.vad-tab tbody tr:nth-child(even) td { background: #f9fafb; }
.vad-tab .r { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.vad-tab .nw { white-space: nowrap; }
.vad-tab .k { color: #4b5563; font-size: 6.6pt; }
.vad-tab tr.vad-mangel td { background: #fffbeb !important; }
.vad-tab tr.vad-nio td { background: #fef2f2 !important; }
.vad-b { font-weight: 700; }
.vad-b.io { color: #15803d; } .vad-b.nio { color: #b91c1c; } .vad-b.offen { color: #6b7280; font-weight: 600; } .vad-b.entfaellt { color: #6b7280; font-weight: 400; }
.vad-erg { font-weight: 700; white-space: nowrap; }
.vad-erg.ok { color: #15803d; } .vad-erg.mangel { color: #b45309; } .vad-erg.nio { color: #b91c1c; } .vad-erg.offen { color: #6b7280; }
.vad-rot { color: #b91c1c; font-weight: 700; }
.vad-gelb { color: #b45309; font-weight: 700; }

.vad-verteiler { margin-bottom: 2mm; }
.vad-verteiler h2, .vad-abschnitt h2 { font-size: 10pt; color: #1e40af; margin-bottom: 1.5mm; break-after: avoid; page-break-after: avoid; }
.vad-verteiler h2 small { font-size: 7.5pt; color: #4b5563; font-weight: 400; margin-left: 2mm; }
.vad-abschnitt { margin-top: 2mm; margin-bottom: 3mm; }
.vad-text { font-size: 7.5pt; border: 0.5pt solid #d1d5db; padding: 1.5mm 2mm; white-space: pre-wrap; margin-bottom: 3mm; }
.vad-hinweis { font-size: 7.3pt; color: #374151; border: 0.5pt solid #d1d5db; border-left: 2pt solid #93c5fd; padding: 1.8mm 2.5mm; line-height: 1.45; break-inside: avoid; page-break-inside: avoid; }
.vad-legende { font-size: 6.8pt; color: #4b5563; margin: 1mm 0 2mm; }
.vad-leer { font-size: 8pt; color: #6b7280; padding: 2mm 0; }
.vad-unterschriften { display: grid; grid-template-columns: 1fr 1fr; gap: 12mm; margin-top: 12mm; break-inside: avoid; page-break-inside: avoid; }
.vad-unterschrift { border-top: 0.5pt solid #111; padding-top: 1mm; font-size: 7pt; color: #4b5563; }
.vad-unterschrift strong { color: #111; font-size: 7.5pt; }

/* Stromkreisverzeichnis für die Verteilertür */
.vad-vz.neue-seite { break-before: page; page-break-before: always; }
.vad-vz-kopf { display: flex; align-items: stretch; gap: 4mm; border-bottom: 2pt solid #111; padding-bottom: 1.5mm; margin-bottom: 1.5mm; }
.vad-vz-kopf .vad-logo { height: auto; max-height: 14mm; width: 26mm; }
.vad-vz-titel { flex: 1; min-width: 0; }
.vad-vz-art { font-size: 7pt; text-transform: uppercase; letter-spacing: 0.6px; color: #4b5563; font-weight: 700; }
.vad-vz-titel h1 { font-size: 15pt; font-weight: 800; color: #111; line-height: 1.1; overflow-wrap: anywhere; }
.vad-vz-objekt { font-size: 8.5pt; color: #374151; margin-top: 0.8mm; overflow-wrap: anywhere; }
.vad-vz-pruef { display: grid; grid-template-columns: auto; gap: 0.6mm; align-content: end; text-align: right; font-size: 7.5pt; }
.vad-vz-pruef span { color: #6b7280; margin-right: 1.5mm; font-size: 6.5pt; text-transform: uppercase; letter-spacing: 0.3px; font-weight: 600; }
.vad-vz-pruef b { font-size: 8.5pt; }
.vad-vz-daten { font-size: 7.2pt; color: #374151; margin-bottom: 1.5mm; }
.vad-vz-tab { width: 100%; border-collapse: collapse; font-size: 8.3pt; }
.vad-vz-tab thead { display: table-header-group; }
.vad-vz-tab th { text-align: left; font-size: 6.8pt; text-transform: uppercase; letter-spacing: 0.3px; color: #374151; background: #f3f4f6; border: 0.6pt solid #6b7280; padding: 1mm 1.5mm; }
.vad-vz-tab td { border: 0.6pt solid #6b7280; padding: 0.55mm 1.5mm; vertical-align: top; overflow-wrap: break-word; line-height: 1.22; }
.vad-vz-tab tr { break-inside: avoid; page-break-inside: avoid; }
.vad-vz-tab .nw { white-space: nowrap; }
.va-druck[data-seite="a4q"] .vad-vz-tab { font-size: 10pt; }
.va-druck[data-seite="a4q"] .vad-vz-tab td { padding: 1.1mm 2mm; }
.va-druck[data-seite="a4q"] .vad-vz-titel h1 { font-size: 22pt; }
.vad-vz-rcd { font-size: 7pt; margin-top: 1.2mm; color: #111; break-before: avoid; page-break-before: avoid; }
.vad-vz-fuss { font-size: 6.3pt; color: #6b7280; margin-top: 0.8mm; break-before: avoid; page-break-before: avoid; }
