.ts-control {
    height: 31px;
    padding: 0 0.75rem;
}

.offcanvas-backdrop-custom {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1040;
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
    display: none;
}

/* Cuando el backdrop está activo */
.offcanvas-backdrop-custom.show {
    opacity: 1;
    visibility: visible;
    display: block;
}

.bg-dark {
    background-color: #222834 !important;
}

.white {
    color: #ddd !important;
}

/* Fallback global para el FAB de tickets (evita depender de <style> inline en el componente). */
:root {
    --oc-ticket-offcanvas-top: 7vh;
    --oc-ticket-offcanvas-width: min(800px, 94vw);
    --oc-ticket-offcanvas-max-height: min(620px, 70vh);
}

.oc-ticket-fab {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    /* Ver comentario en la vista: por encima de barras fijas (1050) y debajo de modal Bootstrap (1055). */
    z-index: 1054;
    width: 56px;
    height: 56px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition:
        transform 0.15s ease,
        box-shadow 0.15s ease;
}

.oc-ticket-fab:hover {
    transform: translateY(-2px);
}

.oc-offcanvas-top-center {
    left: 0 !important;
    right: 0 !important;
    top: var(--oc-ticket-offcanvas-top) !important;
    bottom: auto !important;
    margin-left: auto;
    margin-right: auto;
    width: var(--oc-ticket-offcanvas-width) !important;
    height: auto !important;
    min-height: var(--oc-ticket-offcanvas-max-height) !important;
    border-radius: var(--bs-border-radius-lg);
}

.oc-offcanvas-top-center .offcanvas-body {
    overflow: auto;
}

@media (max-width: 576px) {
    :root {
        --oc-ticket-offcanvas-top: 10vh;
        --oc-ticket-offcanvas-width: min(96vw, 720px);
        --oc-ticket-offcanvas-max-height: min(520px, 80vh);
    }

    .oc-ticket-fab {
        right: 1rem;
        bottom: 1rem;
        width: 52px;
        height: 52px;
    }
}
