/* vorlagenfix.de – Dokumentblatt (Vorschau, Druck, Word-Export) */
.doc { font: 11pt/1.4 Arial, Helvetica, sans-serif; color: #000; }
.doc p { margin: 0 0 3.2mm; }
.doc ul, .doc ol { margin: 0 0 3mm; padding-left: 5mm; }
.doc table { border-collapse: collapse; }

/* Brief */
.l-sender { font-size: 9.5pt; line-height: 1.35; margin: 0 0 14mm; }
.l-recipient { margin: 0 0 12mm; min-height: 22mm; }
.l-date { text-align: right; margin: 0 0 9mm; }
.l-subject { font-weight: bold; margin: 0 0 7mm !important; }
.l-closing { margin-top: 4mm !important; }
.sigspace { height: 13mm; }
.signame { margin: 0; }
.sigs { width: 100%; margin-top: 6mm; }
.sigs td { width: 50%; padding-right: 8mm; vertical-align: bottom; padding-top: 14mm; }
.sigline { border-top: 0.5pt solid #000; margin-bottom: 1mm; }
.anlagen { margin-top: 10mm !important; font-size: 10pt; }

/* Lebenslauf */
.cv-head { width: 100%; margin-bottom: 5mm; }
.cv-head td { vertical-align: top; }
.cv-name { font-size: 22pt; font-weight: bold; line-height: 1.15; color: #1f3864; }
.cv-role { font-size: 12pt; color: #444; margin-top: 1mm; }
.cv-photo { width: 33mm; text-align: right; }
.cv-photo img { width: 31mm; height: 40mm; object-fit: cover; }
.cv-profile { font-style: italic; margin: 0 0 4mm; }
.cv-h { font-size: 11pt; font-weight: bold; text-transform: uppercase; letter-spacing: .4pt; color: #1f3864; border-bottom: 1pt solid #1f3864; margin: 5mm 0 2.5mm; padding-bottom: 0.8mm; break-after: avoid; }
.cv-t { width: 100%; }
.cv-t td { vertical-align: top; padding: 0 0 2.2mm; }
.cv-t td.cv-when { width: 34mm; padding-right: 4mm; color: #333; }
.cv-t ul { margin: 0.8mm 0 0; padding-left: 4.5mm; }
.cv-t tr { break-inside: avoid; }
.cv-foot { margin-top: 8mm !important; }

/* Rechnung */
.inv-top { margin-bottom: 8mm; }
.inv-firma { font-size: 18pt; font-weight: bold; color: #1b5e3a; }
.inv-small { font-size: 9.5pt; color: #444; }
.inv-backline { font-size: 7.5pt; color: #555; border-bottom: 0.4pt solid #888; display: inline-block; margin-bottom: 1.5mm; }
.inv-addr { width: 100%; margin-bottom: 9mm; }
.inv-addr td { vertical-align: top; }
.inv-rec { width: 95mm; min-height: 25mm; }
.inv-meta table { margin-left: auto; font-size: 10pt; }
.inv-meta td { padding: 0.4mm 0 0.4mm 6mm; }
.inv-meta td:first-child { color: #444; }
.inv-title { font-size: 15pt; margin: 0 0 4mm; }
.inv-t { width: 100%; margin: 2mm 0 4mm; font-size: 10pt; }
.inv-t th { background: #e8f3ec; border-bottom: 1.2pt solid #1b5e3a; text-align: left; padding: 1.8mm 2mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.inv-t td { padding: 2mm; border-bottom: 0.4pt solid #bbb; vertical-align: top; }
.inv-t tr { break-inside: avoid; }
.c { text-align: center; width: 10mm; }
.r { text-align: right; white-space: nowrap; }
.inv-t th.r, .inv-t th.c { text-align: right; }
.inv-t th.c { text-align: center; }
.inv-sum { margin-left: auto; margin-bottom: 6mm; min-width: 75mm; font-size: 10.5pt; }
.inv-sum td { padding: 1mm 2mm; }
.inv-sum .tot td { font-weight: bold; border-top: 1.2pt solid #000; font-size: 12pt; padding-top: 1.8mm; }
.inv-note { font-size: 10pt; font-style: italic; }
.inv-foot { margin-top: 10mm; border-top: 0.5pt solid #888; padding-top: 3mm; font-size: 9pt; color: #333; break-inside: avoid; }
.inv-foot table { width: 100%; }
.inv-foot td { vertical-align: top; width: 50%; }

/* Wochenplaner */
.wp-title { font-size: 18pt; margin: 0 0 3mm; color: #5b1580; }
.wp { width: 100%; table-layout: fixed; border: 0.8pt solid #444; }
.wp th, .wp td { border: 0.4pt solid #888; font-size: 8.5pt; }
.wp thead th { background: #efe4f6; height: 9mm; font-size: 10pt; border-bottom: 1pt solid #444; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.wp thead th span { display: block; font-weight: normal; font-size: 8pt; color: #444; }
.wp .wp-time { width: 14mm; }
.wp tbody th { width: 14mm; font-weight: normal; font-size: 8pt; color: #333; background: #f7f1fa; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.wp td { vertical-align: top; padding: 0.4mm 1mm; overflow: hidden; }
.wp-ev { background: #efe4f6; border-left: 1.5pt solid #7719aa; padding: 0.3mm 1mm; margin-bottom: 0.4mm; font-size: 8pt; line-height: 1.2; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.wp-bottom { width: 100%; margin-top: 4mm; table-layout: fixed; }
.wp-bottom td { vertical-align: top; width: 50%; padding-right: 6mm; font-size: 10pt; }
.wp-line { border-bottom: 0.5pt solid #777; height: 7mm; }

/* Papierblatt (Vorschau + Druck) */
.sheet {
  --pt: 18mm; --pr: 20mm; --pb: 18mm; --pl: 25mm;
  background: #fff; width: 210mm; min-height: 297mm; box-sizing: border-box;
  padding: 0 var(--pr) 0 var(--pl); transform-origin: top left;
}
.sheet.landscape { width: 297mm; min-height: 210mm; }
.sheet table.paged { width: 100%; border-collapse: collapse; }
.sheet table.paged > thead > tr > td, .sheet table.paged > tfoot > tr > td, .sheet table.paged > tbody > tr > td { padding: 0; }
.sheet .sp-t { height: var(--pt); }
.sheet .sp-b { height: var(--pb); }
.preview .ph { background: #fff2b8; color: #6b5200; border-radius: 2px; padding: 0 1px; }

@media print {
  @page { margin: 0; }
  html, body { background: #fff !important; margin: 0 !important; }
  .no-print { display: none !important; }
  .workspace, .preview-panel, .sheet-wrap { display: block !important; position: static !important; overflow: visible !important; height: auto !important; width: auto !important; padding: 0 !important; margin: 0 !important; background: none !important; }
  .sheet { transform: none !important; box-shadow: none !important; margin: 0 !important; min-height: 0 !important; }
  .ph { background: none !important; color: inherit !important; padding: 0 !important; }
}

/* Weitere Dokumenttypen */
.doc-title { font-size: 20pt; margin: 0 0 6mm; text-align: center; color: #111; }
.doc .center { text-align: center; }
.doc .indent { margin-left: 8mm; }
.doc .par { font-size: 11pt; margin: 5mm 0 1.5mm; }
.kv { width: 100%; margin: 0 0 5mm; }
.kv td { padding: 1.6mm 2mm; border-bottom: 0.4pt solid #bbb; vertical-align: top; }
.kv .kvk { width: 42mm; color: #444; }
.kv.small td { padding: 1mm 2mm; font-size: 10pt; }
.kv.small .kvk { width: 30mm; }
.box { border: 0.8pt solid #444; padding: 4mm 5mm; margin-top: 8mm; break-inside: avoid; }
.q-box { border: 1.2pt solid #333; padding: 8mm 9mm; }
.q-head { display: block; border-bottom: 1.2pt solid #333; padding-bottom: 3mm; margin-bottom: 5mm; overflow: hidden; }
.q-title { font-size: 22pt; font-weight: bold; }
.q-amount { float: right; font-size: 20pt; font-weight: bold; border: 1.2pt solid #333; padding: 1mm 4mm; }
.st { width: 100%; font-size: 9pt; margin-top: 3mm; }
.st th, .st td { border: 0.4pt solid #777; padding: 0.6mm 1.5mm; height: 6.2mm; }
.st th { background: #e8f3ec; font-size: 8.5pt; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.st .we td { background: #f0f0f0; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.st .sum td { font-weight: bold; border-top: 1.2pt solid #333; }
.cl-h { font-size: 12pt; margin: 5mm 0 1.5mm; color: #5b1580; border-bottom: 1pt solid #5b1580; padding-bottom: 0.8mm; break-after: avoid; }
.cl { width: 100%; }
.cl td { padding: 1.3mm 0; vertical-align: top; }
.cl .cb { width: 8mm; font-size: 13pt; line-height: 1.1; }
.cl tr { break-inside: avoid; }

/* ===== Dokumentdesign (Schrift wählbar, dezente Akzente) ===== */
.doc { font-family: var(--docfont, Arial, Helvetica, sans-serif); }
.doc p, .doc td, .doc li { font-family: inherit; }
.l-sender { display: inline-block; min-width: 62mm; border-top: 2.5pt solid var(--acc, #2b579a); padding-top: 3mm; }
.l-sender::first-line { font-weight: bold; }
.l-subject { font-size: 11.5pt; }
.doc-title { border-bottom: 2pt solid var(--acc, #2b579a); padding-bottom: 3mm; }
.doc .par { color: var(--acc, #2b579a); }
.cv-name { font-size: 24pt; }

.wp.pp tbody th.tl { width: 48mm; text-align: left; font-size: 9.5pt; padding-left: 2mm; color: #201f1e; background: #f7f1fa; }
.wp.pp td { vertical-align: middle; text-align: center; font-size: 10pt; }
