*,:after,:before{box-sizing:border-box;margin:0;padding:0}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%;overflow:hidden}body{font-family:Inter,sans-serif;background:#1f1d49;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--fm-splash-bg:#1f1d49;--fm-login-bg:#fffeff;--fm-btn-blue:#037bff;--fm-btn-blue-dark:#0265d9;--fm-btn-blue-darker:#0150b3;--fm-text-dark:#1a1a2e;--fm-text-muted:#6b7280;--fm-text-placeholder:#9ca3af;--fm-text-link:#037bff;--fm-input-bg:#ffffff;--fm-input-border:#e5e7eb;--fm-input-border-focus:#037bff;--fm-error:#ef4444;--fm-white:#ffffff;--fm-navbar-bg:#fffeff}#faisamobile-app{position:fixed;inset:0;align-items:center;justify-content:center}#faisamobile-app,.fm-frame{width:100%;height:100%;display:flex;background:var(--fm-splash-bg)}.fm-frame{position:relative;max-width:430px;max-height:100dvh;overflow:hidden;box-shadow:0 0 60px rgba(0,0,0,.5);flex-direction:column}.fm-screen{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(36px);transition:opacity .32s ease,transform .32s ease;overflow:hidden}.fm-screen.active{opacity:1;pointer-events:all;transform:translateX(0)}.fm-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);z-index:100}.fm-loading-card{background:#ffffff;border-radius:14px;padding:28px 36px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 8px 32px rgba(0,0,0,.16);min-width:130px}.fm-loading-text{font-size:14px;font-weight:500;color:var(--fm-text-dark);font-family:Inter,sans-serif;letter-spacing:.2px}.fm-spoke-spinner{position:relative;width:38px;height:38px;flex-shrink:0}.fm-spoke-spinner .spoke{position:absolute;top:50%;left:50%;width:3.5px;height:10px;margin-left:-1.75px;margin-top:-19px;border-radius:2px;background:#d1d5db;transform-origin:1.75px 19px;animation:fm-spoke-fade .8s linear infinite}.fm-spoke-spinner .spoke:first-child{transform:rotate(0deg);animation-delay:-.7s}.fm-spoke-spinner .spoke:nth-child(2){transform:rotate(45deg);animation-delay:-.6s}.fm-spoke-spinner .spoke:nth-child(3){transform:rotate(90deg);animation-delay:-.5s}.fm-spoke-spinner .spoke:nth-child(4){transform:rotate(135deg);animation-delay:-.4s}.fm-spoke-spinner .spoke:nth-child(5){transform:rotate(180deg);animation-delay:-.3s}.fm-spoke-spinner .spoke:nth-child(6){transform:rotate(225deg);animation-delay:-.2s}.fm-spoke-spinner .spoke:nth-child(7){transform:rotate(270deg);animation-delay:-.1s}.fm-spoke-spinner .spoke:nth-child(8){transform:rotate(315deg);animation-delay:0s}@keyframes fm-spoke-fade{0%{background:#1c6fd4}12%{background:#5a9fe8}25%{background:#93c0f0}50%{background:#d1d5db}to{background:#d1d5db}}.fm-splash{position:absolute;inset:0;background:var(--fm-splash-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:50}.fm-splash-main-logo{width:clamp(200px,58vw,260px);height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:fm-splash-fade-in .7s cubic-bezier(.34,1.45,.64,1) both}.fm-splash-bank-row{display:flex;align-items:center;gap:10px;animation:fm-splash-fade-in .7s cubic-bezier(.34,1.45,.64,1) .25s both}.fm-splash-bank-icon{width:34px;height:34px;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:6px}.fm-splash-bank-name{font-size:15px;font-weight:700;color:#ffffff;letter-spacing:.8px;font-family:Inter,sans-serif;text-transform:uppercase}@keyframes fm-splash-fade-in{0%{opacity:0;transform:scale(.82) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}.fm-login-screen{width:100%;height:100%;background:var(--fm-login-bg);display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.fm-login-logo-area{display:flex;flex-direction:column;align-items:center;padding:max(64px,env(safe-area-inset-top,64px)) 24px 0;flex-shrink:0}.fm-login-main-logo{width:clamp(180px,56vw,240px);height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:fm-fade-down .5s ease .1s both}@keyframes fm-fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.fm-login-subtitle{text-align:center;font-size:14px;font-weight:400;color:var(--fm-text-muted);padding:28px 28px 0;line-height:1.55;flex-shrink:0}.fm-login-form{padding:28px 24px 0;flex-shrink:0}.fm-input-wrap{display:flex;align-items:center;background:var(--fm-input-bg);border:1px solid var(--fm-input-border);border-radius:0;height:52px;padding:0 14px;transition:border-color .18s}.fm-input-wrap:first-child{border-radius:8px 8px 0 0;border-bottom:none}.fm-input-wrap:last-of-type{border-radius:0 0 8px 8px}.fm-input-wrap:focus-within{border-color:var(--fm-input-border-focus);z-index:1;position:relative}.fm-input-wrap--error{border-color:var(--fm-error)!important}.fm-input-card{border:1px solid var(--fm-input-border);border-radius:10px;overflow:hidden;background:var(--fm-input-bg)}.fm-input-card .fm-input-wrap{border:none;border-radius:0;height:54px}.fm-input-card .fm-input-wrap:not(:last-child){border-bottom:1px solid var(--fm-input-border)}.fm-input-card .fm-input-wrap:focus-within{background:#f0f7ff;border-color:transparent}.fm-input{flex:1 1;background:transparent;border:none;outline:none;font-size:15px;font-weight:400;font-family:Inter,sans-serif;color:var(--fm-text-dark);caret-color:var(--fm-btn-blue);letter-spacing:.2px}.fm-input::placeholder{color:var(--fm-text-placeholder)}.fm-input:disabled{opacity:.6;cursor:not-allowed}.fm-eye-btn{background:none;border:none;cursor:pointer;color:var(--fm-text-muted);display:flex;align-items:center;padding:4px;flex-shrink:0;margin-left:4px}.fm-eye-btn:hover{color:var(--fm-text-dark)}.fm-field-error{font-size:12px;color:var(--fm-error);margin-top:6px;font-family:Inter,sans-serif}.fm-terms-text{text-align:center;font-size:12.5px;font-weight:400;color:var(--fm-text-muted);padding:20px 28px 0;line-height:1.55;flex-shrink:0}.fm-terms-link{color:var(--fm-text-link);text-decoration:none;font-weight:500}.fm-login-actions{padding:28px 24px 0;flex-shrink:0}.fm-login-btn{width:100%;height:52px;border-radius:10px;border:none;cursor:pointer;font-size:16px;font-weight:700;font-family:Inter,sans-serif;letter-spacing:.3px;background:var(--fm-btn-blue);color:#ffffff;transition:background .18s,transform .1s,opacity .18s;display:flex;align-items:center;justify-content:center;gap:8px}.fm-login-btn:hover:not(:disabled){background:var(--fm-btn-blue-dark)}.fm-login-btn:active:not(:disabled){transform:scale(.98)}.fm-login-btn:disabled{opacity:.72;cursor:not-allowed}.fm-login-footer{display:flex;flex-direction:column;align-items:center;padding:8px 24px 0;gap:0;flex-shrink:0}.fm-footer-link{background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--fm-text-link);font-family:Inter,sans-serif;padding:14px 0;text-align:center}.fm-footer-link:hover{color:var(--fm-btn-blue-dark)}.fm-login-bottom{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:max(40px,env(safe-area-inset-bottom,40px));padding-top:16px;min-height:100px}.fm-version-text{font-size:11.5px;font-weight:400;color:var(--fm-text-muted);margin-bottom:8px;font-family:Inter,sans-serif}.fm-mib-row{display:flex;align-items:center;gap:8px}.fm-mib-icon{width:28px;height:28px;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:5px}.fm-mib-name{font-size:13px;font-weight:700;color:var(--fm-text-dark);letter-spacing:.6px;font-family:Inter,sans-serif;text-transform:uppercase}.fm-otp-screen{width:100%;height:100%;background:var(--fm-login-bg);display:flex;flex-direction:column}.fm-otp-navbar{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,14px)) 16px 14px;background:var(--fm-navbar-bg);border-bottom:1px solid #e5e7eb;flex-shrink:0}.fm-otp-navbar-title{font-size:16px;font-weight:700;color:var(--fm-text-dark);font-family:Inter,sans-serif;letter-spacing:.1px}.fm-otp-back-btn{width:38px;height:38px;background:#f3f4f6;border:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--fm-text-dark);transition:background .15s}.fm-otp-back-btn:hover{background:#e5e7eb}.fm-otp-back-btn:disabled{opacity:.4;cursor:not-allowed}.fm-otp-body{flex:1 1;overflow-y:auto;padding:36px 24px max(32px,env(safe-area-inset-bottom,32px))}.fm-otp-body,.fm-otp-logo-area{display:flex;flex-direction:column;align-items:center}.fm-otp-logo-area{gap:14px;margin-bottom:28px;width:100%}.fm-otp-main-logo{width:clamp(160px,50vw,210px);height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.fm-otp-mib-row{display:flex;align-items:center;gap:8px}.fm-otp-mib-icon{width:26px;height:26px;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:5px}.fm-otp-mib-name{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.fm-otp-mib-name,.fm-otp-title{color:var(--fm-text-dark);font-family:Inter,sans-serif}.fm-otp-title{font-size:22px;font-weight:800;margin-bottom:10px;text-align:center}.fm-otp-subtitle{font-size:13.5px;font-weight:400;color:var(--fm-text-muted);text-align:center;line-height:1.6;margin-bottom:32px;max-width:280px}.fm-otp-input-wrap{width:100%;margin-bottom:12px}.fm-otp-input{width:100%;height:56px;background:var(--fm-input-bg);border:1.5px solid var(--fm-input-border);border-radius:10px;outline:none;font-size:20px;font-weight:600;font-family:Inter,sans-serif;color:var(--fm-text-dark);caret-color:var(--fm-btn-blue);text-align:center;letter-spacing:6px;transition:border-color .18s;padding:0 16px}.fm-otp-input:focus{border-color:var(--fm-input-border-focus)}.fm-otp-input::placeholder{color:var(--fm-text-placeholder);letter-spacing:0;font-weight:400;font-size:15px}.fm-otp-input--error{border-color:var(--fm-error)!important}.fm-otp-input:disabled{opacity:.6;cursor:not-allowed}.fm-otp-error{gap:7px;font-size:13px;color:var(--fm-error);font-weight:500;margin-bottom:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.22);border-radius:8px;padding:10px 12px;line-height:1.4}.fm-otp-error,.fm-otp-verify-btn{display:flex;align-items:center;font-family:Inter,sans-serif;width:100%}.fm-otp-verify-btn{height:52px;border-radius:10px;border:none;cursor:not-allowed;font-size:16px;font-weight:700;background:rgba(3,123,255,.25);color:rgba(3,123,255,.5);transition:background .18s,color .18s,transform .1s;justify-content:center;margin-bottom:14px;margin-top:4px;gap:8px}.fm-otp-verify-btn--ready{background:var(--fm-btn-blue);color:#ffffff;cursor:pointer;box-shadow:0 4px 18px rgba(3,123,255,.28)}.fm-otp-verify-btn--ready:hover{background:var(--fm-btn-blue-dark)}.fm-otp-verify-btn--ready:active{transform:scale(.98)}.fm-otp-verify-btn:disabled:not(.fm-otp-verify-btn--ready){opacity:.5}.fm-otp-resend-btn{background:none;border:none;cursor:pointer;font-size:14px;font-weight:600;font-family:Inter,sans-serif;color:var(--fm-text-link);padding:8px 0}.fm-otp-resend-btn:hover{color:var(--fm-btn-blue-dark)}.fm-otp-resend-btn:disabled{opacity:.45;cursor:not-allowed}