// 颜色系统
$primary-color: #1890ff;
$primary-light: #e6f7ff;
$primary-dark: #0050b3;

// 中性色
$text-primary: #262626;
$text-secondary: #8c8c8c;
$text-disabled: #bfbfbf;
$background-white: #ffffff;
$background-gray: #f5f5f5;
$border-color: #d9d9d9;

// 状态色
$success-color: #52c41a;
$warning-color: #faad14;
$error-color: #ff4d4f;

// 尺寸规范
$modal-max-height: 80vh;
$modal-border-radius: 12px;
$modal-padding: 12px;

// 日期格子尺寸
$date-cell-size: 40px;
$date-cell-gap: 4px;
$date-cell-border-radius: 6px;

// 字体大小
$font-size-title: 18px;
$font-size-subtitle: 14px;
$font-size-date: 16px;
$font-size-price: 12px;
$font-size-label: 10px;

// uni-popup会自动处理遮罩层和定位，这里移除相关样式

// 弹窗主体
.calendar-popup {
  position: relative;
  width: 100%;
  background-color: $background-white;
  border-radius: $modal-border-radius;
  overflow: hidden;
}

// 头部区域
.calendar-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: $modal-padding;
  border-bottom: 1px solid $border-color;
  background-color: $background-white;
}

.header-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.header-title {
  font-size: $font-size-title;
  font-weight: 600;
  color: $text-primary;
  line-height: 1.4;
}

.header-subtitle {
  font-size: $font-size-subtitle;
  color: $text-secondary;
  line-height: 1.4;
}

.header-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  transition: background-color 0.2s;

  &:active {
    background-color: $background-gray;
  }
}

// 周标题行 - 固定显示
.week-header {
  display: flex;
  padding: 16px $modal-padding 8px;
  background-color: $background-white;
  border-bottom: 1px solid #eeeeee;
}

// 日历主体区域
.calendar-body {
  padding: 8px $modal-padding $modal-padding;
  max-height: calc(#{$modal-max-height} - 140px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;

  &::-webkit-scrollbar {
    display: none;
  }
}

.week-day {
  flex: 1;
  text-align: center;
  font-size: $font-size-subtitle;
  color: $text-secondary;
  font-weight: 500;
  line-height: 1.4;
}

// 全年容器
.year-container {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

// 月份区域
.month-section {
  display: flex;
  flex-direction: column;
}

.month-title {
  font-size: $font-size-title;
  font-weight: 600;
  color: $text-primary;
  text-align: center;
  margin-bottom: 16px;
  margin-top: 8px;
  line-height: 1.4;
}

// 日期网格
.date-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: $date-cell-gap;
}

// 日期格子基础样式
.date-cell {
  position: relative;
  width: $date-cell-size;
  height: $date-cell-size;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 2px;
  border-radius: $date-cell-border-radius;
  transition: all 0.2s ease;
  cursor: pointer;
}

// 空白格子
.date-cell-empty {
  background-color: transparent;
  cursor: default;
}

// 有内容的格子
.date-cell-content {
  background-color: $background-white;
  border: 1px solid transparent;

  &:hover {
    background-color: $background-gray;
  }

  &:active {
    transform: scale(0.95);
  }
}

// 禁用状态
.date-cell-disabled {
  background-color: $background-gray !important;
  color: $text-disabled !important;
  cursor: not-allowed !important;

  .date-number,
  .date-price {
    color: $text-disabled !important;
  }

  &:hover {
    background-color: $background-gray !important;
    transform: none !important;
  }
}

// 选中状态
.date-cell-selected {
  background-color: $primary-color !important;
  border-color: $primary-color !important;

  .date-number,
  .date-price,
  .date-label {
    color: $background-white !important;
  }

  &:hover {
    background-color: $primary-dark !important;
  }
}

// 范围内状态
.date-cell-in-range {
  background-color: $primary-light !important;
  border-color: $primary-light !important;

  .date-number {
    color: $primary-color !important;
  }

  .date-price {
    color: $primary-dark !important;
  }
}

// 日期数字
.date-number {
  font-size: $font-size-date;
  font-weight: 500;
  color: $text-primary;
  line-height: 1;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}

// 价格文字
.date-price {
  font-size: $font-size-price;
  color: $text-secondary;
  line-height: 1;
  font-weight: 400;
  text-align: center;
  min-height: 14px;
}

// 自定义标签
.date-label {
  font-size: $font-size-label;
  color: $primary-color;
  padding: 1px 4px;
  border-radius: 2px;
  line-height: 1;
  white-space: nowrap;
  font-weight: 500;
  text-align: center;
  min-height: 12px;
}
