:root{--login-navy:#071a33;--login-navy2:#0a315a;--login-blue:#0b67b2;--login-teal:#0d8f84;--login-ink:#12263a;--login-muted:#718396;--login-line:#dbe6ef;--login-bg:#eef5fa;--login-ok:#0c7b4f;--login-danger:#a52b2b}*{box-sizing:border-box}.telspay-login-page{margin:0;min-height:100vh;background:var(--login-bg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--login-ink);overflow-x:hidden}.bank-login-bg{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(145deg,#eaf3fa 0,#f9fbfd 44%,#e8f5f4 100%)}.bank-login-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.72}.bank-login-orb-a{width:420px;height:420px;left:-150px;top:-100px;background:radial-gradient(circle,rgba(13,111,187,.23),rgba(13,111,187,0) 68%)}.bank-login-orb-b{width:520px;height:520px;right:-220px;bottom:-180px;background:radial-gradient(circle,rgba(10,143,132,.18),rgba(10,143,132,0) 70%)}.bank-login-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(7,26,51,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(7,26,51,.025) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 86%)}.bank-login-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);max-width:1380px;margin:auto;padding:28px}.bank-login-brand-panel{min-height:calc(100vh - 56px);padding:42px 54px;border-radius:34px;background:linear-gradient(145deg,#06172c,#092d51 57%,#0a4d66);color:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:0 30px 90px rgba(5,32,57,.2)}.bank-login-brand-panel:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-170px;top:22%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 54px rgba(255,255,255,.025),0 0 0 112px rgba(255,255,255,.018)}.bank-brand-lockup{display:flex;align-items:center;gap:14px;position:relative;z-index:2}.bank-brand-logo{width:58px;height:58px;border-radius:18px;background:#fff;padding:7px;box-shadow:0 10px 35px rgba(0,0,0,.18)}.bank-brand-logo img{width:100%;height:100%;object-fit:contain}.bank-brand-lockup small{font-size:10px;letter-spacing:.18em;color:#a8c8e3}.bank-brand-lockup h1{font-size:20px;margin:3px 0 0}.bank-brand-copy{position:relative;z-index:2;margin:auto 0;max-width:650px;padding:70px 0 48px}.bank-kicker{display:inline-flex;padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.05);font-size:10px;letter-spacing:.12em;color:#b8d4e8}.bank-brand-copy h2{font-size:clamp(38px,4.4vw,64px);line-height:1.02;letter-spacing:-.04em;margin:22px 0 18px}.bank-brand-copy p{max-width:590px;color:#c6d9e8;line-height:1.7;font-size:15px}.bank-security-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;position:relative;z-index:2}.bank-security-points article{padding:15px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.045);border-radius:18px;display:flex;gap:10px}.bank-security-points article>span{font-size:10px;color:#66d7ca;font-weight:800}.bank-security-points strong,.bank-security-points small{display:block}.bank-security-points strong{font-size:12px}.bank-security-points small{font-size:10px;color:#9eb9cd;line-height:1.5;margin-top:4px}.bank-login-trust{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;position:relative;z-index:2}.bank-login-trust span{font-size:9px;color:#b9d0df;border:1px solid rgba(255,255,255,.08);border-radius:999px;padding:6px 8px}.bank-login-card-panel{display:flex;align-items:center;justify-content:center;padding:34px}.bank-login-card{width:min(100%,520px);background:rgba(255,255,255,.92);border:1px solid rgba(213,227,238,.95);border-radius:32px;padding:34px;box-shadow:0 24px 80px rgba(13,52,82,.15);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bank-login-mobile-brand{display:none}.bank-login-header{text-align:center}.bank-login-icon{display:grid;place-items:center;width:54px;height:54px;margin:auto;border-radius:17px;background:linear-gradient(135deg,#e9f2fb,#e9f8f5);color:var(--login-blue);font-size:29px;font-weight:900}.bank-login-header small{display:block;margin:15px 0 4px;color:var(--login-blue);font-size:9px;letter-spacing:.15em;font-weight:800}.bank-login-header h2{font-size:30px;margin:0;color:var(--login-navy);letter-spacing:-.03em}.bank-login-header p{margin:8px auto 22px;max-width:360px;color:var(--login-muted);font-size:13px;line-height:1.55}.bank-login-alert{display:grid;gap:4px;border-radius:15px;padding:12px 14px;margin-bottom:16px;font-size:12px}.bank-login-alert.success{background:#eaf8f1;color:#0c6945;border:1px solid #ccebdc}.bank-login-alert.error{background:#fff0f0;color:#912323;border:1px solid #f1caca}.bank-login-alert span{line-height:1.45}.bank-login-form{display:grid;gap:15px}.bank-field-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.bank-field-label label{font-size:11px;color:#33495e;font-weight:800;letter-spacing:.06em}.bank-field-label span{font-size:9px;color:var(--login-muted);background:#eef3f7;border-radius:999px;padding:4px 7px}.bank-card-input-wrap{height:58px;border:1px solid #cbd9e4;border-radius:16px;background:#fff;display:flex;align-items:center;padding:0 12px;transition:.2s;box-shadow:0 6px 20px rgba(10,51,85,.04)}.bank-card-input-wrap:focus-within{border-color:#6ca7da;box-shadow:0 0 0 4px rgba(11,103,178,.08)}.bank-field-icon{width:34px;color:var(--login-blue);font-size:20px}.bank-card-input-wrap input{border:0!important;outline:0!important;box-shadow:none!important;flex:1;min-width:0;height:100%;font:700 17px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;background:transparent;color:var(--login-navy)}.bank-card-input-wrap input::placeholder{font:500 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0;color:#9aabb9}.bank-clear-card{width:34px;height:34px;border:0;border-radius:11px;background:#eef3f7;color:#657b8f;font-size:20px;cursor:pointer}.bank-field-help{display:block;margin-top:7px;color:var(--login-muted);font-size:10px;line-height:1.5}.bank-login-card .card-login-keypad{gap:9px;margin-top:12px}.bank-login-card .card-login-keypad button{min-height:48px;border:1px solid #d8e5ee;border-radius:14px;background:#f3f8fb;color:#12385b;font-size:16px;box-shadow:none}.bank-login-card .card-login-keypad button:active{background:#dfeef9}.bank-primary-login{border:0;width:100%;min-height:54px;border-radius:16px;background:linear-gradient(135deg,#0b5fa9,#087c8c);color:#fff;display:flex;justify-content:center;align-items:center;gap:12px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 13px 30px rgba(10,100,154,.22);transition:.2s}.bank-primary-login:hover{transform:translateY(-1px)}.bank-primary-login:active{transform:scale(.99)}.bank-primary-login b{font-size:20px;font-weight:500}.bank-login-actions{display:grid;gap:10px;margin-top:20px;padding-top:20px;border-top:1px solid var(--login-line)}.bank-login-action{border:1px solid var(--login-line);width:100%;border-radius:17px;background:#fff;padding:13px;text-decoration:none;color:var(--login-ink);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;transition:.2s;font:inherit}.bank-login-action:hover{border-color:#9bc1df;transform:translateY(-1px)}.bank-login-action.primary{background:#f3f8fc}.bank-login-action .action-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:#eaf3fa;color:var(--login-blue);font-size:21px;font-weight:800;flex:0 0 auto}.bank-login-action div{min-width:0;flex:1}.bank-login-action strong,.bank-login-action small{display:block}.bank-login-action strong{font-size:12px}.bank-login-action small{font-size:10px;color:var(--login-muted);margin-top:3px}.bank-login-action em{font-style:normal;color:#7a8fa1;font-size:22px}.bank-login-footer-note{display:flex;gap:8px;margin-top:18px;padding:11px 12px;background:#f5f8fa;border-radius:13px;color:#718294}.bank-login-footer-note p{margin:0;font-size:9px;line-height:1.55}.bank-login-footer-note strong{color:#425b70}.bank-recovery-modal{border:0!important;border-radius:28px!important;overflow:hidden;box-shadow:0 30px 90px rgba(3,25,45,.3)}.bank-recovery-head{padding:21px 22px;background:linear-gradient(135deg,#071a33,#0b5f96);color:#fff;display:flex;justify-content:space-between;align-items:center}.bank-recovery-head small{display:block;letter-spacing:.12em;font-size:8px;opacity:.72}.bank-recovery-head h3{font-size:20px;margin:3px 0 0}.bank-modal-close{width:37px;height:37px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.07);color:#fff;font-size:23px}.bank-recovery-body{padding:22px;background:#f7fafc;display:grid;gap:14px}.bank-recovery-shield{display:flex;gap:10px;padding:12px;border-radius:14px;background:#eaf6f2;color:#3b5f55}.bank-recovery-shield>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#cdebdc;color:#087047;font-weight:900}.bank-recovery-shield p{margin:0;font-size:11px;line-height:1.5}.bank-recovery-body label{font-size:11px;font-weight:800;color:#334b61}.bank-recovery-body input{display:block;width:100%;margin-top:7px;height:52px;border:1px solid #cddbe6;border-radius:14px;padding:0 13px;font:inherit;background:#fff;outline:0}.bank-recovery-body input:focus{border-color:#68a6d6;box-shadow:0 0 0 4px rgba(11,103,178,.08)}.banking-action-loader{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(7,26,51,.30);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:.2s}.banking-action-loader.show{opacity:1;visibility:visible}.banking-loader-card{width:min(86vw,330px);background:rgba(255,255,255,.96);border:1px solid rgba(255,255,255,.82);border-radius:25px;padding:24px;text-align:center;box-shadow:0 28px 80px rgba(2,25,47,.28)}.banking-loader-logo{width:54px;height:54px;border-radius:16px;background:#f1f6fa;padding:7px;margin:auto}.banking-loader-logo img{width:100%;height:100%;object-fit:contain}.banking-loader-dots{height:30px;display:flex;align-items:center;justify-content:center;gap:7px}.banking-loader-dots i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--login-blue),var(--login-teal));animation:bankLoginDot 1s ease-in-out infinite}.banking-loader-dots i:nth-child(2){animation-delay:.13s}.banking-loader-dots i:nth-child(3){animation-delay:.26s}.banking-loader-card strong{display:block;color:var(--login-navy);font-size:15px}.banking-loader-card>span{display:block;color:var(--login-muted);font-size:11px;line-height:1.55;margin:6px 0 15px}.banking-loader-progress{height:5px;background:#e5edf3;border-radius:999px;overflow:hidden}.banking-loader-progress b{display:block;height:100%;width:38%;border-radius:999px;background:linear-gradient(90deg,var(--login-blue),var(--login-teal));animation:bankLoginLine 1.1s ease-in-out infinite}@keyframes bankLoginDot{0%,100%{transform:translateY(0);opacity:.42}50%{transform:translateY(-6px);opacity:1}}@keyframes bankLoginLine{0%{transform:translateX(-110%)}50%{transform:translateX(90%)}100%{transform:translateX(260%)}}@media(max-width:1040px){.bank-login-shell{grid-template-columns:1fr;padding:0}.bank-login-brand-panel{display:none}.bank-login-card-panel{min-height:100vh;padding:22px}.bank-login-card{max-width:540px}.bank-login-mobile-brand{display:flex;align-items:center;gap:10px;margin-bottom:24px}.bank-login-mobile-brand img{width:42px;height:42px;object-fit:contain}.bank-login-mobile-brand small,.bank-login-mobile-brand strong{display:block}.bank-login-mobile-brand small{font-size:8px;color:var(--login-muted);letter-spacing:.1em}.bank-login-mobile-brand strong{font-size:11px;color:var(--login-navy);margin-top:2px}}@media(max-width:520px){.bank-login-card-panel{padding:12px;align-items:flex-start}.bank-login-card{margin-top:max(10px,env(safe-area-inset-top));padding:22px 17px;border-radius:25px}.bank-login-header h2{font-size:27px}.bank-login-card .card-login-keypad button{min-height:45px}.bank-recovery-modal{border-radius:24px 24px 0 0!important}.modal-dialog{margin:.5rem}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
