.team-links button.button { font: inherit; cursor: pointer; }
.team-inline-panel {
  margin-top: 1.25rem;
  border: 1px solid rgba(127,127,127,.26);
  border-radius: 22px;
  padding: 1.15rem;
  background: rgba(255,255,255,.78);
  color: #111;
  box-shadow: 0 12px 32px rgba(0,0,0,.06);
}
.section-dark .team-inline-panel { background: #151515; color: #f5f5f5; border-color: #333; box-shadow: none; }
.team-panel-head { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; margin-bottom:.85rem; }
.team-panel-head h3 { margin:.1rem 0 0; font-size:clamp(1.25rem,2.8vw,1.8rem); }
.team-data-source { white-space:nowrap; padding:.35rem .6rem; border-radius:999px; font-size:.78rem; font-weight:800; background:#e8f7ee; color:#146b3a; }
.section-dark .team-data-source { background:#163c28; color:#bff2d0; }
.team-panel-venue { margin:.2rem 0 1rem; }
.team-roster-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem .8rem; }
.team-roster-row { display:grid; grid-template-columns:2rem minmax(0,1fr) auto; align-items:center; gap:.55rem; padding:.7rem .75rem; border-radius:14px; background:rgba(0,0,0,.045); }
.section-dark .team-roster-row { background:#202020; }
.team-roster-index { font-weight:900; color:#888; text-align:right; }
.team-roster-pass { color:#777; font-size:.9rem; white-space:nowrap; }
.section-dark .team-roster-pass { color:#aaa; }
.team-table-wrap { overflow-x:auto; }
.team-ranking-table { width:100%; border-collapse:collapse; min-width:760px; }
.team-ranking-table th,.team-ranking-table td { text-align:left; padding:.72rem .8rem; border-bottom:1px solid rgba(127,127,127,.22); }
.team-ranking-table th:first-child,.team-ranking-table td:first-child { width:4.5rem; text-align:center; font-weight:900; }
.team-ranking-table th:nth-child(2),.team-ranking-table td:nth-child(2) { min-width:14rem; }
.team-ranking-table th:not(:nth-child(2)),.team-ranking-table td.num { text-align:center; white-space:nowrap; }
.team-ranking-table td.points { font-weight:900; }
.team-ranking-table tr.is-lsd { font-weight:900; background:rgba(0,0,0,.075); }
.section-dark .team-ranking-table tr.is-lsd { background:#2a2a2a; }
.team-panel-note { margin:.9rem 0 0; font-size:.88rem; color:#666; }
.section-dark .team-panel-note { color:#aaa; }
.team-panel-loading,.team-panel-error { padding:.75rem 0; font-weight:700; }
.team-panel-error { color:#9d1717; }
@media (max-width: 720px) {
  .team-roster-grid { grid-template-columns:1fr; }
  .team-panel-head { flex-direction:column; }
  .team-data-source { white-space:normal; }
}

/* V16: Mobile-Tabellenfix
   Wichtig bei Grid/Flex: breite Tabellen duerfen den Elterncontainer nicht aufziehen. */
.team-content,
.team-inline-panel,
.team-table-wrap {
  min-width: 0;
  max-width: 100%;
}
.team-inline-panel {
  width: 100%;
  overflow: hidden;
}
.team-table-wrap {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}
.team-ranking-table {
  width: 100%;
  min-width: 720px;
}
.team-ranking-table th,
.team-ranking-table td {
  white-space: nowrap;
}
.team-ranking-table th:nth-child(2),
.team-ranking-table td:nth-child(2) {
  white-space: normal;
}

@media (max-width: 720px) {
  .team-block,
  .team-content,
  .team-inline-panel {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  .team-inline-panel {
    padding: .9rem;
    border-radius: 18px;
  }
  .team-table-wrap {
    margin-inline: 0;
    padding-bottom: .25rem;
  }
  .team-ranking-table {
    min-width: 690px;
    font-size: .88rem;
  }
  .team-ranking-table th,
  .team-ranking-table td {
    padding: .62rem .6rem;
  }
  .team-ranking-table th:first-child,
  .team-ranking-table td:first-child {
    width: 3.4rem;
  }
  .team-ranking-table th:nth-child(2),
  .team-ranking-table td:nth-child(2) {
    min-width: 11.5rem;
  }
  .team-panel-note {
    overflow-wrap: anywhere;
  }
}
