.auth-layout{background:var(--bg-app);min-height:100vh;display:flex}.auth-theme-toggle{top:var(--space-5);right:var(--space-5);z-index:50;position:fixed}.auth-left{padding:var(--space-8);background:var(--bg-surface);z-index:10;box-shadow:var(--shadow-popover);flex-direction:column;flex:1;justify-content:center;display:flex}.auth-left-inner{width:100%;max-width:400px;margin:0 auto;animation:.45s cubic-bezier(.16,1,.3,1) both authIn}@keyframes authIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.auth-left-inner{animation:none}}.auth-right{background:radial-gradient(ellipse 60% 50% at 20% 0%, #7c3aed1a, transparent 70%), radial-gradient(ellipse 60% 50% at 90% 100%, #0ea5e914, transparent 70%), var(--primary-tint);padding:var(--space-8);flex-direction:column;flex:1;justify-content:center;align-items:center;display:none;position:relative;overflow:hidden}@media (min-width:1024px){.auth-right{display:flex}}.auth-logo{align-items:center;gap:var(--space-2);color:var(--text-primary);margin-bottom:var(--space-8);font-size:24px;font-weight:700;text-decoration:none;display:inline-flex}.auth-logo span{color:var(--primary)}.auth-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);margin-bottom:var(--space-2);font-size:32px;font-weight:700}.auth-subtitle{color:var(--text-secondary);margin-bottom:var(--space-7);font-size:14px}.auth-error{align-items:flex-start;gap:var(--space-2);border-radius:var(--radius-input);background:var(--danger-bg);color:var(--danger);border:1px solid #dc262633;padding:12px 14px;font-size:14px;animation:.2s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-form{gap:var(--space-5);flex-direction:column;display:flex}.auth-input-icon-wrap{position:relative}.auth-input-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-input-right-icon{color:var(--text-muted);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.auth-input-icon-wrap .input{height:48px;padding-left:40px;padding-right:40px}.auth-card{background:var(--bg-surface);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:0 8px 24px -8px #4f46e52e, var(--shadow-card);margin-bottom:var(--space-6);z-index:10;border:1px solid #fffc;width:100%;max-width:360px;transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s ease-out}.auth-card:hover{box-shadow:0 16px 32px -8px #4f46e53d, var(--shadow-card);transform:translateY(-3px)}.auth-card-title{align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-default);padding-bottom:var(--space-3);margin-bottom:var(--space-4);font-size:18px;font-weight:700;display:flex}.auth-card-list{gap:var(--space-3);flex-direction:column;display:flex}.auth-card-item{align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:14px;font-weight:500;display:flex}.auth-divider{text-align:center;color:var(--text-muted);margin:var(--space-6) 0;align-items:center;font-size:14px;font-weight:500;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-default);flex:1}.auth-divider:before{margin-right:var(--space-4)}.auth-divider:after{margin-left:var(--space-4)}.role-selector{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.role-option{border:1px solid var(--border-default);padding:var(--space-3);text-align:center;cursor:pointer;background:var(--bg-surface);border-radius:12px;flex-direction:column;align-items:center;transition:all .15s;display:flex;position:relative}.role-option:hover{border-color:#4f46e566;transform:translateY(-1px);box-shadow:0 2px 8px #1018280f}.role-option-active{border-color:var(--primary);background:var(--primary-tint);box-shadow:0 0 0 3px #4f46e51f}.role-option-active svg{color:var(--primary)}.role-option svg{margin-bottom:var(--space-2);color:var(--text-muted)}.role-title{color:var(--text-primary);margin-bottom:4px;font-size:12px;font-weight:700}.role-desc{color:var(--text-secondary);font-size:10px;line-height:1.2}.auth-bg-pattern{opacity:.1;background-image:radial-gradient(var(--primary) 1px, transparent 1px);background-size:16px 16px;position:absolute;inset:0}
