.login-page{min-height:100vh;background:var(--bg-base)}.login-brand,.login-page{display:flex;overflow:hidden;position:relative}.login-brand{flex:1;align-items:center;justify-content:center;padding:60px;background:linear-gradient(155deg,#0a0a0f,#0f0a1e 40%,#0a0f1e)}.login-brand:before{top:-20%;left:-15%;width:70%;height:80%;background:radial-gradient(ellipse,rgba(124,58,237,.18) 0,transparent 65%);filter:blur(40px);animation:aurora-1 14s ease-in-out infinite}.login-brand:after,.login-brand:before{content:"";position:absolute;pointer-events:none}.login-brand:after{bottom:-15%;right:-10%;width:55%;height:65%;background:radial-gradient(ellipse,rgba(6,182,212,.1) 0,transparent 65%);filter:blur(50px);animation:aurora-2 18s ease-in-out infinite}.login-brand-grid{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0);background-size:48px 48px;pointer-events:none}.login-brand-inner{position:relative;z-index:1;max-width:420px;animation:fadeInUp .7s cubic-bezier(.23,1,.32,1) .1s both}.login-brand-logo{display:flex;align-items:center;gap:12px;margin-bottom:40px}.login-brand-icon{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,#7c3aed,#4f46e5);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;box-shadow:0 8px 24px rgba(124,58,237,.5),inset 0 1px 0 hsla(0,0%,100%,.2)}.login-brand-name{font-size:22px;font-weight:800;color:var(--text-primary);letter-spacing:-.01em}.login-brand-name span{background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-brand-tagline{font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--text-primary);line-height:1.25;margin-bottom:16px;letter-spacing:-.02em}.login-brand-tagline-accent{background:linear-gradient(135deg,#9f67ff,#6b63ff 40%,#06b6d4);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradient-text-shift 4s ease infinite}.login-brand-desc{font-size:15px;color:var(--text-secondary);line-height:1.7;margin-bottom:40px}.login-brand-features{display:flex;flex-direction:column;gap:14px}.login-brand-feature{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--text-secondary)}.login-brand-feature-dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 0 8px rgba(124,58,237,.5);flex-shrink:0}.login-form-area{width:480px;min-width:480px;display:flex;align-items:center;justify-content:center;padding:40px;background:rgba(13,13,20,.95);border-left:1px solid hsla(0,0%,100%,.06);position:relative}.login-form-area:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:radial-gradient(ellipse at 50% -50%,rgba(124,58,237,.08) 0,transparent 70%);pointer-events:none}@media (max-width:960px){.login-page{flex-direction:column}.login-brand{display:none}.login-form-area{width:100%;min-width:0;flex:1;border-left:none}}.login-card{width:100%;max-width:400px;position:relative;z-index:1;animation:fadeInUp .5s cubic-bezier(.23,1,.32,1) both}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#7c3aed,#4f46e5);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;color:#fff;margin:0 auto 16px;box-shadow:0 8px 28px rgba(124,58,237,.45),inset 0 1px 0 hsla(0,0%,100%,.2)}.login-logo h1{font-size:22px;font-weight:800;color:var(--text-primary);margin-bottom:6px;letter-spacing:-.02em}.login-logo h1 span{background:linear-gradient(135deg,#a78bfa,#818cf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo p{color:var(--text-muted);font-size:13px}.login-tabs{display:flex;margin-bottom:28px;background:var(--bg-surface);border-radius:12px;padding:4px;gap:4px}.login-tab{flex:1;padding:9px 16px;background:transparent;border:none;color:var(--text-muted);font-size:14px;font-weight:500;cursor:pointer;border-radius:9px;transition:all .2s cubic-bezier(.34,1.56,.64,1);letter-spacing:.01em}.login-tab:hover{color:var(--text-secondary)}.login-tab.active{color:#fff;background:linear-gradient(135deg,rgba(124,58,237,.9),rgba(79,70,229,.9));box-shadow:0 4px 16px rgba(124,58,237,.3)}.login-form{gap:18px}.login-field,.login-form{display:flex;flex-direction:column}.login-field{gap:7px}.login-label{font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.login-input{width:100%;padding:12px 15px;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;color:var(--text-primary);font-size:14px;transition:all var(--transition);outline:none}.login-input::placeholder{color:var(--text-muted)}.login-input:focus{border-color:rgba(124,58,237,.6);box-shadow:0 0 0 3px rgba(124,58,237,.12),0 0 20px rgba(124,58,237,.08);background:rgba(28,28,39,.8)}.login-submit{width:100%;padding:13px;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition);margin-top:4px;box-shadow:0 4px 20px rgba(124,58,237,.4);letter-spacing:.02em;position:relative;overflow:hidden}.login-submit:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),transparent 50%);opacity:0;transition:opacity var(--transition-fast)}.login-submit:hover:after{opacity:1}.login-submit:hover:not(:disabled){background:linear-gradient(135deg,#9f67ff,#6b63ff);box-shadow:0 6px 28px rgba(124,58,237,.55);transform:translateY(-1px)}.login-submit:active:not(:disabled){transform:translateY(0) scale(.98)}.login-submit:disabled{opacity:.45;cursor:not-allowed;transform:none}.login-error{padding:12px 14px;background:rgba(244,63,94,.08);border:1px solid rgba(244,63,94,.25);border-radius:10px;color:var(--danger);line-height:1.5;animation:scaleIn .2s ease}.login-error,.login-footer{font-size:13px;text-align:center}.login-footer{margin-top:24px;color:var(--text-muted)}.login-footer a{color:#a78bfa;font-weight:500;transition:color var(--transition-fast)}.login-footer a:hover{color:var(--accent-hover)}.login-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted);margin:4px 0}.login-divider:after,.login-divider:before{content:"";flex:1;height:1px;background:var(--border)}