/* v3-shell.css 3.0.18: see the end of the file (3.0.14 to 3.0.18). v3-shell.css 3.0.13 (results 3.0.10, Eric, October 30, 2026: "when i reload the page i see the old dashboard load in
   first", "i even see like the old scan image showing up first"): until the shell has drawn itself (#bsr-app gets
   .v3-ready from the page right after v3-shell.js runs) only the loading skeleton shows, beside a plain sidebar (desktop)
   or under a plain top bar (phones); the old dashboard's markup stays invisible, and shows anyway after 10 s if the
   shell never loads. The loading skeleton is v3's Home (greeting, Your latest numbers, DEXA scan) instead of the old
   dashboard's. Home's DEXA scan card waits in an empty white frame for the clean picture. Built on 3.0.11 (3.0.12 changed only the script). */
/* BodyStats results dashboard v3 · v3-shell.css (results 3.0.4, assets/dashboard-v3.0.10; first shipped in 2.7.65).
   Every customer gets v3 since results 3.0.0 (staff views never); every rule sits under #bsr-app.bsr-v3, so without it
   nothing here applies. The shell is drawn to the Design canvas boards (Dash-Sidebar, Dash-PhoneBar, Main,
   Phone-Home, Phone-More) and the Hub 2.0 stylesheet (ed-hub2-v1.0.11.css): forest #2F4237, dark #11322F,
   bone #F4F2ED, gold #B08B4F, Outfit, rounded corners (cards 16px, tiles 12-14px, buttons 10px, nav and
   segments 8px, pills 999px). Phones and small tablets below 900px. The existing sections are restyled lightly:
   full width inside the shell, Hub card style, their markup untouched. */
#bsr-app.bsr-v3{--v3-forest:#2F4237;--v3-dark:#11322F;--v3-bone:#F4F2ED;--v3-gold:#B08B4F;--v3-ink:#1C1C1A;--v3-muted:#5F675F;--v3-muted2:#4A524A;--v3-line:#E5E6E1;--v3-soft:#EFEDE8;--v3-seg:#ECE9E2;--v3-tint:#FAF9F6;--v3-pos:#1F5B34;--v3-neg:#A34135;--v3-goldtint:#F7F0E3;--v3-goldink:#6B4E1E;--v3-btnline:#D8D2C7;
  position:relative;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:0 0 0 248px!important;background:var(--v3-bone)!important;color:var(--v3-ink)!important;font:15px/1.45 'Outfit',system-ui,-apple-system,sans-serif!important;-webkit-font-smoothing:antialiased;text-align:left}
#bsr-app.bsr-v3 *,#bsr-app.bsr-v3 *::before,#bsr-app.bsr-v3 *::after{box-sizing:border-box}
/* The Astra theme caps the content (.entry-content[data-ast-blocks-layout] > * and its children: max-width 1200px, centred).
   v3 is a full-screen app: #bsr-app and everything directly in it span the window; the content has its own cap below. */
#bsr-app.bsr-v3{box-sizing:border-box!important;width:auto!important;max-width:none!important;--v3-cap:1680px}
#bsr-app.bsr-v3>*{max-width:none;margin-left:0;margin-right:0;min-width:0}
#bsr-app.bsr-v3 .v3-page,#bsr-app.bsr-v3 .v3-pagehead{overflow-wrap:anywhere}
#bsr-app.bsr-v3 .v3-page *,#bsr-app.bsr-v3 .v3-pagehead *{min-width:0}
#bsr-app.bsr-v3 :focus-visible{outline:2px solid var(--v3-gold);outline-offset:2px}
#bsr-app.bsr-v3 .v3-ic{flex:0 0 auto;display:block}
#bsr-app.bsr-v3 [hidden]{display:none!important}

/* The old header rows, tab rows and global cards stay in the page (scripts use their ids) but out of sight. */
#bsr-app.bsr-v3>#bsr-header,#bsr-app.bsr-v3 #bsr-tabs,#bsr-app.bsr-v3 #bsr-results-view-tabs,#bsr-app.bsr-v3 #bsr-feedback-cta,
#bsr-app.bsr-v3 #bsr-survey-nudge,#bsr-app.bsr-v3 #bsr-dob-nudge,#bsr-app.bsr-v3 #bsr-nudge,#bsr-app.bsr-v3 .v3-old-cta,
#bsr-app.bsr-v3 .bsr-results-view-head,#bsr-app.bsr-v3 .bsr-sched-head{display:none!important}
/* Body scan starts with the Scan explorer (Eric: "not a fan of ... the since your last scan bar, your progress bar"):
   the scan row's date, place, scanner and calibration are in the header, the scan reminder is on Home. */
#bsr-app.bsr-v3 #bsr-rl2-top,#bsr-app.bsr-v3 #bsr-progress{display:none!important}
#bsr-app.bsr-v3 #bsr-rl2-explorer{padding-top:4px!important}
#bsr-app.bsr-v3 #bsr-referral-card{display:none!important}
#bsr-app.bsr-v3[data-v3-page="rewards"] #bsr-referral-card{display:block!important}

/* Which page shows: the dashboard's panels keep their own hidden state for the tab controller. */
#bsr-app.bsr-v3 .v3-page{display:none}
#bsr-app.bsr-v3[data-v3-page="home"] #bsr-v3-home,#bsr-app.bsr-v3[data-v3-page="profile"] #bsr-v3-profile,#bsr-app.bsr-v3[data-v3-page="more"] #bsr-v3-more{display:flex}
#bsr-app.bsr-v3[data-v3-page="home"] #bsr-main>.bsr-panel,#bsr-app.bsr-v3[data-v3-page="rewards"] #bsr-main>.bsr-panel,
#bsr-app.bsr-v3[data-v3-page="profile"] #bsr-main>.bsr-panel,#bsr-app.bsr-v3[data-v3-page="more"] #bsr-main>.bsr-panel{display:none!important}

