/* GPTFit Visual Theme v2 — premium dark teal UI */
:root{
  --v2-bg:#06141f;
  --v2-bg2:#081b28;
  --v2-card:#0b2130;
  --v2-card2:#0e293a;
  --v2-field:#102b3b;
  --v2-field2:#0c2231;
  --v2-line:#1a455b;
  --v2-line2:rgba(85,174,210,.26);
  --v2-text:#edfaff;
  --v2-muted:#8aa9b9;
  --v2-teal:#1fcfaf;
  --v2-cyan:#20b8d4;
  --v2-red:#ff526f;
  --v2-yellow:#ffd056;
  --v2-shadow:0 18px 44px rgba(0,0,0,.32);
}
html{background:#041019!important}
body{
  background:
    radial-gradient(circle at 50% -10%,rgba(26,151,181,.14),transparent 28%),
    radial-gradient(circle at 100% 80%,rgba(31,207,175,.035),transparent 24%),
    linear-gradient(180deg,#071823 0%,#05131d 100%)!important;
  color:var(--v2-text)!important;
}
body:not(.trainer):not(.panelPage) .container{max-width:480px!important}
.container{padding-bottom:96px!important}

/* Header */
.topbar{background:transparent!important;box-shadow:none!important}
.banner{
  height:124px!important;
  border-radius:0 0 24px 24px!important;
  overflow:hidden!important;
  box-shadow:0 18px 36px rgba(0,0,0,.28)!important;
  position:relative!important;
}
.banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,16,25,.18));pointer-events:none}
.profile,.orgBrand{
  background:rgba(5,19,27,.68)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-radius:999px!important;
  box-shadow:0 8px 22px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.profBadge{background:transparent!important}
.profAvatar{background:linear-gradient(135deg,var(--v2-teal),#76ffe2)!important;color:#04342d!important;box-shadow:0 0 0 3px rgba(43,231,198,.14)!important}

/* Cards and typography */
.card,.journalEntry,.listItem,.statBox,.chartBox,.suppCard,.galleryList .measCard{
  background:linear-gradient(180deg,rgba(12,36,50,.98),rgba(8,27,39,.98))!important;
  border:1px solid var(--v2-line2)!important;
  box-shadow:var(--v2-shadow),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.card{border-radius:20px!important;padding:15px!important;margin:12px 9px!important}
.journalEntry,.listItem,.statBox,.chartBox,.suppCard,.galleryList .measCard{border-radius:15px!important}
.h2,.accTitle,.pageTitle{color:#f5fcff!important;font-weight:900!important;letter-spacing:.005em!important}
.h2{font-size:17px!important;margin-bottom:11px!important}
.small,.muted,.accSub{color:var(--v2-muted)!important;opacity:1!important}
.sep{background:rgba(255,255,255,.065)!important}

/* Form controls */
.input,select,textarea.input{
  background:linear-gradient(180deg,var(--v2-field),var(--v2-field2))!important;
  color:var(--v2-text)!important;
  border:1px solid rgba(78,158,192,.30)!important;
  border-radius:14px!important;
  min-height:43px!important;
  padding:10px 12px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.input:focus,select:focus,textarea.input:focus{
  border-color:rgba(31,207,175,.58)!important;
  box-shadow:0 0 0 3px rgba(31,207,175,.08),inset 0 1px 0 rgba(255,255,255,.03)!important;
  background:linear-gradient(180deg,#123448,#0f2938)!important;
}
.input::placeholder,textarea.input::placeholder{color:#7e9eae!important}
select option{background:#0d2635!important;color:#ecfaff!important}
#exerciseTopRow{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin-bottom:9px!important}
#exerciseTopRow>*{min-width:0!important;width:100%!important;margin:0!important}
#exercise{margin-top:0!important}

/* Buttons */
.btn{
  border-radius:14px!important;
  min-height:40px!important;
  padding:8px 14px!important;
  background:linear-gradient(180deg,#102d3e,#0c2433)!important;
  border:1px solid rgba(78,158,192,.30)!important;
  color:#eaf8ff!important;
  box-shadow:0 9px 22px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.btn:hover{background:linear-gradient(180deg,#14364a,#102b3b)!important;border-color:rgba(43,231,198,.34)!important}
.btn.primary{
  background:linear-gradient(90deg,var(--v2-teal),#35ddbf)!important;
  border-color:rgba(56,220,191,.46)!important;
  color:#062e2a!important;
  box-shadow:0 10px 22px rgba(31,207,175,.12)!important;
}
.btn.secondary{
  background:rgba(8,29,39,.76)!important;
  color:#cff5ee!important;
  border-color:rgba(31,207,175,.34)!important;
}
.btn.gray,.btn.ghost{background:rgba(11,35,48,.84)!important;color:#dceef5!important;border-color:rgba(86,150,177,.28)!important}
.btn.danger{background:rgba(119,20,39,.16)!important;color:#ffd7df!important;border-color:rgba(255,82,111,.40)!important}
#addSet,#save{flex:1 1 0!important;min-height:44px!important;font-size:13px!important}
#addSet{border-color:rgba(43,231,198,.62)!important}
#save{font-weight:900!important}

/* One-row sets — visualized design */
.setSimpleItem{padding:7px 0!important;border-bottom:1px solid rgba(68,137,164,.14)!important}
.setSimpleRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px 38px 38px!important;gap:7px!important}
.setSimpleField{position:relative!important}
.setSimpleInput.input.sm{
  height:44px!important;min-height:44px!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#102d3e,#0c2433)!important;
  border:1px solid rgba(75,157,192,.32)!important;
  color:#fff!important;font-size:15px!important;font-weight:850!important;
  padding:8px 42px 8px 11px!important;margin:0!important;
}
.setSimpleUnit{right:10px!important;color:#8eacba!important;font-size:9px!important;font-weight:800!important}
.setSimpleTarget{height:44px!important}
.setSimpleTarget span{color:#6f92a2!important;font-size:7.5px!important;text-transform:lowercase!important}
.setSimpleTarget b{color:#dcecf3!important;font-size:10.5px!important}
.setSimpleIcon,.setSimpleIconSpacer{width:38px!important;min-width:38px!important;height:44px!important}
.setSimpleIcon{border-radius:12px!important;background:linear-gradient(180deg,#0c2937,#091f2b)!important;border:1px solid rgba(74,151,181,.28)!important}
.setSimpleTipBtn{color:var(--v2-teal)!important;border-color:rgba(43,231,198,.38)!important}
.setSimpleTipBtn.active{background:rgba(43,231,198,.11)!important;border-color:rgba(43,231,198,.72)!important;color:#9affed!important}
.setSimpleDeleteBtn{color:var(--v2-red)!important;border-color:rgba(255,82,111,.28)!important}
.setSimpleDeleteBtn:hover{background:rgba(255,82,111,.10)!important;border-color:rgba(255,82,111,.55)!important}
.setPlanTipBox,.coachHint{
  border-radius:16px!important;
  border:1px solid rgba(31,207,175,.26)!important;
  background:linear-gradient(180deg,rgba(8,46,50,.34),rgba(7,32,40,.46))!important;
  box-shadow:0 0 0 1px rgba(43,231,198,.05),0 12px 28px rgba(0,0,0,.20)!important;
}
.coachHint.warn{border-color:rgba(255,208,86,.42)!important;background:linear-gradient(180deg,rgba(80,58,13,.36),rgba(42,32,10,.36))!important}
.coachHint .chTitle,.setPlanTipBox .chTitle{color:var(--v2-teal)!important;font-weight:900!important}
.coachHint.warn .chTitle{color:var(--v2-yellow)!important}

/* Timer */
.timerRowOne{grid-template-columns:92px 1fr auto!important;gap:9px!important}
.secOnly{margin:0!important;text-align:center!important;font-weight:850!important}
.timerTiny{
  background:linear-gradient(180deg,#0d2c37,#08252e)!important;
  border:1px solid rgba(31,207,175,.42)!important;
  color:#5fe3cb!important;
  border-radius:12px!important;
  box-shadow:0 0 14px rgba(31,207,175,.06)!important;
}

/* Training journal — keep grouping by day */
.daySummary{
  padding:10px 45px 10px 10px!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,#0f2d3d,#0b2331)!important;
  border:1px solid rgba(31,207,175,.22)!important;
  border-left:1px solid rgba(31,207,175,.22)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.17)!important;
}
.daySummary>div{background:rgba(4,20,28,.46)!important;border:1px solid rgba(76,147,176,.20)!important;border-radius:999px!important}
.dayToggleAll,.jeToggle{background:#0c2a39!important;border-color:rgba(62,149,184,.28)!important;color:#dffaff!important}
.journalEntry{margin:7px 0!important;padding:10px 11px!important}

/* Plan */
.planTable{font-size:13px!important}
.planTable .head{background:linear-gradient(180deg,#123548,#0f2c3c)!important;border-radius:13px!important;color:#e9f9ff!important}
.planTable .row{border-bottom:1px solid rgba(66,132,158,.16)!important;padding:8px!important}
#planEditor .listMini .item,.listItem{background:linear-gradient(180deg,#102c3c,#0d2432)!important;border-color:rgba(74,151,181,.22)!important;border-radius:14px!important}

/* Supplements */
.suppList .item{border-bottom:1px solid rgba(66,132,158,.16)!important;padding:10px!important}
.pb{background:#071c27!important;height:7px!important}
.pb_in.ok{background:linear-gradient(90deg,var(--v2-teal),#56f1d4)!important}

/* Progress */
.statsGrid{gap:10px!important}
.statBox{padding:12px!important}
.statBox .lbl{color:var(--v2-muted)!important}
.statBox .val{color:#f1fbff!important;font-weight:900!important}
.chartBox{background:linear-gradient(180deg,#0d2b3b,#092332)!important;border-color:rgba(75,153,184,.24)!important}
.measList th,.measList td{border-bottom-color:rgba(67,131,157,.17)!important}
.measThumbs img{border-radius:12px!important;border-color:rgba(71,147,176,.24)!important}

/* Accordions/settings */
details.accordion.card>summary{padding:14px!important}
details.accordion.card .accBody{padding:0 14px 14px!important}
.accChevron{color:var(--v2-teal)!important}
.iconBtn{border-radius:12px!important;background:linear-gradient(180deg,#102d3d,#0b2432)!important;border-color:rgba(75,151,181,.27)!important;color:#e1f4fb!important}
.iconBtn.danger{background:rgba(102,20,33,.18)!important;border-color:rgba(255,82,111,.32)!important;color:#ffcdd7!important}

/* Bottom navigation */
.tabbar{
  left:9px!important;right:9px!important;bottom:9px!important;width:auto!important;
  border-radius:22px!important;
  background:rgba(4,17,25,.91)!important;
  border:1px solid rgba(74,145,174,.22)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;
  padding:7px!important;gap:5px!important;
}
.tabbar a{min-height:58px!important;border-radius:16px!important;color:#8daab8!important;gap:5px!important;padding:7px 3px!important}
.tabbar a.active{background:linear-gradient(180deg,rgba(14,48,61,.95),rgba(9,32,43,.95))!important;color:var(--v2-teal)!important;box-shadow:inset 0 0 0 1px rgba(43,231,198,.16)!important}
.tabbar a span{width:25px!important;height:25px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:currentColor!important;font-size:0!important}
.tabbar a span svg{width:23px!important;height:23px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.tabbar a em{font-size:11px!important;font-weight:850!important;color:currentColor!important}

/* Panel pages */
.panelPage .pageTitle{margin:16px 12px 6px!important;font-size:20px!important}
.panelNav{margin:8px 10px!important}
.authCard,.pill{background:rgba(7,28,39,.72)!important;border-color:rgba(73,145,173,.22)!important}

/* Mobile refinements */
@media(max-width:520px){
  .banner{height:118px!important}
  .card{padding:13px!important;margin:10px 7px!important;border-radius:18px!important}
  #exerciseTopRow{gap:7px!important}
  .setSimpleRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px 34px 34px!important;gap:5px!important}
  .setSimpleIcon,.setSimpleIconSpacer{width:34px!important;min-width:34px!important;height:42px!important}
  .setSimpleInput.input.sm{height:42px!important;min-height:42px!important;padding-right:36px!important;font-size:14px!important}
  .setSimpleTarget{height:42px!important}
  .tabbar{left:7px!important;right:7px!important;bottom:7px!important}
}
@media(max-width:375px){
  .setSimpleRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px 31px 31px!important;gap:4px!important}
  .setSimpleIcon,.setSimpleIconSpacer{width:31px!important;min-width:31px!important}
  .setSimpleUnit{right:7px!important;font-size:8px!important}
  .setSimpleInput.input.sm{padding-left:8px!important;padding-right:32px!important}
}


/* muted refinements + stable timer row */
.btn.primary:hover{background:linear-gradient(90deg,#1fcfaf,#35ddbf)!important}
.profile,.orgBrand{background:rgba(5,19,27,.74)!important}
.tabbar a.active span, .tabbar a.active em{color:var(--v2-teal)!important}
.timerRowOne{grid-template-columns:72px minmax(0,1fr) 68px!important;align-items:center!important;gap:8px!important}
.timerRowOne .btnRow.tight{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;flex-wrap:nowrap!important;justify-content:stretch!important;margin:0!important;width:100%!important}
.timerRowOne .btnRow.tight .btn{min-width:0!important;width:100%!important;padding:6px 0!important;font-size:11px!important;min-height:34px!important}
.timerTiny{min-width:68px!important;text-align:center!important;font-size:18px!important}
@media(max-width:520px){
  .timerRowOne{grid-template-columns:68px minmax(0,1fr) 64px!important;gap:6px!important}
  .timerRowOne .btnRow.tight{gap:4px!important}
  .timerRowOne .btnRow.tight .btn{font-size:10px!important;padding:5px 0!important;min-height:32px!important}
  .timerTiny{min-width:64px!important;font-size:17px!important}
}


/* Pretty custom selects */
.prettySelectWrap{position:relative!important;width:100%!important;min-width:0!important}
.prettySelectNative{position:absolute!important;inset:0!important;opacity:0!important;pointer-events:none!important;width:100%!important;height:100%!important}
.prettySelectButton{
  width:100%!important;min-height:43px!important;border-radius:14px!important;
  padding:10px 38px 10px 12px!important;text-align:left!important;
  background:linear-gradient(180deg,var(--v2-field),var(--v2-field2))!important;
  color:var(--v2-text)!important;border:1px solid rgba(78,158,192,.30)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;position:relative!important;
  overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:13px!important;
}
.prettySelectButton.is-placeholder{color:#7e9eae!important}
.prettySelectLabel{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;padding-right:4px!important}
.prettySelectChevron{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;color:#8fb1bf!important;font-size:12px!important}
.prettySelectWrap.is-open .prettySelectButton{border-color:rgba(31,207,175,.58)!important;box-shadow:0 0 0 3px rgba(31,207,175,.08),inset 0 1px 0 rgba(255,255,255,.03)!important}
.prettySelectPanel{
  display:none!important;position:absolute!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;z-index:1400!important;
  background:linear-gradient(180deg,#0d2735,#091e2a)!important;border:1px solid rgba(74,145,174,.28)!important;border-radius:16px!important;
  box-shadow:0 22px 44px rgba(0,0,0,.34)!important;overflow:hidden!important
}
.prettySelectWrap.is-open .prettySelectPanel{display:block!important}
.prettySelectSearchWrap{padding:10px!important;border-bottom:1px solid rgba(74,145,174,.18)!important;background:rgba(4,17,25,.35)!important}
.prettySelectSearch.input{min-height:40px!important;height:40px!important;padding:9px 11px!important}
.prettySelectList{max-height:280px!important;overflow:auto!important;padding:8px!important}
.prettySelectGroup{padding:7px 10px 5px!important;color:#6fd8c2!important;font-size:10px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.prettySelectOption{
  width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  border:0!important;background:transparent!important;color:#e9f8ff!important;padding:10px 12px!important;border-radius:12px!important;
  font-size:12px!important;line-height:1.3!important;text-align:left!important
}
.prettySelectOption span{display:block!important;flex:1 1 auto!important;min-width:0!important}
.prettySelectOption b{color:var(--v2-teal)!important;font-size:12px!important;flex:0 0 auto!important}
.prettySelectOption:hover,.prettySelectOption.selected{background:rgba(17,52,68,.72)!important}
.prettySelectOption.selected{box-shadow:inset 0 0 0 1px rgba(31,207,175,.18)!important}
.prettySelectEmpty{padding:16px 12px!important;color:#87a7b5!important;text-align:center!important;font-size:12px!important}
#exerciseTopRow .prettySelectWrap{width:100%!important}
@media(max-width:520px){
  .prettySelectPanel{top:calc(100% + 6px)!important;border-radius:15px!important}
  .prettySelectList{max-height:250px!important;padding:6px!important}
  .prettySelectOption{padding:11px 10px!important;font-size:11.5px!important}
}


/* === Plan + Suple simplified UX === */
.planSuppTabs{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;
  margin:10px 8px 12px!important;padding:6px!important;border-radius:18px!important;
  background:rgba(7,25,35,.72)!important;border:1px solid rgba(71,143,171,.22)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}
.planSuppTab{
  min-height:46px!important;border-radius:14px!important;border:1px solid transparent!important;
  background:transparent!important;color:#9bb5c1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  font-size:13px!important;font-weight:900!important;padding:8px 10px!important;transition:.18s ease!important
}
.planSuppTab.active{
  color:#eafff9!important;background:linear-gradient(180deg,rgba(23,101,104,.72),rgba(13,62,70,.80))!important;
  border-color:rgba(31,207,175,.42)!important;box-shadow:inset 0 0 0 1px rgba(31,207,175,.08),0 8px 22px rgba(0,0,0,.18)!important
}
.planSuppTabIcon{font-size:17px!important;line-height:1!important;color:var(--v2-teal)!important}
.planMainCard{overflow:visible!important}
.planSectionHeader{align-items:center!important}
.planKicker{font-size:8px!important;letter-spacing:.14em!important;color:#6ebbad!important;font-weight:900!important;margin-bottom:3px!important}
.planSimpleEditor{
  border:1px solid rgba(73,147,174,.20)!important;border-radius:18px!important;padding:12px!important;
  background:linear-gradient(180deg,rgba(9,31,43,.72),rgba(7,24,34,.64))!important;
}
.planEditorTitle{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:13px!important}
.planEditorPlus{
  width:34px!important;height:34px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;
  background:linear-gradient(135deg,var(--v2-teal),#3adbbd)!important;color:#062e2a!important;font-size:22px!important;font-weight:900!important;flex:0 0 34px!important
}
.planEditorTitle b{display:block!important;font-size:15px!important;color:#effaff!important}
.planEditorTitle span:not(.planEditorPlus){display:block!important;font-size:10px!important;color:#809eac!important;margin-top:2px!important}
.planSimpleForm{display:grid!important;gap:9px!important}
.planFieldRow{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:10px!important;align-items:center!important}
.planFieldRow>label{font-size:11px!important;font-weight:800!important;color:#b5ccd6!important;line-height:1.25!important}
.planFieldRow .input,.planFieldRow .prettySelectWrap{margin:0!important}
.planFieldRow .prettySelectButton{min-height:42px!important}
.planModeField{align-items:stretch!important}
.planRepModes{
  display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:3px!important;padding:3px!important;
  background:rgba(6,22,31,.65)!important;border:1px solid rgba(73,147,174,.20)!important;border-radius:13px!important
}
.planRepMode{
  min-height:36px!important;border-radius:10px!important;background:transparent!important;border:0!important;color:#8ca8b5!important;
  font-size:10.5px!important;font-weight:850!important;padding:6px 5px!important
}
.planRepMode.active{
  color:#eafff8!important;background:linear-gradient(180deg,rgba(25,112,109,.82),rgba(14,72,77,.82))!important;
  box-shadow:inset 0 0 0 1px rgba(31,207,175,.32)!important
}
.planRepPanel{
  display:grid!important;gap:8px!important;margin-left:102px!important;
}
.planRepPanel[hidden], .planPerSetSimple[hidden]{display:none!important}
.planRepPanelFixed{grid-template-columns:minmax(0,1fr)!important}
.planRepPanelRange{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.planMiniField,.planRxPreview{
  min-height:66px!important;border-radius:14px!important;border:1px solid rgba(75,147,176,.20)!important;
  background:linear-gradient(180deg,#0e2a39,#0a2230)!important;padding:8px 10px!important
}
.planMiniField span,.planRxPreview span{display:block!important;font-size:8px!important;color:#7695a4!important;font-weight:850!important;margin-bottom:4px!important}
.planMiniField .input{min-height:34px!important;height:34px!important;padding:5px 0!important;margin:0!important;border:0!important;background:transparent!important;font-size:16px!important;font-weight:900!important;box-shadow:none!important}
.planRxPreview{display:flex!important;flex-direction:column!important;justify-content:center!important}
.planRxPreview b{font-size:15px!important;color:#71dfca!important;font-weight:900!important;white-space:nowrap!important}
.planNoteRow{align-items:start!important}
.planNoteRow textarea{min-height:62px!important;resize:vertical!important}
.planEditorActions{display:flex!important;justify-content:flex-end!important;gap:8px!important;margin-top:2px!important}
.planEditorActions .btn.primary{min-width:160px!important}
.planCurrentDayHead{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;
  border-top:1px solid rgba(72,139,166,.15)!important;margin-top:14px!important;padding-top:12px!important
}
.planCurrentDayHead>div span{display:block!important;font-size:8px!important;color:#7695a4!important;text-transform:uppercase!important;font-weight:900!important;letter-spacing:.08em!important}
.planCurrentDayHead>div b{display:block!important;font-size:14px!important;color:#effbff!important;margin-top:2px!important}
.planCountBadge{font-size:9px!important;font-weight:850!important;color:#88c9bd!important;background:rgba(16,61,65,.48)!important;border:1px solid rgba(31,207,175,.18)!important;border-radius:999px!important;padding:5px 8px!important}
.planCompactEditorList{display:grid!important;gap:6px!important;margin-top:8px!important}
.planCompactItem{
  display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;
  padding:8px!important;border:1px solid rgba(72,140,168,.18)!important;border-radius:13px!important;background:linear-gradient(180deg,#0d2938,#0a2130)!important
}
.planCompactItem.editing{border-color:rgba(31,207,175,.42)!important;box-shadow:inset 0 0 0 1px rgba(31,207,175,.08)!important}
.planCompactIndex,.planViewIndex{
  width:28px!important;height:28px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;
  background:#122f40!important;color:#bfd2db!important;font-size:11px!important;font-weight:900!important
}
.planCompactText,.planViewText{min-width:0!important}
.planCompactText b,.planViewText b{display:block!important;font-size:11.5px!important;color:#edfaff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.planCompactText span,.planViewText span{display:block!important;font-size:9.5px!important;color:#84a1ae!important;margin-top:2px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.planCompactActions{display:flex!important;gap:3px!important;align-items:center!important}
.planMoveBtn,.planEditBtn,.planDeleteBtn,.planViewVideo{
  width:28px!important;height:28px!important;border-radius:9px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;background:#0d2938!important;border:1px solid rgba(74,145,174,.22)!important;color:#a9c4cf!important;font-size:12px!important
}
.planMoveBtn:disabled{opacity:.25!important}
.planEditBtn{color:#9fe6d9!important;border-color:rgba(31,207,175,.22)!important}
.planDeleteBtn{color:#ff7b91!important;border-color:rgba(255,82,111,.20)!important}
.planEmptyDay{padding:14px!important;border-radius:13px!important;background:rgba(8,26,36,.48)!important;color:#7899a7!important;text-align:center!important;font-size:10px!important}
.planPerSetSimple{margin-left:102px!important;gap:6px!important}
.planPerSetSimple .planSetRangeRow{
  display:grid!important;grid-template-columns:54px 118px minmax(0,1fr)!important;gap:7px!important;align-items:center!important;
  border:1px solid rgba(74,145,174,.17)!important;border-radius:13px!important;padding:7px!important;background:rgba(8,27,38,.55)!important
}
.planPerSetSimple .planSetLabel{font-size:9px!important;font-weight:900!important;color:#9eb8c3!important}
.planPerSetSimple .repRangePair{display:grid!important;grid-template-columns:1fr 10px 1fr!important;gap:4px!important;align-items:center!important}
.planPerSetSimple .repRangePair .input{margin:0!important;min-height:34px!important;height:34px!important;padding:5px!important;text-align:center!important;font-size:12px!important}
.planPerSetSimple .planSetNoteInput{margin:0!important;min-height:34px!important;height:34px!important;padding:6px 8px!important;font-size:10px!important}

.planDayCompactCard{
  border:1px solid rgba(72,143,171,.18)!important;border-radius:16px!important;background:linear-gradient(180deg,#0d2938,#0a2130)!important;
  padding:10px!important;margin:8px 0!important
}
.planDayCompactHead{display:flex!important;align-items:center!important;gap:9px!important;padding:2px 2px 8px!important}
.planDayIcon{width:30px!important;height:30px!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:rgba(20,79,81,.48)!important;color:#60d8c2!important;font-size:12px!important}
.planDayCompactHead b{display:block!important;font-size:13px!important;color:#f0fbff!important}
.planDayCompactHead span{display:block!important;font-size:9px!important;color:#7797a5!important;margin-top:1px!important}
.planDayCompactList{display:grid!important;gap:5px!important}
.planViewItem{
  display:grid!important;grid-template-columns:30px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;
  border-top:1px solid rgba(69,132,157,.12)!important;padding:7px 2px 2px!important
}
.planViewVideo{background:transparent!important}
.suppSimpleEditor{background:transparent!important;border:0!important;padding:0!important;margin:0!important}

@media(max-width:520px){
  .planSuppTabs{margin:8px 7px 10px!important}
  .planSuppTab{font-size:11px!important;min-height:42px!important}
  .planSimpleEditor{padding:10px!important}
  .planFieldRow{grid-template-columns:78px minmax(0,1fr)!important;gap:8px!important}
  .planFieldRow>label{font-size:10px!important}
  .planRepPanel,.planPerSetSimple{margin-left:86px!important}
  .planRepMode{font-size:9.5px!important}
  .planRepPanel{gap:5px!important}
  .planMiniField,.planRxPreview{min-height:60px!important;padding:7px!important}
  .planRxPreview b{font-size:13px!important}
  .planCompactActions{gap:2px!important}
  .planMoveBtn,.planEditBtn,.planDeleteBtn{width:25px!important;height:25px!important;border-radius:8px!important}
  .planPerSetSimple .planSetRangeRow{grid-template-columns:44px 104px minmax(0,1fr)!important;gap:5px!important}
}
@media(max-width:380px){
  .planFieldRow{grid-template-columns:72px minmax(0,1fr)!important;gap:6px!important}
  .planRepPanel,.planPerSetSimple{margin-left:78px!important}
  .planRepModes{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .planRepMode{font-size:8.8px!important;padding:5px 2px!important}
  .planPerSetSimple .planSetRangeRow{grid-template-columns:42px 94px minmax(0,1fr)!important}
}


/* Plan import / export */
.planHeaderActions{display:flex!important;align-items:center!important;gap:7px!important}
.planToolsWrap{position:relative!important;display:inline-flex!important}
.planToolsBtn{
  width:38px!important;height:38px!important;border-radius:12px!important;padding:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:linear-gradient(180deg,#102d3d,#0b2432)!important;border:1px solid rgba(75,151,181,.27)!important;
  color:#b8d0da!important;font-size:16px!important;font-weight:900!important;letter-spacing:1px!important
}
.planToolsBtn:hover,.planToolsBtn[aria-expanded="true"]{border-color:rgba(31,207,175,.34)!important;color:#dffbf5!important;background:#113244!important}
.planToolsMenu{
  position:absolute!important;right:0!important;top:calc(100% + 7px)!important;z-index:1600!important;width:210px!important;
  padding:6px!important;border-radius:15px!important;background:linear-gradient(180deg,#0d2938,#081f2c)!important;
  border:1px solid rgba(76,148,176,.28)!important;box-shadow:0 20px 42px rgba(0,0,0,.38)!important
}
.planToolsMenu[hidden]{display:none!important}
.planToolsMenu>button{
  width:100%!important;display:grid!important;grid-template-columns:30px 1fr!important;gap:8px!important;align-items:center!important;
  text-align:left!important;background:transparent!important;border:0!important;border-radius:11px!important;padding:9px!important;color:#eaf8ff!important
}
.planToolsMenu>button:hover{background:rgba(18,53,69,.7)!important}
.planToolsMenu>button>span{width:28px!important;height:28px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#102f40!important;color:var(--v2-teal)!important;font-size:17px!important;font-weight:800!important}
.planToolsMenu b{display:block!important;font-size:11px!important;color:#eefaff!important}
.planToolsMenu small{display:block!important;font-size:8.5px!important;color:#7899a7!important;margin-top:2px!important}
.planImportModal{position:fixed!important;inset:0!important;z-index:3000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important}
.planImportModal[hidden]{display:none!important}
.planImportBackdrop{position:absolute!important;inset:0!important;background:rgba(1,8,12,.72)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important}
.planImportDialog{position:relative!important;width:min(100%,420px)!important;border-radius:20px!important;padding:15px!important;background:linear-gradient(180deg,#0d2b3a,#081e2a)!important;border:1px solid rgba(78,154,184,.28)!important;box-shadow:0 24px 60px rgba(0,0,0,.46)!important}
.planImportTop{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important}
.planImportTop span{display:block!important;font-size:8px!important;font-weight:900!important;letter-spacing:.12em!important;color:#66b9aa!important}
.planImportTop h3{margin:3px 0 0!important;font-size:16px!important;color:#f2fbff!important}
.planImportClose{width:32px!important;height:32px!important;border-radius:10px!important;background:#102d3d!important;border:1px solid rgba(77,148,177,.24)!important;color:#9bb6c1!important;font-size:19px!important}
.planImportStats{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:14px!important}
.planImportStats>div{padding:12px!important;border-radius:14px!important;background:rgba(10,34,47,.74)!important;border:1px solid rgba(73,145,174,.20)!important;text-align:center!important}
.planImportStats b{display:block!important;font-size:20px!important;color:#eafff9!important}
.planImportStats span{display:block!important;font-size:8.5px!important;color:#829fac!important;margin-top:2px!important}
.planImportDays{display:grid!important;gap:5px!important;margin-top:8px!important}
.planImportDays>div{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:8px 10px!important;border-radius:11px!important;background:rgba(7,27,38,.56)!important;border:1px solid rgba(73,145,174,.14)!important}
.planImportDays span{font-size:10px!important;color:#b7ccd5!important}.planImportDays b{font-size:10px!important;color:#71d8c5!important}
.planImportWarning{margin-top:9px!important;padding:10px!important;border-radius:12px!important;background:rgba(85,59,11,.25)!important;border:1px solid rgba(221,174,58,.28)!important}
.planImportWarning b,.planImportWarning span,.planImportWarning small{display:block!important}.planImportWarning b{font-size:10px!important;color:#f3d67d!important}.planImportWarning span{font-size:9px!important;color:#d9c68f!important;margin-top:3px!important}.planImportWarning small{font-size:8px!important;color:#9f956f!important;margin-top:3px!important}
.planImportActions{display:flex!important;justify-content:flex-end!important;gap:7px!important;margin-top:13px!important}.planImportActions .btn{min-width:120px!important}
@media(max-width:520px){.planHeaderActions{gap:5px!important}.planToolsBtn{width:36px!important;height:36px!important}.planToolsMenu{width:200px!important}.planImportDialog{padding:13px!important}.planImportActions .btn{min-width:0!important;flex:1 1 0!important}}

/* Excel plan import */
.planExcelCreateInfo{margin-top:9px!important;padding:10px 11px!important;border-radius:12px!important;background:rgba(19,83,73,.22)!important;border:1px solid rgba(31,207,175,.24)!important}
.planExcelCreateInfo b,.planExcelCreateInfo span{display:block!important}.planExcelCreateInfo b{font-size:10px!important;color:#8be4d2!important}.planExcelCreateInfo span{font-size:8.5px!important;color:#91b8b0!important;margin-top:2px!important}

/* === Progress dashboard v3 === */
.progressHero,.progressExerciseCard,.progressMeasuresCard{overflow:visible!important}
.progressTitleRow,.progressSectionHead,.progressDataTitle,.progressAddHead{display:flex;align-items:center;justify-content:space-between;gap:12px}
.progressTitleRow .h2,.progressSectionHead .h2{margin:0!important}
.progressRangeSeg,.progressMetricSeg{display:flex;gap:4px;padding:4px;border-radius:14px;background:#081d2a;border:1px solid rgba(75,145,174,.22)}
.progressRangeSeg button,.progressMetricSeg button{border:0;border-radius:10px;background:transparent;color:#8eaab8;padding:7px 11px;font-size:11px;font-weight:850;white-space:nowrap}
.progressRangeSeg button.active,.progressMetricSeg button.active{background:#103342;color:#dff9f4;box-shadow:inset 0 0 0 1px rgba(31,207,175,.28)}
.progressMetricSeg{margin:10px 0}
.progressMetricSeg button{flex:1 1 0}
.progressKpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.progressKpiGrid.progressKpi3{grid-template-columns:repeat(3,minmax(0,1fr))}
.progressKpi{min-width:0;padding:10px;border-radius:14px;background:linear-gradient(180deg,#102c3c,#0b2432);border:1px solid rgba(73,145,174,.18)}
.progressKpi span{display:block;color:#819fac;font-size:9px;font-weight:800;line-height:1.25;margin-bottom:5px}
.progressKpi b{display:block;color:#eefaff;font-size:14px;font-weight:900;line-height:1.15;overflow-wrap:anywhere}
.progressPositive{color:#58d9be!important}.progressNegative{color:#ff7e92!important}
.progressFullSelect{margin:10px 0 0!important}
.progressSvgChart{min-height:220px;margin-top:10px;border:1px solid rgba(73,145,174,.17);border-radius:16px;background:linear-gradient(180deg,rgba(9,31,43,.72),rgba(6,22,32,.72));overflow:hidden;padding:4px}
.progressChartSvg{display:block;width:100%;height:220px;overflow:visible}
.progressChartSvg .pgGrid{stroke:rgba(147,188,205,.10);stroke-width:1}
.progressChartSvg .pgAxis,.progressChartSvg .pgX{fill:#7895a3;font-size:10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.progressChartSvg .pgLine{fill:none;stroke:#27bfa5;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.progressChartSvg .pgPoint{fill:#7ee9d4;stroke:#0b2b33;stroke-width:2}
.progressChartSvg .pgValue{fill:#dff8f4;font-size:10px;font-weight:800;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.progressDataTitle{margin-top:12px;padding:0 2px}
.progressDataRows{display:grid;gap:7px;margin-top:8px}
.progressDataRow{display:grid;grid-template-columns:92px 1.25fr .7fr 1fr;gap:8px;align-items:center;padding:9px 10px;border-radius:13px;background:#0b2432;border:1px solid rgba(73,145,174,.15)}
.progressDataRow>div:not(.progressDate){min-width:0}
.progressDataRow span{display:block;color:#7594a2;font-size:8px;font-weight:800;margin-bottom:2px}
.progressDataRow b{display:block;color:#e9f8fc;font-size:11px;white-space:nowrap}
.progressDate b{font-size:11px;color:#dff7f2}.progressDate span{font-size:8px;margin-top:2px;white-space:nowrap}
.progressEmpty{min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;color:#819fac;font-size:12px;padding:20px}
.progressMeasureControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:12px}
.progressMeasureControls>.input{margin:0!important}
.progressMeasureDataRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:12px;background:#0b2432;border:1px solid rgba(73,145,174,.14)}
.progressMeasureDataRow span{font-size:10px;color:#88a6b4}.progressMeasureDataRow b{font-size:12px;color:#e8f8fc}
.progressMeasureAdd{display:none;margin-top:12px;padding:12px;border-radius:16px;background:#091f2c;border:1px solid rgba(31,207,175,.20)}
.progressMeasureAdd.is-open{display:block!important;animation:pgMeasureOpen .16s ease-out}
@keyframes pgMeasureOpen{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.progressMeasureForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}
.progressMeasureForm label{display:block;min-width:0}.progressMeasureForm label>span{display:block;color:#819fac;font-size:9px;font-weight:800;margin:0 0 4px 2px}.progressMeasureForm .input{margin:0!important}
.progressMeasureAdd textarea{margin:8px 0!important}
.progressMeasureAdd #pmSave{width:100%}
@media(max-width:520px){
  .progressTitleRow{align-items:flex-start}
  .progressKpiGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .progressKpiGrid.progressKpi3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .progressKpi{padding:9px 8px}.progressKpi b{font-size:12px}.progressKpi span{font-size:8px}
  .progressDataRow{grid-template-columns:70px 1.2fr .62fr 1fr;gap:5px;padding:8px 7px}
  .progressDataRow b{font-size:9.5px}.progressDataRow span{font-size:7px}.progressDate b{font-size:10px}.progressDate span{font-size:7px}
  .progressMeasureControls{grid-template-columns:1fr}.progressRangeSeg{width:100%}.progressRangeSeg button{flex:1 1 0;padding:7px 6px}
  .progressChartSvg{height:205px}.progressSvgChart{min-height:205px}
}
@media(max-width:380px){
  .progressKpiGrid.progressKpi3{grid-template-columns:1fr 1fr}.progressKpiGrid.progressKpi3 .progressKpi:last-child{grid-column:1/-1}
  .progressDataRow{grid-template-columns:62px 1.1fr .58fr .9fr}.progressDataRow b{font-size:8.5px}
}

/* Trainer progress dashboard */
.trainerProgressHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.trainerProgressHead .h3{margin:0 0 3px!important}
.trainerProgressRange{display:flex;gap:4px;padding:4px;border-radius:13px;background:#081d2a;border:1px solid rgba(75,145,174,.22)}
.trainerProgressRange button{border:0;border-radius:9px;background:transparent;color:#8da8b6;padding:6px 10px;font-size:11px;font-weight:850}
.trainerProgressRange button.active{background:#103342;color:#dff8f4;box-shadow:inset 0 0 0 1px rgba(31,207,175,.24)}
.trainerProgressKpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.trainerProgressKpis>div{padding:10px;border-radius:13px;background:#0b2432;border:1px solid rgba(73,145,174,.16)}
.trainerProgressKpis span{display:block;color:#809eab;font-size:9px;font-weight:800;margin-bottom:4px}.trainerProgressKpis b{display:block;color:#edf9fd;font-size:13px;font-weight:900}
.trainerProgressChart{min-height:210px;border:1px solid rgba(73,145,174,.16);border-radius:15px;background:#091f2c;padding:4px;overflow:hidden}
.trainerProgressChart svg{width:100%;height:210px;display:block}.trPgGrid{stroke:rgba(147,188,205,.10);stroke-width:1}.trPgLine{fill:none;stroke:#27bfa5;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trPgPoint{fill:#7ee9d4;stroke:#0b2b33;stroke-width:2}.trPgValue{fill:#dff8f4;font-size:10px;font-weight:800;font-family:system-ui,sans-serif}.trPgX{fill:#7895a3;font-size:10px;font-family:system-ui,sans-serif}
.trainerProgressRows{display:grid;gap:6px;margin-top:8px}.trainerProgressRows>div{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:12px;background:#0b2432;border:1px solid rgba(73,145,174,.14)}.trainerProgressRows span{color:#829fac;font-size:10px}.trainerProgressRows b{color:#eaf8fc;font-size:11px}.trainerProgressRows small{color:#7896a3;font-size:9px;text-align:right}.trainerProgressEmpty{min-height:150px;display:flex;align-items:center;justify-content:center;color:#809eab;font-size:12px;text-align:center;padding:20px}.trPgPositive{color:#58d9be!important}.trPgNegative{color:#ff7e92!important}
@media(max-width:520px){.trainerProgressHead{align-items:flex-start}.trainerProgressKpis>div{padding:8px}.trainerProgressKpis b{font-size:11px}.trainerProgressKpis span{font-size:8px}.trainerProgressRows>div{grid-template-columns:56px 1fr;}.trainerProgressRows small{grid-column:1/-1;text-align:left}.bottomNav .wrap{grid-template-columns:repeat(5,1fr)!important;padding:6px!important}.bottomNav button{padding:7px 2px!important}.bottomNav small{font-size:9px!important}}


/* Progress measurements — compact add button + delete action */
.progressMeasuresCard .progressTitleRow{align-items:center!important;flex-wrap:nowrap!important}
.progressMeasuresCard .progressTitleRow>div:first-child{min-width:0!important;flex:1 1 auto!important}
.pgMeasureAddBtn{width:auto!important;min-width:0!important;min-height:32px!important;height:32px!important;padding:4px 9px!important;font-size:10px!important;line-height:1!important;white-space:nowrap!important;flex:0 0 auto!important;border-radius:10px!important;box-shadow:none!important}
.progressMeasureValue{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:0!important}
.progressMeasureDelete{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;background:rgba(92,19,32,.16)!important;border:1px solid rgba(255,82,111,.26)!important;color:#ff738a!important;box-shadow:none!important}
.progressMeasureDelete svg{width:14px!important;height:14px!important;display:block!important}
.progressMeasureDelete:hover{background:rgba(255,82,111,.10)!important;border-color:rgba(255,82,111,.48)!important}
.progressMeasureDelete:disabled{opacity:.4!important;cursor:not-allowed!important}
@media(max-width:520px){
  .progressMeasuresCard .progressTitleRow{gap:7px!important}
  .progressMeasuresCard .progressTitleRow .h2{font-size:15px!important}
  .progressMeasuresCard .progressTitleRow .small{font-size:9px!important;line-height:1.2!important}
  .pgMeasureAddBtn{height:30px!important;min-height:30px!important;padding:3px 8px!important;font-size:9px!important;border-radius:9px!important}
  .progressMeasureDataRow{padding:8px 8px!important}
  .progressMeasureValue{gap:6px!important}
  .progressMeasureDelete{width:28px!important;height:28px!important;min-width:28px!important}
}

/* measurement row edit/delete actions */
.progressMeasureActions{display:inline-flex!important;align-items:center!important;gap:6px!important}
.progressMeasureEdit{width:30px!important;height:30px!important;min-width:30px!important;padding:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:9px!important;background:rgba(20,67,80,.28)!important;border:1px solid rgba(31,207,175,.24)!important;color:#72dbc7!important;box-shadow:none!important}
.progressMeasureEdit svg{width:14px!important;height:14px!important;display:block!important}
.progressMeasureEdit:hover{background:rgba(31,207,175,.09)!important;border-color:rgba(31,207,175,.44)!important}
@media(max-width:520px){.progressMeasureActions{gap:5px!important}.progressMeasureEdit{width:28px!important;height:28px!important;min-width:28px!important}}


/* Settings: exercise list expansion fix */
#settingsExerciseListCard[open],
#settingsExerciseListCard.exerciseListExpanded{
  overflow:visible!important;
  height:auto!important;
  max-height:none!important;
  contain:none!important;
}
#settingsExerciseListCard .accBody,
#settingsExerciseListCard #exList{
  height:auto!important;
  max-height:none!important;
}
#settingsExerciseListCard.exerciseListExpanded .accBody,
#settingsExerciseListCard.exerciseListExpanded #exList{overflow:visible!important}


/* === iPhone / narrow Safari stability === */
@supports (-webkit-touch-callout: none) {
  html,body{max-width:100%;overflow-x:hidden}
  .card{max-width:calc(100vw - 14px)!important}
  #exerciseTopRow{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:7px!important}
  #exerciseTopRow > *, #exerciseTopRow .prettySelectWrap{min-width:0!important;max-width:100%!important}
  #exerciseTopRow .prettySelectButton, #date{font-size:12px!important;padding-left:10px!important;padding-right:28px!important}
  .btnRow.pushTop{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px!important;flex-wrap:nowrap!important}
  .btnRow.pushTop .btn{width:100%!important;min-width:0!important;white-space:nowrap!important;padding-left:8px!important;padding-right:8px!important}
}

@media(max-width:430px){
  .timerRowOne{grid-template-columns:58px minmax(0,1fr) 62px!important;gap:5px!important}
  .timerRowOne .secOnly{width:58px!important;max-width:58px!important;min-width:0!important;padding:6px 4px!important;font-size:12px!important;margin:0!important}
  .timerRowOne .btnRow.tight{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;min-width:0!important;width:100%!important}
  .timerRowOne .btnRow.tight .btn{min-width:0!important;width:100%!important;white-space:nowrap!important;padding:5px 2px!important;font-size:9.5px!important;min-height:32px!important}
  .timerTiny{min-width:62px!important;width:62px!important;padding:6px 4px!important;font-size:16px!important}
  .setSimpleRow{grid-template-columns:minmax(72px,1fr) minmax(72px,1fr) 42px 32px 32px!important;gap:4px!important}
  .setSimpleInput.input.sm{min-width:0!important;padding-left:8px!important;padding-right:34px!important;font-size:13px!important}
  .setSimpleIcon,.setSimpleIconSpacer{width:32px!important;min-width:32px!important;height:40px!important}
  .setSimpleTarget{width:42px!important;min-width:42px!important;height:40px!important}
  #onboardingBanner{width:calc(100vw - 36px)!important;max-width:calc(100vw - 36px)!important;padding:10px 12px!important}
}

@media(max-width:360px){
  .timerRowOne{grid-template-columns:52px minmax(0,1fr) 56px!important;gap:4px!important}
  .timerRowOne .secOnly{width:52px!important;max-width:52px!important;font-size:11px!important}
  .timerRowOne .btnRow.tight .btn{font-size:9px!important;padding:4px 1px!important}
  .timerTiny{min-width:56px!important;width:56px!important;font-size:15px!important}
  .setSimpleRow{grid-template-columns:minmax(64px,1fr) minmax(64px,1fr) 38px 30px 30px!important;gap:3px!important}
}


/* === iOS date + muscle filter hardening === */
#exerciseTopRow{
  display:grid!important;
  grid-template-columns:minmax(0,44fr) minmax(0,56fr)!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
#exerciseTopRow > *{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#date{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  font-size:11.5px!important;
  padding-left:9px!important;
  padding-right:25px!important;
  font-variant-numeric:tabular-nums!important;
}
#date::-webkit-date-and-time-value{
  min-width:0!important;
  width:100%!important;
  text-align:left!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
#date::-webkit-datetime-edit{
  min-width:0!important;
  padding:0!important;
}
#date::-webkit-calendar-picker-indicator{
  width:15px!important;
  min-width:15px!important;
  height:15px!important;
  padding:0!important;
  margin:0!important;
}
#exerciseTopRow .prettySelectWrap,
#exerciseTopRow .prettySelectButton{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#exerciseTopRow .prettySelectButton{
  padding-left:9px!important;
  padding-right:27px!important;
  font-size:11.5px!important;
}
#exerciseTopRow .prettySelectLabel{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
@supports (-webkit-touch-callout: none){
  #exerciseTopRow{grid-template-columns:minmax(0,44fr) minmax(0,56fr)!important}
  #date{-webkit-text-size-adjust:100%!important}
}
@media(max-width:390px){
  #exerciseTopRow{grid-template-columns:minmax(0,43fr) minmax(0,57fr)!important;gap:5px!important}
  #date,#exerciseTopRow .prettySelectButton{font-size:11px!important}
}

/* Progress comparison v2 — previous vs current vs plan */
.progressCompareCard{overflow:visible!important}
.progressLastWorkoutMeta{flex:0 0 auto;padding:7px 10px;border-radius:11px;background:#0a2432;border:1px solid rgba(73,145,174,.18);color:#a5c0cb;font-size:10px;font-weight:850;white-space:nowrap}
.progressCompareSummary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:11px 0}
.progressCompareSummary>div{min-width:0;padding:9px 7px;border-radius:12px;background:#0b2432;border:1px solid rgba(73,145,174,.14);text-align:center}
.progressCompareSummary b{display:block;color:#effaff;font-size:14px;font-weight:950;line-height:1}.progressCompareSummary span{display:block;margin-top:5px;color:#7f9ca8;font-size:8px;font-weight:800;line-height:1.15}
.progressCompareList{display:grid;gap:8px}
.progressCompareItem{padding:11px;border-radius:15px;background:linear-gradient(180deg,#0d2938,#09212f);border:1px solid rgba(73,145,174,.16)}
.progressCompareItem.up{border-color:rgba(31,207,175,.28)}.progressCompareItem.down{border-color:rgba(255,96,119,.25)}
.progressCompareItemHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}
.progressCompareItemHead>div{min-width:0}.progressCompareItemHead b{display:block;color:#effaff;font-size:12px;font-weight:900;line-height:1.2}.progressCompareItemHead span:not(.progressStatus){display:block;color:#7998a5;font-size:9px;margin-top:2px}
.progressStatus{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:950;letter-spacing:.02em;white-space:nowrap;border:1px solid rgba(73,145,174,.20);background:#0a2230;color:#9bb5c0}
.progressStatus.up{background:rgba(31,207,175,.10);border-color:rgba(31,207,175,.30);color:#69e0c9}.progressStatus.down{background:rgba(255,82,111,.08);border-color:rgba(255,82,111,.26);color:#ff8da0}.progressStatus.same{color:#b0c5ce}.progressStatus.new{color:#87cbea;border-color:rgba(39,184,212,.28);background:rgba(39,184,212,.08)}
.progressCompareTriplet,.progressExerciseCompareGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.progressCompareTriplet>div,.progressExerciseCompareGrid>div{min-width:0;padding:9px;border-radius:12px;background:rgba(5,22,31,.56);border:1px solid rgba(73,145,174,.13)}
.progressCompareTriplet>div.current,.progressExerciseCompareGrid>div.current{background:rgba(18,55,61,.48);border-color:rgba(31,207,175,.22)}
.progressCompareTriplet span,.progressExerciseCompareGrid span{display:block;color:#7897a4;font-size:8px;font-weight:850;margin-bottom:4px}.progressCompareTriplet b,.progressExerciseCompareGrid b{display:block;color:#edf9fd;font-size:11px;font-weight:900;line-height:1.2;overflow-wrap:anywhere}.progressCompareTriplet small,.progressExerciseCompareGrid small{display:block;color:#75939f;font-size:8px;line-height:1.3;margin-top:4px;overflow-wrap:anywhere}
.progressCompareReason{margin-top:8px;color:#91aab5;font-size:9px;line-height:1.35;padding-left:2px}.planOk{color:#59d8be!important}.planMiss{color:#f0b767!important}
.progressExerciseCompare{margin:10px 0 9px}.progressExerciseCompare:empty{display:none}
.progressExerciseCompareHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:7px;padding:0 2px}.progressExerciseCompareHead>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.progressExerciseCompareHead span{color:#7f9ca8;font-size:9px}.progressExerciseCompareHead small{color:#94acb6;font-size:9px;line-height:1.3;text-align:right;max-width:55%}
.progressInlineStatus{font-size:10px!important;font-weight:900!important}.progressInlineStatus.up{color:#59d8be!important}.progressInlineStatus.down{color:#ff8397!important}.progressInlineStatus.same{color:#a5bac3!important}.progressInlineStatus.new{color:#75c8e2!important}
.progressDataRow small{display:block;margin-top:3px;font-size:8px;color:#7d99a5;line-height:1.2}
.progressEmpty.compact{min-height:0!important;padding:10px!important}
@media(max-width:520px){
  .progressCompareSummary{grid-template-columns:repeat(3,minmax(0,1fr))}.progressCompareSummary>div:last-child{grid-column:span 2}
  .progressCompareTriplet,.progressExerciseCompareGrid{grid-template-columns:1fr 1fr}.progressCompareTriplet>div:last-child,.progressExerciseCompareGrid>div:last-child{grid-column:1/-1}
  .progressExerciseCompareHead{display:block}.progressExerciseCompareHead small{display:block;max-width:none;text-align:left;margin-top:5px}
}
@media(max-width:380px){.progressCompareTriplet,.progressExerciseCompareGrid{grid-template-columns:1fr}.progressCompareTriplet>div:last-child,.progressExerciseCompareGrid>div:last-child{grid-column:auto}.progressCompareSummary{grid-template-columns:1fr 1fr}.progressCompareSummary>div:last-child{grid-column:1/-1}}
.progressTrendTag{display:inline-flex!important;align-items:center;padding:4px 7px;border-radius:999px;background:#0a2432;border:1px solid rgba(73,145,174,.18);color:#9fb8c3!important;font-size:8px!important;font-weight:850!important}
.progressDataRow>div:last-child b{white-space:normal!important;line-height:1.2!important;overflow-wrap:anywhere}

/* Weekly PDF report */
.progressHeroActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.progressReportBtn{white-space:nowrap}
.weeklyReportOverlay{position:fixed;inset:0;z-index:5000;background:rgba(2,10,15,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:18px;overflow:auto}
.weeklyReportOverlay[hidden]{display:none!important}
.weeklyReportModal{width:min(680px,100%);margin:18px auto;background:linear-gradient(180deg,#0d2735,#081c28);border:1px solid rgba(74,145,174,.28);border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.48);padding:16px}
.weeklyReportHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding-bottom:12px;border-bottom:1px solid rgba(83,151,180,.18)}
.weeklyReportHead .h2{margin:0 0 4px!important}
.weeklyReportClose{width:36px;height:36px;min-width:36px;border-radius:12px;background:#0a2230;border:1px solid rgba(79,151,181,.25);color:#d8eef7;font-size:23px;line-height:1}
.weeklyReportAutoBox{margin:12px 0 14px;padding:11px 12px;border-radius:14px;background:rgba(31,207,175,.08);border:1px solid rgba(31,207,175,.20);display:flex;flex-direction:column;gap:3px}
.weeklyReportAutoBox b{color:#baf7eb;font-size:12px}
.weeklyReportAutoBox span{color:#8fb1bd;font-size:11px;line-height:1.35}
.weeklyReportForm{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.weeklyReportForm label{display:flex;flex-direction:column;gap:5px;min-width:0}
.weeklyReportForm label>span{font-size:11px;font-weight:800;color:#a9c3cd;padding-left:2px}
.weeklyReportForm .input{margin:0!important}
.wrWide{grid-column:1/-1}
.weeklyReportSectionTitle{grid-column:1/-1;margin:4px 0 -1px;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#5fdac2}
.weeklyReportCheck{flex-direction:row!important;align-items:center!important;gap:9px!important;padding:10px 12px;border-radius:14px;background:rgba(10,34,47,.72);border:1px solid rgba(74,145,174,.20)}
.weeklyReportCheck input{width:18px;height:18px;accent-color:#1fcfaf}
.weeklyReportCheck span{padding:0!important;color:#d7edf4!important}
.weeklyReportActions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(83,151,180,.18)}
.weeklyReportActions .btn{min-height:44px!important}
body.weeklyReportOpen{overflow:hidden}
@media(max-width:520px){
  .progressHeroActions{width:100%;justify-content:space-between}
  .progressReportBtn{min-height:34px!important;font-size:11px!important;padding:6px 10px!important}
  .weeklyReportOverlay{padding:8px}
  .weeklyReportModal{margin:8px auto;border-radius:19px;padding:13px}
  .weeklyReportForm{grid-template-columns:1fr;gap:9px}
  .wrWide,.weeklyReportSectionTitle{grid-column:1}
  .weeklyReportActions{grid-template-columns:1fr 1fr}
}

/* Historical workout comparison picker */
.progressComparePicker,.trainerComparePicker{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:10px 0 4px;
  padding:9px 10px;
  border-radius:13px;
  background:rgba(7,29,40,.55);
  border:1px solid rgba(73,145,174,.16);
}
.progressComparePicker label,.trainerComparePicker label{
  color:#8faab6;
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.progressComparePicker .input,.trainerComparePicker .input{
  margin:0!important;
  min-height:38px!important;
  height:38px!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  font-size:11px!important;
}
@media(max-width:520px){
  .progressComparePicker,.trainerComparePicker{grid-template-columns:1fr;gap:5px}
  .progressComparePicker label,.trainerComparePicker label{font-size:9px}
}
