@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";
@import "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css";
:root{--bg-primary:#070913;--bg-secondary:#0d1127;--card-bg:#0f172aa6;--card-border:#ffffff1f;--card-glow:#6366f140;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-primary:#6366f1;--accent-secondary:#a855f7;--accent-tertiary:#ec4899;--accent-gradient:linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);--accent-glow:0 0 25px #6366f180;--input-bg:#0f172a99;--input-border:#ffffff14;--input-focus-border:#6366f1;--input-focus-glow:0 0 0 4px #6366f133;--success:#10b981;--error:#ef4444;--warning:#f59e0b;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.35s cubic-bezier(.16, 1, .3, 1);--transition-slow:.5s cubic-bezier(.16, 1, .3, 1)}body[data-theme=cyberpunk],.aetheria-wrapper[data-theme=cyberpunk]{--bg-primary:#0a0518;--bg-secondary:#12092b;--card-bg:#140a28b3;--card-border:#ec489940;--card-glow:#ec489959;--accent-primary:#ec4899;--accent-secondary:#8b5cf6;--accent-tertiary:#06b6d4;--accent-gradient:linear-gradient(135deg, #ec4899 0%, #8b5cf6 50%, #06b6d4 100%);--input-focus-border:#ec4899;--input-focus-glow:0 0 0 4px #ec489940}body[data-theme=emerald],.aetheria-wrapper[data-theme=emerald]{--bg-primary:#021a12;--bg-secondary:#052e21;--card-bg:#04261cb3;--card-border:#10b98140;--card-glow:#10b9814d;--accent-primary:#10b981;--accent-secondary:#14b8a6;--accent-tertiary:#3b82f6;--accent-gradient:linear-gradient(135deg, #10b981 0%, #14b8a6 50%, #3b82f6 100%);--input-focus-border:#10b981;--input-focus-glow:0 0 0 4px #10b98140}.aetheria-wrapper{background-color:var(--bg-primary);width:100%;min-height:100vh;color:var(--text-primary);font-family:Plus Jakarta Sans,Inter,-apple-system,BlinkMacSystemFont,sans-serif;transition:background-color .4s;position:relative;overflow-x:hidden}#ambient-canvas{z-index:0;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0}.ambient-orb{filter:blur(120px);opacity:.45;z-index:1;pointer-events:none;border-radius:50%;animation:18s ease-in-out infinite alternate floatOrb;position:fixed}.orb-1{background:var(--accent-primary);width:450px;height:450px;top:-100px;left:-100px}.orb-2{background:var(--accent-secondary);width:500px;height:500px;animation-delay:-6s;bottom:-150px;right:-100px}.orb-3{background:var(--accent-tertiary);opacity:.25;width:350px;height:350px;animation-delay:-12s;top:40%;left:50%;transform:translate(-50%,-50%)}@keyframes floatOrb{0%{transform:translate(0)scale(1)}50%{transform:translate(60px,40px)scale(1.15)}to{transform:translate(-40px,80px)scale(.9)}}.theme-selector{z-index:20;-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-full);border:1px solid var(--card-border);background:#0f172a99;gap:10px;padding:6px;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 10px 30px #0000004d}.theme-btn{cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:6px;display:flex}.theme-btn:hover{transform:scale(1.15)}.theme-btn.active{background:#ffffff26;box-shadow:inset 0 0 8px #ffffff1a}.dot{border-radius:50%;width:16px;height:16px;display:block}.midnight-dot{background:linear-gradient(135deg,#6366f1,#a855f7)}.cyberpunk-dot{background:linear-gradient(135deg,#ec4899,#06b6d4)}.emerald-dot{background:linear-gradient(135deg,#10b981,#3b82f6)}.back-home-btn{z-index:20;-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-full);border:1px solid var(--card-border);color:#c5ceeb;background:#0f172a99;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:all .2s;display:flex;position:fixed;top:24px;left:24px}.back-home-btn:hover{color:#fff;background:#ffffff1f;transform:translateY(-1px)}.toast-container{z-index:100;pointer-events:none;flex-direction:column;gap:12px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;-webkit-backdrop-filter:blur(20px);border:1px solid var(--card-border);border-radius:var(--radius-md);background:#0f172ae6;align-items:center;gap:12px;min-width:320px;max-width:440px;padding:14px 18px;animation:.4s cubic-bezier(.16,1,.3,1) forwards toastIn;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000080}.toast.toast-exit{animation:.3s cubic-bezier(.16,1,.3,1) forwards toastOut}.toast-icon{flex-shrink:0;font-size:1.25rem}.toast.success .toast-icon{color:var(--success)}.toast.error .toast-icon{color:var(--error)}.toast.info .toast-icon{color:var(--accent-primary)}.toast-content{flex:1}.toast-title{color:var(--text-primary);font-size:.875rem;font-weight:600}.toast-desc{color:var(--text-secondary);margin-top:2px;font-size:.775rem}.toast-progress{background:var(--accent-gradient);width:100%;height:3px;animation:4s linear forwards toastProgress;position:absolute;bottom:0;left:0}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-15px)scale(.95)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.app-container{z-index:2;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex;position:relative}.auth-card{background:var(--card-bg);-webkit-backdrop-filter:blur(28px)saturate(190%);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:100%;max-width:460px;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);padding:40px 36px;position:relative;overflow:hidden;box-shadow:0 30px 60px -12px #0000008f,0 18px 36px -18px #0006,inset 0 1px #ffffff26}.auth-card:before{content:"";background:var(--accent-gradient);opacity:.9;height:3px;position:absolute;top:0;left:0;right:0}.brand-header{text-align:center;margin-bottom:28px}.brand-logo{align-items:center;gap:12px;margin-bottom:10px;display:inline-flex}.logo-icon-wrapper{background:var(--accent-gradient);width:44px;height:44px;box-shadow:var(--accent-glow);border-radius:12px;justify-content:center;align-items:center;display:flex}.logo-icon{color:#fff;font-size:1.35rem}.brand-name{letter-spacing:-.03em;color:var(--text-primary);font-size:1.75rem;font-weight:800}.brand-dot{color:var(--accent-primary)}.brand-tagline{color:var(--text-secondary);font-size:.885rem;font-weight:400}.auth-tabs{border:1px solid var(--input-border);border-radius:var(--radius-md);background:#0f172a80;margin-bottom:28px;padding:4px;display:flex;position:relative}.tab-btn{color:var(--text-secondary);cursor:pointer;z-index:2;transition:color var(--transition-fast);text-align:center;background:0 0;border:none;flex:1;padding:10px 16px;font-size:.885rem;font-weight:600}.tab-btn.active{color:var(--text-primary)}.tab-indicator{border-radius:calc(var(--radius-md) - 3px);width:calc(50% - 4px);height:calc(100% - 8px);transition:transform var(--transition-normal);z-index:1;background:#ffffff14;border:1px solid #ffffff1a;position:absolute;top:4px;left:4px}.auth-form{opacity:0;flex-direction:column;gap:20px;transition:opacity .3s,transform .3s;display:none;transform:translateY(10px)}.auth-form.active{opacity:1;display:flex;transform:translateY(0)}.input-group{flex-direction:column;gap:7px;display:flex;position:relative}.label-row{justify-content:space-between;align-items:center;display:flex}.input-group label{color:var(--text-secondary);letter-spacing:.01em;font-size:.8125rem;font-weight:600}.forgot-link{color:var(--accent-primary);transition:color var(--transition-fast);cursor:pointer;font-size:.8125rem;font-weight:600;text-decoration:none}.forgot-link:hover{color:var(--accent-secondary);text-decoration:underline}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);transition:color var(--transition-fast);pointer-events:none;font-size:1rem;position:absolute;left:14px}.input-wrapper input[type=text],.input-wrapper input[type=email],.input-wrapper input[type=password]{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);width:100%;height:48px;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);outline:none;padding:0 44px;font-family:inherit;font-size:.935rem}.input-wrapper input::placeholder{color:var(--text-muted);font-weight:400}.input-wrapper input:focus{border-color:var(--input-focus-border);box-shadow:var(--input-focus-glow);background:#0f172ad9}.input-wrapper input:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--accent-primary)}.status-icon{font-size:.95rem;display:none;position:absolute;right:14px}.input-group.success input{border-color:var(--success)}.input-group.success .success-icon{color:var(--success);display:block}.input-group.error input{border-color:var(--error);box-shadow:0 0 0 4px #ef444426}.input-group.error .error-icon{color:var(--error);display:block}.error-text{color:var(--error);margin-top:2px;font-size:.775rem;display:none}.input-group.error .error-text{animation:.3s shake;display:block}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}.toggle-password{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:1rem;display:flex;position:absolute;right:14px}.toggle-password:hover{color:var(--text-primary)}.strength-meter{flex-direction:column;gap:6px;margin-top:6px;display:flex}.meter-bars{gap:6px;height:4px;display:flex}.meter-bars .bar{height:100%;transition:background-color var(--transition-fast);background:#ffffff1a;border-radius:2px;flex:1}.strength-text{color:var(--text-muted);font-size:.75rem}.req-checklist{flex-direction:column;gap:4px;margin-top:4px;display:flex}.req-item{color:var(--text-muted);transition:color var(--transition-fast);align-items:center;gap:6px;font-size:.75rem;display:flex}.req-item.met,.req-item.met i{color:var(--success)}.form-options{justify-content:space-between;align-items:center;display:flex}.custom-checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:inline-flex}.custom-checkbox input{display:none}.checkmark{border:1px solid var(--input-border);background:var(--input-bg);width:18px;height:18px;transition:var(--transition-fast);border-radius:5px;justify-content:center;align-items:center;display:flex}.checkmark i{color:#fff;opacity:0;transition:var(--transition-fast);font-size:.65rem;transform:scale(.5)}.custom-checkbox input:checked~.checkmark{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:0 0 10px #6366f166}.custom-checkbox input:checked~.checkmark i{opacity:1;transform:scale(1)}.checkbox-label{color:var(--text-secondary);font-size:.8125rem}.inline-link{color:var(--accent-primary);transition:color var(--transition-fast);cursor:pointer;font-weight:600;text-decoration:none}.inline-link:hover{color:var(--accent-secondary);text-decoration:underline}.submit-btn{background:var(--accent-gradient);border-radius:var(--radius-md);color:#fff;cursor:pointer;width:100%;height:50px;box-shadow:var(--accent-glow);transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;justify-content:center;align-items:center;gap:10px;font-family:inherit;font-size:.935rem;font-weight:700;display:flex;position:relative;overflow:hidden}.submit-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff40,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px #6366f199}.submit-btn:hover:after{left:100%}.submit-btn:active{transform:translateY(0)}.submit-btn.loading{pointer-events:none;opacity:.85}.submit-btn.loading .btn-text,.submit-btn.loading .btn-icon{display:none}.submit-btn.loading .btn-spinner{display:block}.btn-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:none}@keyframes spin{to{transform:rotate(360deg)}}.secondary-btn{border:1px solid var(--card-border);box-shadow:none;background:#ffffff14}.secondary-btn:hover{background:#ffffff26;box-shadow:0 6px 20px #0000004d}.divider{text-align:center;align-items:center;margin:6px 0;display:flex}.divider:before,.divider:after{content:"";border-bottom:1px solid var(--input-border);flex:1}.divider span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:0 14px;font-size:.75rem;font-weight:600}.social-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.social-btn{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);height:44px;color:var(--text-primary);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;gap:8px;font-family:inherit;font-size:.8125rem;font-weight:600;display:flex}.social-btn:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px)}.social-svg{width:18px;height:18px}.social-icon{font-size:1.1rem}.footer-note{text-align:center;color:var(--text-secondary);margin-top:4px;font-size:.8125rem}.form-description{color:var(--text-secondary);text-align:center;margin-bottom:6px;font-size:.85rem;line-height:1.5}.back-to-login{text-align:center;margin-top:6px}.back-link{color:var(--text-secondary);transition:color var(--transition-fast);cursor:pointer;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--text-primary)}.dashboard-view{text-align:center;flex-direction:column;align-items:center;animation:.5s fadeIn;display:none}.dashboard-view.active{display:flex}.success-avatar{border:2px solid var(--success);width:72px;height:72px;color:var(--success);background:linear-gradient(135deg,#10b98133,#10b98166);border-radius:50%;justify-content:center;align-items:center;margin-bottom:16px;font-size:2rem;animation:2s infinite pulseGlow;display:flex;box-shadow:0 0 30px #10b98166}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #10b9814d}50%{box-shadow:0 0 35px #10b98199}}.dash-title{color:#fff;margin-bottom:6px;font-size:1.35rem;font-weight:700}.dash-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.dash-badge{border-radius:var(--radius-full);color:var(--success);background:#10b9811f;border:1px solid #10b9814d;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:.775rem;font-weight:600;display:inline-flex}.dash-stats{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;margin-bottom:28px;display:grid}.stat-card{background:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--radius-md);flex-direction:column;gap:4px;padding:14px 10px;display:flex}.stat-val{color:var(--text-primary);font-size:1rem;font-weight:700}.stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.app-footer{color:var(--text-muted);text-align:center;margin-top:24px;font-size:.75rem}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:480px){.auth-card{border-radius:20px;padding:30px 22px}.brand-name{font-size:1.5rem}.social-grid,.dash-stats{grid-template-columns:1fr}}
