/* Shared system-font contract: normal text 400; headings 600. Frozen source files remain unchanged. */
@import url("../source-html/font-contract.css");
:root{
  --scene-font:var(--ui-font-family,"PingFang SC","Microsoft YaHei",sans-serif);
  --scene-body:#303133;--scene-heading:#303133;--scene-label:#303133;
  --scene-secondary:#595959;--scene-muted:#909399;--scene-placeholder:#c0c4cc;
  --scene-link:#3377bb;--scene-link-hover:#409eff;
  --scene-success:#67c23a;--scene-warning:#e6a23c;--scene-danger:#f56c6c;
  --ui-body:var(--scene-body);--ui-title:var(--scene-label);--ui-secondary:var(--scene-secondary);
  --ui-placeholder:var(--scene-placeholder);--ui-action:var(--scene-link);
  --ui-success:var(--scene-success);--ui-warning:var(--scene-warning);--ui-danger:var(--scene-danger);
}
/* Use the same system text stack in the host and every embedded business entry. */
body{-webkit-font-smoothing:auto;font-family:var(--scene-font);font-size:14px;font-weight:400;line-height:1.5;color:var(--scene-body)}
/* Do not target icon glyphs, code blocks, navigation contrast or chart heatmap fills. */
.el-table,.el-form,.el-descriptions,.el-dialog,.el-drawer,.el-popover,
.el-button,.el-input__inner,.el-textarea__inner,.el-range-input,.description-label,.description-value{
  font-family:var(--scene-font)!important;
}
.page-content,.promotion-report,.withdrawal-audit-page,.profile-audit-page,
.business-audit-page,.personal-center-page,.operations-overview,.el-dialog__body,.el-drawer__body{
  color:var(--scene-body)!important;font-size:14px;font-weight:400;
}
/* Tables: identical body/head hierarchy, including source composite cells and native report tables. */
.el-table,.el-table td.el-table__cell,.el-table__body td,
.promotion-report .report-table td{
  color:var(--scene-body)!important;font-size:14px!important;font-weight:400!important;
}
.el-table .cell,.promotion-report .report-table :is(th,td){font-size:14px!important;line-height:21px!important}
.el-table th.el-table__cell,.el-table__header th,.promotion-report .report-table th,.ov-matrix thead th{
  color:var(--scene-heading)!important;font-size:14px!important;font-weight:600!important;
}
.el-table :is(.data-line,.data-label,.core-value,.amount-cell),
.table-field-stack strong{
  color:var(--scene-body)!important;font-size:14px!important;font-weight:400!important;
}
.el-table__footer-wrapper td,.el-table__footer-wrapper .cell,
.promotion-report .report-table .report-total-label{color:var(--scene-body)!important;font-size:14px!important}
/* Filter labels and editable values use the same 14px regular text. */
.el-form-item__label,.filter-field__label,.filter-field>label,.report-label,.ov-query>label{
  color:var(--scene-label)!important;font-size:14px!important;font-weight:400!important;
}
.el-input__inner,.el-textarea__inner,.el-range-input{
  color:var(--scene-label)!important;font-size:14px!important;font-weight:400!important;
}
.el-input__inner::placeholder,.el-textarea__inner::placeholder,.el-range-input::placeholder{
  color:var(--scene-placeholder)!important;opacity:1;
}
.el-input.is-disabled .el-input__inner,.el-textarea.is-disabled .el-textarea__inner{
  color:var(--scene-placeholder)!important;
}
/* Inherited configuration is read-only data and must remain readable. */
.business-account-dialog .el-input.is-disabled .el-input__inner{color:var(--scene-body)!important}
.el-checkbox__label,.el-radio__label{font-size:14px!important;font-weight:400!important}
/* Details use the same regular text on both sides. Source borders and grouping remain intact. */
.el-descriptions-item__label,.el-descriptions-item__content,
.member-detail-drawer :is(.description-label,.description-value),
.audit-detail-grid :is(dt,dd),.audit-detail-table :is(dt,dd),.audit-detail-facts :is(dt,dd),
.pc-read-value,.pc-account-meta :is(dt,dd){
  color:var(--scene-body)!important;font-size:14px!important;font-weight:400!important;line-height:21px;
}
.member-detail-drawer .description-label{background:transparent}
.el-dialog__title,.el-drawer__title,.drawer-title-wrap h2,.drawer-heading h2,
.audit-drawer-title strong,.download-drawer-title strong,.notification-drawer__heading h2,
.business-audit-detail__header h3{
  color:var(--scene-label)!important;font-size:16px!important;font-weight:600!important;
}
.drawer-section h3,.account-section h3,.detail-section h3,.audit-detail-section :is(h3,h4),
.column-settings-group__title,.pc-group-label{
  color:var(--scene-label)!important;font-size:14px!important;font-weight:600!important;
}
.panel-title h2,.panel-title h3,.campaign-card h3,.pc-section-head h2,
.ov-section-title h3,.notification-detail__title{
  color:var(--scene-label)!important;font-size:16px!important;font-weight:600!important;
}
.campaign-card>p,.dialog-intro,.detail-section>p,.content-preview p,.ov-definition,
.drawer-context>div>span,.notification-item-title{
  color:var(--scene-body)!important;font-size:14px!important;font-weight:400!important;
}
.campaign-dates,.campaign-numbers span,.campaign-footer>span,.segment-info,
.panel-title>div>span,.ov-muted,.ov-updated,.ov-definition-line,.ov-brush-title,.ov-brush-endpoints,
.notification-group-title,.notification-item-meta{
  color:var(--scene-secondary)!important;font-size:12px!important;font-weight:400!important;
}
.page-content .el-tabs__item,.workspace .el-tabs__item,.el-dialog .el-tabs__item,.el-drawer .el-tabs__item{
  color:var(--scene-label)!important;font-size:14px!important;font-weight:400!important;
}
.page-content .el-tabs__item.is-active,.workspace .el-tabs__item.is-active,
.el-dialog .el-tabs__item.is-active,.el-drawer .el-tabs__item.is-active{color:var(--scene-link)!important}
.page-content .el-tabs__active-bar,.workspace .el-tabs__active-bar{background:var(--scene-link)!important}
.muted,.field-help,.account-field-help,.account-inheritance-note,.created-record-caption,
.tree-level,.report-agent-depth,.drawer-title-wrap>span,.readonly-hint,.preview-label,.preview-time{
  color:var(--scene-secondary)!important;font-size:12px!important;font-weight:400!important;
}
.table-pagination,.created-record-total,.business-table-footer,.promotion-report .report-pagination-summary{
  color:var(--scene-body)!important;font-size:14px!important;font-weight:400!important;
}
/* Status has its own meaning; remove only palette discrepancies, not the meaning. */
.status-pill,.created-account-status,.status-chip,.status-text,.plain-status,
.audit-text-status,.operation-log-result{font-size:14px!important;font-weight:400!important}
.status-pill.success,.status-chip.is-enabled,.status-text.is-success,.plain-status.is-success,
.audit-text-status.is-success,.audit-text--success,.created-account-status.is-enabled,
.operation-log-result:not(.is-failed){color:var(--scene-success)!important}
.status-pill.danger,.plain-status.is-danger,.audit-text-status.is-danger,.audit-text--danger,
.operation-log-result.is-failed{color:var(--scene-danger)!important}
.status-pill.warning,.plain-status.is-pending,.audit-text-status.is-warning,.audit-text--warning{color:var(--scene-warning)!important}
.status-pill.neutral,.status-chip.is-disabled,.created-account-status:not(.is-enabled){color:var(--scene-muted)!important}
/* Shared controls, including elements mounted outside the page root. */
.el-button,.el-button>span,.el-select-dropdown__item,.el-dropdown-menu__item,
.el-cascader-node__label,.el-checkbox__label,.el-radio__label,.el-radio-button__inner,
.el-tree-node__label,.el-transfer-panel__header .el-checkbox__label,
.el-transfer-panel__empty,.el-empty__description p,.el-table__empty-text,
.el-message-box__content,.el-message-box__message,.el-alert__title,.el-alert__description,
.el-timeline-item__content,.el-collapse-item__header,.el-collapse-item__content{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;
}
.el-tree,.el-select-dropdown,.el-dropdown-menu,.el-cascader-panel,
.el-transfer-panel,.el-empty__description p,.el-table__empty-text,
.el-message-box__content,.el-timeline-item__content,.el-collapse-item__header,.el-collapse-item__content{
 color:var(--scene-body)!important;font-family:var(--scene-font)!important;
}
.el-tree-node__label{color:inherit}
.el-select-dropdown__item,.el-dropdown-menu__item,.el-checkbox__label,.el-radio__label{
 color:var(--scene-body);
}
.el-select-dropdown__item.selected,.el-select-dropdown__item.hover,
.el-dropdown-menu__item:not(.is-disabled):hover,.el-dropdown-menu__item:not(.is-disabled):focus,
.el-cascader-node.in-active-path,.el-cascader-node.is-active,
.el-tree-node.is-current>.el-tree-node__content{color:var(--scene-link)!important}
.el-select-dropdown__item.is-disabled,.el-dropdown-menu__item.is-disabled,
.el-cascader-node.is-disabled{color:var(--scene-placeholder)!important}
.el-radio-button__inner{font-family:var(--scene-font)!important}
.el-radio-button__orig-radio:not(:checked)+.el-radio-button__inner{color:var(--scene-body)!important}
.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:var(--scene-placeholder)!important}
.el-message-box__title{font-family:var(--scene-font)!important;font-size:16px!important;font-weight:600!important;color:var(--scene-heading)!important}
.el-message__content{font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important}
.el-tag{font-family:var(--scene-font)!important;font-size:12px!important;font-weight:400!important}
.el-form-item__error,.el-input__count,.el-input__count-inner,.el-textarea .el-input__count,
.el-timeline-item__timestamp,.el-tooltip__popper{
 font-family:var(--scene-font)!important;font-size:12px!important;font-weight:400!important;
}
.el-pagination,.el-pager li,.el-pagination button,.el-pagination__total,.el-pagination__jump{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;
}
.el-pagination__total,.el-pagination__jump,.el-pagination__sizes{color:var(--scene-body)!important}
.el-table .cell{font-family:var(--scene-font)!important;color:inherit!important;font-weight:inherit!important}
/***** Custom carriers: audited against their source templates, not just Element classes. *****/
/* Data values and field labels share the same body treatment. */
.dialog-check-title,.member-cell__account,.payment-cell strong,.risk-summary-cell,
.audit-summary-member__account,.audit-risk-findings__list li,.audit-risk-finding__title,
.audit-evidence-item__name,.audit-timeline-item__title,.audit-timeline-item p,
.confirm-facts dt,.confirm-facts dd,.confirm-summary p,
.audit-detail-field,.audit-detail-field>span,.audit-detail-field strong,
.audit-detail-summary span,.audit-detail-summary strong,
.business-audit-detail__summary span,.business-audit-detail__summary strong,
.audit-change-before,.audit-change-after,.audit-detail-field .audit-field-empty,
.description-label,.description-value,.member-data-summary-item b,.member-data-summary-item strong,
.member-adjustment-helper,.member-adjustment-unit,.table-field-stack span,
.notification-detail__meta dt,.notification-detail__meta dd,
.notification-detail__body,.notification-detail__body p,.notification-detail__object,
.pc-account-id,.pc-account-id strong,.pc-section-head p,.pc-security-copy p,
.pc-guidance ul,.pc-dialog-intro,.pc-result p,
.scope-breadcrumb,.scope-breadcrumb strong,.report-current-path,
.ov-point-popover,.ov-point-popover>strong,.ov-point-popover b,
.download-undo-bar,
.toolbar-label,.shared-label label,.summary-meta span,.summary-table,
.summary-table tbody th,.summary-table tbody td,.template-list .template-name,
.login-help .help-intro,.login-help .help-list p,.login-help .help-security p,.help-copy,
.login-card label,.intro-copy,.content-preview p,.table-empty strong{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;
 color:var(--scene-body)!important;
}
/* Titles have a consistent hierarchy in pages, drawers, cards and configuration dialogs. */
.toolbar-left h2,.block-heading h2,.content-preview h2,
.notification-popover__header h2,.notification-drawer__heading h2,
.business-page-header h2,.profile-page-header h2,.pc-account h2,
.profile-audit-detail-drawer .el-drawer__header,.pc-heading h1{
 font-family:var(--scene-font)!important;font-size:16px!important;font-weight:600!important;color:var(--scene-heading)!important;
}
.form-section h3,.locale-editor h4,.notification-detail__section h3,
.notification-detail__forbidden h3,.pc-security-copy h3,.pc-guidance h3,
.member-data-section-title,.report-column-section-title,
.login-help .help-list h3,.login-help .help-security h3,.vip-line h2,.preview-dialog h3{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:600!important;color:var(--scene-heading)!important;
}
.audit-summary-identity strong{font-size:16px!important;font-weight:600!important}
.audit-summary-amount{font-family:var(--scene-font)!important;color:var(--scene-heading)!important;font-weight:600!important}
/* Supplemental explanations stay subordinate, with the same weight and grey in every scene. */
.parent-mode,
.record-count,.date-caption,.table-empty span,.profile-note,.profile-timeline p,
.locale-editor h4 small,.payment-cell span,.audit-timeline-item>span:not(.audit-timeline-item__title),
.audit-evidence-item__content span,.audit-detail-section__count,.audit-section-heading>span,
.audit-detail-empty,.readonly-tip,.confirm-amount-divider,
.profile-page-summary,.business-page-summary,.profile-page-header p,.business-page-header p,
.business-audit-detail__header p,.notification-popover__count,.notification-item__meta,
.notification-item__content small,.notification-drawer__heading span,
.notification-drawer__footer,.notification-drawer__detail-footer,.notification-state,
.notification-detail__forbidden,.notification-detail__forbidden p,
.download-record-meta,.download-record-index,.download-password-line,.download-drawer-title>span,
.download-record-action__unavailable,.pc-heading p,.pc-field-note,.pc-group-label span,
.pc-form-footer>span,.pc-prototype-note,.pc-update,.pc-dialog-note,.pc-account-help p,
.pc-password-rules,.ov-heat-legend,.ov-chart-footnote,.ov-chart-footnote>span,.ov-chart-legend,
.save-state,.shared-label span,.vip-status,.not-applicable,.percent-symbol,
.login-card .subtitle,.card-top,.card-footer,.form-options,.header-note,.intro-bottom,
.success-panel p,.login-doc-actions,.report-field-tip,.member-data-empty-state,
.member-data-empty-state span,.form-field-tip,.password-rule-panel,.member-transfer-tip{
 font-family:var(--scene-font)!important;font-size:12px!important;font-weight:400!important;
 color:var(--scene-secondary)!important;
}
.total-copy,.audit-pagination,.audit-pagination__summary,.download-pagination-summary,.report-pagination-summary{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;color:var(--scene-body)!important;
}
/* Tables implemented without el-table still use the same body weight. Preserve heatmap text contrast. */
.ov-matrix td,.ov-matrix tbody th{font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important}
.summary-table thead th{font-size:14px!important;font-weight:600!important;color:var(--scene-heading)!important}
/* Calendars retain their compact cell sizing, with the shared typeface and body weight. */
.el-picker-panel,.el-time-panel,.el-picker-panel__shortcut,.el-picker-panel__btn,.el-time-panel__btn{
 font-family:var(--scene-font)!important;font-weight:400!important;
}
.el-picker-panel__shortcut,.el-picker-panel__link-btn{color:var(--scene-link)!important}
/* Preserve an existing icon-only control's glyph size; text buttons use the shared size. */
.member-adjustment-refresh.el-button{font-size:22px!important}
/* Stateful semantic text remains semantic after normal data rules. */
.risk-result,.member-data-status,.pc-security-copy>span,.pc-password-rules .is-met,.template-status.is-enabled{color:var(--scene-success)!important;font-weight:400!important}
.audit-text--regular{color:var(--scene-body)!important;font-weight:400!important}
.notification-state--error,.pc-error,.field-error,.server-error,.download-record-meta .is-danger{color:var(--scene-danger)!important}
.notification-detail__title.is-risk,.risk-result.is-warning,.warning-text{color:var(--scene-warning)!important}
/* Monetary outcomes remain semantic. */
.member-data-metrics-table td.member-data-win-loss .cell{color:var(--scene-success)!important;font-weight:400!important}
.template-status{font-size:14px!important;font-weight:400!important}
/* Normal buttons/pagination share body text; active and disabled states retain clear contrast. */
.el-button--default:not(.is-disabled){color:var(--scene-body)!important}
.el-pager li:not(.disabled),.el-pagination button:not(:disabled){color:var(--scene-body)!important}
.el-pager li.active,.el-pager li:not(.disabled):hover{color:var(--scene-link)!important}
.el-pagination.is-background .el-pager li.active{color:var(--scene-link)!important}
.el-pager li.disabled,.el-pagination button:disabled{color:var(--scene-placeholder)!important}
.login-card h2,.intro h1,.brand{font-family:var(--scene-font);font-weight:600;color:var(--scene-heading)}
.el-tabs__item{font-family:var(--scene-font)!important}
:is(.profit-workspace,.profit-editor,.config-tabs) .el-tabs__item{font-size:14px!important;font-weight:400!important;color:var(--scene-body)!important}
:is(.profit-workspace,.profit-editor,.config-tabs) .el-tabs__item.is-active{color:var(--scene-link)!important}
/* Appended field operations use the same secondary-action role as table operations. */
.record-link,.member-level-edit,.member-data-note-link,.member-data-summary-link,
.collapse-filter,.notification-text-button,.notification-view-all,
.report-dialog-toolbar .el-button,.create-template-button,.login-doc-actions button,.login-doc-actions a{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;
}
.member-level-edit,.member-data-note-link,.member-data-summary-link,.collapse-filter,
.create-template-button,.login-doc-actions button,.login-doc-actions a,
.notification-item .notification-item__content strong{
 color:var(--scene-link)!important;font-weight:400!important;
}
.notification-item .notification-item__content strong{font-family:var(--scene-font)!important;font-size:14px!important}
.notification-item .notification-item__content span{font-size:14px!important;font-weight:400!important;color:var(--scene-body)!important}
.notification-item__content .notification-item__meta,.notification-item__content small{font-size:12px!important;font-weight:400!important;color:var(--scene-secondary)!important}

