: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-calendar {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  background-color: var(--nutui-color-background-overlay, #ffffff);
  color: var(--nutui-color-title, #1a1a1a);
  overflow: hidden;
  height: 100%;
}
.nut-calendar.nut-calendar-title .nut-calendar-header .calendar-title {
  font-size: var(--nutui-calendar-base-font-size, var(--nutui-font-size-l, calc(15px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-calendar .nut-calendar-taro {
  height: 60vh;
}
.nut-calendar .popup-box {
  height: 100%;
}
.nut-calendar ::-webkit-scrollbar {
  display: none;
}
.nut-calendar-header {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.nut-calendar-header-buttons {
  height: var(--nutui-calendar-header-height, calc(24px * var(--nut-scale-f, 1)));
}
.nut-calendar-title {
  color: var(--nutui-color-title, #1a1a1a);
  font-size: var(--nutui-calendar-title-font-size, var(--nutui-font-size-xl, calc(18px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
  font-weight: var(--nutui-calendar-title-font-weight, var(--nutui-font-weight-bold, 600));
  line-height: calc(50px * var(--nut-scale-f, 1));
}
.nut-calendar-sub-title {
  padding: calc(7px * var(--nut-scale-f, 1)) 0;
  line-height: calc(22px * var(--nut-scale-f, 1));
  font-size: var(--nutui-calendar-sub-title-font-size, var(--nutui-font-size-base, calc(14px * var(--nut-scale-font, var(--nut-scale-f, 1)))));
}
.nut-calendar-weeks {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: calc(36px * var(--nut-scale-f, 1));
  border-radius: 0 0 calc(12px * var(--nut-scale-f, 1)) calc(12px * var(--nut-scale-f, 1));
  box-shadow: 0 calc(4px * var(--nut-scale-f, 1)) calc(10px * var(--nut-scale-f, 1)) 0 rgba(0, 0, 0, 0.06);
}
.nut-calendar-week-item:first-of-type, .nut-calendar-week-item:last-of-type {
  color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-content {
  flex: 1;
  width: 100%;
  display: block;
  overflow-y: auto;
}
.nut-calendar-pannel {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
  box-sizing: border-box;
}
.nut-calendar-pannel .calendar-loading-tip {
  height: calc(50px * var(--nut-scale-f, 1));
  line-height: calc(50px * var(--nut-scale-f, 1));
  text-align: center;
  position: absolute;
  top: calc(-50px * var(--nut-scale-f, 1));
  left: 0;
  right: 0;
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  color: var(--nutui-color-text, #505259);
}
.nut-calendar-month {
  display: flex;
  flex-direction: column;
  text-align: center;
}
.nut-calendar-month-title {
  height: calc(23px * var(--nut-scale-f, 1));
  line-height: calc(23px * var(--nut-scale-f, 1));
  margin: calc(8px * var(--nut-scale-f, 1)) 0;
}
.nut-calendar-days {
  overflow: hidden;
}
.nut-calendar-day {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  float: left;
  width: var(--nutui-calendar-day-width, 14.28%);
  height: var(--nutui-calendar-day-height, calc(60px * var(--nut-scale-f, 1)));
  font-weight: var(--nutui-calendar-day-font-weight, var(--nutui-font-weight-bold, 600));
  margin-bottom: calc(4px * var(--nut-scale-f, 1));
}
.nut-calendar-day-day, .nut-calendar-day-info-curr {
  color: var(--nutui-color-title, #1a1a1a);
}
.nut-calendar-day:nth-child(7n+0), .nut-calendar-day:nth-child(7n+1) {
  color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-day:nth-child(7n+0) .nut-calendar-day-day,
.nut-calendar-day:nth-child(7n+0) .nut-calendar-day-info-curr, .nut-calendar-day:nth-child(7n+1) .nut-calendar-day-day,
.nut-calendar-day:nth-child(7n+1) .nut-calendar-day-info-curr {
  color: var(--nutui-color-primary, #ff0f23);
}
.nut-calendar-day-info, .nut-calendar-day-info-curr {
  position: absolute;
  bottom: calc(5px * var(--nut-scale-f, 1));
  width: 100%;
  font-size: var(--nutui-font-size-s, calc(12px * var(--nut-scale-font, var(--nut-scale-f, 1))));
  line-height: calc(14px * var(--nut-scale-f, 1));
}
.nut-calendar-day-info-top {
  position: absolute;
  width: 100%;
  top: calc(5px * var(--nut-scale-f, 1));
}
.nut-calendar-day-info-bottom {
  position: absolute;
  width: 100%;
  bottom: calc(5px * var(--nut-scale-f, 1));
}
.nut-calendar-day-active {
  background-color: var(--nutui-calendar-active-background-color, var(--nutui-color-primary, #ff0f23));
  color: #ffffff !important;
  border-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.active-start {
  border-radius: 0;
  border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
  border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.active-end {
  border-radius: 0;
  border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
  border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
.nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info {
  color: #ffffff;
}
.nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-day, .nut-calendar-day-active.nut-calendar-day-active .nut-calendar-day-info-curr {
  color: #ffffff;
}
.nut-calendar-day-disabled {
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc)) !important;
}
.nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-day, .nut-calendar-day-disabled.nut-calendar-day-disabled .nut-calendar-day-info-curr {
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-calendar-day-disabled .nut-calendar-day-info-curr {
  display: none;
}
.nut-calendar-day-choose {
  background-color: var(--nutui-calendar-choose-background-color, var(--nutui-color-primary-light-pressed, #ffe8ee));
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
}
.nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-day, .nut-calendar-day-choose.nut-calendar-day-choose .nut-calendar-day-info-curr {
  color: var(--nutui-calendar-choose-color, var(--nutui-color-primary, #ff0f23));
}
.nut-calendar-day-choose-disabled {
  background-color: var(--nutui-calendar-choose-disable-background-color, rgba(191, 191, 191, 0.09));
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc)) !important;
}
.nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-day, .nut-calendar-day-choose-disabled.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
  color: var(--nutui-calendar-disable-color, var(--nutui-color-text-disabled, #c2c4cc));
}
.nut-calendar-day-choose-disabled .nut-calendar-day-info-curr {
  display: none;
}
.nut-calendar-footer {
  display: flex;
  width: 100%;
  flex-direction: column;
  background-color: #ffffff;
}
.nut-calendar-footer .calendar-confirm-btn {
  height: calc(40px * var(--nut-scale-f, 1));
  line-height: calc(40px * var(--nut-scale-f, 1));
  margin: calc(6px * var(--nut-scale-f, 1)) calc(16px * var(--nut-scale-f, 1));
  text-align: center;
  border-radius: var(--nutui-radius-base, calc(8px * var(--nut-scale-f, 1)));
  background: var(--nutui-button-primary-background-color, var(--nutui-color-primary, #ff0f23));
  color: #ffffff;
  font-weight: var(--nutui-font-weight-bold, 600);
}

.nut-calendar-popup .nut-popup-title-right {
  top: calc(7px * var(--nut-scale-f, 1)) !important;
}

[dir=rtl] .nut-calendar-day,
.nut-rtl .nut-calendar-day {
  float: right;
}
[dir=rtl] .nut-calendar-day-active.active-start,
.nut-rtl .nut-calendar-day-active.active-start {
  border-top-left-radius: 0;
  border-top-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
  border-bottom-left-radius: 0;
  border-bottom-right-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}
[dir=rtl] .nut-calendar-day-active.active-end,
.nut-rtl .nut-calendar-day-active.active-end {
  border-top-right-radius: 0;
  border-top-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
  border-bottom-right-radius: 0;
  border-bottom-left-radius: var(--nutui-calendar-day-active-border-radius, calc(4px * var(--nut-scale-f, 1)));
}