:root { --tdp-yellow: #FFCC00; --tdp-red: #D32F2F; }
@page { size: A4 portrait; margin: 12mm; }
* { box-sizing: border-box; }
html, body { background: #fff; color: #000; margin: 0; padding: 0;
  font-family: "Segoe UI", Arial, sans-serif; font-size: 11pt;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.print-page { padding: 0; }

.ph { display: flex; align-items: center; gap: 4mm;
  border-bottom: 1.5pt solid var(--tdp-yellow);
  padding-bottom: 4mm; }
.ph-leaders { display: flex; gap: 3mm; align-items: center; flex-shrink: 0; }
.ph-leaders img {
  height: 22mm; width: 22mm;
  border-radius: 50%;
  object-fit: cover;
  border: 0.8pt solid var(--tdp-yellow);
  background: #fff;
}
.ph-title { flex: 1; min-width: 0; text-align: center;
  padding-left: 2mm; padding-right: 30mm; }
.ph-yellow { color: var(--tdp-yellow); font-weight: 900; font-size: 18pt;
  -webkit-text-stroke: 0.5pt #222; line-height: 1.15; }
.ph-red { color: var(--tdp-red); font-weight: 800; font-size: 14pt; margin-top: 2mm; line-height: 1.15; }
.ph-meta { font-size: 10pt; margin-top: 3mm; display: flex; gap: 10mm; justify-content: center; flex-wrap: wrap; }

.block { margin-top: 5mm; page-break-inside: avoid; }
table.kv { width: 100%; border-collapse: collapse; }
table.kv th, table.kv td { border: 0.5pt solid #555; padding: 2mm 3mm;
  font-size: 10.5pt; vertical-align: top; line-height: 1.3; }
table.kv th { background: #f4f4f4; text-align: left; width: 30mm; font-weight: 700; }
table.kv td { background: #fff; }

.barcode-box {
  margin: 6mm auto; border: 1pt dashed #444; height: 45mm; width: 110mm;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; font-weight: 700; font-size: 12pt;
  page-break-inside: avoid;
}
.bc-num { font-weight: 400; font-size: 9pt; margin-top: 3mm; color: #555; }

.block h4 { margin: 0 0 2mm 0; font-size: 11pt; }
.vitals-grid th { width: 22mm; }

.pf { margin-top: 6mm; font-size: 10pt; line-height: 1.4; page-break-inside: avoid; }
.pf-brand { text-align: center; color: var(--tdp-red); font-weight: 700; margin-top: 3mm;
  border-top: 1pt solid var(--tdp-yellow); padding-top: 2mm; font-size: 11pt; }

@media screen {
  body { background: #ddd; }
  .print-page { background: #fff; max-width: 210mm; min-height: 297mm;
    margin: 12px auto; padding: 12mm; box-shadow: 0 2px 12px rgba(0,0,0,.2); }
}
