/* 水平间距 */
/* 水平间距 */
.index-container.data-v-1cf27b2a {
  min-height: 100vh;
  background-color: #f5f6f8;
  padding-bottom: 120rpx;
}

/* 用户信息卡片 */
.page-top.data-v-1cf27b2a {
  width: 750rpx;
  background: linear-gradient(180deg, #abc7ff 44%, #f4f5f9 100%);
  margin-bottom: 20rpx;
  padding: 20px;
}
.page-top .user-card.data-v-1cf27b2a {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2) 51%, rgba(255, 255, 255, 0.8) 100%), rgba(255, 255, 255, 0.2);
  border: 4rpx solid #fcf6ec;
  border-radius: 28rpx;
  padding: 20px;
  position: relative;
}
.page-top .user-card .user-info.data-v-1cf27b2a {
  display: flex;
  align-items: flex-start;
}
.page-top .user-card .user-info .avatar-wrapper.data-v-1cf27b2a {
  flex-shrink: 0;
  margin-right: 24rpx;
}
.page-top .user-card .user-info .avatar-wrapper .avatar.data-v-1cf27b2a {
  width: 120rpx;
  height: 120rpx;
  border-radius: 50%;
  border: 4rpx solid rgba(255, 255, 255, 0.3);
}
.page-top .user-card .user-info .user-details.data-v-1cf27b2a {
  flex: 1;
}
.page-top .user-card .user-info .user-details .name-row.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  margin-bottom: 12rpx;
}
.page-top .user-card .user-info .user-details .name-row .user-name.data-v-1cf27b2a {
  font-size: 40rpx;
  font-weight: 600;
  text-align: LEFT;
  color: #202020;
  line-height: 50rpx;
  letter-spacing: 0.02rpx;
}
.page-top .user-card .user-info .user-details .name-row .user-role.data-v-1cf27b2a {
  margin-left: 10px;
  width: 108rpx;
  height: 40rpx;
  line-height: 40rpx;
  text-align: center;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 8rpx;
  font-size: 22rpx;
  font-weight: 500;
  color: #456eff;
}
.page-top .user-card .user-info .user-details .company-name.data-v-1cf27b2a {
  font-size: 26rpx;
  color: rgba(255, 255, 255, 0.9);
  display: block;
  margin-bottom: 16rpx;
}
.page-top .user-card .user-info .user-details .contact-row.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .email-row.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .address-row.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  margin-bottom: 8rpx;
}
.page-top .user-card .user-info .user-details .contact-row .contact-icon.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .email-row .contact-icon.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .address-row .contact-icon.data-v-1cf27b2a {
  font-size: 24rpx;
  margin-right: 8rpx;
}
.page-top .user-card .user-info .user-details .contact-row .contact-text.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .email-row .contact-text.data-v-1cf27b2a,
.page-top .user-card .user-info .user-details .address-row .contact-text.data-v-1cf27b2a {
  font-size: 22rpx;
  color: rgba(255, 255, 255, 0.85);
}
.page-top .user-card .user-address.data-v-1cf27b2a {
  display: grid;
  gap: 10rpx;
}
.page-top .user-card .user-address .row.data-v-1cf27b2a {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 6rpx;
  align-items: center;
  font-size: 24rpx;
}
.page-top .user-card .user-address .row .contact-text.data-v-1cf27b2a {
  font-weight: 500;
  color: #666666;
}
.page-top .user-card .share-btn.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.2);
  align-self: flex-start;
  width: 204rpx;
  height: 66rpx;
  background: linear-gradient(90deg, #446dff, rgba(68, 109, 255, 0.3) 100%);
  border-radius: 8rpx 28rpx 8rpx 28rpx;
  box-sizing: border-box;
  position: absolute;
  top: -2rpx;
  right: -2rpx;
}
.page-top .user-card .share-btn .share-icon.data-v-1cf27b2a {
  font-size: 28rpx;
  margin-right: 8rpx;
}
.page-top .user-card .share-btn .share-text.data-v-1cf27b2a {
  font-size: 26rpx;
  color: #ffffff;
}

/* 最近访客模块 */
.recent-visitors.data-v-1cf27b2a {
  background: #ffffff;
  margin: 20rpx;
  padding: 32rpx;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
}
.recent-visitors .section-header.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24rpx;
}
.recent-visitors .section-header .section-title.data-v-1cf27b2a {
  font-size: 32rpx;
  font-weight: 600;
  color: #333333;
}
.recent-visitors .section-header .visitor-count.data-v-1cf27b2a {
  display: flex;
  align-items: center;
}
.recent-visitors .section-header .visitor-count .visitor-icon.data-v-1cf27b2a {
  width: 32rpx;
  height: 32rpx;
  margin-right: 8rpx;
}
.recent-visitors .section-header .visitor-count .visitor-number.data-v-1cf27b2a {
  font-size: 24rpx;
  color: #999999;
}
.recent-visitors .section-header .view-more.data-v-1cf27b2a {
  font-size: 24rpx;
  color: #667eea;
}
.recent-visitors .visitor-list .visitor-item.data-v-1cf27b2a {
  display: flex;
  align-items: flex-start;
}
.recent-visitors .visitor-list .visitor-item .visitor-avatar.data-v-1cf27b2a {
  width: 80rpx;
  height: 80rpx;
  border-radius: 50%;
  margin-right: 20rpx;
  flex-shrink: 0;
}
.recent-visitors .visitor-list .visitor-item .visitor-avatar image.data-v-1cf27b2a {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.recent-visitors .visitor-list .visitor-item .visitor-info.data-v-1cf27b2a {
  flex: 1;
}
.recent-visitors .visitor-list .visitor-item .visitor-info .visitor-name-row.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  margin-bottom: 8rpx;
}
.recent-visitors .visitor-list .visitor-item .visitor-info .visitor-name-row .visitor-name.data-v-1cf27b2a {
  font-size: 28rpx;
  color: #333333;
  font-weight: 500;
}
.recent-visitors .visitor-list .visitor-item .visitor-info .visitor-name-row .visitor-tag.data-v-1cf27b2a {
  font-size: 20rpx;
  color: #ff6b6b;
  background: rgba(255, 107, 107, 0.1);
  padding: 4rpx 12rpx;
  border-radius: 16rpx;
  margin-left: 12rpx;
}
.recent-visitors .visitor-list .visitor-item .visitor-info .visitor-source.data-v-1cf27b2a {
  font-size: 22rpx;
  color: #999999;
  display: block;
  margin-bottom: 8rpx;
}
.recent-visitors .visitor-list .visitor-item .visitor-info .visitor-action.data-v-1cf27b2a {
  font-size: 22rpx;
  color: #666666;
}

