:root{--ui-primary:#409EFF;--ui-action:#3377BB;--ui-selected:#ECF5FF;--ui-success:#67C23A;--ui-warning:#E6A23C;--ui-danger:#F56C6C;--ui-body:#303133;--ui-help:#595959;--ui-muted:#909399;--ui-disabled:#C0C4CC;--ui-white:#FFFFFF;--ui-workspace:#F1F3F6;--ui-subtle:#F5F7FA;--ui-border:#DCDFE6;--ui-divider:#EBEEF5;--ui-shell:#00162A;--text-heading:var(--ui-body);--text-body:var(--ui-body);--text-secondary:var(--ui-help);--text-placeholder:var(--ui-disabled);--text-disabled:var(--ui-disabled)}

/* Shared contract presentation. Specimen overrides do not touch frozen business refs. */
.color-contract{margin:24px 28px;padding:20px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-white);color:var(--ui-body);font:400 14px/1.65 var(--ui-font-family, "PingFang SC", "Microsoft YaHei", sans-serif)}
.color-overview{margin:0;padding:0;border:0}.color-contract h4{font-size:16px;font-weight:600;color:var(--ui-body);margin:24px 0 12px}.color-contract h4:first-child{margin-top:0}.color-contract p{color:var(--ui-body);font-size:14px;line-height:1.65}.color-contract a{color:var(--ui-action)}
.color-table-scroll{overflow-x:auto;max-width:100%}.color-role-table{border-collapse:collapse;width:100%;min-width:540px;table-layout:auto}.color-role-table th{background:var(--ui-subtle);text-align:left;font-weight:600}.color-role-table td,.color-role-table th{padding:12px 16px;border-bottom:1px solid var(--ui-divider);vertical-align:top;font-size:14px!important;color:var(--ui-body)!important}.color-role-table td:first-child{min-width:130px}.color-chip{display:inline-block;width:20px;height:20px;border:1px solid var(--ui-border);border-radius:4px;vertical-align:middle;margin-right:8px}.color-contract code{font-family:inherit;font-size:12px;color:var(--ui-body);white-space:nowrap}
@media(max-width:760px){.color-contract{margin:16px 0;padding:12px}.color-overview{padding:0;border:0}}
/* All Element samples share these base roles, including appended poppers. */
.demo-area,.anatomy-example,.el-dialog,.el-drawer,.el-message-box,.el-popper{color:var(--ui-body);font-family:var(--ui-font-family, "PingFang SC", "Microsoft YaHei", sans-serif)}
.demo-area :is(.el-input__inner,.el-textarea__inner),.el-popper .el-input__inner{color:var(--ui-body)!important;background:var(--ui-white);border-color:var(--ui-border);font-size:14px;font-weight:400}
:is(.demo-area,.anatomy-example) :is(.el-input__inner,.el-textarea__inner):hover{border-color:var(--ui-border)}
:is(.demo-area,.anatomy-example) :is(.el-input__inner,.el-textarea__inner):focus{border-color:var(--ui-primary)}
:is(.demo-area,.anatomy-example) :is(.el-input__inner,.el-textarea__inner)::placeholder{color:var(--ui-disabled)}
:is(.demo-area,.anatomy-example) :is(.el-input.is-disabled .el-input__inner,.el-textarea.is-disabled .el-textarea__inner){color:var(--ui-disabled)!important;background:var(--ui-subtle);border-color:var(--ui-border)}
:is(.demo-area,.anatomy-example) :is(.is-error,.input-is-error) :is(.el-input__inner,.el-textarea__inner){border-color:var(--ui-danger)!important}
/* Functional feedback must not inherit ordinary body/help text colors. */
.demo-area .danger,.input-showcase small.danger,.el-form-item__error{color:var(--ui-danger)!important}
.demo-area .warning{color:var(--ui-warning)!important}
.demo-area .success{color:var(--ui-success)!important}
.demo-area .help,.demo-area .secondary{color:var(--ui-help)!important}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--primary{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-white)}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--primary:is(:hover,:active){background:var(--ui-action);border-color:var(--ui-action)}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--default{color:var(--ui-body);background:var(--ui-white);border-color:var(--ui-border)}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--default:hover{background:var(--ui-selected);border-color:var(--ui-primary);color:var(--ui-action)}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--text,:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--text>span,.demo-area .el-link,.demo-area .el-link>span{color:var(--ui-action)!important;font-size:12px!important;font-weight:400!important;min-height:24px}
.demo-area .el-button--text:hover{text-decoration:underline}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button--danger{background:var(--ui-white);border-color:var(--ui-danger);color:var(--ui-body)}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button.is-disabled{background:var(--ui-subtle)!important;border-color:var(--ui-border)!important;color:var(--ui-disabled)!important}
:is(.demo-area,.el-dialog,.el-message-box,.el-drawer) .el-button.is-disabled>span{color:var(--ui-disabled)!important}
:is(.demo-area,.anatomy-example,.el-popper,.el-dialog,.el-drawer) :is(button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--ui-action);outline-offset:2px}
.demo-area .el-table th,.demo-area .el-table th.el-table__cell{background:var(--ui-subtle);color:var(--ui-body)}
.demo-area .el-table td{background:var(--ui-white);border-bottom-color:var(--ui-divider)}
.demo-area .el-table .hover-row>td{background:var(--ui-subtle)!important}
.demo-area .el-table .current-row>td,.demo-area .el-table .current-row.hover-row>td{background:var(--ui-selected)!important}
.el-select-dropdown__item.hover,.el-dropdown-menu__item:not(.is-disabled):hover,.el-tree-node__content:hover{background:var(--ui-subtle);color:var(--ui-body)}
.el-select-dropdown__item.selected,.el-cascader-node.in-active-path,.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background:var(--ui-selected);color:var(--ui-action);font-weight:400}
.el-select-dropdown__item.is-disabled,.el-dropdown-menu__item.is-disabled{color:var(--ui-disabled)}
.demo-area .el-tabs__item.is-active,.demo-area .el-tabs__item:hover{color:var(--ui-action)}
.demo-area .el-tabs__active-bar{background:var(--ui-primary)}
.demo-area .el-tag{background:var(--ui-selected);color:var(--ui-action);border-color:var(--ui-border)}
.el-tooltip__popper.is-dark{background:var(--ui-white);color:var(--ui-body);border:1px solid var(--ui-border)}
.el-tooltip__popper.is-dark .popper__arrow::after{border-top-color:var(--ui-white);border-bottom-color:var(--ui-white)}
.el-message,.el-notification,.el-alert{background:var(--ui-white)!important;border-color:var(--ui-border)!important;color:var(--ui-body)}
.el-message .el-message__content,.el-alert .el-alert__title,.el-alert .el-alert__description{color:var(--ui-body)!important}
.v-modal{background:var(--ui-shell);opacity:.35}

