: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-numberkeyboard {
  width: 100%;
  padding: var(--nutui-numberkeyboard-padding, 0 0 calc(22px * var(--nut-scale-f, 1)) 0);
  user-select: none;
  background-color: var(--nutui-numberkeyboard-background-color, var(--nutui-color-background, #f2f3f5));
}
.nut-numberkeyboard-close-icon {
  width: var(--nutui-icon-size-18, calc(18px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
  height: var(--nutui-icon-size-18, calc(18px * var(--nut-scale-icon, var(--nut-scale-f, 1))));
}
.nut-numberkeyboard-delete-icon {
  width: calc(28px * var(--nut-scale-f, 1));
  height: calc(28px * var(--nut-scale-f, 1));
}
.nut-numberkeyboard-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* #ifndef dynamic*/
  box-sizing: content-box;
  /* #endif */
  padding: var(--nutui-popup-title-padding, calc(16px * var(--nut-scale-f, 1)));
  color: var(--nutui-color-title, #1a1a1a);
  font-size: var(--nutui-popup-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-numberkeyboard-header-title {
  color: var(--nutui-color-title, #1a1a1a);
  display: inline-block;
  font-size: var(--nutui-popup-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-numberkeyboard-header-close {
  position: absolute;
  display: block;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  padding: var(--nutui-numberkeyboard-header-close-padding, 0 calc(16px * var(--nut-scale-f, 1)));
  color: var(--nutui-numberkeyboard-header-close-color, var(--nutui-color-text, #505259));
  font-size: var(--nutui-numberkeyboard-header-close-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  background-color: var(--nutui-numberkeyboard-header-close-background-color, transparent);
  border: none;
  cursor: pointer;
}
.nut-numberkeyboard-body {
  display: flex;
  padding: calc(6px * var(--nut-scale-f, 1)) 0 0 calc(6px * var(--nut-scale-f, 1));
}
.nut-numberkeyboard-body-keys {
  display: flex;
  flex: 3;
  flex-wrap: wrap;
}
.nut-numberkeyboard-body-wrapper {
  position: relative;
  flex: 1;
  /* #ifdef harmony dynamic*/
  width: 33%;
  /* #endif */
  /* #ifndef harmony dynamic*/
  flex-basis: 33%;
  /* #endif */
  box-sizing: border-box;
  padding: 0 calc(6px * var(--nut-scale-f, 1)) calc(6px * var(--nut-scale-f, 1)) 0;
  background-color: var(--nutui-numberkeyboard-wrapper-background-color, var(--nutui-color-background-sunken, #f7f8fc));
}
.nut-numberkeyboard-body-wrapper .key {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--nutui-numberkeyboard-key-height, calc(48px * var(--nut-scale-f, 1)));
  font-size: var(--nutui-numberkeyboard-key-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  line-height: var(--nutui-numberkeyboard-key-line-height, 1.5);
  background-color: var(--nutui-numberkeyboard-key-background-color, var(--nutui-color-background-overlay, #ffffff));
  color: var(--nutui-numberkeyboard-key-color, var(--nutui-color-text, #505259));
  border-radius: var(--nutui-numberkeyboard-key-border-radius, calc(8px * var(--nut-scale-f, 1)));
  border: var(--nutui-numberkeyboard-key-border, none);
  font-weight: var(--nutui-font-weight-bold, 600);
  cursor: pointer;
}
.nut-numberkeyboard-body-wrapper .key.active {
  background-color: var(--nutui-numberkeyboard-key-active-background-color, #ebedf0);
}
.nut-numberkeyboard-sidebar {
  display: flex;
  flex: 1;
  flex-basis: 33%;
  flex-direction: column;
}
.nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper {
  width: 100%;
}
.nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .key {
  position: absolute;
  top: 0;
  right: calc(6px * var(--nut-scale-f, 1));
  bottom: calc(6px * var(--nut-scale-f, 1));
  left: 0;
  height: auto;
}
.nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .confirm {
  font-size: var(--nutui-numberkeyboard-key-confirm-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  color: var(--nutui-numberkeyboard-key-confirm-color, #fff);
  background-color: var(--nutui-numberkeyboard-key-confirm-background-color, var(--nutui-color-primary, #ff0f23));
}
.nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .confirm.active {
  background-color: rgba(255, 0, 0, 0.7);
}

[dir=rtl] .nut-popup .nut-numberkeyboard-header-close,
.nut-rtl .nut-popup .nut-numberkeyboard-header-close {
  right: auto;
  left: 0;
}
[dir=rtl] .nut-popup .nut-numberkeyboard-body,
.nut-rtl .nut-popup .nut-numberkeyboard-body {
  padding: calc(6px * var(--nut-scale-f, 1)) calc(6px * var(--nut-scale-f, 1)) 0 0;
}
[dir=rtl] .nut-popup .nut-numberkeyboard-body-wrapper,
.nut-rtl .nut-popup .nut-numberkeyboard-body-wrapper {
  padding: 0 0 calc(6px * var(--nut-scale-f, 1)) calc(6px * var(--nut-scale-f, 1));
}
[dir=rtl] .nut-popup .nut-numberkeyboard-body-wrapper .delete,
.nut-rtl .nut-popup .nut-numberkeyboard-body-wrapper .delete {
  transform: rotate(-180deg);
}
[dir=rtl] .nut-popup .nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .key,
.nut-rtl .nut-popup .nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .key {
  left: calc(6px * var(--nut-scale-f, 1));
  right: 0;
}
[dir=rtl] .nut-popup .nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .key.delete,
.nut-rtl .nut-popup .nut-numberkeyboard-sidebar .nut-numberkeyboard-body-wrapper .key.delete {
  transform: rotate(-180deg);
}