/* login.css — tela de acesso (modo servidor) */

.login-page {
  min-height: 100vh;
  background:
    radial-gradient(80% 60% at 100% 0%, rgba(140, 198, 63, .22), transparent 60%),
    radial-gradient(70% 60% at 0% 100%, rgba(140, 198, 63, .16), transparent 60%),
    linear-gradient(160deg, var(--green-900), var(--green-950));
}

.login { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px 16px; }

.login__card {
  width: 100%; max-width: 400px; padding: 32px 28px 28px; border-radius: 20px;
  background: var(--surface); box-shadow: var(--shadow-lg); text-align: center;
}
.login__logo { width: 220px; max-width: 80%; margin: 0 auto 18px; }
.login__card h1 { font-size: 20px; }
.login__sub { margin: 6px 0 22px; color: var(--text-muted); }

.login__card form { display: flex; flex-direction: column; gap: 14px; text-align: left; }
.login__card .field { flex: none; }
.login__card .field input { height: 44px; font-size: 15px; }
.login__card .btn { height: 46px; margin-top: 4px; font-size: 15px; }
.login__card .btn:disabled { opacity: .7; cursor: progress; }

.login__error { padding: 10px 12px; border-radius: 10px; background: var(--danger-bg); color: var(--danger); font-size: 13.5px; font-weight: 600; }

.login__foot { display: flex; align-items: center; gap: 8px; color: #BFD6C6; font-size: 12.5px; text-align: center; }
.login__foot .icon { width: 15px; height: 15px; color: var(--lime-400); }
