/* Approved Cyborg presentation: one shell and the same controls on every page. */
:root{--cf-body-font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--v131-font:var(--cf-heading-font);--cf-nav-height:76px;--cf-card-surface:#182430;--cf-line:rgba(145,185,217,.22)}
body.cf-app{background:var(--bg);color:var(--text);font-family:var(--cf-body-font);line-height:1.45}
body.cf-app header{position:sticky!important;top:0!important;z-index:70000;background:var(--bg)!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:calc(8px + var(--cf-safe-top)) 10px 8px!important}
body.cf-app .header-top{max-width:1000px!important;margin:auto;justify-content:center!important}
body.cf-app .header-brandline{display:flex!important;align-items:center;justify-content:center!important;width:100%!important;padding:0!important;flex:1}
body.cf-app .header-brandline .brand-lockup-copy{width:100%!important;justify-content:center!important}
body.cf-app .v131-header-logo{width:min(100%,620px)!important;height:auto!important;margin:0 auto!important}
body.cf-app main{max-width:1040px!important;margin:0 auto!important;padding:8px 10px calc(var(--cf-nav-height) + var(--cf-safe-bottom) + 28px)!important;overflow:visible!important}
.cf-page-heading{padding:0 3px 12px}
.cf-page-heading h1{font:400 clamp(23px,5vw,30px)/1.3 var(--cf-heading-font);text-transform:uppercase;letter-spacing:.025em;margin:0 0 7px}
.cf-page-heading p{margin:0;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}
body.cf-app .tabbar{position:fixed!important;inset:auto 0 0!important;z-index:80000!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;margin:0!important;padding:8px max(10px,calc((100vw - 700px)/2)) calc(8px + var(--cf-safe-bottom))!important;gap:3px!important;background:rgba(11,14,19,.97);border-top:1px solid var(--cf-line);height:calc(var(--cf-nav-height) + var(--cf-safe-bottom));box-shadow:0 -8px 24px #0002}
body.cf-app .tabbar .tab-btn{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0!important;width:auto!important;min-height:54px!important;height:100%;background:transparent!important;border:0!important;border-radius:9px!important;color:var(--muted)!important;padding:3px!important;box-shadow:none!important;font:400 10px/1.3 var(--cf-heading-font)!important;letter-spacing:0;text-transform:none}
.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body.cf-app .tabbar .tab-btn.active,body.cf-app .tabbar .tab-btn[aria-expanded="true"]{color:var(--accent2)!important}
body.cf-app .tabbar .tab-btn:hover{background:#ffffff08!important}
body.cf-app .footerbar{position:static!important;display:flex;justify-content:center;gap:12px;max-width:640px;margin:-94px auto 100px;padding:0 18px;border:0;background:none;box-shadow:none}
body.cf-app:not([data-active-tab="train"]) .footerbar{display:none!important}
body.cf-app .card,body.cf-app .social-shell,body.cf-app .social-post{background:var(--cf-card-surface)!important;border:1px solid var(--cf-line)!important;border-radius:12px!important;box-shadow:none!important;padding:18px!important;margin-bottom:16px;color:var(--text)}
body.cf-app .card h2,body.cf-app .settings-panel h2,body.cf-app .scan-panel h2,body.cf-app .history-panel h2,body.cf-app .checkin-panel h2{font:400 17px/1.45 var(--cf-heading-font);margin:0 0 14px;letter-spacing:0}
body.cf-app h3{font:400 14px/1.45 var(--cf-heading-font);letter-spacing:0}
body.cf-app .section-kicker{font:500 12px/1.4 var(--cf-body-font);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
body.cf-app button{font-family:var(--cf-body-font);font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;min-height:44px;border-radius:8px;box-shadow:none;touch-action:manipulation}
:where(body.cf-app) button{background-color:var(--accent2)}
body.cf-app .secondary{background:#1d2430;border:1px solid var(--cf-line);color:var(--text)}
body.cf-app button:disabled{opacity:.45;cursor:default}
body.cf-app button:focus-visible,body.cf-app summary:focus-visible,body.cf-app a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
body.cf-app input:not([type="checkbox"]):not([type="radio"]),body.cf-app select,body.cf-app textarea{font:400 16px/1.4 var(--cf-body-font)!important;background:#0e141d;border:1px solid var(--border);border-radius:10px;padding:11px 12px;min-height:44px;color:var(--text)}
body.cf-app input:focus,body.cf-app select:focus,body.cf-app textarea:focus{outline:2px solid #168cff70;outline-offset:1px;border-color:var(--accent2)}
body.cf-app input[type="checkbox"],body.cf-app input[type="radio"]{width:20px!important;height:20px;accent-color:var(--accent2)}
body.cf-app label{font:500 13px/1.4 var(--cf-body-font);color:var(--muted)}
body.cf-app .tiny,body.cf-app .settings-help,body.cf-app .empty-note{font-family:var(--cf-body-font);font-size:13px;line-height:1.55;color:var(--muted)}
body.cf-app .global-command{background:transparent!important;border:0!important;border-radius:0!important;padding:0 0 15px!important;overflow:visible}
body.cf-app .compact-command-row{grid-template-columns:40px minmax(0,1fr) 40px!important;gap:14px;margin-bottom:14px}
body.cf-app .compact-now{border:1px solid var(--cf-line);border-radius:10px;background:#151a22;padding:9px 14px}
body.cf-app #liveDateText{font:500 15px/1.4 var(--cf-body-font)}
body.cf-app #liveTimeText{display:none}
body.cf-app .compact-week-label{font:400 11px/1.4 var(--cf-body-font);color:var(--muted)}
body.cf-app .compact-icon-btn{min-height:42px;height:42px;border-radius:8px;padding:0;font:400 30px/1 var(--cf-body-font)}
body.cf-app .week-strip{gap:5px;margin:0 0 9px}
body.cf-app .compact-command .coach-day{background:#172532!important;border:1px solid #30485c!important;border-radius:6px!important;box-shadow:none!important;opacity:1!important;height:54px!important;grid-template-rows:25px 12px!important;padding:6px 0!important;color:var(--muted)}
body.cf-app .compact-command .coach-day.active{border-color:var(--accent2)!important;color:#70caff!important;background:#163d5d!important}
body.cf-app .coach-day-name{font:600 17px/1.3 var(--cf-body-font)!important}
body.cf-app .coach-day-date{font:400 11px/1.3 var(--cf-body-font)!important;white-space:nowrap}
body.cf-app .compact-legend-row{border:0;padding:4px 0 0;gap:8px;align-items:center}
body.cf-app .compact-legend{font:400 10px var(--cf-body-font);gap:7px;flex-wrap:wrap}
body.cf-app .legend-checkin-btn{font:500 12px var(--cf-body-font);min-height:34px;padding:6px 10px}
body.cf-app .training-context-compact{padding:12px 16px!important}
body.cf-app .phase{font:500 14px/1.4 var(--cf-body-font);color:var(--accent)}
body.cf-app #dayTitle{font-size:16px;margin-bottom:5px}
body.cf-app .exercise{background:transparent!important;border:0!important;border-top:1px solid var(--cf-line)!important;border-radius:0!important;box-shadow:none!important;margin-top:18px}
body.cf-app .exercise>summary{padding:14px 0 8px!important;display:grid!important;grid-template-columns:minmax(0,1fr) 40px!important;gap:3px 8px!important;align-items:center}
body.cf-app .ex-name{font:500 16px/1.35 var(--cf-body-font)!important;color:var(--text);white-space:normal;overflow-wrap:normal;letter-spacing:0!important}
body.cf-app .cf-workout-info{width:36px!important;height:36px!important;min-height:36px!important;justify-self:end;border-radius:6px!important;border:1px solid var(--cf-line);color:var(--accent2);background:#1d2430!important;font:500 15px var(--cf-body-font)}
body.cf-app .exercise .target{grid-column:1/-1;font:500 13px/1.5 var(--cf-body-font)!important;color:var(--accent)!important;text-align:left!important;max-width:none!important}
body.cf-app .exercise-body{padding:0!important}
body.cf-app .set-row{gap:6px!important;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 30px!important}
body.cf-app .set-row input{padding:9px 4px!important;text-align:center}
body.cf-app .history-actions button{font-size:12px}
body.cf-app .settings-panel,body.cf-app .scan-panel,body.cf-app .checkin-panel,body.cf-app .history-panel{background:var(--cf-card-surface)!important;border:1px solid var(--cf-line);border-radius:10px!important;padding:20px!important;color:var(--text);box-shadow:0 20px 70px #0008}
body.cf-app .settings-panel-head,body.cf-app .scan-head,body.cf-app .checkin-head,body.cf-app .history-head{align-items:flex-start;gap:16px;margin-bottom:18px}
body.cf-app .settings-close{width:40px;height:40px;min-width:40px;min-height:40px;border:0;background:transparent!important;color:var(--muted);font:400 30px/1 var(--cf-body-font);padding:0}
body.cf-app .settings-section{border:1px solid var(--cf-line);background:#10161e;border-radius:10px;padding:16px;margin-top:14px}
body.cf-app .settings-section h3{margin-top:0}
body.cf-app .settings-panel .profile-grid{gap:14px!important}
body.cf-app #cfExerciseResults .cf-exercise-result strong{font:500 16px/1.4 var(--cf-body-font);color:var(--text)}
body.cf-app #cfExerciseResults .cf-exercise-result span{font-size:13px;line-height:1.5}
body.cf-app #cfExerciseResults .cf-exercise-result small{font-size:12px;line-height:1.5}
body.cf-app #cfInfoTitle{font-size:17px}
body.cf-app summary{min-height:44px;align-content:center;cursor:pointer;line-height:1.5}
body.cf-app .cf-coach-learning>summary,body.cf-app .cf-coach-details>summary{font:500 15px/1.5 var(--cf-body-font)}
body.cf-app .coach-grid>.card{background:#10161e!important}
body.cf-app .coach-metric{background:#1d2430;border:1px solid var(--cf-line);border-radius:10px;padding:14px}
body.cf-app .coach-metric-value{font-family:var(--cf-body-font);font-variant-numeric:tabular-nums}
body.cf-app .social-title{font-size:17px}
body.cf-app .cf-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
body.cf-app .cf-store-grid article{min-width:0;background:#1d2430;border:1px solid var(--cf-line);border-radius:10px}
body.cf-app .cf-store-grid h3{font:500 15px/1.4 var(--cf-body-font)}
body.cf-app #v131MenuDrawer{background:var(--bg)!important;padding:calc(20px + var(--cf-safe-top)) 18px calc(var(--cf-nav-height) + var(--cf-safe-bottom))!important;bottom:var(--cf-nav-height)!important;height:calc(100dvh - var(--cf-nav-height) - var(--cf-safe-bottom))!important;transition:transform .18s ease}
body.cf-app .v131-menu-head{padding:0 0 20px;margin-bottom:12px;border:0}
body.cf-app .v131-menu-head img{width:190px;height:50px;object-position:left}
body.cf-app .v131-menu-head button{margin-left:auto;background:transparent}
body.cf-app #v131CloseMenu{flex:none;color:var(--muted);background:transparent!important}
body.cf-app .v131-menu-links{gap:12px}
body.cf-app .v131-drawer-link{background:var(--cf-card-surface);border:1px solid var(--cf-line);padding:18px;grid-template-columns:30px minmax(0,1fr)}
body.cf-app .v131-drawer-link strong{font:500 16px var(--cf-body-font)}
body.cf-app .v131-drawer-link small{font:400 13px/1.5 var(--cf-body-font)}
body.cf-app .v131-menu-future{border:0;text-align:center;margin-top:24px;font-size:12px}
body.cf-app #v131MenuBackdrop{bottom:calc(var(--cf-nav-height) + var(--cf-safe-bottom))!important}
body.cf-app .auth-shell{background:var(--bg)!important}
body.cf-app .auth-card{background:var(--cf-card-surface)!important;border:1px solid var(--cf-line);border-radius:18px;padding:22px}
body.cf-app .auth-card h2{font:400 18px/1.5 var(--cf-heading-font)}
body.cf-app .auth-brand{padding:18px}
body.cf-app .auth-brand p{font:400 14px/1.6 var(--cf-body-font)}
body.cf-app .auth-card input{margin-bottom:8px}
body.cf-app .save-toast{bottom:calc(var(--cf-nav-height) + var(--cf-safe-bottom) + 12px)!important;max-width:calc(100vw - 32px);font:500 14px var(--cf-body-font)}
body.cf-app [hidden]{display:none!important}
@media(min-width:760px){body.cf-app main{padding-top:18px!important}.cf-page-heading{padding-bottom:24px}body.cf-app .settings-panel .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.cf-app .coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.cf-app .global-command{max-width:720px!important;margin:0 auto 20px}body.cf-app .cf-page-heading{max-width:1000px;margin:auto}body.cf-app .set-row{grid-template-columns:32px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 40px!important}}
@media(max-width:360px){body.cf-app main{padding-left:8px!important;padding-right:8px!important}body.cf-app header{padding-left:8px!important;padding-right:8px!important}body.cf-app .card{padding:12px!important}body.cf-app .compact-legend{font-size:9px;gap:4px}body.cf-app .header-brandline{gap:2px}body.cf-app .ex-name{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){body.cf-app *,body.cf-app *::before,body.cf-app *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body.cf-app header,body.cf-app .tabbar,body.cf-app .footerbar{display:none!important}body.cf-app main{padding:0!important}}

/* Compact controls keep their actual content visible. */
body.cf-app .legend-checkin-btn{font-size:12px!important}
html.cf-layer-open{overflow:hidden!important}
body.cf-app .settings-panel,body.cf-app .scan-panel,body.cf-app .checkin-panel,body.cf-app .history-panel{width:100%!important;max-width:720px!important;max-height:calc(100dvh - var(--cf-safe-top) - var(--cf-safe-bottom) - 40px)!important;overflow-y:auto;overscroll-behavior:contain}
body.cf-app .settings-overlay:not(.hidden),body.cf-app .scan-overlay:not(.hidden),body.cf-app .checkin-overlay:not(.hidden),body.cf-app .history-overlay:not(.hidden){overflow-y:hidden!important}
body.cf-app #cfInfoBody .cf-info-grid section{border-radius:10px;padding:14px}
body.cf-app .cf-store-grid h4{font:500 15px/1.4 var(--cf-body-font);overflow-wrap:normal;word-break:normal;margin:0 0 10px}
body.cf-app .cf-social-counts{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
body.cf-app .cf-social-counts button{background:#1d2430;border:1px solid var(--cf-line);padding:10px}
body.cf-app .cf-social-counts span{font-size:12px}
body.cf-app .cf-social-stats>span{background:#10161e;border-color:var(--cf-line);border-radius:10px}
body.cf-app .cf-social-stats small{font-size:10px}
body.cf-app .cf-profile-trophies{padding:10px 0;background:transparent}
body.cf-app .history-highlight{background:#1d2430;color:var(--accent2);border:1px solid var(--cf-line)}
body.cf-app .cf-onboarding-step,body.cf-app .cf-programme-card,body.cf-app .cf-diet-card,body.cf-app .cf-programme-preview,body.cf-app .cf-week-preview>div,body.cf-app .v132-tutorial-step{border-radius:10px}
body.cf-app .cf-onboarding-nav button{min-width:0;flex:1}
body.cf-app .cf-programme-routes button.active{color:var(--accent);border:1px solid var(--accent2)}
body.cf-app .cf-week-preview span{font-size:12px;line-height:1.45;overflow-wrap:normal}
body.cf-app .cf-week-preview strong,body.cf-app .cf-week-preview small{font-size:11px;line-height:1.4}
body.cf-app .cf-info-dot{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;border-radius:6px!important;color:var(--accent);padding:0}
body.cf-app .v132-tutorial-progress>span{white-space:nowrap}
body.cf-app .v132-tutorial-dots{gap:3px;flex:1;justify-content:flex-end}
body.cf-app .v132-tutorial-dot{width:14px}
body.cf-app .v132-tutorial-icon{width:auto;min-width:46px;justify-self:start;padding:6px;font-size:14px;border-radius:10px}
@media(max-width:360px){body.cf-app .coach-day-date{font-size:10px!important}body.cf-app #sessionDate{font-size:13px!important;padding:10px 5px!important}body.cf-app .session-timing-compact{gap:5px}body.cf-app .session-timing-compact button{font-size:11px;padding:9px 7px}}

body.cf-app .cf-swap-choice{display:grid;gap:5px;width:100%;text-align:left;margin:10px 0;padding:12px}
body.cf-app .cf-swap-choice span{font-size:12px;color:var(--muted);font-weight:400}
body.cf-app .cf-exercise-swap-panel{margin-bottom:14px}
body.cf-app .cf-exercise-swap-panel>button{width:100%}
body.cf-app .cf-exercise-history{margin-bottom:16px}
html{scroll-padding-top:110px}
/* Clip horizontal overflow without creating a body scroll container above the sticky header. */
body.cf-app{overflow-x:clip!important;overflow-y:visible!important}
body.cf-app .coach-day-signals>.signal-rest{font-family:var(--cf-body-font)!important;font-size:7px!important;letter-spacing:0!important;line-height:8px!important;width:10px!important;min-width:10px!important;height:10px!important;flex:0 0 10px!important}
/* Scanner uses the same readable type and restrained corners as the food sheet. */
body.cf-app .scan-panel h2{text-transform:uppercase}
body.cf-app .scan-mode-label{font:500 11px/1.4 var(--cf-body-font);letter-spacing:.06em;border-radius:6px;box-shadow:none}
body.cf-app .scan-camera{border-radius:10px}
body.cf-app .scan-camera-tool,body.cf-app .scan-text-link,body.cf-app #scanAddProductPhotoBtn{font:500 13px/1.4 var(--cf-body-font)!important;min-height:44px;border-radius:6px}
body.cf-app .scan-status,body.cf-app .scan-footnote{font:400 12px/1.5 var(--cf-body-font)}

body.cf-app .legend-checkin-btn{border-radius:6px!important}

/* Selected date and check-in share a single compact panel. */
body.cf-app .compact-now{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:9px 10px}
.compact-date-copy{min-width:0;flex:1}
body.cf-app #liveDateText{white-space:normal;overflow:visible}
body.cf-app .compact-now .legend-checkin-btn{flex:0 0 auto;padding:6px 8px}
body.cf-app .compact-command-row{gap:8px;margin-bottom:10px}
body.cf-app .compact-legend-row{justify-content:center;padding-top:0}
body.cf-app .global-command{padding-bottom:6px!important}
body.cf-app .cf-menu-cell{display:block;width:32px;height:32px;object-fit:contain}
@media(max-width:360px){body.cf-app .compact-command-row{gap:5px}body.cf-app .compact-now{padding:8px 6px;gap:5px}body.cf-app .compact-now .legend-checkin-btn{padding:6px;font-size:11px!important}}

/* Shared open weekdays retain the same completion signals across tabs. */
body.cf-app .compact-command .coach-day{
  position:relative;background:transparent!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;height:64px!important;
  grid-template-rows:30px 12px!important;padding:5px 0 12px!important;
}
body.cf-app .compact-command .coach-day.active{
  background:transparent!important;color:#70caff!important;
}
body.cf-app .coach-day-name{font-size:22px!important}
body.cf-app .coach-day.active::after{
  content:""!important;display:block!important;position:absolute;top:auto;bottom:6px;left:15%;right:15%;width:auto;height:2px;box-shadow:none;
  background:var(--accent2);border-radius:2px;
}
body.cf-app .coach-day:focus-visible{
  outline:2px solid var(--accent2);outline-offset:2px;
}

body.cf-app .checkin-complete-tick{color:#4ade80;font-weight:700;margin-right:4px}

/* Restrained chrome headings and steel-blue controls across the app. */
body.cf-app .cf-page-heading h1{font-weight:700;color:#e6f3ff}
@supports (background-clip:text){body.cf-app .cf-page-heading h1{background:linear-gradient(180deg,#f5faff 8%,#adc2d3 48%,#e6f3ff 56%,#a6c8df 100%);background-clip:text;-webkit-background-clip:text;color:transparent}}
body.cf-app .secondary{background:#1c2b39;border-color:var(--cf-line)}
body.cf-app .tabbar{border-top-color:#779cbd40}
body.cf-app .compact-now{background:#182430;border-color:var(--cf-line)}