/* ── Sidebar (desktop) ─────────────────────────────────────────────────── */
#bsr-app.bsr-v3 .v3-side{position:fixed;top:0;left:0;bottom:0;z-index:60;width:248px;overflow-y:auto;padding:18px 12px;background:var(--v3-dark);color:#fff;display:flex;flex-direction:column;gap:14px;line-height:1.4;font-family:'Outfit',system-ui,-apple-system,sans-serif}
#bsr-app.bsr-v3 .v3-brand{display:flex;align-items:center;justify-content:space-between;padding:0 8px}
#bsr-app.bsr-v3 .v3-word{font-size:20px;font-weight:600;letter-spacing:-.01em;color:#fff;text-decoration:none}
#bsr-app.bsr-v3 .v3-pill{font-size:11px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
#bsr-app.bsr-v3 .v3-nav{display:flex;flex-direction:column;gap:12px;opacity:0;transition:opacity .18s ease}
/* 3.0.8: the menu fades in once, when its items have stopped arriving (v3-shell.js showNav). */
#bsr-app.bsr-v3 .v3-nav.is-ready{opacity:1}
@media (prefers-reduced-motion:reduce){#bsr-app.bsr-v3 .v3-nav{transition:none}}
#bsr-app.bsr-v3 .v3-navgroup{display:flex;flex-direction:column;gap:1px}
#bsr-app.bsr-v3 .v3-navlabel{margin:0 0 3px;padding:0 10px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.6)}
#bsr-app.bsr-v3 .v3-navlink{display:flex;align-items:center;gap:10px;width:100%;min-height:34px;margin:0;padding:0 10px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:400;line-height:1.3;color:rgba(255,255,255,.78);text-align:left;text-decoration:none;cursor:pointer}
#bsr-app.bsr-v3 .v3-navlink .v3-ic{opacity:.8}
#bsr-app.bsr-v3 .v3-navlink:hover{color:#fff;background:rgba(255,255,255,.06)}
#bsr-app.bsr-v3 .v3-navlink[aria-current="page"]{color:#fff;background:rgba(255,255,255,.12);font-weight:600}
#bsr-app.bsr-v3 .v3-navlink[aria-current="page"] .v3-ic{opacity:1}
#bsr-app.bsr-v3 .v3-link-text{flex:1;min-width:0}
#bsr-app.bsr-v3 .v3-side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px}
#bsr-app.bsr-v3 .v3-book{display:flex;align-items:center;justify-content:center;height:44px;border-radius:10px;background:var(--v3-gold);color:var(--v3-ink);font-size:15px;font-weight:600;text-decoration:none}
#bsr-app.bsr-v3 .v3-book:hover{background:#C29C5E;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-old{padding:0 10px;font-size:13px;color:rgba(255,255,255,.7);text-decoration:none}
#bsr-app.bsr-v3 .v3-old:hover{color:#fff;text-decoration:underline}
#bsr-app.bsr-v3 .v3-me{display:flex;align-items:center;gap:10px;padding:12px 8px 0;border-top:1px solid rgba(255,255,255,.12)}
#bsr-app.bsr-v3 .v3-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--v3-gold);color:var(--v3-ink);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;line-height:1;text-decoration:none}
#bsr-app.bsr-v3 .v3-avatar.is-large{flex-basis:40px;width:40px;height:40px;font-size:14px}
#bsr-app.bsr-v3 .v3-me-text{flex:1;min-width:0;line-height:1.25}
#bsr-app.bsr-v3 .v3-me-text b{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bsr-app.bsr-v3 .v3-me-text span{font-size:12px;color:rgba(255,255,255,.7)}
#bsr-app.bsr-v3 .v3-logout{font-size:13px;color:rgba(255,255,255,.85);text-decoration:none;white-space:nowrap}
#bsr-app.bsr-v3 .v3-logout:hover{color:#fff;text-decoration:underline}
#bsr-app.bsr-v3 .v3-top,#bsr-app.bsr-v3 .v3-tabbar{display:none}

/* ── Page header: a white bar across the main column ──────────────────── */
#bsr-app.bsr-v3 .v3-pagehead{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;padding:16px max(32px, calc(100% - var(--v3-cap) - 32px)) 16px 32px;background:#fff;border-bottom:1px solid var(--v3-line)}
/* Desktop: the sidebar switches Body scan, Cardio and Strength, so the header has no tabs (phones get underline tabs). */
#bsr-app.bsr-v3 .v3-tabs{display:none!important}
/* Cardio's own tabs (VO2 max, Resting metabolism, Lactate threshold) show everywhere, under the title. */
#bsr-app.bsr-v3 .v3-tabs.is-sub{display:flex!important}
#bsr-app.bsr-v3 .v3-tabs.is-sub[hidden]{display:none!important}
#bsr-app.bsr-v3 .v3-pagehead.has-sub{padding-bottom:0}
#bsr-app.bsr-v3 button.v3-tab{margin-top:0;margin-left:0;margin-right:0;border-top:0;border-left:0;border-right:0;border-radius:0;background:transparent;font-family:inherit;cursor:pointer}
#bsr-app.bsr-v3 .v3-field--test select{height:40px;min-width:180px;max-width:320px;margin:0;padding:0 32px 0 10px;border:1px solid var(--v3-btnline);border-radius:10px;background-color:#fff;font:inherit;font-size:14px;font-weight:500;color:var(--v3-ink);cursor:pointer}
#bsr-app.bsr-v3 .v3-head-title{min-width:0}
#bsr-app.bsr-v3 .v3-h1{margin:0;font-family:inherit;font-size:24px;font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-sub{margin:2px 0 0;font-size:14px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-head-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#bsr-app.bsr-v3 .v3-tabs{display:flex;gap:22px;flex:1 1 100%;overflow-x:auto;scrollbar-width:none}
#bsr-app.bsr-v3 .v3-tabs::-webkit-scrollbar{display:none}
#bsr-app.bsr-v3 .v3-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:8px 0 12px;margin-bottom:-1px;border-bottom:2px solid transparent;font-size:15px;font-weight:500;color:var(--v3-muted2);text-decoration:none;white-space:nowrap}
#bsr-app.bsr-v3 .v3-tab .v3-link-text{flex:none}
#bsr-app.bsr-v3 .v3-tab:hover{color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-tab[aria-current="page"]{font-weight:600;color:var(--v3-ink);border-bottom-color:var(--v3-forest)}
#bsr-app.bsr-v3 .v3-field{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-field #bsr-scan-select{height:40px!important;min-height:40px!important;width:auto!important;max-width:340px;margin:0!important;padding:0 32px 0 10px!important;border:1px solid var(--v3-btnline)!important;border-radius:10px!important;background-color:#fff!important;font:inherit!important;font-size:14px!important;font-weight:500!important;color:var(--v3-ink)!important;box-shadow:none!important;cursor:pointer}

/* Buttons */
#bsr-app.bsr-v3 .v3-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;margin:0;padding:0 14px;border:1px solid var(--v3-btnline);border-radius:10px;background:#fff;font:inherit;font-size:14px;font-weight:500;line-height:1;color:var(--v3-ink);text-decoration:none;white-space:nowrap;cursor:pointer}
#bsr-app.bsr-v3 .v3-btn:hover{background:var(--v3-tint);color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-btn.is-primary{height:44px;padding:0 18px;border:0;background:var(--v3-forest);color:#fff;font-size:15px;font-weight:600}
#bsr-app.bsr-v3 .v3-btn.is-primary:hover{background:#26372D;color:#fff}
#bsr-app.bsr-v3 .v3-fill{width:100%}

/* ── Main column ───────────────────────────────────────────────────────── */
#bsr-app.bsr-v3 #bsr-main{padding:22px 32px 40px!important;background:transparent!important;max-width:calc(var(--v3-cap) + 64px)!important;margin:0!important}
#bsr-app.bsr-v3 #bsr-loading-shell{margin:22px 32px!important}
#bsr-app.bsr-v3 #bsr-error,#bsr-app.bsr-v3>#bsr-empty{margin:22px 32px!important;max-width:none!important;border-radius:16px;background:#fff;border:1px solid var(--v3-line)}
#bsr-app.bsr-v3 .bsr-translation-notice{margin:12px 32px 0}
#bsr-app.bsr-v3 .v3-page{flex-direction:column;gap:18px}
#bsr-app.bsr-v3 .v3-slot{display:contents}
#bsr-app.bsr-v3 .v3-card{padding:18px 20px 20px;border-radius:16px;background:#fff;border:1px solid var(--v3-line);display:flex;flex-direction:column;gap:14px;min-width:0}
#bsr-app.bsr-v3 .v3-card p{margin:0}
#bsr-app.bsr-v3 .v3-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-width:0}
#bsr-app.bsr-v3 .v3-card-title{min-width:0}
#bsr-app.bsr-v3 .v3-card h2{margin:0;display:flex;align-items:center;gap:8px;font-family:inherit;font-size:18px;font-weight:600;line-height:1.3;letter-spacing:0;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-card-sub{margin:2px 0 0!important;font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 a.v3-more{font-size:14px;font-weight:500;color:var(--v3-forest);text-decoration:none;white-space:nowrap}
#bsr-app.bsr-v3 a.v3-more:hover{color:var(--v3-ink);text-decoration:underline}
#bsr-app.bsr-v3 .v3-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:18px;align-items:stretch}
#bsr-app.bsr-v3 .v3-cell{display:flex;flex-direction:column;min-width:0}
#bsr-app.bsr-v3 .v3-cell>*{flex:1 1 auto}
#bsr-app.bsr-v3 .v3-actions{display:flex;gap:10px;flex-wrap:wrap}
#bsr-app.bsr-v3 .v3-muted{color:var(--v3-muted)}
#bsr-app.bsr-v3 .is-pos{color:var(--v3-pos)}

/* Reminder: one at a time, the dark Hub banner */
#bsr-app.bsr-v3 .v3-remind{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;background:var(--v3-dark);color:#fff;font-size:15px}
#bsr-app.bsr-v3 .v3-remind-tag{display:flex;align-items:center;gap:8px}
#bsr-app.bsr-v3 .v3-remind-tag b{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#E7D3AE}
#bsr-app.bsr-v3 .v3-remind-text{flex:1 1 240px;min-width:0}
#bsr-app.bsr-v3 .v3-remind-go{display:inline-flex;align-items:center;gap:6px;height:36px;margin:0;padding:0 14px;border:0;border-radius:10px;background:#fff;color:var(--v3-dark);font:inherit;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
#bsr-app.bsr-v3 .v3-remind-go:hover{background:var(--v3-tint);color:var(--v3-dark)}
#bsr-app.bsr-v3 .v3-remind-x{width:36px;height:36px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;color:rgba(255,255,255,.75);cursor:pointer;display:flex;align-items:center;justify-content:center}
#bsr-app.bsr-v3 .v3-remind-x:hover{background:rgba(255,255,255,.08);color:#fff}

/* Your latest numbers */
#bsr-app.bsr-v3 .v3-latest{padding:14px 16px 16px;gap:10px}
#bsr-app.bsr-v3 .v3-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px}
#bsr-app.bsr-v3 .v3-tile{display:block;min-width:0;padding:10px 12px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft);color:var(--v3-ink);text-decoration:none}
#bsr-app.bsr-v3 .v3-tile:hover{border-color:var(--v3-btnline);color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-tile-label{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-tile-value{margin:2px 0 0!important;font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-tile-value span{font-size:12px;font-weight:500;letter-spacing:0;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-tile-note{margin:2px 0 0!important;font-size:11px;font-weight:500;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-tile-note.is-pos{color:var(--v3-pos)}

/* Body scan card */
#bsr-app.bsr-v3 .v3-scan-row{display:flex;gap:20px;align-items:flex-start}
#bsr-app.bsr-v3 .v3-thumb{flex:0 0 220px;width:220px;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:14px;background:#000;overflow:hidden;align-self:stretch;min-height:280px}
#bsr-app.bsr-v3 .v3-thumb img{display:block;width:100%;height:auto;max-height:470px;object-fit:contain;border-radius:0;max-width:100%}
#bsr-app.bsr-v3 .v3-thumb:focus-visible{outline-offset:3px}
/* 3.0.8: the Scan explorer's clean picture sits on white, like the explorer. */
#bsr-app.bsr-v3 .v3-thumb.is-clean{background:#fff;border:1px solid var(--v3-line)}
#bsr-app.bsr-v3 .v3-card-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#bsr-app.bsr-v3 .v3-field--scan select{height:36px;max-width:220px;margin:0;padding:0 30px 0 10px;border:1px solid var(--v3-btnline);border-radius:10px;background-color:#fff;font:inherit;font-size:14px;font-weight:500;color:var(--v3-ink);cursor:pointer}
#bsr-app.bsr-v3 .v3-bodycard .v3-whole{grid-template-columns:minmax(0,1fr);gap:8px}
#bsr-app.bsr-v3 .v3-bodycard .v3-whole-item{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 14px}
#bsr-app.bsr-v3 .v3-bodycard .v3-whole-item .v3-tile-label{flex:1 1 auto;font-size:14px;color:var(--v3-muted2)}
#bsr-app.bsr-v3 .v3-bodycard .v3-whole-pct{margin:0!important;font-size:24px}
#bsr-app.bsr-v3 .v3-bodycard .v3-whole-mass{flex:0 0 64px;text-align:right}
#bsr-app.bsr-v3 .v3-scan-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}
#bsr-app.bsr-v3 .v3-whole{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#bsr-app.bsr-v3 .v3-whole-item{padding:10px 12px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft);min-width:0}
#bsr-app.bsr-v3 .v3-dot{flex:0 0 8px;width:8px;height:8px;border-radius:50%}
#bsr-app.bsr-v3 .v3-whole-pct{margin:2px 0 0!important;font-size:22px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
#bsr-app.bsr-v3 .v3-whole-pct b{font-weight:600}
#bsr-app.bsr-v3 .v3-whole-pct span{font-size:13px;font-weight:500}
#bsr-app.bsr-v3 .v3-whole-mass{font-size:12px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-trend-label{margin:0 0 6px!important;font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-bars{display:flex;align-items:flex-end;gap:10px;height:92px}
#bsr-app.bsr-v3 .v3-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;min-width:0}
#bsr-app.bsr-v3 .v3-bar-v{font-size:12px;font-weight:600}
#bsr-app.bsr-v3 .v3-bar-fill{display:block;width:100%;border-radius:4px 4px 0 0;background:#C9D3CB}
#bsr-app.bsr-v3 .v3-bar.is-latest .v3-bar-fill{background:var(--v3-forest)}
#bsr-app.bsr-v3 .v3-bar-d{font-size:11px;color:var(--v3-muted);white-space:nowrap}
#bsr-app.bsr-v3 .v3-scan-right>.v3-actions{margin-top:auto}
/* Narrow DEXA card on computers (two cards side by side): the readings never split words, and when the column beside
   the scan is under 300px each one takes two lines, the name on top and the % with its weight underneath. */
@media (min-width:900px){
  #bsr-app.bsr-v3 .v3-bodycard .v3-scan-right{container-type:inline-size;container-name:v3scan}
  #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item{overflow-wrap:normal}
  #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item .v3-tile-label span,#bsr-app.bsr-v3 .v3-bodycard .v3-whole-pct,#bsr-app.bsr-v3 .v3-bodycard .v3-whole-mass{white-space:nowrap}
  /* Room for the design's three tiles side by side. */
  @container v3scan (min-width:300px){
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item{display:block;padding:10px 12px}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item .v3-tile-label{font-size:12px;color:var(--v3-muted)}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-pct{margin:2px 0 0!important;font-size:22px}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-mass{text-align:left}
  }
  @container v3scan (max-width:299.98px){
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "pct mass";align-items:baseline;row-gap:2px;padding:10px 12px}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item .v3-tile-label{grid-area:label}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item .v3-tile-label svg{display:none}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-pct{grid-area:pct}
    #bsr-app.bsr-v3 .v3-bodycard .v3-whole-mass{grid-area:mass;flex:none}
  }
}
#bsr-app.bsr-v3 .v3-first-scan{display:flex;align-items:flex-start;gap:8px;margin:0!important;padding:10px 12px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft);font-size:13px;color:var(--v3-muted2)}
#bsr-app.bsr-v3 .v3-cell[hidden]{display:none!important}

