/* print.css — the A4-landscape print document assembled by js/ui/print.js. Screen
   rules keep #print-doc hidden; the @media print block is the only place
   allowed to use absolute paper units (mm, pt) and fixed hex colours,
   because print has no theme. */


/* ---- A4 print document (built by print.js) --------------------------- */
#print-doc { display: none; }

@media print {
  /* Print the composed A4 document only; the app UI is not a document. */
  body > *:not(#print-doc) { display: none !important; }
  #print-doc { display: block !important; }
  html, body { height: auto; overflow: visible; }
  body { max-width: none; margin: 0; padding: 0; display: block; }
  @page { size: A4 portrait; margin: 0; }
}

/* Waehrend des Exports muss das Dokument ein Layout haben — sonst misst
   getBoundingClientRect() null und es gibt nichts zu rastern. Es darf dabei
   aber nicht zu sehen sein: der Export ist ein Knopfdruck, keine Vorschau.
   Also aus dem Bild geschoben statt display:none. */
#print-doc.exporting { display: block; position: fixed; left: -20000px; top: 0;
                       width: 210mm; z-index: -1; pointer-events: none; }

/* Die Klasse "preview" traegt jetzt nur noch der Wrapper, den js/ui/pdf.js
   um das einzelne Blatt baut, bevor es ins <foreignObject> serialisiert
   wird — die Blattregeln haengen an `#print-doc .sheet`, und ohne sie
   waere der Klon unformatiert. Kein Bildschirmzustand mehr. */
#print-doc.preview { display: block; background: #fff; }

/* Evidence ("Beleg") buttons + regime tags on values */
.prov-btn { border: 1px solid var(--border); background: var(--bg-raised); color: var(--accent);
            border-radius: 3px; font-size: 0.72rem; line-height: 1; padding: 0.1rem 0.3rem;
            cursor: pointer; vertical-align: baseline; }
.prov-btn:hover { border-color: var(--accent); background: var(--accent-soft); }
.regime-tag { display: inline-block; font-size: 0.62rem; letter-spacing: .04em; padding: 0.05rem 0.3rem;
              border: 1px solid var(--accent); color: var(--accent); border-radius: 3px;
              vertical-align: baseline; text-transform: uppercase; }

/* Evidence viewer modal */
#evidence-overlay { display: none; position: fixed; inset: 0; z-index: 1200;
                    background: rgba(0,0,0,.55); }
#evidence-overlay.open { display: block; }
#evidence-panel { position: absolute; inset: 4% 8%; background: var(--bg-pane, #fff);
                  color: var(--text, #1a1a1a); border-radius: 8px; display: flex;
                  flex-direction: column; overflow: hidden; box-shadow: 0 8px 40px rgba(0,0,0,.5); }
#evidence-head { flex: none; display: flex; align-items: center; justify-content: space-between;
                 gap: 1rem; padding: 0.7rem 1rem; border-bottom: 1px solid var(--border); }
#evidence-title { font-size: 0.92rem; }
#evidence-actions { display: flex; align-items: center; gap: 0.45rem; }
#evidence-actions button, #evidence-actions a { font-size: 0.82rem; padding: 0.3rem 0.6rem;
                 border: 1px solid var(--border); background: var(--bg-raised); color: var(--text);
                 border-radius: 4px; cursor: pointer; text-decoration: none; }
#evidence-actions button:hover, #evidence-actions a:hover { border-color: var(--accent); }
#evidence-pageinfo { font-size: 0.78rem; color: var(--text-muted); white-space: nowrap; }
#evidence-note { flex: none; font-size: 0.78rem; color: var(--text-muted);
                 padding: 0.4rem 1rem; border-bottom: 1px solid var(--border-soft); }
#evidence-canvas-wrap { flex: 1; overflow: auto; background: #8a8a8e; text-align: center; padding: 12px; }
#evidence-canvas { background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.4); }
#evidence-quote { flex: none; font-size: 0.82rem; font-style: italic; padding: 0.6rem 1rem;
                  border-top: 1px solid var(--border); max-height: 7rem; overflow: auto; }

