/* =====================================
   SIDEBAR
   ===================================== */

.sidebar{
    width:90px;
    height:100vh;
    background:var(--white);
    position:fixed;
    top:0;
    left:0;
    overflow:hidden;
    transition:.35s;
    padding:20px 15px;
    box-shadow:var(--shadow);
    z-index:999;
}

.sidebar:hover{
    width:260px;
}

/* ==========================
LOGO
========================== */

.logo{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:40px;
}

.logo-icon{
    min-width:52px;
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:22px;
}

.logo-text{
    opacity:0;
    transition:.3s;
    white-space:nowrap;
    font-size:23px;
    font-weight:bold;
    color:var(--text);
}

.sidebar:hover .logo-text{
    opacity:1;
}

/* ==========================
MENU
========================== */

.menu{
    list-style:none;
}

.menu li{
    margin:8px 0;
}

.menu a{
    display:flex;
    align-items:center;
    gap:15px;
    padding:14px;
    border-radius:16px;
    color:var(--text2);
    text-decoration:none;
    transition:.25s;
}

.menu a:hover{
    background:var(--primary);
    color:#fff;
}

.menu i{
    min-width:30px;
    text-align:center;
    font-size:20px;
}

.menu-text{
    opacity:0;
    transition:.3s;
    white-space:nowrap;
    font-size:15px;
    font-weight:500;
}

.sidebar:hover .menu-text{
    opacity:1;
}

/* ==========================
MANAJEMEN PENGGUNA
========================== */

.menu-group-title{
    display:flex;
    align-items:center;
    gap:15px;
    padding:14px;
    border-radius:16px;
    color:var(--text2);
    cursor:pointer;
    user-select:none;
    position:relative;
}

.menu-group-title i{
    min-width:30px;
    text-align:center;
    font-size:20px;
}

.menu-group.active-group .menu-group-title{
    color:var(--primary);
}

/* Arrow indicator for submenu toggle */
.menu-group-title::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    position:absolute;
    right:14px;
    font-size:14px;
    opacity:0;
    transition:transform .3s, opacity .3s;
}

.sidebar:hover .menu-group-title::after{
    opacity:1;
}

.menu-group.submenu-open .menu-group-title::after{
    transform:rotate(180deg);
}

.submenu{
    display:none;
    list-style:none;
    margin:4px 0 0 44px;
    padding:0;
}

.sidebar:hover .submenu{
    display:block;
}

/* Toggle submenu via klik (mobile & desktop) */
.menu-group.submenu-open .submenu{
    display:block;
}

.menu .submenu li{
    margin:4px 0;
}

.menu .submenu a{
    gap:10px;
    padding:9px 12px;
    border-radius:10px;
    font-size:14px;
}

.menu .submenu i{
    min-width:18px;
    font-size:14px;
}

/* ==========================
ACTIVE MENU
========================== */

.menu a.active{
    background:var(--primary);
    color:#fff;
}

.menu a.active i{
    color:#fff;
}

/* ==========================
SCROLLBAR
========================== */

.sidebar::-webkit-scrollbar{
    width:6px;
}

.sidebar::-webkit-scrollbar-thumb{
    background:#d1dbd1;
    border-radius:10px;
}

.sidebar::-webkit-scrollbar-thumb:hover{
    background:var(--primary);
}

/* ==========================
NOTIF BADGE
========================== */

.menu a .notif-badge{
    position:static;
    margin-left:auto;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:50px;
    background:#ef4444;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
}

/* ==========================
SIDEBAR TOGGLE BUTTON (HAMBURGER)
========================== */

.sidebar-toggle{
    display:none;
    position:fixed;
    top:15px;
    right:15px;
    z-index:1001;
    width:42px;
    height:42px;
    border:none;
    border-radius:12px;
    background:var(--primary);
    color:#fff;
    font-size:20px;
    cursor:pointer;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 12px rgba(51,102,255,.3);
    transition:.3s;
}

.sidebar-toggle:hover{
    background:var(--primary-hover);
    transform:scale(1.05);
}

/* ==========================
SIDEBAR OVERLAY
========================== */

.sidebar-overlay{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.5);
    z-index:998;
    opacity:0;
    transition:opacity .3s;
}

.sidebar-overlay.show{
    opacity:1;
}

/* ==========================
RESPONSIVE - TABLET & MOBILE
========================== */

@media(max-width:768px){

    /* Hide default sidebar hover behavior on mobile */
    .sidebar{
        width:260px;
        left:-280px;
        transition:left .35s ease;
        padding:20px 15px;
    }

    .sidebar:hover{
        width:260px;
    }

    .sidebar.open{
        left:0;
        display:block;
    }

    /* Always show text when sidebar is open on mobile */
    .sidebar.open .logo-text,
    .sidebar.open .menu-text{
        opacity:1;
    }

    /* Submenu di mobile hanya muncul jika di-toggle (class submenu-open) */
    .sidebar.open .submenu{
        display:none;
    }

    .sidebar.open .menu-group.submenu-open .submenu{
        display:block;
    }

    /* Show toggle button on mobile - paksa tampil */
    .sidebar-toggle{
        display:flex !important;
        visibility:visible !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    /* Show overlay on mobile */
    .sidebar-overlay{
        display:block;
        pointer-events:none;
    }

    .sidebar-overlay.show{
        pointer-events:auto;
    }

    /* Prevent body scroll when sidebar is open */
    body.sidebar-open{
        overflow:hidden;
    }

    .logo-text,
    .menu-text{
        font-size:14px;
    }

    /* ============================================
       OVERRIDE: Semua .content di mobile
       Sidebar jadi overlay, konten full width
       ============================================ */
    .content{
        margin-left:0 !important;
        width:100% !important;
        padding:20px 16px !important;
    }

    .sidebar:hover ~ .content,
    .sidebar.open ~ .content{
        margin-left:0 !important;
        width:100% !important;
    }

}

/* Header actions profile dropdown harus di atas sidebar overlay */
.profile-dropdown-menu {
    z-index: 10000 !important;
}
