/* ── Sistema POS SaaS – Estilos globales ─────────────────────────────── */

:root {
    --pos-primary:  #0d6efd;
    --pos-success:  #198754;
    --pos-danger:   #dc3545;
    --pos-bg:       #f8f9fa;
}

body {
    background-color: var(--pos-bg);
    font-size: .9rem;
}

/* ── Eliminar animaciones de modales (velocidad máxima) ──────────────── */
.modal.fade .modal-dialog,
.modal .modal-dialog          { transition: none !important; transform: none !important; }
.modal.fade                   { transition: none !important; }
.modal-backdrop.fade          { transition: none !important; }
.modal-backdrop               { opacity: .45 !important; }

/* ── Tarjetas de productos en el POS ─────────────────────────────────── */
.producto-btn {
    cursor: pointer;
    transition: transform .1s ease, box-shadow .1s ease;
    user-select: none;
}
.producto-btn:hover  { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.15) !important; }
.producto-btn:active { transform: scale(.97); }
.producto-btn.flash  { outline: 3px solid #198754; }

/* ── Mesa pills ──────────────────────────────────────────────────────── */
.mesa-pill {
    font-size: .78rem;
    padding: 3px 9px;
    border-radius: 20px;
    cursor: pointer;
    transition: background .1s, color .1s;
    white-space: nowrap;
}
.mesa-pill.selected {
    background: #0d6efd !important;
    color: #fff !important;
    border-color: #0d6efd !important;
}
.mesa-pill.ocupada {
    opacity: .5;
    cursor: not-allowed;
}

/* ── Chips de observación en carrito ─────────────────────────────────── */
.obs-chip {
    font-size: .67rem;
    padding: 1px 7px;
    border-radius: 12px;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.6;
    transition: background .1s, color .1s;
}

/* ── Tabla de carrito ────────────────────────────────────────────────── */
#tablaCarrito tbody tr td { vertical-align: middle; }

/* ── Scrollable en tablas grandes ────────────────────────────────────── */
.table-responsive { overflow-x: auto; }

/* ── Badges compactos ────────────────────────────────────────────────── */
.badge { font-size: .72rem; }

/* ── Formularios compactos ───────────────────────────────────────────── */
.form-control-sm,
.form-select-sm { font-size: .82rem; }

/* ── Separador de secciones ──────────────────────────────────────────── */
hr { border-color: #dee2e6; opacity: 1; }

/* ── Ticket / Tirilla ────────────────────────────────────────────────── */
#ticketContent {
    font-family: 'Courier New', monospace;
    font-size: 11.5px;
    line-height: 1.45;
    color: #000;
    max-width: 280px;
    margin: 0 auto;
}
#ticketContent hr {
    border-top: 1px dashed #000;
    margin: 4px 0;
}

/* Wrapper oculto para impresión */
#ticketPrintWrap { display: none; }

@media print {
    @page { margin: 2mm; size: 80mm auto; }
    /* Ocultar todo excepto el ticket */
    body > *                  { visibility: hidden !important; }
    #ticketPrintWrap          { display: block !important; visibility: visible !important; }
    #ticketPrintWrap *        { visibility: visible !important; }
    #ticketPrintWrap {
        position: fixed !important;
        top: 0; left: 0;
        width: 76mm;
        font-family: 'Courier New', monospace !important;
        font-size: 10px !important;
        color: #000 !important;
        background: #fff !important;
    }
}
