
/* =========================================================
   Housekeeping sidebar: scrollable + collapsible
   ========================================================= */

.admin-shell{
    align-items:flex-start;
}

.admin-sidebar{
    position:sticky;
    top:18px;
    height:calc(100vh - 36px);
    max-height:calc(100vh - 36px);
    display:flex;
    flex-direction:column;
    overflow:hidden!important;
    transition:width .2s ease,min-width .2s ease;
}

.admin-logo,
.admin-user-card{
    flex:0 0 auto;
}

.admin-nav{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:6px;
    scrollbar-width:thin;
    scrollbar-color:#4d819b rgba(255,255,255,.06);
}

.admin-nav::-webkit-scrollbar{
    width:8px;
}

.admin-nav::-webkit-scrollbar-track{
    background:rgba(255,255,255,.05);
    border-radius:999px;
}

.admin-nav::-webkit-scrollbar-thumb{
    background:#4d819b;
    border-radius:999px;
}

.admin-nav::-webkit-scrollbar-thumb:hover{
    background:#65a0bd;
}

.admin-sidebar-controls{
    display:flex;
    gap:7px;
    padding:10px;
    border-top:1px solid rgba(255,255,255,.12);
    background:rgba(0,0,0,.08);
    flex:0 0 auto;
}

.sidebar-toggle{
    width:100%;
    border:1px solid rgba(255,255,255,.16);
    background:rgba(255,255,255,.08);
    color:#e8f6fc;
    border-radius:6px;
    padding:9px 10px;
    font-weight:bold;
    cursor:pointer;
    transition:background .15s ease;
}

.sidebar-toggle:hover{
    background:rgba(255,255,255,.14);
}

/* Compact/collapsed state */
body.admin-sidebar-collapsed .admin-sidebar{
    width:76px!important;
    min-width:76px!important;
}

body.admin-sidebar-collapsed .admin-content{
    min-width:0;
}

body.admin-sidebar-collapsed .admin-logo{
    justify-content:center;
    padding-left:8px;
    padding-right:8px;
}

body.admin-sidebar-collapsed .admin-logo > div,
body.admin-sidebar-collapsed .admin-user-card > div,
body.admin-sidebar-collapsed .admin-nav-title,
body.admin-sidebar-collapsed .admin-nav a{
    font-size:0!important;
}

body.admin-sidebar-collapsed .admin-user-card{
    justify-content:center;
    padding-left:8px;
    padding-right:8px;
}

body.admin-sidebar-collapsed .admin-nav a{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:8px!important;
    margin:4px 0;
}

body.admin-sidebar-collapsed .admin-nav a::first-letter{
    font-size:20px;
}

body.admin-sidebar-collapsed .admin-nav a span{
    font-size:20px!important;
    margin:0!important;
}

body.admin-sidebar-collapsed .admin-logo-icon,
body.admin-sidebar-collapsed .admin-avatar{
    font-size:24px!important;
}

body.admin-sidebar-collapsed .sidebar-toggle{
    font-size:0;
}

body.admin-sidebar-collapsed .sidebar-toggle::after{
    content:"»";
    font-size:20px;
}

body:not(.admin-sidebar-collapsed) .sidebar-toggle::before{
    content:"« ";
}

/* Keep active item obvious when collapsed */
body.admin-sidebar-collapsed .admin-nav a.active{
    box-shadow:inset 0 0 0 2px rgba(255,255,255,.22);
}

/* Tooltip in collapsed mode */
body.admin-sidebar-collapsed .admin-nav a{
    position:relative;
}

body.admin-sidebar-collapsed .admin-nav a:hover::after{
    content:attr(data-label);
    position:fixed;
    margin-left:155px;
    z-index:9999;
    background:#0b2231;
    color:#fff;
    border:2px solid #3f6c82;
    border-radius:5px;
    padding:7px 10px;
    font-size:12px;
    white-space:nowrap;
    box-shadow:0 4px 12px rgba(0,0,0,.3);
}

/* Mobile: sidebar becomes normal flow and toggle is hidden */
@media(max-width:900px){
    .admin-shell{
        display:block;
    }

    .admin-sidebar,
    body.admin-sidebar-collapsed .admin-sidebar{
        position:relative;
        top:auto;
        width:100%!important;
        min-width:0!important;
        height:auto;
        max-height:none;
        margin-bottom:18px;
    }

    .admin-nav{
        max-height:55vh;
    }

    .admin-sidebar-controls{
        display:none;
    }

    body.admin-sidebar-collapsed .admin-logo > div,
    body.admin-sidebar-collapsed .admin-user-card > div,
    body.admin-sidebar-collapsed .admin-nav-title,
    body.admin-sidebar-collapsed .admin-nav a{
        font-size:inherit!important;
    }

    body.admin-sidebar-collapsed .admin-nav a{
        justify-content:flex-start;
        min-height:auto;
        padding:10px!important;
    }

    body.admin-sidebar-collapsed .admin-nav a:hover::after{
        display:none;
    }
}