.color-overview{grid-column:1/-1;width:100%;max-width:none!important}.color-contract .color-role-table{display:table;width:100%!important}.color-contract p{max-width:none}
.demo-area .el-switch.is-checked .el-switch__core{background:var(--ui-primary)!important;border-color:var(--ui-primary)!important}
.demo-area .el-switch:not(.is-checked) .el-switch__core{background:var(--ui-border);border-color:var(--ui-border)}
.demo-area .el-switch.is-disabled{opacity:1}.demo-area .el-switch.is-disabled .el-switch__core{background:var(--ui-subtle)!important;border-color:var(--ui-border)!important}.demo-area .el-switch.is-disabled .el-switch__core:after{background:var(--ui-border)}
.demo-area .el-rate__text{color:var(--ui-body)!important}
.demo-area :is(.el-checkbox__input.is-checked,.el-checkbox__input.is-indeterminate) .el-checkbox__inner,.demo-area .el-radio__input.is-checked .el-radio__inner{background:var(--ui-primary);border-color:var(--ui-primary)}
.demo-area .el-checkbox__input.is-disabled .el-checkbox__inner,.demo-area .el-radio__input.is-disabled .el-radio__inner{background:var(--ui-subtle);border-color:var(--ui-border)}
.demo-area .el-checkbox__label,.demo-area .el-radio__label{color:var(--ui-body);font-weight:400}.demo-area .is-disabled+.el-checkbox__label,.demo-area .is-disabled+.el-radio__label{color:var(--ui-disabled)}
.demo-area .el-progress-bar__outer,.demo-area .el-step__line{background:var(--ui-divider)}.demo-area .el-progress-bar__inner{background:var(--ui-primary)}.demo-area .el-progress.is-success .el-progress-bar__inner{background:var(--ui-success)}.demo-area .el-progress.is-exception .el-progress-bar__inner{background:var(--ui-danger)}.demo-area .el-progress.is-warning .el-progress-bar__inner{background:var(--ui-warning)}
.demo-area .el-skeleton__item{background:var(--ui-border)}.demo-area .el-slider__runway{background:var(--ui-divider)}.demo-area .el-slider__bar{background:var(--ui-primary)}.demo-area .el-slider__button{border-color:var(--ui-primary)}
.demo-area .el-step__title,.demo-area .el-step__description{color:var(--ui-body)}.demo-area .el-step__head.is-process{color:var(--ui-primary);border-color:var(--ui-primary)}
.demo-area .el-avatar{background:var(--ui-subtle);color:var(--ui-help)}.demo-area .el-carousel__button{background:var(--ui-border);opacity:1}.demo-area .is-active .el-carousel__button{background:var(--ui-primary)}
.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background:var(--ui-selected)}.el-date-table td.start-date span,.el-date-table td.end-date span{background:var(--ui-primary)}.el-date-table td.today span{color:var(--ui-action)}
.demo-area .el-pagination .el-pager li.active{color:var(--ui-action);border:1px solid var(--ui-primary);background:var(--ui-white)}
.demo-area .el-card,.demo-area .el-collapse{border-color:var(--ui-border)}.demo-area .el-divider{background:var(--ui-divider)}

