:root{
  --bg:#05090e;
  --panel:#0b1118;
  --panel2:#101820;
  --line:rgba(255,255,255,.11);
  --text:#f7f9ff;
  --muted:rgba(247,249,255,.68);
  --blue:#2388ff;
  --blue2:#0b6dff;
  --purple:#8f4dff;
  --green:#32e16c;
  --yellow:#ffdf62;
  --orange:#ff8a2a;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,rgba(35,136,255,.14),transparent 34%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
.app-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;padding:calc(14px + env(safe-area-inset-top)) 18px 14px;background:linear-gradient(180deg,rgba(5,9,14,.98),rgba(5,9,14,.88));backdrop-filter:blur(12px)}
.hamburger,.helmet{height:42px;border:0;background:transparent;color:var(--text);font-size:1.6rem}
.helmet{color:var(--blue);display:grid;place-items:center}
.brand{text-align:center;font-size:1.55rem;font-weight:950;letter-spacing:-.04em}
.brand span{color:#fff}.brand b{color:var(--blue)}
.app-main{width:min(1120px,100%);margin:0 auto;padding:10px 14px 16px}
.page{display:none}.page.active{display:block}
h2{margin:8px 0 14px;font-size:1.35rem;letter-spacing:-.03em}
h3{margin:0;font-size:.95rem;letter-spacing:.02em}
button{font:inherit;cursor:pointer}
.status-card,.kpi-card,.chart-card,.list-card,.body-card,.summary-card,.howto-card{
  background:linear-gradient(145deg,rgba(16,24,32,.95),rgba(5,9,14,.98));
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 18px 42px rgba(0,0,0,.36);
}
.status-card{padding:18px;margin-bottom:12px}
.eyebrow,.kpi-card label{display:block;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.06em}
.status-row{display:flex;align-items:center;gap:8px;margin:8px 0}
.status-text{font-size:2rem;font-weight:950;color:var(--green);text-shadow:0 0 18px rgba(50,225,108,.24)}
.status-icon{font-size:1.6rem;color:var(--green)}
.focus{font-weight:850;margin:10px 0 12px}
.wellness-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wellness-grid label{color:var(--muted);font-size:.8rem}.wellness-grid b{display:block;margin-top:4px;color:var(--yellow)}
.status-card p{margin:12px 0 0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px}
.kpi-card{min-height:142px;padding:14px;position:relative;overflow:hidden}
.kpi-card strong{display:block;margin:8px 0 2px;font-size:1.9rem}
.kpi-card span{color:var(--muted)}
.kpi-card canvas{position:absolute;left:12px;right:12px;bottom:10px;width:calc(100% - 24px);height:36px}
.flame{position:absolute;right:22px;bottom:28px;font-size:2.5rem;filter:drop-shadow(0 0 15px rgba(255,138,42,.4))}
.chart-card,.list-card,.body-card{padding:14px;margin-bottom:12px}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.card-head button,.card-head span{border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--muted);border-radius:10px;padding:6px 10px;font-size:.82rem}
.chart{width:100%;height:210px;border-radius:12px;background:rgba(0,0,0,.18)}
.recent-list{display:grid;gap:8px;color:var(--muted)}
.pr-row{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border-top:1px solid var(--line);padding:10px 0}
.pr-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08)}
.pr-row b{color:#fff}.pr-row strong{color:var(--green)}
.bottom-nav{position:fixed;z-index:100;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(5,9,14,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line)}
.bottom-nav button{display:grid;place-items:center;gap:3px;border:0;background:transparent;color:rgba(255,255,255,.6);min-height:58px;border-radius:16px}
.bottom-nav button span{font-size:1.65rem;line-height:1}.bottom-nav button small{font-size:.72rem}
.bottom-nav button.active{color:var(--blue);background:rgba(35,136,255,.10)}
.bottom-nav .center{transform:translateY(-12px)}
.bottom-nav .center span{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;font-size:2.2rem;box-shadow:0 10px 24px rgba(35,136,255,.30)}
.compact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:800}
input,select,textarea{width:100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.93);color:#07111b;padding:8px 10px;font-size:16px}
textarea{min-height:80px}.full-label{margin-top:10px}
.button-row{display:flex;justify-content:flex-end;margin:12px 0}.button-row button,.tools-grid button,.more-page-grid button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--blue),var(--purple));color:#fff;padding:11px 14px;font-weight:900}
.summary-card,.howto-card{padding:14px;margin:12px 0;color:var(--muted)}
.exercise-log,.card-list{display:grid;gap:10px}
.exercise-card,.item-card{background:linear-gradient(145deg,rgba(16,24,32,.95),rgba(5,9,14,.98));border:1px solid var(--line);border-radius:15px;padding:12px}
.set-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}
.progress-grid{display:grid;gap:12px}
.body-wrap{display:flex;align-items:center;justify-content:space-around;gap:12px}
.body-svg{width:160px;filter:drop-shadow(0 0 18px rgba(35,136,255,.22))}
.legend{display:grid;gap:10px;color:var(--muted)}
.legend span{display:flex;gap:7px;align-items:center}.legend i{display:inline-block;width:12px;height:12px;border-radius:4px}
.high{background:var(--green)}.moderate{background:var(--blue)}.low{background:var(--orange)}.minimal{background:#89939e}
.tools-grid,.more-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tools-grid .primary{background:linear-gradient(135deg,var(--green),var(--blue))}
.empty{padding:8px 0}
@media(min-width:760px){
  .app-main{padding-inline:18px}
  #dashboard{display:none}
  #dashboard.active{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:12px}
  #dashboard.active .status-card{grid-column:span 2;margin:0}
  #dashboard.active .kpi-grid{display:contents}
  #dashboard.active .chart-card{grid-column:span 3}
  #dashboard.active .list-card{grid-column:span 2}
  .progress-grid{grid-template-columns:repeat(2,1fr)}
  .body-card{grid-column:span 2}
}
/* Rev 5.2 - Template Builder + Nutrition */
.builder-card{background:linear-gradient(145deg,rgba(16,24,32,.95),rgba(5,9,14,.98));border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 42px rgba(0,0,0,.36);padding:14px;margin-bottom:14px}
.suggestion-panel{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.035)}
.suggestion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}
.suggest-item{display:flex;align-items:center;gap:8px;padding:9px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-weight:800}
.suggest-item input{width:auto;min-height:auto}
.template-working-list{margin-top:12px}
.exercise-row{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px}
.exercise-row small{color:var(--muted)}
.exercise-row button,.template-actions button{border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;padding:7px 9px;font-weight:900}
.template-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.template-actions .edit{background:linear-gradient(135deg,var(--blue),var(--purple))}
.macro-ring{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.macro-pill{border:1px solid var(--line);border-radius:13px;padding:10px;background:rgba(255,255,255,.04)}
.macro-pill b{display:block;color:#fff;font-size:1.15rem}.macro-pill span{color:var(--muted);font-size:.78rem}
@media(max-width:760px){.suggestion-grid{grid-template-columns:1fr!important}.exercise-row{grid-template-columns:1fr auto auto!important}.exercise-row small{grid-column:1/-1}.macro-ring{grid-template-columns:1fr 1fr 1fr}}


/* Rev 5.4 - Human Performance muscle map upgrade */
.body-card{
  background:
    radial-gradient(circle at 28% 28%, rgba(35,136,255,.12), transparent 34%),
    linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99));
}
.body-wrap{
  min-height:260px;
  align-items:center;
  justify-content:center;
}
.athletic-body-svg{
  width:min(210px,52vw);
  max-width:240px;
  filter:drop-shadow(0 0 22px rgba(35,136,255,.24));
}
.muscle-primary{animation:primePulseBlue 2.8s ease-in-out infinite}
.muscle-secondary{animation:primePulseGreen 3.2s ease-in-out infinite}
.muscle-light{animation:primePulseOrange 3.8s ease-in-out infinite}
@keyframes primePulseBlue{0%,100%{opacity:.9}50%{opacity:1;filter:brightness(1.18)}}
@keyframes primePulseGreen{0%,100%{opacity:.78}50%{opacity:1;filter:brightness(1.2)}}
@keyframes primePulseOrange{0%,100%{opacity:.62}50%{opacity:.92;filter:brightness(1.14)}}
.legend{
  padding:10px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
@media(max-width:760px){
  .body-wrap{min-height:230px}
  .athletic-body-svg{width:min(190px,50vw)}
}

/* Rev 5.4 - slightly richer app identity polish */
.helmet{
  color:var(--green);
  text-shadow:0 0 18px rgba(50,225,108,.35);
}
.brand b{
  text-shadow:0 0 18px rgba(35,136,255,.35);
}


/* Rev 5.5 - Realistic human muscle-map replacement */
.body-card{
  background:
    radial-gradient(circle at 28% 22%, rgba(35,136,255,.15), transparent 34%),
    radial-gradient(circle at 76% 44%, rgba(143,77,255,.10), transparent 28%),
    linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99));
}
.body-wrap{
  display:block;
  min-height:0;
}
.human-muscle-map{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:center;
  justify-items:center;
}
.human-muscle-svg{
  width:100%;
  max-width:560px;
  min-height:245px;
  filter:drop-shadow(0 0 20px rgba(35,136,255,.20));
}
.primary-muscle{animation:primeBluePulse 2.8s ease-in-out infinite}
.secondary-muscle{animation:primeGreenPulse 3.15s ease-in-out infinite}
.light-muscle{animation:primeOrangePulse 3.7s ease-in-out infinite}
@keyframes primeBluePulse{0%,100%{opacity:.88}50%{opacity:1;filter:brightness(1.2)}}
@keyframes primeGreenPulse{0%,100%{opacity:.78}50%{opacity:1;filter:brightness(1.15)}}
@keyframes primeOrangePulse{0%,100%{opacity:.62}50%{opacity:.92;filter:brightness(1.12)}}
.human-muscle-map .legend{
  display:grid;
  grid-template-columns:repeat(4,auto);
  gap:8px 12px;
  justify-content:center;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
}
.human-muscle-map .legend span{
  display:flex;
  gap:6px;
  align-items:center;
  font-size:.78rem;
}
@media(max-width:760px){
  .human-muscle-svg{
    max-width:430px;
    min-height:225px;
  }
  .human-muscle-map .legend{
    grid-template-columns:repeat(2,auto);
  }
}


