.login-page{background:linear-gradient(180deg, var(--color-white) 0%, var(--color-blue-50) 100%);flex-direction:column;justify-content:center;align-items:center;min-height:calc(100dvh - 200px);padding:2rem 2rem 150px;display:flex}.login-card{background:var(--color-elevated);border:1px solid var(--color-border);border-radius:24px;width:100%;max-width:420px;padding:2.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) both card-appear;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000000f,inset 0 0 0 1px #fffc}.register-card{max-width:520px}@keyframes card-appear{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card:before{content:"";background:radial-gradient(ellipse 80% 40% at 50% 0%, var(--color-accent-glow) 0%, transparent 70%);pointer-events:none;position:absolute;inset:0}.mode-toggle{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.5rem;animation:.5s .1s both fade-up;display:flex;position:relative}.toggle-label{color:var(--color-text-muted);font-size:.875rem}.toggle-switch{background:var(--color-surface-alt);border:1px solid var(--color-border);cursor:pointer;border-radius:9999px;gap:.125rem;padding:.25rem;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.toggle-switch:hover{border-color:var(--color-accent);box-shadow:0 0 12px var(--color-accent-dim)}.toggle-option{z-index:2;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;padding:.375rem 1rem;font-size:.8125rem;font-weight:500;transition:color .3s;position:relative}.toggle-option.active{color:var(--color-white)}.toggle-slider{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-blue-400) 100%);z-index:1;border-radius:9999px;width:calc(50% - .25rem);transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:.25rem;bottom:.25rem;left:.25rem;box-shadow:0 2px 8px #2563eb4d}.toggle-slider.slide-right{transform:translate(100%)}.login-header{text-align:center;margin-bottom:2rem;animation:.5s .2s both fade-up;position:relative}.login-header h2{margin-bottom:.5rem;font-size:2rem}.login-subtitle{color:var(--color-text-muted);font-size:.9375rem}.step-cell{background:var(--color-accent-dim);border-radius:12px;align-items:center;gap:1rem;margin-bottom:2rem;padding:.75rem 1rem;animation:.5s cubic-bezier(.34,1.56,.64,1) both step-cell-enter;display:flex;position:relative}@keyframes step-cell-enter{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.step-indicator{background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-blue-400) 100%);border:2px solid var(--color-accent);width:44px;height:44px;color:var(--color-white);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .4s,border-color .4s,box-shadow .4s;display:flex;box-shadow:0 4px 12px #2563eb33}.step-indicator.completed{background:linear-gradient(135deg, var(--color-success) 0%, #059669 100%);border-color:var(--color-success);box-shadow:0 4px 12px #10b9814d}.step-indicator svg{animation:.6s cubic-bezier(.34,1.56,.64,1) icon-bounce}@keyframes icon-bounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.step-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.step-label{color:var(--color-accent);font-size:.9375rem;font-weight:600;transition:color .4s}.step-label.completed{color:var(--color-success)}.step-desc{color:var(--color-text-muted);font-size:.75rem}.step-counter{background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:9999px;flex-shrink:0;padding:.375rem .75rem;font-size:.8125rem;font-weight:600;animation:.4s cubic-bezier(.34,1.56,.64,1) counter-pop}@keyframes counter-pop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.login-form{flex-direction:column;gap:1.25rem;animation:.5s .3s both fade-up;display:flex;position:relative}.error-message{background:var(--color-error-dim);color:var(--color-error);border-radius:12px;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.field-group{flex-direction:column;gap:.375rem;display:flex}.field-label{color:var(--color-text);font-size:.8125rem;font-weight:600}.input-field{transition:border-color .2s,box-shadow .2s,transform .2s}.input-field:focus{transform:translateY(-2px)}.submit-btn{width:100%;margin-top:.5rem;padding:.875rem;font-size:1rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.submit-btn:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.submit-btn:hover:before{transform:translate(100%)}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb4d}.message{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8125rem;font-weight:500;animation:.3s fade-up}.message.error{background:var(--color-error-dim);color:var(--color-error)}.message.success{color:var(--color-success);background:#10b98114}.step-content{min-height:200px;position:relative}.step-panel{flex-direction:column;gap:1.25rem;animation:.4s cubic-bezier(.34,1.56,.64,1) step-enter;display:flex}@keyframes step-enter{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.verified-badge{color:var(--color-success);background:#10b98114;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;display:flex}.password-requirements{flex-direction:column;gap:.5rem;display:flex}.requirement{color:var(--color-text-dim);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.requirement.met{color:var(--color-success)}.req-icon{text-align:center;width:1rem;font-size:.75rem}.section-label{color:var(--color-text);margin:0;font-size:.9375rem;font-weight:600}.plan-select{flex-direction:column;gap:.5rem;display:flex}.plan-option{background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;gap:.125rem;padding:.875rem 1rem;font-family:inherit;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}.plan-option:hover{border-color:var(--color-accent);transform:translateY(-2px)}.plan-option.selected{border-color:var(--color-accent);background:var(--color-accent-dim);transform:scale(1.02);box-shadow:0 4px 16px #2563eb33}.plan-option-name{color:var(--color-text);font-size:.9375rem;font-weight:600}.plan-option-price{color:var(--color-text-muted);font-size:.8125rem}.plan-summary{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem 1.125rem;display:flex}.plan-summary-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.plan-summary-label{color:var(--color-text-muted);font-size:.8125rem;font-weight:500}.plan-summary-value{color:var(--color-text);font-size:.875rem;font-weight:600}.plan-summary-price{color:var(--color-text);font-size:1rem;font-weight:700}.plan-summary-period{color:var(--color-text-muted);margin-left:.125rem;font-size:.8125rem;font-weight:400}.step-description{color:var(--color-text-muted);margin:0;font-size:.8125rem;line-height:1.5}.finix-form-wrapper{flex-direction:column;gap:.75rem;display:flex}.finix-form-container{width:100%;min-height:320px}.finix-status{border-radius:10px;align-items:center;gap:.5rem;padding:.625rem .875rem;font-size:.8125rem;font-weight:500;display:flex}.finix-status--loading{background:var(--color-accent-dim);color:var(--color-accent)}.finix-status--success{color:var(--color-success);background:#10b98114;border:1px solid #10b98133;font-weight:600}.finix-status svg{flex-shrink:0;width:1.125rem;height:1.125rem}.finix-spinner{animation:.8s linear infinite finix-spin}.finix-spinner-track{opacity:.25}.finix-spinner-head{opacity:.85}@keyframes finix-spin{to{transform:rotate(360deg)}}.backup-info{color:var(--color-text-muted);background:#f59e0b14;border:1px solid #f59e0b33;border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;font-size:.8125rem;line-height:1.5;display:flex}.backup-info strong{color:var(--color-warning)}.backup-codes{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.backup-code{background:var(--color-surface);border:1px solid var(--color-border);font-family:var(--font-mono);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;animation:.3s cubic-bezier(.34,1.56,.64,1) both code-appear;display:flex}.backup-code:first-child{animation-delay:0s}.backup-code:nth-child(2){animation-delay:50ms}.backup-code:nth-child(3){animation-delay:.1s}.backup-code:nth-child(4){animation-delay:.15s}.backup-code:nth-child(5){animation-delay:.2s}.backup-code:nth-child(6){animation-delay:.25s}.backup-code:nth-child(7){animation-delay:.3s}.backup-code:nth-child(8){animation-delay:.35s}@keyframes code-appear{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.code-number{color:var(--color-text-dim);min-width:1.25rem;font-size:.75rem}.code-value{color:var(--color-text);letter-spacing:.05em;font-size:.875rem;font-weight:600}.backup-actions{justify-content:center;gap:.75rem;display:flex}.btn-ghost.small,.btn-primary.small{padding:.5rem 1rem;font-size:.8125rem}.verify-intro{color:var(--color-text-muted);font-size:.875rem;line-height:1.5}.verify-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.875rem;transition:all .3s;display:flex}.verify-item.done{opacity:.7;animation:.5s cubic-bezier(.34,1.56,.64,1) verify-done}@keyframes verify-done{0%{transform:scale(1)}50%{background:#10b9811a;transform:scale(1.05)}to{transform:scale(1)}}.verify-prompt{color:var(--color-text)}.verify-status{font-size:.8125rem;font-weight:600}.verify-status.success{color:var(--color-success)}.verify-status.error{color:var(--color-error)}.verify-input-group{align-items:center;gap:.75rem;display:flex}.verify-input-group .input-field{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;flex:1}.verification-code-section{flex-direction:column;gap:1rem;animation:.4s cubic-bezier(.34,1.56,.64,1) step-enter;display:flex}.verification-hint{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.5}.verification-hint strong{color:var(--color-text)}.verification-input-group{align-items:center;gap:.75rem;display:flex}.verification-code-input{text-align:center;flex:1;font-family:var(--font-mono)!important;letter-spacing:.5em!important;padding:.75rem!important;font-size:1.5rem!important}.verification-footer{justify-content:space-between;align-items:center;display:flex}.resend-btn,.change-email-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:.375rem 0;font-family:inherit;font-size:.8125rem;font-weight:500;transition:color .2s,opacity .2s}.resend-btn:hover:not(:disabled),.change-email-btn:hover{color:var(--color-blue-400)}.resend-btn:disabled{color:var(--color-text-dim);cursor:not-allowed;opacity:.6}.change-email-btn{color:var(--color-text-muted)}.change-email-btn:hover{color:var(--color-text)}.step-nav{border-top:1px solid var(--color-border-light);margin-top:1.5rem;padding-top:1.5rem;position:relative}.next-btn{justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem;font-size:1rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden}.next-btn:disabled{background:var(--color-surface-alt);color:var(--color-text-dim);cursor:not-allowed;opacity:.7;box-shadow:none;border:2px dashed var(--color-border)}.next-btn:not(:disabled){background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-blue-400) 100%);border:none}.next-btn:not(:disabled):before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);transition:transform .5s;position:absolute;inset:0;transform:translate(-100%)}.next-btn:not(:disabled):hover:before{transform:translate(100%)}.next-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.code-boxes-container{justify-content:center;gap:.5rem;margin:1rem 0;display:flex}.code-box{text-align:center;width:2.5rem;height:3rem;font-family:var(--font-mono);text-transform:uppercase;background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);caret-color:var(--color-accent);border-radius:10px;font-size:1.25rem;font-weight:600;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.code-box:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim), 0 4px 12px #2563eb33;outline:none;transform:translateY(-2px)}.code-box.filled{background:var(--color-surface-alt);border-color:var(--color-blue-300)}.code-box.correct{border-color:var(--color-success);color:var(--color-success);background:#10b9811a;animation:.4s cubic-bezier(.34,1.56,.64,1) code-success}.code-box.incorrect{border-color:var(--color-error);color:var(--color-error);background:#ef44441a;animation:.4s code-shake}.code-box::placeholder{color:var(--color-text-dim);opacity:.5;font-size:1.5rem}.code-box:disabled{opacity:.7;cursor:not-allowed}@keyframes code-success{0%{transform:scale(1)}50%{background:#10b98133;transform:scale(1.1)}to{transform:scale(1)}}@keyframes code-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.cooldown-timer{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.875rem;display:flex}.cooldown-ring{width:24px;height:24px;color:var(--color-accent);transform:rotate(-90deg)}.cooldown-ring circle{transition:stroke-dashoffset 1s linear}