/* Palette des Dokuments — EINE Akzentfarbe (das Orange des Werkzeugs) plus
   Neutraltoene, als Variablen auf #print-doc. Print hat kein Theme; fixe
   Hexwerte sind hier erlaubt, aber sie stehen an EINEM Ort.

   Das Dokument ist im Uebrigen farblos — Text, Flaechen, Linien, Karten und
   Zeichnungen stehen in Graustufen. Die semantischen Gruen/Rot/Amber der
   Badges sind davon AUSGENOMMEN und ausdruecklich stehen geblieben: sie
   tragen Bedeutung, nicht Identitaet. Ein bestandener Punkt, ein Verstoss
   und ein offener Punkt muessen sich auf einen Blick unterscheiden, auch
   wenn niemand das Wort daneben liest. */
#print-doc {
  --p-ink: #1a1a1a;      /* Text */
  --p-muted: #5c5c5c;    /* Sekundaertext */
  --p-faint: #8a8a8a;    /* Tertiaertext, Fusszeilen */
  --p-acc: #111111;      /* Grafik-Akzent: Kanten, Ticks, Swatches */
  --p-acc-ink: #111111;  /* Text-Akzent: Kicker, h3 */
  --p-tint: #f4f4f4;     /* Flaechen: Hero, Notizboxen */
  --p-hair: #e2e2e2;     /* Linien */
}

/* A4 quer, 297x210 mm: das Format eines Exposés, das gemailt, am Bildschirm
   gezeigt und auf jedem Buerodrucker gedruckt werden kann — A3 war
   Plansprache, kein Verkaufsdokument. */
#print-doc .sheet {
  width: 210mm; height: 297mm; box-sizing: border-box;
  padding: 12mm 14mm 10mm; background: #fff; color: var(--p-ink);
  display: flex; flex-direction: column; overflow: hidden;
  page-break-after: always; break-after: page;
  /* Eine Schrift fuer das ganze Dokument: Helvetica. Vorher standen hier
     zwei -- Archivo fuer den Text, IBM Plex Mono fuer die Zahlen.
     
     Die Trennung hatte einen Grund: Zahlen in einer Mono stehen in Spalten
     sauber untereinander. Der faellt hier nicht weg, er erledigt sich --
     die Ziffern der Helvetica sind gleich breit (Tabellenziffern), also
     fluchten die Zahlenspalten auch ohne eigene Mono.
     
     Zweiter Gewinn, unsichtbar im Browser: Helvetica ist eine der 14
     Standardschriften, die JEDER PDF-Betrachter mitbringt. js/ui/pdf.js
     setzt den Vektortext damit in ECHTER Helvetica statt in einer
     ersatzweise breitgezogenen Courier -- gleiche Datei, saubererer Satz. */
  font-family: Helvetica, -apple-system, 'Helvetica Neue', Arial, sans-serif;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
#print-doc .sheet:last-child { page-break-after: auto; break-after: auto; }

/* --- Titelblatt (28.8.2026) ------------------------------------------------
   Erste Seite des Exports: Adresse gross, zwei Saetze, Absender und Stand.
   Bewusst fast leer — die Dichte kommt auf den Folgeblaettern. */
#print-doc .sheet-title { justify-content: flex-start; }
#print-doc .titel-mitte { margin-top: 40mm; }
#print-doc .titel-kicker { font-size: 9pt; letter-spacing: .2em; text-transform: uppercase;
                           color: var(--p-acc-ink); margin-bottom: 6mm; }
#print-doc .titel-adresse { font-size: 34pt; font-weight: 650; margin: 0 0 6mm;
                            letter-spacing: -.01em; line-height: 1.1; }
#print-doc .titel-meta { font-size: 9.5pt; color: var(--p-muted); margin-bottom: 9mm; }
#print-doc .titel-text { font-size: 9.5pt; line-height: 1.7; color: var(--p-ink);
                         max-width: 160mm; margin: 0; }
#print-doc .titel-unten { margin-top: auto; border-top: 2px solid var(--p-ink); padding-top: 5mm;
                          display: flex; justify-content: space-between; align-items: baseline; }
/* "all small caps": Eingabe klein geschrieben, gesetzt in Kapitaelchen. */
#print-doc .titel-autor { letter-spacing: .01em; font-size: 10pt; }
#print-doc .titel-stand { font-size: 6.5pt; color: var(--p-faint); }

/* Ein-Satz-Einleitung unter jedem Blatttitel: was die Seite zeigt und
   worauf sie sich stuetzt. */