/* Rev 5.6 - Premium human anatomy image and functional drawer */
.premium-human-map{display:grid;justify-items:center;gap:10px}
.premium-human-map img{width:100%;max-width:560px;display:block;border-radius:16px;filter:drop-shadow(0 0 22px rgba(35,136,255,.22))}
.body-card{background:radial-gradient(circle at 30% 20%, rgba(35,136,255,.16), transparent 34%),radial-gradient(circle at 74% 46%, rgba(143,77,255,.11), transparent 28%),linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99))}
.body-wrap{display:block}
.side-drawer{position:fixed;inset:0;z-index:1000;pointer-events:none}
.side-drawer.open{pointer-events:auto}
.drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);opacity:0;transition:.22s ease}
.side-drawer.open .drawer-backdrop{opacity:1}
.drawer-panel{position:absolute;top:0;bottom:0;left:0;width:min(320px,86vw);background:linear-gradient(180deg,rgba(9,14,22,.98),rgba(5,9,14,.99));border-right:1px solid var(--line);box-shadow:24px 0 60px rgba(0,0,0,.55);padding:calc(18px + env(safe-area-inset-top)) 14px 18px;transform:translateX(-105%);transition:.24s ease;overflow-y:auto}
.side-drawer.open .drawer-panel{transform:translateX(0)}
.drawer-head{display:grid;grid-template-columns:50px 1fr 38px;align-items:center;gap:10px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:12px}
.drawer-avatar{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--purple));font-weight:950}
.drawer-head b{display:block;font-size:1.1rem}.drawer-head span{color:var(--muted);font-size:.78rem}
.drawer-head button{border:0;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;min-height:36px;font-size:1.35rem}
.drawer-section-label{color:var(--muted);text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;font-weight:900;margin:14px 8px 6px}
.drawer-panel > button{width:100%;min-height:44px;border:0;border-radius:14px;margin:4px 0;padding:10px 12px;background:rgba(255,255,255,.055);color:#fff;text-align:left;font-weight:850}
.drawer-panel > button:hover,.drawer-panel > button:focus{background:linear-gradient(135deg,rgba(35,136,255,.28),rgba(143,77,255,.20))}
body.drawer-open{overflow:hidden}
@media(max-width:760px){.premium-human-map img{max-width:430px}}


/* Rev 5.7 - Approved realistic anatomy asset */
.approved-muscle-card{
  padding:0!important;
  overflow:hidden;
  background:#07101a!important;
  border:1px solid rgba(255,255,255,.12);
}
.approved-muscle-wrap{
  width:100%;
  display:block;
}
.approved-muscle-wrap img{
  display:block;
  width:100%;
  height:auto;
  border-radius:18px;
  filter:drop-shadow(0 0 22px rgba(35,136,255,.18));
}
@media(max-width:760px){
  .approved-muscle-card{
    border-radius:18px;
  }
}


/* Rev 5.8 - PrimeTrack helmet identity + anatomy swap */
.helmet{
  display:grid;
  place-items:center;
}
.helmet img{
  width:38px;
  height:38px;
  border-radius:12px;
  filter:drop-shadow(0 0 14px rgba(35,136,255,.45));
}
.approved-muscle-wrap img,
#muscleFocusImg{
  width:100%;
  display:block;
  border-radius:18px;
}


