.approved-member {
  --member-header-height: calc(var(--device-safe-area-top, env(safe-area-inset-top, 0px)) + 16.8rem);
  --member-ink: #10231b;
  --member-muted: #687d87;
  --member-green: var(--club-green, #226f54);
  --member-line: #dce5e6;
  position: relative;
  min-height: 100%;
  color: var(--member-ink);
  background: #fff;
}

.approved-member :is(button, input) { font: inherit; }
.approved-member button:focus-visible,
.approved-member input:focus-visible,
.approved-member-sheet button:focus-visible,
.approved-member-sheet input:focus-visible { outline: 2px solid var(--member-green, #226f54); outline-offset: 2px; }
.approved-member .member-fixed { position: absolute; inset: 0 0 auto; z-index: 6; height: var(--member-header-height); padding: var(--device-safe-area-top, env(safe-area-inset-top, 0px)) 1.25rem .75rem; background: #fff; }
.approved-member .member-toolbar { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 3.8rem; align-items: center; min-height: 2.75rem; margin-inline: -.5rem; }
.approved-member .member-toolbar > button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; color: inherit; }
.approved-member .member-toolbar > button svg { width: 1.55rem; height: 1.55rem; }
.approved-member .member-toolbar h1 { margin: 0; text-align: center; font-size: 1.16rem; letter-spacing: -.025em; }
.approved-member .member-staging-label { justify-self: end; padding: .24rem .38rem; border-radius: .35rem; background: #fff2e9; color: #ae4709; font-size: .55rem; font-weight: 800; letter-spacing: .08em; }
.approved-member .member-identity { display: flex; align-items: center; justify-content: center; gap: .8rem; min-height: 6.1rem; margin-top: .25rem; }
.approved-member .member-avatar,
.approved-member-sheet .account-avatar { display: grid; width: 3.8rem; height: 3.8rem; flex: 0 0 3.8rem; place-items: center; border-radius: 50%; background: #e8f5dd; color: #113825; font-size: 1.2rem; font-weight: 750; }
.approved-member .member-identity h2 { margin: 0; font-size: 1.26rem; line-height: 1.15; letter-spacing: -.035em; }
.approved-member .member-identity p { margin: .28rem 0 0; color: #4f625a; font-size: .82rem; }
.approved-member .member-identity p strong { color: #304e42; font-size: .91rem; }
.approved-member .member-identity p span { margin-left: .3rem; }
.approved-member .member-identity small { display: block; margin-top: .2rem; color: #718088; font-size: .69rem; }
.approved-member .member-shortcuts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: .8rem; }
.approved-member .member-shortcuts button { position: relative; display: flex; min-width: 0; min-height: 4.9rem; flex-direction: column; align-items: center; justify-content: center; gap: .42rem; padding: .2rem; border: 0; background: transparent; color: var(--member-ink); font-size: .73rem; }
.approved-member .member-shortcuts button:not(:first-child)::before { position: absolute; top: .35rem; bottom: .35rem; left: 0; width: 1px; background: #d6dfe1; content: ""; }
.approved-member .member-shortcuts svg { width: 1.55rem; height: 1.55rem; }
.approved-member .member-shortcuts button[aria-current="page"] { color: var(--member-green); }
.approved-member .member-scroll-region { position: absolute; inset: var(--member-header-height) 0 calc(4rem + var(--golf-bottom-inset, 0px)); overflow: auto; border-top: 1px solid transparent; }
.approved-member .member-content { padding: .7rem 1.25rem 2rem; }
.approved-member .member-section-heading { margin: .25rem 0 1.05rem; }
.approved-member .member-section-heading h2 { margin: 0; font-size: 1.35rem; letter-spacing: -.04em; }
.approved-member .member-section-heading p { margin: .3rem 0 0; color: var(--member-muted); font-size: .84rem; }
.approved-member .member-row { display: grid; grid-template-columns: 3.1rem minmax(0, 1fr) 1rem; align-items: center; gap: .75rem; width: 100%; min-height: 5.4rem; padding: .75rem .05rem; border: 0; border-bottom: 1px solid var(--member-line); background: transparent; color: inherit; text-align: left; }
.approved-member .member-row > svg:first-child { justify-self: center; width: 1.7rem; height: 1.7rem; color: #173c31; }
.approved-member .member-row > svg:last-child { width: 1rem; height: 1rem; color: #526d74; }
.approved-member .member-row strong,
.approved-member .member-row small { display: block; }
.approved-member .member-row strong { font-size: .97rem; letter-spacing: -.02em; }
.approved-member .member-row small { margin-top: .22rem; color: var(--member-muted); font-size: .76rem; line-height: 1.4; }
.approved-member .member-row-icon { display: grid; width: 1.85rem; height: 1.85rem; justify-self: center; place-items: center; border-radius: 50%; background: #e8f5dd; color: #173c31; font-size: .75rem; font-weight: 800; }

.approved-member .putts-choice-overlay { position: absolute; inset: 0; z-index: 40; background: rgb(0 0 0 / 24%); }
.approved-member .putts-choice-dialog { position: absolute; top: 50%; left: 50%; width: min(20rem, calc(100% - 3.5rem)); padding: 1.25rem .75rem .75rem; transform: translate(-50%, -50%); border: 1px solid rgb(255 255 255 / 65%); border-radius: 2rem; background: rgb(248 249 246 / 96%); box-shadow: 0 .35rem 1.4rem rgb(0 0 0 / 7%); }
.approved-member .putts-choice-title { margin: 0 .5rem; font-size: 1.0625rem; }
.approved-member .putts-choice-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-top: 1rem; }
.approved-member .putts-choice-actions button { min-height: 3rem; padding: .6rem .4rem; border: 0; border-radius: 999px; background: #e6e9e5; color: var(--member-ink); font-size: .875rem; font-weight: 600; }
.approved-member .putts-choice-actions button:last-child { color: var(--member-green); }
.approved-member-sheet { --member-green: var(--club-green, #226f54); --account-line: #dce5e6; --account-muted: #687d87; color: #10231b; background: #fff; }
.approved-member-sheet .sheet-header { text-align: center; }
.approved-member-sheet .sheet-header h2 { margin: 0; font-size: 1rem; }
.approved-member-sheet .sheet-header p { margin: .2rem 0 0; color: #687d87; font-size: .72rem; }
.approved-member-sheet .golf-sheet,
.approved-member-sheet .connection-flow { position: relative; padding: 1rem; }
.approved-member-sheet .account-action-bar { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; margin-bottom: .7rem; border-bottom: 1px solid var(--account-line); }
.approved-member-sheet .account-action-bar button { min-height: 2.75rem; padding: 0 .15rem; border: 0; background: transparent; color: inherit; }
.approved-member-sheet .account-action-bar .account-save-action { color: var(--member-green); font-weight: 750; }
.approved-member-sheet .account-profile-identity { display: grid; justify-items: center; gap: .35rem; padding: .25rem 0 1.2rem; }
.approved-member-sheet .account-profile-identity small,
.approved-member-sheet .account-labelled-field > span,
.approved-member-sheet .account-field-group legend { color: var(--account-muted); font-size: .72rem; }
.approved-member-sheet .account-field-group { margin: 0 0 1rem; padding: 0; border: 0; }
.approved-member-sheet .account-field-group legend { margin-bottom: .4rem; }
.approved-member-sheet .account-field-group label,
.approved-member-sheet .account-labelled-field { display: grid; gap: .4rem; }
.approved-member-sheet input { width: 100%; min-height: 3rem; box-sizing: border-box; padding: .7rem .82rem; border: 1px solid var(--account-line); border-radius: .72rem; background: #fff; color: inherit; }
.approved-member-sheet .account-field-group label:first-of-type input { border-radius: .72rem .72rem 0 0; border-bottom: 0; }
.approved-member-sheet .account-field-group label:last-of-type input { border-radius: 0 0 .72rem .72rem; }
.approved-member-sheet .account-field-error,
.approved-member-sheet .account-form-error { color: #b42318; font-size: .7rem; }
.approved-member-sheet .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.approved-member-sheet .connection-top-close { position: absolute; z-index: 1; top: .8rem; right: 1rem; display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 0; border-radius: 50%; background: #f1f5f1; }
.approved-member-sheet .connection-top-close svg { width: 1rem; height: 1rem; }
.approved-member-sheet .connection-centred-identity { display: grid; justify-items: center; gap: .5rem; padding: .3rem 3rem 1rem; }
.approved-member-sheet .connection-club-mark { display: grid; width: 4rem; height: 4rem; place-items: center; overflow: hidden; border-radius: 1rem; background: #c75b12; color: #fff; font-weight: 800; }
.approved-member-sheet .connection-club-mark img { width: 84%; height: 84%; object-fit: contain; filter: brightness(0) invert(1); }
.approved-member-sheet .connection-simple-state { display: grid; min-height: 15.5rem; align-content: start; text-align: center; }
.approved-member-sheet .connection-simple-state h3 { max-width: 20rem; margin: 0 auto; font-size: 1.08rem; line-height: 1.35; }
.approved-member-sheet .install-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .3rem; margin-top: 1rem; padding: .25rem; border-radius: .8rem; background: #f1f5f1; }
.approved-member-sheet .install-tabs button { min-height: 2.75rem; border: 0; border-radius: .62rem; background: transparent; color: #53675f; font-weight: 700; }
.approved-member-sheet .install-tabs button[aria-pressed="true"] { background: #fff; color: var(--member-green); box-shadow: 0 1px 3px rgb(16 35 27 / 12%); }
.approved-member-sheet .install-final-instruction { margin-top: 1rem; padding: .85rem; border-radius: .75rem; background: #f1f5f1; }
.approved-member-sheet .install-final-instruction p { margin: .3rem 0 0; color: #687d87; font-size: .78rem; }
.approved-member-sheet .connection-primary-action { align-self: end; width: 100%; min-height: 3rem; margin-top: auto; padding: .7rem 1rem; border: 0; border-radius: .75rem; background: var(--member-green); color: #fff; font-weight: 750; }

@media (max-width: 350px) {
  .approved-member .member-fixed,
  .approved-member .member-content { padding-inline: 1rem; }
  .approved-member .member-shortcuts button { font-size: .66rem; }
  .approved-member .member-row { grid-template-columns: 2.7rem minmax(0, 1fr) .8rem; gap: .55rem; }
}

@media (prefers-reduced-motion: reduce) {
  .approved-member *,
  .approved-member-sheet * { transition: none !important; }
}
.approved-member .member-show-more { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; min-height:5rem; padding:.8rem 0; border:0; background:transparent; color:inherit; text-align:left; }
.approved-member .member-show-more span { min-width:0; }
.approved-member .member-show-more strong { display:block; font-size:.98rem; }
.approved-member .member-show-more small { display:block; margin-top:.25rem; color:var(--member-muted); font-size:.77rem; }
.approved-member .member-show-more > svg { width:1rem; height:1rem; }
.approved-member .golf-bottom-nav { position:absolute; inset:auto 0 0; z-index:12; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:.55rem .7rem calc(.45rem + var(--golf-bottom-inset,env(safe-area-inset-bottom,0px))); background:#fff; border-top:1px solid var(--member-line); }
.approved-member .golf-bottom-nav button { min-height:3rem; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.27rem; border:0; padding:.1rem; background:transparent; color:#65776a; font-size:.875rem; font-weight:600; }
.approved-member .golf-bottom-nav button[aria-current] { color:#173f27; }
.approved-member .golf-bottom-nav svg { width:1.45rem; height:1.45rem; }

.approved-member .member-badge-acknowledgement { margin:1rem 0; padding:.8rem 1rem; border-radius:.8rem; background:#eef7e9; color:#315b3f; font-size:.85rem; line-height:1.45; }

/* A year introduces the rounds below it. Padding survives the shared heading reset. */
.approved-golf.golf-app .member-round-year {
  display:block;
  margin:0;
  padding:1.5rem 0 .5rem;
  color:var(--member-muted, #506b5e);
  font-size:1rem;
  font-weight:650;
  line-height:1.5;
  letter-spacing:0;
}
.approved-golf.golf-app .member-round-year:first-child { padding-top:.75rem; }
