/* ============================================================
   DOCUMENTO — Estilos de la vista previa e impresión/PDF
   ============================================================ */

.document{
  width:850px; max-width:100%; background:#fff;
  box-shadow:var(--shadow); border-radius:4px;
  padding:34px 40px; color:#1c2331;
  font-family:'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Cabecera ---------- */
.doc-head{
  display:flex; justify-content:space-between; gap:20px;
  border-bottom:3px solid var(--primary);
  padding-bottom:12px; margin-bottom:12px;
}
.doc-logo{width:60px;height:60px;object-fit:contain;margin-bottom:6px}
.doc-brand h2{color:var(--primary);font-size:19px;letter-spacing:.3px}
.doc-brand .c-ruc{
  font-size:11px; color:#1a5f9c; font-weight:700;
  letter-spacing:.3px; margin-top:2px;
}
.doc-brand .c-line{font-size:11.5px;color:#4a5468;margin-top:3px}
.doc-meta{text-align:right;max-width:330px}
.doc-title{color:var(--primary);font-size:15px;font-weight:800;letter-spacing:1.2px;margin-bottom:6px;line-height:1.25}
.doc-meta .kv{font-size:11px;color:#334;margin:2px 0}
.doc-meta .kv b{color:#111}

/* ---------- JTIA ---------- */
.jtia-wrap{display:flex;justify-content:flex-end;margin:8px 0 14px}
.jtia-box{
  display:inline-flex; align-items:flex-start; gap:14px;
  border:1px solid #cfdceb; border-radius:8px;
  padding:10px 12px; background:#f4f8fc;
  width:fit-content; max-width:400px;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.jtia-left{min-width:0}
.jtia-badge{
  display:inline-block; background:#1a5f9c; color:#fff;
  font-size:8px; font-weight:800; letter-spacing:1.2px;
  padding:3px 8px; border-radius:3px; margin-bottom:6px;
  text-transform:uppercase;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.jtia-name{font-weight:800;font-size:11.5px;color:#111;line-height:1.25;margin-bottom:2px}
.jtia-role{font-size:10.5px;color:#4a5468;line-height:1.3}
.jtia-id{font-size:10.5px;color:#111;margin-top:2px}
.jtia-id b{font-weight:800}
.jtia-right{flex-shrink:0;text-align:center}
.jtia-qr{width:86px;height:86px;display:block;background:#fff;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.12);border-radius:2px}
.jtia-qr canvas{width:86px !important;height:86px !important;display:block}
.jtia-caption{font-size:8px;color:#666;margin-top:3px;letter-spacing:.2px}

/* ---------- Tablas ---------- */
.phase-title{
  background:var(--primary); color:#fff;
  padding:7px 12px; font-weight:700; font-size:12px; letter-spacing:.8px;
  margin:16px 0 0; border-radius:4px 4px 0 0;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.doc-table{width:100%;border-collapse:collapse;font-size:12px}
.doc-table th{
  background:#eef3f8; color:#333344; text-align:left;
  padding:8px 10px; font-size:10.5px; text-transform:uppercase;
  letter-spacing:.4px; border-bottom:1px solid var(--line);
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.doc-table th.num,.doc-table td.num{text-align:right}
.doc-table td{padding:7px 10px;border-bottom:1px solid #eef1f6;color:#2a3244}
.doc-table tbody tr:nth-child(even) td{background:#fbfcfe;-webkit-print-color-adjust:exact;print-color-adjust:exact;}

/* ---------- Resumen (ITBMS y Totales) ---------- */
.summary{margin-top:22px;display:flex;justify-content:flex-end}
.summary-box{min-width:320px;font-size:12.5px}
.summary-row{display:flex;justify-content:space-between;padding:7px 12px;border-bottom:1px solid #eef1f6}
.summary-row.total{
  background:var(--primary); color:#fff; font-weight:800;
  font-size:14px; border-bottom:none; border-radius:0 0 6px 6px;
  padding:11px 12px;
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
.summary-row.discount{color:var(--danger)}
.summary-row.subhead{font-weight:700;color:#333344}

/* ---------- Notas y pie ---------- */
.notes{
  margin-top:24px; font-size:11px; color:#556;
  border-top:1px dashed var(--line); padding-top:12px;
}
.notes b{color:#223;display:block;margin-bottom:4px}
.foot{text-align:center;font-size:10px;color:#889;margin-top:26px;padding-top:10px;border-top:1px solid var(--line)}

/* ---------- Recibo ---------- */
.receipt-meta{margin-top:14px;font-size:12.5px;border:1px solid var(--line);border-radius:8px;padding:14px}
.receipt-meta .row{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px dashed #eef1f6}
.receipt-meta .row:last-child{border-bottom:none}
.receipt-meta .row b{color:#111}
.receipt-meta .row.saldo{font-size:14px;font-weight:800;color:var(--primary);margin-top:6px;border-top:2px solid var(--primary);padding-top:8px}

/* ---------- Impresión ---------- */
@media print{
  @page{size:Letter;margin:12mm 14mm}
  html,body{background:#fff !important;margin:0 !important;padding:0 !important}
  *{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important}
  .app-header,.panel,.preview-toolbar,.modal,.toast{display:none !important}
  .layout{display:block !important;height:auto !important;grid-template-columns:1fr !important}
  .preview-wrap{background:#fff !important;padding:0 !important;overflow:visible !important;display:block !important}
  .preview-scroll{padding:0 !important;overflow:visible !important;display:block !important}
  .document{box-shadow:none !important;width:100% !important;max-width:none !important;padding:0 !important;margin:0 !important;border-radius:0 !important;background:#fff !important;color:#1c2331 !important;display:block !important}
  .doc-head,.jtia-wrap,.phase-title{page-break-after:avoid;break-after:avoid}
  .doc-table{page-break-inside:auto;break-inside:auto}
  .doc-table thead{display:table-header-group}
  .doc-table tr{page-break-inside:avoid;break-inside:avoid}
  .summary,.notes,.receipt-meta{page-break-inside:avoid;break-inside:avoid}
}