/* Rev 5.9 - refined helmet icon and improved female anatomy asset */
.helmet img{
  border-radius:13px;
  box-shadow:0 0 18px rgba(35,136,255,.35), inset 0 0 12px rgba(255,255,255,.08);
}


/* Rev 6.1 - keep 5.9 app shell and corrected anatomy display */
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  border-radius:18px!important;
}
.approved-muscle-card,
.body-card{
  background:#07101a!important;
}


/* Rev 6.2 - consistent full-card anatomy images */
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:18px!important;
}
.approved-muscle-card{
  background:#07101a!important;
  overflow:hidden!important;
}


/* Rev 6.4 - full-card anatomy consistency and working controls */
.approved-muscle-card{
  padding:0!important;
  overflow:hidden!important;
  background:#07101a!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.muscle-card-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px 6px;
}
.muscle-card-live-head h3{
  margin:0;
}
.muscle-card-live-head span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  margin-top:2px;
}
.muscle-range-buttons{
  display:flex;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
}
.muscle-range-buttons button{
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  padding:7px 10px;
  font-size:.78rem;
}
.muscle-range-buttons button.active{
  background:linear-gradient(135deg,rgba(35,136,255,.45),rgba(35,136,255,.16));
  color:#fff;
}
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:0 0 18px 18px!important;
}
.approved-muscle-wrap{
  width:100%!important;
}
@media(max-width:760px){
  .muscle-card-live-head{
    padding:10px 12px 6px;
  }
  .muscle-range-buttons button{
    padding:6px 8px;
    font-size:.72rem;
  }
}


