/* Savia · documento imprimible de la oferta (PDF) y reglas de impresión. Paleta fija: un documento impreso no cambia con el modo claro/oscuro. */
.doc { width: min(820px, 100%); box-sizing: border-box; background: #fff; color: #1d1d1b; border-radius: 6px; padding: 0 0 18px; max-width: 820px; margin: 0 auto; font-size: 14px; line-height: 1.4; box-shadow: 0 1px 8px rgba(0, 0, 0, .25); }
.doc-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: #2c2c2c; color: #fff; padding: 14px 20px; border-radius: 6px 6px 0 0; }
.doc-cab img { height: 34px; max-width: 55%; object-fit: contain; }
.doc-num { text-align: right; font-size: 12px; letter-spacing: .04em; } .doc-num b { display: block; font-size: 18px; letter-spacing: 0; white-space: nowrap; }
.doc-dos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 16px 20px 6px; } .doc-dos h4, .doc-cond h4 { margin: 0 0 4px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: #6b6b66; }
.doc-tabla { table-layout: auto; box-sizing: border-box; width: calc(100% - 40px); margin: 12px 20px 0; border-collapse: collapse; } .doc-tabla th { text-align: left; font-size: 11px; text-transform: uppercase; color: #6b6b66; border-bottom: 2px solid #2c2c2c; padding: 6px 4px; }
.doc-tabla td { padding: 8px 4px; border-bottom: 1px solid #e3e1da; vertical-align: top; } .doc-tabla .der, .doc-tabla th.der { text-align: right; font-variant-numeric: tabular-nums; } .doc .peq { font-size: 12px; color: #6b6b66; }
.doc-totales { display: grid; grid-template-columns: 1fr max-content; gap: 4px 16px; width: min(320px, calc(100% - 40px)); margin: 14px 20px 0 auto; } .doc-totales dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; }
.doc-totales .gran { font-size: 1.15em; font-weight: 700; border-top: 2px solid #2c2c2c; padding-top: 6px; }
.doc-cond { padding: 12px 20px 0; } .doc-cond dl { display: grid; grid-template-columns: max-content 1fr; gap: 3px 14px; margin: 0; } .doc-cond dd { margin: 0; } .doc-cond p { margin: 0; white-space: pre-wrap; }
.doc-pie { margin: 18px 20px 0; padding-top: 10px; border-top: 1px solid #e3e1da; font-size: 12px; color: #6b6b66; }
@media (max-width: 560px) { .doc-dos { grid-template-columns: 1fr; } .doc-tabla { font-size: 12px; } }
@media print {
  @page { margin: 12mm; }
  html, body { background: #fff !important; height: auto !important; overflow: visible !important; }
  .topbar, #mtHolder, .no-imprimir, .toast, .mobile-tabs { display: none !important; }
  #appScreen, .main, .content, .content.vista { display: block !important; height: auto !important; overflow: visible !important; padding: 0 !important; }
  .doc { box-shadow: none; border-radius: 0; max-width: none; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}

/* El liquidador se abre como ventana sobre la pantalla en la que estás (no la reemplaza): se ve lo de atrás, Esc o un clic afuera lo cierran. En el celular ocupa toda la pantalla. */
#liquidadorModal { inset: 3vh 3vw !important; border-radius: 14px; box-shadow: 0 0 0 100vmax rgba(0, 0, 0, .6), 0 20px 60px rgba(0, 0, 0, .5); }
#liquidadorModal > :first-child { border-radius: 14px 14px 0 0; }
@media (max-width: 900px) { #liquidadorModal { inset: 0 !important; border-radius: 0; box-shadow: none; } #liquidadorModal > :first-child { border-radius: 0; } }

/* «Unir duplicados» todavía trabaja con datos de ejemplo: se muestra cuando detecte duplicados reales */
button[onclick="uniDuplicados()"] { display: none; }

/* las notas grises «de qué tabla sale» eran para la maqueta */
.src { display: none; }