/* Audit: resolve presentation and vendor leftovers at component boundaries. */
.demo-area :is(.el-calendar__title,.el-calendar-table td,.el-progress__text,.el-result__title p,.el-table__footer .cell,.el-upload-list__item-name,.el-dropdown-menu__item,.el-checkbox-button__inner,.el-radio-button__inner),#contrast-table td{color:var(--ui-body)!important;font-size:14px;font-weight:400}
.demo-area :is(.el-calendar-table th,.el-result__subtitle p,.el-transfer-panel__filter .el-input__icon,.el-descriptions__title){color:var(--ui-help)}
.demo-area .carousel-slide{color:var(--ui-body);background:var(--ui-selected)}
.demo-area .el-calendar-table .is-today{color:var(--ui-action)!important}.demo-area .el-calendar-table .is-selected{background:var(--ui-selected)}
.demo-area .el-calendar-table td.prev,.demo-area .el-calendar-table td.next{color:var(--ui-disabled)!important}
.demo-area .el-checkbox-button.is-checked .el-checkbox-button__inner,.demo-area .el-radio-button__orig-radio:checked+.el-radio-button__inner{background:var(--ui-primary);border-color:var(--ui-primary);color:var(--ui-white)!important;box-shadow:none}
.demo-area .el-checkbox-button.is-disabled .el-checkbox-button__inner,.demo-area .el-radio-button__orig-radio:disabled+.el-radio-button__inner{background:var(--ui-subtle);color:var(--ui-disabled)!important;border-color:var(--ui-border)}

.demo-area .el-button.preview-focus{outline:2px solid var(--ui-action)!important;outline-offset:2px}

.demo-area .el-tag .el-tag__close{color:var(--ui-action)}.demo-area .el-tag .el-tag__close:hover{color:var(--ui-white);background:var(--ui-action)}
.demo-area .el-empty__description p,.demo-area .el-table__empty-text{font-size:12px;color:var(--ui-muted)}
.demo-area .el-badge__content{background:var(--ui-danger);border-color:var(--ui-white)}
.demo-area .el-tabs__item.is-disabled{color:var(--ui-disabled)!important}.demo-area .el-switch__label.is-active{color:var(--ui-body)}
.demo-area :is(.el-pagination__total,.el-pagination__jump,.el-pagination button,.el-pager li){color:var(--ui-body);font-size:14px;font-weight:400}
.demo-area .el-pagination .el-pager li.active{color:var(--ui-action)!important}.demo-area .el-pagination button:disabled{color:var(--ui-disabled)!important}
.demo-area .el-timeline-item__timestamp{color:var(--ui-help);font-size:12px}.demo-area .el-timeline-item__node--normal{background:var(--ui-border)}
.el-popper:not(.is-dark),.el-picker-panel,.el-select-dropdown,.el-dropdown-menu,.el-cascader__dropdown,.el-popover{background:var(--ui-white);color:var(--ui-body);border-color:var(--ui-border)}
.el-dropdown-menu__item:not(.is-disabled),.el-picker-panel__footer .el-button,.el-date-picker__header-label,.el-date-table td.available{color:var(--ui-body)}
.el-dropdown-menu__item:not(.is-disabled):hover,.el-picker-panel__shortcut:hover{color:var(--ui-action);background:var(--ui-subtle)}
.el-picker-panel__shortcut{color:var(--ui-action);font-size:12px;font-weight:400}.el-date-table td.disabled div{background:var(--ui-subtle);color:var(--ui-disabled)}
.el-dialog__title,.el-message-box__title,.el-drawer__header{color:var(--ui-body);font-size:16px;font-weight:600}.el-dialog__body,.el-message-box__content,.el-drawer__body{color:var(--ui-body);font-size:14px;font-weight:400}
.el-message__content,.el-notification__content{font-size:14px;font-weight:400;color:var(--ui-body)}
/* Presentation labels are documentation, not additional product colors. */
.specimen-heading>span,.measure-top,.measure-side,.anatomy-caption,.state-note{color:var(--ui-help)!important}
:is(button,a,[tabindex]):focus-visible{outline-color:var(--ui-action)!important}

