/*
==========================================
CORREÇÕES DE LAYOUT - MENU LATERAL
==========================================
Correções específicas para evitar estouro do menu
*/

/* ==== FORÇA LARGURA DO SIDEBAR ==== */
.nav-md .container.body .col-md-3.left_col {
    width: 230px !important;
    max-width: 230px !important;
    min-width: 230px !important;
    overflow: hidden !important;
}

/* ==== CONTAINER DO MENU ==== */
.left_col {
    width: 230px !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ==== MENU PRINCIPAL ==== */
.main_menu_side {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
}

#sidebar-menu {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
}

.menu_section {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
}

/* ==== ITENS DO MENU ==== */
.nav.side-menu {
    width: 100% !important;
    max-width: 230px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.nav.side-menu > li {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.nav.side-menu > li > a {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    padding: 15px 20px !important;
}

/* ==== ITENS ATIVOS ==== */
.nav.side-menu > li.active,
.nav.side-menu > li.current-page {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.nav.side-menu > li.active > a,
.nav.side-menu > li.current-page > a {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}

/* ==== SUBMENUS ==== */
.nav.child_menu {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nav.child_menu li {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.nav.child_menu li a {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    padding: 12px 20px 12px 40px !important;
}

/* ==== REMOVER TRANSFORMS PROBLEMÁTICOS ==== */
.nav.side-menu > li > a:hover {
    transform: none !important;
}

.nav.side-menu > li.active > a:hover {
    transform: none !important;
}

/* ==== ÁREA DE CONTEÚDO PRINCIPAL ==== */
.nav-md .container.body .right_col {
    margin-left: 230px !important;
    width: calc(100% - 230px) !important;
}

/* ==== RESPONSIVIDADE ==== */
@media (max-width: 991px) {
    .nav-md .container.body .col-md-3.left_col {
        width: 100% !important;
        max-width: 100% !important;
        position: fixed !important;
        z-index: 9999 !important;
        left: -100% !important;
        transition: left 0.3s ease !important;
    }

    .nav-md .container.body .col-md-3.left_col.active {
        left: 0 !important;
    }

    .nav-md .container.body .right_col {
        margin-left: 0 !important;
        width: 100% !important;
    }
}

/* ==== SCROLL PERSONALIZADO PARA MENU ==== */
.left_col::-webkit-scrollbar {
    width: 4px;
}

.left_col::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.1);
}

.left_col::-webkit-scrollbar-thumb {
    background: var(--primary-red, #db001b);
    border-radius: 2px;
}

.left_col::-webkit-scrollbar-thumb:hover {
    background: var(--dark-red, #b50017);
}

/* ==== CORREÇÃO PARA ÍCONES NO MENU ==== */
.nav.side-menu > li > a i {
    width: 20px !important;
    text-align: center !important;
    margin-right: 10px !important;
    display: inline-block !important;
}

.nav.child_menu li a i {
    width: 16px !important;
    text-align: center !important;
    margin-right: 8px !important;
    display: inline-block !important;
}

/* ==== TÍTULO DO SITE - APENAS OVERFLOW ==== */
.nav_title {
    overflow: hidden !important;
}

.site_title {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* ==== PREVENIR APENAS TRANSFORMS PROBLEMÁTICOS ==== */
.nav.side-menu > li > a:hover,
.nav.side-menu > li.active > a:hover,
.nav.side-menu > li > a,
.nav.side-menu > li.active > a {
    transform: none !important;
    -webkit-transform: none !important;
}

/* ==== CORREÇÃO PARA ELEMENTOS QUE ESTÃO ESTOURANDO ==== */
.nav.side-menu > li > a i,
.nav.side-menu > li > a span,
.nav.child_menu li a {
    transform: none !important;
    -webkit-transform: none !important;
}

/* ==== FORÇAR CONTENÇÃO DE TODOS OS ELEMENTOS DO MENU ==== */
.main_menu_side,
.main_menu_side *,
#sidebar-menu,
#sidebar-menu * {
    max-width: 230px !important;
    box-sizing: border-box !important;
}

/* ==== DESABILITAR TODOS OS EFEITOS NO MENU LATERAL ==== */
.left_col,
.left_col *,
.main_menu_side,
.main_menu_side *,
#sidebar-menu,
#sidebar-menu *,
.profile,
.profile *,
.clearfix,
.clearfix * {
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    scale: none !important;
    -webkit-scale: none !important;
    zoom: 1 !important;
    transition: none !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    animation: none !important;
    -webkit-animation: none !important;
    -moz-animation: none !important;
    animation-name: none !important;
    -webkit-animation-name: none !important;
    -moz-animation-name: none !important;
}

/* ==== DESABILITAR EFEITOS EM HOVER TAMBÉM ==== */
.left_col:hover,
.left_col *:hover,
.main_menu_side:hover,
.main_menu_side *:hover,
#sidebar-menu:hover,
#sidebar-menu *:hover,
.profile:hover,
.profile *:hover,
.clearfix:hover,
.clearfix *:hover {
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    scale: none !important;
    -webkit-scale: none !important;
    zoom: 1 !important;
    transition: none !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    animation: none !important;
    -webkit-animation: none !important;
    -moz-animation: none !important;
    animation-name: none !important;
    -webkit-animation-name: none !important;
    -moz-animation-name: none !important;
}

/* ==== PERFIL DO USUÁRIO NO MENU ==== */
.profile {
    width: 100% !important;
    max-width: 230px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ==== CONTAINER BÁSICO ==== */
.left_col .scroll-view {
    overflow-x: hidden !important;
}

/* ==== FORÇA APLICAÇÃO DE ESTILOS ==== */
.left_col * {
    box-sizing: border-box !important;
}

.main_menu_side * {
    box-sizing: border-box !important;
}