.auth-page{
  position:relative;min-height:100dvh;display:flex;flex-direction:column;
  overflow:hidden;background:#030304;
}
.auth-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;
  filter:saturate(1.05);
}
.auth-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(3,3,4,.55) 0%, rgba(3,3,4,.35) 30%, rgba(3,3,4,.9) 100%);
}
.auth-topbar{
  position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;
  padding:22px clamp(20px,5vw,60px);
}
.auth-topbar .brand{font-weight:800;font-size:19px;color:var(--ink)}
.auth-topbar .brand .dot{color:var(--blue)}
.auth-topbar a.back{font-size:13.5px;color:var(--ink-dim);font-weight:600}

.auth-shell{
  position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;
  padding:10px clamp(16px,5vw,40px) 50px;
}

.auth-card{
  width:100%;max-width:400px;padding:30px 26px;
  background:rgba(20,23,34,.55);
  backdrop-filter:blur(24px) saturate(1.3);
  -webkit-backdrop-filter:blur(24px) saturate(1.3);
  border:1px solid rgba(255,255,255,.18);
  border-radius:26px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}

.auth-brand-row{
  display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;letter-spacing:.05em;
  color:var(--blue);text-transform:uppercase;margin-bottom:18px;
}

.auth-card h1{font-size:24px;font-weight:800;color:var(--ink);margin-bottom:6px}
.auth-card .sub{font-size:13.5px;color:var(--ink-dim);margin-bottom:24px}

.auth-field{position:relative;margin-bottom:16px}
.auth-field input{
  width:100%;padding:21px 44px 8px 14px;border-radius:14px;font-family:inherit;font-size:15px;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:var(--ink);
  outline:none;transition:border-color .2s ease,background .2s ease;
}
.auth-field input:focus{border-color:var(--blue);background:rgba(255,255,255,.09)}
.auth-field label{
  position:absolute;inset-inline-start:14px;top:20px;transform:translateY(-50%);
  font-size:14px;color:var(--ink-faint);font-weight:600;pointer-events:none;
  transition:top .15s ease,font-size .15s ease,color .15s ease;
}
.auth-field input:focus+label,
.auth-field input:not(:placeholder-shown)+label{
  top:12px;font-size:10.5px;font-weight:800;color:var(--blue);
}
.auth-field .eye-toggle{
  position:absolute;inset-inline-end:12px;top:21px;transform:translateY(-50%);
  color:var(--ink-faint);cursor:pointer;display:flex;background:none;border:0;padding:0;
}

.auth-row{display:flex;align-items:center;justify-content:space-between;margin:2px 0 18px;font-size:12.5px}
.auth-check{display:flex;align-items:center;gap:7px;color:var(--ink-dim)}
.auth-check input{width:15px;height:15px;accent-color:var(--blue)}
.auth-row a{color:var(--blue);font-weight:600}

.auth-submit{
  width:100%;padding:13px 0;border-radius:14px;font-family:inherit;font-size:15px;font-weight:800;
  color:#fff;background:linear-gradient(135deg,var(--blue),#4fa8ff);cursor:pointer;
  box-shadow:0 10px 24px rgba(10,132,255,.28);transition:transform .12s ease;
}
.auth-submit:active{transform:scale(.98)}

.auth-status{text-align:center;font-size:12px;color:var(--ink-faint);margin-top:10px;min-height:16px}

.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--ink-faint);font-size:12px}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--glass-border)}

.auth-social{display:flex;gap:10px}
.auth-social button{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  padding:11px 0;border-radius:14px;font-family:inherit;font-size:13.5px;font-weight:700;
  background:rgba(255,255,255,.07);color:var(--ink);border:1px solid rgba(255,255,255,.14);cursor:pointer;
  transition:background .2s ease;
}
.auth-social button:hover{background:rgba(255,255,255,.12)}
.auth-social img{width:17px;height:17px}
.auth-social .apple-icon{width:17px;height:17px;fill:var(--ink)}

.auth-switch{text-align:center;margin-top:20px;font-size:13px;color:var(--ink-dim)}
.auth-switch a{color:var(--blue);font-weight:700}

@media (max-width:480px){
  .auth-card{padding:26px 20px}
}