#print-doc .sheet-intro { font-size: 8.5pt; line-height: 1.5; color: var(--p-muted);
                          margin: 2.5mm 0 0; max-width: 220mm; }

#print-doc .sheet-sources { flex: none; font-size: 6.5pt; color: var(--p-faint); line-height: 1.45;
                            border-top: 1px solid var(--p-hair); padding-top: 2mm; margin-top: 3mm; }
/* Kopfregel mit Akzent-Tick: 12 mm Orange am linken Ende der schwarzen
   Regel — das eine wiederkehrende Erkennungszeichen des Dokuments. */
#print-doc .sheet-head { border-bottom: 2px solid var(--p-ink); padding-bottom: 3mm; margin-bottom: 5mm; flex: none; position: relative; }
#print-doc .sheet-head::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 12mm; height: 2px; background: var(--p-acc); }
#print-doc .kicker { font-size: 7.5pt; letter-spacing: .12em; text-transform: uppercase; color: var(--p-acc-ink); margin-bottom: 2mm; }
#print-doc .sect-num { display: inline-block; min-width: 5mm; margin-right: 2mm; padding: 0.4mm 1.2mm; text-align: center; background: var(--p-acc); color: #fff; border-radius: 1mm; font-weight: 700; letter-spacing: 0; }

/* Mini-Inhaltsverzeichnis auf dem Blatt «Das Wichtigste in Kürze». */
#print-doc .toc { margin-top: 4mm; }
#print-doc .toc-row { display: flex; align-items: baseline; gap: 2.5mm; padding: 1.6mm 0; border-bottom: 1px solid var(--p-hair); font-size: 8.5pt; }
#print-doc .toc-row .t-num { flex: none; min-width: 6mm; color: var(--p-acc-ink); font-weight: 700; }
#print-doc .toc-row .t-title { flex: 1 1 auto; }
#print-doc .toc-row .t-page { flex: none; color: var(--p-faint); font-variant-numeric: tabular-nums; }

/* Verkaufsargumente auf dem Summary-Blatt: kurze Sätze mit Akzentmarke. */
#print-doc .args { margin: 4mm 0 0; padding: 0; list-style: none; }
#print-doc .args li { position: relative; padding: 1.6mm 0 1.6mm 6mm; font-size: 9.5pt; line-height: 1.5; }
#print-doc .args li::before { content: ''; position: absolute; left: 0; top: 3.2mm; width: 3.5mm; height: 2px; background: var(--p-acc); }

/* Geschossvarianten als Kartenreihe unter der Volumetrie: jede Option ist
   gleich zulässig; die gerechnete trägt die Akzentkante. */
#print-doc .variants-row { display: flex; gap: 3mm; margin-top: 4mm; }
#print-doc .variant-card { flex: 1 1 0; border: 1px solid var(--p-hair); border-top: 2.5px solid var(--p-hair); padding: 2.5mm 3mm; }
#print-doc .variant-card.active { border-color: var(--p-acc); border-top-color: var(--p-acc); background: var(--p-tint); }
#print-doc .variant-card .v-n { font-size: 8.5pt; font-weight: 700; }
#print-doc .variant-card .v-d { font-size: 6.5pt; color: var(--p-muted); margin-top: 1mm; line-height: 1.45; }
#print-doc .variant-card .v-tag { font-size: 6pt; letter-spacing: .08em; text-transform: uppercase; color: var(--p-acc-ink); margin-top: 1mm; }
#print-doc .variant-card.unavailable .v-n { text-decoration: line-through; color: var(--p-faint); }
#print-doc .sheet-head h2 { font-size: 20pt; margin: 0; font-weight: 600; letter-spacing: -.01em; }
/* overflow hidden: a sheet is a fixed 297x210mm page — content that does
   not fit must be clipped, never painted over the sources line and footer
   below it (the garbled-text overlap on content-heavy sheets). Long
   content gets its own continuation sheet instead (print.js). */
#print-doc .sheet-body { flex: 1 1 auto; min-height: 0; font-size: 8.5pt; line-height: 1.5; overflow: hidden; }
#print-doc .quote-list { columns: 2; column-gap: 8mm; font-size: 7.5pt; line-height: 1.45; }
#print-doc .quote-item { break-inside: avoid; margin-bottom: 3mm; }
#print-doc .quote-item .q-head { font-weight: 600; }
#print-doc .quote-item .q-ref { color: var(--p-acc-ink); font-size: 6.5pt; }
#print-doc .quote-item .q-text { font-style: italic; color: var(--p-ink); }
#print-doc .flags-cols { columns: 2; column-gap: 8mm; }
#print-doc .flags-cols .flagline { break-inside: avoid; font-size: 7.5pt;
                                   line-height: 1.55; padding: 4mm 5mm; margin-bottom: 3mm; }
