/**
 * Layout crítico do painel (Soft UI sidenav fixo + main-content).
 * Carregado sempre via asset(), independente do Vite — evita sobreposição do menu.
 */
body.g-sidenav-show .main-content {
    min-width: 0;
    box-sizing: border-box;
    transition: margin-left 0.2s ease-in-out;
}

@media (min-width: 1200px) {
    body.g-sidenav-show .main-content {
        margin-left: 17.125rem !important;
    }

    body.g-sidenav-show.g-sidenav-hidden .main-content {
        margin-left: 7.5rem !important;
    }
}

@media (max-width: 1199.98px) {
    body.g-sidenav-show.g-sidenav-pinned .main-content {
        margin-left: 17.125rem !important;
    }
}

body.g-sidenav-show .main-content > .container-fluid {
    max-width: 100%;
    min-width: 0;
}

/* Ícones Bootstrap Icons no sidenav Soft UI */
.sidenav .nav-link .icon .bi,
.sidenav-header .bi {
    line-height: 1;
    vertical-align: middle;
}

.password-toggle-group .password-toggle-btn {
    border-color: #d2d6da;
    color: #67748e;
}

.password-toggle-group .password-toggle-btn:hover,
.password-toggle-group .password-toggle-btn:focus {
    color: #344767;
    background-color: #f8f9fa;
}

.password-toggle-group .form-control.is-invalid {
    z-index: 1;
}

.sidenav .nav-link .icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Menu lateral: textos ~10% maiores que o tema Soft UI */
#sidenav-main .navbar-nav > .nav-item > .nav-link {
    font-size: 1.1rem;
}

#sidenav-main .navbar-nav > .nav-item > .nav-link .nav-link-text {
    font-size: inherit;
}

#sidenav-main .navbar-nav > .nav-item > .nav-link .icon .bi.text-sm {
    font-size: 0.9625rem !important;
}
