.vxe-checkbox--button {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-default);
}
.vxe-checkbox--button.size--xlarge {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-xlarge);
}
.vxe-checkbox--button.size--large {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-large);
}
.vxe-checkbox--button.size--medium {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-medium);
}
.vxe-checkbox--button.size--small {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-small);
}
.vxe-checkbox--button.size--mini {
  --vxe-ui-checkbox--button-current-margin-left: var(--vxe-ui-base-margin-gap-mini);
}

.vxe-checkbox--button:first-child .vxe-checkbox--label {
  border-left: 1px solid var(--vxe-ui-input-border-color);
  border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);
}
.vxe-checkbox--button:last-child .vxe-checkbox--label {
  border-radius: 0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0;
}
.vxe-checkbox--button .vxe-checkbox--label {
  padding: 0 1em;
  line-height: calc(var(--vxe-ui-button-height-default) - 2px);
  display: inline-block;
  border-style: solid;
  border-color: var(--vxe-ui-input-border-color);
  border-width: 1px 1px 1px 0;
  max-width: 50em;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: all 0.2s ease-in-out;
}

.vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-font-primary-color);
  background-color: var(--vxe-ui-font-primary-color);
}
.vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  background-color: var(--vxe-ui-font-primary-lighten-color);
  border-color: var(--vxe-ui-font-primary-lighten-color);
}
.vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  background-color: var(--vxe-ui-font-primary-darken-color);
  border-color: var(--vxe-ui-font-primary-darken-color);
}
.vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-font-primary-disabled-color);
  background-color: var(--vxe-ui-font-primary-disabled-color);
}

.vxe-checkbox-group.theme--primary .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-font-primary-color);
  background-color: var(--vxe-ui-font-primary-color);
}
.vxe-checkbox-group.theme--primary .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-font-primary-lighten-color);
  border-color: var(--vxe-ui-font-primary-lighten-color);
}
.vxe-checkbox-group.theme--primary .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-font-primary-darken-color);
  border-color: var(--vxe-ui-font-primary-darken-color);
}
.vxe-checkbox-group.theme--primary .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-font-primary-disabled-color);
  background-color: var(--vxe-ui-font-primary-disabled-color);
}
.vxe-checkbox-group.theme--success .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-status-success-color);
  background-color: var(--vxe-ui-status-success-color);
}
.vxe-checkbox-group.theme--success .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-status-success-lighten-color);
  border-color: var(--vxe-ui-status-success-lighten-color);
}
.vxe-checkbox-group.theme--success .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-status-success-darken-color);
  border-color: var(--vxe-ui-status-success-darken-color);
}
.vxe-checkbox-group.theme--success .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-status-success-disabled-color);
  background-color: var(--vxe-ui-status-success-disabled-color);
}
.vxe-checkbox-group.theme--info .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-status-info-color);
  background-color: var(--vxe-ui-status-info-color);
}
.vxe-checkbox-group.theme--info .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-status-info-lighten-color);
  border-color: var(--vxe-ui-status-info-lighten-color);
}
.vxe-checkbox-group.theme--info .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-status-info-darken-color);
  border-color: var(--vxe-ui-status-info-darken-color);
}
.vxe-checkbox-group.theme--info .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-status-info-disabled-color);
  background-color: var(--vxe-ui-status-info-disabled-color);
}
.vxe-checkbox-group.theme--warning .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-status-warning-color);
  background-color: var(--vxe-ui-status-warning-color);
}
.vxe-checkbox-group.theme--warning .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-status-warning-lighten-color);
  border-color: var(--vxe-ui-status-warning-lighten-color);
}
.vxe-checkbox-group.theme--warning .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-status-warning-darken-color);
  border-color: var(--vxe-ui-status-warning-darken-color);
}
.vxe-checkbox-group.theme--warning .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-status-warning-disabled-color);
  background-color: var(--vxe-ui-status-warning-disabled-color);
}
.vxe-checkbox-group.theme--danger .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-status-danger-color);
  background-color: var(--vxe-ui-status-danger-color);
}
.vxe-checkbox-group.theme--danger .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-status-danger-lighten-color);
  border-color: var(--vxe-ui-status-danger-lighten-color);
}
.vxe-checkbox-group.theme--danger .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-status-danger-darken-color);
  border-color: var(--vxe-ui-status-danger-darken-color);
}
.vxe-checkbox-group.theme--danger .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-status-danger-disabled-color);
  background-color: var(--vxe-ui-status-danger-disabled-color);
}
.vxe-checkbox-group.theme--error .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: #fff;
  border-color: var(--vxe-ui-status-error-color);
  background-color: var(--vxe-ui-status-error-color);
}
.vxe-checkbox-group.theme--error .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: #fff;
  background-color: var(--vxe-ui-status-error-lighten-color);
  border-color: var(--vxe-ui-status-error-lighten-color);
}
.vxe-checkbox-group.theme--error .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: #fff;
  background-color: var(--vxe-ui-status-error-darken-color);
  border-color: var(--vxe-ui-status-error-darken-color);
}
.vxe-checkbox-group.theme--error .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-status-error-disabled-color);
  background-color: var(--vxe-ui-status-error-disabled-color);
}
.vxe-checkbox-group.theme--perfect .vxe-checkbox--button > input:checked + .vxe-checkbox--label {
  color: var(--vxe-ui-font-color);
  border-color: var(--vxe-ui-table-header-background-color);
  background-color: var(--vxe-ui-table-header-background-color);
}
.vxe-checkbox-group.theme--perfect .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):hover {
  color: var(--vxe-ui-font-color);
  background-color: var(--vxe-ui-table-header-background-color);
  border-color: var(--vxe-ui-table-header-background-color);
}
.vxe-checkbox-group.theme--perfect .vxe-checkbox--button > input:checked + .vxe-checkbox--label:not(.is--disabled):active {
  color: var(--vxe-ui-font-color);
  background-color: var(--vxe-ui-table-header-background-color);
  border-color: var(--vxe-ui-table-header-background-color);
}
.vxe-checkbox-group.theme--perfect .vxe-checkbox--button > input:checked + .vxe-checkbox--label.is--disabled {
  border-color: var(--vxe-ui-table-header-background-color);
  background-color: var(--vxe-ui-table-header-background-color);
}

.vxe-checkbox--button-icon + .vxe-checkbox--button-content {
  margin-left: var(--vxe-ui-checkbox--button-current-margin-left);
}

.vxe-checkbox--button.size--medium .vxe-checkbox--label {
  line-height: calc(var(--vxe-ui-button-height-medium) - 2px);
}
.vxe-checkbox--button.size--small .vxe-checkbox--label {
  line-height: calc(var(--vxe-ui-button-height-small) - 2px);
}
.vxe-checkbox--button.size--mini .vxe-checkbox--label {
  line-height: calc(var(--vxe-ui-button-height-mini) - 2px);
}