@page {
  size: A4 portrait;
  margin: 9mm 10mm 8mm;
}

html,
body.kzr-preview {
  background: #fff !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.kzr-preview .kzr-app {
  color: #000 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 8pt !important;
  line-height: 1.28 !important;
  margin: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  print-color-adjust: economy !important;
  -webkit-print-color-adjust: economy !important;
}

body.kzr-preview .kzr-app > :not(.kzr-print-report) {
  display: none !important;
}

body.kzr-preview .kzr-print-report {
  display: block !important;
  width: 100% !important;
}

.kzr-print-report h1,
.kzr-print-report h2,
.kzr-print-report h3,
.kzr-print-report p,
.kzr-print-report dl,
.kzr-print-report dd,
.kzr-print-report ol {
  margin: 0 !important;
}

.kzr-print-header {
  align-items: flex-start;
  border-bottom: 2px solid #000;
  display: flex;
  justify-content: space-between;
  padding: 0 0 4mm;
}

.kzr-print-brand-space { height: 3.6mm; }

.kzr-print-header h1 {
  color: #000;
  font-size: 20pt !important;
  letter-spacing: -.025em;
  line-height: 1.05;
  margin-top: 1.5mm !important;
}

.kzr-print-subtitle {
  color: #000;
  font-size: 8pt;
  margin-top: 1.5mm !important;
}

.kzr-print-document-meta {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  padding-top: 1mm;
  white-space: nowrap;
}

.kzr-print-document-meta strong {
  background: #fff;
  border: 1px solid #000;
  border-radius: 2mm;
  color: #000;
  font-size: 8pt;
  letter-spacing: .08em;
  padding: 1.2mm 3mm;
  text-transform: uppercase;
}

.kzr-print-section {
  margin-top: 4mm;
}

.kzr-print-section-title {
  align-items: center;
  display: flex;
  gap: 2mm;
  margin-bottom: 2mm;
}

.kzr-print-section-title > span {
  align-items: center;
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  color: #000;
  display: inline-flex;
  font-size: 6.5pt;
  font-weight: 700;
  height: 5mm;
  justify-content: center;
  width: 5mm;
}

.kzr-print-section-title h2,
.kzr-print-sources h2 {
  color: #000;
  font-size: 10pt !important;
  line-height: 1.1;
}

.kzr-print-facts {
  border: 1px solid #000;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.kzr-print-facts > div {
  align-items: baseline;
  display: grid;
  gap: 2mm;
  grid-template-columns: 35mm 1fr;
  min-height: 8mm;
  padding: 1.7mm 2.5mm;
}

.kzr-print-facts > div:nth-child(even) { border-left: 1px solid #000; }
.kzr-print-facts > div:nth-child(n+3) { border-top: 1px solid #000; }
.kzr-print-facts dt { color: #000; font-size: 6.8pt; }
.kzr-print-facts dd { color: #000; font-size: 7.3pt; font-weight: 700; }

.kzr-print-result-section {
  align-items: stretch;
  background: #fff;
  border: 1.2mm solid #000;
  color: #000;
  display: grid;
  gap: 3mm 5mm;
  grid-template-columns: 49mm 1fr;
  margin-top: 4mm;
  padding: 3.5mm 4mm 3mm;
}

.kzr-print-result-lead {
  border-right: 1px solid #000;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.kzr-print-result-lead p { color: #000; font-size: 6.8pt; }
.kzr-print-result-lead strong { color: #000; font-size: 17pt; line-height: 1.05; margin-top: 1mm; }
.kzr-print-results { display: grid; grid-template-columns: repeat(4, 1fr); }
.kzr-print-results > div { border-left: 1px solid #000; padding: 1mm 2.5mm; }
.kzr-print-results > div:first-child { border-left: 0; }
.kzr-print-results dt { color: #000; font-size: 6.3pt; }
.kzr-print-results dd { color: #000; font-size: 8.3pt; font-weight: 700; margin-top: 1.1mm !important; white-space: nowrap; }
.kzr-print-equation { border-top: 1px solid #000; color: #000; font-size: 7pt; grid-column: 1 / -1; padding-top: 2mm; text-align: center; }

.kzr-print-method-grid {
  border: 1px solid #000;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.kzr-print-method-grid > div { padding: 2mm 2.5mm; }
.kzr-print-method-grid > div + div { border-left: 1px solid #000; }
.kzr-print-method-grid h3 { color: #000; font-size: 6.6pt; letter-spacing: .05em; margin-bottom: 1mm !important; text-transform: uppercase; }
.kzr-print-method-grid p { font-size: 7pt; }
.kzr-print-formula { color: #000; font-family: "Courier New", monospace; font-size: 7.4pt !important; font-weight: 700; margin-bottom: 1mm !important; }
.kzr-print-rounding { color: #000; font-size: 6.2pt !important; margin-top: 1mm !important; }

.kzr-print-period-title p {
  color: #000;
  font-size: 6.5pt;
  margin-left: auto !important;
}

.kzr-print-periods {
  display: grid;
  gap: 2mm;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kzr-print-periods.has-1-columns { grid-template-columns: 1fr; }
.kzr-print-periods.has-3-columns { gap: 1.5mm; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kzr-print-periods table { border-collapse: collapse; min-width: 0; table-layout: fixed; width: 100%; }
.kzr-print-periods th:first-child { width: 48%; }
.kzr-print-periods th { background: #fff; border: 1px solid #000; color: #000; font-size: 6.1pt; font-weight: 700; padding: 1mm 1.5mm; text-align: left; }
.kzr-print-periods th:last-child { text-align: right; }
.kzr-print-periods td { border: 1px solid #000; color: #000; font-size: 6.3pt; padding: .85mm 1.5mm; white-space: nowrap; }
.kzr-print-periods td:last-child { font-variant-numeric: tabular-nums; text-align: right; }
.kzr-print-periods.has-3-columns th,
.kzr-print-periods.has-3-columns td { font-size: 5.55pt; padding-left: .8mm; padding-right: .8mm; }
.kzr-print-projection { color: #000; font-size: 6.2pt; margin-top: 1mm !important; }

.kzr-print-sources {
  border-top: 1px solid #000;
  margin-top: 3mm;
  padding-top: 2.5mm;
}

.kzr-print-sources h2 { margin-bottom: 1.2mm !important; }
.kzr-print-sources ol { padding-left: 4mm; }
.kzr-print-sources li { color: #000; font-size: 6.2pt; line-height: 1.27; margin-top: .8mm; padding-left: .8mm; }
.kzr-print-sources li span { color: #000; overflow-wrap: anywhere; }
.kzr-print-sources > p { background: #fff; border: 1px solid #000; color: #000; font-size: 6.1pt; margin-top: 1.5mm !important; padding: 1.5mm 2mm; }

.kzr-print-footer {
  border-top: 1px solid #000;
  color: #000;
  display: flex;
  font-size: 5.8pt;
  justify-content: space-between;
  margin-top: 2.5mm;
  padding-top: 1.5mm;
}

@media print and (max-height: 250mm) {
  .kzr-print-periods td { padding-bottom: .65mm; padding-top: .65mm; }
}
