/* ===== Hoja del presupuesto para imprimir / PDF (la usan el sistema y el presupuesto online) ===== */
#hojaPrint{display:none}
/* Vista previa de la hoja dentro del sistema (listado de presupuestos) */
.hpv{background:#fff;border:1px solid #e2e5e9;box-shadow:0 1px 3px rgba(16,24,40,.08);padding:28px 30px;max-width:860px;margin:0 auto}
.hpv .hp-cierre{margin-top:28px}
.hp{--hp-ink:#1d2024;--hp-txt:#3a3f47;--hp-mut:#7b828c;--hp-line:#dfe2e6;--hp-soft:#f5f6f8;--hp-acc:#1f8f3a;
  font:10pt/1.45 "Montserrat","Segoe UI",Arial,sans-serif;color:var(--hp-txt);background:#fff;
  -webkit-print-color-adjust:exact;print-color-adjust:exact}
.hp *{box-sizing:border-box}

/* Encabezado */
.hp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:14px;border-bottom:1.5pt solid var(--hp-ink)}
.hp-marca{display:flex;align-items:center;gap:12px;min-width:0}
.hp-logo{width:46px;height:46px;flex-shrink:0}
.hp-logo .logo-img,.hp-logo .logo-svg{width:100%;height:100%;display:block;border-radius:8px;object-fit:contain}
.hp-emp{font-weight:800;font-size:15pt;line-height:1.1;color:var(--hp-ink);letter-spacing:.02em}
.hp-lema{font-size:8.5pt;color:var(--hp-mut);margin-top:2px}
.hp-doc{text-align:right;flex-shrink:0}
.hp-tipo{font-size:8pt;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--hp-acc)}
.hp-num{font-size:19pt;font-weight:800;line-height:1.1;color:var(--hp-ink);font-variant-numeric:tabular-nums}

/* Datos del cliente y la fecha */
.hp-datos{display:grid;grid-template-columns:1fr auto;gap:24px;padding:12px 0 14px}
.hp-datos span{display:block;font-size:7.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-mut);margin-bottom:2px}
.hp-datos b{font-size:11pt;font-weight:700;color:var(--hp-ink)}
.hp-datos .der{text-align:right}

/* Detalle */
.hp-tabla{width:100%;border-collapse:collapse;min-width:0!important}
.hp-tabla th{font-size:7.5pt;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--hp-mut);background:var(--hp-soft)!important;
  text-align:left;padding:7px 8px;border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line)}
.hp-tabla td{padding:9px 8px;border-bottom:1px solid var(--hp-line);vertical-align:top}
.hp-tabla tr{break-inside:avoid;page-break-inside:avoid}
.hp-tabla .n{width:28px;color:var(--hp-mut);font-variant-numeric:tabular-nums}
.hp-tabla .c,.hp-tabla .m{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.hp-tabla th.c,.hp-tabla th.m{text-align:right}
.hp-tabla .c{width:56px}
.hp-tabla .m{width:122px}
.hp-tabla td.m.imp{font-weight:700;color:var(--hp-ink)}
.hp-tabla tr.hp-ext td{background:#fafbfc!important}
.hp-it{font-weight:700;color:var(--hp-ink)}
.hp-cod{font-size:8pt;color:var(--hp-mut);margin-top:1px}
.hp-ds{font-size:8.5pt;color:var(--hp-mut);margin-top:2px}

.hp-obs{margin-top:14px;font-size:9pt;white-space:pre-line}
.hp-obs span{display:block;font-size:7.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-mut);margin-bottom:3px;white-space:normal}

/* Cierre al pie de la hoja: totales, monto en letras, condición de pago y contacto, todo centrado */
.hp{display:flex;flex-direction:column}
.hp-cierre{margin-top:auto;padding-top:22px;break-inside:avoid;page-break-inside:avoid;text-align:center}
.hp-tot{display:grid;grid-template-columns:repeat(3,1fr);border-top:1.5pt solid var(--hp-ink);border-bottom:1px solid var(--hp-line)}
.hp-tot div{padding:9px 8px;display:flex;flex-direction:column;gap:2px;align-items:center}
.hp-tot div+div{border-left:1px solid var(--hp-line)}
.hp-tot span{font-size:7.5pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hp-mut)}
.hp-tot b{font-size:10pt;font-weight:700;color:var(--hp-txt);font-variant-numeric:tabular-nums}
.hp-tot .tt span,.hp-tot .tt b{color:var(--hp-ink)}
.hp-letras{margin-top:10px;font-size:9pt;color:var(--hp-txt)}
.hp-cond{margin:10px auto 0;width:fit-content;max-width:100%;padding:8px 14px;background:var(--hp-soft)!important;border-radius:4px;font-size:9pt;color:var(--hp-ink)}
.hp-cond b{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.hp-pie{margin-top:14px;padding-top:9px;border-top:1px solid var(--hp-line);font-size:8pt;color:var(--hp-mut);display:flex;flex-wrap:wrap;justify-content:center;gap:3px 16px}
.hp-pie b{color:var(--hp-txt)}

@media print{
  /* Página propia sin márgenes del navegador: así no imprime fecha, título ni dirección arriba y abajo */
  @page hoja{size:A4;margin:0}
  body.print-hoja>*:not(#hojaPrint){display:none!important}
  body.print-hoja #hojaPrint{display:block!important}
  body.print-hoja{background:#fff!important;margin:0!important;padding:0!important}
  .hp{page:hoja;min-height:296mm;padding:16mm 16mm 12mm;-webkit-box-decoration-break:clone;box-decoration-break:clone}
}
