*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#app{min-height:100vh}body{color:#1e293b;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#f5f7fa;font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;overflow-y:auto}button,input,select{font:inherit}button{cursor:pointer}.page{min-height:100vh;padding-bottom:40px}.page-amount{padding-bottom:320px}.top-header{background:linear-gradient(135deg,#1a1f71,#0d47a1);padding:40px 20px 60px;position:relative}.top-header:after{content:"";background:#f5f7fa;border-radius:24px 24px 0 0;height:40px;position:absolute;bottom:-20px;left:0;right:0}.brand-logos{align-items:center;gap:12px;margin-bottom:20px;display:flex}.visa-badge{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#1a1f71,#00579f);border-radius:6px;padding:6px 14px;font-size:16px;font-style:italic;font-weight:800}.mastercard-badge{background:linear-gradient(135deg,#eb001b 50%,#f79e1b 50%);border-radius:4px;width:36px;height:24px}.unionpay-badge{color:#fff;background:linear-gradient(135deg,#e21836,#00447c);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700}.header-title{color:#fff;letter-spacing:0;font-size:22px;font-weight:600}.header-subtitle{color:#ffffffb8;margin-top:4px;font-size:13px}.main-card,.order-card{z-index:1;background:#fff;border-radius:20px;margin:10px 16px 0;position:relative;box-shadow:0 10px 40px #00000014}.main-card{padding:24px 20px}.trust-section{border-bottom:1px solid #e8edf3;justify-content:center;gap:16px;margin-bottom:16px;padding:12px 0 16px;display:flex}.trust-section span{color:#64748b;font-size:11px}.trust-section span:before{color:#10b981;content:"✓";margin-right:5px;font-weight:700}.amount-section{text-align:center;padding:20px 0}.amount-label{color:#8895a7;margin-bottom:10px;font-size:13px}.amount-display{justify-content:center;align-items:baseline;gap:4px;display:flex}.currency-symbol{color:#1a1f71;font-size:24px;font-weight:600}.amount-input{color:#1a1f71;letter-spacing:0;text-align:center;background:0 0;border:0;outline:0;width:100%;max-width:280px;font-size:48px;font-weight:700}.amount-input::placeholder{color:#cbd5e1;font-size:32px}.message{color:#64748b;text-align:center;min-height:20px;margin-top:10px;font-size:13px}.message.success{color:#059669}.message.error{color:#dc2626}.bank-label{color:#475569;margin:4px 0 8px;font-size:13px;font-weight:600;display:block}.bank-select{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:0;width:100%;height:44px;padding:0 12px}.order-card{padding:18px}.order-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.order-kicker{color:#8895a7;text-transform:uppercase;font-size:11px;font-weight:700}.order-head h2{color:#1e293b;letter-spacing:0;margin-top:2px;font-size:20px}.status-badge{color:#1a1f71;background:#eef2ff;border-radius:999px;flex:none;padding:7px 10px;font-size:12px;font-weight:700}.status-badge.completed{color:#047857;background:#dcfce7}.status-badge.failed,.status-badge.cancelled{color:#b91c1c;background:#fee2e2}.progress-track{background:#e8edf3;border-radius:999px;height:8px;margin-top:16px;overflow:hidden}.progress-track div{border-radius:inherit;background:linear-gradient(135deg,#1a1f71,#00579f);height:100%;transition:width .2s}.order-detail{margin-top:16px}.order-detail div{border-top:1px solid #e8edf3;grid-template-columns:88px 1fr;gap:8px;padding:12px 0;display:grid}.order-detail dt{color:#8895a7;font-size:13px}.order-detail dd{color:#1e293b;overflow-wrap:anywhere;font-size:13px;font-weight:600}.order-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:8px;display:grid}.order-actions button{color:#1e293b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;height:42px;font-weight:600}.bank-page{z-index:1;position:relative}.select-order-card{text-align:center;border-radius:16px;margin-top:10px;padding:24px 20px}.order-amount-main{color:#0000;background:linear-gradient(135deg,#1a1f71,#0d47a1);-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:48px;font-weight:800;line-height:1.1}.order-amount-label{color:#94a3b8;margin-bottom:16px;font-size:12px}.order-divider{background:linear-gradient(90deg,#0000,#e2e8f0,#0000);height:1px;margin:12px 0}.order-row{color:#64748b;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:12px;display:flex}.order-row strong{color:#1e293b;overflow-wrap:anywhere;text-align:right;min-width:0;font-family:SF Mono,Consolas,monospace;font-size:13px;font-weight:500}.tip-card{color:#1e40af;background:#eff6ff;border-left:4px solid #1a1f71;border-radius:12px;align-items:flex-start;gap:10px;margin:0 16px 16px;padding:14px 16px;font-size:13px;line-height:1.6;display:flex}.tip-icon{color:#fff;background:#1a1f71;border-radius:50%;flex:0 0 18px;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-weight:700;display:inline-flex}.bank-section{background:#fff;border-radius:16px;margin:0 16px;overflow:hidden;box-shadow:0 4px 20px #0000000f}.bank-header{border-bottom:1px solid #e8edf3;align-items:center;gap:10px;padding:16px 20px;display:flex}.bank-header-icon{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.bank-header-title{color:#1e293b;font-size:15px;font-weight:600}.search-box{background:#f8fafc;border-bottom:1px solid #e8edf3;padding:12px 16px}.search-wrapper{align-items:center;display:flex;position:relative}.search-input{color:#1e293b;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2394a3b8' viewBox='0 0 24 24'%3E%3Cpath d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E") 12px/20px no-repeat;border:2px solid #e2e8f0;border-radius:10px;outline:none;width:100%;padding:12px 44px 12px 40px;font-size:14px;transition:border-color .2s}.search-input:focus{border-color:#1a1f71}.search-input::placeholder{color:#94a3b8}.search-clear{color:#fff;background:#94a3b8;border:0;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;line-height:1;display:flex;position:absolute;right:12px}.bank-list-container{position:relative}.bank-button{color:#1e293b;cursor:pointer;text-align:left;background:#fff;border:0;border-bottom:1px solid #f1f5f9;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:background .2s,transform .2s;display:flex}.bank-button:hover{background:#f8fafc}.bank-button:active{background:#eff6ff;transform:scale(.99)}.bank-button:disabled{cursor:wait;opacity:.7}.bank-button img,.bank-icon{border-radius:10px;flex:0 0 42px;width:42px;height:42px}.bank-button img{object-fit:contain}.bank-icon{color:#1a1f71;background:linear-gradient(135deg,#eef2ff,#dbeafe);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.bank-info{flex:1;min-width:0}.bank-name{color:#1e293b;font-size:15px;font-weight:500;display:block}.bank-code{color:#94a3b8;margin-top:2px;font-size:11px;display:block}.bank-arrow{color:#cbd5e1;flex:none;font-size:22px}.bank-empty{color:#64748b;text-align:center;background:#fff;padding:40px 20px}.bank-empty-icon{color:#94a3b8;background:#f1f5f9;border-radius:50%;width:44px;height:44px;margin:0 auto 12px;font-size:28px;line-height:44px}.bank-empty-title{color:#1e293b;margin-bottom:8px;font-size:15px;font-weight:500}.bank-empty-tip{color:#64748b;font-size:13px}.bank-trust-section{justify-content:center;gap:16px;margin:20px 16px;padding:14px 0;display:flex}.trust-item{color:#64748b;align-items:center;gap:5px;font-size:11px;display:flex}.trust-item span{color:#10b981;justify-content:center;align-items:center;width:14px;height:14px;font-size:10px;font-weight:700;display:inline-flex}.processing-page{z-index:1500;-webkit-backdrop-filter:blur(10px);background:#fffffffa;justify-content:center;align-items:center;min-height:100vh;padding:28px 16px 40px;animation:.35s cubic-bezier(.4,0,.2,1) overlay-fade-in;display:flex;position:fixed;inset:0}.loading-content{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;width:min(360px,100%);padding:32px;animation:.45s cubic-bezier(.4,0,.2,1) fade-in-up;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 36px #0000001a}.loading-content:before{content:"";background:linear-gradient(90deg,#1a1f71,#0d47a1);height:4px;position:absolute;top:0;left:0;right:0}.visa-progress-ring{width:140px;height:140px;margin:0 auto 20px;position:relative}.visa-progress-ring svg{filter:drop-shadow(0 4px 15px #1a1f7133);transition:filter .3s;transform:rotate(-90deg)}.visa-progress-ring.complete svg{filter:drop-shadow(0 4px 15px #22c55e4d)}.visa-ring-bg{fill:none;stroke:#e8edf5;stroke-width:10px}.visa-ring-fg{fill:none;stroke:url(#visaProgressGrad);stroke-dasharray:377;stroke-dashoffset:377px;stroke-linecap:round;stroke-width:10px;transition:stroke-dashoffset .3s}.visa-ring-fg.complete{stroke:#22c55e}.visa-ring-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.visa-ring-logo{color:#1a1f71;letter-spacing:2px;margin-bottom:2px;font-size:16px;font-style:italic;font-weight:800}.visa-ring-percent{color:#1a1f71;font-size:28px;font-weight:900;line-height:1}.visa-check-icon{color:#22c55e;font-size:48px;font-weight:800;line-height:1;animation:.4s check-scale-in;display:none}.visa-ring-center.complete .visa-ring-logo,.visa-ring-center.complete .visa-ring-percent{display:none}.visa-ring-center.complete .visa-check-icon{display:block}.success-card-animated{opacity:0;width:100%;max-height:0;transition:opacity .4s,max-height .4s,transform .4s;overflow:hidden;transform:translateY(20px)}.success-card-animated.show{opacity:1;max-height:180px;transform:translateY(0)}.success-amount{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);border-radius:16px;width:100%;max-width:280px;margin:0 auto 20px;padding:20px;position:relative;overflow:hidden;box-shadow:0 15px 35px #1a1f714d}.success-amount-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.success-chip{background:linear-gradient(135deg,#fcd34d,#f59e0b);border-radius:5px;width:40px;height:30px}.success-visa-logo{color:#fff;letter-spacing:2px;font-size:22px;font-style:italic;font-weight:800}.success-amount-body{text-align:center}.success-amount .amount-label{color:#fffc;margin-bottom:6px;font-size:12px;font-weight:500}.amount-value{letter-spacing:0;text-shadow:0 2px 4px #0000001a;font-size:36px;font-weight:800;line-height:1.15}.loading-text{color:#333;margin-bottom:8px;font-size:16px;font-weight:600;line-height:1.5}.loading-tip{color:#f59e0b;text-align:center;font-size:14px;font-weight:500;line-height:1.4}.open-button,.retry-button{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);border:0;border-radius:12px;width:100%;max-width:280px;margin:18px auto 0;padding:16px 32px;font-size:16px;font-weight:600;transition:box-shadow .2s,transform .2s;box-shadow:0 4px 12px #1a1f7133}.open-button.active{animation:.6s cubic-bezier(.4,0,.2,1) fade-in-up}.open-button:active,.retry-button:active{transform:scale(.98)}.retry-button{background:#1e293b}.processing-message{margin-top:16px}.keypad{z-index:1000;background:#fff;border-top:1px solid #e8edf3;padding:16px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000d}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:10px;max-width:400px;margin:0 auto;display:grid}.key{color:#1e293b;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;outline:0;justify-content:center;align-items:center;height:52px;font-size:22px;font-weight:500;display:flex}.key:active{background:#eef2ff;border-color:#1a1f71;transform:scale(.97)}.key.clear{color:#64748b;font-size:14px}.key.delete{color:#ef4444;font-size:18px}.key.submit{color:#fff;background:linear-gradient(135deg,#1a1f71,#00579f);border:0;border-radius:12px;grid-column:span 3;height:54px;margin-top:6px;font-size:17px;font-weight:600}.key.submit.disabled{pointer-events:none;background:#cbd5e1}.modal-mask{z-index:2000;background:#0f172a73;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-card{text-align:center;background:#fff;border-radius:18px;width:min(360px,100%);padding:24px;box-shadow:0 24px 60px #0000002e}.modal-card h3{color:#1e293b;letter-spacing:0;font-size:20px}.modal-card p{color:#64748b;margin-top:10px;font-size:14px;line-height:1.6}.modal-card button{color:#fff;background:linear-gradient(135deg,#1a1f71,#00579f);border:0;border-radius:12px;width:100%;height:46px;margin-top:18px;font-weight:700}.app-confirm-modal{z-index:2000;background:#0000008c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.app-confirm-card{background:linear-gradient(135deg,#fff,#f7f9fc);border-radius:18px;width:min(300px,100%);animation:.32s cubic-bezier(.4,0,.2,1) modal-in;overflow:hidden;box-shadow:0 10px 30px #0003,0 5px 15px #0000001a}.app-confirm-inner{text-align:center;padding:24px 20px 20px}.app-confirm-icon{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 20px;font-size:40px;font-weight:700;line-height:1;display:flex;box-shadow:0 4px 10px #1a1f714d}.app-confirm-text{color:#333;margin-bottom:20px;padding:0 12px;font-size:16px;line-height:1.5}.app-confirm-actions{gap:10px;display:flex}.app-confirm-actions button{cursor:pointer;border:0;border-radius:8px;flex:1;padding:12px 0;font-size:15px;transition:background .2s,opacity .2s,transform .2s}.app-confirm-actions button:active{transform:scale(.98)}.app-confirm-cancel{color:#64748b;background:#f1f5f9}.app-confirm-cancel:hover{background:#e2e8f0}.app-confirm-ok{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);font-weight:500;box-shadow:0 3px 8px #1a1f714d}.app-confirm-ok:hover{opacity:.9}.security-modal{z-index:2100;background:#0f172a8c;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.security-card{background:#fff;border-radius:18px;width:min(360px,100%);padding:22px;animation:.32s cubic-bezier(.4,0,.2,1) modal-in;overflow:hidden;box-shadow:0 20px 60px #0000003d}.security-head{align-items:center;gap:12px;margin-bottom:18px;display:flex}.security-icon{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);border-radius:12px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:16px;font-weight:700;display:flex}.security-head h3{color:#1e293b;letter-spacing:0;font-size:18px;font-weight:700}.security-head p{color:#64748b;margin-top:2px;font-size:12px;line-height:1.5}.captcha-panel{flex-direction:column;gap:12px;display:flex}.captcha-image-button{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:100%;height:118px;display:flex;overflow:hidden}.captcha-image-button img{object-fit:cover;width:100%;height:100%}.captcha-input{color:#1e293b;letter-spacing:3px;text-align:center;text-transform:uppercase;background:#fff;border:2px solid #e2e8f0;border-radius:12px;outline:0;width:100%;height:48px;padding:0 14px;font-size:18px;font-weight:700}.captcha-input:focus{border-color:#1a1f71}.captcha-error{color:#dc2626;text-align:center;min-height:18px;font-size:12px;line-height:1.5}.security-actions{gap:10px;display:flex}.security-actions button,.manual-cancel{border:0;border-radius:10px;flex:1;height:46px;font-size:15px;font-weight:600}.security-cancel{color:#64748b;background:#f1f5f9}.security-ok{color:#fff;background:linear-gradient(135deg,#1a1f71,#0d47a1);box-shadow:0 4px 12px #1a1f7133}.security-actions button:disabled{cursor:wait;opacity:.65}.manual-panel{text-align:center;flex-direction:column;align-items:center;padding:8px 0 0;display:flex}.manual-loader{border:6px solid #e8edf5;border-top-color:#1a1f71;border-radius:50%;width:64px;height:64px;margin:4px auto 16px;animation:1s linear infinite spin}.manual-title{color:#1e293b;font-size:17px;font-weight:700}.manual-subtitle{color:#64748b;margin-top:6px;font-size:13px;line-height:1.5}.manual-cancel{width:100%;margin-top:18px}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes check-scale-in{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:768px){.page{max-width:460px;margin:0 auto;box-shadow:0 0 0 1px #e8edf3}.keypad{width:460px;left:50%;transform:translate(-50%)}}@media (max-width:360px){.amount-input{font-size:42px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
