/* Druckblätter. Am Bildschirm weiße Blätter, beim Drucken nur die Blätter, schwarz auf weiß. */

.papier { background: #fff; color: #111; width: 210mm; max-width: 100%; min-height: 120mm; padding: 12mm; box-shadow: 0 2px 14px rgb(0 0 0 / .15); border-radius: 2px;
  font-family: var(--font); font-size: 10pt; line-height: 1.35; overflow: hidden; position: relative; }
.papier.quer { width: 297mm; }
.papier.quer.a3 { width: 420mm; }
.papier h1, .papier h4 { color: #111; }
.d-kopf { display: flex; justify-content: space-between; align-items: flex-end; border-bottom: 1.5pt solid #111; padding-bottom: 2mm; margin-bottom: 4mm; gap: 6mm; }
.d-kopf b { display: block; font: 700 16pt/1.1 var(--font-eng); }
.d-kopf span { font-size: 9pt; color: #444; }
.d-fuss { margin-top: 4mm; font-size: 8pt; color: #555; }
.d-klein { font-size: 8.5pt; color: #444; }
.d-h { margin: 5mm 0 2mm; font-size: 10pt; color: #111 !important; }
.d-tab { width: 100%; border-collapse: collapse; font-size: 9pt; }
.d-tab th { text-align: left; font-size: 8pt; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1pt solid #111; padding: 1.2mm 1.5mm; }
.d-tab td { border-bottom: .4pt solid #bbb; padding: 1.2mm 1.5mm; vertical-align: top; }
.d-tab .r { text-align: right; }
.d-tab .ueber { font-weight: 700; text-decoration: underline; }
.d-box { border: .8pt solid #111 !important; text-align: center; font-weight: 700; }
.d-liste { margin: 0; padding-left: 5mm; font-size: 9pt; }
.d-unterschrift { display: grid; grid-template-columns: 1fr 1fr; gap: 14mm; margin-top: 16mm; }
.d-unterschrift div { border-top: .8pt solid #111; padding-top: 1mm; font-size: 8pt; color: #444; }

/* Netzplan */
.netzplan { width: 100%; height: auto; display: block; }
.np-rahmen { fill: none; stroke: #777; stroke-width: 1; stroke-dasharray: 5 4; }
.np-vname { font: 700 11px var(--font-eng); fill: #111; }
.np-linie { fill: none; stroke: #111; stroke-width: 1.2; }
.np-k rect { fill: #fff; stroke: #111; stroke-width: 1.2; }
.np-k.einspeisung rect { fill: #e9e9e9; stroke-width: 2; }
.np-k.fi rect, .np-k.fils rect { stroke-dasharray: 4 2; }
.np-k.dose rect { fill: #f6f6f6; }
.np-k.ueber rect { stroke-width: 2.6; }
.np-t1 { font: 700 12px var(--font-eng); fill: #111; }
.np-typ { font-weight: 500; fill: #444; }
.np-t2 { font: 500 10px var(--font); fill: #333; }
.np-ph { font: 600 10px var(--font-eng); fill: #555; }
.np-last { font: 600 10px var(--font-eng); fill: #111; }

/* Kastenplan */
.d-kasten { display: grid; gap: 4mm; margin: 4mm 0; justify-content: start; }
.d-reihe { position: relative; height: 24mm; border-top: 2.5mm solid #ccc; border-bottom: .4pt solid #ccc; }
.d-modul { position: absolute; top: 1mm; bottom: 1mm; border: .8pt solid #111; border-radius: 1mm; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding: 1mm .5mm; font-size: 7pt; text-align: center; overflow: hidden; background: #fff; }
.d-modul b { font: 700 9pt/1 var(--font-eng); }
.d-modul small { font-size: 6pt; color: #444; line-height: 1.1; margin-top: auto; }
.d-modul.einspeisung { background: #eee; }
.d-streifen-zeile { margin-bottom: 3mm; break-inside: avoid; }
.d-streifen { position: relative; height: 9mm; border: .6pt solid #111; }
.d-streifen span { position: absolute; top: 0; bottom: 0; border-right: .4pt solid #111; font-size: 6.5pt; line-height: 1.1; padding: .6mm .5mm; overflow: hidden; text-align: center; }
.d-streifen span b { display: block; font: 700 7.5pt/1 var(--font-eng); }

/* Etiketten: A4, 3 × 8 zu 70 × 37 mm, randlos ausgerichtet */
.etiketten-bogen { padding: 0 !important; display: grid; grid-template-columns: repeat(3, 70mm); grid-auto-rows: 37mm; width: 210mm; min-height: 297mm; align-content: start; padding-top: 0.5mm !important; }
.etikett { display: flex; gap: 2.5mm; align-items: center; padding: 3mm; border: .3pt dashed #ccc; overflow: hidden; }
.etikett .qr { width: 23mm; height: 23mm; flex: none; image-rendering: pixelated; }
.etikett b { display: block; font: 700 18pt/1 var(--font-eng); margin-bottom: 1mm; }
.etikett span { display: block; font-size: 7.5pt; line-height: 1.2; color: #222; }

/* Lageplan */
.d-lp { position: relative; }
.d-lp img { width: 100%; display: block; }
.d-mk { position: absolute; transform: translate(-50%, -50%); display: flex; gap: 1mm; align-items: center; font: 700 8pt var(--font-eng); background: #fff; border: .6pt solid #111; border-radius: 1mm; padding: 0 1mm; white-space: nowrap; }
.d-mk i { width: 2.5mm; height: 2.5mm; border-radius: 50%; border: .8mm solid #111; display: inline-block; }
.d-mk.rot i { border-color: #c8322b; } .d-mk.blau i { border-color: #2a62b8; } .d-mk.vt i { border-radius: .5mm; background: #111; }
.d-mk.st { background: #eee; } .d-mk.st i { display: none; }

/* Aushang */
.aushang { text-align: center; min-height: 270mm; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6mm; }
.aushang h1 { font-size: 34pt; }
.aushang .gross { font-size: 16pt; font-weight: 600; }
.aushang p { max-width: 140mm; font-size: 13pt; }
.qr-gross { width: 90mm; height: 90mm; image-rendering: pixelated; }

@media print {
  @page { size: A4; margin: 12mm; }
  body { background: #fff !important; min-height: 0; }
  .kopf, .leiste, #band, .nicht-drucken, #meldungen, .dlg-hg { display: none !important; }
  main { padding: 0 !important; max-width: none !important; }
  .papierstapel { display: block; gap: 0; }
  /* Die Seite bringt den Rand mit; das Blatt füllt nur noch den Satzspiegel */
  .papier { box-shadow: none; border-radius: 0; width: auto !important; min-height: 0; padding: 0; page-break-after: always; break-after: page; margin: 0; }
  .papier.quer { page: quer; }
  .papier.quer.a3 { page: a3quer; }
  .papier:last-child { page-break-after: auto; break-after: auto; }
  .etiketten-bogen { page: etiketten; width: 210mm !important; }
  .aushang { min-height: 250mm; }
  .etikett { border-color: transparent; }
  .d-tab tr { break-inside: avoid; }
}
@page quer { size: A4 landscape; margin: 10mm 12mm; }
@page a3quer { size: A3 landscape; margin: 10mm 12mm; }
@page etiketten { size: A4; margin: 0; }
