/* A4 one-page print sheet — 0.5cm grid cell, logo area along the bottom */
#print-sheet { display: none; }

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

@media print {
  html, body { background: var(--offwhite); }
  #stage { display: none !important; }
  #print-sheet { display: block; }
}

#print-sheet {
  --pc: 5mm;
  position: relative;
  width: 210mm;
  height: 297mm;
  overflow: hidden;
  padding: calc(var(--pc) * 2) calc(var(--pc) * 2) calc(var(--pc) * 6);
  background: var(--offwhite);
  color: var(--navy);
  font-family: var(--font);
  font-size: 10pt;
  line-height: 1.45;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
#print-sheet h1 { font-weight: var(--w-black); font-size: 28pt; line-height: 1.1; }
#print-sheet h2 { font-weight: var(--w-semibold); font-size: 12pt; margin: 0 0 1.5mm; }
#print-sheet section, #print-sheet .ps-break { margin-block-start: var(--pc); }

.ps-head { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--pc); }
.ps-sub { font-weight: var(--w-light); font-size: 8pt; color: var(--darkgray); margin-block-start: 1mm; }
.ps-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 1.5mm; }
.ps-badges .badge { font-size: 8pt; line-height: 5mm; }
.ps-illus { font-size: 8pt; font-weight: var(--w-semibold); border: 1px solid var(--lightgray); border-radius: 999px; padding: 0 3mm; line-height: 5mm; }

.ps-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--pc); }
.ps-kpi { border-inline-start: 1.2mm solid var(--blue); padding-inline-start: 2.5mm; }
.ps-kpi-label { font-size: 8pt; font-weight: var(--w-semibold); color: var(--darkgray); }
.ps-kpi-value { font-size: 18pt; font-weight: var(--w-bold); line-height: 1.2; white-space: nowrap; }
.ps-kpi-sub { font-size: 8pt; font-weight: var(--w-light); color: var(--darkgray); }

.ps-charts { display: grid; grid-template-columns: 2fr 1fr; gap: var(--pc); align-items: start; }
.ps-chart svg { width: 100%; height: auto; display: block; }
.ps-chart .chart-legend { font-size: 7.5pt; gap: 1mm 4mm; }
.ps-gauge { text-align: center; }
.ps-gauge svg { width: 80%; height: auto; display: block; margin: 0 auto; }
.ps-gauge-value { font-size: 18pt; font-weight: var(--w-black); line-height: 1.1; }

.ps-break { border-inline-start: 1.2mm solid var(--green); padding: 1mm 0 1mm 2.5mm; padding-inline-start: 2.5mm; }
.ps-break.is-break { border-inline-start-color: var(--yellow); }

.ps-cols { display: grid; grid-template-columns: 1fr 2fr; gap: calc(var(--pc) * 2); }
.ps-inputs { width: 100%; border-collapse: collapse; font-size: 8pt; }
.ps-inputs th, .ps-inputs td { text-align: start; padding: 0.8mm 0; border-block-end: 1px solid var(--lightgray); }
.ps-inputs th { font-weight: var(--w-regular); color: var(--darkgray); }
.ps-inputs td { font-weight: var(--w-bold); text-align: end; }
.ps-explain { font-size: 9pt; }

.ps-scenarios .compare { font-size: 7.5pt; }
.ps-scenarios .compare th, .ps-scenarios .compare td { padding: 0.6mm 1.5mm; }
.ps-scenarios .sc-name { font-size: 8pt; }

/* Logo area along the bottom; full-color logo on Off-white, bottom-right corner */
.ps-foot {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  height: calc(var(--pc) * 6);
  border-top: 1px solid var(--lightgray);
  margin: 0 calc(var(--pc) * 2);
}
.ps-disclaimer {
  position: absolute;
  left: 0;
  right: calc(var(--pc) * 4);
  top: var(--pc);
  font-size: 8pt;
  font-weight: var(--w-light);
  color: var(--darkgray);
}
[dir="rtl"] .ps-disclaimer { text-align: right; }
.ps-logo {
  position: absolute;
  right: 0;
  bottom: calc(var(--pc) * 2);
  height: calc(var(--pc) * 3);
  width: auto;
}
