/* ==========================================================================
   BSI · Barras de scroll globales
   Chrome/Edge/Safari usan ::-webkit-scrollbar (permite degradados).
   Firefox usa scrollbar-color; va dentro de @supports porque en Chrome 121+
   definir scrollbar-color desactiva los estilos ::-webkit-scrollbar.
   ========================================================================== */

:root{
    --bsi-sb-a:#6366f1;
    --bsi-sb-b:#0ea5e9;
    --bsi-sb-thumb:linear-gradient(180deg,rgba(99,102,241,.78),rgba(14,165,233,.78));
    --bsi-sb-thumb-x:linear-gradient(90deg,rgba(99,102,241,.78),rgba(14,165,233,.78));
    --bsi-sb-thumb-hover:linear-gradient(180deg,#6366f1,#0ea5e9);
    --bsi-sb-thumb-hover-x:linear-gradient(90deg,#6366f1,#0ea5e9);
    --bsi-sb-thumb-active:linear-gradient(180deg,#4f46e5,#0284c7);
    --bsi-sb-track:transparent;
}

/* ── Base (todo el sistema) ─────────────────────────────────────────────── */
::-webkit-scrollbar{ width:12px; height:12px; }
::-webkit-scrollbar-track{ background:var(--bsi-sb-track); }
::-webkit-scrollbar-thumb{
    background:var(--bsi-sb-thumb);
    border-radius:999px;
    border:3px solid transparent;
    background-clip:padding-box;
    min-height:40px;
}
::-webkit-scrollbar-thumb:horizontal{ background:var(--bsi-sb-thumb-x); background-clip:padding-box; min-width:40px; }
::-webkit-scrollbar-thumb:hover{
    background:var(--bsi-sb-thumb-hover);
    background-clip:padding-box;
    border-width:2px;
}
::-webkit-scrollbar-thumb:horizontal:hover{ background:var(--bsi-sb-thumb-hover-x); background-clip:padding-box; }
::-webkit-scrollbar-thumb:active{ background:var(--bsi-sb-thumb-active); background-clip:padding-box; border-width:2px; }
::-webkit-scrollbar-corner{ background:transparent; }
::-webkit-scrollbar-button{ display:none; width:0; height:0; }

/* Página principal: carril sutil para que la barra "flote" sobre el contenido */
html::-webkit-scrollbar{ width:13px; }
html::-webkit-scrollbar-track{
    background:linear-gradient(90deg,rgba(241,245,249,0),rgba(241,245,249,.9));
}

/* Contenedores internos (tablas, modales, listas): un poco más finos */
.modal ::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.dataTables_scrollBody::-webkit-scrollbar,
.dropdown-menu::-webkit-scrollbar,
textarea::-webkit-scrollbar,
select::-webkit-scrollbar{ width:10px; height:10px; }

/* ── Zonas oscuras (sidebar, paneles navy) ─────────────────────────────── */
.sidebar ::-webkit-scrollbar,
.sidebar::-webkit-scrollbar,
[data-background-color="dark"] ::-webkit-scrollbar,
[data-background-color="dark"]::-webkit-scrollbar{ width:9px; height:9px; }
.sidebar ::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb,
[data-background-color="dark"] ::-webkit-scrollbar-thumb,
[data-background-color="dark"]::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,rgba(129,140,248,.85),rgba(56,189,248,.85));
    background-clip:padding-box;
    border:2px solid transparent;
}
.sidebar ::-webkit-scrollbar-thumb:hover,
.sidebar::-webkit-scrollbar-thumb:hover,
[data-background-color="dark"] ::-webkit-scrollbar-thumb:hover,
[data-background-color="dark"]::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#818cf8,#38bdf8);
    background-clip:padding-box;
    border-width:1px;
}

/* ── Sidebar con jquery.scrollbar (barra dibujada por el plugin) ───────── */
.sidebar .sidebar-wrapper:not(.scroll-content){ overflow-y:auto; overflow-x:hidden; }
.sidebar .scroll-wrapper > .scroll-element,
.sidebar .scroll-wrapper > .scroll-element div{ background:transparent !important; }
.sidebar .scroll-wrapper > .scroll-element.scroll-y{ width:7px !important; right:3px !important; }
.sidebar .scroll-wrapper > .scroll-element.scroll-x{ display:none !important; }
.sidebar .scroll-wrapper > .scroll-element .scroll-bar{
    background:linear-gradient(180deg,rgba(129,140,248,.85),rgba(56,189,248,.85)) !important;
    border-radius:999px !important;
    opacity:1 !important;
    transition:background .2s, box-shadow .2s;
}
.sidebar .scroll-wrapper > .scroll-element:hover .scroll-bar,
.sidebar .scroll-wrapper > .scroll-element.scroll-draggable .scroll-bar{
    background:linear-gradient(180deg,#818cf8,#38bdf8) !important;
    box-shadow:0 0 12px rgba(56,189,248,.55);
}

/* Otros contenedores del tema que usan jquery.scrollbar (notificaciones, etc.) */
.scrollbar-inner > .scroll-element .scroll-element_track{ background:transparent !important; }
.scrollbar-inner > .scroll-element .scroll-bar{
    background:var(--bsi-sb-thumb) !important;
    border-radius:999px !important;
    opacity:1 !important;
}
.scrollbar-inner > .scroll-element:hover .scroll-bar,
.scrollbar-inner > .scroll-element.scroll-draggable .scroll-bar{
    background:var(--bsi-sb-thumb-hover) !important;
}

/* ── Firefox ───────────────────────────────────────────────────────────── */
@supports not selector(::-webkit-scrollbar){
    html, body, *{
        scrollbar-width:thin;
        scrollbar-color:rgba(99,102,241,.78) transparent;
    }
    .sidebar, .sidebar *,
    [data-background-color="dark"], [data-background-color="dark"] *{
        scrollbar-color:rgba(129,140,248,.85) transparent;
    }
}

/* Alto contraste: dejar las barras del sistema */
@media (forced-colors: active){
    ::-webkit-scrollbar-thumb{ background:CanvasText; }
}
