/* Druckvorschau und Druck (DIN A4). Die Vorschau zeigt die Blätter wie im Ausdruck. */

.print-root { position: fixed; inset: 0; z-index: 150; overflow: auto; background: #cfd6de; }
.print-root[hidden] { display: none; }

.print-toolbar {
    position: sticky; top: 0; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
    padding: .6rem 1rem; background: var(--header-bg); color: var(--header-text);
}
.print-toolbar .muted { color: rgba(255, 255, 255, .7); }
.print-toolbar .btn { color: var(--text); }
.print-toolbar .btn-primary { color: var(--primary-text); }

.print-sheets { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding: 1rem; }

.print-page {
    width: 210mm; max-width: 100%; min-height: 297mm; padding: 15mm 18mm; background: #fff; color: #000;
    font: 11pt/1.35 Arial, Helvetica, sans-serif; box-shadow: 0 2px 10px rgba(0, 0, 0, .25);
}

.ph-org { font-size: 16pt; margin: 0 0 12mm; line-height: 1.25; }
.ph-cols { display: flex; justify-content: space-between; gap: 10mm; }
.ph-address { font-style: normal; padding: 14mm 0 0 4mm; flex: 1; }
.ph-info { text-align: left; font-size: 10pt; }
.ph-info p { margin: 0 0 4mm; }
.ph-date { text-align: right; }
.print-title { font-size: 14pt; margin: 10mm 0 5mm; }
.print-description { margin: 0 0 6mm; }

.print-table { width: 100%; border-collapse: collapse; font-size: 10pt; }
.print-table th, .print-table td { padding: 1.2mm 2mm; border-bottom: .3mm solid #999; text-align: left; vertical-align: top; }
.print-table thead th { border-bottom: .5mm solid #000; }
.print-table .num { text-align: right; }
.print-table tr { break-inside: avoid; }
.print-content h3 { font-size: 12pt; margin: 6mm 0 3mm; }
.spacer-p { margin: 0; height: 6mm; }
.conclusion { padding: 3mm; background: #eee; margin: 0; }
.print-letter-text { white-space: pre-wrap; overflow-wrap: anywhere; }

@page { size: A4; margin: 0; }

@media print {
    body.printing { background: #fff; }
    body.printing > *:not(#print-root) { display: none !important; }
    .print-root { position: static; overflow: visible; background: #fff; }
    .print-toolbar { display: none; }
    .print-sheets { display: block; padding: 0; }
    .print-page {
        width: auto; min-height: 0; box-shadow: none; margin: 0; padding: 15mm 18mm;
        break-after: page; page-break-after: always;
    }
    .print-page:last-child { break-after: auto; page-break-after: auto; }
}
