.tournament-page .btn, .tournament-page .form-control, .tournament-page .form-select { min-height: 44px; }
.tournament-page input[type="checkbox"], .tournament-page input[type="radio"] { width: 22px; height: 22px; flex-shrink: 0; accent-color: #116777; }
.tournament-page .btn { min-width: 44px; touch-action: manipulation; }
.tournament-page :focus-visible { outline: 3px solid #c89529; outline-offset: 3px; }
.tournament-event-nav { display: flex; gap: 6px; margin: 0 0 22px; padding: 6px; border: 1px solid #cbdad9; border-radius: 14px; background: #fff; }
.tournament-event-nav a { display: flex; justify-content: center; align-items: center; gap: 7px; min-height: 46px; flex: 1; padding: 9px 12px; border-radius: 9px; color: #255e67; text-decoration: none; font-weight: 750; }
.tournament-event-nav a { min-width: 0; text-align: center; overflow-wrap: anywhere; }
.tournament-event-context { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; margin: 0 0 12px; }
.tournament-event-context a { font-size: 1.1rem; font-weight: 750; color: #245963; text-decoration: none; overflow-wrap: anywhere; }
.tournament-event-context time { color: #617879; font-size: .85rem; }
.tournament-round-nav { display: flex; gap: 8px; margin: -8px 0 20px; overflow-x: auto; padding: 4px 0 8px; }
.tournament-round-nav .btn { flex: 0 0 auto; width: auto; min-height: 46px; white-space: nowrap; }
.tournament-round-nav [aria-current] { background: #116777; color: #fff; border-color: #116777; }
.event-progress { border: 1px solid #bed3cf; border-radius: 18px; background: #fff; padding: 22px; margin-bottom: 16px; }
.event-progress-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.event-eyebrow { color: #587477; margin: 0 0 4px; font-size: .85rem; }
.event-progress h2 { margin: 0; font-size: 1.5rem; }
.event-progress-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.event-progress-stats > div { padding: 14px; border-radius: 12px; background: #f2f7f5; }
.event-progress-stats dt { font-size: .85rem; color: #526e71; font-weight: 600; }
.event-progress-stats dd { margin: 4px 0; font-size: 2rem; line-height: 1.2; font-weight: 750; color: #164e55; }
.event-progress-stats small { font-size: 1rem; font-weight: 500; }
.event-progress-stats span { display: block; font-size: .8rem; color: #536f70; }
.event-next-action { display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #dce7e4; padding-top: 18px; }
.event-next-action p { margin: 0; color: #45666a; }
.event-next-action .btn { min-height: 48px; }
.event-next-action > a, .event-next-action > form { flex-shrink: 0; }
.event-quick-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 20px; }
.event-action { display: flex; align-items: center; gap: 10px; min-height: 60px; padding: 12px 16px; border-radius: 12px; border: 1px solid #cbdad7; background: #fff; color: #225863; text-decoration: none; font-weight: 700; }
.event-action:hover { background: #e7f2ee; }
.event-action i { font-size: 1.2rem; flex-shrink: 0; }
.event-generate-next { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 20px; color: #587477; }
.event-link-panel { border: 1px solid #bfd7d0; border-radius: 12px; padding: 14px; margin-bottom: 16px; background: #fff; }
.event-link-panel label { display: block; margin-bottom: 8px; }
.event-link-panel p { margin: 8px 0 0; font-size: .85rem; }
.event-copy-status:empty { display: none; }
.event-copy-status { color: #22614b; }
.round-score-progress { font-size: .85rem; color: #557371; margin: 6px 0 0; }
.rounds-section .round-card { flex-direction: column; align-items: stretch; }
.rounds-section .round-card-content { min-width: 0; width: 100%; }
.rounds-section .round-card > a { display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.round-map-editor summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-size: .85rem; color: #42686c; }
.public-event-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.public-event-actions > :first-child { grid-column: 1 / -1; }
.public-tournament-card .card-title a { color: inherit; text-decoration: none; }
.directory-introduction { margin-top: 28px; }
.directory-introduction .tournament-landing-hero { margin-bottom: 0; }
.public-directory-section .directory-section-heading { margin-bottom: 16px; }
#event-rounds { scroll-margin-top: 90px; }
.tournament-event-nav a[aria-current], .tournament-event-nav a:hover { background: #e5f0ef; color: #104953; }
.tournament-list-tools { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 18px 0; }
.tournament-search-label { flex: 1 1 240px; display: flex; align-items: center; gap: 10px; position: relative; margin: 0; }
.tournament-search-label > i { position: absolute; left: 14px; color: #57767b; }
.tournament-search-label input { padding-left: 40px; }
.tournament-filter-toggle { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.tournament-list-count { font-variant-numeric: tabular-nums; color: #587477; }
[data-workspace-item][hidden], [data-workspace-empty][hidden] { display: none !important; }
.tournament-dashboard-card { border: 1px solid #d4e0df; border-radius: 16px; overflow: hidden; background: #fff; height: 100%; display: flex; flex-direction: column; }
.tournament-dashboard-card > .card-body { flex: 1; }
.tournament-dashboard-card h2 { margin: 0; font-size: 1.25rem; line-height: 1.35; }
.tournament-dashboard-card h2 a { color: #143d44; text-decoration: none; }
.tournament-dashboard-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 20px 20px; }
.tournament-dashboard-actions .primary { grid-column: 1 / -1; }
.tournament-disclosure { border: 1px solid #d2dfdd; border-radius: 14px; background: #fff; margin-bottom: 20px; }
.tournament-disclosure > summary { min-height: 52px; padding: 14px 18px; font-weight: 750; cursor: pointer; color: #245963; }
.tournament-disclosure[open] > summary { border-bottom: 1px solid #e3eae9; }
.tournament-disclosure > form { margin-bottom: 0 !important; }
.tournament-disclosure > form.card { box-shadow: none !important; }
.tournament-continue { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 18px 20px; background: #e5f1ef; border: 1px solid #bdd4cf; border-radius: 14px; margin-bottom: 20px; }
.tournament-continue p { margin: 0; }
.tournament-continue strong { display: block; font-size: 1.1rem; }
.tournament-account-avatar { display: block; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.tournament-password-field { display: flex; gap: 8px; }
.tournament-password-field .form-control { min-width: 0; }
.tournament-password-field button { flex-shrink: 0; }
.result-summary-player[href] { color: inherit; text-decoration: none; }
.result-player-card[id] { scroll-margin-top: 95px; }
.tournament-page .result-scorecard-form .form-select { min-height: 44px; }
.tournament-page .result-scorecard .result-player-identity h2 { white-space: normal; overflow: visible; text-overflow: clip; }
.tournament-page .scorecard-award-option, .tournament-page .scorecard-detail-claim { min-height: 44px; align-items: center; }
.tournament-page .scorecard-optional-details summary { min-height: 44px; display: flex; align-items: center; }
.tournament-page .result-save-actions { flex-wrap: wrap; }
.tournament-page .result-save-bar { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
.tournament-map-form fieldset { display: grid !important; grid-template-columns: auto minmax(0, 1fr); gap: 8px; }
.tournament-map-form input { grid-column: 1 / -1; width: 100%; min-width: 0; height: 44px; }
.tournament-map-form [data-map-generator-link] { grid-column: 2; }
.tournament-page .round-board-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tournament-page .round-board-card > summary::after { content: '+'; font-size: 1.2rem; }
.tournament-page .round-board-card[open] > summary::after { content: '−'; }
@media (max-width: 767.98px) {
  .event-progress { padding: 16px; }
  .event-progress-stats { gap: 7px; }
  .event-progress-stats > div { padding: 10px 8px; }
  .event-progress-stats dd { font-size: 1.6rem; }
  .event-progress-stats dt, .event-progress-stats span { font-size: .74rem; overflow-wrap: anywhere; }
  .event-next-action, .event-generate-next { flex-direction: column; align-items: stretch; }
  .event-quick-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-action { padding: 12px; font-size: .85rem; }
  .tournament-event-nav a { font-size: .74rem; }
  .tournament-page .form-control, .tournament-page .form-select { font-size: 16px; }
  .tournament-event-nav { gap: 3px; padding: 4px; }
  .tournament-event-nav a { flex-direction: column; gap: 3px; font-size: .72rem; padding: 8px 1px; overflow-wrap: normal; }
  .tournament-continue .btn { width: 100%; }
  .tournament-page .result-save-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .tournament-page .result-save-actions > a { display: none; }
  .tournament-page .result-save-status { font-size: .8rem; }
  .tournament-page .result-save-bar { gap: 8px; }
}