/* 功能菜单网格 */
.function-grid.data-v-1cf27b2a {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24rpx;
  background: #ffffff;
  margin: 20rpx;
  padding: 32rpx 24rpx;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
}
.function-grid .grid-item.data-v-1cf27b2a {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.function-grid .grid-item .grid-icon.data-v-1cf27b2a {
  width: 96rpx;
  height: 96rpx;
  border-radius: 28rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12rpx;
}
.function-grid .grid-item .grid-icon .icon-text.data-v-1cf27b2a {
  font-size: 48rpx;
}
.function-grid .grid-item .clue-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.function-grid .grid-item .customer-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #30cfd0 0%, #330867 100%);
}
.function-grid .grid-item .contact-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}
.function-grid .grid-item .pool-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.function-grid .grid-item .opportunity-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}
.function-grid .grid-item .payment-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #ffd89b 0%, #19547b 100%);
}
.function-grid .grid-item .product-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #89f7fe 0%, #66a6ff 100%);
}
.function-grid .grid-item .all-icon.data-v-1cf27b2a {
  background: linear-gradient(135deg, #cd9cf2 0%, #f6f3ff 100%);
}
.function-grid .grid-item .grid-label.data-v-1cf27b2a {
  font-size: 24rpx;
  color: #333333;
}

/* 业务日历模块 */
.business-calendar.data-v-1cf27b2a {
  background: #ffffff;
  margin: 20rpx;
  padding: 32rpx;
  border-radius: 24rpx;
  box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.06);
}
.business-calendar .section-header.data-v-1cf27b2a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24rpx;
}
.business-calendar .section-header .section-title.data-v-1cf27b2a {
  font-size: 32rpx;
  font-weight: 600;
  color: #333333;
}
.business-calendar .section-header .view-more.data-v-1cf27b2a {
  font-size: 24rpx;
  color: #667eea;
}
.business-calendar .calendar-header.data-v-1cf27b2a {
  text-align: center;
  margin-bottom: 20rpx;
}
.business-calendar .calendar-header .calendar-month.data-v-1cf27b2a {
  font-size: 30rpx;
  font-weight: 600;
  color: #333333;
}
.business-calendar .calendar-weekdays.data-v-1cf27b2a {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  margin-bottom: 16rpx;
}
.business-calendar .calendar-weekdays .weekday.data-v-1cf27b2a {
  font-size: 24rpx;
  color: #999999;
  padding: 12rpx 0;
}
.business-calendar .calendar-dates.data-v-1cf27b2a {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8rpx;
  margin-bottom: 32rpx;
}
.business-calendar .calendar-dates .date-cell.data-v-1cf27b2a {
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  position: relative;
}
.business-calendar .calendar-dates .date-cell .date-num.data-v-1cf27b2a {
  font-size: 26rpx;
  color: #333333;
}
.business-calendar .calendar-dates .date-cell.today.data-v-1cf27b2a {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.business-calendar .calendar-dates .date-cell.today .date-num.data-v-1cf27b2a {
  color: #ffffff;
  font-weight: 600;
}
.business-calendar .calendar-dates .date-cell.has-event .event-dot.data-v-1cf27b2a {
  width: 12rpx;
  height: 12rpx;
  background: #ff6b6b;
  border-radius: 50%;
  position: absolute;
  bottom: 8rpx;
}
.business-calendar .today-schedule .schedule-item.data-v-1cf27b2a {
  display: flex;
  align-items: flex-start;
  padding: 24rpx;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 16rpx;
  margin-bottom: 16rpx;
  border-left: 6rpx solid #667eea;
}
.business-calendar .today-schedule .schedule-item.tomorrow.data-v-1cf27b2a {
  border-left-color: #30cfd0;
}
.business-calendar .today-schedule .schedule-item .schedule-time.data-v-1cf27b2a {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 20rpx;
  min-width: 100rpx;
}
.business-calendar .today-schedule .schedule-item .schedule-time .time-period.data-v-1cf27b2a {
  font-size: 22rpx;
  color: #999999;
  margin-bottom: 4rpx;
}
.business-calendar .today-schedule .schedule-item .schedule-time .time-value.data-v-1cf27b2a {
  font-size: 28rpx;
  font-weight: 600;
  color: #333333;
}
.business-calendar .today-schedule .schedule-item .schedule-content.data-v-1cf27b2a {
  flex: 1;
}
.business-calendar .today-schedule .schedule-item .schedule-content .schedule-title.data-v-1cf27b2a {
  font-size: 28rpx;
  color: #333333;
  line-height: 1.5;
}
.bottom-spacer.data-v-1cf27b2a {
  height: 40rpx;
}