.account-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.account-link,.account-button{border:0;background:transparent;color:#d2d7d5;min-height:42px;padding:8px 10px;font:600 11px/1 system-ui;text-transform:uppercase;letter-spacing:.6px;cursor:pointer}.account-link:hover,.account-button:hover{color:var(--gold)}.account-button.gold{border:1px solid var(--gold);color:#162023;background:var(--gold);padding:10px 15px}.account-button.gold:hover{background:#ead3ac}.account-user{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gold);font-size:12px}.member-progress-section{background:#101719;padding:54px 0 66px;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}.member-progress-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:28px}.member-progress-head h2{font-size:clamp(34px,4vw,52px);max-width:650px}.member-progress-head p{color:var(--muted);margin-top:10px}.member-summary{display:flex;gap:28px}.member-summary div{min-width:105px;border-left:1px solid #ffffff1c;padding-left:18px}.member-summary b{display:block;color:var(--gold);font:400 34px/1.1 var(--serif)}.member-summary small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.member-progress-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.member-progress-card{position:relative;padding:22px;border:1px solid #ffffff1c;background:#192123;min-height:230px;display:flex;flex-direction:column}.member-progress-card:hover{border-color:#d2b07880}.member-progress-number{color:var(--gold);font-size:11px;letter-spacing:1.5px;margin-bottom:14px}.member-progress-card-head{display:flex;justify-content:space-between;gap:14px;align-items:start}.member-progress-card-head h3{font-size:24px}.member-progress-card-head>span{color:#8f9b9c;font-size:11px;white-space:nowrap}.member-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.member-metrics div{border-top:1px solid #ffffff14;padding-top:10px}.member-metrics b{display:block;color:#f4f2ed;font:400 22px/1.1 var(--serif)}.member-metrics small{display:block;color:#97a3a4;font-size:11px;margin-top:4px}.member-card-link{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-top:auto}.member-progress-actions{display:flex;align-items:center;justify-content:space-between;gap:20px}.member-progress-actions>span{color:#899596;font-size:12px}dialog.auth-dialog{width:min(500px,calc(100% - 32px));padding:0;border:1px solid #465255;background:#192123;color:#f5f3ed;box-shadow:0 28px 80px #0009}dialog.auth-dialog::backdrop{background:#071011d9;backdrop-filter:blur(6px)}.auth-shell{padding:24px}.auth-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.auth-top h2{font-size:30px}.auth-close{width:42px;height:42px;border:1px solid #465255;background:transparent;color:#d9dfdd;font-size:22px;cursor:pointer}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #ffffff15;margin-bottom:20px}.auth-tabs button{border:0;background:transparent;color:#9fa9a9;padding:12px;cursor:pointer}.auth-tabs button.active{color:var(--gold);border-bottom:1px solid var(--gold)}.auth-form{display:grid;gap:15px}.auth-field label{display:block;color:#aab3b3;font-size:12px;margin-bottom:6px}.auth-field input{width:100%;min-height:48px;background:#0e1618;color:white;border:1px solid #3d494c;padding:10px 12px}.auth-field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d2b07818}.auth-submit{min-height:50px;border:1px solid var(--gold);background:var(--gold);color:#162023;font-weight:750;cursor:pointer}.auth-help{font-size:12px;color:#96a1a2}.auth-message{min-height:20px;color:#b8c2c2;font-size:13px;margin-top:14px}.auth-message.error{color:#ffb9b5}@media(max-width:1150px){.account-actions{display:none}}@media(max-width:800px){.member-progress-cards{grid-template-columns:1fr}.member-progress-head{grid-template-columns:1fr}.member-summary{justify-content:flex-start}.member-progress-actions{align-items:flex-start;flex-direction:column}}@media(max-width:520px){.member-progress-section{padding:38px 0 44px}.member-summary{gap:16px}.member-summary div{min-width:0;flex:1;padding-left:12px}.member-summary b{font-size:28px}.member-progress-card{min-height:0}.auth-shell{padding:19px}}

/* Member account menu */
.account-menu{position:relative}
.account-menu>summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 4px;
}
.account-menu>summary::-webkit-details-marker{display:none}
.account-menu>summary:after{
  content:'▾';
  color:#8d9898;
  font-size:10px;
  transition:transform .15s ease;
}
.account-menu[open]>summary:after{transform:rotate(180deg)}
.account-menu-panel{
  position:absolute;
  right:0;
  top:52px;
  width:220px;
  padding:8px;
  background:#192123;
  border:1px solid #465255;
  box-shadow:0 22px 45px #0008;
  z-index:60;
}
.account-menu-panel button{
  width:100%;
  border:0;
  background:transparent;
  color:#dce3e1;
  text-align:left;
  min-height:42px;
  padding:10px 12px;
  cursor:pointer;
  font:600 12px/1.2 system-ui;
}
.account-menu-panel button:hover{
  color:var(--gold);
  background:#ffffff06;
}
.account-menu-divider{
  display:block;
  height:1px;
  background:#ffffff13;
  margin:6px 4px;
}

