:root { color-scheme: light; }
* { box-sizing: border-box; }
body {
  font-family: 'Poppins', sans-serif;
  background: #e6e0d4;
  color: #1f2937;
  margin: 0;
}
.banner {
  background: linear-gradient(90deg, #e2b64e, #d19142);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 3rem;
  flex-wrap: wrap;
}
.banner .logo { height: 170px; max-width: 85vw; object-fit: contain; }
.banner nav { display: flex; gap: 1.1rem; flex-wrap: wrap; }
.banner nav a { color: #1f2937; text-decoration: none; font-weight: 600; }
main { max-width: 760px; margin: 0 auto; padding: 3rem 1rem 5rem; }
.auth-card {
  background: rgba(255,255,255,.82);
  border-radius: 18px;
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
  padding: clamp(1.4rem, 5vw, 2.5rem);
}
h1 { margin-top: 0; text-align: center; }
.lead { text-align: center; line-height: 1.65; max-width: 600px; margin: 0 auto 2rem; }
form { max-width: 480px; margin: 0 auto; }
label { display: block; font-weight: 600; margin: 1rem 0 .35rem; }
input {
  width: 100%; border: 1px solid #c7c2b8; border-radius: 10px;
  padding: .9rem 1rem; font: inherit; background: #fff;
}
input:focus { outline: 3px solid rgba(217,119,6,.22); border-color: #d97706; }
.primary {
  width: 100%; border: 0; border-radius: 999px; padding: .9rem 1.4rem;
  margin-top: 1.3rem; background: #d97706; color: #fff; font: inherit;
  font-weight: 700; cursor: pointer; box-shadow: 0 6px 14px rgba(0,0,0,.15);
}
.primary:disabled { opacity: .6; cursor: wait; }
.secondary-link { display: block; text-align: center; margin-top: 1.2rem; color: #8a4b08; font-weight: 600; }
.message { min-height: 1.5rem; margin: 1rem 0 0; text-align: center; font-weight: 600; }
.message.error { color: #9f1239; }
.message.success { color: #166534; }
.small { color: #5f5a52; font-size: .95rem; text-align: center; line-height: 1.55; }
@media (max-width: 700px) {
  .banner { justify-content: center; padding: .8rem 1rem 1.2rem; text-align: center; }
  .banner .logo { height: 125px; }
  .banner nav { justify-content: center; font-size: .95rem; }
  main { padding-top: 1.5rem; }
}
