/* EDS O2-Planung — Ausdruck: A5 hoch auf der linken Hälfte eines A4 quer, mit Schnittzeichen.
 * Die Regeln für .print-sheet gelten auch am Bildschirm (unsichtbar), damit die App vor dem
 * Drucken messen kann, ob der Inhalt auf die A5-Seite passt (Klassen fit-0 … fit-5). */

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

.print-sheet { position: relative; width: 297mm; height: 209.5mm; overflow: hidden; background: #ffffff; color: #111111;
  font-family: 'IBM Plex Mono', Consolas, monospace; font-size: 12px; line-height: 1.3; }
.print-sheet.measure { display: block; position: absolute; left: -20000px; top: 0; visibility: hidden; pointer-events: none; }
.print-sheet .crop { position: absolute; left: 148.5mm; width: 1px; height: 20px; background: #111111; }
.print-sheet .crop.top { top: 12px; } .print-sheet .crop.bottom { bottom: 12px; }
.print-sheet .crop-label { position: absolute; left: calc(148.5mm + 9px); top: 14px; color: #555555; }
.print-sheet .a5 { position: absolute; left: 0; top: 0; width: 148.5mm; height: 209.5mm; padding: 40px; display: flex; flex-direction: column; gap: 10px; overflow: hidden; }
.print-sheet sub { font-size: .7em; line-height: 0; }
.print-sheet .p-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 8px; border-bottom: 1px solid #111111; }
.print-sheet .p-title { font-family: 'Inter', system-ui, sans-serif; font-size: 1.67em; font-weight: 600; line-height: 1.2; }
.print-sheet .p-link { margin-top: 6px; font-weight: 600; word-break: break-all; }
.print-sheet .p-name { margin-top: 4px; font-family: 'Inter', system-ui, sans-serif; font-size: 1.15em; font-weight: 600; }
.print-sheet .p-switch { margin-top: -2px; }
.print-sheet .p-warn { border: 1px solid #111111; padding: 2px 6px; font-weight: 600; }
.print-sheet .dim { color: #555555; }
.print-sheet .p-brand { display: flex; align-items: flex-start; gap: 10px; flex-shrink: 0; }
.print-sheet .p-brand svg { width: 62px; height: 62px; display: block; }
.print-sheet .p-brand img { height: 34px; width: auto; }
.print-sheet .p-bal { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 6px 8px; border: 1px solid #111111; }
.print-sheet .p-bal .v { font-size: 1.42em; font-weight: 700; white-space: nowrap; }
.print-sheet .p-bal .k { color: #555555; white-space: nowrap; }
.print-sheet .p-status { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px; padding-top: 4px; border-top: 1px solid #111111; font-weight: 700; }
.print-sheet .p-status svg { width: 16px; height: 16px; flex-shrink: 0; }
.print-sheet .p-two { display: flex; gap: 16px; align-items: flex-start; }
.print-sheet .p-two > .grow { flex: 1 1 0; min-width: 0; }
.print-sheet .p-set { flex: 0 0 200px; }
.print-sheet .p-set .kv { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding-top: 2px; border-top: 1px solid #111111; }
.print-sheet .p-set .kv span:nth-child(even) { text-align: right; white-space: nowrap; }
.print-sheet .p-setline { padding-top: 2px; border-top: 1px solid #111111; }
.print-sheet .h { font-weight: 700; margin-bottom: 2px; }
.print-sheet table { width: 100%; border-collapse: collapse; }
.print-sheet th { padding: 2px 4px; text-align: right; font-weight: 600; border-bottom: 1px solid #111111; white-space: nowrap; }
.print-sheet td { padding: 2px 4px; text-align: right; white-space: nowrap; }
.print-sheet th.l, .print-sheet td.l { text-align: left; }
.print-sheet tr.lvl td.l { font-weight: 700; }
.print-sheet tr.auto td { padding: 1px 4px; font-size: .875em; color: #555555; }
.print-sheet tr.auto td.l { padding-left: 14px; }
.print-sheet tr.tot td { font-weight: 700; border-top: 1px solid #111111; }
.print-sheet .cyl-cols { display: flex; gap: 16px; } .print-sheet .cyl-cols > table { flex: 1 1 0; }
.print-sheet .notes th, .print-sheet .notes td { border: 1px solid #111111; text-align: left; }
.print-sheet .notes td { height: 22px; }
.print-sheet .p-foot { margin-top: auto; color: #555555; }

.print-sheet.fit-1 .notes, .print-sheet.fit-2 .notes, .print-sheet.fit-3 .notes, .print-sheet.fit-4 .notes, .print-sheet.fit-5 .notes { display: none; }
.print-sheet.fit-2, .print-sheet.fit-3, .print-sheet.fit-4, .print-sheet.fit-5 { line-height: 1.15; }
.print-sheet.fit-2 .a5, .print-sheet.fit-3 .a5, .print-sheet.fit-4 .a5, .print-sheet.fit-5 .a5 { gap: 6px; }
.print-sheet.fit-2 td, .print-sheet.fit-3 td, .print-sheet.fit-4 td, .print-sheet.fit-5 td { padding-top: 1px; padding-bottom: 1px; }
.print-sheet.fit-3 { font-size: 11px; }
.print-sheet.fit-4 { font-size: 10px; }
.print-sheet.fit-5 { font-size: 9.33px; }

@media print {
  html, body { background: #ffffff !important; margin: 0 !important; padding: 0 !important; }
  body > *:not(.print-sheet) { display: none !important; }
  .print-sheet, .print-sheet.measure { display: block !important; position: relative !important; left: 0 !important; visibility: visible !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