#print-doc .sheet-foot {
  flex: none; border-top: 1px solid var(--p-hair); padding-top: 2.5mm; margin-top: 4mm;
  font-size: 6.5pt; color: var(--p-faint); display: flex; justify-content: space-between;
}

/* A4 hoch: alles einspaltig. Die alten Verhaeltnisse (58/42, 55/45 …) waren
   fuer 297 mm Breite gerechnet; auf 210 mm blieben je Spalte gut 90 mm, und
   darin bricht jede Tabelle und jedes Zitat auseinander. Die Klassennamen
   bleiben — sie stehen an rund zwanzig Stellen in js/ui/print.js und sagen
   dort weiterhin, was zusammengehoert; nur die Spaltenzahl ist jetzt eins. */
#print-doc .cols { display: grid; gap: 6mm; align-items: start; grid-template-columns: 1fr; }
#print-doc .c-6040, #print-doc .c-4555, #print-doc .c-5050,
#print-doc .c-5545, #print-doc .c-7228 { grid-template-columns: 1fr; }
/* Ein Rasterfeld ist von Haus aus min-width:auto und waechst mit seinem
   laengsten Wort statt umzubrechen — auf schmalem Blatt sofort sichtbar. */
#print-doc .cols > * { min-width: 0; }
#print-doc .legend { display: flex; flex-wrap: wrap; gap: 2mm 6mm; margin-top: 3mm; font-size: 7.5pt; color: var(--p-muted); }
#print-doc .lg { display: flex; align-items: center; gap: 2mm; }
#print-doc .lg-sw { width: 5mm; height: 2.8mm; display: inline-block; flex: none; }

#print-doc .hero { background: var(--p-tint); border-left: 5px solid var(--p-acc); padding: 4mm 5mm; margin-bottom: 5mm; }
#print-doc .hero-label { font-size: 6.5pt; text-transform: uppercase; letter-spacing: .1em; color: var(--p-acc-ink); }
#print-doc .hero-value { font-size: 15pt; font-weight: 600; margin: 2mm 0 1mm; line-height: 1.15; }
#print-doc .hero-sub { font-size: 8.5pt; color: var(--p-muted); }

#print-doc .kpis { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3mm; margin-bottom: 5mm; }
#print-doc .kpi { border: 1px solid var(--p-hair); padding: 3mm 4mm; }
#print-doc .kpi-label { font-size: 6.5pt; color: var(--p-faint); text-transform: uppercase; letter-spacing: .06em; }
#print-doc .kpi-value { font-size: 11.5pt; font-weight: 600; margin-top: 1.5mm; }
#print-doc .kpi-sub { font-size: 6.5pt; color: var(--p-faint); margin-top: 1mm; }

#print-doc table { width: 100%; border-collapse: collapse; }
#print-doc .facts td { padding: 2.5mm 0; border-bottom: 1px solid var(--p-hair); vertical-align: top; font-size: 8.5pt; }
/* Enge Variante fuer Blaetter, auf denen die Tabelle neben Karte UND
   Checkliste bestehen muss (Zone & Regeln). */
#print-doc .facts.tight td { padding: 1.6mm 0; }
#print-doc .facts td:first-child { color: var(--p-faint); width: 45%; }
#print-doc .facts.big td { font-size: 8.5pt; padding: 3mm 0; }

/* Ab der zweiten Spalte ein fester Mindestabstand: die Übersichtstabelle
   («Übersicht — getrennt gerechnet») hat sechs Spalten, und mit 0 mm
   Horizontal-Padding klebten dort «Parzelle 5030», «1446 m²» und «498 m²»
   aneinander. Höhere Spezifität als die td-Regel darunter, gewinnt also
   unabhängig von der Reihenfolge. */
