.sidebar-custom {
    background-color: #ffffff;
    border-right: 1px solid #e2e8f0;
    height: calc(100vh - 56px);
    min-height: 100vh;
    padding: 1.5rem;
    position: fixed; /* Fixa o sidebar à esquerda */

    width: 250px;       /* largura fixa */
    min-width: 250px;   /* garante largura mínima */
    max-width: 250px;   /* evita expandir */
    overflow-y: auto;   /* scroll vertical se necessário */

}

.sidebar-custom .nav-link {
    color: #0f172a;
    font-size: 0.95rem;
    border-radius: 0.5rem;
    padding: 0.45rem 0.75rem;
}

.sidebar-custom .nav-link i {
    font-size: 1rem;
    color: #334155;
}

/* HOVER MENUS PRINCIPAIS (primeiro nível) */
.sidebar-custom > .nav > .nav-item > .nav-link:hover {
    background-color: #c7d2fe;   /* azul mais encorpado */
    color: #1d4ed8;
}

/* HOVER SUBMENUS */
.sidebar-custom .nav .nav .nav-link:hover {
    background-color: #e0e8ff;   /* azul suave, porém mais visível */
    color: #2563eb;
}

/* ITEM ABERTO / ATIVO (vale pro principal) */
.sidebar-custom .nav-link.active,
.sidebar-custom .nav-link[aria-expanded="true"] {
    background-color: #dbeafe;
    color: #1d4ed8;
}

/* ÍCONE ativo */
.sidebar-custom .nav-link.active i {
    color: #1d4ed8;
}

/* MÓDULO ATUAL: mantém o destaque do hover enquanto o usuário está dentro do módulo
   (marcado por js/componentes/menu-modulo-atual.js a partir de data-rotas) */
.sidebar-custom > .nav > .nav-item > .nav-link.modulo-atual,
.sidebar-custom > .nav > .nav-item > .nav-link.modulo-atual[aria-expanded="true"] {
    background-color: #c7d2fe;
    color: #1d4ed8;
}

.sidebar-custom > .nav > .nav-item > .nav-link.modulo-atual i {
    color: #1d4ed8;
}

/* SUBITEM DA PÁGINA ATUAL: mesmo destaque do hover de submenu */
.sidebar-custom .nav .nav .nav-link.item-atual {
    background-color: #e0e8ff;
    color: #2563eb;
}

.sidebar-custom .sidebar-tecnico {
    border-top: 1px solid #e2e8f0;
    margin-top: 1rem;
    padding-top: .7rem;
}
.sidebar-tecnico-rotulo {
    display: block;
    padding: .2rem .75rem .4rem;
    color: #64748b;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .04em;
}

/* SUBITENS (estilo base) */
.sidebar-custom .nav .nav .nav-link {
    font-size: 0.9rem;
    padding-left: 0.5rem;
}
