/* WS7 sign-in pages (/login, /login/2fa, /signup, /forgot, /reset). Tokens only. */
.auth-body{min-height:100vh}
.auth-wrap{display:grid;grid-template-columns:minmax(340px,44%) minmax(0,1fr);min-height:100vh}
.auth-side{position:relative;overflow:hidden;background:var(--brand-grad);color:var(--on-brand);padding:44px 48px;display:flex;flex-direction:column;gap:28px}
.auth-side::after{content:"";position:absolute;inset:auto -20% -35% auto;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(closest-side,color-mix(in srgb,var(--on-brand) 18%,transparent),transparent);pointer-events:none}
.auth-brand{display:flex;align-items:center;gap:10px;font:800 20px var(--title);color:inherit;letter-spacing:-.01em}
.auth-brand:hover{text-decoration:none}
.auth-brand .mark{width:30px;height:30px;border-radius:9px;background:var(--brand-grad);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--on-brand) 55%,transparent)}
.auth-side .auth-brand .mark{background:color-mix(in srgb,var(--on-brand) 22%,transparent)}
.auth-pitch{margin-top:auto;margin-bottom:auto;max-width:440px}
.auth-pitch h2{font:800 34px/1.15 var(--title);letter-spacing:-.02em;margin-bottom:22px}
.auth-pitch ul{list-style:none;display:flex;flex-direction:column;gap:12px;font-size:15px}
.auth-pitch li{display:flex;gap:11px;align-items:flex-start;line-height:1.45}
.auth-pitch li::before{content:"\2713";flex:none;display:grid;place-items:center;width:19px;height:19px;margin-top:1px;border-radius:50%;
  font-size:11px;font-weight:800;line-height:1;background:color-mix(in srgb,var(--on-brand) 22%,transparent)}
.auth-foot{font-size:12.5px;opacity:.8}
.auth-main{position:relative;display:flex;align-items:center;justify-content:center;padding:40px 24px}
.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:14px}
.auth-card h1{font:800 28px/1.2 var(--title);letter-spacing:-.015em}
.auth-lead{color:var(--muted);margin-top:-6px}
.auth-lead:empty{display:none}
.auth-brand-sm{display:none;color:var(--ink);margin-bottom:6px}
.auth-form{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.auth-form .input{padding:11px 12px;font-size:15px}
.auth-form .btn{padding:12px 16px;font-size:15px;margin-top:4px}
.lbl-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lbl-row a{font-weight:500}
.field .hint{font-weight:400;color:var(--muted);font-size:12.5px}
.field .opt{font-weight:400;color:var(--faint)}
.code-input{font:600 22px var(--nums);letter-spacing:.25em;text-align:center}
.auth-alt{color:var(--muted);font-size:14px;text-align:center;margin-top:6px;line-height:1.7}
.auth-fine{color:var(--muted);font-size:12.5px;text-align:center}
.auth-theme{position:absolute;top:18px;right:20px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:999px;
  padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}
@media (max-width:900px){
  .auth-wrap{grid-template-columns:minmax(0,1fr)}
  .auth-side{display:none}
  .auth-brand-sm{display:flex}
  .auth-main{align-items:flex-start;padding:64px 16px 40px}
}
