/* V2.6.5 — login mais legível em monitor e celular. */
.login-shell .login-card {
  width: min(440px, calc(100vw - 32px));
  max-width: 100%;
}
.login-shell .login-logo { min-height: 126px; }
.login-shell .login-logo img { max-height: 120px; }
.login-shell .login-logo-fallback { width: 94px; height: 94px; font-size: 30px; }
.login-shell .login-heading { margin-top: 20px; }
.login-shell .login-heading h1 { font-size: 27px; }
.login-shell .login-form { gap: 15px; }
.login-shell .login-form label { gap: 7px; font-size: 14px; }
.login-shell .login-form input {
  min-height: 50px;
  padding: 0 12px;
  font-size: 16px;
}
.login-shell .login-form input:focus-visible,
.login-shell .login-form button:focus-visible {
  outline: 3px solid #8db3f8;
  outline-offset: 2px;
  border-color: #2563eb;
}
.password-field { position: relative; display: block; min-width: 0; }
.password-field input { padding-right: 84px !important; }
.login-shell .password-field .password-toggle {
  position: absolute;
  top: 50%;
  right: 6px;
  transform: translateY(-50%);
  min-width: 68px;
  min-height: 36px;
  height: 36px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: #f0f6ff;
  color: #245993;
  font-size: 12px;
  font-weight: 700;
}
.login-shell .login-form > button { min-height: 52px; font-size: 16px; }
.login-shell + .app-footer,
.login-shell .app-footer {
  color: #52627a;
  font-size: 12px;
  line-height: 1.5;
}
@media (max-width: 700px) {
  .login-shell { padding: 12px 0; }
  .login-shell .login-card { width: min(400px, calc(100vw - 24px)); padding: 20px; }
  .login-shell .login-logo { min-height: 104px; }
  .login-shell .login-logo img { max-height: 100px; }
  .login-shell .login-logo-fallback { width: 82px; height: 82px; font-size: 27px; }
  .login-shell .login-heading h1 { font-size: 24px; }
}
@media (max-width: 380px) {
  .login-shell .login-card { padding: 17px; }
  .login-shell .login-form input { min-height: 48px; }
}
