/* P24 R5.13. Execution has its own composition; old performance-* rules do not apply. */
#app .gts-cardio-execution{position:relative!important;isolation:isolate;background:#020e18!important;min-height:100dvh!important;overflow:clip!important;border:0!important;border-radius:0!important;padding:0!important;display:block!important}
#app .gts-cardio-execution::before{content:''!important;display:block!important;position:absolute!important;inset:0 0 auto!important;height:330px!important;z-index:-1!important;background:linear-gradient(180deg,#020e1826 0%,transparent 45%,#020e18 100%),url('./assets/ui/cardio-execution-r513.png') center center/cover no-repeat!important;opacity:1!important;filter:none!important;pointer-events:none}
#app .gts-cardio-execution::after{display:none!important}
#app .cx-header{height:74px;padding:calc(12px + env(safe-area-inset-top,0px)) 18px 8px;box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0}
#app .cx-brand{display:flex;align-items:center;gap:9px;padding:0;background:none;border:0;color:#fff;text-align:left;min-height:44px}
#app .cx-brand img{width:38px;height:38px;object-fit:contain}
#app .cx-brand span{display:grid;gap:2px}
#app .cx-brand b{font-size:17px;line-height:1.15}
#app .cx-brand small,#app .cx-block{font-size:12px;color:#b3e6ff;white-space:nowrap}
#app .cx-screen{display:grid;gap:12px;width:100%;padding:0 18px calc(86px + env(safe-area-inset-bottom,0px));margin:0;background:transparent;min-height:0;align-content:start;color:#edfaff}
#app .cx-current{padding:60px 10px 14px;background:none;border:0;border-bottom:1px solid #23607c;margin:0}
#app .cx-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;color:#91ddff;margin:0 0 4px;text-shadow:0 1px 4px #000}
#app .cx-now{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;text-shadow:0 2px 8px #000}
#app .cx-now>div{display:grid;grid-template-columns:max-content 1fr;align-items:end;gap:4px 8px}
#app .cx-now strong{font-size:58px;font-weight:750;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#fff}
#app .cx-now small{font-size:14px;color:#a7dbf4;padding-bottom:5px}
#app .cx-now span{grid-column:1/-1;font-size:10px;letter-spacing:.1em;color:#9edfff}
#app .cx-transition{display:grid;grid-template-columns:1fr 1.12fr;gap:0;margin:-12px 0 0;background:transparent}
#app .cx-transition>div{padding:13px 10px 10px;display:flex;flex-direction:column;gap:7px;justify-content:center;min-width:0}
#app .cx-transition>div+div{border-left:1px solid #1a465e}
#app .cx-transition small{font-size:9px;letter-spacing:.06em;color:#a9dfff;font-weight:650}
#app .cx-transition b{font-size:29px;line-height:1;color:#ffbe2c;font-variant-numeric:tabular-nums}
#app .cx-transition strong{font-size:16px;color:#edfaff;white-space:nowrap}
#app .cx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
#app .cx-kpi{--accent:#00e9a2;display:grid;grid-template-rows:26px 26px 15px 16px;justify-items:center;align-content:center;position:relative;min-height:116px;padding:9px 2px 12px;border:1px solid #236382;border-radius:9px;background:linear-gradient(155deg,#09273d9c,#020e18);color:var(--accent);overflow:hidden}
#app .cx-speed{--accent:#00aaff}#app .cx-remaining{--accent:#ffc400}#app .cx-progress{--accent:#ff003c}
#app .cx-kpi:after{content:'';position:absolute;bottom:0;left:5%;right:5%;height:6px;border-radius:7px;background:var(--accent);box-shadow:0 -2px 12px var(--accent)}
#app .cx-kpi svg{width:24px;height:24px;fill:currentColor;filter:drop-shadow(0 0 4px color-mix(in srgb,currentColor 45%,transparent))}
#app .cx-kpi b{font-size:23px;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
#app .cx-kpi em{font-size:11px;color:#a0dffb;font-style:normal;line-height:1}
#app .cx-kpi small{font-size:8px;white-space:nowrap;letter-spacing:.01em;color:var(--accent)}
#app .cx-time{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 2px -6px;color:#99cce6}
#app .cx-time span{font-size:9px;letter-spacing:.05em}#app .cx-time b{font-size:12px;font-variant-numeric:tabular-nums;color:#d4f2ff}
#app div.cx-track{height:12px;margin:0 2px 4px;border:1px solid #2a8abb;border-radius:12px;background:#041c2c;overflow:hidden}
#app div.cx-track i{display:block;height:100%;border-radius:12px;background:linear-gradient(90deg,#139aff,#74e5ff);box-shadow:0 0 8px #21bfff}
#app .cx-adjust,#app .cx-actions button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:10px;border:1px solid #3295bf;border-radius:10px;background:linear-gradient(120deg,#062a4099,#031724);color:#c5eaff;font-weight:650;font-size:14px;margin:0;box-shadow:none}
#app .cx-adjust svg,#app .cx-actions svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}
#app .cx-adjust svg{color:#56c5ff}
#app .cx-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#app .cx-actions #cf{background:linear-gradient(110deg,#ff1749,#f00033);border-color:#ff3f6b;color:white}
#app .cx-actions #cp{color:#fff}
/* Use the Training list's 7px rhythm without altering card interiors. */
#app .gts-primary .r4-home{gap:7px!important}
#app .gts-primary .r4-home>section,#app .gts-primary .r4-home>button{margin-top:0!important;margin-bottom:0!important}
#app .gts-primary .r4-home-hero{min-height:0!important;padding-bottom:0!important}
#app .gts-primary .r4-home>.r511-home-sync-card{margin-top:0!important}
/* Keep date group separation; reduce only adjacent cards. */
#app .gts-secondary-history .history-activity-row + .history-activity-row{margin-top:0!important}
#app .gts-secondary-history .history-activity-row{margin-bottom:0!important}
/* Main Settings title region matches the 138px Training/Cardio hero. */
#app .gts-secondary-settings .settings-menu>.app-page-title{min-height:138px!important;padding-bottom:14px!important}
#app .gts-secondary-settings .gts-secondary-backdrop{height:285px!important}
#app .gts-secondary-settings .gts-secondary-backdrop img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:360px){#app .cx-header{padding-left:14px;padding-right:14px;height:62px}#app .cx-screen{padding-left:14px;padding-right:14px;gap:10px}#app .cx-current{padding-top:48px}#app .cx-now strong{font-size:49px}#app .cx-transition strong{font-size:13px}#app .cx-kpis{gap:6px}#app .cx-kpi{min-height:103px;grid-template-rows:24px 23px 13px 14px}#app .cx-kpi b{font-size:20px}#app .cx-kpi small{font-size:7px}#app .gts-cardio-execution::before{height:290px!important}}