#print-doc .derive td + td { padding-left: 4mm; }
#print-doc .derive td { padding: 2.4mm 0; border-bottom: 1px solid var(--p-hair); font-size: 8.5pt; }
#print-doc .derive td:last-child { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
#print-doc .derive tr.minus td { color: #5a5a5a; }
#print-doc .derive tr.result td { font-weight: 700; border-top: 1.5px solid var(--p-ink); border-bottom: none; font-size: 8.5pt; }

#print-doc .note-box { background: var(--p-tint); border: 1px solid var(--p-hair); padding: 3.5mm; margin-top: 4mm; font-size: 8.5pt; line-height: 1.55; }
#print-doc .note-box.small { font-size: 7.5pt; }

#print-doc .mapwrap { position: relative; width: 100%; aspect-ratio: 1/1; border: 1px solid var(--p-hair); overflow: hidden; }
#print-doc .mapwrap .layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
#print-doc .mapwrap .layer.multiply { mix-blend-mode: multiply; }
#print-doc .mapwrap svg { position: absolute; inset: 0; width: 100%; height: 100%; }
#print-doc .caption { font-size: 6.5pt; color: var(--p-faint); margin-top: 2.5mm; line-height: 1.4; }
#print-doc .render { width: 100%; max-height: 92mm; object-fit: contain; border: 1px solid var(--p-hair); background: #f5f5f5; }
#print-doc .empty { padding: 12mm; text-align: center; color: #444444; border: 1px solid var(--p-hair); }

#print-doc h3 { font-size: 8.5pt; margin: 0 0 3mm; text-transform: uppercase; letter-spacing: .07em; color: var(--p-acc-ink); }
#print-doc .ci { display: flex; gap: 3mm; padding: 2.2mm 3mm; margin-bottom: 1.8mm; font-size: 8.5pt; line-height: 1.45; border-radius: 2px; }
#print-doc .ci-badge { flex: none; font-size: 6.5pt; font-weight: 700; padding: .8mm 2mm; height: fit-content; border-radius: 2px; color: #fff; letter-spacing: .05em; }
#print-doc .ci-pass { background: #f1f8f1; } #print-doc .ci-pass .ci-badge { background: #2e7d32; }
#print-doc .ci-flag { background: #fdf0f0; } #print-doc .ci-flag .ci-badge { background: #c62828; }
#print-doc .ci-review { background: #fdf8e8; } #print-doc .ci-review .ci-badge { background: #c98a11; }
#print-doc .flags { margin-top: 4mm; border-top: 1px solid var(--p-hair); padding-top: 4mm; }
#print-doc .flagline { font-size: 7.5pt; color: #3d3d3d; background: #f0f0f0; border-left: 3px solid #9a9a9a; padding: 1.8mm 4mm; margin-bottom: 1.4mm; line-height: 1.32; }

/* Kompakte Checklistenzeile (Blatt «Zone & Regeln»): Badge + Titel, eine
   Zeile — die vollen Begruendungen stehen im Anhang A.2. */
#print-doc .ci-line { display: flex; align-items: baseline; gap: 2.5mm; padding: 1.4mm 0; border-bottom: 1px solid var(--p-hair); font-size: 8.5pt; }
#print-doc .ci-line .ci-badge { border-radius: 2px; color: #fff; }
#print-doc .ci-pass.ci-line .ci-badge { background: #2e7d32; }
#print-doc .ci-flag.ci-line .ci-badge { background: #c62828; }
#print-doc .ci-review.ci-line .ci-badge { background: #c98a11; }

/* Kopfband des Belastbarkeits-Blatts: Hero links, Legende rechts, die
   Tafel darunter ueber die volle Breite — so bleibt dem Umbruch (tbody
   data-flow) immer die ganze Blattbreite. */
#print-doc .bel-kopf { display: grid; grid-template-columns: 38% 1fr; gap: 8mm; margin-bottom: 4mm; align-items: start; }
#print-doc .bel-kopf .hero { margin-bottom: 0; }
#print-doc .bel-legende { font-size: 7pt; line-height: 1.5; color: var(--p-muted); }
#print-doc .bel-legende > div { margin-bottom: 1.2mm; }
#print-doc .bel-legende .bel-fuss { color: var(--p-faint); margin-top: 1.6mm; }

/* --- Blatt «Belastbarkeit der Zahlen» ------------------------------------
   Die Sicherheitsstufe jeder Zahl (js/core/sicherheit.js) auf Papier. Auf
   dem Bildschirm traegt sie Farbe; gedruckt traegt sie das Zeichen — deshalb
   ist hier das Zeichen die Kennzeichnung und Grau nur die Abstufung. */
