.tournament-timing-settings { min-width: 0; }
.tournament-round-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.tournament-round-heading > :first-child { min-width: 0; }
[data-timer-seating-section][hidden] { display: none; }
.tournament-round-durations { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; max-width: 900px; margin-top: 14px; }
.tournament-round-durations[hidden], .tournament-round-durations > [hidden] { display: none; }
.tournament-round-durations .form-label { display: block; font-size: .85rem; }
.table-timer { margin: 14px 0 0; padding: 12px; border: 1px solid #c9d8d5; border-radius: 10px; background: #f4f8f6; }
.table-timer-display { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.table-timer-label { font-size: .85rem; color: #48615b; font-weight: 600; }
.table-timer-countdown { color: #123e32; font-size: 1.9rem; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.table-timer[data-timer-status="running"] { border-color: #559b78; }
.table-timer[data-timer-status="paused"] { background: #fff8e6; border-color: #cdb564; }
.table-timer[data-timer-status="expired"], .table-timer[data-timer-status="finished"] { background: #e6f6ee; border-color: #80b397; }
.table-timer-controls { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.table-timer-controls button { flex: 1 0 auto; min-height: 38px; display: inline-flex; align-items: center; justify-content: center; gap: 4px; }
.table-timer-message { margin: 8px 0 0; font-size: .83rem; color: #9b3c26; }
.table-timer-message:empty { display: none; }
.table-results-timing { font-size: .82rem; color: #596e64; margin: 0 0 8px; }
[data-timer-results][aria-disabled="true"] { opacity: .55; pointer-events: none; }
.round-map-lock { margin: 10px 0 0; padding: 10px 12px; border-radius: 8px; background: #fff4d8; color: #655018; font-size: .86rem; }
.round-map-lock[hidden] { display: none; }
.table-map { margin-top: 16px; font-size: .85rem; }
.table-map > p { margin-bottom: 6px; }
.table-map summary { cursor: pointer; font-weight: 600; }
.table-map form { margin-top: 10px; }
.table-map fieldset { min-width: 0; }
.table-map .form-text { font-size: .8rem; }
.kiosk-page .table-timer { margin: 8px 0 0; min-width: 0; padding: 8px; }
.kiosk-pairings-table.has-timers thead th:first-child, .kiosk-pairings-table.has-timers tbody th { width: 160px; }
.kiosk-page .table-timer-display { display: grid; gap: 3px; }
.kiosk-page .table-timer-countdown { font-size: 1.65rem; }
.kiosk-page .table-timer-label { font-size: .72rem; }
.kiosk-table-map { display: inline-block; font-size: .75rem; margin-top: 6px; }
@media (max-width: 767.98px) {
  .kiosk-pairings-table.has-timers tbody tr { grid-template-columns: 126px minmax(0, 1fr); }
  .kiosk-pairings-table.has-timers tbody th { width: auto; }
}
@media (max-width: 575.98px) {
  .tournament-round-heading { flex-direction: column; align-items: stretch; gap: 12px; }
  .tournament-round-heading > .d-flex { justify-content: flex-start !important; }
  .tournament-round-heading > .d-flex > a { flex: 1 1 auto; }
  .table-timer-controls button { min-height: 44px; }
  .tournament-round-durations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
