.bericht-ansicht :root {--akzent: #1A5A96;
  --akzent-dunkel: #134470;
  --akzent-hell: #E8F0F8;
  --text: #1C242C;
  --text-gedeckt: #55606B;
  --rand: #D8DFE6;
  --flaeche-alt: #F4F6F9;
  --gruen: #1E7A3C;
  --gelb: #C77700;
  --rot: #B3261E;}
.bericht-ansicht * {box-sizing: border-box; margin: 0; padding: 0;}
.bericht-ansicht, .bericht-ansicht {font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: var(--text);
  font-size: 10.5pt;
  line-height: 1.5;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;}
.bericht-ansicht .b-seite {width: 210mm;
  height: 297mm;
  position: relative;
  overflow: hidden;
  padding: 14mm 16mm 22mm;
  page-break-after: always;
  background: #fff;}
.bericht-ansicht .b-seite:last-of-type {page-break-after: auto;}
.bericht-ansicht .b-wasserzeichen {position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-32deg);
  font-size: 92pt;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: rgba(84, 96, 107, 0.09);
  pointer-events: none;
  z-index: 2;}
.bericht-ansicht .b-seiten-kopf {display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid var(--akzent);
  padding-bottom: 3mm;
  margin-bottom: 8mm;}
.bericht-ansicht .b-wortmarke {display: inline-flex;
  align-items: center;
  gap: 2.2mm;
  font-weight: 700;
  font-size: 10pt;
  color: var(--akzent-dunkel);}
.bericht-ansicht .ampel-mini {display: inline-flex;
  gap: 0.8mm;
  background: var(--akzent);
  border-radius: 1.5mm;
  padding: 1.2mm 1.4mm;}
.bericht-ansicht .ampel-mini i {width: 1.8mm;
  height: 1.8mm;
  border-radius: 50%;
  display: block;}
.bericht-ansicht .ampel-mini i:nth-child(1) {background: #6FCF8E;}
.bericht-ansicht .ampel-mini i:nth-child(2) {background: #F2C14E;}
.bericht-ansicht .ampel-mini i:nth-child(3) {background: #EB8079;}
.bericht-ansicht .b-muster-badge {font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--rot);
  border: 1.2pt solid var(--rot);
  border-radius: 1.5mm;
  padding: 1mm 2.5mm;
  text-transform: uppercase;}
.bericht-ansicht .b-muster-badge:empty {display: none;}
.bericht-ansicht .b-seiten-fuss {position: absolute;
  left: 16mm;
  right: 16mm;
  bottom: 10mm;
  display: flex;
  justify-content: space-between;
  font-size: 7.5pt;
  color: var(--text-gedeckt);
  border-top: 0.5pt solid var(--rand);
  padding-top: 2mm;}
.bericht-ansicht .b-dokument-titel {font-size: 22pt;
  line-height: 1.15;
  color: var(--akzent-dunkel);
  margin-bottom: 1mm;}
.bericht-ansicht .b-dokument-untertitel {color: var(--text-gedeckt);
  font-size: 11pt;
  margin-bottom: 7mm;}
.bericht-ansicht h2 {font-size: 14pt;
  color: var(--akzent-dunkel);
  display: flex;
  align-items: center;
  gap: 3mm;
  margin: 7mm 0 3.5mm;}
.bericht-ansicht .b-abschnitt-nr {display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 7mm;
  height: 7mm;
  border-radius: 50%;
  background: var(--akzent);
  color: #fff;
  font-size: 10.5pt;
  flex-shrink: 0;}
.bericht-ansicht h3 {font-size: 10.5pt;}
.bericht-ansicht .b-einleitung {color: var(--text-gedeckt); margin-bottom: 4mm;}
.bericht-ansicht .b-datenstand {margin-top: 4mm;
  font-size: 8pt;
  color: var(--text-gedeckt);}
.bericht-ansicht .b-objekt-tabelle {width: 100%;
  border-collapse: collapse;
  font-size: 9pt;
  margin-bottom: 2mm;}
.bericht-ansicht .b-objekt-tabelle th, .bericht-ansicht .b-objekt-tabelle td {border: 0.5pt solid var(--rand);
  padding: 2mm 3mm;
  text-align: left;
  vertical-align: top;}
.bericht-ansicht .b-objekt-tabelle th {background: var(--flaeche-alt);
  color: var(--text-gedeckt);
  font-weight: 600;
  width: 17%;
  white-space: nowrap;}
.bericht-ansicht .b-ergebnis-block {display: flex;
  gap: 8mm;
  align-items: center;
  background: var(--akzent-hell);
  border-radius: 3mm;
  padding: 7mm;
  margin-bottom: 6mm;}
.bericht-ansicht .b-ampel-grossanzeige {display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5mm;
  flex-shrink: 0;
  min-width: 34mm;}
.bericht-ansicht .b-ampel-kreis {width: 22mm;
  height: 22mm;
  border-radius: 50%;
  border: 1.5mm solid #fff;}
.bericht-ansicht .b-ampel-kreis.b-gruen {background: var(--gruen);}
.bericht-ansicht .b-ampel-kreis.gelb {background: var(--gelb);}
.bericht-ansicht .b-ampel-kreis.rot {background: var(--rot);}
.bericht-ansicht .b-ampel-text {font-weight: 700;
  font-size: 10pt;
  text-align: center;}
.bericht-ansicht .b-kernaussage {font-size: 11pt; line-height: 1.55;}
.bericht-ansicht .b-weg-box {border: 0.5pt solid var(--akzent);
  border-left: 1.2mm solid var(--akzent);
  border-radius: 0 2mm 2mm 0;
  background: var(--akzent-hell);
  padding: 3.5mm 4.5mm;
  margin-bottom: 5mm;}
.bericht-ansicht .b-weg-titel {font-size: 10.5pt; margin-bottom: 1.5mm;}
.bericht-ansicht .b-weg-titel span {font-weight: 400; color: var(--text-gedeckt);}
.bericht-ansicht .b-weg-box p:last-child {font-size: 9.5pt;}
.bericht-ansicht .b-uebersicht-titel {margin-bottom: 2.5mm; color: var(--text-gedeckt);}
.bericht-ansicht .b-uebersicht-liste {list-style: none;}
.bericht-ansicht .b-uebersicht-liste li {display: flex;
  align-items: center;
  gap: 3mm;
  border-bottom: 0.5pt solid var(--rand);
  padding: 2.2mm 1mm;
  font-size: 9.5pt;}
.bericht-ansicht .b-uebersicht-liste li strong {flex: 1; font-weight: 600;}
.bericht-ansicht .b-uebersicht-liste li em {font-style: normal; color: var(--text-gedeckt);}
.bericht-ansicht .b-punkt {width: 3.5mm;
  height: 3.5mm;
  border-radius: 50%;
  flex-shrink: 0;}
.bericht-ansicht .b-punkt.b-gruen {background: var(--gruen);}
.bericht-ansicht .b-punkt.gelb {background: var(--gelb);}
.bericht-ansicht .b-punkt.rot {background: var(--rot);}
.bericht-ansicht .b-pruefpunkt {border: 0.5pt solid var(--rand);
  border-left: 1.2mm solid var(--akzent);
  border-radius: 0 2mm 2mm 0;
  padding: 3.5mm 4.5mm;
  margin-bottom: 4mm;}
.bericht-ansicht .b-pruefpunkt-kopf {display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 4mm;
  margin-bottom: 1.5mm;}
.bericht-ansicht .status {font-size: 8pt;
  font-weight: 700;
  padding: 0.8mm 2.5mm;
  border-radius: 5mm;
  white-space: nowrap;
  color: #fff;}
.bericht-ansicht .status.b-gruen {background: var(--gruen);}
.bericht-ansicht .status.gelb {background: var(--gelb);}
.bericht-ansicht .status.rot {background: var(--rot);}
.bericht-ansicht .b-pruefpunkt p {font-size: 9.5pt;}
.bericht-ansicht .b-quelle {margin-top: 1.5mm;
  font-size: 8pt !important;
  color: var(--text-gedeckt);
  font-style: italic;}
.bericht-ansicht .b-delta-tabelle {width: 100%;
  border-collapse: collapse;
  margin-bottom: 4mm;}
.bericht-ansicht .b-delta-tabelle th, .bericht-ansicht .b-delta-tabelle td {border: 0.5pt solid var(--rand);
  padding: 2.6mm 3mm;
  text-align: left;
  font-size: 10pt;}
.bericht-ansicht .b-delta-tabelle thead th {background: var(--akzent);
  color: #fff;
  font-weight: 600;}
.bericht-ansicht .b-delta-tabelle tbody th {background: var(--flaeche-alt);
  font-weight: 600;
  width: 34%;}
.bericht-ansicht .b-delta-tabelle .delta-spalte {background: var(--akzent-hell);
  color: var(--akzent-dunkel);
  font-weight: 700;
  width: 18%;}
.bericht-ansicht .b-delta-tabelle thead .delta-spalte {background: var(--akzent-dunkel); color: #fff;}
.bericht-ansicht .delta-fazit {background: var(--akzent);
  color: #fff;
  border-radius: 2mm;
  padding: 4mm 5mm;
  font-size: 11.5pt;
  font-weight: 600;
  text-align: center;
  margin-bottom: 3mm;}
.bericht-ansicht .b-annahmen {font-size: 8pt;
  color: var(--text-gedeckt);}
.bericht-ansicht .b-wert-block {text-align: center;
  border: 0.5pt solid var(--rand);
  border-radius: 2mm;
  padding: 4.5mm;
  margin-bottom: 3.5mm;
  background: var(--flaeche-alt);}
.bericht-ansicht .b-wert-spanne {font-size: 17pt;
  font-weight: 700;
  color: var(--akzent-dunkel);}
.bericht-ansicht .wert-label {font-size: 8.5pt; color: var(--text-gedeckt);}
.bericht-ansicht .b-fahrplan {list-style: none;
  counter-reset: schritt;
  margin-bottom: 4mm;}
.bericht-ansicht .b-fahrplan li {counter-increment: schritt;
  position: relative;
  padding: 0 0 5mm 14mm;}
.bericht-ansicht .b-fahrplan li::before {content: counter(schritt);
  position: absolute;
  left: 0;
  top: 0;
  width: 9mm;
  height: 9mm;
  border-radius: 50%;
  background: var(--akzent);
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11pt;}
.bericht-ansicht .b-fahrplan li:not(:last-child)::after {content: "";
  position: absolute;
  left: 4.4mm;
  top: 10mm;
  bottom: 0;
  width: 0.4mm;
  background: var(--rand);}
.bericht-ansicht .b-fahrplan h3 {margin-bottom: 1mm;}
.bericht-ansicht .b-fahrplan p {font-size: 9.5pt; color: var(--text-gedeckt);}
.bericht-ansicht .b-disclaimer {border: 0.5pt solid var(--rand);
  border-radius: 2mm;
  padding: 4mm 5mm;
  font-size: 8.5pt;
  color: var(--text-gedeckt);}
.bericht-ansicht .b-disclaimer p + p {margin-top: 2mm;}
.bericht-ansicht .muster-hinweis {margin-top: 3.5mm;
  border: 1.2pt dashed var(--rot);
  border-radius: 2mm;
  padding: 3.5mm 5mm;
  font-size: 8.5pt;
  color: var(--rot);
  font-weight: 600;}
.bericht-ansicht .muster-hinweis:empty {display: none;}
.bericht-ansicht .kontakt {margin-top: 4mm;
  font-size: 9pt;
  color: var(--text-gedeckt);}
.bericht-ansicht .b-tafel {display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border: 0.5pt solid var(--rand);
  border-radius: 2pt;
  overflow: hidden;
  margin-bottom: 5mm;}
.bericht-ansicht .b-tafel-feld {padding: 2.6mm 3mm;
  border-right: 0.5pt solid var(--rand);
  border-bottom: 0.5pt solid var(--rand);
  background: #fff;}
.bericht-ansicht .b-tafel-feld:nth-child(3n) {border-right: none;}
.bericht-ansicht .b-tafel-label {font-size: 7.4pt;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-gedeckt);
  margin-bottom: 0.6mm;}
.bericht-ansicht .b-tafel-wert {font-size: 12pt; font-weight: 600; color: var(--akzent-dunkel);}
.bericht-ansicht .b-tafel-wert.offen {font-size: 9.5pt; font-weight: 400; color: var(--gelb);}
.bericht-ansicht .b-tafel-quelle {font-size: 7pt; color: var(--text-gedeckt); margin-top: 0.6mm;}
.bericht-ansicht .b-balken-gruppe {margin-bottom: 4.5mm;}
.bericht-ansicht .b-balken-kopf {display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 1.2mm;}
.bericht-ansicht .b-balken-name {font-size: 9.5pt; font-weight: 600;}
.bericht-ansicht .balken-hinweis {font-size: 8pt; color: var(--text-gedeckt);}
.bericht-ansicht .b-balken-zeile {display: flex; align-items: center; gap: 2.5mm; margin-bottom: 1.2mm;}
.bericht-ansicht .b-balken-legende {width: 34mm;
  font-size: 8.2pt;
  color: var(--text-gedeckt);
  text-align: right;
  flex-shrink: 0;}
.bericht-ansicht .b-balken-schiene {display: block;
  flex: 1;
  height: 5.4mm;
  background: var(--flaeche-alt);
  border-radius: 1pt;
  position: relative;}
.bericht-ansicht .b-balken-fuellung {display: block;      
  height: 100%;
  border-radius: 1pt;
  background: var(--akzent);
  min-width: 0.4mm;}
.bericht-ansicht .b-balken-fuellung.b-bestand {background: var(--text-gedeckt);}
.bericht-ansicht .b-balken-fuellung.b-umgebung {background: var(--akzent);}
.bericht-ansicht .b-balken-wert {width: 22mm;
  font-size: 9pt;
  font-weight: 600;
  flex-shrink: 0;
  color: var(--akzent-dunkel);}
.bericht-ansicht .b-ausnutzung {display: flex;
  align-items: center;
  gap: 5mm;
  padding: 3.5mm 4mm;
  border: 0.5pt solid var(--rand);
  border-left: 2.5pt solid var(--akzent);
  background: var(--flaeche-alt);
  border-radius: 2pt;
  margin-bottom: 5mm;}
.bericht-ansicht .b-ausnutzung-zahl {font-size: 26pt;
  font-weight: 700;
  line-height: 1;
  color: var(--akzent-dunkel);
  flex-shrink: 0;}
.bericht-ansicht .b-ausnutzung-text {font-size: 9.5pt;}
.bericht-ansicht .b-ausnutzung-text strong {display: block; font-size: 11pt; margin-bottom: 0.8mm;}
.bericht-ansicht .b-band {border: 0.5pt solid var(--rand);
  border-radius: 2pt;
  overflow: hidden;
  margin-bottom: 4mm;}
.bericht-ansicht .b-band-kopf {background: var(--akzent);
  color: #fff;
  padding: 2.2mm 3mm;
  font-size: 9pt;
  font-weight: 600;}
.bericht-ansicht .b-band-reihe {display: grid; grid-template-columns: repeat(3, 1fr);}
.bericht-ansicht .b-band-zelle {padding: 3mm;
  border-right: 0.5pt solid var(--rand);
  text-align: center;}
.bericht-ansicht .b-band-zelle:last-child {border-right: none;}
.bericht-ansicht .b-band-zelle .b-label {font-size: 7.4pt;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-gedeckt);
  margin-bottom: 1mm;}
.bericht-ansicht .b-band-zelle .b-wert {font-size: 12.5pt; font-weight: 700; color: var(--akzent-dunkel);}
.bericht-ansicht .b-regel {font-size: 8pt;
  color: var(--text-gedeckt);
  padding: 2.2mm 3mm;
  background: var(--flaeche-alt);
  border-top: 0.5pt solid var(--rand);}
.bericht-ansicht .b-szenario {border: 0.5pt solid var(--rand);
  border-radius: 2pt;
  padding: 3.2mm 3.6mm;
  margin-bottom: 3.2mm;
  page-break-inside: avoid;}
.bericht-ansicht .b-szenario h3 {font-size: 10.5pt;
  color: var(--akzent-dunkel);
  margin-bottom: 1.2mm;}
.bericht-ansicht .b-szenario-leit {font-size: 9pt; color: var(--text-gedeckt); margin-bottom: 2.4mm;}
.bericht-ansicht .b-szenario-zahlen {display: flex;
  gap: 0;
  border-top: 0.5pt solid var(--rand);
  border-bottom: 0.5pt solid var(--rand);
  margin-bottom: 2.2mm;}
.bericht-ansicht .b-szenario-zahl {flex: 1; padding: 2mm 0; text-align: center;}
.bericht-ansicht .b-szenario-zahl .b-label {font-size: 7.2pt;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-gedeckt);}
.bericht-ansicht .b-szenario-zahl .b-wert {font-size: 11pt; font-weight: 600; color: var(--akzent-dunkel);}
.bericht-ansicht .b-szenario-hinweis {font-size: 8.2pt; color: var(--text-gedeckt);}
.bericht-ansicht .b-konf {display: inline-block;
  font-size: 7.2pt;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.5mm 1.8mm;
  border-radius: 1pt;
  border: 0.6pt solid;}
.bericht-ansicht .b-konf.b-hoch {color: var(--gruen); border-color: var(--gruen);}
.bericht-ansicht .b-konf.b-mittel {color: var(--gelb);  border-color: var(--gelb);}
.bericht-ansicht .b-konf.offen {color: var(--rot);   border-color: var(--rot);}
.bericht-ansicht .b-datenlage {display: flex; align-items: center; gap: 3mm; margin-top: 3mm;}
.bericht-ansicht .b-datenlage-punkte {display: flex; gap: 1.2mm;}
.bericht-ansicht .b-datenlage-punkt {width: 7mm;
  height: 2.4mm;
  border-radius: 1pt;
  background: var(--rand);}
.bericht-ansicht .b-datenlage-punkt.b-hoch {background: var(--gruen);}
.bericht-ansicht .b-datenlage-punkt.b-mittel {background: var(--gelb);}
.bericht-ansicht .b-datenlage-punkt.offen {background: var(--rot);}
.bericht-ansicht .b-datenlage-text {font-size: 8.2pt; color: var(--text-gedeckt);}
.bericht-ansicht .b-quellen {font-size: 8.2pt;}
.bericht-ansicht .b-quellen-zeile {display: flex;
  gap: 3mm;
  padding: 1.4mm 0;
  border-bottom: 0.4pt solid var(--rand);}
.bericht-ansicht .b-quellen-zeile:last-child {border-bottom: none;}
.bericht-ansicht .b-quellen-thema {width: 36mm; flex-shrink: 0; font-weight: 600;}
.bericht-ansicht .b-quellen-wert {flex: 1; color: var(--text-gedeckt); word-break: break-word;}
.bericht-ansicht .b-negativ {border: 0.5pt solid var(--gelb);
  border-left: 2.5pt solid var(--gelb);
  background: #FDF8F0;
  border-radius: 2pt;
  padding: 3mm 3.6mm;
  margin-bottom: 4mm;}
.bericht-ansicht .b-negativ h3 {color: var(--gelb); font-size: 10pt; margin-bottom: 1.6mm;}
.bericht-ansicht .b-negativ ul {margin: 0; padding-left: 4.5mm;}
.bericht-ansicht .b-negativ li {font-size: 8.6pt; margin-bottom: 1mm;}
.bericht-ansicht .zwei-spalten {display: grid; grid-template-columns: 1fr 1fr; gap: 5mm;}
.bericht-ansicht .mini-titel {font-size: 8pt;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--text-gedeckt);
  margin-bottom: 1.6mm;
  padding-bottom: 0.8mm;
  border-bottom: 0.5pt solid var(--rand);}
.bericht-ansicht .b-ergebnis-block {padding: 5.5mm; gap: 6mm;}
.bericht-ansicht .b-uebersicht-liste li {padding: 1.7mm 1mm; font-size: 9.2pt;}
.bericht-ansicht .b-pruefpunkt {padding: 2.8mm 4mm; margin-bottom: 2.8mm;}
.bericht-ansicht .b-pruefpunkt-kopf {margin-bottom: 1.1mm; gap: 3mm; flex-wrap: wrap;}
.bericht-ansicht .b-pruefpunkt p {font-size: 9.3pt;}
.bericht-ansicht .b-pruefpunkt .b-quelle {margin-top: 1mm;}
.bericht-ansicht .b-weg-box {padding: 3.2mm 4mm;}
.bericht-ansicht .b-szenario {padding: 2.8mm 3.4mm; margin-bottom: 2.8mm;}
.bericht-ansicht .b-ausnutzung {padding: 3mm 3.6mm; margin-bottom: 4mm;}
.bericht-ansicht .b-objekt-tabelle th, .bericht-ansicht .b-objekt-tabelle td {padding: 1.6mm 2.5mm;}
.bericht-ansicht .b-dokument-titel {margin-bottom: 1mm;}
.bericht-ansicht .b-dokument-untertitel {margin-bottom: 4mm;}
.bericht-ansicht .b-uebersicht-titel {margin-top: 4mm;}
.bericht-ansicht .b-datenstand {margin-top: 2.5mm;}
.bericht-ansicht .b-szenario.b-entfaellt {background: var(--flaeche-alt); border-style: dashed;}
.bericht-ansicht .b-szenario.b-entfaellt h3 {color: var(--text-gedeckt);}
.bericht-ansicht .b-szenario.ueber-massstab {border-left: 2.5pt solid var(--gelb);}
.bericht-ansicht .b-szenario.ueber-massstab .b-szenario-hinweis {color: #8A5200;}
.bericht-ansicht .zeichnung {border: 0.5pt solid var(--rand);
  border-radius: 2pt;
  overflow: hidden;
  margin: 0 auto 1.6mm;}
.bericht-ansicht .zeichnung svg {display: block; width: 100%; height: auto;}
.bericht-ansicht .zeichnung.plan {max-width: 88mm;}
.bericht-ansicht .zeichnung.iso {max-width: 138mm;}
.bericht-ansicht .bild-unterschrift {font-size: 8.2pt;
  color: var(--text-gedeckt);
  margin-bottom: 4mm;
  line-height: 1.45;}
.bericht-ansicht .bild-unterschrift strong {color: var(--akzent-dunkel);}
.bericht-ansicht .b-fach-gruppe {display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: 9pt;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: var(--akzent-dunkel);
  border-bottom: 1pt solid var(--akzent);
  padding-bottom: 0.8mm;
  margin: 3.2mm 0 1.4mm;}
.bericht-ansicht .b-fach-gruppe:first-child {margin-top: 0;}
.bericht-ansicht .b-fach-zaehler {font-size: 7.4pt;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text-gedeckt);
  font-weight: 400;}
.bericht-ansicht .b-fach-liste {display: block;}
.bericht-ansicht .b-fach-zeile {display: flex;
  gap: 3mm;
  padding: 1.1mm 0;
  border-bottom: 0.4pt solid var(--rand);
  page-break-inside: avoid;}
.bericht-ansicht .b-fach-zeile:last-child {border-bottom: none;}
.bericht-ansicht .b-fach-label {width: 44mm;
  flex-shrink: 0;
  font-size: 8.2pt;
  color: var(--text-gedeckt);
  line-height: 1.35;}
.bericht-ansicht .b-fach-wert {flex: 1; font-size: 8.6pt; line-height: 1.35;}
.bericht-ansicht .b-fach-wert strong {color: var(--text); font-weight: 600;}
.bericht-ansicht .b-fach-erkl {display: block;
  font-size: 7.6pt;
  color: var(--text-gedeckt);
  line-height: 1.32;}
.bericht-ansicht .b-fach-quelle {display: block;
  font-size: 7pt;
  color: var(--text-gedeckt);
  opacity: 0.85;}
.bericht-ansicht .b-fach-zeile.leer .b-fach-label, .bericht-ansicht .b-fach-zeile.leer .b-fach-wert {color: #8A94A0;}
.bericht-ansicht .b-fach-zeile.leer .b-fach-wert em {font-style: normal;}
.bericht-ansicht .zeichnung img {display: block; width: 100%; height: auto;}
.bericht-ansicht .b-kernaussage.lang {font-size: 10pt; line-height: 1.45;}
.bericht-ansicht .b-kernaussage.sehr-lang {font-size: 9.2pt; line-height: 1.4;}
.bericht-ansicht .b-seite h2 {margin: 5.5mm 0 3mm;}
.bericht-ansicht .b-einleitung {margin-bottom: 3mm;}
.bericht-ansicht .b-annahmen + p {margin-top: 3mm;}
/* --- Für den Bildschirm: fließende Seiten statt A4 ----------------------- */
.bericht-ansicht { padding: 4px 0 8px; }
.bericht-ansicht .b-seite {
  width: 100%; max-width: 210mm; height: auto; min-height: 0; overflow: visible;
  margin: 0 auto 22px; padding: 10mm 10mm 10mm; box-sizing: border-box;
  border: 1px solid var(--rand); border-radius: 6px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.07); page-break-after: auto;
}
.bericht-ansicht .b-seiten-fuss {
  position: static; margin-top: 8mm; padding-top: 2mm; border-top: 1px solid var(--rand);
}
.bericht-ansicht .b-wasserzeichen { font-size: 64pt; }
.bericht-ansicht :is(h2, h3, h4, p, ul, ol, li, table, th, td, strong, em, span, div, figcaption) {
  font-family: inherit;
}
.bericht-ansicht :is(h2, h3, h4, p, ul, ol) { max-width: none; }
.bericht-ansicht table { width: 100%; }
@media (max-width: 640px) {
  .bericht-ansicht .b-seite { padding: 6mm 4mm 8mm; overflow-x: auto; }
  .bericht-ansicht .b-tafel, .bericht-ansicht .b-band-reihe,
  .bericht-ansicht .b-zwei-spalten { grid-template-columns: 1fr 1fr; }
  .bericht-ansicht .b-wasserzeichen { font-size: 40pt; }
  /* Flex-Zeilen dürfen umbrechen, Tabellenzellen auch – sonst läuft die
     Objekttabelle (vier Spalten) aus der Karte heraus. */
  .bericht-ansicht :is(.b-ergebnis-block, .b-ampel-grossanzeige, .b-quellen-zeile,
    .b-datenlage, .b-seiten-kopf, .b-balken-zeile, .b-ausnutzung) { flex-wrap: wrap; }
  .bericht-ansicht :is(div, p, span, td, th) { min-width: 0; }
  .bericht-ansicht th, .bericht-ansicht td { white-space: normal; font-size: 8pt; padding-left: 1.5mm; padding-right: 1.5mm; }
  .bericht-ansicht .b-ampel-text { max-width: 100%; white-space: normal; text-align: center; }
  .bericht-ansicht .b-ampel-grossanzeige { width: 100%; }
  /* Breite Tabellen rollen in sich, nicht die ganze Karte. */
  .bericht-ansicht table { display: block; overflow-x: auto; max-width: 100%; }
}
