.auth-shell{
  min-height:calc(100vh - 82px);
  display:grid;
  place-items:center;
  padding:clamp(4rem,9vw,8rem) 0;
}

.auth-card{
  width:min(100%,460px);
  padding:clamp(1.5rem,4vw,2.5rem);
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:
    radial-gradient(circle at top right,rgba(255,255,255,.13),transparent 16rem),
    linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025));
  box-shadow:0 34px 100px rgba(0,0,0,.48);
}

.auth-kicker{
  width:max-content;
  padding:.42rem .72rem;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  color:#cdd1da;
  background:rgba(255,255,255,.055);
  font-size:.78rem;
  margin-bottom:1rem;
}

.auth-card h1{
  font-size:clamp(2.25rem,5vw,3.7rem);
  line-height:.95;
  letter-spacing:-.07em;
}

.auth-subtitle{
  margin-top:1rem;
  color:#9da3b0;
  line-height:1.7;
  font-size:.95rem;
}

.auth-error{
  margin-top:1.2rem;
  padding:.85rem 1rem;
  border:1px solid rgba(255,93,93,.22);
  border-radius:14px;
  color:#ffb3b3;
  background:rgba(255,93,93,.08);
  font-size:.88rem;
}

.auth-form{
  display:grid;
  gap:1rem;
  margin-top:1.5rem;
}

.auth-form label span{
  display:flex;
  justify-content:space-between;
  color:#dfe2ea;
  font-size:.82rem;
  font-weight:700;
  margin-bottom:.55rem;
}

.auth-form label em{
  color:#737987;
  font-style:normal;
  font-weight:500;
}

.auth-form input{
  width:100%;
  height:52px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  outline:none;
  padding:0 1rem;
  color:#fff;
  background:rgba(255,255,255,.055);
}

.auth-form input:focus{
  border-color:rgba(255,255,255,.32);
  box-shadow:0 0 0 4px rgba(255,255,255,.06);
}

.auth-form button{
  width:100%;
  margin-top:.35rem;
  cursor:pointer;
}

.auth-switch{
  margin-top:1.4rem;
  color:#9da3b0;
  text-align:center;
  font-size:.9rem;
}

.auth-switch a{
  color:#fff;
  font-weight:800;
}
