/* Password and account settings, scoped to avoid changing the clubhouse. */
.auth-v2 .auth-main{align-items:flex-start;padding:clamp(36px,7vh,72px) clamp(24px,5vw,70px);min-height:100svh}
.auth-v2 .auth-box{width:100%;max-width:420px}
.auth-v2 .auth-box h2{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.55rem,4vw,3.25rem);font-weight:800;line-height:1.02;letter-spacing:-.018em;max-width:13ch;margin:12px 0 14px}
.auth-v2 .auth-description{font-size:.94rem;line-height:1.6;margin:0 0 26px;max-width:42ch}
.auth-v2 .auth-form,.auth-security .auth-form{display:grid;gap:16px}
.auth-v2 .field,.auth-security .field{font-size:16px;line-height:1.4;min-height:54px;padding:14px 15px;border-radius:12px}
.auth-v2 .field-label,.auth-security .field-label{font-size:.81rem;font-weight:600;letter-spacing:0;text-transform:none;margin-bottom:8px}
.auth-v2 .field[readonly],.auth-security .field[readonly]{color:var(--muted);background:rgba(15,26,25,.65);border-color:var(--line)}
.auth-v2 .btn,.auth-security .btn{font-weight:700;letter-spacing:0}
.auth-v2 .btn-primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;margin-top:3px}
.auth-v2 button:focus-visible,.auth-v2 a:focus-visible,.auth-security button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.auth-password-field{position:relative}
.auth-v2 .auth-password-field .field,.auth-security .auth-password-field .field{padding-right:76px;width:100%}
.auth-reveal{position:absolute;inset:5px 5px 5px auto;min-width:59px;min-height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#c6d6ce;font-size:.78rem;font-weight:600;padding:8px 10px}
.auth-reveal:hover{color:var(--lime);background:rgba(214,255,89,.055)}
.auth-field-hint{display:block;font-size:.73rem;line-height:1.55;margin-top:8px;color:var(--muted)}
.auth-form-links{display:flex;justify-content:flex-end;margin:-5px 0 -3px}
.auth-text-link{padding:3px 0;border:0;background:none;color:var(--lime);font-size:.81rem;font-weight:600;text-decoration:none;line-height:1.5;text-align:left}
.auth-text-link:hover{text-decoration:underline;text-underline-offset:3px}
.auth-v2 .auth-step-back{font-size:.81rem;margin:0 0 26px;padding:6px 0}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.72rem;margin:25px 0 16px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--line)}
.auth-socials{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.auth-provider{position:relative;display:flex;align-items:center;justify-content:center;gap:13px;min-height:50px;width:100%;border-radius:11px;padding:12px 17px;font-size:.875rem;font-weight:600;line-height:1.4;border:1px solid transparent;transition:background .15s,border-color .15s}
.auth-provider svg{height:20px;width:20px;flex:0 0 20px}
.auth-provider-google{color:#1f1f1f;background:#fff;border-color:#dadce0}
.auth-provider-google:hover:enabled{background:#f3f6f4}
.auth-provider:disabled{opacity:.54;cursor:not-allowed}
.auth-v2 .auth-provider-note{font-size:.7rem;line-height:1.5;margin:11px 0 0;color:var(--muted);text-align:center}
.auth-first-time{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:.81rem;color:var(--muted)}
.auth-v2 .auth-hint{font-size:.73rem;line-height:1.6;margin:25px 0 0;color:var(--muted)}
.auth-v2 .auth-hint a{display:inline-block;margin-left:0;font-weight:600;text-decoration:underline;text-decoration-color:#40584c;text-underline-offset:3px;white-space:nowrap}
.auth-code{letter-spacing:.34em;font-variant-numeric:tabular-nums}
.auth-resend{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;font-size:.76rem;color:var(--muted)}
.auth-change-email,.auth-have-code{justify-self:center}
.auth-notice{line-height:1.55;font-size:.8rem;overflow-wrap:anywhere}
.auth-notice:focus{outline:0}
.auth-security{max-width:790px;margin-top:26px}
.auth-security-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:22px}
.auth-security-head .eyebrow{font-size:.66rem;letter-spacing:.13em;color:var(--muted);margin-bottom:8px}
.auth-security-head h2{font-family:'DM Sans',system-ui,sans-serif;font-size:1.35rem;font-weight:700;line-height:1.25;letter-spacing:-.03em;margin:0 0 8px}
.auth-security-head p,.auth-security-row p,.auth-connected-accounts>p,.auth-security-code-help{font-size:.8rem;font-weight:400;line-height:1.55;color:var(--muted);margin:0}
.auth-security-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex-shrink:0;background:var(--lime-dim);color:var(--lime)}
.auth-security-icon svg{width:24px;height:24px}
.auth-security-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid var(--line)}
.auth-security-row strong{font-size:.86rem;font-weight:600;line-height:1.5}
.auth-security-row p{font-size:.75rem;margin-top:4px}
.auth-security-row .btn{flex-shrink:0;min-height:42px}
.auth-security-form{max-width:490px;padding:6px 0 23px}
.auth-security-form .auth-text-link{justify-self:start}
.auth-security-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
.auth-security-actions .btn{min-height:45px}
.auth-connected-accounts{margin-top:17px}
.auth-connected-accounts h3{font-family:'DM Sans',system-ui,sans-serif;font-size:.88rem;font-weight:600;letter-spacing:0;margin:0 0 6px}
.auth-connected-accounts>p{font-size:.76rem;margin-bottom:17px}
.auth-provider-identity{display:flex;align-items:center;gap:12px;min-width:0}
.auth-provider-icon{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--line);border-radius:10px;background:#0c1211;flex-shrink:0}
.auth-provider-icon svg{width:20px;height:20px}
.auth-security .auth-connected:disabled{opacity:1;color:var(--lime);background:var(--lime-dim);border-color:#435b36;cursor:default}
.auth-security-footnote{font-size:.72rem;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:0}
.auth-info-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:.72rem;line-height:1.5}
.auth-info-links a{display:inline-flex;align-items:center;min-height:32px;color:var(--muted);text-decoration:underline;text-decoration-color:#40584c;text-underline-offset:3px}
.auth-info-links a:hover{color:var(--lime)}
.auth-security-loading p{font-size:.81rem;line-height:1.5;color:var(--muted);margin-bottom:15px}
@media(max-width:900px){
  .auth-v2 .auth-main{align-items:flex-start;padding:30px 24px max(32px,env(safe-area-inset-bottom))}
  .auth-v2 .auth-logo{margin:0 0 36px}
  .auth-v2 .auth-box{max-width:420px}
  .auth-v2 .auth-box h2{font-size:2.8rem;max-width:14ch}
  .auth-v2 .auth-description{font-size:.93rem;margin-bottom:23px}
}
@media(max-width:570px){
  .auth-v2 .auth-main{padding:max(23px,env(safe-area-inset-top)) 21px max(30px,env(safe-area-inset-bottom))}
  .auth-v2 .auth-logo{margin:0 0 31px}
  .auth-v2 .auth-logo .brand-mark{width:42px;height:42px}
  .auth-v2 .auth-logo .wordmark{font-size:1.55rem}
  .auth-v2 .auth-box h2{font-size:clamp(2.4rem,9.5vw,2.8rem);margin-top:10px;margin-bottom:12px}
  .auth-v2 .auth-description{line-height:1.55;margin-bottom:22px}
  .auth-v2 .auth-form{gap:14px}
  .auth-v2 .auth-step-back{margin-bottom:19px}
  .auth-v2 .field,.auth-security .field{font-size:16px;min-height:54px}
  .auth-provider{min-height:50px}
  .auth-divider{margin-top:22px;margin-bottom:14px}
  .auth-first-time{margin-top:22px;padding-top:18px}
  .auth-v2 .auth-hint{margin-top:21px}
  .auth-security{padding:20px 17px}
  .auth-security-head{gap:10px;padding-bottom:19px}
  .auth-security-head h2{font-size:1.2rem}
  .auth-security-row{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .auth-security-row .btn{margin-left:49px;font-size:.76rem}
  .auth-password-summary .btn{margin-left:0}
  .auth-security-form{max-width:none}
  .auth-security-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .auth-security-actions .btn{padding-left:12px;padding-right:12px;font-size:.81rem}
  .auth-security-row .auth-provider-identity{flex:1 1 210px}
}
@media(prefers-reduced-motion:reduce){.auth-provider{transition:none}}

