/* Timbre de venta: papel térmico de 58 mm */
.ticket { width: 58mm; max-width: 100%; margin: 0 auto; padding: 3mm 2.5mm; background: #fff; color: #000;
  font: 600 11.5px/1.35 "Courier New", ui-monospace, Menlo, Consolas, monospace; }
.ticket hr { border: 0; border-top: 1px dashed #000; margin: 5px 0; }
.ticket__center { display: grid; justify-items: center; text-align: center; gap: 1px; }
.ticket__logo { width: 15mm; height: 15mm; object-fit: contain; filter: grayscale(1) contrast(1.6); }
.ticket__num { font-size: 13px; letter-spacing: .04em; margin-bottom: 2px; }
.ticket__name { font-size: 13px; font-weight: 900; letter-spacing: .02em; }
.ticket__row { display: flex; justify-content: space-between; gap: 6px; }
.ticket__row > :last-child { text-align: right; white-space: nowrap; }
.ticket__head { font-weight: 900; }
.ticket__total { font-size: 15px; margin: 3px 0; }
.ticket__addr, .ticket__note { margin-top: 2px; }
.ticket__small { font-size: 10px; }
.ticket-paper { background: #e9e9ee; border-radius: 12px; padding: .8rem; max-height: 58vh; overflow: auto; }
.ticket-paper .ticket { box-shadow: 0 4px 18px rgba(0, 0, 0, .25); }
.ticket-actions { display: flex; flex-wrap: wrap; gap: .5rem; padding: .8rem 1rem 0; }
.ticket-actions .btn { flex: 1 1 8rem; }
.ticket-help { font-size: .75rem; color: var(--muted, #999); padding: .6rem 1rem 1rem; margin: 0; }
#ticketPrint { display: none; }

@media print {
  @page { size: 58mm auto; margin: 0; }
  body.printing-ticket > *:not(#ticketPrint) { display: none !important; }
  body.printing-ticket { background: #fff !important; margin: 0; }
  body.printing-ticket #ticketPrint { display: block; }
  body.printing-ticket .ticket { width: 58mm; padding: 2mm; }
}
/* Ventana propia (la página pública no carga admin.css) */
.ticket-modal { position: fixed; inset: 0; z-index: 120; background: rgba(0, 0, 0, .8); display: grid; place-items: center; padding: 16px; }
.ticket-modal .modal__box { width: min(420px, 100%); max-height: 94svh; display: flex; flex-direction: column; overflow: auto;
  border-radius: 20px; background: var(--bg-2, #15121a); border: 1px solid var(--line, #333); color: var(--text, #fff); }
.ticket-modal .modal__head { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .8rem 1rem;
  border-bottom: 1px solid var(--line, #333); }
.ticket-modal .modal__body { margin: .8rem 1rem 0; }