/* Rev 6.4 - both male/female cards share identical behavior and presentation */
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:0 0 18px 18px!important;
}
.approved-muscle-card{
  padding:0!important;
  overflow:hidden!important;
  background:#07101a!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.muscle-range-buttons button.active{
  background:linear-gradient(135deg,rgba(35,136,255,.50),rgba(35,136,255,.16))!important;
  color:#fff!important;
}


/* Rev 6.7 - clean first-time user profile setup gate */
.profile-setup-gate{
  display:none;
  position:fixed;
  inset:0;
  z-index:2000;
  background:radial-gradient(circle at top,rgba(35,136,255,.18),transparent 34%),rgba(3,7,12,.96);
  backdrop-filter:blur(16px);
  padding:calc(20px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));
  overflow:auto;
}
.profile-setup-gate.open{
  display:grid;
  place-items:center;
}
body.setup-locked{
  overflow:hidden;
}
.setup-card{
  width:min(680px,100%);
  background:linear-gradient(145deg,rgba(16,24,32,.98),rgba(5,9,14,.99));
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  box-shadow:0 24px 80px rgba(0,0,0,.58);
  padding:18px;
}
.setup-brand{
  display:grid;
  grid-template-columns:64px 1fr;
  gap:14px;
  align-items:center;
  margin-bottom:16px;
}
.setup-brand img{
  width:58px;
  height:58px;
  border-radius:16px;
  box-shadow:0 0 24px rgba(35,136,255,.35);
}
.setup-brand h1{
  margin:0;
  font-size:1.55rem;
  letter-spacing:-.04em;
}
.setup-brand p{
  margin:4px 0 0;
  color:var(--muted);
}
.setup-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.setup-primary{
  width:100%;
  margin-top:16px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--blue),var(--purple));
  color:#fff;
  padding:13px 16px;
  font-weight:950;
}
.setup-card small{
  display:block;
  color:var(--muted);
  text-align:center;
  margin-top:10px;
}
@media(max-width:760px){
  .setup-card{
    padding:16px;
  }
  .setup-grid{
    grid-template-columns:1fr;
  }
}


