*,: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:#fffeff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--ab-splash-bg:#fffeff;--ab-login-bg:#2d3175;--ab-card-bg:#fffeff;--ab-navy:#25285f;--ab-navy-dark:#1a1d47;--ab-navy-darker:#111433;--ab-red:#c0392b;--ab-white:#ffffff;--ab-text-dark:#1a1a2e;--ab-text-muted:rgba(26,26,46,0.52);--ab-text-dim:rgba(26,26,46,0.35);--ab-border:#c8d4e8;--ab-border-focus:#25285f;--ab-error:#c0392b;--ab-placeholder:rgba(26,26,46,0.38);--ab-input-bg:#ffffff;--ab-divider:#dde6f0;--ab-btn-inactive:#94a3b8;--ab-btn-active:#25285f;--ab-btn-active-dark:#1a1d47}#atlantic-bank-app{position:fixed;inset:0;align-items:center;justify-content:center;background:#fffeff}#atlantic-bank-app,.ab-frame{width:100%;height:100%;display:flex}.ab-frame{position:relative;max-width:430px;max-height:100dvh;overflow:hidden;background:radial-gradient(ellipse 60% 100% at 50% 50%,#4155b5 0,#3848a8 25%,#2d3a96 50%,#253080 75%,#1e2668 100%);box-shadow:0 0 60px rgba(37,40,95,.45);flex-direction:column}.ab-screen{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(36px);transition:opacity .32s ease,transform .32s ease;overflow:hidden;background:transparent}.ab-screen.active{opacity:1;pointer-events:all;transform:translateX(0)}.ab-dot-loader{display:flex;align-items:center;justify-content:center;gap:7px}.ab-dot{width:8px;height:8px;border-radius:50%;animation:ab-bounce 1.2s ease-in-out infinite}.ab-dot,.ab-login-btn .ab-dot,.ab-otp-verify-btn .ab-dot{background:#ffffff}.ab-dot-1{animation-delay:0s}.ab-dot-2{animation-delay:.2s}.ab-dot-3{animation-delay:.4s}@keyframes ab-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1.1);opacity:1}}.ab-loading-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .22s ease}.ab-loading-backdrop.visible{opacity:1;pointer-events:all}.ab-loading-card{background:#ffffff;border-radius:16px;padding:26px 36px;display:flex;align-items:center;gap:16px;box-shadow:0 8px 32px rgba(0,0,0,.18);min-width:210px}.ab-dot-ring{position:relative;width:28px;height:28px;flex-shrink:0}.ab-dot-ring span{position:absolute;width:4px;height:4px;border-radius:50%;background:#a0aec0;top:50%;left:50%;transform-origin:0 0;animation:ab-dot-fade 1s linear infinite}.ab-dot-ring span:first-child{transform:rotate(0deg) translate(11px) translate(-2px,-2px);animation-delay:0s}.ab-dot-ring span:nth-child(2){transform:rotate(45deg) translate(11px) translate(-2px,-2px);animation-delay:-.875s}.ab-dot-ring span:nth-child(3){transform:rotate(90deg) translate(11px) translate(-2px,-2px);animation-delay:-.75s}.ab-dot-ring span:nth-child(4){transform:rotate(135deg) translate(11px) translate(-2px,-2px);animation-delay:-.625s}.ab-dot-ring span:nth-child(5){transform:rotate(180deg) translate(11px) translate(-2px,-2px);animation-delay:-.5s}.ab-dot-ring span:nth-child(6){transform:rotate(225deg) translate(11px) translate(-2px,-2px);animation-delay:-.375s}.ab-dot-ring span:nth-child(7){transform:rotate(270deg) translate(11px) translate(-2px,-2px);animation-delay:-.25s}.ab-dot-ring span:nth-child(8){transform:rotate(315deg) translate(11px) translate(-2px,-2px);animation-delay:-.125s}@keyframes ab-dot-fade{0%,to{opacity:.15}0%{opacity:1}}.ab-loading-text{font-size:16px;font-weight:600;color:var(--ab-text-dark);font-family:Inter,sans-serif;white-space:nowrap}.ab-splash{position:absolute;inset:0;background:var(--ab-splash-bg);display:flex;align-items:center;justify-content:center;z-index:50}.ab-splash-logo{width:clamp(200px,60vw,300px);height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:ab-logo-pop .7s cubic-bezier(.34,1.45,.64,1) both}.ab-splash-text{text-align:center;padding:0 32px}.ab-splash-text h1{font-size:clamp(24px,6vw,32px);font-weight:400;color:#4a4a6a;letter-spacing:-.5px;line-height:1.3}.ab-splash-text h1 strong{font-weight:700;color:var(--ab-navy)}@keyframes ab-logo-pop{0%{opacity:0;transform:scale(.72) translateY(24px)}to{opacity:1;transform:scale(1) translateY(0)}}.ab-login-screen{height:100%;background:transparent;flex-direction:column;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:max(40px,env(safe-area-inset-top,40px)) 20px max(32px,env(safe-area-inset-bottom,32px))}.ab-login-logo-area,.ab-login-screen{width:100%;display:flex;align-items:center}.ab-login-logo-area{justify-content:center;margin-bottom:24px;flex-shrink:0}.ab-login-logo{width:clamp(160px,52vw,210px);height:auto;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;animation:ab-fade-down .45s ease .1s both}@keyframes ab-fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.ab-login-card{background:var(--ab-card-bg);border-radius:18px;width:100%;max-width:390px;flex-shrink:0;display:flex;flex-direction:column;position:relative;padding:28px 24px 32px;box-shadow:0 4px 32px rgba(0,0,0,.18);animation:ab-card-up .4s cubic-bezier(.34,1.15,.64,1) .05s both}@keyframes ab-card-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.ab-card-title{font-size:20px;font-weight:700;color:var(--ab-navy);text-align:center;margin-bottom:8px;font-family:Inter,sans-serif;letter-spacing:.1px;padding-left:60px;padding-right:60px}.ab-help-row{display:flex;justify-content:flex-end;margin-bottom:18px}.ab-help-btn{background:none;border:1.5px solid var(--ab-border);border-radius:7px;padding:5px 14px;font-size:13px;font-weight:500;font-family:Inter,sans-serif;color:var(--ab-text-dark);cursor:pointer;line-height:1.4;transition:background .15s}.ab-help-btn:hover{background:rgba(37,40,95,.06)}.ab-field-block{display:flex;flex-direction:column;margin-bottom:20px}.ab-field-label{font-size:13px;font-weight:600;color:var(--ab-text-muted);margin-bottom:6px;font-family:Inter,sans-serif}.ab-input-wrap{display:flex;align-items:center;background:transparent;border:none;border-bottom:1.5px solid var(--ab-border);height:42px;padding:0;transition:border-color .18s}.ab-input-wrap:focus-within{border-bottom-color:var(--ab-border-focus)}.ab-input-wrap--error{border-bottom-color:var(--ab-error)!important}.ab-input{flex:1 1;background:transparent;border:none;outline:none;font-size:14px;font-weight:400;font-family:Inter,sans-serif;color:var(--ab-text-dark);caret-color:var(--ab-navy)}.ab-input::placeholder{color:var(--ab-placeholder);font-style:italic;font-size:14px}.ab-input:disabled{opacity:.6;cursor:not-allowed}.ab-eye-btn{background:none;border:none;cursor:pointer;color:var(--ab-text-muted);display:flex;align-items:center;padding:4px;flex-shrink:0}.ab-eye-btn:hover{color:var(--ab-text-dark)}.ab-field-error{font-size:11.5px;color:var(--ab-error);margin-top:4px;font-family:Inter,sans-serif}.ab-forgot-link{background:none;border:none;cursor:pointer;font-size:13.5px;font-weight:700;color:var(--ab-navy);font-family:Inter,sans-serif;text-align:left;align-self:flex-start;padding:0;margin-top:16px;margin-bottom:38px}.ab-forgot-link:hover{text-decoration:underline}.ab-login-btn-wrap{padding:0 40px;margin-bottom:16px}.ab-login-btn{width:100%;height:50px;border-radius:8px;border:none;cursor:pointer;font-size:15px;font-weight:800;font-family:Inter,sans-serif;letter-spacing:1.5px;text-transform:uppercase;background:var(--ab-btn-active);color:#ffffff;box-shadow:0 4px 18px rgba(37,40,95,.28);transition:background .18s,transform .1s;display:flex;align-items:center;justify-content:center}.ab-login-btn:hover:not(:disabled){background:var(--ab-btn-active-dark)}.ab-login-btn:active:not(:disabled){transform:scale(.98)}.ab-login-btn:disabled{opacity:.65;cursor:not-allowed}.ab-unlock-btn{background:none;border:none;cursor:pointer;font-size:14px;font-weight:700;font-family:Inter,sans-serif;color:var(--ab-navy);text-align:center;width:100%;padding:4px 0;display:block}.ab-unlock-btn:hover{text-decoration:underline}.ab-otp-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;z-index:90;opacity:0;pointer-events:none;transition:opacity .28s ease}.ab-otp-backdrop.visible{opacity:1;pointer-events:all}.ab-otp-card{background:var(--ab-card-bg);border-radius:20px;padding:0 0 26px;width:calc(100% - 32px);max-width:370px;max-height:calc(100dvh - 80px);overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.22);display:flex;flex-direction:column;align-items:stretch;position:relative;transform:scale(.93) translateY(14px);transition:transform .28s cubic-bezier(.34,1.2,.64,1),opacity .28s ease}.ab-otp-backdrop.visible .ab-otp-card{transform:scale(1) translateY(0)}.ab-otp-navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 14px;border-bottom:1px solid var(--ab-divider);flex-shrink:0}.ab-otp-back-btn{width:36px;height:36px;background:#f0f4f8;border:none;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ab-text-dark);transition:background .15s}.ab-otp-back-btn:hover{background:#e2eaf2}.ab-otp-back-btn:disabled{opacity:.4;cursor:not-allowed}.ab-otp-navbar-title{font-size:16px;font-weight:700;color:var(--ab-navy);font-family:Inter,sans-serif}.ab-otp-body{padding:24px 24px 0;display:flex;flex-direction:column;align-items:center}.ab-otp-logo{width:clamp(130px,42vw,170px);height:auto;object-fit:contain;margin-bottom:18px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.ab-otp-title{font-size:19px;font-weight:700;color:var(--ab-navy);font-family:Inter,sans-serif;margin-bottom:8px;text-align:center}.ab-otp-subtitle{font-size:13px;font-weight:400;color:var(--ab-text-muted);text-align:center;line-height:1.6;margin-bottom:24px;max-width:270px}.ab-otp-input-wrap{width:100%;margin-bottom:14px}.ab-otp-input{width:100%;height:54px;background:var(--ab-input-bg);border:1.5px solid var(--ab-border);border-radius:10px;outline:none;font-size:22px;font-weight:600;font-family:Inter,sans-serif;color:var(--ab-text-dark);caret-color:var(--ab-navy);text-align:center;letter-spacing:6px;transition:border-color .18s,box-shadow .18s;padding:0 16px}.ab-otp-input:focus{border-color:var(--ab-navy);box-shadow:0 0 0 3px rgba(37,40,95,.1)}.ab-otp-input::placeholder{color:var(--ab-placeholder);letter-spacing:0;font-weight:400;font-size:15px}.ab-otp-input--error{border-color:var(--ab-error)!important;box-shadow:0 0 0 3px rgba(192,57,43,.1)!important}.ab-otp-input:disabled{opacity:.6;cursor:not-allowed}.ab-otp-error{align-items:flex-start;gap:7px;font-size:12.5px;color:var(--ab-error);font-weight:500;margin-bottom:14px;background:rgba(192,57,43,.07);border:1px solid rgba(192,57,43,.22);padding:9px 11px;line-height:1.45}.ab-otp-error,.ab-otp-verify-btn{display:flex;font-family:Inter,sans-serif;width:100%;border-radius:8px}.ab-otp-verify-btn{height:50px;border:none;cursor:not-allowed;font-size:15px;font-weight:800;letter-spacing:1px;text-transform:uppercase;background:var(--ab-btn-inactive);color:#ffffff;transition:background .18s,transform .1s;align-items:center;justify-content:center;margin-bottom:16px}.ab-otp-verify-btn--ready{background:var(--ab-btn-active);cursor:pointer;box-shadow:0 4px 16px rgba(37,40,95,.3)}.ab-otp-verify-btn--ready:hover{background:var(--ab-btn-active-dark)}.ab-otp-verify-btn--ready:active{transform:scale(.98)}.ab-otp-verify-btn:disabled:not(.ab-otp-verify-btn--ready){opacity:.7}.ab-otp-footer-row{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.ab-otp-resend-btn{background:none;border:none;cursor:pointer;font-size:13px;font-weight:600;font-family:Inter,sans-serif;color:var(--ab-navy);text-decoration:underline;padding:4px 0}.ab-otp-resend-btn:hover{color:var(--ab-navy-dark)}.ab-otp-resend-btn:disabled{opacity:.45;cursor:not-allowed}.ab-otp-cancel-btn{background:none;border:none;cursor:pointer;font-size:13px;font-weight:500;font-family:Inter,sans-serif;color:var(--ab-text-muted);padding:4px 0}.ab-otp-cancel-btn:hover{color:var(--ab-text-dark)}.ab-otp-cancel-btn:disabled{opacity:.45;cursor:not-allowed}