/* AutoRef harmonic report: fixed A4 sheets, matching the heat calculation report.
   Sheet 1 is an engineering drawing sheet (ISO-style zone border and title block);
   later sheets carry a running head, numbered sections and a footer strip. */

.hc-report.hr-set {
  width: auto; align-items: center; padding: 0; gap: 24px; border: 0; border-radius: 0; box-shadow: none; background: transparent;
  font-family: var(--font-sans); font-variant-numeric: tabular-nums; line-height: 1.3;
}
.hc-report-preview:has(.hr-set) { overflow-x: auto; justify-content: flex-start; }
@media (min-width: 900px) { .hc-report-preview:has(.hr-set) { justify-content: center; } }

.hr-sheet {
  position: relative; box-sizing: border-box; width: 210mm; height: 297mm; flex: none; overflow: hidden;
  background: var(--paper-0); color: var(--ink-600); border: 1px solid var(--line-default); box-shadow: var(--shadow-1);
}

/* ---- Sheet 1: drawing sheet, A4 landscape --------------------------------------------- */
.hr-sheet--drawing { width: 297mm; height: 210mm; page: hr-landscape; }
.hr-frame { position: absolute; inset: 0; width: 297mm; height: 210mm; }
.hr-frame__ink { fill: var(--ink-500); }
.hr-frame__trim { fill: none; stroke: var(--ink-900); stroke-width: .12; }
.hr-frame__frame { fill: none; stroke: var(--ink-900); stroke-width: .28; }
.hr-frame__mark { fill: none; stroke: var(--ink-900); stroke-width: .28; }
.hr-frame__zone { font-family: var(--font-mono); font-weight: 500; font-size: 2.1px; fill: var(--ink-900); }
.hr-frame__zone--dark { fill: var(--paper-0); }

.hr-drawing {
  position: absolute; left: 27mm; right: 17mm; top: 17mm; bottom: 51mm;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3mm;
}
.hr-schedule { width: 150mm; align-self: flex-start; margin-top: 1mm; }
.hr-set .hr-table--schedule td:first-child { max-width: 60mm; }
.hr-drawing__view { flex: 0 1 auto; min-height: 0; width: 100%; display: flex; align-items: center; justify-content: center; }
.hr-drawing__view .hc-report__svg { width: 100%; height: auto; max-height: 112mm; }
.hr-viewtitle { margin: 0; display: flex; flex-direction: column; align-items: center; gap: .8mm; }
.hr-viewtitle > span:first-child {
  font-size: 7.5pt; font-weight: 600; letter-spacing: .08em; color: var(--ink-900);
  border-bottom: .6pt solid var(--ink-900); padding-bottom: .4mm;
}
.hr-viewtitle__scale { font-family: var(--font-mono); font-size: 6pt; letter-spacing: .06em; color: var(--ink-400); }

.hr-notes { position: absolute; left: 27mm; width: 80mm; bottom: 15mm; height: 31mm; }
.hr-sec-label {
  margin: 0 0 1.4mm; padding-bottom: 1mm; border-bottom: .5pt solid var(--line-default);
  font-size: 6.5pt; font-weight: 600; letter-spacing: .14em; color: var(--red-500);
}
.hr-notes ol { margin: 0; padding-left: 4mm; display: grid; gap: .6mm; font-size: 6.8pt; line-height: 1.35; color: var(--ink-600); }
.hr-notes li::marker { font-family: var(--font-mono); font-weight: 500; color: var(--ink-900); }

.hr-tb { position: absolute; right: 14mm; bottom: 14mm; width: 172mm; height: 33mm; border-top: .8pt solid var(--ink-900); }
.hr-tb::after { content: ''; position: absolute; left: 0; right: 0; top: 15mm; border-top: .5pt solid var(--ink-900); }
.hr-tb__cell { position: absolute; box-sizing: border-box; border: .3pt solid var(--ink-300); }
.hr-tb__label {
  position: absolute; left: 1.5mm; top: .9mm; white-space: nowrap;
  font-size: 5.5pt; font-weight: 600; letter-spacing: .08em; line-height: 1.15; color: var(--ink-400);
}
.hr-tb__value {
  position: absolute; left: 1.5mm; right: 1.2mm; bottom: 1.2mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-size: 7pt; line-height: 1.2; color: var(--ink-900);
}
.hr-tb__value--mono { font-family: var(--font-mono); font-size: 6.9pt; }
.hr-tb__cell--big .hr-tb__value {
  bottom: 1.4mm; white-space: normal; font-size: 10pt; font-weight: 600; line-height: 1.1;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.hr-tb__brand .hr-tb__logo { position: absolute; left: 3.5mm; top: 4.6mm; width: 25mm; height: auto; }
.hr-tb__brand .hr-tb__label { top: auto; bottom: 2.4mm; left: 3.5mm; letter-spacing: .12em; }

/* ---- Sheets 2+: running head, body, footer ----------------------------------------------- */
.hr-sheet--page { padding: 12mm 14mm 0; }
.hr-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 6mm;
  padding-bottom: 3mm; border-bottom: .9pt solid var(--red-500);
}
.hr-head__logo { width: 43mm; height: auto; display: block; }
.hr-head__titles { display: flex; flex-direction: column; align-items: flex-end; gap: 1mm; }
.hr-head__kicker { font-size: 6.5pt; font-weight: 600; letter-spacing: .14em; color: var(--red-500); }
.hr-head__title { font-size: 11pt; font-weight: 700; color: var(--ink-900); }
.hr-body { display: flex; flex-direction: column; gap: 2.6mm; padding-top: 5mm; }

