/* Onboarding, first run, landing, trial workout and owner dashboard. Uses the app palette variables. */
body.onboarding-mode #sidebar,body.onboarding-mode #bottom-nav,body.onboarding-mode #mini-timer{display:none!important}
body.onboarding-mode .layout{display:block;max-width:640px;padding-top:18px}
body.onboarding-mode main{padding-bottom:40px}
.ob,.first-run,.demo{max-width:620px;margin:0 auto}
.ob{padding:30px 26px;border-radius:26px}
.ob h1,.first-run h1,.demo h1{font-size:clamp(28px,6vw,38px);line-height:1.1;letter-spacing:-1.2px;margin:10px 0 8px}
.ob-logo{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--accentdark);color:var(--accent);font-size:28px;margin-bottom:10px}
.ob-dots{display:flex;gap:6px;margin:8px 0 14px}.ob-dots i{flex:1;height:5px;border-radius:5px;background:var(--line)}.ob-dots i.on{background:var(--action)}
.ob-hint{color:var(--muted);line-height:1.55;margin:0 0 18px}
.ob-grid{display:grid;gap:10px}
.ob-card{display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:68px;padding:14px 16px;border:1.5px solid var(--line);border-radius:18px;background:var(--field);color:var(--text);cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.ob-card:hover{border-color:var(--accent)}
.ob-card.on{border-color:var(--action);background:var(--accentdark);box-shadow:0 0 0 2px color-mix(in srgb,var(--action) 40%,transparent)}
.ob-card strong{display:block;font-size:16px}.ob-card small{display:block;color:var(--muted);margin-top:2px;line-height:1.4}
.ob-glyph{flex:0 0 40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--panel2);color:var(--accent);font-weight:800;font-size:18px}
.ob-card.on .ob-glyph{background:var(--action);color:#18200f}
.ob-days{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ob-day{display:grid;gap:2px;justify-items:center;padding:16px 6px;border:1.5px solid var(--line);border-radius:18px;background:var(--field);color:var(--text);cursor:pointer;min-height:110px}
.ob-day b{font-size:30px;line-height:1}.ob-day span{font-weight:700}.ob-day small{color:var(--muted);font-size:11px;text-align:center}
.ob-day.on{border-color:var(--action);background:var(--accentdark)}
.ob-foot{display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:22px;flex-wrap:wrap}
.ob-foot .primary{margin-left:auto}
.ob-skip{color:var(--muted)}
.ob-result{padding:6px 0}
.ob-plan{padding:22px;border-radius:22px;margin-top:14px}.ob-plan.primary-plan{border:2px solid var(--action)}
.ob-plan h2{font-size:24px;margin:10px 0 4px;letter-spacing:-.8px}
.ob-reasons{list-style:none;margin:14px 0;padding:0;display:grid;gap:8px}
.ob-reasons li{position:relative;padding-left:26px;line-height:1.45}.ob-reasons li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:800}
.ob-first{display:grid;gap:2px;margin:16px 0;padding:14px 16px;border-radius:16px;background:var(--field);border:1px solid var(--line)}
.ob-first strong{font-size:18px}
.big-cta{width:100%;min-height:58px;font-size:17px;border-radius:16px}
.ob-alt-title{margin:26px 0 4px;font-size:15px;color:var(--muted);letter-spacing:.4px;text-transform:uppercase}
.ob-alts{display:grid;gap:12px}
.ob-later{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.first-run{padding-top:6px}.first-card{padding:26px;border-radius:26px;display:grid;gap:10px;justify-items:start}.first-card h2{font-size:26px;margin:6px 0 0;letter-spacing:-.9px}.first-card .big-cta{margin-top:10px}
.first-links{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:6px}.first-links a,.first-links .ghost{color:var(--muted);text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;min-height:44px}

/* landing under the login card */
.landing{max-width:1040px;margin:56px auto 20px;display:grid;gap:56px;padding:0 4px}
.landing h2{font-size:clamp(24px,4.4vw,34px);letter-spacing:-1.1px;margin:0 0 18px}
.ld-counter{margin:0;text-align:center;color:var(--muted)}.ld-counter strong{color:var(--accent);font-size:20px}
.ld-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.ld-feature{padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--panel)}
.ld-ico{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--accentdark);color:var(--accent);font-size:20px;font-weight:800}
.ld-feature h3{margin:14px 0 6px;font-size:18px}.ld-feature p{margin:0;color:var(--muted);line-height:1.55}
.ld-shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.ld-shots figure{margin:0;display:grid;gap:10px}
.ld-shots img{width:100%;height:auto;border-radius:22px;border:1px solid var(--line);background:var(--panel);aspect-ratio:1/2}
.ld-shots figcaption{display:grid;gap:3px}.ld-shots figcaption span{color:var(--muted);font-size:13px;line-height:1.45}
.ld-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.ld-steps li{display:flex;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.ld-steps b{flex:0 0 38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--action);color:#18200f}
.ld-steps strong{display:block}.ld-steps span{color:var(--muted);line-height:1.5}.ld-steps span strong{color:var(--text)}
.ld-final{text-align:center;padding:34px 22px;border-radius:28px;background:var(--accentdark);border:1px solid var(--line)}
.ld-final p{color:var(--muted)}.ld-final .button-row{justify-content:center}
.ld-try{width:100%;margin:-4px 0 16px}

/* trial workout */
.demo{padding:22px;border-radius:26px}
.demo-top{display:flex;justify-content:space-between;align-items:center}.demo-close{padding:10px;color:var(--muted);text-decoration:none;min-width:44px;text-align:center}
.demo progress{width:100%;height:6px;margin:8px 0 6px}
.demo-media{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 14px}
.demo-media img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:var(--field)}
.demo-target{display:flex;justify-content:space-between;align-items:baseline;padding:14px 18px;border-radius:18px;background:var(--panel2)}.demo-target span{color:var(--muted)}.demo-target strong{font-size:44px;letter-spacing:-2px;font-variant-numeric:tabular-nums}
.demo-foot{display:grid;gap:10px;margin-top:18px}
.demo-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.demo-stats div{padding:18px;border-radius:18px;background:var(--panel2);text-align:center}.demo-stats strong{display:block;font-size:34px;letter-spacing:-1.5px}.demo-stats span{color:var(--muted)}

