/* Independent cardio surface in the approved dark mobile design. */
body.impulse .v51-week-stats {grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
body.impulse button.v51-streak {display:flex;gap:6px;align-items:center;min-width:0;min-height:0;}
body.impulse .v51-flame {position:relative;display:block;width:44px;height:54px;line-height:1;}
body.impulse button.v51-streak .v51-flame img {display:block;width:44px;height:54px;}
body.impulse button.v51-streak .v51-flame strong {position:absolute;top:69%;left:50%;right:auto;transform:translate(-50%,-50%);color:#151515;font-size:17px;line-height:1;}
body.impulse .v51-streak-label {min-height:26px;font-size:11px;line-height:1.25;}
body.impulse .v51-week-stat {padding-top:0;gap:6px;align-items:center;text-align:center;}
body.impulse .v51-week-stat>strong {display:flex;align-items:center;justify-content:center;min-height:54px;font-size:17px;line-height:1.2;}
body.impulse .v51-week-stat>span {min-height:26px;font-size:11px;line-height:1.25;}
body.impulse .v51-week-stat>small {box-sizing:border-box;font-size:10px;line-height:1.25;padding:5px 6px;}
.v56-load-details {margin-top:10px;font-size:11px;line-height:1.5;color:#b2b7bf;}
.v56-load-details summary {min-height:28px;cursor:pointer;color:#c7f464;}
.v56-load-details>span {display:block;margin:7px 0;}
.v56-no-load {display:block;margin-top:8px;color:#b2b7bf;font-size:11px;}
.v56-mode {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;background:#20242a;border-radius:23px;margin:0 0 20px;}
body.impulse .v56-mode button {border:0;border-radius:18px;background:transparent;color:#adb4bf;min-height:46px;font-family:inherit;font-size:14px;font-weight:600;}
body.impulse .v56-mode button[aria-pressed="true"] {background:#c7f464;color:#111316;}
#training-screen[data-workout-mode="cardio"]>.training-hero-v18,
#training-screen[data-workout-mode="cardio"]>.training-days-v18,
#training-screen[data-workout-mode="cardio"]>.training-content-v18,
#training-screen[data-workout-mode="cardio"]>#week-days,
#training-screen[data-workout-mode="cardio"]>#sticky-action {display:none!important;}
.v56-cardio-card {border:1px solid #343a42;border-radius:26px;background:#1d2126;padding:20px 16px;margin-bottom:20px;}
.v56-cardio-card header {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.v56-cardio-card h2 {margin:5px 0 9px;font-size:25px;line-height:1.15;overflow-wrap:anywhere;}
.v56-eyebrow {color:#c7f464;font-size:11px;letter-spacing:1.5px;}
.v56-cardio-muted {color:#acb3bd;font-size:12px;line-height:1.5;}
body.impulse .v56-text-button {border:0;background:transparent;color:#c7f464;min-height:44px;padding:7px 0;font-size:12px;}
.v56-cardio-list {display:grid;gap:4px;margin:18px 0;}
.v56-cardio-exercise {display:flex;align-items:center;gap:12px;min-width:0;padding:10px 0;border-bottom:1px solid #30363e;}
.v56-cardio-exercise:last-child {border-bottom:0;}
.v56-cardio-exercise img {width:52px;height:60px;object-fit:contain;flex:none;}
.v56-cardio-exercise>span {min-width:0;flex:1;}
.v56-cardio-exercise strong {display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.35;}
.v56-cardio-exercise small {display:block;margin-top:4px;font-size:11px;color:#acb3bd;}
.v56-cardio-exercise>b {color:#c7f464;font-size:12px;white-space:nowrap;}
.v56-cardio-primary {width:100%;border:0;border-radius:22px;min-height:54px;background:#c7f464;color:#111316;font-size:15px;font-weight:700;padding:12px;}
.v56-cardio-secondary {border:1px solid #3a404a;border-radius:22px;min-height:48px;background:#252a31;color:#f3f4f5;font-size:13px;padding:10px 13px;}
.v56-cardio-primary:disabled,.v56-cardio-secondary:disabled {opacity:.45;cursor:default;}
.v56-cardio-notice {color:#adb4bf;font-size:12px;line-height:1.55;margin:14px 2px 0;}
#cardio-dialog-v56[hidden] {display:none!important;}
#cardio-dialog-v56 {position:fixed;inset:0;z-index:2400;background:rgba(0,0,0,.65);display:flex;align-items:flex-end;justify-content:center;}
.v56-cardio-surface {background:#111316;color:#f3f4f5;width:min(100%,480px);max-height:94vh;max-height:94dvh;overflow:auto;border:1px solid #343a42;border-bottom:0;border-radius:28px 28px 0 0;padding:0 18px calc(20px + env(safe-area-inset-bottom));box-sizing:border-box;overscroll-behavior:contain;}
.v56-cardio-surface>header {display:flex;gap:12px;align-items:center;justify-content:space-between;padding:18px 0 12px;position:sticky;top:0;background:#111316;z-index:2;}
.v56-cardio-surface h2 {margin:0;font-size:20px;line-height:1.25;}
body.impulse .v56-cardio-close {border:1px solid #343a42;border-radius:50%;background:#1d2126;color:#f3f4f5;width:44px;min-height:44px;font-size:24px;flex:none;}
.v56-cardio-locked {overflow:hidden;}
.v56-format {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 18px;}
.v56-format button {border:1px solid #343a42;border-radius:18px;background:#1d2126;color:#adb4bf;min-height:48px;padding:9px 5px;font-size:12px;}
.v56-format button[aria-pressed="true"] {color:#c7f464;border-color:#c7f464;}
.v56-cardio-surface label {display:block;font-size:12px;color:#b5bcc6;margin:12px 0;}
.v56-cardio-surface input,.v56-cardio-surface select {display:block;width:100%;box-sizing:border-box;border:1px solid #3a414b;border-radius:16px;color:#f3f4f5;background:#1d2126;min-height:48px;padding:10px 12px;font-size:16px;}
.v56-cardio-surface label>input,.v56-cardio-surface label>select {margin-top:7px;}
.v56-picker-row {display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #2c3239;}
.v56-picker-row>label {display:flex;align-items:center;gap:9px;min-width:0;color:#f3f4f5;font-size:13px;}
.v56-picker-row input[type="checkbox"] {width:20px;min-height:20px;height:20px;flex:none;accent-color:#c7f464;padding:0;}
.v56-picker-row img {width:34px;height:44px;object-fit:contain;flex:none;}
.v56-picker-row span {overflow-wrap:anywhere;}
.v56-cardio-error {color:#ffada5;font-size:13px;line-height:1.5;}
.v56-cardio-select-label {margin-top:6px!important;}
.v56-session-image {width:100%;height:220px;object-fit:contain;background:#1d2126;border:1px solid #343a42;border-radius:24px;margin:8px 0;}
.v56-cardio-name {font-size:21px;line-height:1.25;margin:10px 0;}
.v56-cardio-timer {text-align:center;margin:14px 0;}
.v56-cardio-timer output {display:block;color:#c7f464;font-variant-numeric:tabular-nums;font-size:42px;font-weight:700;}
.v56-cardio-timer small {color:#adb4bf;font-size:12px;}
.v56-cardio-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.v56-cardio-fields label:only-child {grid-column:1/-1;}
.v56-cardio-actions {display:flex;gap:10px;margin:16px 0 6px;}
.v56-cardio-actions>* {flex:1;min-width:0;}
.v56-cardio-saved {color:#c7f464;font-size:12px;min-height:20px;margin:8px 0;text-align:center;}
.v56-cardio-danger {width:100%;min-height:44px;border:0;background:transparent;color:#ffada5;font-size:12px;margin-top:12px;}
@media(max-width:350px) {
 body.impulse .v51-week-stats {gap:6px;}
 body.impulse .v51-week-stat>strong {font-size:14px;}
 body.impulse .v51-week-stat>span,body.impulse .v51-streak-label {font-size:10px;}
 body.impulse .v51-week-stat>small {font-size:9px;padding:5px 4px;}
 .v56-cardio-surface {padding-left:14px;padding-right:14px;}
 .v56-session-image {height:190px;}
}
@media(prefers-reduced-motion:reduce) {.v56-cardio-surface {scroll-behavior:auto;}}