.hr-foot {
  position: absolute; left: 14mm; right: 14mm; bottom: 9mm;
  display: grid; grid-template-columns: 2.1fr 1.4fr .8fr 1.3fr .6fr;
  border-top: .5pt solid var(--line-default); padding-top: 1.6mm;
}
.hr-foot__cell { display: flex; flex-direction: column; gap: .6mm; min-width: 0; padding-right: 3mm; }
.hr-foot__cell + .hr-foot__cell { padding-left: 3mm; border-left: .3pt solid var(--line-default); }
.hr-foot__label { font-size: 5.6pt; font-weight: 600; letter-spacing: .1em; color: var(--ink-400); }
.hr-foot__value { font-size: 7pt; color: var(--ink-900); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hr-foot__value--mono { font-family: var(--font-mono); font-size: 6.8pt; }
.hr-foot__sheet { align-items: flex-end; padding-right: 0; }

.hr-h {
  display: flex; align-items: baseline; gap: 2.4mm; margin-top: 3.4mm;
  padding-bottom: 1.3mm; border-bottom: .5pt solid var(--ink-500);
}
.hr-h__num { font-family: var(--font-mono); font-size: 7.5pt; font-weight: 500; color: var(--red-500); }
.hr-h__title { margin: 0; font-size: 7.5pt; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-900); }
.hr-h__meta { margin-left: auto; font-size: 6.5pt; color: var(--ink-400); text-align: right; }
.hr-caption { margin: 1.2mm 0 0; font-size: 6.2pt; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-400); }

/* Verdict band: the answer first. */
.hr-band {
  display: grid; grid-template-columns: 1.55fr 1fr 1fr; gap: 5mm; align-items: end;
  padding: 4mm 5mm 4.4mm; background: var(--paper-2);
  border-top: .7pt solid var(--ink-500); border-bottom: .5pt solid var(--ink-500);
}
.hr-band__verdict { display: flex; flex-direction: column; gap: 1.6mm; min-width: 0; }
.hr-band__words { font-size: 15pt; font-weight: 600; color: var(--ink-900); white-space: normal; gap: 2.6mm; }
.hr-band__words.hc-status::before { width: 9px; height: 9px; }
.hr-band__basis { font-size: 7.2pt; color: var(--ink-600); }
.hr-kpi { display: flex; flex-direction: column; gap: 1.2mm; min-width: 0; }
.hr-kpi__label { font-size: 5.8pt; font-weight: 600; letter-spacing: .12em; color: var(--ink-400); }
.hr-kpi__value { font-family: var(--font-mono); font-size: 19pt; font-weight: 500; line-height: 1; color: var(--ink-900); white-space: nowrap; }
.hr-kpi__sub { font-family: var(--font-mono); font-size: 6.8pt; color: var(--ink-600); }
.hr-indicative { margin: 0; font-size: 6.8pt; color: var(--ink-600); white-space: normal; }

/* Tables. */
.hr-table { font-size: 7.4pt; }
.hr-set .hr-table th {
  padding: 1.4mm 2mm 1.2mm; background: none; border-bottom: .5pt solid var(--ink-500);
  font-size: 6.4pt; font-weight: 600; letter-spacing: .02em; color: var(--ink-400);
  white-space: normal; vertical-align: bottom;
}
.hr-set .hr-table td { padding: 1.3mm 2mm; border-bottom: .3pt solid var(--line-default); color: var(--ink-600); vertical-align: middle; }
.hr-set .hr-table td.hc-report__num { font-family: var(--font-mono); font-size: 7.2pt; color: var(--ink-900); }
.hr-set .hr-table .hc-status { font-size: 7pt; }
.hr-table--key td:first-child { color: var(--ink-900); }
.hr-set .hr-table--dense td { padding: 1mm 1.6mm; }
.hr-set .hr-table--dense th { padding: 1.2mm 1.6mm 1mm; }
.hr-set .hr-table--dense td:first-child { max-width: 42mm; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hr-set .hr-table--orders td, .hr-set .hr-table--orders th { padding-left: 1.6mm; padding-right: 1.6mm; }
.hr-set .hr-table--orders td { padding-top: .95mm; padding-bottom: .95mm; }
.hr-set .hc-report__note { font-size: 6.8pt; color: var(--ink-400); }
.hr-set .hc-report__kv th, .hr-set .hc-report__kv td { padding: 1.2mm 0; font-size: 7.4pt; border-bottom: .3pt solid var(--line-default); }
.hr-set .hc-report__fig { font-size: 7.2pt; }
.hr-set .hc-report__figure { gap: 1mm; padding: 0; }
.hr-set .hc-report__figure figcaption { font-size: 6.5pt; text-align: center; color: var(--ink-400); }
.hr-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.hr-notelist { margin: 0; padding-left: 4.5mm; display: grid; gap: 1.4mm; font-size: 7.2pt; line-height: 1.4; color: var(--ink-600); }
.hr-notelist li::marker { font-family: var(--font-mono); color: var(--ink-900); }

/* ---- Print: one sheet per A4 page, no page margin (the sheets carry their own). ---- */
@page { size: A4; margin: 0; }
@page hr-landscape { size: A4 landscape; margin: 0; }
@media print {
  /* Block layout so the drawing sheet's named landscape page applies. */
  .hc-print .hc-report.hr-set { display: block; width: auto; gap: 0; padding: 0; }
  .hc-print .hr-sheet { border: 0; box-shadow: none; break-after: page; break-inside: avoid; }
  .hc-print .hr-sheet:last-child { break-after: auto; }
  .hr-set .hc-report__table thead { display: table-header-group; }
}
