/* Sidebar scrollbar - replaces the OS-default scrollbar on the dark navy
   menu with a thin accent-blue thumb, applied at every breakpoint since
   .dashboard-sidebar (overflow-y: auto) scrolls on mobile too. */
.dashboard-sidebar {
    scrollbar-width: thin;
    scrollbar-color: #00aeff transparent;
}
.dashboard-sidebar::-webkit-scrollbar {
    width: 6px;
}
.dashboard-sidebar::-webkit-scrollbar-track {
    background: transparent;
}
.dashboard-sidebar::-webkit-scrollbar-thumb {
    background-color: rgba(0, 174, 255, 0.5);
    border-radius: 3px;
}
.dashboard-sidebar::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 174, 255, 0.85);
}

/* Dashboard sidebar - desktop-only collapsible "mini" (icon-only) mode.
   Kept on its own body class (.sidebar-mini) and gated to >=1200px so it
   never interacts with the mobile off-canvas ".sidebar-collapsed" toggle
   already used by the topbar hamburger below that breakpoint. */
@media screen and (min-width: 1200px) {
    .dashboard-sidebar {
        transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* position: fixed (not absolute inside .dashboard-sidebar, which is the
       scrollable element) so the button stays put at viewport-center height
       no matter how far the nav list underneath has scrolled. Sits centered
       on the sidebar's edge as a sharp-cornered tab, not a floating circle. */
    .sidebar-mini-toggle {
        position: fixed;
        top: 50%;
        left: 230px;
        transform: translateY(-50%);
        width: 20px;
        height: 46px;
        display: flex;
        align-items: center;
        justify-content: center;
        /* Light idle state stays visible against both the dark sidebar and the
           light content pane it straddles; the #00aeff accent border/icon ties
           it to the active-nav-item palette in style-ltr.css. Hover fills solid
           with that same accent for a clear, high-contrast "engaged" response. */
        background-color: #fff;
        color: #00aeff;
        border: 1px solid #00aeff;
        border-radius: 3px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
        z-index: 30;
        cursor: pointer;
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease, color 0.2s ease;
    }
    .sidebar-mini-toggle:hover {
        background-color: #00aeff;
        color: #002b4b;
    }
    .sidebar-mini-toggle i {
        font-size: 11px;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    /* Collapsed state */
    .sidebar-mini .dashboard-sidebar {
        width: 76px;
    }
    .sidebar-mini .dashboard-right {
        margin-left: 76px;
    }
    .sidebar-mini .sidebar-mini-toggle {
        left: 66px;
    }
    .sidebar-mini .sidebar-mini-toggle i {
        transform: rotate(180deg);
    }

    .sidebar-mini .sidebar-logo {
        padding: 0 16px;
    }
    .sidebar-mini .sidebar-logo .logo {
        padding: 0;
        justify-content: center;
        width: 100%;
    }
    .sidebar-mini .sidebar-logo .logo img {
        max-width: 36px;
        height: auto;
    }

    .sidebar-mini .nav-box h5 {
        display: none;
    }
    .sidebar-mini .nav-box ul li a {
        position: relative;
        justify-content: center;
        padding: 10px 0;
        gap: 0;
        border-right: none;
    }

    /* Labels become hover tooltips instead of disappearing entirely, so the
       collapsed rail stays self-explanatory without a hover delay lookup table. */
    .sidebar-mini .nav-box ul li a span {
        position: absolute;
        left: 100%;
        top: 50%;
        transform: translateY(-50%);
        margin-left: 12px;
        background-color: #111827;
        color: #fff;
        padding: 6px 10px;
        border-radius: 4px;
        font-size: 13px;
        white-space: nowrap;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.15s ease, visibility 0.15s ease;
        z-index: 50;
    }
    .sidebar-mini .nav-box ul li a:hover span {
        opacity: 1;
        visibility: visible;
    }

    /* Incomplete-profile badge: shrink to a corner dot instead of overlapping the icon */
    .sidebar-mini .dashboard-profile-badge {
        position: absolute;
        top: 4px;
        right: 20px;
        left: auto;
        margin-left: 0;
        width: 10px;
        height: 10px;
        font-size: 0;
    }
}
