/* CMR-Frachtbrief im Stenger-Design (Bildschirm & Druck) */
@font-face { font-family: 'Maven Pro'; font-weight: 400; font-display: swap; src: url('/fonts/maven-pro-regular.woff2') format('woff2'); }
@font-face { font-family: 'Maven Pro'; font-weight: 600; font-display: swap; src: url('/fonts/maven-pro-600.woff2') format('woff2'); }
@font-face { font-family: 'Maven Pro'; font-weight: 700; font-display: swap; src: url('/fonts/maven-pro-700.woff2') format('woff2'); }

.cmr-blatt { --st: #435fbc; --st-hell: #eef1fb; --navy: #1c2541;
  background: #fff; color: var(--navy); width: 210mm; min-height: 297mm; margin: 0 auto 10mm; padding: 8mm 10mm 7mm; box-shadow: 0 12px 32px rgba(28,37,65,.16);
  font: 9pt/1.32 'Maven Pro', Arial, sans-serif; box-sizing: border-box; position: relative; border-top: 3mm solid var(--st); }
.cmr-blatt::before { content: ""; position: absolute; left: 0; top: -3mm; width: 22mm; height: 3mm; background: var(--ex); }
.cmr-kopf { display: grid; grid-template-columns: auto 1fr auto; gap: 6mm; align-items: center; margin-bottom: 3.5mm; }
.cmr-logo img { display: block; height: 15mm; max-width: 52mm; }
.cmr-logo .cmr-firma { font-size: 15pt; font-weight: 700; color: var(--st); }
.cmr-titelblock { border-left: 1px solid #d3d9e4; padding-left: 5mm; }
.cmr-ex { display: inline-block; background: var(--ex); color: #fff; font-weight: 700; font-size: 7.5pt; text-transform: uppercase; letter-spacing: .6px; padding: .6mm 2.2mm; border-radius: 1mm; }
.cmr-titel { font-size: 15pt; font-weight: 700; margin-top: 1.2mm; color: var(--navy); letter-spacing: -.2px; }
.cmr-klein { font-size: 7pt; color: #5b647a; }
.cmr-nr { text-align: right; background: var(--st); color: #fff; padding: 2.5mm 4.5mm; border-radius: 2mm; min-width: 44mm; }
.cmr-nr span { display: block; font-size: 17pt; font-weight: 700; letter-spacing: 3px; line-height: 1; }
.cmr-nr b { display: block; font-size: 10.5pt; margin-top: 1mm; }
.cmr-nr .cmr-klein { color: #dfe5f6; }
.cmr-raster { display: grid; grid-template-columns: 1fr 1fr; border: 1.4px solid var(--st); border-radius: 1.5mm; overflow: hidden; }
.cmr-sp { display: flex; flex-direction: column; border-right: 1px solid var(--st); }
.cmr-sp > .cmr-f:last-child { flex: 1; }
.cmr-sp.rechts { border-right: none; }
.cmr-sp.unten { border-top: 1px solid var(--st); }
.cmr-gut, .cmr-voll, .cmr-sigs { grid-column: 1 / -1; display: grid; border-top: 1px solid var(--st); }
/* Warenzeile 6–12: feste Spaltenbreiten, Beschriftung in gleicher Höhe, Werte zeilengleich */
.cmr-gut { grid-template-columns: 1.15fr .74fr 1fr 2fr .8fr .86fr .8fr; }
.cmr-gut > .cmr-f { min-width: 0; min-height: 34mm; border-right: 1px solid #c9d2ec; border-bottom: none; display: flex; flex-direction: column; }
.cmr-gut > .cmr-f:last-child { border-right: none; }
.cmr-gut .cmr-l { height: 7.4mm; align-items: flex-start; margin-bottom: 1mm; line-height: 1.2; }
.cmr-gut .cmr-l b { flex: none; }
.cmr-gut .cmr-v { white-space: pre; overflow: hidden; text-overflow: clip; font-size: 8.8pt; line-height: 1.4; }
.cmr-gut > .cmr-f:nth-child(2) .cmr-v, .cmr-gut > .cmr-f:nth-child(6) .cmr-v, .cmr-gut > .cmr-f:nth-child(7) .cmr-v { text-align: right; }
.cmr-sigs { grid-template-columns: 1fr 1fr 1fr; background: #fafbfe; }
.cmr-f { border-bottom: 1px solid #c9d2ec; padding: 1.3mm 2.2mm; min-height: 10.5mm; }
.cmr-sp .cmr-f:last-child, .cmr-sigs .cmr-f, .cmr-voll .cmr-f { border-bottom: none; }
.cmr-sigs .cmr-f { border-right: 1px solid #c9d2ec; }
.cmr-sigs .cmr-f:last-child { border-right: none; }
.cmr-f.hoch { min-height: 21mm; }
.cmr-f.mittel { min-height: 15mm; }
.cmr-l { font-size: 6.6pt; color: #5b647a; margin-bottom: .8mm; display: flex; gap: 1.4mm; align-items: baseline; }
.cmr-l b { display: inline-flex; align-items: center; justify-content: center; min-width: 4.2mm; height: 4.2mm; padding: 0 .8mm; border-radius: 1mm; background: var(--st-hell); color: var(--st); font-size: 7pt; font-weight: 700; }
.cmr-v { white-space: pre-line; font-size: 9.3pt; color: var(--navy); }
.cmr-hinweis { font-size: 6.6pt; color: #5b647a; min-height: 0; background: var(--st-hell); line-height: 1.3; }
.cmr-voll .cmr-f { background: #fff5f5; }
.cmr-voll .cmr-l b { background: #fde3e5; color: #c8323a; }
.cmr-zeile .cmr-f { background: #fff; min-height: 0; display: flex; align-items: baseline; gap: 3mm; padding: 1.6mm 2.2mm; }
.cmr-zeile .cmr-l { margin: 0; } .cmr-zeile .cmr-l b { background: var(--st-hell); color: var(--st); }
/* Feld 20 als Kostentabelle */
.cmr-zahlung table { width: 100%; border-collapse: collapse; font-size: 6.8pt; }
.cmr-zahlung th { font-weight: 600; color: #5b647a; text-align: center; border-bottom: 1px solid #c9d2ec; padding: .3mm 1mm; }
.cmr-zahlung td { border-bottom: 1px solid #edf0f7; padding: .25mm 1mm; text-align: center; color: var(--navy); font-weight: 700; }
.cmr-zahlung td:first-child { text-align: left; font-weight: 400; color: #5b647a; width: 34%; }
.cmr-zahlung td:nth-child(2), .cmr-zahlung td:nth-child(4) { width: 22%; }
.cmr-zahlung tr:last-child td { border-bottom: none; }
.cmr-zahl-text { font-size: 8pt; margin-top: .8mm; }
.cmr-sig { min-height: 50mm !important; }
.cmr-sig img { display: block; max-width: 100%; max-height: 22mm; margin: 1mm 0; }
.cmr-ok { color: #23845a; font-weight: 700; }
.cmr-warn { color: #c8323a; font-weight: 700; }.cmr-fuss { display: flex; justify-content: space-between; font-size: 6.6pt; color: #8b93a6; margin-top: 2mm; }
/* Lieferschein */
.ls-blatt { --st: #435fbc; background: #fff; color: #1c2541; width: 210mm; min-height: 297mm; margin: 0 auto 10mm; padding: 14mm 16mm; box-sizing: border-box; position: relative;
  font: 10pt/1.4 'Maven Pro', Arial, sans-serif; box-shadow: 0 12px 32px rgba(28,37,65,.16); border-top: 3mm solid var(--st); }
.ls-kopf { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8mm; }
.ls-kopf img { height: 16mm; } .ls-firma { font-size: 16pt; color: var(--st); }
.ls-titelblock { text-align: right; } .ls-titel { font-size: 22pt; font-weight: 700; color: var(--st); line-height: 1; } .ls-nr { font-size: 12pt; font-weight: 600; margin-top: 1.5mm; }
.ls-meta { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3mm; background: #eef1fb; border-radius: 2mm; padding: 3mm 4mm; margin-bottom: 7mm; }
.ls-meta span, .ls-adressen span, .ls-block span, .ls-sigs span { display: block; font-size: 7.5pt; color: #5b647a; text-transform: uppercase; letter-spacing: .5px; margin-bottom: .8mm; }
.ls-adressen { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; margin-bottom: 7mm; }
.ls-adressen > div { border-left: 1mm solid var(--st); padding-left: 3.5mm; font-size: 10.5pt; }
.ls-pos { width: 100%; border-collapse: collapse; margin-bottom: 6mm; }
.ls-pos th { text-align: left; font-size: 8pt; color: var(--st); text-transform: uppercase; letter-spacing: .5px; border-bottom: 1.5px solid var(--st); padding: 2mm; }
.ls-pos td { padding: 3mm 2mm; border-bottom: 1px solid #e1e5ec; vertical-align: top; } .ls-pos .r { text-align: right; }
.ls-hinweis { background: #fff5f5; color: #c8323a; border-radius: 2mm; padding: 2.5mm 3.5mm; margin-bottom: 4mm; font-weight: 600; }
.ls-block { margin-bottom: 4mm; }
.ls-sigs { position: absolute; left: 16mm; right: 16mm; bottom: 26mm; display: grid; grid-template-columns: 1fr 1fr; gap: 10mm; }
.ls-sigs i { display: block; height: 18mm; border-bottom: 1px solid #1c2541; } .ls-sigs img { display: block; max-height: 18mm; max-width: 70mm; } .ls-sigs small { font-size: 8pt; color: #5b647a; }
.ls-fuss { position: absolute; left: 16mm; right: 16mm; bottom: 10mm; border-top: 1px solid #c9d0dc; padding-top: 2mm; font-size: 7.5pt; color: #8b93a6; }

/* Bescheinigung von Tätigkeiten */
.besch-blatt { --st: #435fbc; background: #fff; color: #1c2541; width: 210mm; min-height: 297mm; margin: 0 auto 10mm; padding: 12mm 14mm; box-sizing: border-box;
  font: 9.5pt/1.35 'Maven Pro', Arial, sans-serif; box-shadow: 0 12px 32px rgba(28,37,65,.16); border-top: 3mm solid var(--st); }
.besch-kopf { display: flex; gap: 6mm; align-items: center; margin-bottom: 6mm; }
.besch-kopf img { height: 14mm; }
.besch-firma { font-size: 15pt; color: var(--st); }
.besch-titel { font-size: 16pt; font-weight: 700; color: var(--st); }
.besch-klein { font-size: 8pt; color: #5b647a; }
.besch-abschnitt { font-weight: 700; color: var(--st); text-transform: uppercase; letter-spacing: .6px; font-size: 8pt; margin: 2mm 0; }
.besch-text { margin: 3mm 0 1.5mm; font-weight: 600; }
.besch-raster { display: grid; grid-template-columns: 1fr 1fr; border: 1.2px solid var(--st); border-radius: 1.5mm; overflow: hidden; }
.besch-f { padding: 1.5mm 2.5mm; border-bottom: 1px solid #c9d2ec; border-right: 1px solid #c9d2ec; min-height: 11mm; }
.besch-f.w2 { grid-column: 1 / -1; border-right: none; }
.besch-f:nth-last-child(-n+2) { border-bottom: none; }
.besch-l { font-size: 7pt; color: #5b647a; }
.besch-l b, .besch-grund b { display: inline-flex; min-width: 4.4mm; height: 4.4mm; align-items: center; justify-content: center; border-radius: 1mm; background: #eef1fb; color: var(--st); font-size: 7pt; margin-right: 1mm; }
.besch-v { font-size: 10.5pt; margin-top: .6mm; }
.besch-gruende { margin-top: 4mm; border: 1.2px solid var(--st); border-radius: 1.5mm; padding: 2mm 3mm; }
.besch-grund { display: flex; align-items: center; gap: 2mm; padding: 1.2mm 0; }
.besch-kreuz { display: inline-flex; width: 4.6mm; height: 4.6mm; border: 1.2px solid #1c2541; align-items: center; justify-content: center; font-weight: 700; flex: none; }
.besch-sig-zeile { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm 6mm; margin-top: 5mm; }
.besch-sig:nth-child(2) { grid-column: 1 / -1; order: 3; }
.besch-sig:nth-child(3) { order: 2; }
.besch-sig img { display: block; max-height: 18mm; max-width: 70mm; margin-top: 1mm; }
.besch-linie { border-bottom: 1px solid #1c2541; height: 16mm; }
.besch-fuss { margin-top: 8mm; font-size: 7pt; color: #8b93a6; }
#blaetter { overflow-x: auto; padding-bottom: 6px; }
@media print {
  #blaetter { overflow: visible; padding: 0; }
  .cmr-blatt { box-shadow: none; margin: 0; page-break-after: always; break-after: page; min-height: 0; height: 297mm; overflow: hidden; border-top-width: 3mm; }
  .cmr-blatt:last-child { page-break-after: auto; break-after: auto; }
  .cmr-blatt.nicht-drucken { display: none; }
  .ls-blatt { box-shadow: none; margin: 0; height: 297mm; overflow: hidden; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .besch-blatt { box-shadow: none; margin: 0; height: 297mm; overflow: hidden; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cmr-blatt, .cmr-nr, .cmr-ex, .cmr-blatt::before, .cmr-l b, .cmr-hinweis, .cmr-sigs { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}


/* Beschriftungen in schmalen Spalten umbrechen statt überlaufen */
.cmr-l span { min-width: 0; hyphens: manual; }
/* Warenzeile: Nummer und Beschriftung als Fließtext, Umbruch nur an Leerzeichen/Trennstellen */
.cmr-gut .cmr-l { display: block; height: 11mm; overflow: hidden; font-size: 6.3pt; line-height: 1.25; }
.cmr-gut .cmr-l b { margin-right: 1mm; vertical-align: .2mm; height: 3.8mm; min-width: 3.8mm; font-size: 6.6pt; }
.cmr-sig { min-height: 54mm !important; }