/*
 * Barres de défilement de l'application : fines et grises (retour du propriétaire, 30/09/2026).
 *
 * Chargée EN PREMIER par chaque gabarit de base et par le shell du hub, hors de tout bloc Twig : à
 * spécificité égale, les règles propres à une page (le tableau de bord legacy masque ainsi ses
 * barres) passent après elle et gardent le dernier mot.
 *
 * Deux mécanismes, sans empiéter l'un sur l'autre :
 * - Chrome, Edge, Safari : le pseudo-élément `::-webkit-scrollbar` SANS sélecteur. Toute règle locale
 *   plus précise l'emporte, y compris celles qui masquent une barre (`.x::-webkit-scrollbar { display: none }`).
 * - Firefox, qui n'a pas ce pseudo-élément : les propriétés standard, dans le seul bloc `@supports`
 *   ci-dessous. JAMAIS ailleurs : `scrollbar-color` s'hérite, et Chrome comme Safari ignorent
 *   `::-webkit-scrollbar` sur tout élément qui en hérite une valeur — la trentaine de règles locales
 *   qui masquent une barre par ce seul pseudo-élément cesseraient de la masquer.
 *
 * Largeur de 10 px dont 2 px de bord transparent : le curseur se voit fin (6 px) et reste facile à
 * saisir. Rail transparent. Le mode Contraste élevé de Windows impose ses propres couleurs : c'est voulu.
 * Doc : docs/development/barres-defilement.md. Garde-fou : tests/Unit/Frontend/BarresDefilementGlobalesTest.php.
 */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track,
::-webkit-scrollbar-corner {
    background-color: transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border: 2px solid transparent;
    border-radius: 9999px;
    background-clip: content-box;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #94a3b8;
}

@supports not selector(::-webkit-scrollbar) {
    :root {
        scrollbar-color: #cbd5e1 transparent;
    }

    * {
        scrollbar-width: thin;
    }
}
