/* Compact competition tables. Semantic classes keep headers and values aligned. */
.compact-position,
.compact-group,
.compact-stats-hint { display: none; }
.team-cell-main { min-width: 0; }
.scorer-name { display: block; overflow-wrap: anywhere; }
.scorer-team { margin-top: 3px; }
.scorer-team .team-name { color: var(--muted); font-size: 12px; font-weight: 500; }
.team-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 18px 0 26px; }
.team-stats > div { min-width: 0; padding: 12px; border: 1px solid var(--line); background: var(--white); }
.team-stats dt { color: var(--muted); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.team-stats dd { margin: 5px 0 0; color: var(--ink); font-size: 22px; font-weight: 800; font-variant-numeric: tabular-nums; }

@media screen and (max-width: 600px) {
  .standings,
  .scorers-table { width: 100%; min-width: 0; table-layout: fixed; }

  .standings .stat-position,
  .standings .stat-group,
  .standings .stat-won,
  .standings .stat-drawn,
  .standings .stat-lost,
  .standings .stat-goals { display: none; }

  .standings th,
  .standings td,
  .standings tbody th { padding: 9px 5px; }
  .standings thead th { font-size: 10px; }
  .standings .stat-team { padding-left: 12px; text-align: left; }
  .standings .stat-played { width: 30px; }
  .standings .stat-difference { width: 39px; }
  .standings .stat-points { width: 43px; padding-right: 10px; }
  .standings td { font-size: 13px; }
  .standings td.stat-points { font-size: 16px; }
  .standings .team-name { max-width: 100%; font-size: 13px; line-height: 1.35; }
  .standings tbody th .table-note { font-size: 10px; line-height: 1.35; }
  .standings tr.qualified .stat-team { border-left: 3px solid #73854e; padding-left: 9px; }
  .team-cell-main { display: flex; align-items: center; gap: 6px; }
  .compact-position { display: inline-block; flex: 0 0 16px; color: var(--muted); font-size: 11px; font-weight: 500; }
  .compact-group { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 400; }
  .compact-stats-hint { display: block; margin: 0; padding: 11px 12px; color: var(--muted); font-size: 10px; line-height: 1.5; }

  .scorers-table th,
  .scorers-table td,
  .scorers-table tbody th { padding: 12px 7px; }
  .scorers-table .scorer-position { width: 32px; padding-left: 10px; padding-right: 3px; }
  .scorers-table .scorer-goals { width: 57px; padding-left: 3px; padding-right: 10px; text-align: right; }
  .scorers-table thead th { font-size: 9px; letter-spacing: .35px; }
  .scorers-table .scorer-player { text-align: left; overflow-wrap: anywhere; }
  .scorer-name { font-size: 14px; line-height: 1.4; }
  .scorer-team .team-name { font-size: 11px; line-height: 1.4; }
  .scorers-table td.scorer-goals { font-size: 25px; }

  .team-stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .team-stats > div { padding: 11px; }
}
