/* Appended overlays inherit the same roles as the field that opened them. */
.el-select-dropdown.is-multiple .el-select-dropdown__item.selected,
.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover,
.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:hover{background:var(--ui-selected)!important;color:var(--ui-action)!important;font-weight:400!important}
.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.is-disabled{background:var(--ui-subtle)!important;color:var(--ui-disabled)!important}
.el-time-spinner__item,.el-time-spinner__item.active:not(.disabled){font-size:14px!important;font-weight:400!important;color:var(--ui-body)!important}
.el-time-spinner__item.active:not(.disabled){color:var(--ui-action)!important}
.el-time-spinner__item.disabled{color:var(--ui-disabled)!important}
.el-time-spinner__item:hover:not(.disabled):not(.active){background:var(--ui-subtle)!important}
.el-time-panel__btn{font-size:12px!important;font-weight:400!important;color:var(--ui-action)!important}
:is(body,#app,#member-prototype) :is(.el-input-number__increase,.el-input-number__decrease){background:var(--ui-subtle)!important;border-color:var(--ui-border)!important;color:var(--ui-body)!important}
:is(body,#app,#member-prototype) :is(.el-input-number__increase,.el-input-number__decrease):hover:not(.is-disabled){color:var(--ui-action)!important}
:is(body,#app,#member-prototype) :is(.el-input-number.is-disabled,.el-input-number) :is(.el-input-number__increase.is-disabled,.el-input-number__decrease.is-disabled),
:is(body,#app,#member-prototype) .el-input-number.is-disabled :is(.el-input-number__increase,.el-input-number__decrease){color:var(--ui-disabled)!important}
.el-tooltip__popper.is-dark{background:var(--ui-white)!important;border-color:var(--ui-border)!important;color:var(--ui-body)!important}
.el-tooltip__popper.is-dark[x-placement^="top"] .popper__arrow{border-top-color:var(--ui-border)!important}
.el-tooltip__popper.is-dark[x-placement^="top"] .popper__arrow::after{border-top-color:var(--ui-white)!important}
.el-tooltip__popper.is-dark[x-placement^="bottom"] .popper__arrow{border-bottom-color:var(--ui-border)!important}
.el-tooltip__popper.is-dark[x-placement^="bottom"] .popper__arrow::after{border-bottom-color:var(--ui-white)!important}
.el-tooltip__popper.is-dark[x-placement^="left"] .popper__arrow{border-left-color:var(--ui-border)!important}
.el-tooltip__popper.is-dark[x-placement^="left"] .popper__arrow::after{border-left-color:var(--ui-white)!important}
.el-tooltip__popper.is-dark[x-placement^="right"] .popper__arrow{border-right-color:var(--ui-border)!important}
.el-tooltip__popper.is-dark[x-placement^="right"] .popper__arrow::after{border-right-color:var(--ui-white)!important}
/* Pagination labels are text; page numbers and arrows are centered controls. */
:is(body,#app,#member-prototype) .el-pagination :is(.el-pager li,.btn-prev,.btn-next,.el-pagination__total,.el-pagination__jump){font-size:14px!important;font-weight:400!important}
:is(body,#app,#member-prototype) .el-pagination :is(.btn-prev,.btn-next) .el-icon{margin:0!important;padding:0!important;line-height:1!important}
:is(body,#app,#member-prototype) .el-pagination .el-pagination__editor .el-input__inner{height:100%;line-height:normal}

:is(body,#app,#member-prototype) .el-table__footer .cell{font-weight:600!important;color:var(--ui-body)!important}
:is(body,#app,#member-prototype) .el-table th.el-table__cell,:is(body,#app,#member-prototype) .el-table th{background:var(--ui-subtle)!important;color:var(--ui-body)!important}

/* Content calendars keep adjacent-month dates readable; this is not disabled state. */
.demo-area .el-calendar-table td.prev,.demo-area .el-calendar-table td.next{color:var(--ui-help)!important}
.el-slider.is-disabled .el-slider__bar{background:var(--ui-border)!important}.el-slider.is-disabled .el-slider__button{border-color:var(--ui-border)!important}.el-slider.is-disabled .el-slider__runway{background:var(--ui-subtle)!important}
.el-backtop{background:var(--ui-white)!important;color:var(--ui-action)!important}.el-backtop:hover{background:var(--ui-selected)!important}
:is(body,#app,#member-prototype) .el-pagination :is(.el-pager li:not(.active),.btn-prev,.btn-next):hover:not(:disabled){background:var(--ui-subtle)!important;color:var(--ui-action)!important}

/* Field values share the global left reading edge. */
.demo-area .value-pair .number{text-align:left;}

.demo-area .el-progress.is-exception .el-progress__text i{color:var(--ui-danger);}
.demo-area .el-progress.is-success .el-progress__text i{color:var(--ui-success);}
.demo-area .el-progress.is-warning .el-progress__text i{color:var(--ui-warning);}

/* Message surfaces and state icons are shared by the library, host and embedded pages. */
:is(body,#app,#member-prototype) .el-message{background:var(--ui-white,#fff)!important;border-color:var(--ui-border,#dcdfe6)!important;color:var(--ui-body,#303133)!important}
:is(body,#app,#member-prototype) .el-message--success>.el-message__icon{color:var(--ui-success,#67c23a)!important}
:is(body,#app,#member-prototype) .el-message--warning>.el-message__icon{color:var(--ui-warning,#e6a23c)!important}
:is(body,#app,#member-prototype) .el-message--error>.el-message__icon{color:var(--ui-danger,#f56c6c)!important}
:is(body,#app,#member-prototype) .el-message--info>.el-message__icon{color:var(--ui-primary,#409eff)!important}

/* Feedback text keeps body contrast; semantic meaning is carried by the icon and explicit wording. */
:is(body,#app,#member-prototype) :is(.el-message .el-message__content,.el-alert .el-alert__title,.el-alert .el-alert__description,.el-notification .el-notification__title,.el-notification .el-notification__content){color:var(--ui-body)!important}
:is(body,#app,#member-prototype) :is(.el-message .el-icon-info,.el-alert--info .el-alert__icon,.el-notification .el-icon-info){color:var(--ui-primary)!important}
:is(body,#app,#member-prototype) :is(.el-message__closeBtn,.el-notification__closeBtn,.el-alert__closebtn){color:var(--ui-help)!important}
:is(body,#app,#member-prototype) :is(.el-message__closeBtn,.el-notification__closeBtn,.el-alert__closebtn):hover{color:var(--ui-action)!important}

/* Status icons align with the first line, including multi-line feedback. */
.el-message-box .el-message-box__status{top:0!important;transform:none!important;line-height:24px!important;height:24px;width:24px;text-align:center}
.el-message-box .el-message-box__message p{margin:0;line-height:24px}
.el-message{box-sizing:border-box;display:flex;align-items:flex-start!important;gap:8px;width:max-content!important;min-width:0!important;max-width:min(520px,calc(100vw - 32px))!important;padding:10px 16px!important}
.el-message>.el-message__icon{line-height:21px!important;flex:none;margin:0!important}
.el-message .el-message__content{flex:1 1 auto;min-width:0;padding:0!important;margin:0;font-size:14px!important;font-weight:400!important;line-height:21px!important;white-space:normal;overflow-wrap:anywhere;word-break:normal}
.el-message .el-message__closeBtn{position:static!important;top:auto!important;right:auto!important;transform:none!important;flex:0 0 24px;width:24px!important;height:24px!important;margin:0;line-height:24px!important}
.el-alert{align-items:flex-start!important}
.el-alert .el-alert__icon{line-height:21px!important;height:21px;flex:none;margin-top:0}
.el-alert .el-alert__title{line-height:21px!important}
.el-alert .el-alert__icon.is-big{font-size:16px!important;width:16px!important}
.el-message__closeBtn,.el-notification__closeBtn,.el-alert__closebtn{box-sizing:border-box;display:inline-flex!important;align-items:center;justify-content:center;width:24px!important;height:24px!important;line-height:24px!important;cursor:pointer}
.el-alert__closebtn{top:8px!important;right:8px!important}
.el-notification__closeBtn{top:12px!important;right:10px!important}
.el-message__closeBtn:focus-visible,.el-notification__closeBtn:focus-visible,.el-alert__closebtn:focus-visible{outline:2px solid var(--ui-action)!important;outline-offset:2px;color:var(--ui-action)!important}
.el-notification .el-notification__title{font-size:14px!important;font-weight:600!important;line-height:21px!important}

/* CHOICES_REVIEW_20260915: confirmed visual states in shared Element classes. */
.el-cascader-node.in-active-path:not(.is-disabled),
.el-cascader-node.in-active-path:not(.is-disabled):hover,
.el-cascader-node.in-active-path:not(.is-disabled):focus,
.el-cascader-node.is-active:not(.is-disabled),
.el-cascader-node.is-active:not(.is-disabled):hover,
.el-cascader-node.is-active:not(.is-disabled):focus{background:var(--ui-selected)!important;color:var(--ui-action)!important;font-weight:400!important}
.el-tree-node[aria-disabled="true"]>.el-tree-node__content>.el-tree-node__label{color:var(--ui-disabled)!important}
.el-tree-node__expand-icon:not(.is-leaf){color:var(--ui-help)}
.el-collapse-item__header{font-size:14px!important;font-weight:600!important;color:var(--ui-body)}
.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--ui-disabled)}
.el-descriptions .el-descriptions__title{font-size:14px!important;font-weight:600!important;color:var(--ui-body)!important}
.el-descriptions .el-descriptions-item__label,
.el-descriptions .el-descriptions-item__content{font-size:14px!important;font-weight:400!important;color:var(--ui-body)!important}
.el-descriptions .el-descriptions-item__label.is-bordered-label{background:var(--ui-subtle)!important}
.el-step__title{font-size:14px!important;line-height:21px!important;font-weight:600!important}
.el-step__description{font-size:12px!important;line-height:18px!important;font-weight:400!important}
.carousel-slide{font-size:14px!important;line-height:21px!important;font-weight:400!important}
.el-carousel__arrow{color:var(--ui-action)!important;background:var(--ui-white)!important;border:1px solid var(--ui-border)}
.el-carousel__arrow:hover{color:var(--ui-action)!important;background:var(--ui-selected)!important}
.el-carousel__arrow:disabled{color:var(--ui-disabled)!important;background:var(--ui-subtle)!important;cursor:not-allowed}

/* Native FormItem errors use the same readable rhythm as custom field errors. */
:is(body,#app,#member-prototype) .el-form-item__error{line-height:18px!important}

/* Multi-line option labels: checkbox aligns to the first line, detail stays secondary. */
.el-checkbox__label,.el-radio__label{font-weight:400!important}
.vertical-checks .el-checkbox,.el-checkbox:has(.el-checkbox__label small){display:flex;align-items:flex-start;white-space:normal;min-height:24px}
.vertical-checks .el-checkbox__input,.el-checkbox:has(.el-checkbox__label small) .el-checkbox__input{display:inline-flex;flex:0 0 14px;width:14px;height:14px;line-height:14px;margin-top:3.5px}
.vertical-checks .el-checkbox__label,.el-checkbox:has(.el-checkbox__label small) .el-checkbox__label{display:block;min-width:0;line-height:21px!important;font-size:14px!important;font-weight:400!important}
.vertical-checks small,.el-checkbox__label small{display:block;margin-top:4px;color:var(--ui-help)!important;font-size:12px!important;font-weight:400!important;line-height:18px!important}
.el-checkbox.is-disabled small{color:var(--ui-disabled)!important}

/* Per-field visual audit follow-up; append after shared contracts. */
.el-collapse-item__content{font-size:14px!important;line-height:21px!important;font-weight:400!important}
.el-rate__text{line-height:21px!important}
.el-step__icon-inner{font-weight:600!important}
.el-tabs__item{font-weight:400!important}
.el-timeline-item__timestamp{line-height:18px!important}
/* Calendar header and date content share the same left reading edge. */
.el-calendar__title{font-weight:600!important}
.el-calendar-table th{padding:12px!important;text-align:left!important}
.el-calendar-table td{padding:0!important}
.el-calendar-table .el-calendar-day{padding:12px}


/* Per-field popover and menu typography, including body-appended menus. */
.el-popover p{font-size:14px;line-height:21px;font-weight:400}
.el-dropdown-menu .el-dropdown-menu__item{font-size:14px!important;font-weight:400!important}
.el-dropdown-menu .el-dropdown-menu__item:not(.is-disabled):is(:hover,:focus){background:var(--ui-subtle)!important;color:var(--ui-action)!important}
.local-confirm-question>i{color:var(--ui-warning)!important}

/* Shared modal title and accessible close hit areas. */
.el-dialog__headerbtn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:36px}
.el-message-box__title{font-size:16px;line-height:24px!important;font-weight:600;padding-right:36px}
.el-message-box__headerbtn{top:8px;right:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:16px}
.el-drawer__close-btn{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;font-size:16px}
/* Keyboard focus belongs to the visible switch track, not the hidden input. */
.el-switch:not(.is-disabled) .el-switch__input:focus-visible ~ .el-switch__core{outline:2px solid var(--ui-action);outline-offset:2px}

/* page audit: nested multi-select search shares its trigger focus */
.el-select .el-select__input,
.el-select .el-select__input:focus,
.el-select .el-select__input:focus-visible { color: var(--ui-body) !important; outline: none !important; box-shadow: none !important; }
.el-select.is-disabled .el-select__input { color: var(--ui-disabled, #C0C4CC) !important; }

/* Shared tooltip reading rhythm */
.el-tooltip__popper{font-size:12px!important;line-height:18px!important;font-weight:400!important}


/* ImageViewer shares the public palette and keyboard contract. */
.el-image__inner.el-image__preview[role="button"]{cursor:zoom-in}
.el-image__inner.el-image__preview[role="button"]:focus-visible{outline:2px solid var(--ui-action);outline-offset:-2px}
.el-image-viewer__mask{background:rgba(0,22,42,.35)!important;opacity:1!important}
.el-image-viewer__close,.el-image-viewer__prev,.el-image-viewer__next,.el-image-viewer__actions{background:var(--ui-white)!important;color:var(--ui-action)!important;border:1px solid var(--ui-border);opacity:1!important;box-shadow:0 4px 16px rgba(0,22,42,.12)}
.el-image-viewer__close,.el-image-viewer__prev,.el-image-viewer__next{width:36px;height:36px;font-size:20px}
.el-image-viewer__actions{height:48px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:5px 12px}
.el-image-viewer__actions__inner{gap:4px}
.el-image-viewer__actions__inner>[role="button"]{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:4px;font-size:20px;cursor:pointer;color:var(--ui-action)}
.el-image-viewer__actions__inner>.el-image-viewer__actions__divider{width:1px;flex:0 0 1px;height:20px;background:var(--ui-divider)}
.el-image-viewer__wrapper [role="button"]:hover{background:var(--ui-selected)!important}
.el-image-viewer__wrapper [role="button"]:focus-visible{outline:2px solid var(--ui-action);outline-offset:2px}
.el-image-viewer__wrapper [role="button"][aria-disabled="true"]{color:var(--ui-disabled)!important;cursor:not-allowed}

/* Business member iframe: reuse common text roles without recoloring ordinary data. */
:is(body,#app,#member-prototype) .member-table .el-table__body .core-account-row .link-button{
 font-size:14px!important;font-weight:400!important;line-height:21px!important;color:var(--ui-action)!important;
}
:is(body,#app,#member-prototype) .member-table .el-table__body .status-chip.is-enabled{
 font-size:14px!important;font-weight:400!important;color:var(--ui-body)!important;
}
:is(body,#app,#member-prototype) :is(.member-action-dialog,.filter-settings-dialog) .el-form-item__label,
:is(body,#app,#member-prototype) :is(.member-action-dialog,.filter-settings-dialog) .el-button:not(.el-button--text),
:is(body,#app,#member-prototype) :is(.member-action-dialog,.filter-settings-dialog) .el-button:not(.el-button--text)>span{
 font-size:14px!important;font-weight:400!important;
}
:is(body,#app,#member-prototype) :is(.member-action-dialog,.filter-settings-dialog) :is(.form-field-tip,.readonly-tip,.member-transfer-tip){
 font-size:12px!important;font-weight:400!important;line-height:18px!important;color:var(--ui-help)!important;
}
:is(body,#app,#member-prototype) .filter-settings-dialog .el-checkbox__label{font-size:14px!important;font-weight:400!important;color:var(--ui-body)!important}
:is(body,#app,#member-prototype) .filter-settings-dialog .el-checkbox.is-disabled .el-checkbox__label{color:var(--ui-disabled)!important}
:is(body,#app,#member-prototype) .filter-settings-dialog .el-button--text,
:is(body,#app,#member-prototype) .filter-settings-dialog .el-button--text>span{
 font-size:12px!important;font-weight:400!important;line-height:18px!important;color:var(--ui-action)!important;
}

/* Member reading rhythm follows the public 21px body / 18px action roles. */
:is(body,#app,#member-prototype) .member-table .el-table__body :is(.cell,.data-line,.data-line>span,.data-line>strong,.core-value,.core-account-row),
:is(body,#app,#member-prototype) .member-table .el-table__body .status-chip.is-enabled{line-height:21px!important}
:is(body,#app,#member-prototype) .member-table .el-table__body .member-level-line{min-height:27px}
:is(body,#app,#member-prototype) .member-table .el-table__body :is(.inline-link,.line-tail-link,.el-button--text,.el-link,.inline-actions button,.operation-links button),
:is(body,#app,#member-prototype) .member-table .el-table__body :is(.inline-link,.line-tail-link,.el-button--text,.el-link,.inline-actions button,.operation-links button)>span,
:is(body,#app,#member-prototype) .member-table .member-operation-inline .el-dropdown,
:is(body,#app,#member-prototype) .member-table .el-table__body .data-line>span.member-empty-note{line-height:18px!important}
/* Keep the existing 34px control boxes; center 21px text instead of using box height as leading. */
:is(body,#app,#member-prototype) :is(.vip-level-dialog,.filter-settings-dialog) .el-form-item__label{height:34px;min-height:34px;line-height:21px!important;display:flex;align-items:center}
:is(body,#app,#member-prototype) :is(.vip-level-dialog,.filter-settings-dialog) .el-button:not(.el-button--text){height:34px;line-height:21px!important;padding-top:0!important;padding-bottom:0!important;display:inline-flex;align-items:center;justify-content:center}
:is(body,#app,#member-prototype) :is(.vip-level-dialog,.filter-settings-dialog) .el-button:not(.el-button--text)>span{line-height:21px!important}
:is(body,#app,#member-prototype) .filter-settings-dialog .el-checkbox{display:inline-flex;align-items:center;min-height:21px}
:is(body,#app,#member-prototype) .filter-settings-dialog .el-checkbox__label{line-height:21px!important}

/* Shared passive data graphics: match the documented neutral roles. */
.el-timeline-item__tail{border-color:var(--ui-divider)!important}
.el-step__head.is-wait{color:var(--ui-border)!important;border-color:var(--ui-border)!important}

/* 2026-09-16: specification modal containers use one scroll owner. */
#library .el-dialog__body,.field-history-demo-dialog .el-dialog__body{scrollbar-color:var(--ui-border) var(--ui-subtle)}
#library .el-dialog__body::-webkit-scrollbar-track,.field-history-demo-dialog .el-dialog__body::-webkit-scrollbar-track{background:var(--ui-subtle)}
#library .el-dialog__body::-webkit-scrollbar-thumb,.field-history-demo-dialog .el-dialog__body::-webkit-scrollbar-thumb{background:var(--ui-border)}
#library .el-drawer__body{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ui-border) var(--ui-subtle)}
#library .el-drawer__body>.drawer-content{overflow:visible;max-height:none}
#library .el-drawer__body::-webkit-scrollbar{width:6px;height:6px}
#library .el-drawer__body::-webkit-scrollbar-track{background:var(--ui-subtle)}
#library .el-drawer__body::-webkit-scrollbar-thumb{background:var(--ui-border)}

/* Keyboard stops provided by the maintained choice semantics adapter. */
.el-slider__button-wrapper[role="slider"]:focus-visible,.el-rate[role="slider"]:focus-visible,.el-color-picker__trigger[role="button"]:focus-visible,.choice-color-panel [role="button"]:focus-visible{outline:2px solid var(--ui-action)!important;outline-offset:2px}
