
:root{--bg:#111213;--p:#1d1f20;--p2:#252728;--g:#c62828;--t:#f4f4f4;--m:#aaa;--l:#37393a}
*{box-sizing:border-box}body{margin:0;background:#080909;color:var(--t);font-family:Arial,sans-serif}.app{max-width:570px;margin:auto;min-height:100vh;background:var(--bg);padding-bottom:85px}
body.atlas-auth-resolving .app{display:none!important}
body.atlas-auth-resolving #authTopbar{display:none!important}
header{padding:28px 21px 14px}.ey{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:#999}h1{color:var(--g);font-size:38px;margin:7px 0}h2{color:var(--g);font-size:23px;text-transform:uppercase;margin:0}.sub{color:#ccc;line-height:1.45}.sec{padding:0 20px 22px}.screen{display:none}.screen.on{display:block}
.back{width:45px;height:45px;border:0;border-radius:50%;background:#292b2c;color:#fff;font-size:28px}.btn{width:100%;padding:16px;border-radius:19px;background:var(--p);color:#fff;border:1px solid var(--l);font-weight:700;font-size:16px;margin:6px 0}.gold{background:var(--g);color:#111;border-color:var(--g)}
.choice,.card,.summary{background:var(--p);border:1px solid var(--l);border-radius:19px;padding:17px;margin:10px 0}.choice{cursor:pointer}.choice b{font-size:18px}.choice span{display:block;color:var(--m);font-size:14px;margin-top:5px}.card{cursor:pointer;min-height:100px}.card p{color:var(--m);margin:6px 0 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{min-height:145px;display:flex;align-items:flex-end}
.summary{line-height:1.55}.summary b{color:var(--g)}
.exerciseRow{background:var(--p);border:1px solid var(--l);border-radius:16px;padding:14px;margin:9px 0}
.exerciseRow select,.exerciseRow input{width:100%;padding:10px;margin-top:7px;background:#111;border:1px solid #444;border-radius:9px;color:#fff}
.weekForm{background:var(--p);border:1px solid var(--l);border-radius:18px;margin:10px 0;overflow:hidden}.weekFormHead{padding:14px 16px;background:var(--p2);font-weight:700}.weekFormBody{padding:10px 14px}.prescription{padding:12px 0;border-bottom:1px solid var(--l)}.prescription:last-child{border-bottom:0}.prescription strong{display:block;margin-bottom:8px}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.four{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.three label{font-size:11px;color:#999}.three input{margin-top:5px}.exerciseNotes{display:block;margin-top:10px;font-size:12px;color:#aaa}.exerciseNotes textarea,.exerciseRow textarea{width:100%;min-height:56px;resize:vertical;margin-top:5px;background:var(--p2);border:1px solid var(--l);border-radius:10px;color:inherit;padding:9px;font:inherit;box-sizing:border-box}.exerciseNote{margin-top:6px;padding:7px 9px;border-left:3px solid var(--g);background:var(--p2);border-radius:6px;white-space:pre-wrap;color:#ddd}.clientExerciseNote{display:block;margin:9px 0}.clientExerciseNote span{display:block;font-size:12px;font-weight:700;color:#e53935;margin-bottom:5px}.clientExerciseNote textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:52px;background:var(--p2);border:1px solid var(--l);border-radius:10px;color:inherit;padding:9px;font:inherit}
.exerciseGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}
.effortPicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 0 2px}.effortLabel{font-size:11px;color:#999;font-weight:700;margin-right:2px}.effortBtn{border:1px solid #444;background:#171819;color:#ccc;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.effortBtn.active{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.18)}.effortDot{width:11px;height:11px;border-radius:50%;display:inline-block}.effort-flow .effortDot{background:#7dd3fc}.effort-restore .effortDot{background:#86efac}.effort-build .effortDot{background:#fde047}.effort-peak .effortDot{background:#fb923c}.effort-max .effortDot{background:#ef4444}.effortBadge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:#ddd}.effortBadge .effortDot{width:10px;height:10px}.effortBadge img{max-width:24px;max-height:24px}.effortHint{font-size:11px;color:#888;margin-left:2px}
.intensityIcon{display:inline-flex;align-items:center;justify-content:center;flex:none;filter:drop-shadow(0 0 5px currentColor)}
.intensityIcon svg{display:block;width:24px;height:24px;overflow:visible;transition:transform .18s ease,filter .18s ease}
.effortBtn .intensityIcon svg{width:24px;height:24px}
.effortBtn:hover .intensityIcon svg,.intensityCard:hover .intensityIcon svg{transform:scale(1.08) translateY(-1px);filter:drop-shadow(0 0 7px currentColor)}
.intensityCard .intensityIcon{box-shadow:0 0 16px rgba(255,255,255,.05),inset 0 0 14px rgba(255,255,255,.035)}
.intensity-flow{color:#7dd3fc}.intensity-restore{color:#86efac}.intensity-build{color:#f6c453}.intensity-peak{color:#ef4444}.intensity-max{color:#f8d36b}
.intensityLegend{display:grid;gap:12px;margin-top:14px}
.intensityCard{background:var(--p);border:1px solid var(--l);border-radius:18px;padding:16px;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center}
.intensityCard .intensityIcon{width:58px;height:58px;border:2px solid currentColor;border-radius:50%;background:#101112}.intensityCard .intensityIcon{width:78px;height:78px;border:none;border-radius:0;background:transparent;box-shadow:none}.intensityCard .intensityIcon img{width:78px;height:78px;object-fit:contain;display:block;border-radius:0;transition:transform .18s ease,filter .18s ease}.intensityCard .intensityIcon{margin-bottom:0 !important;margin-right:18px !important;flex:0 0 78px}.intensityCard{display:flex;align-items:center;gap:0}.effortBtn .intensityIcon{width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;max-width:24px !important;max-height:24px !important;box-shadow:none !important;filter:none !important}.effortBtn .intensityIcon img{width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;max-width:24px !important;max-height:24px !important;object-fit:contain;display:block;border-radius:4px}.effortBadge .intensityIcon{width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;max-width:24px !important;max-height:24px !important;box-shadow:none !important;filter:none !important}.effortBadge .intensityIcon img{width:24px !important;height:24px !important;min-width:24px !important;min-height:24px !important;max-width:24px !important;max-height:24px !important;object-fit:contain;display:block;border-radius:0}.effortBtn:hover .intensityIcon img,.intensityCard:hover .intensityIcon img{transform:scale(1.08) translateY(-1px);filter:drop-shadow(0 0 7px currentColor)}
.intensityCard .intensityIcon svg{width:42px;height:42px}
.intensityCard h3{margin:0 0 4px;font-size:17px}
.intensityCard p{margin:0;color:#bbb;font-size:13px;line-height:1.45}
.intensityIntro{background:var(--p);border:1px solid var(--l);border-radius:18px;padding:16px;line-height:1.5;color:#ccc}

.exerciseGrid label{font-size:11px;color:#999}.addBtn{background:#292b2c;border:1px solid #444;color:#fff;border-radius:12px;padding:10px;width:100%;margin-top:5px}
.remove{float:right;background:#5b2020;color:#fff;border:0;border-radius:50%;width:27px;height:27px}.weekPicker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.weekPicker button{background:var(--p2);color:var(--text);border:1px solid var(--l);padding:12px;border-radius:10px;font-weight:700}.weekPicker button.active{background:var(--g);color:#111}.week{border:1px solid var(--l);border-radius:18px;margin:10px 0;overflow:hidden}.weekhead{padding:14px 16px;background:var(--p2);display:flex;justify-content:space-between}.weekbody{padding:0 16px}.day{padding:14px 0;border-bottom:1px solid var(--l)}.day:last-child{border-bottom:0}.day strong{font-size:16px}.meta{color:var(--m);font-size:13px;margin-top:4px}.tag{display:inline-block;font-size:11px;border:1px solid #4a4b4c;border-radius:12px;padding:4px 7px;margin:5px 4px 0 0;color:#ccc}
input{width:100%;padding:11px;background:#111;border:1px solid #444;border-radius:10px;color:#fff;margin-top:7px}.progressionModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:20;align-items:flex-end;justify-content:center}.progressionModal.on{display:flex}.progressionBox{width:min(570px,100%);max-height:88vh;overflow:auto;background:var(--bg);border:1px solid var(--l);border-radius:22px 22px 0 0;padding:20px}.progCard{background:var(--p);border:1px solid var(--l);border-radius:15px;padding:14px;margin:9px 0;cursor:pointer}.progCard b{display:block;color:var(--g);margin-bottom:5px}.progCard span{display:block;color:#ccc;font-size:13px;line-height:1.45}.progDetail{margin:8px 0;padding:8px 10px;border-left:3px solid var(--g);background:#121415;color:#ddd;font-size:13px;font-weight:700}.progSteps{margin-top:8px;color:#aaa;font-size:12px;line-height:1.5}.modalClose{background:#292b2c;color:#fff;border:1px solid #444;border-radius:10px;padding:10px 14px;float:right}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(570px,100%);height:73px;background:#191b1c;border-top:1px solid #333;display:grid;grid-template-columns:repeat(6,1fr)}.nav button{background:none;border:0;color:#999;font-size:11px}.nav b{display:block;font-size:22px}.nav .active{color:var(--g)}

.exerciseCategories{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.categoryBtn{background:#222630;border:1px solid #303642;color:#f4f6f8;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;cursor:pointer}.categoryBtn.active{background:#e53935;color:#111;border-color:#e53935}.exerciseCategory{margin:14px 0 18px}.exerciseCategoryTitle{font-size:12px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;color:#e53935;padding:8px 2px;border-bottom:1px solid #303642;margin-bottom:7px}.exerciseList{display:grid;gap:7px}.exerciseList .progCard{margin:0}

/* V62: clear separation between weeks and training days */
.weekForm{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:18px 0 !important;
  overflow:visible !important;
}
.weekFormHead{
  display:block !important;
  padding:15px 16px !important;
  line-height:1.35 !important;
}
.weekPhase{
  color:#aaa;
  font-weight:600;
}
.weekFormBody{
  display:block !important;
  padding:12px !important;
}
.weeklyDay{
  display:block !important;
  position:relative !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 0 14px !important;
  padding:0 !important;
  background:#171717 !important;
  border:1px solid #383838 !important;
  border-radius:14px !important;
  overflow:visible !important;
}
.weeklyDay:last-child{
  margin-bottom:0 !important;
}
.weeklyDayHead{
  display:block !important;
  padding:12px 14px !important;
  background:#222 !important;
  border-bottom:1px solid #3a3a3a !important;
  font-weight:800 !important;
  line-height:1.3 !important;
}
.weeklyDayBody{
  display:block !important;
  padding:0 14px !important;
}
.weeklyDay .prescription{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:14px 0 !important;
}
.weeklyDay .prescription + .prescription{
  border-top:1px solid #303030 !important;
}

/* V65: week navigation inside Training */
.trainingWeekPicker{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:12px 0 16px !important;
}
.trainingWeekPicker button{
  flex:0 0 auto !important;
  min-width:76px !important;
  padding:10px 12px !important;
  border:1px solid #444 !important;
  border-radius:10px !important;
  background:#181818 !important;
  color:#fff !important;
  font-weight:800 !important;
  cursor:pointer !important;
}
.trainingWeekPicker button.active{
  background:var(--g) !important;
  color:#111 !important;
  border-color:var(--g) !important;
}

.compoundPrescription{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 8px}.compoundPrescription>div{background:var(--p2);border:1px solid var(--l);border-radius:10px;padding:9px}.compoundPrescription b{display:block;font-size:12px;color:var(--g);margin-bottom:3px}.compoundPrescription span{font-weight:800}.compoundWeekly{display:grid;gap:10px;margin:6px 0}.compoundPart{border:1px solid var(--l);border-radius:12px;padding:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.compoundPart>b{grid-column:1/-1;color:var(--g)}



.ey{
  text-align:center !important;
  color:var(--g) !important;
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:1.5px !important;
  margin-bottom:8px !important;
}



.homeLogo{
  display:block;
  width:92px;
  height:auto;
  margin:8px auto 14px;
}

.homeHeader{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  min-height:108px;
}
.homeHeaderCenter{
  min-width:0;
  text-align:center;
}
.homeHeaderDate{
  justify-self:start;
  text-align:left;
  line-height:1.15;
}
.homeHeaderDay{
  color:var(--g);
  font-size:13px;
  font-weight:800;
  letter-spacing:.7px;
}
.homeHeaderDateText{
  color:var(--muted);
  font-size:11px;
  font-weight:700;
  margin-top:3px;
}
.homeHeaderTime{
  color:var(--text);
  font-size:14px;
  font-weight:800;
  margin-top:4px;
}
.homeHeaderSpacer{
  width:1px;
  height:1px;
}
@media(max-width:600px){
  .homeHeader{grid-template-columns:88px auto 88px;gap:8px;min-height:102px}
  .homeHeaderDay{font-size:11px}
  .homeHeaderDateText{font-size:9px}
  .homeHeaderTime{font-size:12px}
}



.weeklyProgressBtn{
  position:relative;
  z-index:5;
  pointer-events:auto;
  cursor:pointer;
}



.five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media(max-width:900px){.five{grid-template-columns:repeat(2,minmax(0,1fr))}}



.dynamicPrescriptionFields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
@media(max-width:900px){
  .dynamicPrescriptionFields{grid-template-columns:repeat(2,minmax(0,1fr))}
}



.dynamicPrescriptionFields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:10px;
}
.dynamicPrescriptionFields label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.dynamicPrescriptionFields select,
.dynamicPrescriptionFields input{
  width:100%;
  box-sizing:border-box;
}
@media(max-width:900px){
  .dynamicPrescriptionFields{grid-template-columns:repeat(2,minmax(0,1fr))}
}



:root{--bronze:#b08a57;--stone:#d8d1c4}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 50% -10%,#24201c 0,#0b0c0d 38%,#080909 72%)}
h1,h2,h3{font-family:Impact,"Arial Narrow",Arial,sans-serif;letter-spacing:.6px}
.app{box-shadow:0 0 60px rgba(0,0,0,.55)}
header{position:relative}
header:after{content:"";display:block;height:2px;width:54px;margin-top:14px;background:linear-gradient(90deg,var(--g),var(--bronze));opacity:.9}
#home header:after{margin-left:auto;margin-right:auto}
.ey{color:var(--stone)!important;font-size:11px!important;letter-spacing:3px!important}
.choice,.card,.summary,.weekForm,.exerciseRow,.intensityIntro,.intensityCard{box-shadow:0 10px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.card{background:linear-gradient(145deg,#202223,#181a1b);border-color:#353737;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.card:hover{transform:translateY(-2px);border-color:#555;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.btn.gold{background:linear-gradient(180deg,#d13232,#b91f1f);color:#fff;box-shadow:0 7px 18px rgba(198,40,40,.2)}
.grid .card{position:relative;overflow:hidden}
.grid .card:before{content:"";position:absolute;inset:auto -20px -35px auto;width:110px;height:110px;border:1px solid rgba(176,138,87,.16);border-radius:50%}
.grid .card h2{font-size:27px}
.tag{border-color:#4a4035;color:#cfc4b5;background:rgba(176,138,87,.06)}
.weekhead,.weeklyDayHead{background:linear-gradient(180deg,#282a2b,#202223)!important}
.intensityCard{background:linear-gradient(145deg,#202223,#17191a)}
.nav{background:rgba(23,25,26,.96);backdrop-filter:blur(14px);box-shadow:0 -10px 30px rgba(0,0,0,.3)}
.nav button{transition:color .15s ease,transform .15s ease}.nav .active{font-weight:800;transform:translateY(-1px)}
.nav .active b{filter:drop-shadow(0 0 7px rgba(198,40,40,.35))}
.greek-divider{height:8px;margin:18px 0;background:repeating-linear-gradient(90deg,transparent 0 8px,rgba(176,138,87,.35) 8px 10px,transparent 10px 18px);opacity:.55}
@media(max-width:570px){h1{font-size:34px}.grid{gap:8px}.grid .card{min-height:135px}}



.prebuilt-card{
  position:relative;
  overflow:hidden;
  padding:0 !important;
  background:linear-gradient(145deg,#202223,#161819) !important;
  border-color:#363839 !important;
}
.prebuilt-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:5px;
  background:var(--program-accent,#c62828);
}
.prebuilt-card .program-identity{
  padding:18px 18px 12px;
  display:flex;
  align-items:center;
  gap:13px;
}
.prebuilt-card .program-icon{
  width:54px;height:54px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  font-size:29px;
  background:var(--program-icon-bg,#252728);
  border:1px solid var(--program-border,#444);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.prebuilt-card .program-kicker{
  color:var(--program-accent,#c62828);
  font-size:10px;
  font-weight:900;
  letter-spacing:1.7px;
  text-transform:uppercase;
  margin-bottom:3px;
}
.prebuilt-card h2{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.05;
}
.prebuilt-card .program-content{padding:0 18px 17px}
.prebuilt-card .program-focus{
  display:inline-block;
  margin-top:8px;
  padding:5px 9px;
  border-radius:999px;
  background:var(--program-icon-bg,#252728);
  border:1px solid var(--program-border,#444);
  color:#ddd;
  font-size:11px;
  font-weight:800;
}
.prebuilt-card .program-description{
  color:#bbb;
  line-height:1.45;
  margin:8px 0 10px;
  font-size:13px;
}
.prebuilt-card .program-meta{
  color:#888;
  font-size:11px;
  font-weight:700;
  letter-spacing:.3px;
}
.prebuilt-card .btn.gold{
  margin-top:13px !important;
}
.prebuilt-card .program-mark{
  position:absolute;
  right:-26px;
  top:-30px;
  width:105px;height:105px;
  border:1px solid var(--program-accent,#c62828);
  border-radius:50%;
  opacity:.13;
}



.nav button{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:4px !important;
  font-size:11px !important;
}
.nav button b{
  display:block !important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:400 !important;
  margin:0 !important;
  filter:saturate(1.15) drop-shadow(0 1px 1px rgba(0,0,0,.35));
}
.nav button span{
  display:block !important;
}



/* Atlas Strength red accent language */
header:after{
  content:"" !important;
  display:block !important;
  height:3px !important;
  width:72px !important;
  margin-top:14px !important;
  background:linear-gradient(90deg,#c62828,#e53935,transparent) !important;
  opacity:1 !important;
  border-radius:2px !important;
}
#home header:after{
  width:110px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.sec > h3{
  position:relative;
  padding-bottom:8px;
  margin-bottom:10px;
}
.sec > h3:after{
  content:"";
  display:block;
  width:34px;
  height:2px;
  margin-top:7px;
  background:#c62828;
  border-radius:2px;
}
.weekhead{
  border-left:3px solid #c62828 !important;
}
.weekFormHead{
  border-left:3px solid #c62828 !important;
}
.weeklyDayHead{
  border-left:2px solid #c62828 !important;
}
.program-content .btn.gold{
  border-top:1px solid rgba(255,255,255,.08) !important;
}



/* Subtle motion — restrained, fast, and performance-friendly */
@keyframes atlasFadeUp{
  from{opacity:0;transform:translateY(7px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes atlasLift{
  from{transform:translateY(0)}
  to{transform:translateY(-2px)}
}
@keyframes atlasGlow{
  0%,100%{opacity:.72}
  50%{opacity:1}
}
.screen.active > header,
.screen.active > .card,
.screen.active > .sec{
  animation:atlasFadeUp .32s ease-out both;
}
.card,
.program-card,
button{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.card:hover,
.program-card:hover{
  transform:translateY(-2px);
}
button:hover{
  transform:translateY(-1px);
}
.nav button{
  transition:transform .18s ease, opacity .18s ease, background-color .18s ease;
}
.nav button.active b{
  animation:atlasGlow 1.8s ease-in-out infinite;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
}



.preview-modal{
  position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:16px;background:rgba(0,0,0,.82);backdrop-filter:blur(5px);
}
.preview-panel{
  width:min(900px,100%);max-height:92vh;overflow:auto;background:#171717;
  border:1px solid #3b3b3b;border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.65);
}
.preview-header{
  position:sticky;top:0;z-index:3;background:#171717;border-bottom:1px solid #333;
  padding:20px 20px 16px;display:flex;justify-content:space-between;gap:16px;
}
.preview-kicker{font-size:10px;letter-spacing:.14em;font-weight:800;color:#e53935;text-transform:uppercase}
.preview-title{font-size:24px;font-weight:900;margin:4px 0 3px}
.preview-summary{font-size:12px;color:#aaa;line-height:1.5}
.preview-close{
  flex:0 0 38px;height:38px;border:1px solid #444;border-radius:10px;
  background:#242424;color:#fff;font-size:22px;cursor:pointer;
}
.preview-body{padding:4px 20px 90px}
.preview-week{
  margin:14px 0;border:1px solid #333;border-radius:13px;overflow:hidden;background:#1c1c1c;
}
.preview-week-head{
  padding:13px 15px;background:#222;display:flex;justify-content:space-between;gap:10px;
  border-left:3px solid #c62828;
}
.preview-week-head b{font-size:15px}
.preview-phase{font-size:11px;color:#aaa;text-align:right}
.preview-day{padding:13px 15px;border-top:1px solid #303030}
.preview-day:first-of-type{border-top:0}
.preview-day-title{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.preview-day-title strong{font-size:13px}
.preview-exercise{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;
  padding:8px 0;border-top:1px solid #282828;font-size:12px;
}
.preview-exercise:first-of-type{border-top:0}
.preview-exercise-name{font-weight:700;color:#eee}
.preview-exercise-detail{color:#fff;font-weight:700;text-align:right;white-space:nowrap}
.preview-note{grid-column:1/-1;color:#999;font-size:11px;margin-top:-3px}
.preview-footer{
  position:sticky;bottom:0;background:linear-gradient(transparent,#171717 24%);
  padding:18px 20px 20px;display:flex;justify-content:flex-end;
}
.preview-use{min-width:180px}
@media(max-width:600px){
  .preview-exercise{grid-template-columns:1fr}
  .preview-exercise-detail{text-align:left}
}


.readinessPicker{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 4px;padding:8px 0 0;border-top:1px solid #292a2b}.readinessLabel{font-size:11px;color:#999;font-weight:800;margin-right:2px}.readinessBtn{border:1px solid #444;background:#171819;color:#ccc;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:.18s ease}.readinessBtn.active{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.14);transform:translateY(-1px)}.readinessDot{width:10px;height:10px;border-radius:50%;display:inline-block}.readiness-ready .readinessDot{background:#86efac}.readiness-ok .readinessDot{background:#fde047}.readiness-poor .readinessDot{background:#fb923c}.readiness-low .readinessDot{background:#ef4444}.readinessBadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:800;margin-left:8px}.readinessHint{font-size:11px;color:#777}.client-readiness{margin:12px 0 14px;padding:12px;border:1px solid #292a2b;border-radius:12px;background:#121314}.client-readiness-label{font-size:12px;font-weight:800;margin-bottom:9px}.client-readiness-options{display:flex;gap:7px;flex-wrap:wrap}.client-readiness-btn{border:1px solid #444;background:#171819;color:#ccc;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.client-readiness-btn.active{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.14);transform:translateY(-1px)}.client-readiness-status{font-size:11px;color:#777;margin-top:8px}




.exercise-history{margin-top:14px}.exercise-history-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px}.exercise-history-title{font-weight:900;font-size:17px}.exercise-history-sub{font-size:11px;color:#999;margin-top:3px}.exercise-history-section{background:#202223;border:1px solid #3a3c3d;border-radius:12px;padding:12px}.exercise-history-row{display:grid;grid-template-columns:minmax(0,1.5fr) 90px 90px 70px 90px;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #303234;font-size:11px}.exercise-history-row:last-child{border-bottom:0}.exercise-history-row b{font-size:12px}.exercise-history-label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#888;font-weight:800}.historyModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:40;align-items:flex-end;justify-content:center;overflow:hidden;overscroll-behavior:none;touch-action:none}.historyModal.on{display:flex}.historyBox{width:min(650px,100%);height:min(90vh,900px);height:min(90dvh,900px);max-height:90vh;max-height:90dvh;min-height:0;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);border:1px solid var(--l);border-radius:22px 22px 0 0;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.historyBox #historyModalContent{flex:1 1 0;min-height:0;max-height:none;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding-right:4px;padding-bottom:48px;scrollbar-width:auto}.history-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.history-stat{background:#202223;border:1px solid #3a3c3d;border-radius:12px;padding:10px}.history-stat .label{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#999;font-weight:800}.history-stat .value{margin-top:5px;font-size:16px;font-weight:900}.history-comparison{background:#202223;border:1px solid #3a3c3d;border-radius:12px;padding:12px;margin-bottom:12px}.history-session{background:#202223;border:1px solid #3a3c3d;border-radius:12px;padding:12px;margin:9px 0}.history-session-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.history-set{display:grid;grid-template-columns:42px 1fr 1fr 1fr;gap:8px;padding:7px 0;border-bottom:1px solid #303234;font-size:11px}.history-set:last-child{border-bottom:0}.history-muted{color:#999;font-size:11px}@media(max-width:600px){.historyBox{width:100%;height:calc(100dvh - 8px);max-height:calc(100dvh - 8px);padding:14px;padding-bottom:max(14px,env(safe-area-inset-bottom));border-radius:18px 18px 0 0}.historyBox #historyModalContent{padding-bottom:64px}.exercise-history-row{grid-template-columns:minmax(0,1fr) 70px 70px 55px}.exercise-history-row .history-hide-mobile{display:none}.history-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-set{grid-template-columns:35px 1fr 1fr 1fr;font-size:10px}}




#authScreen{
  position:fixed;inset:0;z-index:9999;
  display:flex;align-items:center;justify-content:center;
  padding:24px;background:#111213;color:#f4f4f4;
}
.authCard{
  width:min(420px,100%);background:#1d1f20;border:1px solid #37393a;
  border-radius:18px;padding:30px;box-shadow:0 18px 60px rgba(0,0,0,.45);
  text-align:center;
}
.authCard img{width:88px;height:auto;display:block;margin:0 auto 10px}
.authCard h1{margin:0 0 4px;font-size:25px}
.authCard .authSub{margin:0 0 24px;color:#aaa;font-size:13px}
.authField{text-align:left;margin:12px 0}
.authField label{display:block;color:#aaa;font-size:12px;font-weight:700;margin:0 0 6px}
.authField input{
  width:100%;box-sizing:border-box;padding:12px 13px;border-radius:10px;
  border:1px solid #37393a;background:#252728;color:#f4f4f4;font-size:15px;
  outline:none;
}
.authField input:focus{border-color:#c62828}
#authSignInBtn{
  width:100%;margin-top:10px;padding:13px;border:0;border-radius:10px;
  background:#c62828;color:#fff;font-weight:800;font-size:15px;cursor:pointer;
}
#authSignInBtn:disabled{opacity:.65;cursor:wait}
#authError{display:none;color:#ff8a80;font-size:12px;text-align:left;margin-top:12px}
#authStatus{display:none;color:#aaa;font-size:12px;margin-top:12px}
#authForgotBtn{display:block;width:100%;margin-top:10px;padding:8px;border:0;background:transparent;color:#aaa;font-size:12px;cursor:pointer}
#authForgotBtn:hover{color:#fff}
.authResetPanel{margin-top:18px;padding-top:18px;border-top:1px solid #37393a;text-align:left}
.authResetPanel h3{margin:0 0 7px;font-size:17px}
.authResetPanel p{margin:0 0 14px;color:#aaa;font-size:12px;line-height:1.45}
.authResetPanel button:not(.authTextBtn){width:100%;padding:12px;border:0;border-radius:10px;background:#c62828;color:#fff;font-weight:800;font-size:14px;cursor:pointer}
.authResetPanel button:disabled{opacity:.65;cursor:wait}
.authTextBtn{display:block;width:100%;margin-top:9px;padding:8px;border:0;background:transparent;color:#aaa;font-size:12px;cursor:pointer}
.authTextBtn:hover{color:#fff}
#authResetStatus,#authRecoveryStatus{margin-top:12px;font-size:12px;line-height:1.45;color:#aaa}
#authResetStatus.error,#authRecoveryStatus.error{color:#ff8a80}
#authResetStatus.success,#authRecoveryStatus.success{color:#b7e4c7}

#authTopbar{
  display:none;position:fixed;top:12px;right:14px;z-index:1000;
  align-items:center;gap:8px;
}
#authUserEmail{font-size:11px;color:#aaa;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#authSignOutBtn{
  border:1px solid #37393a;background:#1d1f20;color:#f4f4f4;
  border-radius:8px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer;
}







/* Personal training tab: keep the coach navigation usable on narrow screens. */
.nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;max-width:none;left:0;transform:none;justify-content:stretch;overflow:hidden;scrollbar-width:none;}
.nav::-webkit-scrollbar{display:none;}
.nav button{min-width:0;width:100%;padding:6px 2px;}
#myTraining .card{overflow:hidden;}

/* Desktop responsive layout: expands the coach workspace only on larger screens.
   Mobile/tablet breakpoints remain unchanged. */
@media (min-width: 901px){
  .app{
    max-width: 1240px;
    width: calc(100% - 40px);
    margin: 0 auto;
    min-height: 100vh;
  }
  .sec{padding-left:32px;padding-right:32px;}
  header{padding-left:32px;padding-right:32px;}
  .nav{width:min(1240px,calc(100% - 40px));max-width:1240px;left:50%;transform:translateX(-50%);grid-template-columns:repeat(7,minmax(0,1fr));}
  .progressionBox{width:min(900px,calc(100% - 40px));}
}

/* Atlas Strength — quick page navigation */
.atlas-program-principles{display:grid;gap:10px;line-height:1.5}
.atlas-program-principles>div{padding-left:2px}
.atlas-scroll-bottom{position:fixed;right:18px;bottom:92px;z-index:30;width:52px;height:52px;border:1px solid #444;border-radius:50%;background:#1d1f20;color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.35);font-size:20px;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;cursor:pointer}
.atlas-scroll-bottom span{font-size:7px;letter-spacing:.05em;text-transform:uppercase;color:#aaa;margin-top:3px}
@media(min-width:901px){.atlas-scroll-bottom{right:28px;bottom:28px}}
.fieldCard{background:var(--p);border:1px solid var(--l);border-radius:19px;padding:15px 17px;margin:10px 0}
.fieldCard label{display:block;color:#aaa;font-size:12px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;margin-bottom:7px}
.programWeeksSelect{width:100%;padding:13px 42px 13px 13px;background:#111;border:1px solid #444;border-radius:12px;color:#fff;font-size:16px;font-weight:700;appearance:auto;-webkit-appearance:auto}

/* v114: exact final intensity guide with original icon scale */
.intensityImageLegend{display:block!important;margin-top:14px!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.intensityImageLegend img{display:block;width:100%;max-width:1100px;height:auto;margin:0 auto;border:0;border-radius:0;box-shadow:none}

/* v119: independent intensity artwork so icon size can change without shrinking the wide guide */
.intensityGuideCards{display:grid!important;gap:12px;margin-top:14px;width:100%;max-width:1100px;margin-left:auto;margin-right:auto}
.intensityGuideCard{background:linear-gradient(145deg,#202223,#17191a);border:1px solid var(--l);border-radius:18px;padding:14px 18px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;min-height:180px;box-shadow:10px 0 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)}
.intensityGuideIcon{width:112px;height:112px;display:flex;align-items:center;justify-content:center;overflow:visible}
.intensityGuideIcon img{display:block;width:112px;height:112px;object-fit:contain}
.intensityGuideTitle{margin:0 0 4px;font-size:30px;line-height:1.05;font-weight:900;letter-spacing:-.3px}
.intensityGuideTitle.flow{color:#53bdf5}.intensityGuideTitle.restore{color:#62e69b}.intensityGuideTitle.might{color:#f6c453}.intensityGuideTitle.rage{color:#ef4444}.intensityGuideTitle.ascend{color:#f8d36b}
.intensityGuideCard p{margin:0;color:#bbb;font-size:17px;line-height:1.45}
.client-intensity-guide-cards{width:100%;max-width:none}
@media(max-width:700px){.intensityGuideCard{grid-template-columns:94px minmax(0,1fr);gap:12px;padding:12px 13px;min-height:140px}.intensityGuideIcon,.intensityGuideIcon img{width:88px;height:88px}.intensityGuideTitle{font-size:25px}.intensityGuideCard p{font-size:14px;line-height:1.4}}

/* v120: crisp intensity icons + compact guide so the full set fits without scrolling */
.intensityGuideCards{width:100%;max-width:1100px;gap:8px;margin-top:10px}
.intensityGuideCard{grid-template-columns:72px minmax(0,1fr);gap:12px;padding:8px 12px;min-height:0;height:92px;border-radius:16px}
.intensityGuideIcon{width:72px;height:72px}
.intensityGuideIcon img{width:72px;height:72px;object-fit:contain;image-rendering:auto}
.intensityGuideTitle{font-size:22px;line-height:1.05;margin:0 0 3px}
.intensityGuideCard p{font-size:12px;line-height:1.28;margin:0}
@media(max-width:700px){
  .intensityGuideCards{gap:6px;margin-top:8px}
  .intensityGuideCard{grid-template-columns:62px minmax(0,1fr);gap:9px;padding:6px 9px;height:88px;border-radius:14px}
  .intensityGuideIcon,.intensityGuideIcon img{width:62px;height:62px}
  .intensityGuideTitle{font-size:19px;line-height:1;margin:0 0 2px}
  .intensityGuideCard p{font-size:11px;line-height:1.22}
}

/* v133: coach/athlete note distinction */
.clientExerciseNote .coach-note-label{color:#e53935 !important;}

/* v136 note-label positioning is defined in client.css */

/* v138: global refresh control available on every authenticated app screen */
.atlas-global-refresh{position:fixed;top:12px;right:125px;z-index:1000;border:1px solid #555;background:#17191a;color:#fff;border-radius:10px;padding:8px 11px;font-size:12px;font-weight:700;box-shadow:0 4px 16px rgba(0,0,0,.35);cursor:pointer}
.atlas-global-refresh:hover{border-color:#777}
.atlas-global-refresh:disabled{opacity:.65;cursor:wait}
@media(max-width:600px){.atlas-global-refresh{top:8px;right:112px;padding:7px 9px;font-size:11px}}

/* Client Training: visually separate each training day */
.client-training-week{
  margin:18px 0 28px;
  border:2px solid #3a3c3e;
  border-radius:20px;
  overflow:hidden;
  background:#171819;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
}
.client-training-week + .client-training-week{
  margin-top:30px;
}
.client-training-week .weekhead{
  padding:15px 17px;
  background:linear-gradient(180deg,#303234,#252728)!important;
  border-bottom:1px solid #45484a;
  font-size:16px;
}
.client-training-day-name{
  padding:13px 17px 11px;
  background:#202223;
  color:#fff;
  font-size:19px;
  font-weight:800;
  letter-spacing:.1px;
  border-bottom:1px solid #36383a;
}
.client-training-day-body{
  padding:5px 17px 10px;
}
.client-training-exercise{
  padding:17px 4px 20px;
}
.client-training-exercise + .client-training-exercise{
  border-top:1px solid #303234;
}
.client-training-exercise:last-child{
  border-bottom:0;
}

/* v150: client Training day collapse/expand */
.client-day-toggle{display:flex;align-items:center;gap:10px;flex:1;min-width:0;background:none;border:0;color:inherit;text-align:left;padding:0;cursor:pointer}
.client-day-toggle-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #4a4d4f;border-radius:50%;font-size:22px;line-height:1;transform:rotate(90deg);transition:transform .18s ease,background .18s ease}
.client-portal-day:not(.day-open) .client-day-toggle-chevron{transform:rotate(0deg)}
.client-portal-day:not(.day-open) .client-day-content{display:none}
.client-portal-day.day-open .client-day-toggle:hover .client-day-toggle-chevron{background:#303234}
@media(max-width:600px){.client-day-toggle{gap:8px}.client-day-toggle-chevron{width:26px;height:26px}}

/* v179: separate exercise programming from its message panel on wide screens */
@media (min-width: 900px){
  .client-training-exercise{
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    grid-template-areas:
      "exercise-title messages"
      "exercise-meta messages"
      "exercise-cue messages"
      "exercise-log messages";
    column-gap:18px;
    row-gap:8px;
    align-items:start;
    padding:18px 4px 22px;
  }
  .client-training-exercise > strong{grid-area:exercise-title;min-width:0;}
  .client-training-exercise > .meta{grid-area:exercise-meta;min-width:0;}
  .client-training-exercise > .exerciseNote{grid-area:exercise-cue;margin:8px 0 0;min-width:0;}
  .client-training-exercise > .open-training-messages{grid-area:messages;margin:0;min-width:0;align-self:stretch;}
  .client-training-exercise > .coach-cloud-log{grid-area:exercise-log;margin:0;min-width:0;}
}
@media (max-width:899px){
  .client-training-exercise{display:block;}
}

/* v185: compact exercise messages below the workout/logging area */
@media (min-width: 900px){
  .client-training-exercise{display:block;}
  .client-training-exercise > strong,
  .client-training-exercise > .meta,
  .client-training-exercise > .exerciseNote,
  .client-training-exercise > .coach-cloud-log{display:block;width:100%;}
  .client-training-exercise > .open-training-messages{display:block;width:min(100%,760px);max-width:760px;margin:12px 0 0;padding:0 9px 8px;}
}
.client-training-exercise > .open-training-messages .open-training-message{margin-top:7px;padding:11px 9px 8px;}
.client-training-exercise > .open-training-messages .open-training-message.composer textarea{min-height:42px;padding:8px;font-size:12px;}
.client-training-exercise > .open-training-messages .open-training-message-head{padding:8px 2px 7px;}
.client-training-exercise > .open-training-messages .open-training-message-actions{margin-top:5px;}

/* v195: collapsible day panels in the coach's client-training view */
.coach-client-day-toggle{width:100%;display:flex;align-items:center;gap:11px;text-align:left;cursor:pointer;border:0;border-bottom:1px solid #36383a;background:#202223;color:#fff;font:inherit;font-size:19px;font-weight:800;padding:13px 17px 11px;}
.coach-client-day-toggle:hover{background:#282a2b;}
.coach-client-day-chevron{display:inline-flex;align-items:center;justify-content:center;flex:0 0 26px;width:26px;height:26px;border:1px solid #4a4d4f;border-radius:50%;font-size:25px;line-height:20px;transition:transform .18s ease;}
.coach-client-day-toggle[aria-expanded="true"] .coach-client-day-chevron{transform:rotate(90deg);}
.coach-client-day-toggle-hint{margin-left:auto;color:#9da0a2;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;}
.coach-client-day-content{padding:5px 17px 10px;}
@media(max-width:600px){.coach-client-day-toggle{gap:8px;padding:12px;font-size:17px}.coach-client-day-toggle-hint{font-size:9px}.coach-client-day-chevron{flex-basis:24px;width:24px;height:24px}}


/* v196: compact warm-up block in coach-side client training */
.coach-client-day-content .client-day-warmups{padding:8px 10px!important;margin:5px 0 8px!important;border-radius:8px!important;}
.coach-client-day-content .client-day-warmups>strong{font-size:13px;line-height:1.2;}
.coach-client-day-content .client-day-warmups .meta{font-size:11px;line-height:1.25;margin-top:2px;}
.coach-client-day-content .client-day-warmups>div{margin-top:5px!important;}
.coach-client-day-content .client-day-warmups>div>div[style*="border-bottom"]{padding:3px 0!important;line-height:1.25;}
.coach-client-day-content .client-day-warmups b{font-size:12px;font-weight:600;}

/* v197: align intensity badge cleanly in coach-side client training cards */
.client-training-exercise > .meta {
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.client-training-exercise > .meta .effortBadge {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  gap: 4px;
  white-space: nowrap;
  line-height: 1;
  margin: 0 7px 1px 0;
  padding: 2px 7px 2px 4px;
  border: 1px solid #3a3c3e;
  border-radius: 999px;
  background: #17191a;
  font-size: 10px;
}
.client-training-exercise > .meta .effortBadge .intensityIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  min-width: 19px;
  min-height: 19px;
  margin: 0;
  filter: none;
}
.client-training-exercise > .meta .effortBadge .intensityIcon img {
  display: block;
  width: 19px;
  height: 19px;
  min-width: 19px;
  min-height: 19px;
  max-width: 19px;
  max-height: 19px;
  object-fit: contain;
}

/* ===== v217: in-app dialogs & toasts (js/atlas-ui.js) ===== */
#atlasToastHost{position:fixed;left:50%;bottom:max(90px,calc(env(safe-area-inset-bottom) + 90px));transform:translateX(-50%);z-index:20000;display:grid;gap:8px;width:min(520px,calc(100vw - 24px));pointer-events:none}
.atlas-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;border-radius:12px;background:#252728;border:1px solid #3a3c3d;color:#f4f4f4;font-size:14px;line-height:1.4;box-shadow:0 12px 32px rgba(0,0,0,.45);animation:atlasToastIn .18s ease-out}
.atlas-toast span{flex:1}
.atlas-toast button{background:none;border:0;color:#aaa;font-size:18px;line-height:1;cursor:pointer;padding:0 2px}
.atlas-toast-ok{border-left:4px solid #43a047}.atlas-toast-error{border-left:4px solid #c62828}.atlas-toast-info{border-left:4px solid #888}
.atlas-toast.out{opacity:0;transform:translateY(6px);transition:all .22s}
@keyframes atlasToastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.atlas-dialog-backdrop{position:fixed;inset:0;z-index:20001;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:16px}
.atlas-dialog{width:min(440px,100%);background:#1d1f20;border:1px solid #37393a;border-radius:16px;padding:20px;color:#f4f4f4;box-shadow:0 24px 70px rgba(0,0,0,.6)}
.atlas-dialog-msg{font-size:15px;line-height:1.5;white-space:normal}
.atlas-dialog-input{margin-top:14px;width:100%;box-sizing:border-box;padding:12px;border-radius:10px;border:1px solid #444;background:#111;color:#fff;font-size:15px}
.atlas-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.atlas-dialog-actions button{padding:11px 16px;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;border:1px solid #444;background:#252728;color:#fff}
.atlas-dialog-ok{background:#c62828!important;border-color:#c62828!important}
.atlas-dialog-ok.danger{background:#8e1b1b!important;border-color:#c62828!important}

/* ===== v217: offline banner (js/atlas-offline.js) ===== */
#atlasOfflineBanner{position:fixed;top:0;left:0;right:0;z-index:19999;padding:8px 14px calc(8px);padding-top:max(8px,env(safe-area-inset-top));text-align:center;font-size:12px;font-weight:700;color:#111}
#atlasOfflineBanner.offline{background:#ffb020}#atlasOfflineBanner.pending{background:#90caf9}

/* ===== v217: coach dashboard (js/atlas-dashboard.js) ===== */
.coach-dash{background:var(--p);border:1px solid var(--l);border-radius:18px;padding:14px;margin:6px 0 16px}
.coach-dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.coach-dash-head b{font-size:16px}
.coach-dash-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}
.coach-dash-tiles div{background:var(--p2);border:1px solid var(--l);border-radius:12px;padding:10px}
.coach-dash-tiles span{display:block;font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.coach-dash-tiles b{display:block;font-size:22px;margin-top:4px}.coach-dash-tiles small{font-size:13px;color:#999}
.coach-dash-tiles .warn{border-color:#6a5220}.coach-dash-tiles .warn b{color:#ffcc80}
.coach-dash-list{display:grid;gap:6px}
.coach-dash-row{display:grid;grid-template-columns:minmax(0,1.4fr) 80px 110px minmax(0,1.6fr);gap:10px;align-items:center;width:100%;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid var(--l);background:#191b1c;color:#f4f4f4;cursor:pointer;font:inherit}
.coach-dash-row:hover{border-color:#5a5c5d}
.coach-dash-row small{display:block;color:#888;font-size:11px;margin-top:2px}
.coach-dash-name b{font-size:14px}.coach-dash-week,.coach-dash-last{font-size:13px;font-weight:800}
.coach-dash-flags{display:flex;flex-wrap:wrap;gap:5px}
.coach-chip{font-style:normal;font-size:11px;font-weight:800;padding:3px 8px;border-radius:10px;border:1px solid #444;color:#ccc;white-space:nowrap}
.coach-chip.ok{border-color:#2e7d32;color:#a5d6a7}.coach-chip.check{border-color:#6a5220;color:#ffcc80}.coach-chip.missed{border-color:#c62828;color:#ff8a80}.coach-chip.msg{border-color:#1565c0;color:#90caf9}.coach-chip.pr{border-color:#6a5220;color:#ffe082}
@media(max-width:600px){.coach-dash-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-dash-tiles div:last-child{grid-column:1/-1}.coach-dash-row{grid-template-columns:1fr auto}.coach-dash-last{text-align:right}.coach-dash-week{display:none}.coach-dash-flags{grid-column:1/-1}}

/* ===== v217: progress charts (js/atlas-progress.js) ===== */
.atlas-progress{background:#1b1d1e;border:1px solid #303234;border-radius:14px;padding:14px;margin:8px 0}
.ap-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.ap-head b{font-size:16px;color:#f4f4f4}
.ap-pick{max-width:100%;padding:8px 10px;border-radius:10px;border:1px solid #444;background:#111;color:#fff;font-size:13px}
.ap-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:6px 0 8px}
.ap-stats div{background:#202223;border:1px solid #303234;border-radius:10px;padding:8px 10px}
.ap-stats span{display:block;font-size:10px;color:#999;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.ap-stats b{display:block;margin-top:3px;font-size:15px;color:#f4f4f4}.ap-stats b.up{color:#a5d6a7}.ap-stats b.down{color:#ff8a80}
.ap-metric{font-size:11px;color:#999;margin-bottom:4px}
.ap-chart{position:relative}
.ap-svg{width:100%;height:auto;display:block;touch-action:pan-y}
.ap-grid{stroke:#2c2e2f;stroke-width:1}.ap-axis{fill:#888;font-size:11px}
.ap-line{fill:none;stroke:#e53935;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.ap-dot{fill:#e53935;stroke:#1b1d1e;stroke-width:2}
.ap-hot{fill:none;stroke:#fff;stroke-width:2}
.ap-cross{stroke:#666;stroke-width:1}
.ap-label{fill:#ddd;font-size:11px;font-weight:700}
.ap-hit{fill:transparent;cursor:crosshair}
.ap-tip{position:absolute;top:0;width:140px;pointer-events:none;background:#252728;border:1px solid #444;border-radius:8px;padding:6px 8px;font-size:11px;color:#aaa}
.ap-tip b{display:block;color:#fff;font-size:14px}
.ap-table{margin-top:8px;font-size:12px;color:#ccc}.ap-table summary{cursor:pointer;color:#aaa}
.ap-table table{width:100%;border-collapse:collapse;margin-top:6px}.ap-table td,.ap-table th{text-align:left;padding:5px 4px;border-bottom:1px solid #2c2e2f}
.ap-empty{color:#999;font-size:13px;padding:10px 0}

/* ===== v217: training maxes ===== */
.client-max-line{margin-top:8px;font-size:12px;color:#aaa}
.client-max-link{background:none;border:0;padding:0;color:#ff8a80;font:inherit;font-weight:700;cursor:pointer;text-decoration:underline}
.client-max-form{margin-top:8px}
.client-max-prompt{padding:10px;border:1px dashed #6a5220;border-radius:10px;background:#1f1b14}
.client-max-q{font-size:12px;color:#ffcc80;margin-bottom:6px}
.client-max-fields{display:flex;gap:6px;align-items:center}
.client-max-fields input{flex:1;min-width:0;padding:8px;border-radius:8px;border:1px solid #3a3c3d;background:#17191a;color:#fff;font-size:14px;margin:0}
.client-max-fields select{padding:8px;border-radius:8px;border:1px solid #3a3c3d;background:#17191a;color:#fff}
.client-maxes-sub{font-size:12px;color:#999;margin:4px 0 8px}
.client-maxes-list{display:grid;gap:8px}
.client-maxes-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #2c2e2f}
.client-maxes-name{font-size:13px;font-weight:800;color:#f4f4f4}
.client-maxes-name .client-max-link{display:block;font-size:11px;margin-top:3px}
.client-maxes-name input{width:100%;box-sizing:border-box}
@media(max-width:600px){.client-maxes-row{grid-template-columns:1fr}}
/* v218: grouped maxes */
.client-maxes-group{margin:14px 0 2px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d8d1c4}
.client-maxes-name small{font-weight:600;color:#999}
.client-maxes-tag{display:inline-block;margin-left:6px;font-style:normal;font-size:10px;font-weight:800;color:#ff8a80;border:1px solid #5a2a2a;border-radius:8px;padding:1px 6px;vertical-align:middle}
/* v219: clear prescriptions on the coach side */
.coach-rx{margin:8px 0;padding:10px;border:1px solid #37393a;border-radius:12px;background:#17191a}
.coach-rx-proto{font-size:12px;font-weight:900;color:#ff8a80;margin-bottom:6px}
.coach-rx-label{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#999;margin:2px 0 6px}
.coach-rx-body .atlas-rx-row{grid-template-columns:70px 1fr;padding:6px 9px}
.coach-rx-body .atlas-rx-target{font-size:13px}
.coach-rx-all{margin-top:8px;font-size:12px;color:#ccc}.coach-rx-all summary{cursor:pointer;color:#aaa;font-weight:700}
.coach-rx-week{display:grid;grid-template-columns:120px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid #2c2e2f}
.coach-rx-week span{color:#999;font-weight:800}.coach-rx-week b{font-weight:700;color:#f4f4f4}
.coach-rx-override{font-size:12px;color:#ffcc80}
.coach-rx-edit{margin-top:6px}.coach-rx-edit summary{cursor:pointer;font-size:12px;color:#aaa;font-weight:700;margin-bottom:6px}
.coach-rx-line{margin:8px 0}.coach-rx-line .coach-rx-body{margin-top:5px}

/* ===================== v221 visual fixes ===================== */
/* 1. Coach top bar: one sticky strip (email · Refresh · Sign Out) — nothing overlaps the page titles */
#authTopbar{position:sticky!important;top:0;left:0;right:0;z-index:1000;justify-content:flex-end;gap:8px;
  padding:max(8px,env(safe-area-inset-top)) 14px 8px;background:rgba(11,12,13,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #232526}
#authUserEmail{margin-right:auto;max-width:min(260px,45vw);font-size:12px;color:#8f8f8f}
#authTopbar .atlas-global-refresh{position:static!important;top:auto;right:auto;box-shadow:none;border:1px solid #37393a;background:#1d1f20;border-radius:8px;padding:7px 11px;font-size:12px}
#authSignOutBtn{padding:7px 11px;font-size:12px}
@media(max-width:420px){#authUserEmail{max-width:38vw;font-size:11px}}
header{padding-top:18px}

/* 2. Home Competition / Off Season cards: title on its own line, sized to fit */
.grid .card{flex-direction:column;justify-content:flex-end;align-items:flex-start;min-width:0}
.grid .card h2{font-size:clamp(16px,4.4vw,27px)!important;line-height:1.05;letter-spacing:-.01em;white-space:nowrap}
@media(max-width:480px){.grid .card{padding:15px 13px}}
.grid .card p{font-size:13px;line-height:1.35;margin-top:6px}

/* 4. Exercise intensity buttons: icon above label on phones so Flow / Restore / Rage fit */
@media(max-width:560px){
  .effortOptions > .effortBtn{flex-direction:column!important;gap:2px!important;padding:6px 2px 5px!important;font-size:10.5px!important;line-height:1.1;white-space:nowrap}
  .effortOptions .intensityIcon{flex:0 0 auto!important}
  .effortBtn .intensityIcon svg,.effortBtn .intensityIcon img{width:22px!important;height:22px!important}
}

/* 5. Small buttons (Profile / Change Program / Delete / Refresh / Sync …) match the dark theme */
button.small{border:1px solid #3a3c3d;background:#1f2122;color:#eee;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer;line-height:1.1}
button.small:hover{border-color:#5a5c5e;background:#262829}
button.small.gold,#coachQuestionnaireBtn{background:#c62828!important;border-color:#c62828!important;color:#fff!important}
button.small.gold:hover{background:#d32f2f!important}
button.small:disabled{opacity:.6;cursor:wait}
#atlasCoachRefresh{border:1px solid #3a3c3d;background:#1f2122;color:#eee;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;cursor:pointer;margin-left:auto}
#cloudClientBar{flex-wrap:wrap}
#clientList .card .meta{overflow-wrap:anywhere}
@media(max-width:480px){
  #clientList .card > div{flex-direction:column;align-items:stretch!important}
  #clientList .card > div > div:last-child{justify-content:flex-start!important}
}

/* 6. Program view week headers wrap instead of cutting off */
.weekhead{gap:10px;align-items:baseline;flex-wrap:wrap}
.weekhead > b{flex:0 0 auto}
.weekhead > span{flex:1 1 140px;min-width:0;text-align:right;color:#bdbdbd;font-size:13px;overflow-wrap:anywhere}

/* 7. Pre-built cards: one main button + a quiet secondary row */
.prebuilt-actions{margin-top:12px}
.prebuilt-actions .btn.gold{width:100%;margin:0!important}
.prebuilt-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.prebuilt-actions-row button.small{width:100%;padding:10px 8px;font-size:12.5px}

/* 8. Maxes editor (client Profile + coach client profile) */
.amx{display:grid;gap:0}
.amx-head{display:grid;grid-template-columns:minmax(0,1fr) 92px 62px;gap:8px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#888;padding:0 0 6px;border-bottom:1px solid #2c2e2f}
.amx-head span:last-child{grid-column:2/4}
.amx-row{display:grid;grid-template-columns:minmax(0,1fr) 92px 62px;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #2a2c2d}
.amx-row[data-dirty] .amx-val{border-color:#e53935}
.amx-name{min-width:0;font-size:14px;color:#f4f4f4}
.amx-name b{font-weight:800}
.amx-name small{display:block;font-size:11px;color:#8f8f8f;font-weight:600;margin-top:1px}
.amx-tag{display:inline-block;margin-left:6px;font-style:normal;font-size:10px;font-weight:800;color:#ff8a80;border:1px solid #5a2a2a;border-radius:8px;padding:1px 6px;vertical-align:middle}
.amx-est{display:block;margin-top:4px;padding:0;border:0;background:none;color:#ff8a80;font-size:11.5px;font-weight:700;text-align:left;cursor:pointer;text-decoration:underline}
.amx-row input,.amx-row select{margin:0;width:100%;box-sizing:border-box;padding:9px 8px;border-radius:9px;border:1px solid #3a3c3d;background:#111;color:#fff;font-size:15px}
.amx-row select{padding:9px 4px}
.amx-new .amx-name input{font-size:14px}
.amx-empty{padding:12px 0;color:#999;font-size:13px;border-bottom:1px solid #2a2c2d}
.amx-more{margin-top:10px}
.amx-more summary{cursor:pointer;list-style:none;padding:11px 12px;border:1px solid #333536;border-radius:10px;background:#1a1c1d;color:#ddd;font-size:13px;font-weight:800}
.amx-more summary::-webkit-details-marker{display:none}
.amx-more summary:before{content:'+ ';color:#e53935}
.amx-more[open] summary:before{content:'− '}
.amx-more summary span{color:#888;font-weight:600}
.amx-group{margin:14px 0 2px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d8d1c4}
.amx-foot{margin-top:12px}
.amx-save{width:100%;padding:13px;border-radius:11px;border:1px solid #c62828;background:#c62828;color:#fff;font-weight:900;font-size:14px;cursor:pointer}
.amx-save:disabled{background:#1f2122;border-color:#333536;color:#777;cursor:default}

/* 9. Progress chart: % change on its own line */
.ap-stats b{font-size:17px;white-space:nowrap}
.ap-pct{display:block;margin-top:2px;font-size:11px;font-weight:700;color:#999}.ap-pct.up{color:#a5d6a7}.ap-pct.down{color:#ff8a80}

/* 10. Coach bottom nav: readable labels (colored emoji icons kept) */
.nav button b .atlas-line-icon,.atlas-nav-icon .atlas-line-icon{width:23px;height:23px;display:block;margin:0 auto}
.nav button span{font-size:10.5px!important;line-height:1.15!important;letter-spacing:0!important;white-space:normal!important}

/* 11. "↓ Bottom" button: smaller, and only shown mid-scroll on long pages */
.atlas-scroll-bottom{width:40px!important;height:40px!important;font-size:16px!important;right:14px!important;bottom:96px!important;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .2s ease,transform .2s ease;background:rgba(29,31,32,.88)!important}
.atlas-scroll-bottom span{display:none}
.atlas-scroll-bottom.show{opacity:.92;pointer-events:auto;transform:none}
@media(min-width:901px){.atlas-scroll-bottom{bottom:96px!important;right:28px!important}}

/* 12. Intensity guide text size */
.client-intensity-card{padding:14px!important;gap:14px!important}
.client-intensity-card h3{font-size:17px!important;margin-bottom:4px!important}
.client-intensity-card p{font-size:13.5px!important;line-height:1.5!important;color:#c4c4c4!important}

.intensityGuideCards{gap:10px!important}
.intensityGuideCard,body .intensityGuideCard{height:auto!important;min-height:0!important;grid-template-columns:64px minmax(0,1fr)!important;gap:12px!important;padding:12px 14px!important;align-items:center}
.intensityGuideCard .intensityGuideIcon img{width:60px!important;height:60px!important}
.intensityGuideCard h3,.intensityGuideTitle{font-size:18px!important;margin:0 0 4px!important}
.intensityGuideCard p,body .intensityGuideCard p{font-size:14px!important;line-height:1.45!important;color:#c8c8c8!important}
.intensityGuideCard .intensityGuideIcon{width:64px!important;height:64px!important}
.amx-tag{display:table;margin:3px 0 0!important}

/* ===================== v223: logged sets, workout details, coach Open Training ===================== */
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* compact logged-set table */
.alog-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;margin:2px 0 0}
.alog-table th,.alog-table td{padding:7px 6px;text-align:left;border-bottom:1px solid #2a2c2d;vertical-align:middle}
.alog-table thead th{font-size:10.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a8a8a;padding-top:2px}
.alog-table tbody th{color:#9a9a9a;font-weight:800;width:38px}
.alog-table td{color:#f2f2f2;font-weight:700}
.alog-table td small{color:#9a9a9a;font-weight:600;font-size:11px}
.alog-table tbody tr:last-child th,.alog-table tbody tr:last-child td{border-bottom:0}
.alog-note-row td{font-size:12.5px;color:#bdbdbd;font-weight:500;padding-top:0}
.alog-edit{width:34px;text-align:right!important}
.alog-edit-btn{width:30px;height:30px;border-radius:8px;border:1px solid #3a3c3d;background:#1c1e1f;color:#ccc;font-size:14px;cursor:pointer;line-height:1}
.alog-edit-btn:hover{border-color:#e53935;color:#fff}
.alog-empty{font-size:13px;color:#8f8f8f;padding:6px 0}
.alog-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800;border:1px solid #3a3c3d;color:#aaa;background:#1b1d1e}
.alog-chip.done{color:#a5d6a7;border-color:#2f5a33;background:rgba(76,175,80,.1)}
.alog-chip.part{color:#ffcc80;border-color:#6a4b1c;background:rgba(255,167,38,.08)}
.alog-chip.none{color:#8a8a8a}
.alog-chip.ready{color:#ddd}
.alog-intensity{display:inline-flex;align-items:center;gap:5px;font-weight:800;color:#d8d1c4;font-size:12px}
.alog-intensity img{width:18px;height:18px;object-fit:contain}
/* workout details pop-up */
.alog-session-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap;padding:10px 0 12px;border-bottom:1px solid #2c2e2f;margin-bottom:10px}
.alog-session-head b{display:block;font-size:17px;color:#fff}
.alog-session-head span{color:#999;font-size:12.5px}
.alog-session-tags{display:flex;gap:6px;flex-wrap:wrap}
.alog-ex{background:#1b1d1e;border:1px solid #2e3031;border-radius:12px;padding:12px;margin:0 0 10px}
.alog-ex-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.alog-ex-head b{font-size:15.5px;color:#fff}
.alog-ex-rx{font-size:12.5px;color:#aaa;margin:3px 0 6px}
.alog-ex-note{margin-top:8px;font-size:13px;color:#ddd;background:#222426;border-radius:8px;padding:8px 10px}

/* coach Open Training */
.coach-week-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 10px;padding:12px 14px;border:1px solid #333536;border-radius:12px;background:#1b1d1e;font-size:14px;color:#ddd}
.coach-week-done{margin-left:auto;font-size:12px;font-weight:800;color:#aaa}
.coach-day-card{border:1px solid #333536!important;border-radius:14px!important;overflow:hidden;margin:0 0 10px!important;background:#1a1c1d!important}
.coach-day-card .coach-client-day-toggle{display:flex!important;align-items:center;gap:10px;width:100%;padding:13px 14px!important;background:transparent!important;border:0!important;text-align:left;color:#fff;cursor:pointer}
.coach-day-title{flex:1;min-width:0;font-size:16px;font-weight:900;line-height:1.2}
.coach-day-title small{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#e53935;font-weight:900;margin-bottom:2px}
.coach-day-status{flex:0 0 auto}
.coach-client-day-chevron{transition:transform .15s ease;display:inline-block;font-size:18px;color:#999}
.coach-day-card.open .coach-client-day-chevron{transform:rotate(90deg)}
.coach-client-readiness{padding:0 14px 10px 38px;font-size:12px}
.coach-client-readiness:empty{display:none}
.coach-readiness-label{color:#999;font-weight:700;text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.coach-readiness-value{display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap!important;writing-mode:horizontal-tb!important;width:auto!important;font-weight:800;color:#ddd}
.coach-readiness-dot{width:8px!important;height:8px!important;border-radius:50%;background:#66bb6a;display:inline-block;flex:0 0 8px}
.coach-readiness-value.readiness-ok .coach-readiness-dot{background:#fdd835}.coach-readiness-value.readiness-poor .coach-readiness-dot{background:#ffa726}.coach-readiness-value.readiness-low .coach-readiness-dot{background:#ef5350}
.coach-readiness-empty{color:#777;font-size:12px}
.coach-client-day-content{padding:0 12px 12px!important;border-top:1px solid #2a2c2d}
.coach-ex{background:#202223!important;border:1px solid #2f3132!important;border-radius:12px!important;padding:12px!important;margin:10px 0 0!important}
.coach-ex-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.coach-ex-head strong{font-size:16px}
.coach-ex-label{margin:10px 0 4px;font-size:10.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a}
.coach-ex-cue{margin-top:8px;font-size:13px!important;line-height:1.45;color:#cfcfcf;background:#1a1c1d;border-left:3px solid #c62828;border-radius:6px;padding:8px 10px}
.coach-ex-cue b{display:block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#e57373;margin-bottom:2px}
.coach-cloud-log{background:transparent!important;border:0!important;padding:0!important;margin:0!important}
.coach-msg-details{margin-top:10px}
.coach-msg-details summary,.client-msg-details summary{cursor:pointer;list-style:none;font-size:13px;font-weight:700;color:#aaa;padding:8px 0}
.coach-msg-details summary::-webkit-details-marker,.client-msg-details summary::-webkit-details-marker{display:none}
.coach-msg-details.has-note summary,.client-msg-details.has-note summary{color:#ef9a9a}
.coach-msg-body textarea{width:100%;box-sizing:border-box;margin-top:4px}
.coach-msg-body .open-training-message-actions{display:flex;gap:8px;align-items:center;margin-top:8px}
.client-training-exercise .client-message{margin-top:10px}
@media(max-width:600px){
  #clientTrainingDetail > .card{padding:12px!important}
  .coach-client-day-content{padding:0 8px 10px!important}
  .coach-ex{padding:10px!important}
  .coach-ex .atlas-rx-row{grid-template-columns:60px 1fr!important;gap:8px!important;padding:7px 9px!important}
}
.coach-client-day-chevron{border:0!important;width:auto!important;height:auto!important;background:none!important}
.coach-ex .alog-table,.client-logged-sets .alog-table{max-width:640px}

/* v224: Program History (coach client profile) */
.aph-list{display:grid;gap:0}
.aph-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #2a2c2d}
.aph-row:last-child{border-bottom:0}
.aph-row b{display:block;font-size:14.5px;color:#f2f2f2}
.aph-row span{display:block;font-size:12px;color:#999;margin-top:2px}
.aph-row .alog-chip{display:inline-flex;margin:0}
.aph-row.active b{color:#fff}
.aph-warn{border:1px solid #6a4b1c;background:rgba(255,167,38,.08);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.aph-warn b{display:block;color:#ffcc80;font-size:13.5px}
.aph-warn span{display:block;color:#ccc;font-size:12.5px;margin:3px 0 8px}
.aph-badge{display:inline-block;font-size:10.5px;font-weight:800;color:#ffcc80;border:1px solid #6a4b1c;border-radius:999px;padding:1px 7px;margin-left:4px}
.aph-row button{flex:0 0 auto;white-space:nowrap}
.preview-exercise-detail{white-space:normal!important;overflow-wrap:anywhere;min-width:0}@media(max-width:600px){.preview-exercise-detail{text-align:left!important}}.preview-note{white-space:normal!important;overflow-wrap:anywhere}

/* ===================== v229: form-check videos, backup card ===================== */
.aform:empty{display:none}
.aform{margin-top:12px;border-top:1px solid #2a2c2d;padding-top:10px}
.aform-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:800;color:#ddd;margin-bottom:8px}
.aform-head small{color:#999;font-weight:600}
.aform-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid #26282a}
.aform-player video{width:100%;max-height:260px;border-radius:8px;background:#000}
.aform-item:has(video){grid-template-columns:1fr}
.aform-play{width:100%;aspect-ratio:16/10;border-radius:8px;border:1px solid #3a3c3d;background:linear-gradient(145deg,#26282a,#161819);color:#fff;font-size:22px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.aform-play span{font-size:11px;font-weight:800;color:#bbb}
.aform-meta b{display:block;font-size:13.5px;color:#f2f2f2;margin-bottom:4px}
.aform-note{font-size:12.5px;color:#ccc;margin-top:6px}
.aform-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.aform-add{margin-top:10px}
.aform-pick{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:10px;border:1px dashed #555;color:#ddd;font-weight:800;font-size:13px;cursor:pointer}
.aform-pick:hover{border-color:#e53935}
.aform-form{margin-top:10px;display:grid;gap:8px}
.aform-form[hidden]{display:none}
.aform-file{font-size:12.5px;color:#bbb}
.aform-row{display:flex;gap:8px;flex-wrap:wrap}
.aform-form select,.aform-form input{margin:0;width:100%;box-sizing:border-box}
.aform-status{font-size:12.5px;color:#ffcc80}
.aform-status:empty{display:none}
.aform-tip{font-size:11.5px;color:#888;margin-top:6px}
.coach-ex-chips{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.backup-actions{display:flex;gap:8px;flex-wrap:wrap}
.backup-restore{display:inline-flex;align-items:center;border:1px solid #3a3c3d;background:#1f2122;color:#eee;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:800;cursor:pointer}

/* ===================== v230: tempo / supersets / medleys / bodyweight / sore spots ===================== */
.ex-extras{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 2px}
.ex-extras label{font-size:11px;color:#999;font-weight:700}
.ex-extras select{width:100%;margin-top:4px;padding:8px;border-radius:9px;background:#111;border:1px solid #3a3c3d;color:#fff;font-size:13px}
.ex-group-tag{display:inline-block;background:#c62828;color:#fff;border-radius:6px;padding:1px 6px;font-size:12px;font-weight:900;margin-right:2px}
.atlas-rx-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 6px}
.atlas-rx-group{display:inline-block;background:#c62828;color:#fff;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:900}
.atlas-rx-grouphint{font-size:12px;color:#ef9a9a;font-weight:700}
.atlas-rx-tempo{display:inline-block;border:1px solid #3a5a7a;background:rgba(96,165,250,.1);color:#bfdbfe;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}
.aswap-box:empty{display:none}
.aswap{border:1px solid #6a4b1c;background:rgba(255,167,38,.08);border-radius:10px;padding:8px 10px;margin:6px 0}
.aswap b{display:block;color:#ffcc80;font-size:13px}
.aswap span{display:block;color:#ddd;font-size:12.5px;margin-top:2px}
.aswap strong{color:#fff}
.aflag-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}
.aflag-head b{font-size:15px;color:#f2f2f2}
.aflag-head small{color:#999;font-size:12px}
.aflag-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #2a2c2d}
.aflag-item span{font-size:13.5px;color:#eee}
.aflag-item small{display:block;color:#888;font-size:11.5px}
.aflag-none{font-size:13px;color:#999;padding:4px 0}
.aflag-add{margin-top:8px}
.aflag-add summary{cursor:pointer;font-size:13px;font-weight:800;color:#ddd;padding:6px 0;list-style:none}
.aflag-add summary::-webkit-details-marker{display:none}
.aflag-areas{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 8px}
.aflag-area{border:1px solid #3a3c3d;background:#1b1d1e;color:#ddd;border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:700;cursor:pointer}
.aflag-area.on{border-color:#e53935;background:rgba(229,57,53,.15);color:#fff}
.aflag-note{width:100%;box-sizing:border-box;margin:0 0 8px}
.abw-goal{font-size:13px;color:#ddd;margin:2px 0 6px}
.abw-goal .down-needed{color:#ffcc80}.abw-goal .on-target{color:#a5d6a7}.abw-goal.muted{color:#888}
.abw-spark{width:100%;height:auto;display:block;margin:4px 0 8px}
.abw-line{fill:none;stroke:#e53935;stroke-width:2}.abw-dot{fill:#e53935}.abw-target{stroke:#60a5fa;stroke-dasharray:4 4;stroke-width:1.5}
.abw-log{display:grid;grid-template-columns:minmax(0,1fr) 64px auto;gap:6px}
.abw-log input,.abw-log select{margin:0;width:100%;box-sizing:border-box}
.abw-target-edit{margin-top:10px}
.abw-target-edit summary{cursor:pointer;font-size:13px;font-weight:800;color:#ddd;padding:6px 0}
.abw-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 8px}
.abw-grid label{font-size:11px;color:#999;font-weight:700}
.abw-grid input,.abw-grid select{width:100%;box-sizing:border-box;margin-top:4px}
.atlas-client-extra-card:not(:empty){margin-top:14px;background:#1b1d1e;border:1px solid #2e3031;border-radius:14px;padding:14px}
.atlas-sore-training .aflag-head b{font-size:14px}

/* v232 — Personal Records board */
.apr-board{background:#161718;border:1px solid #2e3031;border-radius:16px;padding:14px;margin:0 0 16px}
.apr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.apr-title{font-weight:900;font-size:17px;color:#f4f4f4}
.apr-board button.apr-refresh{background:transparent;border:1px solid #3a3c3d;color:#bbb;border-radius:10px;min-width:38px;min-height:34px;padding:4px 10px;font-size:15px}
.apr-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.apr-summary>div{background:#202223;border:1px solid #333536;border-radius:12px;padding:10px 8px;text-align:center}
.apr-summary b{display:block;font-size:20px;font-weight:900;color:#f4f4f4}
.apr-summary span{display:block;font-size:10.5px;color:#9a9a9a;line-height:1.25;margin-top:2px}
.apr-summary .hot{border-color:#8b6a24;background:#211c12}.apr-summary .hot b{color:#f0c15b}
.apr-sub{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#9a9a9a;margin:0 0 6px}
.apr-recent{margin-bottom:12px;display:grid;gap:6px}
.apr-recent-row,.apr-teaser{display:flex;align-items:center;gap:10px;background:#202223;border:1px solid #333536;border-radius:12px;padding:9px 11px}
.atlas-client-view button.apr-teaser{width:100%;text-align:left;margin-top:12px;border-color:#6a5220;background:linear-gradient(90deg,#231d10,#1b1c1d);color:inherit;font:inherit;cursor:pointer}
.apr-trophy{font-size:20px;line-height:1}
.apr-recent-main{flex:1;min-width:0;display:flex;flex-direction:column}
.apr-recent-main b{font-size:14px;color:#f4f4f4;overflow-wrap:anywhere}
.apr-recent-main small{font-size:11px;color:#9a9a9a}
.apr-recent-val{font-weight:900;color:#f0c15b;font-size:14px;text-align:right;white-space:nowrap}
.apr-hint{font-size:12px;color:#9a9a9a;margin:0 0 12px}
.apr-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:10px;scrollbar-width:none}
.apr-tabs::-webkit-scrollbar{display:none}
.apr-board button.apr-tab{flex:0 0 auto;background:#202223;border:1px solid #3a3c3d;color:#ccc;border-radius:99px;padding:7px 12px;font-size:12.5px;font-weight:700;min-height:34px}
.apr-tab small{color:#888;font-weight:600;margin-left:3px}
.apr-board button.apr-tab.on{background:#f0c15b;border-color:#f0c15b;color:#111}.apr-board button.apr-tab.on small{color:#4a3b14}
.apr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.apr-card{background:#202223;border:1px solid #333536;border-radius:12px;padding:11px 12px;min-width:0}
.apr-card.is-new{border-color:#8b6a24;box-shadow:0 0 0 1px rgba(240,193,91,.15)}
.apr-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.apr-name{font-size:13.5px;font-weight:800;color:#e8e8e8;overflow-wrap:anywhere}
.apr-new{flex:0 0 auto;background:#f0c15b;color:#111;font-size:10px;font-weight:900;border-radius:99px;padding:2px 7px;letter-spacing:.05em}
.apr-kind{flex:0 0 auto;border:1px solid #3a3c3d;color:#aaa;font-size:10px;font-weight:700;border-radius:99px;padding:2px 7px}
.apr-value{font-size:20px;font-weight:900;color:#f0c15b;margin-top:4px;line-height:1.2}
.apr-meta{font-size:11.5px;color:#9a9a9a;margin-top:3px}.apr-meta b{color:#ddd}
.apr-more{margin-top:8px;border-top:1px solid #2e3031;padding-top:6px}
.apr-more summary{font-size:12px;color:#c9a24a;cursor:pointer;padding:4px 0;list-style:none}
.apr-more summary::-webkit-details-marker{display:none}
.apr-more summary::before{content:'▸ ';}.apr-more[open] summary::before{content:'▾ ';}
.apr-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:4px}
.apr-table td{padding:5px 4px;border-bottom:1px solid #2a2c2d;color:#ccc}
.apr-table td:last-child{text-align:right;color:#888;font-size:11px}
.apr-hist-title{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#888;margin:8px 0 4px}
.apr-hist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.apr-hist li{display:grid;grid-template-columns:58px 1fr;column-gap:8px;font-size:12px;color:#ccc}
.apr-hist li span{color:#888}.apr-hist li em{grid-column:2;font-style:normal;font-size:10.5px;color:#888}
.apr-empty{padding:16px;text-align:center;color:#999;font-size:12.5px;background:#202223;border:1px dashed #3a3c3d;border-radius:12px}
.apr-foot{font-size:10.5px;color:#777;margin-top:10px;line-height:1.4}
.apr-pop{position:fixed;inset:0;z-index:10050;display:flex;align-items:flex-start;justify-content:center;padding:calc(70px + env(safe-area-inset-top)) 16px 16px;background:rgba(0,0,0,.35);animation:aprFade .2s ease-out}
.apr-pop.out{opacity:0;transition:opacity .5s}
.apr-pop-card{width:min(360px,100%);background:linear-gradient(180deg,#2a2213,#18191a);border:1px solid #c9a24a;border-radius:18px;padding:18px 16px 12px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.6);animation:aprPop .45s cubic-bezier(.2,1.4,.4,1)}
.apr-pop-trophy{font-size:46px;line-height:1;animation:aprBounce 1s ease-in-out 2}
.apr-pop-title{font-size:22px;font-weight:900;color:#f0c15b;margin:6px 0 8px;letter-spacing:.02em}
.apr-pop-row{display:flex;flex-direction:column;gap:2px;background:rgba(0,0,0,.25);border-radius:10px;padding:8px;margin-top:6px}
.apr-pop-row b{color:#f4f4f4;font-size:15px}.apr-pop-row span{color:#e8d3a0;font-size:13px}
.apr-pop-tap{font-size:11px;color:#8a8a8a;margin-top:10px}
@keyframes aprFade{from{opacity:0}to{opacity:1}}
@keyframes aprPop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes aprBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px) rotate(-6deg)}}
@media (prefers-reduced-motion:reduce){.apr-pop,.apr-pop-card,.apr-pop-trophy{animation:none}}
@media (max-width:420px){.apr-grid{grid-template-columns:1fr}.apr-summary b{font-size:18px}}

/* v232 — Weak Points picker (replaces Priority) */
.wp-picked{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.wp-chip{display:inline-flex;align-items:center;gap:6px;background:#2a2213;border:1px solid #8b6a24;color:#f0c15b;border-radius:99px;padding:5px 6px 5px 11px;font-size:12.5px;font-weight:700}
.wp-chip button{background:transparent!important;border:0!important;color:#f0c15b!important;font-size:16px;line-height:1;padding:2px 6px!important;min-height:0!important;width:auto!important;margin:0!important}
.wp-none{font-size:12.5px;color:#999}
.wp-hint{font-size:12px;color:#999;margin-bottom:10px;line-height:1.4}
.wp-group{background:#1b1c1d;border:1px solid #2e3031;border-radius:12px;margin-bottom:8px;overflow:hidden}
.wp-group summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;cursor:pointer;font-weight:800;font-size:14.5px;list-style:none}
.wp-group summary::-webkit-details-marker{display:none}
.wp-group summary::after{content:'▸';color:#888;margin-left:auto}.wp-group[open] summary::after{content:'▾'}
.wp-group summary em{flex:0 0 auto;white-space:nowrap;font-style:normal;font-size:11px;font-weight:800;background:#f0c15b;color:#111;border-radius:99px;padding:2px 8px}
.wp-kind{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8a8a8a;padding:6px 14px 4px}
.wp-group button.wp-opt{display:flex;align-items:flex-start;gap:10px;width:calc(100% - 20px);margin:0 10px 8px;text-align:left;background:#222425;border:1px solid #333536;color:#ddd;border-radius:10px;padding:10px 11px;font:inherit}
.wp-group button.wp-opt.on{border-color:#c9a24a;background:#231d10}
.wp-check{flex:0 0 22px;height:22px;border-radius:6px;border:1.5px solid #555;display:flex;align-items:center;justify-content:center;font-weight:900;color:#111;font-size:13px;margin-top:1px}
.wp-opt.on .wp-check{background:#f0c15b;border-color:#f0c15b}
.wp-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.wp-body b{font-size:14px;color:#f2f2f2}
.wp-body small{font-size:12px;color:#a8a8a8;line-height:1.35}
.wp-adds{font-size:11.5px;color:#c9a24a;margin-top:3px;line-height:1.35}
.ex-wp-tag{display:inline-block;font-size:10.5px;font-weight:800;color:#f0c15b;border:1px solid #6a5220;border-radius:99px;padding:1px 7px;margin-right:4px;vertical-align:1px}

/* v234 — Warm-up & Cool-down cards */
.aprep{margin:12px 0;border-radius:14px;border:1px solid #3a2e1c;background:linear-gradient(180deg,#221a10 0%,#191a1b 60%);overflow:hidden}
.aprep-cooldown{border-color:#1f3444;background:linear-gradient(180deg,#112029 0%,#191a1b 60%);margin-top:16px}
.aprep>summary{display:flex;align-items:center;gap:11px;padding:13px 14px;cursor:pointer;list-style:none}
.aprep>summary::-webkit-details-marker{display:none}
.aprep-icon{flex:0 0 38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:20px;background:rgba(240,150,60,.14);border:1px solid rgba(240,150,60,.3)}
.aprep-cooldown .aprep-icon{background:rgba(90,180,240,.12);border-color:rgba(90,180,240,.3)}
.aprep-head{flex:1;min-width:0;display:flex;flex-direction:column}
.aprep-head b{font-size:15.5px;color:#f4f4f4;letter-spacing:.01em}
.aprep-head small{font-size:12px;color:#a8a8a8;margin-top:1px}
.aprep-count{font-size:12px;font-weight:800;color:#f0a24a;background:rgba(240,150,60,.12);border-radius:99px;padding:3px 9px}
.aprep-cooldown .aprep-count{color:#7cc4f0;background:rgba(90,180,240,.12)}
.aprep>summary::after{content:'▾';color:#777;font-size:13px;margin-left:4px}
.aprep:not([open])>summary::after{content:'▸'}
.aprep.complete{border-color:#2e5a36;background:#18201a}
.aprep.complete .aprep-head small{color:#7fcf8e;font-weight:700}
.aprep-body{padding:0 12px 12px}
.aprep-tip{font-size:12px;color:#9a9a9a;margin:-2px 2px 8px}
.aprep-sub{display:flex;align-items:baseline;gap:8px;margin:10px 2px 6px;font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#d69a55}
.aprep-cooldown .aprep-sub{color:#6fb3de}
.aprep-sub em{font-style:normal;font-weight:600;letter-spacing:0;text-transform:none;color:#8a8a8a;font-size:11.5px}
.aprep-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:rgba(255,255,255,.03);border:1px solid #2c2d2e;border-radius:11px;padding:10px 10px 10px 11px;margin:0 0 6px;color:inherit;font:inherit}
.aprep-item.tickable{cursor:pointer;-webkit-tap-highlight-color:transparent}
.aprep-item.tickable:active{transform:scale(.99)}
.aprep-dot{flex:0 0 26px;height:26px;border-radius:50%;border:1.5px solid #555;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#bbb}
.aprep-item.on{border-color:#2e5a36;background:rgba(76,175,80,.07)}
.aprep-item.on .aprep-dot{background:#4caf50;border-color:#4caf50;color:#0d1a0e}
.aprep-item.on .aprep-text b{color:#9a9a9a;text-decoration:line-through;text-decoration-color:#555}
.aprep-text{flex:1;min-width:0;display:flex;flex-direction:column}
.aprep-text b{font-size:14px;color:#ececec;overflow-wrap:anywhere}
.aprep-text small{display:inline-block;align-self:flex-start;margin-top:4px;font-size:11.5px;font-weight:700;color:#e2b97a;background:rgba(240,150,60,.1);border-radius:6px;padding:2px 7px}
.aprep-cooldown .aprep-text small{color:#9cd0ef;background:rgba(90,180,240,.1)}
.aprep-how{flex:0 0 auto;font-size:11.5px;font-weight:700;color:#c9a24a;text-decoration:none;border:1px solid #4a3d22;border-radius:99px;padding:5px 9px;white-space:nowrap}
.aprep-cooldown .aprep-how{color:#7cc4f0;border-color:#24435a}

/* v237 — Client intake (public #intake link) */
body.atlas-intake-open{overflow:hidden}
.atlas-intake{position:fixed;inset:0;z-index:100010;background:#0f1011;color:#eee;display:none;flex-direction:column;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.atlas-intake.on{display:flex}
.ai-top{padding:calc(12px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid #222;background:#121314}
.ai-brand{display:flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.14em;font-size:12px;color:#ddd}
.ai-brand img{width:26px;height:26px;object-fit:contain}
.ai-step{font-size:11px;color:#8a8a8a;margin:8px 0 6px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.ai-bar{height:4px;background:#26282a;border-radius:9px;overflow:hidden}.ai-bar span{display:block;height:100%;background:#c62828;border-radius:9px;transition:width .3s}
.ai-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 16px 24px;max-width:640px;width:100%;margin:0 auto;box-sizing:border-box}
.ai-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}
.ai-icon{flex:0 0 46px;height:46px;border-radius:14px;background:#1d1f20;border:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:24px}
.ai-head h2{margin:0;font-size:24px;color:#f4f4f4;line-height:1.15}
.ai-head p{margin:5px 0 0;color:#a0a0a0;font-size:14px}
.ai-field{margin:0 0 18px}
.ai-label{display:block;font-weight:800;font-size:15px;color:#f0f0f0;margin-bottom:6px}
.ai-req{color:#e05555;font-style:normal;margin-left:3px}
.ai-sub{font-size:12.5px;color:#9a9a9a;margin:-3px 0 8px}
.atlas-intake input,.atlas-intake textarea{width:100%;box-sizing:border-box;background:#1b1c1d;border:1px solid #37393a;border-radius:12px;color:#f2f2f2;padding:12px 13px;font:inherit;font-size:16px;margin:0}
.atlas-intake textarea{resize:vertical;min-height:84px}
.atlas-intake input:focus,.atlas-intake textarea:focus{outline:none;border-color:#c9a24a}
.ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.atlas-intake button{font:inherit;cursor:pointer}
.ai-chip{background:#1b1c1d;border:1px solid #37393a;color:#ddd;border-radius:12px;padding:10px 13px;font-size:14.5px;text-align:left}
.ai-chips.compact .ai-chip{min-width:52px;text-align:center}
.ai-chip.on{background:#2a1414;border-color:#c62828;color:#fff;font-weight:700}
.ai-none.on{background:#1d2a1f;border-color:#3f7a47}
.ai-row{display:flex;gap:8px;align-items:center}.ai-row input{flex:1}
.ai-seg{display:inline-flex;border:1px solid #37393a;border-radius:12px;overflow:hidden;flex:0 0 auto}
.ai-seg button{background:#1b1c1d;border:0;color:#ccc;padding:11px 18px;font-weight:700;min-width:64px}
.ai-seg button+button{border-left:1px solid #37393a}
.ai-seg button.on{background:#c62828;color:#fff}.ai-seg button.on.no{background:#2e5a36}
.ai-yn{display:flex;flex-direction:column}.ai-yn .ai-seg{align-self:flex-start}
.ai-scale{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.ai-scale button{background:#1b1c1d;border:1px solid #37393a;color:#ccc;border-radius:8px;padding:9px 0;font-weight:700;font-size:13px}
.ai-scale button.on{background:#c62828;border-color:#c62828;color:#fff}
.ai-scale-ends{display:flex;justify-content:space-between;font-size:11.5px;color:#888;margin-top:5px}
.ai-lifts{display:grid;gap:8px}
.ai-lift{display:grid;grid-template-columns:1fr 84px 26px 70px;gap:6px;align-items:center;background:#161718;border:1px solid #2a2c2d;border-radius:12px;padding:8px 9px}
.ai-lift b{font-size:14px;color:#eee;line-height:1.2}.ai-lift b small{display:block;color:#888;font-weight:500;font-size:11px}
.ai-lift input{padding:9px 8px;font-size:15px;text-align:center}
.ai-lift span{text-align:center;color:#888;font-size:12px}
.ai-wp{border:1px solid #2c2d2e;border-radius:12px;margin-bottom:8px;background:#161718}
.ai-wp summary{padding:12px;font-weight:800;cursor:pointer;list-style:none}.ai-wp summary::-webkit-details-marker{display:none}
.ai-wp summary em{font-style:normal;background:#c62828;color:#fff;border-radius:99px;font-size:11px;padding:1px 7px;margin-left:6px}
.ai-wpopt{display:block;width:calc(100% - 16px);margin:0 8px 8px;text-align:left;background:#1d1f20;border:1px solid #333;border-radius:10px;padding:10px;color:#ddd}
.ai-wpopt b{display:block;font-size:14px}.ai-wpopt small{display:block;color:#999;font-size:12.5px;margin-top:2px}
.ai-wpopt.on{border-color:#c62828;background:#2a1414}
.ai-consent{display:flex;gap:12px;align-items:flex-start;text-align:left;background:#1b1c1d;border:1px solid #37393a;border-radius:12px;padding:14px;color:#ddd;font-size:14px;line-height:1.45;width:100%}
.ai-consent.on{border-color:#3f7a47;background:#18221a}
.ai-box{flex:0 0 24px;height:24px;border-radius:6px;border:1.5px solid #666;display:flex;align-items:center;justify-content:center;font-weight:900;color:#0d1a0e}
.ai-consent.on .ai-box{background:#4caf50;border-color:#4caf50}
.ai-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.ai-summary div{background:#1b1c1d;border:1px solid #2c2d2e;border-radius:12px;padding:10px}
.ai-summary span{display:block;font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.ai-summary b{display:block;font-size:14px;color:#eee;margin-top:2px}
.ai-flag{background:#231d10;border:1px solid #6a5220;color:#e9cf93;border-radius:10px;padding:9px 11px;font-size:13px;margin-bottom:10px}
.ai-err{color:#ff8a80;font-weight:700;font-size:14px;min-height:1px}
.ai-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ai-foot{display:flex;justify-content:space-between;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #222;background:#121314}
.ai-back{background:transparent;border:1px solid #444;color:#ccc;border-radius:12px;padding:13px 20px;font-weight:700}
.ai-next{flex:1;max-width:320px;margin-left:auto;background:#c62828;border:0;color:#fff;border-radius:12px;padding:14px 20px;font-weight:800;font-size:16px}
.ai-next:disabled{opacity:.6}
.ai-done{margin:auto;max-width:420px;text-align:center;padding:30px 20px}
.ai-done-icon{font-size:56px}.ai-done h2{color:#f4f4f4;font-size:26px;margin:10px 0}.ai-done p{color:#bbb}.ai-muted{color:#777!important;font-size:13px}
@media (max-width:360px){.ai-lift{grid-template-columns:1fr 70px 20px 60px}.ai-scale{grid-template-columns:repeat(6,1fr)}}

/* v237 — Coach intake inbox */
.aii-head{display:flex;align-items:center;gap:8px}.aii-head b{font-size:16px}
.aii-badge{font-style:normal;background:#c62828;color:#fff;font-size:11px;font-weight:800;border-radius:99px;padding:2px 8px}
.aii-card button.aii-refresh{margin-left:auto;background:transparent;border:1px solid #3a3c3d;color:#bbb;border-radius:10px;min-width:36px;padding:5px 9px;width:auto}
.aii-link{margin:10px 0 12px}.aii-link-label{font-size:12px;color:#999;margin-bottom:6px}
.aii-link-row{display:flex;gap:6px;align-items:center}.aii-link-row input{flex:1;min-width:0;margin:0;font-size:13px}
.aii-link-row button{flex:0 0 auto;width:auto;margin:0}
.aii-empty{font-size:13px;color:#999;background:#1b1c1d;border:1px dashed #3a3c3d;border-radius:12px;padding:14px;text-align:center}
.aii-list{display:grid;gap:6px}
.aii-card button.aii-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#1d1f20;border:1px solid #333;border-radius:12px;padding:11px 12px;color:#eee;margin:0}
.aii-card button.aii-row.is-new{border-color:#7a2a2a}
.aii-main{flex:1;min-width:0;display:flex;flex-direction:column}.aii-main b{font-size:14.5px}.aii-main small{font-size:12px;color:#999}
.aii-flag{color:#f0b35b;font-size:16px}
.aii-st{font-style:normal;font-size:10.5px;font-weight:800;border-radius:99px;padding:3px 8px;white-space:nowrap;background:#2a2c2d;color:#bbb}
.aii-st.new{background:#c62828;color:#fff}.aii-st.added{background:#1d3a22;color:#8fd49a}.aii-st.rev{background:#2a2c2d;color:#ccc}
.aii-card button.aii-more{background:transparent;border:0;color:#c9a24a;margin-top:6px;width:auto;padding:6px 0}
.aii-modal{position:fixed;inset:0;z-index:10040;background:rgba(0,0,0,.72);display:none;overflow-y:auto;padding:calc(16px + env(safe-area-inset-top)) 12px 30px}
.aii-modal.on{display:block}
.aii-modal-box{max-width:640px;margin:0 auto;background:#151617;border:1px solid #333;border-radius:18px;padding:16px;position:relative}
.aii-who h2{margin:0 90px 4px 0;font-size:22px}
.aii-contact{font-size:13.5px}.aii-contact a{color:#c9a24a}
.aii-meta{font-size:12.5px;color:#999;margin-top:4px}
.aii-alert{border-radius:10px;padding:9px 11px;font-size:13px;margin-top:10px}
.aii-alert.red{background:#2a1414;border:1px solid #7a2a2a;color:#ffb4ab}.aii-alert.amber{background:#231d10;border:1px solid #6a5220;color:#e9cf93}
.aii-sub{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#888;margin:14px 0 6px}
.aii-maxes div:not(.aii-sub){display:grid;grid-template-columns:1fr auto;gap:0 10px;padding:6px 0;border-bottom:1px solid #262829;font-size:13.5px}
.aii-maxes b{color:#f0c15b}.aii-maxes small{grid-column:1/-1;color:#888;font-size:11.5px}
.aii-actions{display:grid;gap:8px;margin:14px 0 6px}.aii-actions .btn{margin:0}
.aii-actions-row{display:flex;gap:8px;flex-wrap:wrap}.aii-actions-row button{width:auto}
.aii-sec{border-top:1px solid #262829;padding:4px 0}
.aii-sec summary{padding:10px 0;font-weight:800;cursor:pointer;list-style:none}.aii-sec summary::-webkit-details-marker{display:none}
.aii-qa{padding:7px 0;border-bottom:1px solid #1f2122;font-size:13px}
.aii-qa span{display:block;color:#8f8f8f;font-size:12px}.aii-qa b{display:block;color:#eee;font-weight:600;white-space:pre-line;margin-top:1px}
.aii-qa.yes b{color:#ff8a80;font-weight:800}

/* v238 — Stretch routines */
body.astr-open{overflow:hidden}
.astr{position:fixed;inset:0;z-index:2147483647;background:#0e1112;color:#eee;display:none;flex-direction:column;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.astr.on{display:flex}
.astr button{font:inherit;cursor:pointer}
.astr-top{display:flex;align-items:center;gap:10px;padding:calc(12px + env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid #1f2426}
.astr-top b{flex:1;font-size:16px;text-align:center}
.astr-x,.astr-back{background:transparent;border:1px solid #333;color:#ccc;border-radius:10px;padding:7px 11px;min-width:40px}
.astr-count{font-size:12.5px;color:#8fb8c9;font-weight:700;min-width:40px;text-align:right}
.astr-scroll{flex:1;overflow-y:auto;padding:16px;max-width:620px;width:100%;margin:0 auto;box-sizing:border-box}
.astr-intro{color:#a5b0b4;margin:0 0 14px}
.astr-week{background:#132418;border:1px solid #2e5a36;color:#8fd49a;border-radius:10px;padding:8px 11px;font-size:13px;font-weight:700;margin-bottom:12px}
.astr-card,.astr-home{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:linear-gradient(180deg,#132029,#16191b);border:1px solid #23394a;border-radius:14px;padding:13px;margin-bottom:10px;color:#eee}
.astr-card-icon{flex:0 0 44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:23px;background:rgba(90,180,240,.12);border:1px solid rgba(90,180,240,.28)}
.astr-card-main{flex:1;min-width:0;display:flex;flex-direction:column}
.astr-card-main b{font-size:15.5px}.astr-card-main small{font-size:12.5px;color:#98a6ad;margin-top:1px}
.astr-card-time{font-size:20px;font-weight:900;color:#7cc4f0;text-align:center;line-height:1}.astr-card-time small{display:block;font-size:10px;color:#7f8f97;font-weight:700}
.atlas-client-view .astr-home{margin-top:12px}
.astr-arrow{font-size:24px;color:#6f8b99}
.astr-sum{background:#141b20;border:1px solid #23394a;border-radius:12px;padding:10px 12px;font-size:13.5px;color:#bcd3df;margin-bottom:12px}
.astr-list{margin:0;padding:0;list-style:none;counter-reset:s}
.astr-list li{counter-increment:s;display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid #1d2326}
.astr-list li::before{content:counter(s);flex:0 0 24px;height:24px;border-radius:50%;background:#1c2a33;color:#9cd0ef;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.astr-list li span{flex:1;display:flex;flex-direction:column}.astr-list b{font-size:14.5px}.astr-list small{color:#8e9aa0;font-size:12.5px;margin-top:2px}
.astr-list em{font-style:normal;font-size:12px;font-weight:800;color:#7cc4f0;white-space:nowrap}
.astr-foot{display:flex;align-items:center;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #1f2426}
.astr-voice{display:flex;align-items:center;gap:8px;font-size:13.5px;color:#bbb}.astr-voice input{width:20px;height:20px;margin:0}
.astr-go{flex:1;max-width:300px;margin-left:auto;background:#1f8fd6;border:0;color:#fff;border-radius:12px;padding:14px 20px;font-weight:800;font-size:16px}
.astr-prog{height:4px;background:#1b2226}.astr-prog span{display:block;height:100%;background:#1f8fd6;transition:width .3s}
.astr-play{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 20px;text-align:center;overflow-y:auto}
.astr-phase{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7cc4f0;margin-bottom:10px}
.astr-play.is-ready .astr-phase{color:#f0c15b}
.astr-clock{position:relative;width:min(58vw,230px);aspect-ratio:1}
.astr-ring{width:100%;height:100%;transform:rotate(-90deg)}
.astr-ring-bg{fill:none;stroke:#1d272d;stroke-width:12}
.astr-ring-fg{fill:none;stroke:#1f8fd6;stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .25s linear}
.astr-play.is-ready .astr-ring-fg{stroke:#f0c15b}
.astr-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:clamp(52px,17vw,76px);font-weight:900;font-variant-numeric:tabular-nums;color:#f4f4f4}
.astr-name{font-size:24px;margin:16px 0 2px;color:#f4f4f4;line-height:1.2}
.astr-side{display:inline-block;background:#1c2a33;color:#9cd0ef;border-radius:99px;padding:3px 12px;font-size:13px;font-weight:800;margin-top:4px}
.astr-cue{color:#b4c0c5;font-size:14.5px;max-width:420px;margin:10px auto 6px}
.astr-how{color:#7cc4f0;font-size:13px;font-weight:700;text-decoration:none}
.astr-next{display:flex;flex-direction:column;align-items:center;padding:10px 16px;border-top:1px solid #1f2426;background:#111618}
.astr-next span{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7f8f97}.astr-next b{font-size:15px;color:#dfe8ec;margin-top:2px;text-align:center}
.astr-ctrl{display:flex;justify-content:center;gap:14px;padding:12px 16px calc(14px + env(safe-area-inset-bottom))}
.astr-ctrl button{width:58px;height:58px;border-radius:50%;background:#182126;border:1px solid #2a3a44;color:#dfe8ec;font-size:20px}
.astr-ctrl .astr-pp{width:72px;height:72px;background:#1f8fd6;border-color:#1f8fd6;color:#fff;font-size:24px;margin-top:-7px}
.astr-done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.astr-done-icon{font-size:60px}.astr-done h2{font-size:28px;margin:8px 0}.astr-done p{color:#b4c0c5;max-width:360px}.astr-muted{color:#7f8f97!important;font-size:13px}
.astr-done .astr-go{flex:0 0 auto;margin:14px auto 0;width:100%}
@media (max-height:640px){.astr-clock{width:min(44vw,160px)}.astr-name{font-size:20px;margin-top:10px}.astr-cue{font-size:13px}}
body.astr-open .atlas-client-nav,body.atlas-intake-open .atlas-client-nav,body.astr-open .bottomNav,body.astr-open nav{display:none!important}