#print-doc .c-3565 { grid-template-columns: 35% 1fr; }
#print-doc .bel-tafel td { padding: 2mm 4mm 2mm 0; font-size: 7.5pt; vertical-align: top; }
#print-doc .bel-tafel td:nth-child(2) { width: 30%; }
#print-doc .bel-tafel td.bel-v { width: 20%; }
#print-doc .bel-tafel td:last-child {
  text-align: left; white-space: normal; color: var(--p-faint); font-size: 6.5pt;
}
#print-doc .bel-z {
  width: 6mm; text-align: center; font-weight: 700; font-size: 8.5pt;
}
#print-doc .bel-n { text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
#print-doc .bel-erk { color: var(--p-faint); font-size: 7pt; }
#print-doc .bel-v { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
#print-doc tr.bel-grp td {
  padding-top: 4mm; border-bottom: 1.5px solid var(--p-ink);
  font: 700 7pt/1.2 inherit; letter-spacing: .08em; text-transform: uppercase;
}
/* Belegt bleibt schwarz; alles darunter wird schrittweise zurueckgenommen,
   damit die belegten Zahlen die kraeftigsten auf dem Blatt sind. */
#print-doc tr.bel-r-VEREINFACHT td { color: #4a4a4a; }
#print-doc tr.bel-r-ANNAHME td { color: #6a6a6a; }
#print-doc tr.bel-r-NICHT_ERMITTELBAR td { color: #8a8a8a; font-style: italic; }

/* --- Titelliste, Inhalt, Kapitelseiten (31.8.2026) -------------------------
   Bei mehreren Grundstuecken traegt das Titelblatt sie alle als Liste, Seite
   zwei den Inhalt, und vor jedem Grundstueck steht eine Trennseite. Wer drei
   Auswertungen in einer Datei bekommt, muss beim Blaettern jederzeit wissen,
   von welchem Grundstueck die Seite gerade spricht. */
#print-doc .titel-liste {
  list-style: none; margin: 6mm 0 0; padding: 0;
  border-top: 1px solid var(--p-hair);
}
#print-doc .titel-liste li {
  display: grid; grid-template-columns: 7mm 1fr auto; gap: 3mm;
  align-items: baseline; padding: 2.4mm 0;
  border-bottom: 1px solid var(--p-hair); font-size: 9.5pt;
}
#print-doc .titel-liste .tl-n { color: var(--p-faint); }
#print-doc .titel-liste .tl-a { font-weight: 700; }
#print-doc .titel-liste .tl-p { color: var(--p-muted); font-size: 8.5pt; }

/* Inhalt: eine Zeile je Blatt, Unterpunkte eingerueckt. Die Fuehrungslinie
   ist ein Rahmen am Titel, kein Punktmuster -- gepunktete Fuehrungen setzen
   je nach Betrachter unterschiedlich und wandern dann gegen die Zahl. */
#print-doc .ivz { columns: 2; column-gap: 10mm; }
#print-doc .ivz-row {
  display: flex; align-items: baseline; gap: 3mm;
  padding: 1.5mm 0; border-bottom: 1px solid var(--p-hair);
  font-size: 9pt; break-inside: avoid;
}
#print-doc .ivz-row.is-sub { padding-left: 6mm; font-size: 8.5pt; color: var(--p-muted); }
#print-doc .ivz-t { flex: 1 1 auto; }
#print-doc .ivz-row:not(.is-sub) .ivz-t { font-weight: 700; }
#print-doc .ivz-p { flex: none; font-variant-numeric: tabular-nums; color: var(--p-muted); }

/* Kapitelseite: bewusst leer bis auf das Noetige. Sie soll beim Blaettern
   auffallen, nicht gelesen werden. */
