:root{--primary:#2f6df6;--primary-hover:#4a82ff;--primary-light:#eaf1ff;--primary-muted:#d6e5ff;--accent-admin:#df5160;--accent-admin-light:#fff2f3;--accent-merchant:#2f6df6;--accent-merchant-light:#ecf3ff;--accent-supplier:#0fa97a;--accent-supplier-light:#e9fcf4;--color-money:#d97a1a;--color-success:#129b6f;--color-warning:#d98a28;--color-danger:#d84b5b;--color-info:#2f6df6;--success-bg:#eefbf4;--warning-bg:#fff7ec;--danger-bg:#fff4f5;--info-bg:#edf4ff;--sidebar-bg:#141428;--sidebar-bg-hover:#ffffff14;--page-bg:#eef2f7;--page-bg-gradient:linear-gradient(165deg, #f7f9fd 0%, #edf2f9 48%, #e8eef7 100%);--card-radius:10px;--header-height:64px;--sidebar-width:248px;--text-primary:#1d2129;--text-secondary:#86909c;--text-muted:#4e5969;--border-color:#dde3ed;--border-light:#edf1f6;--card-shadow:0 1px 2px #0f172a0d, 0 6px 18px #0f172a0d;--card-shadow-hover:0 2px 6px #0f172a12, 0 10px 24px #0f172a14;--table-head-bg:#f4f7fc}*{box-sizing:border-box}html,body,#app{background:var(--page-bg);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.page-container{width:100%;min-width:0;max-width:none}.page-card{border-radius:var(--card-radius);border:1px solid var(--border-color);box-shadow:var(--card-shadow);background:#fff;transition:box-shadow .25s;overflow:hidden}.page-card:hover{box-shadow:var(--card-shadow-hover)}.page-card-header{border-bottom:1px solid var(--border-light);background:linear-gradient(#fff 0%,#fafbfc 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;display:flex}.page-card-body{padding:16px 20px 18px}.page-card-body.flush-top{padding-top:12px}.page-card-body.with-toolbar{padding-top:8px}.page-title{color:var(--text-primary);letter-spacing:-.01em;font-size:18px;font-weight:700;line-height:1.35}.page-desc{color:var(--text-secondary);margin-top:6px;font-size:13px;line-height:1.55}.list-toolbar{border:1px solid var(--border-color);background:linear-gradient(135deg,#f8f9fc 0%,#f3f5f9 100%);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:4px 0 16px;padding:12px 16px;display:flex}.list-toolbar-left{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.list-count{color:var(--text-secondary);font-size:14px;line-height:1.5}.list-count strong{color:var(--primary);font-variant-numeric:tabular-nums;margin:0 4px;font-size:20px;font-weight:800}.list-toolbar-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.filter-bar.in-toolbar{background:0 0;border:none;margin-bottom:0;padding:0}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:16px;display:grid}@media (width<=1200px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.stat-grid{grid-template-columns:1fr}}.amount-text{color:var(--color-money);font-variant-numeric:tabular-nums;font-weight:700}.ant-table{border-radius:10px}.order-action-modal .order-action-body{margin-top:4px}.order-action-modal .order-action-msg{color:var(--text-muted);margin:0 0 8px;font-size:14px;line-height:1.65}.order-action-modal .order-action-summary{color:var(--text-primary);margin:0 0 12px;font-size:14px}.order-action-modal .order-action-summary strong{color:var(--color-success);font-weight:700}.order-action-modal .order-action-label{color:var(--text-primary);margin:12px 0 6px;font-size:13px;font-weight:600}.order-action-modal .order-action-response{color:var(--text-muted);word-break:break-all;background:#f7f8fa;border-radius:8px;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.order-action-modal .order-action-json{color:#e2e8f0;white-space:pre-wrap;word-break:break-all;background:#1e293b;border-radius:8px;max-height:240px;margin:0;padding:12px 14px;font-size:12px;line-height:1.55;overflow:auto}.order-action-modal .order-action-aa-summary{color:var(--text-muted);margin:0 0 8px;font-size:13px;line-height:1.6}.order-action-modal .order-action-aa-match-hint{color:#b45309;background:#fff8f0;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:13px;line-height:1.5}.order-action-modal .order-action-aa-table-wrap{border:1px solid var(--border-color);border-radius:8px;max-height:360px;overflow:auto}.order-action-modal .order-action-aa-table{border-collapse:collapse;width:100%;font-size:13px}.order-action-modal .order-action-aa-table th,.order-action-modal .order-action-aa-table td{text-align:left;border-bottom:1px solid var(--border-light);vertical-align:top;padding:8px 10px}.order-action-modal .order-action-aa-table th{z-index:1;color:var(--text-primary);background:#f7f8fa;font-weight:600;position:sticky;top:0}.order-action-modal .order-action-aa-table tbody tr:last-child td{border-bottom:none}.order-action-modal .order-action-aa-table .aa-payer-name{color:var(--text-primary);font-weight:500;display:block}.order-action-modal .order-action-aa-table .aa-payer-login{color:var(--text-secondary);margin-top:2px;font-size:12px;display:block}.order-action-modal .order-action-aa-table .aa-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.order-action-modal .order-action-aa-table .aa-time{white-space:nowrap;color:var(--text-muted);font-size:12px}.order-action-modal .order-action-aa-table .aa-user-id{word-break:break-all;color:var(--text-muted);max-width:140px;font-family:ui-monospace,monospace;font-size:11px}.order-action-modal .order-action-aa-table .aa-order-no{word-break:break-all;color:var(--text-muted);font-family:ui-monospace,monospace;font-size:11px}.order-action-modal .order-action-raw-details{margin-top:12px}.order-action-modal .order-action-raw-details summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:12px}.order-action-modal .order-action-raw-details .order-action-json{margin-top:8px}.ant-table-wrapper .ant-table{border:1px solid var(--border-color);border-radius:10px;overflow:hidden}.ant-table-wrapper .ant-table-thead>tr>th{color:var(--text-muted);font-size:13px;font-weight:600;background:var(--table-head-bg)!important;border-bottom:1px solid var(--border-color)!important;padding:12px 16px!important}.ant-table-wrapper .ant-table-tbody>tr>td{color:#1d2129;font-size:14px;transition:background .15s;padding:12px 16px!important}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--primary-light)!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-selected>td{background:#e8f0ff!important}.ant-tabs .ant-tabs-tab{color:var(--text-muted);padding:10px 4px;font-size:14px;font-weight:500}.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600;color:var(--primary)!important}.ant-tabs .ant-tabs-ink-bar{background:linear-gradient(90deg, #5b7cfa, var(--primary));border-radius:3px 3px 0 0;height:3px!important}.finance-main-tabs .ant-tabs-tab-active .ant-tabs-tab-btn,.finance-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600}.ant-tag{border:none;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:500;line-height:20px}.ant-alert{border:1px solid #0000;border-radius:10px}.ant-alert-info{background:var(--info-bg);border-color:#91caff}.ant-alert-success{background:var(--success-bg);border-color:#8ce99a}.ant-alert-warning{background:var(--warning-bg);border-color:#ffc078}.ant-alert-error{background:var(--danger-bg);border-color:#ffa8a8}.ant-alert .ant-alert-message{color:#1d2129;font-weight:600}.ant-descriptions-bordered .ant-descriptions-item-label{background:var(--table-head-bg);color:var(--text-muted);font-size:13px;font-weight:600}.ant-descriptions-bordered .ant-descriptions-item-content{color:#1d2129;font-size:14px}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-picker{border-color:#dbe3ef!important;border-radius:8px!important;transition:border-color .2s,box-shadow .2s!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-select:not(.ant-select-disabled):hover .ant-select-selector,.ant-picker:hover{border-color:#91a7ff!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:var(--primary)!important;box-shadow:0 0 0 3px #4c6ef51f!important}.ant-modal-content,.ant-drawer-content{border-radius:12px}.ant-modal-header{border-radius:12px 12px 0 0;padding:18px 24px}.ant-modal-title{font-size:17px;font-weight:600}.text-money,.amount-text{color:var(--color-money);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-weight:700}.text-success,.text-plus{color:var(--color-success);font-variant-numeric:tabular-nums;font-weight:600}.text-danger,.text-minus{color:var(--color-danger);font-variant-numeric:tabular-nums;font-weight:600}.text-warning{color:var(--color-warning);font-weight:600}.text-info{color:var(--color-info);font-weight:500}.text-muted{color:var(--text-secondary);font-size:13px}.text-label{color:var(--text-muted);font-size:13px;font-weight:600}.text-emphasis{color:#1d2129;font-weight:600}.text-tabular{font-variant-numeric:tabular-nums}.summary-bar{background:linear-gradient(135deg,#f6ffed 0%,#edf9e8 100%);border:1px solid #b7eb8f;border-radius:10px;flex-wrap:wrap;gap:20px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.summary-bar strong{color:#1d2129;font-weight:700}.summary-bar .amount-text,.summary-bar strong.amount-text{font-size:15px}.balance-bar{background:linear-gradient(135deg,#f0f5ff 0%,#e8efff 100%);border:1px solid #adc6ff;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;display:flex}.balance-bar strong{font-size:16px}.stats-tip{border-radius:10px}.filter-bar{border:1px solid var(--border-color);background:#fff;border-radius:10px;margin-bottom:16px;padding:14px 16px;box-shadow:0 1px 2px #0f172a08}.filter-bar.in-toolbar{box-shadow:none;background:0 0;border:none;padding:0}.ant-pagination-item-active{font-weight:600;border-color:var(--primary)!important}.ant-pagination-item-active a{color:var(--primary)!important}.portal-tag.ant-tag{border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.subtle-scrollbar{scrollbar-width:thin;scrollbar-color:transparent transparent;overflow-y:auto}.subtle-scrollbar:hover{scrollbar-color:#00000024 transparent}.subtle-scrollbar::-webkit-scrollbar{width:6px;height:6px}.subtle-scrollbar::-webkit-scrollbar-track{background:0 0}.subtle-scrollbar::-webkit-scrollbar-thumb{background:#0000000f;border-radius:999px;transition:background .2s}.subtle-scrollbar:hover::-webkit-scrollbar-thumb{background:#00000024}.subtle-scrollbar::-webkit-scrollbar-thumb:hover{background:#0000003d}
