html,
body.scorecard-page {
  width: 100%;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
  background: #ffffff;
}

.scorecard-page *,
.scorecard-page *::before,
.scorecard-page *::after {
  box-sizing: border-box;
}

body.scorecard-page {
  position: fixed;
  inset: 0;
}

@media (min-width: 760px) {
  body.scorecard-page {
    background:
      linear-gradient(rgba(10, 29, 22, 0.34), rgba(10, 29, 22, 0.34)),
      var(--scoodle-background-image, url('../assets/Ballybunion-background.jpg')) center / cover fixed,
      #183d30;
  }

  body.scorecard-page .mobile-shell {
    box-shadow: 0 0 28px rgba(5, 22, 16, 0.34);
  }
}

.scorecard-page .mobile-shell {
  width: 100%;
  height: 100dvh;
  max-width: none;
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: none;
}

.scorecard-topbar {
  position: sticky;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  width: 100%;
  flex: 0 0 auto;
  min-height: 86px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 44px;
  align-items: center;
  gap: 8px;
  padding: 12px 8px;
  color: white;
  background: #17633f;
}

.scorecard-topbar a,
.scorecard-topbar button {
  width: 44px;
  height: 48px;
  display: grid;
  place-items: center;
  color: white;
  background: transparent;
  border: 0;
  text-decoration: none;
  font-size: 2.35rem;
  line-height: 1;
}

.scorecard-topbar .scorecard-menu-link {
  font-size: 2rem;
  letter-spacing: 0.05em;
}

.scorecard-title {
  min-width: 0;
}

.scorecard-title strong,
.scorecard-title span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-title strong {
  font-size: clamp(1.16rem, 5.2vw, 1.95rem);
  font-weight: 650;
}

.scorecard-title span {
  margin-top: 4px;
  font-size: clamp(0.96rem, 4.1vw, 1.45rem);
  opacity: 0.96;
}

.scorecard-content {
  width: 100%;
  max-width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 10px;
  padding: 14px 6px 0 2px;
  overflow: hidden;
}

.scorecard-format-tabs {
  min-width: 0;
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 10px 14px;
  margin: 0 -6px 0 -2px;
  scrollbar-width: none;
}

.scorecard-format-tabs[hidden] {
  display: none;
}

body:has(.score-picker-backdrop:not([hidden])) .scorecard-format-tabs {
  visibility: hidden;
}

.scorecard-format-tabs::-webkit-scrollbar {
  display: none;
}

.scorecard-format-tabs button {
  min-height: 58px;
  min-width: 118px;
  display: grid;
  place-items: center;
  gap: 1px;
  border: 0;
  border-radius: 999px;
  color: #333333;
  background: #ffffff;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.14);
  padding: 6px 20px;
  font: inherit;
  white-space: nowrap;
}

.scorecard-format-tabs button strong {
  font-size: clamp(1rem, 4vw, 1.45rem);
  font-weight: 500;
  line-height: 1;
}

.scorecard-format-tabs button.long-label strong {
  font-size: clamp(0.78rem, 3.15vw, 1rem);
}

.scorecard-format-tabs button.stacked-label {
  grid-template-rows: auto auto;
  align-content: center;
}

.scorecard-format-tabs button.stacked-label strong,
.scorecard-format-tabs button.stacked-label small {
  display: block;
  white-space: nowrap;
}

.scorecard-format-tabs button small {
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.74;
}

.scorecard-format-tabs button.configured {
  color: white;
  background: #1f8750;
}

.scorecard-format-tabs button.configured small {
  opacity: 0.9;
}

.scorecard-format-tabs button.selected-view {
  box-shadow: 0 0 0 3px #d8b24c, 0 8px 16px rgba(0, 0, 0, 0.14);
}

.scorecard-format-tabs button.stats-format-pill {
  border: 2px solid #d8b24c;
  min-width: 96px;
  display: grid;
  grid-template-rows: auto auto;
  place-items: center;
  gap: 2px;
  white-space: nowrap;
}

.scorecard-format-tabs button.stats-format-pill strong {
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1;
}

/* configured-format-pill-cleanup-120 */
/* Configured formats use one clear white title; their setup scope is available in the format view. */
body.scorecard-page .scorecard-format-tabs button.configured:not(.stats-format-pill) {
  grid-template-rows: 1fr;
}

body.scorecard-page .scorecard-format-tabs button.configured:not(.stats-format-pill) small {
  display: none;
}

body.scorecard-page .scorecard-format-tabs button.configured:not(.stats-format-pill) strong {
  color: #ffffff;
  background: transparent;
  -webkit-text-fill-color: #ffffff;
  opacity: 1;
  text-shadow: none;
}

.scorecard-format-tabs button.stats-format-pill small {
  font-size: 0.62rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
}

#scorecardApp {
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: hidden;
}

.scorecard-leader-card {
  margin: 0 0 0 2px;
  padding: 16px 12px 14px;
  background: #e8f4eb;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
}

.scorecard-leader-card.collapsed {
  padding-bottom: 14px;
}

.scorecard-leader-card.collapsed .scorecard-leader-head {
  margin-bottom: 0;
}

.scorecard-leader-head,
.scorecard-leader-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px 54px;
  align-items: center;
  gap: 6px;
}

.scorecard-leader-head {
  margin-bottom: 10px;
  color: #121c16;
  text-transform: uppercase;
  font-size: clamp(0.78rem, 3.05vw, 1rem);
  font-weight: 900;
}

.scorecard-leader-head button {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: #121c16;
  background: transparent;
  border: 0;
  padding: 0;
  text-transform: uppercase;
  font: inherit;
  font-weight: 900;
}

.leader-chevron {
  color: #1f8750;
  font-size: 1.4rem;
  line-height: 1;
}

.scorecard-leader-row {
  min-height: 38px;
  color: #151515;
  font-size: clamp(0.86rem, 3.75vw, 1.18rem);
}

.scorecard-leader-player {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
}

.scorecard-leader-player span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-leader-row strong {
  font-weight: 500;
  text-align: center;
}

.leader-collapse-control {
  display: flex;
  justify-content: center;
  margin: 0;
}

.leader-collapse-control button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: #1f8750;
  background: #f0f2f1;
  border: 0;
  border-radius: 50%;
  font-size: 1.25rem;
  line-height: 1;
}

.scorecard-leader-card.nassau-leaderboard .scorecard-leader-head,
.scorecard-leader-card.nassau-leaderboard .scorecard-leader-row {
  grid-template-columns: minmax(82px, 1.35fr) repeat(3, minmax(72px, 0.9fr));
  gap: 4px;
}

.scorecard-leader-card.nassau-leaderboard {
  overflow-x: auto;
}

.scorecard-leader-card.nassau-leaderboard .scorecard-leader-head,
.scorecard-leader-card.nassau-leaderboard .scorecard-leader-row,
.scorecard-leader-card.nassau-leaderboard .game-settings-summary {
  min-width: 316px;
}

.game-settings-summary {
  display: block;
  padding: 5px 7px;
  border-bottom: 1px solid #dce6e1;
  color: #496158;
  font-size: 0.66rem;
  font-weight: 750;
  text-align: center;
}

.scorecard-leader-card.nassau-leaderboard .scorecard-leader-head span:not(:first-child) {
  text-align: center;
}

.scorecard-leader-card.nassau-leaderboard .scorecard-leader-row strong {
  font-size: clamp(0.58rem, 2.25vw, 0.78rem);
  white-space: nowrap;
}

.scorecard-nassau-empty {
  display: grid;
  gap: 3px;
  padding: 7px 4px 3px;
  color: #334c42;
  text-align: center;
}

