
    /**
 * Estilos do Menu Principal
 */
    .menu-opened {
        position: relative;
    }

    .menu-card {
        margin-bottom: 0.75rem;
    }

    .not-hover {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .card.not-hover:hover {
        transform: scale(1.05);
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    }

    .menu-active h2,
    .menu-active,
    .menu-active i,
    .menu-expanded i.bi-chevron-right,
    .menu-expanded h2 {
        color: white !important;
    }

    .dark-mode .menu-expanded h2,
    .dark-mode .menu-active h2 {
        color: black !important;
    }

    .menu-active {
        background-color: #28a745 !important;
    }

    .dark-mode .menu-active {
        background-color: #a8a8a8ff !important;
    }

    .menu-expanded {
        background-color: #90bb6b !important;
    }

    .dark-mode .menu-expanded {
        background-color: #c9c9c9 !important;
    } 

    .menu-expanded img {
        filter: contrast(0) brightness(5);
    }

    .dark-mode .menu-expanded img {
        filter: brightness(0.5) !important;
    }

    .menu-expanded i.bi-chevron-right {
        transform: rotate(90deg) !important;
        transition: transform 0.3s ease !important;
    }
   
    .menu-expanded {
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
        transform: translateX(5px) !important;
        transition: all 0.3s ease !important;
    }

    .menu-expanded h2 {
        font-weight: 600 !important;
    }           

    .menu-principal-card .card .h6,
    .nav-link .menu-text,
    .card .h6 {
        text-align: center !important;
        width: 100% !important;
        display: block !important;
    }

    .menu-principal-card .card>div:last-child {
        display: none !important;
    }

    .menu-mobile,
    .close-mobile-menu {
        display: none;
    }

    @media (max-width: 767.98px) {
        .menu-mobile {
            display: block;
        }

        .menu-principal {
            display: none;
        }

        .close-mobile-menu {
            display: block;
            position: absolute;
            top: 1rem;
            right: 1rem;
            font-size: 1.5rem;
        }

    }




    /**
    * Estilos do Submenu
    */
    .submenu-items-container {
        display: flex;
        flex-direction: column;
        padding: 0 1rem;
        max-height: 60vh;
    }

    .submenu-section-title a {
        font-weight: 600;
        border-bottom: 1px solid #eee;
        padding: 0.75rem 0.5rem;
        width: 100%;
        cursor: pointer;
        display: flex;
        color: #333;
        justify-content: space-between;
        align-items: center;
    }

    .submenu-section-title a:hover {
        color: #1a1a1a;
        background: #faf9f9;
    }

    .submenu-section-items {
        display: flex;
        flex-direction: column;
    }

    .submenu-item {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0.5rem 0;
        color: #666;
        text-decoration: none;
        transition: background-color 0.3s ease;
        padding-left: 18px;
    }

    .submenu-item:hover {
        background-color: #f4f4f4;
        color: #333;
        text-decoration: underline;
    }

    .submenu-item p {
        margin: 0;
        font-size: 0.9rem;
    }

    .submenucard {
        background-color: white;
        border-radius: 0.25rem;
        box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
        margin-bottom: 1rem;
    }

    .submenucard.opened {
        display: block !important;
    }

    .backmenu {
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        background-color: #f8f9fa;
        border-bottom: 1px solid #dee2e6;

    }



    /**
 * Estilos da Busca
 */
    .searcher {
        position: relative;
        margin-bottom: 1rem;
    }

    .search-input-group {
        display: flex;
        align-items: stretch;
        width: 100%;
    }

    .search-input-group input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        height: 38px;
        font-size: 0.875rem;
    }

    .search-input-group button {
        border-radius: 0.375rem;
        width: 38px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .search-results {
        max-height: 350px;
        overflow-y: auto;
        position: absolute;
        width: 100%;
        z-index: 100;
        border-radius: 0.25rem;
        box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
        background-color: #fff;
    }

    .search-results .list-group-item {
        padding: 0.5rem 0.75rem;
        border-left: 3px solid transparent;
        transition: all 0.2s ease;
        font-size: 0.875rem;
    }

    .search-results .list-group-item:hover {
        background-color: #f8f9fa;
        transform: translateX(3px);
    }

    .search-results a {
        color: var(--bs-primary);
        text-decoration: none;
        font-weight: 600;
        display: block;
        font-size: 0.875rem;
    }

    .search-results a:hover {
        text-decoration: underline;
    }

    .result-description {
        font-size: 0.75rem;
        margin-top: 0.25rem;
        color: #6c757d;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    .result-meta {
        font-size: 0.7rem;
        color: #6c757d;
        margin-top: 0.25rem;
        display: flex;
        align-items: center;
    }

    .result-meta i {
        margin-right: 0.25rem;
        font-size: 0.7rem;
    }

    .highlight-term {
        background-color: #fff3cd;
        padding: 0 2px;
        border-radius: 2px;
    }

    .result-noticia {
        border-left-color: #007bff;
    }

    .result-pagina {
        border-left-color: #28a745;
    }

    .ver-todos {
        text-align: center;
        padding: 0.5rem;
        background-color: #f8f9fa;
        border-top: 1px solid #dee2e6;
    }

    .ver-todos a {
        color: var(--bs-primary);
        font-weight: 500;
        font-size: 0.75rem;
    }

    .ver-todos a:hover {
        text-decoration: underline;
    }

    /* Estilos para o loading que aparece dentro da lista */
    .search-loading-item {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.75rem;
        color: #6c757d;
        background-color: #fff;
        border-bottom: 1px solid #dee2e6;
        font-size: 0.875rem;
    }

    .search-loading-item .spinner-border {
        width: 1rem;
        height: 1rem;
        margin-right: 0.5rem;
    }

    .search-input-group input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        height: 100%;
        font-size: 0.875rem;
        border-radius: 0.375rem;
        margin-right: 10px;
    }

    #results {
        overflow-x: hidden;
        top: 3rem;
    }

    /* ===============================
   FIX: Tabela passando sobre submenu
   =============================== */

    /* Garante que tabelas não "furem" o submenu */
    table,
    .table,
    thead,
    thead th {
        position: relative !important;
        z-index: 1 !important;
    }

    /* Caso o header da tabela seja sticky */
    .table thead th {
        position: sticky;
        top: 0;
        z-index: 1 !important;
    }

    /* Submenu SEMPRE acima da tabela */
    .submenucard,
    .submenucard.opened {
        position: absolute !important;
        z-index: 100 !important;
        background-color: #fff;
    }