.overview-card {
  background: linear-gradient(135deg, #5b8def, #3d6bc4);
  border-radius: 3.2vw;
  padding: 5.3333vw;
  margin-bottom: 3.2vw;
  color: #fff;
}

.ov-week {
  font-size: 3.2vw;
  opacity: 0.85;
  margin-bottom: 1.0667vw;
}

.ov-title {
  font-size: 5.3333vw;
  font-weight: 700;
  margin-bottom: 4.2667vw;
}

.ov-grid {
  display: flex;
  justify-content: space-between;
}

.ov-item {
  flex: 1;
  text-align: center;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 2.1333vw;
  padding: 3.2vw 1.0667vw;
  margin: 0 0.8vw;
}

.ov-num {
  font-size: 4.8vw;
  font-weight: 700;
  margin-bottom: 0.8vw;
}

.ov-label {
  font-size: 2.9333vw;
  opacity: 0.9;
}

.emotion-list {
  margin-bottom: 2.6667vw;
}

.emotion-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.1333vw;
}

.emotion-label {
  width: 10.6667vw;
  font-size: 3.4667vw;
  color: #6b7280;
}

.emotion-bar-wrap {
  flex: 1;
  height: 3.7333vw;
  background: #f0f2f7;
  border-radius: 1.8667vw;
  margin: 0 2.1333vw;
  overflow: hidden;
}

.emotion-bar {
  height: 100%;
  border-radius: 1.8667vw;
}

.emotion-percent {
  width: 8vw;
  font-size: 3.2vw;
  color: #9ca3af;
  text-align: right;
}

.emotion-insight {
  font-size: 3.2vw;
  color: #6b7280;
  background: #f8f9ff;
  padding: 2.1333vw 2.6667vw;
  border-radius: 1.6vw;
  line-height: 1.6;
}

.trend-chart {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 32vw;
  padding-top: 2.6667vw;
}

.trend-bar-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.trend-bar {
  width: 4.8vw;
  background: linear-gradient(180deg, #5b8def, #3d6bc4);
  border-radius: 1.0667vw 1.0667vw 0 0;
  min-height: 2.6667vw;
}

.trend-num {
  font-size: 2.9333vw;
  color: #4a7fd4;
  font-weight: 600;
  margin-top: 1.0667vw;
}

.trend-day {
  font-size: 2.6667vw;
  color: #9ca3af;
  margin-top: 0.5333vw;
}

.type-dist-list {
  margin-bottom: 1.0667vw;
}

.type-dist-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.1333vw;
}

.type-dist-label {
  width: 21.3333vw;
  font-size: 3.2vw;
  color: #6b7280;
}

.type-dist-bar-wrap {
  flex: 1;
  height: 3.2vw;
  background: #f0f2f7;
  border-radius: 1.6vw;
  margin: 0 2.1333vw;
  overflow: hidden;
}

.type-dist-bar {
  height: 100%;
  border-radius: 1.6vw;
}

.type-dist-count {
  width: 5.3333vw;
  font-size: 3.2vw;
  color: #9ca3af;
  text-align: right;
}

.latest-list {
  margin-bottom: 1.0667vw;
}

.latest-item {
  padding: 2.6667vw 0;
  border-bottom: 0.1333vw solid #f0f2f7;
}

.latest-item:last-child {
  border-bottom: none;
}

.latest-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.3333vw;
}

.latest-type {
  font-size: 2.9333vw;
  padding: 0.5333vw 2.1333vw;
  border-radius: 1.3333vw;
}

.latest-type.type-class { background: #eef3fd; color: #4a7fd4; }
.latest-type.type-event { background: #eaf8e8; color: #3da134; }
.latest-type.type-activity { background: #fff4e5; color: #e8912a; }

.latest-time {
  font-size: 2.9333vw;
  color: #9ca3af;
}

.latest-content {
  font-size: 3.4667vw;
  color: #333;
  line-height: 1.6;
}

.overview-card { background:linear-gradient(125deg,#263e5c,#446e96); border-radius:3.7333vw; }
.ov-title { font-size:4.8vw; }
.ov-label { font-size:3.0667vw; }
.trend-day,.emotion-percent { color:#657487; font-size:3.0667vw; }
.emotion-label { width:16vw; flex-shrink:0; }
.trend-bar { min-height:0; }

.ov-item-pressed { opacity:0.7; }

/* 学科相关记录占比 */
.course-list {
  margin-bottom: 1.0667vw;
}

.course-row {
  display: flex;
  align-items: center;
  margin-bottom: 2.1333vw;
}

.course-name {
  width: 10.6667vw;
  font-size: 3.4667vw;
  color: #6b7280;
}

.course-bar-wrap {
  flex: 1;
  height: 3.2vw;
  background: #f0f2f7;
  border-radius: 1.6vw;
  margin: 0 2.1333vw;
  overflow: hidden;
}

.course-bar {
  height: 100%;
  background: linear-gradient(90deg, #5b8def, #3d6bc4);
  border-radius: 1.6vw;
}

.course-rate {
  width: 9.3333vw;
  font-size: 3.2vw;
  color: #4a7fd4;
  font-weight: 600;
  text-align: right;
}

/* 大家关注的小事 */
.hot-list {
  margin-bottom: 1.0667vw;
}

.hot-item {
  padding: 2.6667vw 0;
  border-bottom: 0.1333vw solid #f0f2f7;
}

.hot-item:last-child {
  border-bottom: none;
}

.hot-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.0667vw;
}

.hot-title {
  font-size: 3.7333vw;
  font-weight: 600;
  color: #1a1b1c;
}

.hot-count {
  font-size: 2.9333vw;
  color: #4a7fd4;
  background: #eef3fd;
  padding: 0.5333vw 2.1333vw;
  border-radius: 1.6vw;
}

.hot-desc {
  font-size: 3.4667vw;
  color: #6b7280;
  line-height: 1.6;
}
