/* Organized by product feature for straightforward maintenance. */
/* Programme, nutrition, exercise, rewards, admin and recovery pages. */

/* Programme, nutrition, exercise library, rewards and admin components. */
:root{--cf-blue:#29c7ff;--cf-orange:#ff8a24;--cf-panel:#0d141d;--cf-line:rgba(148,207,238,.22)}
.cf-train-setup{border-color:rgba(41,199,255,.52)!important;box-shadow:0 0 24px rgba(41,199,255,.12)}
#trainTab.cf-programme-pending>:not(#cfTrainSetupCard){display:none!important}
.cf-action-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.cf-action-row>*{flex:1 1 170px}
.cf-card-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.cf-card-head h2,.cf-card-head h3{margin-top:0}
.cf-wide-panel{width:min(960px,calc(100vw - 18px))!important;max-width:960px!important}
.cf-info-panel{width:min(780px,calc(100vw - 18px))!important;max-width:780px!important}
.cf-simple-note{padding:12px;border:1px solid var(--cf-line);background:rgba(41,199,255,.06);margin-bottom:12px}
.cf-choice-row,.cf-day-choice{display:flex;gap:8px;flex-wrap:wrap}.cf-choice{background:#101923!important;border:1px solid rgba(255,255,255,.13)!important;color:#dce8ef!important}.cf-choice.active{border-color:var(--cf-blue)!important;background:rgba(41,199,255,.16)!important;box-shadow:0 0 16px rgba(41,199,255,.14)}
.cf-day-choice .cf-choice{min-width:46px;flex:1 1 46px}
.cf-goal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}.cf-goal-grid .cf-choice{min-height:54px}
.cf-info-dot,.cf-workout-info{display:inline-grid!important;place-items:center!important;width:22px!important;height:22px!important;min-width:22px!important;padding:0!important;border-radius:50%!important;font:700 12px/1 Arial!important;background:rgba(41,199,255,.12)!important;border:1px solid rgba(41,199,255,.55)!important;color:#c8f4ff!important;vertical-align:middle}
.cf-workout-info{margin-left:7px!important;position:relative;z-index:2}
.cf-programme-grid,.cf-diet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}
.cf-programme-card,.cf-diet-card{position:relative;padding:14px;border:1px solid var(--cf-line);background:linear-gradient(180deg,rgba(22,31,43,.96),rgba(9,14,20,.96));min-height:190px;display:flex;flex-direction:column;gap:9px}.cf-programme-card.recommended,.cf-diet-card.recommended{border-color:rgba(41,199,255,.58);box-shadow:0 0 20px rgba(41,199,255,.1)}
.cf-programme-card h4,.cf-diet-card h3{margin:2px 0 0}.cf-programme-card p,.cf-diet-card p{margin:0;color:#b7c6d3;line-height:1.45;flex:1}.cf-programme-card small{color:#8fa4b6}.cf-programme-card button,.cf-diet-card button{width:100%}
.cf-programme-tag{font:700 9px/1.2 var(--v131-font,Arial);letter-spacing:.12em;color:#8ddfff}
.cf-nutrition-card{border-color:rgba(255,138,36,.32)!important}.cf-match{display:grid;gap:4px;padding:11px;border-left:3px solid var(--cf-blue);background:rgba(41,199,255,.07);margin-bottom:11px}.cf-match.warning{border-color:#ff5d5d;background:rgba(255,62,62,.08)}.cf-match.caution{border-color:var(--cf-orange);background:rgba(255,138,36,.08)}.cf-match span{font-size:12px;color:#b7c6d3;line-height:1.4}
.cf-macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cf-macro-grid button{position:relative;min-width:0;background:#0c151f!important;border:1px solid var(--cf-line)!important;padding:12px 7px!important}.cf-macro-grid strong{display:block;font-size:18px;color:#fff}.cf-macro-grid span{display:block;font-size:10px;color:#9db0c0;text-transform:uppercase;letter-spacing:.08em;margin-top:4px}.cf-macro-grid i{position:absolute;right:5px;top:5px;font-style:normal;font-size:10px;color:#7cdcff}
.cf-search-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,220px);gap:8px}.cf-exercise-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:10px}.cf-exercise-result{text-align:left!important;background:#0c151f!important;border:1px solid var(--cf-line)!important;padding:12px!important}.cf-exercise-result strong,.cf-exercise-result span,.cf-exercise-result small{display:block}.cf-exercise-result span{font-size:11px;color:#b7c6d3;margin-top:4px}.cf-exercise-result small{font-size:10px;color:#7f92a3;margin-top:5px}
.cf-exercise-video{position:relative;aspect-ratio:9/16;width:min(100%,360px);margin:0 auto 16px;background:#000;border:1px solid var(--cf-line);overflow:hidden}.cf-exercise-video video{width:100%;height:100%;object-fit:contain;background:#000}.cf-video-placeholder{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:8px;padding:20px;background:radial-gradient(circle at 50% 35%,rgba(41,199,255,.16),transparent 45%),#070b10}.cf-video-placeholder span{font-size:11px;color:#8498aa;word-break:break-word}.cf-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px}.cf-info-grid section{padding:12px;border:1px solid var(--cf-line);background:#0b121a}.cf-info-grid h3{margin:0 0 6px}.cf-info-grid p{margin:0;color:#b8c7d2;line-height:1.5}.cf-info-copy{font-size:14px;line-height:1.65;color:#d5e0e7;padding:8px}
.cf-nut-token{color:#9ee7ff;text-shadow:0 0 10px rgba(41,199,255,.75)}.nuts-summary.cf-four{grid-template-columns:repeat(4,1fr)!important}.cf-vault-media{position:relative;isolation:isolate;aspect-ratio:16/9;overflow:hidden;margin:14px 0;border:1px solid rgba(151,211,242,.35);background:#000}.cf-vault-media video{display:block;width:100%;height:100%;object-fit:cover;background:#000;cursor:pointer;transform:scale(1);will-change:transform}.cf-vault-media video.is-ended{animation:cfVaultBreathe 5.8s ease-in-out infinite alternate;transform-origin:center}.cf-vault-media .cf-vault-sound{bottom:12px}@keyframes cfVaultBreathe{from{transform:scale(1.008)}to{transform:scale(1.025)}}.cf-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cf-earn-list{display:grid;gap:7px}.cf-earn-list span{display:flex;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--cf-line);font-size:11px}.cf-earn-list b{color:#9ee7ff}.cf-store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.cf-store-grid article{padding:12px;border:1px solid var(--cf-line);background:#0b121a;display:grid;gap:9px}.cf-store-grid h4{margin:0}.cf-store-grid strong{color:#9ee7ff}.contribution-item strong.negative{color:#ff7474}
.cf-celebration-panel{text-align:center;width:min(470px,calc(100vw - 18px))!important}.cf-nuts-video{width:100%;aspect-ratio:9/16;max-height:55vh;object-fit:contain;background:#000}.cf-nuts-fallback{height:320px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(41,199,255,.22),transparent 48%),#070b10;border:1px solid var(--cf-line)}.cf-cyborg-figure{font-size:86px;position:absolute;left:50%;top:20px;transform:translateX(-50%);animation:cfCyborgBob 1.2s ease-in-out infinite alternate}.cf-bucket{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:150px;height:90px;padding-top:24px;background:linear-gradient(90deg,#31404b,#a9bac4 45%,#40515d);clip-path:polygon(10% 0,90% 0,80% 100%,20% 100%);font:800 12px var(--v131-font,Arial);letter-spacing:.1em;color:#0c151c}.cf-nut-shower i{position:absolute;top:-30px;left:calc(10% + (var(--i) * 3.1%));font-style:normal;color:#a4eaff;animation:cfNutFall calc(.8s + (var(--i) * .03s)) linear infinite;animation-delay:calc(var(--i) * -.08s)}@keyframes cfNutFall{to{transform:translateY(260px) rotate(540deg)}}@keyframes cfCyborgBob{to{transform:translateX(-50%) translateY(7px)}}
.cf-connections{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.cf-connections button{text-align:left!important;display:grid!important;gap:3px!important}.cf-connections small{color:#8da0b1}.cf-old-personal-setting{display:none!important}
.cf-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.cf-admin-stat{padding:15px;border:1px solid var(--cf-line);background:#0b121a;text-align:center}.cf-admin-stat strong{display:block;font-size:25px;color:#fff}.cf-admin-stat span{font-size:10px;color:#92a5b5;text-transform:uppercase;letter-spacing:.07em}
.cf-tutorial-media{height:95px;margin:10px 0;border:1px solid var(--cf-line);background:#070c12;display:grid;place-items:center;overflow:hidden}.cf-tutorial-animation{display:flex;gap:9px;align-items:end}.cf-tutorial-animation span{display:block;width:28px;background:linear-gradient(#2bc8ff,#16456d);animation:cfBars 1.3s ease-in-out infinite alternate}.cf-tutorial-animation span:nth-child(1){height:28px}.cf-tutorial-animation span:nth-child(2){height:58px;animation-delay:.2s}.cf-tutorial-animation span:nth-child(3){height:42px;animation-delay:.4s}@keyframes cfBars{to{transform:scaleY(.55);filter:brightness(1.7)}}
body[data-active-tab="social"] .week-view,body[data-active-tab="social"] .week-strip,body[data-active-tab="social"] #weekView,body[data-active-tab="nuts"] .week-view,body[data-active-tab="nuts"] .week-strip,body[data-active-tab="nuts"] #weekView,#socialTab .week-view,#nutsTab .week-view{display:none!important}
@media(max-width:700px){.cf-card-head{display:grid}.cf-macro-grid,.nuts-summary.cf-four,.cf-admin-grid{grid-template-columns:repeat(2,1fr)!important}.cf-two-col{grid-template-columns:1fr}.cf-search-row{grid-template-columns:1fr}.cf-programme-grid,.cf-diet-grid{grid-template-columns:1fr}.cf-exercise-results{grid-template-columns:1fr}}
@media(max-width:430px){.cf-macro-grid{grid-template-columns:repeat(2,1fr)}.cf-goal-grid{grid-template-columns:1fr}.cf-action-row>*{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.cf-cyborg-figure,.cf-nut-shower i,.cf-tutorial-animation span,.cf-vault-media video.is-ended{animation:none!important}}

/* Guided first-run setup and official Cyborg Cell artwork. */
.cf-onboarding-progress{display:grid;gap:7px;margin-bottom:12px}.cf-onboarding-progress>span{font-size:10px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.08em}.cf-onboarding-progress>div{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.cf-onboarding-progress i{height:4px;background:#26313e;border-radius:99px}.cf-onboarding-progress i.active{background:linear-gradient(90deg,#20c8ff,#ff7a1a);box-shadow:0 0 8px rgba(32,200,255,.25)}
.cf-onboarding-step{min-height:390px;padding:15px;border:1px solid var(--cf-line);background:linear-gradient(155deg,rgba(14,24,34,.98),rgba(6,10,15,.98))}.cf-onboarding-copy{margin-bottom:16px}.cf-onboarding-copy h3{margin:6px 0 7px;font-size:18px}.cf-onboarding-copy p{margin:0;max-width:660px;color:#aebdca;line-height:1.5;font-size:12px}
.cf-onboarding-nav{display:flex;justify-content:space-between;gap:10px;margin-top:12px}.cf-onboarding-nav button{min-width:130px}.cf-onboarding-step .cf-goal-grid .cf-choice{display:grid;gap:5px;text-align:left;padding:12px}.cf-onboarding-step .cf-goal-grid small{color:var(--muted);font-size:9px;line-height:1.35}.cf-setup-label{display:block;margin-top:16px}.cf-setup-details{margin-top:16px}
.cf-programme-routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.cf-programme-routes button{padding:10px 5px;font-size:10px}.cf-programme-routes button.active{border-color:#20c8ff;background:rgba(32,200,255,.12)}.cf-programme-card.selected{border-color:#ff8a24;box-shadow:0 0 18px rgba(255,138,36,.12)}
.cf-programme-preview{margin-top:13px;padding:13px;border:1px solid rgba(32,200,255,.24);background:rgba(5,11,17,.62)}.cf-week-preview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-top:10px}.cf-week-preview>div{min-width:0;padding:8px 5px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.cf-week-preview>div.training{border-color:rgba(32,200,255,.23)}.cf-week-preview strong,.cf-week-preview span,.cf-week-preview small{display:block}.cf-week-preview strong{font-size:9px;color:#7fe5ff}.cf-week-preview span{margin-top:5px;font-size:9px;line-height:1.25;overflow-wrap:anywhere}.cf-week-preview small{margin-top:4px;color:var(--muted);font-size:7px}.cf-programme-import{margin-top:12px;padding:12px;border:1px solid var(--border)}
.cf-setup-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.cf-setup-review>div{padding:10px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025)}.cf-setup-review span,.cf-setup-review strong{display:block}.cf-setup-review span{color:var(--muted);font-size:9px}.cf-setup-review strong{margin-top:4px;font-size:12px}.cf-optional-setup{display:grid;gap:9px}.cf-system-trophy{display:flex;align-items:center;gap:11px;margin-top:12px;padding:12px;border:1px solid rgba(32,200,255,.28);background:rgba(32,200,255,.07)}.cf-system-trophy>span{width:44px;height:44px;display:grid;place-items:center;clip-path:polygon(25% 6%,75% 6%,100% 50%,75% 94%,25% 94%,0 50%);background:linear-gradient(145deg,#2c7898,#6b3414);font-weight:950}.cf-system-trophy strong,.cf-system-trophy small{display:block}.cf-system-trophy small{margin-top:3px;color:var(--muted)}
.cf-cells-heading{display:flex;align-items:center}.cf-cell-icon{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(57,255,159,.28))}.cf-cell-celebration{position:absolute;left:50%;top:30px;width:200px;height:200px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 0 20px rgba(54,255,156,.35));animation:cfCyborgBob 1.2s ease-in-out infinite alternate}.cf-nut-shower i img{width:22px;height:22px;object-fit:contain}
@media(max-width:700px){.cf-week-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-week-preview>div:last-child{grid-column:1/-1}.cf-programme-routes{grid-template-columns:repeat(2,minmax(0,1fr))}.cf-onboarding-step{min-height:360px}.cf-cell-icon{width:70px;height:70px}}

/* Track is intentionally a quick-entry screen: progress bars, food entry and today's foods. */
#trackTab #cfNutritionCard{display:none!important}

.cf-recovery-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;border-color:rgba(255,140,54,.72);box-shadow:0 0 18px rgba(255,125,38,.14)}
.cf-recovery-banner>div{display:grid;gap:5px}.cf-recovery-banner strong{font-size:1rem}.cf-recovery-banner span{color:var(--muted);font-size:.83rem;line-height:1.45}.cf-recovery-banner button{flex:0 0 auto}
.cf-recovery-shell{max-width:720px}.cf-recovery-list{display:grid;gap:12px;margin-top:14px}.cf-recovery-card{border:1px solid rgba(112,161,190,.38);background:linear-gradient(160deg,rgba(14,27,37,.98),rgba(4,10,15,.98));padding:16px;display:grid;gap:9px}.cf-recovery-card h3{margin:0;font-family:'Syncopate',sans-serif;font-size:1rem}.cf-recovery-card p,.cf-recovery-card small{margin:0;color:var(--muted);line-height:1.45}.cf-recovery-card button{justify-self:start}.cf-recovery-tag{font-size:.7rem;letter-spacing:.12em;color:#60d8ff;text-transform:uppercase}
@media(max-width:620px){.cf-recovery-banner{align-items:stretch;flex-direction:column}.cf-recovery-banner button{width:100%}.cf-recovery-card button{width:100%}}


/* Fitness connection rows in the rebuilt Settings screen. */
#settingsOverlay .cf-connections{grid-template-columns:1fr}
#settingsOverlay .cf-connections .cf-connection-row button{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:0!important}


/* Existing rewards layout, with independent earning details. */
#cfStoreGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}
#cfStoreGrid article{min-width:0;display:flex;flex-direction:column;padding:14px}
#cfStoreGrid article h4{overflow-wrap:anywhere}
#cfStoreGrid article span{margin-top:auto}
.cf-cell-details{min-width:0;border-top:1px solid var(--border)}
.cf-cell-details>summary{cursor:pointer;min-height:44px;align-content:center;font-weight:650}
.cf-cell-details[open]>summary{margin-bottom:8px}
@media(max-width:360px){#cfStoreGrid{gap:8px}#cfStoreGrid article{padding:10px}#cfStoreGrid h4{font-size:14px}}
