/* Documentos financieros (liquidación al partner, estados de cuenta, factura): mismo formato que los de Administración */
.fdoc { color: #1D2A3B; font-size: 13px; padding: 4px 6px; }
.fdoc .fdh { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; border-bottom: 2px solid #1F2E4D; padding-bottom: 12px; margin-bottom: 14px; }
.fdoc .flogo { height: 34px; width: auto; color: #1F2E4D; }
.fdoc .fdt { text-align: right; font-size: 12px; color: #667; }
.fdoc .fdt h2 { margin: 0 0 4px; font-size: 22px; font-weight: 500; letter-spacing: .04em; color: #1F2E4D; text-transform: uppercase; }
.fdoc .dr { color: #B4561E; }
.fdoc .fdbox { display: grid; grid-template-columns: repeat(4, 1fr); background: #F2F4F7; margin-bottom: 12px; }
.fdoc .fdbox > div { padding: 8px 12px; border-right: 1px solid #DDE2E9; display: flex; flex-direction: column; gap: 2px; }
.fdoc .fdbox > div:last-child { border-right: 0; }
.fdoc .fdbox span { font-size: 10.5px; color: #C08A3E; text-transform: uppercase; letter-spacing: .04em; }
.fdoc .fdbox small { color: #667; }
.fdoc h3 { font-size: 14px; margin: 18px 0 6px; color: #1F2E4D; }
.fdoc .fdtbl { width: 100%; border-collapse: collapse; margin: 8px 0; }
.fdoc .fdtbl th { background: #1F2E4D; color: #fff; font-weight: 500; font-size: 12px; text-align: left; padding: 8px 10px; }
.fdoc .fdtbl td { padding: 7px 10px; border-bottom: 1px solid #E3E7ED; vertical-align: top; }
.fdoc .fdtbl tbody tr:nth-child(even) td { background: #F7F8FA; }
.fdoc .fdtbl .r { text-align: right; font-variant-numeric: tabular-nums; }
.fdoc .fdtbl small { color: #778; display: block; }
.fdoc .fdtot { margin: 12px 0 0 auto; width: min(380px, 100%); }
.fdoc .fdtot > div { display: flex; justify-content: space-between; padding: 6px 10px; border-bottom: 1px solid #E3E7ED; color: #556; }
.fdoc .fdtot > div b { color: #1D2A3B; font-variant-numeric: tabular-nums; }
.fdoc .fdtot .big { background: #1F2E4D; color: #fff; border: 0; padding: 10px; }
.fdoc .fdtot .big b { color: #fff; font-size: 17px; }
.fdoc .fdann { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.fdoc .fdann figure { margin: 0; } .fdoc .fdann .rcpt.meter { background: #fff; } .fdoc .fdann img, .fdoc .fdann .rcpt { width: 100%; height: 200px; object-fit: contain; border: 1px solid #E3E7ED; background: #fff; }
.fdoc .fdann figcaption { font-size: 11px; color: #667; margin-top: 3px; }
.fdoc .fdf { margin-top: 26px; padding-top: 8px; border-top: 1px solid #C08A3E; text-align: center; font-size: 10.5px; color: #889; }
.lqk { cursor: pointer; } .lqk input { margin-right: 4px; vertical-align: -2px; }
@media (max-width: 700px) { .fdoc .fdbox { grid-template-columns: 1fr 1fr; } }
@media print { .fdoc { padding: 0 10px; } .fdoc .fdtbl th, .fdoc .fdtot .big { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .fdoc .fdbox { -webkit-print-color-adjust: exact; print-color-adjust: exact; } }

.fdoc .fdpage { width: 100%; border-collapse: collapse; } .fdoc .fdpage > tbody > tr > td, .fdoc .fdpage > tfoot > tr > td { padding: 0; } .fdoc .fdsp { height: 0; }
@media print {
  .fdoc .fdsp { height: 0.55in; }
  .fdoc > .fdf { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; padding-top: 8px; background: #fff; }
}

/* Relación de gastos reembolsables: comprobantes al final, dos por fila */
.remrc { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-top: 8px; }
.remrc figure { margin: 0; break-inside: avoid; } .remrc img { width: 100%; border: 1px solid #ddd; border-radius: 4px; }
.remrc figcaption { font-size: 11px; color: #555; margin-top: 4px; }
@media print { .remrc { grid-template-columns: 1fr 1fr; } }

/* Relación de gastos de vuelo (membresía): portada, detalle y un soporte por página (en hojas carta, como la cotización) */
.xdoc .qp.fdoc { padding: 40px 42px 26px; font-size: 12.5px; }
.xdoc .xfoot { margin-top: auto; padding-top: 10px; border-top: 1px solid #C08A3E; text-align: center; font-size: 10.5px; color: #889; }
.xcover .xc-band { display: flex; align-items: center; justify-content: space-between; background: #1F2E4D; color: #C9D3E0; margin: -40px -42px 0; padding: 26px 42px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.xcover .xc-band .flogo { height: 40px; color: #fff; }
.xcover .xc-mid { padding: 70px 0 34px; border-bottom: 2px solid #C08A3E; margin-bottom: 26px; }
.xcover .xc-k { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #C08A3E; font-weight: 600; }
.xcover h1 { font-size: 34px; line-height: 1.15; margin: 10px 0 8px; color: #1F2E4D; font-weight: 600; }
.xcover .xc-sub { font-size: 15px; color: #556; }
.xcover .xc-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 22px; }
.xcover .xc-tiles > div { background: #F2F4F7; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.xcover .xc-tiles span { font-size: 10.5px; color: #C08A3E; text-transform: uppercase; letter-spacing: .05em; }
.xcover .xc-tiles b { font-size: 18px; color: #1F2E4D; font-variant-numeric: tabular-nums; }
.xcover .xc-tiles .due { background: #1F2E4D; } .xcover .xc-tiles .due span { color: #E2C38F; } .xcover .xc-tiles .due b { color: #fff; }
.xcover .xc-note { color: #445; line-height: 1.5; margin: 16px 0; }
.xcover .xc-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 8px; }
.xcover .xc-meta > div { border-top: 1px solid #DDE2E9; padding-top: 6px; display: flex; flex-direction: column; gap: 2px; }
.xcover .xc-meta span { font-size: 10.5px; color: #889; text-transform: uppercase; letter-spacing: .05em; }
.xsup .xsup-cap { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; background: #F2F4F7; padding: 10px 14px; margin-bottom: 14px; }
.xsup .xsup-cap span { display: block; font-size: 11.5px; color: #667; margin-top: 2px; }
.xsup .xsup-img { flex: 1; display: flex; align-items: flex-start; justify-content: center; min-height: 0; }
.xsup .xsup-img img { max-width: 100%; max-height: 780px; object-fit: contain; border: 1px solid #E3E7ED; }
.xsup .xsup-pdf { padding: 40px; background: #F7F8FA; color: #556; text-align: center; width: 100%; }
@media screen and (max-width: 760px) { .xcover .xc-band { margin: -24px -18px 0; padding: 18px; } .xcover .xc-tiles { grid-template-columns: 1fr 1fr; } .xcover h1 { font-size: 26px; } .xcover .xc-mid { padding: 36px 0 20px; } .xsup .xsup-img img { max-height: none; } }
@media print { .xcover .xc-band, .xcover .xc-tiles > div, .xsup .xsup-cap { -webkit-print-color-adjust: exact; print-color-adjust: exact; } .xsup .xsup-img img { max-height: 8.2in; } }
