.merchant-summary {
  align-items: center;
  flex-flow: row wrap !important;
  gap: 10px;
  margin: 8px 0;
}

.merchant-summary span {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 7px 12px;
  white-space: nowrap;
}

.merchant-summary strong {
  display: inline;
  margin: 0;
  font-size: 16px;
}

.channel-accounts-page {
  padding: 14px;
  background: #edf2f5;
  min-height: calc(100vh - 86px);
}

.channel-account-heading h1 {
  margin: 0 0 15px;
  font-size: 18px;
}

.channel-account-toolbar {
  display: flex;
  align-items: end;
  gap: 14px;
  padding: 14px 18px;
  background: #fff;
  border: 1px solid #e1e7eb;
  border-radius: 4px;
}

.channel-account-toolbar form {
  display: flex;
  align-items: end;
  gap: 24px;
}

.channel-account-toolbar label {
  font-size: 11px;
  color: #566574;
}

.channel-account-toolbar input,
.channel-account-toolbar select {
  display: block;
  width: 180px;
  height: 32px;
  margin-top: 4px;
  padding: 0 9px;
  border: 1px solid #d8e0e7;
  border-radius: 3px;
  background: #fff;
}

.channel-account-toolbar button {
  height: 32px;
}

.channel-account-table-card {
  margin-top: 14px;
  background: #fff;
  border: 1px solid #e0e6ea;
  border-radius: 4px;
  box-shadow: 0 2px 8px #263c4a12;
}

.channel-account-table-card table {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  font-size: 12px;
}

.channel-account-table-card th {
  height: 50px;
  color: #697887;
  background: #f3f6fa;
  border-right: 1px solid #e2e8ec;
  border-bottom: 1px solid #dfe5e9;
}

.channel-account-table-card td {
  height: 62px;
  padding: 8px;
  color: #405160;
  text-align: center;
  border-right: 1px solid #edf0f2;
  border-bottom: 1px solid #edf0f2;
}

.channel-account-table-card td small {
  display: block;
  margin-top: 4px;
  color: #697887;
}

.channel-balance {
  color: #20a458;
}

.channel-account-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
}

.channel-account-actions button {
  padding: 2px;
  color: #3988d2;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.channel-account-actions .channel-delete {
  color: #df5757;
}

.merchant-modal-card em {
  color: #ef5252;
  font-style: normal;
}

.merchant-modal-card:has(.channel-edit-form),
.merchant-modal-card:has(.channel-add-form) {
  width: min(520px, 96vw);
  padding: 24px 22px 18px;
}

.channel-edit-form label,
.channel-add-form label {
  display: grid;
  grid-template-columns: 145px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 11px;
}

.channel-edit-form label > span,
.channel-add-form label > span {
  text-align: right;
  line-height: 1.45;
}

.channel-edit-form input,
.channel-edit-form select,
.channel-edit-form textarea,
.channel-add-form select {
  margin-top: 0;
}

.channel-add-form input {
  height: 39px;
  margin-top: 0;
}

.channel-edit-form textarea {
  height: 54px;
  min-height: 54px;
}

.channel-edit-form select:disabled {
  color: #77838e;
  background: #f3f6f9;
}

.channel-edit-form .merchant-modal-actions,
.channel-add-form .merchant-modal-actions {
  margin-top: 15px;
}