.scorecard-nassau-empty strong {
  color: var(--scorecard-theme-primary, #17633f);
  font-size: 0.76rem;
}

.scorecard-nassau-empty span {
  font-size: 0.66rem;
  line-height: 1.3;
}
.scorecard-grid {
  --scorecard-grid-template: 8% 9.5% 8% 13% repeat(var(--player-count), minmax(0, 1fr));
  flex: 1 1 auto;
  min-height: 0;
  display: grid;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 0 64px;
  scroll-padding-bottom: 64px;
  -webkit-overflow-scrolling: touch;
}

.scorecard-grid[data-player-count="5"],
.scorecard-grid[data-player-count="6"] {
  --scorecard-grid-template: 7% 8% 7% 12% repeat(var(--player-count), minmax(0, 1fr));
  overflow-x: auto;
}

.scorecard-grid[data-player-count="5"] .scorecard-grid-inner {
  min-width: 480px;
  max-width: none;
}

.scorecard-grid[data-player-count="6"] .scorecard-grid-inner {
  min-width: 540px;
  max-width: none;
}

.scorecard-grid[data-stats-column-count="2"] {
  --scorecard-grid-template: 7% 8% 7% 10% repeat(var(--player-count), minmax(0, 1fr));
}

/* Expanded scorecard leaderboards use the page as the only vertical scroller. */
html.scorecard-document-scroll {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

body.scorecard-page.scorecard-document-scroll {
  position: static;
  inset: auto;
  height: auto;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: visible;
}

body.scorecard-page.scorecard-document-scroll .mobile-shell {
  height: auto;
  min-height: 100dvh;
  overflow: visible;
}

body.scorecard-page.scorecard-document-scroll .scorecard-content {
  flex: 0 0 auto;
  min-height: auto;
  grid-template-rows: auto auto;
  overflow: visible;
}

body.scorecard-page.scorecard-document-scroll #scorecardApp {
  min-height: auto;
  overflow: visible;
}

body.scorecard-page.scorecard-document-scroll .scorecard-grid {
  flex: 0 0 auto;
  min-height: auto;
  overflow-y: visible;
  overscroll-behavior-y: auto;
}

.scorecard-grid-inner {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-top: 1px solid #cbd8d0;
  box-sizing: border-box;
}

.scorecard-mismatch-alert {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  color: #ffffff;
  background: #b42318;
  font: inherit;
  font-size: clamp(0.72rem, 3.2vw, 0.94rem);
  font-weight: 900;
  text-align: center;
}

.scorecard-mismatch-alert strong {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.scorecard-mismatch-alert span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-format-tabs button strong,
.scorecard-format-tabs button small {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.scorecard-grid-header,
.scorecard-grid-row {
  display: grid;
  grid-template-columns: var(--scorecard-grid-template);
  align-items: center;
  column-gap: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.scorecard-grid-header {
  position: sticky;
  top: 0;
  z-index: 5;
  grid-auto-rows: max-content;
  min-height: 0;
  background: white;
}

.scorecard-column-label {
  justify-self: stretch;
  align-self: stretch;
  min-width: 0;
  display: grid;
  align-items: stretch;
  justify-content: center;
  box-sizing: border-box;
  padding: 0;
  border-top: 0;
  border-left: 0;
  color: #050505;
  background: transparent;
  font: inherit;
}

.scorecard-leader-card.cup-leaderboard {
  min-width: 0;
  overflow-x: auto;
}

.scorecard-guest-label { font-size: 10px; color: var(--scorecard-usa-blue, #174574); }
.scorecard-guest-prompt .score-picker { max-width: 560px; width: calc(100vw - 24px); }
.scorecard-guest-form { display: grid; gap: 12px; font-size: 14px; min-width: 0; }
.scorecard-guest-form p { margin: 0; }
.scorecard-guest-fields { display: flex; flex-wrap: wrap; gap: 10px; }
.scorecard-guest-fields label { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.scorecard-guest-fields label:first-child { flex: 1 1 180px; }
.scorecard-guest-fields input, .scorecard-guest-fields select {
  box-sizing: border-box; height: 32px; min-height: 32px; width: 100%; min-width: 0;
  padding: 4px 8px; font: inherit; color: #17385f; background: #fff; border: 1px solid #bbc9da; border-radius: 6px;
}
.scorecard-guest-fields [name="guestIndex"] { width: 92px; }
.scorecard-guest-fields select { max-width: 140px; }
.scorecard-guest-form .scorecard-modal-actions { justify-content: flex-end; }
.scorecard-guest-form .scorecard-modal-actions button {
  flex: 0 0 auto; width: auto; min-width: 72px; min-height: 34px; padding: 7px 14px;
  background: #174574; color: #fff; border: 1px solid #174574; font-size: 14px;
}
.scorecard-guest-form .scorecard-modal-actions .secondary { background: #fff; color: #174574; }

.scorecard-leader-card.cup-leaderboard .scorecard-leader-head,
.scorecard-leader-card.cup-leaderboard .scorecard-leader-row {
  grid-template-columns: minmax(84px, 1fr) repeat(var(--cup-round-count, 2), 42px) 54px;
  min-width: calc(142px + var(--cup-round-count, 2) * 46px);
  gap: 4px;
}

.scorecard-leader-card.cup-leaderboard .scorecard-leader-head > span:not(:first-child) {
  text-align: center;
}

.scorecard-leader-card.cup-leaderboard .scorecard-leader-head > :last-child,
.scorecard-leader-card.cup-leaderboard .scorecard-leader-row > strong:last-child {
  border-left: 1px solid var(--scorecard-usa-line, #d2dceb);
  padding-left: 6px;
  font-weight: 800;
}

.scorecard-grid .scorecard-grid-header > .scorecard-course-column-headers {
  display: grid;
  grid-column: 1 / span 3;
  grid-template-columns: subgrid;
  grid-template-rows: 16px minmax(0, 1fr);
  border: 0;
}

.scorecard-course-column-headers > .scorecard-column-label {
  border-right: 1px solid #cbd8d0;
  border-bottom: 1px solid #cbd8d0;
}

.scorecard-course-column-headers > .scorecard-column-label:nth-child(2) {
  border-left: 1px solid #cbd8d0;
}

.scorecard-course-column-headers > .scorecard-grid-card-code {
  appearance: none;
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 16px;
  margin: 0;
  padding: 0;
  border: 1px solid #cbd8d0;
  border-top: 0;
  border-radius: 0;
  background: #ffffff;
  color: var(--scorecard-theme-primary, #002868);
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  cursor: pointer;
}

.scorecard-grid-card-code:focus-visible {
  outline: 2px solid var(--scorecard-theme-primary, #002868);
  outline-offset: -2px;
}

.scorecard-column-label > .scorecard-stacked-label {
  min-width: 0;
  display: grid;
  align-content: end;
  justify-items: center;
  gap: 0;
  padding: 0 2px 10px;
  color: #050505;
}

.scorecard-stacked-label i {
  display: block;
  color: #050505;
  font-size: clamp(0.8rem, 3.4vw, 1.18rem);
  font-weight: 800;
  font-style: normal;
  line-height: 1;
  text-align: center;
}

.scorecard-stats-column-head {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 5px 3px 6px;
  color: #0b3425;
  background: #f3f7f4;
  text-align: center;
}

.scorecard-stats-column-head strong {
  font-size: clamp(0.58rem, 2.5vw, 0.74rem);
  line-height: 1;
  text-transform: uppercase;
}

.scorecard-stats-legend {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.scorecard-stats-legend small {
  min-width: 0;
  display: grid;
  grid-template-columns: 13px minmax(0, 1fr);
  align-items: start;
  gap: 3px;
  color: #66756c;
  font-size: clamp(0.6rem, 2.35vw, 0.78rem);
  font-weight: 800;
  line-height: 1.1;
  text-align: left;
}

.scorecard-stats-legend b {
  color: #0b3425;
  font-weight: 950;
  text-align: center;
}

.scorecard-stats-hint {
  color: #66756c;
  font-size: clamp(0.38rem, 1.48vw, 0.48rem);
  font-weight: 850;
  line-height: 1.05;
  white-space: nowrap;
}

.scorecard-tee-header {
  grid-template-rows: 16px minmax(0, 1fr);
  cursor: pointer;
}

.scorecard-tee-gender {
  min-width: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  padding: 1px 1px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 14%, transparent);
  color: var(--scorecard-theme-primary, #006747);
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 3%, #ffffff);
  font-size: clamp(0.43rem, 1.8vw, 0.56rem);
  font-weight: 950;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
}

.scorecard-tee-header:focus-visible {
  outline: 2px solid #17633f;
  outline-offset: -3px;
}

.scorecard-role-strip {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 6px;
  padding: 6px 8px 8px;
  background: #ffffff;
  border-bottom: 1px solid #dce5df;
}

.scorecard-role-pill {
  min-width: 0;
  min-height: 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 6px;
  padding: 7px 8px;
  border: 1px solid #d4e1d9;
  border-radius: 9px;
  background: #f7faf8;
  color: inherit;
  font: inherit;
  text-align: left;
}

.scorecard-role-pill.primary {
  border-color: #d8b24c;
  background: #fff8e4;
}

.scorecard-role-pill.current-side-card,
.scorecard-role-pill.active-card {
  border-color: #17633f;
  background: #f0faf4;
  box-shadow: inset 0 0 0 1px #17633f;
}

.scorecard-role-pill span,
.scorecard-role-pill strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-role-pill span {
  grid-column: 1 / -1;
  color: #6a776e;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.scorecard-role-pill strong {
  color: #0b3425;
  font-size: clamp(0.72rem, 3.15vw, 0.9rem);
  font-weight: 950;
}

.scorecard-role-pill button {
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid #17633f;
  border-radius: 999px;
  color: #17633f;
  background: #ffffff;
  font-size: 0.58rem;
  font-weight: 950;
  text-transform: uppercase;
}

.scorecard-player-head {
  position: relative;
  justify-self: stretch;
  align-self: stretch;
  min-width: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: 32px auto 21px;
  align-content: center;
  justify-items: center;
  gap: 0;
  padding: 2px 2px 1px;
  box-sizing: border-box;
}

.scorecard-player-scoodle-number {
  appearance: none;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  display: block;
  overflow: hidden;
  padding: 1px 1px 0;
  border-top: 0;
  border-right: 0;
  border-left: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 14%, transparent);
  box-sizing: border-box;
  color: var(--scorecard-theme-primary, #006747);
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 3%, #ffffff);
  font-size: clamp(0.48rem, 1.9vw, 0.6rem);
  font-family: inherit;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-player-scoodle-number.scorecard-scoodle-number-unknown {
  position: relative;
  z-index: 1;
  color: var(--scorecard-theme-primary, #006747);
  background: #ffffff;
  cursor: pointer;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}

.scorecard-grid[data-player-count='5'] .scorecard-player-scoodle-number,
.scorecard-grid[data-player-count='6'] .scorecard-player-scoodle-number {
  font-size: 0.43rem;
}

.scorecard-player-topline {
  position: relative;
  width: 100%;
  min-height: 32px;
  display: grid;
  grid-template-rows: 12px 20px;
  place-items: center;
  padding: 0;
  box-sizing: border-box;
}

body.scorekeeper-drag-active .scorecard-scoodle-number-unknown,
body.tee-detail-drag-active .scorecard-scoodle-number-unknown {
  pointer-events: none;
}

.scorecard-player-handicap {
  justify-self: center;
  color: #263a30;
  font-size: clamp(0.58rem, 2.45vw, 0.72rem);
  font-weight: 950;
  line-height: 1;
}

.scorecard-pairings-not-set {
  width: min(100% - 24px, 560px);
  margin: 18px auto;
  padding: 28px 24px 26px;
  border: 2px solid var(--scorecard-theme-primary, #006747);
  border-radius: 8px;
  background: #fff;
  color: var(--scorecard-theme-ink, #173326);
  text-align: center;
}

.scorecard-pairings-not-set img {
  display: block;
  width: 38px;
  height: 58px;
  margin: 0 auto 10px;
  object-fit: contain;
}

.scorecard-pairings-not-set .scorecard-pairings-kicker {
  display: block;
  color: var(--scorecard-theme-secondary, #b22234);
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.scorecard-pairings-not-set h2 {
  margin: 4px 0 6px;
  color: var(--scorecard-theme-primary, #006747);
  font-size: clamp(1.45rem, 6vw, 2rem);
}

.scorecard-pairings-not-set p {
  max-width: 420px;
  margin: 0 auto 18px;
  line-height: 1.45;
}

.scorecard-pairings-not-set a {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 6px;
  background: var(--scorecard-theme-primary, #006747);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
}

.scorecard-leader-card.pairing-stroke-leaderboard .scorecard-leader-head,
.scorecard-leader-card.pairing-stroke-leaderboard .scorecard-leader-row {
  grid-template-columns: minmax(0, 1fr) 38px 48px 44px;
  gap: 4px;
}

.scorecard-leader-card.pairing-stroke-leaderboard .scorecard-leader-head span:not(:first-child) {
  text-align: center;
}

button.scorecard-player-handicap.scorecard-handicap-missing {
  width: auto;
  min-width: 0;
  min-height: 18px;
  margin: 0;
  border: 1px solid var(--scorecard-theme-secondary, #b22234);
  border-radius: 4px;
  background: #ffffff;
  color: var(--scorecard-theme-secondary, #b22234);
  font-size: clamp(0.42rem, 1.8vw, 0.56rem);
  font-weight: 850;
  line-height: 1;
  padding: 2px 3px;
  cursor: pointer;
}

button.scorecard-player-handicap.scorecard-handicap-edit {
  width: auto;
  min-width: 20px;
  min-height: 18px;
  margin: 0;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 950;
  line-height: 1;
  padding: 2px 3px;
  cursor: pointer;
}

button.scorecard-player-handicap.scorecard-handicap-edit:hover,
button.scorecard-player-handicap.scorecard-handicap-edit:focus-visible {
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 12%, #ffffff);
  outline: 1px solid var(--scorecard-theme-primary, #006747);
}

.scorecard-handicap-unknown {
  color: var(--scorecard-theme-secondary, #b22234);
}

.scorecard-pencil-slot {
  position: absolute;
  z-index: 5;
  top: 11px;
  right: 1px;
  width: 24px;
  height: 20px;
  display: grid;
  place-items: center;
  pointer-events: none;
}

.scorecard-pencil-slot > .scorekeeper-marker {
  pointer-events: auto;
}

.scorecard-player-info {
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 0;
  padding: 0;
  border: 0;
  color: #0b3425;
  background: transparent;
  font: inherit;
  cursor: default;
}

.scorecard-player-info:focus-visible {
  outline: 2px solid #17633f;
  outline-offset: 2px;
  border-radius: 5px;
}

.scorecard-grid-header .initial-badge {
  width: clamp(28px, 8.4vw, 42px);
  height: clamp(28px, 8.4vw, 42px);
  font-size: clamp(0.68rem, 3.2vw, 0.94rem);
}

.scorecard-player-badge-wrap {
  position: relative;
  width: max-content;
  height: max-content;
  display: grid;
  place-items: center;
}

.scorecard-viewer-marker {
  position: absolute;
  right: -6px;
  bottom: -2px;
  z-index: 2;
  width: 16px;
  height: 16px;
  display: grid;
  place-items: center;
  color: #17633f;
  pointer-events: none;
}

.scorecard-viewer-marker svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.scorecard-viewer-marker .viewer-ball-shell {
  fill: #ffffff;
  stroke: currentColor;
  stroke-width: 1.7;
}

.scorecard-viewer-marker .viewer-ball-dimple {
  fill: #c4cbc7;
}

.scorecard-grid[data-player-count="5"] .scorecard-grid-header .initial-badge,
.scorecard-grid[data-player-count="6"] .scorecard-grid-header .initial-badge {
  width: clamp(26px, 7vw, 32px);
  height: clamp(26px, 7vw, 32px);
  font-size: clamp(0.56rem, 2.6vw, 0.76rem);
}

.scorecard-grid[data-player-count="5"] .scorekeeper-marker,
.scorecard-grid[data-player-count="6"] .scorekeeper-marker {
  width: 19px;
  height: 19px;
}

.scorecard-grid[data-player-count="5"] .tee-detail-marker,
.scorecard-grid[data-player-count="6"] .tee-detail-marker {
  width: 14px;
  height: 21px;
}

.scorecard-grid[data-player-count="5"] .scorecard-player-topline,
.scorecard-grid[data-player-count="6"] .scorecard-player-topline {
  padding-inline: 1px;
}

.scorecard-grid[data-player-count="5"] .scorecard-player-handicap,
.scorecard-grid[data-player-count="6"] .scorecard-player-handicap {
  font-size: 0.54rem;
}

.scorecard-grid[data-player-count="5"] .scorecard-viewer-marker,
.scorecard-grid[data-player-count="6"] .scorecard-viewer-marker {
  left: -5px;
  bottom: -1px;
  width: 13px;
  height: 13px;
}

.scorekeeper-marker {
  width: 22px;
  height: 22px;
  padding: 0;
  border: 0;
  color: #9b7410;
  background: transparent;
  display: inline-grid;
  place-items: center;
  margin: 0;
  transform: translate(1px, 1px);
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
}

.scorekeeper-marker svg {
  width: 100%;
  height: 100%;
  pointer-events: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tee-detail-marker {
  width: 16px;
  height: 21px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: #17633f;
  background: transparent;
  transform: none;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
}

.tee-detail-marker:active {
  cursor: grabbing;
}

.tee-detail-marker:focus-visible {
  outline: 2px solid #d8b24c;
  outline-offset: 1px;
  border-radius: 3px;
}

.tee-detail-image {
  width: auto;
  height: 100%;
  max-width: 100%;
  display: block;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}

.scorecard-player-tee-slot {
  width: 100%;
  height: 21px;
  display: grid;
  place-items: center;
}

button.scorekeeper-marker,
button.scorekeeper-marker svg,
button.scorekeeper-marker svg * {
  cursor: grab !important;
}

button.scorekeeper-marker:active,
button.scorekeeper-marker:active svg,
body.scorekeeper-drag-active,
body.scorekeeper-drag-active * {
  cursor: grabbing !important;
}

button.scorekeeper-marker:focus-visible {
  outline: 2px solid #17633f;
  outline-offset: 1px;
  border-radius: 3px;
}

.scorecard-player-head.scorekeeper-drop-ready {
  box-shadow: inset 0 0 0 2px rgba(23, 99, 63, 0.28);
  background: rgba(231, 246, 238, 0.55);
}

.scorecard-player-head.scorekeeper-drop-target {
  box-shadow: inset 0 0 0 3px #17633f;
  background: #d9f1e4;
}

.scorecard-player-head.tee-detail-drop-ready {
  box-shadow: inset 0 0 0 2px rgba(216, 178, 76, 0.48);
  background: rgba(255, 248, 228, 0.62);
}

.scorecard-player-head.tee-detail-drop-target {
  box-shadow: inset 0 0 0 3px #d8b24c;
  background: #fff3c9;
}

.scorekeeper-drag-active {
  cursor: grabbing;
  user-select: none;
  -webkit-user-select: none;
}

.scorekeeper-drag-ghost {
  position: fixed;
  z-index: 10000;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: #9b7410;
  background: #ffffff;
  border: 2px solid #17633f;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
  transform: translate(-50%, -50%) rotate(-10deg);
}

.scorekeeper-drag-ghost svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tee-detail-drag-active {
  cursor: grabbing;
  user-select: none;
  -webkit-user-select: none;
}

.tee-detail-drag-ghost {
  position: fixed;
  z-index: 10000;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  pointer-events: none;
  color: #17633f;
  background: #ffffff;
  border: 2px solid #d8b24c;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22);
  transform: translate(-50%, -50%) rotate(18deg);
}

.tee-detail-drag-ghost svg {
  width: 22px;
  height: 22px;
  fill: #ffffff;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.scorecard-grid-row {
  min-height: 66px;
  color: #030303;
}

.scorecard-grid-row:nth-child(odd) {
  background: #eeeeee;
}

/* next-hole-guidance-112 */
.scorecard-grid-row.next-score-hole {
  position: relative;
  z-index: 1;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 10%, #ffffff);
}

.scorecard-grid-row.next-score-hole > * {
  border-bottom-color: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 42%, #cbd8d0);
  box-shadow: inset 0 0 0 999px color-mix(in srgb, var(--scorecard-theme-primary, #006747) 10%, transparent);
}

.scorecard-grid-row.next-score-hole > .hole-stat:first-child {
  color: #ffffff;
  background: var(--scorecard-theme-primary, #006747);
}

.next-hole-number {
  display: grid;
  place-items: center;
  gap: 1px;
  line-height: 1;
}

.next-hole-number small {
  font-size: clamp(0.46rem, 1.9vw, 0.58rem);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.next-hole-number strong {
  font-size: clamp(1rem, 4.5vw, 1.28rem);
  line-height: 1;
}

.scorecard-grid-row span,
.scorecard-grid-row button {
  justify-self: center;
}

.scorecard-grid-header > *,
.scorecard-grid-row > * {
  min-width: 0;
  align-self: stretch;
  border-right: 1px solid #cbd8d0;
  border-bottom: 1px solid #cbd8d0;
  box-sizing: border-box;
}

.scorecard-grid-header > *:last-child,
.scorecard-grid-row > *:last-child {
  border-right: 1px solid #cbd8d0;
}

.scorecard-grid-header > *:first-child,
.scorecard-grid-row > *:first-child {
  border-left: 1px solid #cbd8d0;
}

.scorecard-grid-row > .hole-stat,
.scorecard-grid-row > .score-cell-stack,
.scorecard-grid-row > .summary-value,
.scorecard-grid-row > .side-card-stats-cell {
  justify-self: stretch;
  display: grid;
  place-items: center;
}

.side-card-stats-cell {
  min-height: 56px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  padding: 7px 5px;
  color: #0b3425;
  background: color-mix(in srgb, #d8b24c 12%, transparent);
}

.side-card-stats-cell > span {
  align-self: center;
  justify-self: center;
  border: 0;
  font-size: clamp(0.64rem, 2.8vw, 0.82rem);
  font-weight: 950;
  line-height: 1;
}

.side-stats-summary {
  background: color-mix(in srgb, #d8b24c 8%, transparent);
}

.hole-stat {
  font-size: clamp(0.84rem, 3.7vw, 1.25rem);
  font-weight: 800;
}

.score-cell-stack {
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 56px;
  display: grid;
  grid-template-rows: 10px minmax(36px, auto);
  place-items: center;
  gap: 2px;
}

.stroke-dot-row {
  min-height: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2px;
}

.stroke-dot {
  width: 5px;
  height: 5px;
  display: inline-block;
  background: #17633f;
  border-radius: 50%;
}

.score-button {
  width: clamp(26px, 7.6vw, 40px);
  height: clamp(30px, 8.4vw, 42px);
  display: grid;
  place-items: center;
  border: 0;
  color: #178554;
  background: transparent;
  font-size: clamp(1.42rem, 6.2vw, 1.9rem);
  line-height: 1;
  font-weight: 500;
}

.score-display {
  position: relative;
  width: clamp(28px, 8vw, 42px);
  height: clamp(28px, 8vw, 42px);
  display: grid;
  place-items: center;
  color: #111111;
  background: transparent;
  border: 0;
  font-size: clamp(0.98rem, 4.45vw, 1.48rem);
  font-weight: 500;
}

.score-picked-up-mark {
  position: absolute;
  top: -5px;
  right: -5px;
  width: 14px;
  height: 14px;
  display: grid;
  place-items: center;
  border: 1px solid #8f241e;
  border-radius: 50%;
  color: #8f241e;
  background: #ffffff;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1;
  text-transform: lowercase;
}

.score-display.eagle,
.score-display.birdie,
.score-display.bogey,
.score-display.double {
  width: clamp(25px, 7vw, 36px);
  height: clamp(25px, 7vw, 36px);
}

.score-display.eagle {
  color: #0c4b30;
  background: #4fbe79;
  border: 2px solid #18864f;
  border-radius: 50%;
}

.score-display.birdie {
  color: #12663f;
  background: #e7f6ee;
  border: 2px solid #4fbe79;
  border-radius: 50%;
}

.score-display.par {
  color: #111111;
  background: transparent;
  border: 0;
}

.score-display.bogey {
  color: #7b400c;
  background: #fff7eb;
  border: 2px solid #e2a160;
  border-radius: 7px;
}

.score-display.double {
  color: #8f241e;
  background: #f8dfdb;
  border: 2px solid #c74a43;
  border-radius: 7px;
}

.score-button.score-readonly,
.score-display.score-readonly {
  cursor: default;
  opacity: 0.48;
}

.score-button.score-readonly {
  color: #7d8982;
}

.summary-row {
  min-height: 54px;
  align-items: stretch;
  background: #dfe8e2;
  border-top: 1px solid #c9d8ce;
  border-bottom: 1px solid #c9d8ce;
}

.scorecard-grid-row.summary-row:nth-child(odd) {
  background: #dfe8e2;
}

.summary-label {
  grid-column: 1 / 5;
  justify-self: stretch !important;
  display: flex;
  align-items: center;
  padding-left: 6px;
  color: #0b3425;
  font-size: clamp(0.7rem, 2.85vw, 0.9rem);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: normal;
}

.summary-value {
  width: 100%;
  height: 100%;
  justify-self: stretch;
  align-self: stretch;
  display: grid;
  place-items: center;
  color: #0b3425;
}

.summary-value strong {
  font-size: clamp(0.86rem, 3.6vw, 1.18rem);
  font-weight: 950;
}

.score-picker-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: center;
  padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom));
  overflow-y: auto;
  background: rgba(7, 18, 12, 0.4);
}

.score-picker-backdrop[hidden] {
  display: none;
}

.score-picker {
  width: min(100%, 430px);
  max-width: 430px;
  max-height: calc(100dvh - 28px);
  margin: 0 auto;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 14px;
  background: white;
  border-radius: 16px;
  padding: 18px 16px;
  overflow: hidden;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.26);
}

.score-picker > div:first-child {
  position: relative;
  z-index: 3;
  background: #ffffff;
}

.score-picker h2,
.score-picker p {
  margin: 0;
}

.score-picker h2 {
  color: #0b3425;
  font-size: 1.25rem;
}

.score-picker p {
  color: #68766e;
}

.score-picker-grid {
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.score-picker-grid button {
  min-height: 54px;
  border: 1px solid #dce5df;
  border-radius: 8px;
  color: #143b29;
  background: #f7faf8;
  font-size: 1.2rem;
  font-weight: 900;
}

.score-entry-layout {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.score-entry-layout.score-only {
  grid-template-columns: minmax(0, 230px);
  justify-content: center;
}

.score-entry-panel {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid #d7e2db;
  border-radius: 8px;
  background: #f8faf9;
}

.score-entry-panel h3 {
  margin: 0;
  color: #0b3425;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.score-entry-score-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.score-picker-grid .score-entry-choice,
.score-picker-grid .putts-choice {
  min-width: 0;
  min-height: 38px;
  padding: 4px;
  border-radius: 6px;
  font-size: 0.9rem;
}

.score-picker-grid .putts-choice.selected {
  color: #ffffff;
  background: #17633f;
  border-color: #17633f;
  box-shadow: inset 0 0 0 2px #d8b24c;
}

.score-picker-grid .putts-choice:disabled {
  color: #98a29c;
  background: #edf1ee;
  border-color: #dfe5e1;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.68;
}

.score-picker-grid .score-entry-choice {
  color: #111111;
  background: #ffffff;
  border: 2px solid #d7e2db;
}

.score-picker-grid .score-entry-choice.eagle {
  color: #0c4b30;
  background: #4fbe79;
  border-color: #18864f;
  border-radius: 999px;
}

.score-picker-grid .score-entry-choice.birdie {
  color: #12663f;
  background: #e7f6ee;
  border-color: #4fbe79;
  border-radius: 999px;
}

.score-picker-grid .score-entry-choice.par {
  color: #172218;
  background: #ffe34f;
  border-color: #c99f00;
  border-radius: 999px;
  font-size: 1.08rem;
  font-weight: 950;
}

.score-picker-grid .score-entry-choice.bogey {
  color: #7b400c;
  background: #fff1d9;
  border-color: #e2a160;
}

.score-picker-grid .score-entry-choice.double {
  color: #8f241e;
  background: #f8dfdb;
  border-color: #c74a43;
}

.score-picker-grid .score-entry-choice.selected {
  box-shadow: 0 0 0 3px #d8b24c, inset 0 0 0 1px rgba(255, 255, 255, 0.72);
}

.score-picker-grid .picked-up-choice {
  display: grid;
  grid-template-columns: auto auto;
  place-content: center;
  align-items: baseline;
  gap: 5px;
}

.score-picker-grid .picked-up-choice strong {
  font-size: 1rem;
}

.score-picker-grid .picked-up-choice small {
  font-size: 0.62rem;
  font-weight: 950;
}

.high-score-grid {
  padding-top: 7px;
  border-top: 1px solid #d7e2db;
}

.score-entry-stats {
  gap: 7px;
}

.score-stat-toggle {
  min-width: 0;
  min-height: 42px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  border: 1px solid #d7e2db;
  border-radius: 7px;
  color: #0b3425;
  background: #ffffff;
  font-size: 0.76rem;
  font-weight: 900;
}

.score-stat-toggle input {
  width: 19px;
  height: 19px;
  margin: 0;
  accent-color: #17633f;
}

.score-stat-toggle span {
  min-width: 0;
  display: grid;
  gap: 1px;
  line-height: 1.12;
}

.score-stat-toggle small {
  color: #78837c;
  font-size: 0.62rem;
}

.score-stat-toggle.disabled {
  color: #78837c;
  background: #eef2ef;
}

.score-putts-control {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.score-putts-control > strong {
  color: #0b3425;
  font-size: 0.74rem;
}

.score-putts-control > .putts-choice-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}

.score-putts-control > .high-putts-grid {
  padding-top: 7px;
  border-top: 1px solid #d7e2db;
}

.score-picker-grid .score-entry-save {
  grid-column: 1 / -1;
  min-height: 46px;
  color: #ffffff;
  background: #17633f;
  border-color: #17633f;
  font-size: 0.9rem;
}

.score-picker-grid .score-entry-save:disabled {
  color: #6f7772;
  background: #dfe4e1;
  border-color: #dfe4e1;
}

.score-celebration {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  padding: 24px;
  pointer-events: none;
  background: rgba(7, 18, 12, 0.25);
}

.score-celebration[hidden] {
  display: none;
}

.score-celebration-card {
  width: min(100%, 340px);
  min-height: 190px;
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 26px 22px;
  border: 4px solid #d8b24c;
  border-radius: 16px;
  color: #0b3425;
  background: #ffffff;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.3);
  text-align: center;
  animation: score-celebration-in 420ms cubic-bezier(0.2, 0.9, 0.25, 1.25) both;
}

.score-celebration-card span,
.score-celebration-card small {
  font-weight: 850;
}

.score-celebration-card span {
  color: #8b6b10;
  font-size: 0.9rem;
  text-transform: uppercase;
}

.score-celebration-card strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.3rem, 12vw, 4rem);
  line-height: 1;
}

.score-celebration-card small {
  color: #516159;
  font-size: 0.88rem;
}

.score-celebration.birdie .score-celebration-card {
  border-color: #4fbe79;
}

.score-celebration.eagle .score-celebration-card {
  color: #ffffff;
  background: #17633f;
}

.score-celebration.eagle .score-celebration-card span,
.score-celebration.eagle .score-celebration-card small {
  color: #ffffff;
}

.score-celebration.ace .score-celebration-card {
  border-width: 6px;
}

@keyframes score-celebration-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.82);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .score-celebration-card {
    animation: none;
  }
}

.live-stats-list {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  gap: 8px;
}

.live-player-stats {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid #d7e2db;
  border-radius: 8px;
  background: #f8faf9;
}

.live-player-stats > header {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.live-player-stats > header > strong {
  min-width: 0;
  overflow: hidden;
  color: #0b3425;
  font-size: 0.86rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.live-player-stats > div {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 5px;
}

.live-player-stats > div > span {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 2px;
  padding: 6px 3px;
  border-radius: 6px;
  background: #ffffff;
  text-align: center;
}

.live-player-stats small {
  color: #69766e;
  font-size: 0.54rem;
  font-weight: 850;
  line-height: 1.05;
}

.live-player-stats > div strong {
  color: #0b3425;
  font-size: clamp(0.62rem, 2.6vw, 0.78rem);
  line-height: 1.05;
}

.live-player-stats > p {
  margin: 0;
  color: #69766e;
  font-size: 0.78rem;
}

.score-picker-grid .scorekeeper-gate-button {
  grid-column: 1 / -1;
  min-height: 48px;
  color: white;
  background: #17633f;
  border-color: #17633f;
  font-size: 1rem;
}

.score-picker-grid .scorekeeper-gate-button.secondary {
  color: #17633f;
  background: white;
}

.score-picker-grid .scorekeeper-gate-button.danger {
  color: #ffffff;
  background: #a32d27;
  border-color: #a32d27;
}

.score-picker-grid .scorekeeper-gate-note {
  grid-column: 1 / -1;
  margin: 0;
  padding: 10px 12px;
  border-radius: 10px;
  color: #4a1f16;
  background: #fff3ef;
  font-size: 0.92rem;
  font-weight: 800;
  line-height: 1.35;
}

.mismatch-review {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  gap: 12px;
}

.mismatch-review-section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #cddbd2;
  border-radius: 8px;
  background: #f7faf8;
}

.mismatch-review-section > header {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.score-cell-status {
  position: absolute;
  top: 3px;
  z-index: 2;
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  font-size: 0.62rem;
  font-weight: 950;
  line-height: 1;
}

.score-cell-status.stats-missing {
  left: 3px;
  color: #111111;
  background: #ffd633;
  box-shadow: inset 0 0 0 1px #b58c00;
}

.score-cell-status.score-mismatch {
  right: 3px;
  color: #ffffff;
  background: #b92f28;
  box-shadow: inset 0 0 0 1px #7e1f1a;
}

.score-cell-status:disabled {
  opacity: 1;
  cursor: default;
}

.mismatch-review-section > header strong {
  color: #0b3425;
  font-size: 0.9rem;
}

.mismatch-review-section > header small {
  color: #66756c;
  font-size: 0.68rem;
  line-height: 1.25;
}

.mismatch-comparison-table,
.mismatch-score-group,
.mismatch-stats-group {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.mismatch-score-group + .mismatch-score-group,
.mismatch-stats-group + .mismatch-stats-group {
  padding-top: 8px;
  border-top: 1px solid #d7e2db;
}

.mismatch-stat-table {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--scorecard-theme-line, #cddbd2);
  border-radius: 7px;
  background: #ffffff;
}

.mismatch-score-outline {
  min-width: 0;
  display: grid;
  gap: 1px;
  padding: 2px 4px;
}

.mismatch-score-line {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items: baseline;
  gap: 12px;
  padding: 5px 6px;
  border-bottom: 1px solid var(--scorecard-theme-line, #d4dfd8);
}

.mismatch-score-line:last-child {
  border-bottom: 0;
}

.mismatch-score-line span {
  min-width: 0;
  overflow: hidden;
  color: var(--scorecard-theme-ink, #173326);
  font-size: 0.78rem;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mismatch-score-line strong {
  color: var(--scorecard-theme-primary, #17633f);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: right;
}

.mismatch-stat-head,
.mismatch-stat-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 52px 52px;
  align-items: stretch;
}

.mismatch-stat-head {
  color: #ffffff;
  background: var(--scorecard-theme-primary, #17633f);
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.mismatch-stat-row {
  color: var(--scorecard-theme-ink, #173326);
  font-size: 0.78rem;
}

.mismatch-stat-row + .mismatch-stat-row {
  border-top: 1px solid var(--scorecard-theme-line, #d4dfd8);
}

.mismatch-stat-head > *,
.mismatch-stat-row > * {
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 6px 8px;
  border-right: 1px solid var(--scorecard-theme-line, #d4dfd8);
}

.mismatch-stat-head > :first-child,
.mismatch-stat-row > :first-child {
  justify-items: start;
  text-align: left;
}

.mismatch-stat-head > :last-child,
.mismatch-stat-row > :last-child {
  border-right: 0;
}

.mismatch-stat-row strong {
  color: var(--scorecard-theme-primary, #17633f);
  font-size: 0.9rem;
  line-height: 1;
}

.mismatch-comparison-head,
.mismatch-comparison-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px repeat(2, minmax(0, 1fr));
  align-items: stretch;
  overflow: hidden;
  border: 1px solid #d4dfd8;
  border-radius: 6px;
}

.mismatch-comparison-head {
  color: #ffffff;
  background: #17633f;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
}

.mismatch-comparison-row {
  color: #173326;
  background: #ffffff;
  font-size: 0.76rem;
  text-align: center;
}

.mismatch-comparison-head > *,
.mismatch-comparison-row > * {
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 6px 4px;
  border-right: 1px solid #d4dfd8;
}

.mismatch-comparison-head > :last-child,
.mismatch-comparison-row > :last-child {
  border-right: 0;
}

.mismatch-comparison-row.stats strong {
  align-content: center;
  overflow-wrap: anywhere;
  font-size: 0.64rem;
  line-height: 1.25;
}

.mismatch-context {
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 2px 0;
}

.mismatch-context strong,
.mismatch-context small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mismatch-context strong {
  color: #0b3425;
  font-size: 0.75rem;
}

.mismatch-context small {
  color: #66756c;
  font-size: 0.62rem;
}

.mismatch-resolution-actions {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  padding-top: 4px;
}

.score-picker-grid .mismatch-resolution-actions button {
  min-width: 0;
  min-height: 38px;
  padding: 5px 3px;
  color: #17633f;
  background: #ffffff;
  border-color: #bed8c9;
  font-size: 0.66rem;
  line-height: 1.1;
}

.score-picker-grid .mismatch-resolution-actions button.danger {
  color: #9b2c25;
  border-color: #e1b7b2;
}

.side-card-settings-panel {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  gap: 12px;
}

.side-card-mode-grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.score-picker-grid .side-card-mode {
  min-width: 0;
  min-height: 76px;
  display: grid;
  place-content: center;
  gap: 4px;
  padding: 9px 6px;
  color: #0b3425;
  background: #f7faf8;
  font-size: 0.72rem;
  line-height: 1.1;
  text-align: center;
}

.score-picker-grid .side-card-mode span {
  font-size: clamp(0.76rem, 3.4vw, 0.92rem);
  font-weight: 950;
}

.score-picker-grid .side-card-mode small {
  color: #68766e;
  font-size: clamp(0.56rem, 2.5vw, 0.66rem);
  font-weight: 750;
}

.score-picker-grid .side-card-mode.selected {
  border-color: #17633f;
  color: #ffffff;
  background: #17633f;
  box-shadow: inset 0 0 0 1px #17633f;
}

.score-picker-grid .side-card-mode.selected small {
  color: #ffffff;
}

.side-card-partners {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
  padding: 10px;
  border: 1px solid #d7e2db;
  border-radius: 8px;
}

.side-card-partners legend {
  padding: 0 5px;
  color: #0b3425;
  font-size: 0.72rem;
  font-weight: 950;
}

.score-picker-grid .side-card-partner {
  min-width: 0;
  min-height: 48px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 6px 8px;
  color: #0b3425;
  background: #ffffff;
  font-size: 0.7rem;
  text-align: left;
}

.score-picker-grid .side-card-partner .initial-badge {
  width: 28px;
  height: 28px;
  font-size: 0.6rem;
}

.score-picker-grid .side-card-partner span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.score-picker-grid .side-card-partner.selected {
  border-color: #d8b24c;
  background: #fff8e4;
  box-shadow: inset 0 0 0 1px #d8b24c;
}

.score-picker-grid .side-card-stats-toggle {
  min-width: 0;
  min-height: 58px;
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  color: #0b3425;
  background: #ffffff;
  font-size: 0.78rem;
  text-align: left;
}

.side-card-stats-toggle > span:last-child {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.side-card-stats-toggle small {
  color: #68766e;
  font-size: 0.65rem;
  font-weight: 700;
}

.side-card-check {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border: 2px solid #17633f;
  border-radius: 4px;
  color: #ffffff;
  background: #ffffff;
  font-size: 0.8rem;
  font-weight: 950;
}

.side-card-stats-toggle.selected .side-card-check {
  background: #17633f;
}

.side-card-settings-note {
  margin: 0;
  padding: 8px 10px;
  border-radius: 7px;
  color: #7a4d00 !important;
  background: #fff8e4;
  font-size: 0.72rem;
  font-weight: 850;
}

.side-card-settings-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.side-card-settings-actions > :only-child {
  grid-column: 1 / -1;
}

@media (max-width: 390px) {
  .side-card-mode-grid {
    gap: 5px;
  }

  .score-picker-grid .side-card-mode {
    min-height: 70px;
    padding-inline: 4px;
  }
}

.scorecard-full-tee-label {
  grid-column: 1 / -1;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border: 1px solid #d8e3dc;
  border-radius: 8px;
  color: #0b3425;
  background: #f7faf8;
  font-size: clamp(1rem, 5vw, 1.35rem);
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  overflow-wrap: anywhere;
}

.player-tee-details {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  border: 1px solid #cddbd2;
  border-radius: 8px;
  overflow: hidden;
}

.player-tee-details-head,
.player-tee-details-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 0.8fr 0.9fr 0.8fr 1.2fr;
  text-align: center;
}

.player-tee-details-head {
  color: #ffffff;
  background: #17633f;
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.player-tee-details-row {
  min-height: 31px;
  color: #15261d;
  background: #ffffff;
  font-size: 0.82rem;
  font-weight: 800;
}

.player-tee-details-row:nth-child(odd) {
  background: #f0f6f2;
}

.player-tee-details-head span,
.player-tee-details-row span {
  min-width: 0;
  display: grid;
  place-items: center;
  padding: 6px 4px;
  border-right: 1px solid #d8e3dc;
  border-bottom: 1px solid #d8e3dc;
}

.player-tee-details-head span:last-child,
.player-tee-details-row span:last-child {
  border-right: 0;
}

.player-tee-details-row:last-child span {
  border-bottom: 0;
}

.score-picker-actions {
  position: relative;
  z-index: 4;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: #ffffff;
}

.score-picker-backdrop.invited-player-access-prompt .score-picker-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  width: 100%;
}

.score-picker-backdrop.invited-player-access-prompt .scorekeeper-gate-button {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  padding: 10px 14px;
  line-height: 1.2;
  overflow-wrap: normal;
  white-space: normal;
}

.score-picker-backdrop.invited-player-access-prompt .score-picker-actions {
  display: none;
}

.score-picker-actions button {
  min-height: 44px;
  border: 1px solid #bed8c9;
  border-radius: 6px;
  color: #17633f;
  background: white;
  font-weight: 900;
}

.score-picker-actions button:first-child {
  color: white;
  background: #17633f;
}

.score-picker-actions button[hidden] + button {
  grid-column: 1 / -1;
}

.scorecard-attestation-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 12px 8px calc(24px + env(safe-area-inset-bottom));
  padding: 12px;
  border: 1px solid #d8b24c;
  border-radius: 8px;
  background: #fffaf0;
}

.scorecard-attestation-panel > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.score-cell-stack > .score-button,
.score-cell-stack > .score-display {
  justify-self: center;
  align-self: center;
  margin-inline: auto;
}

.scorecard-grid-header > .scorecard-team-column {
  background: color-mix(in srgb, var(--scorecard-team-color) 7%, #ffffff);
}

.scorecard-grid-row > .scorecard-team-column {
  background: color-mix(in srgb, var(--scorecard-team-color) 5%, transparent);
}

.scorecard-grid-row:nth-child(odd) > .scorecard-team-column {
  background: color-mix(in srgb, var(--scorecard-team-color) 5%, #eeeeee);
}

.scorecard-grid-row.summary-row > .scorecard-team-column {
  background: color-mix(in srgb, var(--scorecard-team-color) 6%, #dfe8e2);
}

.scorecard-attestation-panel span {
  color: #756126;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.scorecard-attestation-panel strong,
.scorecard-attestation-panel small {
  min-width: 0;
  color: #0b3425;
}

.scorecard-attestation-panel strong {
  font-size: 0.86rem;
}

.scorecard-attestation-panel small {
  font-size: 0.7rem;
  line-height: 1.25;
}

.scorecard-attestation-panel > button {
  min-height: 36px;
  padding: 7px 10px;
  border: 0;
  border-radius: 6px;
  color: #ffffff;
  background: #17633f;
  font-size: 0.72rem;
  font-weight: 950;
}

.scorecard-attestation-panel > button:disabled {
  color: #6f7772;
  background: #dfe4e1;
}

.scorecard-status-panel {
  border: 2px solid #17633f;
}

.scorecard-status-panel > div > span {
  color: #17633f;
  -webkit-text-fill-color: #17633f;
}

.scorecard-attestation-panel > .casual-attest-finalize-button {
  min-width: 96px;
  min-height: 54px;
  display: grid;
  place-content: center;
  gap: 1px;
  padding: 7px 12px;
  line-height: 1.05;
}

.scorecard-attestation-panel > .casual-attest-finalize-button span,
.scorecard-attestation-panel > .casual-attest-finalize-button strong {
  color: #ffffff;
  -webkit-text-fill-color: #ffffff;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: none;
}

.scorecard-attestation-panel > .casual-attest-finalize-button strong {
  font-size: 0.82rem;
}

.scorecard-signature-record,
.scorecard-signature-pad-wrap {
  grid-column: 1 / -1;
}

.scorecard-signature-record {
  min-width: 0;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid #dce5df;
  border-radius: 8px;
  background: #f7faf8;
}

.scorecard-signature-record img {
  width: 88px;
  height: 42px;
  object-fit: contain;
  background: #ffffff;
}

.scorecard-signature-record span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.scorecard-signature-record strong,
.scorecard-signature-record small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-signature-pad-wrap {
  position: relative;
  min-height: 150px;
  border: 2px solid #17633f;
  border-radius: 8px;
  overflow: hidden;
  background: #ffffff;
}

.scorecard-signature-pad {
  width: 100%;
  height: 150px;
  display: block;
  touch-action: none;
}

.scorecard-signature-pad-wrap > span {
  position: absolute;
  right: 10px;
  bottom: 7px;
  color: #7b877f;
  font-size: 0.68rem;
  font-weight: 850;
  pointer-events: none;
}

@media (max-width: 390px) {
  .scorecard-attestation-panel {
    grid-template-columns: 1fr;
  }

  .scorecard-attestation-panel > button {
    width: 100%;
  }

  .scorecard-attestation-panel > .casual-attest-finalize-button {
    min-height: 58px;
  }
}

.scorecard-page .initial-badge {
  --badge: #17633f;
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: white;
  background: var(--badge);
  border-radius: 50%;
  font-weight: 950;
  font-size: 0.72rem;
}

@media (min-width: 760px) {
  .scorecard-page .mobile-shell {
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 0;
    box-shadow: 0 0 28px rgba(5, 22, 16, 0.34);
  }

  .scorecard-page .mobile-shell,
  .scorecard-topbar,
  .scorecard-content {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Compact scorecard controls keep the hole grid in view on phones. */
.scorecard-topbar {
  min-height: 54px;
  padding: 5px 8px;
}

.scorecard-content {
  gap: 4px;
  padding: 6px 4px 0;
}

.scorecard-format-tabs {
  gap: 7px;
  padding: 2px 6px 6px;
  margin: 0;
}

.scorecard-format-tabs button {
  min-width: 82px;
  min-height: 34px;
  padding: 4px 11px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.13);
}

.scorecard-format-tabs button strong {
  font-size: clamp(0.68rem, 2.7vw, 0.82rem);
  font-weight: 750;
}

.scorecard-format-tabs button.long-label strong {
  font-size: clamp(0.59rem, 2.35vw, 0.72rem);
}

.scorecard-format-tabs button small {
  font-size: 0.52rem;
}

.scorecard-format-tabs button.selected-view {
  box-shadow: 0 0 0 2px #d8b24c, 0 3px 8px rgba(0, 0, 0, 0.14);
}

.scorecard-format-tabs button.stats-format-pill {
  min-width: 92px;
  padding-inline: 8px;
}

.scorecard-format-tabs button.stats-format-pill strong {
  font-size: 0.72rem;
  font-weight: 750;
}

.scorecard-format-tabs button.stats-format-pill small {
  font-size: 0.58rem;
  font-weight: 400;
}

#scorecardApp {
  gap: 4px;
}

.leader-action-bar {
  flex: 0 0 auto;
  width: 100%;
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 10px;
  border: 0;
  color: #ffffff;
  background: #17633f;
  font: inherit;
  font-size: 0.62rem;
  line-height: 1;
  text-transform: uppercase;
}

.leader-action-bar strong {
  font-weight: 950;
  letter-spacing: 0.045em;
}

.leader-action-bar span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #f2d36a;
  font-weight: 850;
  white-space: nowrap;
}

.scorecard-leader-card {
  margin: 0;
  padding: 8px 10px;
  border-radius: 0 0 8px 8px;
}

.scorecard-leader-head {
  margin-bottom: 5px;
}

.scorecard-leader-row {
  min-height: 30px;
}

.leader-collapse-control,
.leader-collapsed-strip {
  display: none;
}

.scorecard-role-strip {
  display: flex;
  gap: 5px;
  padding: 3px 5px;
  overflow-x: auto;
  scrollbar-width: none;
}

.scorecard-role-strip::-webkit-scrollbar {
  display: none;
}

.scorecard-role-pill {
  flex: 1 0 132px;
  min-width: 132px;
  min-height: 30px;
  gap: 3px 5px;
  padding: 4px 7px;
}

.scorecard-role-pill span {
  grid-column: auto;
  font-size: 0.5rem;
}

.scorecard-role-pill strong {
  font-size: clamp(0.62rem, 2.65vw, 0.76rem);
}

.scorecard-issue-rail {
  flex: 0 0 auto;
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 3px 7px;
  border-top: 1px solid #eadfbd;
  border-bottom: 1px solid #eadfbd;
  background: #fffaf0;
}

.scorecard-issue-rail > strong {
  flex: 0 0 auto;
  color: #654d16;
  font-size: 0.64rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

.scorecard-issue-markers {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  overflow-x: auto;
  overflow-y: visible;
  padding: 1px 3px;
  scrollbar-width: none;
}

.scorecard-issue-markers::-webkit-scrollbar {
  display: none;
}

.scorecard-issue-marker {
  position: relative;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 950;
  line-height: 1;
  cursor: default;
}

.scorecard-issue-marker.score-issue {
  color: #ffffff;
  background: #b92f28;
  box-shadow: inset 0 0 0 1px #7e1f1a;
  cursor: pointer;
}

.scorecard-issue-marker.stats-issue {
  color: #111111;
  background: #ffd633;
  box-shadow: inset 0 0 0 1px #b58c00;
  cursor: pointer;
}

.scorecard-issue-marker::after {
  content: attr(data-issue-tooltip);
  position: fixed;
  left: 50%;
  top: 112px;
  z-index: 70;
  width: min(330px, calc(100vw - 24px));
  padding: 9px 11px;
  border-radius: 8px;
  color: #ffffff;
  background: #152c23;
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.2);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.3;
  text-align: left;
  transform: translateX(-50%) translateY(-4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease, transform 120ms ease;
}

.scorecard-issue-marker:hover::after,
.scorecard-issue-marker:focus-visible::after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.scorecard-issue-marker.score-issue::after {
  content: none;
}

.scorecard-score-issue-tooltip {
  position: fixed;
  left: 50%;
  top: 112px;
  z-index: 70;
  width: min(250px, calc(100vw - 24px));
  display: grid;
  gap: 2px;
  padding: 9px 11px;
  border-radius: 8px;
  color: #ffffff;
  background: #152c23;
  box-shadow: 0 9px 24px rgba(0, 0, 0, 0.2);
  text-align: left;
  transform: translateX(-50%) translateY(-4px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 120ms ease, transform 120ms ease;
}

.scorecard-score-issue-tooltip > strong {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
  font-size: 0.72rem;
  line-height: 1.2;
}

.scorecard-score-issue-tooltip > strong small {
  flex: 0 0 auto;
  color: inherit;
  font-size: 0.62rem;
}

.scorecard-score-issue-line {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: baseline;
  gap: 10px;
  padding: 4px 2px 2px;
  font-size: 0.72rem;
  font-weight: 800;
}

.scorecard-score-issue-line b {
  font-size: 0.92rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  text-align: right;
}

.scorecard-issue-marker.score-issue:hover .scorecard-score-issue-tooltip,
.scorecard-issue-marker.score-issue:focus-visible .scorecard-score-issue-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.scorecard-issue-marker:focus-visible {
  outline: 2px solid #14213d;
  outline-offset: 2px;
}


/* scorecard-format-scroll-and-compact-35 */
.scorecard-format-tabs {
  width: 100%;
  max-width: 100%;
  flex-wrap: nowrap;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  touch-action: pan-x;
}

.scorecard-format-tabs > button {
  flex: 0 0 auto;
}

.scorecard-grid-row {
  min-height: 55px;
}

.score-cell-stack,
.side-card-stats-cell {
  min-height: 52px;
}

.score-cell-stack {
  grid-template-rows: 8px minmax(34px, auto);
}

.side-card-stats-cell {
  padding-block: 5px;
}

@media (min-width: 700px) {
  .scorecard-format-tabs {
    padding-bottom: 10px;
    scrollbar-width: thin;
    scrollbar-color: var(--scorecard-theme-secondary, #b22234) transparent;
  }

  .scorecard-format-tabs::-webkit-scrollbar {
    display: block;
    height: 6px;
  }

  .scorecard-format-tabs::-webkit-scrollbar-track {
    background: transparent;
  }

  .scorecard-format-tabs::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: var(--scorecard-theme-secondary, #b22234);
  }
}


/* scorecard-destructive-confirmation-36 */
.scorecard-destructive-confirm {
  grid-column: 1 / -1;
  width: min(100%, 360px);
  margin: 0 auto;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid color-mix(in srgb, #9b2c2c, #ffffff 58%);
  border-radius: 8px;
  background: #ffffff;
  text-align: left;
}

.scorecard-destructive-confirm p {
  margin: 0;
  color: #3f2020;
  font-size: 0.82rem;
  font-weight: 650;
  line-height: 1.4;
}

.scorecard-destructive-confirm p strong {
  color: #8f241e;
  letter-spacing: 0.06em;
}

.scorecard-destructive-confirm label {
  display: grid;
  gap: 6px;
  color: #4f1f1f;
  font-size: 0.72rem;
  font-weight: 900;
}

.scorecard-destructive-confirm input {
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 2px solid #c9a5a2;
  border-radius: 6px;
  color: #431b18;
  background: #fffafa;
  font: inherit;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.scorecard-destructive-confirm input:focus {
  border-color: #9b2c2c;
  outline: 3px solid color-mix(in srgb, #9b2c2c, transparent 78%);
  outline-offset: 1px;
}

.scorecard-destructive-confirm .scorekeeper-gate-button {
  width: 100%;
  margin: 0;
}

.scorecard-destructive-confirm .scorekeeper-gate-button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}
/* Casual rounds, viewer guidance, demo, and protected finalization */
.casual-round-rail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 4px;
  border-bottom: 0;
  background: #fff;
  color: var(--scorecard-theme-primary, #006747);
}

.course-total-row .summary-label {
  grid-column: 1 / 3;
  padding: 0 2px;
  font-size: clamp(0.82rem, 3.4vw, 1.05rem);
  line-height: 1;
  letter-spacing: 0;
}

.summary-course-value {
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  margin: 0;
  padding: 0;
  color: var(--scorecard-theme-primary, #0b3425);
  font-size: clamp(0.94rem, 4vw, 1.28rem);
  line-height: 1;
}

.course-total-row .summary-value strong {
  font-size: clamp(0.94rem, 4vw, 1.28rem);
  line-height: 1;
}

.casual-round-rail > span,
.casual-round-rail button {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.casual-round-rail > span:first-child {
  align-self: start;
  gap: 0;
  padding-top: 1px;
}

.casual-round-rail > span:first-child small {
  line-height: 1.35;
  padding-bottom: 1px;
}

.casual-round-rail strong {
  font-size: .76rem;
  line-height: 1.1;
}

.casual-round-rail small {
  overflow: hidden;
  font-size: .62rem;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.casual-round-rail button {
  min-height: 32px;
  border: 0;
  border-radius: 5px;
  background: var(--scorecard-theme-accent, #e2ba2f);
  color: #173428;
  padding: 5px 9px;
  text-align: left;
}

.casual-round-ready {
  justify-self: end;
  color: #18744d;
  font-size: .72rem;
  font-weight: 800;
}

.scorecard-viewer-notice {
  position: fixed;
  z-index: 1500;
  left: 50%;
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(calc(100% - 28px), 430px);
  border: 1px solid #e2ba2f;
  border-radius: 7px;
  background: #173428;
  box-shadow: 0 10px 28px rgb(0 0 0 / .24);
  color: #fff;
  font-size: .84rem;
  line-height: 1.35;
  padding: 12px 14px;
  text-align: left;
  transform: translateX(-50%);
}

.casual-course-picker,
.casual-tee-form,
.casual-handicap-form,
.casual-play-form,
.casual-invite-form,
.casual-match-form,
.casual-finalize-form {
  display: grid;
  gap: 12px;
}

.casual-setup-prompt #scorePickerOptions > *,
.casual-course-picker,
.casual-tee-form,
.casual-handicap-form,
.casual-play-form,
.casual-invite-form,
.casual-match-form,
.casual-finalize-form {
  grid-column: 1 / -1;
  min-width: 0;
}

.score-picker-backdrop.casual-setup-prompt {
  align-items: center;
  padding-inline: 18px;
}

.casual-setup-prompt .score-picker {
  width: min(100%, 372px);
  max-width: 372px;
  max-height: min(74dvh, 590px);
  gap: 10px;
  border-radius: 10px;
  padding: 14px;
}

.casual-setup-prompt.casual-review-prompt .score-picker {
  width: min(100%, 430px);
  max-width: 430px;
  max-height: calc(100dvh - 28px);
}

.casual-setup-prompt.casual-game-prompt {
  display: grid;
  align-items: center;
  padding: 6px 10px;
  overflow: hidden;
}

.casual-setup-prompt.casual-game-prompt .score-picker {
  width: min(100%, 430px);
  max-width: 430px;
  height: auto;
  max-height: calc(100dvh - 12px);
  gap: 7px;
  padding: 10px 12px;
  overflow: hidden;
}

.casual-setup-prompt.casual-game-prompt .score-picker-grid {
  display: block;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.casual-game-prompt .casual-match-form {
  width: 100%;
  min-height: 0;
  display: grid;
  gap: 7px;
  align-content: start;
}

.casual-game-prompt .scorecard-modal-actions {
  padding: 0;
}

.casual-game-prompt .scorecard-modal-actions button {
  min-height: 40px;
}

.nassau-compact-settings {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 8px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 7px;
  background: #fff;
}

.nassau-compact-settings > label {
  min-width: 0;
  gap: 3px;
}

.nassau-compact-settings input,
.nassau-compact-settings select {
  min-height: 36px;
  padding: 6px 8px;
}

.nassau-compact-settings label.game-setting-toggle {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 6px;
  padding: 6px;
}

.nassau-compact-settings .game-setting-toggle small {
  font-size: .61rem;
  line-height: 1.15;
}

.casual-game-prompt .nassau-team-picker {
  gap: 5px !important;
  padding: 7px !important;
}

.casual-game-prompt label.nassau-player-choice {
  min-height: 38px;
  grid-template-columns: 18px 25px minmax(0, 1fr);
  gap: 5px;
  padding: 5px 6px;
}

.casual-game-prompt .nassau-player-choice .initial-badge {
  width: 24px;
  height: 24px;
}

.casual-game-prompt .nassau-team-preview {
  gap: 6px;
}

.casual-game-prompt .nassau-team-preview > div {
  padding: 6px 8px;
}

.casual-game-prompt .nassau-team-status {
  min-height: 0;
  font-size: .66rem;
  line-height: 1.15;
}

.casual-setup-prompt .score-picker-grid {
  width: 100%;
  grid-template-columns: minmax(0, 1fr);
}

.casual-setup-prompt .score-picker h2 {
  font-size: 1.08rem;
}

.casual-setup-prompt .score-picker p {
  font-size: .78rem;
  line-height: 1.3;
}

.casual-setup-prompt .score-picker-actions {
  display: none;
}

.casual-course-picker input,
.casual-tee-form select,
.casual-handicap-form input,
.casual-handicap-form select,
.casual-play-form input,
.casual-invite-form input,
.casual-invite-form select,
.casual-match-form input,
.casual-match-form select,
.casual-finalize-form input,
.casual-finalize-form select {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  border: 1px solid #aabbb3;
  border-radius: 5px;
  background: #fff;
  color: #173428;
  font: inherit;
  padding: 9px 10px;
}

.handicap-entry-help {
  grid-column: 1 / -1;
  margin: -3px 0 0;
  color: #52675d;
  font-size: .7rem;
  font-weight: 650;
  line-height: 1.25;
}

.scorecard-invite-form input[readonly] {
  overflow: hidden;
  color: #40564c;
  background: #f5f8f6;
  font-size: .7rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scorecard-invite-status {
  min-height: 34px;
  display: grid;
  align-items: center;
  margin: 0;
  border-left: 3px solid var(--scorecard-theme-primary, #006747);
  color: #40564c;
  background: #f5f8f6;
  font-size: .74rem;
  line-height: 1.3;
  padding: 7px 9px;
}

.scorecard-invite-close {
  width: 100%;
}

.nassau-game-summary {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 7px;
  background: var(--scorecard-theme-soft, #f3f7f4);
  color: #173428;
}

.nassau-game-summary strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.9rem;
}

.nassau-game-summary span {
  font-size: 0.73rem;
  line-height: 1.35;
}

.casual-match-form fieldset.nassau-team-picker {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  padding: 9px;
}

.casual-match-form label.nassau-player-choice {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px 30px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 8px 7px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 6px;
  background: #ffffff;
  cursor: pointer;
}

.nassau-player-choice input {
  width: 18px !important;
  min-height: 18px !important;
  margin: 0;
  padding: 0 !important;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.nassau-player-choice .initial-badge {
  width: 28px;
  height: 28px;
  font-size: 0.62rem;
}

.nassau-player-choice strong {
  min-width: 0;
  font-size: 0.72rem;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

.nassau-player-choice:has(input:checked) {
  border-color: var(--scorecard-theme-primary, #006747);
  box-shadow: inset 0 0 0 1px var(--scorecard-theme-primary, #006747);
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 7%, #ffffff);
}

.nassau-team-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.nassau-team-preview > div {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 6px;
  background: #ffffff;
}

.nassau-team-preview span {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.63rem;
  font-weight: 900;
  text-transform: uppercase;
}

.nassau-team-preview strong {
  min-width: 0;
  color: #173428;
  font-size: 0.73rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.nassau-team-status {
  min-height: 1.1em;
  margin: 0;
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.72rem;
  font-weight: 800;
  text-align: center;
}

.nassau-team-status.error {
  color: #a52a2a;
}

.nassau-game-form [data-save-nassau]:disabled {
  border-color: #c5cbc8;
  background: #dfe4e1;
  color: #707a75;
}

.game-settings-panel {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 7px;
  background: #fff;
}

.game-settings-panel > header {
  display: grid;
  gap: 2px;
}

.game-settings-panel > header strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.82rem;
}

.game-settings-panel > header small {
  color: #52675e;
  font-size: 0.68rem;
  line-height: 1.3;
}

.game-settings-panel > label {
  min-width: 0;
}

.game-money-input {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px;
}

.game-money-input b {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.92rem;
}

.game-settings-panel label.game-setting-toggle {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 8px;
  border-radius: 6px;
  background: var(--scorecard-theme-soft, #f3f7f4);
}

.game-setting-toggle input {
  width: 19px !important;
  min-height: 19px !important;
  margin: 1px 0 0;
  padding: 0 !important;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.game-setting-toggle > span {
  display: grid;
  gap: 2px;
}

.game-setting-toggle small {
  color: #52675e;
  font-size: 0.67rem;
  font-weight: 500;
  line-height: 1.3;
}

.barto-player-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.barto-game-form fieldset.nassau-team-picker {
  grid-template-columns: minmax(0, 1fr);
}

.barto-player-list .round-pill {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  padding: 7px;
  border: 1px solid var(--scorecard-theme-line, #c7d2cc);
  border-radius: 6px;
  background: #ffffff;
  color: #173428;
  font-size: 0.72rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.barto-player-list .initial-badge {
  width: 28px;
  height: 28px;
  font-size: 0.62rem;
}

.barto-game-form button[type="submit"]:disabled {
  border-color: #c5cbc8;
  background: #dfe4e1;
  color: #707a75;
}
.casual-course-results {
  display: grid;
  gap: 7px;
  max-height: min(52vh, 390px);
  overflow-y: auto;
}

.casual-course-results button,
.casual-choice-card,
.casual-share-card,
.casual-membership-prompt,
.casual-ghin-guidance {
  display: grid;
  gap: 3px;
  border: 1px solid #c7d2cc;
  border-radius: 6px;
  background: #f7faf8;
  color: #173428;
  padding: 11px 12px;
  text-align: left;
}

.casual-course-results button {
  width: 100%;
  min-height: 44px;
  font-size: .82rem;
  padding: 8px 10px;
}

.casual-course-empty {
  border: 1px solid #c7d2cc;
  border-radius: 5px;
  background: #f7faf8;
  color: #52675d;
  font-size: .78rem;
  padding: 10px;
}

.casual-course-results small,
.casual-choice-card small,
.casual-membership-prompt p,
.casual-ghin-guidance p,
.casual-ghin-guidance small {
  margin: 0;
  color: #52675d;
  font-size: .76rem;
  line-height: 1.35;
}

.casual-tee-form label,
.casual-handicap-form label,
.casual-invite-form label,
.casual-match-form label,
.casual-finalize-form > label {
  display: grid;
  gap: 5px;
  color: #173428;
  font-size: .78rem;
  font-weight: 750;
}

.casual-tee-form label {
  grid-template-columns: minmax(0, .8fr) minmax(150px, 1.2fr);
  align-items: center;
  gap: 10px;
}

.casual-tee-form .casual-same-tees-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 34%, #ffffff);
  border-radius: 6px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 7%, #ffffff);
  padding: 9px 11px;
}

.casual-same-tees-toggle input {
  width: 21px;
  height: 21px;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.casual-same-tees-toggle > span {
  min-width: 0;
  display: grid;
  gap: 1px;
}

.casual-same-tees-toggle strong,
.casual-same-tees-toggle small {
  display: block;
}

.casual-same-tees-toggle small {
  color: #52675d;
  font-size: .68rem;
  font-weight: 650;
}

.casual-shared-tee-mode,
.casual-independent-tee-list {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.casual-shared-tee-mode[hidden],
.casual-independent-tee-list[hidden] {
  display: none;
}

.casual-handicap-form fieldset,
.casual-match-form fieldset,
.casual-incomplete-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  margin: 0;
  border: 1px solid #c7d2cc;
  border-radius: 6px;
  padding: 10px;
}

.casual-handicap-form {
  gap: 8px;
}

.scorecard-handicap-status {
  min-height: 1em;
  margin: 0;
  color: var(--scorecard-theme-primary, #006747);
  font-size: .76rem;
  font-weight: 750;
}

.scorecard-handicap-form fieldset {
  border-color: var(--scorecard-theme-line, #c7d2cc);
  background: var(--scorecard-theme-soft, #f7faf8);
}

.scorecard-handicap-form legend {
  color: var(--scorecard-theme-primary, #006747);
}

.casual-handicap-form fieldset {
  grid-template-columns: minmax(0, 1fr) 128px;
  align-items: start;
  gap: 9px 12px;
  padding: 9px;
}

.handicap-type-checks,
.handicap-entry-values {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 7px;
}

.handicap-type-checks > span,
.handicap-entry-values label > span {
  color: #173428;
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.15;
}

.handicap-type-checks label {
  min-width: 0;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  color: #173428;
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.15;
}

.casual-handicap-form .handicap-type-checks input[type="checkbox"] {
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  margin: 0;
  padding: 0;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.handicap-entry-values {
  justify-items: stretch;
}

.handicap-entry-values > label {
  min-width: 0;
  display: grid;
  justify-items: end;
  gap: 4px;
}

.casual-handicap-form .handicap-entry-values input[data-handicap-player-id] {
  width: 78px;
  min-width: 78px;
  min-height: 38px;
  padding: 6px;
  font-size: .86rem;
  font-weight: 800;
  text-align: center;
}

.handicap-ghin-action {
  width: 100%;
  min-height: 42px;
  display: grid;
  place-items: center;
  gap: 1px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 56%, #fff);
  border-radius: 5px;
  background: #fff;
  color: var(--scorecard-theme-primary, #006747);
  padding: 5px 6px;
  text-align: center;
}

.handicap-ghin-action span {
  font-size: .67rem;
  font-weight: 850;
  line-height: 1.1;
}

.handicap-ghin-action small {
  overflow: hidden;
  max-width: 100%;
  color: #52675d;
  font-size: .61rem;
  font-weight: 700;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.handicap-entry-help,
.handicap-ghin-status {
  grid-column: 1 / -1;
}

.handicap-ghin-status {
  margin-top: -5px;
  color: var(--scorecard-theme-primary, #006747);
  font-size: .69rem;
  font-weight: 800;
  line-height: 1.25;
}

.casual-setup-prompt .scorecard-modal-actions,
.casual-setup-prompt .scorekeeper-gate-button,
.casual-setup-prompt .casual-holes-grid {
  width: 100%;
  min-width: 0;
}

.casual-setup-prompt input,
.casual-setup-prompt select,
.casual-setup-prompt button,
.casual-setup-prompt a {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.casual-handicap-form legend,
.casual-match-form legend,
.casual-incomplete-row legend {
  color: #006747;
  font-size: .8rem;
  font-weight: 850;
  padding: 0 5px;
}

.ghin-lookup-form {
  min-width: 0;
  display: grid;
  grid-column: 1 / -1;
  gap: 11px;
}

.ghin-lookup-form label {
  display: grid;
  gap: 5px;
  color: #173428;
  font-size: .76rem;
  font-weight: 800;
}

.ghin-lookup-form input {
  box-sizing: border-box;
  width: 100%;
  min-height: 42px;
  border: 1px solid #aabbb3;
  border-radius: 5px;
  background: #fff;
  color: #173428;
  font: inherit;
  padding: 9px 10px;
}

.ghin-lookup-form p {
  margin: 0;
  color: #52675d;
  font-size: .72rem;
  line-height: 1.35;
}

.casual-setup-prompt.casual-ghin-prompt .score-picker {
  width: min(100%, 342px);
  max-width: 342px;
}

.casual-choice-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.casual-choice-card input {
  width: 20px;
  min-height: 20px;
  accent-color: #006747;
}

.scorecard-modal-actions {
  position: sticky;
  bottom: 0;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding-top: 9px;
  padding-bottom: max(2px, env(safe-area-inset-bottom));
  background: #ffffff;
  box-shadow: 0 -1px 0 rgba(23, 99, 63, 0.14);
}

.scorecard-modal-actions.stacked {
  grid-template-columns: 1fr;
}

.scorecard-modal-actions button,
.scorecard-modal-actions a,
.casual-holes-grid button {
  display: grid;
  place-items: center;
  min-height: 42px;
  border: 1px solid #006747;
  border-radius: 5px;
  background: #006747;
  color: #fff;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  padding: 9px;
  text-decoration: none;
}

.scorecard-modal-actions .secondary {
  background: #fff;
  color: #006747;
}

/* The side-card reminder shares the score picker, but its copy and actions
   must not fall into the four narrow numeric score columns. Scope by the
   existing action so the next modal automatically returns to its own layout. */
#scorePickerOptions:has([data-accept-side-card-reminder]) {
  grid-template-columns: minmax(0, 1fr);
}

#scorePickerOptions:has([data-accept-side-card-reminder]) > .scorecard-modal-actions {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  width: 100%;
}

#scorePickerOptions:has([data-accept-side-card-reminder]) .scorecard-modal-actions > button {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.3;
  white-space: normal;
  color: #fff;
  background: var(--scorecard-theme-primary, #002868);
  border-color: var(--scorecard-theme-primary, #002868);
}

#scorePickerOptions:has([data-accept-side-card-reminder]) .scorecard-modal-actions > .secondary {
  color: var(--scorecard-theme-primary, #002868);
  background: #fff;
}

.casual-share-card {
  place-items: center;
  padding: 18px;
  text-align: center;
}

.casual-share-card strong {
  color: #006747;
  font-size: 1.35rem;
  letter-spacing: 1px;
}

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

.casual-finalize-check {
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center;
  border: 1px solid #e2ba2f;
  border-radius: 6px;
  background: #fff9e8;
  padding: 10px;
}

.casual-finalize-check input {
  width: 20px;
  min-height: 20px;
  accent-color: #006747;
}

.casual-finalize-good {
  margin: 0;
  border-left: 4px solid #18865c;
  background: #edf8f2;
  color: #173428;
  padding: 10px 12px;
}

.casual-final-word input {
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.score-picker-backdrop.scorecard-demo-mode {
  align-items: end;
  justify-items: end;
  overflow: hidden;
  background: transparent;
  pointer-events: auto;
}

.score-picker-backdrop.scorecard-demo-mode .score-picker {
  width: min(330px, calc(100vw - 24px));
  max-height: none;
  margin: 0;
  gap: 0;
  border: 2px solid #e2ba2f;
  border-radius: 10px;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .24);
}

.score-picker-backdrop.scorecard-demo-mode .score-picker > div:first-child,
.score-picker-backdrop.scorecard-demo-mode .score-picker-actions {
  display: none;
}

body:has(.score-picker-backdrop.scorecard-demo-mode:not([hidden])) .scorecard-format-tabs {
  visibility: visible;
}

body:has(.score-picker-backdrop.scorecard-demo-mode:not([hidden])) .scorecard-grid {
  padding-bottom: 230px;
}

.score-picker-backdrop.scorecard-demo-mode .score-picker-grid {
  display: block;
}

.scorecard-demo-guide {
  display: grid;
  gap: 5px;
  background: #fff;
  color: #173428;
  padding: 10px 12px 11px;
}

.scorecard-demo-guide-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #006747;
  font-size: .68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.scorecard-demo-guide-head button {
  width: 28px;
  min-height: 28px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #006747 !important;
  color: #fff !important;
  font-size: 1.1rem !important;
  line-height: 1;
  padding: 0 !important;
}

.scorecard-demo-guide > strong {
  color: #0b3425;
  font-size: 1rem;
}

.scorecard-demo-guide > small {
  min-height: 30px;
  color: #52655b;
  font-size: .72rem;
  line-height: 1.3;
}

.scorecard-demo-progress {
  display: flex;
  gap: 5px;
}

.scorecard-demo-progress i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d5ddd8;
}

.scorecard-demo-progress i.active {
  background: #e2ba2f;
}

.scorecard-demo-finish {
  display: flex;
  gap: 5px;
  margin: 2px 0;
  color: #006747;
  font-size: .7rem;
  text-align: center;
}

.scorecard-demo-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 6px;
}

.scorecard-demo-actions button {
  min-height: 34px !important;
  border: 1px solid #006747 !important;
  border-radius: 6px !important;
  background: #006747 !important;
  color: #fff !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  padding: 5px 7px !important;
}

.scorecard-demo-actions button.secondary {
  background: #fff !important;
  color: #006747 !important;
}

.scorecard-demo-target {
  outline: 4px solid #e2ba2f !important;
  outline-offset: 3px;
  animation: scoodle-demo-target-pulse 1s ease-in-out infinite alternate;
}

@keyframes scoodle-demo-target-pulse {
  from { outline-color: rgba(226, 186, 47, .68); }
  to { outline-color: #e2ba2f; }
}

@media (max-width: 520px) {
  .score-picker-backdrop.scorecard-demo-mode {
    padding: 8px;
  }

  .score-picker-backdrop.scorecard-demo-mode .score-picker {
    width: min(318px, calc(100vw - 16px));
  }

  .casual-match-form fieldset,
  .casual-incomplete-row {
    grid-template-columns: 1fr;
  }

  .casual-round-rail small {
    max-width: 150px;
  }
}

/* Casual scorecard options and phone-safe setup forms */
.casual-round-rail {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "status options"
    "course options";
  column-gap: 4px;
  row-gap: 2px;
}

.casual-round-status-line {
  grid-area: status;
  width: 100%;
  min-width: 0;
  display: flex;
  align-items: baseline;
}

.casual-round-status-line .casual-round-sharing {
  flex: 0 0 auto;
  font-size: clamp(.6rem, 2.55vw, .72rem);
  white-space: nowrap;
}

.casual-round-status-line button.casual-round-sharing {
  min-height: 0;
  margin: 0;
  padding: 1px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-weight: 800;
  line-height: 1.1;
  text-align: left;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.casual-round-rail > .casual-round-course {
  grid-area: course;
  width: 100%;
  max-width: none;
  overflow: visible;
  overflow-wrap: anywhere;
  color: #52675d;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.2;
}

.casual-round-rail .casual-scorecard-options-button {
  grid-area: options;
  align-self: center;
  justify-self: center;
  margin: 0;
  transform: translateY(-3px);
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 56%, #fff);
  background: #fff;
  color: var(--scorecard-theme-primary, #006747);
}

.casual-player-names-form {
  height: 100%;
  min-width: 0;
  display: grid;
  grid-column: 1 / -1;
  gap: 12px;
}

.casual-player-editor-toolbar {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.casual-player-editor-toolbar span {
  color: #52675d;
  font-size: .74rem;
  font-weight: 800;
}

.casual-player-editor-toolbar button {
  min-height: 38px;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 5px;
  background: #fff;
  color: var(--scorecard-theme-primary, #006747);
  font-size: .76rem;
  font-weight: 850;
  padding: 7px 12px;
}

.casual-player-editor-toolbar button:disabled {
  border-color: #c5cbc8;
  color: #7b8580;
  background: #eef1ef;
}

.casual-player-names-form label {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  color: #173428;
  font-size: .78rem;
  font-weight: 750;
}

.casual-player-names-form input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #aabbb3;
  border-radius: 5px;
  background: #fff;
  color: #173428;
  font: inherit;
  padding: 9px 10px;
}

.casual-setup-prompt.casual-detail-prompt {
  padding: 8px 12px;
}

.casual-setup-prompt.casual-detail-prompt .score-picker {
  height: min(86dvh, 720px);
  max-height: calc(100dvh - 16px);
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.casual-setup-prompt.casual-detail-prompt .score-picker-grid {
  min-height: 0;
  overflow: hidden;
}

.casual-detail-prompt .casual-tee-form,
.casual-detail-prompt .casual-handicap-form,
.casual-detail-prompt .casual-player-names-form {
  height: 100%;
  min-height: 0;
  grid-template-rows: minmax(0, 1fr) auto;
  overflow: hidden;
}

.casual-detail-prompt .casual-player-names-form {
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.nassau-team-status button {
  min-height: 30px;
  margin-left: 6px;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 5px;
  background: #fff;
  color: var(--scorecard-theme-primary, #006747);
  font-size: .67rem;
  font-weight: 850;
  padding: 4px 9px;
}

.casual-detail-scroll {
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 2px 3px 8px 1px;
}

.casual-handicap-form select {
  font-size: .78rem;
  font-weight: 700;
}

.casual-scorecard-options {
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
}

.casual-scorecard-options button {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px;
  align-items: center;
  gap: 8px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 48%, #fff);
  border-radius: 6px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 6%, #fff);
  color: var(--scorecard-theme-primary, #006747);
  padding: 10px 12px;
  text-align: left;
}

.casual-scorecard-options button span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.casual-scorecard-options button strong {
  font-size: .86rem;
}

.casual-scorecard-options button small {
  overflow: hidden;
  color: #52675d;
  font-size: .7rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.casual-scorecard-options button i {
  font-size: 1.5rem;
  font-style: normal;
  line-height: 1;
  text-align: right;
}

.casual-scorecard-switch-list {
  min-width: 0;
  display: grid;
  grid-column: 1 / -1;
  gap: 8px;
}

.casual-scorecard-switch-list button {
  width: 100%;
  min-width: 0;
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 34%, #ffffff);
  border-radius: 7px;
  background: #ffffff;
  color: #173428;
  font: inherit;
  padding: 9px 10px;
  text-align: left;
}

.casual-scorecard-switch-list button > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.casual-scorecard-switch-list button strong,
.casual-scorecard-switch-list button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.casual-scorecard-switch-list button small {
  color: #52675d;
  font-size: .7rem;
}

.casual-scorecard-switch-list button b {
  border-radius: 999px;
  background: var(--scorecard-theme-primary, #006747);
  color: #ffffff;
  font-size: .65rem;
  padding: 6px 8px;
}

.casual-scorecard-switch-list button:disabled {
  opacity: .72;
}

.casual-round-options-button {
  align-self: center;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #006747;
  border-radius: 5px;
  background: #fff;
  color: #006747;
  font-weight: 800;
}

.casual-round-complete {
  display: grid;
  gap: 12px;
}

.casual-round-complete > p {
  margin: 0;
  color: #33483d;
  text-align: center;
}

.casual-round-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.casual-round-actions button {
  min-width: 0;
  min-height: 96px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 12px;
  border: 2px solid #006747;
  border-radius: 7px;
  background: #fff;
  color: #062b57;
  text-align: left;
}

.casual-round-actions button:nth-child(even) {
  border-color: #d8b43a;
}

.casual-round-actions strong {
  font-size: 0.98rem;
}

.casual-round-actions span,
.casual-round-complete-note,
.casual-member-feature p {
  font-size: 0.78rem;
  line-height: 1.35;
}

.casual-round-complete-note {
  padding-top: 2px;
  color: #5a665f !important;
}

.casual-round-email-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.casual-round-email-form label,
.casual-member-feature,
.casual-round-save-status {
  display: grid;
  gap: 5px;
}

.casual-round-email-form input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid #9aafa3;
  border-radius: 4px;
  font: inherit;
}

.casual-round-send-status,
.casual-round-save-status {
  grid-column: 1 / -1;
  margin: 2px 0;
  padding: 10px;
  border-left: 4px solid #d8b43a;
  background: #f4f7f4;
  color: #33483d;
  font-size: 0.8rem;
}

.casual-round-email-form .scorecard-modal-actions {
  grid-column: 1 / -1;
}

.casual-member-feature {
  padding: 14px;
  border: 2px solid #006747;
  border-radius: 7px;
  background: #fff;
}

.player-column-options {
  grid-column: 1 / -1;
  min-width: 0;
  display: grid;
  gap: 10px;
}

.player-column-member-summary {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 32%, #ffffff);
  border-radius: 10px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 5%, #ffffff);
}

.player-column-member-summary > strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.9rem;
}

.player-column-member-summary > span {
  color: #5b6d63;
  font-size: 0.7rem;
  font-weight: 750;
}

.player-column-profile-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin: 7px 0 0;
}

.player-column-profile-summary div {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px 6px;
  border: 1px solid rgba(0, 33, 71, 0.12);
  border-radius: 8px;
  background: #ffffff;
  text-align: center;
}

.player-column-profile-summary dt {
  color: #66766e;
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

.player-column-profile-summary dd {
  overflow: hidden;
  margin: 0;
  color: #102a43;
  font-size: 0.8rem;
  font-weight: 900;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.player-column-option-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

.score-picker-grid .player-column-option-actions > button,
.score-picker-grid .player-column-option-actions > a {
  width: 100%;
  min-height: 52px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  justify-items: start;
  gap: 2px;
  padding: 9px 16px;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 999px;
  color: #ffffff;
  background: var(--scorecard-theme-primary, #006747);
  font: inherit;
  text-align: left;
  text-decoration: none;
}

.score-picker-grid .player-column-option-actions > .secondary {
  color: var(--scorecard-theme-primary, #006747);
  background: #ffffff;
}

.player-column-option-actions strong {
  font-size: 0.82rem;
  line-height: 1.15;
}

.player-column-option-actions small {
  font-size: 0.64rem;
  font-weight: 750;
  line-height: 1.15;
  opacity: 0.78;
}

@media (max-width: 430px) {
  .player-column-profile-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .casual-round-actions,
  .casual-round-email-form {
    grid-template-columns: 1fr;
  }

  .casual-round-actions button {
    min-height: 72px;
  }
}

.casual-scorecard-stats-row {
  min-height: 54px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 48%, #fff);
  border-radius: 6px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 6%, #fff);
  color: var(--scorecard-theme-primary, #006747);
  padding: 8px 12px;
}

.casual-scorecard-stats-row > strong {
  font-size: .86rem;
}

.casual-scorecard-stats-row > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.casual-scorecard-stats-row label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #173f31;
  font-size: .78rem;
  font-weight: 800;
}

.casual-scorecard-stats-row input {
  width: 21px;
  height: 21px;
  margin: 0;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.casual-scorecard-stats-row input:disabled,
.casual-scorecard-stats-row input:disabled + span {
  cursor: not-allowed;
  opacity: .52;
}

@media (max-width: 520px) {
  .casual-setup-prompt.casual-game-prompt .score-picker {
    width: 100%;
    max-width: none;
    height: auto;
    max-height: calc(100dvh - 12px);
    border-radius: 8px;
    padding: 9px 10px;
  }

  .casual-game-prompt .score-picker h2 {
    font-size: 1rem;
  }

  .casual-game-prompt .score-picker p {
    font-size: .7rem;
    line-height: 1.15;
  }

  .casual-setup-prompt.casual-detail-prompt .score-picker {
    width: min(100%, 390px);
    max-width: 390px;
    height: calc(100dvh - 12px);
    max-height: calc(100dvh - 12px);
    border-radius: 8px;
    padding: 12px;
  }

  .casual-round-rail {
    gap: 5px;
  }

  .casual-round-rail button {
    padding-inline: 7px;
  }
}

/* scorecard-sticky-grid-header-85 */
.scorecard-grid-inner {
  border-top: 0;
}

.scorecard-grid-header {
  border-top: 2px solid var(--scorecard-theme-primary, #006747);
  box-shadow: 0 1px 0 rgba(11, 52, 37, 0.12);
}

#scorecardApp > .scorecard-grid {
  margin-top: -6px;
}

#scorecardApp > .scorecard-grid:first-child {
  margin-top: 0;
}

body.scorecard-page.scorecard-document-scroll .scorecard-grid {
  overflow: visible;
}

body.scorecard-page.scorecard-document-scroll .scorecard-grid[data-player-count="5"] .scorecard-grid-inner,
body.scorecard-page.scorecard-document-scroll .scorecard-grid[data-player-count="6"] .scorecard-grid-inner {
  min-width: 0;
}

body.scorecard-page.scorecard-document-scroll .scorecard-grid-header {
  top: 79px;
  z-index: 29;
}

/* scorecard-sharing-rail-87 */
.casual-round-rail > .casual-round-course {
  font-size: clamp(0.72rem, 3.2vw, 0.88rem);
  font-weight: 800;
}
/* scorecard-page-91 */
.scorecard-rules-sheet-view {
  /* The shared score picker has four number columns. A document must span
     all of them, including when opened after another scorecard dialog. */
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  color: #17221d;
  font-family: "Mona Sans", Arial, sans-serif;
  padding: 0.15rem 0.1rem 0.5rem;
}

.scorecard-rules-sheet-view pre {
  font: inherit;
  line-height: 1.45;
  margin: 0;
  white-space: pre-wrap;
}

.scorecard-rules-sheet-view .rules-sheet-document h1 {
  color: var(--scorecard-theme-primary, #17633f);
  font-size: 2rem;
  font-weight: 950;
  letter-spacing: -0.035em;
  line-height: 1;
  margin: 0 0 0.65rem;
  text-align: center;
}

.scorecard-rules-sheet-view .rules-sheet-event {
  font-size: 1.42rem;
  font-weight: 950;
  margin: 0;
  text-align: center;
}

.scorecard-rules-sheet-view .rules-sheet-round {
  color: #354a3f;
  font-size: 1.12rem;
  font-weight: 950;
  margin: 0.14rem 0 0;
  text-align: center;
}

.scorecard-rules-sheet-view .rules-sheet-stableford-summary {
  color: #253f75;
  display: grid;
  gap: 0.12rem;
  margin: 0.1rem 0 0.48rem;
}

.scorecard-rules-sheet-view .rules-sheet-stableford-summary strong {
  font-size: 0.92rem;
  font-weight: 950;
}

.scorecard-rules-sheet-view .rules-sheet-stableford-summary span {
  font-size: 0.82rem;
  line-height: 1.35;
}

.scorecard-rules-sheet-view .rules-sheet-format-divider {
  border-top: 1px solid #c7d1df;
  margin: 0.18rem 0 0.42rem;
}

.scorecard-rules-sheet-view .rules-sheet-format-points {
  color: #52635a;
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  margin-top: 0.16rem;
}

.scorecard-rules-sheet-view .rules-sheet-meta {
  color: #52635a;
  font-size: 0.86rem;
  font-weight: 700;
  margin: 0.18rem 0 1rem;
  text-align: center;
}

.scorecard-rules-sheet-view section {
  margin-top: 0.95rem;
}

.scorecard-rules-sheet-view section > h2 {
  border-bottom: 2px solid var(--scorecard-theme-primary, #17633f);
  color: var(--scorecard-theme-primary, #17633f);
  font-size: 1.08rem;
  font-weight: 950;
  margin: 0 0 0.42rem;
  padding-bottom: 0.18rem;
}

.scorecard-rules-sheet-view h3 {
  font-size: 0.88rem;
  font-weight: 950;
  margin: 0.2rem 0;
}

.scorecard-rules-sheet-view .rules-sheet-section-body {
  padding-left: 0.7rem;
}

.scorecard-rules-sheet-view ul {
  list-style-type: disc;
  margin: 0.28rem 0 0.55rem;
  padding-left: 1.1rem;
}

.scorecard-rules-sheet-view li {
  margin: 0.32rem 0;
}

.scorecard-rules-sheet-view .rules-sheet-note {
  font-size: 0.72rem;
  margin: 0.2rem 0 0.3rem;
}

.scorecard-rules-sheet-view .rules-sheet-prize-note,
.scorecard-rules-sheet-view .rules-sheet-governing {
  font-size: 0.74rem;
  font-weight: 800;
}

.scorecard-rules-sheet-view .rules-sheet-governing {
  border-top: 1px solid #cad4cf;
  margin: 1rem 0 0;
  padding-top: 0.65rem;
}

/* scorecard-mobile-mismatch-and-complete-92 */
body.scorecard-page {
  overflow-x: hidden;
}

/* handicap-center-member-identity-layout-106 */
.casual-setup-prompt.handicap-picker-prompt {
  padding: 4px 10px;
}

.casual-setup-prompt.handicap-picker-prompt .score-picker {
  height: auto;
  max-height: calc(100dvh - 8px);
}

.casual-setup-prompt.handicap-picker-prompt .score-picker-grid {
  min-height: 0;
  overflow: hidden;
}

.casual-detail-prompt.handicap-picker-prompt .casual-handicap-form {
  height: auto;
  max-height: calc(100dvh - 52px);
  grid-template-rows: minmax(0, auto) auto auto;
  align-content: start;
}

.handicap-picker-prompt .casual-handicap-player-list {
  min-height: 0;
  max-height: calc(100dvh - 108px);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.casual-handicap-form fieldset {
  --handicap-card-bg: #fff;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  position: relative;
  margin-top: 8px;
  background: var(--handicap-card-bg);
  padding: 11px 7px 6px;
}

.casual-handicap-form fieldset.handicap-known-member-card {
  --handicap-card-bg: color-mix(in srgb, var(--scorecard-theme-accent, #e2ba2f) 82%, #fff);
  min-height: 68px;
  align-content: center;
  justify-items: center;
  gap: 2px;
  margin-top: 4px;
  border: 2px solid color-mix(in srgb, var(--scorecard-theme-accent, #e2ba2f) 76%, #735b13);
  background: var(--handicap-card-bg);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .26), 0 2px 6px rgba(18, 52, 42, .12);
  padding: 5px 8px 6px;
  text-align: center;
}

.handicap-known-member-card > strong {
  max-width: 100%;
  overflow: hidden;
  color: var(--scorecard-theme-primary, #006747);
  font-size: 1.22rem;
  font-weight: 900;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.handicap-known-member-index {
  color: #173428;
  font-size: 2.15rem;
  font-weight: 900;
  line-height: 1;
}

.scorecard-handicap-form fieldset {
  --handicap-card-bg: var(--scorecard-theme-soft, #f7faf8);
}

.casual-detail-prompt .casual-handicap-form {
  grid-template-rows: minmax(0, 1fr) auto auto;
}

.casual-handicap-player-list {
  gap: 5px;
}

.handicap-player-card-header {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  gap: 0;
  text-align: center;
}

.handicap-player-card-header > strong {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  max-width: calc(100% - 24px);
  min-width: 0;
  color: var(--scorecard-theme-primary, #006747);
  width: auto;
  transform: translate(-50%, -50%);
  background: var(--handicap-card-bg, #fff);
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.05;
  overflow: hidden;
  padding: 0 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.handicap-name-choices {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #173428;
  font-size: .67rem;
  font-weight: 800;
  white-space: nowrap;
}

.handicap-name-choices > span {
  font-size: .9rem;
  font-weight: 950;
}

.handicap-name-choices label,
.casual-handicap-form .handicap-entry-choice {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-self: start;
  gap: 3px;
  margin: 0;
  color: #173428;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.casual-handicap-form .handicap-name-choices input[type="checkbox"],
.casual-handicap-form .handicap-entry-choice input[type="checkbox"] {
  width: 14px;
  min-width: 14px;
  height: 14px;
  min-height: 14px;
  margin: 0;
  padding: 0;
  accent-color: var(--scorecard-theme-primary, #006747);
}

.handicap-entry-main {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(118px, 42%) minmax(8px, 1fr) 70px 76px;
  grid-template-rows: repeat(3, 34px);
  align-items: center;
  gap: 2px 5px;
}

.casual-handicap-form .handicap-entry-choice {
  color: #173428;
  font-size: .67rem;
  font-weight: 850;
  white-space: nowrap;
}

.handicap-index-choice {
  grid-column: 1;
  grid-row: 1;
  padding-left: 8px;
}

.handicap-course-choice {
  grid-column: 1;
  grid-row: 2;
  padding-left: 8px;
}

.handicap-value-control {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  min-width: 0;
  display: grid;
  justify-items: center;
  gap: 0;
}

.casual-handicap-form .handicap-value-input {
  box-sizing: border-box;
  min-width: 66px;
  width: 66px;
  height: 38px;
  min-height: 38px;
  border: 1px solid #8fa79c;
  border-radius: 4px;
  background: #fff;
  color: #173428;
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1;
  padding: 2px;
  text-align: center;
}

.casual-setup-prompt .casual-handicap-form .handicap-player-save {
  grid-column: 4;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: end;
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  width: 76px;
  min-width: 76px;
  max-width: 76px;
  height: 36px;
  min-height: 36px;
  max-height: 36px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.casual-setup-prompt .casual-handicap-form .handicap-player-save [data-handicap-save-label] {
  box-sizing: border-box;
  width: 72px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 3px;
  background: var(--scorecard-theme-primary, #006747);
  color: #fff;
  font-size: .72rem;
  font-weight: 650;
  line-height: 1;
  overflow: hidden;
  padding: 0 3px;
  white-space: nowrap;
}

.casual-setup-prompt .casual-handicap-form .handicap-player-save:disabled [data-handicap-save-label] {
  border-color: #aebbb5;
  background: #e7ece9;
  color: #68766f;
}

.handicap-ghin-row {
  grid-column: 1 / -1;
  grid-row: 3;
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(76px, 88px) minmax(90px, 150px);
  justify-content: center;
  align-items: center;
  gap: 5px;
  position: relative;
  box-sizing: border-box;
  min-height: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
  padding: 1px 10px;
}

.handicap-ghin-row::before {
  content: '';
  position: absolute;
  z-index: 0;
  inset: 0 -7px -6px;
  border-radius: 0 0 5px 5px;
  background: #fff4bf;
}

.handicap-ghin-row > * {
  position: relative;
  z-index: 1;
}

.handicap-ghin-input-control {
  min-width: 0;
  display: block;
}

.casual-handicap-form .handicap-ghin-input {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 25px;
  min-height: 25px;
  border: 1px solid #8fa79c;
  border-radius: 4px;
  background: #fff;
  color: #173428;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 3px 4px;
  text-align: center;
}

.handicap-picker-prompt .scorecard-modal-actions {
  width: 100%;
  grid-template-columns: minmax(112px, 160px);
  justify-content: center;
  padding-top: 2px;
  box-shadow: none;
}

.handicap-exit-warning {
  display: grid;
  gap: 8px;
  color: #173428;
  text-align: center;
}

.handicap-exit-warning p {
  margin: 0;
}

.scoodle-number-invite-form {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.scoodle-number-invite-summary {
  display: grid;
  justify-items: center;
  gap: 3px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 25%, #fff);
  border-radius: 7px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 5%, #fff);
  padding: 10px;
  text-align: center;
}

.scoodle-number-invite-summary strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 1.1rem;
}

.scoodle-number-invite-summary .scorecard-claim-number {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: .04em;
}

.scoodle-number-invite-summary span,
.scoodle-number-invite-form p,
.scoodle-number-invite-form small {
  margin: 0;
  color: #52675d;
  font-size: .7rem;
  line-height: 1.25;
  text-align: center;
}

.scoodle-number-invite-form > label {
  display: grid;
  gap: 4px;
  color: #173428;
  font-size: .72rem;
  font-weight: 850;
}

.scoodle-number-invite-form > label input {
  min-height: 42px;
  font-size: 1rem;
  text-align: center;
}

.handicap-ghin-official {
  min-width: 0;
  color: #627168;
  font-size: .61rem;
  font-weight: 750;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.handicap-ghin-official.is-verified {
  color: var(--scorecard-theme-primary, #006747);
  font-weight: 900;
}

.handicap-all-saved {
  min-height: 20px;
  display: grid;
  place-items: center;
  color: var(--scorecard-theme-primary, #006747);
  font-size: .82rem;
  font-weight: 900;
}

.handicap-all-saved:empty {
  display: none;
}

/* casual-player-grid-105 */
.casual-player-names-form [data-casual-player-list] {
  gap: 0;
  overflow-x: hidden;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 28%, #fff);
  border-radius: 7px;
  padding: 0;
}

.casual-player-grid-header,
.casual-player-names-form [data-casual-player-row] {
  min-width: 0;
  display: grid;
  grid-template-columns: 22px 66px minmax(0, 1fr) 82px;
  align-items: center;
  gap: 4px;
}

.casual-player-grid-header {
  position: sticky;
  z-index: 2;
  top: 0;
  min-height: 32px;
  padding: 5px 6px;
  border-bottom: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 34%, #fff);
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 8%, #fff);
  color: var(--scorecard-theme-primary, #006747);
  font-size: .66rem;
  font-weight: 900;
  line-height: 1.05;
}

.casual-player-grid-header span:first-child,
.casual-player-grid-header span:nth-child(2),
.casual-player-grid-header span:last-child {
  text-align: center;
}

.casual-player-grid-header span:last-child {
  line-height: 1.05;
}

.casual-player-names-form [data-casual-player-row] {
  min-height: 48px;
  padding: 6px;
  border-top: 1px solid #d9e1dd;
}

.casual-player-grid-header + [data-casual-player-row] {
  border-top: 0;
}

.casual-player-position {
  color: #52675d;
  font-size: .72rem;
  font-weight: 850;
  text-align: center;
}

.casual-player-scoodle-cell,
.casual-player-name-cell,
.casual-player-claim-cell {
  min-width: 0;
}

.casual-player-claim-cell {
  display: grid;
  place-items: center;
}

.casual-player-claim-cell button {
  width: 100%;
  min-width: 0;
  min-height: 34px;
  padding: 5px 4px;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 5px;
  color: #ffffff;
  background: var(--scorecard-theme-primary, #006747);
  font: inherit;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
}

.casual-player-claim-linked {
  color: var(--scorecard-theme-primary, #006747);
  font-size: .65rem;
  font-weight: 900;
  text-align: center;
}

.casual-player-names-form .casual-player-grid-row input {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  border-radius: 4px;
  font-size: .77rem;
  padding: 6px 7px;
}

.casual-player-scoodle-input {
  color: var(--scorecard-theme-primary, #006747);
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
}

.casual-player-known-number,
.casual-player-known-name {
  min-width: 0;
  display: block;
  overflow: hidden;
  color: #173428;
  font-size: .8rem;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.casual-player-known-number {
  color: var(--scorecard-theme-primary, #006747);
  font-size: .75rem;
  font-weight: 900;
  text-align: center;
}

.casual-player-known-name {
  font-weight: 750;
}

.casual-player-names-form [data-casual-player-member-verification],
.casual-player-names-form [data-casual-player-member-results] {
  grid-column: 2 / -1;
}

.casual-player-names-form [data-casual-player-member-verification] {
  color: var(--scorecard-theme-primary, #006747);
  font-size: .67rem;
  font-weight: 850;
}

.casual-player-names-form [data-casual-player-member-verification][hidden],
.casual-player-names-form [data-casual-player-member-results][hidden] {
  display: none;
}

.casual-player-names-form [data-casual-player-member-results] {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.casual-player-names-form [data-casual-player-member-results] > small {
  color: #52675d;
  font-size: .65rem;
  font-weight: 700;
}

.casual-player-names-form [data-casual-player-member-results] button {
  min-width: 0;
  min-height: 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 42%, #fff);
  border-radius: 5px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 6%, #fff);
  color: #173428;
  padding: 5px 7px;
  text-align: left;
}

.casual-player-names-form [data-casual-player-member-results] button strong,
.casual-player-names-form [data-casual-player-member-results] button span {
  min-width: 0;
  font-size: .66rem;
  line-height: 1.15;
}

.casual-player-names-form [data-casual-player-member-results] button span {
  color: var(--scorecard-theme-primary, #006747);
  font-weight: 850;
  white-space: nowrap;
}

@media (max-width: 390px) {
  .casual-player-grid-header,
  .casual-player-names-form [data-casual-player-row] {
    grid-template-columns: 18px 58px minmax(0, 1fr) 74px;
    gap: 3px;
  }

  .casual-player-grid-header,
  .casual-player-names-form [data-casual-player-row] {
    padding-inline: 4px;
  }
}

@media (max-width: 390px) {
  .handicap-player-card-header {
    min-height: 21px;
  }

  .handicap-player-card-header > strong {
    font-size: .93rem;
  }

  .handicap-name-choices {
    gap: 7px;
    font-size: .63rem;
  }

  .handicap-entry-main {
    grid-template-columns: minmax(112px, 42%) minmax(6px, 1fr) 66px 74px;
    gap: 2px 4px;
  }

  .casual-handicap-form .handicap-entry-choice {
    font-size: .63rem;
  }

  .casual-handicap-form .handicap-value-input {
    width: 64px;
    min-width: 64px;
  }

  .handicap-ghin-row {
    grid-template-columns: auto 76px minmax(82px, 138px);
    gap: 4px;
  }
}

body.scorecard-page .mobile-app,
body.scorecard-page .mobile-content,
body.scorecard-page #scorecardApp,
body.scorecard-page .score-picker,
body.scorecard-page .score-picker-grid,
body.scorecard-page .mismatch-review,
body.scorecard-page .mismatch-review-section {
  min-width: 0;
  max-width: 100%;
}

body.scorecard-page .scorecard-issue-rail {
  max-width: 100%;
  align-items: flex-start;
}

body.scorecard-page .scorecard-issue-markers {
  flex: 1 1 0;
  flex-wrap: wrap;
  overflow: visible;
}

body.scorecard-page .mismatch-review,
body.scorecard-page .mismatch-review-section,
body.scorecard-page .mismatch-comparison-table,
body.scorecard-page .mismatch-score-group,
body.scorecard-page .mismatch-stats-group,
body.scorecard-page .mismatch-stat-table,
body.scorecard-page .mismatch-score-outline {
  width: 100%;
  overflow-wrap: anywhere;
}

body.scorecard-page .mismatch-context {
  flex-wrap: wrap;
  align-items: flex-start;
}

body.scorecard-page .mismatch-context strong,
body.scorecard-page .mismatch-context small,
body.scorecard-page .mismatch-score-line span,
body.scorecard-page .mismatch-review-section > header small {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}

body.scorecard-page .mismatch-score-line {
  grid-template-columns: minmax(0, 1fr) minmax(38px, 52px);
}

body.scorecard-page .mismatch-resolution-actions {
  grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
}

body.scorecard-page .casual-round-actions {
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}

body.scorecard-page .casual-round-option {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--scorecard-theme-line, #b9cbc0);
  border-radius: 8px;
  background: #ffffff;
}

body.scorecard-page .casual-round-choice {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  color: var(--scorecard-theme-ink, #062b57);
}

body.scorecard-page .casual-round-choice > input {
  width: 21px;
  height: 21px;
  margin: 1px 0 0;
  accent-color: var(--scorecard-theme-primary, #006747);
}

body.scorecard-page .casual-round-choice > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body.scorecard-page .casual-round-choice strong {
  font-size: 0.94rem;
  line-height: 1.15;
}

body.scorecard-page .casual-round-choice small {
  color: #53645a;
  font-size: 0.72rem;
  line-height: 1.25;
}

body.scorecard-page .casual-round-email-target {
  min-width: 0;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding-left: 33px;
  color: #33483d;
  font-size: 0.72rem;
  font-weight: 800;
}

body.scorecard-page .casual-round-email-target input {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 7px 9px;
  border: 1px solid #9aafa3;
  border-radius: 5px;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 650;
}

body.scorecard-page .casual-round-complete > .scorecard-modal-actions {
  grid-column: 1 / -1;
}

@media (max-width: 390px) {
  body.scorecard-page .casual-round-email-target {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }
}

/* scorecard-status-and-certified-frame-119 */
body.scorecard-page .scorecard-grid-row.next-score-hole {
  position: relative;
  z-index: 1;
  color: #101010;
  background: #ffeb00 !important;
}

body.scorecard-page .scorecard-grid-row.next-score-hole > * {
  color: #101010;
  background: #ffeb00 !important;
  border-bottom-color: #cbd8d0;
  box-shadow: none;
}

body.scorecard-page .scorecard-grid-row.next-score-hole > .hole-stat:first-child {
  color: #101010;
  background: #ffeb00 !important;
  box-shadow: none;
}

body.scorecard-page .scorecard-grid.scoring-complete .scorecard-grid-inner {
  color: #101010;
  background: #dff2e4;
}

body.scorecard-page .scorecard-grid.scoring-complete .scorecard-grid-header,
body.scorecard-page .scorecard-grid.scoring-complete .scorecard-grid-row,
body.scorecard-page .scorecard-grid.scoring-complete .scorecard-attestation-panel,
body.scorecard-page .scorecard-grid.scoring-complete .scorecard-grid-header > *,
body.scorecard-page .scorecard-grid.scoring-complete .scorecard-grid-row > * {
  color: #101010;
  background: #dff2e4 !important;
  border-color: #bfdcc6;
}

body.scorecard-page .scorecard-format-tabs button.course-format-pill {
  min-width: 92px;
  display: grid;
  grid-template-rows: auto auto;
  gap: 2px;
  border: 3px solid var(--scorecard-theme-primary, #006747);
  background: #ffffff;
  box-shadow: none;
}

body.scorecard-page .scorecard-format-tabs button.course-format-pill strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1;
}

body.scorecard-page .scorecard-format-tabs button.course-format-pill small {
  max-width: 100%;
  color: var(--scorecard-theme-ink, #102f25);
  font-size: 0.54rem;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

body.scorecard-page .scorecard-status-panel {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px 10px;
  padding: 12px 14px;
  border: 3px solid var(--scorecard-theme-primary, #006747);
  border-radius: 12px;
  background: #ffffff;
}

body.scorecard-page .scorecard-status-panel .scorecard-status-label {
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
  color: var(--scorecard-theme-primary, #006747);
  font-size: clamp(1.14rem, 5vw, 1.55rem);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1;
}

body.scorecard-page .scorecard-status-panel .scorecard-status-detail {
  min-width: 0;
  grid-column: 1 / -1;
  grid-row: 2;
  color: var(--scorecard-theme-ink, #102f25);
  font-size: clamp(0.78rem, 3vw, 0.92rem);
  font-weight: 650;
  line-height: 1.2;
}

body.scorecard-page .scorecard-status-panel > .casual-attest-finalize-button,
body.scorecard-page .scorecard-status-panel > .casual-round-options-button {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  min-height: 38px;
  margin: 0;
}

body.scorecard-page .scorecard-status-panel.status-live {
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 6%, #ffffff);
}

body.scorecard-page .scorecard-status-panel.status-round-complete {
  border-color: var(--scorecard-theme-secondary, #b22234);
  background: color-mix(in srgb, var(--scorecard-theme-secondary, #b22234) 8%, #ffffff);
}

body.scorecard-page .scorecard-status-panel.status-round-complete .scorecard-status-label {
  color: var(--scorecard-theme-secondary, #b22234);
}

body.scorecard-page .scorecard-status-panel.status-not-certified {
  border-color: #23804f;
  background: #dff2e4;
}

body.scorecard-page .scorecard-status-panel.status-not-certified .scorecard-status-label {
  color: #17633f;
}

body.scorecard-page .scorecard-status-panel.status-certified {
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 11%, #ffffff);
}

body.scorecard-page .scorecard-course-details {
  grid-column: 1 / -1;
  min-width: 0;
  width: 100%;
  display: grid;
  gap: 12px;
}

body.scorecard-page .scorecard-course-details > header,
body.scorecard-page .scorecard-course-tee-list {
  display: grid;
  gap: 4px;
}

body.scorecard-page .scorecard-course-details > header > strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 1.1rem;
}

body.scorecard-page .scorecard-course-details > header > small,
body.scorecard-page .scorecard-course-tee-row small {
  color: #52675d;
  font-size: 0.72rem;
}

body.scorecard-page .scorecard-course-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

body.scorecard-page .scorecard-course-facts > span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid var(--scorecard-theme-line, #bdd9cf);
  border-radius: 8px;
  background: var(--scorecard-theme-soft, #edf7f3);
  text-align: center;
}

body.scorecard-page .scorecard-course-facts small {
  color: #53645a;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
}

body.scorecard-page .scorecard-course-facts strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 1rem;
}

body.scorecard-page .scorecard-course-tee-list > strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.8rem;
}

body.scorecard-page .scorecard-course-tee-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 9px;
  padding: 8px 0;
  border-top: 1px solid var(--scorecard-theme-line, #bdd9cf);
}

body.scorecard-page .scorecard-course-tee-row strong {
  min-width: 0;
  color: var(--scorecard-theme-ink, #102f25);
  font-size: 0.88rem;
}

body.scorecard-page .scorecard-course-tee-row span {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.82rem;
  font-weight: 800;
}

body.scorecard-page .scorecard-course-tee-row small {
  grid-column: 1 / -1;
}

html.scorecard-certified-document {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

body.scorecard-page.scorecard-certified {
  position: static;
  inset: auto;
  height: auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: visible;
}

body.scorecard-page.scorecard-certified .mobile-shell {
  height: auto;
  min-height: 0;
  overflow: visible;
  border: 12px solid var(--scorecard-theme-primary, #006747);
}

body.scorecard-page.scorecard-certified .scorecard-content {
  flex: 0 0 auto;
  min-height: 0;
  grid-template-rows: auto auto;
  overflow: visible;
}

body.scorecard-page.scorecard-certified #scorecardApp,
body.scorecard-page.scorecard-certified .scorecard-grid {
  flex: 0 0 auto;
  min-height: 0;
  overflow: visible;
}

body.scorecard-page.scorecard-certified .scorecard-grid {
  padding-bottom: 0;
}

body.scorecard-page.scorecard-certified .scorecard-attestation-panel {
  margin-bottom: 0;
}

@media (max-width: 390px) {
  body.scorecard-page .scorecard-status-panel {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body.scorecard-page .scorecard-status-panel > .casual-attest-finalize-button,
  body.scorecard-page .scorecard-status-panel > .casual-round-options-button {
    width: auto;
  }
}

/* scorecard-course-details-and-sharing-121 */
/* The course now lives in the header; the sharing-code row stays compact and readable. */
body.scorecard-page .casual-round-rail {
  grid-template-areas: "status options";
  row-gap: 0;
}

body.scorecard-page .casual-round-status-line {
  align-items: center;
}

body.scorecard-page .casual-round-status-line button.casual-round-sharing {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-size: clamp(0.67rem, 2.8vw, 0.84rem);
  text-decoration: none;
}

body.scorecard-page .casual-round-sharing > span {
  color: #52675d;
  font-size: 0.76em;
  font-weight: 800;
}

body.scorecard-page .casual-round-sharing > strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 1em;
  font-weight: 950;
  letter-spacing: 0.025em;
}

body.scorecard-page .scorecard-course-information,
body.scorecard-page .scorecard-course-tee-list {
  display: grid;
  gap: 7px;
}

body.scorecard-page .scorecard-course-information > strong,
body.scorecard-page .scorecard-course-tee-list > strong {
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.82rem;
  font-weight: 900;
}

body.scorecard-page .scorecard-course-information-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

body.scorecard-page .scorecard-course-information-grid > span,
body.scorecard-page .scorecard-course-information-grid > a {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid var(--scorecard-theme-line, #bdd9cf);
  border-radius: 8px;
  background: #ffffff;
}

body.scorecard-page .scorecard-course-information-grid small {
  color: #53645a;
  font-size: 0.6rem;
  font-weight: 800;
  text-transform: uppercase;
}

body.scorecard-page .scorecard-course-information-grid strong,
body.scorecard-page .scorecard-course-information-grid > a {
  color: var(--scorecard-theme-ink, #102f25);
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

body.scorecard-page .scorecard-course-information-grid > a {
  color: var(--scorecard-theme-primary, #006747);
  grid-column: 1 / -1;
  text-decoration: none;
}

body.scorecard-page .scorecard-course-tee-table {
  overflow: hidden;
  border: 1px solid var(--scorecard-theme-line, #bdd9cf);
  border-radius: 8px;
}

body.scorecard-page .scorecard-course-tee-data-head,
body.scorecard-page .scorecard-course-tee-data-row {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(3.8rem, 0.9fr) minmax(3.1rem, 0.7fr) minmax(2.9rem, 0.65fr);
  align-items: center;
  gap: 4px;
  padding: 7px 8px;
}

body.scorecard-page .scorecard-course-tee-data-head {
  color: #53645a;
  background: var(--scorecard-theme-soft, #edf7f3);
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

body.scorecard-page .scorecard-course-tee-data-row {
  border-top: 1px solid var(--scorecard-theme-line, #bdd9cf);
  color: var(--scorecard-theme-ink, #102f25);
  font-size: 0.72rem;
  font-weight: 750;
}

body.scorecard-page .scorecard-course-tee-data-row strong {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: var(--scorecard-theme-primary, #006747);
  font-size: 0.78rem;
  overflow: hidden;
}

body.scorecard-page .scorecard-course-tee-data-row strong > small {
  color: #66766e;
  font-size: 0.58rem;
  font-weight: 800;
}

/* certified-card-tee-correction-122 */
body.scorecard-page .casual-certified-card-fix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--scorecard-theme-primary, #006747) 35%, #ffffff);
  border-radius: 8px;
  background: color-mix(in srgb, var(--scorecard-theme-primary, #006747) 6%, #ffffff);
}

body.scorecard-page .casual-certified-card-fix > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}

body.scorecard-page .casual-certified-card-fix strong {
  color: var(--scorecard-theme-ink, #102f25);
  font-size: 0.82rem;
}

body.scorecard-page .casual-certified-card-fix small {
  color: #52675d;
  font-size: 0.68rem;
  line-height: 1.25;
}

body.scorecard-page .casual-certified-card-fix button {
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid var(--scorecard-theme-primary, #006747);
  border-radius: 6px;
  background: #ffffff;
  color: var(--scorecard-theme-primary, #006747);
  font: inherit;
  font-size: 0.76rem;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 390px) {
  body.scorecard-page .casual-certified-card-fix {
    grid-template-columns: 1fr;
  }

  body.scorecard-page .casual-certified-card-fix button {
    width: 100%;
  }
}
