/* auth.css */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);position:relative;overflow:hidden;padding:var(--sp-lg)}
.auth-bg .orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;animation:orbFloat 8s ease-in-out infinite}
.orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--primary),transparent);top:-150px;left:-150px;opacity:.2;animation-delay:0s}
.orb-2{width:400px;height:400px;background:radial-gradient(circle,var(--secondary),transparent);bottom:-100px;right:-100px;opacity:.2;animation-delay:3s}
.orb-3{width:300px;height:300px;background:radial-gradient(circle,var(--accent),transparent);top:50%;left:50%;transform:translate(-50%,-50%);opacity:.08;animation-delay:6s}
@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(25px,-25px) scale(1.04)}66%{transform:translate(-15px,15px) scale(.96)}}
.auth-wrap{position:relative;z-index:1;width:100%;max-width:450px}
.auth-card{border-radius:var(--r-xl);padding:2.5rem 2rem;box-shadow:var(--shadow-lg),var(--glow);animation:cardIn .5s cubic-bezier(.34,1.56,.64,1)}
@keyframes cardIn{from{opacity:0;transform:translateY(28px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.auth-logo{display:flex;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-xl)}
.auth-logo img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid rgba(108,75,255,.4);box-shadow:0 0 18px rgba(108,75,255,.3);flex-shrink:0}
.auth-logo-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--text-1);line-height:1.2}
.auth-logo-sub{font-size:.75rem;color:var(--secondary);margin-top:2px;font-weight:500;letter-spacing:.03em}
.auth-tabs{display:flex;background:var(--bg-input);border-radius:var(--r-md);padding:3px;margin-bottom:var(--sp-xl)}
.auth-tab{flex:1;padding:8px;border:none;background:transparent;color:var(--text-3);font-size:.875rem;font-weight:500;border-radius:calc(var(--r-md) - 3px);transition:all var(--t-mid);cursor:pointer}
.auth-tab.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(108,75,255,.4)}
.auth-form{animation:fadeIn .3s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.auth-hint{text-align:center;font-size:.75rem;color:var(--text-3);margin-top:var(--sp-md);padding:8px var(--sp-md);background:rgba(108,75,255,.08);border-radius:var(--r-sm);border:1px solid rgba(108,75,255,.15)}
.auth-desc{font-size:.875rem;color:var(--text-2);margin-bottom:var(--sp-lg);line-height:1.7}
.otp-input{letter-spacing:.5em;text-align:center;font-size:1.3rem;font-weight:700}
.btn-spin{animation:spin .7s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
