: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-switch {
  cursor: pointer;
  position: relative;
  /* #ifdef dynamic*/
  display: flex;
  /* #endif */
  /* #ifndef dynamic*/
  display: inline-flex;
  /* #endif */
  flex-direction: row;
  align-items: center;
  min-width: var(--nutui-switch-width, calc(46px * var(--nut-scale-f, 1)));
  height: var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1)));
  line-height: var(--nutui-switch-line-height, calc(28px * var(--nut-scale-f, 1)));
  background-color: var(--nutui-switch-active-background-color, var(--nutui-color-primary, #ff0f23));
  border-radius: var(--nutui-switch-border-radius, calc(50px * var(--nut-scale-f, 1)));
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center center;
  flex: 0 0 auto;
}
.nut-switch-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  height: calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) * 2);
  width: calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) * 2);
  border-radius: var(--nutui-switch-inside-border-radius, 50%);
  background: #ffffff;
  transition: left 0.3s linear;
  box-shadow: var(--nutui-switch-inside-box-shadow, 0px calc(2px * var(--nut-scale-f, 1)) calc(6px * var(--nut-scale-f, 1)) 0px rgba(0, 0, 0, 0.1));
}
.nut-switch-button-open {
  left: calc(100% - var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) + var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))));
}
.nut-switch-button-open-rtl {
  left: var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1)));
}
.nut-switch-button-close {
  left: var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1)));
}
.nut-switch-button-close-rtl {
  left: calc(100% - var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) + var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))));
}
.nut-switch-button .nut-icon {
  width: calc((var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) * 2) / 2);
  height: calc((var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) * 2) / 2);
  color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ff91a5));
}
.nut-switch-close {
  background-color: var(--nutui-switch-inactive-background-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-switch-close-line {
  width: calc((var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) * 2) / 2);
  height: calc(2px * var(--nut-scale-f, 1));
  background: var(--nutui-switch-inactive-line-background-color, #ffffff);
  border-radius: calc(2px * var(--nut-scale-f, 1));
}
.nut-switch-label {
  /* #ifdef dynamic*/
  display: flex;
  /* #endif */
  /* #ifndef dynamic*/
  display: inline-flex;
  /* #endif */
  align-items: center;
  height: 100%;
  white-space: nowrap;
  color: var(--nutui-switch-label-text-color, #ffffff);
  font-size: var(--nutui-switch-label-font-size, var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-switch-label .nut-icon {
  color: var(--nutui-switch-label-text-color, #ffffff);
}
.nut-switch-label-open {
  margin: 0 calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) + 3px * var(--nut-scale-f, 1)) 0 calc(7px * var(--nut-scale-f, 1));
}
.nut-switch-label-open-rtl {
  margin: 0 calc(7px * var(--nut-scale-f, 1)) 0 calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) + 3px * var(--nut-scale-f, 1));
}
.nut-switch-label-close {
  margin: 0 calc(7px * var(--nut-scale-f, 1)) 0 calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) + 3px * var(--nut-scale-f, 1));
}
.nut-switch-label-close-rtl {
  margin: 0 calc(var(--nutui-switch-height, calc(28px * var(--nut-scale-f, 1))) - var(--nutui-switch-border-width, calc(2px * var(--nut-scale-f, 1))) + 3px * var(--nut-scale-f, 1)) 0 calc(7px * var(--nut-scale-f, 1));
}
.nut-switch-label-close-disabled {
  color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-switch-label-close-disabled .nut-icon {
  color: var(--nutui-switch-inactive-disabled-label-text-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-switch-disabled {
  background-color: var(--nutui-switch-active-disabled-background-color, var(--nutui-color-primary-disabled-special, #ff91a5));
}
.nut-switch-disabled-close {
  background-color: var(--nutui-switch-inactive-disabled-background-color, var(--nutui-color-background, #f2f3f5));
}