/* Shared main-button state contract. Three blues belong to one primary family. */
:is(body,#app,#member-prototype) .el-button--primary:not(.is-plain):not(.ui-danger-outlined){background:var(--ui-primary,#409EFF)!important;border-color:var(--ui-primary,#409EFF)!important;color:var(--ui-white,#FFF)!important;opacity:1}
:is(body,#app,#member-prototype) .el-button--primary:not(.is-plain):not(.ui-danger-outlined)>span{color:inherit!important}
:is(body,#app,#member-prototype) .el-button--primary:not(.is-plain):not(.ui-danger-outlined):hover:not(.is-disabled):not(.is-loading){background:var(--ui-action,#3377BB)!important;border-color:var(--ui-action,#3377BB)!important}
:is(body,#app,#member-prototype) .el-button--primary:not(.is-plain):not(.ui-danger-outlined):active:not(.is-disabled):not(.is-loading){background:var(--ui-primary,#409EFF)!important;border-color:var(--ui-primary,#409EFF)!important;transform:translateY(1px)}
:is(body,#app,#member-prototype) .el-button--primary:not(.is-plain):not(.ui-danger-outlined):focus-visible{outline:2px solid var(--ui-action,#3377BB)!important;outline-offset:2px}
:is(body,#app,#member-prototype) .el-button--primary.is-loading:not(.is-plain):not(.ui-danger-outlined){background:var(--ui-primary,#409EFF)!important;border-color:var(--ui-primary,#409EFF)!important;transform:none}
:is(body,#app,#member-prototype) .el-button--primary.is-loading:before{background:transparent!important}
:is(body,#app,#member-prototype) .el-button--primary.is-disabled:not(.is-loading){background:var(--ui-subtle,#F5F7FA)!important;border-color:var(--ui-border,#DCDFE6)!important;color:var(--ui-disabled,#C0C4CC)!important;transform:none;outline:none}
.button-state-reference{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}
.button-state-reference>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.button-state-reference b{font-size:14px;font-weight:400;color:var(--ui-body)}
.button-state-reference small,.state-live{font-size:12px!important;color:var(--ui-help)!important;line-height:18px!important}
.button-state-chip{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:32px;padding:0 16px;border:1px solid var(--ui-primary);border-radius:4px;background:var(--ui-primary);color:var(--ui-white)!important;font-family:inherit;font-size:14px;font-weight:400;line-height:1;user-select:none}
.button-state-chip.is-hover{background:var(--ui-action);border-color:var(--ui-action)}
.button-state-chip.is-focus{outline:2px solid var(--ui-action);outline-offset:2px}
.button-state-chip.is-pressed{transform:translateY(1px)}
.button-state-chip.is-disabled{background:var(--ui-subtle);border-color:var(--ui-border);color:var(--ui-disabled)!important}
@media(max-width:640px){.button-state-reference{grid-template-columns:repeat(2,minmax(0,1fr))}}

.button-state-pattern>.el-button{min-width:144px}

/* All rectangular button sizes share 4px; grouped joins and round variants stay explicit. */
.el-button:not(.is-round):not(.is-circle){border-radius:4px;}
.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0;}
.el-button-group>.el-button:first-child:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0;}
.el-button-group>.el-button:last-child:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;}

/* Appended panels use the same compact geometry and secondary button states. */
.el-button--mini:not(.el-button--text){height:28px;min-height:28px;padding-top:0;padding-bottom:0;line-height:1}
.el-button--default:not(.is-disabled):not(.ui-danger-outlined):is(:hover,:focus){color:var(--ui-action)!important;border-color:var(--ui-primary)!important;background:var(--ui-selected)!important}
