.team-tabs { display: flex; gap: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line); }
.team-tabs .btn { min-width: 64px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; }
.team-tabs .btn.active { color: var(--green); border-bottom-color: var(--green); font-weight: 700; }
.team-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-bottom: 20px; }
.team-filters .field { flex: 1 1 150px; min-width: 0; margin: 0; }
.team-filters .field:first-child { flex-basis: 240px; }
.team-filters input, .team-filters select { width: 100%; min-width: 0; }
.team-counts { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 12px 0 20px; color: var(--muted); font-size: 13px; }
.team-counts strong { color: var(--ink); }
.team-detail-meta { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 24px; margin-bottom: 24px; }
.team-detail h3 { font-size: 16px; margin: 24px 0 12px; }
.team-detail .name-link, #team-results .name-link { white-space: normal; text-align: left; height: auto; max-width: 100%; overflow-wrap: anywhere; }
.team-roster { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 24px; }
.team-roster > div { display: flex; gap: 12px; align-items: center; justify-content: space-between; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--line, #e0e7e9); }
.team-class-links { display: flex; flex-direction: column; align-items: start; gap: 8px; }
@media(max-width:700px) {
  .team-roster, .team-detail-meta { grid-template-columns: minmax(0,1fr); }
  .team-counts { flex-direction: column; gap: 8px; }
  .team-filters .field { flex-basis: calc(50% - 12px); }
  .team-filters .field:first-child { flex-basis: 100%; }
  .team-detail .data-table td { overflow-wrap: anywhere; }
}
