/* 3.4: 老师积分 */
.points-hero-panel { border-top: 3px solid #c9962d; }

.points-rule-badge {
  align-self: flex-start;
  padding: 7px 10px;
  color: #7a5b0d;
  background: #fbf1d5;
  border: 1px solid #edd99c;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.team-points-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: 14px;
  margin-top: 14px;
  align-items: start;
}

.teacher-points-form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
  padding: 0 14px 14px;
  align-items: end;
}

.teacher-points-form .full-row { grid-column: 1 / -1; }
.teacher-points-form input[readonly] { color: #6d7b82; background: #f2f5f5; }

.points-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 0 14px 14px;
}

.points-breakdown-item {
  min-height: 72px;
  display: grid;
  align-content: space-between;
  gap: 6px;
  padding: 12px;
  background: #f7faf9;
  border: 1px solid var(--soft-line);
  border-radius: 7px;
}

.points-breakdown-item span { color: var(--muted); font-size: 11px; }
.points-breakdown-item strong { font-size: 21px; }
.points-breakdown-item.points-bonus strong,
.points-positive { color: #2e7d5b; }
.points-breakdown-item.points-deduction strong,
.points-negative { color: #b94a42; }
.points-breakdown-item.points-total { grid-column: 1 / -1; background: #eef7f3; border-color: #cce5dc; }
.points-breakdown-item.points-total strong { color: #1c6f5b; font-size: 28px; }

.team-personal-points { margin-top: 14px; }
.personal-points-total { display: flex; align-items: baseline; gap: 8px; margin-top: 8px; color: var(--muted); }
.personal-points-total strong { color: #1c6f5b; font-size: 30px; }
.personal-points-breakdown { display: flex; flex-wrap: wrap; gap: 7px; margin: 8px 0 12px; color: var(--muted); font-size: 11px; }
.personal-points-breakdown span { padding: 4px 7px; background: #f0f6f3; border-radius: 5px; }

@media (max-width: 980px) {
  .team-points-layout { grid-template-columns: 1fr; }
  .teacher-points-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .points-rule-badge { display: none; }
  .teacher-points-form { grid-template-columns: 1fr; }
  .teacher-points-form .full-row { grid-column: auto; }
  .points-breakdown { grid-template-columns: 1fr; }
  .points-breakdown-item.points-total { grid-column: auto; }
}
