/* Login no padrão da família NDR | GESTOR: foto em tela cheia (assets/login-bg.jpg) e cartão de vidro fosco no centro.
   Sem a foto, vale o degradê verde do campo. */
.login-glass-page {
  min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; color: #fff;
  background:
    linear-gradient(180deg, rgba(8, 30, 22, 0.1), rgba(8, 30, 22, 0.4)),
    url("login-bg.jpg") center / cover no-repeat,
    linear-gradient(150deg, #0c2a1f 0%, #145a3f 55%, #1aac7d 100%);
}
.login-glass-page main.auth-glass {
  margin: 0; width: 100%; max-width: 480px; padding: 36px 40px 26px;
  display: flex; flex-direction: column; gap: 14px;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.2), rgba(8, 30, 22, 0.32));
  border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 24px;
  box-shadow: 0 32px 64px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(18px) saturate(150%); backdrop-filter: blur(18px) saturate(150%);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .login-glass-page main.auth-glass { background: rgba(8, 30, 22, 0.88); }
}
.auth-brand { display: flex; align-items: center; justify-content: center; gap: 16px; color: #fff; }
.auth-brand-logo {
  width: 60px; height: 60px; border-radius: 16px; display: grid; place-items: center; flex: none;
  background: linear-gradient(145deg, #25b886, #087457); box-shadow: 0 8px 20px rgba(16, 185, 129, 0.4);
}
.auth-brand-logo svg { width: 38px; height: 38px; fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.auth-brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.auth-brand-family { font-size: 20px; letter-spacing: 0.08em; }
.auth-brand-module { font-size: 32px; font-weight: 800; letter-spacing: -0.02em; }
.auth-tagline { text-align: center; }
.auth-glass h1 { margin: 6px 0 0; font-size: 22px; letter-spacing: 0; text-align: center; color: #fff; }
.auth-form { display: flex; flex-direction: column; gap: 8px; }
.auth-form label { display: block; margin-top: 6px; color: #fff; font-size: 13px; font-weight: 650; }
.auth-form input {
  height: 50px; padding: 0 14px; border-radius: 12px; font-size: 16px; color: #fff;
  background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.55);
}
.auth-form input::placeholder { color: rgba(255, 255, 255, 0.75); }
.auth-form input:focus { background: rgba(255, 255, 255, 0.18); border-color: #fff; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.25); }
.auth-form input:-webkit-autofill { -webkit-text-fill-color: #fff; caret-color: #fff; transition: background-color 9999s ease-in-out 0s; }
.auth-password { position: relative; }
.auth-password input { padding-right: 88px; }
.password-toggle {
  position: absolute; top: 8px; right: 8px; height: 34px; padding: 0 12px; border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.5); color: #fff; background: rgba(255, 255, 255, 0.12); font-size: 12px; font-weight: 700;
}
.auth-submit {
  margin-top: 14px; height: 50px; border: 0; border-radius: 12px; color: #fff; font-size: 16px; font-weight: 750;
  background: linear-gradient(180deg, #25b886, #087457); box-shadow: 0 12px 24px rgba(8, 116, 87, 0.45);
}
.auth-submit:hover { background: linear-gradient(180deg, #2fd39b, #087457); }
.auth-glass .message { margin: 0; text-shadow: none; }
.auth-foot { text-align: center; color: rgba(255, 255, 255, 0.75); font-size: 12px; }
@media (max-width: 560px) {
  .login-glass-page main.auth-glass { padding: 28px 20px 20px; }
  .auth-brand-logo { width: 50px; height: 50px; }
  .auth-brand-family { font-size: 16px; }
  .auth-brand-module { font-size: 26px; }
}