@media (max-width: 560px) {
  .channel-edit-form label,
  .channel-add-form label {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .channel-edit-form label > span,
  .channel-add-form label > span {
    text-align: left;
  }
}

.channel-balance-note {
  color: #a77722 !important;
  background: #fff7e6;
  border: 1px solid #f2dfb9;
  border-radius: 4px;
  padding: 9px;
}

@media (max-width: 850px) {
  .channel-account-toolbar,
  .channel-account-toolbar form {
    flex-wrap: wrap;
  }
}

.channels-page {
  padding: 14px;
  background: #edf2f5;
  min-height: calc(100vh - 86px);
}

.channel-heading h1 {
  margin: 0 0 14px;
  font-size: 18px;
}

.channel-filters {
  display: grid;
  grid-template-columns: repeat(7, minmax(120px, 1fr));
  gap: 12px;
  padding: 13px 15px 8px;
  background: #fff;
  border: 1px solid #e1e7eb;
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.channel-filters label {
  font-size: 11px;
  color: #566574;
}

.channel-filters input,
.channel-filters select {
  display: block;
  width: 100%;
  height: 31px;
  margin-top: 4px;
  padding: 0 8px;
  border: 1px solid #d8e0e7;
  border-radius: 3px;
  background: #fff;
}

.channel-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 15px 13px;
  background: #fff;
  border: 1px solid #e1e7eb;
  border-top: 0;
  border-radius: 0 0 4px 4px;
}

.channel-toolbar button {
  height: 31px;
  padding: 0 12px;
  color: #fff;
  border: 0;
  border-radius: 3px;
}

.selected-channel-count {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  margin-left: auto;
  padding: 0 10px;
  color: #557086;
  background: #edf5fb;
  border: 1px solid #d6e7f4;
  border-radius: 3px;
  font-size: 11px;
}

.risk-button { background: #e3a12c; }
.rate-button { background: #db7777; }
.risk-range-button { background: #69a8df; }

.channels-table-card {
  margin-top: 14px;
  background: #fff;
  border: 1px solid #e0e6ea;
  border-radius: 4px;
  box-shadow: 0 2px 8px #263c4a12;
}

.channels-table-card table {
  width: 100%;
  min-width: 1550px;
  border-collapse: collapse;
  font-size: 11px;
}

.channels-table-card th {
  height: 50px;
  padding: 7px;
  color: #697887;
  background: #f3f6fa;
  border-right: 1px solid #e2e8ec;
  border-bottom: 1px solid #dfe5e9;
  white-space: nowrap;
}

.channels-table-card td {
  height: 60px;
  padding: 7px;
  color: #405160;
  text-align: center;
  border-right: 1px solid #edf0f2;
  border-bottom: 1px solid #edf0f2;
  white-space: nowrap;
}

.channels-table-card input[type=checkbox] {
  width: 15px;
  height: 15px;
  accent-color: #398bd4;
}

.channel-yes { color: #27a357 !important; }
.channel-no { color: #8b96a0 !important; }

.channel-status-toggle { margin: auto; }

.channel-row-actions {
  display: flex;
  justify-content: center;
  gap: 9px;
}

.channel-row-actions button {
  color: #3988d2;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.channel-row-actions .channel-remove { color: #dc5656; }

.merchant-modal-card:has(.channel-form) {
  width: min(520px, 96vw);
  padding: 24px 22px 18px;
}

.channel-form label {
  display: grid;
  grid-template-columns: 145px 1fr;
  align-items: center;
  gap: 12px;
  margin-bottom: 11px;
}

.channel-form label > span {
  text-align: right;
}

.channel-form input,
.channel-form select {
  height: 38px;
  margin-top: 0;
}

.percent-field {
  display: grid;
  grid-template-columns: 1fr 48px;
}

.percent-field input {
  border-radius: 4px 0 0 4px;
}

.percent-field b {
  display: grid;
  place-items: center;
  color: #697887;
  border: 1px solid #d7dfe6;
  border-left: 0;
  border-radius: 0 4px 4px 0;
  font-weight: 500;
}

.channel-batch-form label {
  display: block;
  margin-bottom: 12px;
}

.channel-batch-form input {
  margin-top: 5px;
}

.risk-status-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 16px 0;
}

.risk-status-grid span {
  padding: 12px;
  color: #75828e;
  background: #f4f7f9;
  border-radius: 5px;
  font-size: 12px;
}

.risk-status-grid strong {
  display: block;
  margin-top: 5px;
  color: #2f4558;
  font-size: 20px;
}

.merchant-modal-card:has(.risk-detail-table) {
  width: min(900px, 96vw);
}

.risk-detail-table {
  max-height: 330px;
  margin-bottom: 13px;
  overflow: auto;
  border: 1px solid #e0e7ec;
  border-radius: 4px;
}

.risk-detail-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.risk-detail-table th,
.risk-detail-table td {
  height: 38px;
  padding: 6px 8px;
  text-align: center;
  border-right: 1px solid #e7ecef;
  border-bottom: 1px solid #e7ecef;
}

.risk-detail-table th {
  position: sticky;
  top: 0;
  color: #667786;
  background: #f3f6f9;
}

@media (max-width: 1200px) {
  .channel-filters { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 650px) {
  .channel-filters { grid-template-columns: repeat(2, 1fr); }
  .channel-form label { grid-template-columns: 1fr; gap: 4px; }
  .channel-form label > span { text-align: left; }
}

.nav-parent b { margin-left: auto; font-size: 12px; }
.nav-submenu { padding: 2px 8px 7px 30px; }
.nav-submenu.collapsed { display: none; }
.nav-subitem { width: 100%; height: 32px; padding: 0 9px; color: #9fb0bc; text-align: left; white-space: nowrap; font-size: 12px; background: transparent; border: 0; border-radius: 4px; cursor: pointer; }
.nav-subitem:hover,.nav-subitem.active { color: #fff; background: #2d88c7; }

.qr-library-page,.qr-editor-page { padding: 14px; background: #edf2f5; min-height: calc(100vh - 86px); }
.qr-management-page { padding: 14px; background: #edf2f5; min-height: calc(100vh - 86px); }
.managed-summary { display: flex; gap: 10px; margin-bottom: 12px; }
.managed-summary span { padding: 8px 12px; color: #647586; background: #fff; border: 1px solid #dfe6eb; border-radius: 4px; font-size: 12px; }
.managed-summary strong { margin-left: 8px; color: #278f52; font-size: 16px; }
.page-description { margin: 4px 0 0; color: #7c8b98; font-size: 11px; }
.jump-url-cell { max-width: 240px; overflow: hidden; color: #287fc0; text-overflow: ellipsis; white-space: nowrap; }
.jump-link-input { display: grid; grid-template-columns: 1fr 92px; gap: 8px; }
.jump-link-input button { height: 38px; margin-top: 5px; }
.form-hint { margin: -3px 0 10px; color: #a16f18; font-size: 11px; }
.qr-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.qr-heading h1,.qr-editor-heading h1 { margin: 0; font-size: 18px; }
.qr-filters { display: grid; grid-template-columns: repeat(6,minmax(120px,1fr)) 75px 75px; gap: 10px; align-items: end; padding: 13px; background: #fff; border: 1px solid #e1e7eb; border-radius: 4px; }
.qr-filters label { color: #566574; font-size: 11px; }
.qr-filters input,.qr-filters select { display: block; width: 100%; height: 32px; margin-top: 4px; padding: 0 8px; background: #fff; border: 1px solid #d8e0e7; border-radius: 3px; }
.qr-filters button { height: 32px; }
.qr-table-card { margin-top: 14px; background: #fff; border: 1px solid #e0e6ea; border-radius: 4px; box-shadow: 0 2px 8px #263c4a12; }
.qr-table-card table { width: 100%; min-width: 1450px; border-collapse: collapse; font-size: 11px; }
.qr-table-card th { height: 48px; color: #697887; background: #f3f6fa; border-right: 1px solid #e2e8ec; border-bottom: 1px solid #dfe5e9; }
.qr-table-card td { min-height: 76px; padding: 8px; color: #405160; text-align: center; border-right: 1px solid #edf0f2; border-bottom: 1px solid #edf0f2; }
.qr-thumb { width: 68px; height: 68px; object-fit: contain; padding: 3px; background: #fff; border: 1px solid #dfe5e9; border-radius: 4px; }
.qr-status-toggle { margin: auto; }
.qr-tags { max-width: 160px; white-space: normal; }
.qr-tags span { display: inline-block; margin: 2px; padding: 3px 6px; color: #397fb9; background: #eaf4fc; border-radius: 99px; }
.qr-remarks { max-width: 220px; white-space: normal; word-break: break-word; }
.qr-table-card td a { display: inline-block; max-width: 220px; color: #3988d2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qr-password-button { min-width: 64px; padding: 4px 7px; color: #397fb9; background: #edf6fd; border: 1px solid #d4e8f7; border-radius: 3px; cursor: pointer; }
.qr-password-button:disabled { color: #929da6; background: transparent; border-color: transparent; cursor: default; }
.qr-actions { min-width: 175px; }
.qr-actions button { margin: 3px 5px; padding: 0; color: #3988d2; background: transparent; border: 0; cursor: pointer; }
.qr-actions .qr-delete { color: #dc5656; }
.merchant-modal-card:has(.qr-form) { width: min(570px,96vw); }
.qr-form>label { display: grid; grid-template-columns: 130px 1fr; align-items: center; gap: 12px; }
.qr-form>label>span { text-align: right; }
.qr-form input,.qr-form select { margin-top: 0; }
.qr-form textarea { height: 70px; margin-top: 0; padding: 8px; resize: vertical; }
.qr-money-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qr-money-row label { display: grid; grid-template-columns: 80px 1fr; align-items: center; gap: 7px; }
.qr-money-row label span { text-align: right; }

.qr-editor-heading { display: grid; grid-template-columns: 190px 1fr 150px; align-items: center; gap: 15px; margin-bottom: 12px; }
.qr-editor-heading>div { text-align: center; }
.qr-editor-heading p { margin: 4px 0 0; color: #80909e; font-size: 12px; }
.qr-editor-heading button { height: 36px; }
.qr-editor-warning { margin-bottom: 12px; padding: 10px 13px; color: #a16f18; background: #fff7e4; border: 1px solid #f0ddb5; border-radius: 4px; font-size: 12px; }
.qr-editor-layout { display: grid; grid-template-columns: 330px 1fr; min-height: 720px; background: #fff; border: 1px solid #dfe6eb; border-radius: 6px; overflow: hidden; }
.qr-editor-controls { padding: 18px; border-right: 1px solid #e2e8ec; overflow: auto; }
.qr-editor-controls>label { display: block; margin-bottom: 12px; color: #526273; font-size: 12px; font-weight: 600; }
.qr-editor-controls input,.qr-editor-controls select { display: block; width: 100%; height: 38px; margin-top: 5px; padding: 0 8px; background: #fff; border: 1px solid #d7e0e7; border-radius: 4px; }
.qr-editor-controls input[type=color] { padding: 3px; }
.qr-editor-controls input[type=file] { height: auto; padding: 8px; font-size: 10px; }
.editor-inline { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.editor-inline label,.crop-grid label { color: #526273; font-size: 11px; font-weight: 600; }
.qr-editor-controls h3 { margin: 18px 0 8px; font-size: 13px; }
.crop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.editor-actions { display: flex; gap: 8px; margin-top: 18px; }
.editor-actions button { flex: 1; height: 36px; }
.qr-picker-preview { display: flex; align-items: center; gap: 12px; min-height: 78px; margin-top: 12px; padding: 10px; color: #526273; background: #f5f8fa; border: 1px solid #dfe6eb; border-radius: 4px; }
.qr-picker-preview img { width: 64px; height: 64px; object-fit: contain; background: #fff; border: 1px solid #dfe6eb; }
.qr-picker-divider { display: flex; align-items: center; gap: 10px; margin: 18px 0 12px; color: #8795a1; font-size: 12px; }
.qr-picker-divider::before,.qr-picker-divider::after { content: ''; flex: 1; height: 1px; background: #dfe6eb; }
.qr-local-upload { display: grid; grid-template-columns: 1fr 120px; gap: 10px; align-items: center; }
.qr-local-upload input { min-width: 0; padding: 8px; border: 1px solid #d7e0e7; border-radius: 4px; }
.qr-local-upload button { height: 38px; }
.merchant-ledger-page { padding: 14px; background: #edf2f5; min-height: calc(100vh - 86px); }
.finance-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.finance-heading h1 { margin: 0; font-size: 18px; }
.finance-heading p { margin: 4px 0 0; color: #7c8b98; font-size: 11px; }
.finance-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(180px,1fr)); gap: 12px; margin-bottom: 12px; }
.finance-summary article { padding: 13px 16px; background: #fff; border: 1px solid #dfe6eb; border-radius: 5px; box-shadow: 0 2px 7px #1c34430b; }
.finance-summary span,.finance-summary small { display: block; color: #758695; font-size: 11px; }
.finance-summary strong { display: block; margin: 7px 0 3px; color: #1d9b55; font-size: 22px; }
.ledger-filters { display: grid; grid-template-columns: 150px 150px 1fr 1fr 180px 76px 76px; gap: 10px; align-items: end; margin-bottom: 12px; padding: 12px; background: #fff; border: 1px solid #dfe6eb; border-radius: 5px; }
.ledger-filters label { color: #566574; font-size: 11px; }
.ledger-filters input,.ledger-filters select { display: block; width: 100%; height: 34px; margin-top: 4px; padding: 0 8px; border: 1px solid #d7e0e7; border-radius: 3px; }
.ledger-filters button { height: 34px; }
.ledger-table td:nth-child(3) strong,.ledger-table td:nth-child(3) small { display: block; white-space: nowrap; }
.ledger-table td:nth-child(3) small { margin-top: 3px; color: #83929f; }
.ledger-positive { color: #169552; font-weight: 700; }
.ledger-negative { color: #e25252; font-weight: 700; }
.merchant-report-table table { min-width: 1500px; }
.merchant-report-table td strong,.merchant-report-table td small { display: block; white-space: nowrap; }
.merchant-report-table td small { margin-top: 4px; color: #8a98aa; }

#merchant-weekly-report-filters { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-start; gap: 10px; }
#merchant-weekly-report-filters > span { flex: 0 0 18px; height: 34px; display: grid; place-items: center; color: #667789; }
#merchant-weekly-report-filters label:nth-of-type(1),
#merchant-weekly-report-filters label:nth-of-type(2) { flex: 0 0 168px; }
#merchant-weekly-report-filters label:nth-of-type(3) { flex: 0 0 260px; }
#merchant-weekly-report-filters label:nth-of-type(4),
#merchant-weekly-report-filters label:nth-of-type(5) { flex: 0 0 180px; }
#merchant-weekly-report-filters button { flex: 0 0 78px; }

/* 全系统查询栏：控件保持自然宽度，空间不足时自动换行。 */
.order-filters,
.merchant-filters,
.channel-filters,
.qr-filters,
.ledger-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-start;
  gap: 10px 12px;
}
.order-filters label { flex: 0 0 168px; }
.order-filters .amount-filter,
.order-filters .date-range-filter { flex: 0 0 350px; }
.order-filters .filter-actions { flex: 0 0 auto; display: flex; gap: 8px; }
.merchant-filters label,
.channel-filters label,
.qr-filters label,
.ledger-filters label { flex: 0 0 178px; }
.merchant-filters > div { flex: 0 0 160px; }
.qr-filters button,
.ledger-filters button { flex: 0 0 78px; }
.channel-account-toolbar,
.channel-account-toolbar form,
.product-toolbar form,
.product-toolbar > div { flex-wrap: wrap; justify-content: flex-start; }

@media (max-width: 700px) {
  .order-filters label,
  .order-filters .amount-filter,
  .order-filters .date-range-filter,
  .merchant-filters label,
  .channel-filters label,
  .qr-filters label,
  .ledger-filters label { flex: 1 1 155px; }
}

/* 全系统表格表头统一加粗。 */
table thead th,
table thead th small {
  font-weight: 700 !important;
  color: #33475b !important;
}
table tbody td,
table tbody td * {
  font-weight: 600 !important;
}

.success-rate-progress { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 130px; }
.success-rate-track { width: 82px; height: 9px; overflow: hidden; border: 0; border-radius: 99px; background: #e7edf1; appearance: none; -webkit-appearance: none; }
.success-rate-track::-webkit-progress-bar { border-radius: 99px; background: #e7edf1; }
.success-rate-track::-webkit-progress-value { border-radius: 99px; transition: width .25s ease; }
.success-rate-track::-moz-progress-bar { border-radius: 99px; transition: width .25s ease; }
.success-rate-progress strong { min-width: 48px; color: #3e5060; font-size: 11px; text-align: right; white-space: nowrap; }
.success-rate-progress.rate-high .success-rate-track::-webkit-progress-value { background: #20ad60; }
.success-rate-progress.rate-medium .success-rate-track::-webkit-progress-value { background: #e7a72e; }
.success-rate-progress.rate-low .success-rate-track::-webkit-progress-value { background: #e75a5a; }
.success-rate-progress.rate-high .success-rate-track::-moz-progress-bar { background: #20ad60; }
.success-rate-progress.rate-medium .success-rate-track::-moz-progress-bar { background: #e7a72e; }
.success-rate-progress.rate-low .success-rate-track::-moz-progress-bar { background: #e75a5a; }
#summary-success-rate .success-rate-progress { min-width: 112px; display: inline-flex; vertical-align: middle; }
#summary-success-rate .success-rate-track { width: 60px; }
.qr-daily-report-table td:last-child { color: #16a05d !important; }
.login-result { display:inline-block; padding:4px 9px; border-radius:3px; white-space:nowrap; }
.login-result.success { color:#16894d; background:#eaf8ef; }
.login-result.failed { color:#d84d4d; background:#fff0f0; }
.login-log-table table { min-width:980px; }
.operation-type { color:#287fbe !important; white-space:nowrap; }
.operation-detail { max-width:420px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left !important; }
.limit-settings-card{background:#fff;border:1px solid #dfe6eb;border-radius:4px;max-width:920px;box-shadow:0 2px 8px #263c4a12}.limit-settings-card>header{padding:17px 20px;border-bottom:1px solid #e4e9ed}.limit-settings-card h1{margin:0;font-size:17px;color:#263746}.limit-settings-card h1 strong{color:#f04444;font-size:14px}.limit-tabs{display:flex;border-bottom:1px solid #dfe5ea;padding:15px 20px 0;gap:24px}.limit-tabs button{height:38px;border:0;border-bottom:2px solid transparent;background:transparent;color:#4e5f70;cursor:pointer}.limit-tabs button.active{color:#3189dc;border-bottom-color:#3189dc}.limit-form{padding:20px}.limit-form>label{display:grid;grid-template-columns:180px 260px;align-items:center;min-height:54px;color:#536476;font-size:13px}.limit-form>label>span{text-align:right;padding-right:16px}.limit-number{display:grid;grid-template-columns:1fr 54px}.limit-number input,.limit-form input[name=ipWhitelist]{height:34px;border:1px solid #d8e0e6;border-radius:3px;padding:0 10px}.limit-number input{border-radius:3px 0 0 3px}.limit-number i{display:grid;place-items:center;border:1px solid #d8e0e6;border-left:0;border-radius:0 3px 3px 0;color:#84909c;font-style:normal}.limit-switch-row{display:flex;align-items:center;gap:10px}.limit-switch-row em{font-style:normal;color:#526373}.limit-switch-row .toggle-button.enabled+em{color:#3189dc}.limit-form small{display:block;margin-top:5px;color:#d18b17}.limit-actions{margin-top:18px;padding:18px 0 0 180px;border-top:1px solid #e3e8eb;display:flex;gap:12px}.disabled-row{opacity:.58}@media(max-width:700px){.limit-form>label{grid-template-columns:1fr;gap:6px;margin-bottom:10px}.limit-form>label>span{text-align:left}.limit-actions{padding-left:0}.limit-settings-card h1 strong{display:block;margin-top:5px}}

/* 全局盈利信息统一使用绿色，便于快速识别。 */
.profit-card strong,
#ledger-profit-total,
.merchant-report-table td:last-child {
  color: #16a05d !important;
}
.ledger-type { display: inline-block; padding: 4px 7px; border-radius: 3px; white-space: nowrap; }
.ledger-payment,.ledger-manual_increase { color: #16894d; background: #eaf8ef; }
.ledger-reversal,.ledger-manual_decrease { color: #d84d4d; background: #fff0f0; }
.ledger-remark { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(max-width:700px){.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.finance-summary{grid-template-columns:1fr}}
.qr-canvas-wrap { display: grid; place-items: center; padding: 24px; background: repeating-conic-gradient(#f0f2f4 0 25%,#fff 0 50%) 0/24px 24px; overflow: auto; }
#qr-editor-canvas { width: min(720px,75vw); height: auto; max-width: 100%; background: #fff; box-shadow: 0 8px 30px #243a4b38; }
@media(max-width:900px){.qr-filters{grid-template-columns:repeat(2,1fr)}.qr-editor-layout{grid-template-columns:1fr}.qr-editor-controls{border-right:0;border-bottom:1px solid #e2e8ec}.qr-editor-heading{grid-template-columns:1fr}.qr-editor-heading>div{text-align:left}.qr-editor-heading button{width:max-content}.qr-canvas-wrap{padding:10px}}

/* 二维码修改器：紧凑工具栏和居中的响应式预览。仅改变页面显示，不改变导出图片尺寸。 */
.qr-editor-page{padding:16px 18px 22px}
.qr-editor-heading{padding:12px 14px;margin-bottom:10px;background:#fff;border:1px solid #dfe6eb;border-radius:8px;box-shadow:0 2px 8px #20384a0b}
.qr-editor-warning{margin-bottom:10px;border-radius:7px}
.qr-editor-layout{grid-template-columns:390px minmax(0,1fr);height:calc(100vh - 220px);min-height:570px;max-height:840px;border-radius:10px;box-shadow:0 8px 28px #263c4a12}
.qr-editor-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:11px;padding:16px;background:#fff;scrollbar-gutter:stable}
.qr-editor-controls>label{min-width:0;margin:0;padding:10px;background:#f8fafc;border:1px solid #e4eaee;border-radius:7px}
.qr-editor-controls>.editor-inline,.qr-editor-controls>h3,.qr-editor-controls>.crop-grid,.qr-editor-controls>.editor-actions{grid-column:1/-1;margin:0}
.qr-editor-controls>.editor-inline{padding:10px;background:#f8fafc;border:1px solid #e4eaee;border-radius:7px}
.qr-editor-controls>label:last-of-type{grid-column:1/-1}
.qr-editor-controls h3{padding-top:3px;color:#263746}
.qr-editor-controls input,.qr-editor-controls select{height:34px;margin-top:6px}
.qr-editor-controls input[type=file]{min-height:34px;padding:6px;background:#fff}
.crop-grid{padding:10px;background:#f8fafc;border:1px solid #e4eaee;border-radius:7px}
.editor-actions{position:sticky;bottom:0;padding-top:10px;background:linear-gradient(180deg,transparent,#fff 22%)}
.qr-canvas-wrap{display:flex;min-width:0;flex-direction:column;padding:0;background:#f4f7f9;overflow:hidden}
.qr-preview-header{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;background:#fff;border-bottom:1px solid #e1e7eb}
.qr-preview-header div{display:flex;align-items:baseline;gap:10px}
.qr-preview-header strong{color:#24384a;font-size:14px}
.qr-preview-header span,.qr-preview-header small{color:#83919d;font-size:11px}
.qr-preview-stage{display:grid;min-height:0;flex:1;place-items:center;padding:22px;overflow:auto;background-color:#f7f9fb;background-image:linear-gradient(45deg,#edf1f4 25%,transparent 25%),linear-gradient(-45deg,#edf1f4 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#edf1f4 75%),linear-gradient(-45deg,transparent 75%,#edf1f4 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}
#qr-editor-canvas{width:auto;height:auto;max-width:min(100%,680px);max-height:min(720px,calc(100vh - 310px));border-radius:3px;box-shadow:0 12px 36px #20384a35}
@media(max-width:1050px){.qr-editor-layout{grid-template-columns:350px minmax(0,1fr)}.qr-editor-controls{grid-template-columns:1fr}.qr-editor-controls>.editor-inline,.qr-editor-controls>h3,.qr-editor-controls>.crop-grid,.qr-editor-controls>.editor-actions,.qr-editor-controls>label:last-of-type{grid-column:1}}
@media(max-width:900px){.qr-editor-page{padding:12px}.qr-editor-layout{display:block;height:auto;max-height:none}.qr-editor-controls{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;border-right:0}.qr-editor-controls>.editor-inline,.qr-editor-controls>h3,.qr-editor-controls>.crop-grid,.qr-editor-controls>.editor-actions{grid-column:1/-1}.qr-canvas-wrap{padding:0}.qr-preview-stage{min-height:520px;padding:14px}.qr-preview-header{padding:0 12px}.qr-preview-header small{display:none}#qr-editor-canvas{max-height:680px}}
@media(max-width:560px){.qr-editor-controls{grid-template-columns:1fr}.qr-editor-controls>.editor-inline,.qr-editor-controls>h3,.qr-editor-controls>.crop-grid,.qr-editor-controls>.editor-actions,.qr-editor-controls>label:last-of-type{grid-column:1}.qr-preview-stage{min-height:420px}}
.merchant-edit-direct{height:29px;padding:0 12px;border:1px solid #89b7dd;border-radius:3px;background:#fff;color:#287fbe;cursor:pointer}.merchant-modal-card:has(.merchant-edit-form){width:min(520px,96vw);max-height:94vh;overflow:auto;padding:22px 28px}.merchant-edit-form>label{display:grid;grid-template-columns:135px 1fr;align-items:center;gap:10px;margin-bottom:11px}.merchant-edit-form>label>span{text-align:right;color:#566574}.merchant-edit-form>label>span em{color:#ee5252;font-style:normal}.merchant-edit-form input,.merchant-edit-form select,.merchant-edit-form textarea{width:100%;height:34px;margin:0;padding:0 10px;border:1px solid #d7e0e7;border-radius:3px;background:#fff}.merchant-edit-form textarea{height:70px;padding-top:8px;resize:vertical}.merchant-edit-form input:disabled,.merchant-edit-form select:disabled{background:#f0f3f6;color:#9aa5ae}.merchant-edit-toggle-row>div{display:flex;align-items:center;gap:9px}.merchant-edit-toggle-row>div em{font-style:normal;color:#536476}.merchant-edit-toggle-row .toggle-button.enabled+em{color:#3189dc}.merchant-edit-form .merchant-modal-actions{margin-top:18px}@media(max-width:600px){.merchant-edit-form>label{grid-template-columns:1fr;gap:5px}.merchant-edit-form>label>span{text-align:left}}
.merchant-edit-toggle-row:has([name=disableCollectionRetry]),.merchant-edit-toggle-row:has([name=manualPayoutGoogleRequired]),.merchant-edit-toggle-row:has([name=payoutCallbackEnabled]),.merchant-edit-toggle-row:has([name=disableAdminManualPayout]),.merchant-edit-toggle-row:has([name=allowGroupPayout]),.merchant-edit-toggle-row:has([name=rejectOnUpstreamFailure]){display:none}
.merchant-edit-form>label:has([name=language]){display:none}

/* 后台谷歌认证：只用于管理员登录时的第二步身份校验。 */
.admin-google-auth-page{padding:14px;background:#edf2f5;min-height:calc(100vh - 86px)}
.google-security-notice{max-width:920px;background:#fff;border:1px solid #dfe6eb;border-radius:4px;padding:17px 20px;box-shadow:0 2px 8px #263c4a12;font-size:15px;color:#263746}
.google-security-notice span{color:#f04444;font-weight:700}
.google-auth-card{max-width:920px;margin-top:22px;background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a12;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.google-auth-card h2{margin:0 0 7px;font-size:16px;color:#263746}
.google-auth-card small{color:#84919d}
.google-auth-controls{display:flex;align-items:center;gap:10px;white-space:nowrap}
.google-auth-controls em{font-style:normal;color:#3189dc;font-weight:700}
.google-auth-controls>button:last-child{height:32px;border:0;background:transparent;color:#263746;font-weight:700;cursor:pointer}
.merchant-modal-card:has(.google-auth-form){width:min(560px,96vw)}
.google-auth-form label{margin-top:14px}
.google-bind-steps{margin:14px 0;padding-left:22px;color:#566574;font-size:12px;line-height:1.9}
.google-secret-box{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:12px;background:#f3f7fa;border:1px solid #dce5eb;border-radius:4px}
.google-secret-box span{color:#667686;font-size:12px}.google-secret-box strong{font-family:Consolas,monospace;letter-spacing:1px;word-break:break-all;color:#17324d}.google-secret-box button{height:30px;border:1px solid #9bc1e1;border-radius:3px;background:#fff;color:#287fbe;cursor:pointer}
.google-auth-link{display:inline-block;margin-top:10px;color:#3189dc;font-size:12px}
.merchant-modal-card:has(.google-scan-layout){width:min(720px,96vw)}
.google-scan-layout{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:center;margin-top:14px}
.google-qr-panel{display:flex;flex-direction:column;align-items:center;border:1px solid #dce5eb;border-radius:6px;background:#f8fafc;padding:10px}
.google-qr-panel img{width:220px;height:220px;display:block;background:#fff}
.google-qr-panel strong{margin-top:7px;color:#263746;font-size:12px}.google-qr-panel small{margin-top:4px;color:#d04b4b}
#google-login-field input{letter-spacing:3px;font-weight:700}
@media(max-width:650px){.google-security-notice span{display:block;margin-top:6px}.google-auth-card{align-items:flex-start;flex-direction:column}.google-secret-box{grid-template-columns:1fr}.google-secret-box button{width:max-content}.google-scan-layout{grid-template-columns:1fr}.google-qr-panel{width:max-content;max-width:100%;margin:auto}}

/* 网站信息 */
.site-info-page{padding:0;background:#edf2f5;min-height:calc(100vh - 86px)}
.site-info-card{background:#fff;border:1px solid #dfe6eb;min-height:225px;box-shadow:0 2px 7px #263c4a0d}
.site-info-card>header{height:55px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #e2e8ec}
.site-info-card h1{margin:0;font-size:18px;color:#243649}
.site-info-form{padding:16px 60px}
.site-info-form>label{display:grid;grid-template-columns:85px 360px;align-items:center;gap:12px;margin-bottom:14px;color:#4f6071;font-size:13px}
.site-info-form>label>span{text-align:right}.site-info-form input{height:34px;border:1px solid #d6dfe7;border-radius:3px;padding:0 12px;color:#35485b}
.site-info-actions{display:flex;justify-content:center;gap:14px;margin-top:18px}.site-info-actions button{width:auto;min-width:58px;height:33px;box-shadow:none}
.site-info-form .dashboard-error{max-width:457px;margin-left:97px}
.site-logo-setting{display:grid;grid-template-columns:85px 1fr;align-items:start;gap:12px;margin-bottom:14px;color:#4f6071;font-size:13px}.site-logo-setting>span{text-align:right;padding-top:12px}.site-logo-editor{max-width:760px}.site-logo-control{display:flex;align-items:center;gap:15px}.site-logo-preview{width:72px;height:72px;display:grid;place-items:center;flex:0 0 72px;overflow:hidden;border:1px solid #d9e2e9;border-radius:12px;background:#f8fafc;color:#24518e;font-size:28px;font-weight:900}.site-logo-preview img{width:100%;height:100%;object-fit:contain}.site-logo-control>div:last-child{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.site-logo-upload{display:inline-grid;place-items:center;height:33px;padding:0 14px;border:0;border-radius:3px;background:#3988d2;color:#fff;font-weight:700;cursor:pointer}.site-logo-control small{flex-basis:100%;color:#8795a2;font-size:11px}.site-logo-library{margin-top:15px;padding-top:13px;border-top:1px solid #e6ecf1}.site-logo-library>strong{display:block;margin-bottom:9px;color:#253b52}.site-logo-presets{display:grid;grid-template-columns:repeat(8,minmax(58px,1fr));gap:8px}.site-logo-presets button{min-width:0;padding:7px 4px 5px;border:1px solid #dbe4eb;border-radius:9px;background:#fff;color:#627486;cursor:pointer;transition:.15s}.site-logo-presets button:hover{border-color:#77a9dc;transform:translateY(-1px);box-shadow:0 4px 10px #254f7914}.site-logo-presets button.active{border-color:#2f80cf;background:#edf6ff;box-shadow:0 0 0 2px #2f80cf2e}.site-logo-presets img{display:block;width:38px;height:38px;margin:0 auto 4px;border-radius:9px}.site-logo-presets span{display:block;overflow:hidden;font-size:10px;font-weight:700;line-height:1.25;white-space:nowrap;text-overflow:ellipsis}.site-info-card{min-height:520px}
@media(max-width:650px){.site-info-form{padding:16px}.site-info-form>label,.site-logo-setting{grid-template-columns:1fr;gap:5px}.site-info-form>label>span,.site-logo-setting>span{text-align:left}.site-info-form .dashboard-error{margin-left:0}.site-info-actions{justify-content:flex-start}.site-logo-control{align-items:flex-start}.site-logo-presets{grid-template-columns:repeat(4,1fr)}}
.telegram-settings-card{margin:0 14px 24px;border:1px solid #dfe7ee;border-radius:8px;background:#fff;box-shadow:0 3px 12px #17324d0d;overflow:hidden}.telegram-settings-card>header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e6edf2}.telegram-settings-card h1,.telegram-settings-card h2{margin:0;color:#172f49}.telegram-settings-card header p{margin:6px 0 0;color:#8494a3}.telegram-status{padding:6px 12px;border-radius:20px;font-weight:800}.telegram-status.on{background:#e5f8ed;color:#119355}.telegram-status.off{background:#eef2f5;color:#687887}.telegram-scope{display:flex;align-items:center;gap:8px;padding:14px 24px;background:#f7fafc}.telegram-scope b{margin-right:4px;color:#31475b}.telegram-scope span{padding:5px 9px;border:1px solid #d9e7f2;border-radius:4px;background:#fff;color:#557085;font-size:12px}.telegram-settings-form{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:15px 22px;max-width:980px;padding:22px 24px}.telegram-settings-form label{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:10px;color:#425b70;font-weight:700}.telegram-settings-form input,.telegram-settings-form select{height:38px;border:1px solid #cedae4;border-radius:4px;padding:0 11px;background:#fff}.telegram-settings-form small{grid-column:2;color:#8b99a6;font-size:11px;font-weight:400}.telegram-settings-form .dashboard-error,.telegram-actions{grid-column:1/-1}.telegram-actions{display:flex;gap:10px;padding-left:115px}.telegram-history{padding:0 24px 24px}.telegram-history h2{margin:3px 0 12px;font-size:16px}.telegram-history table{width:100%;border-collapse:collapse}.telegram-history th,.telegram-history td{padding:11px 12px;border:1px solid #e2e9ef;text-align:left}.telegram-history th{background:#f4f7fa;color:#334b61}.telegram-history td:nth-child(2){max-width:420px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.telegram-job{font-weight:800}.telegram-job.success{color:#16a05d}.telegram-job.retry,.telegram-job.pending{color:#d58a0c}.telegram-job.failed{color:#df4b4b}@media(max-width:850px){.telegram-settings-form{grid-template-columns:1fr}.telegram-scope{flex-wrap:wrap}}

/* 后台用户列表 */
.backend-users-page{padding:14px;background:#edf2f5;min-height:calc(100vh - 86px)}.backend-users-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.backend-users-heading h1{margin:0;font-size:18px;color:#20354a}.backend-users-heading button{height:34px;border:0;border-radius:4px;padding:0 16px;color:#fff}.backend-user-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,230px)) 180px;gap:12px;align-items:end;background:#fff;border:1px solid #dfe6eb;border-radius:4px;padding:13px}.backend-user-filters label{font-size:11px;color:#526173}.backend-user-filters input,.backend-user-filters select{display:block;width:100%;height:32px;margin-top:4px;border:1px solid #d7e0e7;border-radius:3px;padding:0 9px;background:#fff}.backend-user-filters>div{display:flex;gap:8px}.backend-user-filters button{height:32px;flex:1}.backend-users-table-card{margin-top:14px;background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a12}.backend-users-table-card table{width:100%;min-width:800px;border-collapse:collapse;font-size:12px}.backend-users-table-card th{height:48px;background:#f3f6fa;color:#425568;border-right:1px solid #e2e8ec;border-bottom:1px solid #dfe5e9;font-weight:700}.backend-users-table-card td{height:60px;text-align:center;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;color:#34495c;font-weight:600}.backend-users-table-card td small{display:block;margin-top:4px;color:#929da7;font-weight:500}.backend-row-actions{display:flex;justify-content:center;gap:9px}.backend-row-actions button{height:29px;border:1px solid #91bce0;border-radius:3px;background:#fff;color:#287fbe;padding:0 10px;cursor:pointer}.backend-row-actions button:last-child{color:#d65353;border-color:#edb2b2}.backend-row-actions button:disabled{opacity:.4;cursor:not-allowed}.google-on{color:#20a157}.google-off{color:#8996a2}.backend-users-table-card .pagination{padding:12px}.merchant-modal-card:has(.backend-user-modal-form){width:min(520px,96vw)}.backend-user-modal-form>label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px}.backend-user-modal-form>label>span{text-align:right}.backend-user-modal-form>label>span em{color:#ed5151;font-style:normal}.backend-user-modal-form input,.backend-user-modal-form select{margin:0}.backend-user-modal-form input:disabled,.backend-user-modal-form select:disabled{background:#f1f4f6;color:#8d98a2}@media(max-width:800px){.backend-user-filters{grid-template-columns:repeat(2,1fr)}}@media(max-width:550px){.backend-user-filters{grid-template-columns:1fr}.backend-user-modal-form>label{grid-template-columns:1fr}.backend-user-modal-form>label>span{text-align:left}}

/* 代理管理 */
.agents-page{padding:14px 16px;background:#edf3f6;min-height:calc(100vh - 82px)}
.agent-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.agent-heading h1{font-size:20px;margin:0;color:#102541}
.agent-filters{display:flex;align-items:flex-end;gap:10px;padding:12px;background:#fff;border:1px solid #dce5ec;border-radius:5px;margin-bottom:12px}.agent-filters label{display:grid;gap:5px;min-width:150px;font-weight:700;color:#53657a}.agent-filters input,.agent-filters select{height:36px;border:1px solid #ccd8e3;border-radius:4px;padding:0 10px;background:#fff}.agent-filters>div{display:flex;gap:8px}
.agent-table-card{background:#fff;border:1px solid #dce5ec;border-radius:5px;box-shadow:0 3px 12px #17324d0b}.agent-table-card table{width:100%;border-collapse:collapse}.agent-table-card th,.agent-table-card td{padding:13px 10px;border:1px solid #e2e9ef;text-align:center;font-weight:700;color:#344b63}.agent-table-card th{background:#f4f7fa;color:#263d55}.agent-positive{color:#0aa35b!important}.agent-negative{color:#e33c4d!important}
.agent-actions{display:flex;justify-content:center;gap:8px;overflow:visible!important}.agent-actions>button,.agent-actions .action-menu>button{height:32px;padding:0 14px;background:#fff;color:#2d79be;border:1px solid #9ec5e8;border-radius:4px;font-weight:700}.agent-actions .action-menu-list{min-width:180px;right:0;left:auto;text-align:left;z-index:30}
.agent-edit-form{display:grid;gap:12px}.agent-edit-form>label{display:grid;grid-template-columns:125px 1fr;align-items:center;gap:12px;font-weight:700;color:#40536a}.agent-edit-form input,.agent-edit-form select,.agent-edit-form textarea{width:100%;min-height:40px;border:1px solid #cbd8e4;border-radius:4px;padding:9px 11px}.agent-edit-form textarea{min-height:80px}
.agent-rate-scroll{max-height:430px;overflow:auto;border:1px solid #dbe4ec}.agent-rate-scroll table{width:100%;border-collapse:collapse}.agent-rate-scroll th,.agent-rate-scroll td{padding:11px;border:1px solid #dbe4ec;text-align:center;font-weight:700}.agent-rate-scroll th{background:#f3f6f9;color:#40536a}.agent-rate-note{color:#e33c3c;font-weight:700;text-align:center;line-height:1.5}.fixed-rebate{display:flex!important;align-items:center;justify-content:center;gap:10px;font-weight:700}.fixed-rebate input{width:180px;height:38px;border:1px solid #ccd8e3;border-radius:4px;padding:0 10px}
.agent-stats-filter{display:flex;align-items:flex-end;gap:10px;margin-bottom:12px}.agent-stats-filter label{display:grid;gap:5px;font-weight:700}.agent-stats-filter input{height:36px;border:1px solid #ccd8e3;border-radius:4px;padding:0 9px}.agent-stats-summary{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.agent-stats-summary span{padding:9px 12px;border:1px solid #dce5ec;background:#f6f9fb;border-radius:4px;color:#52657a}.agent-stats-body td{white-space:pre-line}
@media(max-width:1000px){.agent-filters{flex-wrap:wrap}.agent-edit-form>label{grid-template-columns:1fr}.agent-stats-filter{flex-wrap:wrap}}

/* 代理账变 */
.agent-ledger-page{padding:14px 16px;background:#edf3f6;min-height:calc(100vh - 82px)}.agent-ledger-heading h1{margin:0 0 2px;font-size:20px;color:#102541}.agent-ledger-heading small{color:#7a8da1}
.agent-ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0}.agent-ledger-summary span{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #dce5ec;border-radius:5px;padding:14px 16px;color:#66788b;font-weight:700}.agent-ledger-summary b{font-size:20px;color:#0aa35b}
.agent-ledger-filters{display:flex;align-items:flex-end;gap:9px;background:#fff;border:1px solid #dce5ec;border-radius:5px;padding:11px;margin-bottom:12px}.agent-ledger-filters label{display:grid;gap:5px;min-width:135px;font-weight:700;color:#53657a}.agent-ledger-filters label:nth-of-type(3),.agent-ledger-filters label:nth-of-type(4){min-width:190px}.agent-ledger-filters input,.agent-ledger-filters select{height:36px;border:1px solid #ccd8e3;border-radius:4px;padding:0 9px;background:#fff}
.agent-ledger-table-card{background:#fff;border:1px solid #dce5ec;border-radius:5px;box-shadow:0 3px 12px #17324d0b}.agent-ledger-table-card table{width:100%;min-width:1500px;border-collapse:collapse}.agent-ledger-table-card th,.agent-ledger-table-card td{padding:12px 9px;border:1px solid #e1e9ef;text-align:center;font-weight:700;color:#344b63;white-space:pre-line}.agent-ledger-table-card th{background:#f3f6f9;color:#243b53}.ledger-positive{color:#0aa35b!important}.ledger-negative{color:#e33c4d!important}.agent-ledger-type{display:inline-block;padding:4px 8px;border-radius:4px}.agent-ledger-type.commission,.agent-ledger-type.manual_increase{background:#e8f8ef;color:#079653}.agent-ledger-type.reversal,.agent-ledger-type.manual_decrease{background:#fff0f0;color:#e33c4d}
@media(max-width:1200px){.agent-ledger-filters{flex-wrap:wrap}.agent-ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 后台在线列表 */
.backend-online-page{padding:14px;background:#edf2f5;min-height:calc(100vh - 86px)}.backend-online-card{background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a12}.backend-online-card>header{height:52px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #e2e8ec}.backend-online-card h1{margin:0;font-size:17px;color:#263746}.backend-online-card h1 span{margin-left:14px;color:#418bd3;font-size:14px;font-weight:500}.backend-online-toolbar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 18px;border-bottom:1px solid #edf0f2}.backend-online-toolbar form{display:flex;align-items:end;gap:12px}.online-role-tabs{display:flex;border:1px solid #cfdbe5;border-radius:3px;overflow:hidden}.online-role-tabs button{height:32px;border:0;border-right:1px solid #dce4eb;background:#fff;color:#576879;padding:0 14px}.online-role-tabs button:last-child{border-right:0}.online-role-tabs button.active{background:#3b91db;color:#fff}.backend-online-toolbar label{display:flex;align-items:center;gap:8px;color:#536476;font-size:12px}.backend-online-toolbar input{width:170px;height:32px;border:1px solid #d7e0e7;border-radius:3px;padding:0 9px}.backend-online-toolbar form>.primary{height:32px;width:auto;padding:0 15px}.online-auto-refresh{display:flex;align-items:center;gap:8px;color:#3f8bd0;font-size:11px}.backend-online-card table{width:100%;min-width:1100px;border-collapse:collapse;font-size:12px}.backend-online-card th{height:48px;background:#f3f6fa;color:#425568;border-right:1px solid #e2e8ec;border-bottom:1px solid #dfe5e9;font-weight:700}.backend-online-card td{height:54px;text-align:center;border-right:1px solid #edf0f2;border-bottom:1px solid #edf0f2;color:#405160;font-weight:600}.backend-online-card td small{display:block;margin-top:4px;color:#2d89d3}.online-ip{color:#318ddd}.kick-online-user{height:28px;border:1px solid #f0bcbc;border-radius:3px;background:#fff3f3;color:#df5555;padding:0 11px}.backend-online-card .pagination{padding:12px}@media(max-width:950px){.backend-online-toolbar{align-items:flex-start;flex-direction:column}.backend-online-toolbar form{flex-wrap:wrap}}@media(max-width:600px){.online-auto-refresh{flex-wrap:wrap}.backend-online-toolbar input{width:140px}}
.kick-merchant-user{height:28px;border:1px solid #f0bcbc;border-radius:3px;background:#fff3f3;color:#df5555;padding:0 11px}

/* 后台用户组与全局权限 */
.backend-groups-page{padding:14px;background:#edf2f5;min-height:calc(100vh - 86px)}.backend-groups-card{background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a12}.backend-groups-card>header{height:52px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid #e2e8ec}.backend-groups-card h1{margin:0;font-size:18px;color:#263746}.backend-groups-tools{padding:12px 16px}.backend-groups-tools button{width:auto;height:32px;padding:0 15px}.backend-groups-card table{width:100%;min-width:800px;border-collapse:collapse}.backend-groups-card th{height:48px;background:#f3f6fa;border:1px solid #e1e8ed;color:#425568;font-weight:700}.backend-groups-card td{height:52px;text-align:center;border:1px solid #e7ecef;color:#3d5062;font-weight:600}.backend-groups-card td small{display:block;margin-top:4px;color:#8f9ba6}.group-all-permissions{color:#13a05a}.group-row-actions{display:flex;justify-content:center;gap:10px}.group-row-actions button{height:29px;border:1px solid #9dc6e7;border-radius:3px;background:#f2f8ff;color:#3488cc;padding:0 11px}.group-row-actions button:last-child{border-color:#f0bcbc;background:#fff3f3;color:#df5555}.group-row-actions button:disabled{opacity:.4}.backend-groups-card>#backend-groups-count{padding:14px;color:#596b7b;font-size:12px}.merchant-modal-card:has(.group-permission-form){width:min(760px,96vw)}.permission-help{padding:10px 12px;background:#fff8e8;border:1px solid #f1deb2;border-radius:4px;color:#966b18;font-size:12px}.permission-select-all{display:flex!important;align-items:center;gap:7px;margin:13px 0!important}.permission-select-all input,.permission-groups input{width:15px!important;height:15px!important;margin:0!important;accent-color:#318ddd}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:480px;overflow:auto}.permission-groups fieldset{border:1px solid #dce5eb;border-radius:5px;padding:10px 12px}.permission-groups legend{padding:0 6px;color:#263f57;font-weight:700}.permission-groups label{display:flex!important;align-items:center;gap:8px;margin:8px 0!important;color:#526577!important}.backend-group-form label{font-weight:700}@media(max-width:620px){.permission-groups{grid-template-columns:1fr}}

/* 上游 API 对接 */
.api-url-reader{display:flex;gap:8px}.api-url-reader input{flex:1}.api-url-reader button{width:auto;min-width:88px;height:38px;padding:0 12px}
.merchant-modal-card:has(.api-live-test-form){width:min(820px,96vw)}.api-live-test-form{display:grid;gap:12px}.api-live-warning{padding:10px 12px;border:1px solid #f0d69f;background:#fff8e8;border-radius:4px;color:#936a17;font-weight:700}.api-live-test-form>label{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:10px}.api-live-test-form label>span{text-align:right;color:#486075;font-weight:700}.api-live-test-form em{color:#e04b4b;font-style:normal}.api-live-test-form input,.api-live-test-form select{height:39px;border:1px solid #d0dce6;border-radius:4px;padding:0 11px}.api-live-test-form label small{grid-column:2;color:#8798a6}.api-live-checks{display:flex;gap:15px;flex-wrap:wrap;padding:9px 11px;background:#f2f8fd;color:#397aa8;font-size:11px}.api-live-summary{border:1px solid;border-radius:4px;padding:11px}.api-live-summary.ok{border-color:#bde1ca;background:#f1fbf5}.api-live-summary.bad{border-color:#efc4c4;background:#fff4f4}.api-live-summary h3{margin:0 0 5px}.api-live-summary p{margin:0;color:#708290}.api-live-summary ul{list-style:none;margin:10px 0 0;padding:0}.api-live-summary li{display:grid;grid-template-columns:110px 1fr;gap:10px;padding:6px 0;border-top:1px dashed #d8e1e6}.api-live-summary li.ok b{color:#159b56}.api-live-summary li.bad b{color:#dc5050}.api-live-summary li.pending b{color:#ba8112}.api-test-history{border-top:1px solid #e2e8ec;padding-top:10px}.api-test-history h3{margin:0 0 8px;color:#3f566b}.api-test-history table{width:100%;border-collapse:collapse;font-size:11px}.api-test-history th,.api-test-history td{border:1px solid #e1e8ed;padding:7px;text-align:center}.api-test-history th{background:#f3f6fa;color:#465d72}
.api-integration-page{padding:14px;background:#edf2f5;min-height:calc(100vh - 86px)}.api-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.api-heading h1{margin:0;color:#172d42;font-size:19px}.api-heading p{margin:4px 0 0;color:#8191a0;font-size:12px}.api-heading button{width:auto;height:34px;padding:0 15px}.api-filters{display:flex;align-items:end;gap:12px;background:#fff;border:1px solid #dfe6eb;border-radius:4px;padding:12px;margin-bottom:9px}.api-filters label{display:grid;gap:5px;color:#526579;font-size:12px}.api-filters label:first-child{width:300px}.api-filters label:nth-child(2){width:150px}.api-filters input,.api-filters select{height:34px;border:1px solid #d3dee7;border-radius:3px;padding:0 10px;background:#fff}.api-filters button{width:auto;height:34px;padding:0 20px}.api-guide{display:flex;align-items:center;gap:12px;min-height:42px;padding:8px 14px;margin-bottom:9px;border:1px solid #cfe0ef;border-radius:4px;background:#f4faff;color:#456681;font-size:12px}.api-guide strong{color:#246fa8}.api-guide i{color:#92a9ba;font-style:normal}.api-table-card{background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a0d}.api-table-card table{width:100%;min-width:1220px;border-collapse:collapse}.api-table-card th{height:48px;background:#f3f6fa;border:1px solid #e1e8ed;color:#354a5d;font-weight:700}.api-table-card td{height:62px;text-align:center;border:1px solid #e7ecef;color:#3d5062;font-weight:600;padding:7px 9px}.api-table-card td small{display:block;margin-top:5px;color:#8999a7;font-weight:600}.api-table-card td a{color:#348bd0}.api-row-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px}.api-row-actions button{height:28px;padding:0 8px;border:1px solid #a9cae5;border-radius:3px;background:#f5faff;color:#3384c5}.api-row-actions button:last-child{color:#dc5757;border-color:#efc0c0;background:#fff7f7}.merchant-modal-card:has(.api-integration-form){width:min(760px,96vw)}.api-integration-form{display:grid;gap:11px}.api-integration-form>label{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:10px}.api-integration-form label>span{text-align:right;color:#485e72;font-weight:700}.api-integration-form em{color:#e64b4b;font-style:normal}.api-integration-form input,.api-integration-form select{height:39px;border:1px solid #d0dce6;border-radius:4px;padding:0 11px;background:#fff}.api-form-note{padding:9px 11px;border:1px solid #f1d8a5;background:#fff9e9;color:#9b721e;border-radius:4px;font-size:12px}.api-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.api-form-grid label{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:10px}.api-details>p{padding:10px 12px;background:#f4f8fb;border-radius:4px;color:#52697b;line-height:1.7}.api-details>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.api-details section{border:1px solid #dce5eb;border-radius:4px;overflow:hidden}.api-details h3{margin:0;padding:10px;background:#f4f7fa;font-size:14px;color:#314b62}.api-details ul,.api-validation ul{list-style:none;padding:8px 12px;margin:0}.api-details li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dashed #e3e9ed;color:#71808e;font-size:12px}.api-details li b{color:#334f67}.api-validation h3{padding:11px;border-radius:4px}.api-validation .ok{color:#139b57}.api-validation .bad{color:#d84d4d}.api-validation li{padding:5px 0;font-weight:700}.api-validation p{color:#798b99;font-size:12px}@media(max-width:800px){.api-filters{flex-wrap:wrap}.api-guide{align-items:flex-start;flex-direction:column}.api-form-grid,.api-details>div{grid-template-columns:1fr}.api-integration-form>label,.api-form-grid label{grid-template-columns:1fr}.api-integration-form label>span{text-align:left}}

.api-matching-layout{display:grid;grid-template-columns:minmax(520px,1.15fr) minmax(380px,.85fr);gap:12px}.api-matching-form,.api-match-result,.api-match-history{background:#fff;border:1px solid #dfe6eb;border-radius:4px;box-shadow:0 2px 8px #263c4a0d}.api-matching-form{padding:15px;display:grid;gap:11px}.api-matching-form header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4e9ed;padding-bottom:11px}.api-matching-form h2,.api-match-history h2{margin:0;font-size:16px;color:#243b50}.api-matching-form header span{font-size:11px;color:#7e91a1}.api-matching-form>label{display:grid;grid-template-columns:115px 1fr;align-items:center;gap:10px}.api-matching-form label>span{text-align:right;color:#4b6175;font-weight:700}.api-matching-form em{color:#e44d4d;font-style:normal}.api-matching-form input,.api-matching-form textarea{border:1px solid #d0dce6;border-radius:4px;padding:9px 11px}.api-matching-form input{height:38px}.api-matching-form label small{grid-column:2;color:#91a0ac;font-size:11px}.api-document-text{align-items:start!important}.api-document-text textarea{height:230px;resize:vertical;line-height:1.55}.api-match-actions{display:flex;justify-content:flex-end;gap:10px}.api-match-actions button{width:auto;height:36px;padding:0 18px}.api-match-result{padding:16px}.api-result-empty{display:grid;place-items:center;height:100%;min-height:430px;color:#97a5b0}.api-match-result>header{display:flex;align-items:center;justify-content:space-between}.api-match-result>header>span{font-weight:700;color:#52687b}.api-match-result h2{margin:18px 0 6px;font-size:21px;color:#223c53}.api-match-result>p{color:#6e8191;line-height:1.7}.api-decision{display:inline-block;border-radius:12px;padding:4px 9px;font-size:11px;font-weight:700}.api-decision.reuse{background:#e7f8ee;color:#139a55}.api-decision.review{background:#fff5db;color:#b17909}.api-decision.adapter{background:#ffeded;color:#db4c4c}.api-recommended{padding:12px;border:1px solid #bfe2cf;background:#f1fbf5;border-radius:4px}.api-recommended span,.api-recommended small{display:block;color:#738a7e;font-size:11px}.api-recommended strong{display:block;margin:5px 0;color:#109b54;font-size:18px}.api-match-result dl{display:grid;grid-template-columns:repeat(3,1fr);margin:12px 0}.api-match-result dl div{padding:10px;border:1px solid #e1e8ed;text-align:center}.api-match-result dt{color:#8494a1;font-size:11px}.api-match-result dd{margin:5px 0 0;color:#324c63;font-weight:700}.api-match-result section{margin-top:13px}.api-match-result h3{font-size:13px;color:#445c70}.api-detected-fields{display:flex;gap:6px;flex-wrap:wrap}.api-detected-fields i{font-style:normal;border:1px solid #c9dcec;background:#f2f8fd;color:#397aa9;border-radius:3px;padding:3px 7px;font-size:11px}.api-match-warnings{padding:8px 11px;background:#fff6e7;border-radius:4px;color:#9a6b12}.api-candidates{list-style:none;padding:0;margin:0}.api-candidates li{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dashed #dfe6ea}.api-candidates small{display:block;color:#8c9aa5}.api-match-history{margin-top:12px;padding-top:13px}.api-match-history h2{padding:0 15px 12px}.api-match-history table{width:100%;min-width:900px;border-collapse:collapse}.api-match-history th{height:42px;background:#f3f6fa;color:#3c5367}.api-match-history td{height:48px;border:1px solid #e4eaee;text-align:center;color:#43596c;font-weight:600}.api-match-history td small{display:block;color:#91a0ac;font-size:10px;margin-top:3px}@media(max-width:1050px){.api-matching-layout{grid-template-columns:1fr}.api-result-empty{min-height:180px}}@media(max-width:650px){.api-matching-form>label{grid-template-columns:1fr}.api-matching-form label>span{text-align:left}.api-matching-form label small{grid-column:1}.api-match-result dl{grid-template-columns:1fr}}

/* API 字段配对 */
.field-mapping-warning{padding:10px 13px;margin-bottom:10px;border:1px solid #efd39b;border-radius:4px;background:#fff8e7;color:#936918;font-weight:700}.field-mapping-picker{display:flex;align-items:end;gap:16px;padding:12px 14px;margin-bottom:10px;background:#fff;border:1px solid #dce5eb;border-radius:4px}.field-mapping-picker label{display:grid;gap:5px;width:min(520px,70vw);font-weight:700;color:#4a6074}.field-mapping-picker select{height:38px;border:1px solid #ccd9e4;border-radius:4px;padding:0 10px;background:#fff}.field-mapping-picker>span{display:flex;gap:12px;align-items:center;color:#50667a}.mapping-published{color:#109b56}.mapping-draft{color:#b77b0b}
#field-mapping-form{display:grid;gap:11px}#field-mapping-form[hidden]{display:none}#field-mapping-form>section{background:#fff;border:1px solid #dce5eb;border-radius:4px;padding:14px;box-shadow:0 2px 8px #263c4a0b}#field-mapping-form section>header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4eaee;padding-bottom:10px;margin-bottom:12px}#field-mapping-form h2{margin:0;font-size:16px;color:#263f56}#field-mapping-form h3{font-size:13px;color:#4b6073;margin:12px 0 7px}#field-mapping-form header small{color:#8293a1}
.mapping-settings{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mapping-settings label{display:grid;gap:5px;min-width:170px;flex:1;color:#52677a;font-weight:700}.mapping-settings input,.mapping-settings select,.mapping-grid input{height:36px;border:1px solid #ccd9e4;border-radius:4px;padding:0 10px;background:#fff}.sign-settings{padding:11px;background:#f6f9fb;border:1px solid #e0e8ee;border-radius:4px;margin:12px 0 0}.mapping-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:9px}.mapping-grid label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:7px}.mapping-grid label span{color:#52677a;font-weight:700;text-align:right}.mapping-grid input::placeholder{color:#a1aeb8}.field-mapping-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:11px;background:#ffffffef;border:1px solid #dce5eb;border-radius:4px;box-shadow:0 -2px 10px #263c4a12}.field-mapping-actions button{width:auto;height:38px;padding:0 20px}.mapping-check-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px;border:1px solid #dce5eb;background:#fff;border-radius:4px}.mapping-check-list h3{grid-column:1/-1;margin:0 0 4px}.mapping-check-list span{padding:7px 9px;border-radius:3px;font-weight:700}.mapping-check-list .ok{background:#eefaf3;color:#109756}.mapping-check-list .bad{background:#fff0f0;color:#d94e4e}@media(max-width:1280px){.mapping-grid{grid-template-columns:repeat(2,minmax(220px,1fr))}.mapping-check-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.mapping-grid,.mapping-check-list{grid-template-columns:1fr}.mapping-grid label{grid-template-columns:1fr}.mapping-grid label span{text-align:left}.field-mapping-picker{align-items:flex-start;flex-direction:column}.field-mapping-picker label{width:100%}}
.mapping-required{color:#e04646;font-style:normal;font-weight:800;font-size:11px}.mapping-grid label span small{display:block;color:#9a7a34;font-size:9px;font-weight:600;margin-top:2px}
.custom-field-heading{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #e3e9ee}.custom-field-heading h3{margin:0!important}.custom-field-heading small{color:#8797a5}.custom-field-heading button{width:auto;height:32px;padding:0 13px}.custom-field-table{margin-top:8px;border:1px solid #dce5eb;border-radius:4px;overflow:auto}.custom-field-head,.custom-field-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(180px,1.3fr) minmax(180px,1.4fr) 90px 90px 70px;min-width:850px;align-items:center}.custom-field-head{height:38px;background:#f3f6f9;color:#40566b;font-weight:700;text-align:center}.custom-field-row{min-height:48px;border-top:1px solid #e3e9ee}.custom-field-row>input,.custom-field-row>select{height:34px;margin:6px;border:1px solid #ccd9e4;border-radius:3px;padding:0 8px;background:#fff}.custom-field-row>input:disabled{background:#f1f4f6;color:#93a0aa}.custom-field-row>label{display:flex;justify-content:center;align-items:center;gap:4px;color:#536779;font-weight:700}.custom-field-row>label input{width:15px;height:15px;accent-color:#318bd4}.custom-field-row button{border:0;background:transparent;color:#df5252;font-weight:700}.custom-field-row button:hover{text-decoration:underline}
.flexible-mapping{border:1px solid #dce5eb;border-radius:4px;overflow:hidden}.flexible-mapping-head,.flexible-mapping-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.4fr) 80px;align-items:center;min-width:650px}.flexible-mapping-head{height:38px;background:#f3f6f9;color:#40566b;text-align:center;font-weight:700}.flexible-mapping-row{min-height:48px;border-top:1px solid #e3e9ee}.flexible-mapping-row select,.flexible-mapping-row input{height:34px;margin:6px;border:1px solid #ccd9e4;border-radius:3px;padding:0 9px;background:#fff}.flexible-mapping-row button{border:0;background:transparent;color:#df5252;font-weight:700}.flexible-mapping>[data-add-flex]{width:auto;height:32px;margin:9px 12px;padding:0 14px}

/* 字段配对紧凑布局 */
.api-field-mapping-page{padding:10px 12px}.api-field-mapping-page .api-heading{margin-bottom:7px}.api-field-mapping-page .field-mapping-warning{padding:7px 11px;margin-bottom:7px;font-size:11px}.api-field-mapping-page .field-mapping-picker{padding:8px 10px;margin-bottom:7px}.api-field-mapping-page .field-mapping-picker label{display:flex;align-items:center;gap:10px;width:auto;min-width:520px}.api-field-mapping-page .field-mapping-picker select{width:410px;height:34px}.api-field-mapping-page #field-mapping-form{gap:7px}.api-field-mapping-page #field-mapping-form>section{padding:9px 11px}.api-field-mapping-page #field-mapping-form section>header{padding-bottom:7px;margin-bottom:8px}.api-field-mapping-page #field-mapping-form h2{font-size:14px}.api-field-mapping-page #field-mapping-form h3{margin:7px 0 5px}.api-field-mapping-page .mapping-settings{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:7px;margin-bottom:8px}.api-field-mapping-page .mapping-settings label{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap}.api-field-mapping-page .mapping-settings input,.api-field-mapping-page .mapping-settings select{flex:1;min-width:0;height:32px;padding:0 8px}.api-field-mapping-page .sign-settings{padding:7px 8px;margin-top:8px}.api-field-mapping-page .custom-field-heading{margin-top:8px;padding-top:7px}.api-field-mapping-page .custom-field-heading button{height:29px}.api-field-mapping-page .custom-field-table{margin-top:5px}.api-field-mapping-page .custom-field-head,.api-field-mapping-page .custom-field-row{grid-template-columns:minmax(150px,.85fr) minmax(235px,1.25fr) minmax(155px,1fr) 76px 76px 58px;min-width:830px}.api-field-mapping-page .custom-field-head{height:32px;font-size:11px}.api-field-mapping-page .custom-field-row{min-height:40px}.api-field-mapping-page .custom-field-row>input,.api-field-mapping-page .custom-field-row>select{height:30px;margin:4px 5px;padding:0 7px;font-size:12px}.api-field-mapping-page .custom-field-row>label{font-size:11px}.api-field-mapping-page .custom-field-row button{font-size:11px;padding:0}.api-field-mapping-page .flexible-mapping-head,.api-field-mapping-page .flexible-mapping-row{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.5fr) 60px;min-width:700px}.api-field-mapping-page .flexible-mapping-head{height:32px;font-size:11px}.api-field-mapping-page .flexible-mapping-row{min-height:40px}.api-field-mapping-page .flexible-mapping-row select,.api-field-mapping-page .flexible-mapping-row input{height:30px;margin:4px 5px;font-size:12px}.api-field-mapping-page .flexible-mapping>[data-add-flex]{height:29px;margin:6px 9px}.api-field-mapping-page .mapping-check-list{gap:5px;padding:8px}.api-field-mapping-page .mapping-check-list span{padding:5px 7px;font-size:11px}.api-field-mapping-page .field-mapping-actions{padding:7px 9px}.api-field-mapping-page .field-mapping-actions button{height:33px;padding:0 16px}@media(max-width:1100px){.api-field-mapping-page .mapping-settings{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:650px){.api-field-mapping-page .field-mapping-picker label{display:grid;min-width:0;width:100%}.api-field-mapping-page .field-mapping-picker select{width:100%}.api-field-mapping-page .mapping-settings{grid-template-columns:1fr}.api-field-mapping-page .mapping-settings label{display:grid;white-space:normal}}

/* 字段配对自然双列卡片 */
.api-matching-form select{height:38px;border:1px solid #d0dce6;border-radius:4px;padding:0 11px;background:#fff}.api-import-summary{margin:8px 0 0;color:#718494;font-size:11px}.api-import-mapping{width:100%;height:36px;margin-top:12px}
.api-field-mapping-page .custom-field-table{border:0;overflow:visible;background:transparent}.api-field-mapping-page #custom-request-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.api-field-mapping-page .custom-field-row{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(250px,1.35fr);gap:7px 9px;min-width:0;min-height:0;padding:9px;border:1px solid #dce5eb;border-radius:5px;background:#f9fbfc;align-items:end}.api-field-mapping-page .custom-field-row>label{display:grid;justify-content:stretch;gap:4px;font-size:11px;text-align:left;color:#536779}.api-field-mapping-page .custom-field-row>label>span{font-weight:700}.api-field-mapping-page .custom-field-row input,.api-field-mapping-page .custom-field-row select{width:100%;height:32px;margin:0;border:1px solid #ccd9e4;border-radius:3px;padding:0 8px;background:#fff;font-size:12px}.api-field-mapping-page .custom-field-row input:disabled{background:#eef2f5;color:#8c9aa5}.api-field-mapping-page .custom-value-control{grid-column:1/2}.api-field-mapping-page .custom-field-options{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:32px;white-space:nowrap}.api-field-mapping-page .custom-field-options label{display:flex;align-items:center;gap:4px;color:#536779;font-size:11px;font-weight:700}.api-field-mapping-page .custom-field-options input{width:14px;height:14px;accent-color:#318bd4}.api-field-mapping-page .custom-field-options button{margin-left:auto;border:0;background:transparent;color:#df5252;font-weight:700}
.api-field-mapping-page .flexible-mapping{border:0;overflow:visible}.api-field-mapping-page .flexible-mapping>[data-flex-rows]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.api-field-mapping-page .flexible-mapping-row{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(230px,1.15fr) 42px;gap:7px;min-width:0;min-height:0;padding:8px;border:1px solid #dce5eb;border-radius:5px;background:#f9fbfc;align-items:end}.api-field-mapping-page .flexible-mapping-row label{display:grid;gap:4px;color:#536779;font-size:11px;font-weight:700}.api-field-mapping-page .flexible-mapping-row select,.api-field-mapping-page .flexible-mapping-row input{width:100%;height:32px;margin:0}.api-field-mapping-page .flexible-mapping-row button{height:32px}.api-field-mapping-page .flexible-mapping>[data-add-flex]{margin:8px 0 0}
@media(max-width:1450px){.api-field-mapping-page #custom-request-fields,.api-field-mapping-page .flexible-mapping>[data-flex-rows]{grid-template-columns:1fr}}@media(max-width:760px){.api-field-mapping-page .custom-field-row,.api-field-mapping-page .flexible-mapping-row{grid-template-columns:1fr}.api-field-mapping-page .custom-value-control{grid-column:auto}.api-field-mapping-page .custom-field-options{justify-content:flex-start;flex-wrap:wrap}.api-field-mapping-page .flexible-mapping-row button{width:max-content}}

/* AI 文档截图 OCR */
.ai-screenshot-upload{display:grid;grid-template-columns:130px 1fr;gap:7px 12px;align-items:center}.ai-screenshot-upload>span{font-weight:700;color:#536779;text-align:right}.ai-screenshot-upload>div{display:flex;gap:9px;align-items:center}.ai-screenshot-upload input[type=file]{flex:1;min-width:0;padding:7px;border:1px solid #ccd9e4;border-radius:4px;background:#fff}.ai-screenshot-upload small,.ai-screenshot-upload output{grid-column:2;color:#8293a1}.ai-screenshot-upload output.success{color:#109756;font-weight:700}.ai-screenshot-upload output.error{color:#d94e4e;font-weight:700}@media(max-width:700px){.ai-screenshot-upload{grid-template-columns:1fr}.ai-screenshot-upload>span{text-align:left}.ai-screenshot-upload small,.ai-screenshot-upload output{grid-column:1}.ai-screenshot-upload>div{align-items:stretch;flex-direction:column}}

/* API 对接说明 */
.guide-danger,.guide-success{display:flex;align-items:center;gap:14px;padding:12px 15px;border-radius:5px;margin-bottom:11px}.guide-danger{background:#fff5df;border:1px solid #efd49a;color:#8f6517}.guide-danger strong{color:#d94b43}.guide-success{background:#effaf4;border:1px solid #bce2cc;color:#27744d}.guide-success strong{white-space:nowrap;color:#0d9652}.guide-flow{position:sticky;top:78px;z-index:5;display:grid;grid-template-columns:repeat(6,1fr);gap:1px;margin-bottom:12px;background:#dce5ec;border:1px solid #dce5ec;border-radius:5px;overflow:hidden}.guide-flow a{padding:11px;text-align:center;background:#fff;color:#327db9;font-weight:700}.guide-flow a:hover{background:#edf7ff}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px}.guide-layout main{display:grid;gap:12px}.guide-layout article,.guide-layout aside{background:#fff;border:1px solid #dce5eb;border-radius:5px;padding:16px;box-shadow:0 2px 8px #263c4a0b}.guide-layout article>header{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e5eaee;padding-bottom:11px;margin-bottom:12px}.guide-layout article>header>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#378bd2;color:#fff;font-size:17px}.guide-layout article h2,.guide-layout aside h2{margin:0;color:#263e54;font-size:17px}.guide-layout article header p{margin:3px 0 0;color:#8292a0;font-size:11px}.guide-layout article li{margin:7px 0;color:#4d6274;line-height:1.65}.guide-layout article code{padding:2px 5px;border-radius:3px;background:#edf3f7;color:#1e6faa;font-weight:700}.guide-tip,.guide-warning{padding:9px 11px;border-radius:4px;margin-top:10px}.guide-tip{background:#eff8ff;border-left:4px solid #3b91d9;color:#3f6786}.guide-warning{background:#fff5e8;border-left:4px solid #e4a130;color:#8d651f}.guide-example{display:grid;grid-template-columns:110px 1fr;gap:1px;background:#dce5eb;border:1px solid #dce5eb;margin-bottom:10px}.guide-example>*{padding:8px 10px;background:#f8fafb}.guide-example span{font-weight:700;color:#52677a}.guide-layout article table{width:100%;border-collapse:collapse}.guide-layout article th,.guide-layout article td{padding:9px;border:1px solid #dfe6eb;text-align:left}.guide-layout article th{background:#f3f6f9;color:#40566a}.guide-layout aside{position:sticky;top:132px;height:max-content}.guide-layout aside h2{padding-bottom:11px;border-bottom:1px solid #e3e9ed}.guide-layout aside label{display:flex;align-items:center;gap:8px;padding:8px 2px;color:#4e6375;font-weight:700}.guide-layout aside input{width:16px;height:16px;accent-color:#2e8bd5}.guide-layout aside p{font-size:10px;color:#8a9aa7}.guide-errors{margin:0}.guide-errors>div{display:grid;grid-template-columns:220px 1fr;border-bottom:1px dashed #dce5eb;padding:9px 0}.guide-errors dt{font-weight:700}.guide-errors dd{margin:0;color:#536779}@media(max-width:1000px){.guide-layout{grid-template-columns:1fr}.guide-layout aside{position:static}.guide-flow{position:static;grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.guide-flow{grid-template-columns:repeat(2,1fr)}.guide-errors>div{grid-template-columns:1fr}.guide-example{grid-template-columns:1fr}.guide-danger,.guide-success{align-items:flex-start;flex-direction:column}}
.safety-settings{align-items:center}.safety-settings label{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #dbe4ef;border-radius:6px;background:#f8fbff}.safety-settings input[type="checkbox"]{width:16px!important;height:16px!important;margin:0;flex:0 0 auto}

/* AI 接口对接助手 */
.ai-assistant-page{padding:10px 12px}.ai-flow{display:flex;align-items:center;gap:8px;padding:10px 13px;margin-bottom:9px;border:1px solid #dce5eb;border-radius:5px;background:#fff;color:#667b8d}.ai-flow span{padding:6px 10px;border-radius:14px;background:#f1f5f8;font-weight:700;white-space:nowrap}.ai-flow span.active{background:#e7f2ff;color:#247ac0}.ai-flow b{color:#a6b2bc}.ai-cloud-status{display:flex;align-items:center;justify-content:space-between;padding:9px 13px;margin-bottom:9px;border-radius:4px}.ai-cloud-status.ready{border:1px solid #b8dfc9;background:#effaf4;color:#167448}.ai-cloud-status.missing{border:1px solid #efd49a;background:#fff7e5;color:#916616}.ai-cloud-status span{font-size:11px}.ai-assistant-layout{display:grid;grid-template-columns:minmax(520px,1.05fr) minmax(420px,.95fr);gap:10px}.ai-assistant-form,.ai-current-result,.ai-draft-history{border:1px solid #dce5eb;border-radius:5px;background:#fff;box-shadow:0 2px 8px #263c4a0b}.ai-assistant-form{display:grid;gap:10px;padding:14px}.ai-assistant-form header,.ai-draft-history>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid #e4eaee}.ai-assistant-form h2,.ai-draft-history h2{margin:0;font-size:16px;color:#253f56}.ai-assistant-form header small{color:#8193a2}.ai-assistant-form>label{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:9px}.ai-assistant-form label>span{text-align:right;color:#50667a;font-weight:700}.ai-assistant-form em{color:#e14d4d;font-style:normal}.ai-assistant-form input,.ai-assistant-form textarea,.ai-confirm-fields input{border:1px solid #ccd9e4;border-radius:4px;padding:8px 10px}.ai-assistant-form input{height:36px}.ai-assistant-form textarea{min-height:260px;resize:vertical;line-height:1.55}.ai-assistant-form .ai-document{align-items:start}.ai-form-actions{display:flex;justify-content:flex-end;gap:9px}.ai-form-actions button{width:auto;padding:0 18px}.ai-current-result{padding:14px;min-height:430px}.ai-empty{display:grid;place-items:center;min-height:180px;color:#93a2ae}.ai-draft-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ai-draft-card h3{margin:0;color:#29445b;font-size:15px}.ai-draft-card header small{display:block;margin-top:4px;color:#8a99a5}.ai-draft-card>p{color:#5d7284;line-height:1.6}.ai-draft-status{padding:4px 8px;border-radius:12px;background:#fff4d9;color:#a47212;font-size:10px;font-weight:700;white-space:nowrap}.ai-draft-status.interface_created{background:#eaf3fb;color:#2678b6}.ai-draft-status.test_passed,.ai-draft-status.enabled{background:#e9f8ef;color:#128c4c}.ai-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);margin:10px 0;border:1px solid #e0e7ec}.ai-summary-grid div{padding:8px;border-right:1px solid #e0e7ec;border-bottom:1px solid #e0e7ec}.ai-summary-grid dt{color:#81919e;font-size:10px}.ai-summary-grid dd{margin:3px 0 0;color:#324d63;font-weight:700}.ai-unresolved,.ai-warnings{margin-top:9px;padding:8px 10px;border-radius:4px;font-size:11px}.ai-unresolved{background:#fff7e7;color:#8c651b}.ai-warnings{background:#fff0f0;color:#a44444}.ai-unresolved ul,.ai-warnings ul{margin:5px 0 0;padding-left:18px}.ai-draft-card footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.ai-draft-card footer button{width:auto;padding:0 14px}.ai-draft-history{margin-top:10px;padding:13px}.ai-draft-history>header button{width:auto;height:30px}.ai-draft-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}.ai-draft-list .ai-draft-card{padding:11px;border:1px solid #e0e7ec;border-radius:4px;background:#fafcfd}.ai-confirm-card{width:min(760px,94vw)}.ai-confirm-warning{padding:9px 11px;border:1px solid #efd49a;background:#fff7e5;color:#8e651b;border-radius:4px}.ai-confirm-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ai-confirm-fields label{display:grid;gap:5px;color:#4e6376;font-weight:700}.ai-human-check{display:flex;align-items:flex-start;gap:8px;margin-top:13px;padding:10px;border:1px solid #bed8ed;background:#f1f8fe;border-radius:4px;color:#355f80;font-weight:700}.ai-human-check input{width:16px;height:16px;flex:none}.ai-confirm-card .merchant-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:13px}.ai-confirm-card .merchant-modal-actions button{width:auto;padding:0 18px}@media(max-width:1100px){.ai-assistant-layout{grid-template-columns:1fr}.ai-draft-list{grid-template-columns:1fr}.ai-flow{overflow:auto}}@media(max-width:650px){.ai-assistant-form>label{grid-template-columns:1fr}.ai-assistant-form label>span{text-align:left}.ai-summary-grid,.ai-confirm-fields{grid-template-columns:1fr}.ai-cloud-status{align-items:flex-start;flex-direction:column;gap:4px}}
