/* PlanejaDEF — refinamentos da navegação lateral. */

@media (min-width: 1024px) {
    /* O controle passa a viver dentro do próprio menu, acima do Dashboard. */
    .fi-topbar-open-collapse-sidebar-btn,
    .fi-topbar-close-collapse-sidebar-btn {
        display: none !important;
    }

    /* Transição suave entre a barra expandida e a barra somente com ícones. */
    .fi-sidebar,
    .fi-main,
    .fi-topbar {
        transition:
            width 280ms cubic-bezier(.4, 0, .2, 1),
            margin-inline-start 280ms cubic-bezier(.4, 0, .2, 1),
            inset-inline-start 280ms cubic-bezier(.4, 0, .2, 1),
            transform 280ms cubic-bezier(.4, 0, .2, 1) !important;
    }

    .fi-sidebar-nav {
        scroll-behavior: smooth;
    }
}

.planejadef-sidebar-toggle-wrap {
    display: flex;
    align-items: center;
    padding: .25rem .75rem .65rem;
}

.planejadef-sidebar-toggle {
    display: inline-flex;
    min-height: 2.35rem;
    align-items: center;
    gap: .55rem;
    border-radius: .65rem;
    padding: .45rem .55rem;
    color: #558E9B;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.planejadef-sidebar-toggle:hover {
    background: rgba(85, 142, 155, .10);
    color: #315F78;
}

.planejadef-sidebar-toggle:active {
    transform: scale(.96);
}

.planejadef-sidebar-toggle svg {
    width: 1.25rem;
    height: 1.25rem;
    flex: 0 0 auto;
}

.planejadef-sidebar-toggle-label {
    white-space: nowrap;
    font-size: .82rem;
    font-weight: 600;
}

/* Quando recolhido, mantém o botão perfeitamente centralizado na coluna de ícones. */
.fi-sidebar:not(.fi-sidebar-open) .planejadef-sidebar-toggle-wrap {
    justify-content: center;
    padding-inline: .35rem;
}

.fi-sidebar:not(.fi-sidebar-open) .planejadef-sidebar-toggle {
    justify-content: center;
    padding-inline: .45rem;
}

/* Grupos de primeira ordem: azul institucional mais escuro para criar hierarquia visual. */
.planejadef-nav-group--primary > button svg,
.planejadef-nav-group--primary > a svg,
.planejadef-nav-group--primary .fi-sidebar-group-icon {
    color: #315F78 !important;
    stroke: currentColor;
}

.planejadef-nav-group--primary > button:hover svg,
.planejadef-nav-group--primary > a:hover svg {
    color: #21485F !important;
}

/* No modo recolhido, os grupos com ícone ocupam a mesma largura/ritmo dos demais itens. */
.fi-sidebar:not(.fi-sidebar-open) .planejadef-nav-group--primary {
    margin-block: .15rem;
}

/* Modo recolhido — compacta o ritmo vertical dos ícones sem alterar o menu expandido. */
@media (min-width: 1024px) {
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-nav-groups {
        gap: .18rem !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-group,
    .fi-sidebar:not(.fi-sidebar-open) .planejadef-nav-group--primary {
        margin-block: 0 !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-group-items {
        gap: .08rem !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-item-button,
    .fi-sidebar:not(.fi-sidebar-open) .fi-sidebar-group-button {
        min-height: 2.35rem !important;
        padding-block: .36rem !important;
    }

    .fi-sidebar:not(.fi-sidebar-open) .planejadef-sidebar-toggle-wrap {
        padding-top: .1rem;
        padding-bottom: .25rem;
    }
}


/* PlanejaDEF — ajuste EXCLUSIVO do logo no cabeçalho superior.
   O logo está na topbar do Filament, não dentro do corpo da sidebar. */
@media (min-width: 1024px) {
    .fi-topbar .fi-logo {
        transform: translateX(-2.75rem) scale(.94) !important;
        transform-origin: left center !important;
        margin-top: .35rem !important;
        margin-bottom: .35rem !important;
    }

    .fi-topbar .fi-logo img,
    .fi-topbar img.fi-logo {
        max-height: 3.75rem !important;
        height: 3.75rem !important;
        width: auto !important;
        object-fit: contain !important;
    }
}
