/* Apenas o login: formulário e marca lado a lado; empilhados no celular. */
body.ui-auth.ui-login-institucional {
    display:flex; align-items:center; justify-content:center;
    min-height:100vh; min-height:100dvh; height:auto;
    padding:32px 20px; background:#f3f4f6;
}
.ui-auth.ui-login-institucional .auth-container.login-card {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    width:100%; max-width:960px; flex:0 1 960px; min-width:0;
    padding:0; margin:auto; overflow:hidden;
    border:1px solid #e0e7e3; border-radius:18px;
    background:#fff; box-shadow:0 14px 38px rgba(27,45,34,.10);
}
.login-form-area { min-width:0; padding:40px; }
.ui-login-institucional .login-form-area h2 {
    margin:0 0 8px; font-size:28px; line-height:1.3;
    font-weight:700; color:#1f2937; text-align:center;
}
.login-subtitulo { margin:0 0 30px; color:#637168; font-size:15px; line-height:1.5; text-align:center; }
.ui-login-institucional .login-form-area .form-group { margin-bottom:24px; }
.ui-login-institucional .login-form-area label { margin-bottom:8px; color:#374b40; font-size:14px; font-weight:600; }
.ui-login-institucional .login-form-area :is(input[type="text"],input[type="password"]) {
    width:100%; min-height:52px; padding:13px 14px;
    border:1px solid #d2ddd6; border-radius:9px; background:#fff;
    color:#26352c; font-size:16px; box-shadow:0 2px 4px rgba(31,55,40,.035);
}
.ui-login-institucional .login-form-area input:focus {
    border-color:#00833d; box-shadow:0 0 0 3px rgba(0,131,61,.12); outline:0;
}
.ui-login-institucional .login-form-area .password-wrapper input { padding-right:54px; }
.ui-login-institucional .password-wrapper .toggle-password {
    display:flex; align-items:center; justify-content:center;
    position:absolute; right:4px; top:50%; transform:translateY(-50%);
    width:40px; height:40px; color:#748078; font-size:20px;
    padding:0; border:0; background:transparent;
}
.ui-login-institucional .toggle-password:hover { color:#00642e; }
.ui-login-institucional .auth-recovery a { color:#00642e !important; font-size:14px; }
.ui-login-institucional .auth-recovery a:hover { color:#00833d !important; }
.ui-login-institucional .login-form-area .btn {
    width:100%; min-height:52px; margin-top:22px; padding:13px 18px;
    border:1px solid #00833d; border-radius:9px; background:#00833d;
    color:#fff; font-size:16px; font-weight:600; box-shadow:0 4px 10px rgba(0,100,46,.10);
}
.ui-login-institucional .login-form-area .btn:hover { background:#00642e; border-color:#00642e; }
.login-marca { display:flex; align-items:center; justify-content:center; min-width:0; padding:40px; background:#f8f9fa; }
.login-marca img { display:block; width:260px; max-width:100%; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.ui-login-institucional .aviso-alunos { margin-top:0; margin-bottom:24px; }
@media(max-width:700px) {
    body.ui-auth.ui-login-institucional { padding:20px 14px; align-items:flex-start; }
    .ui-auth.ui-login-institucional .auth-container.login-card { grid-template-columns:minmax(0,1fr); max-width:460px; border-radius:14px; }
    .login-form-area { padding:30px 24px; }
    .ui-login-institucional .login-form-area h2 { font-size:26px; }
    .login-subtitulo { font-size:14px; margin-bottom:26px; }
    .login-marca { min-height:280px; padding:28px 24px; border-top:1px solid #e6ece8; }
    .login-marca img { width:210px; }
}
@media(max-width:360px) { .login-form-area { padding:28px 20px; } }
@media(max-height:560px) and (min-width:701px) { body.ui-auth.ui-login-institucional { align-items:flex-start; padding-block:20px; } }
