:root {
  --green: #226b3d;
  --green-dark: #123f27;
  --header-green: #0A592F;
  --gold: #d8af4f;
  --ink: #172018;
  --muted: #66736a;
  --line: #d9e1db;
  --paper: #ffffff;
  --soft: #f3f7f1;
  --error: #b42318;
  --success: #247b3f;
  --conference-player-width: 205px;
}

/* V9: autenticacao e administracao, compactas e coerentes com a area operacional. */
.auth-card h1,
.master-heading h1 { margin: 0 0 5px; font-size: 1.15rem; }
.auth-card > p,
.master-heading p { margin: 0 0 12px; color: var(--muted); font-size: .78rem; }
.password-field { display: flex; align-items: stretch; }
.password-field input { flex: 1; min-width: 0; border-radius: 4px 0 0 4px; }
.password-toggle { width: 34px; min-width: 34px; padding: 0; border-radius: 0 4px 4px 0; font-size: .85rem; }
.auth-links { display: flex; flex-wrap: wrap; gap: 5px 14px; font-size: .72rem; }
.check-line { display: flex; flex-direction: row; align-items: center; gap: 7px; }
.check-line input { width: auto; }
.local-mail-preview { display: grid; gap: 5px; margin-top: 12px; font-size: .75rem; }
.master-heading { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 10px; }
.master-stats { display: flex; align-items: stretch; gap: 8px; margin-bottom: 10px; }
.master-stats div { min-width: 105px; padding: 8px 12px; border: 1px solid var(--line); background: #fff; }
.master-stats strong,.master-stats span { display: block; }
.master-stats strong { font-size: 1.05rem; }
.master-stats span { color: var(--muted); font-size: .66rem; }
.master-table { font-size: .72rem; }
.master-users h2, .master-create-user h2, .master-recent-emails h2 { font-size: .95rem; }
.master-create-user-form { display:flex; align-items:end; gap:8px; flex-wrap:wrap; }
.master-create-user-form label { flex:1 1 180px; min-width:0; }
.master-create-user-form label span { display:block; margin-bottom:3px; font-size:.75rem; }
.master-create-user-form input { box-sizing:border-box; width:100%; min-height:32px; }
.master-create-user-form button { min-height:32px; }
.master-create-user .master-new-credentials { margin:0 0 9px; font-size:.82rem; }
.master-user-actions { white-space:nowrap; }
.master-user-actions .inline-admin-action { display:inline-block; margin:0 4px 0 0; }
.master-support-banner { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin:0 0 8px; padding:7px 10px; border:1px solid #d6c983; background:#fff8dc; color:#423d27; font-size:.82rem; }
.master-support-banner form { margin:0; }
.master-support-banner button { min-height:28px; padding:3px 9px; border:1px solid var(--line); background:#fff; color:var(--header-green); font-size:.78rem; font-weight:400; }
.inline-admin-action { margin: 0; }
.inline-admin-action button { min-height: 25px; padding: 3px 7px; font-size: .65rem; }
.global-default-form .form-grid { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-start; gap: 9px; }
.global-default-form .form-grid > label { width: 190px; }
.global-default-form .form-grid > .check-line { width: 260px; min-height: 33px; }
.global-default-heading h1 { font-size:1rem; font-weight:650; }
.global-default-heading p { margin-bottom:0; font-size:.75rem; }
.global-default-form { padding:12px; }
.global-default-form .form-grid { gap:8px; }
.global-default-form label { gap:3px; font-size:.76rem; font-weight:400; }
.global-default-form :is(input:not([type="checkbox"]), select) { min-height:31px; padding:5px 8px; font-size:.82rem; font-weight:400; }
.global-default-form input[type="checkbox"] { width:16px; height:16px; min-height:16px; }
.global-default-form .form-actions { margin-top:12px; }
.global-default-form .form-actions :is(button, .button) { min-height:30px; padding:5px 10px; font-size:.76rem; font-weight:400; }
@media (max-width:760px){.master-heading,.master-stats{align-items:stretch;flex-direction:column}.master-stats{display:grid;grid-template-columns:1fr 1fr}.global-default-form .form-grid>label{width:100%}.auth-links{flex-direction:column}}

/* Conferencia: leitura compacta dos scores, sem antecipar resultados. */
.conference-heading,
.conference-toolbar,
.conference-filters,
.conference-counts {
  display: flex;
  align-items: center;
}

.conference-heading {
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}

.conference-heading h1,
.conference-heading p,
.conference-toolbar p {
  margin: 0;
}

.conference-heading h1 {
  font-size: 1.02rem;
}

.conference-heading-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.conference-heading-actions button {
  min-height: 27px;
  padding: 4px 8px;
  font-size: 0.68rem;
}
.conference-page .conference-heading-actions #download-conference-pdf,
.classification-page .classification-heading-actions #download-classification-pdf {
  min-height: 23px;
  padding: 2px 7px;
  border: 2px solid var(--header-green);
  border-radius: 6px;
  background: #fff;
  color: var(--header-green);
  font-size: .7rem;
}
.conference-page .conference-heading-actions #download-conference-pdf:active,
.classification-page .classification-heading-actions #download-classification-pdf:active { color: #A9ABAE; }

.conference-heading p,
.conference-updated,
.conference-counts {
  color: var(--muted);
  font-size: 0.7rem;
}

.conference-toolbar {
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  background: #fff;
}

.conference-counts {
  flex-wrap: wrap;
  gap: 5px 12px;
}

.conference-filters {
  gap: 6px;
}

.conference-filters label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.65rem;
  font-weight: 700;
}

.conference-filters input,
.conference-filters select {
  width: auto;
  min-height: 27px;
  padding: 3px 5px;
  border: 1px solid var(--line);
  border-radius: 3px;
  font: inherit;
  font-weight: 400;
}

.conference-filters input {
  width: 150px;
}

.conference-table-shell {
  max-width: 100%;
  overflow: auto;
  border: 1px solid #aeb8b0;
  background: #fff;
}

.conference-table {
  width: 100%;
  min-width: 930px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 0.68rem;
}

.conference-table th,
.conference-table td {
  height: 27px;
  padding: 2px 4px;
  border-right: 1px solid #cbd2cc;
  border-bottom: 1px solid #cbd2cc;
  text-align: center;
  white-space: nowrap;
}

.conference-table tbody td {
  font-size: 0.82rem;
  font-weight: 600;
}

.conference-table thead th {
  position: sticky;
  z-index: 3;
  top: 0;
  border-color: var(--header-green);
  color: #fff;
  background: var(--header-green);
  font-size: 0.78rem;
  font-weight: 700;
}

.conference-table tbody tr:nth-child(odd) > * {
  background: #fff;
}

.conference-table tbody tr:nth-child(even) > * {
  background: #d2e28b;
}

.conference-table tbody tr.filtered-stripe-base > * {
  background: #fff;
}

.conference-table tbody tr.filtered-stripe-alt > * {
  background: #d2e28b;
}

.conference-table .conference-player-column {
  position: sticky;
  z-index: 2;
  left: 0;
  width: var(--conference-player-width);
  max-width: var(--conference-player-width);
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
}

.conference-table thead .conference-player-column {
  z-index: 4;
}

.conference-player-column span,
.conference-player-column small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.conference-player-column span {
  font-size: 0.76rem;
  font-weight: 700;
}

.conference-player-column small {
  color: #58615a;
  font-size: 0.58rem;
  font-weight: 400;
}

.conference-table .hole-group-end {
  border-right: 2px solid #677169;
}

.conference-table tbody tr > .score-missing {
  background: #ffc000;
}

.conference-table tbody tr > .score-suspect,
.conference-table tbody tr > .score-x {
  background: #b5e6a2;
  color: inherit;
  font-weight: 400;
}

.conference-table .conference-status-column {
  width: 94px;
  border-right: 0;
  font-size: 0.656rem;
}

.conference-disqualified {
  color: var(--error);
  font-weight: 700;
}

.conference-regular {
  color: var(--muted);
}

.conference-no-results {
  margin: 0;
  padding: 18px;
  color: var(--muted);
  font-size: 0.75rem;
  text-align: center;
}

.conference-mobile-hint {
  display: none;
}

.card.online-conference-admin {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 3px;
  padding: 2px 6px;
  border-radius: 4px;
  box-shadow: none;
}

.online-conference-form,
.online-conference-link,
.online-conference-title {
  display: flex;
  align-items: center;
  gap: 7px;
}

.online-conference-form {
  flex: 0 1 auto;
}

.online-conference-title {
  align-self: center;
  align-items: center;
  white-space: nowrap;
  font-size: 0.7rem;
}

.online-conference-link input {
  min-height: 23px;
  height: 23px;
  padding: 2px 5px;
  font-size: 0.66rem;
}

.online-conference-link button,
.online-conference-link .button {
  min-height: 23px;
  padding: 2px 6px;
  font-size: 0.64rem;
  white-space: nowrap;
}

.online-conference-link {
  min-width: 0;
  flex: 1 1 auto;
}

.online-conference-link span {
  color: var(--muted);
  font-size: 0.65rem;
  white-space: nowrap;
}

.online-conference-link input {
  min-width: 0;
  flex: 1 1 auto;
}

.public-conference-page {
  min-height: 100vh;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.public-conference-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px clamp(12px, 3vw, 30px);
  color: #fff;
  background: var(--header-green);
}

.public-conference-header div {
  display: grid;
  gap: 1px;
}

.public-conference-header strong { font-size: 0.95rem; }
.public-conference-header small { font-size: 0.62rem; opacity: 0.82; }
.public-conference-header .public-conference-credit {
  margin-left: auto;
  text-align: right;
  white-space: nowrap;
}
.public-conference-header a { font-size: 0.72rem; }

.public-conference-shell {
  width: min(1240px, calc(100% - 20px));
  margin: 12px auto 30px;
}

.public-conference-back { margin-bottom: 10px; }
.public-conference-back a { color: var(--header-green); font-size: .94rem; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }

.public-conference-heading {
  margin-bottom: 7px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (max-width: 1024px) {
  .conference-toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .conference-counts,
  .conference-filters {
    min-width: 0;
    width: 100%;
  }
  .conference-filters {
    flex-wrap: wrap;
  }
  .conference-filters label {
    flex: 0 1 auto;
    min-width: 0;
  }
  .conference-filters input,
  .conference-filters select {
    max-width: 100%;
  }
  .conference-page .app-header .brand-main { font-size: 1.15rem; }
  .conference-page .app-header .brand-version { font-size: .82rem; }
  .conference-page .app-header .brand-credit { font-size: .78rem; }
  .conference-heading h1 { font-size: 1.16rem; }
  .conference-heading p,
  .conference-updated { font-size: .8rem; }
  .conference-counts { font-size: 1rem; }
  .conference-filters label { font-size: .9rem; }
  .conference-filters input,
  .conference-filters select { font-size: .92rem; }
  .conference-table thead th { font-size: .88rem; }
  .conference-table tbody td { font-size: .96rem; }
  .conference-player-column span { font-size: .9rem; }
  .conference-player-column small { font-size: .68rem; }
  .conference-table .conference-status-column { font-size: .72rem; }
  .public-conference-header strong { font-size: 1.08rem; }
  .public-conference-header small { font-size: .72rem; }
  .public-conference-header a { font-size: .8rem; }
}

@media (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  .conference-counts { flex-wrap: nowrap; }
}

@media (max-width: 760px) {
  .conference-heading,
  .conference-toolbar {
    align-items: flex-start;
  }

  .card.online-conference-admin {
    align-items: stretch;
    flex-direction: column;
  }

  .online-conference-form,
  .online-conference-link {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .conference-heading-actions {
    align-items: flex-end;
    flex-direction: column;
  }

  .conference-toolbar {
    flex-direction: column;
  }

  .conference-filters {
    flex-wrap: wrap;
  }

  .conference-filters label {
    align-items: flex-start;
    flex-direction: column;
  }

  .conference-mobile-hint {
    display: block;
    margin: 4px 0;
    color: var(--muted);
    font-size: 1rem;
  }

  .conference-page .app-header .brand-main { font-size: 1.22rem; }
  .conference-page .app-header .brand-version { font-size: .9rem; }
  .conference-page .app-header .brand-credit { font-size: .86rem; }
  .conference-heading h1 { font-size: 1.3rem; }
  .conference-heading p,
  .conference-updated { font-size: .94rem; }
  .conference-counts { font-size: 1.18rem; }
  .conference-filters label { font-size: 1.08rem; }
  .conference-filters input,
  .conference-filters select { font-size: 1.08rem; }
  .conference-table { font-size: .92rem; }
  .conference-table thead th { font-size: 1rem; }
  .conference-table tbody td { font-size: 1.12rem; }
  .conference-player-column span { font-size: 1.04rem; }
  .conference-player-column small { font-size: .82rem; }
  .conference-table .conference-status-column { font-size: .84rem; }
  .public-conference-header strong { font-size: 1.22rem; }
  .public-conference-header small { font-size: .86rem; }
  .public-conference-header a { font-size: .92rem; }

  .conference-table .conference-player-column {
    width: min(var(--conference-player-width), 210px);
    max-width: min(var(--conference-player-width), 210px);
  }
}

/* Scores: modulo isolado para digitacao de cartoes. */
.scores-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}

.scores-page-heading h1,
.scores-page-heading p {
  margin: 0;
}

.scores-page-heading h1 {
  font-size: 1.15rem;
}

.scores-page-heading p,
.scores-progress {
  color: var(--muted);
  font-size: 0.76rem;
}

.scores-locked-state {
  color: var(--error);
  font-size: 0.74rem;
  font-weight: 700;
}

.score-close-dialog h2 {
  margin: 0 0 9px;
  color: var(--error);
  font-size: 1rem;
}

.score-close-dialog p {
  color: var(--error);
}

.score-close-dialog > div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.scores-layout {
  display: grid;
  grid-template-columns: minmax(230px, 27%) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.scores-player-panel,
.scorecard-workspace {
  padding: 12px;
}

.scores-player-search {
  display: grid;
  gap: 4px;
  margin-bottom: 8px;
  font-size: 0.72rem;
  font-weight: 700;
}

.scores-player-search > span { color: var(--header-green); }

.scores-player-search input {
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 4px;
  font: inherit;
  font-weight: 400;
}

.scores-player-list {
  max-height: calc(100vh - 190px);
  overflow-y: auto;
  border: 1px solid var(--line);
}

.score-player-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 38px;
  gap: 8px;
  padding: 5px 7px;
  border: 0;
  border-bottom: 1px solid #c5c5c5;
  border-radius: 0;
  color: var(--ink);
  background: #fff;
  text-align: left;
}

.score-player-item:nth-child(even) {
  background: #d9d9d9;
}

.score-player-item:hover,
.score-player-item:focus-visible,
.score-player-item.active {
  color: #fff;
  background: var(--green);
}

.score-player-item span {
  display: grid;
  min-width: 0;
}

.score-player-item strong {
  overflow: hidden;
  font-size: 0.74rem;
  font-weight: 400;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score-player-item small,
.score-player-status {
  font-size: 0.62rem;
  font-style: normal;
  font-weight: 400;
}

.score-player-status {
  flex: 0 0 auto;
  padding: 2px 4px;
  border-radius: 3px;
  color: #555;
  background: rgba(255, 255, 255, 0.7);
}

.status-complete {
  color: #1769aa;
}

.status-in_progress,
.status-not_started,
.status-disqualified {
  color: var(--error);
}

.scorecard-workspace {
  min-height: 280px;
}

.scorecard-empty {
  display: grid;
  min-height: 250px;
  place-items: center;
  color: var(--muted);
  font-size: 0.82rem;
}

.scorecard-player-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--line);
}

.scorecard-player-heading h2,
.scorecard-player-heading p {
  margin: 0;
}

.scorecard-player-heading h2 {
  font-size: 1rem;
}

.scorecard-player-heading p,
#scorecard-player-code,
.scorecard-save-state {
  color: var(--muted);
  font-size: 0.7rem;
}

.score-hole-blocks {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.score-hole-block {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  min-width: 0;
  margin: 0;
  padding: 6px;
  border: 1px solid var(--header-green);
  border-radius: 4px;
  background: var(--header-green);
}

.score-hole-block label {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 2px;
}

.score-hole-block label span {
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.hole-score-input {
  width: 100%;
  min-width: 0;
  height: 38px;
  padding: 2px;
  border: 1px solid #8f9b91;
  border-radius: 3px;
  color: var(--ink);
  background: #fff;
  font-size: 1.05rem;
  font-weight: 400;
  text-align: center;
}

.hole-score-input:focus {
  border-color: var(--green);
  outline: 2px solid rgba(34, 107, 61, 0.2);
}

.hole-score-input.invalid {
  border-color: var(--error);
  background: #fff1f0;
}

.scorecard-totals {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}

.scorecard-totals span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 92px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  background: #f5f7f5;
  font-size: 0.72rem;
}

.scorecard-totals strong {
  font-weight: 700;
}

.scorecard-totals .score-total-primary {
  font-size: 0.86rem;
  font-weight: 700;
}

.scorecard-totals .score-total-primary strong {
  font-size: 0.94rem;
}

.scorecard-totals .score-total-holes {
  min-width: 122px;
}

.scorecard-actions {
  display: flex;
  justify-content: flex-start;
  margin-top: 9px;
}

.scorecard-disqualified {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
  color: var(--error);
  font-size: 0.76rem;
  font-weight: 700;
}

.scorecard-disqualified input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: var(--error);
}

.scorecard-actions button {
  min-width: 118px;
}

.scorecard-save-state[data-state="dirty"] {
  color: var(--error);
  font-weight: 700;
}

.score-confirm-dialog {
  width: min(360px, calc(100vw - 32px));
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}

.score-confirm-dialog::backdrop {
  background: rgba(0, 0, 0, 0.38);
}

.score-confirm-dialog p {
  margin: 0 0 14px;
  color: var(--error);
  font-size: 0.86rem;
  font-weight: 700;
}

.score-confirm-dialog div {
  display: flex;
  gap: 8px;
}

.interrupted-game-dialog {
  width: min(820px, calc(100vw - 32px));
  padding: 14px 18px;
}

.interrupted-game-dialog h2 {
  margin: 0 0 9px;
  font-size: 1rem;
}

.interrupted-game-dialog #interrupted-game-analysis {
  display: block;
  font-size: 0.82rem;
  line-height: 1.45;
  white-space: normal;
}

.interrupted-game-dialog p {
  margin: 8px 0;
  font-size: 0.76rem;
}

.interrupted-game-dialog .interrupted-game-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 11px;
  flex-wrap: nowrap;
}

.interrupted-game-dialog .interrupted-game-actions button {
  min-height: 28px;
  padding: 5px 9px;
  font-size: 0.7rem;
  white-space: nowrap;
}

@media (max-width: 620px) {
  .interrupted-game-dialog .interrupted-game-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 900px) {
  .scores-layout {
    grid-template-columns: minmax(190px, 34%) minmax(0, 1fr);
  }

  .score-hole-blocks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .scores-page-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .scores-layout {
    grid-template-columns: 1fr;
  }

  .scores-player-list {
    max-height: 180px;
  }

  .score-hole-blocks {
    grid-template-columns: 1fr;
  }

  .hole-score-input {
    height: 34px;
  }
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, #edf5ed 0%, #ffffff 38%);
}

a {
  color: inherit;
}

.app-header {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px clamp(16px, 4vw, 44px);
  color: #fff;
  background: var(--header-green);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.14);
}

.brand {
  display: inline-grid;
  gap: 1px;
  text-decoration: none;
}

.app-header .brand-logo-organizer {
  display: block;
  width: 150px;
  height: auto;
}

@media (min-width: 701px) and (max-width: 1150px) {
  .app-header .brand-logo-organizer { width: 125px; }
}

