/* ============================================================
   ALTURA · HOJA IMPRIMIBLE (compartida por index.html y admin.html)
   El PDF se genera con el motor de impresión del navegador.
   ============================================================ */
/* ============================================================
   SOLICITUD IMPRIMIBLE (PDF A4)
   El PDF se genera con el motor de impresión del navegador:
   cero librerías, funciona sin conexión y el texto queda
   seleccionable.
   ============================================================ */
#pdfSalida { display: none; }
@media print {
  :root[data-imprimiendo] body > *:not(#pdfSalida) { display: none !important; }
  :root[data-imprimiendo] #pdfSalida { display: block !important; }
  @page { size: A4; margin: 14mm 12mm; }
  body { background: #fff !important; color: #111 !important; }
}
#pdfSalida, #pdfSalida * { color: #111; font-family: 'Montserrat', system-ui, sans-serif; }
.pdf-hoja { width: 186mm; background: #fff; font-size: 10.5pt; line-height: 1.45; }
.pdf-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 16mm; padding-bottom: 5mm; border-bottom: 2px solid #111; }
.pdf-marca { display: flex; align-items: center; gap: 4mm; }
.pdf-logo { width: 14mm; height: 14mm; }
.pdf-marca strong { display: block; font-size: 15pt; font-weight: 900; letter-spacing: -0.02em; }
.pdf-marca span { display: block; font-size: 7pt; letter-spacing: 0.22em; text-transform: uppercase; color: #555; }
.pdf-meta { text-align: right; font-size: 8.5pt; color: #444; }
.pdf-tipo { font-size: 11pt; font-weight: 800; color: #111; text-transform: uppercase; letter-spacing: 0.04em; }
.pdf-ref { font-size: 10pt; font-weight: 700; color: #111; margin: 1mm 0 2mm; }
#pdfSalida h2 { font-size: 8pt; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: #666; margin: 7mm 0 2.5mm; }
.pdf-cols { display: flex; gap: 10mm; }
.pdf-cols > div { flex: 1 1 0; }
.pdf-datos { width: 100%; border-collapse: collapse; }
.pdf-datos th { width: 34%; text-align: left; font-weight: 600; color: #666; padding: 1.4mm 0; vertical-align: top; font-size: 9.5pt; }
.pdf-datos td { padding: 1.4mm 0; font-weight: 700; vertical-align: top; }
.pdf-tabla { width: 100%; border-collapse: collapse; margin-top: 1mm; }
.pdf-tabla th { text-align: left; font-size: 8pt; text-transform: uppercase; letter-spacing: 0.1em; color: #666; border-bottom: 1px solid #ccc; padding: 2mm 1mm; }
.pdf-tabla td { padding: 2.2mm 1mm; border-bottom: 1px solid #eee; }
.pdf-tabla .num { text-align: right; white-space: nowrap; }
.pdf-tabla tfoot td { border: none; padding-top: 2mm; font-weight: 700; }
.pdf-tabla tfoot .total td { border-top: 2px solid #111; font-size: 12pt; font-weight: 900; }
.pdf-aviso { margin-top: 3mm; padding: 2.5mm 3mm; background: #F6F7EE; border-left: 3px solid #C8D900; font-size: 9pt; color: #444; }
.pdf-texto { white-space: pre-wrap; }
.pdf-cond { padding-left: 5mm; }
.pdf-cond li { margin-bottom: 1.2mm; font-size: 9.5pt; color: #444; }
.pdf-pie { display: flex; justify-content: space-between; gap: 8mm; margin-top: 9mm; padding-top: 4mm; border-top: 1px solid #ccc; font-size: 8.5pt; color: #555; }