/* Interactive text wins over regular data text, including the source's red account links. */
:is(.app-main,.workspace,.el-dialog,.el-drawer,.el-popover) a[href],
.el-button--text:not(.is-disabled):not(.operation-log-shortcuts .el-button),
.el-link:not(.is-disabled),
:is(.link-button,.inline-link,.line-tail-link,.table-link-button,.record-link,.drawer-inline-action,
.drawer-section-action,.report-level-link,.report-all-agents,.notification-text-button,.notification-view-all):not(:disabled):not([aria-disabled="true"]),
.inline-actions button:not(:disabled),.operation-links button:not(:disabled),
.report-agent-sort-actions button:not(:disabled){
  color:var(--scene-link)!important;font-weight:400!important;
}
.el-table :is(.el-button--text,.el-link,.link-button,.inline-link,.line-tail-link),
.batch-actions .el-button--text,.drawer-inline-action,.drawer-section-action,.report-level-link{
  font-size:14px!important;
}
:is(.app-main,.workspace,.el-dialog,.el-drawer,.el-popover) a[href]:hover,
.el-button--text:not(.is-disabled):not(.operation-log-shortcuts .el-button):hover,
:is(.link-button,.inline-link,.line-tail-link,.table-link-button,.record-link,.drawer-inline-action,.drawer-section-action,.report-level-link):not(:disabled):hover{
  color:var(--scene-link-hover)!important;
}
.el-button--text.is-disabled,.el-link.is-disabled,
:is(.link-button,.inline-link,.line-tail-link,.table-link-button,.record-link,.report-level-link):is(:disabled,[aria-disabled="true"]){
  color:var(--scene-placeholder)!important;
}
/* The user's accepted date shortcuts keep their 12px sizing, spacing, fill and selected text. */
.operation-log-shortcuts .el-button--text,.operation-log-shortcuts .el-button--text>span{font-size:12px!important}
.operation-log-shortcuts .el-button--text:not(.is-active){color:#409eff!important}
.operation-log-shortcuts .el-button--text.is-active{color:#fff!important}

/* Pagination summaries use the same member-list role in every business scene. */
:is(.table-footer,.table-pagination,.audit-pagination,.business-table-footer,
    .content-pagination,.campaign-pagination,.adjustment-pagination,.report-footer),
:is(.table-footer,.table-pagination,.audit-pagination,.business-table-footer,
    .content-pagination,.campaign-pagination,.adjustment-pagination,.report-footer)>:is(span,div):not(.el-pagination):not(.report-pagination),
.total-copy,.audit-pagination__summary,.report-pagination-summary,.download-pagination-summary{
 font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;
 line-height:21px!important;color:var(--scene-body)!important;
}
:is(.table-footer,.table-pagination,.audit-pagination,.business-table-footer,
    .content-pagination,.campaign-pagination,.adjustment-pagination,.report-footer) strong{font-weight:600!important}

/* Secondary text operations are smaller than body data; icons keep their own font. */
:is(body,#app,#member-prototype) :is(.el-button--text,.el-link,.ui-text-action,.inline-link,.line-tail-link,.table-link-button,.record-link,.drawer-inline-action,.drawer-section-action,.report-level-link,.report-all-agents,.member-level-edit,.member-data-note-link,.member-data-summary-link,.collapse-filter,.notification-text-button,.notification-view-all),
:is(body,#app,#member-prototype) :is(.el-button--text,.el-link,.ui-text-action,.inline-link,.line-tail-link,.table-link-button,.record-link,.drawer-inline-action,.drawer-section-action,.report-level-link,.report-all-agents,.member-level-edit,.member-data-note-link,.member-data-summary-link,.collapse-filter,.notification-text-button,.notification-view-all)>span,
:is(body,#app,#member-prototype) :is(.inline-actions,.operation-links) button{font-family:var(--scene-font)!important;font-size:12px!important;font-weight:400!important;line-height:18px!important}
/* Account identifiers remain body-sized values even when linked. */
:is(body,#app,#member-prototype) .member-table .el-table__body .core-account-row .link-button{font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important;line-height:21px!important}
:is(body,#app,#member-prototype) .top-actions .el-button--text{font-size:19px!important}

.content-material{font-family:var(--scene-font)!important;font-size:14px!important;font-weight:400!important}
.change-table th{font-size:14px!important;font-weight:600!important;color:var(--scene-heading)!important}

/* Empty data is distinct from readable help and unavailable controls. */
:is(body,#app,#member-prototype) :is(.member-empty-note,.audit-detail-empty,.audit-field-empty,.table-empty span,.member-data-empty-state,.member-data-empty-state span,.not-applicable,.el-transfer-panel__empty,.el-empty__description p,.el-table__empty-text){color:var(--scene-muted)!important;font-weight:400!important}