.brand-main {
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.brand-version,
.brand-credit {
  font-size: 0.72rem;
  opacity: 0.82;
}

.top-nav {
  display: flex;
  gap: 10px;
}

.top-nav a {
  padding: 4px 5px;
  text-decoration: none;
  font-size: 0.82rem;
}

.top-nav a:hover,
.top-nav a:focus-visible,
.account-identity:hover,
.account-identity:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.account-identity {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  max-width: 190px;
  padding: 5px 0;
  border: 0;
  color: #fff;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.account-menu {
  position: relative;
  flex: 0 0 auto;
  margin-left: auto;
}

.account-chevron {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  margin: -3px 2px 0 1px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}

.account-menu-links {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 20;
  width: max-content;
  min-width: 184px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  background: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.account-menu-links a {
  display: block;
  padding: 10px 12px;
  border-radius: 4px;
  font-size: 0.88rem;
  text-decoration: none;
}

.account-menu-links a:hover,
.account-menu-links a:focus-visible {
  background: #e6f2e7;
}

.account-menu-links a:last-child {
  border-top: 1px solid var(--line);
  border-radius: 0 0 4px 4px;
}

.organizer-idle-dialog { border: 1px solid #9ebaa5; border-radius: 6px; color: #24372a; max-width: calc(100vw - 24px); padding: 18px 20px; width: 380px; }
.organizer-idle-dialog::backdrop { background: rgba(16, 35, 24, .45); }
.organizer-idle-dialog h2 { color: #0A592F; font-size: 18px; margin: 0 0 8px; }
.organizer-idle-dialog p { font-size: 14px; line-height: 1.4; margin: 0 0 14px; }
.organizer-idle-dialog button { background: #0A592F; border: 1px solid #0A592F; border-radius: 5px; color: #fff; font-size: 14px; min-height: 38px; padding: 7px 12px; }

.account-name {
  overflow: hidden;
  text-overflow: ellipsis;
}

.account-icon {
  position: relative;
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 50%;
}

.account-icon::before {
  content: "";
  position: absolute;
  top: 4px;
  left: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fff;
}

.account-icon::after {
  content: "";
  position: absolute;
  left: 4px;
  bottom: 3px;
  width: 11px;
  height: 6px;
  border-radius: 7px 7px 4px 4px;
  background: #fff;
}

.tournament-menu-toggle {
  display: none;
}

.tournament-action-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  margin: -8px 0 14px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 8px 20px rgba(30, 48, 34, 0.06);
}

.tournament-action-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--green-dark);
  background: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.tournament-action-nav a.active {
  color: #fff;
  border-color: var(--green);
  background: var(--green);
}

.tournament-action-nav a.disabled {
  color: #7a817b;
  background: #e7ebe8;
  cursor: not-allowed;
}

.app-header .tournament-action-nav {
  flex: 1 1 auto;
  flex-wrap: nowrap;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.app-header .tournament-action-nav a {
  min-height: auto;
  padding: 4px 5px;
  border: 0;
  border-radius: 0;
  color: #fff;
  background: transparent;
  font-size: 0.72rem;
}

.app-header .tournament-action-nav a:hover,
.app-header .tournament-action-nav a:focus-visible {
  background: transparent;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.app-header .tournament-action-nav a.active {
  color: #fff;
  background: transparent;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
}

.app-header .tournament-action-nav a.disabled {
  color: rgba(255, 255, 255, 0.5);
  background: transparent;
  text-decoration: none;
}

.app-header .tournament-action-nav .system-link-first {
  margin-left: auto;
}

.page-shell {
  width: min(1120px, calc(100% - 28px));
  margin: 16px auto 42px;
}

.hero-panel,
.card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--paper);
  box-shadow: 0 10px 28px rgba(30, 48, 34, 0.08);
}

.hero-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px;
  margin-bottom: 22px;
  border-left: 6px solid var(--gold);
}

.compact-hero {
  padding: 12px 18px;
  margin-bottom: 12px;
}

.compact-hero h1 {
  font-size: 1.35rem;
}

.compact-hero p {
  font-size: 0.92rem;
}

.compact-hero .hero-stat {
  min-width: 90px;
  padding: 8px 10px;
}

.compact-hero .hero-stat strong {
  font-size: 1.3rem;
}

.hero-panel h1,
.card h1,
.card h2 {
  margin: 0 0 8px;
}

.hero-panel p,
.card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.eyebrow {
  margin: 0 0 4px;
  color: var(--green);
  font-size: 0.74rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-stat {
  min-width: 130px;
  padding: 14px;
  border-radius: 8px;
  text-align: center;
  color: var(--green-dark);
  background: var(--soft);
}

.hero-stat strong {
  display: block;
  font-size: 2rem;
}

.layout-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 18px;
  margin-bottom: 18px;
}

.dashboard-heading {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 0 10px;
}

.dashboard-heading h1 {
  color: var(--green-dark);
  font-size: 1.45rem;
  margin: 0 0 2px;
}

.dashboard-heading p {
  color: var(--muted);
  font-size: .82rem;
  margin: 0;
}

.dashboard-heading > span {
  color: var(--muted);
  font-size: .78rem;
  white-space: nowrap;
}

.dashboard-heading > span strong {
  color: var(--green-dark);
  font-size: 1.05rem;
}

.dashboard-layout {
  align-items: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 260px;
}

.dashboard-tournaments-card,
.dashboard-new-card {
  padding: 10px;
}

.dashboard-tournaments-table {
  font-size: .8rem;
  margin: 0;
}

.dashboard-tournaments-table th,
.dashboard-tournaments-table td {
  padding: 6px 7px;
}

.dashboard-tournaments-table th:first-child,
.dashboard-tournaments-table td:first-child {
  width: 44px;
}

.dashboard-tournaments-table .table-action {
  font-size: .75rem;
  padding: 4px 8px;
}

.dashboard-row-actions {
  align-items: center;
}

.dashboard-delete-form {
  margin: 0;
}

.dashboard-delete-button {
  background: #b3261e;
  border-radius: 5px;
  min-height: 27px;
  padding: 4px;
  width: 29px;
}

.dashboard-delete-button:hover,
.dashboard-delete-button:focus-visible {
  background: #8e1d18;
}

.dashboard-delete-button svg {
  height: 16px;
  width: 16px;
}

.dashboard-new-card h2 {
  color: var(--green-dark);
  font-size: 1rem;
  margin: 0 0 7px;
}

.dashboard-new-card .form-stack {
  gap: 8px;
  margin-top: 0;
}

.dashboard-new-card label {
  font-size: .76rem;
  gap: 3px;
}

.dashboard-new-card input {
  min-height: 34px;
  padding: 6px 8px;
}

.dashboard-new-card button {
  min-height: 34px;
  padding: 6px 10px;
}

.tournament-home-hero h1 {
  margin-bottom: 5px;
}

.tournament-summary-card {
  display: grid;
  gap: 18px;
  margin-bottom: 16px;
}

.status-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.status-grid > div {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfdfb;
}

.status-label {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.status-grid strong {
  color: var(--ink);
  font-size: 0.95rem;
}

.status-grid small {
  color: var(--muted);
  font-size: 0.78rem;
}

.status-ok {
  color: var(--success) !important;
}

.status-warning {
  color: var(--error) !important;
}

.summary-block {
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.summary-block h2,
.action-choice-card h2 {
  margin: 0;
  font-size: 1rem;
}

.group-summary-list {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.group-summary-list li {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  align-items: baseline;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
}

.group-summary-list span {
  color: var(--muted);
  font-size: 0.9rem;
}

.action-choice-card {
  display: grid;
  gap: 12px;
}

.action-choice-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
}

.players-roadmap-card {
  display: grid;
  gap: 14px;
}

.card.players-editor-card {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
  padding: 10px 12px;
}

.players-table-wrap {
  max-height: calc(100vh - 265px);
  min-height: 300px;
  overflow: auto;
}

.players-table {
  width: auto;
  min-width: 942px;
  table-layout: fixed;
  margin-top: 0;
  font-size: 0.72rem;
}

.players-table th,
.players-table td {
  height: 23px;
  padding: 2px 4px;
  vertical-align: middle;
  line-height: 1.05;
}

.players-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  border-color: var(--header-green);
  color: #fff;
  background: var(--header-green);
  font-weight: 700;
}

.players-table input,
.players-table select {
  min-height: 27px;
  padding: 3px 5px;
  border-radius: 4px;
  font-size: 0.82rem;
}

.players-table :is(th, td):nth-child(1) { width: 94px; }
.players-table :is(th, td):nth-child(2) { width: 34px; text-align: center; }
.players-table :is(th, td):nth-child(3) { width: 220px; }
.players-table :is(th, td):nth-child(4) { width: 40px; text-align: center; }
.players-table :is(th, td):nth-child(5),
.players-table :is(th, td):nth-child(6),
.players-table :is(th, td):nth-child(7) { width: 46px; text-align: center; }
.players-table :is(th, td):nth-child(8) { width: 180px; min-width: 180px; white-space: nowrap; }
.players-table :is(th, td):nth-child(9) { width: 46px; text-align: center; }
.players-table :is(th, td):nth-child(10) { width: 65px; }
.players-table :is(th, td):nth-child(11) { width: 164px; min-width: 164px; text-align: center; white-space: nowrap; }
.players-table td[data-col="status"] { white-space: pre-line; }
.players-table :is(th, td):nth-child(12) { width: 72px; }
.players-table td.player-payment-flag { text-align: center; }
.players-table .player-payment-button { border: 0; border-radius: 3px; background: transparent; cursor: pointer; font-size: 1.1rem; font-weight: 400; min-height: 28px; min-width: 28px; padding: 2px; }
.players-table .player-payment-button.is-unreported { color: #c2c2c2; }
.players-table .player-payment-button.is-declared { color: #b42323; }
.players-table .player-payment-button.is-confirmed { color: #075fbd; }
.players-table .player-payment-button:hover, .players-table .player-payment-button:focus-visible { background: #e4f3e9; outline: 2px solid #0a592f; outline-offset: 1px; }
.player-payment-dialog { border: 1px solid #aabfb0; border-radius: 6px; box-shadow: 0 16px 44px #15251a40; max-width: calc(100vw - 32px); padding: 18px; width: 360px; }
.player-payment-dialog::backdrop { background: #10241980; }
.player-payment-dialog h2 { color: #0a592f; font-size: 18px; margin: 0 0 8px; }
.player-payment-dialog p { margin: 0 0 16px; }
.player-payment-dialog label { align-items: center; display: flex; gap: 8px; font-size: 14px; }
.player-payment-dialog input[type="checkbox"] { flex: 0 0 17px; width: 17px; height: 17px; margin: 0; }
.player-payment-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 18px; }

.player-name-primary,
.player-home-club {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-name-primary { font-weight: 700; }

.player-home-club {
  margin-top: 2px;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 400;
}

.player-id-entity { display: block; margin-top: 2px; color: var(--muted); font-size: .64rem; font-weight: 400; overflow-wrap: anywhere; }

.player-index-origin { display: block; margin-top: 2px; color: var(--muted); font-size: .56rem; font-weight: 400; }

.player-actions {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.player-actions .player-icon-button { margin-inline: 1px; vertical-align: middle; }

.player-actions form {
  margin: 0;
}

.partnership-view-mode .players-table th:last-child,
.partnership-view-mode .players-table td.player-actions {
  display: none;
}

.player-icon-button {
  display: inline-grid;
  place-items: center;
  width: 20px;
  min-width: 20px;
  height: 19px;
  min-height: 19px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 3px;
  color: var(--green-dark);
  background: transparent;
  font-size: 0.82rem;
  line-height: 1;
}

.player-icon-button:hover,
.player-icon-button:focus-visible {
  border-color: #aab4ac;
  background: #fff;
}

.delete-player-button {
  color: var(--error);
}

.delete-player-button:disabled {
  color: #9b9b9b;
  opacity: 0.65;
  cursor: not-allowed;
}

.review-cbg-button { color: #a56b00; font-size: 1rem; }
.cbg-review-dialog { width: min(580px, calc(100vw - 28px)); max-width: none; padding: 20px 24px 22px; }
.cbg-review-dialog [hidden] { display: none !important; }
.cbg-review-dialog .player-dialog-heading { margin-bottom: 20px; }
.cbg-review-dialog > p { margin: 0 0 16px; line-height: 1.45; }
.cbg-review-dialog label { display: grid; gap: 6px; margin: 18px 0; }
.cbg-review-dialog #cbg-review-id { max-width: 240px; }
.cbg-review-options { display: grid; gap: 10px; margin: 18px 0; }
.cbg-review-options > label, #cbg-review-other-options > label { display: flex; align-items: center; gap: 8px; margin: 0; }
.cbg-review-options input[type="radio"] { width: auto; flex: none; }
#cbg-review-other-options { display: grid; gap: 10px; margin: 0 0 0 24px; }
#cbg-review-other-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; }
#cbg-review-other-fields label { margin: 0; }
#cbg-review-other-fields label:first-child { grid-column: 1 / -1; }
#cbg-review-other-fields input, #cbg-review-other-fields select { width: 100%; }
.cbg-review-names { display: grid; gap: 12px; margin: 0 0 22px; }
.cbg-review-names p { margin: 0; line-height: 1.45; overflow-wrap: anywhere; }
.cbg-review-names strong { font-weight: 700; }
.cbg-review-found { margin: 18px 0; padding: 12px 14px; border: 1px solid #9ab6a2; background: #f1f7f2; line-height: 1.45; }
.cbg-review-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 22px; }
.cbg-review-actions button { max-width: 100%; white-space: normal; }
.cbg-review-back-row { flex-basis: 100%; margin-top: 8px; }

.player-row-updated td {
  animation: player-row-highlight 1.6s ease-out;
}

.player-conflict-row td {
  background: #f4cccc !important;
}

.player-attention-row td {
  background: #dceefa !important;
}

.player-conflict-row + .player-conflict-row td {
  border-top-color: #b42318;
}

.player-status-link {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  color: var(--error);
  background: transparent;
  font: inherit;
  font-weight: 800;
  text-decoration: underline;
}

.players-pending-alert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 4px;
  padding: 5px 8px;
  border: 1px solid var(--error);
  color: var(--error);
  background: #fff1f0;
  font-size: 0.76rem;
  font-weight: 800;
}

@keyframes player-row-highlight {
  0%, 45% { background: #fff0a8; }
}

.players-page-heading {
  margin: 0 0 7px;
}

.players-page-heading h1 {
  margin: 0;
  font-size: 1rem;
}

.players-cancelled-list { margin: 0 0 5px; border: 1px solid #bdd5c6; border-radius: 5px; background: #fff; }
.players-cancelled-list summary { padding: 3px 7px; color: var(--header-green); font-size: .76rem; font-weight: 650; line-height: 1.25; cursor: pointer; }
.players-cancelled-list ul { margin: 0; padding: 0 7px 3px; list-style: none; }
.players-cancelled-list li { display: flex; align-items: center; justify-content: space-between; gap: 4px; padding: 1px 0; border-top: 1px solid #e1ebe4; font-size: .76rem; line-height: 1.2; }
.players-cancelled-list form { margin: 0; }
.players-cancelled-list button { min-height: 22px; padding: 1px 5px; font-size: .72rem; font-weight: 600; line-height: 1.2; }
@media (max-width: 700px) {
  .players-cancelled-list summary, .players-cancelled-list li { font-size: 14px; }
  .players-cancelled-list button { min-height: 30px; padding: 3px 7px; font-size: 13px; }
}

.card.players-import-card {
  gap: 2px;
  margin-bottom: 5px;
  padding: 3px 8px;
}

.players-import-sources {
  display: grid;
  grid-template-columns: minmax(0, 2.25fr) minmax(230px, 0.75fr);
  gap: 10px;
}
.players-import-compact { align-items: center; display: flex; flex-wrap: wrap; gap: 5px 8px; padding: 5px 0; }
.players-import-compact button { font-size: .72rem; min-height: 27px; padding: 4px 9px; width: auto; }
.players-import-compact p { color: var(--muted); font-size: .72rem; line-height: 1.25; margin: 0; flex: 1 1 340px; }
.players-import-compact input[hidden] { display: none; }

.players-import-card .danger-button {
  border-color: var(--error);
  background: var(--error);
}

.players-import-source {
  min-width: 0;
  padding: 2px 5px;
  border: 1px solid var(--line);
}

.players-import-source h2 {
  margin: 0 0 1px;
  font-size: 0.82rem;
  line-height: 1.15;
}

.players-import-source h2 span {
  font-weight: 400;
}

.players-import-source-disabled {
  color: #777;
  background: #d9d9d9;
}

.players-import-source-disabled input,
.players-import-source-disabled button {
  cursor: not-allowed;
  opacity: 0.65;
}

.players-import-card .compact-section-title span,
.players-import-card .helper-text {
  font-size: 0.72rem;
  line-height: 1.25;
}

.players-import-card .upload-panel {
  display: flex;
  align-items: end;
  gap: 10px;
}

.players-import-card .upload-panel > button {
  flex: 0 0 auto;
  width: auto;
  min-height: 25px;
  padding: 3px 9px;
  font-size: 0.76rem;
  white-space: nowrap;
}

.players-import-card .file-field {
  width: min(440px, 100%);
  font-size: 0.74rem;
}

.players-import-card .file-field input {
  min-height: 23px;
  padding: 1px 4px;
  font-size: 0.74rem;
}

.players-import-source .message:empty {
  display: none;
}

.players-import-source .message-info {
  color: #1f5fae;
  font-size: 0.68rem;
  font-weight: 400;
  line-height: 1.25;
}

.players-import-card .subscribers-actions {
  margin-top: 0;
}

.card.players-add-details {
  margin-bottom: 7px;
  padding: 7px 12px;
}

.players-add-details summary {
  width: max-content;
  color: var(--green-dark);
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 800;
}

.players-add-details[open] summary {
  margin-bottom: 8px;
}

.players-list-title {
  flex-wrap: wrap;
  gap: 5px 10px;
}

.players-list-title h2 {
  margin: 0;
  font-size: 0.72rem;
  line-height: 1.2;
  text-transform: uppercase;
}

.players-list-title p {
  margin: 0;
  color: var(--muted);
  font-size: 0.72rem;
  line-height: 1.2;
}

.players-list-title > span {
  margin-left: auto;
  font-size: 0.72rem;
  white-space: nowrap;
}

.players-list-title > span strong {
  color: inherit;
}

.players-list-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  max-width: 1070px;
}

.players-list-toolbar > button {
  flex: 0 0 auto;
  width: auto;
  min-height: 27px;
  padding: 4px 9px;
  font-size: 0.74rem;
}

.partnership-mode-actions {
  align-items: center;
  display: flex;
  gap: 6px;
}

.partnership-mode-actions[hidden] { display: none; }

.partnership-mode-actions span {
  color: var(--green-dark);
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}

.partnership-mode-actions button {
  flex: 0 0 auto;
  min-height: 27px;
  padding: 4px 9px;
  font-size: .74rem;
}

.players-table td[data-col="name"] .partnership-player-select {
  display: inline-block;
  width: 15px;
  min-height: 15px;
  margin: 0 5px 0 0;
  padding: 0;
  vertical-align: middle;
}

.players-table td[data-col="name"] .partnership-player-select[hidden] { display: none; }
.players-table td[data-col="name"] .partnership-player-select:disabled { cursor: not-allowed; opacity: .4; }

.partnership-selection-mode .players-table td[data-col="name"] {
  cursor: default;
  font-weight: 600;
}

.partnership-code {
  color: var(--green-dark);
  font-weight: 800;
}

.player-partnership-request {
  display: block;
  color: var(--error);
  font-size: .7rem;
  font-weight: 400;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.dissolve-partnership-button {
  width: 18px;
  min-width: 18px;
  min-height: 18px;
  margin-left: 3px;
  padding: 0;
  border: 0;
  color: var(--error);
  background: transparent;
  font-size: .92rem;
  line-height: 1;
}

.players-search-field {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  width: min(310px, 100%);
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
}

.players-search-field > span {
  text-align: center;
  font-size: 0.72rem;
}

.players-search-field input {
  min-height: 25px;
  padding: 3px 6px 3px 0;
  border: 0;
  outline: 0;
  font-size: 0.75rem;
}

.players-visible-count {
  color: var(--muted);
  font-size: 0.72rem;
  white-space: nowrap;
}

.unsaved-indicator {
  padding: 2px 6px;
  border: 1px solid #d5a24a;
  border-radius: 4px;
  color: #684800;
  background: #fff4cc;
  font-size: 0.7rem;
  font-weight: 800;
}

.player-dialog {
  width: min(650px, calc(100% - 28px));
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}

.player-dialog::backdrop {
  background: rgba(12, 28, 18, 0.48);
}

.player-dialog-form {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.player-dialog-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.player-dialog-heading h2 {
  margin: 0;
  font-size: 0.96rem;
}

.player-dialog-close {
  width: 26px;
  min-width: 26px;
  min-height: 26px;
  padding: 0;
  color: var(--muted);
  background: transparent;
  font-size: 1.15rem;
}

.player-dialog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.player-dialog-grid label {
  font-size: 0.76rem;
  font-weight: 800;
}

.player-dialog-grid input,
.player-dialog-grid select {
  min-height: 30px;
  padding: 4px 6px;
  font-size: 0.82rem;
  font-weight: 400;
}

.player-group-field-inactive span { color: var(--muted); }
.player-group-field-inactive input:disabled {
  color: var(--muted);
  background: #edf0ee;
  border-color: #d5dcd7;
  opacity: 1;
  cursor: not-allowed;
}

.player-name-field {
  grid-column: span 2;
}

.player-dialog-actions {
  display: flex;
  justify-content: flex-start;
  gap: 7px;
}

.player-dialog-actions button {
  width: auto;
  min-height: 29px;
  padding: 5px 10px;
  font-size: 0.76rem;
}

.player-index-editor {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #b8d8c2;
  border-radius: 6px;
  background: #f0f8f2;
}
.player-index-editor[hidden] { display: none; }

/* Inscricao online */
.online-registration-admin-heading {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
}
.online-registration-admin-heading p { margin: 0; }
.online-registration-admin-heading > span { color: var(--muted); }
.online-registration-admin-heading > span strong { color: var(--green); font-size: 1.15rem; }
.admin-tournament-identity { margin: 3px 0 0; }
.admin-tournament-identity > div { align-items: baseline; display: flex; gap: 4px; margin: 1px 0; }
.admin-tournament-identity dt,
.admin-tournament-identity dd { font-size: 14px; line-height: 1.2; margin: 0; }
.admin-tournament-identity dt { font-weight: 400; }
.admin-tournament-identity dd { font-weight: 750; }
.organizer-tournament-stamp { margin: 5px 0 0; }
.organizer-tournament-stamp dt,
.organizer-tournament-stamp dd { font-size: .72rem; line-height: 1.15; }
.organizer-tournament-stamp-top { margin: 0 0 10px; }
.page-shell > .organizer-tournament-stamp-top dt,
.page-shell > .organizer-tournament-stamp-top dd { font-size: .72rem; line-height: 1.15; }
.online-registration-control-card { padding: 8px 10px; }
.online-registration-control-form { align-items: end; display: grid; gap: 6px 8px; grid-template-columns: 160px minmax(210px, 1fr) minmax(280px, 1.4fr); }
.online-registration-control-form button { width: auto; }
.online-registration-control-form fieldset { margin: 0; }
.online-registration-control-form label > span,
.online-registration-control-form legend { color: #34453a; font-size: 12px; font-weight: 650; line-height: 1.15; margin-bottom: 2px; }
.online-registration-control-form input,
.online-registration-control-form textarea { font-size: 12px; min-height: 30px; padding: 4px 6px; }
.online-registration-status { border: 0; min-width: 0; padding: 0; }
.online-registration-status label { align-items: center; display: inline-flex; font-size: 12px; gap: 3px; margin-right: 8px; white-space: nowrap; }
.online-registration-status input { min-height: 14px; width: 14px; }
.online-registration-deadline,
.online-registration-payment-field { min-width: 0; }
.online-registration-payment-field textarea { height: 30px; min-height: 30px; resize: vertical; width: 100%; }
.online-registration-fee-field { font-weight: 700; grid-column: 1; }
.online-registration-includes-field { grid-column: 1 / -1; }
.online-registration-includes-field input { width: 100%; }
.online-registration-save-row { display: flex; grid-column: 1 / -1; justify-content: flex-end; }
.online-registration-save-row button { min-height: 30px; padding: 5px 18px; }
.online-registration-financial-last-row { display: flex; align-items: end; gap: 10px; grid-column: 1 / -1; }
.online-registration-financial-last-row .online-registration-includes-field { flex: 1 1 auto; min-width: 0; }
.online-registration-financial-last-row button { flex: 0 0 auto; min-height: 28px; padding: 4px 9px; font-size: .76rem; }
.registration-pub-stamp .registration-publication-save { margin-left: 0; min-height: 22px; padding: 1px 6px; border: 1px solid var(--header-green); border-radius: 4px; background: #fff; color: var(--header-green); font-size: .7rem; font-weight: 700; line-height: 1.2; }
.online-registration-link-row { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.online-registration-link-row input { flex: 1 1 420px; font-size: 12px; min-height: 30px; padding: 4px 6px; }
.online-registration-link-row button,
.online-registration-link-row a { font-size: 12px; min-height: 30px; padding: 5px 9px; width: auto; }
.online-registration-link-row .message { margin: 0; }
.online-registration-table { min-width: 960px; }
.online-registration-table td:first-child strong,
.online-registration-table td:first-child small { display: block; }
.online-registration-table td:first-child small { color: var(--muted); font-size: .78rem; margin-top: 2px; }
.online-registration-list-heading { align-items: end; display: flex; justify-content: space-between; margin-bottom: 8px; }
.online-registration-list-heading-actions { align-items: center; display: flex; font-size: 12px; gap: 8px; }
.online-registration-list-heading-actions .secondary-button { min-height: 30px; padding: 5px 10px; }
.online-registration-table-card { padding: 8px; }
.online-registration-full-table-wrap { height: calc(100vh - 205px); min-height: 360px; overflow: auto; }
.online-registration-full-table { font-size: .72rem; margin: 0; min-width: 2100px; table-layout: fixed; width: 100%; }
.online-registration-list-page .online-registration-full-table { min-width: 1890px; }
.online-registration-full-table th,
.online-registration-full-table td { height: 23px; line-height: 1.05; padding: 2px 4px; vertical-align: middle; }
.online-registration-full-table thead th { background: var(--header-green); border-color: var(--header-green); color: #fff; font-weight: 700; position: sticky; top: 0; z-index: 2; }
.online-registration-full-table tbody tr:nth-child(even) td { background: #d2e28b; }
.excel-import-list-page .online-registration-full-table tbody tr.excel-import-promoted-row td,
.excel-import-list-page .online-registration-full-table tbody tr.excel-import-promoted-row td strong { color: #686f72; }
.online-registration-full-table tbody tr.online-registration-cancelled-row td,
.online-registration-full-table tbody tr.online-registration-cancelled-row td strong { color: #a32121; }
.online-registration-full-table td { overflow-wrap: anywhere; }
.excel-import-list-page .online-registration-full-table { min-width: 0; width: max-content; }
.excel-import-list-page .online-registration-full-table :is(th, td) { white-space: nowrap; overflow-wrap: normal; }
.online-registration-full-table .registration-col-player { width: 180px; }
.online-registration-list-page .online-registration-full-table .registration-col-payment { text-align: center; width: 42px; }
.online-registration-list-page .online-registration-full-table .registration-col-payment span { color: #b12620; font-size: 1rem; font-weight: 400; }
.online-registration-list-page .online-registration-full-table .registration-col-payment.is-unreported span { color: #c2c2c2; }
.online-registration-list-page .online-registration-full-table .registration-col-payment.is-confirmed span { color: #075fbd; }
.online-registration-list-page .online-registration-full-table .registration-col-origin { width: 88px; }
.online-registration-list-page .online-registration-full-table .registration-col-official { text-align: center; width: 56px; }
.online-registration-list-page .online-registration-full-table .registration-col-verified { font-size: .66rem; width: 98px; }
.online-registration-list-page .online-registration-full-table .registration-col-partnership { font-size: .66rem; }
.online-registration-list-page .online-registration-full-table .registration-col-status { width: 78px; }
.online-registration-list-page .online-registration-full-table .registration-col-action { width: 72px; white-space: nowrap; }
.online-registration-full-table .registration-col-whatsapp { width: 92px; white-space: nowrap; }
.online-registration-full-table .registration-col-birth { width: 75px; white-space: nowrap; }
.online-registration-full-table .registration-col-club { width: 80px; }
.online-registration-full-table .registration-col-gender { text-align: center; width: 38px; }
.online-registration-full-table .registration-col-social { text-align: center; width: 58px; }
.online-registration-full-table .registration-col-entity { width: 68px; }
.online-registration-full-table .registration-col-id { width: 68px; white-space: nowrap; }
.online-registration-full-table .registration-col-index { text-align: center; width: 55px; }
.online-registration-questions-card { margin-top: 8px; padding: 8px 10px; }
.online-registration-questions-heading { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 6px; }
.online-registration-questions-heading h2 { font-size: 14px; margin: 0 0 2px; }
.online-registration-questions-heading p { color: var(--muted); font-size: 12px; margin: 0; }
.online-registration-questions-heading button { font-size: 12px; min-height: 30px; padding: 5px 9px; width: auto; }
.online-registration-questions-table-wrap { overflow-x: auto; }
.online-registration-questions-table { font-size: 12px; margin: 0; min-width: 860px; table-layout: fixed; width: 100%; }
.online-registration-questions-table th,
.online-registration-questions-table td { height: 32px; padding: 2px 4px; vertical-align: middle; }
.online-registration-questions-table thead th { background: #dce9de; color: #294432; font-weight: 750; }
.online-registration-questions-table tbody tr:nth-child(even) td { background: #f1f6f2; }
.online-registration-questions-table th:nth-child(1), .online-registration-questions-table td:nth-child(1),
.online-registration-questions-table th:nth-child(5), .online-registration-questions-table td:nth-child(5) { text-align: center; width: 54px; }
.online-registration-questions-table th:nth-child(2) { width: 31%; }
.online-registration-questions-table th:nth-child(3) { width: 175px; }
.online-registration-questions-table th:nth-child(4) { width: 40%; }
.online-registration-questions-table input,
.online-registration-questions-table select { font-size: 12px; min-height: 27px; padding: 3px 5px; width: 100%; }
.online-registration-questions-table input[type="checkbox"] { min-height: 14px; width: 14px; }
.online-registration-questions-table input:disabled { background: #dfe3df; border-color: #c4cac5; color: #7b837d; cursor: not-allowed; }
.registration-question-prompt-wrap { align-items: center; display: flex; gap: 4px; }
.registration-question-prompt-wrap small { color: var(--muted); flex: 0 0 34px; font-size: 10px; text-align: right; }
.registration-question-remove { background: transparent; border: 0; color: #9b2c26; font-size: 20px; line-height: 1; min-height: 26px; padding: 0; width: 26px; }
.online-registration-questions-footer { align-items: center; display: flex; font-size: 12px; justify-content: space-between; margin-top: 6px; }
.online-registration-questions-footer button { min-height: 30px; padding: 5px 12px; width: auto; }

.public-registration-page { background: #edf2ee; color: #16231a; margin: 0; min-height: 100vh; }
.public-registration-brand {
  align-items: center;
  background: var(--header-green);
  color: #fff;
  display: flex;
  justify-content: space-between;
  min-height: 44px;
  padding: 7px max(16px, calc((100vw - 1040px) / 2));
}
.public-registration-brand strong { font-size: 1.2rem; }
.public-registration-brand span { font-size: .8rem; }
.public-registration-shell { margin: 0 auto; max-width: 1040px; padding: 10px 16px 14px; }
.public-player-home { min-height: 100vh; }
.public-player-home-sticky { margin-left: calc(50% - 50vw); position: sticky; top: 0; width: 100vw; z-index: 20; }
.public-player-home-header { align-items: center; background: var(--header-green); color: #fff; display: flex; justify-content: space-between; min-height: 42px; padding: 5px max(14px, calc((100vw - 1040px) / 2)); }
.public-player-home-header a { color: #fff; font-family: Georgia, serif; font-size: 20px; font-style: italic; font-weight: 800; letter-spacing: 0; text-decoration: none; }
.public-player-home-logo { display: block; height: auto; width: 154px; }
.public-player-home > .public-player-home-sticky > .public-player-home-header { gap: 12px; min-height: 0; padding-top: 0; padding-bottom: 0; }
.public-player-home > .public-player-home-sticky .public-player-home-logo { width: 152.148px; max-width: calc(100vw - 90px); }
.public-player-home > .public-player-home-sticky .public-player-about { flex: none; font-family: inherit; font-size: 14px; font-style: normal; font-weight: 600; }
.public-player-home-header span { font-size: 12px; font-weight: 600; }
.public-player-subpage-header { position: sticky; top: 0; z-index: 20; }
.public-registration-sticky { z-index: 20; }
.public-registration-page-heading { border-bottom: 2px solid #168a4a; padding: 11px 0 9px; }
.public-registration-page-heading .public-tournament-identity { margin-top: 8px; }
.public-player-home-image { aspect-ratio: 2172 / 357; background: #5db6e7 url('online-registration-player-page-bg_v2.jpg') center / 100% 100% no-repeat; position: relative; }
.public-player-home-image h1 { bottom: 5%; color: #171f1a; font-size: clamp(18px, 2vw, 38px); left: 29%; letter-spacing: 0; line-height: 1; margin: 0; position: absolute; right: 2%; text-align: center; text-shadow: 0 1px 2px #fff; white-space: nowrap; }
.public-player-home-image h1 strong { color: #c52b24; }
.public-player-home-body { padding-top: 16px; }
.public-player-registration-page .public-player-home-stamp { margin: 0 0 13px; }
.public-player-home-stamp dt,
.public-player-home-stamp dd { font-size: .72rem; line-height: 1.15; }
.public-player-home-stamp > div { margin: 1px 0; }
.public-player-home-intro-row { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; margin: 0 0 13px; }
.public-player-home-intro { color: #424b45; font-size: 15px; font-weight: 600; line-height: 1.3; margin: 0; }
.public-player-home-intro-row .public-player-home-refresh { flex: none; }
.public-player-home-sections { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.public-player-home-section { background: #fff; border: 1px solid #d5dfd7; border-radius: 6px; min-width: 0; padding: 12px; }
.public-player-home-section h2 { color: #075f34; font-size: 14px; margin: 0 0 9px; }
.public-player-home-section-heading { align-items: baseline; display: flex; gap: 8px; justify-content: space-between; margin-bottom: 9px; }
.public-player-home-section-heading h2 { flex: none; margin: 0; }
.public-player-home-refresh { background: none; border: 0; color: #1765a1; cursor: pointer; font: inherit; font-size: 10px; line-height: 1.2; padding: 0; text-align: right; text-decoration: underline; }
.public-player-home-refresh:hover,
.public-player-home-refresh:focus-visible { color: #0c4777; }
.public-player-home-options { display: grid; gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-player-home-section:first-child .public-player-home-options { grid-template-columns: 1fr; }
.public-player-home-options > a,
.public-player-home-options > span { align-items: center; background: #f5f8f5; border: 1px solid #c9d9cd; border-radius: 5px; color: #075f34; display: flex; font-size: 14.5px; line-height: 1.2; min-height: 36px; padding: 6px 8px; text-align: left; text-decoration: none; }
.public-player-home-options > a:hover,
.public-player-home-options > a:focus-visible { background: #e8f4eb; border-color: #08743d; }
.public-player-home-options > a { gap: 6px; justify-content: space-between; }
.public-player-home-options > a > span { min-width: 0; }
.public-player-home-options > a > small { color: #64766a; flex: none; font-size: 11px; font-weight: 600; }
.public-player-home-options > a > .public-player-stage-preliminary { color: #b4232c; }
.public-player-home-options > a > .public-player-stage-final { color: #08743d; }
.public-player-home-options > .public-player-home-option-unavailable { color: #69776d; opacity: .72; }
.public-player-home-tournament,
.public-player-home-actions { margin-top: 0; }
.public-player-home-tournament { border-top: 1px solid #d4ded6; margin-top: 20px; padding-top: 17px; }
.public-tournament-identity { margin: 7px 0 0; }
.public-tournament-identity > div { align-items: baseline; display: flex; gap: 5px; margin: 3px 0; }
.public-tournament-identity dt,
.public-tournament-identity dd { color: #17241b; font-size: 16.8px; line-height: 1.25; margin: 0; }
.public-tournament-identity dt { flex: 0 0 auto; font-weight: 400; }
.public-tournament-identity dd { font-weight: 800; }
.public-player-registration-page .public-tournament-identity dt,
.public-player-registration-page .public-tournament-identity dd { font-size: 13.44px; }
.public-player-registration-page .public-tournament-identity.public-player-home-stamp dt,
.public-player-registration-page .public-tournament-identity.public-player-home-stamp dd { font-size: .72rem; line-height: 1.15; }
.public-player-home-actions { display: grid; gap: 7px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 20px; }
.public-player-home-actions > a,
.public-player-home-actions > span { align-items: center; background: #fff; border: 1px solid #9fbaa6; color: #075f34; display: flex; font-size: 16.8px; justify-content: center; line-height: 1.15; min-height: 48px; padding: 6px 8px; text-align: center; text-decoration: none; }
.public-player-home-actions > a:hover { background: #f1f8f3; border-color: #08743d; }
.public-player-home-actions .public-player-home-primary { background: #08743d; border-color: #08743d; color: #fff; }
.public-player-home-actions > span { color: #6d776f; opacity: .72; }
.public-player-home-actions small { display: block; font-size: 11px; margin-left: 4px; }
.public-player-banner {
  aspect-ratio: 2172 / 357;
  background: #5db6e7 url('online-registration-player-page-bg_v2.jpg') center / 100% 100% no-repeat;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  position: relative;
  width: 100vw;
}
.public-player-banner-content { height: 100%; position: relative; }
.public-player-banner-logo {
  color: #d39b00;
  font-family: Georgia, serif;
  font-size: clamp(20px, 2.4vw, 46px);
  font-style: italic;
  font-weight: 800;
  left: 13.5%;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  text-shadow: 0 1px 2px #fff;
  top: 5%;
}
.public-player-banner-logo span { color: #075f34; }
.public-player-banner-content h2 {
  color: #075f34;
  font-size: clamp(20px, 2.05vw, 39px);
  left: 31%;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 0;
  position: absolute;
  text-shadow: 0 1px 2px #fff;
  top: 7%;
}
.public-player-banner-mobile-title { display: none; }
.public-player-banner-mobile-intro { display: none; }
.public-player-banner-panel {
  background: rgba(244, 249, 225, .83);
  border: 1px solid rgba(63, 102, 53, .35);
  border-radius: 8px;
  bottom: 11%;
  box-sizing: border-box;
  display: grid;
  gap: clamp(14px, 2.4vw, 46px);
  grid-template-columns: 1fr 1fr;
  left: 15%;
  padding: clamp(5px, .55vw, 11px) clamp(10px, 1.45vw, 28px);
  position: absolute;
  width: 74%;
}
.public-player-banner-panel ul { color: #17241b; font-size: clamp(11px, 1.08vw, 21px); line-height: 1.2; list-style: none; margin: 0; min-width: 0; padding: 0; }
.public-player-banner-panel ul + ul { border-left: 1px solid #58725f; padding-left: clamp(14px, 2vw, 38px); }
.public-player-banner-panel li { margin: clamp(1px, .12vw, 3px) 0; padding-left: .9em; position: relative; }
.public-player-banner-panel li::before { color: #08743d; content: '\2713'; font-weight: 900; left: 0; position: absolute; }
.public-player-banner-panel strong { color: #17241b; font-weight: 850; }
.public-player-banner-credit { bottom: 1.5%; color: #fff; font-size: clamp(9px, .68vw, 13px); font-weight: 650; left: 15%; margin: 0; position: absolute; text-align: center; text-shadow: 0 1px 2px #21452d; width: 74%; }
.public-registration-hero { background: #fff; border: 1px solid #cdd8cf; overflow: hidden; }
.public-registration-hero img { display: block; height: 150px; object-fit: cover; object-position: top center; width: 100%; }
.public-registration-hero > div { align-items: baseline; display: grid; gap: 2px 16px; grid-template-columns: 1fr auto; padding: 9px 16px; }
.public-registration-hero p { color: #173f29; font-size: 1.2rem; font-weight: 750; grid-column: 1; margin: 0; }
.public-registration-hero h1 { color: #075f34; font-size: 25px; grid-column: 1 / -1; letter-spacing: 0; line-height: 1.05; margin: 0; }
.public-registration-hero span { font-size: 1rem; font-weight: 800; }
.public-registration-intro { align-items: end; display: flex; gap: 8px; justify-content: space-between; margin: 7px 0 5px; }
.public-registration-intro > div { max-width: 820px; }
.public-registration-intro h2 { font-size: 18px; margin: 0 0 2px; }
.public-registration-intro p { color: #46564c; font-size: 14px; font-weight: 400; line-height: 1.35; margin: 0; }
.public-registration-intro-list { color: #46564c; font-size: 14px; line-height: 1.4; margin: 0; padding-left: 21px; }
.public-registration-intro-list li + li { margin-top: 3px; }
.public-registration-intro p.public-registration-cancelled-status { color: #b42318; font-weight: 700; margin: 3px 0; }
.public-registration-index-limit { align-items: center; background: #fff5cf; border: 1px solid #e4cc6b; border-left: 5px solid #bf8e00; display: flex; font-size: 14px; gap: 5px; margin: 5px 0 6px; padding: 5px 8px; }
.public-registration-index-limit strong { color: #684e00; font-weight: 400; white-space: nowrap; }
.public-registration-index-limit span { color: #493d19; }
.public-registration-index-limit.within-limit { background: #f1f8f3; border-color: #c5d9cb; border-left-color: #0a592f; }
.public-registration-index-limit.within-limit strong { color: #0a592f; }
.public-registration-form { border-radius: 6px; padding: 6px; }
.public-registration-readonly-fields { border: 0; margin: 0; min-width: 0; padding: 0; }
.public-registration-readonly-fields input:disabled,
.public-registration-readonly-fields select:disabled { color: #405047; opacity: 1; }
.public-registration-form-grid { display: grid; gap: 4px 5px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-registration-personal .public-registration-form-grid { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) minmax(0, 1fr); }
.public-registration-grid-full { grid-column: 1 / -1; }
.public-registration-personal { background: #f8faf8; border: 1px solid #c5d2c8; border-left: 5px solid #748f79; border-radius: 5px; margin-bottom: 5px; padding: 5px; }
.public-registration-personal h3 { color: #304a36; font-size: .88rem; margin: 0 0 4px; }
.public-registration-personal .public-registration-field { background: #fff; }
.public-registration-personal input::placeholder { font-size: 13px; }
.public-registration-form label > span,
.public-registration-hcp-answer legend,
.public-registration-deadline > span { color: #16231a; display: block; font-family: inherit; font-size: 13px; font-weight: 750; line-height: 1.2; margin-bottom: 2px; }
.public-registration-form label > span small { color: #5c6a61; font-size: 11px; font-weight: 550; }
.required-mark { color: #c52b24; font-size: 1em; font-weight: 800; }
.public-registration-form input,
.public-registration-form select { font-size: 13.5px; min-height: 32px; padding: 3px 6px; width: 100%; }
.public-registration-wide { grid-column: span 2; }
.public-registration-field { background: #fff; border: 1px solid #c5d2c8; border-radius: 5px; display: block; min-width: 0; padding: 3px 4px 4px; }
.public-registration-field:focus-within { border-color: #168a4a; box-shadow: 0 0 0 2px rgba(22, 138, 74, .12); }
.public-registration-field input,
.public-registration-field select { background: #fff; border-color: #aebdb2; }
.public-registration-field input:disabled { background: #e7ece8; color: #405047; opacity: 1; }
.public-registration-manual-index-field { background: #e7ece8; grid-column: span 2; }
.public-registration-manual-index-field input:disabled { background: #e7ece8; }
.public-registration-cbg-index-field input::placeholder { font-size: 11px; }
.public-registration-cbg { background: #fff; }
.public-registration-cbg span small { color: #627067; font-weight: 500; }
.public-registration-cbg strong { color: #9d2a20; display: block; font-size: 11.5px; line-height: 1.15; margin-top: 3px; }
.public-registration-official-field select { font-size: 12px; }
.public-registration-cbg input,
.public-registration-compact-field input,
.public-registration-compact-field select { font-size: 13.5px; }
.public-registration-hcp-panel { background: #e9f4fb; border: 1px solid #9cc4dd; border-left: 5px solid #277aa9; border-radius: 5px; display: grid; gap: 4px; grid-template-columns: 1.3fr 1.5fr 1.1fr .9fr; margin-bottom: 5px; padding: 5px; }
.public-registration-hcp-heading { color: #254b61; font-size: .88rem; grid-column: 1 / -1; margin: 0; }
.public-registration-cbg-lookup { align-items: end; display: grid; gap: 4px 8px; grid-column: span 2; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; }
.public-registration-cbg-search { align-self: end; background: #fff; border: 1px solid #0a592f; border-radius: 5px; color: #0a592f; font-size: 12px; font-weight: 700; min-height: 32px; padding: 3px 9px; white-space: nowrap; }
.public-registration-cbg-search:disabled { color: #69766e; cursor: wait; opacity: .7; }
.public-registration-cbg-feedback { color: #254b61; font-size: 12px; grid-column: 1 / -1; margin: 0; }
.public-registration-cbg-feedback:empty { display: none; }
.public-registration-cbg-confirmation { background: #fff; border: 1px solid #9cc4dd; border-radius: 5px; display: grid; font-size: 13px; gap: 6px; grid-column: 1 / -1; padding: 7px; }
.public-registration-cbg-confirmation > span { white-space: pre-line; }
.public-registration-cbg-confirmation div { display: flex; flex-wrap: wrap; gap: 6px; }
.public-registration-cbg-confirmation button { background: #fff; border: 1px solid #0a592f; border-radius: 5px; color: #0a592f; font-size: 12px; min-height: 30px; padding: 3px 9px; }
.public-registration-cbg-confirmation button:first-child { background: #0a592f; color: #fff; }
.public-registration-entity-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; min-width: 0; }
.public-registration-entity-fields:has(.public-registration-entity-other-field:not([hidden])) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-registration-entity-picker { display: none; }
@media (max-width: 700px), (max-height: 520px) and (pointer: coarse) {
  .public-registration-entity-fields:has(.public-registration-entity-other-field:not([hidden])) { grid-template-columns: minmax(0, 1fr); }
  .public-registration-entity-picker-ready select[name="hcp_entity"] { display: none; }
  .public-registration-entity-picker { display: block; min-width: 0; position: relative; }
  .public-registration-entity-trigger { align-items: center; background: #fff; border: 1px solid #aebdb2; border-radius: 4px; color: #16231a; display: flex; font-size: 16px; font-weight: 400; justify-content: space-between; line-height: 1.3; min-height: 42px; padding: 6px 9px; text-align: left; width: 100%; }
  .public-registration-entity-trigger::after { color: #0A592F; content: '\25BE'; flex: 0 0 auto; font-size: 18px; margin-left: 12px; }
  .public-registration-entity-trigger:focus-visible { outline: 2px solid #0A592F; outline-offset: 1px; }
  .public-registration-entity-trigger:disabled { background: #e7ece8; color: #405047; }
  .public-registration-entity-options { background: #fff; border: 1px solid #0A592F; border-radius: 4px; box-shadow: 0 8px 20px #0002; display: grid; left: 0; max-height: min(50dvh, 350px); overflow-y: auto; position: absolute; right: 0; top: calc(100% + 2px); z-index: 80; }
  .public-registration-entity-options[hidden] { display: none; }
  .public-registration-entity-options.opens-up { bottom: calc(100% + 2px); top: auto; }
  .public-registration-entity-options button { background: #fff; border: 0; border-bottom: 1px solid #d9e7dc; border-radius: 0; color: #16231a; font-size: 16px; font-weight: 400; line-height: 1.3; min-height: 42px; overflow-wrap: anywhere; padding: 8px 10px; text-align: left; white-space: normal; width: 100%; }
  .public-registration-entity-options button:last-child { border-bottom: 0; }
  .public-registration-entity-options button:hover,
  .public-registration-entity-options button:focus-visible,
  .public-registration-entity-options button[aria-selected="true"] { background: #e9f4eb; color: #0A592F; }
}
.public-registration-hcp-panel .public-registration-field { border-color: #aac4d4; }
.public-registration-hcp-answer { border: 0; margin: 0; min-width: 0; padding: 0; }
.public-registration-hcp-answer legend { padding: 0; }
.public-registration-hcp-answer label { align-items: center; display: inline-flex; font-size: 13px; font-weight: 800; gap: 4px; margin-right: 8px; }
.public-registration-hcp-answer input { min-height: 18px; width: 18px; }
.public-registration-hcp-note { color: #3d6177; display: block; font-size: 11px; line-height: 1.25; margin-top: 3px; }
.public-registration-hcp-panel [hidden] { display: none; }
.online-registration-table tr.online-registration-pending-row > td { background: #ffd9df; }
.public-registration-payment { background: #eef8f0; border: 1px solid #a8c9ae; border-left: 5px solid #168a4a; border-radius: 5px; margin: 7px 0; padding: 8px 10px; }
.public-registration-payment h3 { color: #075f34; font-size: .92rem; margin: 0 0 3px; }
.public-registration-payment p { font-size: .8rem; margin: 2px 0; }
.public-registration-pix { align-items: center; display: flex; gap: 7px; justify-content: space-between; }
.public-registration-pix > span { min-width: 0; overflow-wrap: anywhere; }
.public-registration-copy-pix { align-items: center; background: transparent; border: 0; color: #08743d; display: inline-flex; flex: 0 0 auto; font-size: 12px; font-weight: 700; gap: 7px; justify-content: center; min-height: 26px; padding: 3px; white-space: nowrap; }
.public-registration-copy-pix-icon { border: 2px solid currentColor; border-radius: 2px; display: inline-block; flex: 0 0 auto; height: 13px; position: relative; width: 11px; }
.public-registration-copy-pix-icon::before { border: 2px solid currentColor; border-radius: 2px; content: ''; height: 11px; left: -6px; position: absolute; top: -6px; width: 9px; }
.public-registration-copy-pix.is-copied { color: #315c44; transform: translateY(1px); }
.public-registration-paid { align-items: center; border-top: 1px solid #c8ddcc; display: flex !important; gap: 8px; margin: 8px 0 0; padding-top: 7px; }
.public-registration-paid-row { display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 14px; border-top: 1px solid #c8ddcc; margin-top: 8px; }
.public-registration-paid-row .public-registration-paid { border-top: 0; margin-top: 0; }
.public-registration-payment-status { color: #b42323; font-size: .82rem; font-weight: 400; line-height: 1.3; }
.public-registration-payment-status.is-reported-or-confirmed { color: #075fbd; }
@media (max-width: 700px) { .public-registration-payment-status { font-size: 14px; } }
.public-registration-paid input { flex: 0 0 auto; min-height: 18px; width: 18px; }
.public-registration-paid span { color: #075f34; font-weight: 850 !important; margin: 0 !important; }
.public-registration-partnership { border: 1px solid #c7d5ca; border-radius: 5px; margin: 5px 0; padding: 5px 6px; }
.public-registration-partnership legend { color: #075f34; font-weight: 800; padding: 0 6px; }
.public-registration-partnership legend small { color: #5e6b62; font-weight: 500; }
.public-registration-partnership p { color: #526158; font-size: .76rem; margin: 0 0 6px; }
.public-registration-partnership > div { display: grid; gap: 8px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.public-registration-additional { background: #f7f8f6; border: 1px solid #bfcac1; border-left: 5px solid #6f8173; border-radius: 5px; margin: 7px 0; padding: 8px; }
.public-registration-additional h3 { color: #304a36; font-size: .92rem; margin: 0 0 6px; }
.public-registration-additional-note { background: #fff0f0; border: 1px solid #edc4c4; color: #8f2925; font-size: .78rem; margin: 0 0 7px; padding: 5px 7px; }
.public-registration-additional > div { display: grid; gap: 6px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-registration-consent { align-items: flex-start; display: flex !important; gap: 8px; }
.public-registration-consent input { flex: 0 0 auto; min-height: 18px; width: 18px; }
.public-registration-consent span { font-weight: 500 !important; }
.public-registration-submit { display: block; min-height: 36px; width: auto; }
.public-registration-actions { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-top: 7px; }
.public-registration-actions button { margin: 0; width: auto; }
.public-registration-actions-right { align-items: center; display: flex; gap: 8px; justify-content: flex-end; order: 2; }
.public-registration-actions > .public-registration-cancel,
.public-registration-actions > span { order: 1; }
.public-registration-actions-right .secondary-button { min-height: 36px; padding: 7px 14px; }
.public-registration-cancel { background: #fff; border: 1px solid #c85b55; color: #b12620; font-weight: 400; min-height: 36px; }
.public-registration-cancel:hover { background: #fff5f4; }
.organizer-registration-readonly { border: 0; margin: 0; min-width: 0; padding: 0; }
.organizer-registration-readonly > legend { color: #52645a; font-size: .82rem; font-weight: 650; margin-bottom: 6px; }
.organizer-registration-readonly input:disabled,
.organizer-registration-readonly select:disabled { color: #52645a; opacity: 1; }
.organizer-index-panel { background: #e9f4fb; border: 1px solid #9cc4dd; border-left: 5px solid #277aa9; border-radius: 5px; margin-bottom: 5px; padding: 5px; }
.organizer-index-panel .public-registration-hcp-panel { background: transparent; border: 0; margin: 0; padding: 0; }
.organizer-cbg-check, .organizer-cbg-search-panel { padding: 8px 0 2px; border-top: 1px solid #9cc4dd; }
.organizer-cbg-check h3, .organizer-cbg-search-panel h3 { margin: 0 0 6px; font-size: .88rem; }
.organizer-cbg-check button, .organizer-cbg-search-panel button { width: auto; min-height: 29px; padding: 4px 9px; font-size: .77rem; }
.organizer-cbg-check .organizer-cbg-check-search:not(:disabled) { background: #0a592f; border-color: #0a592f; color: #fff; }
.organizer-cbg-search-panel .public-registration-cbg-search:not(:disabled) { background: #0a592f; border-color: #0a592f; color: #fff; }
.organizer-cbg-check-feedback { margin: 5px 0 0; font-size: .76rem; }
.organizer-cbg-check-feedback:empty { display: none; }
.organizer-cbg-result-dialog { width: min(470px, calc(100vw - 24px)); padding: 16px; }
.organizer-cbg-result-dialog h2 { font-size: .92rem; line-height: 1.35; }
.organizer-cbg-result-options { border: 0; display: grid; gap: 8px; margin: 0 0 14px; min-width: 0; padding: 0; }
.organizer-cbg-result-options label { align-items: start; display: flex; gap: 8px; line-height: 1.35; padding: 4px 0; }
.organizer-cbg-result-options input[type="radio"] { flex: 0 0 16px; height: 16px; margin: 1px 0 0; width: 16px; }
.organizer-cbg-result-options span { font-size: .82rem; overflow-wrap: anywhere; }
.organizer-cbg-check-name, .organizer-cbg-check-tournament-name { color: #183344; font-weight: 650; }
.organizer-cbg-result-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.organizer-cbg-result-actions button { border: 1px solid #0a592f; border-radius: 4px; font-size: .8rem; min-height: 34px; padding: 5px 10px; }
.organizer-cbg-check-apply { background: #0a592f; color: #fff; }
.organizer-cbg-check-apply:disabled { opacity: .5; }
.organizer-cbg-check-dismiss { background: #fff; color: #0a592f; }
.organizer-adjustment-form :is(.organizer-index-panel, .public-registration-personal) { padding: 4px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-form-grid) { gap: 3px 5px; }
.organizer-adjustment-form :is(.public-registration-hcp-heading, .public-registration-personal h3, .organizer-cbg-check h3) { font-size: .8rem; margin-bottom: 3px; }
.organizer-adjustment-form .organizer-registration-readonly > legend { font-size: .73rem; margin-bottom: 3px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) .public-registration-field { padding: 2px 3px 3px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) label > span,
.organizer-adjustment-form .public-registration-hcp-answer legend { font-size: 11.5px; line-height: 1.15; margin-bottom: 1px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) label > span small,
.organizer-adjustment-form .public-registration-hcp-note { font-size: 10px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) :is(input:not([type="radio"]), select) { font-size: 12px; min-height: 29px; padding: 2px 5px; }
.organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) input::placeholder { font-size: 11px; }
.organizer-adjustment-form .organizer-cbg-check { padding-top: 5px; }
.organizer-adjustment-form .organizer-cbg-check button { font-size: .72rem; min-height: 28px; padding: 3px 7px; }
@media (max-width: 700px) {
  .public-player-registration-page .public-registration-page-heading .public-tournament-identity :is(dt, dd) { font-size: 16px; line-height: 1.3; }
  .public-player-registration-page .public-registration-intro-list { font-size: 16px; line-height: 1.45; }
  .public-player-registration-page .public-registration-errors { padding: 10px 12px; }
  .public-player-registration-page .public-registration-errors p { font-size: 17px; line-height: 1.45; margin: 6px 0; }
  .public-player-registration-page .public-registration-errors .public-registration-credentials-error { font-size: 20px; }
  .organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) label > span { font-size: 12px; }
  .organizer-adjustment-form :is(.public-registration-hcp-panel, .public-registration-personal) :is(input:not([type="radio"]), select) { font-size: 13px; min-height: 36px; }
  .organizer-adjustment-form .organizer-cbg-check button { min-height: 36px; }
}
.public-registration-access-form { display: grid; gap: 9px; grid-template-columns: 1fr 1fr auto; margin: 10px auto; max-width: 850px; padding: 12px; }
.public-registration-access-form label > span { display: block; font-size: .82rem; font-weight: 650; margin-bottom: 4px; }
.public-registration-access-actions { align-items: end; display: flex; gap: 8px; }
.public-registration-access-actions .secondary-button { min-height: 36px; padding: 7px 14px; }
.public-registration-access-form input { font-size: .88rem; font-weight: 400; min-height: 38px; padding: 6px 9px; width: 100%; }
.public-registration-access-form button { align-self: end; font-size: .84rem; min-height: 38px; padding: 6px 11px; width: auto; }
.public-registration-access-form > a { grid-column: 1 / -1; }
.public-registration-first-access-question { box-sizing: border-box; margin: 10px auto; max-width: 850px; padding: 12px; }
.public-registration-first-access-question p { font-size: .88rem; margin: 0 0 10px; }
.public-registration-first-access-question div { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.public-registration-first-access-question a { font-size: .82rem; min-height: 34px; padding: 6px 10px; }
.public-registration-excel-matches input[type="radio"] { flex: 0 0 17px; height: 17px; min-height: 17px; margin: 2px 0 0; padding: 0; width: 17px; }
.public-registration-excel-access { margin: 10px auto; max-width: 850px; }
.public-registration-excel-search { align-items: end; display: grid; gap: 8px; grid-template-columns: minmax(0, 1fr) auto; }
.public-registration-excel-search label span,
.public-registration-excel-credentials label span { display: block; font-size: .82rem; font-weight: 650; margin-bottom: 4px; }
.public-registration-excel-search input,
.public-registration-excel-credentials input { font-size: .88rem; font-weight: 400; min-height: 38px; padding: 6px 9px; width: 100%; }
.public-registration-excel-search button { font-size: .84rem; min-height: 38px; padding: 6px 11px; }
.public-registration-excel-matches,
.public-registration-excel-preview { border-top: 1px solid #cad8ce; margin-top: 11px; padding-top: 10px; }
.public-registration-excel-matches h2,
.public-registration-excel-preview h2 { font-size: .92rem; margin: 0 0 7px; }
.public-registration-excel-matches label { align-items: center; display: flex; font-size: .86rem; font-weight: 400; gap: 8px; min-height: 31px; }
.public-registration-excel-matches button { font-size: .84rem; margin-top: 7px; min-height: 36px; padding: 6px 11px; }
.public-registration-excel-preview-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 4px 12px; justify-content: space-between; }
.public-registration-excel-preview-heading a { color: #0A592F; font-size: .8rem; }
.public-registration-excel-preview dl { display: grid; font-size: .86rem; gap: 3px; margin: 0 0 10px; }
.public-registration-excel-preview dl div { display: grid; gap: 8px; grid-template-columns: 80px 1fr; }
.public-registration-excel-preview dt { color: #52645a; font-size: .82rem; }
.public-registration-excel-preview dd { font-weight: 400; margin: 0; }
.public-registration-excel-credentials { border-top: 1px solid #cad8ce; display: grid; gap: 8px; grid-template-columns: 1fr 1fr; padding-top: 10px; }
.public-registration-excel-credentials h2,
.public-registration-excel-credentials p { grid-column: 1 / -1; margin: 0; }
.public-registration-excel-credentials p { color: #52645a; font-size: .82rem; }
.public-registration-excel-credentials button { font-size: .84rem; grid-column: 1 / -1; justify-self: end; min-height: 36px; padding: 6px 11px; }
.public-registration-honeypot { left: -10000px; position: absolute; }
.public-registration-errors { background: #fff; border-left: 4px solid #c52b24; margin: 10px 0; padding: 8px 12px; }
.public-registration-errors p { color: #b12620; font-size: .88rem; font-weight: 400; margin: 3px 0; }
@media (max-width: 560px) {
  .public-registration-errors .public-registration-credentials-error { font-size: 1.25rem; line-height: 1.35; }
}
.public-registration-success,
.public-registration-unavailable { margin: 16px auto; max-width: 720px; padding: 20px; }
.public-registration-success h2 { color: #075f34; margin-top: 0; }
.public-registration-success { color: #5f6d63; font-size: 16px; line-height: 1.22; }
.public-registration-success h2 { font-size: 16px; margin-bottom: 7px; }
.public-registration-success h3 { color: #075f34; font-size: 16px; margin: 18px 0 0; }
.public-registration-success p { margin: 0 0 16px; }
.public-registration-success h3 + p { margin-top: 0; }
.public-registration-success-list-intro { margin-bottom: 0 !important; }
.public-registration-success ul { margin: 0 0 16px 22px; padding-left: 16px; }
.public-registration-success-signoff { margin-top: 18px !important; }
.registration-save-dialog { box-sizing: border-box; width: min(360px, calc(100vw - 24px)); max-width: none; border: 1px solid #b9cfc0; border-radius: 6px; padding: 18px; color: #26382e; box-shadow: 0 14px 36px #0003; }
.registration-save-dialog::backdrop { background: #10231999; }
.registration-save-dialog h2 { color: #0A592F; font-size: 1rem; margin: 0 0 10px; }
.registration-save-dialog p { font-size: .88rem; line-height: 1.4; margin: 0 0 12px; }
.registration-save-dialog .registration-save-note { color: #9b3b1e; }
.registration-save-actions { display: flex; justify-content: flex-end; }
.registration-save-actions a { background: #0A592F; border-radius: 4px; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: .86rem; font-weight: 700; min-height: 34px; min-width: 74px; padding: 5px 12px; text-decoration: none; }
.registration-save-actions a:focus-visible { outline: 3px solid #e0a94c; outline-offset: 2px; }
.registration-cbg-dialog { max-height: calc(100dvh - 32px); margin: auto; }
.registration-cbg-dialog .registration-save-actions button { background: #0A592F; border: 0; border-radius: 4px; color: #fff; font-size: .86rem; font-weight: 700; min-height: 40px; min-width: 78px; padding: 6px 14px; }
.registration-cbg-dialog .registration-save-actions button:focus-visible { outline: 3px solid #e0a94c; outline-offset: 2px; }
.registration-cbg-candidate-options { border: 0; box-sizing: border-box; display: grid; gap: 3px; margin: 0 0 12px; max-height: min(45dvh, 300px); min-width: 0; overflow-y: auto; padding: 0; width: 100%; }
.registration-cbg-candidate-options label { align-items: center; display: flex; gap: 10px; min-height: 36px; min-width: 0; padding: 5px 2px; }
.registration-cbg-candidate-options input[type="radio"] { flex: 0 0 16px; height: 16px; min-height: 16px; margin: 0; padding: 0; width: 16px; }
.registration-cbg-candidate-options span { font-size: .86rem; line-height: 1.3; overflow-wrap: anywhere; }
.registration-cbg-candidate-actions { display: flex; justify-content: flex-end; gap: 8px; }
.registration-cbg-candidate-actions button { border: 1px solid #0A592F; border-radius: 4px; font-size: .86rem; min-height: 40px; padding: 6px 14px; }
.registration-cbg-candidates-back { background: #fff; color: #0A592F; }
.registration-cbg-dialog #registration-cbg-message { white-space: pre-line; }
@media (max-width: 700px) {
  .registration-cbg-dialog #registration-cbg-message { font-size: 18px; line-height: 1.45; }
}
.registration-cbg-candidates-ok { background: #0A592F; color: #fff; }
.registration-cbg-candidates-ok:disabled { opacity: .5; }
.public-registration-choice { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; margin: 28px auto; max-width: 820px; }
.public-registration-choice a,
.public-registration-choice-disabled { align-items: center; border-radius: 5px; display: flex; flex-direction: column; justify-content: center; min-height: 112px; padding: 18px; text-align: center; text-decoration: none; }
.public-registration-choice-primary { background: #08743d; color: #fff; font-size: 1.35rem; font-weight: 850; }
.public-registration-choice-secondary { background: #fff; border: 2px solid #08743d; color: #075f34; font-size: 1.25rem; font-weight: 850; }
.public-registration-choice-secondary small { display: block; font-size: .92rem; font-weight: 600; margin-top: 5px; }
.public-registration-choice-disabled { background: #dfe5e1; color: #68736c; font-weight: 800; }
.public-registration-information { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px auto 0; max-width: 820px; }
.public-registration-information > a,
.public-registration-information-disabled { background: #fff; border: 1px solid #b9cfc0; color: #164c30; display: flex; flex-direction: column; gap: 3px; padding: 11px 14px; text-decoration: none; }
.public-registration-information > a:hover { border-color: #08743d; background: #f4faf5; }
.public-registration-information strong { font-size: 1rem; }
.public-registration-information span { color: #526158; font-size: .86rem; }
.public-registration-information-disabled { opacity: .65; }
.public-player-actions { display: grid; gap: 6px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 8px 0; }
.public-player-actions > a,
.public-player-action-disabled { align-items: center; background: #fff; border: 1px solid #a9c2af; color: #075f34; display: flex; justify-content: center; min-height: 42px; padding: 5px 8px; text-align: center; text-decoration: none; }
.public-player-actions > a:hover { background: #f1f8f3; border-color: #08743d; }
.public-player-actions strong { font-size: .92rem; line-height: 1.1; }
.public-player-actions small { display: block; font-size: .7rem; margin-left: 4px; }
.public-player-actions .public-player-action-primary { background: #08743d; border-color: #08743d; color: #fff; }
.public-player-actions .public-player-action-account { border: 2px solid #08743d; }
.public-player-action-disabled { color: #6d776f; opacity: .72; }
.public-registrants-total { color: #526158; display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: .9rem; margin: 12px 0 6px; }
.public-registrants-total span + span { border-left: 1px solid #b8c9bb; padding-left: 14px; }
.public-registrants-page { display: flex; flex-direction: column; height: 100vh; height: 100dvh; min-height: 0; overflow: hidden; }
.public-registrants-page > .public-player-subpage-header { flex: none; }
.public-registrants-page > .public-tournament-info-shell { display: flex; flex: 1; flex-direction: column; min-height: 0; overflow: hidden; padding-top: 7px; width: min(1040px, 100%); }
.public-registrants-page .public-info-heading,
.public-registrants-page .public-registrants-total,
.public-registrants-page .public-info-actions { flex: none; }
.public-registrants-page .public-info-heading { margin-bottom: 3px; padding-bottom: 3px; }
.public-registrants-page .public-info-section-row p { margin: 0; }
.public-registrants-page .public-tournament-identity { margin-top: 2px; }
.public-registrants-page .public-tournament-identity > div { margin: 1px 0; }
.public-registrants-page .public-registrants-total { margin: 3px 0 4px; }
.public-registrants-page .public-info-actions { margin: 7px 0 0; }
.public-registrants-scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.public-registrants-list { background: #fff; border: 1px solid #c7d5ca; margin: 0; padding: 8px 8px 8px 42px; }
.public-registrants-list li { border-bottom: 1px solid #e1e8e3; font-size: 14px; line-height: 1.35; padding: 4px 5px; }
.public-registrants-list li:last-child { border-bottom: 0; }
@media (min-width: 701px) {
  .public-registrants-list { column-count: 2; column-gap: 36px; }
  .public-registrants-list li { break-inside: avoid; }
  .public-registrant-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}
@media (min-width: 701px) and (max-width: 1024px) {
  .public-registrants-list li { font-size: 15px; }
}
.public-registrant-row { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
.public-registrant-row > span { min-width: 0; }
.public-registrant-row small { color: #526158; flex: none; font-size: .78rem; }
.public-tournament-info-shell { margin: 0 auto; max-width: 1040px; padding: 16px; }
.public-info-back { margin-bottom: 14px; }
.public-info-back a { color: #075f34; font-weight: 750; }
.public-info-heading { border-bottom: 2px solid #08743d; margin-bottom: 16px; padding-bottom: 12px; }
.public-info-section-row { align-items: center; display: flex; justify-content: space-between; }
.public-info-section-row p { margin: 0; }
.public-info-section-row a { color: #075f34; font-size: .94rem; font-weight: 650; text-decoration: underline; }
.public-info-heading p { color: #075f34; font-size: .8rem; font-weight: 850; margin: 0 0 4px; }
.public-info-heading h1 { color: #16231a; font-size: 1.8rem; line-height: 1.15; margin: 0 0 6px; }
.public-info-heading span { color: #526158; }
.public-info-unavailable { background: #fff; border-left: 4px solid #08743d; padding: 14px; }
.public-regulation-section { border-top: 1px solid #cdd8cf; margin-top: 18px; padding-top: 10px; }
.public-regulation-section h2 { color: #075f34; font-size: 1.2rem; margin: 0 0 8px; }
.public-regulation-section dl { margin: 0; }
.public-regulation-section dl > div { display: grid; gap: 12px; grid-template-columns: minmax(160px, 25%) 1fr; padding: 8px 4px; }
.public-regulation-section dl > div:nth-child(odd) { background: #f7faf7; }
.public-regulation-section dt { font-weight: 750; }
.public-regulation-section dd { margin: 0; overflow-wrap: anywhere; }
.public-regulation-page .public-tournament-identity dt,
.public-regulation-page .public-tournament-identity dd,
.public-registrants-page .public-tournament-identity dt,
.public-registrants-page .public-tournament-identity dd { font-size: 13.44px; }
.public-regulation-page .public-regulation-section dt,
.public-regulation-page .public-regulation-section dd { font-size: .84rem; }
.public-regulation-section dd a { display: inline-block; font-weight: 750; margin-left: 6px; }
.public-info-actions { display: flex; flex-wrap: wrap; gap: 9px; margin: 22px 0; }
.public-info-actions a { background: #fff; border: 1px solid #08743d; color: #075f34; font-weight: 750; padding: 10px 14px; text-decoration: none; }
.public-info-actions .public-info-primary { background: #08743d; color: #fff; }
.public-info-actions-ok { justify-content: flex-end; }
.public-info-actions-ok a { min-width: 92px; text-align: center; }
.public-structure-disclaimer { color: #4f6255; font-size: .82rem; margin: 10px 0 6px; }
.public-summary-heading { align-items: flex-start; display: flex; justify-content: space-between; gap: 16px; }
.public-summary-heading-main { flex: 1; min-width: 0; }
.public-structure-page .public-tournament-identity dt,
.public-structure-page .public-tournament-identity dd { font-size: 13.44px; }
.public-summary-model { flex: none; width: min(118px, 28%); margin: 0; }
.public-summary-model-wide { width: min(235px, 40%); }
.public-summary-model img { display: block; width: 100%; height: auto; }
.public-summary-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 14px; margin: 12px 0; font-size: 13.44px; }
.public-summary-group { margin: 12px 0 16px; }
.public-summary-group h2 { font-size: .85rem; margin: 0 0 5px; }
.public-summary-table { background: #fff; border-collapse: collapse; min-width: 750px; width: max-content; max-width: 100%; }
.public-summary-table th,.public-summary-table td { border: 1px solid #809783; font-size: .84rem; line-height: 1.15; padding: 4px 5px; text-align: left; vertical-align: middle; }
.public-summary-table thead th { background: #bdeab4; }
.public-summary-table tbody tr:nth-child(odd) { background: #e2f8de; }

@media (min-width: 701px) and (max-width: 950px) {
  .public-registration-shell { padding-left: 14px; padding-right: 14px; }
  .public-player-banner-panel { left: 14%; width: 78%; }
  .public-player-banner-logo { left: 12%; }
  .public-player-banner-content h2 { left: 30%; }
  .public-player-actions { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .public-player-actions strong { font-size: .82rem; }
  .public-registration-hero h1 { font-size: 25px; }
  .public-registration-intro h2 { font-size: 17px; }
  .public-registration-intro p { font-size: 14px; }
  .public-registration-index-limit { align-items: flex-start; flex-direction: column; font-size: 14px; }
  .public-registration-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-registration-personal .public-registration-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-registration-gender { max-width: 180px; }
  .public-registration-wide { grid-column: 1 / -1; }
  .public-registration-hcp-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-registration-cbg-lookup { grid-column: 1 / -1; }
  .public-registration-hcp-answer { grid-column: 1 / -1; }
  .public-registration-form label > span,
  .public-registration-hcp-answer legend { font-size: 13px; }
  .public-registration-form input,
  .public-registration-form select { font-size: 14px; min-height: 43px; }
  .public-registration-official-field select { font-size: 12px; }
  .public-registration-cbg input,
  .public-registration-compact-field input,
  .public-registration-compact-field select { font-size: 14px; }
  .public-registration-hcp-answer label { font-size: 13px; }
}

@media (max-width: 700px) {
  .public-registration-shell { padding: 0 10px 16px; }
  .public-player-home-sticky { margin-left: -10px; width: calc(100% + 20px); }
  .public-player-home-header { min-height: 38px; padding: 4px 10px; }
  .public-player-home-header a { font-size: 18px; }
  .public-player-home-header span { font-size: 10px; }
  .public-player-home-image { aspect-ratio: auto; background-position: left top; background-size: auto 104px; height: 104px; }
  .public-player-home-image h1 { bottom: 7px; font-size: 12.5px; left: 26%; right: 1%; }
  .public-player-home-body { padding-top: 13px; }
  .public-player-registration-page .public-tournament-identity.public-player-home-stamp dt,
  .public-player-registration-page .public-tournament-identity.public-player-home-stamp dd { font-size: 16px; line-height: 1.25; }
  .public-player-home-sections { grid-template-columns: 1fr; }
  .public-player-home-section h2 { font-size: 20px; }
  .public-player-home-options { grid-template-columns: 1fr; }
  .public-player-home-options > a,
  .public-player-home-options > span { font-size: 19px; min-height: 40px; padding: 8px 10px; }
  .public-player-home-intro { font-size: 14px; }
  .public-player-home-intro-row { align-items: flex-start; flex-wrap: wrap; gap: 5px; }
  .public-player-home-intro-row .public-player-home-refresh { flex: 1 1 auto; text-align: left; }
  .public-player-home-tournament { margin-top: 18px; padding-top: 15px; }
  .public-player-home-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
  .public-player-home-actions > a,
  .public-player-home-actions > span { font-size: 16.8px; min-height: 46px; }
  .public-player-home-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .public-player-banner { aspect-ratio: auto; background-color: #fffef8; background-position: left top; background-size: auto 104px; margin: 0 -10px; overflow: visible; width: calc(100% + 20px); }
  .public-player-banner-content { height: auto; padding-top: 104px; }
  .public-player-banner-desktop-title { display: none; }
  .public-player-banner-logo { display: block; font-size: 16px; left: 33%; position: absolute; text-align: center; top: 1px; }
  .public-player-banner-credit { bottom: auto; display: block; font-size: 8px; left: 31%; text-align: center; top: 18px; width: 66%; }
  .public-player-banner-content h2.public-player-banner-mobile-title { display: block; font-size: 17px; left: 31%; line-height: 1.05; margin: 0; position: absolute; right: 3%; text-align: center; text-shadow: 0 1px 2px #fff; top: 26px; }
  .public-player-banner-mobile-title span { color: #171f1a; display: block; font-weight: 750; }
  .public-player-banner-mobile-title strong { color: #c52b24; display: block; font-weight: 850; }
  .public-player-banner-mobile-intro { color: #424b45; display: block; font-size: 15px; font-weight: 800; line-height: 1.25; margin: 0; padding: 9px 13px 2px; }
  .public-player-banner-panel { background: #fffef8; border: 0; border-radius: 0; display: block; padding: 4px 13px 10px; position: static; width: auto; }
  .public-player-banner-panel ul { font-size: 15px; line-height: 1.3; }
  .public-player-banner-panel ul + ul { border-left: 0; padding-left: 0; }
  .public-player-banner-panel li { margin: 6px 0; }
  .public-registration-hero { border-left: 0; border-right: 0; margin: 0 -10px; }
  .public-registration-hero img { height: auto; }
  .public-registration-brand strong { font-size: 1.35rem; }
  .public-registration-brand span { font-size: .88rem; }
  .public-registration-hero > div { display: block; padding: 12px 14px; }
  .public-registration-hero p { font-size: 1.15rem; }
  .public-registration-hero h1 { font-size: 21px; margin: 4px 0; }
  .public-registration-hero span { font-size: 1.05rem; }
  .public-registration-intro h2 { font-size: 18px; }
  .public-registration-intro p { font-size: 14px; line-height: 1.35; }
  .public-registration-index-limit { align-items: flex-start; flex-direction: column; font-size: 14px; line-height: 1.35; }
  .public-registration-index-limit strong { white-space: normal; }
  .public-registration-form { padding: 6px; }
  .public-registration-form-grid { grid-template-columns: minmax(0, 1fr); }
  .public-registration-personal .public-registration-form-grid { grid-template-columns: minmax(0, 1fr); }
  .public-registration-gender { max-width: 170px; }
  .public-registration-wide { grid-column: auto; }
  .public-registration-grid-full { grid-column: auto; }
  .public-registration-field { padding: 3px 4px 4px; }
  .public-registration-hcp-panel { grid-template-columns: minmax(0, 1fr); padding: 4px; }
  .public-registration-manual-index-field { grid-column: 1; }
  .public-registration-cbg-lookup { grid-column: 1; grid-template-columns: minmax(0, 1fr) auto; }
  .public-registration-cbg-search { min-height: 42px; }
  .public-registration-hcp-answer legend { font-size: 13px; }
  .public-registration-hcp-answer label { font-size: 13px; }
  .public-registration-hcp-note { font-size: 11px; }
  .public-registration-form label > span { font-size: 14px; }
  .public-registration-form label > span small { font-size: 12px; }
  .public-registration-hcp-panel label > span { font-size: 13px; }
  .public-registration-form input,
  .public-registration-form select { font-size: 16px; min-height: 42px; }
  .public-registration-personal input::placeholder { font-size: 13px; }
  .public-registration-official-field select { font-size: 16px; }
  .public-registration-cbg input,
  .public-registration-compact-field input,
  .public-registration-compact-field select { font-size: 16px; }
  .public-registration-cbg-index-field input::placeholder { font-size: 11px; }
  .public-registration-cbg strong { font-size: 11.5px; line-height: 1.3; }
  .public-registration-payment h3 { font-size: .92rem; }
  .public-registration-payment p { font-size: .8rem; }
  .public-registration-partnership p { font-size: .76rem; line-height: 1.35; }
  .public-registration-partnership > div { grid-template-columns: 1fr; }
  .public-registration-additional > div { grid-template-columns: 1fr; }
  .public-player-registration-page .public-registration-partnership legend { font-size: 18px; }
  .public-player-registration-page .public-registration-partnership legend small { font-size: 15px; }
  .public-player-registration-page .public-registration-partnership p,
  .public-player-registration-page .public-registration-additional-note { font-size: 16px; line-height: 1.45; }
  .public-player-registration-page .public-registration-additional h3 { font-size: 18px; }
  .public-registration-submit { min-height: 42px; width: auto; }
  .public-registration-intro { align-items: stretch; flex-direction: column; gap: 8px; }
  .public-registration-intro > a { text-align: center; }
  .public-registration-access-form { grid-template-columns: minmax(0, 1fr); }
  .public-registration-excel-search,
  .public-registration-excel-credentials { grid-template-columns: minmax(0, 1fr); }
  .public-registration-excel-credentials h2,
  .public-registration-excel-credentials p,
  .public-registration-excel-credentials button { grid-column: 1; }
  .public-registration-excel-search button,
  .public-registration-excel-credentials button { justify-self: stretch; }
  .public-registration-access-form label > span,
  .public-registration-excel-search label span,
  .public-registration-excel-credentials label span,
  .public-registration-excel-preview dt { font-size: 13px; }
  .public-registration-excel-preview h2,
  .public-registration-excel-matches h2 { font-size: 14px; }
  .public-registration-excel-preview dl,
  .public-registration-excel-matches label,
  .public-registration-excel-credentials p { font-size: 13px; }
  .public-registration-access-form input,
  .public-registration-excel-search input,
  .public-registration-excel-credentials input { font-size: 16px; min-height: 40px; }
  .public-registration-access-form button,
  .public-registration-excel-search button,
  .public-registration-excel-matches button,
  .public-registration-excel-credentials button { font-size: 13px; min-height: 40px; }
  .public-registration-excel-preview-heading a { font-size: 12px; }
  .public-registration-access-form button { width: 100%; }
  .public-registration-access-actions { justify-content: flex-end; }
  .public-registration-access-actions .secondary-button { min-height: 42px; padding: 10px 12px; }
  .public-registration-actions { align-items: center; flex-direction: row; gap: 6px; }
  .public-registration-actions > span { display: none; }
  .public-registration-actions button { min-height: 42px; width: auto; }
  .public-registration-actions-right { gap: 6px; margin-left: auto; }
  .public-registration-actions-right .secondary-button { min-height: 42px; padding: 10px 12px; }
  .public-registration-cancel { font-size: .82rem; padding: 8px; }
  .public-registration-choice { gap: 12px; grid-template-columns: 1fr; margin: 20px 0; }
  .public-registration-choice a,
  .public-registration-choice-disabled { font-size: 1.2rem; min-height: 92px; }
  .public-registration-information { gap: 6px; margin-top: 10px; }
  .public-registration-information > a,
  .public-registration-information-disabled { padding: 10px; }
  .public-registration-information strong { font-size: .94rem; }
  .public-registration-information span { font-size: .78rem; }
  .public-player-actions { gap: 5px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 7px 0; }
  .public-player-actions > a,
  .public-player-action-disabled { min-height: 36px; padding: 4px 6px; }
  .public-player-actions strong { font-size: .86rem; }
  .public-player-actions small { display: none; }
  .public-player-actions > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .public-registrants-list li { font-size: 18px; line-height: 1.4; padding: 5px 5px; }
  .public-registrants-total { font-size: 17px; line-height: 1.35; }
  .public-tournament-info-shell { padding: 12px 10px; }
  .public-summary-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-info-heading h1 { font-size: 1.45rem; }
  .public-regulation-section dl > div { display: block; padding: 10px 6px; }
  .public-regulation-section dt { margin-bottom: 3px; }
  .public-regulation-section dd a { display: block; margin: 5px 0 0; }
  .public-info-actions a { flex: 1 1 100%; text-align: center; }
  .public-info-actions-ok a { flex: 0 0 auto; min-width: 92px; }
  .public-summary-table th,.public-summary-table td { font-size: .804rem; padding: 3px; }
  .public-regulation-page .public-regulation-section dt,
  .public-regulation-page .public-regulation-section dd { font-size: .804rem; }
  .online-registration-control-form { align-items: stretch; grid-template-columns: 1fr; }
  .online-registration-fee-field,
  .online-registration-includes-field { grid-column: auto; }
  .online-registration-financial-last-row { flex-wrap: wrap; grid-column: auto; }
  .online-registration-financial-last-row button { margin-left: auto; }
  .online-registration-save-row { grid-column: auto; }
  .online-registration-list-heading,
  .online-registration-questions-heading { align-items: stretch; flex-direction: column; gap: 8px; }
  .online-registration-questions-heading button { width: 100%; }
}

.player-index-reference,
.player-index-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 5px;
}
.player-index-preview { border-color: var(--green-dark); }
.player-index-reference span,
.player-index-preview span { font-size: .76rem; font-weight: 700; }
.player-index-reference strong,
.player-index-preview strong { font-size: 1rem; }
.player-index-mode { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0; padding: 8px 9px; border: 1px solid var(--line); border-radius: 5px; }
.player-index-mode legend { padding: 0 4px; font-size: .72rem; font-weight: 800; }
.player-index-mode label { display: flex; align-items: center; gap: 5px; font-size: .76rem; }
.player-index-mode input { min-height: auto; }
.player-index-fields { display: grid; grid-template-columns: 120px 120px minmax(180px, 1fr); gap: 8px; }
.player-index-fields label { font-size: .72rem; font-weight: 800; }
.player-index-reason-field { grid-column: 1 / -1; }
.player-index-fields input,
.player-index-fields select,
.player-index-fields textarea { min-height: 30px; padding: 4px 6px; font-size: .8rem; }
.player-index-fields textarea { width: 100%; min-height: 72px; resize: vertical; line-height: 1.4; }
.player-index-note { margin: -3px 0 0; color: var(--muted); font-size: .66rem; }
.competition-index-note { margin: 5px 0 0; color: var(--muted); font-size: .68rem; font-weight: 400; }

.danger-button {
  color: #fff;
  background: var(--error);
}

.player-add-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 8px;
  align-items: end;
}

.player-add-form label {
  flex: 0 0 126px;
  font-size: 0.86rem;
}

.player-add-form .field-wide {
  flex-basis: 260px;
}

.player-add-form button {
  min-height: 31px;
  padding: 6px 12px;
  font-size: 0.84rem;
}

.roadmap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.roadmap-grid > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
}

.left-actions {
  justify-content: flex-start;
}

.official-summary-card {
  display: grid;
  gap: 11px;
  margin-bottom: 14px;
}

.official-summary-title,
.official-summary-section-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.official-summary-title h1 {
  margin: 0;
  font-size: 1.16rem;
  line-height: 1.25;
  font-weight: 700;
}
.tournament-summary-page .summary-identity { min-width: 0; }
.tournament-summary-page .summary-identity .admin-tournament-identity { margin: 5px 0 0; }
.tournament-summary-page .summary-identity .admin-tournament-identity dt,
.tournament-summary-page .summary-identity .admin-tournament-identity dd { font-size: .72rem; line-height: 1.15; }
.tournament-summary-page .summary-model { flex: none; width: min(118px, 28%); margin: 0; }
.tournament-summary-page .summary-model-wide { width: min(235px, 40%); }
.tournament-summary-page .summary-model img { display: block; width: 100%; height: auto; }
.tournament-structure-heading { align-items: baseline; display: flex; justify-content: space-between; gap: 16px; margin: 2px 0 8px; }
.tournament-structure-heading h1 { color: var(--green); font-size: .78rem; font-weight: 800; margin: 0; }
.tournament-structure-heading span { color: var(--muted); font-size: .78rem; }
.players-page-heading.tournament-structure-heading > span { color: var(--green); }
.players-page-heading.tournament-structure-heading { flex-wrap: wrap; }
.players-page-heading #players-id-summary { font-weight: 700; margin-left: auto; text-align: right; }
:is(#players-message-area, .organizer-message-area) { background: #fff; border: 1px solid var(--line); border-radius: 5px; margin: 0 0 10px; padding: 8px 10px; }
:is(#players-message-area, .organizer-message-area)[hidden] { display: none; }
:is(#players-message-area, .organizer-message-area) h2 { color: var(--muted); font-size: .76rem; font-weight: 650; margin: 0 0 5px; }
:is(#players-message-area, .organizer-message-area) .flash,
:is(#players-message-area, .organizer-message-area) .message { background: transparent; border: 0; border-radius: 0; box-shadow: none; color: #24618a; display: block; font-size: .74rem; font-weight: 400; line-height: 1.3; margin: 3px 0; padding: 0; width: auto; }
:is(#players-message-area, .organizer-message-area) .flash-error,
:is(#players-message-area, .organizer-message-area) .message-error { color: #b42318; }
:is(#players-message-area, .organizer-message-area) .message:empty,
:is(#players-message-area, .organizer-message-area) .flash:empty { display: none; }
:is(#players-message-area, .organizer-message-area) .flash[hidden],
:is(#players-message-area, .organizer-message-area) .message[hidden] { display: none; }
.organizer-message-area .resolve-players-link { font-size: .74rem; font-weight: 400; color: #24618a; text-decoration: underline; }
.scores-page-title { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.scores-page-links { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: center; }
.scores-page-title .scores-page-links button {
  background: none;
  border: 0;
  color: #1764b0;
  cursor: pointer;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 400;
  min-height: 0;
  padding: 0;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.scores-page-title .scores-progress { justify-self: end; text-align: right; }
.scores-status-row { align-items: flex-start; display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.scores-message-area { background: #fff; border: 1px solid var(--line); border-radius: 5px; flex: 1 1 320px; min-width: min(100%, 320px); min-height: 34px; padding: 6px 8px; }
.scores-message-area .organizer-message-area { background: transparent; border: 0; margin: 0; padding: 0; }
.scores-message-area .flash { background: transparent; border: 0; box-shadow: none; color: #24618a; font-size: .74rem; font-weight: 400; line-height: 1.3; margin: 0; padding: 0; }
.scores-message-area .flash-error { color: #b42318; }
.scores-message-area .flash + .flash { margin-top: 4px; }
.scores-interruption-area { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 5px; display: flex; flex: 0 0 auto; justify-content: center; padding: 6px 8px; }
.scores-interruption-area button { font-size: .7rem; min-height: 28px; padding: 4px 8px; }
@media (max-width: 560px) {
  .scores-page-title { grid-template-columns: minmax(0, 1fr) auto; }
  .scores-page-title .scores-page-links { grid-column: 1 / -1; grid-row: 2; }
  .scores-page-title .scores-progress { grid-column: 2; grid-row: 1; }
}
.classification-heading.tournament-structure-heading .classification-heading-actions { align-items: center; flex-direction: row; gap: 8px; }
.classification-heading.tournament-structure-heading h1 { color: var(--green); font-size: .78rem; font-weight: 800; margin: 0; }
.classification-heading.tournament-structure-heading .classification-heading-actions button { font-size: .68rem; min-height: 27px; padding: 4px 8px; }
.tournament-structure-overview { margin-top: 10px; }
.tournament-structure-overview .tournament-overview-card { margin: 0; }
.structure-infographic-link { display: inline-block; color: #24618a; font-size: 14px; margin-top: 12px; text-decoration: underline; text-underline-offset: 2px; }
.structure-infographic-link:visited { color: #24618a; }
.structure-infographic-dialog { border: 1px solid #bdd1c2; border-radius: 6px; box-shadow: 0 12px 36px #0003; max-height: calc(100dvh - 24px); max-width: calc(100vw - 24px); overflow: auto; padding: 12px; }
.structure-infographic-dialog::backdrop { background: #0b2419a8; }
.structure-infographic-dialog-actions { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.structure-infographic-dialog-actions button { background: #fff; border: 1px solid #0a592f; border-radius: 4px; color: #0a592f; cursor: pointer; font: inherit; font-size: .78rem; padding: 5px 10px; }
.structure-infographic-image { margin: 0; width: 300px; }
.structure-infographic-image-wide { width: 600px; }
.structure-infographic-image img { display: block; height: auto; width: 100%; }
.public-structure-page .structure-infographic-image { width: 236px; }
.public-structure-page .structure-infographic-image-wide { width: 470px; }

.summary-generation {
  display: grid;
  gap: 3px;
  min-width: 240px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
  text-align: left;
}

.summary-generation strong {
  color: var(--green-dark);
  font-size: 0.92rem;
}

.summary-generation span,
.official-summary-section-title span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.summary-generation-stale strong {
  color: var(--error);
}

.official-meta-list {
  display: grid;
  gap: 1px;
  width: min(720px, 100%);
}

.official-meta-list > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  min-height: 25px;
  align-items: baseline;
}

.official-meta-list strong {
  padding: 3px 8px 3px 0;
  font-size: 0.78rem;
  line-height: 1.25;
}

.official-meta-list span {
  min-width: 0;
  padding: 3px 0;
  font-size: 0.82rem;
  line-height: 1.25;
}

.official-meta-list .meta-status-stale span {
  color: var(--error);
  font-weight: 700;
}

.summary-alert {
  padding: 9px 11px;
  border: 1px solid #d7c68a;
  border-radius: 7px;
  color: #594600;
  background: #fff8dc;
  font-size: 0.88rem;
  font-weight: 800;
}

.summary-alert-error {
  border-color: #e4aaa4;
  color: var(--error);
  background: #fff0ee;
}

.official-summary-section-title h2 {
  margin: 0;
  font-size: 1.04rem;
}

.screen-summary-group {
  display: grid;
  gap: 7px;
  padding-top: 8px;
  border-top: 1px solid var(--line);
}

.screen-summary-group h3 {
  margin: 0;
  font-size: 0.98rem;
}

.screen-summary-table {
  width: 100%;
  min-width: 840px;
  margin-top: 0;
  font-size: 0.86rem;
}

.screen-summary-table th,
.screen-summary-table td {
  padding: 6px 7px;
}

.screen-summary-table td:nth-child(1),
.screen-summary-table td:nth-child(3),
.screen-summary-table td:nth-child(6) {
  text-align: center;
}

.category-summary-table {
  min-width: 0;
  width: max-content;
  margin-right: auto;
}

.category-summary-table th,
.category-summary-table td {
  white-space: nowrap;
}

.tournament-summary-page .category-summary-table :is(th, td):nth-child(7),
.public-structure-page .category-summary-table :is(th, td):nth-child(7) {
  box-sizing: border-box;
  min-width: 200px;
  width: 200px;
  max-width: 200px;
}

.compact-screen-summary-table {
  min-width: 0;
  width: max-content;
  max-width: 100%;
}

.tournament-summary-page .screen-summary-table thead th,
.public-structure-page .screen-summary-table thead th {
  background: #0A592F;
  border-color: #0A592F;
  color: #fff;
}
.tournament-summary-page .screen-summary-table tbody tr,
.public-structure-page .screen-summary-table tbody tr { background: #fff; }
.public-structure-page .screen-summary-table { margin-top: 0; }
.public-summary-processing { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 9px; }
.public-summary-processing-heading { align-items: baseline; display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: space-between; margin-bottom: 7px; }
.public-summary-processing-heading h2 { font-size: .98rem; margin: 0; }
.public-summary-processing-heading span { color: var(--muted); font-size: .82rem; font-weight: 700; }

/* Resumo: alta densidade em monitor, sem alterar os formularios do torneio. */
@media (min-width: 900px) {
  .tournament-summary-page .page-shell {
    width: min(1120px, calc(100% - 28px));
    margin-top: 8px;
    margin-bottom: 16px;
  }

  .tournament-summary-page .official-summary-card {
    gap: 5px;
    margin-bottom: 7px;
    padding: 9px 11px;
  }

  .tournament-summary-page .official-summary-title,
  .tournament-summary-page .official-summary-section-title {
    gap: 10px;
    align-items: center;
  }

  .tournament-summary-page .eyebrow {
    margin-bottom: 1px;
    font-size: .62rem;
  }

  .tournament-summary-page .official-summary-title h1 {
    font-size: .96rem;
    line-height: 1.12;
  }

  .tournament-summary-page .official-meta-list {
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    column-gap: 18px;
    width: min(980px, 100%);
  }

  .tournament-summary-page .official-meta-list > div {
    grid-template-columns: 112px minmax(0, 1fr);
    min-height: 18px;
  }

  .tournament-summary-page .official-meta-list strong { white-space: nowrap; }

  .tournament-summary-page .official-meta-list strong,
  .tournament-summary-page .official-meta-list span {
    padding-top: 1px;
    padding-bottom: 1px;
    font-size: .76rem;
    line-height: 1.3;
  }

  .tournament-summary-page .summary-alert {
    padding: 5px 8px;
    font-size: .7rem;
    font-weight: 700;
  }

  .tournament-summary-page .official-summary-section-title h2,
  .public-structure-page .official-summary-section-title h2 {
    font-size: .78rem;
  }

  .tournament-summary-page .official-summary-section-title span {
    font-size: .74rem;
  }

  .tournament-summary-page .tournament-summary-groups {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .tournament-summary-page .screen-summary-group {
    gap: 3px;
    padding-top: 4px;
  }

  .tournament-summary-page .screen-summary-group h3,
  .public-structure-page .screen-summary-group h3 {
    font-size: .78rem;
  }

  .tournament-summary-page .screen-summary-table {
    min-width: 0;
    width: max-content;
    max-width: 100%;
    font-size: .76rem;
  }

  .public-structure-page .screen-summary-table {
    min-width: 0;
    width: max-content;
    max-width: 100%;
    font-size: .76rem;
  }

  .public-structure-page .screen-summary-table th,
  .public-structure-page .screen-summary-table td {
    padding: 3px 5px;
    line-height: 1.12;
  }

  .tournament-summary-page .screen-summary-table th,
  .tournament-summary-page .screen-summary-table td {
    padding: 3px 5px;
    line-height: 1.12;
  }

  .tournament-summary-page .tournament-reopen-panel .danger-button {
    min-height: 28px;
    padding: 5px 10px;
    font-size: .72rem;
  }
}

.card {
  padding: 20px;
}

.narrow {
  max-width: 520px;
  margin: 54px auto;
}

.form-stack {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

label {
  display: grid;
  gap: 6px;
  font-weight: 700;
}

input,
select {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #bcc8bf;
  border-radius: 6px;
  font: inherit;
  background: #fff;
}

.tournament-form input,
.tournament-form select {
  font-weight: 400;
}

button,
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 0;
  border-radius: 6px;
  color: #fff;
  background: var(--green);
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.button.secondary {
  color: var(--green-dark);
  border: 1px solid var(--line);
  background: #fff;
}

.secondary-button {
  color: var(--green-dark);
  border: 1px solid var(--line);
  background: #fff;
}

.button.disabled,
.button[aria-disabled="true"],
button:disabled {
  color: #6d766f;
  background: #d9dedb;
  cursor: not-allowed;
  opacity: 0.8;
}

.notice,
.flash {
  padding: 12px 14px;
  border-radius: 6px;
  margin-bottom: 14px;
}

.notice {
  color: var(--green-dark);
  background: var(--soft);
}

.flash-error {
  color: #fff;
  background: var(--error);
}

.flash-success {
  color: #fff;
  background: var(--success);
}

.conference-feedback .flash-success,
.conference-feedback .conference-online-notice { background: transparent; border: 0; box-shadow: none; color: #24618a; font-size: .74rem; font-weight: 400; line-height: 1.3; margin: 4px 0 8px; padding: 0; }

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 12px;
}

th,
td {
  padding: 10px 9px;
  border: 1px solid var(--line);
  text-align: left;
}

th {
  background: #d9d9d9;
  font-weight: 800;
}

.table-action {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 6px;
  color: #fff;
  background: var(--green);
  text-decoration: none;
  font-weight: 800;
}

.table-actions {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}

.secondary-action {
  color: var(--green-dark);
  border: 1px solid var(--line);
  background: #fff;
}

.tournament-form {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.tournament-form h2 {
  font-size: 1rem;
  margin: 0;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px 10px;
}

.tournament-form label {
  gap: 3px;
  font-size: 0.86rem;
}

.tournament-form input,
.tournament-form select {
  min-height: 28px;
  padding: 4px 7px;
  font-size: 0.92rem;
}

.field-wide {
  grid-column: span 2;
}

.global-form .form-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-start;
  gap: 6px 10px;
}

.global-form .form-grid label {
  flex: 0 0 136px;
}

.global-form .form-grid .field-wide {
  flex-basis: 300px;
}

.global-form .form-grid .cbg-only-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: flex-end;
  gap: 6px;
  flex-basis: 200px;
  min-height: 32px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #f0f7f2;
  cursor: pointer;
}
.global-form .form-grid .cbg-only-field input { width: 15px; height: 15px; min-height: 0; flex: 0 0 15px; margin: 0; padding: 0; accent-color: var(--green); cursor: inherit; }
.global-form .form-grid .cbg-only-field span { font-size: .74rem; line-height: 1.3; font-weight: 600; color: var(--green-dark); }
.global-form .form-grid .cbg-only-field-locked { background: #f1f3f1; cursor: default; }
.global-form .form-grid .cbg-only-field-locked span { color: var(--muted); }

.global-form .form-grid label:nth-child(7) {
  flex-basis: 210px;
}

.global-form .form-grid .max-index-field {
  flex-basis: 230px;
}

.global-form .fixed-parameters {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d9bd65;
  border-radius: 7px;
  background: #fff9df;
}

.fixed-parameters-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
}

.fixed-parameters-heading h2 { margin: 0; color: #423817; font-size: 1rem; }
.fixed-parameters-heading span { color: #665828; font-size: .78rem; }

.global-form .other-parameters { display: grid; gap: 12px; }

.hcp-policy-fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 18px;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #d9bd65;
  border-radius: 7px;
}

.hcp-policy-fieldset legend { padding: 0 5px; font-size: .84rem; font-weight: 800; }
.hcp-policy-fieldset label { display: inline-flex; align-items: center; gap: 5px; }
.hcp-policy-fieldset input { width: 15px; height: 15px; min-height: 0; padding: 0; accent-color: var(--green); }

.technical-model-hotspot:has(input:disabled:not(:checked)) { opacity: .45; cursor: not-allowed; }

.max-index-field small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 400;
}

.max-index-policy-fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 18px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.max-index-policy-fieldset legend {
  padding: 0 5px;
  font-size: .84rem;
  font-weight: 800;
}

.max-index-policy-fieldset label {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  width: auto;
  margin: 0;
  font-weight: 500;
}

.max-index-policy-fieldset input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.max-index-policy-fieldset label:has(input:disabled) {
  color: var(--muted);
}

.holes-fieldset {
  margin: 0;
  padding: 7px 9px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.holes-fieldset legend {
  padding: 0 6px;
  font-weight: 800;
  font-size: 0.9rem;
}

.holes-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin: -2px 0 5px;
}

.mini-button {
  min-height: 24px;
  padding: 4px 9px;
  font-size: 0.82rem;
}

.holes-grid {
  display: grid;
  grid-template-columns: repeat(18, minmax(30px, 1fr));
  gap: 4px;
}

.holes-grid label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 23px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--soft);
  font-size: 0.84rem;
}

.holes-grid input {
  width: auto;
  min-height: auto;
  margin: 0 4px 0 0;
}

.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.tournament-parameters-page .creation-save-notice {
  flex-basis: 100%;
  margin: 4px 0 0;
  color: #315c44;
  font-size: .82rem;
  line-height: 1.35;
}

.subscribers-form {
  gap: 12px;
}

.upload-panel {
  display: grid;
  justify-content: start;
  gap: 6px;
}

.file-field {
  display: grid;
  width: min(460px, 100%);
}

.helper-text {
  max-width: 680px;
  font-size: 0.86rem;
}

.subscribers-actions {
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.subscribers-actions .button,
.subscribers-actions button {
  flex: 0 0 auto;
  width: auto;
  min-height: 31px;
  padding: 6px 10px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.15;
  white-space: nowrap;
}

.pretournament-capabilities {
  display: grid;
  font-size: .76rem;
  gap: 2px 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style-position: inside;
  margin: 0;
  padding: 0;
}
.pretournament-capabilities-card { background: #fff; margin-top: 9px; padding: 9px 12px; }

.pretournament-section,
.pretournament-summary-card {
  margin-top: 10px;
}

.pretournament-section-title {
  border-bottom: 1px solid var(--line);
  font-size: .88rem;
  line-height: 1.15;
  margin: 0;
  padding: 0 0 6px;
}

.pretournament-section {
  display: grid;
  gap: 7px;
}

.pretournament-process-card > button {
  justify-self: start;
  min-height: 31px;
  padding: 6px 10px;
  width: auto;
}

.pretournament-process-card {
  align-items: center;
  grid-template-columns: auto auto;
  justify-content: start;
  padding: 6px 10px;
}

.pretournament-message-center:empty,
.pretournament-message-center .message:empty {
  display: none;
}

.pretournament-message-center .flash,
.pretournament-message-center .message {
  background: #fff;
  border: 0;
  border-radius: 0;
  font-size: .78rem;
  font-weight: 400;
  margin: 0 0 5px;
  min-height: 0;
  padding: 3px 2px;
}

.pretournament-summary-card,
.pretournament-preview-card {
  padding: 7px 10px;
}

.pretournament-summary-card .pretournament-section-title,
.pretournament-preview-card .pretournament-section-title {
  font-size: .78rem;
  padding-bottom: 3px;
}

.pretournament-summary {
  display: grid;
  gap: 4px;
  padding-top: 2px;
}

.pretournament-summary[hidden] {
  display: none;
}

.pretournament-summary .result-heading {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-start;
}

.pretournament-summary .result-heading h3 {
  font-size: .78rem;
  margin: 0;
}

.pretournament-summary .index-pill {
  background: #eef3db;
  border: 1px solid var(--line);
  font-size: .7rem;
  padding: 2px 6px;
}

.pretournament-preview-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
}

.pretournament-preview-button {
  align-items: center;
  display: inline-flex;
  font-size: .7rem;
  font-weight: 700;
  justify-content: center;
  min-height: 23px;
  padding: 2px 7px;
  text-decoration: none;
  width: auto;
}

a.pretournament-preview-button {
  background: var(--header-green);
  border-color: var(--header-green);
  color: #fff;
}

.pretournament-preview-button:disabled {
  background: #e4e8e5;
  border-color: #aeb7b1;
  color: #67726b;
  opacity: 1;
}

.pretournament-preview-draw {
  margin-left: 4px;
}

.pretournament-draw-head-panel { border: 1px solid #819087; margin: 4px 0; padding: 0; }
.pretournament-draw-mobile-metadata { display: none; }
.pretournament-draw-sticky-head { background: #fff; position: sticky; top: var(--pretournament-app-header-height, 48px); z-index: 15; }
.pretournament-draw-hero { background: #fff; position: static; }
.pretournament-draw-hero.pretournament-report-title-panel { max-width: none; width: 100%; }
.pretournament-draw-global-data { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pretournament-draw-global-data > div { border-right: 1px solid #819087; display: grid; grid-template-columns: max-content minmax(0, 1fr); min-width: 0; }
.pretournament-draw-global-data > div:last-child { border-right: 0; }
.pretournament-draw-global-data strong, .pretournament-draw-global-data span { font-size: .82rem; padding: 6px 8px; white-space: nowrap; }
.pretournament-draw-global-data strong { background: #F1F8F3; border-right: 1px solid #cbd5cf; color: #17432b; font-weight: 700; }
.pretournament-draw-global-data span { overflow: hidden; text-align: center; text-overflow: ellipsis; }
.pretournament-draw-group-lines { border-top: 1px solid #819087; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pretournament-draw-group-lines > div { border-bottom: 1px solid #cbd5cf; font-size: .76rem; min-width: 0; padding: 5px 8px; }
.pretournament-draw-group-lines > div:nth-child(odd) { border-right: 1px solid #819087; }
.pretournament-draw-group-lines > div:last-child,
.pretournament-draw-group-lines > div:nth-last-child(2):nth-child(odd) { border-bottom: 0; }
.pretournament-draw-group-lines strong { font-weight: 700; }
.pretournament-draw-report { margin-top: 0; overflow: visible; padding: 0; }
.pretournament-draw-table { border-collapse: collapse; margin: 0; table-layout: fixed; width: 100%; }
.pretournament-draw-table th, .pretournament-draw-table td { border: 1px solid #8b958f; font-size: .8rem; padding: 4px 3px; text-align: center; }
.pretournament-draw-table th { background: var(--header-green); border-bottom-color: var(--header-green); box-shadow: inset 0 -1px 0 var(--header-green); color: #fff; position: sticky; top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-draw-header-height, 0px)); z-index: 4; }
.pretournament-draw-table td:nth-child(2) { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.pretournament-player-id span,
.pretournament-category-player span,
.pretournament-draw-player span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pretournament-player-id small,
.pretournament-category-player small,
.pretournament-draw-player small { color: #65726b; display: block; font-size: .68rem; font-weight: 400; line-height: 1.1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pretournament-draw-table :is(th, td):nth-child(9),
.pretournament-draw-table :is(th, td):nth-child(11) { font-size: .66rem; white-space: nowrap; }
.pretournament-draw-table :is(th, td):nth-child(10) { font-size: .54rem; white-space: nowrap; }
.pretournament-draw-mobile-club { color: #65726b; font-size: .76rem; margin: 0; padding: 5px 10px 0; }
.pretournament-category-mobile dd small,
.pretournament-draw-mobile dd small { color: #65726b; font-size: .72em; }
.pretournament-draw-table tbody tr:nth-child(even) { background: #edf4d0; }
.pretournament-draw-group-start td { border-top: 2px solid #1f5b45; }
.pretournament-draw-table td.pretournament-draw-merged { background: #fff; vertical-align: middle; }
.pretournament-draw-table tbody tr:nth-child(even) td.pretournament-draw-merged { background: #fff; }
.pretournament-partnership-mark { color: #b42318; font-weight: 800; }
.pretournament-partner-name { color: #b42318; }
.pretournament-partnership-mark { font-size: .85em; white-space: nowrap; }
.pretournament-draw-table th:nth-child(1) { width: 68px; }
.pretournament-draw-table th:nth-child(2) { width: 210px; }
.pretournament-draw-table th:nth-child(3) { width: 38px; }
.pretournament-draw-table th:nth-child(4) { width: 48px; }
.pretournament-draw-table th:nth-child(5),
.pretournament-draw-table th:nth-child(6) { width: 42px; }
.pretournament-draw-table th:nth-child(7),
.pretournament-draw-table th:nth-child(8) { width: 48px; }
.pretournament-draw-table th:nth-child(9) { width: 96px; }
.pretournament-draw-table th:nth-child(10) { width: 88px; }
.pretournament-draw-table th:nth-child(11) { width: 76px; }
.pretournament-draw-table th:nth-child(12) { width: 108px; }
.pretournament-draw-table th:nth-child(13) { width: 54px; }
.pretournament-draw-table th:nth-child(14) { width: 50px; }
.pretournament-draw-mobile { display: none; }
.pretournament-draw-page { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.pretournament-draw-title-copy { flex: 1 1 auto; min-width: 0; }
.pretournament-draw-subtitle { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; white-space: nowrap; }
.pretournament-draw-subtitle > span { min-width: 0; }
.pretournament-draw-actions { display: none; }
.pretournament-draw-responsive-copy, .pretournament-draw-collapse-all { display: none; }
.pretournament-draw-collapse-all { background: transparent; border: 0; color: #536159; cursor: pointer; font-size: 11px; font-weight: 600; min-height: 0; padding: 0; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }

.public-pretournament-page { background: #f4f7f4; }
.public-pretournament-brand { justify-content: space-between; }
.public-pretournament-brand > .brand-credit { text-align: right; }
@media (max-width: 480px) {
  .public-pretournament-brand .public-player-home-logo,
  .public-conference-header .public-player-home-logo { width: 125px; }
  .public-pretournament-brand > .brand-credit,
  .public-conference-header .public-conference-credit,
  .public-classification-credit { font-size: .62rem; max-width: 46%; white-space: normal; }
}
.public-pretournament-shell { margin: 0 auto; max-width: 1180px; padding: 12px; }
.public-pretournament-draw-shell,
.public-pretournament-category-shell { padding-top: 0; }
.public-pretournament-hub-shell { margin: 0 auto; max-width: 820px; padding: 28px 18px; }
.public-pretournament-hub-heading { border-bottom: 1px solid #b8c4bd; padding: 0 0 14px; }
.public-pretournament-hub-heading p { color: #315c44; font-size: .72rem; font-weight: 800; margin: 0 0 3px; }
.public-pretournament-hub-heading h1 { font-size: 1.45rem; margin: 0; }
.public-pretournament-hub-heading span { color: #536159; display: block; font-size: .9rem; margin-top: 3px; }
.public-pretournament-hub-heading small { color: #68736d; display: block; font-size: .72rem; margin-top: 7px; }
.public-pretournament-document-menu { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 16px; }
.public-pretournament-document-menu a { background: #fff; border: 1px solid #819087; border-left: 5px solid #315c44; color: #163d2f; display: block; min-height: 78px; padding: 13px 15px; text-decoration: none; }
.public-pretournament-document-menu a:hover { background: #eef3db; }
.public-pretournament-document-menu strong { display: block; font-size: 1rem; }
.public-pretournament-document-menu span { color: #536159; display: block; font-size: .78rem; line-height: 1.3; margin-top: 4px; }
.public-pretournament-categories-hub .public-pretournament-hub-heading { padding-bottom: 8px; }
.public-pretournament-tournament-stamp { margin: 8px 0 0; }
.public-pretournament-tournament-stamp > div { align-items: baseline; display: flex; gap: 4px; margin: 1px 0; }
.public-pretournament-tournament-stamp dt,
.public-pretournament-tournament-stamp dd { color: #17241b; font-size: .72rem; line-height: 1.15; margin: 0; }
.public-pretournament-tournament-stamp dd { font-weight: 750; }
.public-pretournament-category-prompt { color: #315c44; font-size: .82rem; font-weight: 650; margin: 14px 0 5px; }
.public-pretournament-categories-hub .public-pretournament-document-menu { gap: 5px; grid-template-columns: 1fr; margin-top: 0; }
.public-pretournament-categories-hub .public-pretournament-document-menu a { align-items: center; display: flex; gap: 8px; justify-content: space-between; min-height: 38px; padding: 5px 9px; }
.public-pretournament-categories-hub .public-pretournament-document-menu strong { font-size: .78rem; line-height: 1.2; min-width: 0; }
.public-pretournament-categories-hub .public-pretournament-document-menu span { flex: none; font-size: .85rem; margin: 0; white-space: nowrap; }
@media (max-width: 700px) {
  .public-pretournament-categories-hub .public-pretournament-hub-shell { padding: 10px; }
  .public-pretournament-categories-hub .public-pretournament-document-menu a { min-height: 40px; }
  .public-pretournament-categories-hub .public-pretournament-document-menu strong { font-size: .9rem; }
  .public-pretournament-categories-hub .public-pretournament-document-menu span { font-size: .9rem; }
}
.public-pretournament-document-nav { margin: 0; padding: 4px 0; text-align: right; }
.public-pretournament-document-nav a { color: #075f34; font-size: .94rem; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 700px) {
  .public-info-section-row a,
  .public-pretournament-document-nav a { align-items: center; display: inline-flex; font-size: 1rem; min-height: 44px; padding: 7px 2px; }
}
.publication-controls {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.publication-controls label {
  align-items: center;
  display: inline-flex;
  white-space: nowrap;
}

.publication-controls input[type="radio"] {
  margin: 0;
  min-height: 0;
  padding: 0;
}

.pretournament-publication-controls { gap: 8px 18px; }
.pretournament-publication-controls label {
  font-size: .78rem;
  font-weight: 700;
  gap: 5px;
}

.pretournament-publication-controls button { font-size: .72rem; min-height: 28px; padding: 4px 9px; }
.pretournament-publication-controls span { color: #8a1f18; font-size: .72rem; }

.pretournament-draw-mobile .pretournament-mobile-columns {
  border-bottom: 1px solid #315c44;
  box-shadow: inset 0 -1px 0 #315c44;
  top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-draw-header-height, 0px));
}

@media (max-width: 1100px) {
  .pretournament-draw-page .pretournament-draw-hero { padding-bottom: 5px; padding-top: 5px; }
  .pretournament-draw-page .pretournament-report-back { display: none; }
  .pretournament-category-page .pretournament-report-back { display: none; }
  .pretournament-draw-head-panel { display: none; }
  .pretournament-draw-mobile-metadata { display: block; margin: 4px 6px 6px; }
  .pretournament-draw-mobile-metadata > summary {
    align-items: center;
    background: #fff;
    border: 1px solid #819087;
    color: #315c44;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: space-between;
    list-style: none;
    min-height: 32px;
    padding: 4px 8px;
  }
  .pretournament-draw-mobile-metadata > summary::-webkit-details-marker { display: none; }
  .pretournament-draw-mobile-metadata[open] .pretournament-draw-metadata-arrow { transform: rotate(180deg); }
  .pretournament-draw-mobile-metadata-content {
    background: #fff;
    border: 1px solid #819087;
    border-top: 0;
    padding: 5px 8px;
  }
  .pretournament-draw-mobile-metadata-content dl {
    display: grid;
    font-size: 14px;
    gap: 3px 10px;
    grid-template-columns: 76px minmax(0, 1fr);
    margin: 0;
  }
  .pretournament-draw-mobile-metadata-content dt { font-weight: 700; }
  .pretournament-draw-mobile-metadata-content dd { margin: 0; }
  .pretournament-draw-mobile-metadata-groups { border-top: 1px solid #cbd5cf; margin-top: 7px; padding-top: 4px; }
  .pretournament-draw-mobile-metadata-groups p { font-size: 14px; line-height: 1.25; margin: 4px 0; }
  .pretournament-draw-desktop { display: none; }
  .pretournament-draw-mobile { display: block; }
  .pretournament-draw-responsive-copy { color: #536159; display: inline; font-size: 12px; font-weight: 400; }
  .pretournament-draw-collapse-all { display: inline; }
  .pretournament-draw-mobile .pretournament-mobile-columns,
  .pretournament-draw-mobile .pretournament-mobile-player summary { display: grid; gap: 2px; grid-template-columns: minmax(0, 1fr) 62px 58px 100px 90px 106px 60px 64px; }
  .pretournament-draw-mobile .pretournament-mobile-columns { background: var(--header-green); color: #fff; font-size: 12px; font-weight: 700; min-height: 32px; padding: 3px 4px; position: sticky; text-align: center; z-index: 3; }
  .public-pretournament-page .pretournament-draw-mobile .pretournament-mobile-columns { top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-draw-header-height, 0px)); }
  .pretournament-draw-mobile-group { position: relative; }
  .pretournament-draw-mobile-group + .pretournament-draw-mobile-group { border-top: 2px solid #315c44; }
  .pretournament-draw-mobile .pretournament-mobile-player { background: #fff; border-bottom: 1px solid #819087; }
  .pretournament-draw-mobile .pretournament-mobile-player.draw-mobile-even { background: #eef3db; }
  .pretournament-draw-mobile .pretournament-mobile-player summary { align-items: center; cursor: pointer; font-size: 14px; list-style: none; min-height: 32px; padding: 3px 4px; }
  .pretournament-draw-mobile .pretournament-mobile-player summary::-webkit-details-marker { display: none; }
  .pretournament-draw-mobile .pretournament-mobile-player summary span:first-child { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
  .pretournament-draw-mobile .pretournament-mobile-player summary span:not(:first-child),
  .pretournament-draw-mobile .pretournament-mobile-player summary strong { min-width: 0; overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
  .pretournament-draw-mobile .pretournament-mobile-player[open] .pretournament-draw-row-group-value { font-weight: 700; }
  .pretournament-draw-mobile-merged { background: #fff; display: grid; gap: 2px; grid-template-columns: 60px 64px; height: calc(var(--draw-mobile-group-size) * 32px); position: absolute; right: 0; top: 0; width: 130px; z-index: 2; }
  .pretournament-draw-mobile-merged strong { align-items: center; border-left: 1px solid #819087; display: flex; font-size: 13px; justify-content: center; min-width: 0; text-align: center; }
  .pretournament-draw-mobile-merged strong:last-child { border-right: 1px solid #819087; }
  .pretournament-draw-row-group-value { visibility: hidden; }
  .pretournament-draw-mobile-group:has(.pretournament-mobile-player[open]) .pretournament-draw-mobile-merged { display: none; }
  .pretournament-draw-mobile-group:has(.pretournament-mobile-player[open]) .pretournament-draw-row-group-value { visibility: hidden; }
  .pretournament-draw-mobile-group .pretournament-mobile-player[open] .pretournament-draw-row-group-value { visibility: visible; }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band { background: transparent; display: grid; gap: 12px; margin: 0; padding: 7px 10px; }
  .pretournament-draw-page .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band-primary { border-top: 1px solid #cbd5cf; }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band-primary { grid-template-columns: 1.1fr .5fr .65fr .65fr .75fr 1.5fr; }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band-secondary { display: none; }
  .pretournament-draw-mobile .pretournament-mobile-player dl > div { display: block; min-width: 0; text-align: left; }
  .pretournament-draw-mobile .pretournament-mobile-player dt { font-size: 11px; font-weight: 700; line-height: 1.1; margin: 0; text-align: left; white-space: nowrap; }
  .pretournament-draw-mobile .pretournament-mobile-player dd { font-size: 14px; line-height: 1.15; margin: 3px 0 0; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 680px), (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  html:has(body.pretournament-draw-page) { font-size: 80%; }
  .app-header,
  .public-pretournament-brand { z-index: 20; }
  .pretournament-draw-hero { flex-direction: row; padding-left: 8px; }
  .pretournament-draw-subtitle { gap: 5px; }
  .pretournament-draw-responsive-copy { font-size: 10px; }
  .pretournament-draw-collapse-all { font-size: 9px; }
  .pretournament-draw-global-data strong, .pretournament-draw-global-data span { font-size: .72rem; padding: 5px 4px; }
  .pretournament-draw-group-lines > div { font-size: .7rem; padding: 4px 5px; }
  .pretournament-draw-mobile .pretournament-mobile-columns,
  .pretournament-draw-mobile .pretournament-mobile-player summary { grid-template-columns: minmax(0, 1fr) 44px 84px 46px 54px; }
  .pretournament-draw-tablet-field { display: none; }
  .pretournament-draw-mobile .pretournament-mobile-columns { font-size: 13px; min-height: 34px; }
  .pretournament-draw-mobile .pretournament-mobile-player summary { font-size: 15px; min-height: 34px; }
  .pretournament-draw-mobile .pretournament-mobile-player summary > span:nth-child(6) { font-size: 13px; line-height: 1; overflow-wrap: anywhere; }
  .pretournament-draw-mobile-merged { grid-template-columns: 46px 54px; height: calc(var(--draw-mobile-group-size) * 34px); width: 106px; }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band { gap: 8px; padding: 7px 8px; }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-band-secondary { border-top: 1px solid #cbd5cf; display: grid; grid-template-columns: .85fr 1.5fr 1fr; }
  .pretournament-draw-mobile .pretournament-mobile-player dt { font-size: 12px; }
  .pretournament-draw-mobile .pretournament-mobile-player dd { font-size: 15px; }
  .public-pretournament-hub-shell { padding: 18px 10px; }
  .public-pretournament-document-menu { grid-template-columns: 1fr; }
  .public-pretournament-document-menu a { min-height: 64px; padding: 10px 12px; }
}

.pretournament-download-card .subscribers-actions {
  border: 0;
  padding: 0;
}
.pretournament-admin-page .pretournament-process-card { grid-template-columns: 1fr; }
.pretournament-admin-page .pretournament-process-card > button { justify-self: center; min-height: 30px; padding: 5px 10px; border-radius: 6px; font-size: .88rem; }
.pretournament-admin-page .pretournament-process-card > button:not(:disabled) { background: var(--header-green); }
.pretournament-admin-page .pretournament-download-card .subscribers-actions button { min-height: 30px; padding: 5px 10px; border: 2px solid var(--header-green); border-radius: 6px; font-size: .78rem; }
.pretournament-admin-page .pretournament-download-card .subscribers-actions button:not(:disabled) { background: #fff; color: var(--header-green); }
.pretournament-admin-page :is(.pretournament-process-card > button, .pretournament-download-card .subscribers-actions button):active { color: #A9ABAE; }

.pretournament-publication-download {
  opacity: .82;
}

.pretournament-view-hero {
  align-items: center;
}

.pretournament-report-title-panel {
  margin-left: auto;
  margin-right: auto;
  width: min(100%, 920px);
}

.pretournament-category-sticky-head .pretournament-report-title-panel {
  gap: 8px;
  margin-bottom: 2px;
  padding: 4px 8px;
}

.pretournament-category-page:not(.public-pretournament-category-page) .pretournament-report-title-panel p.pretournament-view-group {
  margin-top: 0;
}

.pretournament-report-title-panel h1 {
  align-items: baseline;
  color: #68736d;
  display: flex;
  gap: 5px;
  min-width: 0;
}

.pretournament-report-title-panel h1 strong {
  font-size: 1rem;
}

.pretournament-report-title-panel h1 span {
  font-size: .86rem;
  font-weight: 400;
  min-width: 0;
}

.pretournament-category-sticky-head {
  background: #fff;
  display: flow-root;
  position: sticky;
  top: var(--pretournament-app-header-height, 48px);
  z-index: 4;
}

.pretournament-view-hero h1 {
  font-size: 1.12rem;
  margin: 0;
}

.pretournament-view-hero p.pretournament-view-course {
  color: #536159;
  font-size: .98rem;
  margin: 3px 0 0;
}

.pretournament-view-hero p.pretournament-view-group {
  font-size: .86rem;
  margin: 4px 0 0;
}

.pretournament-report-title-panel p.pretournament-view-group {
  color: #161b18;
  font-size: .86rem;
  margin-top: 3px;
}

.pretournament-report-back {
  color: #68736d;
  font-size: .82rem;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}

.pretournament-category-report {
  margin-top: 10px;
  padding: 10px;
}

.pretournament-category-data-panel {
  margin-top: 4px;
  padding: 8px 10px;
}

@media (max-width: 700px), (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  .pretournament-category-page .page-shell > .organizer-tournament-stamp-top dt,
  .pretournament-category-page .page-shell > .organizer-tournament-stamp-top dd,
  .public-pretournament-categories-hub .public-pretournament-tournament-stamp dt,
  .public-pretournament-categories-hub .public-pretournament-tournament-stamp dd {
    font-size: 13.5px;
    line-height: 1.15;
  }

  .public-pretournament-category-page .pretournament-report-title-panel h1 strong { font-size: 15px; }
  .public-pretournament-category-page .pretournament-report-title-panel h1 span { font-size: 13px; }
  .public-pretournament-category-page .pretournament-category-mobile-metadata-grid > div:first-child strong { font-size: 14px; }
  .public-pretournament-category-page .pretournament-category-mobile-metadata-grid > div:first-child span { font-size: 15px; }
}

.pretournament-category-metadata {
  --pretournament-metadata-label-width: 72px;
  border: 1px solid #819087;
  margin: 0 auto;
  max-width: 920px;
}

.pretournament-metadata-row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (min-width: 901px) and (min-height: 521px) {
  .pretournament-metadata-row {
    grid-template-columns: 1.8fr 1.2fr 1.4fr 1fr 2.7fr;
  }
}

@media (min-width: 681px) and (max-width: 900px) {
  .pretournament-metadata-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pretournament-metadata-row > div:last-child { grid-column: 1 / -1; }
}

.pretournament-metadata-row + .pretournament-metadata-row {
  border-top: 1px solid #819087;
}

.pretournament-metadata-row > div {
  border-right: 1px solid #819087;
  display: grid;
  grid-template-columns: var(--pretournament-metadata-label-width) minmax(0, 1fr);
  min-width: 0;
}

.pretournament-metadata-row > div:last-child {
  border-right: 0;
}

.pretournament-metadata-row strong,
.pretournament-metadata-row span {
  font-size: .72rem;
  padding: 5px 6px;
  white-space: nowrap;
}

.pretournament-metadata-row strong {
  background: #F1F8F3;
  border-right: 1px solid #cbd5cf;
  color: #17432b;
  font-weight: 700;
  text-align: center;
}

.pretournament-metadata-row span {
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
}

.pretournament-metadata-row:last-child > div:first-child span,
.pretournament-metadata-row:last-child > div:last-child span {
  overflow-wrap: anywhere;
  text-overflow: clip;
  white-space: normal;
}

.pretournament-category-sticky-head .pretournament-category-range {
  background: #fff;
  margin: 0 auto;
  max-width: 920px;
  padding: 5px 0;
  font-size: .78rem;
  text-align: left;
}

.pretournament-category-range strong {
  font-weight: 700;
}

.pretournament-category-table {
  border-collapse: collapse;
  font-size: .82rem;
  margin: 0 auto;
  table-layout: fixed;
  width: min(100%, 920px);
}

.pretournament-category-table th,
.pretournament-category-table td {
  border: 1px solid #819087;
  box-sizing: border-box;
  height: 27px;
  padding: 3px 5px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.pretournament-category-table th {
  background: var(--header-green);
  color: #fff;
  font-weight: 700;
  height: 34px;
  line-height: 1.05;
  position: sticky;
  top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-category-head-height, 150px));
  z-index: 3;
}

.pretournament-category-table tbody tr:nth-child(even) {
  background: #eef3db;
}

.pretournament-category-table th:nth-child(1) { width: 76px; }
.pretournament-category-table th:nth-child(2) { width: 280px; }
.pretournament-category-table th:nth-child(3) { width: 48px; }
.pretournament-category-table th:nth-child(4) { width: 120px; }
.pretournament-category-table th:nth-child(5),
.pretournament-category-table th:nth-child(6),
.pretournament-category-table th:nth-child(7) { width: 64px; }
.pretournament-category-table th:nth-child(8) { width: 120px; }

.pretournament-category-player {
  overflow: hidden;
  text-align: left !important;
  text-overflow: ellipsis;
}

.pretournament-category-mobile {
  display: none;
}

.pretournament-category-mobile-metadata-toggle,
.pretournament-category-mobile-metadata-content { display: none; }
.pretournament-category-responsive-copy,
.pretournament-category-collapse-all,
.pretournament-category-mobile-tools { display: none; }

@media (max-width: 1280px) {
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-data-panel { display: none; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid #819087;
    border-radius: 0;
    color: #315c44;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: space-between;
    min-height: 28px;
    padding: 4px 8px;
    text-align: left;
    width: 100%;
  }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-toggle[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-content {
    background: #fff;
    border: 1px solid #819087;
    box-shadow: none;
    display: none;
    left: auto;
    margin: 0 6px 6px;
    max-height: none;
    overflow: visible;
    padding: 5px;
    position: static;
    right: auto;
    top: auto;
    width: auto;
  }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-content.is-open { display: block; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid > div { border-bottom: 1px solid #cbd5cf; display: grid; grid-template-columns: 72px minmax(0, 1fr); min-width: 0; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid > div:nth-child(odd) { border-right: 1px solid #819087; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid strong,
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid span { overflow: hidden; padding: 6px 5px; text-overflow: ellipsis; white-space: nowrap; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid strong { color: #315c44; font-size: 13px; text-overflow: clip; }
  .pretournament-category-page:not(.public-pretournament-category-page) .pretournament-category-mobile-metadata-grid span { font-size: 14px; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-head-panel { display: none; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata { display: block; margin: 4px 6px 6px; }
}

@media (min-width: 1101px) and (max-width: 1280px) {
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata > summary {
    align-items: center;
    background: #fff;
    border: 1px solid #819087;
    color: #315c44;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: space-between;
    list-style: none;
    min-height: 32px;
    padding: 4px 8px;
  }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata > summary::-webkit-details-marker { display: none; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata[open] .pretournament-draw-metadata-arrow { transform: rotate(180deg); }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-content { background: #fff; border: 1px solid #819087; border-top: 0; padding: 5px 8px; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-content dl { display: grid; font-size: 14px; gap: 3px 10px; grid-template-columns: 76px minmax(0, 1fr); margin: 0; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-content dt { font-weight: 700; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-content dd { margin: 0; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-groups { border-top: 1px solid #cbd5cf; margin-top: 7px; padding-top: 4px; }
  .pretournament-draw-page:not(.public-pretournament-page) .pretournament-draw-mobile-metadata-groups p { font-size: 14px; line-height: 1.25; margin: 4px 0; }
}

@media (max-width: 680px), (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  .public-pretournament-category-page .pretournament-category-mobile-tools {
    align-items: baseline;
    display: flex;
    gap: 10px;
    margin-top: 2px;
  }

  .public-pretournament-category-page .pretournament-category-responsive-copy {
    color: #536159;
    display: inline;
    font-size: 11px;
    font-weight: 400;
    margin-left: 0;
    white-space: nowrap;
  }

  .public-pretournament-category-page .pretournament-category-collapse-all {
    background: transparent;
    border: 0;
    color: #536159;
    cursor: pointer;
    display: inline;
    flex: 0 0 auto;
    font-size: 10px;
    font-weight: 600;
    min-height: 0;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 2px;
    white-space: nowrap;
  }

  .public-pretournament-category-page .pretournament-category-collapse-all:disabled {
    cursor: default;
    opacity: .42;
  }

  .public-pretournament-category-page.pretournament-category-page .pretournament-category-mobile-metadata-content {
    box-shadow: none;
    left: auto;
    margin: 0 6px 6px;
    max-height: none;
    overflow: visible;
    position: static;
    right: auto;
    top: auto;
    width: auto;
  }

  .pretournament-view-hero {
    align-items: flex-start;
  }

  .pretournament-category-report {
    padding: 6px;
  }

  .pretournament-category-page .pretournament-category-data-panel { display: none; }
  .pretournament-category-page .pretournament-category-mobile-metadata-toggle {
    align-items: center;
    background: #fff;
    border: 1px solid #819087;
    border-radius: 0;
    color: #315c44;
    cursor: pointer;
    display: flex;
    font-size: 14px;
    font-weight: 700;
    justify-content: space-between;
    min-height: 28px;
    padding: 4px 8px;
    text-align: left;
    width: 100%;
  }
  .pretournament-category-page .pretournament-category-mobile-metadata-toggle[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
  .pretournament-category-page .pretournament-category-mobile-metadata-content {
    background: #fff;
    border: 1px solid #819087;
    box-shadow: 0 8px 22px rgba(22, 61, 47, .2);
    display: none;
    left: 14px;
    margin: 0;
    max-height: calc(100dvh - var(--pretournament-app-header-height, 48px) - var(--pretournament-category-head-height, 110px) - 8px);
    overflow-y: auto;
    padding: 5px;
    position: fixed;
    right: 14px;
    top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-category-head-height, 110px));
    z-index: 5;
  }
  .pretournament-category-page .pretournament-category-mobile-metadata-content.is-open { display: block; }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid > div {
    border-bottom: 1px solid #cbd5cf;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    min-width: 0;
  }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid > div:nth-child(odd) { border-right: 1px solid #819087; }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid strong,
  .pretournament-category-page .pretournament-category-mobile-metadata-grid span {
    overflow: hidden;
    padding: 6px 5px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid strong { color: #315c44; font-size: 13px; text-overflow: clip; }
  .pretournament-category-page .pretournament-category-mobile-metadata-grid span { font-size: 14px; }

  .pretournament-category-sticky-head .pretournament-category-range {
    font-size: .72rem;
    padding: 4px 0;
  }

  .pretournament-category-metadata {
    margin-top: 5px;
  }

  .pretournament-metadata-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pretournament-metadata-row + .pretournament-metadata-row {
    border-top: 0;
  }

  .pretournament-metadata-row > div {
    border-bottom: 1px solid #819087;
  }

  .pretournament-metadata-row > div:nth-child(even) {
    border-right: 0;
  }

  .pretournament-metadata-row > div:last-child {
    border-right: 0;
    grid-column: 1 / -1;
  }

  .pretournament-metadata-row strong,
  .pretournament-metadata-row span {
    font-size: .68rem;
    padding: 4px;
  }

  .pretournament-category-desktop {
    display: none;
  }

  .pretournament-category-mobile {
    display: block;
    margin-top: 6px;
  }

  .pretournament-mobile-columns,
  .pretournament-mobile-player summary {
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) 78px 52px;
  }

  .pretournament-mobile-columns {
    position: sticky;
    top: calc(var(--pretournament-app-header-height, 48px) + var(--pretournament-category-head-height, 240px));
    z-index: 3;
  }

  .pretournament-mobile-columns {
    background: var(--header-green);
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
    padding: 5px 6px;
    text-align: center;
  }

  .pretournament-mobile-columns span:first-child {
    text-align: left;
  }

  .pretournament-mobile-list {
    border: 1px solid #819087;
    border-top: 0;
  }

  .pretournament-mobile-player {
    background: #fff;
    border-bottom: 1px solid #819087;
  }

  .pretournament-mobile-player:nth-child(even) {
    background: #eef3db;
  }

  .pretournament-mobile-player:last-child {
    border-bottom: 0;
  }

  .pretournament-mobile-player summary {
    align-items: center;
    cursor: pointer;
    font-size: .76rem;
    list-style: none;
    min-height: 27px;
    padding: 2px 6px;
  }

  .pretournament-mobile-player summary::-webkit-details-marker {
    display: none;
  }

  .pretournament-mobile-player summary span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .pretournament-mobile-player summary span:not(:first-child),
  .pretournament-mobile-player summary strong {
    text-align: center;
  }

  .pretournament-mobile-player dl {
    background: rgba(255,255,255,.68);
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
    margin: 0;
    padding: 7px 10px;
  }

  .pretournament-category-page .pretournament-mobile-player dl {
    display: grid;
    gap: 6px;
    grid-template-columns: 1.05fr .5fr .65fr .85fr 1.4fr;
  }

  .pretournament-mobile-player dl div {
    min-width: 48px;
  }

  .pretournament-mobile-player dt {
    color: #536159;
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
  }

  .pretournament-category-page .pretournament-mobile-player dt {
    text-transform: none;
    white-space: nowrap;
  }

  .pretournament-category-page .pretournament-mobile-player dl > div {
    min-width: 0;
    overflow: hidden;
  }

  .pretournament-category-page .pretournament-mobile-player dd {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .pretournament-mobile-player dd {
    font-size: .76rem;
    margin: 1px 0 0;
  }

  .pretournament-category-page .pretournament-mobile-columns {
    font-size: 13px;
    min-height: 34px;
    padding: 3px 4px;
  }
  .pretournament-category-page .pretournament-mobile-player summary {
    font-size: 15px;
    min-height: 34px;
    padding: 3px 4px;
  }
  .pretournament-category-page .pretournament-mobile-player dt { font-size: 12px; }
  .pretournament-category-page .pretournament-mobile-player dd { font-size: 15px; }
  .pretournament-category-page .pretournament-mobile-player dl > :is(.pretournament-category-club, .pretournament-category-status) { grid-column: 1 / -1; }
  .pretournament-category-page .pretournament-mobile-player :is(.pretournament-category-club, .pretournament-category-status) dd { font-size: 12px; line-height: 1.25; overflow: visible; text-overflow: clip; white-space: normal; }
}

@media (max-width: 680px) {
  .pretournament-capabilities {
    gap: 2px;
    grid-template-columns: 1fr;
  }

}

@media (max-width: 1024px) {
  .pretournament-category-page .pretournament-category-desktop { display: none; }
  .pretournament-category-page .pretournament-category-mobile { display: block; margin-top: 6px; }
  .pretournament-category-page .pretournament-mobile-columns,
  .pretournament-category-page .pretournament-mobile-player summary {
    display: grid;
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) 78px 52px;
  }
  .pretournament-category-page .pretournament-mobile-columns {
    background: var(--header-green);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 5px 6px;
    text-align: center;
  }
  .pretournament-category-page .pretournament-mobile-columns span:first-child { text-align: left; }
  .pretournament-category-page .pretournament-mobile-list { border: 1px solid #819087; border-top: 0; }
  .pretournament-category-page .pretournament-mobile-player { background: #fff; border-bottom: 1px solid #819087; }
  .pretournament-category-page .pretournament-mobile-player:nth-child(even) { background: #eef3db; }
  .pretournament-category-page .pretournament-mobile-player:last-child { border-bottom: 0; }
  .pretournament-category-page .pretournament-mobile-player summary {
    align-items: center;
    cursor: pointer;
    font-size: 17px;
    list-style: none;
    min-height: 36px;
    padding: 5px 9px;
  }
  .pretournament-category-page .pretournament-mobile-player summary::-webkit-details-marker { display: none; }
  .pretournament-category-page .pretournament-mobile-player summary span:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .pretournament-category-page .pretournament-mobile-player summary span:not(:first-child),
  .pretournament-category-page .pretournament-mobile-player summary strong { text-align: center; }
  .pretournament-category-page .pretournament-mobile-player[open] { background: #daf2d0; }
  .pretournament-category-page .pretournament-mobile-player[open] summary {
    background: #daf2d0;
    border-bottom: 1px solid #bcc6b9;
    font-weight: 700;
  }
  .pretournament-category-page .pretournament-mobile-player[open] summary span:first-child {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .pretournament-category-page .pretournament-mobile-player dl.pretournament-category-detail-grid {
    background: #daf2d0;
    display: grid;
    gap: 0;
    grid-template-columns: 17% 23% 24% 36%;
    margin: 0;
    max-width: 430px;
    padding: 0;
    width: 100%;
  }
  .pretournament-category-page .pretournament-category-detail-grid > dt,
  .pretournament-category-page .pretournament-category-detail-grid > dd {
    border-bottom: 1px solid #bcc6b9;
    border-right: 1px solid #bcc6b9;
    box-sizing: border-box;
    color: #183b2b;
    font-size: 15px;
    line-height: 1.25;
    margin: 0;
    min-height: 27px;
    min-width: 0;
    overflow: visible;
    overflow-wrap: normal;
    padding: 3px 4px;
    text-overflow: clip;
    text-transform: none;
    white-space: normal;
  }
  .pretournament-category-page .pretournament-category-detail-grid > dt { font-weight: 700; text-align: left; }
  .pretournament-category-page .pretournament-category-detail-grid > dt:nth-child(4n + 3) { text-align: right; }
  .pretournament-category-page .pretournament-category-detail-grid > dd { font-weight: 400; }
  .pretournament-category-page .pretournament-category-detail-grid > dd:nth-child(4n + 2) { text-align: center; }
  .pretournament-category-page .pretournament-category-detail-grid > dd:nth-child(4n) { text-align: right; }
  .pretournament-category-page .pretournament-category-detail-grid > dd.pretournament-category-detail-emphasis { font-weight: 700; }
  .pretournament-category-page .pretournament-category-detail-grid > :nth-last-child(-n + 4) { border-bottom: 0; }
}

@media (max-width: 350px) {
  .pretournament-category-page .pretournament-mobile-player dl.pretournament-category-detail-grid {
    grid-template-columns: 20% 19% 25% 36%;
  }
  .pretournament-category-page .pretournament-category-detail-grid > dt,
  .pretournament-category-page .pretournament-category-detail-grid > dd { padding-inline: 2px; }
}

@media (max-width: 1100px) {
  .public-pretournament-page .pretournament-draw-expanded-label { display: none; }
  .public-pretournament-page .pretournament-draw-mobile .pretournament-mobile-player[open] summary .pretournament-draw-expanded-label {
    display: block;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.1;
    white-space: nowrap;
  }
  .public-pretournament-page .pretournament-draw-mobile .pretournament-mobile-player[open] summary {
    gap: 2px;
    grid-template-columns: minmax(0, 1fr) 56px 60px;
    padding-right: 3px;
  }
  .public-pretournament-page .pretournament-draw-mobile .pretournament-mobile-player[open] summary > :is(strong:nth-child(3), span:nth-child(7)) {
    text-align: right;
  }
  .pretournament-draw-mobile .pretournament-mobile-player[open] {
    background: #daf2d0;
  }
  .pretournament-draw-mobile .pretournament-mobile-player[open] summary {
    background: #daf2d0;
    border-bottom: 1px solid #bcc6b9;
    display: grid;
    font-size: 17px;
    font-weight: 700;
    gap: 4px;
    grid-template-columns: minmax(0, 1fr) 68px 78px;
    min-height: 36px;
    padding: 5px 9px;
  }
  .pretournament-draw-mobile .pretournament-mobile-player[open] summary > :is(:nth-child(2), :nth-child(4), :nth-child(5), :nth-child(6), :nth-child(8)) { display: none; }
  .pretournament-draw-mobile .pretournament-mobile-player[open] summary > :nth-child(7) { visibility: visible; }
  .pretournament-draw-mobile .pretournament-mobile-player[open] summary span:first-child {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-grid {
    background: #daf2d0;
    display: grid;
    gap: 0;
    grid-template-columns: 22% 25% 21% 32%;
    margin: 0;
    max-width: 430px;
    padding: 0;
    width: 100%;
  }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dt,
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd {
    border-bottom: 1px solid #bcc6b9;
    border-right: 1px solid #bcc6b9;
    box-sizing: border-box;
    color: #183b2b;
    font-size: 15px;
    line-height: 1.25;
    margin: 0;
    min-height: 27px;
    min-width: 0;
    overflow: visible;
    overflow-wrap: normal;
    padding: 3px 4px;
    text-overflow: clip;
    text-transform: none;
    white-space: normal;
  }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dt { font-weight: 700; text-align: left; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dt:nth-child(4n + 3) { text-align: right; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd { font-weight: 400; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd:nth-child(4n + 2) { text-align: center; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd:nth-child(4n) { text-align: right; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd.pretournament-draw-detail-emphasis { font-weight: 700; }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > :nth-last-child(-n + 4) { border-bottom: 0; }
}

@media (max-width: 350px) {
  .pretournament-draw-mobile .pretournament-mobile-player dl.pretournament-draw-detail-grid {
    grid-template-columns: 26% 24% 18% 32%;
  }
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dt,
  .pretournament-draw-mobile .pretournament-draw-detail-grid > dd { padding-inline: 2px; }
}

@media (max-width: 1024px) {
  .public-pretournament-category-page .pretournament-category-mobile-tools {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 12px;
  }
  .public-pretournament-category-page .pretournament-category-responsive-copy,
  .public-pretournament-category-page .pretournament-category-collapse-all {
    color: #075f34;
    display: inline;
    font-family: inherit;
    font-size: .94rem;
    font-weight: 650;
    line-height: 1.25;
  }
  .public-pretournament-category-page .pretournament-category-collapse-all {
    background: transparent;
    border: 0;
    cursor: pointer;
    min-height: 0;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: 2px;
  }
}

@media (max-width: 1100px) {
  .pretournament-draw-subtitle { display: block; white-space: normal; }
  .pretournament-draw-actions { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 3px; }
  .pretournament-draw-responsive-copy,
  .pretournament-draw-collapse-all {
    color: #075f34;
    font-family: inherit;
    font-size: .94rem;
    font-weight: 650;
    line-height: 1.25;
  }
}

@media (max-width: 700px) {
  .public-pretournament-category-page .pretournament-category-responsive-copy,
  .public-pretournament-category-page .pretournament-category-collapse-all,
  .pretournament-draw-responsive-copy,
  .pretournament-draw-collapse-all { font-size: 1rem; }
}

.subscribers-groups {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.summary-chip {
  display: inline-grid;
  gap: 1px;
  min-width: 138px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--soft);
  font-size: 0.74rem;
}

.summary-chip-derived {
  border-color: #bfd8c8;
  background: #f1f8f3;
}

.message {
  margin: 0;
  min-height: 20px;
  font-weight: 700;
}

.message-error {
  white-space: pre-line;
  color: var(--error) !important;
  background: #fff1f0;
  border: 1px solid var(--error);
  padding: 8px 10px;
}

.message-error.message-technical-warning {
  color: #9d3f38 !important;
  background: #fff9f8;
  border-color: #e3bbb7;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: pre-line;
}

.message-info {
  color: var(--green-dark);
}

.pretournament-message-center .message-info,
.pretournament-message-center .flash-success {
  background: #fff;
  color: #1f5fae;
}

.pretournament-message-center .message-error:not(.message-technical-warning),
.pretournament-message-center .flash-error {
  background: #fff;
  color: var(--error) !important;
}

.master-heading-actions,
.course-catalog-toolbar,
.tee-hole-actions {
  display: flex;
  align-items: end;
  gap: 8px;
  flex-wrap: wrap;
}
.master-nav-button { min-height:30px; padding:5px 10px; font-size:.75rem; font-weight:400; }

.compact-master-heading { margin-bottom: 5px; }
.compact-master-heading h1 { font-size: 1.02rem; }
.compact-master-heading p { margin-top: 2px; font-size: .72rem; }
.course-catalog-card,
.compact-course-form,
.course-tees-card,
.tee-editor-card { padding: 7px 10px; }
.compact-course-form { background:#e7f4e8; border:1px solid #a9d1ae; }
.compact-course-form :is(input:not([type="checkbox"]), select, textarea) { background:#fff; }
.course-catalog-toolbar { justify-content: space-between; margin-bottom: 7px; }
.course-catalog-toolbar input { width: 280px; min-height: 30px; }
.course-form-grid { display: grid; grid-template-columns: minmax(240px,2fr) repeat(3,minmax(120px,1fr)); gap: 4px 7px; align-items: end; }
.course-form-row { grid-column: 1 / -1; display: grid; gap: 7px; align-items: end; }
.course-form-identity { grid-template-columns: minmax(0,2.2fr) minmax(0,1.3fr) 12ch 15ch; }
.course-form-contact { grid-template-columns: minmax(0,1.1fr) 6ch minmax(0,1.7fr) minmax(0,1.15fr) minmax(0,1.15fr); }
.course-form-online { grid-template-columns: minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.8fr); }
.course-form-row label { min-width: 0; }
.course-form-row input,.course-form-row select { width: 100%; min-width: 0; }
.course-form-grid label,
.tee-main-grid label { margin: 0; }
.compact-course-form label span,
.tee-editor-card label span { font-size: .7rem; }
.compact-course-form input,
.compact-course-form select,
.compact-course-form textarea,
.tee-editor-card input,
.tee-editor-card select { min-height: 27px; padding: 3px 6px; font-size: .76rem; }
.compact-course-form textarea { resize: vertical; }
.course-name-field,.website-field,.aliases-field { grid-column: span 2; }
.course-address-field,.course-notes-field { grid-column: 1 / -1; }
.course-short-field { max-width: 17ch; }
.state-field { max-width: 70px; }
.tee-picker-row { display:flex; align-items:end; gap:10px; padding-bottom:8px; border-bottom:1px solid var(--line); }
.tee-picker-row label { min-width:220px; max-width:360px; margin:0; }
.tee-picker-row select { width:100%; }
.tee-picker-row .tee-active-check { min-width:0; max-width:none; margin:0 0 5px 4px; white-space:nowrap; }
.tee-picker-row .tee-delete-form { margin-left:12px; }
.tee-last-editor { margin-left:auto; color:var(--muted); font-size:.72rem; font-weight:400; text-align:right; }
.course-collaboration-note { margin-bottom:20px; }
.course-last-editor { display:block; margin-top:6px; color:var(--muted); font-size:.72rem; font-weight:400; text-align:right; }
.tee-rating-tools { display:flex; align-items:end; gap:14px; flex-wrap:wrap; margin-bottom:8px; }
.tee-rating-tools .tee-name-field { width:min(360px,100%); margin:0; }
.tee-measure-link { align-self:end; margin-bottom:6px; color:#1765a3; font-size:.72rem; text-decoration:underline; }
.tee-rating-tools .inline-check { margin-bottom:5px; }
.yards-field { width: 90px; }
.inline-check {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
}
.inline-check input[type="checkbox"] {
  width: 16px;
  min-width: 16px;
  height: 16px;
  min-height: 16px;
  margin: 0;
  padding: 0;
}
.tee-form-section { border-top:1px solid var(--line); padding-top:5px; margin-top:4px; }
.tee-form-section h2 { margin:0 0 4px; font-size:.78rem; }
.tee-holes-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; margin-bottom:5px; }
.tee-holes-heading h2 { margin:0; }
.tee-copy-tools { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.tee-copy-tools select { width:200px; height:27px; min-height:27px; padding:2px 6px; font-size:.78rem; }
.tee-editor-card .tee-copy-tools button { height:27px; min-height:27px; padding:2px 9px; font-size:.78rem; font-weight:400; border-width:1px; }
.tee-ratings-section { background:#e7f4e8; border:1px solid #a9d1ae; padding:8px 10px; }
.tee-collaboration-note { margin:3px 0 9px; padding:7px 9px; background:#fff8dc; border:1px solid #e9dca0; color:#584f2c; font-size:.75rem; font-weight:400; line-height:1.45; }
.tee-observations { display:block; margin:8px 0 0; }
.tee-observations span { display:block; margin-bottom:4px; font-size:.76rem; }
.tee-observations textarea { box-sizing:border-box; width:100%; min-height:58px; padding:7px; resize:vertical; background:#fff; border:1px solid var(--line); border-radius:4px; font:inherit; font-size:.82rem; }
.tee-ratings-section input { background:#fff; }
.tee-form-section .tee-holes-guidance { color:var(--green-dark); font-weight:700; }
.tee-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.tee-section-heading a { font-size:.68rem; }
.course-context-grid { display:grid; grid-template-columns:minmax(220px,2fr) 130px 150px 125px minmax(180px,1.4fr); gap:6px; }
.course-context-grid div { min-width:0; }
.course-context-grid span { display:block; color:var(--muted); font-size:.64rem; }
.course-context-grid strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.72rem; }
.tee-rating-grid { display: grid; grid-template-columns: 78px repeat(3,96px); gap: 3px; align-items: center; width: max-content; margin: 2px 0; }
.tee-rating-grid strong { font-size: .72rem; }
.tee-rating-grid input { min-height: 27px; padding: 3px 6px; font-size: .78rem; }
.hole-section-heading { align-items:end; margin-bottom:4px; }
.tee-hole-actions { justify-content:flex-end; margin:0; font-size:.68rem; }
.tee-hole-table-wrap { width:max-content; max-width:100%; overflow-x:auto; }
.tee-holes-table { width:auto; min-width:560px; }
.tee-holes-table th,.tee-holes-table td { padding: 1px 4px; text-align: center; font-size: .7rem; line-height: 1.05; }
.tee-holes-table th:nth-child(-n+3),.tee-holes-table td:nth-child(-n+3) { background:#e2f3dc; }
.tee-holes-table th:nth-child(n+4),.tee-holes-table td:nth-child(n+4) { background:#d9eef7; }
.tee-holes-table tbody tr:is(:nth-child(6n+4),:nth-child(6n+5),:nth-child(6n+6)) > :nth-child(-n+3) { background:#a9d79b; }
.tee-holes-table tbody tr:is(:nth-child(6n+4),:nth-child(6n+5),:nth-child(6n+6)) > :nth-child(n+4) { background:#a4d1e7; }
.tee-holes-table th:nth-child(4),.tee-holes-table td:nth-child(4) { border-left:12px solid #fff; }
.tee-holes-table .hole-copy-row th:nth-child(n+3) { background:#d9eef7; }
.tee-holes-table .hole-copy-row th:nth-child(3) { border-left:12px solid #fff; }
.tee-holes-table .hole-copy-row th:nth-child(4) { border-left:0; }
.tee-holes-table td input[data-hole] { width:70px; min-height:23px; height:23px; padding:1px 5px; text-align:center; font-size:.94rem; font-weight:700; }
.tee-holes-table input[data-hole]:disabled { color:#222; background:#edf3e4; opacity:1; }
.tee-holes-table .hole-copy-row th { padding:3px 5px; }
.hole-copy-row label { display:inline-flex; align-items:center; justify-content:center; gap:4px; margin:0; white-space:nowrap; font-weight:600; }
.tee-editor-card .hole-copy-row label span { font-size:.64rem; }
.hole-copy-row input[type="checkbox"] { width:15px; min-width:15px; height:15px; min-height:15px; margin:0; }
.hole-copy-row label:has(input:disabled) { color:#8a928b; opacity:.58; }
.hole-copy-row input[type="checkbox"]:disabled { cursor:not-allowed; }
.tee-editor-card .form-actions { margin-top: 5px; }
.compact-technical-page .page-shell { margin-top: 10px; margin-bottom: 4px; }
.compact-technical-page .flash { font-size:.78rem; padding:7px 10px; margin-bottom:8px; }
.tee-admin-back { align-self:start; color:var(--header-green); font-size:.72rem; text-align:right; text-decoration:underline; }
.tee-delete-form { margin:0; }
.tee-delete-form button { color:#a42727; border-color:var(--line); background:#fff; font-weight:400; }
.tee-delete-form button:disabled { color:#9a9a9a; border-color:#c8c8c8; cursor:not-allowed; }
.compact-technical-page .app-footer { padding: 5px; font-size: .68rem; }
.tee-editor-card button,
.tee-editor-card .button,
.compact-course-form button,
.compact-course-form .button { min-height: 29px; padding: 4px 10px; font-size: .74rem; }
.course-import-card { padding: 10px 12px; }
.course-import-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.course-import-row input[type="file"] { width: 360px; min-height: 30px; }
.course-import-row span,.compact-help { font-size:.74rem; color:var(--muted); }

@media (max-width: 760px) {
  .course-form-grid { grid-template-columns: 1fr 1fr; }
  .course-form-identity,.course-form-contact,.course-form-online { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .course-name-field,.website-field,.aliases-field { grid-column: 1 / -1; }
  .tee-picker-row { flex-wrap:wrap; }
  .tee-picker-row > label:not(.tee-active-check) { flex:1 1 220px; }
  .tee-section-heading { align-items:stretch; flex-direction:column; }
  .course-context-grid { grid-template-columns:1fr 1fr; }
  .course-website { grid-column:1 / -1; }
  .hole-section-heading { gap:5px; }
  .tee-hole-actions { justify-content:flex-start; }
  .tee-holes-table { min-width:100%; }
}

@media (max-width: 600px) {
  .compact-course-form label span { font-size:.88rem; }
  .compact-course-form :is(input:not([type="checkbox"]), select, textarea) { font-size:1rem; min-height:34px; }
  .compact-course-form :is(button, .button) { font-size:.86rem; }
  .compact-technical-page .compact-master-heading h1 { font-size:1.15rem; }
  .compact-technical-page .compact-master-heading p { font-size:.9rem; }
  .compact-technical-page .compact-master-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(120px,auto); align-items:start; }
  .compact-technical-page .flash { font-size:.9rem; }
  .compact-technical-page .tee-editor-card :is(button, .button) { font-size:.86rem; }
  .compact-technical-page .tee-admin-back { font-size:.78rem; }
  .compact-technical-page .tee-editor-card .form-actions { flex-direction:row; align-items:center; justify-content:flex-end; }
  .compact-technical-page .tee-editor-card .form-actions :is(button, .button) { width:auto; flex:0 0 auto; min-height:30px; padding:4px 9px; font-size:.82rem; }
  .compact-technical-page .tee-editor-card label span,
  .compact-technical-page .tee-form-section h2,
  .compact-technical-page .tee-rating-grid strong { font-size:.88rem; }
  .compact-technical-page .tee-measure-link { font-size:.84rem; }
  .compact-technical-page .tee-collaboration-note { font-size:.9rem; }
  .compact-course-form .tee-collaboration-note { font-size:.9rem; }
  .compact-technical-page .tee-editor-card :is(input:not([type="checkbox"]), select) { font-size:1rem; min-height:34px; }
  .compact-technical-page .tee-rating-grid { grid-template-columns:64px repeat(3,minmax(0,1fr)); width:100%; }
  .compact-technical-page .tee-copy-tools select { width:200px; max-width:100%; height:29px; min-height:29px; font-size:.86rem; }
  .compact-technical-page .tee-editor-card .tee-copy-tools button { height:29px; min-height:29px; font-size:.86rem; }
  .compact-technical-page .tee-holes-table th { font-size:.8rem; }
  .compact-technical-page .tee-holes-table td input[data-hole] { font-size:1rem; min-height:30px; height:30px; }
  .compact-technical-page .tee-editor-card .hole-copy-row label span { font-size:.78rem; }
}

.compact-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 20px;
}

.compact-groups-section {
  display: grid;
  gap: 6px;
  padding-top: 7px;
  border-top: 1px solid var(--line);
}

.technical-model-picker { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.technical-model-picker > span { font-size: .8rem; font-weight: 700; }
.technical-model-picker > strong { font-size: .8rem; }
.technical-model-picker button { margin-left: 0; min-height: 25px; padding: 3px 7px; font-size: .7rem; line-height: 1.2; border-radius: 4px; }
.technical-model-dialog { box-sizing: border-box; width: min(816px, calc(100vw - 16px)); max-width: none; height: auto; max-height: calc(100dvh - 8px); margin: auto; padding: 10px; border: 1px solid var(--line); border-radius: 6px; overflow: auto; }
.technical-model-dialog[open] { display: flex; flex-direction: column; }
.technical-model-dialog::backdrop { background: rgba(0, 0, 0, .58); }
.technical-model-dialog-head, .technical-model-dialog-actions { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.technical-model-dialog-head { flex: 0 0 auto; }
.technical-model-dialog-head h2 { margin: 0; font-size: .9rem; }
.technical-model-dialog-head-actions { display: flex; align-items: center; gap: 5px; }
.technical-model-dialog-actions { justify-content: flex-end; flex: 0 0 auto; padding-top: 6px; }
.technical-model-dialog-actions button, .technical-model-dialog-head button { min-height: 30px; padding: 4px 9px; border-radius: 4px; font-size: .8rem; line-height: 1.2; white-space: nowrap; }
.technical-model-scroll { flex: 0 0 auto; min-height: 0; overflow: visible; margin-top: 6px; }
.technical-model-board { position: relative; width: 100%; }
.technical-model-board > img { display: block; width: 100%; height: auto; }
.technical-model-mobile-image { display: none; }
.technical-model-hotspot { position: absolute; display: block; padding: 0; border: 0; background: transparent; cursor: pointer; }
.technical-model-hotspot:has(input:checked) { box-shadow: inset 0 0 0 3px #175d38; }
.technical-model-hotspot:focus-within { outline: 3px solid #175d38; outline-offset: 1px; }
.technical-model-hotspot:has(input:disabled) { background: rgba(255, 255, 255, .7); cursor: not-allowed; }
.tournament-parameters-page .technical-model-hotspot input { position: absolute; left: var(--radio-x); top: var(--radio-y); transform: translate(-50%, -50%); width: 18px !important; height: 18px; min-height: 18px; padding: 0; margin: 0; accent-color: #c02080; }
@media (max-width: 640px) {
  .technical-model-dialog { width: calc(100vw - 12px); padding: 7px; }
  .technical-model-dialog-head { flex-wrap: wrap; }
  .technical-model-dialog-head h2 { flex: 1 0 100%; }
  .technical-model-dialog-head-actions { margin-left: auto; }
  .technical-model-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 8px; }
  .technical-model-board > img { display: none; }
  .technical-model-hotspot { position: relative; left: auto !important; top: auto !important; width: 100% !important; height: auto !important; }
  .technical-model-hotspot:nth-of-type(n+9) { grid-column: span 2; }
  .technical-model-mobile-image { display: block; width: 100%; height: auto; }
}
@media (min-width: 900px) {
  .technical-model-dialog { margin: 4px auto auto; }
}
.technical-model-summary { margin: 0; font-size: .82rem; color: var(--green-dark); }
.social-group-names { display: grid; grid-template-columns: repeat(2, minmax(0, 230px)); gap: 10px; }
.social-group-names label { display: grid; gap: 4px; }
@media (max-width: 640px) {
  .social-group-names { grid-template-columns: minmax(0, 1fr); }
}

.inline-title {
  justify-content: flex-start;
}

.inline-count-field {
  display: flex;
  align-items: center;
  gap: 7px;
}

.inline-count-field select {
  width: 72px;
}

.compact-groups-editor {
  gap: 5px;
}

.formation-mode-box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 7px 12px;
  margin: 0;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfdfb;
}

.formation-mode-box legend {
  padding: 0 5px;
  font-size: 0.84rem;
  font-weight: 800;
}

.formation-mode-box label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: auto;
  min-height: 24px;
  padding: 2px 7px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  font-size: 0.84rem;
  font-weight: 700;
}

.formation-mode-box input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.compact-group-row {
  grid-template-columns: 38px 260px 300px;
  justify-content: start;
  gap: 7px;
  padding: 5px 7px;
}

.compact-group-row strong {
  font-size: 0.88rem;
}

.general-group-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  padding: 6px 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfdfb;
}

.general-group-toggle,
.general-group-sources,
.general-group-sources label {
  display: inline-flex;
  align-items: center;
}

.general-group-toggle,
.general-group-sources label {
  gap: 6px;
}

.general-group-sources {
  gap: 14px;
}

.general-group-toggle {
  font-weight: 800;
}

.general-group-toggle input,
.general-group-sources input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.general-group-sources span {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.general-group-auto-note {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.general-group-sources label {
  padding: 2px 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  font-size: 0.86rem;
  font-weight: 700;
}

.general-group-sources em {
  color: var(--error);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 800;
}

@media (min-width: 900px) {
  .tournament-parameters-page .page-shell {
    width: min(1180px, calc(100% - 24px));
    margin-top: 7px;
    margin-bottom: 12px;
  }

  .tournament-parameters-page .compact-hero {
    min-height: 0;
    padding: 5px 10px;
    margin-bottom: 6px;
    border-left-width: 4px;
  }

  .tournament-parameters-page .compact-hero h1 {
    margin-bottom: 1px;
    font-size: .88rem;
  }

  .tournament-parameters-page .compact-hero p {
    font-size: .68rem;
    line-height: 1.15;
  }

  .tournament-parameters-page .compact-hero .hero-stat {
    display: flex;
    align-items: baseline;
    gap: 5px;
    min-width: 0;
    padding: 3px 7px;
  }

  .tournament-parameters-page .compact-hero .hero-stat strong {
    font-size: .78rem;
  }

  .tournament-parameters-page .compact-hero .hero-stat span {
    font-size: .64rem;
  }

  .tournament-parameters-page .global-form {
    gap: 14px;
    padding: 8px 10px;
  }

  .tournament-parameters-page .fixed-parameters,
  .tournament-parameters-page .other-parameters {
    margin-top: 4px;
  }

  .tournament-parameters-page .compact-section-title {
    min-height: 17px;
  }

  .tournament-parameters-page .tournament-form h2 {
    font-size: .82rem;
  }

  .tournament-parameters-page .tournament-form label,
  .tournament-parameters-page .holes-fieldset legend,
  .tournament-parameters-page .formation-mode-box legend {
    font-size: .72rem;
  }

  .tournament-parameters-page .tournament-form input,
  .tournament-parameters-page .tournament-form select {
    min-height: 26px;
    padding: 3px 6px;
    font-size: .78rem;
  }

  .tournament-parameters-page .holes-fieldset {
    padding: 4px 7px 5px;
  }

  .tournament-parameters-page .holes-toolbar {
    margin-bottom: 2px;
  }

  .tournament-parameters-page .holes-grid label {
    min-height: 20px;
    font-size: .72rem;
  }

  .tournament-parameters-page .compact-groups-section {
    gap: 10px;
    padding-top: 8px;
  }

  .tournament-parameters-page .compact-groups-section .inline-title {
    justify-content: flex-start;
    gap: 22px;
  }

  .tournament-parameters-page .compact-groups-section .inline-count-field {
    gap: 7px;
  }

  .tournament-parameters-page .formation-mode-box {
    gap: 4px 8px;
    padding: 4px 6px;
  }

  .tournament-parameters-page .formation-mode-box label {
    min-height: 21px;
    padding: 1px 5px;
    font-size: .7rem;
  }

  .tournament-parameters-page .compact-groups-editor {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 430px));
    gap: 4px 10px;
  }

  .tournament-parameters-page .compact-group-row {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
    padding: 3px 5px;
  }

  .tournament-parameters-page .compact-group-row strong {
    font-size: .76rem;
  }

  .tournament-parameters-page .compact-group-row label {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 4px;
  }

  .tournament-parameters-page .global-form-footer-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding-top: 4px;
    border-top: 1px solid var(--line);
  }

  .tournament-parameters-page .general-group-panel {
    width: max-content;
    max-width: calc(100% - 180px);
    gap: 5px 9px;
    padding: 3px 6px;
  }

  .tournament-parameters-page .general-group-toggle,
  .tournament-parameters-page .general-group-auto-note,
  .tournament-parameters-page .general-group-sources span,
  .tournament-parameters-page .general-group-sources label,
  .tournament-parameters-page .general-group-sources em {
    font-size: .7rem;
  }

  .tournament-parameters-page .form-actions {
    justify-content: flex-end;
    margin-left: auto;
    gap: 6px;
    padding-top: 0;
    border-top: 0;
  }

  .tournament-parameters-page .form-actions button,
  .tournament-parameters-page .form-actions .button {
    min-height: 28px;
    padding: 4px 10px;
    font-size: .72rem;
  }
}

@media (max-width: 899px) {
  .global-form-footer-row {
    display: grid;
    gap: 8px;
  }
}

.tournament-parameters-page .holes-toolbar button,
.tournament-parameters-page .technical-model-picker button,
.tournament-parameters-page .technical-model-dialog button,
.tournament-parameters-page .form-actions button,
.tournament-parameters-page .form-actions .button {
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 6px;
  font-size: .88rem;
  line-height: normal;
  white-space: nowrap;
}
.tournament-parameters-page .technical-model-dialog button:not(.secondary-button):not(:disabled),
.tournament-parameters-page .form-actions button:not(:disabled) {
  background: var(--header-green);
}
.tournament-parameters-page .holes-toolbar .secondary-button:not(:disabled),
.tournament-parameters-page .technical-model-picker .secondary-button:not(:disabled),
.tournament-parameters-page .technical-model-dialog .secondary-button:not(:disabled),
.tournament-parameters-page .form-actions .button.secondary {
  background: #fff;
  border: 2px solid var(--header-green);
  color: var(--header-green);
}
.tournament-parameters-page .holes-toolbar button:active,
.tournament-parameters-page .technical-model-picker button:active,
.tournament-parameters-page .technical-model-dialog button:active,
.tournament-parameters-page .form-actions button:active,
.tournament-parameters-page .form-actions .button:active { color: #A9ABAE; }

.group-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: -4px 0 10px;
}

.group-tabs a {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--green-dark);
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}

.group-tabs a.active {
  color: #fff;
  background: var(--green);
  border-color: var(--green);
}

.categories-heading { gap: 12px; padding: 10px 14px; }
.categories-heading h1 { margin-bottom: 4px; }
.categories-heading .admin-tournament-identity { margin: 0; }
.category-group-tabs { background: #eaf5eb; border: 1px solid #c7dfca; border-radius: 6px; gap: 7px; margin: 0 0 8px; padding: 8px; }
.category-group-tab-list { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 7px; width: max-content; max-width: 100%; }
.category-group-tabs a { box-sizing: border-box; min-width: 0; min-height: 30px; border: 2px solid var(--header-green); border-radius: 6px; background: #fff; color: var(--header-green); font-size: .88rem; font-weight: 800; line-height: 1.2; padding: 5px 10px; text-align: center; }
.category-group-tabs a.active { background: var(--header-green); border-color: var(--header-green); color: #fff; }
.category-group-tabs a:active { color: #A9ABAE; }
@media (max-width: 900px) {
  .category-group-tab-list { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .category-group-tab-list { grid-template-columns: minmax(0, 1fr); }
}

.categories-form {
  font-size: 0.76rem;
  padding: 12px;
  gap: 10px;
}

.player-dialog .manual-player-hcp-panel { grid-column: 1 / -1; background: #edf6fc; border: 1px solid #c5ddea; border-radius: 5px; padding: 8px; display: grid; gap: 8px; }
.player-dialog .manual-player-hcp-identity { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.player-dialog .manual-player-hcp-identity[hidden] { display: none; }
.player-dialog #copy-player-exclusive-link { font-size: .78rem; min-height: 30px; padding: 5px 9px; border: 1px solid #24618a; color: #24618a; background: #edf6fc; }
.player-dialog #copy-player-exclusive-link[hidden] { display: none; }
@media (max-width: 600px) { .player-dialog .manual-player-hcp-identity { grid-template-columns: 1fr; } }

.categories-form .compact-section-title { gap: 8px; margin-bottom: 5px; }
.categories-form .compact-section-title h2 { font-size: .76rem; line-height: 1.25; margin: 0; }
.categories-form label,
.categories-form legend,
.categories-form .categories-title span { font-size: .74rem; line-height: 1.3; }
.categories-form .compact-field { gap: 4px; }
.categories-form .compact-field > span { white-space: nowrap; }
.categories-form .compact-groups-section { padding: 8px 0; gap: 6px; }
.categories-form .inline-radio-box { gap: 8px; padding: 4px 6px; min-height: 28px; }
.categories-form .inline-radio-box label { white-space: nowrap; gap: 4px; }
.categories-form .estimated-rating-toggle { font-size: .72rem; font-weight: 400; min-height: 22px; }
.categories-form .estimated-rating-note { font-size: .7rem; font-weight: 400; }
.categories-form .category-ranges-grid strong,
.categories-form .category-param-header strong { font-size: .72rem; padding: 4px; white-space: nowrap; }
.categories-form .category-ranges-grid span,
.categories-form .param-cat { padding: 4px; }
.categories-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.categories-form select { min-height: 28px; padding: 4px 6px; font-size: .76rem; line-height: 1.25; }
.categories-form .form-actions { gap: 6px; margin-top: 8px; }
.categories-form .form-actions button,
.categories-form .form-actions .button { min-height: 30px; padding: 5px 10px; border-radius: 6px; font-size: .88rem; }
.categories-form .form-actions button { background: var(--header-green); }
.categories-form .form-actions .button.secondary { background: #fff; border: 2px solid var(--header-green); color: var(--header-green); }
.categories-form .form-actions button:active,
.categories-form .form-actions .button:active { color: #A9ABAE; }

.categories-title {
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  padding-bottom: 4px;
}

.categories-form .categories-title h2 { font-size: .7rem; line-height: 1.2; margin: 0; }

.categories-title span {
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.category-structure-grid {
  display: grid;
  grid-template-columns: 170px 185px;
  gap: 8px;
  align-items: end;
  justify-content: start;
}

.category-structure-grid > * {
  min-width: 0;
}

.category-count-box.compact-field {
  width: 170px;
  min-width: 170px;
  max-width: 170px;
}

.category-count-box select {
  width: 72px;
}

.category-mode-box {
  width: 185px;
}

.categories-form .category-count-box > span,
.categories-form .category-mode-box > span { font-weight: 400; }
.categories-form .category-mode-box { display: grid; gap: 4px; min-width: 0; }
.categories-form .category-mode-options {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  box-sizing: border-box;
}
.categories-form .category-mode-options label { display: inline-flex; align-items: center; gap: 4px; font-weight: 400; white-space: nowrap; }
.categories-form .category-mode-options input { width: auto; min-height: 0; margin: 0; }

.inline-radio-box {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 34px;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
}

.inline-radio-box legend {
  padding: 0 5px;
  font-size: 0.83rem;
  font-weight: 800;
}

.inline-radio-box label {
  display: flex;
  align-items: center;
  gap: 5px;
  font-weight: 400;
}

.inline-radio-box input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.estimated-rating-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  min-height: 28px;
  padding: 0;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.estimated-rating-toggle input {
  width: auto;
  min-height: auto;
  margin: 0;
}

.estimated-rating-note {
  color: var(--error);
  font-size: 0.8rem;
  font-weight: 800;
}

.category-ranges-grid,
.category-params-table {
  display: grid;
  gap: 4px;
  align-items: center;
}

.category-ranges-grid {
  grid-template-columns: 44px 95px 95px 84px;
  width: max-content;
}

.category-params-table {
  justify-content: start;
}

.category-param-header,
.category-param-row {
  display: grid;
  grid-template-columns: 36px 140px 140px 280px 60px 100px;
  gap: 4px;
  align-items: center;
}

.category-ranges-grid strong,
.category-param-header strong {
  padding: 5px 6px;
  border: 1px solid var(--line);
  background: #d9d9d9;
  font-size: 0.82rem;
  font-weight: 800;
}

.category-ranges-grid > strong:nth-child(4) {
  white-space: nowrap;
}


.category-ranges-grid span,
.param-cat {
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--soft);
  font-weight: 800;
}

.category-ranges-grid .category-player-count {
  text-align: center;
  font-weight: 700;
}

.category-total-label {
  grid-column: 1 / 4;
  text-align: right;
}

.category-total-count {
  grid-column: 4;
  text-align: center;
}

.category-ranges-grid input,
.category-params-table input,
.category-params-table select {
  min-height: 31px;
  padding: 5px 7px;
  font-size: 0.84rem;
}

.param-field {
  display: block;
  gap: 0;
}

.mobile-param-label {
  display: none;
}


.readonly-field {
  color: var(--muted);
  background: #f1f3f1;
  cursor: not-allowed;
  user-select: none;
  caret-color: transparent;
}

.readonly-field:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.readonly-table-value {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  width: 100%;
  padding: 3px 6px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--muted);
  background: #f1f3f1;
  font-size: 0.82rem;
  cursor: not-allowed;
}

.disabled-tee-placeholder {
  display: block;
  width: 100%;
  min-height: 31px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #d9d9d9;
  cursor: not-allowed;
  user-select: none;
}

.form-section {
  display: grid;
  gap: 16px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.section-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.section-title-row h2 {
  margin: 0 0 6px;
}

.section-title-row p {
  margin: 0;
  color: var(--muted);
}

.compact-field {
  min-width: 190px;
}

.groups-editor {
  display: grid;
  gap: 10px;
}

.group-row {
  display: grid;
  grid-template-columns: 86px minmax(180px, 1fr) minmax(220px, 1.2fr);
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdfb;
}

.group-row strong {
  align-self: center;
  color: var(--green-dark);
}

.empty-state {
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--soft);
}

.app-footer {
  display: flex;
  justify-content: center;
  gap: 18px;
  padding: 22px;
  color: var(--muted);
  font-size: 0.86rem;
}

/* Public home */
.public-home-page .page-shell {
  margin: 0;
  width: 100%;
}

.home-hero {
  height: 281px;
  min-height: 281px;
  overflow: hidden;
  position: relative;
}

.home-hero > img {
  height: 100%;
  object-fit: cover;
  object-position: center 57%;
  position: absolute;
  width: 100%;
}

.home-hero-shade {
  background: linear-gradient(90deg, rgba(5, 26, 16, .88) 0%, rgba(5, 26, 16, .65) 45%, transparent 72%);
  inset: 0;
  position: absolute;
}

.home-hero-content {
  color: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  max-width: 1050px;
  padding: 18px 5vw;
  position: relative;
}

.home-eyebrow { color: #dce9df; font-size: 13px; font-weight: 700; margin: 0 0 5px; }
.home-hero h1 { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 34px; line-height: 1.1; margin: 0; max-width: 760px; }
.home-hero h1 span { font-size: 17px; }
.home-positioning { color: #f1d170; font-size: 18px; font-weight: 700; margin: 7px 0 7px; }
.home-promise { font-size: 14px; line-height: 1.35; margin: 0 0 14px; max-width: 590px; }

.home-immediate-result {
  border-left: 4px solid #d6ae42;
  display: flex;
  flex-direction: column;
  margin: 21px 0 22px;
  padding: 3px 0 3px 14px;
}

.home-immediate-result span { color: #dce9df; font-size: 12px; }
.home-immediate-result strong { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.16; max-width: 700px; }
.home-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.home-hero-actions a { font-size: 14px; font-weight: 800; padding: 10px 16px; text-decoration: none; }
.home-primary-action { background: #d6ae42; color: #1c2b21; }
.home-secondary-action { border: 1px solid #fff; color: #fff; }
.home-credit { bottom: 12px; color: rgba(255,255,255,.9); font-size: 12px; margin: 0; position: absolute; right: 4vw; }

.home-feature-strip {
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 0 3vw;
}

.home-feature-strip article { border-right: 1px solid var(--line); min-height: 112px; padding: 10px 14px 9px; }
.home-feature-strip article:first-child { border-left: 1px solid var(--line); }
.home-feature-strip svg { color: var(--green); height: 24px; margin-bottom: 4px; width: 24px; }
.home-feature-strip h2 { color: var(--green-dark); font-size: 14px; line-height: 1.15; margin: 0; }
.home-feature-strip p { color: var(--muted); font-size: 13px; line-height: 1.35; margin: 5px 0 0; }

.home-benefits { margin: 0 auto; max-width: 1180px; padding: 13px 24px 18px; }
.home-brazil-line { align-items: center; display: flex; gap: 12px; }
.home-brazil-line img { display: block; height: 40px; object-fit: cover; width: 56px; }
.home-brazil-line p { flex: 1; font-size: 13px; margin: 0; }
.home-brazil-line a { background: var(--green); color: #fff; font-size: 13px; font-weight: 800; padding: 9px 13px; text-decoration: none; }

@media (min-width: 700px) {
  .home-immediate-result strong { white-space: nowrap; }
}

@media (max-width: 940px) {
  .home-hero { height: 350px; min-height: 350px; }
  .home-hero-shade { inset: 0; }
  .home-feature-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
  .home-feature-strip article,
  .home-feature-strip article:first-child { border-bottom: 1px solid var(--line); border-left: 0; }
}

@media (max-width: 580px) {
  .public-home-page .app-header { padding-left: 14px; padding-right: 14px; }
  .public-home-page .brand-logo-organizer { width: 112px; }
  .public-home-page .top-nav { gap: 2px; flex-wrap: nowrap; }
  .public-home-page .top-nav a { font-size: 12px; padding: 5px 3px; white-space: nowrap; }
  .home-hero { height: 540px; min-height: 0; }
  .home-hero > img { object-position: 68% center; }
  .home-hero-content { justify-content: flex-end; padding: 24px 20px 42px; }
  .home-eyebrow { font-size: 11px; }
  .home-hero h1 { font-size: 27px; }
  .home-positioning { font-size: 17px; }
  .home-promise { font-size: 13px; }
  .home-immediate-result { margin: 17px 0; }
  .home-immediate-result strong { font-size: 19px; }
  .home-hero-actions a { text-align: center; width: 100%; }
  .home-credit { bottom: 9px; right: 14px; }
  .home-feature-strip { grid-template-columns: repeat(2, 1fr); }
  .home-feature-strip article { min-height: 148px; }
  .home-benefits { padding: 22px 18px 32px; }
  .home-brazil-line { align-items: flex-start; flex-wrap: wrap; }
  .home-brazil-line p { min-width: calc(100% - 65px); }
  .home-brazil-line a { text-align: center; width: 100%; }
}

@media (max-width: 1024px) {
  .app-header {
    padding: 9px 18px;
  }

  .brand-main {
    font-size: 1.05rem;
  }

  .brand-version,
  .brand-credit {
    font-size: 0.65rem;
  }

  .top-nav a {
    padding: 6px 9px;
    font-size: 0.78rem;
  }

  .tournament-action-nav {
    gap: 4px;
    margin-bottom: 9px;
    padding: 6px;
  }

  .tournament-action-nav a {
    min-height: 27px;
    padding: 4px 7px;
    font-size: 0.74rem;
  }

  .app-header {
    gap: 9px;
  }

  .app-header .tournament-action-nav {
    gap: 3px;
  }

  .app-header .tournament-action-nav a {
    min-height: 25px;
    padding: 3px 5px;
    font-size: 0.64rem;
  }
}

@media (max-width: 700px) {
  .app-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 6px 10px;
    padding: 7px 12px;
  }

  .app-header .brand-main { font-size: 1rem; }
  .app-header .brand-version { font-size: .74rem; }
  .app-header .brand-credit { font-size: .7rem; }

  .tournament-menu-toggle {
    display: inline-grid;
    place-items: center;
    width: 31px;
    min-width: 31px;
    min-height: 28px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 5px;
    color: #fff;
    background: transparent;
    font-size: 1.12rem;
    line-height: 1;
  }

  .app-header .tournament-action-nav {
    display: none;
    grid-column: 1 / -1;
    justify-self: end;
    width: min(260px, 100%);
    gap: 0;
    padding: 4px 8px;
    border: 0;
    border-radius: 4px;
    background: #d9d9d9;
  }

  .account-menu {
    grid-column: 3;
    grid-row: 1;
  }

  .app-header:has(.tournament-menu-toggle) .account-menu {
    grid-column: 2;
  }

  .account-identity { max-width: 145px; font-size: 0.68rem; }

  .tournament-menu-toggle {
    grid-column: 3;
    grid-row: 1;
  }

  .app-header.menu-open .tournament-action-nav {
    display: flex;
    flex-direction: column;
  }

  .app-header .tournament-action-nav a {
    justify-content: flex-end;
    width: 100%;
    min-height: 25px;
    padding: 8px 12px;
    border: 0;
    border-bottom: 1px solid #bcbcbc;
    border-radius: 0;
    color: var(--header-green);
    background: transparent;
    font-size: 1rem;
    min-height: 42px;
    text-align: right;
  }

  .app-header .tournament-action-nav a:hover,
  .app-header .tournament-action-nav a:focus-visible {
    color: var(--header-green);
    background: rgba(255, 255, 255, 0.55);
  }

  .app-header .tournament-action-nav a.active {
    border-color: #bcbcbc;
    border-right: 3px solid var(--header-green);
    color: var(--header-green);
    background: transparent;
    font-weight: 800;
  }

  .app-header .tournament-action-nav a.disabled {
    color: #777;
    background: transparent;
  }

  .app-header .tournament-action-nav .system-link-first {
    margin-left: 0;
    margin-top: 4px;
    border-top: 1px solid #8f8f8f;
  }

  .app-header .tournament-action-nav .system-link {
    color: var(--header-green);
    background: transparent;
  }

  .app-header .tournament-action-nav a:last-child {
    border-bottom: 0;
  }
}

@media (max-width: 760px) {
  html {
    font-size: 80%;
  }

  .app-header .top-nav { gap: 3px; flex-wrap: nowrap; }
  .app-header .top-nav a { font-size: 12px; padding: 5px 3px; white-space: nowrap; }
  .app-header .account-identity { font-size: 12px; }
  .app-header .account-menu-links a { font-size: 13px; }

  .app-header .brand-logo-organizer { width: 112px; }

  .app-header .tournament-action-nav a {
    min-height: 44px;
    padding: 9px 12px;
    font-size: 1.18rem;
  }

  .hero-panel,
  .app-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .brand-main {
    font-size: 0.94rem;
  }

  .brand-version,
  .brand-credit {
    font-size: 0.59rem;
  }

  .top-nav {
    gap: 5px;
  }

  .top-nav a {
    padding: 4px 7px;
    font-size: 0.7rem;
  }

  .account-identity {
    max-width: 105px;
    gap: 5px;
    font-size: 0.62rem;
  }

  .account-icon {
    width: 18px;
    height: 18px;
    flex-basis: 18px;
  }

  .account-icon::before {
    top: 3px;
    left: 6px;
  }

  .account-icon::after {
    left: 3px;
    bottom: 2px;
  }

  .layout-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-heading {
    align-items: flex-end;
    gap: 8px;
  }

  .dashboard-heading h1 {
    font-size: 1.25rem;
  }

  .dashboard-heading p {
    font-size: .72rem;
  }

  .dashboard-layout {
    grid-template-columns: 1fr;
  }

  .dashboard-new-card {
    width: min(340px, 100%);
  }

  .status-grid,
  .roadmap-grid {
    grid-template-columns: 1fr;
  }

  .official-summary-title,
  .official-summary-section-title {
    flex-direction: column;
  }

  .summary-generation {
    width: 100%;
    min-width: 0;
  }

  .official-meta-list > div {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .global-form .form-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .global-form .form-grid label,
  .global-form .form-grid .field-wide,
  .global-form .form-grid label:nth-child(7) {
    width: 100%;
    flex-basis: auto;
  }

  .field-wide {
    grid-column: auto;
  }

  .holes-grid {
    grid-template-columns: repeat(4, minmax(54px, 1fr));
  }

  .form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .category-structure-grid {
    grid-template-columns: 1fr;
  }

  .category-param-header {
    display: none;
  }

  .category-param-row {
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 7px;
    background: #fbfdfb;
  }

  .param-cat,
  .param-field {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 8px;
    align-items: center;
  }

  .mobile-param-label {
    display: block;
    color: var(--ink);
    font-weight: 800;
  }

  .param-cat {
    border: 0;
    background: transparent;
    padding: 0;
  }

  .category-count-box,
  .category-mode-box {
    width: 100%;
    min-width: 0;
  }

  .category-ranges-grid {
    width: 100%;
    grid-template-columns: 42px 1fr 1fr 76px;
  }

  .inline-radio-box {
    align-items: flex-start;
    flex-direction: column;
  }

  .section-title-row,
  .group-row {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .compact-group-row {
    grid-template-columns: 1fr;
  }

  .section-title-row {
    flex-direction: column;
  }

  .compact-field {
    min-width: 0;
  }

  .hero-stat {
    width: 100%;
  }

  .players-import-sources {
    grid-template-columns: 1fr;
  }

  .players-import-card .upload-panel {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .players-table-wrap {
    max-height: 62vh;
    min-height: 260px;
  }

  .players-list-toolbar {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .players-search-field {
    order: 3;
    width: 100%;
  }

  .player-dialog-grid {
    grid-template-columns: 1fr 1fr;
  }

  .player-index-fields { grid-template-columns: 1fr 1fr; }
  .player-index-reason-field { grid-column: 1 / -1; }

  .player-name-field {
    grid-column: span 1;
  }
}
.locked-form-fields {
  border: 0;
  margin: 0;
  min-width: 0;
  padding: 0;
}

.score-close-dialog label {
  display: grid;
  gap: 4px;
  margin-top: 10px;
  text-align: left;
}

.score-close-dialog textarea,
.score-close-dialog input[type="password"] {
  box-sizing: border-box;
  width: 100%;
}

.classification-heading,
.classification-group > header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.classification-heading { margin-bottom: 12px; }
.classification-heading-actions { display: flex; align-items: flex-end; flex-direction: column; gap: 6px; }
.classification-heading h1 { font-size: 1.35rem; margin: 0 0 2px; }
.classification-heading strong, .classification-heading span { display: block; }
.classification-heading span, .classification-generated { color: #536159; font-size: .78rem; }
.classification-group { margin-top: 12px; }
.classification-category { margin-bottom: 12px; padding: 10px; }
.classification-report-block { margin: 0 auto; max-width: 100%; width: max-content; }
.classification-report-block-scratch { margin-top: 12px; }
.classification-report-heading {
  align-items: baseline;
  border-bottom: 2px solid #66766c;
  box-sizing: border-box;
  display: flex;
  gap: 18px;
  justify-content: center;
  margin-bottom: 7px;
  padding: 2px 2px 5px;
  white-space: nowrap;
  width: 100%;
}
.classification-report-heading span { font-size: .82rem; }
.classification-report-heading b { font-weight: 700; }
.classification-report-group { font-size: 1rem; font-weight: 800; margin-right: 6px; }
.classification-report-group small { font-size: .7rem; font-weight: 500; margin-left: 5px; }
.classification-report-heading-scratch { border-top: 1px solid #a2aaa5; padding-top: 8px; }
.classification-table-wrap { overflow-x: auto; }
.classification-table { border-collapse: collapse; font-size: .82rem; margin: 0 auto; table-layout: fixed; width: auto; }
.classification-table th, .classification-table td { border: 1px solid #a2aaa5; box-sizing: border-box; height: 6mm; padding: 2px 3px; vertical-align: middle; white-space: nowrap; }
.classification-table th { background: var(--header-green); color: #fff; font-weight: 700; height: 10mm; line-height: 1.05; text-align: center; }
.classification-table th span { display: block; }
.classification-table th.classification-countback-title { height: 5mm; }
.classification-table .classification-countback-labels th { height: 5mm; }
.classification-col-place { width: 10mm; }
.classification-col-id { width: 15mm; }
.classification-col-player { width: 50mm; }
.classification-col-metric { width: 13mm; }
.classification-col-countback { width: 6mm; }
.classification-col-origin { width: 24mm; }
.classification-col-status { width: 23mm; }
.classification-table tbody tr:nth-child(even) { background: #eef3db; }
.classification-table td { text-align: center; }
.classification-table .classification-player { max-width: 50mm; overflow: hidden; text-align: left; text-overflow: ellipsis; }
.classification-table .classification-player button,
.classification-table .classification-player span,
.public-ranking-player { text-align: left; }
.classification-table .classification-player span { display: block; overflow: hidden; text-overflow: ellipsis; }
.classification-table .classification-player small { color: #737d77; display: block; font-size: .68rem; font-weight: 400; line-height: 1.05; overflow: hidden; text-overflow: ellipsis; }
.classification-table .classification-id small { color: #737d77; display: block; font-size: .68rem; font-weight: 400; line-height: 1.05; }
.classification-place, .classification-result { font-weight: 700; }
.classification-countback { font-weight: 700; }
.classification-countback-deciding { color: #111; }
.classification-dq .classification-result { font-weight: 400; }
.classification-dq .classification-status,
.classification-dq .public-ranking-situation dd { color: #b00020; }
.classification-status { font-size: .74rem; }
.classification-locked { text-align: left; }

.classification-publication-admin {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 0 0 10px;
  padding: 9px 12px;
}
.classification-publication-status { display: flex; flex-direction: column; gap: 2px; }
.classification-publication-controls { gap: 12px; }
.classification-publication-controls label { font-size: .72rem; gap: 4px; }
.classification-publication-controls input[type="radio"] { height: 13px; width: 13px; }
.classification-publication-controls button { font-size: .7rem; min-height: 29px; padding: 5px 9px; }
.classification-publication-controls button.copy-confirmed { background: #315c44; color: #fff; transform: translateY(1px); }
.workflow-milestone { color: #315c44; font-size: .82rem; font-weight: 700; margin: 4px 0 0; }
.workflow-dialog { max-width: 680px; width: min(92vw, 680px); }
.workflow-dialog .player-dialog-actions { flex-wrap: wrap; }
.classification-page,
.public-classification-page {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.public-classification-page { background: #f5f7f4; margin: 0; }
.public-classification-shell { margin: 0 auto; max-width: 1500px; padding: 12px; }
.public-classification-heading { align-items: center; background: #f5f7f4; display: flex; gap: 10px; justify-content: space-between; margin: 0 0 6px; padding: 3px 0 5px; position: sticky; top: var(--public-header-height, 28px); z-index: 40; }
.public-classification-title { min-width: 0; }
.public-classification-heading .eyebrow { font-size: .62rem; margin: 0; }
.public-classification-heading h1 { font-size: 1rem; line-height: 1.08; margin: 0; }
.public-classification-heading span, .public-classification-published { color: #536159; font-size: .66rem; line-height: 1.1; }
.public-classification-header { min-height: 28px; padding-block: 4px; position: sticky; top: 0; z-index: 50; }
.public-classification-brand { align-items: baseline; display: flex !important; flex: 1 1 auto; gap: 9px; min-width: 0; white-space: nowrap; width: 100%; }
.public-classification-credit { margin-left: auto; }
.public-classification-index { align-items: center; display: flex; flex: 1 1 auto; gap: 5px; justify-content: flex-end; min-width: 0; overflow-x: auto; scrollbar-width: thin; white-space: nowrap; }
.public-classification-index a { background: #eef3db; border: 1px solid #819087; color: #315c44; flex: 0 0 auto; font-size: .68rem; padding: 4px 7px; text-decoration: none; }
.public-classification-index a:hover, .public-classification-index a:focus-visible { background: #315c44; color: #fff; }
.public-classification-select-label, .public-classification-select { display: none; }
.public-classification-groups .classification-category { scroll-margin-top: calc(var(--public-ranking-sticky-top, 98px) + 5px); }
.public-classification-mobile { display: none; }
.public-classification-rotate-hint { display: none; }
.public-player-card-trigger {
  appearance: none;
  background: transparent;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  min-height: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}
.public-player-card-modal {
  background: rgba(10, 24, 17, .82);
  display: none;
  inset: 0;
  padding: 2dvh 2vw;
  position: fixed;
  z-index: 1000;
}
.public-player-card-modal[hidden] { display: none !important; }
.public-player-card-modal.is-open { align-items: center; display: grid; justify-items: center; }
.public-player-card-frame { align-items: center; display: flex; height: 96dvh; justify-content: center; width: 96vw; }
.public-player-card-frame[hidden] { display: none; }
.public-player-card-frame svg { display: block; height: auto; max-width: 96vw; width: min(96vw, 112dvh); }
.public-player-card-frame #gs-card-close { cursor: pointer; }
.public-player-card-frame #gs-card-close:focus { outline: 16px solid rgba(255,255,255,.8); outline-offset: 16px; }
.public-card-open, .public-card-open body { overflow: hidden; }

@media (max-width: 1024px) {
  .public-classification-page {
    --public-scorecard-label-width: 40px;
    --public-detail-index-width: 42px;
    --public-detail-countback-width: 112px;
    --public-detail-situation-width: 96px;
    --public-detail-origin-width: 47px;
    --public-detail-gap: 5px;
  }
  html, body, .public-classification-index { scrollbar-width: none; }
  html::-webkit-scrollbar, body::-webkit-scrollbar, .public-classification-index::-webkit-scrollbar { display: none; height: 0; width: 0; }
  .classification-publication-admin { align-items: flex-start; flex-direction: column; }
  .public-classification-shell { padding: 7px; }
  .public-classification-heading { align-items: start; box-sizing: border-box; display: grid; gap: 4px; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); margin: 0 -7px 5px; padding: 3px 7px 4px; }
  .public-classification-heading .eyebrow { font-size: .58rem; }
  .public-classification-heading h1 { font-size: .95rem; }
  .public-classification-heading span, .public-classification-published { font-size: .74rem; }
  .public-classification-header { min-height: 28px; padding: 3px 7px; }
  .public-classification-brand strong { font-size: .92rem; }
  .public-classification-brand small { font-size: .62rem; }
  .public-classification-credit { font-size: .72rem !important; }
  .public-classification-index { align-items: stretch; display: flex; flex-direction: column; gap: 2px; justify-content: center; overflow: visible; white-space: normal; }
  .public-classification-index a { display: none; }
  .public-classification-select-label { color: #0a592f; display: block; font-size: .72rem; font-weight: 700; }
  .public-classification-select { background: #fff; border: 1px solid #819087; border-radius: 4px; color: #0a592f; display: block; font-size: .86rem; min-height: 36px; min-width: 0; width: 100%; }
  .public-classification-rotate-hint { color: #315c44; display: block; font-size: .88rem; font-weight: 700; grid-column: 1 / -1; line-height: 1.1; margin: 0; }
  .public-classification-desktop { display: none; }
  .public-classification-mobile { display: block; }
  .public-classification-groups .classification-category { padding: 6px; }
  .public-classification-mobile .classification-report-heading { align-items: flex-start; display: flex; flex-direction: column; gap: 3px; }
  .public-classification-mobile .classification-report-heading span { font-size: .92rem; }
  .public-classification-mobile .classification-report-group { padding-right: 82px; }
  .public-classification-mobile .classification-report-group small { margin-left: 4px; }
  .public-classification-mobile .classification-report-group-derived { box-sizing: border-box; margin-right: 0; padding-right: 0; white-space: normal; width: 100%; }
  .public-classification-mobile .classification-report-group-derived small { font-size: calc(.7rem + 1px); }
  .public-ranking-sticky { background: #fff; position: sticky; top: var(--public-ranking-sticky-top, 98px); z-index: 25; }
  .public-ranking-columns, .public-ranking-summary { display: grid; gap: 2px; grid-template-columns: 27px minmax(0, 1fr) 38px 35px 39px 39px; }
  .public-ranking-columns { align-items: center; background: var(--header-green); color: #fff; font-size: .88rem; font-weight: 700; line-height: 1.05; min-height: 30px; padding: 2px 4px; text-align: center; }
  .public-ranking-columns span:nth-child(2) { text-align: left; }
  .public-ranking-class-label { font-size: .68rem; }
  .public-ranking-list { border: 1px solid #819087; border-bottom: 0; }
  .public-ranking-row { background: #fff; border-bottom: 1px solid #819087; }
  .public-ranking-row:nth-child(even) { background: #eef3db; }
  .public-ranking-summary { align-items: center; min-height: 25px; padding: 1px 4px; }
  .public-ranking-place, .public-ranking-player, .public-ranking-meta, .public-ranking-part, .public-ranking-result { font-size: 15px; }
  .public-ranking-place, .public-ranking-meta, .public-ranking-part, .public-ranking-result { text-align: center; }
  .public-ranking-summary .public-ranking-player { justify-content: flex-start; overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
}

@media (max-width: 700px) {
  .classification-heading { align-items: flex-start; }
  .classification-generated { text-align: right; }
  .classification-category { padding: 6px; }
  .classification-report-heading { flex-wrap: wrap; gap: 3px 12px; white-space: normal; }
  .classification-table { font-size: .78rem; }
  .classification-table th, .classification-table td { padding: 1px 2px; }
}

@media (min-width: 1151px) {
  .app-header .tournament-action-nav { min-width: max-content; }
}

@media (min-width: 1071px) and (max-width: 1150px) {
  .app-header:has(.tournament-action-nav) .brand,
  .app-header:has(.tournament-action-nav) .account-menu { flex: 0 0 auto; }

  .app-header .tournament-action-nav {
    display: flex;
    flex-wrap: nowrap;
    min-width: max-content;
    gap: 2px;
  }

  .app-header .tournament-action-nav a { font-size: .68rem; padding: 3px 4px; }
}

@media (min-width: 701px) and (max-width: 1070px) {
  .app-header:has(.tournament-action-nav) {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr) max-content;
    gap: 8px;
  }

  .app-header:has(.tournament-action-nav) .brand { grid-column: 1; grid-row: 1; }

  .app-header:has(.tournament-action-nav) .tournament-menu-toggle {
    display: none;
  }

  .app-header:has(.tournament-action-nav) .account-menu {
    grid-column: 3;
    grid-row: 1;
  }

  .app-header:has(.tournament-action-nav) .tournament-action-nav {
    display: grid;
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    gap: 2px 4px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
  }

  .app-header:has(.tournament-action-nav) .tournament-action-nav a {
    justify-content: center;
    width: 100%;
    min-height: 26px;
    padding: 3px 2px;
    border: 0;
    color: #fff;
    font-size: 10.5px;
    text-align: center;
  }
}

/* Guided tournament regulation editor */
.regulation-page .page-shell { margin-top: 14px; }
.regulation-shell { color: #27332c; width: 100%; }
.regulation-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 14px; margin-bottom: 8px; }
.regulation-pub-stamp { display: flex; align-items: center; flex-wrap: nowrap; gap: 10px; min-height: 34px; margin: 0 0 7px; padding: 5px 8px; border: 1px solid #dbc88f; border-left: 4px solid #d6ae42; border-radius: 5px; background: #fffaf0; color: #4d431e; white-space: nowrap; }
.regulation-pub-stamp fieldset { display: inline-flex; align-items: center; gap: 7px; min-width: 0; margin: 0; padding: 0; border: 0; }
.regulation-pub-stamp fieldset + fieldset { padding-left: 10px; border-left: 1px solid #d4bf82; }
.regulation-pub-stamp legend { float: left; width: auto; margin: 0; padding: 0; font-size: .7rem; font-weight: 700; }
.regulation-pub-stamp label { display: inline-flex; align-items: center; gap: 3px; margin: 0; font-size: .72rem; font-weight: 400; white-space: nowrap; }
.regulation-pub-stamp input { width: 13px; height: 13px; min-height: 0; margin: 0; accent-color: #9b741c; }
.structure-pub-stamp { width: 100%; box-sizing: border-box; }
.players-management-page .structure-pub-stamp { flex-wrap: wrap; }
.players-sync-indicator { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.players-sync-light { display: block; flex: 0 0 72px; width: 72px; height: 28px; border-radius: 5px; background: #00A859; }
.players-sync-pending .players-sync-light { background: #b42318; animation: players-sync-blink 2s steps(1, end) infinite; }
@keyframes players-sync-blink {
  0%, 49.99% { background: #b42318; }
  50%, 100% { background: transparent; }
}
@media (prefers-reduced-motion: reduce) {
  .players-sync-pending .players-sync-light { animation: none; }
}
.structure-pub-stamp button { margin-left: auto; min-height: 25px; padding: 3px 8px; font-size: .7rem; }
.tournament-summary-page .structure-pub-stamp button { border: 2px solid var(--header-green); padding-block: 2px; }
.registration-pub-stamp { gap: 10px; }
.pretournament-publication-subtitle { margin: 8px 0 4px; color: #315c44; font-size: .74rem; }
.pretournament-pub-stamp { width: 100%; box-sizing: border-box; margin: 4px 0 7px; }
.conference-publication-expiry { margin-left: auto; font-size: .7rem; color: #665624; }
.classification-pub-stamp { box-sizing: border-box; width: 100%; flex-wrap: wrap; white-space: normal; }
.classification-pub-stamp > form { display: inline-flex; flex: 0 1 auto; min-width: 0; margin: 0; }
.classification-pub-stamp > form + form { border-left: 1px solid #d4bf82; padding-left: 10px; }
@media (max-width: 560px) { .classification-pub-stamp > form + form { padding-left: 5px; } }
.registration-pub-deadline { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; white-space: nowrap; }
.registration-pub-deadline span { font-size: .7rem; font-weight: 600; }
.registration-pub-deadline input { width: 168px; min-height: 25px; padding: 2px 4px; font-size: .72rem; }
@media (max-width: 700px) { .registration-pub-stamp { flex-wrap: wrap; } .registration-pub-deadline { margin-left: 0; } }
@media (max-width: 560px) { .regulation-pub-stamp { gap: 5px; padding: 5px 4px; } .regulation-pub-stamp fieldset { gap: 4px; } .regulation-pub-stamp fieldset + fieldset { padding-left: 5px; } .regulation-pub-stamp legend, .regulation-pub-stamp label { font-size: .62rem; } .regulation-pub-stamp input { width: 11px; height: 11px; } }
.regulation-heading .eyebrow { margin: 0 0 2px; color: #236b4c; font-size: .75rem; font-weight: 800; }
.regulation-heading h1 { margin: 0 0 4px; font-size: 1.35rem; line-height: 1.15; }
.regulation-heading .admin-tournament-identity { margin: 0; }
.regulation-intro { margin: 0 0 12px; color: #536159; font-size: .82rem; }
.regulation-heading-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.regulation-heading-actions button, .regulation-footer button { white-space: nowrap; }
.regulation-save-status { color: #536159; font-size: .78rem; }
.regulation-actions-bar { align-items: center; background: #f5faf6; border: 1px solid #cdd8cf; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; margin: 0 0 10px; padding: 7px 9px; }
.regulation-actions-bar button,
.regulation-preview-head button { min-height: 30px; padding: 5px 10px; white-space: nowrap; }
.regulation-page .regulation-actions-bar button,
.regulation-page .regulation-preview-head button,
.regulation-page .regulation-footer button { font-size: .88rem; }
.regulation-page .regulation-actions-bar .secondary-button,
.regulation-page .regulation-preview-head .secondary-button { background: #fff; border: 2px solid var(--header-green); color: var(--header-green); }
.regulation-page .regulation-actions-bar button:not(.secondary-button),
.regulation-page .regulation-footer button { background: var(--header-green); }
.regulation-page .regulation-actions-bar button:active,
.regulation-page .regulation-preview-head button:active,
.regulation-page .regulation-footer button:active { color: #A9ABAE; }
.regulation-section-summary > summary { display: none; }
.regulation-section { border: 1px solid #c1d1c4; margin: 0 0 10px; background: #fff; }
.regulation-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 16px; background: #e5f2e6; color: #194e36; cursor: pointer; font-size: 1.04rem; font-weight: 800; list-style: none; }
.regulation-section > summary::-webkit-details-marker { display: none; }
.regulation-section > summary::after { content: '+'; font-size: 1.3rem; line-height: 1; order: 3; }
.regulation-section[open] > summary::after { content: '−'; }
.regulation-section > summary small { margin-left: auto; color: #536159; font-size: .76rem; font-weight: 600; }
.regulation-table-scroll { overflow-x: auto; }
.regulation-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: .88rem; }
.regulation-col-item { width: 22%; }
.regulation-col-auto { width: 22%; }
.regulation-col-text { width: 51%; }
.regulation-col-active { width: 5%; }
.regulation-table thead th { background: #246849; color: #fff; padding: 8px 10px; text-align: left; font-size: .78rem; font-weight: 800; }
.regulation-table thead th:last-child { text-align: center; }
.regulation-table tbody tr { border-bottom: 1px solid #d9e3db; }
.regulation-table tbody tr:nth-child(even) { background: #f6faf6; }
.regulation-table tbody th, .regulation-table tbody td { padding: 5px 9px; vertical-align: middle; text-align: left; overflow-wrap: anywhere; }
.regulation-table tbody th { font-weight: 700; color: #24362b; }
.regulation-auto { color: #225f46; font-weight: 700; }
.regulation-empty { color: #88958b; font-size: .8rem; font-weight: 400; }
.regulation-row textarea, .regulation-extra-row input[type="text"], .regulation-extra-row input[name^="extra_title"] { display: block; box-sizing: border-box; width: 100%; min-height: 38px; margin: 0; padding: 8px 9px; border: 1px solid #abbcaf; border-radius: 3px; background: #fff; color: #24362b; font: inherit; line-height: 1.35; resize: vertical; }
.regulation-row textarea:focus, .regulation-extra-row input:focus { outline: 2px solid #248559; outline-offset: 1px; }
.regulation-guide { display: block; margin: 0; color: #52655a; font-size: .76rem; line-height: 1.25; }
.regulation-sample { margin-top: 4px; color: #52655a; font-size: .76rem; }
.regulation-sample summary { cursor: pointer; width: fit-content; text-decoration: underline; }
.regulation-sample p { margin: 4px 0 2px; line-height: 1.3; }
.regulation-active { text-align: center !important; }
.regulation-active label { display: inline-grid; place-items: center; min-width: 30px; min-height: 30px; cursor: pointer; }
.regulation-active input { width: 18px; height: 18px; accent-color: #236b4c; }
.regulation-required { color: #286a49; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.regulation-row.is-inactive th, .regulation-row.is-inactive .regulation-auto { opacity: .5; }
.regulation-row.is-inactive textarea { color: #67746a; }
.regulation-clear-button { padding: 6px 9px; }
.regulation-footer { display: flex; justify-content: flex-end; align-items: center; gap: 18px; padding: 10px 0 24px; }
.regulation-footer span { color: #536159; font-size: .82rem; }
.regulation-publication { align-items: center; display: inline-flex; gap: 6px; font-size: .9rem; font-weight: 750; }
.regulation-publication input { accent-color: #236b4c; height: 18px; width: 18px; }
.regulation-preview[hidden] { display: none; }
.regulation-preview { border: 1px solid #93b09c; margin: 0 0 14px; padding: 15px 20px; background: #fff; }
.regulation-preview-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.online-registration-admin-page .online-registration-financial-last-row button { width: auto; min-height: 28px; padding: 4px 9px; border-radius: 5px; background: var(--header-green); font-size: .76rem; font-weight: 700; }
:is(button, a).admin-quiet-button, .online-registration-admin-page :is(button, a).admin-quiet-button { display: inline-flex; align-items: center; justify-content: center; width: auto; min-height: 28px; padding: 4px 9px; border: 1px solid var(--header-green); border-radius: 5px; background: #fff; color: var(--header-green); font-size: .76rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
:is(button, a).admin-quiet-button:hover:not(:disabled) { background: #edf5ef; color: var(--header-green); }
:is(button, a).admin-quiet-button:focus-visible { outline: 2px solid #075fbd; outline-offset: 2px; }
button.admin-quiet-button:disabled { border-color: #aabbb0; color: #77877b; background: #f3f5f3; }
.scores-interruption-area button.score-interruption-button { border-color: #b42318; background: #fff; color: #b42318; font-weight: 400; }
.scores-interruption-area button.score-interruption-button:hover:not(:disabled) { background: #fff4f2; color: #b42318; }
:is(button, a).admin-quiet-button[hidden] { display: none; }
.online-registration-admin-page .online-registration-list-card { background: #fff; border: 1px solid #ccd9d0; margin-top: 8px; padding: 15px 18px 17px; }
.online-registration-admin-page .online-registration-list-card h2 { color: var(--header-green); font-size: 14px; line-height: 1.25; margin: 0 0 7px; }
.online-registration-admin-page .online-registration-list-card p { color: #5c665f; font-size: 12px; line-height: 1.4; margin: 0; }
.online-registration-list-card p span + span::before { color: #a8b6ad; content: " | "; padding: 0 5px; }
.online-registration-admin-page .online-registration-list-actions { border-top: 1px solid #e0e8e2; display: grid; gap: 12px 20px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 14px; padding-top: 13px; }
.online-registration-admin-page .online-registration-list-actions :is(button, a) { align-self: start; background: none; border: 0; border-radius: 0; color: #075fbd; cursor: pointer; font-size: 13px; font-weight: 400; justify-self: start; line-height: 1.35; min-height: 0; padding: 0; text-align: left; text-decoration: underline; text-underline-offset: 2px; white-space: normal; width: auto; }
.online-registration-admin-page .online-registration-list-actions :is(button, a):hover { color: #003c81; }
.online-registration-admin-page .online-registration-list-actions :is(button, a):focus-visible { outline: 2px solid #075fbd; outline-offset: 3px; }
.online-registration-admin-page .online-registration-list-actions button:disabled { color: #8d9890; cursor: not-allowed; }
.excel-import-help { border: 1px solid #aabcb0; border-radius: 5px; box-shadow: 0 18px 55px #14251a4d; color: #17241b; margin: 24px auto 0; max-height: calc(100dvh - 48px); max-width: calc(100vw - 48px); overflow: hidden; padding: 0; width: 1120px; }
.excel-import-help::backdrop { background: #101b1480; }
.excel-import-help-heading { align-items: center; background: var(--header-green); color: #fff; display: flex; justify-content: space-between; padding: 8px 18px; }
.excel-import-help-heading span { font-size: 12px; font-weight: 700; }
.excel-import-help-heading button { background: transparent; border: 0; color: #fff; cursor: pointer; font-size: 25px; line-height: 1; padding: 0 2px; }
.excel-import-help-content { font-size: 14px; line-height: 1.5; max-height: calc(100dvh - 95px); overflow-y: auto; padding: 18px 24px 24px; }
.excel-import-help-content h2 { color: #0000ff; font-size: 18px; margin: 0 0 12px; }
.excel-import-help-content h3 { color: #0000ff; font-size: 15px; margin: 20px 0 7px; }
.excel-import-help-content h3.excel-import-help-important { color: #17241b; }
.excel-import-help-content p { margin: 0 0 9px; }
.excel-import-help-content ul { margin: 0 0 12px; padding-left: 24px; }
.excel-import-help-content li { margin: 0 0 6px; padding-left: 2px; }
.excel-import-help-content .required { color: #ee0000; font-weight: 700; }
.excel-import-help-content .excel-import-help-legend { color: #17241b; font-size: 12px; margin-top: -8px; }
.excel-import-help-table-wrap { margin: 12px 0 16px; overflow-x: auto; }
.excel-import-help-table { border-collapse: collapse; font-size: 12px; min-width: 880px; text-align: left; width: 100%; }
.excel-import-help-table th, .excel-import-help-table td { border: 1px solid #cbd9ce; padding: 6px 8px; vertical-align: top; }
.excel-import-help-table th { background: #e8f1eb; color: #153f28; }
.excel-import-help-table tbody th { font-weight: 600; vertical-align: middle; }
.excel-import-help-table td[rowspan] { vertical-align: middle; }
.excel-import-help-content .excel-import-help-table { color: #151515; font-size: 12px; min-width: 1000px; }
.excel-import-help-content .excel-import-help-table th, .excel-import-help-content .excel-import-help-table td { background: #fff; border: 1px solid #777; padding: 4px 6px; vertical-align: middle; }
.excel-import-help-content .excel-import-help-table thead th { background: #d9d9d9; color: #151515; font-weight: 700; }
.excel-import-help-content .excel-import-help-table tbody th { background: #d9d9d9; color: #151515; }
.excel-import-help-content .excel-import-help-example { white-space: nowrap; }
@media (max-width: 850px) { .online-registration-admin-page .online-registration-list-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 460px) {
  .online-registration-admin-page .online-registration-list-card { padding: 13px 14px 16px; }
  .online-registration-admin-page .online-registration-list-card h2 { font-size: 13px; }
  .online-registration-list-card p span { display: block; }
  .online-registration-list-card p span + span::before { content: ""; padding: 0; }
  .online-registration-admin-page .online-registration-list-actions { gap: 13px 12px; }
  .excel-import-help { margin-top: 8px; max-height: calc(100dvh - 16px); max-width: calc(100vw - 16px); width: calc(100vw - 16px); }
  .excel-import-help-content { max-height: calc(100dvh - 61px); padding: 16px; }
}
.players-management-page :is(.players-import-compact button, .players-list-toolbar > button, .partnership-mode-actions button, #player-dialog .player-dialog-actions button) { min-height: 30px; padding: 5px 10px; border-radius: 6px; font-size: .88rem; }
.players-management-page :is(.players-import-compact button, #create-partnership-button, #player-dialog-save):not(:disabled) { background: var(--header-green); }
.players-management-page #process-tournament-button { flex: 0 0 auto; margin-left: auto; min-height: 26px; padding: 3px 8px; border: 1px solid var(--header-green); border-radius: 5px; font-size: .74rem; font-weight: 650; }
.players-management-page #process-tournament-button:not(:disabled) { background: #fff; color: var(--header-green); }
.players-management-page :is(#cancel-partnership-mode, #copy-player-exclusive-link, #player-dialog-cancel):not(:disabled) { background: #fff; border: 2px solid var(--header-green); color: var(--header-green); }
.players-management-page :is(.players-import-compact button, .players-list-toolbar > button, .partnership-mode-actions button, #player-dialog .player-dialog-actions button):active { color: #A9ABAE; }
@media (max-width: 700px), (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  .players-management-page .players-page-heading h1 { font-size: 1.1rem; }
  .players-management-page .players-page-heading #players-id-summary { font-size: .88rem; line-height: 1.3; }
  .players-management-page .regulation-pub-stamp :is(legend, label) { font-size: .82rem; }
  .players-management-page .regulation-pub-stamp input { width: 15px; height: 15px; }
  .players-management-page .players-sync-indicator { font-size: .78rem; }
  .players-management-page .players-sync-light { flex-basis: 96px; width: 96px; }
  .players-management-page #players-message-area h2 { font-size: .86rem; }
  .players-management-page #players-message-area :is(.flash, .message) { font-size: .84rem; }
  .players-management-page .players-import-compact p { font-size: .84rem; line-height: 1.3; }
  .players-management-page .players-list-toolbar > button,
  .players-management-page .players-import-compact > button:not(#process-tournament-button) { font-size: .94rem; }
  .players-management-page #process-tournament-button { font-size: .83rem; min-height: 30px; padding: 4px 9px; }
  .players-management-page .players-search-field input { font-size: .9rem; min-height: 32px; }
  .players-management-page .players-search-field > span,
  .players-management-page .players-visible-count,
  .players-management-page .partnership-mode-actions span { font-size: .86rem; }
  .players-management-page .players-table { font-size: .85rem; width: 1015px; min-width: 1015px; }
  .players-management-page .players-table :is(th, td) { height: 28px; padding: 4px 3px; line-height: 1.2; }
  .players-management-page .players-table :is(th, td):nth-child(1) { width: 80px; }
  .players-management-page .players-table :is(th, td):nth-child(2) { width: 32px; }
  .players-management-page .players-table :is(th, td):nth-child(3) { width: 190px; }
  .players-management-page .players-table :is(th, td):nth-child(4) { width: 34px; }
  .players-management-page .players-table :is(th, td):nth-child(5),
  .players-management-page .players-table :is(th, td):nth-child(6),
  .players-management-page .players-table :is(th, td):nth-child(7) { width: 46px; }
  .players-management-page .players-table :is(th, td):nth-child(9) { width: 36px; }
  .players-management-page .players-table :is(th, td):nth-child(12) { width: 96px; }
  .players-management-page .players-table .player-name-primary { white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .players-management-page .players-table :is(.player-home-club, .player-id-entity) { font-size: .73rem; }
  .players-management-page .players-table :is(.player-index-origin, .player-partnership-request) { font-size: .72rem; }
  .players-management-page .player-icon-button { width: 27px; min-width: 27px; height: 27px; min-height: 27px; font-size: 1rem; }
}
.players-management-page :is(.players-list-toolbar > :is(#add-player-button, #partnership-mode-button, #partnership-view-button), .players-cbg-update-actions > :is(#players-cbg-summary-button, #players-cbg-update-button)).admin-quiet-button { min-height: 28px; padding: 4px 9px; border: 1px solid var(--header-green); border-radius: 5px; background: #fff; color: var(--header-green); font-size: .76rem; font-weight: 600; line-height: 1.25; text-decoration: none; }
.players-management-page .players-import-compact > button#import-online-players-button { font-size: 11px; font-weight: 400; }
.players-management-page .players-import-compact > button#players-import-info-button { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; min-height: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: #0F69FF; color: #fff; font-family: Georgia, serif; font-size: 18px; font-style: italic; font-weight: 700; line-height: 1; }
.players-management-page .players-cbg-update-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.players-management-page .players-import-compact .players-cbg-update-actions > button#players-cbg-info-button { display: inline-grid; place-items: center; flex: 0 0 24px; width: 24px; min-height: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: #0F69FF; color: #fff; font-family: Georgia, serif; font-size: 18px; font-style: italic; font-weight: 700; line-height: 1; }
.players-management-page .players-cbg-update-actions > button:disabled { opacity: .45; cursor: not-allowed; }
.players-management-page .players-payment-legend { align-items: center; display: flex; flex: 1 1 auto; flex-wrap: wrap; justify-content: center; gap: 3px 16px; color: #25372b; font-size: 11px; line-height: 1.2; }
.players-management-page .players-payment-legend span { white-space: nowrap; }
.players-management-page .players-payment-legend strong { font-size: 16px; font-weight: 400; margin-right: 3px; }
.players-management-page .players-payment-legend .is-unreported { color: #c2c2c2; }
.players-management-page .players-payment-legend .is-declared { color: #b42323; }
.players-management-page .players-payment-legend .is-confirmed { color: #075fbd; }
.players-management-page .players-info-popover { display: none; position: fixed; inset: auto; margin: 0; width: min(340px, calc(100vw - 32px)); max-height: calc(100vh - 16px); overflow: auto; padding: 13px 16px; border: 1px solid #d8bf72; border-radius: 5px; background: #fff7d6; box-shadow: 0 12px 32px #14251a33; color: #24372a; font-size: 13px; line-height: 1.45; }
.players-management-page .players-info-popover:popover-open { display: block; }
.players-management-page .players-info-popover.is-fallback-open { display: block; z-index: 1000; }
.players-management-page #players-cbg-info { width: min(500px, calc(100vw - 32px)); }
.players-management-page .players-info-popover p { margin: 0 0 7px; }
.players-management-page .players-info-popover p:last-child { margin: 9px 0 0; }
.players-management-page .players-info-popover ol { margin: 0; padding-left: 21px; list-style: decimal; }
.players-management-page .players-info-popover ol ol { margin-top: 4px; padding-left: 26px; list-style: lower-alpha; }
.players-management-page .players-info-popover ol ol ol { list-style: lower-roman; }
.players-management-page .players-info-popover li { margin: 0 0 5px; }
.players-management-page .players-info-popover li:last-child { margin-bottom: 0; }
.players-cbg-summary-dialog { width: min(680px, calc(100vw - 28px)); max-height: calc(100dvh - 36px); margin: auto; padding: 0; overflow: hidden; border: 1px solid #aec0b3; border-radius: 6px; box-shadow: 0 18px 55px #14251a4d; color: #17241b; }
.players-cbg-summary-dialog::backdrop { background: #101b1480; }
.players-cbg-summary-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 18px; background: var(--header-green); color: #fff; }
.players-cbg-summary-heading h2 { margin: 2px 0 0; font-size: 1rem; }
.players-cbg-summary-preview { font-size: .65rem; font-weight: 700; }
.players-cbg-summary-heading button { padding: 0 3px; border: 0; background: transparent; color: #fff; font-size: 24px; line-height: 1; }
.players-cbg-summary-content { max-height: calc(100dvh - 105px); padding: 16px 20px 20px; overflow-y: auto; font-size: .82rem; line-height: 1.4; }
.players-cbg-summary-meta { margin: 0 0 14px; color: #526357; }
.players-cbg-summary-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0 0 16px; border: 1px solid #d9e4dc; background: #d9e4dc; }
.players-cbg-summary-counts div { padding: 9px; background: #fff; }
.players-cbg-summary-counts dt { color: #4a5e50; font-size: .72rem; }
.players-cbg-summary-counts dd { margin: 4px 0 0; font-size: 1.15rem; font-weight: 700; }
.players-cbg-summary-section { padding: 11px 0; border-top: 1px solid #e1e8e3; }
.players-cbg-summary-section h3 { display: flex; align-items: baseline; gap: 7px; margin: 0 0 4px; font-size: .87rem; }
.players-cbg-summary-section h3 span { color: #586c5e; font-size: .74rem; font-weight: 500; }
.players-cbg-summary-section p { margin: 0 0 5px; color: #526357; }
.players-cbg-summary-section ul { margin: 0; padding-left: 19px; }
.players-management-page .players-table tr.player-cbg-borderline-row > td { background: #fff3bf; }
.players-management-page .players-table .player-cbg-name { display: block; color: #68716b; font-size: .6rem; font-weight: 400; line-height: 1.15; }
.player-dialog.cbg-review-dialog { width: min(500px, calc(100vw - 24px)); padding: 14px 18px 15px; font-size: .78rem; }
.cbg-review-dialog .player-dialog-heading { margin-bottom: 8px; }
.cbg-review-dialog .player-dialog-heading h2 { font-size: .9rem; }
.cbg-review-dialog > p { margin-bottom: 7px; line-height: 1.3; }
.cbg-review-dialog label { gap: 3px; font-size: .76rem; font-weight: 500; }
.cbg-review-options { gap: 9px; margin: 7px 0; }
.cbg-review-options > label, #cbg-review-other-options > label { gap: 6px; min-height: 20px; }
.cbg-review-options input[type="radio"] { width: 15px; height: 15px; min-height: 0; padding: 0; margin: 0; }
#cbg-review-other-options { gap: 4px; margin-left: 21px; }
#cbg-review-other-fields { gap: 5px 8px; }
.cbg-review-dialog input:not([type="radio"]), .cbg-review-dialog select { min-height: 28px; height: 28px; padding: 3px 6px; font-size: .77rem; }
.cbg-review-dialog #cbg-review-id-field { margin: 0 0 2px 21px; max-width: 190px; }
.cbg-review-actions { gap: 6px; margin-top: 8px; }
.cbg-review-actions button { min-height: 27px; padding: 4px 9px; font-size: .75rem; }
.cbg-review-cancel-choice { padding-top: 7px; border-top: 1px solid #dce4de; }
#cbg-review-cancel-player { color: #a12626; border-color: #d7a9a9; }
.cbg-review-back-row { margin-top: 0; }
@media (max-width: 700px) {
  .players-management-page .players-table .player-cbg-name { font-size: .67rem; }
  .player-dialog.cbg-review-dialog { padding: 12px 14px 14px; }
}
.players-cbg-summary-alert { margin: 0 0 12px; padding: 9px 11px; border-left: 3px solid #bc3030; background: #fff0f0; color: #852323; }
.players-cbg-summary-empty { margin: 0; }
.cbg-review-name-search { margin: 7px 0 9px; padding: 8px 10px; border: 1px solid #e5d5d5; background: #fff7f7; line-height: 1.35; }
.cbg-review-name-search p { margin: 0 0 5px; }
.cbg-review-name-search p:last-child { margin-bottom: 0; }
.cbg-review-name-search ul { margin: 5px 0; padding-left: 18px; max-height: 110px; overflow: auto; }
@media (max-width: 560px) { .players-cbg-summary-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .players-cbg-summary-content { padding: 13px 15px 18px; } }
.regulation-preview h2 { margin: 0 0 12px; font-size: 1.18rem; }
.regulation-preview h3 { border-bottom: 1px solid #b9d1bf; padding-bottom: 5px; margin: 16px 0 7px; color: #19573b; font-size: 1rem; }
.regulation-preview dl { display: grid; grid-template-columns: minmax(180px, 26%) 1fr; margin: 0; }
.regulation-preview dt, .regulation-preview dd { border-bottom: 1px solid #e5ebe6; margin: 0; padding: 6px 8px; font-size: .9rem; }
.regulation-preview dt { font-weight: 700; }
.regulation-table thead th { background: #b8e5ae; color: #193523; }
.regulation-table tbody tr { background: #e5f6e0; }
.regulation-table tbody tr:nth-child(even) { background: #f0faed; }
.regulation-table tbody th { background: #d6f0cf; }
.regulation-auto { background: #eaf8e6; }
.regulation-generated-text { margin: 3px 0; line-height: 1.4; }
.regulation-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 2px; }
.regulation-editor-head:has(> .regulation-restore:only-child) { justify-content: flex-end; }
.regulation-restore { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: #205d3c; font-size: .74rem; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; white-space: nowrap; }
.regulation-restore:hover:not(:disabled) { color: #123b26; background: transparent; }
.regulation-variants { display: grid; gap: 8px; }
.regulation-variant + .regulation-variant { border-top: 1px solid #b9d9b8; padding-top: 8px; }
.regulation-variant label { display: inline-flex; align-items: center; gap: 5px; font-size: .8rem; font-weight: 700; cursor: pointer; }
.regulation-choice { width: 16px; height: 16px; accent-color: #286eb5; }
.regulation-active input:disabled { accent-color: #7a8a7f; cursor: not-allowed; }
.regulation-row.is-inactive,
.regulation-row.is-inactive th,
.regulation-row.is-inactive td { background: #edf0ed !important; color: #68736a; }
.regulation-row.is-inactive .regulation-auto,
.regulation-row.is-inactive th { opacity: 1; }
.regulation-row.is-inactive textarea,
.regulation-row.is-inactive input[name^="extra_title"] { background: #f3f4f3; color: #68736a; }
.regulation-row.is-inactive .regulation-editor { opacity: .65; }
.regulation-row.is-inactive .regulation-variant label { cursor: default; }
.regulation-row.is-inactive .regulation-restore { cursor: not-allowed; }
@media (max-width: 900px) {
  .regulation-heading { align-items: start; flex-direction: column; }
  .regulation-heading-actions { flex-wrap: wrap; }
  .regulation-table { min-width: 820px; }
  .regulation-col-active { width: 7%; }
  .regulation-preview dl { grid-template-columns: 1fr; }
  .regulation-preview dt { border-bottom: 0; padding-bottom: 0; }
  .regulation-preview dd { padding-top: 0; }
}

/* Organizer tournament structure */
.tournament-structure-page .page-shell { width: min(1080px, calc(100% - 36px)); margin-top: 16px; }
.structure-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; margin-bottom: 12px; }
.structure-heading .eyebrow { margin: 0 0 3px; color: #23664a; font-size: .77rem; font-weight: 800; }
.structure-heading h1 { margin: 0 0 4px; color: #1f3026; font-size: 1.35rem; line-height: 1.15; }
.structure-heading p:not(.eyebrow) { margin: 5px 0 0; color: #536159; font-size: .92rem; }
.structure-heading .admin-tournament-identity { margin: 0; }
.structure-heading .button { flex: 0 0 auto; min-height: 32px; padding: 6px 10px; white-space: nowrap; font-size: .78rem; }
.structure-model { margin: 0 0 12px; width: min(168px, 100%); }
.structure-model-wide { width: min(336px, 100%); }
.structure-model img { display: block; width: 100%; height: auto; }
@media (max-width: 700px) and (orientation: portrait) {
  .public-structure-page .public-summary-overview { font-size: 13.44px; }
  .public-player-registration-page .public-tournament-identity dt,
  .public-player-registration-page .public-tournament-identity dd,
  .public-structure-page .public-tournament-identity dt,
  .public-structure-page .public-tournament-identity dd,
  .public-regulation-page .public-tournament-identity dt,
  .public-regulation-page .public-tournament-identity dd,
  .public-registrants-page .public-tournament-identity dt,
  .public-registrants-page .public-tournament-identity dd { font-size: 12px; }
  .public-summary-table th,.public-summary-table td,
  .public-regulation-page .public-regulation-section dt,
  .public-regulation-page .public-regulation-section dd { font-size: 1rem; }
}

/* Player-facing reading text: keep compact results grids unchanged. */
@media (max-width: 700px) {
  .public-player-registration-page :is(.public-registration-intro p, .public-registration-index-limit, .public-registration-payment p, .public-registration-partnership p, .public-registration-additional-note, .public-registration-hcp-note, .public-registration-cbg-feedback, .public-registration-cbg-confirmation, .public-registration-excel-credentials p, .public-registration-excel-preview dl, .public-registration-excel-matches label, .public-registration-first-access-question p) { font-size: 16px; line-height: 1.45; }
  .public-player-registration-page :is(.public-registration-payment h3, .public-registration-hcp-heading, .public-registration-personal h3, .public-registration-excel-preview h2, .public-registration-excel-matches h2) { font-size: 18px; line-height: 1.3; }
  .public-player-registration-page :is(.public-registration-form label > span, .public-registration-hcp-panel label > span, .public-registration-hcp-answer legend, .public-registration-hcp-answer label, .public-registration-access-form label > span, .public-registration-excel-search label span, .public-registration-excel-credentials label span, .public-registration-excel-preview dt) { font-size: 16px; line-height: 1.3; }
  .public-player-registration-page :is(.public-registration-form label > span small, .public-registration-deadline > span, .public-registration-cbg strong, .public-registration-information span) { font-size: 15px; line-height: 1.35; }
  .public-player-registration-page :is(.public-registration-cbg-search, .public-registration-cbg-confirmation button, .public-registration-copy-pix, .public-registration-access-form button, .public-registration-excel-search button, .public-registration-excel-matches button, .public-registration-excel-credentials button, .public-registration-excel-preview-heading a, .public-registration-cancel) { font-size: 16px; }
  .public-player-registration-page .public-registration-personal input::placeholder,
  .public-player-registration-page .public-registration-cbg-index-field input::placeholder { font-size: 15px; }
  .public-player-home-refresh, .public-player-home-options > a > small { font-size: 14px; }
  .public-info-heading p, .public-structure-disclaimer, .public-summary-overview, .public-summary-group h2, .public-regulation-page .public-regulation-section :is(dt, dd), .public-registrant-row small { font-size: 16px; line-height: 1.35; }
  .public-regulation-page .public-tournament-identity :is(dt, dd), .public-structure-page .public-tournament-identity :is(dt, dd), .public-registrants-page .public-tournament-identity :is(dt, dd) { font-size: 15px; }
  .public-classification-select-label, .public-classification-heading .eyebrow, .public-classification-heading span, .public-classification-published { font-size: 14px; line-height: 1.3; }
  .public-classification-select { font-size: 16px; }
  .public-conference-header small, .public-conference-header a { font-size: 14px; }
  .public-pretournament-hub-heading :is(p, small), .public-pretournament-document-menu span, .public-pretournament-category-prompt, .public-pretournament-tournament-stamp :is(dt, dd) { font-size: 15px; line-height: 1.35; }
}
@media (orientation: landscape) and (max-width: 1024px) and (max-height: 520px) {
  .public-structure-page .public-summary-overview { font-size: 13.44px; }
  .public-player-registration-page .public-tournament-identity dt,
  .public-player-registration-page .public-tournament-identity dd,
  .public-structure-page .public-tournament-identity dt,
  .public-structure-page .public-tournament-identity dd,
  .public-regulation-page .public-tournament-identity dt,
  .public-regulation-page .public-tournament-identity dd,
  .public-registrants-page .public-tournament-identity dt,
  .public-registrants-page .public-tournament-identity dd { font-size: 11.6px; }
  .public-summary-table th,.public-summary-table td,
  .public-regulation-page .public-regulation-section dt,
  .public-regulation-page .public-regulation-section dd { font-size: .9rem; }
}
.structure-disclaimer { margin: 0 0 17px; color: #48584b; font-size: .88rem; font-weight: 600; }
.structure-group { margin: 0 0 20px; }
.structure-group h2 { display: flex; align-items: baseline; gap: 9px; margin: 0 0 7px; color: #23342a; font-size: 1.05rem; font-weight: 800; }
.structure-group h2 > span { color: #27734b; font-size: .83rem; }
.structure-group h2 small { color: #68766b; font-size: .72rem; font-weight: 600; }
.structure-table-scroll { overflow-x: auto; }
.structure-table { width: 100%; min-width: 850px; border-collapse: collapse; table-layout: fixed; border: 1px solid #9fb89e; background: #e6f6e2; color: #17271c; font-size: .87rem; }
.structure-col-category { width: 10%; }
.structure-col-count { width: 6%; }
.structure-col-range { width: 18%; }
.structure-col-format { width: 23%; }
.structure-col-percent { width: 9%; }
.structure-col-max { width: 17%; }
.structure-col-tees { width: 17%; }
.structure-table thead th { border: 1px solid #9fb89e; padding: 6px 9px; background: #bde5b3; text-align: left; font-size: .77rem; }
.structure-table th, .structure-table td { border: 1px solid #abc5a8; padding: 7px 9px; vertical-align: middle; line-height: 1.25; overflow-wrap: anywhere; }
.structure-table tbody tr:nth-child(even) { background: #ddf0d9; }
.structure-table tbody th { background: #e6f6e2; font-weight: 700; text-align: left; }
.structure-table tbody tr:nth-child(even) th { background: #ddf0d9; }
.structure-table .structure-percent { text-align: center; font-weight: 700; }
.structure-table .structure-count { text-align: center; font-weight: 700; }
.structure-range { font-weight: 700; white-space: nowrap; }
.structure-formats span, .structure-tees span { display: block; }
.structure-formats span + span, .structure-tees span + span { border-top: 1px solid #c2d9be; margin-top: 4px; padding-top: 4px; }
.structure-tees b { display: inline-block; min-width: 19px; font-size: .78rem; }
.structure-footnote { margin: -8px 0 20px; color: #58655b; font-size: .78rem; }
@media (max-width: 900px) {
  .structure-heading { align-items: start; flex-direction: column; }
}

@media (max-width: 360px) {
  .app-header, .public-home-page .app-header { padding-left: 8px; padding-right: 8px; }
  .app-header .brand-logo-organizer { width: 96px; }
}

.organizer-registration-page .organizer-registration-shell { width: min(100%, 900px); margin: 0 0 28px; padding: 0; }
.organizer-registration-page .organizer-registration-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 2px 0 8px; }
.organizer-registration-page .organizer-registration-heading h1 { color: var(--green); font-size: .78rem; font-weight: 800; margin: 0; text-transform: uppercase; }
.organizer-registration-page .organizer-registration-heading a { color: #08743d; white-space: nowrap; }
.organizer-registration-page .organizer-registration-saved-message { color: #1f5fae; font-size: .82rem; font-weight: 500; }
.organizer-registration-page .organizer-registration-adjustment { padding: 14px; border: 1px solid #9cc4dd; border-left: 5px solid #277aa9; border-radius: 5px; background: #e9f4fb; }
.organizer-registration-page .organizer-registration-adjustment h3 { margin: 0 0 10px; font-size: .88rem; }
.organizer-registration-page .organizer-registration-index-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 6px 0; }
.organizer-registration-page .organizer-registration-index-trio .public-registration-field { min-width: 0; }
.organizer-registration-page .organizer-registration-index-trio .public-registration-field > span { color: #254b61; font-size: .82rem; font-weight: 650; }
.organizer-registration-page .organizer-registration-index-trio input { min-width: 0; width: 100%; text-align: center; }
.organizer-registration-page .organizer-registration-index-trio input:disabled { background: #e5eae7; color: #405a4a; cursor: not-allowed; opacity: 1; }
.organizer-registration-page .organizer-registration-adjustment-modes { display: flex; flex-wrap: wrap; gap: 6px 18px; border: 0; margin: 0 0 10px; padding: 0; }
.organizer-registration-page .organizer-registration-adjustment-modes legend { font-size: .82rem; font-weight: 600; margin-bottom: 5px; }
.organizer-registration-page .organizer-registration-adjustment-modes label { display: inline-flex; align-items: center; gap: 5px; font-size: .82rem; white-space: nowrap; }
.organizer-registration-page .organizer-registration-adjustment-modes input { accent-color: #0a592f; }
.organizer-registration-page .organizer-registration-adjustment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.organizer-registration-page .organizer-registration-adjustment-grid label { display: grid; gap: 4px; font-size: .88rem; }
.organizer-registration-page .organizer-registration-adjustment-grid label[hidden] { display: none; }
.organizer-registration-page .organizer-registration-adjustment-grid :is(select,input) { min-width: 0; width: 100%; }

.organizer-adjustment-form .organizer-registration-adjustment { padding: 8px; }
.organizer-adjustment-form .organizer-registration-adjustment h3 { margin-bottom: 5px; }
.organizer-adjustment-form .organizer-registration-adjustment-modes { gap: 3px 10px; margin-bottom: 5px; }
.organizer-adjustment-form .organizer-registration-adjustment-grid { gap: 5px; }
.organizer-adjustment-form .organizer-registration-adjustment-grid label { gap: 2px; }
.organizer-comparison { margin-bottom: 6px; }
.organizer-comparison h3 { margin: 0 0 4px; color: #0a592f; font-size: 15px; }
.organizer-comparison-scroll { width: 100%; overflow-x: auto; }
.organizer-comparison-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13.5px; line-height: 1.25; }
.organizer-comparison-table .comparison-label { width: 25%; }
.organizer-comparison-table .comparison-source { width: 37%; }
.organizer-comparison-table .comparison-decision { width: 38%; }
@media (min-width: 1000px) {
  .organizer-comparison-table { width: 72%; }
  .organizer-comparison-table .comparison-label { width: 21%; }
  .organizer-comparison-table .comparison-source { width: 39%; }
  .organizer-comparison-table .comparison-decision { width: 40%; }
}
.organizer-comparison-table th, .organizer-comparison-table td { border: 1px solid #a8b9ac; padding: 1px 4px; text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.organizer-comparison-table th { font-size: 12.5px; }
.organizer-comparison-table thead th { background: #0a592f; color: #fff; font-weight: 600; }
.organizer-comparison-table tbody th { background: #e5e9e6; color: #203d2b; font-weight: 600; }
.organizer-comparison-table tbody td:nth-child(2) { background: #e5e9e6; color: #3f5146; cursor: not-allowed; user-select: none; }
.organizer-comparison-table tbody td:nth-child(3) { background: #fff; }
.organizer-comparison-table :is(input, select) { display: block; width: 100%; min-width: 0; min-height: 24px; padding: 1px 4px; border: 1px solid #b6c8bb; border-radius: 3px; background: #fff; color: #173b27; font-size: 13.5px; }
.organizer-comparison-table :is(input, select):disabled { background: #e5e9e6; color: #3f5146; border-color: #d0d8d2; cursor: not-allowed; opacity: 1; }
.organizer-comparison-table input[name="official_handicap_index"] { color: #aa2233; }
.organizer-comparison-table input[hidden] { display: none; }
.organizer-comparison-table .organizer-comparison-check { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.organizer-comparison-table .organizer-comparison-check input { width: 16px; min-height: 16px; margin: 0; accent-color: #0a592f; }
.organizer-comparison-cbg { display: inline-block; width: auto; min-height: 30px; margin-top: 8px; padding: 5px 10px; border: 1px solid #0a592f; border-radius: 4px; background: #0a592f; color: #fff; font-size: 12px; font-weight: 400; line-height: 1.2; cursor: pointer; }
.organizer-comparison-cbg:hover { background: #084825; }
.organizer-comparison-cbg[hidden] { display: none; }
@media (max-width: 600px) {
  .organizer-comparison-table { font-size: 13px; }
  .organizer-comparison-table th, .organizer-comparison-table td { padding: 1px 3px; }
  .organizer-comparison-table .comparison-label { width: 27%; }
  .organizer-comparison-table .comparison-source { width: 35%; }
  .organizer-comparison-table .comparison-decision { width: 38%; }
  .organizer-comparison-table :is(input, select) { font-size: 13px; padding: 1px 3px; min-height: 28px; }
}
.organizer-registration-page .organizer-registration-copy-link { margin-bottom: 10px; padding: 8px 12px; color: #0a592f; background: #fff; border: 1px solid #0a592f; border-radius: 5px; }
.organizer-registration-page .organizer-registration-copy-feedback { margin-left: 10px; font-size: .82rem; }
.organizer-excel-edit-page .public-registration-whatsapp,
.organizer-excel-edit-page .public-registration-birth,
.organizer-excel-edit-page .public-registration-payment,
.organizer-excel-edit-page .public-registration-partnership { display: none; }
.organizer-registration-page .public-registration-additional,
.organizer-registration-page .public-registration-cancel { display: none; }
.organizer-registration-page .public-registration-cancel[name="action"][value="cancel_index_limit"] { display: inline-flex; }
@media (max-width: 600px) {
  .organizer-registration-page .organizer-registration-heading { align-items: flex-start; flex-direction: column; }
  .organizer-registration-page .organizer-registration-adjustment-grid { grid-template-columns: minmax(0, 1fr); }
  .organizer-registration-page .organizer-registration-index-trio { grid-template-columns: minmax(0, 1fr); }
}

.public-player-brand-header {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-height: 0;
  padding: 0 max(14px, calc((100vw - 1040px) / 2));
}
.public-player-brand-header .public-player-home-logo {
  height: auto;
  max-width: calc(100vw - 90px);
  width: 152.148px;
}
.public-player-brand-header .public-player-about {
  color: #fff;
  flex: none;
  font-family: inherit;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
}
@media (max-width: 700px) {
  .public-player-brand-header { padding-inline: 10px; }
}

.app-header { padding-top: 0; padding-bottom: 0; }
.app-header .brand-logo-organizer { width: 152.148px; }

.app-header .header-about-link {
  color: #fff;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}
.app-header .header-about-link:hover,
.app-header .header-about-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1150px) {
  .app-header:has(.tournament-action-nav) .header-about-link { display: none; }
}
@media (max-width: 700px) {
  .app-header .header-about-link { font-size: 12px; grid-column: 2; grid-row: 1; }
  .app-header:has(.header-about-link):not(:has(.tournament-action-nav)) .account-menu { grid-column: 3; }
}

.excel-audit-panel { margin: 12px 0 18px; }
.excel-audit-panel h3 { color: #0A592F; font-size: 1.05rem; margin: 0 0 5px; }
.excel-audit-panel p { margin: 5px 0 10px; }
.excel-audit-scroll { overflow-x: auto; }
.excel-audit-table { border-collapse: collapse; min-width: 900px; width: 100%; }
.excel-audit-table th, .excel-audit-table td { border: 1px solid #cbd5ce; padding: 6px 8px; text-align: left; vertical-align: top; font-size: .82rem; }
.excel-audit-table th:first-child, .excel-audit-table td:first-child { font-size: .72rem; white-space: nowrap; width: 1%; }
.excel-audit-table th { background: #0A592F; color: #fff; white-space: nowrap; }
.excel-audit-table tr.excel-audit-issue { background: #fbe4e8; }
.excel-audit-table tr.excel-audit-skipped { background: #eef2ef; color: #52645a; }
.excel-audit-table td:nth-last-child(2) { min-width: 250px; }
.excel-audit-table th:last-child, .excel-audit-table td:last-child { min-width: 54px; text-align: center; width: 54px; }
.excel-audit-accept { accent-color: #0A592F; height: 16px; margin: 0; vertical-align: middle; width: 16px; }
.excel-audit-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.public-player-registration-page .public-registration-index-trio {
  display: grid;
  gap: 6px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
}
.public-player-registration-page .public-registration-index-trio.has-playing-hcp {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.public-player-registration-page .public-registration-index-trio [hidden] {
  display: none !important;
}
.public-player-registration-page .public-registration-playing-hcp-field small {
  color: #254b61;
  display: block;
  font-size: .82rem;
  line-height: 1.25;
  margin-top: 4px;
}
.organizer-registration-page .organizer-registration-index-trio.has-playing-hcp {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.organizer-registration-page .organizer-registration-index-trio [hidden] {
  display: none !important;
}
.organizer-registration-page .public-registration-playing-hcp-field small {
  color: #254b61;
  display: block;
  font-size: .75rem;
  line-height: 1.25;
  margin-top: 4px;
}
.organizer-registration-page .organizer-registration-index-trio .public-registration-estimated-index-field {
  position: relative;
}
.organizer-registration-page .organizer-registration-index-trio .public-registration-estimated-index-field input:disabled {
  padding-right: 28px;
}
.organizer-registration-page .organizer-registration-index-trio .public-registration-locked-symbol {
  bottom: 10px;
  pointer-events: none;
  position: absolute;
  right: 9px;
}
.public-player-registration-page .public-registration-index-trio .public-registration-field {
  margin: 0;
  min-width: 0;
  position: relative;
}
.public-player-registration-page .public-registration-index-trio .public-registration-field > span {
  color: #254b61;
  display: block;
  font-weight: 700;
  margin-bottom: 3px;
}
.public-player-registration-page .public-registration-index-trio input {
  font-variant-numeric: tabular-nums;
  min-width: 0;
  text-align: center;
}
.public-player-registration-page .public-registration-index-trio input:disabled {
  background: #e4eae6;
  border-color: #c4d0c8;
  color: #34473b;
  cursor: not-allowed;
  opacity: 1;
  padding-right: 32px;
}
.public-player-registration-page .public-registration-index-trio .public-registration-locked-symbol {
  bottom: 12px;
  font-size: 16px;
  line-height: 1;
  pointer-events: none;
  position: absolute;
  right: 12px;
}
@media (max-width: 700px) {
  .public-player-registration-page .public-registration-index-trio {
    gap: 7px;
    grid-template-columns: minmax(0, 1fr);
  }
  .public-player-registration-page .public-registration-index-trio.has-playing-hcp {
    grid-template-columns: minmax(0, 1fr);
  }
  .organizer-registration-page .organizer-registration-index-trio.has-playing-hcp {
    grid-template-columns: minmax(0, 1fr);
  }
  .public-player-registration-page .public-registration-index-trio .public-registration-field {
    padding: 6px 8px;
  }
  .public-player-registration-page .public-registration-index-trio .public-registration-field > span {
    font-size: 16px;
  }
  .public-player-registration-page .public-registration-index-trio input {
    font-size: 18px;
    min-height: 44px;
  }
  .public-player-registration-page .public-registration-index-trio .public-registration-locked-symbol {
    bottom: 19px;
  }
}
@media (max-width: 700px) {
  .excel-audit-table th, .excel-audit-table td { font-size: .8rem; padding: 7px 6px; }
  .excel-audit-table th:first-child, .excel-audit-table td:first-child { font-size: .72rem; }
}
