/* D3 Ventas (pantalla 89, modules/d3). Solo tokens; el ticket térmico lleva su propia hoja (modules/d3/ticket.js). */
.d3-aviso-fila { margin-top: 3px; }
.d3-folio { display: flex; align-items: center; background: var(--sunken); color: var(--ink-2); }
.d3-casillas-fila { display: flex; flex-wrap: wrap; gap: 14px; min-height: 38px; align-items: center; }
.d3-productos-titulo { margin-top: 18px; }
.d3-sin-detalle { font-size: 13px; margin-bottom: 8px; }
.d3-renglones { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.d3-renglones th { text-align: left; font-size: 12px; font-weight: 600; color: var(--ink-3); padding: 4px 4px 6px; border-bottom: 1px solid var(--border); }
.d3-renglones td { padding: 4px; vertical-align: middle; border-bottom: 1px solid var(--border); }
.d3-renglones tfoot td { border-bottom: 0; padding-top: 8px; }
.d3-renglones .campo-input { height: 34px; width: 100%; min-width: 0; }
.d3-c-cant { width: 72px; }
.d3-c-num { width: 110px; text-align: right; }
.d3-renglones th.d3-c-num { text-align: right; }
.d3-c-quitar { width: 40px; text-align: center; }
.d3-agregar { margin-top: 10px; }
.d3-restante { margin-top: 8px; }

/* Ventana del ticket: el papel se ve blanco en los dos temas (así sale de la impresora). */
.modal.d3-ticket-modal { width: min(340px, 100%); }
.d3-ticket-papel { display: flex; justify-content: center; background: var(--sunken); border-radius: var(--radius); padding: 10px; max-height: calc(100vh - 220px); overflow: auto; }
.d3-ticket-marco { width: 240px; height: 520px; border: 0; background: #fff; box-shadow: var(--shadow); }
.d3-ticket-cargando { padding: 40px 0; }

@media (max-width: 760px) {
  .d3-renglones thead { display: none; }
  .d3-renglones tbody tr { display: grid; grid-template-columns: 64px 1fr 40px; grid-template-areas: 'cant prod quitar' 'precio precio sub'; gap: 4px; padding: 6px 0; border-bottom: 1px solid var(--border); }
  .d3-renglones tbody td { border: 0; padding: 0; width: auto; }
  .d3-renglones tbody td:nth-child(1) { grid-area: cant; }
  .d3-renglones tbody td:nth-child(2) { grid-area: prod; }
  .d3-renglones tbody td:nth-child(3) { grid-area: precio; }
  .d3-renglones tbody td:nth-child(4) { grid-area: sub; align-self: center; }
  .d3-renglones tbody td:nth-child(5) { grid-area: quitar; }
  .d3-renglones tfoot tr { display: flex; justify-content: space-between; }
}
