/* ══════════════════════════════════════════════════════════
   Print — Clean report output
   ══════════════════════════════════════════════════════════ */

@media print {
  @page { margin: 0.75in 0.6in; }

  body { background: #fff; color: #111; font-size: 10pt; }

  /* Hide interactive elements */
  nav, .wizard-progress, .wizard-nav, .wizard-ai, .action-bar,
  .wizard-steps, .btn-row, .toast, .no-print, .info-box,
  .hero, #hero-mount, #save-indicator, #nav-dashboard,
  .wizard-breadcrumb { display: none !important; }

  /* Cards */
  .card, .wizard-card {
    background: #fff; box-shadow: none;
    border: 1px solid #ddd; break-inside: avoid;
    border-radius: 8px; padding: 16px;
  }

  /* Category hero */
  .cat-hero {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    break-inside: avoid;
  }

  /* Result tiles */
  .result-tile {
    border: 1.5px solid #999;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  .result-tile .score { font-size: 1.5rem; }

  /* Score bars */
  .score-bar .fill {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  /* Lookup table */
  .lookup-table .highlight {
    background: #e0e0e0 !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  /* Heatmap */
  .heatmap-cell {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  /* Charts — JS converts canvas to img before printing */
  .chart-container img { max-width: 100%; height: auto; }

  /* Print header — visible only in print */
  .print-header {
    display: block !important;
    text-align: center; padding: 12px 0 16px;
    border-bottom: 2px solid #111;
    margin-bottom: 16px; font-size: 10pt;
  }

  /* Signature block — 2x2 grid */
  .print-signature {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 32px; margin-top: 48px; padding-top: 16px;
    border-top: 1px solid #ccc;
  }
  .print-signature .sig-line {
    border-top: 1px solid #111;
    padding-top: 6px; margin-top: 48px;
    font-size: 9pt; color: #666;
  }
}
