@keyframes pulse-brand{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.3}}@keyframes slideIn{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.sidebar-toggle-floating{position:fixed;top:20px;left:20px;width:50px;height:50px;background:linear-gradient(135deg,#25d366 0,#128c7e 100%);border:0;border-radius:12px;color:#fff;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1050;box-shadow:0 4px 15px rgba(37,211,102,.4)}.sidebar-toggle-floating:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 25px rgba(37,211,102,.6)}.sidebar-toggle-floating:active{transform:scale(.95)}.sidebar-toggle-floating i{transition:transform .3s ease}.sidebar,.sidebar-overlay{position:fixed;top:0;left:0}.sidebar-overlay{width:100%;height:100%;background:rgba(0,0,0,.6);z-index:1030;opacity:0;visibility:hidden;transition:all .3s ease;backdrop-filter:blur(2px)}.sidebar-overlay.show{opacity:1;visibility:visible}.sidebar{width:280px;height:100vh;background:#fff;border-right:1px solid #e5e7eb;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1040;display:flex;flex-direction:column;box-shadow:4px 0 20px rgba(0,0,0,.1);overflow:hidden}.sidebar.show{transform:translateX(0)}.sidebar-header{padding:2rem 1.5rem;background:linear-gradient(135deg,#25d366 0,#128c7e 100%);color:#fff;flex-shrink:0;border-bottom:3px solid rgba(255,255,255,.15);position:relative;overflow:hidden}.sidebar-header::before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1)0,transparent 70%);animation:pulse-brand 3s ease-in-out infinite}.brand-container{display:flex;align-items:center;gap:1rem;position:relative;z-index:1}.sidebar-menu{flex:1;overflow-y:auto;padding:1.25rem 0}.sidebar .nav-pills{list-style:none;padding:0;margin:0}.sidebar .nav-item{display:block;margin:0 .75rem .35rem}.sidebar .nav-link{display:flex;align-items:center;padding:.85rem 1.25rem;color:#374151;text-decoration:none;border-radius:10px;font-size:.95rem;font-weight:500;transition:all .2s ease;position:relative;overflow:hidden}.sidebar .nav-link::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,#25d366,#128c7e);transform:scaleY(0);transition:transform .2s ease}.sidebar .nav-link:hover{background:linear-gradient(135deg,rgba(37,211,102,.1),rgba(18,140,126,.05));color:#25d366;transform:translateX(5px)}.sidebar .nav-link:hover::before{transform:scaleY(1)}.sidebar .nav-link.active{background:linear-gradient(135deg,#25d366 0,#128c7e 100%);color:#fff;box-shadow:0 4px 12px rgba(37,211,102,.3);font-weight:600}.sidebar .nav-link.active::before{display:none}.sidebar .nav-link i{width:24px;font-size:1.15rem;margin-right:.85rem;text-align:center}.sidebar .nav-link span{flex:1}.sidebar .nav-item.mt-3{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.sidebar .nav-link.text-danger{color:#dc3545}.sidebar .nav-link.text-danger:hover{background:linear-gradient(135deg,rgba(220,53,69,.1),rgba(220,53,69,.05));color:#dc3545}.sidebar-footer{padding:1rem;text-align:center;background:linear-gradient(180deg,transparent,#f9fafb);border-top:1px solid #e5e7eb;flex-shrink:0}.sidebar-footer small{color:#9ca3af;font-size:.85rem;font-weight:500}.main-content{margin-left:0!important;padding:2rem;min-height:100vh;width:100%;transition:none!important}.main-content.with-sidebar{margin-left:0!important;width:100%!important}.sidebar-menu::-webkit-scrollbar{width:5px}.sidebar-menu::-webkit-scrollbar-track{background:0 0}.sidebar-menu::-webkit-scrollbar-thumb{background:linear-gradient(135deg,rgba(37,211,102,.3),rgba(18,140,126,.3));border-radius:10px}.sidebar-menu::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,rgba(37,211,102,.5),rgba(18,140,126,.5))}.sidebar.show{animation:slideIn .3s ease}@media (max-width:768px){.sidebar{width:280px}.sidebar-toggle-floating{width:48px;height:48px;font-size:1.4rem}.main-content{padding:1.25rem!important;margin-left:0!important}.brand-name{font-size:1.3rem}.brand-icon{width:42px;height:42px;font-size:1.5rem}}@media (prefers-color-scheme:dark){.sidebar{background:#1f2937;border-right-color:#374151}.sidebar .nav-link{color:#d1d5db}.sidebar .nav-link:hover{background:linear-gradient(135deg,rgba(37,211,102,.15),rgba(18,140,126,.1))}.sidebar-footer{background:linear-gradient(180deg,transparent,#111827);border-top-color:#374151}}.main-content{padding-top:90px!important}@media (max-width:768px){.main-content{padding-top:80px!important;padding-left:1rem!important;padding-right:1rem!important}}.main-content>:first-child{margin-top:0}.main-content .container-fluid{padding-top:0}.brand-icon{width:48px;height:48px;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:#fff;box-shadow:0 4px 15px rgba(0,0,0,.1);transition:all .3s ease}.brand-icon:hover{transform:rotate(360deg) scale(1.1);background:rgba(255,255,255,.3)}.brand-text{display:flex;flex-direction:column;gap:.25rem}.brand-name{font-size:1.5rem;font-weight:800;letter-spacing:-.5px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.2);font-family:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;line-height:1}.brand-tagline{font-size:.7rem;font-weight:500;letter-spacing:.5px;color:rgba(255,255,255,.9);text-transform:uppercase;line-height:1}.sidebar-toggle-floating.hidden{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:scale(.8) translateX(-30px)!important}.sidebar-toggle-floating{transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.4,0,.2,1)}/* Sidebar Dropdown Submenu Styles */

/* Dropdown nav-link styling */
.sidebar .nav-link.has-dropdown {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Dropdown icon animation */
.sidebar .nav-link .dropdown-icon {
    font-size: 0.85rem;
    transition: transform 0.3s ease;
}

.sidebar .nav-link[aria-expanded="true"] .dropdown-icon {
    transform: rotate(180deg);
}

/* Submenu container */
.sidebar .submenu {
    margin: 0;
    padding: 0;
    list-style: none;
    overflow: hidden;
    background: rgba(37, 211, 102, 0.03);
    border-radius: 8px;
    margin-top: 0.5rem;
}

/* Submenu links */
.sidebar .submenu .nav-link.submenu-link {
    padding: 0.65rem 1rem;
    font-size: 0.9rem;
    font-weight: 400;
    margin: 0.25rem 0;
    border-radius: 6px;
}

.sidebar .submenu .nav-link.submenu-link i {
    font-size: 0.95rem;
    width: 20px;
    margin-right: 0.75rem;
    opacity: 0.8;
}

.sidebar .submenu .nav-link.submenu-link:hover {
    background: linear-gradient(135deg, rgba(37, 211, 102, 0.15), rgba(18, 140, 126, 0.08));
    color: #25D366;
    transform: translateX(3px);
}

.sidebar .submenu .nav-link.submenu-link:hover i {
    opacity: 1;
}

/* Active submenu link */
.sidebar .submenu .nav-link.submenu-link.active {
    background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color: white;
    font-weight: 500;
}

/* Collapsed state */
.sidebar .submenu.collapse:not(.show) {
    display: none;
}

.sidebar .submenu.collapsing {
    transition: height 0.3s ease;
}

.sidebar .submenu.show {
    display: block;
}

/* Visual separator for dropdown groups */
.sidebar .nav-item:has(.submenu) {
    position: relative;
}

/* Hover effect for dropdown parent */
.sidebar .nav-link.has-dropdown:hover .dropdown-icon {
    color: #25D366;
}

/* Text visibility for submenu */
.sidebar .submenu .nav-text {
    display: inline;
    font-size: 0.88rem;
}

/* Dark mode support */
@media (prefers-color-scheme: dark) {
    .sidebar .submenu {
        background: rgba(37, 211, 102, 0.08);
    }
    
    .sidebar .submenu .nav-link.submenu-link {
        color: #d1d5db;
    }
    
    .sidebar .submenu .nav-link.submenu-link:hover {
        background: linear-gradient(135deg, rgba(37, 211, 102, 0.2), rgba(18, 140, 126, 0.12));
        color: #25D366;
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .sidebar .submenu .nav-link.submenu-link {
        padding: 0.6rem 0.9rem;
        font-size: 0.88rem;
    }
}

/* Auto-hide hamburger when modal/dropdown open */
.hamburger-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(0.8) !important;
    transition: all 0.3s ease !important;
}

.hamburger-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: scale(1) !important;
}
