@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap");:root{--bg-primary:#0a0a0a;--bg-secondary:#141414;--bg-card:hsla(0,0%,100%,.03);--text-primary:#fff;--text-secondary:#a0a0a0;--accent:#f53d5a;--accent-hover:#ff526d;--accent-glow:rgba(245,61,90,.3);--border:hsla(0,0%,100%,.08);--success:#10b981;--warning:#f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 24px}.glass-panel{background:var(--bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px}.btn-primary{background:var(--accent);color:#fff;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 14px var(--accent-glow)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}.btn-secondary{background:transparent;color:var(--text-primary);padding:12px 24px;border-radius:8px;font-weight:500;border:1px solid var(--border);transition:all .3s ease}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-secondary)}.gradient-text{background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:100%;max-width:400px;padding:32px;position:relative;animation:modal-fade-in .3s ease-out forwards}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;font-size:24px;color:var(--text-secondary);transition:color .2s ease}.modal-close:hover{color:var(--text-primary)}.modal-title{margin-bottom:24px;font-size:24px;font-weight:600;text-align:center}.auth-form{gap:16px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{font-size:14px;color:var(--text-secondary);font-weight:500}.form-group input{background:hsla(0,0%,100%,.05);border:1px solid var(--border);border-radius:8px;padding:12px 16px;color:var(--text-primary);font-size:16px;outline:none;transition:border-color .2s ease,background .2s ease}.form-group input:focus{border-color:var(--accent);background:hsla(0,0%,100%,.08)}.auth-submit{margin-top:16px;width:100%}.auth-toggle{text-align:center;margin-top:16px;font-size:14px;color:var(--text-secondary)}.auth-toggle span{color:var(--accent);cursor:pointer;font-weight:500;transition:color .2s ease}.auth-toggle span:hover{color:#ff8c66;text-decoration:underline}.auth-error{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px 16px;color:#fca5a5;font-size:14px;display:flex;align-items:center;gap:8px;animation:shake .4s ease-in-out}.error-icon{font-size:16px;flex-shrink:0}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.form-group input:disabled{opacity:.5;cursor:not-allowed}.auth-submit:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.forgot-link-wrapper{text-align:right;margin-top:-8px}.forgot-link{color:var(--accent);font-size:13px;cursor:pointer;font-weight:500;transition:color .2s ease}.forgot-link:hover{color:var(--accent-hover);text-decoration:underline}.forgot-desc{color:var(--text-secondary);font-size:14px;line-height:1.6;text-align:center;margin-bottom:8px}.forgot-desc strong{color:var(--text-primary)}.step-indicator{justify-content:center;gap:0;margin-bottom:24px}.step,.step-indicator{display:flex;align-items:center}.step{flex-direction:column;gap:6px;opacity:.35;transition:opacity .3s ease}.step.active{opacity:1}.step.done{opacity:.6}.step-num{width:32px;height:32px;border-radius:50%;background:hsla(0,0%,100%,.08);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;transition:all .3s ease}.step.active .step-num{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow)}.step.done .step-num{background:var(--success);border-color:var(--success)}.step-label{font-size:11px;color:var(--text-secondary);font-weight:500}.step.active .step-label{color:var(--text-primary)}.step-line{width:40px;height:2px;background:var(--border);margin:0 8px 20px}.otp-input{text-align:center;letter-spacing:12px;font-size:24px!important;font-weight:700;padding:16px!important}.dev-otp-banner{background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(168,85,247,.15));border:1px solid rgba(99,102,241,.3);border-radius:10px;padding:14px 18px;display:flex;flex-direction:column;align-items:center;gap:8px}.dev-label{font-size:12px;color:#a5b4fc;font-weight:500}.dev-otp-code{font-size:28px;font-weight:800;letter-spacing:8px;color:#c4b5fd;font-family:Courier New,monospace}.auth-success{background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.3);border-radius:8px;padding:12px 16px;color:#6ee7b7;font-size:14px;display:flex;align-items:center;gap:8px}.success-icon-sm{font-size:16px;flex-shrink:0}.forgot-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:16px 0}.success-check{font-size:48px;animation:pop-in .5s ease-out}@keyframes pop-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.btn-link{background:none;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:color .2s ease;text-align:center}.btn-link:hover{color:var(--accent);text-decoration:underline}.resend-btn{margin-top:4px}