.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at 15% 0, rgba(207, 16, 45, 0.2), transparent 340px),
    linear-gradient(135deg, #090909 0%, #171717 58%, #310914 100%);
}

.login-page > p {
  color: #fff;
  font-weight: 800;
}

.login-card {
  width: min(460px, 100%);
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.login-logo {
  display: block;
  width: 100%;
  max-width: 320px;
  height: 160px;
  margin: 0 auto 24px;
  object-fit: contain;
}

.login-card .eyebrow {
  margin-bottom: 6px;
  color: var(--amber);
}

.login-card h1 {
  margin-bottom: 22px;
  color: var(--ink);
}

.login-card form {
  display: grid;
  gap: 14px;
}

.login-card label {
  display: grid;
  gap: 6px;
  color: #39443f;
  font-size: 0.84rem;
  font-weight: 800;
}

.login-card input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 11px 12px;
  background: #fff;
  color: var(--ink);
  outline: none;
}

.login-card input:focus {
  border-color: color-mix(in srgb, var(--amber) 55%, var(--line));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--amber) 14%, transparent);
}

.login-card button {
  min-height: 44px;
  margin-top: 4px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--green), #2c2c2c);
  color: #fff;
  font-weight: 900;
}

.login-card button:hover:not(:disabled) {
  background: linear-gradient(135deg, #242424, var(--amber));
}

.form-error {
  padding: 10px 12px;
  border: 1px solid #efc6bf;
  border-radius: 8px;
  background: #fbeae7;
  color: #7a2f27;
  font-size: 0.88rem;
  font-weight: 700;
}

@media (max-width: 620px) {
  .login-page {
    padding: 14px;
  }

  .login-card {
    padding: 24px 20px;
  }

  .login-logo {
    height: 120px;
  }
}
