/* exercise view */
.dash-ex-hero{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:16px;margin-bottom:18px}.dash-ex-select{min-width:0;padding:20px;border:1px solid #dfe7f1;border-radius:22px;background:#fff;box-shadow:var(--shadow-sm)}.dash-ex-select label{display:grid;gap:7px;color:#7b8799;font-size:11px;font-weight:900}.dash-ex-select select{font-size:17px;font-weight:900;background:#f8faff}.dash-ex-select .exercise-context{padding:12px 0 0!important}.dash-ex-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-ex-kpis>div{padding:17px;border:1px solid #dfe7f1;border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.dash-ex-kpis span{display:block;color:#8190a2;font-size:10px;font-weight:850}.dash-ex-kpis strong{display:block;margin-top:4px;font-size:22px;letter-spacing:-.04em}.dash-ex-kpis small{color:#8d98a8;font-size:10px}.dash-ex-trend{margin-bottom:18px}.dash-ex-chart{padding:8px 6px 2px}.dash-ex-chart .dash-spark{height:150px;color:#3267f0}.dash-ex-axis{display:flex;justify-content:space-between;gap:5px;margin-top:4px;color:#939eae;font-size:9px}.dash-ex-session-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dash-ex-session{overflow:hidden;border:1px solid #dfe6f0;border-radius:18px;background:#fbfcfe}.dash-ex-session.latest{border-color:#b9c9f0;box-shadow:inset 0 0 0 1px #dce5ff}.dash-ex-session>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-bottom:1px solid #e4eaf1;background:#fff}.dash-ex-session>header>div{display:grid}.dash-ex-session>header span{color:#7d90bc;font-size:9px;font-weight:950;letter-spacing:.1em}.dash-ex-session>header strong{font-size:13px}.dash-ex-session>header b{font-size:16px}.dash-ex-session .set-table-wrap{border:0!important}.dash-ex-session .set-detail-table{font-size:11px}.dash-ex-session .set-detail-table th,.dash-ex-session .set-detail-table td{padding:8px 9px!important}

/* existing inbody gets the same surface system */
.ib-shell{background:transparent!important}.ib-tabs{background:#fff!important;border:1px solid #dde6f0!important;box-shadow:var(--shadow-sm)!important}.ib-tabs button.on{background:#edf3ff!important;color:#315ed8!important}.ib-trend-card,.ibx-trend-hero,.ibx-overview,.ibx-sheet{box-shadow:var(--shadow-sm)!important}.ib-trend-card{background:#fff!important;border-color:#dfe7f1!important}.ibx-trend-svg{color:#3267f0}

@media(max-width:1100px){.dash-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-move-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-two-col{grid-template-columns:1fr}.dash-ib-main{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr)}}
@media(max-width:820px){main{padding-top:18px!important}.dash-hero{padding:20px}.dash-hero-actions{position:static;margin-top:16px}.dash-hero-grid{margin-top:16px}.dash-cardio-grid{grid-template-columns:1fr}.dash-input-grid{grid-template-columns:1fr}.dash-ex-hero{grid-template-columns:1fr}.dash-ex-session-grid{grid-template-columns:1fr}}
@media(max-width:620px){
  main{padding-left:12px!important;padding-right:12px!important}.page-heading h1{font-size:24px!important}.page-heading{margin-bottom:12px!important}.dash-hero{padding:16px;border-radius:20px;margin-bottom:14px}.dash-hero h2{font-size:22px}.dash-hero p{font-size:12px}.dash-hero-actions{display:grid;grid-template-columns:1fr 1fr}.dash-primary-btn,.dash-ghost-btn{width:100%}.dash-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash-kpi{padding:11px;gap:8px;border-radius:14px}.dash-kpi-icon{width:34px;height:34px;border-radius:10px;font-size:15px}.dash-kpi-copy strong{font-size:18px}.dash-kpi-copy small{font-size:9px}.dash-section,.dash-panel,.dash-record-panel{padding:14px!important;border-radius:18px!important;margin-bottom:14px}.dash-section-head,.dash-panel-head{margin-bottom:11px}.dash-section-head h2,.dash-panel-head h2{font-size:17px}.dash-section-head p{display:none}.dash-move-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dash-move-card{padding:12px;border-radius:15px}.dash-move-head span{font-size:11px}.dash-move-value strong{font-size:23px}.dash-move-meta{display:grid;gap:3px}.dash-move-meta b{justify-self:start}.dash-spark{height:56px}.dash-two-col{gap:10px;margin-bottom:14px}.dash-ib-main{grid-template-columns:1fr}.dash-ib-score{padding:11px}.dash-ib-metrics{gap:6px}.dash-ib-metrics>div{padding:10px 8px}.dash-ib-metrics strong{font-size:15px}.dash-calendar-grid{gap:5px}.dash-day{border-radius:8px}.dash-cardio-item{padding:13px}.dash-cardio-big strong{font-size:25px}.dash-session{grid-template-columns:78px minmax(0,1fr) auto;padding:10px}.dash-system-grid{grid-template-columns:1fr 1fr}.dash-system-grid>div{min-height:76px;padding-left:38px}.dash-ex-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dash-ex-kpis>div{padding:12px}.dash-ex-kpis strong{font-size:18px}.dash-ex-chart .dash-spark{height:110px}.dash-ex-axis span:nth-child(even){display:none}.analysis-toolbar{gap:8px!important}.analysis-tabs{grid-template-columns:repeat(3,1fr)!important}.analysis-tabs button{font-size:11px!important;padding:9px 3px!important}.record-exercise-head{align-items:flex-start!important}.cardio-record-grid{grid-template-columns:1fr 1fr!important}.cardio-record-grid>div:last-child{grid-column:1/-1}.ibx-overview{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* InBody delta colors show direction, not good/bad. */
.dash-ib-metrics .dash-delta.up{color:#3561d8}.dash-ib-metrics .dash-delta.down{color:#7658df}

/* desktop flow repair scoped by app area */
@media(min-width:681px){
  body[data-app-area="workout"]{height:auto!important;min-height:100vh!important;display:block!important;overflow-x:hidden!important;overflow-y:auto!important}
  body[data-app-area="workout"] header.app-header{position:sticky!important;top:0;z-index:60}
  body[data-app-area="workout"] main{display:block!important;flex:none!important;min-height:auto!important;height:auto!important;overflow:visible!important;width:min(1240px,100%)!important;padding:26px 22px 118px!important}
  body[data-app-area="workout"] main>section:not([hidden]){display:block;min-height:0!important;height:auto!important;overflow:visible!important;overscroll-behavior:auto!important;padding-right:0!important}
  body[data-app-area="workout"][data-app-tab="today"] #today{display:block!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:0!important;overflow:visible!important;height:auto!important}
  body[data-app-area="workout"] #today>.record-action,
  body[data-app-area="workout"] #today>.section-card,
  body[data-app-area="workout"] #today>.composer{grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body[data-app-area="workout"] #today>.section-card{display:block!important}
  body[data-app-area="workout"] #today>.section-card>#recent{display:block!important;min-height:0!important;overflow:visible!important}
  body[data-app-area="workout"] #today>.section-card>#recent>.analysis-body,
  body[data-app-area="workout"] #today>.section-card>#recent>.recent-list{overflow:visible!important;min-height:0!important}
  body[data-app-area="workout"] #exercise,
  body[data-app-area="workout"] #inbody{height:auto!important;min-height:0!important;overflow:visible!important}

  body[data-app-area="webtoon"]{height:100vh!important;min-height:100vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  body[data-app-area="webtoon"] main{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important;width:98vw!important;max-width:none!important;margin:0 auto!important;padding:10px 14px 108px!important}
  body[data-app-area="webtoon"] #webtoon:not([hidden]){display:block!important;height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable;padding:0 3px 110px 0!important}
}


/* deterministic view visibility: app state always wins over legacy layout rules */
body[data-app-area="webtoon"] #today,
body[data-app-area="webtoon"] #exercise,
body[data-app-area="webtoon"] #inbody{display:none!important}
body[data-app-area="webtoon"] #webtoon{display:block!important}

body[data-app-area="workout"][data-app-tab="today"] #today{display:block!important}
body[data-app-area="workout"][data-app-tab="today"] #exercise,
body[data-app-area="workout"][data-app-tab="today"] #inbody,
body[data-app-area="workout"][data-app-tab="today"] #webtoon{display:none!important}

body[data-app-area="workout"][data-app-tab="exercise"] #exercise{display:block!important}
body[data-app-area="workout"][data-app-tab="exercise"] #today,
body[data-app-area="workout"][data-app-tab="exercise"] #inbody,
body[data-app-area="workout"][data-app-tab="exercise"] #webtoon{display:none!important}

body[data-app-area="workout"][data-app-tab="inbody"] #inbody{display:block!important}
body[data-app-area="workout"][data-app-tab="inbody"] #today,
body[data-app-area="workout"][data-app-tab="inbody"] #exercise,
body[data-app-area="workout"][data-app-tab="inbody"] #webtoon{display:none!important}
