.left-panel {
    position: relative;
    overflow: hidden;
}

.form-container {
    max-width: 490px;
    width: 100%;
}

/* Página de texto (ajuda do MFA): usa a coluna toda; o padrão de 490px é para formulário. */
.form-container-wide { max-width: 1040px; }

.form-control-lg {
    font-size: 0.95rem;
    padding: 0.8rem 1.25rem;
    background-color: #fff;
}

.password-toggle {
    cursor: pointer;
    background: transparent;
    border-left: none;
    color: #6c757d;
}

.input-group .form-control {
    border-right: none;
}

.text-hover-primary:hover {
    color: var(--bs-primary) !important;
}

.btn-primary {
    background-color: #3B71CA;
    border-color: #3B71CA;
}

    .btn-primary:hover {
        background-color: #21325B;
        border-color: #21325B;
    }

.input-group .form-control { border-right: 1px solid var(--bs-gray-300); }

/* Botões do login em texto normal (o tema Material deixa em caixa-alta). */
.btn-primary, .btn-outline-primary, .btn-link { text-transform: none; letter-spacing: 0; font-size: 1rem; }

.form-container h2 { font-size: 1.5rem; line-height: calc(2 / 1.5); font-weight: 700; } /* o .fw-bold do tema vale 500 */

/* Logo em SVG recortado: sem margem interna, alinha à esquerda com o título e os campos. */
.logo-mobile img { height: 44px; width: auto; max-width: none; }

/* Painel esquerdo: bloco centralizado (logo e frase). */
.left-panel-block { width: 100%; padding: 0 1.5rem; text-align: center; }
@media (min-width: 1200px) { .left-panel-block { width: 80%; padding: 0; } }
.left-panel-text { font-size: 1rem; font-weight: 500; opacity: .75; margin: 0; }
