/* =====================================================================
   1erp · hoja de cotización para imprimir o guardar como PDF
   ===================================================================== */
.print-actions { display: flex; gap: .5rem; justify-content: flex-end; margin-bottom: 1rem; }
.print-actions .icon.close { order: 99; }
.sheet { background: #fff; color: #1f1f1f; max-width: 820px; margin: 0 auto; padding: 48px 56px; border: 1px solid var(--line); font-size: 11pt; line-height: 1.45; }
.sheet a { color: #1F5FA8; }
.sheet .s-logo { display: block; width: 240px; max-width: 60%; height: auto; }
.sheet .s-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 2rem; }
.sheet .s-folio { text-align: right; }
.sheet .s-folio .f { color: #C00000; font-weight: 700; font-size: 12pt; font-variant-numeric: tabular-nums; }
.sheet .s-folio .d { margin-top: 36px; }
.sheet .s-meta { display: grid; grid-template-columns: 64px 1fr; gap: 0 12px; margin: 16px 0 18px; }
.sheet .s-meta dd { margin: 0 0 16px; }
.sheet .s-items { border-bottom: 1.5px solid #1f1f1f; min-height: 120px; overflow-x: auto; }
.sheet table th { color: #1f1f1f; font-size: inherit; font-weight: 600; padding: 2px 8px; border-top: 1.5px solid #1f1f1f; border-bottom: 1px solid #1f1f1f; }
.sheet table td { padding: 3px 8px; border-bottom: none; white-space: pre-line; }
.sheet table .c { text-align: center; }
.sheet table .num { text-align: right; }
.sheet .s-totals { display: grid; grid-template-columns: auto auto; justify-content: end; gap: 0 28px; margin-top: 8px; font-variant-numeric: tabular-nums; }
.sheet .s-totals span { text-align: right; }
.sheet .s-totals span:nth-child(odd) { font-weight: 600; }
.sheet .s-foot { text-align: center; margin-top: 10px; }
.sheet .s-foot .s-logo { margin: 0 auto 12px; }
.sheet .s-cargo { font-style: italic; }
.sheet .s-nombre, .sheet .s-rfc { font-weight: 600; }
.sheet .s-rfc { margin-top: 14px; }
.sheet .s-terms { margin-top: 16px; }
.sheet .s-terms p { margin: 2px 0; }
.sheet .s-notas { white-space: pre-line; margin-top: 10px !important; }
@media (max-width: 760px) {
  .sheet { padding: 24px 18px; }
  .sheet .s-logo { width: 170px; }
}
@media print {
  @page { size: letter; margin: 20mm 22mm 18mm; }
  body { background: #fff; }
  body::before, .topbar, .print-actions, #toast { display: none !important; }
  main { padding: 0; max-width: none; }
  .sheet { border: none; padding: 0; max-width: none; }
}
