/* Persistent Sidebar Overrides */
#sidebar {
    left: 0 !important;
    width: 250px !important;
    transition: width 0.3s ease !important;
    box-shadow: 2px 0 10px rgba(0,0,0,0.2) !important;
    overflow-y: auto !important; /* Sidebar vertical overflow scroll */
}

body {
    padding-left: 250px !important;
    box-sizing: border-box !important;
    transition: padding-left 0.3s ease !important;
    width: 100% !important; /* Prevent 100vw from overflowing */
    max-width: 100% !important;
}

.bodyContainer, .layout_main__mXTwS, main, .scrollWrapper {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Hide hamburger and overlay for the sidebar */
#hamburgerBtn, .hamburger, #overlay {
    display: none !important;
    pointer-events: none !important;
}

/* Ensure pack opening animation stays on top of the sidebar */
#unlockScreen, .styles__openBackground___-U4oX-camelCase {
    z-index: 2000 !important;
}

@media (max-width: 1024px) {
    #sidebar { width: 220px !important; }
    body { padding-left: 220px !important; }
}

@media (max-width: 768px) {
    #sidebar { 
        width: 80px !important; 
        padding-top: 15px !important; 
    }
    body { 
        padding-left: 80px !important; 
    }
    /* Visually hide text but keep accessible for screen readers */
    .Sidebar_text__TwkTk, .Sidebar_logoDesktop__NeFcd {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        padding: 0 !important;
        margin: -1px !important;
        overflow: hidden !important;
        clip: rect(0, 0, 0, 0) !important;
        white-space: nowrap !important;
        border: 0 !important;
    }
    .Sidebar_listIcon__rg5X6 { 
        margin: 0 auto !important; 
        font-size: 24px !important; 
    }
    .Sidebar_listIcon__rg5X6[style] { 
        scale: 1 !important; 
        margin-top: 0 !important; 
    }
    .Sidebar_link__pbkfx { 
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        justify-content: center !important; 
        padding: 15px 0 !important; 
    }
}
