*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:#1f2937;background:#f5f7fa;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}a{color:#1677ff}.app-loading{background:#fff;place-items:center;min-height:100vh;display:grid}.app-loading:after{content:"";border:3px solid #dfe5e8;border-top-color:#1677ff;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.site-layout{background:#fff;min-height:100vh}.site-header{background:#12263f;align-items:center;gap:36px;padding:0 6vw;display:flex}.site-header .ant-menu{background:0 0;flex:1;min-width:0}.brand,.portal-brand{white-space:nowrap;color:#fff!important;margin:0!important}.site-content{background:#fff}.hero{background:linear-gradient(120deg,#eef6ff,#fff 55%,#eaf7f2);min-height:460px;padding:110px max(6vw,50vw - 590px)}.hero .ant-typography{max-width:680px}.hero h1{font-size:clamp(34px,5vw,56px)}.feature-band,.page-section{max-width:1180px;margin:0 auto;padding:72px 24px}.feature-icon{color:#1677ff;font-size:32px}.site-footer{text-align:center;background:#f5f7fa}.portal-layout{min-height:100vh}.development-doc-chapters{gap:20px;display:grid}.development-doc-chapters .ant-card{margin-bottom:0}.development-doc-code-wrap{margin-top:16px}.development-doc-language{margin-bottom:6px;display:block}.development-doc-code{white-space:pre;background:#f5f7fa;border-radius:6px;margin:0;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.admin-sider{border-right:1px solid #e5e7eb;background:#fff!important}.admin-sider .portal-brand{color:#1f2937!important}.admin-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.admin-sider .ant-menu{color:#374151;background:#fff;border-inline-end:0!important}.admin-sider .ant-menu-root{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#0f172a2e transparent;flex:1;min-height:0;overflow-y:auto}.admin-sider .ant-menu-root::-webkit-scrollbar{width:6px}.admin-sider .ant-menu-root::-webkit-scrollbar-track{background:0 0}.admin-sider .ant-menu-root::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:3px}.admin-sider .ant-menu-root::-webkit-scrollbar-thumb:hover{background:#0f172a52}.admin-sider .ant-menu-item:not(.ant-menu-item-disabled):hover{color:#1677ff;background:#f5f8ff}.admin-sider .ant-menu-item-selected{color:#1677ff;background:#e6f4ff}.admin-sider .ant-menu-submenu-title{color:#374151}.admin-sider .ant-menu-submenu-title:hover{color:#1677ff;background:#f5f8ff}.admin-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#1677ff;font-weight:500}.user-sider{border-right:1px solid #e5e7eb;background:#fff!important}.user-sider .portal-brand{color:#1f2937!important}.user-sider .ant-layout-sider-children{flex-direction:column;height:100%;display:flex;overflow:hidden}.user-sider .ant-menu{color:#374151;background:#fff;border-inline-end:0!important}.user-sider .ant-menu-root{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#0f172a2e transparent;flex:1;min-height:0;overflow-y:auto}.user-sider .ant-menu-root::-webkit-scrollbar{width:6px}.user-sider .ant-menu-root::-webkit-scrollbar-track{background:0 0}.user-sider .ant-menu-root::-webkit-scrollbar-thumb{background:#0f172a2e;border-radius:3px}.user-sider .ant-menu-root::-webkit-scrollbar-thumb:hover{background:#0f172a52}.user-sider .ant-menu-item:not(.ant-menu-item-disabled):hover{color:#1677ff;background:#f5f8ff}.user-sider .ant-menu-item-selected{color:#1677ff;background:#e6f4ff}.user-sider .ant-menu-submenu-title{color:#374151}.user-sider .ant-menu-submenu-title:hover{color:#1677ff;background:#f5f8ff}.user-sider .ant-menu-submenu-selected>.ant-menu-submenu-title{color:#1677ff;font-weight:500}.user-profile-page{min-width:0}.user-profile-page h2{margin-top:0}.user-finance-page{min-width:0}.user-finance-page h2{margin-top:0}.user-finance-alert{margin-top:20px}.user-finance-empty{padding:64px 0 36px}.user-transaction-filters{row-gap:12px;margin-bottom:20px}.user-transaction-filters .ant-input-affix-wrapper{width:300px}.user-transaction-filters .ant-select,.user-transaction-filters .ant-input-number{width:130px}.admin-bills-page{min-width:0}.admin-bills-page h3{margin-top:0}.admin-bills-empty{padding:64px 0 36px}.profile-contact-row{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.profile-contact-row+.profile-contact-row{border-top:1px solid #f0f0f0}.contact-code-button{color:#1677ff;min-width:112px}.portal-brand{padding:22px 24px}.portal-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:0 24px;display:flex}.portal-content{background:#fff;margin:24px;padding:24px}.auth-page{background:#eef6ff;place-items:center;min-height:100vh;padding:24px;display:grid}.admin-auth{background:#eef2f5}.auth-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(420px,100%);padding:36px;box-shadow:0 14px 40px #0f172a1a}.auth-panel .ant-alert{margin-bottom:24px}.full-width{width:100%}.empty-icon{color:#b8c2cc;font-size:64px}.section-title{margin-top:32px!important}.customer-page{min-width:0}.customer-page h3{margin:0}.customer-filters{row-gap:12px;margin:24px 0}.customer-filters .ant-input-affix-wrapper{width:min(360px,70vw)}.customer-filters .ant-select{width:140px}.settings-page{min-width:0;max-width:1080px}.settings-page h3{margin-top:0}.settings-page .ant-card,.settings-page>.ant-alert,.settings-page>.ant-form>.ant-alert{margin-bottom:20px}.captcha-scenario-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px;margin-bottom:8px;display:grid}.captcha-scenario-grid .ant-form-item{margin-bottom:16px}.captcha-login-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.captcha-login-policy-grid .ant-radio-group{flex-wrap:wrap;gap:12px;display:flex}.captcha-login-policy-grid+.ant-alert{margin-bottom:20px}.business-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 24px;display:grid}.business-policy-grid+.ant-alert{margin-bottom:20px}.captcha-field{margin-bottom:18px}.captcha-field .ant-alert{margin-top:12px}.captcha-trigger{min-height:44px}.captcha-trigger-complete{color:#389e0d;background:#f6ffed;border-color:#95de64}.captcha-modal-row{grid-template-columns:minmax(0,1fr) 180px 40px;align-items:center;gap:8px;display:grid}.captcha-image{cursor:pointer;background:#f5f5f5;border:1px solid #d9d9d9;border-radius:6px;width:180px;height:56px;padding:0;overflow:hidden}.captcha-image img{object-fit:contain;width:100%;height:100%;display:block}.ant-modal .captcha-modal-row+.ant-alert{margin-top:12px}.captcha-plugin-container{opacity:0;pointer-events:none;width:1px;height:1px;position:fixed;overflow:hidden}.plugin-page h3{margin:0}.plugin-page .ant-input-search{width:280px}.plugin-page .ant-select{width:150px}.switch-label{margin-left:8px}.pro-auth-page{background:#fff;justify-content:center;align-items:center;min-height:100vh;padding:72px 24px;display:flex;position:relative}.pro-auth-page>div{width:100%}.pro-auth-page .ant-pro-form-login-container{width:368px;max-width:100%}.pro-auth-page-register .ant-pro-form-login-container{width:620px}.pro-auth-page .ant-pro-form-login-main{width:100%}.pro-auth-page .ant-pro-form-login-header{height:auto;margin-bottom:10px;line-height:normal}.pro-auth-page .ant-pro-form-login-logo{width:auto;max-width:min(320px,100%);height:auto;margin-inline-end:0}.pro-auth-brand-image{object-fit:contain;width:auto;max-width:min(320px,100%);height:auto;max-height:72px;display:block}.pro-auth-brand-text{color:#17212b;text-align:center;font-size:30px;font-weight:600;line-height:1.25;display:block}.pro-auth-page .ant-pro-form-login-title{color:#17212b;letter-spacing:0;font-size:30px}.pro-auth-page .ant-pro-form-login-desc{color:#7a8490;margin-block:10px 34px;font-size:14px}.pro-auth-page .ant-alert,.pro-auth-methods{margin-bottom:22px}.pro-auth-code-row{grid-template-columns:minmax(0,1fr) 132px;gap:12px;display:grid}.pro-auth-code-row .ant-btn{min-height:44px}.pro-auth-page .ant-form-item,.pro-auth-code-row .ant-form-item{margin-bottom:22px}.pro-auth-page .ant-input-affix-wrapper{border-radius:6px;min-height:44px}.pro-auth-page .ant-pro-form-login-main>.ant-form>.ant-form-item:last-of-type .ant-btn{min-height:44px;font-weight:600}.pro-auth-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pro-auth-row{justify-content:space-between;margin:-4px 0 22px;font-size:14px;display:flex}.pro-auth-page .ant-pro-form-login-main .ant-pro-form-login-other{margin-block-start:22px;line-height:normal}.pro-auth-switch{border-top:1px solid #edf0f2;justify-content:center;gap:8px;padding-top:22px;display:flex}.pro-auth-switch a{font-weight:500}.social-login{width:100%;padding-top:4px}.social-login-title{color:#98a2b3;align-items:center;gap:12px;font-size:13px;display:flex}.social-login-title:before,.social-login-title:after{content:"";background:#eaecf0;flex:1;height:1px}.social-login-providers{flex-wrap:wrap;justify-content:center;gap:14px;padding-top:18px;display:flex}.social-login-providers a{background:#fff;border:1px solid #e4e7ec;border-radius:50%;place-items:center;width:42px;height:42px;transition:border-color .2s,box-shadow .2s;display:grid}.social-login-providers a:hover{border-color:#1677ff;box-shadow:0 2px 8px #1677ff29}.social-login-providers img{object-fit:contain;width:24px;height:24px}.social-callback{background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100vh;display:flex}.pro-auth-agreement{margin-top:2px}.pro-auth-agreement .ant-checkbox-wrapper{color:#7a8490;align-items:flex-start;line-height:1.6}.pro-auth-agreement .ant-checkbox{margin-top:4px}.legal-editor .ql-toolbar{border-radius:6px 6px 0 0}.legal-editor .ql-container{border-radius:0 0 6px 6px;min-height:360px;font-size:15px}.legal-editor .ql-editor{min-height:360px;line-height:1.7}.mail-template-manager>.ant-flex{margin-bottom:20px}.mail-template-manager>.ant-flex .ant-typography{margin-bottom:0}.mail-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 28px;display:grid}.mail-template-grid section{flex-direction:column;min-width:0;display:flex}.mail-template-grid h5{color:#475467;margin:0 0 10px}.mail-template-grid .ant-table-wrapper{border:1px solid #e5e7eb;flex:1;display:flex}.mail-template-grid .ant-spin-nested-loading,.mail-template-grid .ant-spin-container,.mail-template-grid .ant-table,.mail-template-grid .ant-table-container{flex-direction:column;flex:1;width:100%;display:flex}.mail-template-grid .ant-table-content{flex:1}.mail-template-grid .ant-table-cell{overflow-wrap:anywhere}.template-name-button{white-space:normal;text-align:left;height:auto;padding:0}.template-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.mail-template-editor .ql-toolbar{border-radius:6px 6px 0 0}.mail-template-editor .ql-container{border-radius:0 0 6px 6px;min-height:260px;font-size:14px}.mail-template-editor .ql-editor{min-height:260px;line-height:1.7}.sms-template-grid{grid-template-columns:minmax(0,1fr);gap:22px;display:grid}.sms-template-grid section{min-width:0}.sms-template-grid h5{color:#475467;margin:0 0 10px}.sms-template-grid .ant-table-wrapper{border:1px solid #e5e7eb}.sms-template-grid .ant-table-cell{overflow-wrap:anywhere}.sms-batch-bar{background:#f8fafc;border:1px solid #e5e7eb;margin-top:20px;padding:14px 16px}.sms-variable-table{margin:-8px 0 22px}.sms-variable-table .ant-table{border:1px solid #e5e7eb}.message-log-filters{row-gap:12px;margin-bottom:20px}.message-log-filters .ant-input-affix-wrapper{width:260px}.message-log-filters .ant-input{width:190px}.message-log-filters .ant-select{width:140px}.transaction-flow-page{min-width:0}.transaction-flow-page h3{margin-top:0}.transaction-flow-categories{margin-bottom:8px}.transaction-flow-summary{color:#667085;margin-bottom:16px;font-size:13px}.transaction-flow-filters{background:#f8fafc;border:1px solid #e5e7eb;margin-bottom:20px;padding:16px}.transaction-flow-filter-actions{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.transaction-flow-filter-actions>.ant-form-item{flex:1;max-width:520px;margin-bottom:0}.transaction-flow-advanced{border-top:1px solid #e5e7eb;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 16px;margin-top:18px;padding-top:18px;display:grid}.transaction-flow-advanced .ant-input-number,.transaction-flow-advanced .ant-select{width:100%}.transaction-flow-range-separator{color:#667085;background:#fff;border-block:1px solid #d9d9d9;place-items:center;min-width:36px;display:grid}.legal-page{background:#f5f7fa;min-height:100vh;padding:48px 24px}.legal-page>section{background:#fff;border:1px solid #e5e7eb;width:min(960px,100%);min-height:calc(100vh - 96px);margin:0 auto;padding:40px 48px}.legal-page-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:24px;display:flex}.legal-page-header span{color:#667085;font-size:14px}.legal-page-header h1{color:#17212b;margin:6px 0 0;font-size:30px}.legal-page-state{color:#667085;text-align:center;padding:80px 0}.legal-content{color:#344054;overflow-wrap:anywhere;padding-top:32px;font-size:16px;line-height:1.85}.legal-content img{max-width:100%;height:auto}.legal-content table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.legal-content th,.legal-content td{border:1px solid #d0d5dd;padding:8px 12px}.pro-auth-footer{white-space:nowrap;font-size:12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.route-error{text-align:center;background:#f5f7fa;place-items:center;min-height:100vh;padding:24px;display:grid}.route-error section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:min(420px,100%);padding:36px}.route-error h1{color:#17212b;margin:0 0 12px;font-size:26px}.route-error p{color:#667085;margin:0 0 24px;line-height:1.6}.route-error button{color:#fff;min-height:40px;font:inherit;cursor:pointer;background:#1677ff;border:0;border-radius:6px;padding:0 22px}@media (width<=800px){.mail-template-grid,.template-form-grid{grid-template-columns:1fr}.mail-template-grid .ant-table-wrapper{flex:none}.captcha-scenario-grid,.transaction-flow-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.site-header{gap:8px;padding:0 16px}.brand{font-size:16px!important}.hero{min-height:400px;padding:72px 24px}.portal-content{margin:12px;padding:16px}.auth-panel{padding:24px}.pro-auth-page{align-items:flex-start;padding:28px 20px 64px}.pro-auth-page>div,.pro-auth-page .ant-pro-form-login-container,.pro-auth-page .ant-pro-form-login-main,.pro-auth-page .ant-pro-form-login-main>form,.pro-auth-page .ant-pro-form-login-other{width:100%;min-width:0;max-width:100%}.pro-auth-brand-image{max-width:min(260px,100%);max-height:60px}.pro-auth-brand-text,.pro-auth-page .ant-pro-form-login-title{font-size:24px}.pro-auth-page .ant-pro-form-login-desc{margin-block:8px 24px}.pro-auth-page .ant-form-item{margin-bottom:16px}.pro-auth-code-row{grid-template-columns:minmax(0,1fr) 116px;gap:8px}.pro-auth-code-row .ant-btn{padding-inline:10px;font-size:13px}.pro-auth-grid{grid-template-columns:1fr;gap:0}.pro-auth-row{gap:16px;margin-bottom:18px}.pro-auth-switch{flex-wrap:wrap;padding-top:18px}.pro-auth-footer{white-space:normal;text-align:center;max-width:calc(100vw - 40px);bottom:18px}.legal-page{padding:0}.legal-page>section{border:0;min-height:100vh;padding:28px 20px}.legal-page-header{align-items:center}.legal-page-header h1{font-size:24px}.legal-content{padding-top:24px;font-size:15px}.route-error section{padding:28px 20px}.captcha-scenario-grid,.captcha-login-policy-grid,.business-policy-grid{grid-template-columns:1fr}}@media (width<=500px){.captcha-modal-row{grid-template-columns:minmax(0,1fr) 40px}.captcha-modal-row>.ant-input-affix-wrapper{grid-column:1/-1}.captcha-modal-row .captcha-image{grid-area:2/1}.captcha-modal-row>.ant-btn{grid-area:2/2}}@media (width<=600px){.transaction-flow-filter-actions{flex-direction:column;align-items:stretch}.transaction-flow-filter-actions>.ant-form-item{width:100%;max-width:none}.transaction-flow-filter-actions>.ant-space{flex-wrap:wrap}.transaction-flow-advanced{grid-template-columns:1fr}}
