/* HX Chat — Login Page Styles */
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--bg-deepest)}
.login-bg{position:fixed;inset:0;z-index:0;overflow:hidden}
.login-bg .orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;animation:orbFloat 20s ease-in-out infinite}
.login-bg .orb-1{width:500px;height:500px;background:var(--accent-primary);top:-10%;left:-10%;animation-delay:0s}
.login-bg .orb-2{width:400px;height:400px;background:var(--accent-secondary);bottom:-10%;right:-10%;animation-delay:-7s}
.login-bg .orb-3{width:300px;height:300px;background:#9333ea;top:50%;left:50%;animation-delay:-14s}
.login-bg .grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px}

@keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(50px,-30px) scale(1.1)}50%{transform:translate(-20px,50px) scale(0.9)}75%{transform:translate(30px,20px) scale(1.05)}}

.login-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg),0 0 60px rgba(124,58,237,0.1);overflow:hidden;animation:slideUp .6s ease forwards}

.login-card-header{padding:32px 32px 0;text-align:center}
.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}
.login-logo .logo-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;box-shadow:0 4px 20px var(--accent-primary-glow)}
.login-logo h1{font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--text-primary),var(--accent-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.login-subtitle{color:var(--text-muted);font-size:0.8125rem;margin-top:4px}

.login-tabs{display:flex;margin:24px 32px 0;background:var(--bg-deep);border-radius:var(--radius-md);padding:3px;gap:4px}
.login-tab{flex:1;padding:10px;text-align:center;border-radius:6px;font-size:0.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}
.login-tab.active{background:var(--accent-primary);color:#fff;box-shadow:0 2px 8px var(--accent-primary-glow)}
.login-tab:not(.active):hover{color:var(--text-secondary)}

.login-form-container{padding:24px 32px 32px}
.login-form{display:none}
.login-form.active{display:block;animation:fadeIn .3s ease}

.login-form .input-group input{background:var(--bg-deepest);border:1px solid var(--border-subtle)}
.login-form .input-group input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-glow)}

.login-form .btn-primary{width:100%;padding:14px;font-size:0.9375rem;margin-top:8px}

.login-divider{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--text-muted);font-size:0.75rem}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border-subtle)}

.login-footer{text-align:center;font-size:0.8125rem;color:var(--text-muted);margin-top:16px}
.login-footer a{color:var(--accent-primary);font-weight:600}

.login-error{background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.2);border-radius:var(--radius-md);padding:12px;margin-bottom:16px;color:var(--accent-danger);font-size:0.8125rem;display:none;animation:slideUp .3s ease}
.login-error.visible{display:block}

.password-toggle{position:absolute;right:12px;top:34px;color:var(--text-muted);cursor:pointer;font-size:1.125rem;transition:color var(--transition-fast)}
.password-toggle:hover{color:var(--text-primary)}
