/* Admin sidebar: sections, collapsible groups, one-line items. */
#mainNav.navbar-dark .navbar-sidenav { flex-wrap: nowrap; padding: 6px 0 12px; }
#mainNav.navbar-dark .navbar-sidenav li { list-style: none; }
#mainNav.navbar-dark .navbar-sidenav .nav-section { padding: 14px 20px 4px; color: #b8c0c8; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
#mainNav.navbar-dark .navbar-sidenav .nav-item { position: relative; width: auto; padding: 0; overflow: visible; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link { display: flex; align-items: center; gap: 9px; height: 36px; margin: 1px 4px 1px 8px; padding: 0 8px; border-radius: 6px; color: #f1f3f5; font-size: 14px; line-height: 1; white-space: nowrap; transition: background-color .12s, color .12s; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link i { flex: 0 0 18px; width: 18px; margin: 0; color: #d3d9df; font-size: 15px; text-align: center; }
#mainNav.navbar-dark .navbar-sidenav .nav-link-text { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link:hover,
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link:focus-visible { background: rgba(255, 255, 255, .1); color: #fff; outline: 0; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link:hover i { color: #fff; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link.active { background: #0d6efd; color: #fff; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link.active i { color: #fff; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item.selected > .nav-link:not(.active) { color: #fff; }

/* Counters */
#mainNav.navbar-dark .navbar-sidenav .nav-badge { flex: 0 0 auto; min-width: 22px; padding: 3px 7px; border-radius: 10px; background: rgba(255, 255, 255, .18); color: #fff; font-size: 11.5px; font-weight: 600; line-height: 1.2; text-align: center; }
#mainNav.navbar-dark .navbar-sidenav .nav-badge:empty { display: none; }
#mainNav.navbar-dark .navbar-sidenav .nav-badge-strong { background: #dc3545; color: #fff; }
#mainNav.navbar-dark .navbar-sidenav .nav-link.active .nav-badge { background: rgba(255, 255, 255, .22); color: #fff; }

/* Groups */
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-group > .nav-link { padding-right: 40px; }
#mainNav.navbar-dark .navbar-sidenav .nav-group-toggle { position: absolute; top: 3px; right: 12px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px; background: none; color: #d3d9df; cursor: pointer; }
#mainNav.navbar-dark .navbar-sidenav .nav-group-toggle:hover,
#mainNav.navbar-dark .navbar-sidenav .nav-group-toggle:focus-visible { background: rgba(255, 255, 255, .1); color: #fff; outline: 0; }
#mainNav.navbar-dark .navbar-sidenav .nav-group-toggle i { font-size: 16px; transform: rotate(-90deg); transition: transform .15s; }
#mainNav.navbar-dark .navbar-sidenav .nav-group.open > .nav-group-toggle i { transform: none; }
#mainNav.navbar-dark .navbar-sidenav .nav-link.active ~ .nav-group-toggle { color: #fff; }
#mainNav.navbar-dark .navbar-sidenav .nav-item.nav-group > ul { display: none; position: relative; margin: 0 0 4px; padding: 0; }
#mainNav.navbar-dark .navbar-sidenav .nav-item.nav-group.open > ul { display: block; }
#mainNav.navbar-dark .navbar-sidenav .nav-item.nav-group > ul::before { content: ''; position: absolute; top: 2px; bottom: 2px; left: 26px; width: 1px; background: rgba(255, 255, 255, .25); }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-group ul .nav-item > .nav-link { height: 32px; padding-left: 30px; color: #e9ecef; font-size: 13.5px; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-group ul .nav-item > .nav-link i { display: none; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-group ul .nav-item > .nav-link:hover { color: #fff; }
#mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-group ul .nav-item > .nav-link.active { background: #0d6efd; color: #fff; }

/* Desktop: fixed column with its own scroll. */
@media (min-width: 992px) {
    #mainNav.fixed-top .navbar-collapse .navbar-sidenav { position: fixed; top: 56px; bottom: 0; left: 0; width: 250px; min-height: 0; margin: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; border-right: 1px solid rgba(0, 0, 0, .25); background: #2f353b; scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, .22) transparent; }
    #mainNav.fixed-top .navbar-collapse .navbar-sidenav::-webkit-scrollbar { width: 8px; }
    #mainNav.fixed-top .navbar-collapse .navbar-sidenav::-webkit-scrollbar-thumb { border: 2px solid #2f353b; border-radius: 4px; background: rgba(255, 255, 255, .22); }
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav > .nav-item { width: auto; overflow: visible; }
}

/* Collapsed menu under the hamburger. */
@media (max-width: 991px) {
    #mainNav.navbar-dark .navbar-sidenav { padding-top: 4px; }
    #mainNav.navbar-dark .navbar-sidenav .nav-section { padding-left: 12px; }
    #mainNav.navbar-dark .navbar-collapse .navbar-sidenav .nav-item > .nav-link { margin-left: 0; margin-right: 0; }
    #mainNav.navbar-dark .navbar-sidenav .nav-group-toggle { right: 4px; }
}