/* Cardio card */
#bsr-app.bsr-v3 .v3-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px}
#bsr-app.bsr-v3 .v3-big{margin:0;font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1}
#bsr-app.bsr-v3 .v3-big span{font-size:15px;font-weight:500;letter-spacing:0;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-pill-pos{font-size:14px;font-weight:600;padding:4px 12px;border-radius:999px;background:#E4ECE6;color:var(--v3-pos);white-space:nowrap}
#bsr-app.bsr-v3 .v3-pill-pos.is-neutral{background:var(--v3-seg);color:var(--v3-muted2)}
#bsr-app.bsr-v3 .v3-scale{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:3px}
#bsr-app.bsr-v3 .v3-scale span{min-width:0;overflow:hidden;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;font-weight:500;background:var(--v3-seg);color:var(--v3-muted2);text-align:center;line-height:1.1;padding:0 2px}
#bsr-app.bsr-v3 .v3-scale span.is-on{background:var(--v3-forest);color:#fff;font-weight:600}
#bsr-app.bsr-v3 .v3-vo2trend{flex:1 1 auto;display:flex;flex-direction:column;min-height:190px;margin:6px 0 12px;color:var(--v3-ink);text-decoration:none}
#bsr-app.bsr-v3 .v3-vo2trend:hover .v3-vo2-line{stroke-width:2.5}
#bsr-app.bsr-v3 .v3-vo2-plot{position:relative;flex:1 1 auto;min-height:140px;max-height:320px}
#bsr-app.bsr-v3 .v3-vo2-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
#bsr-app.bsr-v3 .v3-vo2-area{fill:#E4ECE6;opacity:.7}
#bsr-app.bsr-v3 .v3-vo2-line{fill:none;stroke:var(--v3-forest);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
#bsr-app.bsr-v3 .v3-vo2-pt{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;border:2px solid var(--v3-forest);box-sizing:border-box}
#bsr-app.bsr-v3 .v3-vo2-pt.is-latest{width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--v3-forest);box-shadow:0 0 0 4px rgba(47,66,55,.14)}
#bsr-app.bsr-v3 .v3-vo2-v{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);font-size:12px;font-weight:600;color:var(--v3-muted2);white-space:nowrap}
#bsr-app.bsr-v3 .v3-vo2-pt.is-latest .v3-vo2-v{font-size:14px;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-vo2-dates{position:relative;height:18px;margin-top:8px}
#bsr-app.bsr-v3 .v3-vo2-dates span{position:absolute;top:0;transform:translateX(-50%);font-size:11px;color:var(--v3-muted);white-space:nowrap}
#bsr-app.bsr-v3 .v3-rows{display:flex;flex-direction:column;margin-top:auto}
#bsr-app.bsr-v3 .v3-row{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;border-top:1px solid var(--v3-soft);color:var(--v3-ink);text-decoration:none;font-size:14px}
#bsr-app.bsr-v3 .v3-row:hover{color:var(--v3-ink);background:var(--v3-tint)}
#bsr-app.bsr-v3 .v3-row-l{display:flex;align-items:center;gap:8px;min-width:0}
#bsr-app.bsr-v3 .v3-row b{font-weight:600}
#bsr-app.bsr-v3 .v3-row-r{white-space:nowrap}

/* Empty Home, waiting state */
#bsr-app.bsr-v3 .v3-empty{align-items:flex-start;padding:26px 24px}
#bsr-app.bsr-v3 .v3-empty-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft)}
#bsr-app.bsr-v3 .v3-empty h2{font-size:22px}
#bsr-app.bsr-v3 .v3-empty p{max-width:560px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-wait p{color:var(--v3-muted)}

/* Rewards and feedback rows */
#bsr-app.bsr-v3 .v3-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr));gap:12px}
#bsr-app.bsr-v3 .v3-line{display:flex;align-items:center;gap:12px;width:100%;margin:0;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--v3-line);font:inherit;color:var(--v3-ink);text-align:left;text-decoration:none;cursor:pointer}
#bsr-app.bsr-v3 .v3-line:hover{border-color:var(--v3-btnline);color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-line-copy{flex:1;min-width:0;display:flex;flex-direction:column}
#bsr-app.bsr-v3 .v3-line-eyebrow{font-size:12px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-line-text{margin-top:2px;font-size:14px;font-weight:500}
#bsr-app.bsr-v3 .v3-line-go{font-size:14px;font-weight:500;color:var(--v3-forest);white-space:nowrap}

/* The visit rating card (dashboard-11.js) in Hub card style */
#bsr-app.bsr-v3 .v3-rating-slot .bsr-visit-rating{margin:0!important;padding:18px 20px 20px!important;border-radius:16px!important;background:#fff!important;border:1px solid var(--v3-line)!important;box-shadow:none!important;max-width:none!important;width:auto!important;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-visit-rating::before{display:none}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-eyebrow{font:400 12px/1.4 'Outfit',system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-title{display:flex;align-items:center;gap:8px;margin:8px 0 0;font:600 18px/1.3 'Outfit',system-ui,sans-serif;letter-spacing:0;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-rating-slot #bsr-vr-title::before{content:"";flex:0 0 18px;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F4237' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l2.6 5.3 5.9.9-4.3 4.1 1 5.8L12 16.9l-5.2 2.7 1-5.8-4.3-4.1 5.9-.9z'/%3E%3C/svg%3E") center/18px 18px no-repeat}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-lede{margin:6px 0 0;font-size:13px;font-weight:400;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-question{margin-top:12px}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-starsrow{margin-left:0}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-stars{gap:6px}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-star{width:48px;height:48px;border:1px solid var(--v3-line);border-radius:12px;background:var(--v3-tint)}
#bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-star svg{width:24px;height:24px;stroke:var(--v3-gold);stroke-width:1.8}

