/* ---------- print report (js/report.js) ----------
   The #report container is appended to <body> just before window.print() and
   removed after. On screen it stays display:none (inline style); these rules
   flip the world for paper: hide the app, show only the report. Fluid widths
   throughout — no fixed pixel page assumptions, so US Letter and A4 both work. */

@media print {
  @page { margin: 14mm; }

  /* the app disappears, the report is the page */
  body > *:not(#report) { display: none !important; }
  #report { display: block !important; }

  body { background: #fff; margin: 0; }

  #report {
    font-family: 'IBM Plex Sans', system-ui, sans-serif;
    font-size: 10.5pt;
    line-height: 1.45;
    color: #17242A;
  }
  #report .rp-h1 {
    font-family: 'Barlow Condensed', 'IBM Plex Sans', sans-serif;
    font-size: 22pt; font-weight: 700; letter-spacing: .3px;
    margin: 0 0 4pt; border-bottom: 2.5pt solid #17242A; padding-bottom: 4pt;
  }
  #report .rp-meta { font-size: 9pt; color: #4A5B62; margin-bottom: 14pt; }
  #report .rp-h2 {
    font-family: 'Barlow Condensed', 'IBM Plex Sans', sans-serif;
    font-size: 14pt; font-weight: 600; text-transform: uppercase; letter-spacing: .6px;
    margin: 14pt 0 6pt; border-bottom: 1pt solid #7C8B90; padding-bottom: 2pt;
    break-after: avoid; page-break-after: avoid;
  }
  #report .rp-h3 {
    font-size: 10.5pt; font-weight: 600; margin: 0 0 4pt;
    break-after: avoid; page-break-after: avoid;
  }
  #report .rp-section { margin: 0 0 12pt; }
  /* cards and figures hold together; long prose (fineprint) may flow */
  #report .rp-card, #report .rp-figure {
    break-inside: avoid; page-break-inside: avoid;
    border: 1pt solid #C9D2CC; padding: 6pt 8pt; margin: 0 0 8pt;
  }
  #report .rp-cards { display: block; }
  #report .rp-big { font-family: 'IBM Plex Mono', monospace; font-size: 16pt; font-weight: 600; }
  #report .rp-pill { font-size: 8.5pt; color: #4A5B62; margin-bottom: 4pt; }
  #report .rp-figure { text-align: center; }
  #report .rp-figure img { max-width: 100%; height: auto; }
  #report .rp-cap { font-size: 8.5pt; color: #4A5B62; margin-top: 3pt; }
  #report .rp-note { font-size: 9.5pt; color: #17242A; margin: 4pt 0; }
  #report .rp-table { width: 100%; border-collapse: collapse; font-size: 9pt; }
  #report .rp-table td, #report .rp-table th {
    padding: 2pt 6pt 2pt 0; vertical-align: top; text-align: left;
    border-bottom: .5pt solid #E4E9E5;
  }
  #report .rp-table .rp-val, #report .rp-big { font-family: 'IBM Plex Mono', monospace; }

  /* cloned app fragments (health strip, cockpit rows, tax rows) restyled flat */
  #report .health { display: block; margin: 0 0 8pt; }
  #report .health a { text-decoration: none; color: #17242A; margin-right: 10pt; font-size: 9pt; }
  #report .rows div { display: flex; justify-content: space-between; gap: 12pt;
    font-size: 9pt; border-bottom: .5pt solid #E4E9E5; padding: 1.5pt 0; }
  #report .rows span:last-child { font-family: 'IBM Plex Mono', monospace; }
  #report .rp-fineprint { font-size: 7.5pt; line-height: 1.4; color: #2A363C; }
  #report .rp-fineprint p { margin: 0 0 5pt; }
  #report a { color: inherit; text-decoration: none; }
}
