:root {

    --main-color: #e8945a;

    --brand-active: rgba(255, 255, 255, 0.22);

    --brand-hover: rgba(255, 255, 255, 0.12);

    --brand-logout: #e8945a;

}



#sidebar {
    background-color: var(--main-color) !important;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

#sidebar .sidebar-nav-scroll {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

#sidebar .sidebar-nav-scroll::-webkit-scrollbar {
    width: 6px;
}

#sidebar .sidebar-nav-scroll::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.35);
    border-radius: 999px;
}

#sidebar .sidebar-footer {
    background-color: var(--main-color);
}

#sidebar .sidebar-logo {
    width: 100%;
    max-width: 140px;
    height: auto;
    object-fit: contain;
    filter: none;
}



#sidebar .sidebar-item-link {

    transition: background-color 0.2s ease;

}



#sidebar .sidebar-item-link:hover {

    background-color: var(--brand-hover);

}



#sidebar .sidebar-item-active > .sidebar-item-link,

#sidebar .sidebar-item-active .sidebar-item-link {

    background-color: var(--brand-active);

    border-left: 3px solid #ffffff;

    padding-left: calc(1rem - 3px);

}



#sidebar .material-icons svg {

    color: #ffffff !important;

}



#sidebar .material-icons svg[fill="none"] {

    fill: none !important;

}



#sidebar .material-icons svg[fill="none"] path,

#sidebar .material-icons svg[fill="none"] circle,

#sidebar .material-icons svg[fill="none"] line,

#sidebar .material-icons svg[fill="none"] polyline,

#sidebar .material-icons svg[fill="none"] rect {

    fill: none !important;

    stroke: #ffffff !important;

}



#sidebar #btn_log_out {

    background-color: transparent !important;

}



#sidebar #btn_menu_close svg {

    color: #ffffff;

}



.sidebar {

    position: absolute;

    overflow: hidden;

    background-color: var(--main-color);

    color: #ffffff;

    width: 250px;

    top: var(--app-navbar-height, 2.75rem);

    left: -200px;

    transition: left 0.3s;

    z-index: 20;

}



.sidebar .sidebar_menu {

    width: 100%;

    min-width: 100px;

    flex-flow: row wrap;

    justify-content: center;

    align-items: center;

}



.sidebar .sidebar_menu svg {

    flex-grow: 1;

    cursor: pointer;

}



.sidebar-nav {

    display: flex;

    flex-direction: column;

    align-content: start;

    justify-content: flex-start;

    width: 100%;

    height: 100%;

}



.logo {

    text-align: center;

    padding: 10px 0;

    font-size: 1.5rem;

    font-weight: bold;

    color: #ffffff;

    background-color: #2d3748;

    display: none;

    transition: display 0.3s;

}



.nav-list {

    list-style-type: none;

    padding: 0;

    flex: 1 1 auto;

    width: 100%;

    height: 100%;

    display: block;

    transition: display 0.3s;

}



.nav-list li {

    padding: 15px 20px;

    font-size: 1rem;

    position: relative;

    width: 100%;

    gap: 2px;

}



.nav-list li a {

    width: 100%;

    color: #ffffff;

    text-decoration: none;

    display: flex;

    align-items: center;

}



.nav-list li .icon {

    margin-right: 15px;

}



.nav-list li:hover {

    background-color: var(--brand-hover);

}



.dropdown-icon {

    margin-left: auto;

    transition: transform 0.3s ease;

}



.dropdown-list {

    max-height: 0;

    opacity: 0;

    padding-left: 20px;

    overflow: hidden;

    transition: all 0.4s ease;

    width: 100%;

}



.dropdown:hover .dropdown-list {

    max-height: auto;

    opacity: 1;

}



.logout {

    width: 100%;

    height: 60px;

    text-align: center;

    padding: 10px 0;

    background-color: var(--brand-logout);

    display: flex;

    flex-direction: row;

    align-items: center;

    justify-content: center;

    visibility: visible;

}



.logout a {

    color: #ffffff;

    text-decoration: none;

    font-size: 1rem;

}



@media (max-width: 768px) {

    .sidebar .sidebar_menu {

        display: flex;

    }



    .sidebar {

        left: -400px;

        max-width: 0%;

    }

}