/* Profile and More */
#bsr-app.bsr-v3 .v3-agroup{padding:16px 20px 8px;gap:6px}
#bsr-app.bsr-v3 .v3-agroup h2{font-size:16px}
#bsr-app.bsr-v3 .v3-arows{display:flex;flex-direction:column}
#bsr-app.bsr-v3 .v3-arow{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;margin:0;padding:8px 2px;border:0;border-top:1px solid var(--v3-soft);background:transparent;font:inherit;color:var(--v3-ink);text-align:left;text-decoration:none;cursor:pointer}
#bsr-app.bsr-v3 .v3-arow:first-child{border-top:0}
#bsr-app.bsr-v3 .v3-arow:hover{background:var(--v3-tint);color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-arow-copy{flex:1;min-width:0;display:flex;flex-direction:column}
#bsr-app.bsr-v3 .v3-arow-copy b{font-size:15px;font-weight:600}
#bsr-app.bsr-v3 .v3-arow-copy span{font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-arow-go{font-size:18px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-morepage{max-width:720px}
#bsr-app.bsr-v3 .v3-mecard{flex-direction:row;align-items:center;gap:12px;padding:12px 14px;border-radius:14px}
#bsr-app.bsr-v3 .v3-mecard .v3-me-text b{font-size:16px}
#bsr-app.bsr-v3 .v3-mecard .v3-me-text span{font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-mecard-out{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--v3-forest);text-decoration:none}
#bsr-app.bsr-v3 .v3-morepage>.v3-btn.is-primary{height:48px;font-size:16px}
#bsr-app.bsr-v3 .v3-moregroup{padding:0;gap:0;overflow:hidden}
#bsr-app.bsr-v3 .v3-morelabel{margin:0;padding:10px 14px 4px!important;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-moregrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
#bsr-app.bsr-v3 .v3-morelink{min-height:48px;display:flex;align-items:center;gap:6px;width:100%;margin:0;padding:0 14px;border:0;border-top:1px solid #F1EFEA;background:transparent;font:inherit;font-size:15px;color:var(--v3-ink);text-align:left;text-decoration:none;cursor:pointer}
#bsr-app.bsr-v3 .v3-morelink:nth-child(even){border-left:1px solid #F1EFEA}
#bsr-app.bsr-v3 .v3-morelink:hover{background:var(--v3-tint);color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-ml{display:flex;align-items:center;gap:8px;min-width:0}
#bsr-app.bsr-v3 .v3-more-old{align-self:center;padding:10px;font-size:14px;font-weight:500;color:var(--v3-forest)}

/* ── The existing screens, lightly: full width, Hub cards, bone ground ──── */
#bsr-app.bsr-v3 #bsr-main>.bsr-panel{max-width:none!important;margin-left:0!important;margin-right:0!important;background:transparent!important}
#bsr-app.bsr-v3 .v3-show-phone,#bsr-app.bsr-v3 .v3-phone-only{display:none!important}
/* The Cardio and Strength views were one big white panel; in the shell their cards sit on the bone ground. */
#bsr-app.bsr-v3 .bsr-results-view--cardio,#bsr-app.bsr-v3 .bsr-st-view{margin:0!important;width:auto!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#bsr-app.bsr-v3 #bsr-cardio,#bsr-app.bsr-v3 #bsr-lactate{margin:0 0 18px!important}
#bsr-app.bsr-v3 .bsr-cardio-card,#bsr-app.bsr-v3 #bsr-results-actions,#bsr-app.bsr-v3[data-v3-page="rewards"] #bsr-referral-card{border-radius:16px!important;border:1px solid var(--v3-line)!important;box-shadow:none!important;background:#fff!important}
#bsr-app.bsr-v3[data-v3-page="rewards"] #bsr-referral-card{max-width:none!important;margin:0!important;padding:18px 20px 20px!important}
#bsr-app.bsr-v3 #bsr-main>footer{margin-top:28px;padding:18px 0 0!important;border-top:1px solid var(--v3-line)!important;color:var(--v3-muted)!important}
#bsr-app.bsr-v3[data-v3-page="home"] #bsr-main>footer,#bsr-app.bsr-v3[data-v3-page="more"] #bsr-main>footer,#bsr-app.bsr-v3[data-v3-page="profile"] #bsr-main>footer{display:none}
/* A VO2 max or RMR test's own page (dashboard-6.js) keeps its back bar, full width under the shell. */
/* In the shell the white header names the test and switches tests, so the page's own back bar stays hidden. */
#bsr-app.bsr-v3 #bsr-cpg-topbar{display:none!important}
#bsr-app.bsr-v3 #bsr-v3-cardio-empty{display:none;margin:0 0 18px}
#bsr-app.bsr-v3[data-v3-cardio="empty"] #bsr-v3-cardio-empty{display:flex}
#bsr-app.bsr-v3[data-v3-cardio="empty"] #bsr-cardio,#bsr-app.bsr-v3[data-v3-cardio="empty"] #bsr-lactate,
#bsr-app.bsr-v3[data-v3-cardio="lactate"] #bsr-cardio{display:none!important}
#bsr-app.bsr-v3 #bsr-cardio-page{background:transparent!important;min-height:0!important}
#bsr-app.bsr-v3 #bsr-cpg-topbar{padding:16px 32px!important;border-bottom:1px solid var(--v3-line)!important;background:#fff!important}
#bsr-app.bsr-v3 #bsr-cpg-back{height:40px;border-radius:10px!important;border:1px solid var(--v3-btnline)!important;font-family:inherit!important;font-size:14px!important;font-weight:500!important;color:var(--v3-ink)!important}
#bsr-app.bsr-v3 #bsr-cpg-title{font-size:24px!important;font-weight:600!important;letter-spacing:-.015em;color:var(--v3-ink)!important}
#bsr-app.bsr-v3 #bsr-cpg-body{max-width:calc(var(--v3-cap) + 64px)!important;margin:0!important;padding:22px 32px 40px!important;container-type:inline-size}
#bsr-app.bsr-v3 #bsr-loading-shell,#bsr-app.bsr-v3 #bsr-error,#bsr-app.bsr-v3>#bsr-empty{max-width:var(--v3-cap)!important}
/* Older tests in the Lab report look (v3-shell.js renderLegacy). */
#bsr-app.bsr-v3 #bsr-cpg-body .v3-legacy-hidden{display:none!important}
#bsr-app.bsr-v3.v3-report-wait #bsr-cpg-body>*{display:none!important}
#bsr-app.bsr-v3.v3-report-wait #bsr-cpg-body::before{content:attr(data-v3-wait);display:block;padding:48px 0;text-align:center;font-size:15px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-legacy-tag{font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-legacy [data-v3-hero]>div{display:inline!important;margin:0!important;font:inherit!important;color:inherit!important;letter-spacing:inherit!important;line-height:inherit!important}
#bsr-app.bsr-v3 .v3-legacy-more{margin:0;text-align:center}
#bsr-app.bsr-v3 .v3-legacy .lr-weight label{display:inline-flex;align-items:center;gap:8px}
@media (min-width:900px){
  /* 3.0.8 (Eric, October 29, 2026: "since this is pretty much the pdf they get right? ... can we make it less full screen
     emmaa said its so big", "for both the rmr and vo2"): the Lab report sheets (VO2 max, RMR) stay at the PDF's own size
     (--u 1.5px, about 920px wide, as on the old dashboard) and line up on the left under the page title, instead of
     growing with the column (up to about 1,680px). */
  #bsr-app.bsr-v3 #bsr-cpg-body .lr:not(.lr-print){align-items:flex-start}
}

