.team-row {
  display: grid;
  grid-template-columns: 34px 38px 1fr 72px;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
}
.team-row:hover { background: var(--bg-secondary); }
.podium-card { cursor: pointer; }
@media (min-width: 768px) {
  .team-row { grid-template-columns: 48px 48px 1fr 96px; gap: 12px; padding: 12px 28px; }
}
.team-row__rank-col { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.team-row__rank {
  text-align: center;
  font-size: 15px; font-weight: 800;
  color: var(--text-primary);
  font-family: var(--font-num);
}
@media (min-width: 768px) { .team-row__rank { font-size: 16px; } }
.team-row__name {
  font-size: 13px; font-weight: 600;
  color: var(--text-primary);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
@media (min-width: 768px) { .team-row__name { font-size: 14px; } }
.team-row__points { text-align: right; }
.team-row__points-val {
  font-size: 14px; font-weight: 700;
  color: var(--text-primary);
  font-family: var(--font-num);
}
@media (min-width: 768px) { .team-row__points-val { font-size: 16px; } }
.team-row__points-unit { font-size: 9px; font-weight: 400; font-family: var(--font-body); color: var(--text-faint); }
.team-table-header {
  display: grid;
  grid-template-columns: 34px 38px 1fr 72px;
  gap: 8px;
  padding: 6px 14px;
  font-size: 10px; font-weight: 700;
  letter-spacing: 0.8px; text-transform: uppercase;
  color: var(--text-dim);
  border-bottom: 1px solid var(--border);
}
@media (min-width: 768px) {
  .team-table-header { grid-template-columns: 48px 48px 1fr 96px; gap: 12px; padding: 8px 28px; font-size: 11px; }
}
.team-table-header .th-rank { text-align: center; }
.team-table-header .th-points { text-align: right; }
.member-picker {
  padding: 16px 20px 12px;
  background: var(--bg-secondary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
@media (min-width: 768px) { .member-picker { padding: 18px 28px 14px; } }
.member-picker__label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 10px;
}
.member-picker__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.member-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 6px 10px;
  border: 2px solid var(--border);
  border-radius: 12px;
  background: var(--bg-primary);
  color: inherit;
  font-family: inherit;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
  min-width: 0;
}
.member-card:hover:not(.is-active) {
  border-color: rgba(0, 91, 160, 0.35);
  background: rgba(0, 91, 160, 0.03);
}
.member-card.is-active {
  border-color: var(--jopt-blue);
  background: rgba(0, 91, 160, 0.08);
  box-shadow: 0 0 0 1px rgba(0, 91, 160, 0.12);
}
.member-card__name {
  font-size: 11px;
  font-weight: 600;
  color: var(--text-primary);
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  line-height: 1.2;
}
.member-card.is-active .member-card__name { color: var(--jopt-blue); }
.avatar--member {
  width: 44px;
  height: 44px;
  font-size: 14px;
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .avatar--member { width: 48px; height: 48px; font-size: 15px; }
  .member-card__name { font-size: 12px; }
}
.kpi-grid--2col { grid-template-columns: 1fr 1fr; }
