/* Print overrides: Radix/Tailwind individual translate must also be reset. */
@page { size: letter portrait; margin: 14mm; }
@media print {
  html, body { width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; background: white !important; }
  body { font-family: Arial, Helvetica, sans-serif; color: #172d43 !important; }
  #root, [data-slot="dialog-overlay"], [data-slot="dialog-close"], .no-print { display: none !important; }
  [data-slot="dialog-content"].print-document {
    position: static !important; inset: auto !important;
    transform: none !important; translate: none !important; rotate: none !important; scale: none !important;
    animation: none !important; transition: none !important;
    display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important;
    height: auto !important; min-height: 0 !important; max-height: none !important;
    overflow: visible !important; margin: 0 !important; padding: 0 !important;
    border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    font-size: 10pt !important; line-height: 1.4 !important;
  }
  .print-document *, .print-document *::before, .print-document *::after { box-sizing: border-box; animation: none !important; transition: none !important; }
  .print-document [data-slot="dialog-title"], .print-document [data-slot="dialog-description"] { display: none !important; }
  .print-document p { orphans: 3; widows: 3; overflow-wrap: anywhere; }
  .print-document .document-brand { padding: 0 0 5mm; gap: 5mm; break-inside: avoid; color: #10345e !important; }
  .print-document .document-logo { width: 22mm !important; height: 22mm !important; flex: 0 0 22mm; object-fit: contain; }
  .print-document .document-brand strong { font-size: 13pt; }
  .print-document .document-brand small { font-size: 7pt; letter-spacing: 1.5px; }
  .print-document .doc-title { padding: 5mm 0 3mm; }
  .print-document .doc-title h2 { font-size: 20pt; margin: 3mm 0; }
  .print-document .doc-title p { font-size: 10pt; margin: 1.5mm 0; }
  .print-document .eyebrow { font-size: 8pt; }
  .print-document .reservation-folio { padding: 3mm 4mm; margin: 3mm 0 4mm; gap: 1mm; break-inside: avoid; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .print-document .reservation-folio strong { font-size: 17pt; }
  .print-document .reservation-folio span, .print-document .reservation-folio small { font-size: 8pt; }
  .print-document h3 { font-size: 11pt; margin: 3mm 0 2mm; break-after: avoid; }
  .print-document .doc-item { padding: 3mm 0; break-inside: auto; }
  .print-document .reservation-service-main { gap: 5mm; break-inside: avoid; }
  .print-document .reservation-service-main > div { min-width: 0; flex: 1; }
  .print-document .reservation-service-main > b { flex-shrink: 0; }
  .print-document .doc-item p, .print-document .doc-item b { font-size: 10pt; }
  .print-document .doc-item small { font-size: 8pt; }
  .print-document .reservation-service-details { margin-top: 2mm; padding: 2mm 3mm; border: 1px solid #dce3e8; background: white; }
  .print-document .reservation-service-details p, .print-document .reservation-service-details p b { font-size: 9pt !important; white-space: pre-wrap; overflow-wrap: anywhere; }
  .print-document .passengers { padding-top: 2mm; }
  .print-document .doc-total { padding: 4mm 0; break-inside: avoid; }
  .print-document .doc-total strong { font-size: 16pt; }
  .print-document .doc-total p { font-size: 9pt; }
  .print-document .notes { padding: 3mm; background: white; border: 1px solid #dce3e8; }
  .print-document .notes p { font-size: 9pt; white-space: pre-wrap; }
  .print-document > .muted { font-size: 8pt; line-height: 1.4; margin-top: 4mm; }
}
