:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif}*{box-sizing:border-box}body{color:#606266;background-color:#f3f3f4;min-width:320px;margin:0;font-size:14px}#root{min-height:100vh}:root{--primary-color:#1890ff;--primary-hover:#46a6ff;--success-color:#13ce66;--warning-color:#ffba00;--danger-color:#ff4949;--info-color:#909399;--text-primary:#303133;--text-regular:#606266;--text-secondary:#909399;--border-color:#dcdfe6;--border-color-light:#e4e7ed;--bg-color:#f3f3f4;--sidebar-bg:#304156;--sidebar-menu-hover:#263445;--sidebar-menu-text:#bfcbd9;--sidebar-menu-active:#1890ff}body{color:var(--text-regular);background-color:var(--bg-color);margin:0;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;font-size:14px}.boot-screen{height:100vh;color:var(--text-secondary);background-color:var(--bg-color);justify-content:center;align-items:center;font-size:16px;display:flex}a{color:var(--primary-color);cursor:pointer;text-decoration:none}a:hover{color:var(--primary-hover)}.login-shell{background-color:#2d3a4b;background-image:url(https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaQpb.svg);background-position:50%;background-size:cover;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-visual{display:none}.login-card{background:#fff;border-radius:6px;width:400px;padding:35px 35px 15px;box-shadow:0 2px 12px #0000001a}.login-card h2{text-align:center;color:#707070;letter-spacing:1px;margin:0 auto 30px;font-size:20px;font-weight:700}.login-card .eyebrow{display:none}.login-card label{color:var(--text-regular);margin-bottom:22px;font-size:14px;font-weight:400;display:block}.login-card input{box-sizing:border-box;border:1px solid var(--border-color);border-radius:4px;width:100%;height:38px;margin-top:8px;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.login-card input:focus{border-color:var(--primary-color);outline:none}.login-card .primary-button{background:var(--primary-color);border-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;height:38px;margin-top:10px;margin-bottom:20px;font-size:14px;transition:all .1s}.login-card .primary-button:hover{background:var(--primary-hover)}.form-error{color:var(--danger-color);text-align:center;margin-bottom:15px;font-size:12px}.admin-shell{height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--sidebar-bg);z-index:1001;flex-direction:column;width:200px;transition:width .28s;display:flex;box-shadow:2px 0 6px #00152959}.sidebar-brand{color:#fff;background:#2b2f3a;justify-content:center;align-items:center;height:50px;padding:0;font-size:16px;font-weight:600;line-height:50px;display:flex;overflow:hidden}.sidebar-brand .brand-mark,.sidebar-brand span{display:none}.sidebar nav{flex-direction:column;flex:1;padding-top:10px;display:flex}.sidebar nav button{height:50px;color:var(--sidebar-menu-text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:0 20px;font-size:14px;line-height:50px;transition:all .3s;display:flex}.sidebar nav button:hover{background-color:var(--sidebar-menu-hover)}.sidebar nav button.active{color:var(--sidebar-menu-active)}.sidebar nav button span{display:none}.sidebar nav button:before{content:"•";color:inherit;margin-right:10px;font-size:18px}.workspace{background:var(--bg-color);flex-direction:column;flex:1;display:flex;overflow-y:auto}.topbar{z-index:1000;background:#fff;justify-content:space-between;align-items:center;height:50px;min-height:50px;margin-bottom:0;padding:0 20px;display:flex;box-shadow:0 1px 4px #00152914}.topbar .eyebrow{display:none}.topbar h1{color:#97a8be;margin:0;font-size:14px;font-weight:400}.topbar h1:before{content:"首页 / "}.top-actions button,.ghost-button{color:#5a5e66;cursor:pointer;background:0 0;border:none;padding:5px 10px;font-size:14px;transition:background .3s}.top-actions button:hover,.ghost-button:hover{background:#00000006}.page-grid,.table-card{background:#fff;border-radius:4px;margin:20px;padding:20px;box-shadow:0 2px 12px #0000001a}.page-grid{box-shadow:none;background:0 0;grid-template-columns:repeat(4,1fr);gap:20px;padding:0;display:grid}.metric-card,.chart-card{background:#fff;border-radius:4px;padding:20px;box-shadow:0 2px 12px #0000001a}.metric-card span{color:#00000073;font-size:14px;font-weight:700}.metric-card strong{color:#666;margin:10px 0;font-size:24px;display:block}.metric-card small{color:#999;font-size:12px}.chart-card.wide{grid-column:span 2}button{white-space:nowrap;cursor:pointer;border:1px solid var(--border-color);color:var(--text-regular);-webkit-appearance:none;text-align:center;box-sizing:border-box;background:#fff;border-radius:3px;outline:none;margin:0;padding:9px 15px;font-size:12px;font-weight:500;line-height:1;transition:all .1s;display:inline-block}button:hover{color:var(--primary-color);background-color:#ecf5ff;border-color:#c6e2ff}.primary-button{color:#fff;background-color:var(--primary-color);border-color:var(--primary-color)}.primary-button:hover{background:var(--primary-hover);border-color:var(--primary-hover);color:#fff}.primary-button.slim{padding:7px 15px}.filter-bar{flex-wrap:wrap;gap:10px;margin-bottom:20px;display:flex}.filter-bar input{border:1px solid var(--border-color);width:240px;height:36px;color:var(--text-regular);box-sizing:border-box;border-radius:4px;padding:0 15px;font-size:13px;line-height:36px}.filter-bar input:focus{border-color:var(--primary-color);outline:none}.table-wrap{border:1px solid var(--border-color-light);border-bottom:none;overflow-x:auto}.business-data-table{border-collapse:collapse;width:100%;color:var(--text-regular);min-width:1000px;font-size:13px}.business-data-table th{color:#515a6e;text-align:left;border-bottom:1px solid var(--border-color-light);white-space:nowrap;background-color:#f8f8f9;padding:12px 10px;font-weight:700}.business-data-table td{border-bottom:1px solid var(--border-color-light);padding:12px 10px}.business-data-table tr:hover td{background-color:#f5f7fa}td button{color:var(--primary-color);background:0 0;border:none;margin-right:10px;padding:0;font-size:13px}td button:hover{color:var(--primary-hover);background:0 0;border-color:#0000}.sticky-action{background:inherit;z-index:1;position:sticky;right:0}th.sticky-action{z-index:2;background-color:#f8f8f9}td.sticky-action{background-color:#fff}.business-data-table tr:hover td.sticky-action{background-color:#f5f7fa}.switch{cursor:pointer;vertical-align:middle;background-color:#dcdfe6;border-radius:10px;width:40px;height:20px;transition:border-color .3s,background-color .3s;display:inline-block;position:relative}.switch .switch-core{background-color:#fff;border-radius:100%;width:16px;height:16px;transition:all .3s;position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000001f}.switch.is-checked{background-color:var(--primary-color)}.switch.is-checked .switch-core{margin-left:-18px;left:100%}.switch.is-disabled{cursor:not-allowed;opacity:.6}.badge{border-radius:2px;padding:0 5px;font-size:12px;line-height:20px;display:inline-block}.badge.ok{color:var(--success-color);background:#f0f9eb;border:1px solid #e1f3d8}.badge.warn{color:var(--warning-color);background:#fdf6ec;border:1px solid #faecd8}.badge.bad{color:var(--danger-color);background:#fef0f0;border:1px solid #fde2e2}.badge.info{color:var(--info-color);background:#f4f4f5;border:1px solid #e9e9eb}.pagination-bar{color:var(--text-regular);justify-content:flex-end;align-items:center;margin-top:20px;font-size:13px;display:flex}.pagination-bar button{height:28px;color:var(--text-regular);background:#f4f4f5;border:none;border-radius:2px;margin:0 5px;padding:0 10px;line-height:28px}.pagination-bar button:disabled{color:#c0c4cc;cursor:not-allowed}.pagination-bar button:not(:disabled):hover{color:var(--primary-color)}.custom-select{width:100%;position:relative}.filter-bar .custom-select{width:240px}.side-form .custom-select{width:100%}.custom-select-trigger{border:1px solid var(--border-color);cursor:pointer;box-sizing:border-box;background-color:#fff;border-radius:4px;justify-content:space-between;align-items:center;height:36px;padding:0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1);display:flex}.custom-select.is-open .custom-select-trigger,.custom-select-trigger:hover{border-color:var(--primary-color)}.custom-select-value{color:var(--text-regular);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.custom-select-placeholder{color:#c0c4cc;font-size:13px}.custom-select-arrow{color:#c0c4cc;font-size:10px;transition:transform .3s;transform:scale(.8)}.custom-select.is-open .custom-select-arrow{transform:scale(.8)rotate(-180deg)}.custom-select-dropdown{border:1px solid var(--border-color-light);z-index:2005;opacity:0;visibility:hidden;transform-origin:top;background-color:#fff;border-radius:4px;width:100%;max-height:200px;transition:opacity .3s,transform .3s,visibility .3s;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;transform:scaleY(0);box-shadow:0 2px 12px #0000001a}.custom-select.is-open .custom-select-dropdown{opacity:1;visibility:visible;transform:scaleY(1)}.custom-select-option{height:34px;color:var(--text-regular);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:0 15px;font-size:13px;line-height:34px;overflow:hidden}.custom-select-option:hover{background-color:#f5f7fa}.custom-select-option.is-selected{color:var(--primary-color);font-weight:700}.custom-select.is-disabled .custom-select-trigger{cursor:not-allowed;background-color:#f5f7fa;border-color:#e4e7ed}.custom-select.is-disabled .custom-select-value{color:#c0c4cc}.form-modal-backdrop{z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.side-form{background:#fff;border-radius:2px;flex-direction:column;width:500px;max-height:90vh;animation:.3s dialog-fade-in;display:flex;overflow-y:auto;box-shadow:0 1px 3px #0000004d}@keyframes dialog-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.side-form .form-head{justify-content:space-between;align-items:center;padding:20px 20px 10px;display:flex}.side-form .form-head h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:400;line-height:24px}.side-form .form-head button{color:var(--info-color);cursor:pointer;background:0 0;border:none;padding:0;font-size:16px}.side-form .form-head button:hover{color:var(--primary-color)}.side-form label{color:var(--text-regular);grid-template-columns:100px 1fr;align-items:center;gap:15px;margin-bottom:22px;padding:0 20px;font-size:14px;display:grid}.side-form label:first-of-type{margin-top:20px}.form-detail-row{color:var(--text-regular);grid-template-columns:100px 1fr;align-items:start;gap:15px;margin-bottom:22px;padding:0 20px;font-size:14px;display:grid}.form-detail-row:first-of-type{margin-top:20px}.form-detail-label{line-height:36px}.form-detail-value{min-width:0}.json-detail{box-sizing:border-box;border:1px solid var(--border-color);width:100%;max-height:320px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:#f8f8f9;border-radius:4px;margin:0;padding:10px 12px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.5;overflow:auto}.side-form input,.side-form textarea,.side-form select{border:1px solid var(--border-color);width:100%;height:36px;color:var(--text-regular);box-sizing:border-box;background-color:#fff;border-radius:4px;padding:0 15px;line-height:36px}.side-form input:disabled,.side-form textarea:disabled,.side-form select:disabled{color:#c0c4cc;cursor:not-allowed;background-color:#f5f7fa;border-color:#e4e7ed}.side-form textarea{height:auto;min-height:80px;padding:5px 15px;line-height:1.5}.side-form input:focus,.side-form textarea:focus,.side-form select:focus{border-color:var(--primary-color);outline:none}.side-form .primary-button{align-self:flex-end;margin:0 20px 20px auto}.notice{z-index:3000;color:var(--success-color);background-color:#f0f9eb;border-color:#e1f3d8;border-radius:4px;align-items:center;padding:15px 15px 15px 20px;animation:.3s notice-fade-in;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0000001a}@keyframes notice-fade-in{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.notice strong{margin-right:10px}.notice:before{display:none}.section-head{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-head h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:500}.mini-bars{align-items:flex-end;gap:10px;height:150px;display:flex}.bar-item{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.bar-track{background:#f5f7fa;border-radius:2px 2px 0 0;flex:1;align-items:flex-end;width:20px;display:flex}.bar-fill{background:var(--primary-color);border-radius:2px 2px 0 0;width:100%;transition:height .3s}.bar-item span{color:var(--text-secondary);margin-top:5px;font-size:12px}.field-value{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:200px;display:inline-block;overflow:hidden}.pay-page{color:#2f2418;width:min(1440px,100% - 32px);margin:24px auto 48px;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.pay-hero,.pay-panel,.pay-metric-card,.pay-table-shell,.pay-chart-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0f0;border:1px solid #d9c7a7e6;box-shadow:0 18px 40px #402c111f}.pay-hero{border-radius:28px;margin-bottom:18px;padding:24px}.pay-hero-top,.pay-panel-title-row,.pay-toolbar,.pay-status-row,.pay-pagination{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.pay-title-box h1{letter-spacing:0;margin:0;font-size:34px}.pay-title-box p,.pay-muted,.pay-helper{color:#7c6a58}.pay-title-box p{margin:10px 0 0;font-size:15px}.pay-readonly-badge{color:#166534;vertical-align:middle;background:#1665341f;border:1px solid #16653438;border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.pay-config-grid.single{width:min(260px,100%)}.pay-field{color:#7c6a58;text-transform:uppercase;letter-spacing:0;flex-direction:column;gap:6px;font-size:12px;display:flex}.pay-field input,.pay-field select{color:#2f2418;box-sizing:border-box;background:#ffffffe0;border:1px solid #d9c7a7;border-radius:12px;outline:none;width:100%;padding:12px 14px;font-size:14px}.pay-field input:focus,.pay-field select:focus{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.pay-hero-actions,.pay-tab-actions{flex-wrap:wrap;gap:10px;display:flex}.pay-hero-actions{margin-top:16px}.pay-btn-primary,.pay-btn-secondary{border-radius:999px;padding:11px 18px;font-size:14px;font-weight:600}.pay-btn-primary{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%);border:0;box-shadow:0 14px 24px #0f766e33}.pay-btn-primary:hover{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#115e59 100%)}.pay-btn-secondary{color:#2f2418;background:#fffffff2;border:1px solid #d9c7a7}.pay-status-row{align-items:center;margin-top:18px}.pay-status-chip,.pay-badge{border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.pay-status-chip{background:#ffffffe0;border:1px solid #d9c7a7}.pay-status-chip.connected,.pay-badge-success{color:#166534;background:#1665341f;border:1px solid #16653438}.pay-status-chip.disconnected,.pay-badge-failed{color:#b91c1c;background:#b91c1c1f;border:1px solid #b91c1c38}.pay-badge-pending{color:#b45309;background:#b453091f;border:1px solid #b4530938}.pay-badge-neutral{color:#7c6a58;background:#7c6a5824;border:1px solid #0000}.pay-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.pay-metric-card{border-radius:22px;min-height:132px;padding:18px;position:relative;overflow:hidden}.pay-metric-card:after{content:"";background:#0f766e14;border-radius:50%;width:88px;height:88px;position:absolute;bottom:-18px;right:-18px}.pay-metric-card h3{color:#7c6a58;letter-spacing:0;text-transform:uppercase;margin:0;font-size:13px}.pay-metric-value{margin-top:14px;font-size:30px;font-weight:800;line-height:1}.pay-metric-sub{color:#7c6a58;margin-top:10px;font-size:13px;line-height:1.5}.pay-charts-section{grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px;display:grid}.pay-chart-card{border-radius:28px;padding:20px}.pay-chart-card h3,.pay-panel-title-row h2{color:#2f2418;margin:0 0 16px}.pay-chart{height:280px;position:relative}.pay-chart svg{background:linear-gradient(#ffffff80,#0000);border-radius:16px;width:100%;height:245px}.pay-line{fill:none;stroke-width:2.8px;vector-effect:non-scaling-stroke}.pay-line-iap{stroke:#0f766e}.pay-line-virtual{stroke:#b45309}.pay-chart-axis{color:#7c6a58;justify-content:space-between;margin-top:8px;font-size:12px;display:flex}.pay-channel-grid{grid-template-columns:repeat(2,1fr);align-items:center;gap:14px;min-height:280px;display:grid}.pay-channel-grid div{background:#ffffffb8;border:1px solid #d9c7a7d9;border-radius:18px;padding:18px}.pay-channel-grid strong{color:#2f2418;margin-bottom:8px;font-size:26px;display:block}.pay-channel-grid span{color:#7c6a58}.pay-mini-bars{align-items:flex-end;gap:10px;height:280px;display:flex}.pay-bar-item{flex-direction:column;flex:1;align-items:center;min-width:0;height:100%;display:flex}.pay-bar-track{background:#0f766e14;border-radius:6px 6px 0 0;flex:1;align-items:flex-end;width:min(28px,80%);display:flex}.pay-bar-fill{background:#0f766e;border-radius:6px 6px 0 0;width:100%}.pay-bar-item span{color:#7c6a58;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:8px;font-size:12px;overflow:hidden}.pay-panel{border-radius:28px;padding:20px}.pay-tabs{background:#fffc;border:1px solid #d9c7a7;border-radius:999px;gap:8px;padding:6px;display:inline-flex}.pay-tabs button{color:#7c6a58;background:0 0;border:0;border-radius:999px;min-width:120px;padding:10px 16px}.pay-tabs button.active{color:#2f2418;background:linear-gradient(135deg,#fff6df 0%,#fde8bf 100%);box-shadow:0 6px 20px #755c2424}.pay-toolbar{align-items:center;margin-bottom:14px}.pay-filter-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.pay-table-shell{border-radius:22px;overflow:hidden}.pay-table-scroll{max-height:68vh;overflow:auto}.pay-table-scroll table{border-collapse:collapse;width:100%;min-width:1240px}.pay-table-scroll th,.pay-table-scroll td{vertical-align:top;text-align:left;border-bottom:1px solid #d9c7a7b3;padding:14px 12px;font-size:13px}.pay-table-scroll th{z-index:2;color:#7c6a58;background:#fff6dffa;position:sticky;top:0}.pay-table-scroll tr:hover td{background:#fff8e8b3}.pay-stack{flex-direction:column;gap:6px;display:flex}.pay-cell-strong{color:#2f2418;font-weight:700}.pay-empty-state{color:#7c6a58;padding:48px 18px;text-align:center!important}.pay-pagination{color:#7c6a58;align-items:center;padding:14px 6px 4px}.pay-modal{z-index:3000;background:#24190e7a;justify-content:center;align-items:center;padding:18px;display:none;position:fixed;inset:0}.pay-modal.active{display:flex}.pay-modal-card{background:#fff8ec;border:1px solid #d9c7a7f2;border-radius:28px;width:min(980px,100%);max-height:calc(100vh - 36px);padding:22px;overflow:auto;box-shadow:0 30px 80px #31231247}.pay-modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.pay-modal-head h3{margin:0;font-size:24px}.pay-modal-close{color:#7c6a58;background:#7c6a581f;border-radius:50%;width:42px;height:42px;padding:0}.pay-summary-grid{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.pay-summary-box,.pay-json-box,.pay-history-box{background:#ffffffb8;border:1px solid #d9c7a7d9;border-radius:22px;padding:18px}.pay-detail-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.pay-json-box pre,.pay-history-box pre{white-space:pre-wrap;word-break:break-word;color:#432f1d;margin:0;font-size:12px;line-height:1.55}@media (width<=1200px){.pay-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.pay-filter-grid,.pay-charts-section,.pay-summary-grid,.pay-detail-grid{grid-template-columns:1fr}}@media (width<=768px){.pay-page{width:calc(100% - 18px);margin-top:12px}.pay-hero,.pay-panel{border-radius:22px;padding:16px}.pay-metrics{grid-template-columns:1fr 1fr}.pay-title-box h1{font-size:28px}.pay-table-scroll table{min-width:980px}}
