/* Shared mobile usability, including the original homepage. */
.inner-header:not(.admin-session-header) .inner-nav {
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 100%;
  overflow: visible;
}
/* Keep registration details readable as the roster gains its USBC column. */
@media screen and (min-width: 781px) {
  .registration-list-card .table-wrap { overflow-x: auto; max-width: 100%; }
  .registration-list-card table { min-width: 1100px; table-layout: auto; }
  .registration-list-card table :is(th, td) {
    width: auto;
    font-size: .875rem;
    line-height: 1.35;
    padding: .65rem .5rem;
    overflow-wrap: normal;
  }
  .registration-list-card td:nth-child(2) { white-space: nowrap; }
  .registration-list-card .event-action-btn { font-size: .8rem; min-height: 36px; }
}
@media screen and (max-width: 1200px) {
  .registration-admin-grid { grid-template-columns: minmax(0, 1fr); }
  body[data-page="register"] .admin-session-header { position: relative; }
}
@media screen and (max-width: 780px) {
  html, body { min-width: 0; max-width: 100%; }
  .topbar { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .4rem .75rem; padding: .6rem .85rem; }
  .topbar .brand { margin: 0; }
  .topbar .account-actions { grid-column: 2; grid-row: 1; justify-content: flex-end; margin: 0; padding: 0; }
  .topbar .main-nav { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-start; gap: .15rem .7rem; overflow: visible; padding: 0; }
  .main-nav a { min-height: 44px; white-space: normal; }
  .inner-header:not(.admin-session-header) { position: relative; }
  .inner-header:not(.admin-session-header) .inner-nav a,
  .inner-nav a, .admin-tool-nav .admin-header-link, .bowler-session-nav .admin-header-link { min-height: 44px; }
  .topbar .account-actions .button, .hero-copy .hero-register-button { min-height: 44px; }
  .admin-session-header .admin-menu-toggle,
  .admin-session-header .admin-tool-nav .admin-header-link,
  .match-play-round-tabs button { min-height: 44px; }
  .bracket-top-actions, .bracket-template-actions { grid-template-columns: minmax(0, 1fr); }
  .bracket-size-picker label { min-height: 44px; padding-inline: .3rem; }
  .event-action-btn { min-height: 44px !important; }
  body.score-desk-page :is(input, select, textarea) { font-size: 16px !important; }
  body.score-desk-page :is(.desk-primary, .desk-secondary) { min-height: 44px !important; }
  .inner-logo { font-size: 1rem; }
  .inner-logo span { min-width: 0; overflow-wrap: anywhere; }
  body input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]),
  .inner-section select, .inner-section textarea,
  .form-card select, .form-card textarea { font-size: 16px; min-height: 44px; }
  body[data-page="results"] #eventSelect,
  body[data-page="bracketResults"] #eventSelect { font-size: 16px; min-height: 44px; }
  button, .btn, .button, select { min-height: 44px; touch-action: manipulation; }
  .table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
  .registration-list-card table.mobile-card-table > tbody > tr > td { font-size: .95rem; }
  .registration-list-card table.mobile-card-table > tbody > tr > td::before { font-size: .72rem; }
  .rules-contents a { display: inline-flex; align-items: center; min-height: 44px; padding-block: .35rem; }
  .info-footer a, .footer-actions a { display: inline-flex; align-items: center; min-height: 44px; }
  .tournament-info-page, .info-article { overflow-wrap: break-word; }
  .info-article p, .info-article li { line-height: 1.65; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
