/* Default non-print state for print elements */
#aft-print-report-container,
.print-only,
.print-header-meta,
.print-footer-disclaimer {
  display: none !important;
}

@media print {
  /* Hide all normal page content when dynamic print container is active */
  body > *:not(#aft-print-report-container) {
    display: none !important;
  }

  /* Hide non-printable global UI */
  .tactical-disclaimer-banner,
  .site-header,
  .site-footer,
  .breadcrumb-nav,
  .mobile-nav-toggle,
  .cta-banner,
  .faq-search-box,
  .faq-category-nav,
  .btn,
  .chart-actions-bar,
  #mobile-nav-drawer {
    display: none !important;
  }

  body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Printable Container Formatting */
  #aft-print-report-container {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    color: #000000 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    padding: 20pt !important;
    box-sizing: border-box !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  #aft-print-report-container,
  #aft-print-report-container *,
  #aft-print-report-container *::before,
  #aft-print-report-container *::after {
    box-sizing: border-box !important;
  }

  .print-report-header {
    border-bottom: 2pt solid #000000;
    padding-bottom: 8pt;
    margin-bottom: 12pt;
  }

  .print-report-header h1 {
    font-size: 18pt;
    margin: 0 0 4pt 0;
    color: #000000;
    text-transform: uppercase;
  }

  .print-report-meta {
    font-size: 9.5pt;
    color: #333333;
    display: flex;
    justify-content: space-between;
    margin-bottom: 12pt;
  }

  .print-report-table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 14pt !important;
    background: #ffffff !important;
    color: #111111 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Override the site's dark tactical table rows in the print-only clone. */
  .print-report-table,
  .print-report-table tbody,
  .print-report-table tr,
  .print-report-table td,
  .print-report-table th,
  .print-report-table caption {
    background: #ffffff !important;
    color: #111111 !important;
  }

  .print-report-table tbody tr:nth-child(odd),
  .print-report-table tbody tr:nth-child(even) {
    background: #ffffff !important;
  }

  .print-report-table th,
  .print-report-table td {
    border: 1pt solid #333333 !important;
    padding: 6pt 10pt !important;
    font-size: 10pt !important;
    color: #000000 !important;
    text-align: left !important;
  }

  .print-report-table th {
    background-color: #e5e7eb !important;
    color: #111111 !important;
    font-weight: bold !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .print-report-table td,
  .print-report-table th,
  .print-single-result,
  .print-single-status {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-report-table caption {
    color: #333333 !important;
    background: #ffffff !important;
    text-align: left !important;
  }

  .print-table-heading {
    font-size: 12pt;
    font-weight: 700;
    margin: 4pt 0 7pt;
  }

  .print-single-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14pt;
    border: 1pt solid #bdbdbd;
    padding: 10pt 12pt;
    margin: 0 0 14pt;
    background: #f4f4f4 !important;
  }

  .print-single-result > div {
    display: flex;
    flex-direction: column;
    gap: 2pt;
  }

  .print-single-label {
    color: #555555;
    font-size: 8pt;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .print-single-status {
    border-radius: 4pt;
    padding: 5pt 9pt;
    font-weight: 700;
    background: #e8e8e8 !important;
    color: #333333 !important;
  }

  .print-single-status.pass {
    background: #d9f2df !important;
    color: #146c2e !important;
  }

  .print-single-status.fail {
    background: #f9d9d6 !important;
    color: #a61b17 !important;
  }

  .print-summary-box {
    border: 1.5pt solid #000000;
    padding: 10pt 14pt;
    margin-bottom: 16pt;
    background-color: #ffffff !important;
    color: #111111 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-summary-box *,
  .print-summary-row,
  .print-summary-row span,
  .print-total-label,
  .print-total-val,
  .print-status-label,
  .print-combat-readiness {
    color: #111111 !important;
  }

  .print-summary-row {
    display: flex;
    justify-content: space-between;
    font-size: 12pt;
    font-weight: bold;
    margin-bottom: 4pt;
  }

  .print-score-meter {
    background: #e5e7eb !important;
    border: 1px solid #9ca3af !important;
    color: #111111 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-score-meter-fill {
    background: #16a34a !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .print-overall-pill.pass {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #166534 !important;
  }

  .print-overall-pill.fail {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #991b1b !important;
  }

  .print-overall-pill.incomplete {
    background: #f3f4f6 !important;
    color: #374151 !important;
    border: 1px solid #6b7280 !important;
  }

  .print-footer-legal {
    font-size: 8pt;
    color: #555555;
    border-top: 1pt solid #cccccc;
    padding-top: 6pt;
    margin-top: 20pt;
    text-align: center;
  }
}
