.tournament-overview { color: #243247; }
.overview-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.overview-heading h1 { font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.2; margin: 0 0 .5rem; }
.overview-heading p { margin: 0; color: #526174; }
.overview-heading .overview-event-name { color: #284f7e; font-weight: 700; margin-bottom: .4rem; }
.overview-actions, .overview-search-controls { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; }
.overview-actions { justify-content: flex-end; }
.overview-button { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 2.6rem; padding: .55rem .8rem; border: 1px solid #b8c6d7; border-radius: .55rem; background: #fff; color: #23486f; font: inherit; font-size: .9rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
.overview-button:hover { background: #eaf1f9; color: #14395f; }
.overview-button:focus-visible, .overview-search input:focus-visible, .overview-table-wrap:focus-visible { outline: 3px solid #397fc1; outline-offset: 3px; }
.overview-search { margin-bottom: 1rem; }
.overview-search label { display: block; font-weight: 600; margin-bottom: .45rem; }
.overview-search input[type="search"] { flex: 1 1 18rem; min-width: 0; max-width: 36rem; min-height: 2.6rem; border: 1px solid #aabbd0; border-radius: .55rem; padding: .5rem .75rem; color: inherit; background: #fff; font: inherit; }
.overview-context { display: flex; flex-wrap: wrap; gap: .6rem 1.5rem; color: #526174; font-size: .9rem; margin: 0 0 .75rem; }
.overview-table-wrap { width: 100%; overflow-x: auto; border: 1px solid #d6e0ec; border-radius: .7rem; background: #fff; }
.overview-table { width: 100%; min-width: 42rem; border-collapse: collapse; margin: 0; table-layout: fixed; }
.overview-table th, .overview-table td { padding: .8rem .7rem; text-align: left; overflow-wrap: anywhere; border-bottom: 1px solid #e3eaf2; vertical-align: middle; }
.overview-table thead th { background: #eaf1f9; color: #23486f; font-size: .9rem; font-weight: 700; }
.overview-table th:nth-child(-n+2), .overview-table td:nth-child(-n+2) { width: 4.2rem; text-align: center; }
.overview-table tbody th a { color: #1f5891; font-weight: 700; }
.overview-table-number { font-weight: 700; }
.overview-table tbody tr.overview-round-start:not(:first-child) > * { border-top: 2px solid #b7c9dd; }
.overview-table tbody tr:last-child > * { border-bottom: 0; }
.overview-table td.is-player-match { color: #11385f; background: #dceefe; font-weight: 700; }
.overview-empty { padding: 1.5rem; border: 1px solid #d6e0ec; border-radius: .7rem; background: #f5f8fc; text-align: center; }
.overview-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.tournament-overview [hidden] { display: none !important; }
.tournament-overview.is-kiosk .overview-table { font-size: clamp(1rem, 1.8vw, 1.45rem); }
.tournament-overview.is-kiosk .overview-table th, .tournament-overview.is-kiosk .overview-table td { padding-top: 1rem; padding-bottom: 1rem; }
@media (max-width: 767px) {
  .overview-heading { flex-direction: column; }
  .overview-actions { justify-content: flex-start; }
  .overview-table { min-width: 37rem; }
  .overview-table th, .overview-table td { padding: .7rem .5rem; }
  .overview-table th:nth-child(-n+2), .overview-table td:nth-child(-n+2) { width: 3.6rem; }
}