/* ── Phones and small tablets ──────────────────────────────────────────── */
@media (max-width:899.98px){
  #bsr-app.bsr-v3{padding:0 0 calc(62px + env(safe-area-inset-bottom)) 0!important;font-size:16px!important}
  #bsr-app.bsr-v3 .v3-side{display:none}
  #bsr-app.bsr-v3 .v3-top{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;height:calc(52px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 16px;background:var(--v3-dark);color:#fff}
  #bsr-app.bsr-v3 .v3-top .v3-word{font-size:18px}
  #bsr-app.bsr-v3 .v3-top .v3-avatar{flex-basis:32px;width:32px;height:32px;font-size:12px}
  #bsr-app.bsr-v3 .v3-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid var(--v3-line);font-family:'Outfit',system-ui,-apple-system,sans-serif}
  #bsr-app.bsr-v3 .v3-tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:12px;font-weight:400;color:var(--v3-muted);text-decoration:none}
  #bsr-app.bsr-v3 .v3-tabbar a[aria-current="page"]{color:var(--v3-forest);font-weight:600}
  #bsr-app.bsr-v3 .v3-pagehead{flex-wrap:wrap;align-items:flex-start;gap:10px 12px;padding:16px 14px 0;background:transparent;border:0}
  #bsr-app.bsr-v3 .v3-head-title{flex:1 1 0}
  #bsr-app.bsr-v3 .v3-h1{font-size:22px}
  #bsr-app.bsr-v3 .v3-sub{font-size:13px}
  #bsr-app.bsr-v3[data-v3-page="home"] .v3-sub{display:none}
  #bsr-app.bsr-v3 .v3-hide-phone{display:none!important}
  #bsr-app.bsr-v3 .v3-show-phone{display:inline!important}
  #bsr-app.bsr-v3 .v3-phone-only{display:flex!important}
  /* Phones keep the Body scan · Cardio · Strength row on every Results screen; the cardio test type is in the Test picker. */
  #bsr-app.bsr-v3 .v3-tabs.is-sub{display:none!important}
  #bsr-app.bsr-v3[data-v3-page="more"] .v3-pagehead{display:none}
  #bsr-app.bsr-v3[data-v3-page="body"] .v3-head-side{flex:1 1 100%}
  #bsr-app.bsr-v3 .v3-field{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:4px;font-size:13px;font-weight:500}
  #bsr-app.bsr-v3 .v3-field #bsr-scan-select{width:100%!important;max-width:none;height:44px!important;min-height:44px!important;padding:0 32px 0 12px!important;font-size:16px!important}
  #bsr-app.bsr-v3 .v3-tabs{display:flex!important;gap:22px;border-bottom:1px solid var(--v3-line);margin-top:2px}
  #bsr-app.bsr-v3 .v3-tabs[hidden]{display:none!important}
  #bsr-app.bsr-v3 .v3-tab{padding:10px 0 12px}
  #bsr-app.bsr-v3 #bsr-main{padding:12px 14px 24px!important}
  #bsr-app.bsr-v3 #bsr-loading-shell,#bsr-app.bsr-v3 #bsr-error,#bsr-app.bsr-v3>#bsr-empty{margin:12px 14px!important}
  #bsr-app.bsr-v3 .bsr-translation-notice{margin:12px 14px 0}
  #bsr-app.bsr-v3 .v3-page{gap:12px}
  #bsr-app.bsr-v3 .v3-card{padding:14px;gap:12px}
  #bsr-app.bsr-v3 .v3-card h2{font-size:17px}
  #bsr-app.bsr-v3 .v3-latest{padding:14px;gap:10px}
  #bsr-app.bsr-v3 .v3-grid2{grid-template-columns:minmax(0,1fr);gap:12px}
  #bsr-app.bsr-v3 .v3-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  #bsr-app.bsr-v3 .v3-tile-value{font-size:22px}
  #bsr-app.bsr-v3 .v3-remind{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px;position:relative}
  #bsr-app.bsr-v3 .v3-remind-text{min-width:0;flex:0 0 auto}
  #bsr-app.bsr-v3 .v3-remind-go{justify-content:center;height:44px;font-size:15px}
  #bsr-app.bsr-v3 .v3-remind-x{position:absolute;top:6px;right:6px;width:32px;height:32px}
  #bsr-app.bsr-v3 .v3-scan-row{flex-direction:column;gap:12px;align-items:stretch}
  #bsr-app.bsr-v3 .v3-thumb{flex:none;width:100%;min-height:0;padding:12px}
  #bsr-app.bsr-v3 .v3-thumb img{width:auto;max-width:100%;max-height:440px}
  #bsr-app.bsr-v3 .v3-card-tools{gap:8px}
  #bsr-app.bsr-v3 .v3-bodycard .v3-card-head{flex-wrap:wrap}
  #bsr-app.bsr-v3 .v3-field--scan select{height:40px;font-size:15px}
  #bsr-app.bsr-v3 .v3-bodycard .v3-whole-item{padding:10px 0 0;border:0;border-top:1px solid var(--v3-soft);border-radius:0;background:transparent}
  #bsr-app.bsr-v3 .v3-scan-right{gap:0;justify-content:space-between}
  #bsr-app.bsr-v3 .v3-whole{display:flex;flex-direction:column;gap:0}
  #bsr-app.bsr-v3 .v3-whole-item{display:flex;justify-content:space-between;align-items:baseline;gap:6px;min-height:44px;padding:10px 0 0;border:0;border-top:1px solid var(--v3-soft);border-radius:0;background:transparent}
  #bsr-app.bsr-v3 .v3-whole-item .v3-tile-label{font-size:14px;color:var(--v3-muted2)}
  #bsr-app.bsr-v3 .v3-whole-pct{font-size:18px;margin:0 0 0 auto!important}
  #bsr-app.bsr-v3 .v3-whole-pct span{font-size:18px;font-weight:600}
  #bsr-app.bsr-v3 .v3-whole-mass{white-space:nowrap}
  #bsr-app.bsr-v3 .v3-trend,#bsr-app.bsr-v3 .v3-first-scan{display:none}
  #bsr-app.bsr-v3 .v3-scan-right>.v3-actions{margin-top:10px}
  #bsr-app.bsr-v3 .v3-scan-right>.v3-actions .v3-btn{flex:1 1 100%;height:44px;font-size:15px}
  #bsr-app.bsr-v3 .v3-big{font-size:36px}
  #bsr-app.bsr-v3 .v3-big span{font-size:14px}
  #bsr-app.bsr-v3 .v3-pill-pos{font-size:13px;padding:3px 10px}
  #bsr-app.bsr-v3 .v3-scale span{height:10px;border-radius:999px;font-size:0;color:transparent;padding:0}
  #bsr-app.bsr-v3 .v3-scale span.is-below{background:#C9D3CB}
  #bsr-app.bsr-v3 .v3-row{min-height:48px;font-size:15px}
  #bsr-app.bsr-v3 .v3-actions .v3-btn{flex:1 1 0;height:44px;font-size:15px}
  #bsr-app.bsr-v3 .v3-lines{display:block;padding:4px 14px;border-radius:16px;background:#fff;border:1px solid var(--v3-line)}
  #bsr-app.bsr-v3 .v3-line{min-height:56px;padding:8px 0;border:0;border-radius:0;background:transparent}
  #bsr-app.bsr-v3 .v3-line+.v3-line{border-top:1px solid var(--v3-soft)}
  #bsr-app.bsr-v3 .v3-line-text{font-size:15px}
  #bsr-app.bsr-v3 .v3-rating-slot .bsr-visit-rating{padding:14px!important}
  #bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-starsrow{display:block}
  #bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-stars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
  #bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-star{width:auto;height:52px}
  #bsr-app.bsr-v3 .v3-rating-slot .bsr-vr-star svg{width:26px;height:26px}
  #bsr-app.bsr-v3 .v3-card-head{flex-wrap:nowrap;align-items:baseline}
  #bsr-app.bsr-v3 .v3-card-title{flex:1 1 auto}
  #bsr-app.bsr-v3 .v3-latest .v3-card-sub{display:none}
  #bsr-app.bsr-v3 .v3-row-l .v3-muted{display:none}
  #bsr-app.bsr-v3 .v3-line--feedback .v3-line-label{display:none}
  #bsr-app.bsr-v3 .v3-agroup{padding:12px 14px 4px}
  #bsr-app.bsr-v3 .v3-morepage{max-width:none}
  #bsr-app.bsr-v3 .v3-moregroup{padding:0;gap:0}
  #bsr-app.bsr-v3 .v3-mecard{padding:12px 14px}
  #bsr-app.bsr-v3 #bsr-main>footer{margin-top:20px}
  #bsr-app.bsr-v3 .v3-field--test{flex:1 1 100%;flex-direction:column;align-items:stretch;gap:4px;font-size:13px;font-weight:500}
  #bsr-app.bsr-v3 .v3-field--test select{width:100%;max-width:none;height:44px;font-size:16px;padding:0 32px 0 12px}
  #bsr-app.bsr-v3[data-v3-page="cardio"] .v3-head-side{flex:1 1 100%}
  #bsr-app.bsr-v3[data-v3-page="cardio"] .v3-sub{display:none}
  #bsr-app.bsr-v3 #bsr-cpg-body{padding:14px 14px 24px!important}
}
@media (max-width:600px){
  #bsr-app.bsr-v3 .v3-lines{grid-template-columns:minmax(0,1fr)}
}