/* Rev 6.7 - unified muscle module, real controls, blank day-1 charts */
.approved-muscle-card{
  padding:0!important;
  overflow:hidden!important;
  background:#07101a!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.muscle-card-live-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px 6px;
  background:linear-gradient(180deg,rgba(16,24,32,.96),rgba(5,13,22,.92));
}
.muscle-card-live-head h3{
  margin:0;
}
.muscle-card-live-head span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  margin-top:2px;
}
.muscle-range-buttons{
  display:flex;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
}
.muscle-range-buttons button{
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  padding:7px 10px;
  font-size:.78rem;
}
.muscle-range-buttons button.active{
  background:linear-gradient(135deg,rgba(35,136,255,.52),rgba(35,136,255,.16))!important;
  color:#fff!important;
}
.approved-muscle-wrap{
  position:relative;
  width:100%!important;
}
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:0 0 18px 18px!important;
}
#muscleAnalysisBtn{
  position:absolute;
  right:14px;
  bottom:14px;
  border:1px solid rgba(35,136,255,.42);
  background:rgba(5,13,22,.72);
  color:#2388ff;
  border-radius:10px;
  padding:8px 12px;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.muscle-analysis-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:3000;
}
.muscle-analysis-modal.open{
  display:block;
}
.muscle-analysis-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(8px);
}
.muscle-analysis-card{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(560px,calc(100vw - 28px));
  background:linear-gradient(145deg,rgba(16,24,32,.98),rgba(5,9,14,.99));
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  padding:16px;
  box-shadow:0 24px 80px rgba(0,0,0,.62);
}
.muscle-analysis-card .card-head button{
  border:0;
  border-radius:12px;
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:8px 12px;
}
.analysis-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.analysis-grid div,
.analysis-empty{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.04);
}
.analysis-grid span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
}
.analysis-grid b{
  display:block;
  margin-top:4px;
}
@media(max-width:760px){
  .muscle-card-live-head{
    padding:10px 12px 6px;
  }
  .muscle-range-buttons button{
    padding:6px 8px;
    font-size:.72rem;
  }
  #muscleAnalysisBtn{
    right:10px;
    bottom:10px;
    padding:7px 9px;
    font-size:.72rem;
  }
}


/* Rev 6.7 - hard stop overlap: single image only */
.approved-muscle-wrap{
  position:relative!important;
  overflow:hidden!important;
  background:#07101a!important;
}
#muscleFocusImg{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  position:relative!important;
  z-index:1!important;
  border-radius:0 0 18px 18px!important;
}
.approved-muscle-wrap > img:not(#muscleFocusImg){
  display:none!important;
}
#muscleAnalysisBtn{
  z-index:3!important;
}
.muscle-range-buttons button.active{
  background:linear-gradient(135deg,rgba(35,136,255,.52),rgba(35,136,255,.16))!important;
  color:#fff!important;
}


