/* Hamburger-menu drawer: slides in from the left over the whole viewport
   instead of a small dropdown box anchored under the button. display:none
   can't transition, so open/closed state is a className toggle (see
   toggle_nav_menu in dash_app.py) driving transform/opacity instead. */
.nav-drawer {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 260px;
    max-width: 85vw;
    background-color: white;
    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.18);
    z-index: 1000;
    padding: 16px;
    box-sizing: border-box;
    overflow-y: auto;
    transform: translateX(-105%);
    transition: transform 0.25s ease;
}
.nav-drawer.open {
    transform: translateX(0);
}

.nav-drawer-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.35);
    z-index: 999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.nav-drawer-backdrop.open {
    opacity: 1;
    pointer-events: auto;
}
