/* ==========================================================================
   Menu lateral (templates/topo.php, <ul id="accordionSidebar" class="menu-ifce">)

   Antes: trilho de 6,5rem com o rótulo miúdo embaixo do ícone, grupos que só
   mostravam os itens depois do clique e "Meus certificados" repetido. Agora:
   sempre aberto no computador (16rem), ícone + rótulo na mesma linha, tudo à
   vista em blocos nomeados, página atual destacada, alvo de toque de 44px.
   No celular continua gaveta (gem-admin-premium.css + accessibility.js).
   ========================================================================== */
#accordionSidebar.menu-ifce {
    background: linear-gradient(180deg, #0d3a17 0%, #135a20 100%) !important;
    padding: .75rem .75rem 1rem;
    margin: 0;
    list-style: none;
}
@media (min-width: 768px) {
    /* O modo "só ícones" (.toggled) deixa de existir no computador */
    #accordionSidebar.menu-ifce,
    #accordionSidebar.menu-ifce.toggled {
        width: 16rem !important;
        flex-shrink: 0;
        position: sticky;
        top: 0;
        height: 100vh;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}
@media (max-width: 767.98px) {
    /* Gaveta fechada: sem o padding, não sobra uma faixa verde na lateral */
    #accordionSidebar.menu-ifce.toggled { padding: 0 !important; }
}
#accordionSidebar.menu-ifce ul { list-style: none; margin: 0; padding: 0; }

/* Topo: logo num cartão branco + Fechar (só no celular) */
.menu-ifce .menu-topo { display: flex; align-items: center; gap: .5rem; }
.menu-ifce .menu-marca { flex: 1; min-width: 0; display: block; background: #fff !important; border-radius: 12px; padding: .55rem .8rem; }
.menu-ifce .menu-marca img { display: block; width: 100%; height: auto; }
.menu-ifce .menu-fechar { display: none; }
@media (max-width: 767.98px) {
    .menu-ifce .menu-fechar {
        display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .1rem;
        flex-shrink: 0; min-width: 56px; min-height: 52px; padding: .25rem;
        border: 1px solid rgba(255,255,255,.35); border-radius: 12px; background: transparent; color: #fff;
        font-size: .7rem; font-weight: 700; line-height: 1.1;
    }
    .menu-ifce .menu-fechar i { font-size: 1.1rem; }
}

/* Blocos */
.menu-ifce .menu-grupo { margin-top: 1.1rem; }
.menu-ifce .menu-topo + .menu-grupo { margin-top: .9rem; }
.menu-ifce .menu-titulo {
    display: block; padding: 0 .75rem .4rem;
    font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
    color: #bfe3c6 !important;
}

/* Itens */
.menu-ifce .menu-link {
    display: flex; align-items: center; gap: .75rem;
    min-height: 44px; padding: .55rem .75rem; margin: 1px 0;
    border-radius: 10px;
    color: #f2f9f3 !important; font-size: .95rem; font-weight: 600; line-height: 1.25;
    text-decoration: none !important;
    transition: background-color .15s;
}
.menu-ifce .menu-link i { flex-shrink: 0; width: 1.25rem; text-align: center; font-size: 1rem; color: #a9dcb5 !important; }
.menu-ifce .menu-link:hover { background: rgba(255,255,255,.1); color: #fff !important; }
.menu-ifce .menu-link:focus-visible { outline: 3px solid #fde047; outline-offset: 1px; }
.menu-ifce .menu-link.ativo { background: #fff !important; color: #155e21 !important; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
.menu-ifce .menu-link.ativo i { color: #155e21 !important; }

.menu-ifce .menu-selo {
    margin-left: auto; padding: .05rem .5rem; border-radius: 50rem;
    background: #fde047 !important; color: #3b2503 !important; font-size: .7rem; font-weight: 800; line-height: 1.5;
}
.menu-ifce .menu-selo[hidden] { display: none; }

/* Rodapé: Sair + créditos */
.menu-ifce .menu-rodape { margin-top: 1.25rem; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.18); }
.menu-ifce .menu-creditos {
    margin: .75rem .75rem 0; font-size: .75rem; line-height: 1.5;
    color: rgba(255,255,255,.78) !important; overflow-wrap: anywhere;
}
.menu-ifce .menu-creditos a { color: inherit !important; text-decoration: underline; }

/* Tema escuro: accessibility.css troca o verde por grafite; o item ativo acompanha */
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-titulo { color: #9fb3a6 !important; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-link { color: #e6ece8 !important; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-link i { color: #8fd19e !important; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-link.ativo { background: #1d3a22 !important; color: #fff !important; box-shadow: inset 0 0 0 1px #3f7a4a; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-link.ativo i { color: #b8f0c4 !important; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-selo, [data-theme="dark"] #accordionSidebar.menu-ifce .menu-selo span { background-color: #fde047 !important; color: #3b2503 !important; }
[data-theme="dark"] #accordionSidebar.menu-ifce .menu-creditos { color: rgba(255,255,255,.65) !important; }