/* Account center */
dialog.account-center-dialog{
  width:min(1040px,calc(100% - 34px));
  max-height:min(86vh,860px);
  padding:0;
  border:1px solid #465255;
  background:#11191b;
  color:#f5f3ed;
  box-shadow:0 30px 90px #000b;
}
dialog.account-center-dialog::backdrop{
  background:#071011db;
  backdrop-filter:blur(7px);
}
.account-center-shell{min-height:610px}
.account-center-top{
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:20px 24px;
  border-bottom:1px solid #ffffff13;
  background:#101719;
}
.account-center-top .kicker{margin-bottom:4px}
.account-center-top h2{
  font-size:32px;
  line-height:1.05;
}
.account-center-layout{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:510px;
}
.account-center-nav{
  padding:18px 12px;
  border-right:1px solid #ffffff13;
  background:#151d1f;
}
.account-center-nav button{
  width:100%;
  min-height:46px;
  padding:11px 13px;
  border:0;
  background:transparent;
  color:#aeb8b8;
  text-align:left;
  cursor:pointer;
  font:650 13px/1.2 system-ui;
}
.account-center-nav button:hover{color:#fff;background:#ffffff05}
.account-center-nav button.active{
  color:var(--gold);
  background:#d2b0780d;
  border-left:2px solid var(--gold);
}
.account-center-content{
  min-width:0;
  max-height:calc(86vh - 96px);
  overflow:auto;
  padding:28px;
  background:#101719;
}
.account-center-content .member-progress-head{
  margin-bottom:22px;
}
.account-center-content .member-progress-cards{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.account-panel-intro{
  max-width:620px;
  margin-bottom:28px;
}
.account-panel-intro h2{
  font-size:40px;
  margin-bottom:10px;
}
.account-panel-intro p{
  color:var(--muted);
}
.account-settings-form{
  max-width:520px;
  display:grid;
  gap:16px;
}
.account-settings-message{
  min-height:20px;
  color:#b7c1c0;
  font-size:13px;
}
.membership-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  max-width:620px;
}
.membership-card>div{
  border:1px solid #ffffff16;
  background:#192123;
  padding:20px;
}
.membership-card span{
  display:block;
  color:#95a0a0;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:7px;
}
.membership-card strong{
  color:var(--gold);
  font:400 30px/1.1 var(--serif);
}
.membership-note{
  color:var(--muted);
  font-size:13px;
  margin-top:18px;
  max-width:620px;
}

@media(max-width:860px){
  .account-center-layout{grid-template-columns:1fr}
  .account-center-nav{
    display:flex;
    overflow-x:auto;
    border-right:0;
    border-bottom:1px solid #ffffff13;
    padding:8px;
  }
  .account-center-nav button{
    width:auto;
    min-width:max-content;
    border-left:0!important;
    border-bottom:2px solid transparent;
  }
  .account-center-nav button.active{border-bottom-color:var(--gold)}
  .account-center-content{max-height:calc(86vh - 150px);padding:20px}
  .account-center-content .member-progress-cards{grid-template-columns:1fr}
}
@media(max-width:560px){
  dialog.account-center-dialog{
    width:calc(100% - 14px);
    max-height:92vh;
  }
  .account-center-top{min-height:82px;padding:15px}
  .account-center-top h2{font-size:27px}
  .account-center-content{padding:16px;max-height:calc(92vh - 138px)}
  .account-center-content .member-progress-head{display:block}
  .account-center-content .member-summary{margin-top:18px}
  .membership-card{grid-template-columns:1fr}
}


/* Account security */
.auth-form-row,.auth-back-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:26px;
}
.auth-back-row{justify-content:flex-start}
.auth-link-button{
  border:0;
  background:transparent;
  color:var(--gold);
  padding:3px 0;
  cursor:pointer;
  font:650 12px/1.3 system-ui;
}
.auth-link-button:hover{
  color:#ead3ac;
  text-decoration:underline;
}
.auth-link-button:disabled{
  opacity:.5;
  cursor:not-allowed;
  text-decoration:none;
}
.auth-panel-copy{
  margin-bottom:4px;
}
.auth-panel-copy h3{
  font:400 28px/1.15 var(--serif);
  color:#f5f3ed;
  margin:0 0 8px;
}
.auth-panel-copy p{
  color:#aeb8b8;
  font-size:13px;
  margin:0;
}
.verification-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-top:1px solid #ffffff12;
  border-bottom:1px solid #ffffff12;
}
.verification-row>div{
  min-width:0;
}
.verification-row span{
  display:block;
  color:#9ca7a8;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.8px;
}
.verification-row strong{
  display:block;
  margin-top:4px;
  font-size:14px;
  color:#d7dfdd;
}
.verification-row strong.verified{color:#9fd0ac}
.verification-row strong.unverified{color:#e4c387}
.security-divider{
  height:1px;
  background:#ffffff16;
  margin:32px 0;
}
.security-heading{
  margin-bottom:20px;
}
.security-heading h3{
  font:400 31px/1.1 var(--serif);
  color:#f5f3ed;
  margin-bottom:9px;
}
.account-settings-form+.security-divider{
  max-width:620px;
}
.auth-field input[readonly]{
  color:#9ba6a7;
  cursor:not-allowed;
  background:#121a1c;
}

@media(max-width:560px){
  .verification-row{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
}


/* Separate authentication dialogs */
dialog.auth-dialog{
  width:min(450px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
}
dialog#sign-up-dialog{width:min(470px,calc(100% - 32px))}
dialog.auth-dialog-compact{width:min(430px,calc(100% - 32px))}
.auth-dialog .auth-shell{padding:28px}
.auth-dialog .auth-top{
  align-items:flex-start;
  margin-bottom:26px;
}
.auth-dialog .auth-top .kicker{
  margin-bottom:6px;
  font-size:11px;
}
.auth-dialog .auth-top h2{
  font-size:34px;
  line-height:1.08;
}
.auth-dialog .auth-form{
  gap:16px;
}
.auth-dialog .auth-help{
  margin:0;
  line-height:1.55;
}
.auth-switch{
  margin-top:2px;
  padding-top:16px;
  border-top:1px solid #ffffff12;
  color:#98a4a4;
  text-align:center;
  font-size:12px;
}
.auth-switch button{
  border:0;
  background:transparent;
  color:var(--gold);
  padding:4px 5px;
  cursor:pointer;
  font:700 12px/1.2 system-ui;
}
.auth-switch button:hover{
  color:#ead3ac;
  text-decoration:underline;
}
.auth-message{
  margin-top:0;
}
.auth-message:empty{
  display:none;
}
.auth-dialog .auth-panel-copy{
  margin:0 0 2px;
}
.auth-dialog .auth-panel-copy p{
  font-size:13px;
  line-height:1.6;
}
.auth-dialog .auth-close{
  flex:0 0 42px;
}
@media(max-width:520px){
  dialog.auth-dialog,
  dialog#sign-up-dialog,
  dialog.auth-dialog-compact{
    width:calc(100% - 18px);
    max-height:calc(100dvh - 18px);
  }
  .auth-dialog .auth-shell{padding:20px}
  .auth-dialog .auth-top{margin-bottom:21px}
  .auth-dialog .auth-top h2{font-size:30px}
}


/* Recent training history */
.recent-sessions{
  margin-top:34px;
  padding-top:28px;
  border-top:1px solid #ffffff14;
}
.recent-sessions-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.recent-sessions-head .kicker{
  margin-bottom:5px;
}
.recent-sessions-head h3{
  margin:0;
  color:#f5f3ed;
  font:400 29px/1.1 var(--serif);
}
.recent-sessions-head>span{
  color:#98a3a3;
  font-size:12px;
}
.recent-session-list{
  display:grid;
  border:1px solid #ffffff14;
  background:#151d1f;
}
.recent-session-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:16px 18px;
  border-bottom:1px solid #ffffff10;
  color:inherit;
}
.recent-session-row:last-child{
  border-bottom:0;
}
.recent-session-row:hover{
  background:#ffffff04;
}
.recent-session-main{
  min-width:0;
}
.recent-session-main>span{
  display:block;
  color:var(--gold);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:3px;
}
.recent-session-main strong{
  display:block;
  color:#eef0ec;
  font-size:14px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.recent-session-main small{
  display:block;
  color:#8e999a;
  font-size:11px;
  margin-top:4px;
}
.recent-session-score{
  text-align:right;
}
.recent-session-score b{
  display:block;
  color:#f5f3ed;
  font:400 24px/1 var(--serif);
}
.recent-session-score small{
  display:block;
  color:#8e999a;
  font-size:11px;
  margin-top:4px;
}
.recent-session-empty{
  padding:20px;
  color:#8e999a;
  font-size:13px;
}
@media(max-width:560px){
  .recent-sessions-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .recent-session-row{
    padding:14px;
  }
}


/* Authentication visibility and protected trainer links */
[data-auth-guest][hidden],
[data-auth-user][hidden]{
  display:none!important;
}

.auth-signed-out a[data-p101-protected="true"]{
  cursor:pointer;
}

@media(max-width:1150px){
  .mobile-nav nav [data-auth-guest][hidden],
  .mobile-nav nav [data-auth-user][hidden]{
    display:none!important;
  }
}
