body.auth-page{background:var(--app-gradient)}
.auth-layout{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
}
.auth-promo{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(40px,7vw,110px);
  background:linear-gradient(145deg,#01a200,#047c00);
  color:white;
}
.auth-promo .brand-mark{
  background:rgba(255,255,255,.18);
  box-shadow:none;
}
.auth-promo h1{
  font-size:clamp(38px,4.5vw,68px);
  line-height:1.12;letter-spacing:-.055em;
  max-width:600px;margin:65px 0 22px;
}
.auth-promo p{
  font-size:19px;max-width:520px;opacity:.9;
}
.auth-points{
  display:flex;flex-wrap:wrap;gap:12px;margin-top:38px;
}
.auth-points span{
  border:1px solid rgba(255,255,255,.3);
  border-radius:999px;padding:9px 16px;font-weight:700;
}
.auth-main{
  display:grid;place-items:center;padding:32px;
}
.auth-card{
  width:min(100%,470px);padding:44px;
  background:white;border:1px solid var(--border-soft);
  border-radius:24px;box-shadow:var(--shadow-card);
}
.auth-card h2{
  font-size:34px;letter-spacing:-.045em;
  margin:10px 0;
}
.auth-card p{color:var(--text-muted)}
.auth-card .primary-button{width:100%;margin-top:24px}
.auth-links{
  display:flex;justify-content:space-between;gap:12px;
  margin-top:22px;font-size:14px;
}
.auth-links a{color:var(--swish-green-dark);font-weight:800}
.auth-links a:hover{text-decoration:underline}
.auth-footer{margin-top:35px;font-size:13px;color:var(--text-muted)}
@media(max-width:900px){
  .auth-layout{grid-template-columns:1fr}
  .auth-promo{padding:26px}
  .auth-promo h1,.auth-promo>p,.auth-points{display:none}
  .auth-main{padding:24px}
  .auth-card{padding:30px}
}
