.rs-v3.auth-shell{--rv-font-sans:var(--font-sans);--rv-font-mono:var(--font-mono);--rv-bg:var(--bg-canvas);--rv-bg-elev:var(--bg-elev);--rv-fg:var(--fg);--rv-fg-muted:var(--fg-muted);--rv-fg-faint:var(--fg-faint);--rv-border:var(--border);--rv-border-strong:var(--border-strong);--rv-accent:var(--accent);--rv-accent-deep:#d94511;--rv-accent-soft:var(--accent-soft);--rv-accent-glow:var(--accent-ring);--rv-shadow-lg:var(--shadow-lg);min-height:100vh;padding:32px 24px;display:grid;place-items:center;position:relative;overflow:hidden;background:var(--rv-bg);color:var(--rv-fg);font-family:var(--rv-font-sans);font-feature-settings:"ss01";text-rendering:optimizeLegibility}.rs-v3.auth-shell h1,.rs-v3.auth-shell p{margin:0}.rs-v3.auth-shell a{color:inherit;text-decoration:none}.rs-v3.auth-shell:before{inset:0;background-image:linear-gradient(90deg,rgba(10,10,15,.05) 1px,transparent 0),linear-gradient(180deg,rgba(10,10,15,.05) 1px,transparent 0);background-size:56px 56px;mask-image:radial-gradient(ellipse 70% 60% at 50% 38%,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 38%,#000 30%,transparent 80%)}.rs-v3.auth-shell:after,.rs-v3.auth-shell:before{content:"";position:absolute;pointer-events:none;z-index:0}.rs-v3.auth-shell:after{width:520px;height:520px;border-radius:50%;background:var(--rv-accent-soft);filter:blur(120px);opacity:.55;top:-140px;left:50%;transform:translateX(-50%)}.rs-v3.auth-shell>*{position:relative;z-index:1}.rs-v3.auth-shell .auth-card{width:100%;max-width:440px;min-width:0;background:var(--rv-bg-elev);border:1px solid var(--rv-border);border-radius:24px;padding:36px;box-shadow:var(--rv-shadow-lg)}.rs-v3.auth-shell .auth-card.wide{max-width:600px}.rs-v3.auth-shell .auth-logo{display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;color:var(--rv-fg);font-weight:600;font-size:16px;letter-spacing:-.02em}.rs-v3.auth-shell .auth-logo .mark{width:28px;height:28px;border-radius:8px;background:var(--rv-fg);position:relative;flex-shrink:0}.rs-v3.auth-shell .auth-logo .mark:before{content:"";position:absolute;left:5px;right:5px;bottom:6px;top:9px;background:var(--rv-accent);clip-path:polygon(0 100%,100% 0,100% 100%)}.rs-v3.auth-shell .auth-head{margin-bottom:22px}.rs-v3.auth-shell .eyebrow{font-family:var(--rv-font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-fg-muted);font-weight:500;display:inline-flex;align-items:center;gap:9px;margin-bottom:12px}.rs-v3.auth-shell .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--rv-accent);box-shadow:0 0 0 4px var(--rv-accent-glow)}.rs-v3.auth-shell .h3{font-family:var(--rv-font-sans);font-weight:600;font-size:clamp(22px,2.4vw,32px);line-height:1.05;letter-spacing:-.02em}.rs-v3.auth-shell .h3 .it{font-family:inherit;font-style:normal;font-weight:400;color:var(--rv-accent);letter-spacing:-.025em}.rs-v3.auth-shell .auth-head .sub{margin-top:10px;font-size:15px;line-height:1.45;color:var(--rv-fg-muted);font-weight:400}.rs-v3.auth-shell .auth-form{display:grid;gap:12px}.rs-v3.auth-shell .auth-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.rs-v3.auth-shell .auth-row.tri{grid-template-columns:1.3fr .9fr .9fr}.rs-v3.auth-shell .auth-provider-note{color:var(--rv-fg-muted);font-size:13px;line-height:1.55}.rs-v3.auth-shell .input{background:var(--rv-bg-elev);border:1px solid var(--rv-border);border-radius:12px;color:var(--rv-fg);font-family:inherit;font-size:14.5px;height:44px;padding:0 14px;width:100%;min-width:0;transition:border-color .15s,box-shadow .15s,background .15s}.rs-v3.auth-shell .input:focus{border-color:var(--rv-accent);box-shadow:0 0 0 3px var(--rv-accent-glow);outline:none}.rs-v3.auth-shell .input::placeholder{color:var(--rv-fg-faint)}.rs-v3.auth-shell .btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--rv-border-strong);background:var(--rv-bg-elev);color:var(--rv-fg);font-size:15px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,transform .15s,color .15s;font-family:inherit;text-decoration:none}.rs-v3.auth-shell .btn:hover{background:var(--rv-fg);color:#fff;border-color:var(--rv-fg);transform:translateY(-1px)}.rs-v3.auth-shell .btn-accent{background:var(--rv-accent);color:#fff;border-color:var(--rv-accent-deep);box-shadow:0 6px 18px var(--rv-accent-glow)}.rs-v3.auth-shell .btn-accent:hover{background:var(--rv-accent-deep);border-color:var(--rv-accent-deep);color:#fff}.rs-v3.auth-shell .btn-lg{height:52px;padding:0 24px;font-size:15.5px;width:100%;justify-content:center}.rs-v3.auth-shell .btn:disabled,.rs-v3.auth-shell .btn:disabled:hover{cursor:not-allowed;opacity:.65;transform:none}.rs-v3.auth-shell :is(button,a):focus-visible{outline:2px solid var(--rv-accent-deep);outline-offset:4px}.rs-v3.auth-shell .auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0 4px;font-family:var(--rv-font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-fg-faint)}.rs-v3.auth-shell .auth-divider:after,.rs-v3.auth-shell .auth-divider:before{content:"";flex:1;height:1px;background:var(--rv-border)}.rs-v3.auth-shell .auth-msg{font-size:13px;line-height:1.5;margin:14px 0 0;padding:10px 14px;border-radius:12px;font-family:var(--rv-font-sans);overflow-wrap:anywhere}.rs-v3.auth-shell .auth-msg--err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.rs-v3.auth-shell .auth-msg--ok{background:rgba(22,163,74,.08);color:#166534;border:1px solid rgba(22,163,74,.28)}.rs-v3.auth-shell .auth-foot{margin-top:24px;font-family:var(--rv-font-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--rv-fg-muted);display:flex;gap:14px;flex-wrap:wrap;align-items:center}.rs-v3.auth-shell .auth-foot .sep{opacity:.45}.rs-v3.auth-shell .auth-foot a{color:var(--rv-accent);font-weight:600;display:inline-flex;align-items:center;gap:4px}.rs-v3.auth-shell .auth-foot a:hover{color:var(--rv-accent-deep)}@media (max-width:720px){.rs-v3.auth-shell .auth-card{padding:28px;border-radius:20px}.rs-v3.auth-shell .auth-row.tri{grid-template-columns:1fr}}