/* Print: the dashboard's own print covers, without the shell. */
/* ── DEXA scan page (design: Dash-Body.dc.html). Overview is #bsr-v3-overview; the other views show the existing sections. */
#bsr-app.bsr-v3 #bsr-v3-overview{display:none}
#bsr-app.bsr-v3[data-v3-body="overview"] #bsr-v3-overview{display:flex;flex-direction:column;gap:18px;margin:0 0 28px}
#bsr-app.bsr-v3[data-v3-body] #bsr-rl2-explorer,#bsr-app.bsr-v3[data-v3-body] #bsr-rl2-details{display:none!important}
#bsr-app.bsr-v3[data-v3-body="overview"] #bsr-rl2-stats,#bsr-app.bsr-v3[data-v3-body="overview"] #bsr-rl2-compare{display:none!important}
#bsr-app.bsr-v3[data-v3-body="regions"] #bsr-metrics-column,#bsr-app.bsr-v3[data-v3-body="regions"] #bsr-trends,#bsr-app.bsr-v3[data-v3-body="regions"] #bsr-regional-bmd,#bsr-app.bsr-v3[data-v3-body="regions"] #bsr-rl2-compare{display:none!important}
#bsr-app.bsr-v3[data-v3-body="time"] #bsr-metrics-column,#bsr-app.bsr-v3[data-v3-body="time"] #bsr-bodymap,#bsr-app.bsr-v3[data-v3-body="time"] #bsr-regional-bmd,#bsr-app.bsr-v3[data-v3-body="time"] #bsr-zonebars{display:none!important}
#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-metrics-column,#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-bodymap,#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-trends,#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-zonebars,#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-rl2-compare{display:none!important}
#bsr-app.bsr-v3 .v3-ov-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:18px;align-items:stretch}
#bsr-app.bsr-v3 .v3-seg{display:inline-flex;padding:3px;background:var(--v3-seg);border-radius:10px;gap:0;align-self:flex-start;max-width:100%}
#bsr-app.bsr-v3 .v3-seg[hidden]{display:none}
#bsr-app.bsr-v3 .v3-seg button,#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-seg button{height:32px;margin:0;padding:0 11px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:13px;font-weight:500;color:var(--v3-muted2);cursor:pointer;white-space:nowrap;box-shadow:none}
#bsr-app.bsr-v3 .v3-seg button[aria-pressed="true"],#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-seg button[aria-pressed="true"]{background:#fff;font-weight:600;color:var(--v3-ink)}
/* Scan explorer card: the dashboard's own map, laid out as the design. */
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-card-head{align-items:flex-start}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-seg{display:inline-flex!important;width:auto!important;max-width:none!important;margin:0!important;padding:3px!important;gap:0!important;background:var(--v3-seg)!important;border-radius:10px!important;border:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview #bsr-scan-col{width:100%;margin:0!important;padding:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview #bsr-scan-map{width:100%}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm{--bsr-sm-h:540px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-body{display:flex!important;flex-direction:row!important;gap:20px!important;align-items:flex-start!important;margin:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-body::before{display:none!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-stage.is-light{background:#fff;box-shadow:inset 0 0 0 1px var(--v3-line)}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-stage{flex:0 0 auto;max-width:44%!important;margin:0!important;border-radius:12px!important;overflow:hidden;background:#000}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-side{display:flex!important;flex-direction:column!important;flex:1 1 0;min-width:0;gap:18px!important;padding:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-side>*{grid-column:auto!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-note,#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-side>#bsr-import-cta,#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-all,#bsr-app.bsr-v3 #bsr-v3-overview #bsr-main-compare{display:none!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-read{min-height:0!important;margin:0!important;padding:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-read .k{margin:0 0 10px!important;font-size:15px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--v3-ink)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-read .big{margin:0!important;font-size:20px!important;letter-spacing:-.02em!important;white-space:normal!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-read .det{margin:8px 0 0!important;font-size:13px!important;line-height:1.45!important;color:var(--v3-muted)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri{display:flex!important;flex-direction:column!important;gap:12px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;column-gap:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;min-width:0}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tk{grid-column:1;display:inline-flex!important;align-items:center;gap:8px!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;color:var(--v3-ink)!important;white-space:nowrap}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tk i{width:10px!important;height:10px!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tv{grid-column:2;margin:0!important;font-size:20px!important;font-weight:600!important;letter-spacing:-.02em!important;color:var(--v3-ink)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tv small{margin:0!important;font-size:inherit!important;font-weight:inherit!important;color:inherit!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tm{grid-column:3;margin:0!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important;color:var(--v3-muted)!important;white-space:nowrap}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tm::before{content:"\00a0·\00a0"}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tb{display:block!important;grid-column:1/-1;height:6px!important;margin:6px 0 0!important;border-radius:999px!important;background:var(--v3-seg)!important;overflow:hidden}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tb i{display:block;height:100%;border-radius:999px}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-spot{padding:14px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft)}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-scale{margin:4px 0 6px!important;height:10px!important;border-radius:999px!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-lbl{display:flex!important;justify-content:space-between;flex-wrap:nowrap!important;gap:8px;font-size:12px!important;color:var(--v3-muted)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-lbl>span:nth-child(2){order:0!important;flex-basis:auto!important;font-weight:600;color:var(--v3-goldink)}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-box{display:flex!important;flex-direction:row-reverse!important;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px!important;padding:0!important;border:0!important;font-size:13px!important;color:var(--v3-muted)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-btn{display:inline-flex!important;align-items:center;gap:6px;height:40px!important;padding:0 14px!important;border:1px solid var(--v3-btnline)!important;border-radius:10px!important;background:#fff!important;font:inherit!important;font-size:14px!important;font-weight:500!important;color:var(--v3-ink)!important;cursor:pointer}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-btn[aria-pressed="true"]{border-color:var(--v3-forest)!important;background:var(--v3-tint)!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-pal{display:block!important;padding:0!important;border:0!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-pal-k{display:block;margin:0 0 8px;font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-pal-k b{display:none}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots button{display:flex!important;align-items:center;gap:8px;width:auto!important;height:40px!important;margin:0!important;padding:0 10px!important;border:1px solid var(--v3-btnline)!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;outline-offset:2px;font:inherit;font-size:14px;font-weight:500;color:var(--v3-ink);cursor:pointer;transform:none!important}
#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots button[aria-pressed="true"]{border-color:var(--v3-forest)!important;font-weight:600}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-sw{flex:0 0 22px;width:22px;height:22px;border-radius:50%}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-sw-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-note p{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:12px;color:var(--v3-muted)}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-note:empty{display:none}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-note{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer{gap:14px}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-ex-note{margin-top:auto}
/* No map: the scan picture with the whole-body numbers beside it. */
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-body:not(.has-map){display:flex;gap:20px;align-items:flex-start}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-body:not(.has-map) #bsr-scan-col{flex:0 0 220px;width:220px}
#bsr-app.bsr-v3 #bsr-v3-overview #bsr-scan-wrap{padding:12px!important;border-radius:12px!important;background:#000!important}
#bsr-app.bsr-v3 #bsr-v3-overview #bsr-scan-img{width:100%!important;height:auto!important;max-height:520px!important}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-plain{flex:1 1 0;min-width:0}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-whole h3,#bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-plain h3{margin:0 0 10px;font-size:15px;font-weight:600}
#bsr-app.bsr-v3 .v3-rows2{display:flex;flex-direction:column;gap:12px}
#bsr-app.bsr-v3 .v3-row2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;row-gap:6px}
#bsr-app.bsr-v3 .v3-row2-k{display:inline-flex;align-items:center;gap:8px;font-size:14px}
#bsr-app.bsr-v3 .v3-row2-k .v3-dot{width:10px;height:10px}
#bsr-app.bsr-v3 .v3-row2-v{font-size:13px;color:var(--v3-muted);white-space:nowrap}
#bsr-app.bsr-v3 .v3-row2-v b{font-size:20px;font-weight:600;letter-spacing:-.02em;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-row2-bar{grid-column:1/-1;height:6px;border-radius:999px;background:var(--v3-seg);overflow:hidden}
#bsr-app.bsr-v3 .v3-row2-bar i{display:block;height:100%;border-radius:999px}
/* Your stats card */
#bsr-app.bsr-v3 .v3-stats{padding:14px 16px 16px;gap:10px}
#bsr-app.bsr-v3 .v3-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-flow:row dense;gap:10px}
#bsr-app.bsr-v3 .v3-stat{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-width:0;margin:0;padding:10px 12px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft);font:inherit;color:var(--v3-ink);text-align:left;cursor:pointer;box-shadow:none}
#bsr-app.bsr-v3 .v3-stat:hover{border-color:var(--v3-btnline)}
#bsr-app.bsr-v3 .v3-stat.is-open{background:#fff;border-color:var(--v3-forest)}
#bsr-app.bsr-v3 .v3-stat-k{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;font-size:12px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-stat-k>span{display:flex;align-items:center;gap:6px;min-width:0}
#bsr-app.bsr-v3 .v3-stat-chev{flex:0 0 14px;transform:rotate(180deg);transition:transform .15s}
#bsr-app.bsr-v3 .v3-stat.is-open .v3-stat-chev{transform:rotate(270deg)}
#bsr-app.bsr-v3 .v3-stat-v{font-size:20px;font-weight:600;letter-spacing:-.02em;line-height:1.3}
#bsr-app.bsr-v3 .v3-stat-v span{font-size:12px;font-weight:500;letter-spacing:0;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-pctpill{font-size:11px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--v3-goldtint);color:var(--v3-goldink);white-space:nowrap}
#bsr-app.bsr-v3 .v3-stat-note{font-size:11px;font-weight:500;line-height:18px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-detail{grid-column:1/-1;display:flex;flex-direction:column;gap:12px;padding:14px 16px 16px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-soft)}
#bsr-app.bsr-v3 .v3-detail-t{margin:0!important;font-size:15px;font-weight:600}
#bsr-app.bsr-v3 .v3-detail-c{margin:2px 0 0!important;font-size:14px;color:var(--v3-muted2)}
#bsr-app.bsr-v3 .v3-detail-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;align-items:end}
#bsr-app.bsr-v3 .v3-bars--sm{height:86px;gap:8px}
#bsr-app.bsr-v3 .v3-detail-dist .bsr-dist{margin:0!important;max-width:none!important}
#bsr-app.bsr-v3 .v3-pctbox-t{margin:0!important;font-size:14px;font-weight:500}
#bsr-app.bsr-v3 .v3-pctbar{position:relative;height:8px;margin:14px 0 6px;border-radius:999px;background:var(--v3-seg)}
#bsr-app.bsr-v3 .v3-pctbar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:#E7D3AE}
#bsr-app.bsr-v3 .v3-pctbar-dot{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:var(--v3-gold);border:3px solid #fff}
/* More from this scan, About these numbers */
#bsr-app.bsr-v3 .v3-morecard{padding:14px 16px 16px;gap:10px}
#bsr-app.bsr-v3 .v3-more-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
#bsr-app.bsr-v3 .v3-tile-label--go{justify-content:space-between}
#bsr-app.bsr-v3 .v3-tile-label--go>span:first-child{display:flex;align-items:center;gap:6px}
#bsr-app.bsr-v3 .v3-tile-note.is-gold{color:var(--v3-goldink)}
#bsr-app.bsr-v3 .v3-about{flex-direction:row;align-items:flex-start;gap:12px;padding:14px 16px}
#bsr-app.bsr-v3 .v3-about>svg{flex:0 0 20px;margin-top:1px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-about p{margin:2px 0 0!important;font-size:13px;color:var(--v3-muted)}
#bsr-app.bsr-v3 .v3-about p.v3-about-t{margin:0!important;font-size:14px;font-weight:600;color:var(--v3-ink)}
/* Phones: the scan narrower beside the readings, colours and Measure underneath; stat tiles two across. */
@media (max-width:899.98px){
  #bsr-app.bsr-v3 .v3-tabs.is-sub.is-body{display:flex!important}
  #bsr-app.bsr-v3 .v3-tabs.is-sub.is-body[hidden]{display:none!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-card-head{flex-direction:column;align-items:stretch}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-seg{display:flex!important;width:100%!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-seg button{flex:1 1 auto;height:38px;font-size:14px}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm{--bsr-sm-h:390px}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-body{gap:12px!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-side{gap:12px!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri>div{grid-template-columns:auto minmax(0,1fr)}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tk,#bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tb{grid-column:1/-1}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tv{grid-column:1}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tm{grid-column:2;margin-left:6px!important;text-align:left!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tk{font-size:13px!important;color:var(--v3-muted)!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-tri .tm::before{content:none}
  #bsr-app.bsr-v3 #bsr-v3-overview .v3-spot{padding:10px}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-lbl{flex-wrap:wrap!important;row-gap:2px;font-size:11px!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-lbl>span:nth-child(2){order:3!important;flex-basis:100%!important;text-align:center}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-pal-k b{display:inline}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots{grid-template-columns:repeat(4,minmax(0,44px));gap:6px!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots button{justify-content:center;width:100%!important;height:auto!important;aspect-ratio:1;padding:0!important}
  #bsr-app.bsr-v3 #bsr-v3-overview .bsr-sm-dots .v3-sw{flex-basis:auto;width:64%;height:64%}
  #bsr-app.bsr-v3 #bsr-v3-overview .v3-sw-name{display:none}
  #bsr-app.bsr-v3 #bsr-v3-overview .v3-ex-body:not(.has-map) #bsr-scan-col{flex-basis:130px;width:130px}
  #bsr-app.bsr-v3 .v3-row2{grid-template-columns:minmax(0,1fr);row-gap:2px}
  #bsr-app.bsr-v3 .v3-row2-k{font-size:13px;color:var(--v3-muted);white-space:nowrap}
  #bsr-app.bsr-v3 .v3-row2-bar{margin-top:4px}
  #bsr-app.bsr-v3 .v3-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #bsr-app.bsr-v3 .v3-stats .v3-card-head{flex-wrap:nowrap}
  #bsr-app.bsr-v3 .v3-stats .v3-card-sub{display:none}
  #bsr-app.bsr-v3 .v3-stats>.v3-seg{display:flex;width:100%}
  #bsr-app.bsr-v3 .v3-stats>.v3-seg button{flex:1 1 auto;height:38px;font-size:14px}
  #bsr-app.bsr-v3 .v3-more-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  #bsr-app.bsr-v3{padding:0!important;background:#fff!important}
  #bsr-app.bsr-v3 .v3-side,#bsr-app.bsr-v3 .v3-top,#bsr-app.bsr-v3 .v3-tabbar,#bsr-app.bsr-v3 .v3-pagehead,#bsr-app.bsr-v3 .v3-page{display:none!important}
}
@media (prefers-reduced-motion:reduce){#bsr-app.bsr-v3 *{scroll-behavior:auto!important}}

/* 3.0.9: the Bone view's own card (v3-shell.js renderBone): shown only on Bone. */
#bsr-app.bsr-v3 #bsr-v3-bone{display:none}
#bsr-app.bsr-v3[data-v3-body="bone"] #bsr-v3-bone{display:flex;flex-direction:column;gap:14px;margin:0 0 18px}
#bsr-app.bsr-v3 #bsr-v3-bone .v3-stat{cursor:default}
#bsr-app.bsr-v3 #bsr-v3-bone .v3-bone-note{margin:0}
/* 3.0.10: the DEXA scan page's Compare view (assets/compare-v1.0.0): only its own card shows. */
#bsr-app.bsr-v3 #bsr-v3-compare-host{display:none}
#bsr-app.bsr-v3[data-v3-body="compare"] #bsr-v3-compare-host{display:block;margin:0 0 28px}
#bsr-app.bsr-v3[data-v3-body="compare"] #bsr-results-view-dexa>:not(#bsr-v3-compare-host){display:none!important}

/* ── 3.0.13: first paint ─────────────────────────────────────────────────── */
#bsr-app.bsr-v3:not(.v3-ready)>:not(#bsr-loading-shell){visibility:hidden;animation:v3-first-show 0s linear 10s forwards}
@keyframes v3-first-show{to{visibility:visible}}
#bsr-app.bsr-v3:not(.v3-ready)::before{content:"";position:fixed;top:0;left:0;bottom:0;z-index:60;width:248px;background:var(--v3-dark)}
#bsr-app.bsr-v3:not(.v3-ready) #bsr-loading-shell{margin-top:107px!important}
#bsr-app.bsr-v3 .v3-loading{display:flex;flex-direction:column;gap:18px}
#bsr-app.bsr-v3 .v3-loading[hidden]{display:none!important}
#bsr-app.bsr-v3 .v3-loading-hi{width:220px;max-width:60%;height:30px;border-radius:8px;background:var(--v3-soft)}
#bsr-app.bsr-v3 .v3-loading-card{padding:18px 20px 20px;border-radius:16px;background:#fff;border:1px solid var(--v3-line);display:flex;flex-direction:column;gap:14px}
#bsr-app.bsr-v3 .v3-loading-line{display:block;width:180px;max-width:50%;height:14px;border-radius:6px;background:var(--v3-soft)}
#bsr-app.bsr-v3 .v3-loading-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
#bsr-app.bsr-v3 .v3-loading-tiles span{height:84px;border-radius:12px;background:var(--v3-tint);border:1px solid var(--v3-line)}
#bsr-app.bsr-v3 .v3-loading-block{display:block;height:320px;border-radius:14px;background:var(--v3-tint)}
#bsr-app.bsr-v3 .v3-loading-hi,#bsr-app.bsr-v3 .v3-loading-card{animation:v3-loading-pulse 1.4s ease-in-out infinite}
@keyframes v3-loading-pulse{50%{opacity:.6}}
/* Home's DEXA scan card while the clean picture is drawn. */
#bsr-app.bsr-v3 .v3-thumb.is-waiting{background:#fff;border:1px solid var(--v3-line)}
#bsr-app.bsr-v3 .v3-thumb.is-waiting img{visibility:hidden}
@media (max-width:899.98px){
  #bsr-app.bsr-v3:not(.v3-ready)::before{position:sticky;display:block;bottom:auto;width:auto;height:calc(52px + env(safe-area-inset-top))}
  #bsr-app.bsr-v3:not(.v3-ready) #bsr-loading-shell{margin-top:68px!important}
  #bsr-app.bsr-v3 .v3-loading-card{padding:14px;gap:12px}
  #bsr-app.bsr-v3 .v3-loading-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  #bsr-app.bsr-v3 .v3-loading-block{height:260px}
  #bsr-app.bsr-v3 .v3-thumb.is-waiting{min-height:300px}
}
@media (prefers-reduced-motion:reduce){#bsr-app.bsr-v3 .v3-loading-hi,#bsr-app.bsr-v3 .v3-loading-card{animation:none}}
/* 3.0.14 (results 3.0.13, Eric, October 30, 2026): Home's DEXA scan card holds the live Scan explorer ("This page should
   already have the scan explorer"): the map, its view buttons above it and the spot readout under it; the whole-body
   bars, colours and notes stay on the DEXA scan page. */
#bsr-app.bsr-v3 .v3-home-ex{flex:0 0 250px;width:250px;display:flex;flex-direction:column;gap:10px;min-width:0}
#bsr-app.bsr-v3 .v3-home-seg:empty{display:none}
#bsr-app.bsr-v3 .v3-home-seg .bsr-sm-seg{display:flex!important;width:100%!important;max-width:none!important;margin:0!important;padding:3px!important;gap:0!important;background:var(--v3-seg)!important;border-radius:10px!important;border:0!important}
#bsr-app.bsr-v3 .v3-home-seg .bsr-sm-seg button{flex:1 1 auto;height:32px;margin:0;padding:0 6px;border:0;border-radius:8px;background:transparent;font:inherit;font-size:12.5px;font-weight:500;line-height:1.1;color:var(--v3-muted2);cursor:pointer;white-space:normal;box-shadow:none}
#bsr-app.bsr-v3 .v3-home-seg .bsr-sm-seg button[aria-pressed="true"]{background:#fff;font-weight:600;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-home-ex #bsr-scan-col{width:100%;margin:0!important;padding:0!important}
#bsr-app.bsr-v3 .v3-home-ex #bsr-scan-map{width:100%}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm{--bsr-sm-h:460px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-body{display:flex!important;flex-direction:column!important;gap:12px!important;align-items:stretch!important;margin:0!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-body::before{display:none!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-stage{flex:0 0 auto;align-self:center;max-width:100%!important;margin:0!important;border-radius:12px!important;overflow:hidden;background:#000}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-stage.is-light{background:#fff;box-shadow:inset 0 0 0 1px var(--v3-line)}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-side{display:block!important;padding:0!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-side>:not(.bsr-sm-read),#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-all,#bsr-app.bsr-v3 .v3-home-ex #bsr-main-compare{display:none!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-read{min-height:0!important;margin:0!important;padding:0!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-read .k{margin:0 0 4px!important;font-size:13px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;color:var(--v3-ink)!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-read .big{margin:0!important;font-size:18px!important;letter-spacing:-.02em!important;white-space:normal!important}
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-read .det{margin:4px 0 0!important;font-size:12.5px!important;line-height:1.4!important;color:var(--v3-muted)!important}
/* How was your visit? is Home's first card (3.0.14). */
#bsr-app.bsr-v3 .v3-rating-slot:empty{display:none}
/* While the cardio tests are loading, the cardio pages show a quiet frame instead of the older cardio cards (3.0.14,
   Eric: "when i open the vo2max screen i see the old screen behind it"). */
#bsr-app.bsr-v3[data-v3-cardio="loading"] #bsr-panel-data>*{display:none!important}
#bsr-app.bsr-v3[data-v3-cardio="loading"] #bsr-panel-data::before{content:"";display:block;height:420px;border-radius:16px;background:#fff;border:1px solid var(--v3-line);animation:v3-loading-pulse 1.4s ease-in-out infinite}
/* The Strength report (assets/strength-report-v1.0.0) replaces the older Strength view once it is drawn. */
#bsr-app.bsr-v3 #bsr-strength.sr-on>:not(.sr-host),#bsr-app.bsr-v3 #bsr-strength.sr-loading>:not(.sr-host){display:none!important}
@media (max-width:899.98px){
  #bsr-app.bsr-v3 .v3-home-ex{flex:none;width:100%}
  #bsr-app.bsr-v3 .v3-home-ex .bsr-sm{--bsr-sm-h:420px}
  /* Ask AI and Schedule a consult share a row under the greeting. */
  #bsr-app.bsr-v3[data-v3-page="home"] .v3-head-side{flex:1 1 100%;flex-wrap:nowrap}
  #bsr-app.bsr-v3[data-v3-page="home"] .v3-head-side .v3-btn{flex:1 1 0;min-width:0}
  #bsr-app.bsr-v3[data-v3-cardio="loading"] #bsr-panel-data::before{height:320px}
}
@media (prefers-reduced-motion:reduce){#bsr-app.bsr-v3[data-v3-cardio="loading"] #bsr-panel-data::before{animation:none}}
/* 3.0.15 (results 3.0.14, Eric, October 30, 2026: "why is my activity in the strength section", "activity should ahve
   its own tab", "and wheres the 3d scans at ?"): the BodyStats app's 3D scans and Activity are pages of their own;
   Activity shows only on its page, and Strength has no Keep a copy card (its report has Download PDF). */
#bsr-app.bsr-v3:not([data-v3-page="activity"]) #bsr-panel-data>.bs3d-activity{display:none!important}
#bsr-app.bsr-v3[data-v3-page="activity"] #bsr-panel-data>:not(.bs3d-activity){display:none!important}
#bsr-app.bsr-v3[data-v3-page="activity"] #bsr-panel-data>.bs3d-activity .bs3d-head{display:none}
#bsr-app.bsr-v3[data-v3-page="activity"] #bsr-panel-data>.bs3d-activity{margin:0!important;border-radius:16px!important;border:1px solid var(--v3-line)!important;box-shadow:none!important;background:#fff!important}
#bsr-app.bsr-v3[data-v3-page="3d"] #bsr-panel-data>:not(#bsr-results-view-3d){display:none!important}
#bsr-app.bsr-v3[data-v3-page="strength"] #bsr-results-actions{display:none!important}
/* 3.0.16 (results 3.0.16, Eric, October 30, 2026: "I feel like more color can be used"): the app's colour per kind of
   data (lib/config.ts LIGHT_ACCENTS): body fat purple (fat), visceral fat red (heart), fat-free mass and DEXA forest
   (weight), VO2 max and moving teal (cardio), resting metabolism orange (food), strength blue, 3D gold (scan). Tiles take
   the tint with a coloured icon and label; numbers stay ink. */
#bsr-app.bsr-v3 .v3-acc-drop{--acc:#8B5CF6;--acc-tint:#EFE8FD;--acc-text:#6D45C9}
#bsr-app.bsr-v3 .v3-acc-target{--acc:#E0434C;--acc-tint:#FCE7E8;--acc-text:#C22F38}
#bsr-app.bsr-v3 .v3-acc-body,#bsr-app.bsr-v3 .v3-acc-bone{--acc:#2F5038;--acc-tint:#E7F0EA;--acc-text:#2F5038}
#bsr-app.bsr-v3 .v3-acc-lungs,#bsr-app.bsr-v3 .v3-acc-route{--acc:#14A594;--acc-tint:#DFF4F1;--acc-text:#0B7468}
#bsr-app.bsr-v3 .v3-acc-flame{--acc:#EA7A1A;--acc-tint:#FDEEDF;--acc-text:#B85A0B}
#bsr-app.bsr-v3 .v3-acc-dumbbell{--acc:#2563EB;--acc-tint:#E6EEFD;--acc-text:#1D4FC4}
#bsr-app.bsr-v3 .v3-acc-pulse{--acc:#E0434C;--acc-tint:#FCE7E8;--acc-text:#C22F38}
#bsr-app.bsr-v3 .v3-acc-cube{--acc:#B7862F;--acc-tint:#F7F0E2;--acc-text:#8A6420}
/* 3.0.17 (Eric, October 30, 2026: "maybe remove the color from this part of the dashboard"): Your latest numbers
   then "not a fan", "removethe color"): the tiles are plain again, icons included. Card headings and the sidebar keep
   their colours. */
#bsr-app.bsr-v3 h2[class*="v3-acc-"] > svg{stroke:var(--acc,#2F4237)!important}
/* the sidebar: each page's icon in a lighter shade that reads on the dark green */
#bsr-app.bsr-v3 .v3-nacc-body svg{stroke:#7FD3A0}
#bsr-app.bsr-v3 .v3-nacc-vo2 svg{stroke:#2DD4BF}
#bsr-app.bsr-v3 .v3-nacc-rmr svg{stroke:#FB923C}
#bsr-app.bsr-v3 .v3-nacc-lactate svg{stroke:#FBBF24}
#bsr-app.bsr-v3 .v3-nacc-hrlac svg{stroke:#F87171}
#bsr-app.bsr-v3 .v3-nacc-strength svg{stroke:#60A5FA}
#bsr-app.bsr-v3 .v3-nacc-3d svg{stroke:#D6B36A}
#bsr-app.bsr-v3 .v3-nacc-activity svg{stroke:#2DD4BF}
#bsr-app.bsr-v3 .v3-nacc-reports svg{stroke:#C8CFC6}
#bsr-app.bsr-v3 .v3-nacc-insights svg{stroke:#FDE68A}
#bsr-app.bsr-v3 .v3-nacc-rewards svg{stroke:#F9A8D4}
/* phone tab rows (white background): the full colour */
#bsr-app.bsr-v3 .v3-tab.v3-nacc-body svg{stroke:#2F5038}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-vo2 svg{stroke:#14A594}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-rmr svg{stroke:#EA7A1A}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-lactate svg{stroke:#EDA21B}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-hrlac svg{stroke:#E0434C}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-strength svg{stroke:#2563EB}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-3d svg{stroke:#B7862F}
#bsr-app.bsr-v3 .v3-tab.v3-nacc-activity svg{stroke:#14A594}
/* 3.0.18 ("why is this in two spots"): on Home the scan's readout is not repeated under the scan; the tiles beside it
   show the whole body or the spot (v3-whole-head). The DEXA scan page keeps its readout. */
#bsr-app.bsr-v3 .v3-home-ex .bsr-sm-side{display:none!important}
#bsr-app.bsr-v3 .v3-whole-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;min-height:28px}
#bsr-app.bsr-v3 .v3-whole-title{font-size:13px;font-weight:600;color:var(--v3-ink)}
#bsr-app.bsr-v3 .v3-whole-reset{margin:0;padding:4px 10px;border:1px solid var(--v3-btnline);border-radius:8px;background:#fff;font:inherit;font-size:12.5px;font-weight:500;color:var(--v3-ink);cursor:pointer}
#bsr-app.bsr-v3 .v3-whole-reset[hidden]{display:none}
/* 3.0.18: the 3D scans page's measurements table without the Astra theme's cell outlines (as Compare and the Lab report). */
#bsr-app.bsr-v3 #bsr-results-view-3d table,#bsr-app.bsr-v3 #bsr-results-view-3d th,#bsr-app.bsr-v3 #bsr-results-view-3d td{border:0!important}
#bsr-app.bsr-v3 #bsr-results-view-3d tbody tr+tr th,#bsr-app.bsr-v3 #bsr-results-view-3d tbody tr+tr td{border-top:1px solid #EFECE5!important}

/* 3.0.18: Compare scans on the Scan explorer card's header, at its right. */
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-ex-cmp{margin-left:auto;flex:none}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-ex-cmp:empty{display:none}
#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-ex-cmp .v3-btn{margin:0}
@media (max-width:899.98px){#bsr-app.bsr-v3 #bsr-v3-overview .v3-explorer .v3-ex-cmp{margin-left:0;align-self:flex-start}}
/* 3.0.18 (Eric, October 30, 2026: "can we lay this out again this is hte home panel"): on computers the scan is as tall
   as the tiles, chart and buttons beside it, and they spread over its height with the buttons at the bottom. */
/* 3.0.20 ("it just doesnt look good anymore"): the buttons follow the chart, no gap; scan and column centred on each other. */
@media (min-width:900px){
  #bsr-app.bsr-v3 .v3-home-ex .bsr-sm{--bsr-sm-h:400px}
  #bsr-app.bsr-v3 .v3-bodycard .v3-scan-row{align-items:center}
  #bsr-app.bsr-v3 .v3-bodycard .v3-scan-right>.v3-actions{margin-top:4px}
}
