:root {
    --sidebar-width: 196px;
    --sidebar-width-collapsed: 3em;
}

body {
    overflow-x: hidden;
}
.nav-sidebar {
    width: var(--sidebar-width);
    font-size: 1.25em;
    color: #a4afc2;
    transition: all 0.3s ease;
    background: linear-gradient(135deg, #26344b 0%, #1e2837 100%);
}
.nav-sidebar ul {
    width: var(--sidebar-width);
    background: linear-gradient(135deg, #26344b 0%, #1e2837 100%);
    margin: 0;
}
.offcanvas.dark, .dark .offcanvas-body {
    background: linear-gradient(135deg, #26344b 0%, #1e2837 100%);
    color: #26344b !important;
}

.offcanvas-title{
    color: #a4afc2;
}

#mobileNavigation .accordion{
    --bs-primary-text-emphasis: #243146;
    --bs-accordion-active-color: #a4afc2;
    --bs-accordion-active-bg: #a4afc2;
    --bs-accordion-bg: #243146;
    --bs-accordion-border-color: #243146;
}

#mobileNavigation .accordion .show{
    --bs-accordion-bg: #a4afc2;
}

#mobileNavigation .accordion{
    padding: 0;
}

#mobileNavigation .accordion-header .nav-sidebar-link:not(.collapsed){
    color: #243146 !important;
}

#mobileNavigation .accordion ul{
    list-style-type: none;
}

.light-sidebar{
    color: #a4afc2;
}

.nav-sidebar li:hover, .nav-sidebar li:hover>.nav-sidebar-link {
    color: #26344b !important;
    background: linear-gradient(135deg, #f6f6f6 0%, #d6d6d6 100%);
}
.nav-sidebar ul ul {
    padding-top: 1em;
    padding-bottom: 1em;
}

.nav-sidebar.collapsed {
    width: var(--sidebar-width-collapsed);
}
.nav-sidebar.collapsed ul{
    width: var(--sidebar-width-collapsed);
}
.nav-sidebar .item-sidebar {
    box-shadow: 0 1px 0 #34425a;
}
.nav-sidebar .sidebar-root.item-sidebar{
    padding: 1em 0;
}

.nav-sidebar .item-sidebar, .nav-sidebar ul {
    padding-left: 0;
    padding-right: 0;
}
.nav-sidebar ul, .nav-sidebar li {
    text-decoration: none;
    list-style: none;
}

.nav-sidebar-link {
    padding: 1em 0;
    color: #a4afc2 !important;
    text-decoration: none;
    font-size: 0.9em !important;
    transition: all 0.2s ease;
    border-radius: 8px;
    white-space: nowrap;
    overflow: hidden;
}

.nav-sidebar-link i > span {
    color: #a4afc2 !important;
}

.nav-sidebar-link:hover {
    background: rgba(255, 255, 255, 0.1);
    transform: translateX(5px);
}

.nav-sidebar-link.active {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.1);
}

.logo-text {
    background: linear-gradient(45deg, #6b8cff, #8b9fff);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    transition: opacity 0.3s ease;
}

.notification-badge {
    background: #ff6b6b;
    padding: 2px 6px;
    border-radius: 6px;
    font-size: 0.7rem;
}

.profile-section {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.main-content {
    background-color: #f8f9fa;
    min-height: 100vh;
    padding: 1em !important;
    margin: 0 !important;
    transition: all 0.3s ease;
}

.collapsed~.main-content {
    margin-left: var(--sidebar-width-collapsed);
}

.sidebar-root > .nav-sidebar-link span{
    display: block;
}
.collapsed .sidebar-root > .nav-sidebar-link span{
    display: none !important;
}

.toggle-btn {
    position: absolute;
    right: -15px;
    top: 20px;
    background: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    border: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    z-index: 100;
    cursor: pointer;
    transition: transform 0.3s ease;
}

.collapsed .toggle-btn {
    transform: rotate(180deg);
}

.collapsed .hide-on-collapse {
    opacity: 0;
    visibility: hidden;
}

.collapsed .logo-text {
    opacity: 0;
}

.collapsed .profile-info {
    opacity: 0;
}

.collapsed .nav-sidebar-link i {
    margin: 0 !important;
}

.profile-info {
    transition: opacity 0.2s ease;
}

.nav-sidebar .item-sidebar.sidebar-menu:hover > .dropdown-menu,
.nav-sidebar .item-sidebar.sidebar-menu:hover > .dropdown-menu:hover {
    display: block;
    top: 0;
    left: 99%;
    margin-top: 0;
    margin-left: 0.125rem;
}
