/* Druck: Pilotlog / PDF. Beim Drucken baut druck.js ein eigenes, rein statisches Blatt (#druck); die
   Bildschirmseite mit allen Bedienelementen bleibt draußen. Gedruckt wird immer hell und ohne Bedienelemente.
   Seitengröße (A4/A5), Ränder und Kopfzeile je Seite setzt druck.js als @page-Regel (#druck-seite).
   Aufbau: .kb (ganzes Dokument, .kb-a4 oder .kb-a5) → .kb-kopf, je Teil eine .kb-blatt-Sektion
   (.kb-navlog, .kb-plaetze, .kb-beladung, .kb-profil, .kb-abk); Tabellen .kb-tab, Schreiblinien .kb-leer,
   Notizen .kb-notiz. A4-Teile (.a4-…) in druck-a4.css. */
#druck { display: none; }

@media print {
  /* Ersatz, falls der Druck ohne beforeprint startet; druck.js setzt die genaue Regel */
  @page { size: A4 portrait; margin: 15mm 12mm 14mm; }

  /* ---------- Grundlagen ---------- */
  html, body { background: #fff !important; color: #000; }
  body { font: 8.5pt/1.35 var(--f-body); }
  body > *:not(#druck) { display: none !important; }
  #druck { display: block; color: #000; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .kb a { color: #000; text-decoration: none; }

  /* ---------- Überschriften und Kopf ---------- */
  .kb h1 { margin: 0 0 2mm; font: 700 15pt/1.1 var(--f-display); letter-spacing: .01em; color: #000; }
  .kb h2 { margin: 0 0 1.5mm; font: 700 11pt/1.2 var(--f-display); color: #000; break-after: avoid; }
  .kb h3 { margin: 0 0 1mm; font: 700 10pt/1.2 var(--f-display); color: #000; break-after: avoid; }
  .kb h2 small, .kb h3 small { font: 400 8pt var(--f-body); color: #333; }
  .kb-kopf { padding-bottom: 2mm; margin-bottom: 3mm; border-bottom: .5mm solid #000; }
  .kb-kv { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6mm 3mm; margin: 0; }
  .kb-kv dt { font-weight: 600; color: #333; }
  .kb-kv dd { margin: 0; }
  .kb-befunde { margin: 1.5mm 0 0; padding: 0; list-style: none; font-size: 7.5pt; }
  .kb-befunde li { margin-bottom: .5mm; break-inside: avoid; }

  /* ---------- Tabellen: Kopf wiederholt sich je Seite, Zeilen werden nicht zerrissen ---------- */
  .kb-tab { width: 100%; border-collapse: collapse; font: 8pt/1.2 var(--f-num); font-variant-numeric: tabular-nums; }
  .kb-tab thead { display: table-header-group; }
  .kb-tab tr { break-inside: avoid; }
  .kb-tab th, .kb-tab td { border: .2mm solid #000; padding: .8mm 1mm; text-align: right; vertical-align: top; }
  /* Bildschirmregeln für td (14 px, Farbe) im Druck nicht übernehmen */
  .kb-tab td { font-size: inherit; color: #000; }
  .kb-tab th { background: #e8e8e8; font: 600 7.5pt/1.1 var(--f-display); letter-spacing: .04em; text-transform: uppercase; }
  .kb-tab th:first-child, .kb-tab td:first-child { text-align: left; }
  .kb-summe td { font-weight: 700; border-top: .5mm solid #000; }
  .kb-navlog .kb-tab th:nth-last-child(-n+2), .kb-navlog .kb-tab td:nth-last-child(-n+2) { width: 11mm; }

  /* ---------- Schreibflächen ---------- */
  .kb-leer { min-height: 5mm; border-bottom: .3mm solid #000; }
  td.kb-leer { border-bottom: .2mm solid #000; }
  .kb-zeile { margin: 1mm 0 0; font-size: 8pt; }
  .kb-notiz { margin-top: 1.5mm; }
  .kb-notiz span { font-weight: 600; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .04em; }
  .kb-notiz p { min-height: 14.4mm; margin: .5mm 0 0; white-space: pre-wrap; line-height: 4.8mm;
    background: repeating-linear-gradient(to bottom, transparent 0 4.6mm, #999 4.6mm 4.8mm); }
  .kb-unterschrift { display: grid; grid-template-columns: 2fr 1fr 2fr; gap: 3mm; margin-top: 9mm; break-inside: avoid; }
  .kb-unterschrift span { border-top: .3mm solid #000; padding-top: 1mm; font-size: 7.5pt; }

  /* ---------- Blätter und Umbrüche (Kniebrett A5) ---------- */
  .kb-blatt { margin-bottom: 4mm; }
  .kb-navlog { break-inside: avoid; }
  .kb-a5 .kb-plaetze, .kb-a5 .kb-beladung { break-before: page; }
  .kb-platz { padding: 2mm; margin-bottom: 2.5mm; border: .3mm solid #000; break-inside: avoid; }

  /* ---------- Seitenprofil (profil.js), statisch und hell ---------- */
  .kb-profil { break-inside: avoid; }
  .kb-profil h2 small { display: block; margin-top: .5mm; }
  .kb-profil .pf-svg { display: block; width: 100%; height: auto; min-height: 0; border: .2mm solid #000; }
  .kb-profil .pf-kreuz { display: none; }

  /* ---------- Abkürzungen am Ende ---------- */
  .kb-abk { break-inside: auto; }
  .kb-abk dl { display: grid; grid-template-columns: 13mm minmax(0, 1fr) 13mm minmax(0, 1fr); gap: .5mm 2mm; margin: 0; font-size: 7.5pt; line-height: 1.3; }
  .kb-a5 .kb-abk dl { grid-template-columns: 13mm minmax(0, 1fr); }
  .kb-abk dt { font-weight: 700; }
  .kb-abk dd { margin: 0; }
}
