/* ═══════════════════════════════════════════════════════════
   Iotplace — Global scrollbars (vitrine · compte · CRM)
   ═══════════════════════════════════════════════════════════ */

:root {
    --scroll-size: 10px;
    --scroll-size-thin: 6px;
    --scroll-size-page: 12px;
    --scroll-track: rgba(8, 14, 26, 0.94);
    --scroll-track-edge: rgba(120, 150, 190, 0.12);
    --scroll-thumb-solid: rgba(56, 189, 248, 0.42);
    --scroll-thumb-hover-solid: rgba(0, 232, 200, 0.62);
    --scroll-thumb-active-solid: rgba(0, 232, 200, 0.82);
    --scroll-thumb-border: rgba(5, 8, 15, 0.7);
    --scroll-radius: 100px;
    --scroll-thumb-gradient: linear-gradient(
        180deg,
        rgba(0, 232, 200, 0.58) 0%,
        rgba(56, 189, 248, 0.52) 48%,
        rgba(129, 140, 248, 0.46) 100%
    );
    --scroll-thumb-gradient-hover: linear-gradient(
        180deg,
        rgba(0, 232, 200, 0.78) 0%,
        rgba(56, 189, 248, 0.72) 48%,
        rgba(129, 140, 248, 0.66) 100%
    );
}

/* ── Firefox ── */
html {
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--scroll-thumb-solid) var(--scroll-track);
}

* {
    scrollbar-width: thin;
    scrollbar-color: var(--scroll-thumb-solid) var(--scroll-track);
}

/* ── WebKit / Blink (global) ── */
*::-webkit-scrollbar {
    width: var(--scroll-size);
    height: var(--scroll-size);
}

*::-webkit-scrollbar-track {
    background: var(--scroll-track);
    border-radius: var(--scroll-radius);
    box-shadow: inset 0 0 0 1px var(--scroll-track-edge);
}

*::-webkit-scrollbar-thumb {
    background: var(--scroll-thumb-gradient);
    border-radius: var(--scroll-radius);
    border: 2px solid var(--scroll-thumb-border);
    background-clip: padding-box;
    min-height: 36px;
    min-width: 36px;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--scroll-thumb-gradient-hover);
    border-color: rgba(0, 232, 200, 0.22);
    box-shadow: 0 0 12px rgba(0, 232, 200, 0.18);
}

*::-webkit-scrollbar-thumb:active {
    background: linear-gradient(
        180deg,
        rgba(0, 232, 200, 0.92) 0%,
        rgba(56, 189, 248, 0.88) 100%
    );
}

*::-webkit-scrollbar-corner {
    background: var(--scroll-track);
}

/* Page-level scrollbar (slightly wider) */
html::-webkit-scrollbar {
    width: var(--scroll-size-page);
}

/* ── Thin variant (sidebars, tabs, tables, feeds) ── */
.scrollbar-thin,
.ux-tabs,
.profile-tabs,
.cdash-nav,
.cdash-table-wrap,
.table-wrap,
.table-responsive,
.msg-threads,
.msg-messages,
.advisor-messages,
.profile-checklist,
.dash-feed,
.sidebar-nav,
.activity-list,
.hash-full,
.mail-inbox-body,
.mail-env-hint {
    scrollbar-width: thin;
    scrollbar-color: var(--scroll-thumb-hover-solid) transparent;
}

.scrollbar-thin::-webkit-scrollbar,
.ux-tabs::-webkit-scrollbar,
.profile-tabs::-webkit-scrollbar,
.cdash-nav::-webkit-scrollbar,
.cdash-table-wrap::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar,
.msg-threads::-webkit-scrollbar,
.msg-messages::-webkit-scrollbar,
.advisor-messages::-webkit-scrollbar,
.profile-checklist::-webkit-scrollbar,
.dash-feed::-webkit-scrollbar,
.sidebar-nav::-webkit-scrollbar,
.activity-list::-webkit-scrollbar,
.hash-full::-webkit-scrollbar,
.mail-inbox-body::-webkit-scrollbar,
.mail-env-hint::-webkit-scrollbar {
    width: var(--scroll-size-thin);
    height: var(--scroll-size-thin);
}

.scrollbar-thin::-webkit-scrollbar-track,
.ux-tabs::-webkit-scrollbar-track,
.profile-tabs::-webkit-scrollbar-track,
.cdash-nav::-webkit-scrollbar-track,
.cdash-table-wrap::-webkit-scrollbar-track,
.table-wrap::-webkit-scrollbar-track,
.table-responsive::-webkit-scrollbar-track,
.msg-threads::-webkit-scrollbar-track,
.msg-messages::-webkit-scrollbar-track,
.advisor-messages::-webkit-scrollbar-track,
.profile-checklist::-webkit-scrollbar-track,
.dash-feed::-webkit-scrollbar-track,
.sidebar-nav::-webkit-scrollbar-track,
.activity-list::-webkit-scrollbar-track,
.hash-full::-webkit-scrollbar-track,
.mail-inbox-body::-webkit-scrollbar-track,
.mail-env-hint::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.03);
    box-shadow: inset 0 0 0 1px rgba(120, 150, 190, 0.08);
    margin: 3px;
    border-radius: var(--scroll-radius);
}

.scrollbar-thin::-webkit-scrollbar-thumb,
.ux-tabs::-webkit-scrollbar-thumb,
.profile-tabs::-webkit-scrollbar-thumb,
.cdash-nav::-webkit-scrollbar-thumb,
.cdash-table-wrap::-webkit-scrollbar-thumb,
.table-wrap::-webkit-scrollbar-thumb,
.table-responsive::-webkit-scrollbar-thumb,
.msg-threads::-webkit-scrollbar-thumb,
.msg-messages::-webkit-scrollbar-thumb,
.advisor-messages::-webkit-scrollbar-thumb,
.profile-checklist::-webkit-scrollbar-thumb,
.dash-feed::-webkit-scrollbar-thumb,
.sidebar-nav::-webkit-scrollbar-thumb,
.activity-list::-webkit-scrollbar-thumb,
.hash-full::-webkit-scrollbar-thumb,
.mail-inbox-body::-webkit-scrollbar-thumb,
.mail-env-hint::-webkit-scrollbar-thumb {
    border-width: 1px;
    min-height: 28px;
    min-width: 28px;
}

/* Horizontal tab strips */
.ux-tabs::-webkit-scrollbar,
.profile-tabs::-webkit-scrollbar,
.cdash-table-wrap::-webkit-scrollbar,
.table-wrap::-webkit-scrollbar,
.table-responsive::-webkit-scrollbar {
    height: var(--scroll-size-thin);
}

/* ── Utility: hide only when explicitly needed ── */
.scrollbar-hidden {
    scrollbar-width: none;
}

.scrollbar-hidden::-webkit-scrollbar {
    display: none;
}
