/* =========================================
   ERS Report Builder - Print Stylesheet
   Applied via @media print for PDF export
   (window.print() or Puppeteer)
   ========================================= */

@media print {

  /* Page setup */
  @page {
    size: letter;
    margin: 0.75in;
  }

  /* Hide all editor chrome */
  .header,
  .rb-sidebar,
  .rb-card-header,
  .rb-regen-panel,
  .rb-no-print,
  .rb-add-panel,
  .footer {
    display: none !important;
  }

  /* Canvas fills the page */
  .rb-app {
    display: block;
  }

  .rb-canvas {
    padding: 0;
    background: white;
    display: block;
  }

  /* Cards lose their wrapper styling */
  .rb-card {
    box-shadow: none;
    border: none;
    border-radius: 0;
    margin-bottom: 0;
    background: white;
    overflow: visible;
  }

  .rb-card-body {
    padding: 0;
    margin-bottom: 0.5rem;
  }

  /* Force background colors (callout boxes, table headers) */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Table page breaks */
  tr {
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  /* Sections flow naturally */
  .rb-card {
    page-break-inside: auto;
  }

  /* Links: no underlines */
  a {
    color: #1F3864;
    text-decoration: none;
  }

  /* Cover page: force page break after */
  .rb-cover-page {
    page-break-after: always;
  }

  /* Running header — shown at top of printed output (after cover).
     Note: position:fixed headers repeat on every page in Chromium print
     but may overlap content. For window.print() V1, we accept this
     limitation. Puppeteer headerTemplate will replace this in Phase 2+. */
  .rb-print-header {
    display: block !important;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    color: #595959;
    padding-bottom: 4pt;
    border-bottom: 1pt solid #1F3864;
  }

  .rb-print-header .ph-left   { float: left; }
  .rb-print-header .ph-center { text-align: center; }
  .rb-print-header .ph-right  { float: right; }

  /* Running footer */
  .rb-print-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9pt;
    color: #595959;
    padding-top: 4pt;
    border-top: 1pt solid #1F3864;
  }

  .rb-print-footer .pf-left   { float: left; }
  .rb-print-footer .pf-center { text-align: center; }
  .rb-print-footer .pf-right  { float: right; }
}

/* Hide print-only elements on screen */
.rb-print-header,
.rb-print-footer {
  display: none;
}
