/* Navigation interaction layer. Existing permission/hidden/inline display states retain priority. */
.mobile-menu-btn {
    display: none;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
}
.sidebar-overlay { display: none; }
#sidebar[hidden],
#sidebar [hidden],
.mobile-menu-btn[hidden] { display: none !important; }
#sidebar .sidebar-expandable.open > .sidebar-sub-nav {
    max-height: none;
    overflow: visible;
}

@media (max-width: 1024px) {
    .mobile-menu-btn:not([hidden]) {
        display: flex;
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        color: var(--sidebar-refine-text, #334155);
    }
    .mobile-menu-btn:focus-visible {
        outline: 2px solid var(--sidebar-refine-focus, #036b86);
        outline-offset: -2px;
    }
    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 1050;
        background: rgba(0, 0, 0, 0.4);
    }
    .sidebar-overlay.active:not([hidden]) { display: block; }
    #sidebar.mobile-open {
        width: min(320px, calc(100vw - 56px)) !important;
        transform: none;
        z-index: 1100;
        overflow-y: auto;
        box-shadow: 8px 0 32px rgba(0, 0, 0, 0.24);
    }
    #sidebar.mobile-open .sidebar-logo {
        min-height: 72px;
        height: 72px;
        flex-shrink: 0;
    }
    #sidebar.mobile-open .sidebar-nav { min-height: 0; }
    #sidebar.mobile-open .sidebar-nav-item,
    #sidebar.mobile-open .sidebar-sub-item,
    #sidebar.mobile-open .sidebar-ops-group-toggle,
    #sidebar.mobile-open .sidebar-section-label-action {
        min-height: 48px;
        height: auto;
        box-sizing: border-box;
    }
    #sidebar.mobile-open .sidebar-nav-item {
        flex-direction: row;
        justify-content: flex-start;
        gap: 10px;
        margin: 2px 8px;
        padding: 10px 13px;
    }
    #sidebar.mobile-open .sidebar-nav-item span:not([hidden]) {
        display: inline;
        max-width: none !important;
        white-space: normal;
        text-align: left;
        line-height: 1.4;
    }
    #sidebar.mobile-open .sidebar-arrow:not([hidden]) { display: inline; }
    #sidebar.mobile-open .sidebar-sub-item {
        padding-top: 13px;
        padding-bottom: 13px;
        white-space: normal;
        line-height: 1.4;
    }
    #sidebar.mobile-open .sidebar-ops-group-toggle { padding-top: 13px; padding-bottom: 13px; }
    #sidebar.mobile-open .sidebar-collapse-btn:not([hidden]) {
        display: flex;
        width: 48px;
        height: 48px;
        right: 4px;
    }
}
@media (hover: none) and (pointer: coarse) {
    #sidebar .sidebar-nav-item,
    #sidebar .sidebar-sub-item,
    #sidebar .sidebar-ops-group-toggle { min-height: 48px; }
}
html[data-theme="dark"] .mobile-menu-btn { color: #c5d5df; }
