.login-container{background-color:var(--color-bg-primary);width:100%;min-height:100vh;padding:var(--spacing-md);box-sizing:border-box;font-family:var(--font-family);background-image:radial-gradient(at 0 0,#6366f114 0,#0000 50%),radial-gradient(at 100% 100%,#8b5cf614 0,#0000 50%);justify-content:center;align-items:center;display:flex}.login-card{-webkit-backdrop-filter:blur(16px)saturate(120%);border-radius:var(--radius-xl);width:100%;max-width:440px;padding:var(--spacing-2xl) var(--spacing-xl);box-shadow:var(--shadow-xl), 0 0 40px #6366f10d;box-sizing:border-box;background-color:#1e293bb3;border:1px solid #ffffff14;animation:.6s cubic-bezier(.16,1,.3,1) forwards card-entrance}@keyframes card-entrance{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-header{text-align:center;margin-bottom:var(--spacing-2xl)}.login-logo-container{margin:0 auto var(--spacing-md) auto;perspective:1000px;justify-content:center;align-items:center;display:flex}.login-logo-img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 6px 16px #00000073);width:250px;max-width:100%;height:auto;transition:transform .3s cubic-bezier(.16,1,.3,1),filter .3s}.login-logo-img:hover{filter:drop-shadow(0 8px 24px #6366f159);transform:scale(1.03)}.login-title{font-size:var(--font-size-2xl);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0;letter-spacing:-.025em;font-weight:700}.login-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.login-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-primary);letter-spacing:.01em;font-weight:500}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{left:var(--spacing-md);color:var(--color-text-muted);pointer-events:none;transition:color var(--transition-fast);position:absolute}.login-input{border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);box-sizing:border-box;background-color:#0f172a99;padding:.8rem 1rem .8rem 2.8rem;font-family:inherit}.login-input:focus{border-color:var(--color-primary);background-color:#0f172acc;outline:none;box-shadow:0 0 0 3px #6366f126,0 4px 12px #0003}.login-input:focus+.input-icon{color:var(--color-primary)}.submit-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));border-radius:var(--radius-lg);width:100%;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);border:none;padding:.85rem;font-weight:600;display:flex;box-shadow:0 4px 12px #6366f140}.submit-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 6px 16px #6366f159,0 0 15px #6366f11a}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none}.spinner{border-radius:var(--radius-full);border:2px solid #ffffff4d;border-top-color:var(--color-text-primary);width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-alert{align-items:flex-start;gap:var(--spacing-sm);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:#ef44441a;border:1px solid #ef444433;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-in;display:flex}.error-icon{color:var(--color-error);flex-shrink:0;margin-top:1px}.error-message{font-size:var(--font-size-sm);color:#fca5a5;margin:0;font-weight:500;line-height:1.4}.warning-alert{align-items:flex-start;gap:var(--spacing-sm);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:#f59e0b1a;border:1px solid #f59e0b40;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-in;display:flex}.warning-icon{color:#fbbf24;flex-shrink:0;margin-top:1px}.warning-message{font-size:var(--font-size-sm);color:#fde68a;margin:0;font-weight:500;line-height:1.4}.info-alert{align-items:flex-start;gap:var(--spacing-sm);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:#6366f11a;border:1px solid #6366f140;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-in;display:flex}.info-icon{color:#818cf8;flex-shrink:0;margin-top:1px}.info-message{font-size:var(--font-size-sm);color:#c7d2fe;margin:0;font-weight:500;line-height:1.4}@keyframes slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.login-footer{text-align:center;margin-top:var(--spacing-2xl);font-size:var(--font-size-xs);color:var(--color-text-muted)}.login-divider{text-align:center;color:var(--color-text-muted);font-size:var(--font-size-xs);margin:var(--spacing-lg) 0;align-items:center;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #ffffff14;flex:1}.login-divider:not(:empty):before{margin-right:.5em}.login-divider:not(:empty):after{margin-left:.5em}.google-signin-wrapper{box-sizing:border-box;justify-content:center;width:100%;display:flex}#google-signin-btn-container{justify-content:center;width:100%;margin-top:4px;display:flex}.auth-nav{text-align:center;margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.auth-link{color:var(--color-primary);cursor:pointer;transition:color var(--transition-fast);margin-left:4px;font-weight:600;text-decoration:none}.auth-link:hover{color:var(--color-primary-hover);text-decoration:underline}.success-alert{align-items:flex-start;gap:var(--spacing-sm);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);background-color:#10b9811a;border:1px solid #10b98133;animation:.3s cubic-bezier(.16,1,.3,1) forwards slide-in;display:flex}.success-icon{color:#34d399;flex-shrink:0;margin-top:1px}.success-message{font-size:var(--font-size-sm);color:#a7f3d0;margin:0;font-weight:500;line-height:1.4}.code-input-wrapper{margin:var(--spacing-md) 0;justify-content:center;display:flex}.code-input{letter-spacing:8px;width:100%;max-width:220px;font-size:var(--font-size-2xl);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#0f172a99;padding:.8rem;font-weight:700}.code-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6366f126}
