/* ============================================================
   Impression A4 — Diagnostic retraite frontalier France–Suisse
   Charge uniquement au moment de l'impression (media="print").
   ============================================================ */

@page {
  size: A4;
  margin: 16mm 14mm;
}

@media print {
  html, body { background: #fff !important; }
  body { font-size: 11.5pt; color: #001629; }

  .app-header, .progress-wrap, .app-footer,
  .step-actions, .skip-link, .modal,
  .no-print, .btn, button, .checklist-item input[type="checkbox"] {
    display: none !important;
  }

  #app > .step:not(#step-result) { display: none !important; }
  #step-result { display: block !important; }

  .card { box-shadow: none !important; border: none !important; padding: 0 !important; }
  .wrap { max-width: 100% !important; padding: 0 !important; }
  main.app-main { padding: 0 !important; }

  .only-print { display: block !important; margin-bottom: 14px; }
  .only-print .print-title { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 22pt; color: #001629; margin: 0 0 4px; }
  .only-print .print-meta { font-family: 'Outfit', sans-serif; font-size: 9pt; color: #5f6b76; }

  .result-section { break-inside: avoid; margin: 16px 0; }
  table.consolidated, .lpp-table { break-inside: auto; }
  table.consolidated tr, .lpp-table tr, .alert-item, .checklist-item, .stat-card {
    break-inside: avoid;
  }

  a { color: #001629 !important; text-decoration: none !important; }
  a[href]::after { content: ""; }

  .stat-row { grid-template-columns: repeat(4, 1fr) !important; }
  .status-pill, .badge, .tag, .level-eleve, .level-partiel, .level-insuffisant {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  .warning-box, .notice {
    border: 1px solid #929395 !important;
    background: #f6f7f8 !important;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }

  .checklist-item.is-checked .title { text-decoration: line-through; }
}
