:root,
page {
  --nut-scale-f: 1;
  --nut-scale-font: var(--nut-scale-f, 1);
  --nut-scale-icon: var(--nut-scale-f, 1);
  --nut-icon-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-width: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
  --nut-icon-line-height: calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1))) !important;
}

/* #ifdef harmony */
/* #endif */
/* #ifndef harmony */
/* #endif */
.nut-checkbox {
  display: flex;
  align-items: center;
}
.nut-checkbox-icon {
  color: var(--nutui-color-text-disabled, #c2c4cc);
  font-size: var(--nutui-checkbox-icon-font-size, var(--nutui-font-size-icon, calc(16px * var(--nut-scale-icon, var(--nut-scale-f, 1)))));
  flex-shrink: 0;
}
.nut-checkbox-icon-wrap {
  font-size: 0px;
  line-height: 0;
  border-radius: 50%;
  box-shadow: 0 calc(2px * var(--nut-scale-f, 1)) calc(4px * var(--nut-scale-f, 1)) 0 rgba(255, 15, 35, 0.2);
}
.nut-checkbox-icon-checked {
  color: var(--nutui-color-primary, #ff0f23);
  background-color: #ffffff;
  transition-duration: 0.3s;
  transition-property: color, border-color, background-color;
  border-radius: 50%;
}
.nut-checkbox-icon-checked.nut-checkbox-icon-disabled {
  color: var(--nutui-color-primary-disabled-special, #ffadbe);
}
.nut-checkbox-label {
  margin-left: var(--nutui-checkbox-label-margin-left, var(--nutui-spacing-xxs, calc(4px * var(--nut-scale-f, 1))));
  font-size: var(--nutui-checkbox-label-font-size, var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  color: var(--nutui-checkbox-label-color, var(--nutui-color-title, #1a1a1a));
  flex-shrink: 0;
}
.nut-checkbox-label-disabled {
  color: var(--nutui-color-text-disabled, #c2c4cc);
}
.nut-checkbox-icon-indeterminate {
  color: var(--nutui-color-primary, #ff0f23);
  background-color: #ffffff;
  box-shadow: 0 calc(2px * var(--nut-scale-f, 1)) calc(4px * var(--nut-scale-f, 1)) 0 rgba(255, 15, 35, 0.2);
  border-radius: 50%;
}
.nut-checkbox-icon-indeterminate.nut-checkbox-icon-disabled {
  color: var(--nutui-color-primary-disabled-special, #ffadbe);
}
.nut-checkbox-icon-disabled {
  color: var(--nutui-color-text-disabled, #c2c4cc);
  background-color: #ffffff;
  border-radius: 50%;
  box-shadow: none;
}
.nut-checkbox-reverse {
  flex-direction: row-reverse;
}
.nut-checkbox-reverse .nut-checkbox-label {
  margin-right: var(--nutui-checkbox-label-margin-left, var(--nutui-spacing-xxs, calc(4px * var(--nut-scale-f, 1))));
  margin-left: 0;
}
.nut-checkbox-button {
  position: relative;
  /* #ifdef dynamic */
  display: flex;
  /* #endif */
  /* #ifndef dynamic */
  display: inline-flex;
  /* #endif */
  align-items: center;
  min-height: calc(32px * var(--nut-scale-f, 1));
  padding: var(--nutui-checkbox-button-padding, calc(5px * var(--nut-scale-f, 1)) calc(18px * var(--nut-scale-f, 1)));
  font-size: var(--nutui-checkbox-button-font-size, var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  background: var(--nutui-color-background, #f2f3f5);
  border-radius: var(--nutui-checkbox-button-border-radius, calc(15px * var(--nut-scale-f, 1)));
  color: var(--nutui-checkbox-label-color, var(--nutui-color-title, #1a1a1a));
  box-sizing: border-box;
  border: calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-background, #f2f3f5);
  overflow: hidden;
}
.nut-checkbox-button-active {
  background: var(--nutui-color-primary-light-pressed, #ffebf1);
  color: var(--nutui-color-primary, #ff0f23);
  border: var(--nutui-checkbox-button-active-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary, #ff0f23));
}
.nut-checkbox-button-disabled {
  color: var(--nutui-color-text-disabled, #c2c4cc);
  border: calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-background, #f2f3f5);
}
.nut-checkbox-button-icon {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-top: var(--nutui-icon-size-10, calc(10px * var(--nut-scale-icon, var(--nut-scale-f, 1)))) solid transparent;
  border-left: var(--nutui-icon-size-10, calc(10px * var(--nut-scale-icon, var(--nut-scale-f, 1)))) solid transparent;
  border-bottom: var(--nutui-icon-size-10, calc(10px * var(--nut-scale-icon, var(--nut-scale-f, 1)))) solid var(--nutui-color-primary, #ff0f23);
  border-right: var(--nutui-icon-size-10, calc(10px * var(--nut-scale-icon, var(--nut-scale-f, 1)))) solid var(--nutui-color-primary, #ff0f23);
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}
.nut-checkbox-button .nut-checkbox-button-icon-checked {
  width: calc(12px * var(--nut-scale-f, 1));
  height: calc(12px * var(--nut-scale-f, 1));
  position: absolute;
  color: #ffffff;
  right: 0;
  bottom: 0;
  transform: translate(calc(-1px * var(--nut-scale-f, 1)), calc(-2px * var(--nut-scale-f, 1)));
}
.nut-checkbox-button .nut-icon {
  position: absolute;
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  width: calc(12px * var(--nut-scale-f, 1));
  height: calc(12px * var(--nut-scale-f, 1));
}
.nut-checkbox-button .nut-icon:before {
  top: auto;
  bottom: calc(-22px * var(--nut-scale-f, 1));
  margin-left: calc(6px * var(--nut-scale-f, 1));
}
.nut-checkbox .nut-checkbox-button-active.nut-checkbox-button-disabled {
  background: var(--nutui-color-text-disabled, #c2c4cc);
  color: #ffffff;
  border: calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-text-disabled, #c2c4cc);
}
.nut-checkbox-list-item {
  display: flex;
  justify-content: space-between;
  padding: var(--nutui-checkbox-list-item-padding, calc(12px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1)) 0);
  border-top: var(--nutui-checkbox-list-item-border, calc(1px * var(--nut-scale-f, 1)) solid var(--nutui-color-border, rgba(0, 0, 0, 0.06)));
}
.nut-checkbox-list-item .nut-checkbox-label {
  flex: none;
}
.nut-checkbox-list-item .nut-icon {
  flex: none;
}

[dir=rtl] .nut-checkbox-label,
.nut-rtl .nut-checkbox-label {
  margin-left: 0;
  margin-right: var(--nutui-checkbox-label-margin-left, var(--nutui-spacing-xxs, calc(4px * var(--nut-scale-f, 1))));
}
[dir=rtl] .nut-checkbox-reverse .nut-checkbox-label,
.nut-rtl .nut-checkbox-reverse .nut-checkbox-label {
  margin-left: var(--nutui-checkbox-label-margin-left, var(--nutui-spacing-xxs, calc(4px * var(--nut-scale-f, 1))));
  margin-right: 0;
}
[dir=rtl] .nut-checkbox-button-icon,
.nut-rtl .nut-checkbox-button-icon {
  right: auto;
  left: 0;
  border-right: calc(10px * var(--nut-scale-f, 1)) solid transparent;
  border-left: calc(10px * var(--nut-scale-f, 1)) solid var(--nutui-color-primary, #ff0f23);
}
[dir=rtl] .nut-checkbox-button-icon-checked,
.nut-rtl .nut-checkbox-button-icon-checked {
  left: auto;
  right: 50%;
  transform: translate(calc(3px * var(--nut-scale-f, 1)), calc(-3px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-checkbox-button-icon .nut-icon:before,
.nut-rtl .nut-checkbox-button-icon .nut-icon:before {
  margin-left: 0;
  margin-right: calc(6px * var(--nut-scale-f, 1));
}