@input-box-height: 34px;

.@{calendar-prefix-cls}-range-picker-input {
  background-color: transparent;
  border: 0;
  height: 18px;
  line-height: 18px;
  outline: 0;
  width: 43%;
  text-align: center;

  &[disabled] {
    cursor: not-allowed;
  }
}

.@{calendar-prefix-cls}-range-picker-separator {
  color: @text-color-secondary;
}

.@{calendar-prefix-cls}-range {
  width: 470px;
  overflow: hidden;

  .@{calendar-prefix-cls}-date-panel {
    &::after {
      content: ".";
      display: block;
      height: 0;
      clear: both;
      visibility: hidden;
    }
  }
  &-part {
    width: 50%;
    position: relative;
  }

  &-left {
    float: left;
    .@{calendar-prefix-cls} {
      &-time-picker-inner {
        border-right: 2px solid @border-color-split;
      }
    }
  }

  &-right {
    float: right;
    .@{calendar-prefix-cls} {
      &-time-picker-inner {
        border-left: 2px solid @border-color-split;
      }
    }
  }

  &-middle {
    position: absolute;
    left: 50%;
    width: 20px;
    margin-left: -132px;
    text-align: center;
    height: @input-box-height;
    line-height: @input-box-height;
    color: @text-color-secondary;
  }

  &-right .@{calendar-prefix-cls}-date-input-wrap {
    margin-left: -118px;
  }

  &.@{calendar-prefix-cls}-time &-middle {
    margin-left: -12px;
  }

  &.@{calendar-prefix-cls}-time &-right .@{calendar-prefix-cls}-date-input-wrap {
    margin-left: 0;
  }

  .@{calendar-prefix-cls}-input-wrap {
    position: relative;
    height: @input-box-height;
  }

  .@{calendar-prefix-cls}-input,
  .@{calendar-timepicker-prefix-cls}-input {
    .input;
    height: @input-height-sm;
    border: 0;
    box-shadow: none;

    &:focus {
      box-shadow: none;
    }
  }

  .@{calendar-timepicker-prefix-cls}-icon {
    display: none;
  }

  &.@{calendar-prefix-cls}-week-number {
    width: 574px;

    .@{calendar-prefix-cls}-range-part {
      width: 286px;
    }
  }

  .@{calendar-prefix-cls}-year-panel,
  .@{calendar-prefix-cls}-month-panel {
    top: @input-box-height;
  }
  .@{calendar-prefix-cls}-month-panel .@{calendar-prefix-cls}-year-panel {
    top: 0;
  }
  .@{calendar-prefix-cls}-decade-panel-table,
  .@{calendar-prefix-cls}-year-panel-table,
  .@{calendar-prefix-cls}-month-panel-table {
    height: 208px;
  }

  .@{calendar-prefix-cls}-in-range-cell {
    border-radius: 0;
    position: relative;
    > div {
      position: relative;
      z-index: 1;
    }
    &:before {
      content: '';
      display: block;
      background: @primary-1;
      border-radius: 0;
      border: 0;
      position: absolute;
      top: 4px;
      bottom: 4px;
      left: 0;
      right: 0;
    }
  }

  &-bottom {
    text-align: right;

    .@{calendar-prefix-cls}-footer-btn {
      padding-right: 16px;
    }
  }

  // `div` for selector specificity
  div&-quick-selector {
    display: block;
    text-align: left;
    border-top: @border-width-base @border-style-base @border-color-split;
    padding: 10.5px 10px;

    > a {
      margin-right: 16px;
    }
  }

  .@{calendar-prefix-cls},
  .@{calendar-prefix-cls}-month-panel,
  .@{calendar-prefix-cls}-year-panel {
    &-header {
      border-bottom: 0;
    }
    &-body {
      border-top: @border-width-base @border-style-base @border-color-split;
    }
  }

  &.@{calendar-prefix-cls}-time {
    .@{calendar-timepicker-prefix-cls} {
      height: 207px;
      width: 100%;
      top: 68px;
      z-index: 2; // cover .ant-calendar-range .ant-calendar-in-range-cell > div (z-index: 1)
      &-panel {
        height: 241px;
        margin-top: -34px;
      }

      &-inner {
        padding-top: 34px;
        height: 100%;
        background: none;
      }

      &-combobox {
        display: inline-block;
        height: 100%;
        background-color: @component-background;
        border-top: @border-width-base @border-style-base @border-color-split;
      }
      &-select {
        height: 100%;
        ul {
          max-height: 100%;
        }
      }
    }
    .@{calendar-prefix-cls}-footer-btn {
      padding: 9px 12px 9px 0;
      display: block;
      .clearfix;
    }
    .@{calendar-prefix-cls}-ok-btn {
      position: static;
      height: 22px;
    }
    .@{calendar-prefix-cls}-footer .@{calendar-prefix-cls}-time-picker-btn {
      margin-right: 12px;
    }
    .@{calendar-prefix-cls}-today-btn {
      margin: 8px 12px;
      height: 22px;
      line-height: 22px;
    }
  }

  &-with-ranges.@{calendar-prefix-cls}-time .@{calendar-timepicker-prefix-cls} {
    height: 247px;
    &-panel {
      height: 281px;
    }
  }
}

.@{calendar-prefix-cls}-range.@{calendar-prefix-cls}-show-time-picker {
  .@{calendar-prefix-cls}-body {
    border-top-color: transparent;
  }
}