#app .gts-secondary-history .history-day-group{gap:4px!important}


/* P25 R5.14 — cinematic session-time panel. Functional timing logic is unchanged. */
#app .cx-session-time-card{
  margin:2px 2px 7px;padding:13px 14px 12px;border-radius:17px;
  background:
    radial-gradient(circle at 12% 18%,rgba(49,177,255,.16),transparent 34%),
    linear-gradient(145deg,rgba(8,41,68,.98),rgba(3,20,35,.99) 58%,rgba(4,14,25,.99));
  border:1px solid rgba(92,194,255,.55);
  box-shadow:inset 0 1px rgba(255,255,255,.055),0 0 22px rgba(20,161,255,.12),0 10px 24px rgba(0,0,0,.22);
}
#app .cx-session-time-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;color:#8fd7ff}
#app .cx-session-time-head svg{width:25px;height:25px;fill:currentColor;filter:drop-shadow(0 0 8px rgba(57,185,255,.38))}
#app .cx-session-time-head span{font-size:9.5px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
#app .cx-session-time-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end;margin-bottom:10px}
#app .cx-session-time-values>div{min-width:0;padding:0 8px;border-right:1px solid rgba(111,190,235,.20)}
#app .cx-session-time-values>div:first-child{padding-left:0}
#app .cx-session-time-values>div:last-child{padding-right:0;border-right:0;text-align:right}
#app .cx-session-time-values small{display:block;margin-bottom:3px;font-size:6.8px;font-weight:800;letter-spacing:.12em;color:#86abc4;text-transform:uppercase}
#app .cx-session-time-values b{display:block;font-size:27px;line-height:.95;font-weight:900;letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 0 14px rgba(255,255,255,.08)}
#app .cx-session-time-values .cx-total b{color:#8fd7ff;text-shadow:0 0 13px rgba(38,176,255,.18)}
#app .cx-session-time-values .cx-remaining b{color:#ffc443;text-shadow:0 0 15px rgba(255,188,55,.20)}
#app .cx-session-time-card .cx-track{height:12px!important;margin:0!important;border:1px solid rgba(59,169,230,.66)!important;border-radius:99px!important;background:#031421!important;overflow:hidden!important}
#app .cx-session-time-card .cx-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#24b8ff,#6ce6ff)!important;box-shadow:0 0 12px rgba(33,191,255,.55)!important}
#app .cx-session-time-foot{display:flex;justify-content:space-between;gap:10px;margin-top:7px;font-size:7px;font-weight:750;letter-spacing:.06em;color:#7fa8c2}
#app .cx-session-time-foot span:last-child{color:#d9b04c}
@media(max-width:380px){#app .cx-session-time-values b{font-size:23px}#app .cx-session-time-card{padding-left:11px;padding-right:11px}}

/* P26 R5.15 — final cardio execution vertical-rhythm refinement. Scope: spacing only. */
#app .cx-screen{gap:8px}
#app .cx-kpis{margin-top:-4px}
#app .cx-session-time-card{margin:0 2px 2px}
@media(max-width:360px){#app .cx-screen{gap:7px}#app .cx-kpis{margin-top:-3px}}

/* P27 R5.16 — final session progress-line consolidation.
   Preserves P26 compact vertical rhythm; removes redundant footer line and centers completion % inside the progress bar. */
#app .cx-session-time-card .cx-track{position:relative!important}
#app .cx-session-time-card .cx-track-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;font-size:7px;font-weight:850;letter-spacing:.04em;color:#dff7ff;text-shadow:0 1px 3px rgba(0,0,0,.9);pointer-events:none;white-space:nowrap}
#app .cx-session-time-card .cx-track-label.on-fill{color:#03131e;text-shadow:0 1px 0 rgba(255,255,255,.25)}
#app .cx-session-time-foot{display:none!important}
#app .cx-session-time-card{padding-bottom:10px}