/* owner dashboard */
.ow-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}
.ow-kpi{padding:18px;display:grid;gap:4px}.ow-kpi span{color:var(--muted);font-size:13px}.ow-kpi strong{font-size:34px;letter-spacing:-1.4px}.ow-kpi small{color:var(--muted)}
.ow-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ow-bar{margin:12px 0}.ow-bar-top{display:flex;justify-content:space-between;gap:12px;font-size:14px}
.ow-progress{display:block;width:100%;height:10px;margin-top:5px;border:0;border-radius:10px;overflow:hidden;appearance:none;background:var(--panel2)}.ow-progress::-webkit-progress-bar{background:var(--panel2);border-radius:10px}.ow-progress::-webkit-progress-value{background:var(--action);border-radius:10px}.ow-progress::-moz-progress-bar{background:var(--action);border-radius:10px}
.ow-table{display:grid;gap:0;margin:10px 0}.ow-row{display:grid;grid-template-columns:.5fr 1.4fr 1.2fr .8fr;gap:10px;padding:11px 4px;border-bottom:1px solid var(--line);font-size:14px}.ow-head{color:var(--muted);font-size:12px}
.ow-chart{width:100%;height:auto}.ow-chart text{fill:var(--muted);font-size:10px}.ow-axis{stroke:var(--line);stroke-width:1}
.ow-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:6px}.ow-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.ow-c1{background:#d2f56a}.ow-c2{background:#6fb3ff}.ow-c3{background:#ff9f6b}
.ow-landing{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:10px 0 16px}.ow-landing div{padding:14px;border-radius:16px;background:var(--panel2);text-align:center}.ow-landing strong{display:block;font-size:26px}.ow-landing span{color:var(--muted);font-size:12px}
@media(max-width:560px){.ob{padding:22px 16px}.ob-days{grid-template-columns:repeat(2,1fr)}.ow-row{grid-template-columns:.4fr 1.3fr 1.1fr .7fr;font-size:12px}.demo-target strong{font-size:38px}}
@media(prefers-reduced-motion:reduce){.ob-card{transition:none}}
/* initial state of the set clock (was an inline style attribute, which the CSP blocks) */
.set-clock-ring{--clock-progress:0%}
