/* BBpay common shell for legacy view families. Payment handlers and IDs are retained. */
body.bb-suite{margin:0!important;padding:0!important;max-width:none!important;min-height:100svh;background:#f2f2f7!important;color:#1c1c1e!important;opacity:1!important;box-shadow:none!important;-webkit-font-smoothing:antialiased}
.bb-suite *{box-sizing:border-box}.bb-brandbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto;padding:22px 28px;border-bottom:1px solid #e5e5ea;background:transparent;min-height:76px;z-index:1}.bb-brandbar a{display:block;line-height:0;margin:0!important}.bb-brandbar img{width:145px;height:34px;object-fit:contain}.bb-brandbar>span{font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#8e8e93;white-space:nowrap}.bb-suite :is(button,input,select,textarea){font-family:inherit}.bb-suite :is(input[type=text],input[type=password],input[type=number],input[type=email],textarea,select){border:1px solid #dcdce4;border-radius:10px;box-shadow:none;min-height:42px}.bb-suite :is(button,.weui-btn,.weui_btn,.btn-open-app,.btn-check,.weui_btn_primary){border-radius:11px;box-shadow:none}.bb-suite :is(.weui-btn_primary,.weui_btn_primary,.btn-open-app){background:#007aff;border-color:#007aff;color:#fff}.bb-suite :is(.weui-btn:after,.weui_btn:after){border-radius:22px}.bb-suite :is(.weui-footer__text,.weui_footer_text){color:#8e8e93}
/* QR views: preserve QR nodes, wallet labels, timers and payment links. */
.bb-qr .body{width:calc(100% - 40px)!important;max-width:560px!important;margin:32px auto!important;background:#fff;border:1px solid #e5e5ea;border-radius:24px;overflow:hidden;padding:0 0 24px;box-shadow:none}.bb-qr .mod-title{height:auto!important;min-height:64px;margin:0!important;padding:20px!important;border-bottom:1px solid #e5e5ea;line-height:1.5!important;font-size:17px!important;background:#fff!important;color:#1c1c1e!important}.bb-qr .mod-ct{padding:24px!important;background:transparent!important;border:0!important}.bb-qr .amount{color:#1c1c1e!important;font-size:38px!important;line-height:1.3;margin:0 0 24px}.bb-qr :is(.tip,.detail){background:transparent!important;border-color:#e5e5ea!important}.bb-qr .tip-text{color:#63636b!important;font-size:13px;line-height:1.8}.bb-qr .detail-ct{font-size:13px;overflow-wrap:anywhere}.bb-qr :is(#qrcode,.qr-image){max-width:100%;margin-left:auto;margin-right:auto}.bb-qr :is(#qrcode canvas,#qrcode img){max-width:100%;height:auto}.bb-qr .alipay-row{flex-wrap:wrap;gap:20px}.bb-qr .alipay-col{margin:0!important}.bb-qr .countdown-box{background:#007aff!important;border-radius:8px!important;box-shadow:none!important}
/* H5 payment cards use a common shell; provider marks still identify the wallet. */
.bb-mobilepay .main{width:100%;max-width:560px;margin:30px auto;padding:0 20px}.bb-mobilepay :is(.bg-weixin,.bg-ali,.bg-qq):before{display:none}.bb-mobilepay .payment-logo{position:static;height:auto!important;margin:0!important;padding:20px 24px;background:#fff;border:1px solid #e5e5ea;border-bottom:0;border-radius:22px 22px 0 0;display:flex;gap:12px;align-items:center}.bb-mobilepay .payment-logo img{filter:none;width:42px!important;height:42px;object-fit:contain;background:#007aff;border-radius:12px;padding:8px}.bb-mobilepay .payment-logo img+span{float:none;color:#1c1c1e!important;font-size:17px!important;letter-spacing:0;margin:0!important}.bb-mobilepay .payment-content{position:static;margin:0!important;padding:24px;background:#fff;border:1px solid #e5e5ea;border-top:0;border-radius:0 0 22px 22px}.bb-mobilepay .content-info h1{font-size:36px!important;margin:0 0 24px}.bb-mobilepay .content-info li{font-size:13px;line-height:1.8;overflow-wrap:anywhere}.bb-mobilepay .content-footer{position:static;max-width:none;padding:20px 0 0;background:transparent;width:auto}.bb-mobilepay .content-footer .btn{font-size:15px;min-height:46px}
/* Result, confirmation, authentication and error messages. */
.bb-result :is(.page,.msg){position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%;height:auto;overflow:visible}.bb-result :is(.weui-msg,.weui_msg){width:calc(100% - 40px);max-width:520px;margin:36px auto;padding:36px 24px;background:#fff;border:1px solid #e5e5ea;border-radius:24px;text-align:center}.bb-result :is(.weui-msg__title,.weui_msg_title){font-size:24px;color:#1c1c1e!important;overflow-wrap:anywhere}.bb-result :is(.weui-msg__desc,.weui_msg_desc){font-size:14px;line-height:1.8;color:#63636b}.bb-result :is(.weui-cells,.weui_cells){font-size:13px;text-align:left;background:transparent}.bb-result :is(.weui-cell,.weui_cell){gap:15px}.bb-result :is(.weui-cell__ft,.weui_cell_ft){min-width:0;overflow-wrap:anywhere}.bb-result :is(.weui_icon_success,.weui-icon-success){color:#007aff}.bb-result :is(.weui-msg__extra-area,.weui_extra_area){position:static;margin-top:26px}.bb-result .weui-btn-area{margin:24px 0 0}.bb-result .hd{padding:0}.bb-static#return-page>p,.bb-static>#waiting{position:relative!important;left:auto!important;top:auto!important;width:calc(100% - 40px)!important;height:auto!important;max-width:520px;margin:60px auto!important;padding:30px!important;background:#fff!important;border:1px solid #e5e5ea!important;border-radius:22px!important;text-indent:0!important;font:15px/1.8 inherit!important;text-align:center}.bb-static#error-page>h3,.bb-static#error-page{font-size:15px;line-height:1.8}.bb-static#error-page>h3{margin:40px auto 20px;font-size:24px}.bb-static#error-page> :not(.bb-brandbar){max-width:760px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}.bb-static .waiting{background-color:#f2f2f7!important}
/* Rate workspaces and their separate access screen. */
.bb-rates .wrap{max-width:840px;padding:32px 24px}.bb-rates :is(.controls,.card){border:1px solid #e5e5ea;border-radius:20px;box-shadow:none;background:#fff}.bb-rates .summary{background:#fff;border:1px solid #e5e5ea;border-radius:20px;color:#63636b;padding:24px}.bb-rates .summary :is(dt,dd){color:#515158;font-size:16px;line-height:1.7}.bb-rates :is(button,.btn){background:#007aff!important;border-color:#007aff!important;color:#fff!important;border-radius:11px;min-height:46px}.bb-rates .modes{background:#e8e8ee}.bb-rates .modes input:checked+span{color:#007aff}.bb-rates .hero{padding:32px 24px!important;background:transparent!important;color:#1c1c1e!important}.bb-rates .hero:before,.bb-rates .hero:after,.bb-rates .hero-icon{display:none}.bb-rates .hero h1{font-size:28px!important;margin:0 0 12px!important}.bb-rates .hero p{font-size:14px;color:#63636b}.bb-rates .view{max-width:600px;margin:auto;padding-bottom:30px}.bb-rates .view>.main{margin:0;padding:0 24px;max-width:none}.bb-rates .card{padding:26px!important;margin:0!important}.bb-rates .field label{font-size:14px}.bb-rates .input-wrap{padding:10px 14px!important;border-radius:10px!important;min-height:48px}.bb-rates .input-wrap input{font-size:16px!important;padding:0!important;border:0!important;min-height:24px;width:100%}.bb-rates .input-wrap svg{width:20px;height:20px}.bb-rates .tip{font-size:12px!important;line-height:1.7!important;margin-top:20px!important}.bb-rates .tip svg{width:16px;height:16px;flex-shrink:0}
/* Static QR amount entry retains the original keyboard/payment event targets. */
.bb-amount-entry .layout-flex{width:100%;max-width:560px;margin:auto;background:transparent}.bb-amount-entry .content{background:#fff;border:1px solid #e5e5ea;border-radius:20px;margin:20px;padding:10px 0}.bb-amount-entry .sico_pay{background-image:url('/assets/img/bbpay-mark.png');border-radius:12px}.bb-amount-entry .set_amount{border-color:#e5e5ea}.bb-amount-entry .keyboard{background:#f2f2f7}.bb-amount-entry .pay_btn{background:#007aff!important;color:white!important}.bb-amount-entry .copyRight{color:#8e8e93;font-size:12px}.bb-amount-entry .modal-content{border-radius:20px}
/* Public information pages and technical documentation. */
.bb-front .bb-public-main{max-width:1040px;margin:28px auto;padding:28px;background:#fff;border:1px solid #e5e5ea;border-radius:22px;line-height:1.9;overflow-wrap:anywhere}.bb-front h1{font-size:28px}.bb-front h2{font-size:21px}.bb-front .bb-public-footer{max-width:1040px;padding:24px;margin:auto;color:#8e8e93;font-size:12px}.bb-front .bb-public-main img{max-width:100%;height:auto}.bb-doc table{border-collapse:collapse}.bb-doc :is(th,td){border-color:#e5e5ea!important}.bb-doc :is(pre,code){overflow-wrap:anywhere}.bb-doc .sidebar{background:#f8f8fa}.bb-notice{width:calc(100% - 40px);max-width:520px;margin:60px auto;padding:40px 28px;background:#fff;border:1px solid #e5e5ea;border-radius:24px;text-align:center}.bb-notice h1{font-size:28px;margin:0 0 18px}.bb-notice p{color:#63636b;line-height:1.8}.bb-notice a{display:inline-block;margin-top:18px;padding:12px 22px;background:#007aff;border-radius:11px;color:white;text-decoration:none}
@media(max-width:600px){.bb-brandbar{padding:18px 22px;min-height:68px}.bb-brandbar img{width:130px;height:31px}.bb-brandbar>span{font-size:11px}.bb-rates .wrap{padding:24px 16px}.bb-rates .summary{padding:20px 16px}.bb-rates .summary :is(dt,dd){font-size:14px}.bb-rates .summary div{grid-template-columns:1fr;gap:0}.bb-rates .summary .meta :is(dt,dd){font-size:12px}.bb-front .bb-public-main{margin:20px;padding:22px}.bb-qr .mod-ct{padding:20px!important}.bb-result :is(.weui-msg,.weui_msg){padding:28px 20px}.bb-result .container{width:100%;padding:0}.bb-rates .fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bb-rates .field{min-width:0}.bb-rates .field input{max-width:100%;font-size:16px}.bb-static#error-page{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){.bb-suite *{transition:none!important}}

.bb-static .waiting{height:calc(100svh - 76px)!important;top:76px;left:0}.bb-static .ip-attack{width:calc(100% - 40px);max-width:520px;margin:60px auto}.bb-static .ip-attack dl{border:1px solid #e5e5ea;border-radius:22px;box-shadow:none}.bb-static .ip-attack h1{font-size:24px;margin-bottom:20px}.bb-static .ip-attack p{font-size:14px;color:#63636b;line-height:1.8}.bb-system-message{overflow-wrap:anywhere}.bb-system-message h3{font-size:23px;margin:0 0 20px}.bb-system-message h2{font-size:20px}.bb-system-message p{font-size:14px}.bb-system-message a{margin:8px 0;padding:4px;background:transparent;color:#007aff}.bb-suite.bb-front .bb-brandbar{font-size:14px}

.bb-rates .view .btn{font-size:15px!important;letter-spacing:0!important;height:auto!important;line-height:1.5!important;padding:12px!important;box-shadow:none!important}.bb-front .bb-public-main .container{width:100%;padding:0}.bb-front .api_block{overflow-x:auto}.bb-front .bb-public-main table{max-width:100%;display:block;overflow-x:auto}.bb-front .bann{background:#f8f8fa!important;border:1px solid #e5e5ea;border-radius:14px}.bb-front .bann .h3{color:#1c1c1e!important}.bb-rates .view .field{margin-bottom:20px}.bb-rates .view .hero{padding-top:30px!important;padding-bottom:24px!important}

.bb-suite .app-header .navbar-header,.bb-suite .app-header .navbar-collapse{background:rgba(255,255,255,.95)!important;color:#515158!important}.bb-suite .app-header .navbar-header .navbar-brand{color:#1c1c1e!important}.bb-suite .app-header .navbar-header button,.bb-suite .app-header .navbar-collapse a{color:#63636b!important}.bb-suite.bbpay-login .app>.container{width:calc(100% - 40px)!important;max-width:460px!important;margin:40px auto!important;padding:24px;background:#fff;border:1px solid #e5e5ea;border-radius:22px}.bb-suite.bbpay-login .app>.container>.navbar-brand{justify-content:center;margin:0 0 18px}.bb-suite.bbpay-login .nav-tabs{margin-top:22px}.bb-suite.bbpay-login .form-validation .btn{min-height:46px}

.bb-suite .navbar-brand:before{line-height:1!important}.bb-suite .app-header .navbar-header button{background:transparent!important;border-color:transparent!important}.bb-mobilepay .content-footer .btn-success{background:#007aff!important;color:#fff!important;border-color:#007aff!important}
