/* Shared app composition. Colors and appearance live in application.css. */
.account-menu { position:relative; }
.account-menu__toggle { display:flex; gap:8px; align-items:center; min-height:44px; min-width:44px; justify-content:center; padding:8px 12px; cursor:pointer; font-size:var(--text-sm); font-weight:500; list-style:none; }
.account-menu__label { display:none; }
.account-menu__toggle svg { display:block; flex-shrink:0; }
.account-menu__toggle::-webkit-details-marker { display:none; }
.account-menu[open] .account-menu__toggle { color:var(--color-link); }
.account-menu__panel { position:absolute; top:100%; right:0; z-index:30; width:240px; max-width:calc(100vw - 40px); max-height:calc(100dvh - 120px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; padding:8px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-surface); box-shadow:0 8px 24px rgb(0 0 0 / .12); }
.account-menu__panel a,.account-menu__panel button.app-nav__signout { display:flex; align-items:center; min-height:44px; padding:10px 12px; width:100%; color:var(--color-ink); text-decoration:none; font-size:14px; font-weight:400; text-align:left; border-radius:4px; }
.account-menu__panel a:hover,.account-menu__panel button.app-nav__signout:hover { background:var(--color-surface-sunken); }
.account-menu__panel a[aria-current=page] { color:var(--color-link); background:var(--color-brand-soft); }
.account-menu__group { margin-top:6px; padding-top:6px; border-top:1px solid var(--color-border); }
.account-menu__panel form.button_to { margin:0; padding:0; border:0; }
@media (max-width:1000px) {
  .app-body .app-menu--js .app-nav { max-height:calc(100dvh - 120px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); overflow-y:auto; overscroll-behavior:contain; }
  .app-nav .account-menu { width:100%; }
  .account-menu__toggle { justify-content:flex-start; }
  .account-menu__label { display:inline; }
  .app-nav .account-menu__panel { position:static; width:100%; max-width:none; max-height:none; overflow:visible; box-shadow:none; }
}
.athlete-page { max-width:960px; margin-inline:auto; min-width:0; }
.athlete-page__header { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:24px; }
.athlete-page__header h1 { margin:8px 0; }
.athlete-page__header p:not(.app-eyebrow) { color:var(--color-ink-muted); margin:0; }
.athlete-page__nav { display:flex; flex-wrap:wrap; gap:24px; border-bottom:1px solid var(--color-border); margin-bottom:28px; }
.athlete-page__nav a { display:inline-flex; align-items:center; min-height:48px; color:var(--color-ink-muted); text-decoration:none; border-bottom:2px solid transparent; }
.athlete-page__nav a[aria-current=page] { color:var(--color-link); border-color:var(--color-link); }
.athlete-page__section-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:16px; }
.athlete-page__section-head :is(h2,h3) { margin:0; }
.athlete-page__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); gap:20px; }
.athlete-page__sport { min-width:0; }
.athlete-page__sport h3 { margin-top:0; font:700 24px/1.2 var(--font-display); }
.athlete-values { display:flex; flex-wrap:wrap; gap:20px; margin:20px 0; }
.athlete-values dt { font-size:13px; color:var(--color-ink-muted); margin-bottom:6px; }
.athlete-values dd { margin:0; font:500 24px/1.3 var(--font-mono); }
.athlete-values dd span { font:400 13px/1.4 var(--font-sans); color:var(--color-ink-muted); }
.athlete-page__future { padding:24px 0; margin-top:24px; border-block:1px solid var(--color-border); }
.athlete-page__future h2 { margin:0 0 12px; }
.athlete-page__future p { color:var(--color-ink-muted); max-width:65ch; }
.athlete-page__links { display:flex; flex-wrap:wrap; gap:4px 24px; margin-block:16px; }
.athlete-page__links a { display:inline-flex; align-items:center; min-height:44px; }
.athlete-history { list-style:none; padding:0; margin:24px 0; }
.athlete-history__entry { padding:24px 0; border-bottom:1px solid var(--color-border); }
.athlete-history__entry:first-child { padding-top:0; }
.athlete-history__status { color:var(--color-link); font-size:13px; }
.athlete-settings-shortcut { margin-block:24px; }
.athlete-settings-shortcut h2 { margin-top:0; }
.app-body .app-main { max-width:1200px; padding-top:32px; padding-bottom:96px; }
.app-body .app-main > * { min-width:0; }
.app-body h1 { font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-.045em; }
.app-body h2 { letter-spacing:-.035em; }
.app-body :is(.card,.context-card,.decision-card,.settings-card,.plan-card,.library-card) { box-shadow:none; border-radius:8px; }
.app-body :is(input,select,textarea):where(:not([type=submit],[type=button],[type=reset])) { color:var(--color-ink); accent-color:var(--color-brand); }
.app-body :is(input,select,textarea)::placeholder { color:var(--color-ink-muted); opacity:1; }
.app-body :is(.btn,.service-action) { border-radius:4px; }
.app-body :is(.workout-show,.workouts-overview,.workout-composer,.calendar-page,.settings,.training-plan,.activity-inspector) { min-width:0; }
.app-body :is(.workout-mast__identity,.rowitem__body,.session-choice__body) { min-width:0; overflow-wrap:anywhere; }
.app-body :is(.section__head,.workouts-overview__head,.workout-mast,.settings__intro) { gap:16px; }
.app-body .app-header { height:calc(94px + env(safe-area-inset-top,0px)); background:transparent; border:0; pointer-events:none; }
.app-body .app-header__inner { height:94px; min-height:0; background:var(--color-canvas); border-bottom:1px solid var(--color-border); pointer-events:auto; transition:height .18s; gap:20px; }
.app-body .app-header.is-collapsed .app-header__inner { height:60px; }
.app-brand__name { display:block; max-width:160px; opacity:1; overflow:hidden; transition:max-width .18s,opacity .15s; }
.is-collapsed .app-brand__name { max-width:0; opacity:0; }
.app-brand { gap:11px; }
.app-brand__sub { font-size:10px; letter-spacing:2px; }
.is-collapsed .brand-mark { width:36px; height:36px; }
.home-brand-header { display:none; }
.native-app .home-brand-header,html.native-shell .home-brand-header { display:block; position:sticky; top:0; z-index:15; height:94px; pointer-events:none; }
.home-brand-header__inner { height:94px; display:flex; align-items:center; justify-content:space-between; gap:16px; background:var(--color-canvas); border-bottom:1px solid var(--color-border); pointer-events:auto; transition:height .18s; }
.home-brand-header .app-brand { display:flex; }
.home-brand-header__actions { display:flex; align-items:center; gap:4px; flex-shrink:0; }
.home-brand-header .account-menu__label { display:none; }
.home-brand-header.is-collapsed .home-brand-header__inner { height:60px; }
.home-account { display:inline-flex; align-items:center; min-height:44px; font-size:13px; color:var(--color-ink-muted); }
.home-dashboard { display:block; padding-bottom:24px; }
.home-dashboard .link-arrow::after { content:" ↗"; }
.home-intro { margin-bottom:28px; }
.home-intro h1 { margin:9px 0; }
.home-intro__context { font-size:14px; color:var(--color-ink-muted); margin:0; }
.home-dashboard > .connection-prompt { margin-bottom:28px; border-top:3px solid var(--color-brand); }
.home-dashboard > .connection-prompt[hidden] { display:none; }
.home-dashboard > .connection-prompt .connection-prompt__actions { flex:1 1 300px; }
.home-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); column-gap:48px; align-items:start; }
.home-main,.home-sidebar { min-width:0; }
.home-session.today-gen { margin:0; padding:28px; background:var(--color-surface); border:0; border-top:3px solid var(--color-brand); border-radius:8px; box-shadow:none; display:block; }
.home-session__top { display:flex; justify-content:space-between; gap:12px; align-items:baseline; }
.home-session .app-eyebrow { color:var(--color-link); margin:0; }
.home-session__sport { font-size:13px; color:var(--color-ink-muted); }
.home-session h2 { font:700 clamp(30px,3.5vw,44px)/1.06 var(--font-display); letter-spacing:-.045em; margin:20px 0 12px; overflow-wrap:anywhere; }
.home-session :is(.today-gen__lede,.home-session__description) { font-size:14px; line-height:1.6; color:var(--color-ink-muted); margin:0 0 14px; }
.home-session .workout-profile { margin:24px 0; }
.home-session .session-profile { height:96px; }
.home-session .session-profile__bar { background:var(--interval-color, var(--intensity-0)); }
.home-session .today-gen__submit { width:100%; min-height:50px; justify-content:center; }
.home-session__delivery:empty { display:none; }
.home-session__delivery { margin-top:12px; font-size:12px; }
.home-session__fueling { margin-top:18px; font-size:13px; color:var(--color-ink-muted); }
.home-session__fueling summary { min-height:44px; align-content:center; cursor:pointer; }
.home-session__fueling .workout-fueling { border:0; background:transparent; margin:12px 0 0; padding:0; }
.home-section { padding:28px 0; border-bottom:1px solid var(--color-border); }
.home-section h2 { font:700 28px/1.12 var(--font-display); letter-spacing:-.04em; }
.home-section .section__head { margin:0 0 6px; }
.home-section .section__head .link-arrow { font-size:13px; }
.home-week__range,.home-week__empty { color:var(--color-ink-muted); font-size:13px; margin:0; }
.home-week__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; margin:18px 0; }
.home-week__day { display:flex; flex-direction:column; align-items:center; gap:7px; min-height:90px; padding:9px 0; color:var(--color-ink-muted); border-radius:5px; text-decoration:none; font-size:12px; }
.home-week__day strong { font-size:17px; font-weight:500; }
.home-week__day[aria-pressed=true] { background:var(--color-surface-sunken); color:var(--color-ink); box-shadow:inset 0 -2px 0 var(--color-link); }
.home-week__marks { display:flex; flex-wrap:wrap; justify-content:center; gap:4px; min-height:32px; }
.home-week__mark { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; flex-shrink:0; border-radius:9px; font-size:20px; font-weight:700; line-height:1; border:1px solid currentColor; }
.home-week__mark svg { width:20px; height:20px; }
.home-week__mark--completed { color:var(--color-success); background:var(--color-success-soft); }
.home-week__mark--missed { color:var(--color-warning); background:var(--color-warning-soft); }
.home-week__mark--scheduled { color:var(--color-link); background:var(--color-brand-soft); }
.home-week__mark--open { color:var(--color-ink-faint); border-color:transparent; background:var(--color-surface-sunken); }
.home-week__legend { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; padding:0; margin:0 0 22px; list-style:none; color:var(--color-ink-muted); font-size:12px; }
.home-week__legend li { display:flex; align-items:center; gap:6px; }
.home-week__legend .home-week__mark { width:24px; height:24px; border-radius:7px; font-size:16px; }
.home-week__legend .home-week__mark svg { width:16px; height:16px; }
.home-week__panels .activity-chip__icon { width:28px; height:28px; font-size:24px; }
.home-week__panels .activity-chip__icon svg { width:24px; height:24px; }
.home-week__panels .day { display:block; min-height:0; border:0; padding:0; background:transparent; }
.home-week__panels .day__label { margin-bottom:10px; }
.home-week__panels .day__date { display:none; }
.home-week__panels .day__events { display:grid; gap:8px; }
.home-week__panels .day-workout { padding:12px; font-size:14px; }
.home-week__panels .day-workout small { font-size:12px; }
.home-week__totals { display:flex; justify-content:space-between; flex-wrap:wrap; gap:6px 12px; font-size:12px; color:var(--color-ink-muted); margin:18px 0 10px; }
.home-upcoming { padding-top:24px; }
.home-upcoming h2 { font-size:20px; }
.home-upcoming__row { display:flex; align-items:center; justify-content:space-between; gap:12px; border-bottom:1px solid var(--color-border); padding:14px 0; text-decoration:none; }
.home-upcoming__row strong { font-size:15px; font-weight:500; overflow-wrap:anywhere; }
.home-upcoming__row small { display:block; color:var(--color-ink-muted); margin-top:4px; }
.home-feedback h2 { margin:16px 0; }
.home-feedback__finding { padding-left:14px; border-left:2px solid var(--color-link); font-size:14px; line-height:1.6; }
.home-feedback__qualification { color:var(--color-warning); }
.home-plan-start .link-arrow { display:inline-flex; align-items:center; gap:8px; min-height:44px; }
.home-rail .plan-progress-card { border:0; border-bottom:1px solid var(--color-border); border-radius:0; padding:24px 0; background:transparent; margin:0; }
.home-rail .plan-progress-card h2 { font-size:23px; }
.home-connections { padding:24px 0; border-bottom:1px solid var(--color-border); }
.home-connections:has(.connection-summary[hidden]) { display:none; }
.home-connections .connection-summary { border:0; padding:0; background:transparent; }
.home-connections .connection-prompt { margin:0; }
.home-assistant summary { min-height:44px; align-content:center; cursor:pointer; font-weight:500; }
.home-assistant p { margin-top:12px; font-size:14px; color:var(--color-ink-muted); }
.home-rail .install-banner { margin-top:20px; border:0; padding:0; background:transparent; }
.home-rail .install-banner h2 { font-size:23px; }
.home-rail .install-banner__panel { display:block; }
.home-rail .install-banner__actions { margin-top:16px; }
.app-body .dash-fab { display:grid; place-items:center; width:56px; height:56px; border-radius:50%; color:var(--color-accent-ink); background:var(--color-brand); box-shadow:0 4px 16px #0003; font:400 32px/1 var(--font-sans); }
.app-body .dash-fab-form { display:block; position:fixed; right:max(24px,env(safe-area-inset-right,0px)); bottom:max(24px,env(safe-area-inset-bottom,0px)); z-index:18; }
.native-app .dash-fab-form,html.native-shell .dash-fab-form { bottom:20px; }
@media(max-width:960px) {
  .home-grid { display:block; }
  .app-body .app-header__inner { gap:12px; }
}
@media(max-width:1000px) {
  .app-body .app-header__inner:has(.app-menu:not(.app-menu--js)) { height:auto; min-height:94px; }
  .app-body .app-header:has(.app-menu:not(.app-menu--js)) { height:auto; }
}
@media(max-width:760px) {
  .app-body .app-main { padding-top:24px; padding-inline:max(20px,env(safe-area-inset-left,0px)); }
  .app-body .app-header__inner { padding-inline:max(20px,env(safe-area-inset-left,0px)); }
  .home-session.today-gen { padding:22px; }
  .home-intro h1 { font-size:42px; }
  .home-session h2 { font-size:34px; }
  .home-week__day { font-size:11px; }
  .home-week__totals { font-size:12px; }
  .home-section h2 { font-size:27px; }
  .home-session .session-profile { height:76px; }
  .app-body :is(.settings__grid,.native-more__grid) { grid-template-columns:minmax(0,1fr); }
  .app-body .dash-fab-form { right:max(20px,env(safe-area-inset-right,0px)); }
}
@media(max-width:360px) {
  .app-body .app-main { padding-inline:16px; }
  .home-session.today-gen { padding:18px; }
  .home-week .section__head { align-items:start; flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  .app-header__inner,.app-brand__name,.home-brand-header__inner { transition:none!important; }
}

.settings-appearance { margin-bottom:24px; }
.settings-appearance h2 { margin-top:0; }
.appearance-options { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0 0; padding:0; border:0; }
.appearance-option { display:flex; align-items:center; gap:10px; min-height:48px; padding:12px 18px; border:1px solid var(--color-border-strong); border-radius:var(--radius-md); cursor:pointer; }
.appearance-option:has(:checked) { border-color:var(--color-link); background:var(--color-brand-soft); }
.appearance-option:focus-within { outline:2px solid var(--color-focus); outline-offset:3px; }
.appearance-option input { margin:0; }

@media (min-width:600px) { .home-week__legend { display:flex; } }

/* Notification preferences share the app palette in both appearances. */
.notification-settings { padding:24px; }
.notification-settings .notification-settings__section { padding:24px 0; border-bottom:1px solid var(--color-border); }
.notification-settings .notification-settings__form { margin:0; }
.notification-settings h3 { margin:0 0 10px; font-size:var(--text-sm); }
.notification-settings p { margin:8px 0 0; color:var(--color-ink-muted); font-size:var(--text-sm); }
.notification-settings .notification-settings__permission { color:var(--color-ink); font-weight:600; }
.notification-settings__section > .btn { margin-top:16px; min-height:44px; }
.notification-settings__toggle { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:44px; cursor:pointer; }
.notification-settings__toggle strong { display:block; font-size:var(--text-base); }
.notification-settings__toggle span span { display:block; margin-top:4px; color:var(--color-ink-muted); font-size:var(--text-sm); }
.notification-settings__toggle input[type=checkbox] { flex:0 0 auto; width:22px; height:22px; margin:0; }
.notification-settings__times { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; margin-top:20px; }
.notification-settings .field { min-width:0; margin-bottom:16px; }
.notification-settings .field select { width:100%; max-width:none; min-width:0; box-sizing:border-box; }
.notification-settings__footer { padding-top:24px; }
.notification-settings__footer .btn { width:100%; min-height:44px; }
.notification-settings__footer p { text-align:center; }
.notification-settings [hidden] { display:none!important; }

/* Athlete fitness: one completed-training trend, with optional load detail. */
.home-fitness { display:grid; grid-template-areas:"heading" "metric" "caption" "plot" "coverage" "load" "empty" "link"; padding:22px; border:1px solid var(--color-border); border-radius:8px; background:var(--color-surface); min-width:0; }
.home-fitness__heading { grid-area:heading; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.home-fitness__heading h2 { font:700 26px/1.12 var(--font-display); letter-spacing:-.04em; margin:0; }
.home-fitness__period { color:var(--color-ink-muted); font:11px var(--font-mono); }
.home-fitness__metric { grid-area:metric; margin-top:16px; min-width:0; }
.home-fitness__score { font:700 62px/1 var(--font-display); letter-spacing:-.04em; font-variant-numeric:tabular-nums; margin:0; }
.home-fitness__change { font-size:13px; font-variant-numeric:tabular-nums; margin:8px 0 0; }
.home-fitness__caption { grid-area:caption; color:var(--color-ink-muted); font-size:12px; margin:8px 0 0; }
.home-fitness__plot { grid-area:plot; min-width:0; margin:18px 0 16px; }
.home-fitness .fitness-chart { height:84px; margin:0 0 4px; }
.home-fitness .fitness-chart-dates { font-size:11px; }
.home-fitness__coverage { grid-area:coverage; color:var(--color-ink-muted); font-size:12px; margin-bottom:14px; }
.home-fitness__coverage p { margin:0; }
.home-fitness__coverage p + p { margin-top:8px; }
.home-fitness__load { grid-area:load; display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding-top:14px; border-top:1px solid var(--color-border); color:var(--color-ink-muted); font-size:12px; }
.home-fitness__load strong { color:var(--color-ink); font:500 16px var(--font-mono); font-variant-numeric:tabular-nums; white-space:nowrap; }
.home-fitness__empty { grid-area:empty; color:var(--color-ink-muted); font-size:14px; }
.home-fitness__empty p { margin:16px 0 8px; }
.home-fitness__empty a { display:inline-flex; align-items:center; min-height:44px; margin-right:12px; font-size:13px; }
.home-fitness__link { grid-area:link; display:inline-flex; align-items:center; gap:4px; min-height:44px; justify-self:start; font-size:13px; margin-top:4px; }
@media(max-width:960px) {
  .home-fitness { grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-areas:"heading heading" "metric plot" "caption caption" "coverage coverage" "load load" "empty empty" "link link"; column-gap:16px; margin-top:24px; }
  .home-fitness__score { font-size:52px; }
  .home-fitness__plot { align-self:end; margin:16px 0 0; }
  .home-fitness .fitness-chart { height:64px; }
  .home-fitness__coverage { margin:12px 0 0; }
  .home-fitness__load { margin-top:16px; }
}
@media(max-width:360px) {
  .home-fitness { padding:18px; column-gap:12px; }
  .home-fitness__change { font-size:12px; }
}
.athlete-fitness { margin-bottom:28px; min-width:0; }
.fitness-periods { display:flex; flex-wrap:wrap; gap:8px; }
.fitness-periods a { padding:8px 12px; min-height:44px; display:inline-flex; align-items:center; border-radius:8px; text-decoration:none; color:var(--color-ink-muted); }
.fitness-periods a[aria-current] { background:var(--color-surface-sunken); color:var(--color-link); }
.fitness-score { font:700 64px/1.1 var(--font-display); margin:12px 0 4px; font-variant-numeric:tabular-nums; }
.fitness-change { margin:8px 0; font-variant-numeric:tabular-nums; }
.fitness-caption, .fitness-coverage { color:var(--color-ink-muted); font-size:14px; }
.fitness-chart { display:block; width:100%; height:180px; margin-top:20px; overflow:visible; }
.fitness-chart__area { fill:var(--color-link); opacity:.08; }
.fitness-chart__point { fill:var(--color-link); }
.fitness-chart__line { fill:none; stroke:var(--color-link); stroke-width:2.5; stroke-linejoin:round; }
.fitness-chart-dates { display:flex; justify-content:space-between; gap:12px; font-size:13px; color:var(--color-ink-muted); }
.fitness-explanation { margin-top:20px; }
.fitness-explanation summary { min-height:44px; padding-block:10px; }
.fitness-explanation p { max-width:70ch; color:var(--color-ink-muted); font-size:14px; }
.fitness-load { border-top:1px solid var(--color-border); padding-top:24px; margin-top:24px; }
.fitness-load h3 { margin:0; }
.fitness-week-score { font:700 32px/1.2 var(--font-display); margin:12px 0 4px; font-variant-numeric:tabular-nums; }
.fitness-week-score span { font:400 14px/1.5 var(--font-sans); color:var(--color-ink-muted); margin-left:8px; }
.fitness-weeks { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:24px; }
.fitness-week { display:flex; flex-direction:column; align-items:center; gap:6px; font-size:12px; text-align:center; min-width:0; }
.fitness-week__value { font-variant-numeric:tabular-nums; }
.fitness-week__track { height:80px; width:65%; display:flex; align-items:end; }
.fitness-week__track span { display:block; width:100%; background:var(--color-link); opacity:.4; border-radius:3px; }
.fitness-week:last-child .fitness-week__track span { opacity:1; }
.fitness-activities { padding:0; list-style:none; }
.fitness-activities li { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-top:1px solid var(--color-border); }
.fitness-activities li > div { min-width:0; overflow-wrap:anywhere; }
.fitness-activities li > div:last-child { text-align:right; }
.fitness-activities small { display:block; font-size:12px; color:var(--color-ink-muted); }
@media(max-width:480px) { .fitness-weeks { gap:6px; } .fitness-score { font-size:52px; } .fitness-week-score span { display:block; margin:6px 0 0; } }

.threshold-history { margin-top:16px; }
.threshold-history > summary { min-height:44px; }
.threshold-history .athlete-history { margin:16px 0 0; }
.threshold-history .athlete-history__entry { padding-block:16px; }
.threshold-history .athlete-page__section-head { gap:8px; margin-bottom:8px; }
.threshold-history time { font-size:var(--text-sm); font-weight:600; }
.threshold-history__changes { list-style:none; padding:0; margin:8px 0; font-size:var(--text-sm); overflow-wrap:anywhere; }
.threshold-history__changes li + li { margin-top:6px; }
.threshold-history .settings-effective { font-size:var(--text-xs); margin:8px 0 0; }
.threshold-history .athlete-page__links { margin-bottom:0; gap:4px 16px; font-size:var(--text-sm); }

/* Completed activities share one reading order on the web and in native shells. */
.activity-inspector { gap:20px; --activity-tabs-top:calc(60px + env(safe-area-inset-top,0px)); }
html.native-shell .activity-inspector { --activity-tabs-top:0px; }
.activity-inspector [hidden] { display:none!important; }
.activity-inspector__head h1 { font:700 clamp(30px,4vw,44px)/1.08 var(--font-display); letter-spacing:-.04em; overflow-wrap:anywhere; }
.activity-inspector__eyebrow { margin:20px 0 4px; color:var(--color-ink-muted); font:400 11px/1.5 var(--font-mono); letter-spacing:.08em; text-transform:uppercase; }
.activity-inspector__when { font-size:14px; }
.activity-inspector__tabs { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); position:sticky; top:var(--activity-tabs-top); align-self:start; z-index:12; border-bottom:1px solid var(--color-border); background:var(--color-canvas); }
.activity-inspector__tabs button { min-width:0; min-height:48px; padding:12px 8px; border:0; border-bottom:3px solid transparent; background:transparent; color:var(--color-ink-muted); font:500 14px/1.4 var(--font-sans); cursor:pointer; }
.activity-inspector__tabs button[aria-selected="true"] { border-bottom-color:var(--color-brand); color:var(--color-link); }
.activity-inspector__tabs button:focus-visible { outline:2px solid var(--color-link); outline-offset:-4px; }
.activity-inspector__panel { display:grid; gap:24px; min-width:0; scroll-margin-top:calc(var(--activity-tabs-top) + 64px); }
.activity-inspector__panel-title { margin:0; font:600 26px/1.2 var(--font-display); letter-spacing:-.03em; }
.activity-inspector__metrics { min-width:0; }
.activity-inspector__metrics .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 24px; margin:0; }
.activity-inspector__metrics .metric { border:0; padding:0; }
.activity-inspector__metrics .metric__label { font:400 13px/1.4 var(--font-sans); color:var(--color-ink-muted); }
.activity-inspector__metrics .metric__value { font:500 24px/1.3 var(--font-mono); letter-spacing:-.04em; overflow-wrap:anywhere; }
.activity-inspector__metrics .metric__value small { margin-left:4px; color:var(--color-ink-muted); font:400 13px/1.4 var(--font-sans); letter-spacing:0; }
.activity-inspector__metrics--overview .metric[data-primary="true"] { padding-bottom:20px; border-bottom:1px solid var(--color-border); }
.activity-inspector__metrics--overview .metric[data-primary="true"] .metric__value { font:600 clamp(32px,6vw,44px)/1.15 var(--font-display); letter-spacing:-.04em; }
.activity-inspector__stats-group { padding:20px 0; border-bottom:1px solid var(--color-border); }
.activity-inspector__stats-group:first-child { padding-top:0; }
.activity-inspector__stats-group h3 { margin:0 0 16px; font:500 16px/1.4 var(--font-sans); }
.activity-inspector__overview .workout-analysis { margin:0; border-radius:12px; border-top:3px solid var(--color-brand); }
.activity-inspector__matched { margin:0; color:var(--color-ink-muted); font-size:14px; }
.activity-inspector__matched a { color:var(--color-link); }
.activity-inspector__empty { margin:0; padding:20px; background:var(--color-surface); border:1px solid var(--color-border); border-radius:12px; color:var(--color-ink-muted); }
.activity-inspector__analysis { grid-template-columns:minmax(0,1fr); }
.activity-inspector__visuals { grid-template-columns:minmax(0,1fr); }
.activity-inspector__section-head { flex-wrap:wrap; }
.activity-inspector__source { flex-wrap:wrap; overflow-wrap:anywhere; }
.activity-inspector__table-toggle { min-height:44px; align-items:center; }
@media (min-width:960px) {
  .activity-inspector__metrics--overview .metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .activity-inspector__metrics--overview .metric[data-primary="true"] { padding:0; border:0; }
  .activity-inspector__metrics--overview .metric[data-primary="true"] .metric__value { font-size:36px; }
}
@media (max-width:719px) {
  .activity-inspector__tabs button { font-size:13px; padding-inline:4px; }
  .activity-inspector__surface { padding:16px; box-shadow:none; }
  .activity-inspector__table-wrap { overflow:visible; }
  .activity-inspector__table { display:block; width:100%; min-width:0; white-space:normal; }
  .activity-inspector__table caption { display:block; }
  .activity-inspector__table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .activity-inspector__table tbody { display:block; }
  .activity-inspector__table tbody tr { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 12px; padding:12px 0; border-top:1px solid var(--color-border); }
  .activity-inspector__table tbody tr[hidden] { display:none; }
  .activity-inspector__table td { display:block; padding:0; border:0; overflow-wrap:anywhere; }
  .activity-inspector__table td::before { content:attr(data-label); display:block; margin-bottom:3px; color:var(--color-ink-muted); font:400 12px/1.4 var(--font-sans); }
  .activity-inspector__table td:first-child { grid-column:1 / -1; font-weight:600; }
  .activity-inspector__table td:first-child::before { display:inline; margin-right:6px; }
}

.activity-inspector__recorded-stats:empty { display:none; }
.activity-inspector__map-surface > .activity-inspector__source-summary { margin-top:12px; }
.activity-inspector__recorded-values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:0; }
.activity-inspector__recorded-values dt { color:var(--color-ink-muted); font-size:13px; }
.activity-inspector__recorded-values dd { margin:4px 0 0; font:500 20px/1.4 var(--font-mono); }

.activity-training-effect__values { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.activity-training-effect__values dd { margin:8px 0; font:600 24px/1.3 var(--font-display); }
.activity-training-effect__values p { color:var(--color-ink-muted); font-size:14px; }
.activity-training-effect meter { width:100%; }
@media (max-width:400px) { .activity-training-effect__values { grid-template-columns:minmax(0,1fr); } }