/* Rev 6.8 - Bowflex rod selector in workout log */
.workout-entry-card{
  display:grid;
  gap:10px;
}
.exercise-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.exercise-card-head small{
  color:var(--muted);
  font-size:.72rem;
}
.bowflex-panel{
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  background:rgba(35,136,255,.045);
}
.bowflex-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
}
.bowflex-toolbar button{
  border:0;
  border-radius:10px;
  padding:6px 9px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:900;
}
.bowflex-rod-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
}
.bowflex-rod-btn{
  min-height:54px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(255,255,255,.045);
  color:#fff;
  display:grid;
  place-items:center;
  padding:7px 4px;
  font-weight:950;
}
.bowflex-rod-btn small{
  color:var(--muted);
  font-size:.68rem;
}
.bowflex-rod-btn.selected{
  background:linear-gradient(135deg,rgba(35,136,255,.85),rgba(143,77,255,.68));
  border-color:rgba(35,136,255,.85);
  box-shadow:0 0 18px rgba(35,136,255,.22);
}
.bowflex-rod-btn.selected small{
  color:#fff;
}
.bowflex-total-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--line);
}
.bowflex-total-row b{
  color:var(--muted);
  font-size:.78rem;
}
.bowflex-total-row strong{
  color:var(--green);
}
.load-label{
  color:var(--muted);
  font-size:.78rem;
}
@media(max-width:760px){
  .bowflex-rod-grid{
    grid-template-columns:repeat(5,1fr);
    gap:6px;
  }
  .bowflex-rod-btn{
    min-height:48px;
    font-size:.86rem;
  }
}


/* Rev 6.9 - template builder selected suggestion clarity */
.suggest-item{
  cursor:pointer;
}
.suggest-item:has(input:checked){
  border-color:rgba(35,136,255,.75)!important;
  background:rgba(35,136,255,.14)!important;
  box-shadow:0 0 14px rgba(35,136,255,.16);
}


/* Rev 7.0 - dynamic workout sets */
.set-count-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(35,136,255,.13);
  color:#fff;
  border:1px solid rgba(35,136,255,.25);
  font-size:.74rem;
  font-weight:900;
  white-space:nowrap;
}
.dynamic-set-grid{
  grid-template-columns:repeat(auto-fit,minmax(68px,1fr))!important;
}
.set-action-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.set-action-row button{
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.065);
  color:#fff;
  min-height:38px;
  font-weight:900;
}
.set-action-row button:first-child{
  background:linear-gradient(135deg,rgba(35,136,255,.32),rgba(143,77,255,.22));
}
@media(max-width:760px){
  .set-action-row button{
    min-height:36px;
    font-size:.78rem;
  }
}


/* Rev 7.1 - Daily Check-In */
.daily-checkin-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:2600;
}
.daily-checkin-modal.open{
  display:block;
}
.daily-checkin-backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.68);
  backdrop-filter:blur(10px);
}
.daily-checkin-card{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(680px,calc(100vw - 28px));
  max-height:calc(100vh - 40px);
  overflow:auto;
  background:linear-gradient(145deg,rgba(16,24,32,.98),rgba(5,9,14,.99));
  border:1px solid rgba(255,255,255,.14);
  border-radius:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.62);
  padding:16px;
}
.daily-checkin-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.daily-checkin-head h2{
  margin:0;
}
.daily-checkin-head p{
  margin:4px 0 0;
  color:var(--muted);
}
.daily-checkin-head button{
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:8px 10px;
  font-weight:900;
}
.daily-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.daily-primary{
  width:100%;
  margin-top:14px;
  border:0;
  border-radius:16px;
  background:linear-gradient(135deg,var(--blue),var(--purple));
  color:#fff;
  padding:13px 16px;
  font-weight:950;
}
body.daily-checkin-open{
  overflow:hidden;
}
@media(max-width:760px){
  .daily-grid{
    grid-template-columns:1fr;
  }
  .daily-checkin-card{
    top:18px;
    transform:translateX(-50%);
    max-height:calc(100vh - 36px);
  }
}


/* Rev 8.2 - Daily check-in preference controls */
.daily-skip-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.daily-skip-actions button{
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.07);
  color:#fff;
  padding:8px 10px;
  font-weight:900;
}
.daily-skip-actions button:last-child{
  background:rgba(35,136,255,.14);
  border-color:rgba(35,136,255,.28);
}
@media(max-width:760px){
  .daily-skip-actions{
    width:100%;
    justify-content:stretch;
  }
  .daily-skip-actions button{
    flex:1 1 100%;
  }
}



