@media print {
  /* Hide navigation completely */
  nav,
  [as="nav"],
  header,
  [role="navigation"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: absolute !important;
    left: -9999px !important;
  }
  
  /* Hide all no-print elements */
  .no-print,
  [data-print="hide"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Hide all children of no-print */
  .no-print *,
  [data-print="hide"] *,
  nav *,
  [as="nav"] * {
    display: none !important;
    visibility: hidden !important;
  }
  
  /* Hide buttons */
  button,
  [type="button"] {
    display: none !important;
  }
  
  /* Hide selects */
  select {
    display: none !important;
  }
  
  /* Hide alerts */
  [role="alert"] {
    display: none !important;
  }
  
  /* Hide images in navbar */
  nav img,
  [as="nav"] img,
  .no-print img,
  [data-print="hide"] img {
    display: none !important;
  }
  
  /* Hide text in navbar */
  nav *,
  [as="nav"] * {
    display: none !important;
  }
  
  /* Show only report content */
  body {
    background: white !important;
  }
  
  /* Remove shadows */
  * {
    box-shadow: none !important;
    text-shadow: none !important;
  }
  
  /* Ensure colors print */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }
  
  /* Make body and content flow as one continuous page */
  html, body {
    height: auto !important;
    overflow: visible !important;
  }
  
  /* Remove any page break behavior */
  * {
    page-break-before: auto !important;
    page-break-after: auto !important;
    page-break-inside: auto !important;
    break-before: auto !important;
    break-after: auto !important;
    break-inside: auto !important;
  }
  
  @page {
    /* Keep margins for padding */
    margin-top: 0.3cm;
    margin-bottom: 0.3cm;
    margin-left: 1cm;
    margin-right: 1cm;
    size: A4;
  }
  
  /* First page (cover) - no margins or padding */
  @page:first {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Remove padding from cover page when printing */
  .cover-page {
    padding: 0 !important;
    margin: 0 !important;
  }
}
