.auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); }
.auth-story { padding:clamp(28px,6vw,80px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; position:relative; }
.auth-story:before { content:""; position:absolute; width:420px;height:420px;border:1px solid color-mix(in srgb,var(--primary) 45%,transparent);border-radius:50%;right:-120px;bottom:-150px;box-shadow:0 0 0 28px color-mix(in srgb,var(--primary) 5%,transparent),0 0 0 60px color-mix(in srgb,var(--primary) 4%,transparent),0 0 0 100px color-mix(in srgb,var(--primary) 3%,transparent); }
.brand { display:flex; align-items:center; gap:11px; font-weight:900; font-size:1.4rem; letter-spacing:-.04em; }
.brand-mark-small { width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:white; }
.auth-headline { position:relative; max-width:590px; margin:70px 0; }
.auth-headline h1 { font-size:clamp(2.5rem,5.5vw,5rem); line-height:1.02; letter-spacing:-.065em; margin:0 0 20px; }
.gradient-text { background:linear-gradient(100deg,#83a5ff,#b6a0ff); color:transparent; background-clip:text; }
.auth-headline p { max-width:460px; color:var(--muted); font-size:1.08rem; line-height:1.8; }
.auth-foot { position:relative; color:var(--muted); font-size:.82rem; }
.auth-panel { display:grid; place-items:center; padding:28px; }
.auth-card { width:min(100%,430px); padding:clamp(24px,4vw,38px); }
.auth-card h2 { margin:0 0 8px; font-size:1.7rem; letter-spacing:-.04em; }
.auth-card .sub { color:var(--muted); margin:0 0 25px; font-size:.92rem; }
.auth-links { display:flex; justify-content:space-between; gap:12px; margin:10px 0 20px; font-size:.85rem; color:var(--muted); }
.text-link { color:var(--primary); font-weight:750; }
.divider-label { display:flex; align-items:center; gap:12px; color:var(--muted); font-size:.8rem; margin:18px 0; }
.divider-label:before,.divider-label:after { content:""; height:1px; background:var(--border); flex:1; }
.auth-bottom { margin-top:22px; text-align:center; color:var(--muted); font-size:.9rem; }
.auth-tools { display:flex; gap:8px; }
@media(max-width:780px) { .auth-shell { grid-template-columns:1fr; } .auth-story { padding:22px 24px 0; } .auth-headline { margin:42px 0 20px; } .auth-headline h1 { font-size:clamp(2.4rem,11vw,4rem); } .auth-foot { display:none; } .auth-panel { padding:18px; align-items:start; } }