/* Rev 8.2 - Daily Progress Engine */
.daily-engine-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  margin:12px 0;
  background:linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99));
}
.engine-pill{
  color:#fff;
  font-size:.72rem;
  padding:6px 9px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(35,136,255,.38),rgba(143,77,255,.26));
  border:1px solid rgba(35,136,255,.3);
}
.daily-engine-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.daily-engine-grid .empty{
  grid-column:1/-1;
  color:var(--muted);
}
.daily-metric-card,
.daily-baseline-card,
.daily-focus-card{
  border:1px solid var(--line);
  border-radius:15px;
  padding:12px;
  background:rgba(255,255,255,.04);
}
.daily-metric-card span{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
}
.daily-metric-card b{
  display:block;
  font-size:1.45rem;
  margin:4px 0;
}
.daily-metric-card small,
.daily-baseline-card small{
  display:block;
  color:var(--muted);
  margin-top:3px;
}
.daily-baseline-card b{
  display:block;
  font-size:1.1rem;
}
.daily-baseline-card span{
  color:var(--blue);
  font-weight:900;
}
.daily-focus-card{
  grid-column:1/-1;
}
.daily-focus-card b{
  display:block;
  margin-bottom:8px;
}
.daily-focus-card ul{
  margin:0;
  padding-left:20px;
  color:var(--text);
}
.daily-focus-card li{
  margin:6px 0;
}
em.good{color:var(--green);font-style:normal;font-weight:900}
em.watch{color:#ffb23f;font-style:normal;font-weight:900}
em.neutral{color:var(--muted);font-style:normal;font-weight:900}
.daily-metric-card.good{border-color:rgba(50,225,108,.28)}
.daily-metric-card.watch{border-color:rgba(255,178,63,.30)}
@media(max-width:760px){
  .daily-engine-grid{
    grid-template-columns:1fr;
  }
}


/* Rev 8.2 - compact workout log + cardio mode */
.compact-workout-card{gap:10px!important;padding:14px!important}
.compact-head{align-items:center}
.set-select-label{display:flex;align-items:center;gap:7px;min-width:120px;justify-content:flex-end}
.set-select-label span{color:#fff;font-weight:900;font-size:.78rem;padding:6px 8px;border:1px solid rgba(35,136,255,.28);border-radius:999px;background:rgba(35,136,255,.12);white-space:nowrap}
.set-select-label select{width:52px;min-height:34px;padding:4px 6px;border-radius:12px;font-weight:900}
.compact-bowflex-panel{padding:10px!important}
.compact-bowflex-panel .bowflex-toolbar{margin-bottom:7px}
.compact-bowflex-panel .bowflex-rod-grid{gap:6px}
.compact-bowflex-panel .bowflex-rod-btn{min-height:46px}
.compact-set-grid{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))!important;gap:8px!important}
.compact-set-grid input{min-height:48px!important}
.bowflex-total-row small{color:var(--muted);font-size:.68rem}
.cardio-log-panel{display:grid;gap:12px}
.cardio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cardio-summary-card{border:1px solid var(--line);border-radius:18px;padding:14px;background:linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99))}
#cardioSummary,#cardioProgressSummary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cardio-total-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}
.cardio-total-card span{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:900}
.cardio-total-card b{display:block;font-size:1.35rem;margin:4px 0}
.cardio-total-card small{display:block;color:var(--muted);margin-top:3px}
@media(max-width:760px){
  .compact-workout-card{padding:12px!important}
  .set-select-label{min-width:auto}
  .bowflex-rod-btn{min-height:44px!important}
  .cardio-grid,#cardioSummary,#cardioProgressSummary{grid-template-columns:1fr}
}


/* Rev 8.2 - workout draft + strength totals */
.draft-status{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.82rem;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.strength-summary-card{
  margin-bottom:12px;
}
#strengthProgressSummary{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.strength-total-card b{
  color:var(--green);
}
@media(max-width:760px){
  #strengthProgressSummary{
    grid-template-columns:1fr;
  }
}