.demo-area .section-number{color:var(--ui-action)!important;background:var(--ui-selected)!important}
.demo-area .el-upload__tip{color:var(--ui-help)!important;font-size:12px;font-weight:400}
.demo-area .el-button:not(.el-button--text)>span{color:inherit!important;font-size:inherit;font-weight:inherit}
.demo-area .el-pagination .el-pager li:not(.active){color:var(--ui-body)!important}
.demo-area .el-table :is(th,td,.cell),.demo-area .table-scroll .number{text-align:left!important}
.demo-area .el-table .cell{padding-left:16px;padding-right:16px}
.demo-area .primary-text{color:var(--ui-action)}

.demo-area .el-calendar__button-group .el-button,.demo-area .el-calendar__button-group .el-button>span{color:var(--ui-body)!important;font-size:14px;font-weight:400}
.demo-area .el-calendar__button-group .el-button:hover,.demo-area .el-calendar__button-group .el-button:hover>span{color:var(--ui-action)!important}

/* Help placement is independent from validation severity. */
.demo-area .help.danger,.demo-area .input-showcase small.danger{color:var(--ui-danger)!important}
.demo-area .help.warning{color:var(--ui-warning)!important}.demo-area .help.success{color:var(--ui-success)!important}
.el-message--error .el-message__content,.el-alert--error .el-alert__title,.el-notification .el-icon-error~.el-notification__group .el-notification__title{color:var(--ui-danger)!important}
.el-message--warning .el-message__content,.el-alert--warning .el-alert__title{color:var(--ui-warning)!important}
.el-message--success .el-message__content,.el-alert--success .el-alert__title{color:var(--ui-success)!important}
.demo-area .el-step__title.is-error,.demo-area .el-step__description.is-error{color:var(--ui-danger)!important}
.demo-area .el-step__title.is-success{color:var(--ui-success)!important}

/* Keep state names readable when the rule column contains long prose. */
.spec-card>.color-contract>.color-role-table{table-layout:fixed}
.spec-card>.color-contract>.color-role-table th:first-child{width:180px}
@media(max-width:760px){.spec-card>.color-contract>.color-role-table{min-width:0}.spec-card>.color-contract>.color-role-table th:first-child{width:104px}}

.audit-select-examples { display:flex; flex-wrap:wrap; gap:16px; }
.audit-select-field { display:flex; flex-direction:column; gap:8px; }
.audit-select-field > label { color:var(--ui-body); font-size:14px; line-height:21px; font-weight:400; }

.spec-card>.color-contract>.table-scroll>table{table-layout:fixed}
.spec-card>.color-contract>.table-scroll>table th:first-child{width:180px}
@media(max-width:760px){.spec-card>.color-contract>.table-scroll>table th:first-child{width:104px}}

/* page audit: table samples follow the published 46/48px density and 16px gutters */
.demo-area .el-table th > .cell,
.demo-area .el-table td > .cell { padding-left:16px !important; padding-right:16px !important; line-height:21px; }
.demo-area .el-table th { height:46px; padding-top:10px !important; padding-bottom:10px !important; box-sizing:border-box; }
.demo-area .el-table td { height:48px; padding-top:10px !important; padding-bottom:10px !important; box-sizing:border-box; }
.demo-area .audit-empty-value { color:var(--ui-empty,#909399) !important; }
.demo-area .audit-removable-tag { display:inline-flex; align-items:center; height:24px; padding:0 0 0 8px; vertical-align:middle; }
.demo-area .audit-tag-close { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; margin:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ui-action,#3377BB); font:inherit; cursor:pointer; }
.demo-area .audit-tag-close i { font-size:12px; }
.demo-area .audit-tag-close:hover { color:#fff; background:var(--ui-action,#3377BB); }
.demo-area .audit-tag-close:focus-visible { outline:2px solid var(--ui-action,#3377BB); outline-offset:1px; }
/* page audit: sortable header intrinsic height */
.demo-area .el-table .caret-wrapper { height:24px; }
.demo-area .el-table .sort-caret.ascending { top:0; }
.demo-area .el-table .sort-caret.descending { bottom:2px; }


/* Review tables keep the short audit names together. */
#spec-contract .demo-area table{table-layout:fixed}
#spec-contract .demo-area th:first-child{width:172px}
#spec-contract .demo-area h4:not(:first-child){margin-top:24px}
#spec-contract .demo-area table caption{text-align:left;font-size:12px;line-height:18px;color:var(--ui-help);padding:8px 0}
@media(max-width:760px){#spec-contract .demo-area table{min-width:680px}}
