@import url(https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&display=swap);:root{--fpa-primary:#FF6B35;--fpa-primary-dk:#e55520;--fpa-bg:#0f0f11;--fpa-card-bg:#1a1a1f;--fpa-border:rgba(255,255,255,0.08);--fpa-text:#f0f0f4;--fpa-muted:#888896;--fpa-success:#22c55e;--fpa-error:#ef4444;--fpa-warning:#f59e0b;--fpa-radius:16px;--fpa-font:'Sora', sans-serif}.fpa-wrap{font-family:var(--fpa-font);display:flex;justify-content:center;align-items:center;padding:40px 16px;background:var(--fpa-bg);min-height:480px;border-radius:var(--fpa-radius);position:relative;overflow:hidden}.fpa-wrap::before{content:'';position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgb(255 107 53 / .12) 0%,transparent 70%);top:-100px;right:-100px;border-radius:50%;animation:fpa-pulse 6s ease-in-out infinite alternate;pointer-events:none}.fpa-wrap::after{content:'';position:absolute;width:300px;height:300px;background:radial-gradient(circle,rgb(99 102 241 / .08) 0%,transparent 70%);bottom:-80px;left:-60px;border-radius:50%;animation:fpa-pulse 8s ease-in-out infinite alternate-reverse;pointer-events:none}@keyframes fpa-pulse{from{transform:scale(1) translate(0,0);opacity:.6}to{transform:scale(1.2) translate(10px,-10px);opacity:1}}.fpa-card{background:var(--fpa-card-bg);border:1px solid var(--fpa-border);border-radius:var(--fpa-radius);padding:40px 36px;width:100%;max-width:420px;position:relative;z-index:1;box-shadow:0 24px 64px rgb(0 0 0 / .5),0 0 0 1px rgb(255 255 255 / .04) inset;animation:fpa-slidein 0.4s cubic-bezier(.16,1,.3,1)}@keyframes fpa-slidein{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.fpa-header{text-align:center;margin-bottom:32px}.fpa-logo{font-size:40px;margin-bottom:12px;display:block;animation:fpa-bounce 2s ease-in-out infinite}@keyframes fpa-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.fpa-title{font-size:24px;font-weight:700;color:var(--fpa-text);margin:0 0 8px}.fpa-subtitle{font-size:14px;color:var(--fpa-muted);margin:0}.fpa-alert{padding:12px 16px;border-radius:10px;font-size:14px;font-weight:500;margin-bottom:20px;border:1px solid #fff0;line-height:1.5}.fpa-alert.fpa-alert-info{background:rgb(99 102 241 / .15);border-color:rgb(99 102 241 / .3);color:#a5b4fc}.fpa-alert.fpa-alert-error{background:rgb(239 68 68 / .15);border-color:rgb(239 68 68 / .3);color:#fca5a5}.fpa-alert.fpa-alert-success{background:rgb(34 197 94 / .15);border-color:rgb(34 197 94 / .3);color:#86efac}.fpa-alert.fpa-alert-warning{background:rgb(245 158 11 / .15);border-color:rgb(245 158 11 / .3);color:#fcd34d}.fpa-field{margin-bottom:20px}.fpa-label{display:block;font-size:13px;font-weight:600;color:var(--fpa-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px}.fpa-phone-row{display:flex;gap:8px}.fpa-select{background:rgb(255 255 255 / .05);border:1px solid var(--fpa-border);border-radius:10px;color:var(--fpa-text);font-family:var(--fpa-font);font-size:14px;padding:12px 8px;cursor:pointer;transition:border-color 0.2s,background 0.2s;flex-shrink:0;width:110px}.fpa-select:focus{outline:none;border-color:var(--fpa-primary);background:rgb(255 107 53 / .06)}.fpa-input{width:100%;background:rgb(255 255 255 / .05);border:1px solid var(--fpa-border);border-radius:10px;color:var(--fpa-text);font-family:var(--fpa-font);font-size:16px;padding:12px 16px;transition:border-color 0.2s,background 0.2s,box-shadow 0.2s;box-sizing:border-box}.fpa-input::placeholder{color:rgb(255 255 255 / .2)}.fpa-input:focus{outline:none;border-color:var(--fpa-primary);background:rgb(255 107 53 / .06);box-shadow:0 0 0 3px rgb(255 107 53 / .15)}.fpa-otp-input{text-align:center;font-size:28px;font-weight:700;letter-spacing:12px;padding:16px}.fpa-hint{font-size:12px;color:var(--fpa-muted);margin-top:6px;display:block}.fpa-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;border:none;border-radius:10px;font-family:var(--fpa-font);font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:4px;background:linear-gradient(135deg,var(--fpa-primary),var(--fpa-primary-dk));color:#fff;box-shadow:0 4px 20px rgb(255 107 53 / .35);margin-bottom:8px}.fpa-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 28px rgb(255 107 53 / .5)}.fpa-btn:active:not(:disabled){transform:translateY(0)}.fpa-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.fpa-btn-outline{background:#fff0;border:1px solid var(--fpa-border);color:var(--fpa-text);box-shadow:none}.fpa-btn-outline:hover:not(:disabled){border-color:var(--fpa-primary);color:var(--fpa-primary);box-shadow:none}.fpa-btn-ghost{background:#fff0;border:1px solid var(--fpa-border);color:var(--fpa-muted);box-shadow:none;font-size:13px;padding:10px}.fpa-btn-ghost:hover:not(:disabled){color:var(--fpa-text);border-color:rgb(255 255 255 / .2);box-shadow:none}.fpa-btn-ghost:disabled{opacity:.4}#fpa-recaptcha{display:flex;justify-content:center;margin:16px 0}#fpa-recaptcha>div{border-radius:8px;overflow:hidden}.fpa-otp-info{text-align:center;margin-bottom:24px}.fpa-otp-icon{font-size:32px;margin-bottom:8px}.fpa-otp-info p{color:var(--fpa-muted);font-size:14px;margin:0}.fpa-otp-info strong{color:var(--fpa-text)}.fpa-success-icon{font-size:56px;text-align:center;margin-bottom:16px;animation:fpa-pop 0.5s cubic-bezier(.16,1,.3,1)}@keyframes fpa-pop{from{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}#fpa-step-success h3{text-align:center;color:var(--fpa-text);font-size:22px;margin:0 0 8px}#fpa-step-success p{text-align:center;color:var(--fpa-muted);font-size:14px;margin:0 0 24px}.fpa-progress-bar{height:4px;background:rgb(255 255 255 / .08);border-radius:99px;overflow:hidden}.fpa-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--fpa-primary),#ff9f6b);border-radius:99px;transition:width 2.5s cubic-bezier(.4,0,.2,1)}.fpa-logged-in .fpa-card{text-align:center}.fpa-icon{font-size:48px;margin-bottom:12px;display:block}.fpa-logged-in h2{color:var(--fpa-text);margin:0 0 8px}.fpa-logged-in p{color:var(--fpa-muted);margin:0 0 24px}.fpa-step{animation:fpa-fadein 0.3s ease}@keyframes fpa-fadein{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}@media (max-width:480px){.fpa-card{padding:28px 20px}.fpa-otp-input{font-size:22px;letter-spacing:8px}.fpa-phone-row{flex-direction:column}.fpa-select{width:100%}}