/* Keep the print action, without the removed page introduction. */
.page-heading:has(.print-button) { justify-content: flex-end; margin-bottom: 18px; }
@media screen {
  .page-heading .print-button { display: inline-flex !important; }
}

/* Same dimensions during measurement and print, independent of phone width/Aa. */
.ov-print-host {
  position: absolute; left: -100000px; top: 0; width: 186mm;
  visibility: hidden; pointer-events: none;
}
.ov-print-paper {
  box-sizing: border-box; width: 186mm; margin: 0 auto; padding: 0;
  color: #111; background: white; font: 10pt/1.25 Arial, Helvetica, sans-serif;
  font-variant-numeric: tabular-nums; zoom: var(--ov-print-scale, 1);
}
.ov-print-paper * { box-sizing: border-box; }
.ov-print-paper .ov-print-header {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 3mm; border-bottom: 0.7mm solid #c81e2b;
}
.ov-print-brand { font-size: 11pt; font-weight: 800; letter-spacing: 0.3pt; }
.ov-print-label { font-size: 8pt; letter-spacing: 1.5pt; }
.ov-print-title { display: flex; justify-content: space-between; align-items: baseline; gap: 4mm; padding: 4mm 0; }
.ov-print-title h1 { margin: 0; font-size: 19pt; line-height: 1.15; letter-spacing: -0.4pt; }
.ov-print-title p { margin: 0; font-size: 10pt; line-height: 1.25; }
.ov-print-metrics { display: flex; padding: 2mm 0 4mm; gap: 12mm; }
.ov-print-metrics div { display: grid; gap: 1mm; min-width: 28mm; }
.ov-print-metrics span { font-size: 8pt; text-transform: uppercase; letter-spacing: 0.5pt; }
.ov-print-metrics strong { font-size: 16pt; line-height: 1.15; font-weight: 600; }
.ov-print-paper .ov-print-table { width: 100%; border-collapse: collapse; table-layout: fixed; font: inherit; }
.ov-print-table th { padding: 1.8mm 1.3mm; background: #e9ecef; color: #111; font-size: 8.5pt; font-weight: 700; border-block: 0.3mm solid #687078; text-align: left; }
.ov-print-table td { padding: 1.2mm 1.3mm; border-bottom: 0.2mm solid #d5d8dc; color: #111; vertical-align: top; font-size: 10pt; line-height: 1.25; overflow-wrap: anywhere; }
.ov-print-table td:nth-child(3) { font-size: 11.5pt; font-weight: 800; }
.ov-print-table td:first-child { font-weight: 700; }
.ov-print-table tr:nth-child(even) { background: #f3f4f5; }
.ov-print-table .ov-print-pause { background: #e9efeb; }
.ov-print-note { font-size: 9pt; font-weight: 600; }
.ov-print-empty { padding: 15mm 0; font-size: 12pt; }
.ov-print-source { border-top: 0.3mm solid #687078; margin-top: 3mm; padding-top: 2mm; font-size: 8pt; line-height: 1.3; color: #333; }
.ov-print-ruler { height: 268mm; width: 1px; }

@page { size: A4 portrait; margin: 12mm; }
@media print {
  html:has(.ov-print-host), body:has(.ov-print-host) {
    margin: 0 !important; padding: 0 !important; min-height: 0 !important;
    height: auto !important; background: white !important;
  }
  body:has(.ov-print-host) > :not(.ov-print-host) { display: none !important; }
  .ov-print-host {
    position: static; width: 186mm; margin: 0; padding: 0;
    visibility: visible; pointer-events: auto;
    print-color-adjust: exact; -webkit-print-color-adjust: exact;
  }
  .ov-print-paper { break-inside: avoid; }
  .ov-print-table tr { break-inside: avoid; }
}
