/* 签到 */
.checkin-hero {
  margin: 24rpx;
  background: linear-gradient(135deg, #4A7CF7, #6a4bf7);
  color: #fff; text-align: center; padding: 48rpx 24rpx;
}
.checkin-title { font-size: 40rpx; font-weight: 800; }
.checkin-streak { font-size: 26rpx; opacity: 0.9; margin: 12rpx 0 32rpx; }
.sign-btn {
  width: 320rpx; border-radius: 999rpx;
  font-size: 32rpx; font-weight: 700; padding: 20rpx 0;
}
.sign-today { background: #fff; color: var(--primary); }
.sign-done { background: rgba(255,255,255,0.3); color: #fff; }
.reward-hint { font-size: 22rpx; opacity: 0.85; margin-top: 28rpx; }
.week-row {
  display: flex; justify-content: space-around; padding: 24rpx; align-items: center;
}
.week-item {
  display: flex; flex-direction: column; align-items: center; gap: 8rpx;
  width: 76rpx; padding: 12rpx 0; border-radius: var(--radius);
}
.week-active {
  background: var(--primary-bg); color: var(--primary); font-weight: 700;
}
.week-day { font-size: 24rpx; opacity: 0.7; }
.week-date { font-size: 30rpx; font-weight: 600; }
.ck-record {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16rpx 24rpx; border-bottom: 1rpx solid var(--gray-7);
}
.ck-date { font-size: 24rpx; color: var(--gray-4); }
.ck-points { font-size: 26rpx; color: var(--warning); font-weight: 600; }
