@page { size: A4; margin: 20mm; }
@media print {
  html, body, main, .scan-shell, .scan-main, #results-stage, #report { background: #fff !important; }
  .report-cover { break-after: auto; }
  #executive-summary { display: block; break-after: page; padding-top: 8mm; }
  #executive-summary h3 { font-size: 20pt; margin: 5px 0 14px; }
  .executive-context { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 16px; }
  .executive-context p { background: #e5efeb; padding: 11px; margin: 0; font-size: 9pt; }
  .executive-context strong, .executive-context span { display: block; }
  .executive-context span { font-size: 11pt; font-weight: 700; margin-top: 5px; }
  .executive-pattern { border-top: 1px solid #b9ccc5; padding: 8px 0; break-inside: avoid; }
  .executive-pattern h4 { font-size: 11pt; margin: 0 0 4px; }
  .executive-pattern p { font-size: 9pt; line-height: 1.35; margin: 0; }
  #executive-findings { margin-top: 12px; }
  #executive-findings h4 { font-size: 10pt; margin: 0 0 5px; }
  #executive-findings ul { margin: 0; padding-left: 18px; font-size: 9pt; line-height: 1.4; }
  .executive-limits { font-size: 8.5pt; line-height: 1.35; margin: 12px 0; }
  .executive-contact { border-top: 1px solid #888; padding-top: 7px; font-size: 8.5pt; margin: 0; }
  .executive-contact a { color: #003055; text-decoration: underline; }
  .report-section { break-before: auto; }
  #report::after { content: none; display: none; }
  .report-cover h2 { font-size: 28pt; }
  .report-notice { margin-top: 14px; }
  .results-summary { margin: 23px 0; gap: 14px; }
  .results-summary > div { padding: 16px; }
  .results-summary strong { font-size: 3rem; }
  #control-position-label { font-size: 1.8rem; }
  .context-reasons { margin: 10px 0 16px; }
  .pattern-section { display: none; }
  .matrix-section { padding: 14px 0 18px; margin-bottom: 10px; }
  .matrix-section p { margin-bottom: 8px; }
  .matrix-section .matrix-movement { margin-top: 7px; }
  .report-section { padding: 17px 0; margin-top: 20px; }
  .report-section h3 { break-after: avoid; }
  .answer-row { padding: 3px 0; line-height: 1.25; font-size: .74rem; }
  .area-section { break-before: page; }
  .area-section h3 { break-after: avoid; }
  .finding-card { padding: 12px 0; }
  .finding-card h3 { font-size: 12pt; margin-bottom: 5px; }
  .finding-card > p { font-size: 8.7pt; margin: 5px 0; line-height: 1.35; }
  .finding-card details > div { display: grid !important; grid-template-columns: 110px minmax(0, 1fr); gap: 5px 12px; align-items: start; }
  .finding-card details strong { font-size: 8pt; }
  .finding-card details p { font-size: 8.5pt; margin: 0; line-height: 1.35; }
  #method { break-before: auto; break-inside: avoid; }
  #method a::after { content: none; }
  .printed-sources { display: block; margin-top: 12px; font-size: 8pt; }
  .printed-sources ul { padding-left: 16px; margin: 4px 0; }
  .printed-sources li { margin: 3px 0; overflow-wrap: anywhere; }
  .evidence-note { font-size: 7.5pt !important; line-height: 1.25 !important; margin: -1px 0 8px 80px !important; }
}