/* Rev 8.2 - version label + rep dropdowns + duplicate finish guard */
.app-version-display{
  margin:8px 24px 0;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
}
.rep-select{
  min-height:48px;
  border-radius:16px;
  padding:0 12px;
  font-weight:900;
  background:#f2f2f3;
  color:#08111d;
  border:0;
}
button:disabled{
  opacity:.55;
  pointer-events:none;
}
@media(max-width:760px){
  .app-version-display{
    margin:8px 24px 0;
    font-size:.76rem;
  }
}


/* Rev 8.2 - real chart status + version discipline */
.chart-data-status{
  margin:0 24px 12px;
  color:var(--muted);
  font-size:.82rem;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.app-version-display{
  margin:8px 24px 0;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
}
.green{
  color:var(--green)!important;
}
@media(max-width:760px){
  .chart-data-status{
    margin:0 24px 10px;
  }
}


/* Rev 8.2 - clean build artifact and anatomy beta status */
.muscle-map-status{
  display:block;
  color:var(--muted);
  font-size:.68rem;
  margin-top:2px;
  font-weight:750;
}
.app-version-display{
  margin:8px 24px 0;
  color:var(--muted);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.01em;
}


/* Rev 8.2 - compact top fields + Nordic Track/cardio metric entry */
#log .grid,
#log .form-grid{
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
}
.compact-top-label{
  min-width:0!important;
}
.compact-top-input{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  font-size:1rem!important;
  padding:11px 12px!important;
  border-radius:15px!important;
  box-sizing:border-box!important;
}
#workoutDate.compact-top-input{
  font-size:.95rem!important;
}
#workoutTemplate.compact-top-input{
  font-size:.95rem!important;
}
.cardio-log-panel{
  display:grid;
  gap:12px;
}
.nordic-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99));
}
.nordic-card h3{
  margin:0 0 12px;
}
.nordic-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.nordic-grid label{
  min-width:0;
}
.nordic-grid input{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:760px){
  #log .grid,
  #log .form-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .compact-top-input{
    font-size:.93rem!important;
    padding:10px 10px!important;
  }
  #workoutDate.compact-top-input,
  #workoutTemplate.compact-top-input{
    font-size:.88rem!important;
  }
  .nordic-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
}


/* Rev 8.2 - hard mobile fix for Date/Template overlap */
#log .grid,
#log .form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  align-items:end!important;
}
#log label,
#log .prime-compact-label-81{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
#log input,
#log select,
#log textarea,
.prime-compact-field-81{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
#workoutDate.prime-compact-field-81,
#workoutTemplate.prime-compact-field-81{
  font-size:.84rem!important;
  padding:10px 9px!important;
  border-radius:14px!important;
}
#workoutTemplate.prime-compact-field-81{
  text-overflow:ellipsis!important;
}
@media(max-width:760px){
  #log .grid,
  #log .form-grid{
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
  }
  #workoutDate.prime-compact-field-81,
  #workoutTemplate.prime-compact-field-81{
    font-size:.78rem!important;
    padding:9px 8px!important;
    min-height:44px!important;
  }
  #workoutEnergy.prime-compact-field-81,
  #workoutPain.prime-compact-field-81{
    font-size:.95rem!important;
    padding:9px 8px!important;
    min-height:44px!important;
  }
}
@media(max-width:420px){
  #log .grid,
  #log .form-grid{
    grid-template-columns:1fr!important;
  }
  #workoutDate.prime-compact-field-81,
  #workoutTemplate.prime-compact-field-81{
    font-size:1rem!important;
  }
}


/* Rev 8.2 - Nordic Track/cardio logger visibility and layout */
.cardio-log-panel{
  display:grid;
  gap:12px;
}
.nordic-card{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:linear-gradient(145deg,rgba(16,24,32,.96),rgba(5,9,14,.99));
}
.nordic-card h3{
  margin:0 0 12px;
}
.nordic-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.nordic-grid label{
  min-width:0;
}
.nordic-grid input{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:760px){
  .nordic-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
}
