
.members-hero{
  padding:82px 0;
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(225,190,114,.17),transparent 26%),
    linear-gradient(135deg,var(--green-1000),var(--green-800));
}
.members-hero-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:center;
}
.members-hero h1{
  margin-bottom:18px;
  font-size:clamp(3rem,6vw,5.6rem);
}
.members-hero p:last-child{
  max-width:700px;
  color:#d8e4dd;
  font-size:1.1rem;
}
.member-benefit-card{
  display:grid;
  gap:8px;
  padding:28px;
  background:rgba(255,255,255,.96);
  color:var(--green-950);
  border-radius:24px;
  box-shadow:var(--shadow);
}
.member-benefit-card strong{
  font-family:"Playfair Display",Georgia,serif;
  font-size:2rem;
}
.member-benefit-card span{color:var(--muted)}
.member-auth-grid,
.member-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.member-dashboard-grid{
  grid-template-columns:.85fr 1.15fr;
}
.member-card{
  padding:28px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--shadow-sm);
}
.member-card h2,.member-card h3{margin-bottom:18px}
.member-form{
  display:grid;
  gap:16px;
}
.member-form label{
  display:grid;
  gap:7px;
  font-weight:800;
}
.member-form input{
  min-height:52px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
}
.check-row{
  grid-template-columns:auto 1fr!important;
  align-items:flex-start;
  gap:10px!important;
  font-weight:600!important;
}
.check-row input{
  width:auto;
  min-height:0;
  margin-top:5px;
}
.full-button{width:100%}
.member-dashboard-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.member-summary{
  display:flex;
  align-items:center;
  gap:18px;
}
.member-summary p{margin-bottom:4px;color:var(--muted)}
.member-avatar{
  flex:0 0 76px;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,var(--green-900),var(--green-700));
  color:var(--gold-400);
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.6rem;
  font-weight:900;
}
.member-rsvp-card{
  grid-column:1/-1;
  background:linear-gradient(135deg,var(--gold-100),#fffaf0);
  border-color:#ead8aa;
}
@media(max-width:800px){
  .members-hero{padding:60px 0}
  .members-hero-grid,
  .member-auth-grid,
  .member-dashboard-grid{
    grid-template-columns:1fr;
  }
  .member-rsvp-card{grid-column:auto}
}
@media(max-width:520px){
  .member-card{padding:20px;border-radius:18px}
  .member-dashboard-heading{
    align-items:flex-start;
    flex-direction:column;
  }
  .member-dashboard-heading .button{width:100%}
  .member-summary{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* 2027 mobile-first member dashboard preview */
.member-dashboard-page{background:var(--green-050);min-height:70vh}
.dashboard-welcome{padding:54px 0 84px;color:#fff;background:radial-gradient(circle at 82% 18%,rgba(225,190,114,.18),transparent 25%),linear-gradient(135deg,var(--green-1000),var(--green-800))}
.dashboard-welcome-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.dashboard-welcome h1{margin:0 0 10px;font-size:clamp(2.8rem,6vw,5.2rem)}
.dashboard-welcome p:last-child{margin:0;color:#d7e2dc}
.dashboard-member{display:flex;align-items:center;gap:14px;padding:14px 18px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.08)}
.dashboard-member strong,.dashboard-member span{display:block}.dashboard-member span{color:#cbd9d1;font-size:.84rem}
.dashboard-member .member-avatar{width:56px;height:56px;flex-basis:56px;background:var(--gold-400);color:var(--green-1000)}
.dashboard-content{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:24px;align-items:start;margin-top:-42px;padding-bottom:80px;position:relative;z-index:2}
.next-event-dashboard,.dashboard-card{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-sm)}
.dashboard-next-event:has(.dashboard-cancelled-banner:not(.hidden)){overflow:hidden;border:2px solid #ca2a2a}.dashboard-cancelled-banner{display:flex;align-items:center;justify-content:center;gap:12px;margin:-22px -22px 20px;padding:13px 18px;color:#fff;background:#c52222;text-align:center}.dashboard-cancelled-banner strong{font-size:1.2rem;letter-spacing:.12em}.dashboard-cancelled-banner span{font-size:.84rem;font-weight:700}
.next-event-dashboard{padding:28px}
.dashboard-event-top{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:18px;align-items:center}
.dashboard-date{min-height:92px;display:grid;place-content:center;text-align:center;border-radius:15px;color:#fff;background:linear-gradient(160deg,var(--green-800),var(--green-950))}
.dashboard-date span,.dashboard-date small{font-size:.68rem;font-weight:900;letter-spacing:.1em}.dashboard-date strong{font-size:1.9rem;line-height:1}
.dashboard-event-title .eyebrow{margin-bottom:7px}.dashboard-event-title h2{margin:0;font-size:2.15rem}.dashboard-course{margin:5px 0 0;color:var(--muted);font-weight:700}
.dashboard-status{padding:9px 13px;border-radius:999px;background:#dff4e8;color:#0c5b38;font-size:.78rem;font-weight:900;white-space:nowrap}
.dashboard-event-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:24px 0}
.dashboard-event-facts div{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--green-050)}
.dashboard-event-facts span,.dashboard-event-facts strong{display:block}.dashboard-event-facts span{color:var(--muted);font-size:.75rem;font-weight:800}.dashboard-event-facts strong{margin-top:2px;color:var(--green-950);font-size:1.08rem}.paid-text{color:#0c5b38!important}
.playing-group{padding:22px;border-radius:18px;background:linear-gradient(135deg,var(--green-1000),var(--green-800));color:#fff}
.playing-group-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.playing-group-heading h3{margin:0}.playing-group-heading>span{color:var(--gold-400);font-weight:900}
.fourball-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.fourball-member{display:flex;align-items:center;gap:11px;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.06)}
.fourball-member>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--gold-400);font-size:.74rem;font-weight:900}
.fourball-member strong,.fourball-member small{display:block}.fourball-member small{color:#c7d6ce}.fourball-member.you{border-color:rgba(225,190,114,.45);background:rgba(225,190,114,.1)}
.directions-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
.directions-panel h3{margin:0 0 4px}.directions-panel p:last-child{margin:0;color:var(--muted);font-size:.88rem}
.map-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.map-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.82rem;font-weight:900;background:#fff}
.map-button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#111;color:#fff;font-weight:900}.map-button.google span{background:#4285f4}.map-button.waze span{background:#20c7d9;color:#07353b}
.dashboard-side{display:grid;gap:18px}.dashboard-card{padding:22px}.snapshot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.snapshot-grid div{padding:13px;text-align:center;border-radius:13px;background:var(--green-050)}.snapshot-grid strong,.snapshot-grid span{display:block}.snapshot-grid strong{font-family:"Playfair Display",Georgia,serif;color:var(--green-900);font-size:1.8rem}.snapshot-grid span{color:var(--muted);font-size:.72rem;font-weight:800}
.dashboard-links{display:grid}.dashboard-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line);text-decoration:none;font-weight:800}.dashboard-links a:last-child{border:0}.dashboard-links b{color:var(--gold-600)}
.dashboard-note{background:linear-gradient(135deg,var(--gold-100),#fffaf0);border-color:#ead8aa}.dashboard-note p:last-child{margin:0;color:var(--muted)}
@media(max-width:900px){.dashboard-content{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,1fr)}.dashboard-note{grid-column:1/-1}}
@media(max-width:650px){.dashboard-welcome{padding:38px 0 72px}.dashboard-welcome-inner{align-items:flex-start;flex-direction:column}.dashboard-member{width:100%}.dashboard-content{margin-top:-38px;padding-bottom:60px}.next-event-dashboard{padding:16px;border-radius:20px}.dashboard-event-top{grid-template-columns:64px minmax(0,1fr);gap:12px}.dashboard-date{min-height:76px}.dashboard-event-title h2{font-size:1.45rem}.dashboard-status{grid-column:1/-1;justify-self:start}.dashboard-event-facts{grid-template-columns:repeat(2,1fr);margin:16px 0}.playing-group{padding:16px}.playing-group-heading{align-items:flex-start;flex-direction:column;gap:5px}.fourball-grid{grid-template-columns:1fr}.directions-panel{align-items:stretch;flex-direction:column}.map-buttons{display:grid;grid-template-columns:1fr;justify-content:stretch}.map-button{justify-content:center;width:100%}.dashboard-side{grid-template-columns:1fr}.dashboard-note{grid-column:auto}}


/* Persistent dashboard preview controls */
.member-home-dashboard{background:var(--green-050)}
.dashboard-preview-login{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-bottom:0;
  padding:20px 22px;
  border:1px solid #ead8aa;
  border-radius:18px;
  background:linear-gradient(135deg,var(--gold-100),#fffaf0);
  box-shadow:var(--shadow-sm);
}
.dashboard-preview-login strong,.dashboard-preview-login span{display:block}
.dashboard-preview-login span{margin-top:3px;color:var(--muted);font-size:.9rem}
.dashboard-signout{width:100%}
@media(max-width:650px){
  .dashboard-preview-login{align-items:stretch;flex-direction:column;padding:18px}
  .dashboard-preview-login .button{width:100%}
}


/* Compact tee-time weather */
.event-weather-compact{
  display:grid;
  grid-template-columns:auto auto minmax(180px,1fr) auto;
  align-items:center;
  gap:12px 18px;
  margin:18px 0;
  padding:13px 15px;
  border:1px solid #d5e4e9;
  border-radius:15px;
  background:linear-gradient(145deg,#f7fcff,#edf7f9);
}
.expected-weather-label{
  color:var(--green-950);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.expected-weather-summary{display:flex;align-items:center;gap:8px;white-space:nowrap}
.expected-weather-summary .weather-icon{font-size:1.65rem;line-height:1}
.expected-weather-summary strong{color:var(--green-950);font-size:1.05rem}
.weather-tip{margin:0;color:#42534a;font-size:.84rem;font-weight:700;line-height:1.4}
.weather-updated{color:var(--muted);font-size:.7rem;white-space:nowrap}
@media(max-width:760px){
  .event-weather-compact{grid-template-columns:auto 1fr;gap:7px 12px;padding:12px}
  .expected-weather-summary{justify-self:end}
  .weather-tip{grid-column:1/-1;padding-top:8px;border-top:1px solid #d9e7eb}
  .weather-updated{grid-column:1/-1;white-space:normal}
}


/* Event-day camera */
.event-camera-tab{display:grid;gap:12px;background:linear-gradient(145deg,var(--green-1000),var(--green-800));color:#fff;border-color:rgba(255,255,255,.08)}
.event-camera-tab .eyebrow{color:var(--gold-400);margin-bottom:4px}.event-camera-tab h3{margin:0 0 5px}.event-camera-tab p:last-child{margin:0;color:#d4e0d9;font-size:.86rem}
.event-camera-tab .button{width:100%}.camera-tab-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.1);font-size:1.5rem}
.camera-file-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.photo-review-dialog{width:min(92vw,620px);max-height:92vh;padding:0;border:0;border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.photo-review-dialog::backdrop{background:rgba(2,14,10,.78);backdrop-filter:blur(5px)}
.photo-review-card{padding:22px}.photo-review-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.photo-review-heading h2{margin:0;font-size:2rem}
.photo-close{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--green-950);font-size:1.5rem}
.photo-preview-frame{display:grid;place-items:center;min-height:260px;max-height:56vh;margin:18px 0;overflow:hidden;border-radius:16px;background:var(--green-1000)}
.photo-preview-frame img{width:100%;max-height:56vh;object-fit:contain}.photo-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-save-status{margin:0 0 12px;color:var(--green-700);font-weight:800}.photo-review-card>#viewSavedPhoto{width:100%;margin-top:10px}
@media(max-width:650px){.photo-review-dialog{width:calc(100% - 20px);border-radius:19px}.photo-review-card{padding:16px}.photo-preview-frame{min-height:220px}.photo-review-actions{grid-template-columns:1fr}}


/* Noticeable event-day camera prompt */
.event-camera-tab{
  position:relative;
  overflow:hidden;
  border:2px solid var(--gold-400);
  box-shadow:0 18px 46px rgba(3,21,15,.24),0 0 0 4px rgba(225,190,114,.13);
}
.event-camera-tab::before{
  content:"LIVE TODAY";
  position:absolute;
  top:13px;
  right:13px;
  padding:5px 8px;
  border-radius:999px;
  background:#e83b35;
  color:#fff;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.08em;
}
.event-camera-tab .camera-tab-icon{
  animation:cameraAttention 4.2s ease-in-out infinite;
  box-shadow:0 0 0 0 rgba(225,190,114,.45);
}
.event-camera-tab #openEventCamera{
  animation:cameraButtonPulse 2.4s ease-in-out infinite;
}
@keyframes cameraAttention{
  0%,72%,100%{transform:rotate(0) scale(1);box-shadow:0 0 0 0 rgba(225,190,114,0)}
  76%{transform:rotate(-10deg) scale(1.08)}
  80%{transform:rotate(10deg) scale(1.12);box-shadow:0 0 0 8px rgba(225,190,114,.16)}
  84%{transform:rotate(-7deg) scale(1.08)}
  88%{transform:rotate(5deg) scale(1.04)}
  92%{transform:rotate(0) scale(1)}
}
@keyframes cameraButtonPulse{
  0%,100%{transform:scale(1);box-shadow:0 8px 20px rgba(0,0,0,.12)}
  50%{transform:scale(1.025);box-shadow:0 12px 28px rgba(225,190,114,.3)}
}
@media(prefers-reduced-motion:reduce){
  .event-camera-tab .camera-tab-icon,.event-camera-tab #openEventCamera{animation:none}
}


/* Top-of-dashboard optional camera banner */
.event-camera-banner{
  margin:18px 0 0;
  border:1px solid #d8bc78;
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(115deg,#fff8e7,#f7ead0);
  box-shadow:0 10px 26px rgba(99,73,22,.12);
}
.event-camera-action{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border:0;
  text-align:left;
  color:var(--green-950);
  background:transparent;
}
.event-camera-action:hover{background:rgba(255,255,255,.42)}
.event-camera-action .camera-tab-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(145deg,var(--green-900),var(--green-700));
  font-size:1.55rem;
  animation:cameraAttention 4.2s ease-in-out infinite;
}
.camera-banner-copy strong,.camera-banner-copy small{display:block}
.camera-banner-copy strong{font-size:1.04rem}.camera-banner-copy small{margin-top:2px;color:var(--muted);font-size:.77rem}
.camera-optional{padding:5px 9px;border:1px solid #d7c28e;border-radius:999px;color:#755719;background:rgba(255,255,255,.6);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.camera-arrow{color:var(--gold-700);font-size:1.8rem;line-height:1}
.event-camera-banner::before{display:none}
.event-camera-banner #openEventCamera{animation:none}
@media(max-width:650px){
  .event-camera-banner{margin-top:14px}
  .event-camera-action{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:11px}
  .event-camera-action .camera-tab-icon{width:44px;height:44px}
  .camera-optional{grid-column:2;justify-self:start}
  .camera-arrow{grid-column:3;grid-row:1/3}
  .camera-banner-copy small{line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.event-camera-action .camera-tab-icon{animation:none}}


/* Optional member profile photo */
.profile-photo-picker{
  display:grid;
  grid-template-columns:104px minmax(0,1fr);
  gap:18px;
  align-items:center;
  margin-bottom:4px;
  padding:18px;
  border:1px solid #d9e5de;
  border-radius:18px;
  background:var(--green-050);
}
.profile-photo-preview{
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px dashed #9bb6a7;
  border-radius:50%;
  color:var(--green-700);
  background:#fff;
  font-size:2rem;
  font-weight:800;
}
.profile-photo-preview.has-photo{border-style:solid;border-color:var(--gold-400)}
.profile-photo-preview img,.member-avatar img,.fourball-member>span img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.profile-photo-copy strong{display:block;color:var(--green-950);font-size:1.05rem}
.profile-photo-copy p{margin:4px 0 11px;color:var(--muted);font-size:.84rem;line-height:1.45}
.profile-photo-copy small{display:block;margin-top:9px;color:var(--muted);font-size:.72rem}
.photo-picker-button{display:inline-flex;min-height:40px;padding:8px 13px;cursor:pointer}
.profile-photo-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
.photo-remove{margin-left:8px;padding:7px;border:0;color:#8b2f29;background:transparent;font-weight:800;cursor:pointer}
.member-avatar,.fourball-member>span{overflow:hidden}
.member-avatar.has-photo,.fourball-member>span.has-photo{padding:0;background:#dfe9e3}
@media(max-width:520px){
  .profile-photo-picker{grid-template-columns:76px minmax(0,1fr);gap:13px;padding:14px}
  .profile-photo-preview{width:76px;height:76px}
  .photo-picker-button{width:100%;justify-content:center}
  .photo-remove{display:block;margin:6px auto 0}
}


/* Full My Account dashboard */
.account-page{min-height:75vh;background:var(--green-050)}
.account-hero{padding:42px 0 78px;color:#fff;background:radial-gradient(circle at 84% 16%,rgba(225,190,114,.18),transparent 25%),linear-gradient(135deg,var(--green-1000),var(--green-800))}
.account-hero-inner,.account-identity{display:flex;align-items:center}.account-hero-inner{justify-content:space-between;gap:24px}.account-identity{gap:18px}
.account-avatar{width:86px;height:86px;flex-basis:86px;border:3px solid rgba(225,190,114,.7);background:var(--gold-400);color:var(--green-1000)}
.account-hero h1{margin:2px 0 5px;font-size:clamp(2.4rem,5vw,4.3rem)}.account-hero p{margin:0;color:#d7e2dc}.account-live-dot{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:50%;background:#63d493}
.account-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.68fr);gap:22px;align-items:start;margin-top:-38px;padding-bottom:80px;position:relative;z-index:2}
.account-main,.account-side{display:grid;gap:20px}.account-section-heading,.account-panel-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.account-section-heading{padding:0 4px;color:#fff}.account-section-heading h2,.account-panel-heading h3{margin:0}.account-section-heading>span,.account-panel-heading>span,.account-panel-heading>a{font-size:.78rem;font-weight:800}
.account-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.account-stat-grid article,.account-panel{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.account-stat-grid span,.account-stat-grid strong,.account-stat-grid small{display:block}.account-stat-grid span{color:var(--muted);font-size:.73rem;font-weight:800}.account-stat-grid strong{margin:7px 0 3px;color:var(--green-900);font-family:"Playfair Display",Georgia,serif;font-size:2rem}.account-stat-grid small{color:var(--muted);font-size:.68rem}
.performance-chart{height:230px;display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:14px;margin-top:24px;padding:18px 12px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to top,transparent 0,transparent 54px,#edf1ee 55px)}
.performance-chart div{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.performance-chart div>span{width:min(54px,70%);height:var(--score);min-height:20px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,var(--gold-400),var(--green-700))}.performance-chart b{position:absolute;transform:translateY(-28px);color:#fff;font-size:.72rem}.performance-chart small{min-height:28px;text-align:center;color:var(--muted);font-size:.65rem;font-weight:700}
.account-round-list{display:grid;margin-top:14px}.account-round-list>div{display:grid;grid-template-columns:60px minmax(0,1fr) 62px 46px;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.account-round-list>div:last-child{border:0}.account-round-list time{color:var(--muted);font-size:.75rem;font-weight:800}.account-round-list span strong,.account-round-list span small{display:block}.account-round-list span small{color:var(--muted)}.account-round-list b{color:var(--green-800)}.account-round-list em{padding:5px;border-radius:8px;text-align:center;background:var(--green-050);font-style:normal;font-size:.72rem;font-weight:800}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}.achievement-grid>div{display:grid;grid-template-columns:auto 1fr;column-gap:11px;padding:13px;border-radius:14px;background:var(--green-050)}.achievement-grid>div>span{grid-row:1/3;font-size:1.7rem}.achievement-grid strong,.achievement-grid small{display:block}.achievement-grid small{color:var(--muted);font-size:.72rem}
.account-profile-form{display:grid;gap:13px}.account-profile-form>label{display:grid;gap:5px;font-size:.76rem;font-weight:800}.account-profile-form input,.account-profile-form select{min-height:46px;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--green-950);font:inherit}
.account-photo-editor{display:grid;grid-template-columns:82px 1fr;gap:13px;align-items:center;margin-bottom:4px}.account-photo-editor .profile-photo-preview{width:82px;height:82px}.account-photo-editor small{display:block;margin-top:6px;color:var(--muted);font-size:.66rem}.account-photo-editor .photo-picker-button{font-size:.72rem}.account-photo-editor .photo-remove{font-size:.72rem}
.account-membership dl{display:grid;margin:10px 0 0}.account-membership dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.account-membership dl div:last-child{border:0}.account-membership dt{color:var(--muted)}.account-membership dd{margin:0;font-weight:800}.account-muted{color:var(--muted);font-size:.85rem}
.account-signed-out{padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.account-signed-out h2{margin-bottom:8px}
@media(max-width:900px){.account-layout{grid-template-columns:1fr}.account-side{grid-template-columns:repeat(2,1fr)}.profile-panel{grid-column:1/-1}}
@media(max-width:650px){.account-hero{padding:32px 0 68px}.account-hero-inner{align-items:flex-start;flex-direction:column}.account-hero-inner>.button{width:100%}.account-identity{align-items:flex-start}.account-avatar{width:68px;height:68px;flex-basis:68px}.account-layout{margin-top:-34px}.account-section-heading{color:var(--green-950)}.account-stat-grid{grid-template-columns:repeat(2,1fr)}.account-stat-grid article{padding:16px}.performance-chart{gap:7px}.account-round-list>div{grid-template-columns:50px minmax(0,1fr) 55px}.account-round-list em{display:none}.achievement-grid{grid-template-columns:1fr}.account-side{grid-template-columns:1fr}.profile-panel{grid-column:auto}}


/* Live homepage event countdown */
.event-countdown{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:15px;
  margin:18px 0 0;
  padding:16px 18px;
  overflow:hidden;
  position:relative;
  border:1px solid rgba(225,190,114,.5);
  border-radius:18px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 0,rgba(225,190,114,.22),transparent 35%),
    linear-gradient(135deg,var(--green-1000),var(--green-800));
  box-shadow:0 14px 34px rgba(3,29,20,.18);
}
.event-countdown::after{content:"";position:absolute;right:-28px;bottom:-48px;width:150px;height:150px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.countdown-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.08);font-size:1.6rem}
.countdown-copy span,.countdown-copy strong,.countdown-copy small{display:block}
.countdown-copy span{color:var(--gold-400);font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.countdown-copy strong{margin:2px 0;font-family:"Playfair Display",Georgia,serif;font-size:1.35rem}
.countdown-copy small{color:#c9d9d0;font-size:.74rem}
.countdown-units{display:flex;gap:7px;position:relative;z-index:1}
.countdown-units div{min-width:58px;padding:8px 9px;text-align:center;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.08)}
.countdown-units strong,.countdown-units span{display:block}
.countdown-units strong{color:var(--gold-400);font-size:1.25rem;line-height:1}
.countdown-units span{margin-top:3px;color:#d3dfd8;font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.event-countdown.is-today{border-color:var(--gold-400);background:linear-gradient(125deg,#7c5913,#bd8b25)}
.event-countdown.is-today .countdown-copy span,.event-countdown.is-today .countdown-units strong{color:#fff6d8}
.event-countdown.is-today .countdown-copy small{color:#fff4d2}
.event-countdown.is-today .countdown-units{display:none}
@media(max-width:650px){
  .event-countdown{grid-template-columns:auto minmax(0,1fr);gap:11px;padding:13px}
  .countdown-icon{width:44px;height:44px;border-radius:13px;font-size:1.35rem}
  .countdown-copy strong{font-size:1.15rem}
  .countdown-units{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}
  .countdown-units div{min-width:0}
}
.optional-label {
  color: #66736c;
  font-size: .82rem;
  font-weight: 600;
}

.account-helper {
  margin: -.25rem 0 0;
  color: #5f6d65;
  font-size: .9rem;
  text-align: center;
}
.password-toggle{justify-self:start;min-height:44px;padding:8px 12px;border:1px solid #bdcbc3;border-radius:10px;background:#fff;color:#075039;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.password-toggle:hover{background:#edf6f1}

.account-login-form {
  display: grid;
  gap: 1rem;
  max-width: 480px;
  margin: 1.5rem auto;
  text-align: left;
}

.account-signup-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.demo-preview-link {
  margin-top: 1.5rem;
  border: 0;
  background: none;
  color: #627068;
  text-decoration: underline;
  cursor: pointer;
}

.passkey-dialog {
  width: min(92vw, 430px);
  padding: 0;
  border: 0;
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(0, 25, 16, .35);
}

.passkey-dialog::backdrop { background: rgba(0, 24, 16, .72); }
.passkey-dialog form { position: relative; padding: 2rem; text-align: center; }
.passkey-dialog h2 { margin: .4rem 0 .75rem; }
.passkey-dialog .button { margin-top: .75rem; }
.passkey-dialog small { display: block; margin-top: 1rem; color: #637168; }
.dialog-close {
  position: absolute;
  top: .75rem;
  right: .75rem;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #edf2ef;
  font-size: 1.7rem;
  cursor: pointer;
}
.passkey-icon {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: #dff4e9;
  color: #064d35;
  font-size: 2.6rem;
  font-weight: 800;
}

.button-passkey {
  background: #edf8f3;
  border: 2px solid #0a5138;
  color: #073d2a;
  justify-content: center;
}
.button-passkey:hover { background: #dff2e9; }
.button-passkey span { font-size: 1.45em; line-height: 0; margin-right: .35rem; }
.login-divider { display: flex; align-items: center; gap: .75rem; margin: 1.15rem 0; color: #637168; font-size: .9rem; }
.login-divider::before,.login-divider::after { content: ""; height: 1px; flex: 1; background: #d6dfda; }
.login-divider span { text-align: center; }
.account-security-note { font-size: .88rem; margin-top: .75rem; }
.device-choice { display:flex!important;align-items:flex-start;gap:.8rem;padding:1rem;border:2px solid #0a5138;border-radius:16px;background:#edf8f3;cursor:pointer; }
.device-choice input { width:24px!important;height:24px!important;min-width:24px;margin:.1rem 0 0;accent-color:#0a5138; }
.device-choice span,.device-choice strong,.device-choice small { display:block; }
.device-choice strong { color:#073d2a;font-size:1rem; }
.device-choice small { margin-top:.25rem;color:#53655c;line-height:1.35; }

.member-home { background: #f3f7f4; min-height: 80vh; padding-bottom: 3rem; }
.member-home-hero { padding: 3rem 0 4.75rem; background: linear-gradient(120deg,#052e20,#0b5a3e); color: #fff; }
.member-home-hero h1 { margin: .25rem 0 .5rem; color: #fff; }
.member-home-hero p:last-child { margin: 0; color: #dcebe4; font-size: 1.1rem; }
.member-home-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1.25rem; margin-top: 1.25rem; }
.dashboard-card { background: #fff; border: 1px solid #dbe5df; border-radius: 24px; padding: 1.5rem; box-shadow: 0 16px 40px rgba(5,46,32,.09); }
.dashboard-passkey { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 1rem; border-color: #d6b45d; }
.dashboard-passkey h2,.dashboard-next-event h2,.dashboard-season-review h2 { margin: .15rem 0 .35rem; }
.dashboard-passkey p { margin: 0; }
.dashboard-icon { display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#e1f4eb;color:#075039;font-size:2rem;font-weight:800; }
.dashboard-dismiss { border:0;background:transparent;text-decoration:underline;color:#53655c;cursor:pointer;font:inherit; }
.dashboard-passkey .form-status { grid-column: 2 / -1; }
.dashboard-next-event { grid-column: 2; grid-row: 2; }
.dashboard-season-review { grid-column: 1; grid-row: 2 / span 2; }
.dashboard-card-heading { display:flex;justify-content:space-between;gap:1rem;align-items:start; }
.season-chip { padding:.45rem .75rem;border-radius:999px;background:#f7edcf;color:#735717;font-weight:800; }
.legacy-stat-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0; }
.legacy-stat-grid div { padding:1rem;border-radius:16px;background:#f4f7f5; }
.legacy-stat-grid strong,.legacy-stat-grid span { display:block; }
.legacy-stat-grid strong { color:#074b34;font-size:1.65rem; }
.legacy-stat-grid span { color:#637168;font-size:.82rem;font-weight:700; }
.legacy-feedback { padding:1rem;border-left:4px solid #d8ae4d;background:#fbf7eb;border-radius:0 12px 12px 0; }
.dashboard-actions { display:grid;gap:.75rem;grid-column:2; }
.dashboard-action { display:flex;justify-content:space-between;gap:1rem;padding:1.2rem;border-radius:18px;background:#073d2a;color:#fff;text-decoration:none; }
.dashboard-action span { color:#dbe8e1; }
.dashboard-profile-summary{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
.dashboard-profile-summary h2{margin:.1rem 0}.dashboard-profile-summary p{margin:0;color:var(--muted)}
.dashboard-profile-summary .member-avatar{width:68px;height:68px;flex-basis:68px}
.dashboard-next-event{grid-column:1;grid-row:auto}
.dashboard-season-review{grid-column:1;grid-row:auto}
.dashboard-payments{grid-column:2;grid-row:auto}
.dashboard-actions{grid-column:2}
.dashboard-event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.1rem 0}
.dashboard-event-facts div{padding:.8rem;border-radius:13px;background:#f4f7f5}
.dashboard-event-facts span,.dashboard-event-facts strong{display:block}
.dashboard-event-facts span{color:#65736b;font-size:.74rem;font-weight:800}
.dashboard-event-facts strong{margin-top:.15rem;color:#063d2a}
.dashboard-button-row{display:flex;flex-wrap:wrap;gap:.65rem;margin:.75rem 0}
.dashboard-count{display:grid;place-items:center;min-width:42px;height:42px;border-radius:50%;background:#f4e9c8;color:#6d5112;font-size:1.2rem}
.dashboard-payment-list{display:grid;margin-top:1rem}
.dashboard-payment-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.9rem 0;border-bottom:1px solid var(--line)}
.dashboard-payment-list article:last-child{border-bottom:0}.dashboard-payment-list strong,.dashboard-payment-list small{display:block}
.dashboard-payment-list small{margin-top:.2rem;color:var(--muted)}
.dashboard-payment-list b{color:#8a6110}
.dashboard-good{display:flex;align-items:center;gap:.8rem;padding:1rem;border-radius:14px;background:#eaf7ef}
.dashboard-good>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;color:#fff;background:#188554;font-weight:900}
.dashboard-good strong,.dashboard-good small{display:block}.dashboard-good small{color:#557066}
.dashboard-highlight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:0 0 1rem}
.dashboard-highlight-row>div{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;padding:.8rem;border:1px solid #e2e9e5;border-radius:14px}
.dashboard-highlight-row>div>span{grid-row:1/3;font-size:1.35rem}.dashboard-highlight-row strong,.dashboard-highlight-row small{display:block}
.dashboard-highlight-row small{color:var(--muted);font-size:.7rem}
.dashboard-live-source{display:flex;align-items:center;gap:.4rem;color:#637168}
.dashboard-live-source span{width:8px;height:8px;border-radius:50%;background:#27a36a}
.member-home-grid>*{min-width:0}
.dashboard-season-review.is-unavailable .legacy-stat-grid,
.dashboard-season-review.is-unavailable .dashboard-highlight-row,
.dashboard-season-review.is-unavailable .dashboard-live-source{display:none}
.dashboard-season-review.is-awaiting-match .legacy-stat-grid,
.dashboard-season-review.is-awaiting-match .dashboard-highlight-row,
.dashboard-season-review.is-awaiting-match .legacy-feedback,
.dashboard-season-review.is-awaiting-match .dashboard-live-source{display:none}
.dashboard-season-review.is-unavailable #dashboardRetry2026{width:100%;margin-top:10px}
.mobile-dashboard-welcome{display:flex;align-items:center;gap:18px}
.mobile-dashboard-welcome>.member-avatar{display:none}
.legacy-match-prompt{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin:18px 0;padding:16px;border:2px solid #d3af52;border-radius:16px;background:#fff8e7}
.match-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;background:var(--green-800);font-size:1.35rem;font-weight:900}
.legacy-match-prompt strong,.legacy-match-prompt small{display:block}.legacy-match-prompt small{margin-top:3px;color:var(--muted);line-height:1.35}
.match-actions{display:flex;gap:8px}.legacy-match-prompt .form-status{grid-column:2/-1;margin:0}
@media (max-width: 760px) {
  .member-home{padding-bottom:calc(8.5rem + env(safe-area-inset-bottom));overflow-x:hidden;background:#f1f5f2}
  .member-home-hero{padding:1.15rem 0 3rem;background:linear-gradient(135deg,#052e20,#0a5038)}
  .mobile-dashboard-welcome{gap:12px}
  .mobile-dashboard-welcome>.member-avatar{display:grid;width:58px;height:58px;flex-basis:58px;border:2px solid rgba(225,190,114,.7);background:var(--gold-400);color:var(--green-1000)}
  .member-home-hero .eyebrow{margin:0 0 2px;font-size:.65rem}
  .member-home-hero h1{margin:0;font-size:1.8rem;line-height:1.08}
  .member-home-hero p:last-child{margin-top:3px;font-size:.84rem}
  .member-home-grid{grid-template-columns:1fr;gap:.75rem;margin-top:0;padding:1rem 12px 0}
  .dashboard-passkey,.dashboard-next-event,.dashboard-season-review,.dashboard-payments,.dashboard-actions { grid-column:1;grid-row:auto;min-width:0;width:100%; }
  .dashboard-card{padding:1rem;border-radius:18px;box-shadow:0 8px 22px rgba(5,46,32,.07)}
  .dashboard-next-event{order:1;border-top:4px solid var(--gold-400)}
  .dashboard-payments{order:2}
  .dashboard-season-review{order:3}
  .dashboard-actions{order:4;grid-template-columns:1fr 1fr;gap:.6rem}
  .dashboard-passkey{order:5}
  .dashboard-card-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem}
  .dashboard-card-heading h2{font-size:1.35rem;line-height:1.15}
  .dashboard-next-event .dashboard-card-heading .eyebrow{margin-bottom:.25rem}
  .dashboard-next-event>p:not(.form-status){margin:.55rem 0;font-size:.88rem;line-height:1.45}
  .season-chip{max-width:92px;padding:.35rem .55rem;font-size:.7rem;line-height:1.2;text-align:center}
  .dashboard-passkey { grid-template-columns:auto 1fr; }
  .dashboard-passkey h2{font-size:1.1rem}.dashboard-passkey p{font-size:.8rem}
  .dashboard-icon{width:44px;height:44px;font-size:1.5rem}
  .dashboard-passkey .button { grid-column:1 / -1; width:100%; }
  .dashboard-dismiss { grid-column:1 / -1; min-height:44px; }
  .dashboard-passkey .form-status { grid-column:1 / -1; }
  .legacy-stat-grid{grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.85rem 0}
  .legacy-stat-grid div{padding:.65rem .45rem;border-radius:11px;text-align:center}
  .legacy-stat-grid strong{font-size:1.25rem}.legacy-stat-grid span{font-size:.64rem}
  .dashboard-action{min-height:72px;flex-direction:column;justify-content:center;gap:.15rem;padding:.85rem;font-size:.82rem}
  .dashboard-action span{font-size:.68rem}
  .dashboard-event-facts{grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.8rem 0}
  .dashboard-event-facts div,.dashboard-event-facts div:last-child{grid-column:auto;padding:.6rem .45rem;text-align:center}
  .dashboard-event-facts span{font-size:.6rem}.dashboard-event-facts strong{font-size:.82rem;line-height:1.2}
  .dashboard-button-row{display:grid;grid-template-columns:1fr}
  .dashboard-button-row .button{width:100%}
  .dashboard-payment-list article{grid-template-columns:1fr auto}
  .dashboard-payment-list .button{grid-column:1/-1;width:100%}
  .dashboard-highlight-row{grid-template-columns:repeat(3,1fr);gap:.4rem}
  .dashboard-highlight-row>div{display:block;padding:.55rem;text-align:center}
  .dashboard-highlight-row>div>span{font-size:1.05rem}.dashboard-highlight-row strong{font-size:.9rem}.dashboard-highlight-row small{font-size:.58rem}
  .legacy-feedback{margin:.75rem 0;padding:.75rem;font-size:.78rem;line-height:1.45}
  .dashboard-live-source{font-size:.63rem}
  .legacy-match-prompt{grid-template-columns:auto minmax(0,1fr);gap:9px;margin:12px 0;padding:12px}
  .match-icon{width:38px;height:38px}
  .legacy-match-prompt strong{font-size:.94rem}.legacy-match-prompt small{font-size:.72rem}
  .match-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .match-actions .button{width:100%;min-height:46px;padding:8px;font-size:.78rem}
  .legacy-match-prompt .form-status{grid-column:1/-1}
}

.season-review-panel {
  overflow: hidden;
  border-top: 5px solid #d8ae4d;
}

.review-year {
  padding: .4rem .75rem;
  border-radius: 999px;
  background: #f7edcf;
  color: #725513;
  font-weight: 800;
}

.season-review-summary {
  margin: .5rem 0 1.25rem;
  color: #4e5d55;
  font-size: 1.05rem;
  line-height: 1.6;
}

.demo-data-note {
  display: inline-flex;
  margin: 0 0 .75rem;
  padding: .35rem .65rem;
  border-radius: 999px;
  background: #fff4cc;
  color: #6e5414;
  font-size: .78rem;
  font-weight: 800;
}

.season-review-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}

.season-review-grid > div,
.review-highlight > div {
  padding: 1rem;
  border-radius: 16px;
  background: #f4f7f5;
}

.season-review-grid span,
.review-highlight span {
  display: block;
  color: #68756e;
  font-size: .8rem;
  font-weight: 700;
}

.season-review-grid strong {
  display: block;
  margin-top: .3rem;
  color: #073c2a;
  font-family: "Playfair Display", serif;
  font-size: 1.6rem;
}

.review-highlight {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
  margin-top: .75rem;
}

.review-highlight strong { display: block; margin-top: .35rem; color: #073c2a; }

@media (max-width: 650px) {
  .season-review-grid { grid-template-columns: repeat(2, 1fr); }
  .review-highlight { grid-template-columns: 1fr; }
  .passkey-dialog form { padding: 1.75rem 1.25rem; }
}

.member-rsvp-dialog{width:min(92vw,590px);padding:0;border:0;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.34)}
.member-rsvp-dialog::backdrop{background:rgba(2,20,14,.72);backdrop-filter:blur(4px)}
.member-rsvp-dialog form{position:relative;display:grid;gap:18px;padding:28px}
.member-rsvp-dialog h2{margin:0;font-size:clamp(2rem,6vw,3rem)}
.member-rsvp-dialog p{margin:0;color:var(--muted)}
.member-rsvp-dialog fieldset{padding:0;border:0}
.member-rsvp-dialog legend{margin-bottom:10px;font-weight:900}
.rsvp-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.rsvp-choice-grid label{cursor:pointer}
.rsvp-choice-grid input{position:absolute;opacity:0;pointer-events:none}
.rsvp-choice-grid label>span{display:flex;min-height:92px;flex-direction:column;justify-content:center;padding:15px;border:2px solid var(--line);border-radius:15px;background:#fff}
.rsvp-choice-grid strong,.rsvp-choice-grid small{display:block}
.rsvp-choice-grid small{margin-top:4px;color:var(--muted)}
.rsvp-choice-grid input:checked+span{border-color:var(--green-700);background:#e7f6ee;box-shadow:inset 0 0 0 1px var(--green-700)}
.rsvp-time-field{display:grid;gap:7px;font-weight:900}
.rsvp-time-field>span{color:var(--muted);font-size:.72rem;text-transform:uppercase}
.rsvp-time-field input{min-height:52px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}
.rsvp-time-field small{color:var(--muted);font-weight:600}
@media(max-width:560px){
  .member-rsvp-dialog form{padding:24px 18px}
  .rsvp-choice-grid{grid-template-columns:1fr}
  .member-rsvp-dialog .dashboard-button-row{display:grid;grid-template-columns:1fr}
  .member-rsvp-dialog .button{width:100%}
}


/* My Account: editable details, personal scoring record and final sign-out action. */
.account-details-layout{display:grid;gap:20px;padding-block:28px 42px}
.account-details-layout>.account-panel{width:100%}
.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.account-scores-panel{overflow:hidden}
.account-score-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.account-score-summary>div{padding:15px;border-radius:15px;background:#f2f6f3;text-align:center}
.account-score-summary strong,.account-score-summary span{display:block}
.account-score-summary strong{color:#063d2a;font-size:1.55rem}
.account-score-summary span{margin-top:3px;color:#647169;font-size:.75rem;font-weight:800}
.account-round-list{display:grid}
.account-round-row{display:grid;grid-template-columns:48px minmax(0,1fr) 72px 72px;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}
.account-round-number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#073d2a;color:#fff;font-weight:900}
.account-round-course strong,.account-round-course small,.account-round-score strong,.account-round-score span,.account-round-handicap strong,.account-round-handicap span{display:block}
.account-round-course small{margin-top:3px;color:var(--muted)}
.account-round-score,.account-round-handicap{text-align:center}
.account-round-score strong,.account-round-handicap strong{color:#073d2a;font-size:1.25rem}
.account-round-score span,.account-round-handicap span{color:var(--muted);font-size:.68rem;font-weight:800}
.account-round-honours{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.account-round-honours b{padding:3px 7px;border-radius:999px;background:#f7edcf;color:#735717;font-size:.65rem}
.account-round-empty{margin:0;padding:18px;border-radius:14px;background:#f3f6f4;color:var(--muted);text-align:center}
.account-signout{display:flex;justify-content:center;padding-top:10px}
.account-signout .button{min-width:180px}
@media(max-width:650px){
  .account-details-layout{gap:12px;padding:12px 12px calc(8rem + env(safe-area-inset-bottom))}
  .account-form-grid{grid-template-columns:1fr}
  .account-score-summary{grid-template-columns:repeat(2,1fr);gap:7px}
  .account-score-summary>div{padding:11px 7px}
  .account-score-summary strong{font-size:1.3rem}
  .account-round-row{grid-template-columns:42px minmax(0,1fr) 54px;gap:8px;padding:12px 0}
  .account-round-number{width:38px;height:38px;border-radius:11px;font-size:.78rem}
  .account-round-course strong{font-size:.88rem}
  .account-round-course small{font-size:.68rem;line-height:1.3}
  .account-round-score strong{font-size:1.15rem}
  .account-round-handicap{display:none}
  .account-signout{padding-top:12px}
  .account-signout .button{width:100%;min-height:50px}
}

.rsvp-window-grid{grid-template-columns:repeat(4,1fr)}
.rsvp-window-grid label>span{min-height:82px;text-align:center}
.rsvp-window-note{display:block;margin-top:8px;color:var(--muted);font-weight:600;line-height:1.4}
@media(max-width:560px){
  .rsvp-window-grid{grid-template-columns:repeat(2,1fr)}
  .rsvp-window-grid label>span{min-height:78px;padding:10px 6px}
  .rsvp-window-grid strong{font-size:.92rem}
  .rsvp-window-grid small{font-size:.65rem}
}


/* Clear confirmed RSVP state and event playing list */
.dashboard-playing-confirmation{
  display:grid;
  gap:14px;
  margin:18px 0 12px;
  padding:18px;
  border:2px solid #9bc9ae;
  border-radius:18px;
  background:#edf8f2;
}
.playing-confirmation-heading{display:flex;align-items:center;gap:12px}
.playing-confirmation-heading>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  color:#fff;
  background:var(--green-700);
  font-size:1.35rem;
  font-weight:900;
}
.playing-confirmation-heading strong,.playing-confirmation-heading small{display:block}
.playing-confirmation-heading strong{color:var(--green-950);font-size:1.15rem}
.playing-confirmation-heading small{margin-top:2px;color:var(--muted)}
.playing-request-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.playing-request-grid>div{padding:12px 14px;border:1px solid #cfe4d7;border-radius:13px;background:#fff}
.playing-request-grid span,.playing-request-grid strong{display:block}
.playing-request-grid span{color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.playing-request-grid strong{margin-top:3px;color:var(--green-900)}
.playing-confirmation-actions{display:grid;grid-template-columns:minmax(220px,1.5fr) 1fr 1fr;gap:8px}
.playing-confirmation-actions .button{width:100%;min-height:48px}
.event-players-panel{position:relative;display:grid;gap:16px;padding:28px}
.event-players-panel h2{margin:0;font-size:clamp(2rem,6vw,3rem)}
.event-players-panel>p{margin:0;color:var(--muted)}
.event-players-list{display:grid;max-height:min(48vh,430px);overflow:auto;border-block:1px solid var(--line)}
.event-players-list article{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;padding:12px 4px;border-bottom:1px solid var(--line)}
.event-players-list article:last-child{border-bottom:0}
.event-players-list article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--green-050);color:var(--green-800);font-weight:900}
.event-players-list article.is-you{color:var(--green-800);background:#f2faf5}
.event-players-list article.is-you>span{color:#fff;background:var(--green-700)}
@media(max-width:760px){
  .dashboard-playing-confirmation{padding:14px}
  .playing-request-grid{grid-template-columns:1fr 1fr}
  .playing-confirmation-actions{grid-template-columns:1fr}
  .event-players-panel{padding:24px 18px}
}


.dashboard-rsvp-locked{
  display:grid;
  gap:3px;
  margin:14px 0;
  padding:14px 16px;
  border-left:4px solid var(--gold-500);
  border-radius:0 13px 13px 0;
  background:#fff7df;
}
.dashboard-rsvp-locked strong,.dashboard-rsvp-locked span{display:block}
.dashboard-rsvp-locked strong{color:#6f5312}
.dashboard-rsvp-locked span{color:var(--muted);font-size:.84rem;line-height:1.4}


/* Published tee-time group shown on the member dashboard. */
.dashboard-tee-group{display:grid;gap:16px;margin:18px 0 12px;padding:20px;border:2px solid #d9b65c;border-radius:20px;background:linear-gradient(145deg,#fffaf0,#f4f8f5)}
.tee-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.tee-group-header .eyebrow{margin-bottom:5px}.tee-group-header h3{margin:0;color:var(--green-950);font-family:"Playfair Display",serif;font-size:clamp(2rem,5vw,3.25rem);line-height:1}
.tee-number-chip{display:inline-flex;padding:9px 13px;border-radius:999px;background:var(--green-800);color:#fff;font-size:.78rem;font-weight:900;white-space:nowrap}
.tee-group-intro{margin:0;color:var(--green-950);font-weight:900}
.tee-group-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px}
.tee-group-player{display:grid;justify-items:center;gap:5px;padding:14px 8px;border:1px solid #d9e4dd;border-radius:15px;background:#fff;text-align:center}
.tee-group-player.is-you{border-color:#d9b65c;background:#fff8e5}
.tee-group-avatar{display:grid;place-items:center;width:58px;height:58px;overflow:hidden;border:3px solid #e4c875;border-radius:50%;background:var(--green-100);color:var(--green-900);font-weight:900}
.tee-group-avatar img{width:100%;height:100%;object-fit:cover}.tee-group-player strong{color:var(--green-950);font-size:.86rem;line-height:1.2}.tee-group-player small{color:var(--muted);font-size:.7rem;font-weight:800}
.tee-group-day-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tee-group-day-details>div{padding:11px 12px;border:1px solid #dce5e0;border-radius:12px;background:#fff}
.tee-group-day-details span,.tee-group-day-details strong{display:block}.tee-group-day-details span{color:var(--muted);font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.tee-group-day-details strong{margin-top:3px;color:var(--green-900);font-size:.84rem;line-height:1.25}
.tee-group-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.tee-group-actions .button{width:100%;min-height:48px}
@media(max-width:760px){.dashboard-tee-group{padding:15px}.tee-group-header{align-items:center}.tee-group-header h3{font-size:2.25rem}.tee-group-players{grid-template-columns:repeat(2,1fr)}.tee-group-day-details{grid-template-columns:repeat(2,1fr)}.tee-group-actions{grid-template-columns:1fr}.tee-group-avatar{width:52px;height:52px}}


/* Event-day tee-time and directions dialogs */
.event-players-list { display: grid; gap: 14px; }
.event-tee-time-group { border: 1px solid #dbe5df; border-radius: 18px; overflow: hidden; background: #f8faf8; }
.event-tee-time-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 14px 16px; background: #073f2d; color: #fff; }
.event-tee-time-heading strong { font-size: 1.2rem; }
.event-tee-time-heading span { color: #f0ca67; font-weight: 800; }
.event-tee-time-group > div:last-child { display: grid; }
.event-tee-time-group article { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; padding: 12px 16px; border-top: 1px solid #e3ebe6; }
.event-tee-time-group article:first-child { border-top: 0; }
.event-tee-time-group article.is-you { background: #fff5d6; }
.event-tee-time-group article small { color: #66746c; font-weight: 700; }
.event-tee-avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #dce8e1; color: #073f2d; font-weight: 900; overflow: hidden; }
.event-tee-avatar img { width: 100%; height: 100%; object-fit: cover; }
.satnav-options { display: grid; gap: 12px; margin: 20px 0; }
.satnav-option { display: grid; gap: 3px; padding: 16px 18px; border: 1px solid #d7e2dc; border-radius: 16px; color: #073f2d; text-decoration: none; background: #f7faf8; }
.satnav-option:hover, .satnav-option:focus-visible { border-color: #d8ad45; background: #fff7df; }
.satnav-option strong { font-size: 1.05rem; }
.satnav-option small { color: #69766f; }
@media (max-width: 640px) {
  .event-tee-time-heading { align-items: flex-start; flex-direction: column; gap: 2px; }
  .event-tee-time-group article { grid-template-columns: 42px 1fr; }
  .event-tee-time-group article small { grid-column: 2; }
}


/* Compact published tee-time player rows */
.event-tee-player-list { list-style:none; margin:0; padding:7px 12px 10px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 10px; background:#fff; }
.event-tee-player-list li { min-width:0; display:grid; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:8px; padding:5px 4px; border-radius:10px; }
.event-tee-player-list li.is-you { background:#fff5d6; }
.event-tee-player-list strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.82rem; line-height:1.15; color:#163127; }
.event-tee-player-list .event-tee-avatar { width:30px; height:30px; font-size:.68rem; }
@media(max-width:460px) {
  .event-tee-player-list { grid-template-columns:1fr; }
}


/* Dashboard welcome profile picture */
.mobile-dashboard-welcome { justify-content:space-between; width:100%; }
.dashboard-welcome-copy { min-width:0; }
.mobile-dashboard-welcome > .dashboard-welcome-avatar {
  display:grid;
  flex:0 0 82px;
  width:82px;
  height:82px;
  padding:0;
  border:3px solid rgba(225,190,114,.78);
  border-radius:50%;
  overflow:hidden;
  background:var(--gold-400);
  color:var(--green-1000);
  box-shadow:0 10px 26px rgba(0,0,0,.22);
  cursor:zoom-in;
}
.dashboard-welcome-avatar img { width:100%; height:100%; object-fit:cover; }
@media(max-width:760px) {
  .mobile-dashboard-welcome { align-items:center; }
  .mobile-dashboard-welcome > .dashboard-welcome-avatar {
    display:grid;
    flex-basis:58px;
    width:58px;
    height:58px;
  }
  .dashboard-cancelled-banner{margin:-1rem -1rem 16px;flex-direction:column;gap:3px}
}


/* Tee-group avatars are real, tappable controls */
.tee-group-avatar {
  padding:0;
  border:3px solid #e6c866;
  appearance:none;
  cursor:pointer;
}
.tee-group-avatar.has-photo:hover,
.tee-group-avatar.has-photo:focus-visible { transform:scale(1.06); box-shadow:0 0 0 4px rgba(230,200,102,.22); }
.tee-group-avatar.has-photo { transition:transform .18s ease,box-shadow .18s ease; }