#print-doc .sheet-kapitel { justify-content: center; }
#print-doc .kap-mitte { padding: 0 4mm; }
#print-doc .kap-zaehler {
  font-size: 8.5pt; letter-spacing: .16em; text-transform: uppercase;
  color: var(--p-faint); margin-bottom: 3mm;
}
#print-doc .kap-adresse { font-size: 26pt; line-height: 1.1; margin: 0 0 2mm; font-weight: 700; }
#print-doc .kap-meta { font-size: 10pt; color: var(--p-muted); margin-bottom: 8mm; }
#print-doc .kap-zahlen {
  display: grid; grid-template-columns: 1fr 1fr; gap: 3mm 8mm;
  border-top: 2px solid var(--p-acc); padding-top: 4mm; max-width: 120mm;
}
#print-doc .kap-z { display: flex; flex-direction: column; gap: 1mm; }
#print-doc .kap-z span { font-size: 8pt; letter-spacing: .1em; text-transform: uppercase; color: var(--p-faint); }
#print-doc .kap-z b { font-size: 15pt; }
#print-doc .kap-text { font-size: 9pt; color: var(--p-muted); margin: 8mm 0 0; max-width: 120mm; }

/* Verweis auf den gemeinsamen Anhang. Tritt bei mehreren Grundstuecken an
   die Stelle eines Blocks, der auf jedem Parzellenblatt wortgleich stuende.
   Bewusst leise gesetzt: er ersetzt Inhalt, er kuendigt keinen an — und er
   muss sich von den Pruefpunkten daneben unterscheiden, damit ihn niemand
   fuer einen weiteren haelt. */
#print-doc .verweis {
  margin: 2.5mm 0; padding: 2mm 0 2mm 3mm;
  border-left: 2px solid var(--p-hair);
  font-size: 7.5pt; line-height: 1.5; color: var(--p-muted);
}

/* Merkzeile — dieselbe Bauform wie die Attika-Zeile darunter (Balken links,
   Schlagwort, Satz), fuer die zwei Befunde, die seit dem 31.8.2026 auf der
   ERSTEN Seite jedes Grundstuecks stehen statt im Anhang: ob der bebaubare
   Rest ueberhaupt ein Gebaeude traegt, und mit welchem Rechtsstand der BZO
   gerechnet wurde. Beides entscheidet ueber die Gueltigkeit der Zahlen
   daneben und darf nicht 40 Seiten hinter ihnen stehen. */
#print-doc .merkzeile {
  display: flex; gap: 3mm; align-items: baseline;
  margin: 4mm 0 3mm; padding: 2.5mm 0 2.5mm 3mm;
  border-left: 3px solid var(--p-hair); font-size: 8pt; line-height: 1.5;
}
#print-doc .merkzeile.is-nein { border-left-color: var(--p-ink); background: var(--p-tint); }
#print-doc .merkzeile.is-warn { border-left-color: var(--p-acc); }
#print-doc .merkzeile .mz-k {
  flex: none; width: 20mm; font-size: 7.5pt; letter-spacing: .12em;
  text-transform: uppercase; color: var(--p-faint);
}
#print-doc .merkzeile .mz-t { flex: 1 1 auto; }

/* Kapitelblatt: der Befund «traegt keinen Baukörper» gehoert schon auf die
   Trennseite — wer nur den Abschnitt einer Parzelle aufschlaegt, soll ihn
   nicht erst auf dem Blatt danach finden. */
#print-doc .kap-befund {
  margin: 6mm 0 0; padding: 3mm 0 3mm 3.5mm; max-width: 120mm;
  border-left: 3px solid var(--p-ink); background: var(--p-tint);
  font-size: 8.5pt; line-height: 1.5;
}

/* Attika-Befund auf dem Kopfblatt: die Frage «geht ein Attikageschoss?»
   entscheidet ueber eine ganze Wohnung und stand bisher nur zwischen den
   Zeilen (Variantenkarte, Anhang). Der Balken links traegt die Antwort:
   dunkel = ja, hell = nein. */
#print-doc .attika-zeile {
  display: flex; gap: 3mm; align-items: baseline;
  margin: 4mm 0 3mm; padding: 2.5mm 0 2.5mm 3mm;
  border-left: 3px solid var(--p-hair); font-size: 8.5pt;
}
#print-doc .attika-zeile.is-ja { border-left-color: var(--p-ink); }
#print-doc .attika-zeile.is-nein { border-left-color: var(--p-faint); background: var(--p-tint); }
#print-doc .attika-zeile.is-offen { border-left-color: var(--p-hair); }
#print-doc .attika-zeile .az-k {
  flex: none; width: 16mm; font-size: 7.5pt; letter-spacing: .12em;
  text-transform: uppercase; color: var(--p-faint);
}
#print-doc .attika-zeile .az-t { flex: 1 1 auto; }
