/* /Components/Layout/BusquedaGlobalTickets.razor.rz.scp.css */
.global-search[b-sopwkt6lk4] {
    position: relative;
    flex: 1 1 20rem;
    max-width: 38rem;
}
.global-search-control[b-sopwkt6lk4] { display: flex; gap: .5rem; }
.global-search-control input[b-sopwkt6lk4] { min-width: 0; }
.global-search-results[b-sopwkt6lk4] {
    position: absolute;
    z-index: 30;
    inset: calc(100% + .4rem) 0 auto;
    max-height: min(24rem, 65vh);
    overflow-y: auto;
    border: 1px solid var(--pbs-border);
    border-radius: .5rem;
    background: var(--pbs-surface);
    box-shadow: var(--pbs-shadow);
}
.global-search-results p[b-sopwkt6lk4],
.global-search-results a[b-sopwkt6lk4] { display: block; margin: 0; padding: .7rem .85rem; overflow-wrap: anywhere; }
.global-search-results a + a[b-sopwkt6lk4] { border-top: 1px solid var(--pbs-border); }
.global-search-results a:hover[b-sopwkt6lk4],
.global-search-results a:focus-visible[b-sopwkt6lk4] { background: var(--pbs-background); }
.global-search-results span[b-sopwkt6lk4],
.global-search-results small[b-sopwkt6lk4] { display: block; color: var(--pbs-text-muted); }
@media (max-width: 767.98px) {
    .global-search[b-sopwkt6lk4] { flex-basis: 100%; max-width: none; }
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.page[b-b4q4qrg3zr] {
    display: flex;
    flex-direction: column;
    min-height: 100dvh;
    background: var(--pbs-background);
}

main[b-b4q4qrg3zr] {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.sidebar[b-b4q4qrg3zr] {
    position: relative;
    background: var(--pbs-sidebar-bg);
    color: var(--pbs-white);
}

.mobile-menu-toggle[b-b4q4qrg3zr],
.mobile-nav-backdrop[b-b4q4qrg3zr] {
    display: none;
}

.top-row[b-b4q4qrg3zr] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .75rem 1.25rem;
    min-height: 4.5rem;
    padding: 1rem clamp(1.25rem, 3vw, 2.5rem);
    border-bottom: 1px solid var(--pbs-border);
    background: var(--pbs-surface);
}

.top-row:empty[b-b4q4qrg3zr] {
    display: none;
}


.top-row-actions[b-b4q4qrg3zr] {
    display: flex;
    flex: 0 1 auto;
    /* Mantiene el menú de perfil a la derecha aunque no se muestre la búsqueda global. */
    margin-left: auto;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem 1.25rem;
}

.account-name[b-b4q4qrg3zr] {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    font-weight: 600;
}

.top-row[b-b4q4qrg3zr]  a {
    text-decoration: none;
}

.top-row[b-b4q4qrg3zr]  a:hover {
    text-decoration: underline;
}

.logout-form[b-b4q4qrg3zr] {
    margin: 0;
}

.content[b-b4q4qrg3zr] {
    flex: 1;
    width: 100%;
    max-width: 100rem;
    min-width: 0;
    margin-inline: auto;
    padding: clamp(1rem, 2.4vw, 2rem);
}

.content:has(> .dashboard-page)[b-b4q4qrg3zr],
.content:has(> .bitacora-page)[b-b4q4qrg3zr],
.content:has(> .home-dashboard)[b-b4q4qrg3zr],
.content:has(> .logistica-hero)[b-b4q4qrg3zr],
.content:has(> .table-responsive)[b-b4q4qrg3zr] {
    max-width: none;
}

@media (min-width: 768px) {
    .page[b-b4q4qrg3zr] {
        flex-direction: row;
    }

    .sidebar[b-b4q4qrg3zr] {
        position: sticky;
        top: 0;
        display: flex;
        flex-direction: column;
        flex: 0 0 var(--pbs-sidebar-width, 15rem);
        min-width: 0;
        /* Mismo límite que tickets.js: el ancho persistido no supera el 35 % del espacio disponible. */
        max-width: max(13.75rem, 35vw);
        height: 100dvh;
    }

    .sidebar-resize-handle[b-b4q4qrg3zr] {
        position: absolute;
        inset: 0 -3px 0 auto;
        z-index: 2;
        width: 6px;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: col-resize;
        touch-action: none;
    }
    .sidebar-resize-handle:hover[b-b4q4qrg3zr], .sidebar-resize-handle:focus-visible[b-b4q4qrg3zr] { background: var(--pbs-primary); }
    .sidebar-resize-handle:focus-visible[b-b4q4qrg3zr] { outline: 2px solid var(--pbs-white); outline-offset: -2px; }

    .sidebar-collapsed .sidebar[b-b4q4qrg3zr] { flex-basis: 4.5rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-brand { justify-content: center; padding-inline: .5rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .brand-name,
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-label,
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-section-title { display: none; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav { padding-inline: .5rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-section { margin-top: .15rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-link { justify-content: center; padding-inline: .25rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-icon { flex-basis: 2rem; width: 2rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .nav-brand { flex-direction: column; gap: .5rem; padding: .5rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .navbar-brand { flex: 0 0 auto; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .brand-logo { width: 2.25rem; height: 2.25rem; }
    .sidebar-collapsed .sidebar[b-b4q4qrg3zr]  .sidebar-toggle { flex-basis: 2.25rem; width: 2.25rem; height: 2.25rem; }
    .sidebar-collapsed .sidebar-resize-handle[b-b4q4qrg3zr] { display: none; }
}

@media (max-width: 767.98px) {
    .page[b-b4q4qrg3zr] {
        display: block;
    }

    .sidebar[b-b4q4qrg3zr] {
        position: fixed;
        inset: 0 auto 0 0;
        z-index: 1040;
        width: min(18rem, calc(100vw - 3rem));
        height: 100dvh;
        overflow-y: auto;
        box-shadow: 0 1rem 2rem rgb(10 35 52 / 22%);
        transform: translateX(-105%);
        transition: transform .18s ease-out;
    }

    .sidebar-resize-handle[b-b4q4qrg3zr] { display: none; }

    .mobile-nav-open .sidebar[b-b4q4qrg3zr] {
        transform: translateX(0);
    }

    .mobile-nav-backdrop[b-b4q4qrg3zr] {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1030;
        width: 100%;
        border: 0;
        background: rgb(12 29 40 / 46%);
    }

    .mobile-menu-toggle[b-b4q4qrg3zr] {
        display: inline-grid;
        flex: 0 0 2.75rem;
        width: 2.75rem;
        aspect-ratio: 1;
        place-items: center;
        border: 1px solid var(--pbs-border);
        border-radius: .375rem;
        color: var(--pbs-primary-dark);
        background: var(--pbs-surface);
        font-size: 1.25rem;
    }

    .mobile-menu-toggle:focus-visible[b-b4q4qrg3zr] {
        outline: 2px solid var(--pbs-primary-dark);
        outline-offset: 2px;
    }

    .top-row[b-b4q4qrg3zr] {
        position: sticky;
        top: 0;
        z-index: 1020;
        padding: .75rem 1rem;
    }

    .top-row[b-b4q4qrg3zr] {
        justify-content: flex-start;
        font-size: .875rem;
    }

    .top-row-actions[b-b4q4qrg3zr] {
        flex-basis: 100%;
        max-width: none;
    }

    .top-row-actions[b-b4q4qrg3zr] {
        justify-content: flex-start;
    }

    .content[b-b4q4qrg3zr] {
        padding: 1rem;
    }

}

@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
    .sidebar[b-b4q4qrg3zr] { transition: none; }
}

#blazor-error-ui[b-b4q4qrg3zr] {
    display: none;
    position: fixed;
    inset: auto 0 0;
    z-index: 1000;
    padding: .75rem 3rem .75rem 1.25rem;
    background: var(--pbs-warning-background);
    color: var(--pbs-text);
    border-top: 1px solid var(--pbs-border);
    box-shadow: var(--pbs-shadow);
    color-scheme: light only;
}

#blazor-error-ui .dismiss[b-b4q4qrg3zr] {
    position: absolute;
    top: .5rem;
    right: .75rem;
    cursor: pointer;
}
/* /Components/Layout/NavMenu.razor.rz.scp.css */
.nav-brand[b-ytiwk5zw38] {
    display: flex;
    align-items: center;
    min-height: 5.5rem;
    gap: .5rem;
    padding: 1rem;
    border-top: 4px solid var(--pbs-primary);
    border-bottom: 1px solid rgb(255 255 255 / 20%);
}

.navbar-brand[b-ytiwk5zw38] {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    min-width: 0;
    gap: .75rem;
    color: var(--pbs-white);
    text-decoration: none;
}

.brand-logo[b-ytiwk5zw38] { flex: 0 0 auto; width: 2.75rem; height: 2.75rem; object-fit: contain; }
.brand-name[b-ytiwk5zw38] { font-size: 1rem; font-weight: 650; line-height: 1.35; overflow-wrap: anywhere; }

.sidebar-toggle[b-ytiwk5zw38] {
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgb(255 255 255 / 45%);
    border-radius: .375rem;
    color: var(--pbs-white);
    background: transparent;
    font-size: 1.25rem;
}
.sidebar-toggle:hover[b-ytiwk5zw38] { background: var(--pbs-sidebar-hover-bg); }
.sidebar-toggle:focus-visible[b-ytiwk5zw38], .nav[b-ytiwk5zw38]  .nav-link:focus-visible { outline: 2px solid var(--pbs-white); outline-offset: 2px; }

@media (max-width: 767.98px) {
    .sidebar-toggle[b-ytiwk5zw38] { display: none; }
}

/* Bootstrap define .nav con flex-wrap: wrap; en columna con altura limitada envía enlaces a una segunda
   columna y genera desbordamiento horizontal. El menú siempre debe crecer en una sola columna. */
.nav[b-ytiwk5zw38] { flex-wrap: nowrap; min-width: 0; gap: .25rem; padding: .75rem; }
.nav-section[b-ytiwk5zw38] { display: flex; flex-direction: column; gap: .2rem; margin-top: .55rem; }
.nav-section-title[b-ytiwk5zw38] {
    margin: 0 0 .2rem;
    padding: .25rem .75rem;
    color: rgb(255 255 255 / 68%);
    font-size: .75rem;
    font-weight: 700;
    line-height: 1.35;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}
.nav[b-ytiwk5zw38]  .nav-link {
    display: flex;
    align-items: center;
    min-height: 2.75rem;
    gap: .75rem;
    padding: .55rem .7rem;
    border-radius: .375rem;
    color: var(--pbs-white);
    text-decoration: none;
    overflow-wrap: anywhere;
}
.nav[b-ytiwk5zw38]  .nav-link:hover { color: var(--pbs-white); background: rgb(255 255 255 / 10%); }
.nav[b-ytiwk5zw38]  .nav-link.active { color: var(--pbs-white); background: rgb(255 255 255 / 15%); box-shadow: inset 3px 0 #67c8ee; font-weight: 650; }
.nav-icon[b-ytiwk5zw38] { flex: 0 0 1.5rem; width: 1.5rem; text-align: center; font-size: 1.2rem; line-height: 1; }
.nav-label[b-ytiwk5zw38] { min-width: 0; }

@media (min-width: 768px) {
    /* El encabezado conserva su altura real y la navegación ocupa el resto del sidebar (columna flex). */
    .nav-brand[b-ytiwk5zw38] { flex: 0 0 auto; }
    .nav[b-ytiwk5zw38] {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        scrollbar-width: thin;
        scrollbar-color: rgb(255 255 255 / 45%) transparent;
    }
}

@media (max-width: 767.98px) {
    .nav-brand[b-ytiwk5zw38] { min-height: 4.75rem; padding-right: 1rem; }
    .brand-name[b-ytiwk5zw38] { max-width: 18rem; }
}
/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-e71quqpo7w],
.components-reconnect-repeated-attempt-visible[b-e71quqpo7w],
.components-reconnect-failed-visible[b-e71quqpo7w],
.components-pause-visible[b-e71quqpo7w],
.components-resume-failed-visible[b-e71quqpo7w],
.components-rejoining-animation[b-e71quqpo7w] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-retrying[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-failed[b-e71quqpo7w],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-e71quqpo7w] {
    display: block;
}


#components-reconnect-modal[b-e71quqpo7w] {
    background-color: var(--pbs-surface);
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-e71quqpo7w 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-e71quqpo7w 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-e71quqpo7w 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-e71quqpo7w]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-e71quqpo7w 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-e71quqpo7w {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-e71quqpo7w {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-e71quqpo7w {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-e71quqpo7w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-e71quqpo7w] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-e71quqpo7w] {
    border: 0;
    background-color: var(--pbs-accion);
    color: var(--pbs-white);
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-e71quqpo7w] {
        background-color: var(--pbs-accion-hover);
    }

    #components-reconnect-modal button:active[b-e71quqpo7w] {
        background-color: var(--pbs-accion);
    }

.components-rejoining-animation[b-e71quqpo7w] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-e71quqpo7w] {
        position: absolute;
        border: 3px solid var(--pbs-primary);
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-e71quqpo7w 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-e71quqpo7w] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-e71quqpo7w {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/OrdenesCompra/ChatInternoTicket.razor.rz.scp.css */
.ticket-chat-history[b-mgsggxeymq] { display: grid; gap: .75rem; max-height: 32rem; overflow-y: auto; padding: .75rem 0; }
.ticket-chat-message[b-mgsggxeymq] { max-width: min(85%, 48rem); padding: .75rem; border: 1px solid var(--pbs-t-border, #d2d8dc); border-radius: 6px; white-space: pre-wrap; overflow-wrap: anywhere; }
.ticket-chat-message.own[b-mgsggxeymq] { justify-self: end; background: var(--pbs-t-success-bg, #e8f2ec); border-color: var(--pbs-t-success-border, #b7d2c1); }
.ticket-chat-message.other[b-mgsggxeymq] { justify-self: start; background: var(--pbs-t-surface-muted, #f1f3f4); }
.ticket-chat-message header[b-mgsggxeymq] { display: flex; justify-content: space-between; gap: 1rem; color: var(--pbs-t-text, #45535a); font-size: .875rem; }
.ticket-chat-message p[b-mgsggxeymq] { margin: .35rem 0 0; }
.ticket-chat textarea[b-mgsggxeymq] { margin-top: .35rem; }
@media (max-width: 600px) { .ticket-chat-message[b-mgsggxeymq] { max-width: 100%; } }
/* /Components/OrdenesCompra/DashboardCatalogoAutocomplete.razor.rz.scp.css */
.dashboard-catalog-filter[b-919dsply3k] { display: grid; gap: .3rem; min-width: 0; font-size: .84rem; font-weight: 600; color: var(--pbs-t-text, #47594f); }
.dashboard-catalog-dropdown[b-919dsply3k] { position: relative; min-width: 0; font-size: 1rem; font-weight: 400; color: var(--pbs-t-heading, #212529); }
.dashboard-catalog-dropdown > summary[b-919dsply3k] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 38px;
    padding: .375rem 2.25rem .375rem .75rem;
    overflow: hidden;
    border: 1px solid var(--pbs-t-border, #ced4da);
    border-radius: .375rem;
    background: var(--pbs-t-surface, #fff);
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.dashboard-catalog-dropdown > summary[b-919dsply3k]::-webkit-details-marker { display: none; }
.dashboard-catalog-dropdown > summary[b-919dsply3k]::after {
    position: absolute;
    right: .8rem;
    width: .5rem;
    height: .5rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    content: "";
    transform: translateY(-.15rem) rotate(45deg);
}
.dashboard-catalog-dropdown[open] > summary[b-919dsply3k] { border-color: var(--pbs-t-info-border, #86b7fe); box-shadow: 0 0 0 .2rem rgb(13 110 253 / 15%); }
.dashboard-catalog-dropdown > summary span[b-919dsply3k] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.dashboard-catalog-panel[b-919dsply3k] {
    position: absolute;
    z-index: 30;
    top: calc(100% + .25rem);
    left: 0;
    box-sizing: border-box;
    display: grid;
    gap: .4rem;
    width: 100%;
    min-width: min(100%, 16rem);
    max-height: min(19rem, 50dvh);
    padding: .65rem;
    overflow: hidden;
    border: 1px solid var(--pbs-t-border, #cfd9d3);
    border-radius: 4px;
    background: var(--pbs-t-surface, #fff);
    box-shadow: 0 4px 12px rgb(24 61 49 / 14%);
    font-weight: 400;
}
.dashboard-catalog-panel > input[b-919dsply3k] { width: 100%; min-width: 0; }
.dashboard-catalog-clear[b-919dsply3k] { justify-self: start; padding: .15rem 0; border: 0; background: transparent; color: var(--pbs-t-success-text, #17613b); text-decoration: underline; }
.dashboard-catalog-results[b-919dsply3k] { min-width: 0; max-height: 12rem; margin: 0; padding: 0; overflow-x: hidden; overflow-y: auto; list-style: none; overscroll-behavior: contain; }
.dashboard-catalog-results button[b-919dsply3k] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
    min-width: 0;
    padding: .5rem;
    border: 0;
    border-bottom: 1px solid var(--pbs-t-border, #e6ecef);
    background: var(--pbs-t-surface, #fff);
    color: var(--pbs-t-heading, #24332d);
    text-align: left;
}
.dashboard-catalog-results button:hover[b-919dsply3k], .dashboard-catalog-results button:focus-visible[b-919dsply3k] { background: var(--pbs-t-surface-muted, #eef4f6); }
.dashboard-catalog-results button.active[b-919dsply3k] { background: var(--pbs-t-surface-muted, #eef4f6); outline: 2px solid var(--pbs-t-success-accent, #167a55); outline-offset: -2px; }
.dashboard-catalog-results button span[b-919dsply3k] { min-width: 0; overflow-wrap: anywhere; }
.dashboard-catalog-results small[b-919dsply3k] { flex: none; color: var(--pbs-t-muted, #66766d); font-size: .72rem; }
.dashboard-catalog-message[b-919dsply3k] { margin: 0; color: var(--pbs-t-muted, #66766d); font-size: .82rem; font-weight: 400; }
.dashboard-catalog-dropdown summary:focus-visible[b-919dsply3k], .dashboard-catalog-panel :focus-visible[b-919dsply3k] { outline: 2px solid var(--pbs-t-success-accent, #167a55); outline-offset: 2px; }
/* /Components/OrdenesCompra/SelectorCatalogoEmpresas.razor.rz.scp.css */
.catalog-selector[b-3xozlsz8ri] { min-width: 0; margin: 1rem 0; }
.catalog-selector-label[b-3xozlsz8ri] { display: block; margin-bottom: .4rem; font-size: .9375rem; font-weight: 600; }
.catalog-selector-details[b-3xozlsz8ri] { min-width: 0; }
.catalog-selector-trigger[b-3xozlsz8ri] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 2.75rem;
    padding: .55rem .75rem;
    border: 1px solid var(--pbs-input-border);
    border-radius: .375rem;
    background: var(--pbs-surface);
    color: var(--pbs-text);
    cursor: pointer;
    overflow-wrap: anywhere;
    list-style: none;
}
.catalog-selector-trigger[b-3xozlsz8ri]::-webkit-details-marker { display: none; }
.catalog-selector-trigger[b-3xozlsz8ri]::after { content: "▾"; flex: none; color: var(--pbs-primary-dark); }
.catalog-selector-details[open] .catalog-selector-trigger[b-3xozlsz8ri]::after { transform: rotate(180deg); }
.catalog-selector-trigger:focus-visible[b-3xozlsz8ri],
.catalog-alphabet button:focus-visible[b-3xozlsz8ri],
.catalog-results button:focus-visible[b-3xozlsz8ri] { outline: 2px solid var(--pbs-primary-dark); outline-offset: -2px; }
.catalog-selector-trigger[aria-disabled="true"][b-3xozlsz8ri] { cursor: not-allowed; opacity: .65; }
.catalog-selector-panel[b-3xozlsz8ri] {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    height: min(22rem, 60dvh);
    min-height: 10rem;
    margin-top: .25rem;
    border: 1px solid var(--pbs-border);
    border-radius: .375rem;
    background: var(--pbs-surface);
    box-shadow: var(--pbs-shadow);
    overflow: hidden;
}
.catalog-selector-details:not([open]) .catalog-selector-panel[b-3xozlsz8ri] { display: none; }
.catalog-selector-panel > input[b-3xozlsz8ri] { flex: none; width: calc(100% - 1rem); margin: .5rem; }
.catalog-selector-body[b-3xozlsz8ri] { display: grid; grid-template-columns: 4.25rem minmax(0, 1fr); min-height: 0; flex: 1; border-top: 1px solid var(--pbs-border); }
.catalog-alphabet[b-3xozlsz8ri] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid var(--pbs-border);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    padding: .3rem;
}
.catalog-alphabet button[b-3xozlsz8ri] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 1.8rem;
    padding-inline: 0;
    border: 0;
    background: transparent;
    color: var(--pbs-t-info-text, #205670);
    text-align: center;
}
.catalog-alphabet button.active[b-3xozlsz8ri] { background: var(--pbs-t-info-bg, #d9edf2); font-weight: 700; }
.catalog-results[b-3xozlsz8ri] { min-width: 0; min-height: 0; overflow-y: auto; padding: .5rem; }
.catalog-results ul[b-3xozlsz8ri], .catalog-selected ul[b-3xozlsz8ri] { list-style: none; padding: 0; margin: 0; }
.catalog-result-option[b-3xozlsz8ri] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    width: 100%;
    min-height: 2.75rem;
    padding: .5rem;
    border: 0;
    border-bottom: 1px solid var(--pbs-t-border, #e6ecef);
    background: var(--pbs-surface);
    color: var(--pbs-text);
    text-align: left;
}
.catalog-result-option:hover[b-3xozlsz8ri] { background: var(--pbs-t-surface-muted, #eef4f6); }
.catalog-result-option.selected[b-3xozlsz8ri],
.catalog-result-option.selected:hover[b-3xozlsz8ri] { background: var(--pbs-t-success-bg, #e1f2e7); color: var(--pbs-t-success-text, #14533a); }
.catalog-result-option > span:first-child[b-3xozlsz8ri],
.catalog-selected li > span[b-3xozlsz8ri] { min-width: 0; overflow-wrap: anywhere; }
.catalog-result-check[b-3xozlsz8ri] { flex: none; color: var(--pbs-t-success-text, #14533a); font-size: 1.15rem; font-weight: 700; }
.catalog-selected li[b-3xozlsz8ri] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem 0; border-bottom: 1px solid var(--pbs-t-border, #e6ecef); }
.catalog-results small[b-3xozlsz8ri], .catalog-selected small[b-3xozlsz8ri] { display: block; color: var(--pbs-t-muted, #4d616a); }
.catalog-selected[b-3xozlsz8ri] { margin-top: .75rem; }
.catalog-clear-selection[b-3xozlsz8ri] { margin-top: .4rem; border: 0; padding: .15rem 0; background: transparent; color: var(--pbs-t-info-text, #205670); text-decoration: underline; text-underline-offset: .15em; }
.catalog-selected-chips[b-3xozlsz8ri] { display: flex; flex-wrap: wrap; gap: .35rem; list-style: none; margin: .5rem 0 0; padding: 0; }
.catalog-selected-chips li[b-3xozlsz8ri] { display: inline-flex; align-items: center; max-width: 100%; min-width: 0; gap: .25rem; padding: .15rem .35rem .15rem .55rem; border: 1px solid var(--pbs-border); border-radius: 999px; background: var(--pbs-t-surface-muted, #eef4f6); }
.catalog-selected-chips li > span[b-3xozlsz8ri] { min-width: 0; overflow-wrap: anywhere; }
.catalog-selected-chips button[b-3xozlsz8ri] { flex: none; width: 1.5rem; height: 1.5rem; border: 0; border-radius: 50%; background: transparent; color: var(--pbs-text); font-size: 1.1rem; line-height: 1; }
.catalog-selected-chips button:hover[b-3xozlsz8ri] { background: var(--pbs-t-info-bg, #dbe8ec); }
@media (max-width: 520px) {
    .catalog-selector-body[b-3xozlsz8ri] { grid-template-columns: 3.5rem minmax(0, 1fr); }
    .catalog-alphabet[b-3xozlsz8ri] { padding: .15rem; }
    .catalog-selector-panel[b-3xozlsz8ri] { height: min(20rem, 55dvh); }
}
/* /Components/OrdenesCompra/TiemposGestionDashboard.razor.rz.scp.css */
/* Tiempos de gestión: mismos tokens que el Dashboard (claro y oscuro definidos en app.css). */
.tg[b-4ypjogkw0o] {
    min-width: 0;
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    border: 1px solid var(--pbs-border);
    border-radius: .75rem;
    background: var(--pbs-surface);
}

.tg-encabezado h2[b-4ypjogkw0o] { margin: 0; color: var(--pbs-t-heading, #183b50); font-size: 1.125rem; font-weight: 700; }
.tg-encabezado p[b-4ypjogkw0o] { margin: .25rem 0 0; color: var(--pbs-text-muted); font-size: .8125rem; line-height: 1.45; }

.tg-subtitulo[b-4ypjogkw0o] {
    margin: 1.25rem 0 .75rem;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.tg-kpis[b-4ypjogkw0o] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
    gap: .75rem;
}

.tg-kpi[b-4ypjogkw0o] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    min-width: 0;
    padding: .875rem 1rem;
    overflow: hidden;
    border: 1px solid var(--pbs-border);
    border-radius: .75rem;
    background: var(--pbs-surface);
}

.tg-kpi[b-4ypjogkw0o]::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--pbs-grafico-principal);
    content: "";
}

.tg-kpi-titulo[b-4ypjogkw0o] { color: var(--pbs-text-muted); font-size: .8125rem; line-height: 1.3; }
.tg-kpi strong[b-4ypjogkw0o] { color: var(--pbs-t-heading, #183b50); font-size: 1.375rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
.tg-kpi small[b-4ypjogkw0o] { color: var(--pbs-text-muted); font-size: .75rem; }

.tg-nota[b-4ypjogkw0o] { margin: .625rem 0 0; color: var(--pbs-t-warning-text, #83570f); font-size: .8125rem; }
.tg-vacio[b-4ypjogkw0o] { margin: 0; padding: .5rem 0; color: var(--pbs-text-muted); font-size: .8125rem; }
.tg-error[b-4ypjogkw0o] { margin: .5rem 0 0; color: var(--pbs-t-danger-text, #9f1d2b); font-size: .875rem; }

.tg-desplegar[b-4ypjogkw0o],
.tg-fila-boton[b-4ypjogkw0o] {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    padding: .25rem 0;
    border: 0;
    color: var(--pbs-primary-dark);
    background: none;
    font-weight: 600;
    text-align: left;
}

.tg-desplegar[b-4ypjogkw0o] { margin-top: .75rem; }
.tg-fila-boton[b-4ypjogkw0o] { color: var(--pbs-text); }
.tg-desplegar:hover[b-4ypjogkw0o], .tg-fila-boton:hover[b-4ypjogkw0o] { text-decoration: underline; }
.tg-desplegar:focus-visible[b-4ypjogkw0o], .tg-fila-boton:focus-visible[b-4ypjogkw0o] { outline: 2px solid var(--pbs-primary-dark); outline-offset: 2px; border-radius: .25rem; }

.tg-chevron[b-4ypjogkw0o] { display: inline-block; width: .75rem; transition: transform .15s ease-in-out; }
.tg-chevron--abierto[b-4ypjogkw0o] { transform: rotate(90deg); }

.tg-tabla-scroll[b-4ypjogkw0o] { max-width: 100%; margin-top: .5rem; overflow-x: auto; border: 1px solid var(--pbs-border); border-radius: .5rem; }
.tg-tabla[b-4ypjogkw0o] { min-width: 760px; margin: 0; font-size: .8125rem; --bs-table-bg: transparent; --bs-table-color: var(--pbs-text); --bs-table-border-color: var(--pbs-border); }
.tg-tabla thead th[b-4ypjogkw0o] { color: var(--pbs-t-heading, #183b50); background: var(--pbs-background); white-space: nowrap; }
.tg-tabla td[b-4ypjogkw0o] { vertical-align: middle; }
.tg-tabla .num[b-4ypjogkw0o] { text-align: right; font-variant-numeric: tabular-nums; }
.tg-fila-area td[b-4ypjogkw0o] { background: var(--pbs-t-surface-muted, #f5f9fb); }
.tg-sangria[b-4ypjogkw0o] { padding-left: 2rem !important; }
.tg-anidado[b-4ypjogkw0o] { padding: .5rem .75rem .75rem 2rem !important; background: var(--pbs-background); }
.tg-tabla--po[b-4ypjogkw0o], .tg-tabla--intervalos[b-4ypjogkw0o] { min-width: 640px; }
.tg-intervalo--abierto td[b-4ypjogkw0o] { color: var(--pbs-t-info-text, #155e75); }
.tg-intervalo--nocalculable td[b-4ypjogkw0o] { color: var(--pbs-text-muted); font-style: italic; }

.tg-paginacion[b-4ypjogkw0o] { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; padding-top: .5rem; color: var(--pbs-text-muted); font-size: .8125rem; }

@media (max-width: 767.98px) {
    .tg[b-4ypjogkw0o] { padding: .875rem; }
    .tg-sangria[b-4ypjogkw0o] { padding-left: 1rem !important; }
    .tg-anidado[b-4ypjogkw0o] { padding-left: .5rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    .tg-chevron[b-4ypjogkw0o] { transition: none; }
}
/* /Components/Pages/DashboardInicio.razor.rz.scp.css */
.home-dashboard[b-z1tszw927q] {
    max-width: none;
}

.home-hero[b-z1tszw927q] {
    min-width: 0;
    border-left-width: 5px;
}

.home-hero h1[b-z1tszw927q] {
    overflow-wrap: anywhere;
}

.home-profile[b-z1tszw927q] {
    display: inline-flex;
    margin-top: .65rem;
    padding: .25rem .55rem;
    border: 1px solid var(--pbs-t-info-border, #A9D3DF);
    border-radius: 4px;
    color: var(--pbs-t-info-text, #155E75);
    background: var(--pbs-t-info-bg, #E8F4F7);
    font-size: .8rem;
    font-weight: 650;
}

.home-date[b-z1tszw927q] {
    display: grid;
    flex: 0 0 auto;
    gap: .2rem;
    min-width: 10rem;
    padding: .75rem 1rem;
    border: 1px solid var(--pbs-t-border, #DFE6ED);
    border-radius: 6px;
    color: var(--pbs-t-muted, #526777);
    background: var(--pbs-t-surface-muted, #F3F6FA);
    text-align: right;
}

.home-date strong[b-z1tszw927q] {
    color: var(--pbs-t-heading, #163D59);
    font-size: .95rem;
}

.home-date span:last-child[b-z1tszw927q] {
    font-size: .75rem;
}

.home-kpi[b-z1tszw927q] {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.home-kpi:hover[b-z1tszw927q] {
    border-color: var(--pbs-t-info-border, #A9D3DF);
    box-shadow: 0 .25rem .8rem rgb(22 61 89 / 9%);
    transform: translateY(-1px);
}

.home-kpi:focus-visible[b-z1tszw927q],
.home-quick-link:focus-visible[b-z1tszw927q],
.home-pending-list a:focus-visible[b-z1tszw927q],
.home-activity-list a:focus-visible[b-z1tszw927q] {
    outline: 2px solid var(--pbs-t-accent, #16749D);
    outline-offset: 3px;
}

.home-section[b-z1tszw927q] {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--pbs-t-border, #DFE6ED);
    border-radius: 6px;
    background: var(--pbs-t-surface, #FFFFFF);
}

.home-section-heading[b-z1tszw927q],
.home-activity-top[b-z1tszw927q] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
}

.home-section-heading[b-z1tszw927q] {
    margin-bottom: .8rem;
}

.home-section-heading h2[b-z1tszw927q] {
    margin: 0;
    color: var(--pbs-t-heading, #163D59);
    font-size: 1.1rem;
}

.home-section-heading p[b-z1tszw927q] {
    margin: .2rem 0 0;
    color: var(--pbs-t-muted, #526777);
    font-size: .875rem;
}

.home-section-heading > a[b-z1tszw927q] {
    flex: 0 0 auto;
    font-size: .875rem;
}

.home-quick-links[b-z1tszw927q] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
    gap: .65rem;
}

.home-quick-link[b-z1tszw927q] {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
    min-height: 4rem;
    padding: .7rem .8rem;
    border: 1px solid var(--pbs-t-border, #DFE6ED);
    border-radius: 6px;
    color: var(--pbs-t-heading, #163D59);
    background: var(--pbs-t-surface, #FFFFFF);
    text-decoration: none;
}

.home-quick-link:hover[b-z1tszw927q] {
    border-color: var(--pbs-t-info-border, #A9D3DF);
    background: var(--pbs-t-surface-muted, #F6FAFC);
    text-decoration: none;
}

.home-quick-link > span:first-child[b-z1tszw927q] {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 4px;
    color: var(--pbs-t-info-text, #16749D);
    background: var(--pbs-t-info-bg, #EAF3F7);
    font-size: 1.05rem;
    font-weight: 700;
}

.home-quick-link > span:last-child[b-z1tszw927q] {
    display: grid;
    min-width: 0;
    gap: .1rem;
}

.home-quick-link strong[b-z1tszw927q],
.home-quick-link small[b-z1tszw927q] {
    overflow-wrap: anywhere;
}

.home-quick-link strong[b-z1tszw927q] {
    font-size: .9rem;
}

.home-quick-link small[b-z1tszw927q] {
    color: var(--pbs-t-muted, #526777);
    font-size: .78rem;
}

.home-quick-link-primary[b-z1tszw927q] {
    border-color: var(--pbs-t-accent, #16749D);
    background: var(--pbs-t-surface-muted, #F1F8FB);
}

.home-lower-grid[b-z1tszw927q] {
    display: grid;
    grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.2fr);
    gap: 1rem;
}

.home-pending-list[b-z1tszw927q],
.home-activity-list[b-z1tszw927q] {
    display: grid;
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-pending-list li[b-z1tszw927q] {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .7rem 0;
    border-top: 1px solid var(--pbs-t-border, #DFE6ED);
}

.home-pending-list li:first-child[b-z1tszw927q],
.home-activity-list li:first-child[b-z1tszw927q] {
    border-top: 0;
}

.home-pending-list li > div[b-z1tszw927q] {
    display: grid;
    gap: .15rem;
}

.home-pending-list strong[b-z1tszw927q] {
    color: var(--pbs-t-heading, #163D59);
    font-size: .875rem;
}

.home-pending-list small[b-z1tszw927q],
.home-activity-list p[b-z1tszw927q],
.home-activity-list time[b-z1tszw927q] {
    color: var(--pbs-t-muted, #526777);
    font-size: .78rem;
}

.home-pending-list a[b-z1tszw927q] {
    font-size: .85rem;
    font-weight: 650;
}

.home-pending-mark[b-z1tszw927q],
.home-activity-marker[b-z1tszw927q] {
    display: grid;
    flex: 0 0 2rem;
    width: 2rem;
    aspect-ratio: 1;
    place-items: center;
    border-radius: 4px;
    color: var(--pbs-t-info-text, #155E75);
    background: var(--pbs-t-info-bg, #E8F4F7);
    font-weight: 700;
}

.home-pending-mark--paused[b-z1tszw927q],
.home-activity-marker--paused[b-z1tszw927q] {
    color: var(--pbs-t-warning-text, #80520D);
    background: var(--pbs-t-warning-bg, #FFF5DF);
}

.home-activity-marker--approved[b-z1tszw927q] { color: var(--pbs-t-success-text, #28663E); background: var(--pbs-t-success-bg, #EAF4EC); }
.home-activity-marker--cancelled[b-z1tszw927q] { color: var(--pbs-t-danger-text, #873E3E); background: var(--pbs-t-danger-bg, #F8ECEC); }

.home-activity-list li[b-z1tszw927q] {
    display: grid;
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: .7rem;
    padding: .7rem 0;
    border-top: 1px solid var(--pbs-t-border, #DFE6ED);
}

.home-activity-body[b-z1tszw927q] {
    min-width: 0;
}

.home-activity-top a[b-z1tszw927q] {
    min-width: 0;
    color: var(--pbs-t-heading, #163D59);
    font-size: .875rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}

.home-activity-list p[b-z1tszw927q] {
    margin: .25rem 0 .1rem;
}

.home-activity-list time[b-z1tszw927q] {
    display: block;
}

.home-empty[b-z1tszw927q] {
    margin: 0;
}

@media (max-width: 900px) {
    .home-lower-grid[b-z1tszw927q] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 575.98px) {
    .home-hero[b-z1tszw927q],
    .home-section-heading[b-z1tszw927q],
    .home-activity-top[b-z1tszw927q] {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-date[b-z1tszw927q] {
        width: 100%;
        text-align: left;
    }

    .home-kpis[b-z1tszw927q] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-kpi[b-z1tszw927q] {
        min-height: 7.8rem;
        padding: .7rem;
    }

    .home-pending-list li[b-z1tszw927q] {
        grid-template-columns: 2rem minmax(0, 1fr);
    }

    .home-pending-list li > a[b-z1tszw927q] {
        grid-column: 2;
    }
}
/* /Components/Pages/Login.razor.rz.scp.css */
/* Login: una sola composición; los colores salen de los tokens del tema (claro/oscuro) definidos en app.css.
   Escala de espaciado: .375 / .5 / .75 / 1 / 1.5 / 2 rem; los rellenos de las zonas usan clamp() entre 1.25 y 3.5 rem. */
.login-page[b-y4759fx73m] {
    display: grid;
    place-items: center;
    min-height: 100dvh;
    padding: clamp(1rem, 4vw, 3rem);
    background: var(--pbs-background);
}

.login-frame[b-y4759fx73m] {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    width: min(100%, 60rem);
    min-height: min(35rem, calc(100dvh - 4rem));
    overflow: hidden;
    border: 1px solid var(--pbs-border);
    border-radius: 1rem;
    background: var(--pbs-surface);
    box-shadow: var(--pbs-shadow);
}

/* Zona de identidad. Sobre el degradado claro, --pbs-text-muted queda en 4,4:1; este tono conserva 4,5:1 (AA)
   y en tema oscuro se vuelve a usar el token del tema. */
.login-identity[b-y4759fx73m] {
    --login-texto-secundario: #4b5b6e;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 2rem;
    padding: clamp(2rem, 4vw, 3.5rem);
    border-right: 1px solid var(--pbs-border);
    background: linear-gradient(160deg, var(--pbs-primary-light) 0%, var(--pbs-surface) 90%);
}

:root[data-theme="dark"] .login-identity[b-y4759fx73m] {
    --login-texto-secundario: var(--pbs-text-muted);
}

.login-logo[b-y4759fx73m] {
    display: block;
    width: clamp(4.5rem, 7vw, 5.75rem);
    height: auto;
    animation: login-logo-entrada-b-y4759fx73m 760ms cubic-bezier(.22, .61, .36, 1) both;
}

.login-identity-text[b-y4759fx73m] {
    display: grid;
    gap: .5rem;
    animation: login-texto-entrada-b-y4759fx73m 600ms 160ms ease-out both;
}

.login-company[b-y4759fx73m] {
    margin: 0;
    color: var(--login-texto-secundario);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.login-welcome[b-y4759fx73m] {
    margin: 0;
    color: var(--pbs-t-heading, #183b50);
    font-size: clamp(1.625rem, 2.6vw, 2.125rem);
    font-weight: 650;
    line-height: 1.2;
    text-wrap: balance;
}

.login-tagline[b-y4759fx73m] {
    max-width: 24rem;
    margin: 0;
    color: var(--login-texto-secundario);
    font-size: 1rem;
    line-height: 1.55;
}

/* Zona de autenticación: el contenido conserva un ancho cómodo aunque la zona crezca. */
.login-panel[b-y4759fx73m] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4.5vw, 4rem);
}

.login-panel > *[b-y4759fx73m] {
    width: 100%;
    max-width: 24rem;
    margin-inline: auto;
}

.login-eyebrow[b-y4759fx73m] {
    display: flex;
    align-items: center;
    gap: .375rem;
    margin-block: 0 .5rem;
    color: var(--pbs-primary-dark);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.login-panel h1[b-y4759fx73m] {
    margin-block: 0 .375rem;
    color: var(--pbs-t-heading, #183b50);
    font-size: clamp(1.5rem, 2.2vw, 1.75rem);
    font-weight: 650;
    line-height: 1.25;
}

.login-intro[b-y4759fx73m] {
    margin-block: 0 1.5rem;
    color: var(--pbs-text-muted);
    font-size: .9375rem;
    line-height: 1.5;
}

.login-alert[b-y4759fx73m] {
    margin-block: 0 1.5rem;
    padding: .75rem 1rem;
    font-size: .875rem;
    line-height: 1.45;
}

.login-form[b-y4759fx73m] {
    display: grid;
    gap: 1rem;
}

.login-field[b-y4759fx73m] {
    display: grid;
    gap: .375rem;
}

.login-field label[b-y4759fx73m] {
    margin: 0;
    font-size: .875rem;
    font-weight: 600;
}

.login-field .form-control[b-y4759fx73m] {
    min-height: 2.75rem;
    padding: .5rem .75rem;
    border-radius: .5rem;
}

.login-submit[b-y4759fx73m] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    width: 100%;
    min-height: 2.875rem;
    margin-top: .5rem;
    border-radius: .5rem;
    font-weight: 600;
}

/* Mientras se envía, el botón conserva tamaño y contraste (Bootstrap atenúa mucho los botones deshabilitados). */
.login-submit:disabled[b-y4759fx73m] {
    opacity: .85;
    cursor: progress;
}

.login-spinner[b-y4759fx73m] {
    display: none;
    width: 1rem;
    height: 1rem;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
}

.login-submit[aria-busy="true"] .login-spinner[b-y4759fx73m] {
    display: inline-block;
    animation: login-giro-b-y4759fx73m 700ms linear infinite;
}

.login-help[b-y4759fx73m] {
    margin-block: 1.5rem 0;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    line-height: 1.5;
}

.login-preferences[b-y4759fx73m] {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--pbs-border);
}

.login-preferences .profile-options[b-y4759fx73m] {
    grid-template-columns: repeat(2, auto);
}

.login-preferences .profile-option[b-y4759fx73m] {
    min-height: 2.25rem;
    padding-inline: .75rem;
    font-size: .8125rem;
}

/* Aviso de cambio de idioma no aplicado; ocupa su propia línea bajo los selectores. */
.login-preferences .profile-status[b-y4759fx73m] {
    flex-basis: 100%;
    margin: 0;
}

@keyframes login-logo-entrada-b-y4759fx73m {
    from { opacity: 0; transform: translateY(.75rem) scale(.96); }
    to { opacity: 1; transform: none; }
}

@keyframes login-texto-entrada-b-y4759fx73m {
    from { opacity: 0; transform: translateY(.5rem); }
    to { opacity: 1; transform: none; }
}

@keyframes login-giro-b-y4759fx73m {
    to { transform: rotate(360deg); }
}

/* Tablet y móvil: una columna; la identidad se compacta en una cabecera sobre el formulario. */
@media (max-width: 899.98px) {
    .login-frame[b-y4759fx73m] {
        grid-template-columns: minmax(0, 1fr);
        width: min(100%, 30rem);
        min-height: 0;
    }

    .login-identity[b-y4759fx73m] {
        flex-direction: row;
        align-items: center;
        gap: 1rem;
        padding: 1.5rem;
        border-right: 0;
        border-bottom: 1px solid var(--pbs-border);
    }

    .login-logo[b-y4759fx73m] {
        flex: 0 0 auto;
        width: 3.5rem;
    }

    .login-identity-text[b-y4759fx73m] {
        gap: .25rem;
    }

    .login-company[b-y4759fx73m] {
        font-size: .75rem;
    }

    .login-welcome[b-y4759fx73m] {
        font-size: 1.25rem;
    }

    .login-tagline[b-y4759fx73m] {
        font-size: .875rem;
        line-height: 1.45;
    }

    .login-panel[b-y4759fx73m] {
        padding: 2rem 1.5rem 1.5rem;
    }
}

@media (max-width: 575.98px) {
    .login-page[b-y4759fx73m] {
        place-items: start center;
        padding: 1rem;
    }

    .login-identity[b-y4759fx73m] {
        padding: 1.25rem;
    }

    .login-logo[b-y4759fx73m] {
        width: 3rem;
    }

    .login-panel[b-y4759fx73m] {
        padding: 1.5rem 1.25rem 1.25rem;
    }

    .login-preferences[b-y4759fx73m] {
        justify-content: center;
    }
}

/* Sin animaciones de entrada; el spinner queda estático y el texto del botón indica el envío. */
@media (prefers-reduced-motion: reduce) {
    .login-logo[b-y4759fx73m],
    .login-identity-text[b-y4759fx73m],
    .login-submit[aria-busy="true"] .login-spinner[b-y4759fx73m] {
        animation: none;
    }
}
/* /Components/Pages/OrdenesCompra/DashboardTickets.razor.rz.scp.css */
/* Dashboard de Tickets: centro de control. Todos los colores salen de los tokens de app.css (claro/oscuro);
   los estados y series usan --pbs-estado-* y --pbs-grafico-* para mantener el mismo significado en todo el panel.
   Escala de espaciado: .25 / .5 / .75 / 1 / 1.25 / 1.5 / 2 rem. */

.dashboard-page[b-sdyzfmjzw3] {
    width: 100%;
    max-width: 112rem;
    margin-inline: auto;
    padding: .25rem 0 2rem;
    color: var(--pbs-text);
}

/* Tonos semánticos: cada clase define --tono, que usan barras, íconos, leyendas y acentos de tarjeta. */
.tono--principal[b-sdyzfmjzw3], .tono-borde--principal[b-sdyzfmjzw3] { --tono: var(--pbs-grafico-principal); }
.tono--proceso[b-sdyzfmjzw3], .tono-borde--proceso[b-sdyzfmjzw3] { --tono: var(--pbs-estado-proceso); }
.tono--pausado[b-sdyzfmjzw3], .tono-borde--pausado[b-sdyzfmjzw3] { --tono: var(--pbs-estado-pausado); }
.tono--aprobado[b-sdyzfmjzw3], .tono-borde--aprobado[b-sdyzfmjzw3] { --tono: var(--pbs-estado-aprobado); }
.tono--cancelado[b-sdyzfmjzw3], .tono-borde--cancelado[b-sdyzfmjzw3] { --tono: var(--pbs-estado-cancelado); }
.tono--rechazo[b-sdyzfmjzw3], .tono-borde--rechazo[b-sdyzfmjzw3] { --tono: var(--pbs-grafico-rechazo); }
.tono--reenvio[b-sdyzfmjzw3], .tono-borde--reenvio[b-sdyzfmjzw3] { --tono: var(--pbs-grafico-reenvio); }

.dashboard-icon[b-sdyzfmjzw3] {
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Encabezado */
.dashboard-heading[b-sdyzfmjzw3] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding-bottom: 1rem;
}

.dashboard-heading-text[b-sdyzfmjzw3] { min-width: 0; }

.dashboard-eyebrow[b-sdyzfmjzw3] {
    margin: 0 0 .25rem;
    color: var(--pbs-primary-dark);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.dashboard-heading h1[b-sdyzfmjzw3] {
    margin: 0;
    color: var(--pbs-t-heading, #183b50);
    font-size: clamp(1.5rem, 2vw, 1.875rem);
    font-weight: 650;
    line-height: 1.2;
}

.dashboard-heading-text > p:last-child[b-sdyzfmjzw3] {
    margin: .375rem 0 0;
    color: var(--pbs-text-muted);
    font-size: .9375rem;
}

.dashboard-heading-actions[b-sdyzfmjzw3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.dashboard-filter-toggle[b-sdyzfmjzw3],
.dashboard-export[b-sdyzfmjzw3] {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-height: 2.5rem;
    font-weight: 600;
}

.dashboard-badge[b-sdyzfmjzw3] {
    display: inline-grid;
    place-items: center;
    min-width: 1.375rem;
    height: 1.375rem;
    padding-inline: .375rem;
    border-radius: 999px;
    color: var(--pbs-white);
    background: var(--pbs-accion);
    font-size: .75rem;
    line-height: 1;
}

.dashboard-pending-dot[b-sdyzfmjzw3] {
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: var(--pbs-estado-pausado);
}

.dashboard-count[b-sdyzfmjzw3] {
    padding: .375rem .75rem;
    border: 1px solid var(--pbs-border);
    border-radius: 999px;
    color: var(--pbs-text);
    background: var(--pbs-surface);
    font-size: .8125rem;
    font-weight: 700;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* Resumen de filtros aplicados */
.dashboard-applied[b-sdyzfmjzw3] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .375rem .5rem;
    padding: .75rem 0 1rem;
    border-top: 1px solid var(--pbs-border);
}

.dashboard-applied-label[b-sdyzfmjzw3] {
    margin-right: .25rem;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    font-weight: 600;
}

.dashboard-chip[b-sdyzfmjzw3] {
    max-width: 100%;
    padding: .25rem .625rem;
    overflow-wrap: anywhere;
    border: 1px solid var(--pbs-border);
    border-radius: 999px;
    color: var(--pbs-text);
    background: var(--pbs-surface);
    font-size: .8125rem;
}

.dashboard-chip--pending[b-sdyzfmjzw3] {
    border-color: var(--pbs-estado-pausado);
    color: var(--pbs-t-warning-text, #83570f);
    background: var(--pbs-t-warning-bg, #fff5df);
}

/* Panel de filtros */
.dashboard-filters[b-sdyzfmjzw3] {
    margin-bottom: 1.5rem;
    padding: 1.25rem;
    border: 1px solid var(--pbs-border);
    border-radius: .75rem;
    background: var(--pbs-surface);
    box-shadow: var(--pbs-shadow);
}

.dashboard-filters[hidden][b-sdyzfmjzw3] { display: none; }

.dashboard-panel-close[b-sdyzfmjzw3] {
    display: inline-grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border: 1px solid transparent;
    border-radius: .5rem;
    color: var(--pbs-text-muted);
    background: transparent;
}

.dashboard-panel-close:hover[b-sdyzfmjzw3] { border-color: var(--pbs-border); color: var(--pbs-text); }
.dashboard-panel-close:focus-visible[b-sdyzfmjzw3] { outline: 2px solid var(--pbs-primary-dark); outline-offset: 2px; }

.dashboard-section-heading[b-sdyzfmjzw3] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dashboard-section-heading h2[b-sdyzfmjzw3] {
    margin: 0;
    color: var(--pbs-t-heading, #183b50);
    font-size: 1.0625rem;
    font-weight: 650;
}

.dashboard-section-heading p[b-sdyzfmjzw3] {
    margin: .25rem 0 0;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
}

.dashboard-filter-grid[b-sdyzfmjzw3] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem 1rem; align-items: start; }
.dashboard-filter-grid > label[b-sdyzfmjzw3] { display: grid; gap: .375rem; min-width: 0; color: var(--pbs-text); font-size: .8125rem; font-weight: 600; }
.dashboard-filter-grid .form-control[b-sdyzfmjzw3], .dashboard-filter-grid .form-select[b-sdyzfmjzw3] { width: 100%; min-width: 0; }
.dashboard-filter-wide[b-sdyzfmjzw3] { grid-column: span 2; }
.dashboard-period-selection[b-sdyzfmjzw3] { margin: 0; color: var(--pbs-text-muted); font-size: .8125rem; }
.dashboard-filter-check[b-sdyzfmjzw3] { display: flex !important; align-items: center; align-self: center; gap: .5rem !important; min-height: 2.5rem; }
.dashboard-filter-check input[b-sdyzfmjzw3], .dashboard-state-options input[b-sdyzfmjzw3] { width: 1rem; height: 1rem; accent-color: var(--pbs-accion); }

.dashboard-state-field[b-sdyzfmjzw3] { display: grid; gap: .375rem; min-width: 0; color: var(--pbs-text); font-size: .8125rem; font-weight: 600; }
.dashboard-state-dropdown[b-sdyzfmjzw3] { position: relative; min-width: 0; color: var(--pbs-text); font-size: 1rem; font-weight: 400; }
.dashboard-state-dropdown > summary[b-sdyzfmjzw3] {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 2.375rem;
    padding: .375rem 2.25rem .375rem .75rem;
    overflow: hidden;
    border: 1px solid var(--pbs-input-border, var(--pbs-border));
    border-radius: .375rem;
    background: var(--pbs-surface);
    cursor: pointer;
    list-style: none;
    white-space: nowrap;
    text-overflow: ellipsis;
}
.dashboard-state-dropdown > summary[b-sdyzfmjzw3]::-webkit-details-marker { display: none; }
.dashboard-state-dropdown > summary[b-sdyzfmjzw3]::after { position: absolute; right: .8rem; width: .5rem; height: .5rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-.15rem) rotate(45deg); }
.dashboard-state-dropdown[open] > summary[b-sdyzfmjzw3] { border-color: var(--pbs-primary-dark); box-shadow: var(--pbs-focus-ring); }
/* Las opciones se despliegan dentro del panel (en el flujo) y no superpuestas: así nunca tapan
   "Aplicar filtros" ni otros controles aunque el desplegable quede abierto. */
.dashboard-state-options[b-sdyzfmjzw3], .dashboard-user-options[b-sdyzfmjzw3] {
    display: grid;
    margin-top: .375rem;
    padding: .75rem;
    border: 1px solid var(--pbs-border);
    border-radius: .5rem;
    background: var(--pbs-background);
}
.dashboard-state-options[b-sdyzfmjzw3] { gap: .375rem; width: 100%; max-height: 16rem; overflow-y: auto; }
.dashboard-state-options label[b-sdyzfmjzw3] { display: flex; align-items: center; gap: .5rem; min-width: 0; padding: .125rem; cursor: pointer; }
.dashboard-state-options label .dashboard-state[b-sdyzfmjzw3] { white-space: normal; }
.dashboard-user-options[b-sdyzfmjzw3] { gap: .5rem; box-sizing: border-box; width: 100%; min-width: 0; max-height: 18rem; overflow: hidden; }
.dashboard-user-options > .form-control[b-sdyzfmjzw3] { width: 100%; min-width: 0; }
.dashboard-user-actions[b-sdyzfmjzw3] { display: flex; flex-wrap: wrap; gap: .75rem; min-width: 0; }
.dashboard-user-list[b-sdyzfmjzw3] { display: grid; gap: .25rem; min-width: 0; max-height: 10.5rem; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.dashboard-user-list label[b-sdyzfmjzw3] { display: flex; align-items: flex-start; gap: .5rem; min-width: 0; padding: .25rem; cursor: pointer; }
.dashboard-user-list input[b-sdyzfmjzw3] { flex: 0 0 auto; width: 1rem; height: 1rem; margin-top: .125rem; accent-color: var(--pbs-accion); }
.dashboard-user-list label span[b-sdyzfmjzw3] { min-width: 0; overflow-wrap: anywhere; font-size: .8125rem; font-weight: 400; }
.dashboard-user-empty[b-sdyzfmjzw3] { margin: .25rem 0; color: var(--pbs-text-muted); font-size: .8125rem; font-weight: 400; }
.dashboard-state-clear[b-sdyzfmjzw3] { justify-self: start; margin-top: .25rem; padding: .25rem 0; border: 0; color: var(--pbs-primary-dark); background: transparent; text-decoration: underline; }
.dashboard-state-clear:disabled[b-sdyzfmjzw3] { color: var(--pbs-text-muted); cursor: default; }

.dashboard-advanced[b-sdyzfmjzw3] { grid-column: 1 / -1; min-width: 0; }
.dashboard-advanced > summary[b-sdyzfmjzw3], .dashboard-filter-group > summary[b-sdyzfmjzw3] { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-width: 0; padding: .625rem .75rem; color: var(--pbs-t-heading, #183b50); cursor: pointer; list-style: none; }
.dashboard-advanced > summary[b-sdyzfmjzw3] { border: 1px solid var(--pbs-border); border-radius: .5rem; background: var(--pbs-background); font-weight: 650; }
.dashboard-advanced > summary[b-sdyzfmjzw3]::-webkit-details-marker, .dashboard-filter-group > summary[b-sdyzfmjzw3]::-webkit-details-marker { display: none; }
.dashboard-advanced > summary[b-sdyzfmjzw3]::after, .dashboard-filter-group > summary[b-sdyzfmjzw3]::after { flex: 0 0 auto; width: .45rem; height: .45rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; transform: translateY(-.12rem) rotate(45deg); }
.dashboard-advanced[open] > summary[b-sdyzfmjzw3]::after, .dashboard-filter-group[open] > summary[b-sdyzfmjzw3]::after { transform: translateY(.12rem) rotate(225deg); }
.dashboard-advanced > summary span[b-sdyzfmjzw3], .dashboard-filter-group > summary span[b-sdyzfmjzw3] { margin-left: auto; color: var(--pbs-text-muted); font-size: .8125rem; font-weight: 400; text-align: right; }
.dashboard-advanced-grid[b-sdyzfmjzw3] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; min-width: 0; padding-top: .5rem; }
.dashboard-filter-group[b-sdyzfmjzw3] { min-width: 0; border: 1px solid var(--pbs-border); border-radius: .5rem; background: var(--pbs-surface); }
.dashboard-filter-group-wide[b-sdyzfmjzw3] { grid-column: 1 / -1; }
.dashboard-filter-group > summary[b-sdyzfmjzw3] { font-size: .875rem; font-weight: 600; }
.dashboard-filter-group-content[b-sdyzfmjzw3] { min-width: 0; padding: .75rem; border-top: 1px solid var(--pbs-border); }
.dashboard-user-filter-grid[b-sdyzfmjzw3] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; }
/* Doble clase: el contenedor también es .dashboard-filter-grid, cuyas columnas de los @media (3 o 2) no deben aplicarse
   dentro de un grupo. Las columnas dependen del ancho del grupo, sin controles de menos de 11rem. */
.dashboard-filter-grid.dashboard-filter-grid-inner[b-sdyzfmjzw3] { grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr)); }
.dashboard-filter-grid-inner > label[b-sdyzfmjzw3] { display: grid; gap: .375rem; min-width: 0; color: var(--pbs-text); font-size: .8125rem; font-weight: 600; }
.dashboard-advanced summary:focus-visible[b-sdyzfmjzw3], .dashboard-filter-group summary:focus-visible[b-sdyzfmjzw3],
.dashboard-state-dropdown summary:focus-visible[b-sdyzfmjzw3], .dashboard-state-options input:focus-visible[b-sdyzfmjzw3],
.dashboard-user-options input:focus-visible[b-sdyzfmjzw3], .dashboard-state-clear:focus-visible[b-sdyzfmjzw3] { outline: 2px solid var(--pbs-primary-dark); outline-offset: 2px; }
.dashboard-filter-actions[b-sdyzfmjzw3] { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding-top: 1rem; }
.dashboard-filter-pending[b-sdyzfmjzw3] { color: var(--pbs-t-warning-text, #83570f); font-size: .8125rem; }

/* Bloques de indicadores */
.dashboard-block[b-sdyzfmjzw3] { min-width: 0; margin-bottom: 1.5rem; }

.dashboard-block-title[b-sdyzfmjzw3] {
    margin: 0 0 .75rem;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.dashboard-overview[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: minmax(15rem, 1.4fr) repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.dashboard-hero[b-sdyzfmjzw3],
.dashboard-kpi[b-sdyzfmjzw3],
.dashboard-time[b-sdyzfmjzw3],
.dashboard-chart[b-sdyzfmjzw3],
.dashboard-table-section[b-sdyzfmjzw3] {
    min-width: 0;
    border: 1px solid var(--pbs-border);
    border-radius: .75rem;
    background: var(--pbs-surface);
}

.dashboard-hero[b-sdyzfmjzw3] {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding: 1.25rem;
    box-shadow: var(--pbs-shadow);
}

.dashboard-hero-head[b-sdyzfmjzw3], .dashboard-kpi-head[b-sdyzfmjzw3] {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 0;
}

.dashboard-hero-head[b-sdyzfmjzw3] { color: var(--pbs-primary-dark); }

.dashboard-hero h3[b-sdyzfmjzw3], .dashboard-kpi h3[b-sdyzfmjzw3] {
    margin: 0;
    color: var(--pbs-text-muted);
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.3;
}

.dashboard-hero-value[b-sdyzfmjzw3] {
    color: var(--pbs-t-heading, #183b50);
    font-size: clamp(2.25rem, 3.2vw, 2.75rem);
    font-weight: 700;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.dashboard-hero small[b-sdyzfmjzw3], .dashboard-kpi small[b-sdyzfmjzw3] {
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    line-height: 1.4;
}

.dashboard-composition[b-sdyzfmjzw3] {
    display: flex;
    gap: 2px;
    height: .625rem;
    margin-top: auto;
    padding-top: 0;
    overflow: hidden;
    border-radius: 999px;
    background: var(--pbs-grafico-pista);
}

.dashboard-hero > small[b-sdyzfmjzw3] { margin-bottom: 1rem; }
.dashboard-composition i[b-sdyzfmjzw3] { display: block; height: 100%; background: var(--tono); }
.dashboard-hero-caption[b-sdyzfmjzw3] { margin-top: .375rem; color: var(--pbs-text-muted); font-size: .75rem; }

.dashboard-kpi[b-sdyzfmjzw3] {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .375rem;
    padding: 1rem 1.125rem;
    overflow: hidden;
}

/* Acento de color fino en el borde izquierdo: identifica el significado sin saturar la tarjeta. */
.dashboard-kpi[b-sdyzfmjzw3]::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    background: var(--tono, var(--pbs-grafico-principal));
    content: "";
}

.dashboard-kpi-icon[b-sdyzfmjzw3] {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: .5rem;
    color: var(--tono);
    background: color-mix(in srgb, var(--tono) 14%, transparent);
}

.dashboard-kpi > strong[b-sdyzfmjzw3] {
    color: var(--pbs-t-heading, #183b50);
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.15;
    font-variant-numeric: tabular-nums;
}

.dashboard-kpi-bar[b-sdyzfmjzw3] { margin-top: auto; }

.dashboard-two-blocks[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.5rem;
}

.dashboard-kpi-grid[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.dashboard-time-grid[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
    gap: .75rem;
}

.dashboard-time[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .125rem .625rem;
    padding: .75rem 1rem;
}

.dashboard-time-icon[b-sdyzfmjzw3] { grid-row: span 2; color: var(--pbs-primary-dark); }
.dashboard-time-label[b-sdyzfmjzw3] { color: var(--pbs-text-muted); font-size: .8125rem; line-height: 1.3; }
.dashboard-time strong[b-sdyzfmjzw3] { color: var(--pbs-t-heading, #183b50); font-size: 1.0625rem; font-variant-numeric: tabular-nums; }

.dashboard-block-note[b-sdyzfmjzw3], .dashboard-data-note[b-sdyzfmjzw3] { margin: .625rem 0 0; font-size: .8125rem; }
.dashboard-block-note[b-sdyzfmjzw3] { color: var(--pbs-text-muted); }
.dashboard-data-note[b-sdyzfmjzw3] { color: var(--pbs-t-warning-text, #83570f); }

/* Gráficos */
.dashboard-charts[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.dashboard-chart[b-sdyzfmjzw3] { grid-column: span 6; padding: 1.25rem; }
.dashboard-chart--wide[b-sdyzfmjzw3] { grid-column: span 8; }
.dashboard-chart--wide + .dashboard-chart[b-sdyzfmjzw3] { grid-column: span 4; }
.dashboard-chart--full[b-sdyzfmjzw3] { grid-column: 1 / -1; }

.dashboard-chart header[b-sdyzfmjzw3] { margin-bottom: 1rem; }
.dashboard-chart h2[b-sdyzfmjzw3] { margin: 0; color: var(--pbs-t-heading, #183b50); font-size: 1.0625rem; font-weight: 650; }
.dashboard-chart header p[b-sdyzfmjzw3] { margin: .25rem 0 0; color: var(--pbs-text-muted); font-size: .8125rem; }

.dashboard-legend[b-sdyzfmjzw3] {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
    margin: -.25rem 0 .75rem;
    padding: 0;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    list-style: none;
}

.dashboard-legend li[b-sdyzfmjzw3] { display: inline-flex; align-items: center; gap: .375rem; }
.dashboard-legend i[b-sdyzfmjzw3] { width: .75rem; height: .75rem; border-radius: 3px; background: var(--tono); }

/* Las series largas se desplazan dentro del gráfico, no en la página. */
.dashboard-scroll[b-sdyzfmjzw3] { max-height: 24rem; overflow-y: auto; overscroll-behavior: contain; padding-right: .25rem; }

.dashboard-period-bars[b-sdyzfmjzw3], .dashboard-status-bars[b-sdyzfmjzw3], .dashboard-event-bars[b-sdyzfmjzw3] { display: grid; gap: .25rem; }

.dashboard-period-bars button[b-sdyzfmjzw3],
.dashboard-status-bars button[b-sdyzfmjzw3],
.dashboard-event-bars button[b-sdyzfmjzw3],
.dashboard-user-row[b-sdyzfmjzw3] {
    display: grid;
    align-items: center;
    gap: .75rem;
    width: 100%;
    padding: .375rem .5rem;
    border: 0;
    border-radius: .375rem;
    color: inherit;
    background: transparent;
    text-align: left;
}

.dashboard-period-bars button[b-sdyzfmjzw3] { grid-template-columns: minmax(6rem, 9rem) minmax(3rem, 1fr) 3rem; }
/* Distribución por estado: la tarjeta puede ocupar 4 de 12 columnas, y con zoom se estrecha. Las columnas se ajustan al
   contenido (antes 6.5rem + 3rem + 4.5rem fijos desbordaban la tarjeta) y, si no caben, la barra baja a su propia línea. */
.dashboard-chart--estado[b-sdyzfmjzw3] { container: estado-tickets / inline-size; }
/* Ancho estable (barras alineadas entre filas) que nunca es menor que el contenido. */
.dashboard-status-bars button[b-sdyzfmjzw3] { grid-template-columns: minmax(max-content, 7.5rem) minmax(2rem, 1fr) minmax(max-content, 5rem); }
.dashboard-status-bars strong[b-sdyzfmjzw3] { white-space: nowrap; }
@container estado-tickets (max-width: 18rem) {
    .dashboard-status-bars button[b-sdyzfmjzw3] { grid-template-columns: minmax(0, 1fr) auto; row-gap: .375rem; }
    .dashboard-status-bars .dashboard-bar[b-sdyzfmjzw3] { grid-row: 2; grid-column: 1 / -1; }
    .dashboard-status-bars .dashboard-state[b-sdyzfmjzw3] { justify-self: start; max-width: 100%; }
}
.dashboard-event-bars button[b-sdyzfmjzw3], .dashboard-user-row[b-sdyzfmjzw3] { grid-template-columns: minmax(6rem, 9rem) minmax(0, 1fr); }

.dashboard-period-bars button:hover[b-sdyzfmjzw3], .dashboard-status-bars button:hover[b-sdyzfmjzw3], .dashboard-event-bars button:hover[b-sdyzfmjzw3] { background: var(--pbs-primary-light); }
.dashboard-period-bars button:focus-visible[b-sdyzfmjzw3], .dashboard-status-bars button:focus-visible[b-sdyzfmjzw3], .dashboard-event-bars button:focus-visible[b-sdyzfmjzw3] { outline: 2px solid var(--pbs-primary-dark); outline-offset: 1px; }

.dashboard-bar-label[b-sdyzfmjzw3] {
    display: grid;
    min-width: 0;
    overflow: hidden;
    color: var(--pbs-text-muted);
    font-size: .8125rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-user-row .dashboard-bar-label[b-sdyzfmjzw3] { color: var(--pbs-text); font-weight: 600; }
.dashboard-bar-label small[b-sdyzfmjzw3] { overflow: hidden; color: var(--pbs-text-muted); font-size: .75rem; font-weight: 400; text-overflow: ellipsis; }

.dashboard-period-bars strong[b-sdyzfmjzw3], .dashboard-status-bars strong[b-sdyzfmjzw3] {
    font-size: .875rem;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.dashboard-status-bars strong small[b-sdyzfmjzw3] { margin-left: .25rem; color: var(--pbs-text-muted); font-size: .75rem; font-weight: 400; }

.dashboard-bar[b-sdyzfmjzw3] {
    display: block;
    height: .625rem;
    overflow: hidden;
    border-radius: 999px;
    background: var(--pbs-grafico-pista);
}

.dashboard-bar i[b-sdyzfmjzw3] { display: block; height: 100%; min-width: 2px; border-radius: inherit; background: var(--tono, var(--pbs-grafico-principal)); }

.dashboard-pair[b-sdyzfmjzw3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.25rem;
    align-items: center;
    gap: .25rem .5rem;
    min-width: 0;
}

.dashboard-pair b[b-sdyzfmjzw3] { font-size: .8125rem; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }

.dashboard-state[b-sdyzfmjzw3] { display: inline-block; padding: .2rem .5rem; border-radius: 999px; font-size: .75rem; font-weight: 600; white-space: nowrap; }
.dashboard-state.state--pending[b-sdyzfmjzw3], .dashboard-state.state--review[b-sdyzfmjzw3] { color: var(--pbs-t-info-text, #1b5e85); background: var(--pbs-t-info-bg, #e4f0f7); }
.dashboard-state.state--paused[b-sdyzfmjzw3] { color: var(--pbs-t-warning-text, #83570f); background: var(--pbs-t-warning-bg, #fff1dc); }
.dashboard-state.state--approved[b-sdyzfmjzw3] { color: var(--pbs-t-success-text, #17613b); background: var(--pbs-t-success-bg, #e2f3e9); }
.dashboard-state.state--cancelled[b-sdyzfmjzw3] { color: var(--pbs-t-danger-text, #873c39); background: var(--pbs-t-danger-bg, #fbe7e6); }

/* Tablas */
.dashboard-table-section[b-sdyzfmjzw3] { margin-bottom: 1.5rem; padding: 1.25rem; }
.dashboard-table-scroll[b-sdyzfmjzw3] { max-width: 100%; overflow-x: auto; border: 1px solid var(--pbs-border); border-radius: .5rem; }
.dashboard-table[b-sdyzfmjzw3] { min-width: 1120px; margin: 0; font-size: .8125rem; }
.dashboard-table--compact[b-sdyzfmjzw3] { min-width: 760px; }
.dashboard-table thead th[b-sdyzfmjzw3] { position: sticky; top: 0; z-index: 1; color: var(--pbs-t-heading, #183b50); background: var(--pbs-background); white-space: nowrap; }
.dashboard-table th button[b-sdyzfmjzw3] { padding: 0; border: 0; color: inherit; background: none; font-weight: 700; }
/* break-word solo parte palabras que no caben solas; no reduce el ancho mínimo de la columna (la tabla se desplaza). */
.dashboard-table td[b-sdyzfmjzw3] { max-width: 220px; overflow-wrap: break-word; vertical-align: middle; }
.dashboard-table .num[b-sdyzfmjzw3] { text-align: right; font-variant-numeric: tabular-nums; }
.dashboard-pagination[b-sdyzfmjzw3] { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; padding-top: .75rem; color: var(--pbs-text-muted); font-size: .875rem; }

.dashboard-empty[b-sdyzfmjzw3] { margin: 0; padding: .75rem 0; color: var(--pbs-text-muted); }
.dashboard-loading[b-sdyzfmjzw3] { padding: 2rem 0; text-align: center; }
.dashboard-message[b-sdyzfmjzw3] { margin-top: .75rem; color: var(--pbs-text); }

/* Escritorio mediano: la tarjeta principal ocupa su propia fila. */
@media (max-width: 1279.98px) {
    .dashboard-overview[b-sdyzfmjzw3] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .dashboard-hero[b-sdyzfmjzw3] { grid-column: 1 / -1; }
    .dashboard-filter-grid[b-sdyzfmjzw3] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    /* Con tres columnas, dos no dan ancho suficiente a los grupos de filtros avanzados. */
    .dashboard-advanced[b-sdyzfmjzw3] { grid-column: 1 / -1; }
}

/* Tablet: bloques y gráficos en una columna. */
@media (max-width: 1099.98px) {
    .dashboard-two-blocks[b-sdyzfmjzw3] { grid-template-columns: minmax(0, 1fr); }
    .dashboard-chart[b-sdyzfmjzw3], .dashboard-chart--wide[b-sdyzfmjzw3], .dashboard-chart--wide + .dashboard-chart[b-sdyzfmjzw3] { grid-column: 1 / -1; }
}

@media (max-width: 767.98px) {
    .dashboard-page[b-sdyzfmjzw3] { padding-top: 0; }
    .dashboard-heading[b-sdyzfmjzw3] { align-items: flex-start; }
    .dashboard-heading-actions[b-sdyzfmjzw3] { width: 100%; }
    .dashboard-heading-actions .btn[b-sdyzfmjzw3] { flex: 1 1 auto; justify-content: center; }
    .dashboard-heading-actions .dashboard-count[b-sdyzfmjzw3] { order: -1; flex-basis: 100%; width: fit-content; }
    .dashboard-overview[b-sdyzfmjzw3] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
    .dashboard-kpi-grid[b-sdyzfmjzw3] { gap: .75rem; }
    .dashboard-filters[b-sdyzfmjzw3] { padding: 1rem; }
    .dashboard-filter-grid[b-sdyzfmjzw3] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-filter-wide[b-sdyzfmjzw3] { grid-column: 1 / -1; }
    .dashboard-chart[b-sdyzfmjzw3], .dashboard-table-section[b-sdyzfmjzw3] { padding: 1rem; }
}

@media (max-width: 575.98px) {
    .dashboard-advanced-grid[b-sdyzfmjzw3], .dashboard-user-filter-grid[b-sdyzfmjzw3], .dashboard-filter-grid-inner[b-sdyzfmjzw3] { grid-template-columns: minmax(0, 1fr); }
    .dashboard-filter-group-wide[b-sdyzfmjzw3] { grid-column: auto; }
    .dashboard-advanced > summary[b-sdyzfmjzw3], .dashboard-filter-group > summary[b-sdyzfmjzw3] { align-items: flex-start; }
    .dashboard-advanced > summary span[b-sdyzfmjzw3], .dashboard-filter-group > summary span[b-sdyzfmjzw3] { max-width: 55%; }
    .dashboard-kpi[b-sdyzfmjzw3] { padding: .875rem; }
    .dashboard-kpi > strong[b-sdyzfmjzw3] { font-size: 1.5rem; }
    .dashboard-period-bars button[b-sdyzfmjzw3] { grid-template-columns: minmax(4.5rem, 6.5rem) minmax(2rem, 1fr) 2.5rem; gap: .5rem; }
    .dashboard-status-bars button[b-sdyzfmjzw3] { gap: .5rem; }
    .dashboard-event-bars button[b-sdyzfmjzw3], .dashboard-user-row[b-sdyzfmjzw3] { grid-template-columns: minmax(0, 1fr); gap: .375rem; }
}

@media (max-width: 419.98px) {
    .dashboard-filter-grid[b-sdyzfmjzw3] { grid-template-columns: minmax(0, 1fr); }
    .dashboard-filter-wide[b-sdyzfmjzw3] { grid-column: auto; }
}

/* Tarjetas de estado: el ancho útil depende del menú lateral y del zoom, no solo de la ventana. Por debajo de 42rem cuatro
   tarjetas quedan bajo ~156 px y el título («Cancelados») se recortaría; pasan a dos columnas. */
.dashboard-block--estado[b-sdyzfmjzw3] { container: estado-resumen / inline-size; }
@container estado-resumen (max-width: 42rem) {
    .dashboard-overview[b-sdyzfmjzw3] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-hero[b-sdyzfmjzw3] { grid-column: 1 / -1; }
}
