/* Alpha Sierra Air — documento de cotización y contrato firmado (Gestión y portal). */
/* cotización en el formato de Alpha Sierra (carta, 1 página + términos) */
.qmodal { max-width: 920px; background: #E9ECEF; }
.qdocbar { display: flex; gap: 16px; align-items: center; margin: 0 40px 14px 0; font-size: 13px; }
.qdoc { display: flex; flex-direction: column; gap: 18px; font-family: 'Inter', Arial, sans-serif; color: #111; }
.qp { background: #fff; padding: 44px 42px 28px; min-height: 1056px; display: flex; flex-direction: column; box-shadow: 0 2px 10px rgba(0, 0, 0, .12); font-size: 12px; line-height: 1.35; }
.qp[hidden] { display: none; }
.q1 { display: grid; grid-template-columns: 31% 1fr; gap: 30px; flex: 1; }
.qlogo { width: 100%; max-width: 250px; display: block; margin-bottom: 64px; }
.qco { font-size: 11.5px; line-height: 1.5; }
.qhr { border-top: 1.5px solid #222; margin: 14px 0; }
.qbig { font-size: 17px; margin-top: 4px; }
.qkv { margin-top: 10px; font-size: 11.5px; } .qkv b { font-weight: 700; }
.qph { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qph img { width: 100%; aspect-ratio: 16 / 8.4; object-fit: cover; display: block; }
.qph img.p0 { grid-column: 1 / -1; aspect-ratio: 16 / 8.6; }
.qph.none { display: grid; place-items: center; aspect-ratio: 16 / 9; background: #EEF1F4; color: #5E6E7C; font-weight: 600; text-align: center; }
.qph.none small { display: block; font-weight: 400; font-size: 11px; margin-top: 4px; }
.qsec { font-family: 'Inter', Arial, sans-serif; font-weight: 500; font-size: 17px; color: #111; margin: 22px 0 6px; }
.qsec span { font-size: 12px; color: #888; }
.qt { width: 100%; border-collapse: collapse; }
.qt th { text-align: left; font-size: 11.5px; font-weight: 700; padding: 6px 4px; }
.qt td { padding: 5px 4px; vertical-align: top; font-size: 11.5px; }
.qt .r { text-align: right; }
.qt tfoot td { font-weight: 700; font-size: 13px; padding-top: 10px; }
.qt.q2 tfoot td { font-weight: 500; font-size: 15px; }
.qt.q2 tfoot td:last-child { font-weight: 700; }
.qt .ln2 { display: block; }
.qt + .qsec { border-top: 1px solid #ddd; padding-top: 10px; }
.qnote { font-size: 11px; color: #555; text-align: right; }
.qsign { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 30px; }
.qsign div { border-top: 1.5px solid #bbb; padding-top: 4px; font-size: 12px; }
.qfoot { display: flex; justify-content: space-between; border-top: 2px solid #ccc; margin-top: 10px; padding-top: 4px; font-size: 11px; color: #333; }
.qfoot span { flex: 1; } .qfoot span:nth-child(2) { text-align: center; } .qfoot span:last-child { text-align: right; }
.qhead2 { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid #ccc; padding-bottom: 12px; margin-bottom: 18px; }
.qhead2 img { width: 230px; }
.qhead2 div { text-align: right; font-size: 10px; color: #444; line-height: 1.4; }
.qtx { flex: 1; text-align: justify; font-size: 12px; line-height: 1.45; }
.qtx p { margin: 0 0 14px; }
.qtx h5 { font-family: 'Inter', Arial, sans-serif; font-size: 12.5px; margin: 14px 0 6px; color: #111; }
.qterms.en .qtx { font-family: 'Times New Roman', Times, serif; font-size: 12.5px; }
.qterms.en .qtx h5:first-child { text-align: center; font-size: 14px; }
.qsig2 { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 24px 0 10px; font-size: 12px; }
.qsig2 p { margin: 8px 0; }
.bl { display: inline-block; border-bottom: 1px solid #333; height: 12px; vertical-align: -2px; max-width: 100%; }
@media screen and (max-width: 760px) { .qp { padding: 24px 18px; min-height: 0; } .q1 { grid-template-columns: 1fr; } .qlogo { margin-bottom: 20px; } .qsig2 { grid-template-columns: 1fr; } }
@media print {
  @page { size: letter; margin: 0.45in; }
  .qmodal { background: none; }
  .qdoc { gap: 0; }
  /* Safari no corta páginas dentro de contenedores flex: al imprimir todo pasa a bloques */
  .modal-bg, .qmodal, .qdoc, .qp { display: block !important; }
  .qp[hidden] { display: none !important; }
  .qp { box-shadow: none; padding: 0; min-height: 0; height: auto; break-after: page; page-break-after: always; }
  .qp:last-child { break-after: auto; page-break-after: auto; }
  /* sin altura mínima: el área imprimible cambia con cada destino (PDF, márgenes físicos de cada impresora)
     y con una altura fija el pie saltaba solo a la página 2. La firma va justo después del contenido. */
  .q1 { min-height: 0; grid-template-columns: 31% 1fr; }
  .qsign { margin-top: 36px; }
  .qsig2, .qsign, .qt tr { break-inside: avoid; page-break-inside: avoid; }
  .qph img { break-inside: avoid; }
  /* al imprimir, el pie va solo en la página de la cotización: en los términos dejaba una página casi vacía */
  .qterms .qfoot { display: none; }
  .modal-bg, .modal, .qmodal, .qdoc, .qp { background: #fff !important; }
}
@media print {
  body > *:not(.modal-bg) { display: none !important; }
  /* solo la ventana que mandó a imprimir (A.printModal) */
  body.printing > .modal-bg:not(.print-target) { display: none !important; }
  .modal-bg { position: static; background: none; padding: 0; overflow: visible; }
  .modal { box-shadow: none; max-width: none; padding: 0; }
  .modal .x, .modal .foot { display: none !important; }
}

/* Borrador: marca de agua en cada página (pantalla e impresión) */
.qdoc.draft .qp { position: relative; }
.qdoc.draft .qp::after { content: 'BORRADOR'; position: absolute; left: 50%; top: 42%; transform: translate(-50%, -50%) rotate(-28deg); font: 800 120px/1 'Archivo', Arial, sans-serif; letter-spacing: .08em; color: rgba(194, 56, 47, .13); pointer-events: none; white-space: nowrap; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* contrato firmado: firma y registro de evidencia */
.sigline { display: block; width: 200px; height: 66px; }
.qsign .sigline { margin-bottom: -6px; }
.fillv { display: inline-block; min-width: 120px; border-bottom: 1px solid #333; font-weight: 600; }
.qrec h3 { font-size: 16px; margin: 4px 0 8px; }
.qrecnote { font-size: 11px; color: #444; line-height: 1.45; margin: 0 0 10px; }
.qrec .qt td:first-child { width: 32%; font-weight: 600; }
.qrec .hash { font-family: ui-monospace, Menlo, monospace; font-size: 10.5px; word-break: break-all; }
.qsigbig { margin-top: 16px; text-align: center; font-size: 12px; } .qsigbig svg { width: 300px; height: 100px; display: block; margin: 0 auto; border-bottom: 1px solid #333; }
