/* ───── 1.36 · Documentos imprimibles con el mismo diseño que la factura ─────
   Factura, presupuesto, pedido, albarán, proforma, pedido a proveedor, recepción y devoluciones (DocumentoFactura, web/js/p_publico.js)
   y la cabecera de los informes impresos. Va aparte de estilos.css para no mezclarse con el resto de pantallas. */

/* Logotipo entero, sin recortes ni deformación: se adapta a su proporción (los logotipos apaisados ya no se encogen a un cuadrado) */
.a4 .a4-logo-img, .a4-informe-cab .a4-logo-img { width: auto; height: auto; max-width: 60mm; max-height: 24mm; object-fit: contain; object-position: left center; flex: none; display: block; overflow: visible; }
.a4-emisor { align-items: center; flex: 1 1 auto; }
/* Títulos largos («Albarán valorado», «Recepción de mercancía»…) sin estrujar los datos de la empresa */
.a4-emisor { min-width: 0; }
/* El título nunca se parte por dentro de una palabra («PRESUPUES / TO»): el bloque del título toma el ancho de su palabra más larga
   y, si el título tiene varias palabras, salta de línea solo entre palabras */
.a4-titulo { flex: 0 0 auto; max-width: 92mm; }
.a4-tipo { font-size: 19pt; line-height: 1.1; overflow-wrap: normal; word-break: keep-all; hyphens: none; text-wrap: balance; }
.a4-razon { font-size: 14pt; }
/* Número, fecha y serie siempre en una sola línea */
.a4-titulo .a4-mini td, .a4-titulo .a4-mini th { white-space: nowrap; }
.a4-pie { margin-top: 6mm; }

/* Tipografía y jerarquía */
.a4 { font-family: Lato, "Helvetica Neue", Arial, sans-serif; line-height: 1.38; }
.a4 .tnum, .a4-tabla td.der, .a4-desglose td { font-variant-numeric: tabular-nums; }
.a4-tabla thead th.der { text-align: right; }
.a4-tabla tbody tr:nth-child(even) td { background: color-mix(in oklab, var(--marca) 5%, #fff); }
.a4-tabla tbody tr:hover td { background: color-mix(in oklab, var(--marca) 9%, #fff); }

/* Pie desglosado: suma de líneas, descuentos, portes, base, IVA por tipo, recargo, retención y total */
.a4-resumen { grid-template-columns: 1fr 88mm; align-items: start; }
.a4-izq:empty { display: none; }
/* Los totales van SIEMPRE abajo a la derecha, también cuando no hay «Cómo pagar» ni observaciones a su izquierda */
.a4-totales { grid-column: -2 / -1; }
.a4-desglose { width: 100%; border-collapse: collapse; font-size: 9.4pt; }
.a4-desglose th { text-align: left; font-weight: 400; color: #45525a; padding: 1.3mm 2mm 1.3mm 0; }
.a4-desglose td { text-align: right; white-space: nowrap; padding: 1.3mm 0 1.3mm 3mm; color: #1b2328; }
.a4-desglose tr + tr th, .a4-desglose tr + tr td { border-top: 1px solid #eef1f3; }
.a4-desglose .a4-d-base th, .a4-desglose .a4-d-base td { font-weight: 700; color: #1b2328; border-top: 1.5px solid var(--marca); }
.a4-desglose .a4-d-iva th, .a4-desglose .a4-d-re th, .a4-desglose .a4-d-retencion th { padding-left: 3mm; }
.a4-desglose .a4-d-dto_global td, .a4-desglose .a4-d-pronto_pago td, .a4-desglose .a4-d-retencion td { color: #a5281b; }
.a4-total { margin-top: 2mm; }
.a4-total span { font-weight: 700; letter-spacing: .02em; }

/* Pie legal */
.a4-pie-legal { font-weight: 700; color: #2d3a41; }
.a4-huella { word-break: break-all; font-size: 7pt; }

/* Cabecera de los informes impresos */
.a4-informe-cab { --marca: #2f5f63; margin: 0 0 5mm; }
.a4-informe-cab .a4-franja { margin: 0 0 6mm; height: 5mm; }
.a4-informe-cab .a4-tipo-informe { font-size: 17pt; max-width: 110mm; margin-left: auto; line-height: 1.15; }

@media (max-width: 820px) {
  .a4-resumen { grid-template-columns: 1fr; }
  .a4 .a4-logo-img { max-width: 48mm; max-height: 20mm; }
}

@media print {
  /* Márgenes de página: la primera, con la franja de color pegada arriba; las siguientes, con aire para la cabecera de la tabla que se repite */
  @page { size: A4 portrait; margin: 10mm 0 14mm; }
  @page :first { margin-top: 0; }
  .a4-tabla thead { display: table-header-group; }
  .a4-tabla tfoot { display: table-row-group; }
  .a4-tabla tr, .a4-desglose tr { break-inside: avoid; }
  .a4-resumen, .a4-pie { break-inside: avoid; }
  .a4, .a4 *, .a4-informe-cab, .a4-informe-cab * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .a4-tabla tbody tr:hover td { background: inherit; }
  .a4-informe-cab { display: block !important; }
  /* El papel A4 mide unos 794 px: sin esto se aplicaría la maquetación de móvil (max-width: 820px) y el documento saldría en una columna */
  .a4 { padding: 0 14mm 6mm; font-size: inherit; min-height: 0; }
  .a4-franja { margin: 0 -14mm 8mm; }
  .a4-cab, .a4-emisor { flex-direction: row; }
  .a4-titulo { text-align: right; } .a4-mini { margin-left: auto; }
  .a4-bloques { grid-template-columns: 1.15fr 1fr; }
  .a4-resumen { grid-template-columns: 1fr 88mm; }
  .a4-tabla { font-size: 9.3pt; } .a4-tabla th, .a4-tabla td { padding: 2mm; }
  .a4 .a4-logo-img { max-width: 60mm; max-height: 24mm; }
  .a4-firma { margin-top: 4mm; } .a4-linea-firma { height: 15mm; }
}
