:root{--ink:#061a22;--muted:#5c7280;--soft:#eaf7f6;--panel:#ffffff;--teal:#3be4c4;--teal-dark:#073d3a;--cyan:#63d8ff;--gold:#ffd166;--green:#22c783;--blue:#3f89ff;--purple:#7966ff;--amber:#f5a524;--shadow:0 18px 45px rgba(8,46,56,.16);--soft-shadow:0 8px 24px rgba(8,46,56,.11);--radius:28px}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#e9f6f5;font-size:17px;line-height:1.45}button,input,textarea{font:inherit}button{cursor:pointer}.loading-screen,.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 5%,#c9fff0,transparent 26%),linear-gradient(180deg,#f7fbff,#edf4ff)}.loader-orb{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#071422;color:white;font-size:34px;margin:auto auto 18px;box-shadow:var(--shadow)}.login-card{width:min(460px,100%);background:white;border-radius:32px;padding:30px;box-shadow:var(--shadow)}.logo-row{display:flex;gap:14px;align-items:center;margin-bottom:22px}.logo-mark{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#071422;color:white}.logo-row b{display:block;font-size:24px}.logo-row small{color:var(--muted);font-weight:700}.login-card h1{font-size:30px;margin:0 0 8px}.login-card p{color:var(--muted)}label{display:block;font-weight:800;margin-top:18px}input,textarea{width:100%;border:1px solid #cfe0e5;border-radius:18px;background:#f8fbfc;padding:15px 16px;margin-top:8px;outline:none}input:focus,textarea:focus{border-color:var(--teal-dark);box-shadow:0 0 0 4px rgba(59,228,196,.2)}.error-banner{background:#fff0f0;border:1px solid #ffc9c9;border-radius:16px;padding:12px;margin:16px 0;color:#8b1e1e}.primary,.secondary,.dark-button,.light-button,.text-link,.update-action{border:0;border-radius:999px;font-weight:900}.primary{background:#071422;color:#fff;padding:15px 22px;box-shadow:0 10px 20px rgba(7,20,34,.16)}.secondary{background:#fff;color:#071422;border:1px solid #d5e5e9;padding:13px 18px}.secondary.full{width:100%}.dark-button{background:#07343a;color:#fff;padding:14px 22px}.light-button{background:#b8fff0;color:#07343a;padding:12px 18px}.text-link{background:transparent;color:#225d66;padding:8px 10px}.app-shell{min-height:100vh;padding-bottom:92px}.cs-topbar{position:sticky;top:0;z-index:30;height:76px;background:#121a1d;color:#fff;display:flex;align-items:center;gap:28px;padding:0 6vw;box-shadow:0 6px 25px rgba(0,0,0,.22)}.cs-logo{display:flex;align-items:center;gap:10px;font-size:24px;margin-right:auto}.cs-logo span{width:32px;height:32px;display:grid;place-items:center}.cs-nav{display:flex;gap:8px}.cs-nav button{border:0;background:transparent;color:white;padding:12px 18px;border-radius:999px;font-weight:800;opacity:.84}.cs-nav button.active{background:rgba(255,255,255,.14);opacity:1}.save-pill{font-size:13px;background:rgba(255,255,255,.12);padding:8px 12px;border-radius:999px;text-transform:capitalize}.save-pill.saved{background:#e9fff6;color:#0a5a43}.save-pill.saving{background:#fff2d0;color:#664700}.save-pill.error{background:#ffe5e5;color:#8b1e1e}.hero-scenic{position:relative;min-height:520px;overflow:hidden;background:linear-gradient(135deg,#193431 0%,#415b39 38%,#c58d59 100%)}.hero-scenic:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(144,255,231,.45),transparent 17%),radial-gradient(circle at 25% 70%,rgba(255,209,102,.33),transparent 24%),linear-gradient(15deg,rgba(0,0,0,.28),rgba(0,0,0,.18)),repeating-linear-gradient(165deg,rgba(255,255,255,.08) 0 2px,transparent 2px 18px);filter:saturate(1.08)}.hero-scenic:after{content:"";position:absolute;left:-5%;right:-5%;bottom:-72px;height:170px;background:#e9f6f5;border-radius:50% 50% 0 0/65% 65% 0 0}.hero-inner{position:relative;z-index:2;max-width:1120px;margin:0 auto;min-height:520px;display:flex;align-items:center;justify-content:space-between;gap:48px;padding:60px 28px 110px}.welcome-copy{color:white;text-shadow:0 4px 18px rgba(0,0,0,.35)}.welcome-copy p{font-size:28px;font-weight:900;margin:0}.welcome-copy h1{font-size:70px;line-height:.9;margin:8px 0 22px;letter-spacing:-.06em}.route-chip{display:inline-flex;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px);padding:10px 16px;border-radius:999px;font-weight:900}.score-orb{display:flex;align-items:center;gap:24px;color:white}.score-ring{width:276px;height:276px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal) calc(var(--score)*1%),rgba(255,255,255,.24) 0);box-shadow:0 18px 45px rgba(0,0,0,.3);position:relative}.score-ring:before{content:"";position:absolute;inset:18px;border-radius:50%;background:rgba(5,18,23,.68);backdrop-filter:blur(9px)}.score-core{position:relative;text-align:center;display:grid;place-items:center}.score-core small{text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:13px}.score-core strong{font-size:84px;line-height:.9;letter-spacing:-.08em}.score-core span{font-size:14px;font-weight:900}.score-core em{margin-top:10px;background:#b8fff0;color:#07343a;font-style:normal;padding:8px 13px;border-radius:999px;font-weight:900}.score-copy{width:190px}.score-copy b{display:block;font-size:28px;line-height:1.04;margin-bottom:8px}.score-copy span{display:block;margin-bottom:20px;font-weight:800}.cs-main{width:min(980px,calc(100% - 36px));margin:-55px auto 80px;position:relative;z-index:3}.page{margin-top:48px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:26px 0 14px}.section-head h2{font-size:30px;margin:0;letter-spacing:-.03em}.update-list{display:grid;gap:14px}.update-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:white;border-radius:24px;padding:18px 22px;box-shadow:var(--soft-shadow);border:1px solid rgba(8,46,56,.08)}.update-card h3{margin:0 0 3px}.update-card p{margin:0;color:var(--muted)}.update-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#d9fff3}.update-card.gold .update-icon{background:#fff0bc}.update-card.spoon .update-icon{background:#e7e0ff}.update-action{background:#e8f7f6;color:#174f56;padding:12px 16px}.split-focus{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:30px}.plan-card,.spoon-card,.promo-card,.proof-card,.report-card,.food-check-card,.food-result{background:white;border-radius:var(--radius);padding:26px;box-shadow:var(--soft-shadow);border:1px solid rgba(8,46,56,.08)}.plan-card.kept{background:linear-gradient(135deg,#fff8df,#ffffff 54%,#ecfff8);border-color:#f2d477}.eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:1000;color:#00785d;margin-bottom:10px}.plan-card h2,.spoon-card h2,.promo-card h2,.report-card h1,.report-card h2,.food-result h1{margin:0 0 10px;letter-spacing:-.04em}.plan-card p,.spoon-card p,.promo-card p,.report-card p,.food-result p{color:var(--muted);margin:0 0 18px}.plan-items{display:grid;gap:14px;margin:20px 0}.plan-item{display:flex;gap:12px;align-items:flex-start}.plan-item>span{width:30px;height:30px;border-radius:50%;background:#d9fff3;display:grid;place-items:center;font-weight:1000;color:#00785d;flex:0 0 auto}.plan-item b{display:block}.plan-item small{display:block;color:var(--muted);margin-top:3px}.checkin-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.partly-panel{background:#f4fbfb;border:1px solid #d8ecee;border-radius:22px;padding:18px;margin-top:18px}.chip-check{display:block;background:white;border:1px solid #d8ecee;border-radius:16px;padding:12px;margin:9px 0;font-weight:800}.spoon-card{background:linear-gradient(180deg,#ffffff,#f3f1ff)}.spoon-card h2{font-size:44px}.spoon-meter{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin:20px 0}.spoon-meter span{height:32px;border-radius:12px;background:#e7eef0;display:grid;place-items:center;filter:grayscale(1);opacity:.55}.spoon-meter span.used{background:#ffe9a1;filter:none;opacity:1;box-shadow:0 5px 10px rgba(255,209,102,.25)}.promo-card{margin-top:28px;background:linear-gradient(135deg,#071422,#123e49);color:white;display:flex;justify-content:space-between;align-items:center;gap:22px}.promo-card p{color:#d7f7f5}.mini-badge{display:inline-flex;background:white;color:#071422;padding:5px 10px;border-radius:999px;font-weight:900;font-size:12px;margin-bottom:12px}.proof-section{margin-top:30px}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.proof-card{padding:18px}.proof-card small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#52717b;font-weight:1000}.proof-card strong{display:block;font-size:22px;margin:8px 0}.proof-card span{font-size:14px;color:#0a7654;font-weight:900}.report-card{margin-bottom:24px}.report-card.ai-summary{border:1px solid #8b7cf6}.week-map{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin-top:24px}.week-dot{text-align:center;color:#78909a}.week-dot span{display:grid;place-items:center;width:34px;height:34px;margin:0 auto 7px;border-radius:50%;background:#dce8eb;font-weight:900}.week-dot.active span{background:#07343a;color:white}.week-dot small{font-size:12px}.simple-chart{color:#317f87}.simple-chart svg{width:100%;height:auto;max-height:300px}.simple-chart text{font-weight:800;fill:#14333a;font-size:18px}.range-toggle{display:grid;grid-template-columns:repeat(3,1fr);background:#d5eff0;border-radius:999px;padding:5px}.range-toggle button{border:0;background:transparent;border-radius:999px;padding:12px;font-weight:900}.range-toggle .active{background:#317f87;color:white}.food-check-card textarea{min-height:120px}.food-result h1{font-size:54px}.formula{background:#f1f7f8;border-radius:18px;padding:14px;font-weight:800;margin:18px 0}.breakdown{display:grid;grid-template-columns:1fr auto;gap:8px;background:#f8fbfc;border-radius:16px;padding:14px;margin:10px 0}.breakdown small{grid-column:1/-1;color:var(--muted)}.support-note{background:#fff7d9;border-radius:16px;padding:14px!important;color:#614000!important}.mobile-nav{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:40;width:min(520px,calc(100% - 22px));height:68px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);border:1px solid rgba(8,46,56,.12);border-radius:24px;box-shadow:0 12px 36px rgba(8,46,56,.18);display:none;grid-template-columns:repeat(5,1fr);padding:6px}.mobile-nav button{border:0;background:transparent;border-radius:18px;font-size:12px;font-weight:900;color:#49636b}.mobile-nav button span{display:block;font-size:18px}.mobile-nav button.active{background:#071422;color:white}.celebration-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(4,14,18,.25);backdrop-filter:blur(4px)}.celebration-box{width:min(420px,calc(100% - 32px));background:white;border-radius:32px;padding:32px;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.3)}.celebration-icon{font-size:50px}.celebration-box h1{font-size:42px;margin:4px 0 0}.celebration-box h2{font-size:24px;margin:4px 0 14px;color:#0a7654}.celebration-box p{color:var(--muted)}.confetti-canvas{position:fixed;inset:0;z-index:98;pointer-events:none}.cs-main .error-banner{margin:20px 0}@media(max-width:850px){body{font-size:16px}.cs-topbar{height:66px;padding:0 18px}.cs-logo b{font-size:20px}.cs-nav{display:none}.save-pill{margin-left:auto}.hero-scenic{min-height:540px}.hero-inner{min-height:540px;display:block;padding:36px 22px 120px}.welcome-copy h1{font-size:50px}.welcome-copy p{font-size:22px}.score-orb{margin-top:36px;gap:14px;align-items:center}.score-ring{width:190px;height:190px}.score-core strong{font-size:58px}.score-copy{width:auto}.score-copy b{font-size:24px}.cs-main{width:calc(100% - 22px);margin-top:-55px}.update-card{grid-template-columns:auto 1fr;padding:16px}.update-action{grid-column:1/-1}.split-focus{grid-template-columns:1fr}.proof-grid{grid-template-columns:1fr 1fr}.promo-card{display:block}.promo-card button{margin-top:16px}.mobile-nav{display:grid}.week-map{grid-template-columns:repeat(4,1fr)}.spoon-meter{grid-template-columns:repeat(10,1fr);gap:4px}.spoon-meter span{height:26px;font-size:13px}}@media(max-width:460px){.score-orb{display:block}.score-copy{margin-top:14px}.proof-grid{grid-template-columns:1fr}.checkin-buttons button{width:100%}.breakdown{grid-template-columns:1fr}.welcome-copy h1{font-size:42px}.hero-scenic{min-height:650px}.hero-inner{min-height:650px}}

/* v2.5.2 — mobile-first commercial simplification pass */
:root{
  --ss-ink:#071416;
  --ss-nav:#121817;
  --ss-bg:#eaf7f6;
  --ss-card:#ffffff;
  --ss-teal:#51d8e6;
  --ss-deep:#123d44;
  --ss-mint:#a9fff0;
  --ss-shadow:0 18px 42px rgba(18,61,68,.16);
}
body{background:var(--ss-bg)!important;color:var(--ss-ink)!important;}
.cs-topbar{height:66px!important;background:var(--ss-nav)!important;color:#fff!important;padding:0 max(16px,env(safe-area-inset-left)) 0 max(16px,env(safe-area-inset-right))!important;box-shadow:0 4px 18px rgba(0,0,0,.18)!important;position:sticky!important;top:0!important;z-index:70!important;}
.cs-logo{font-size:22px!important;gap:8px!important;}
.cs-logo span{font-size:22px!important;width:auto!important;height:auto!important;}
.save-pill{background:rgba(255,255,255,.15)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important;font-size:12px!important;padding:7px 10px!important;}
.save-pill.saved{background:rgba(171,255,234,.22)!important;color:#dffff8!important;}
.score-hero{position:relative;min-height:355px;background:#10201e;overflow:hidden;color:#fff;}
.hero-landscape{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,9,.05),rgba(3,8,9,.36)),radial-gradient(circle at 75% 26%,rgba(94,216,230,.5),transparent 18%),radial-gradient(circle at 18% 75%,rgba(255,209,102,.33),transparent 22%),linear-gradient(135deg,#20342c 0%,#1f4e49 45%,#865d38 100%);}
.hero-landscape:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(105deg,rgba(255,255,255,.12) 0 1px,transparent 1px 18px),linear-gradient(160deg,rgba(0,0,0,.15),rgba(0,0,0,.08));opacity:.7;}
.hero-landscape:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-44px;height:105px;background:var(--ss-bg);border-radius:50% 50% 0 0/70% 70% 0 0;box-shadow:0 -18px 60px rgba(81,216,230,.28);}
.hero-content{position:relative;z-index:2;display:grid;place-items:center;text-align:center;min-height:320px;padding:28px 18px 72px;text-shadow:0 5px 18px rgba(0,0,0,.34);}
.hero-programme{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;background:rgba(7,20,22,.42);border:1px solid rgba(255,255,255,.17);border-radius:999px;padding:8px 12px;margin-bottom:18px;max-width:94%;}
.hero-score-line{display:flex;align-items:center;justify-content:center;gap:8px;line-height:.86;}
.hero-score-line strong{font-size:clamp(86px,25vw,136px);letter-spacing:-.08em;font-weight:1000;}
.hero-score-line span{align-self:flex-end;margin-bottom:14px;font-weight:900;font-size:18px;color:#e7ffff;}
.hero-score-line em{font-style:normal;background:var(--ss-mint);color:#064046;border-radius:999px;padding:7px 10px;font-weight:1000;font-size:14px;text-shadow:none;align-self:center;}
.hero-score-label{margin:6px 0 4px!important;color:white!important;font-weight:1000!important;font-size:14px!important;}
.hero-band{font-size:23px;font-weight:1000;letter-spacing:-.03em;}
.hero-plan-pill{margin-top:12px;background:rgba(255,255,255,.90);color:#123d44;border-radius:999px;padding:8px 13px;font-weight:900;text-shadow:none;box-shadow:0 8px 20px rgba(0,0,0,.18);}
.hero-curve{position:absolute;left:0;right:0;bottom:0;height:72px;z-index:3;pointer-events:none;}
.hero-curve span{display:block;height:15px;background:linear-gradient(90deg,#55e6f3,#2b8fb8);border-radius:0 999px 999px 0;box-shadow:0 10px 28px rgba(69,195,218,.35);}
.cs-main.simple-home{width:min(840px,calc(100% - 30px))!important;margin:-38px auto 92px!important;position:relative;z-index:5;}
.report-summary-card{background:#fff;border:1px solid rgba(235,111,132,.85);border-radius:28px;padding:24px;box-shadow:var(--ss-shadow);}
.report-summary-card h2{font-size:25px;letter-spacing:-.04em;margin:0 0 12px;color:#071416;}
.report-summary-card p{font-size:17px;line-height:1.48;margin:0 0 20px;color:#102b31;}
.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
.summary-actions .dark-button,.summary-actions .soft-button{width:100%;min-height:50px;border-radius:16px;font-size:15px;font-weight:1000;}
.dark-button.alt{background:#173f47!important;color:#fff!important;}
.soft-button{background:#eef6f7;color:#123d44;border:0;}
.summary-plan-list{display:grid;gap:10px;margin:16px 0 4px;}
.summary-plan-list div{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;background:#f4fbfa;border-radius:16px;padding:12px;}
.summary-plan-list span{width:26px;height:26px;background:#d7fff2;color:#00785d;border-radius:999px;display:grid;place-items:center;font-weight:1000;}
.quick-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 28px;}
.quick-card{border:0;text-align:left;background:rgba(255,255,255,.82);box-shadow:0 10px 30px rgba(18,61,68,.1);border-radius:22px;padding:16px;min-height:92px;color:#071416;}
.quick-card span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#45676f;font-weight:1000;margin-bottom:6px;}
.quick-card b{font-size:17px;line-height:1.12;}
.quick-card.spoon{background:linear-gradient(135deg,#fff8d7,#fff);}
.quick-card.proof{background:linear-gradient(135deg,#dff9ff,#fff);}
.simple-latest{margin-top:0!important;}
.simple-latest .proof-section{margin-top:0!important;}
.simple-latest .proof-section>.section-head h2{font-size:25px!important;}
.simple-latest .proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.simple-latest .proof-card{border-radius:22px;padding:16px;background:#fff;box-shadow:0 8px 26px rgba(18,61,68,.09);}
.simple-latest .proof-card strong{font-size:18px;}
.simple-latest .proof-card span{font-size:13px;}
/* Keep secondary pages clean and phone-friendly too */
.page{width:min(840px,calc(100% - 30px))!important;margin:22px auto 92px!important;}
.report-card,.food-check-card,.food-result,.plan-card,.spoon-card,.promo-card,.proof-card{border-radius:26px!important;}
.mobile-nav{display:grid!important;background:rgba(255,255,255,.92)!important;border-radius:22px!important;height:66px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;box-shadow:0 12px 34px rgba(8,46,56,.18)!important;}
.mobile-nav button.active{background:#0f1b1f!important;color:#fff!important;}
@media(min-width:860px){
  .score-hero{min-height:470px;}
  .hero-content{min-height:430px;}
  .hero-score-line strong{font-size:136px;}
  .hero-band{font-size:32px;}
  .cs-main.simple-home{margin-top:-46px!important;}
  .report-summary-card{padding:30px 34px;}
  .report-summary-card h2{font-size:30px;}
  .report-summary-card p{font-size:18px;}
  .mobile-nav{display:none!important;}
}
@media(max-width:560px){
  .cs-topbar{height:56px!important;padding-inline:14px!important;}
  .cs-logo b{font-size:19px!important;}
  .save-pill{font-size:0!important;width:34px;height:34px;padding:0!important;display:grid;place-items:center;border-radius:50%!important;}
  .save-pill:after{content:"✓";font-size:15px;}
  .score-hero{min-height:370px;}
  .hero-content{min-height:336px;padding:20px 14px 70px;}
  .hero-programme{font-size:11px;margin-bottom:12px;}
  .hero-score-line strong{font-size:102px;}
  .hero-score-line span{font-size:15px;margin-bottom:10px;}
  .hero-score-line em{font-size:12px;padding:6px 9px;}
  .hero-band{font-size:22px;}
  .hero-plan-pill{font-size:13px;padding:7px 12px;}
  .cs-main.simple-home{width:calc(100% - 24px)!important;margin-top:-36px!important;}
  .report-summary-card{border-radius:24px;padding:20px 17px;}
  .report-summary-card h2{font-size:22px;}
  .report-summary-card p{font-size:16px;}
  .summary-actions{grid-template-columns:1fr;gap:10px;}
  .quick-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin-bottom:20px;}
  .quick-card{min-width:72%;scroll-snap-align:start;}
  .simple-latest .proof-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .simple-latest .proof-card{padding:13px;border-radius:18px!important;}
  .simple-latest .proof-card small{font-size:10px;}
  .simple-latest .proof-card strong{font-size:16px;}
  .simple-latest .proof-card span{font-size:12px;}
  .section-head{margin:16px 0 12px!important;}
  .page{width:calc(100% - 24px)!important;margin-top:18px!important;}
}
@media(max-width:380px){
  .hero-score-line strong{font-size:88px;}
  .hero-band{font-size:20px;}
  .simple-latest .proof-grid{grid-template-columns:1fr;}
}

/* v2.5.3 — Mobile Simplicity & Proof Honesty
   ClearScore-inspired simplification: home becomes score + summary + at-a-glance only. */
:root{
  --ss-summary-border:#9edfe4;
  --ss-summary-shadow:0 18px 44px rgba(18,61,68,.13);
  --ss-gold-soft:#fff6d8;
  --ss-proof-soft:#e9fbff;
}
.report-summary-card{
  border:1px solid var(--ss-summary-border)!important;
  box-shadow:var(--ss-summary-shadow)!important;
  position:relative;
  overflow:hidden;
}
.report-summary-card:before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,#50e1d2,#6ed6ff,#ffd166);
}
.report-summary-card h2{margin-top:4px!important;}
.glance-card{
  margin-top:18px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(158,223,228,.65);
  border-radius:26px;
  padding:18px;
  box-shadow:0 10px 28px rgba(18,61,68,.08);
}
.section-head.compact{margin:0 0 12px!important;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.section-head.compact h2{font-size:22px!important;margin:0;}
.glance-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.glance-pill{
  border:0;
  text-align:left;
  border-radius:20px;
  padding:15px 14px;
  background:#f7fbfb;
  color:#071416;
  min-height:86px;
  box-shadow:0 7px 20px rgba(18,61,68,.06);
}
.glance-pill small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:#45676f;font-weight:1000;margin-bottom:7px;}
.glance-pill strong{font-size:17px;line-height:1.14;display:block;}
.glance-pill.plan{background:linear-gradient(135deg,var(--ss-gold-soft),#fff);}
.glance-pill.spoon{background:linear-gradient(135deg,#fff8d8,#fefefe);}
.glance-pill.proof{background:linear-gradient(135deg,var(--ss-proof-soft),#fff);}
/* Hide the earlier dashboard-tile strip if any cached HTML still produces it. */
.quick-strip{display:none!important;}
/* Stronger hero number, quieter supporting text. */
.hero-score-line strong{filter:drop-shadow(0 10px 24px rgba(0,0,0,.24));}
.hero-score-label{opacity:.92!important;}
.hero-band{margin-top:2px;}
.hero-programme{background:rgba(7,20,22,.56)!important;}
/* Honest proof colour states used in the Proof tab. */
.proof-card.good span{color:#006b4b!important;}
.proof-card.watch{border-color:#ffd08a!important;background:#fff9eb!important;}
.proof-card.watch span{color:#895200!important;}
.proof-card.neutral span{color:#5c7280!important;}
/* Desktop: keep it elegant and narrower like a scorecard, not a full-width dashboard. */
@media(min-width:860px){
  .cs-main.simple-home{width:min(700px,calc(100% - 34px))!important;}
  .score-hero{min-height:440px;}
  .hero-content{min-height:405px;}
  .hero-score-line strong{font-size:148px;}
  .hero-band{font-size:34px;}
  .report-summary-card{padding:30px 34px!important;}
}
/* Mobile-first: top bar is brand/status only; bottom nav owns navigation. */
@media(max-width:859px){
  .cs-topbar{justify-content:space-between!important;}
  .cs-nav{display:none!important;}
  .cs-logo{margin-right:0!important;}
}
@media(max-width:560px){
  .score-hero{min-height:430px!important;}
  .hero-content{min-height:386px!important;padding:24px 14px 82px!important;}
  .hero-score-line strong{font-size:124px!important;}
  .hero-score-line span{font-size:17px!important;margin-bottom:13px!important;}
  .hero-score-line em{font-size:13px!important;}
  .hero-band{font-size:24px!important;}
  .cs-main.simple-home{margin-top:-44px!important;width:calc(100% - 24px)!important;}
  .report-summary-card{padding:22px 18px!important;border-radius:25px!important;}
  .summary-actions{grid-template-columns:1fr!important;}
  .glance-card{padding:16px;margin-top:14px;border-radius:24px;}
  .glance-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px;}
  .glance-pill{min-width:74%;scroll-snap-align:start;}
  .section-head.compact h2{font-size:20px!important;}
}
@media(max-width:380px){
  .hero-score-line strong{font-size:104px!important;}
  .hero-band{font-size:21px!important;}
  .hero-programme{font-size:10px!important;}
}


/* v2.5.5 — Foreground confetti layer
   Confetti must appear in front of the celebration popup, not behind the blurred overlay. */
.celebration-modal{
  z-index:200!important;
  background:rgba(4,14,18,.18)!important;
  backdrop-filter:blur(2px)!important;
}
.celebration-box{
  position:relative!important;
  z-index:210!important;
}
.confetti-canvas{
  position:fixed!important;
  inset:0!important;
  z-index:230!important;
  pointer-events:none!important;
  mix-blend-mode:normal!important;
}
@media (prefers-reduced-motion: reduce){
  .confetti-canvas{display:none!important;}
}

/* v2.5.6 — ClearScore-level crispness pass
   Non-regression lock: keeps v2.5.5 foreground confetti, modern sound and simplified home structure. */
:root{
  --ss-bg:#eaf7f6;
  --ss-ink:#06161b;
  --ss-deep:#11191b;
  --ss-deep-2:#0b282c;
  --ss-teal:#67f1e4;
  --ss-teal-2:#48b7d4;
  --ss-card:#ffffff;
  --ss-border:#cce9ec;
  --ss-crisp-shadow:0 18px 44px rgba(8,45,52,.14);
  --ss-card-shadow:0 10px 26px rgba(8,45,52,.10);
}
body{background:var(--ss-bg)!important;color:var(--ss-ink)!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.cs-topbar{height:64px!important;background:linear-gradient(180deg,#151c1d,#111819)!important;box-shadow:0 8px 22px rgba(0,0,0,.18)!important;padding:0 clamp(16px,4vw,64px)!important;}
.cs-logo{font-size:22px!important;letter-spacing:-.035em!important;}
.cs-logo span{font-size:20px!important;opacity:.9;}
.cs-nav button{font-size:15px!important;padding:10px 16px!important;border-radius:20px!important;}
.cs-nav button.active{background:rgba(255,255,255,.16)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;}
.save-pill{border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 6px 16px rgba(0,0,0,.15)!important;}

.premium-score-hero{min-height:520px!important;background:#10201e!important;position:relative!important;}
.premium-score-hero .hero-landscape{background:
  linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,.04) 44%,rgba(0,0,0,.26)),
  linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.24)),
  url('/assets/sugarspoons-landscape-v256.svg') center/cover no-repeat!important;filter:saturate(1.08) contrast(1.04);}
.premium-score-hero .hero-landscape:before{background:radial-gradient(circle at 68% 44%,rgba(103,241,228,.22),transparent 22%),linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18))!important;opacity:1!important;}
.premium-score-hero .hero-landscape:after{height:128px!important;bottom:-64px!important;background:var(--ss-bg)!important;box-shadow:0 -18px 50px rgba(106,226,232,.28)!important;}
.premium-hero-content{width:min(1120px,calc(100% - 52px));margin:0 auto!important;min-height:480px!important;display:grid!important;grid-template-columns:1fr 360px!important;align-items:center!important;gap:48px!important;text-align:left!important;padding:54px 0 118px!important;place-items:unset!important;}
.hero-welcome{display:block;color:#fff;text-shadow:0 5px 18px rgba(0,0,0,.38);}
.hero-welcome span{display:block;font-size:28px;font-weight:900;letter-spacing:-.04em;line-height:1;}
.hero-welcome strong{display:block;font-size:64px;font-weight:1000;letter-spacing:-.07em;line-height:.93;margin:8px 0 18px;}
.hero-welcome em{display:inline-flex;font-style:normal;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.20);backdrop-filter:blur(10px);padding:9px 14px;border-radius:999px;font-weight:1000;font-size:13px;text-transform:uppercase;letter-spacing:.09em;}
.hero-score-orb{position:relative;display:grid;place-items:center;text-align:center;width:350px;height:350px;border-radius:50%;color:#fff;background:radial-gradient(circle at 50% 50%,rgba(6,18,22,.64) 0 51%,rgba(6,18,22,.88) 52% 60%,rgba(255,255,255,.12) 61% 62%,rgba(255,255,255,.14) 63% 100%);box-shadow:0 26px 70px rgba(0,0,0,.35),inset 0 0 0 14px rgba(0,0,0,.26);isolation:isolate;}
.hero-score-orb:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:conic-gradient(var(--ss-teal) calc(var(--score,72)*1%),rgba(255,255,255,.18) 0);z-index:-1;box-shadow:0 0 0 1px rgba(255,255,255,.18);}
.hero-score-orb:after{content:"";position:absolute;inset:22px;border-radius:50%;background:radial-gradient(circle at 45% 42%,rgba(255,255,255,.16),transparent 38%);pointer-events:none;}
.hero-score-orb .hero-programme{position:absolute;top:72px;background:rgba(4,12,14,.68)!important;border:0!important;font-size:11px!important;letter-spacing:.03em;text-transform:none;padding:6px 11px!important;}
.hero-score-orb .hero-score-line{margin-top:18px;display:flex!important;align-items:baseline!important;gap:8px!important;justify-content:center!important;}
.hero-score-orb .hero-score-line strong{font-size:96px!important;line-height:.78!important;letter-spacing:-.09em!important;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))!important;}
.hero-score-orb .hero-score-line span{font-size:15px!important;margin:0 0 8px!important;}
.hero-score-orb .hero-score-line em{align-self:center!important;background:#aaf9eb!important;color:#07343a!important;font-size:13px!important;padding:7px 10px!important;margin-left:2px;}
.hero-score-orb .hero-score-label{font-size:12px!important;font-weight:1000!important;opacity:1!important;margin:6px 0 0!important;color:#fff!important;}
.hero-score-orb .hero-band{font-size:0!important;margin-top:0!important;}
.hero-score-orb .hero-band:before{content:attr(data-band);}
.hero-score-orb .hero-plan-pill{margin-top:16px!important;background:#b9fff0!important;color:#083a3c!important;box-shadow:0 8px 20px rgba(0,0,0,.20)!important;font-size:13px!important;padding:8px 14px!important;}
/* band text cannot be read by attr without markup attr; keep visible through direct text below */
.hero-score-orb .hero-band{display:block!important;font-size:15px!important;font-weight:1000!important;letter-spacing:0!important;color:#fff!important;text-shadow:0 4px 14px rgba(0,0,0,.35)!important;margin-top:6px!important;}
.hero-curve{height:86px!important;}
.hero-curve span{height:14px!important;background:linear-gradient(90deg,#6bf3ef,#3cadd4)!important;border-radius:0 999px 999px 0!important;box-shadow:0 10px 24px rgba(61,184,217,.34)!important;}

.cs-main.simple-home{width:min(760px,calc(100% - 32px))!important;margin:-54px auto 96px!important;}
.report-summary-card{background:rgba(255,255,255,.96)!important;border:1px solid rgba(155,221,226,.90)!important;border-radius:24px!important;padding:28px 32px!important;box-shadow:var(--ss-crisp-shadow)!important;}
.report-summary-card:before{height:4px!important;background:linear-gradient(90deg,#56e6db,#7ad3ff,#ffd166)!important;}
.report-summary-card h2{font-size:27px!important;line-height:1.05!important;letter-spacing:-.045em!important;margin-bottom:12px!important;}
.report-summary-card p{font-size:17px!important;line-height:1.56!important;color:#183238!important;margin-bottom:20px!important;}
.summary-actions{gap:12px!important;}
.summary-actions .dark-button,.summary-actions .soft-button{min-height:52px!important;border-radius:15px!important;background:#0e3a43!important;color:#fff!important;box-shadow:0 8px 18px rgba(8,45,52,.14)!important;}
.summary-actions .dark-button:hover,.summary-actions .soft-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(8,45,52,.17)!important;}
.glance-card{margin-top:16px!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(155,221,226,.72)!important;border-radius:24px!important;padding:18px!important;box-shadow:0 10px 28px rgba(8,45,52,.08)!important;}
.section-head.compact h2{font-size:21px!important;letter-spacing:-.04em!important;}
.glance-pill{border:1px solid rgba(8,45,52,.04)!important;border-radius:18px!important;box-shadow:none!important;min-height:78px!important;padding:14px 13px!important;}
.glance-pill small{font-size:10px!important;color:#507079!important;}
.glance-pill strong{font-size:16px!important;}
.glance-pill.plan{background:linear-gradient(135deg,#fff5d8,#fffefa)!important;}
.glance-pill.spoon{background:linear-gradient(135deg,#fff8db,#fff)!important;}
.glance-pill.proof{background:linear-gradient(135deg,#e9fbff,#fff)!important;}

@media(max-width:859px){
  .cs-topbar{height:58px!important;padding:0 14px!important;}
  .premium-score-hero{min-height:420px!important;}
  .premium-hero-content{display:grid!important;width:100%!important;min-height:382px!important;grid-template-columns:1fr!important;place-items:center!important;text-align:center!important;padding:22px 16px 84px!important;}
  .hero-welcome{display:none!important;}
  .hero-score-orb{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;inset:auto!important;isolation:auto!important;}
  .hero-score-orb:before,.hero-score-orb:after{display:none!important;}
  .hero-score-orb .hero-programme{position:static!important;margin:0 auto 14px!important;background:rgba(4,12,14,.58)!important;font-size:11px!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
  .hero-score-orb .hero-score-line strong{font-size:124px!important;}
  .hero-score-orb .hero-score-line span{font-size:17px!important;margin-bottom:12px!important;}
  .hero-score-orb .hero-band{font-size:24px!important;margin-top:4px!important;}
  .hero-score-orb .hero-score-label{font-size:12px!important;margin-top:4px!important;}
  .hero-score-orb .hero-plan-pill{font-size:13px!important;margin-top:12px!important;}
  .cs-main.simple-home{width:calc(100% - 24px)!important;margin-top:-44px!important;}
  .report-summary-card{border-radius:24px!important;padding:22px 18px!important;}
  .report-summary-card h2{font-size:23px!important;}
  .report-summary-card p{font-size:16px!important;}
  .summary-actions{grid-template-columns:1fr!important;}
  .glance-row{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px;}
  .glance-pill{min-width:74%;scroll-snap-align:start;}
}
@media(max-width:420px){
  .premium-score-hero{min-height:395px!important;}
  .premium-hero-content{min-height:360px!important;}
  .hero-score-orb .hero-score-line strong{font-size:108px!important;}
  .hero-score-orb .hero-band{font-size:22px!important;}
}

/* v2.5.7 — Personal hero image upload
   Keeps the v2.5.6 crisp scorecard layout, but allows the hero background to be personalised. */
.premium-score-hero .hero-landscape.custom-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.08) 44%,rgba(0,0,0,.36)),
    linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.34)),
    var(--hero-url) var(--hero-position,center center)/cover no-repeat!important;
  filter:saturate(1.04) contrast(1.03)!important;
}
.premium-score-hero .hero-landscape.custom-hero:before{
  background:radial-gradient(circle at 68% 44%,rgba(103,241,228,.20),transparent 22%),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.22))!important;
}
.hero-personalisation-card{overflow:hidden;}
.hero-preview{
  min-height:210px;
  border-radius:26px;
  margin:20px 0;
  display:grid;
  place-items:center;
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.12),rgba(0,0,0,.34)),
    url('/assets/sugarspoons-landscape-v256.svg') center/cover no-repeat;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 16px 34px rgba(8,45,52,.13);
}
.hero-preview.custom{
  background:
    linear-gradient(90deg,rgba(0,0,0,.44),rgba(0,0,0,.12),rgba(0,0,0,.36)),
    var(--hero-url) var(--hero-position,center center)/cover no-repeat;
}
.hero-preview:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(103,241,228,.16),transparent 26%);pointer-events:none;}
.hero-preview>div{position:relative;z-index:1;text-align:center;text-shadow:0 8px 22px rgba(0,0,0,.42);}
.hero-preview strong{font-size:80px;letter-spacing:-.08em;line-height:.84;}
.hero-preview span{font-weight:1000;margin-left:3px;}
.hero-preview small{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:12px;margin-top:8px;}
.hero-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:12px 0 6px;}
.upload-button{display:inline-flex;align-items:center;justify-content:center;margin:0;border-radius:999px;padding:13px 18px;background:#07343a;color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 10px 20px rgba(7,52,58,.15);}
.upload-button input{display:none;}
.hero-position-tools{margin-top:18px;background:#f4fbfb;border:1px solid #d8ecee;border-radius:20px;padding:15px;}
.hero-position-tools b{display:block;margin-bottom:10px;}
.hero-position-tools div{display:flex;gap:8px;flex-wrap:wrap;}
.hero-position-tools button{border:0;background:#fff;border-radius:999px;padding:10px 13px;font-weight:900;color:#07343a;box-shadow:0 4px 12px rgba(8,45,52,.08);}
.privacy-note{display:block;color:#5c7280;margin-top:14px;line-height:1.45;}
@media(max-width:560px){
  .hero-preview{min-height:185px;border-radius:22px;}
  .hero-preview strong{font-size:66px;}
  .hero-controls{display:grid;grid-template-columns:1fr;}
  .upload-button,.hero-controls .secondary{width:100%;}
}

/* v2.5.8 — Crisp Mobile Score Orb UI
   Non-regression lock: keeps the simplified home structure, personal hero upload, foreground confetti and modern sound.
   Goal: one visual language, less noise, clearer score orb, no stray progress bar. */
:root{
  --ss-v258-bg:#eaf7f6;
  --ss-v258-ink:#071416;
  --ss-v258-deep:#111819;
  --ss-v258-teal:#71f5e8;
  --ss-v258-blue:#54bde3;
  --ss-v258-card:#ffffff;
  --ss-v258-border:#bddfe4;
  --ss-v258-shadow:0 18px 44px rgba(8,45,52,.12);
}
html,body{background:var(--ss-v258-bg)!important;color:var(--ss-v258-ink)!important;}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
.cs-topbar{height:62px!important;background:#121819!important;box-shadow:0 8px 20px rgba(0,0,0,.18)!important;border-bottom:0!important;}
.cs-logo span{font-size:18px!important;filter:none!important;}
.cs-logo b{font-size:22px!important;letter-spacing:-.045em!important;color:#fff!important;}
.cs-nav button{font-weight:850!important;border-radius:999px!important;}
.cs-nav button.active{background:rgba(255,255,255,.16)!important;color:#fff!important;}
.save-pill{background:rgba(113,245,232,.12)!important;color:#dcfffb!important;border:1px solid rgba(113,245,232,.25)!important;text-transform:capitalize!important;}

.v258-score-hero{min-height:542px!important;background:#10191a!important;overflow:hidden!important;isolation:isolate!important;}
.v258-score-hero .hero-landscape{position:absolute!important;inset:0!important;background:
  linear-gradient(90deg,rgba(0,0,0,.36),rgba(0,0,0,.10) 46%,rgba(0,0,0,.22)),
  linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.20)),
  url('/assets/sugarspoons-hero-clean-v258.svg') center/cover no-repeat!important;filter:saturate(1.07) contrast(1.04)!important;transform:scale(1.01);}
.v258-score-hero .hero-landscape.custom-hero{background:
  linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.10) 48%,rgba(0,0,0,.38)),
  linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.26)),
  var(--hero-url) var(--hero-position,center center)/cover no-repeat!important;filter:saturate(1.02) contrast(1.04)!important;}
.v258-score-hero .hero-landscape:before,.v258-score-hero .hero-landscape:after{display:none!important;}
.v258-hero-overlay{position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 71% 48%,rgba(113,245,232,.16),transparent 24%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.26));pointer-events:none;}
.v258-hero-content{position:relative!important;z-index:2!important;width:min(1140px,calc(100% - 54px))!important;margin:0 auto!important;display:grid!important;grid-template-columns:1fr 390px!important;gap:56px!important;align-items:center!important;min-height:510px!important;padding:56px 0 120px!important;text-align:left!important;}
.v258-welcome{display:block!important;color:#fff!important;text-shadow:0 6px 20px rgba(0,0,0,.35)!important;}
.v258-welcome span{display:block;font-size:28px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.04em!important;}
.v258-welcome strong{display:block;font-size:66px!important;font-weight:1000!important;line-height:.92!important;letter-spacing:-.075em!important;margin:8px 0 16px!important;}
.v258-welcome em{display:inline-flex!important;background:rgba(12,22,24,.56)!important;color:#fff!important;border:1px solid rgba(255,255,255,.20)!important;backdrop-filter:blur(12px)!important;border-radius:999px!important;padding:9px 14px!important;text-transform:uppercase!important;letter-spacing:.09em!important;font-size:12px!important;font-weight:950!important;}
.v258-score-stage{justify-self:end;display:grid;place-items:center;gap:16px;}
.v258-score-orb{--ring:calc(var(--score,72)*3.6deg);width:356px;height:356px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--ss-v258-teal) 0 var(--ring),rgba(255,255,255,.20) var(--ring) 360deg);box-shadow:0 28px 72px rgba(0,0,0,.38),0 0 0 1px rgba(255,255,255,.16);}
.v258-score-orb:before{content:"";position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.16),rgba(255,255,255,.05) 34%,rgba(5,14,17,.86) 64%,rgba(5,14,17,.94));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),inset 0 18px 50px rgba(255,255,255,.06);}
.v258-score-orb:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 250deg,rgba(84,189,227,.95) 0 50deg,transparent 50deg 360deg);mask:radial-gradient(circle,transparent 0 52%,#000 53% 100%);opacity:.9;}
.v258-orb-inner{position:relative;z-index:2;text-align:center;color:#fff;width:78%;display:grid;justify-items:center;}
.v258-programme{display:inline-flex;align-items:center;justify-content:center;background:rgba(0,0,0,.52);border-radius:999px;padding:7px 11px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v258-score-row{display:flex;align-items:baseline;justify-content:center;gap:7px;}
.v258-score-row strong{font-size:100px;line-height:.78;font-weight:1000;letter-spacing:-.09em;text-shadow:0 10px 24px rgba(0,0,0,.36);}
.v258-score-row span{font-size:15px;font-weight:1000;color:#fff;margin-bottom:8px;}
.v258-delta{margin-top:10px;background:#a9fff2;color:#06333a;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:1000;box-shadow:0 8px 18px rgba(0,0,0,.22);}
.v258-label{margin-top:16px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;color:#cffff9;}
.v258-band{font-size:25px;line-height:1.05;font-weight:1000;letter-spacing:-.045em;margin-top:6px;text-shadow:0 7px 20px rgba(0,0,0,.32);}
.v258-proof-button{margin-top:18px;border:0;border-radius:999px;background:#bbfff2;color:#07343a;padding:11px 18px;font-weight:1000;box-shadow:0 10px 22px rgba(0,0,0,.22);cursor:pointer;}
.v258-plan-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.90);color:#123d44;padding:9px 15px;font-size:13px;font-weight:1000;box-shadow:0 12px 28px rgba(0,0,0,.20);}
.hero-curve{display:none!important;}
.v258-hero-curve{position:absolute;z-index:3;left:-4%;right:-4%;bottom:-46px;height:128px;background:var(--ss-v258-bg);border-radius:50% 50% 0 0/74% 74% 0 0;box-shadow:0 -22px 54px rgba(105,226,232,.30);pointer-events:none;}

.cs-main.simple-home{width:min(720px,calc(100% - 34px))!important;margin:-50px auto 96px!important;position:relative!important;z-index:5!important;}
.report-summary-card{background:#fff!important;border:1px solid var(--ss-v258-border)!important;border-radius:28px!important;padding:28px 32px!important;box-shadow:var(--ss-v258-shadow)!important;}
.report-summary-card:before{height:0!important;display:none!important;}
.report-summary-card h2{font-size:29px!important;line-height:1.06!important;letter-spacing:-.052em!important;margin:0 0 12px!important;color:#071416!important;}
.report-summary-card p{font-size:17px!important;line-height:1.56!important;color:#173338!important;margin:0 0 20px!important;}
.summary-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
.summary-actions .dark-button,.summary-actions .soft-button{border:0!important;border-radius:17px!important;min-height:52px!important;background:#103b44!important;color:#fff!important;font-weight:1000!important;box-shadow:none!important;}
.summary-actions .dark-button.alt{background:#153f48!important;}
.glance-card{margin-top:16px!important;border-radius:26px!important;background:rgba(255,255,255,.86)!important;border:1px solid rgba(189,223,228,.78)!important;box-shadow:0 10px 28px rgba(8,45,52,.08)!important;padding:18px!important;}
.section-head.compact h2{font-size:22px!important;letter-spacing:-.045em!important;color:#071416!important;}
.glance-row{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important;}
.glance-pill{min-height:82px!important;border-radius:20px!important;border:1px solid rgba(12,47,54,.04)!important;box-shadow:none!important;padding:14px!important;}
.glance-pill small{font-size:10px!important;letter-spacing:.1em!important;color:#547078!important;}
.glance-pill strong{font-size:16px!important;letter-spacing:-.02em!important;}

/* Mobile: ClearScore-like hero, no desktop nav clutter, crisp score orb. */
@media(max-width:859px){
  .cs-nav{display:none!important;}
  .cs-topbar{height:58px!important;padding:0 14px!important;}
  .cs-logo b{font-size:19px!important;}
  .save-pill{font-size:0!important;width:34px!important;height:34px!important;border-radius:50%!important;padding:0!important;display:grid!important;place-items:center!important;}
  .save-pill:after{content:"✓";font-size:15px;color:#cffff8;}
  .v258-score-hero{min-height:470px!important;}
  .v258-score-hero .hero-landscape{background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.32)),
    url('/assets/sugarspoons-hero-clean-v258.svg') center/cover no-repeat!important;}
  .v258-score-hero .hero-landscape.custom-hero{background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.36)),
    var(--hero-url) var(--hero-position,center center)/cover no-repeat!important;}
  .v258-hero-content{width:100%!important;grid-template-columns:1fr!important;min-height:430px!important;place-items:center!important;text-align:center!important;padding:24px 16px 92px!important;}
  .v258-welcome{display:none!important;}
  .v258-score-stage{justify-self:center!important;gap:12px!important;}
  .v258-score-orb{width:290px!important;height:290px!important;}
  .v258-score-orb:before{inset:15px!important;}
  .v258-programme{font-size:10px!important;margin-bottom:16px!important;max-width:220px!important;}
  .v258-score-row strong{font-size:92px!important;}
  .v258-score-row span{font-size:14px!important;}
  .v258-delta{font-size:12px!important;padding:6px 10px!important;margin-top:8px!important;}
  .v258-label{font-size:10px!important;margin-top:13px!important;}
  .v258-band{font-size:23px!important;}
  .v258-proof-button{display:none!important;}
  .v258-plan-status{font-size:13px!important;padding:8px 13px!important;}
  .v258-hero-curve{height:96px!important;bottom:-38px!important;}
  .cs-main.simple-home{width:calc(100% - 24px)!important;margin-top:-42px!important;margin-bottom:94px!important;}
  .summary-actions{grid-template-columns:1fr!important;}
  .glance-row{display:flex!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding-bottom:7px!important;}
  .glance-pill{min-width:74%!important;scroll-snap-align:start!important;}
}
@media(max-width:560px){
  .v258-score-hero{min-height:452px!important;}
  .v258-hero-content{min-height:414px!important;padding:22px 14px 86px!important;}
  .v258-score-orb{width:272px!important;height:272px!important;}
  .v258-score-row strong{font-size:86px!important;}
  .v258-band{font-size:22px!important;}
  .report-summary-card{border-radius:26px!important;padding:22px 18px!important;}
  .report-summary-card h2{font-size:24px!important;}
  .report-summary-card p{font-size:16px!important;}
  .glance-card{border-radius:24px!important;padding:16px!important;}
  .section-head.compact h2{font-size:20px!important;}
}
@media(max-width:380px){
  .v258-score-orb{width:248px!important;height:248px!important;}
  .v258-score-row strong{font-size:76px!important;}
  .v258-programme{max-width:190px!important;}
  .v258-band{font-size:20px!important;}
}

/* v2.5.9 — Metric edit + ClearScore-style glass score orb
   Non-regression: preserves simplified Home, personal hero, foreground confetti and modern sound. */
:root{
  --ss-v259-aqua:#6bf4e8;
  --ss-v259-blue:#55bfe9;
  --ss-v259-track:rgba(255,255,255,.22);
  --ss-v259-glass:rgba(7,18,22,.38);
}
/* Orb should feel like the ClearScore target: transparent blurred centre, thick progress ring, number centred. */
.v258-score-stage{justify-self:center!important;place-self:center!important;align-self:center!important;}
.v258-score-orb{
  width:372px!important;
  height:372px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:
    conic-gradient(from 208deg,var(--ss-v259-aqua) 0 var(--ring),var(--ss-v259-track) var(--ring) 360deg)!important;
  box-shadow:0 32px 82px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.18)!important;
  overflow:hidden!important;
}
.v258-score-orb:before{
  content:""!important;
  position:absolute!important;
  inset:24px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 42% 36%,rgba(255,255,255,.18),transparent 34%),
    rgba(6,18,22,.32)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 26px 58px rgba(255,255,255,.06)!important;
}
.v258-score-orb:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  background:
    conic-gradient(from 108deg,transparent 0 242deg,rgba(164,255,245,.86) 242deg 280deg,transparent 280deg 360deg),
    conic-gradient(from 312deg,transparent 0 10deg,var(--ss-v259-blue) 10deg 46deg,transparent 46deg 360deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 58%,#000 59% 100%)!important;
  mask:radial-gradient(circle,transparent 0 58%,#000 59% 100%)!important;
  opacity:.92!important;
}
.v258-orb-inner{
  width:70%!important;
  min-height:70%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  z-index:2!important;
  color:#fff!important;
  transform:translateY(1px);
}
.v258-programme{position:absolute!important;top:70px!important;margin:0!important;max-width:250px!important;background:rgba(0,0,0,.50)!important;border:1px solid rgba(255,255,255,.10)!important;}
.v258-score-row{display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;margin-top:18px!important;line-height:1!important;}
.v258-score-row strong{font-size:108px!important;line-height:.78!important;letter-spacing:-.085em!important;text-align:center!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35))!important;}
.v258-score-row em{font-style:normal!important;background:#aafff1!important;color:#07343a!important;border-radius:999px!important;padding:7px 11px!important;font-size:14px!important;font-weight:1000!important;align-self:center!important;box-shadow:0 10px 22px rgba(0,0,0,.22)!important;}
.v259-outof{font-size:14px!important;font-weight:1000!important;color:#fff!important;line-height:1!important;margin-top:14px!important;text-shadow:0 5px 14px rgba(0,0,0,.35)!important;}
.v258-label{margin-top:18px!important;color:#d8fffb!important;font-size:11px!important;letter-spacing:.13em!important;}
.v258-delta{margin-top:8px!important;background:transparent!important;color:#d9f5f1!important;box-shadow:none!important;padding:0!important;font-size:14px!important;font-weight:900!important;}
.v258-band{font-size:28px!important;margin-top:6px!important;}
.v258-proof-button{margin-top:18px!important;background:#adfff1!important;}
.v258-plan-status{margin-top:0!important;}
/* Keep desktop hero closer to the target: orb centred in its hero area and visually dominant. */
@media(min-width:860px){
  .v258-hero-content{grid-template-columns:1fr 420px!important;}
  .v258-score-stage{justify-self:center!important;}
}
@media(max-width:859px){
  .v258-score-orb{width:304px!important;height:304px!important;}
  .v258-score-orb:before{inset:20px!important;}
  .v258-programme{top:50px!important;font-size:9px!important;max-width:215px!important;padding:6px 10px!important;}
  .v258-score-row{margin-top:18px!important;gap:8px!important;}
  .v258-score-row strong{font-size:94px!important;}
  .v258-score-row em{font-size:12px!important;padding:6px 9px!important;}
  .v259-outof{font-size:13px!important;margin-top:11px!important;}
  .v258-label{font-size:9px!important;margin-top:14px!important;}
  .v258-delta{font-size:12px!important;}
  .v258-band{font-size:22px!important;}
}
@media(max-width:380px){
  .v258-score-orb{width:276px!important;height:276px!important;}
  .v258-score-row strong{font-size:84px!important;}
  .v258-programme{top:46px!important;max-width:190px!important;}
}

/* Metric correction editor */
.proof-actions{margin-top:18px!important;}
.metric-editor-card{
  background:#fff!important;
  border:1px solid #bddfe4!important;
  border-radius:28px!important;
  padding:26px!important;
  margin:0 0 24px!important;
  box-shadow:0 14px 36px rgba(8,45,52,.12)!important;
}
.metric-editor-card .editor-note{margin:0 0 18px!important;color:#47656e!important;}
.metric-edit-group{background:#f7fbfb;border:1px solid #e0eff1;border-radius:22px;padding:18px;margin:14px 0;}
.metric-edit-group h3{margin:0 0 12px;font-size:18px;letter-spacing:-.02em;}
.metric-edit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.metric-edit-grid label{margin:0;font-size:13px;color:#334f58;font-weight:900;}
.metric-edit-grid input{margin-top:6px;border-radius:14px;padding:12px 13px;background:#fff;}
.soft-button{border:0;border-radius:17px;min-height:52px;background:#edf7f8;color:#0e3d45;font-weight:1000;padding:14px 22px;}
@media(max-width:720px){
  .metric-edit-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .metric-editor-card{padding:20px;border-radius:24px;}
}
@media(max-width:420px){
  .metric-edit-grid{grid-template-columns:1fr;}
}

/* v2.5.10 — Centred ClearScore-style orb correction
   Non-regression: preserves metric editing, personal hero image upload, simplified summary/at-a-glance, foreground confetti and modern sound.
   Goal: match the supplied target more closely — one centred hero orb, thick progress ring, transparent blurred glass centre,
   large score number, small "Out of 100" beneath, no text collisions inside the orb. */
.v2510-score-hero{
  min-height:560px!important;
  display:block!important;
  position:relative!important;
  overflow:hidden!important;
  background:#11191b!important;
}
.v2510-score-hero .hero-landscape{
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.20) 44%,rgba(0,0,0,.48)),
    linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.22)),
    url('/assets/sugarspoons-hero-clean-v258.svg') center/cover no-repeat!important;
  filter:saturate(1.08) contrast(1.04)!important;
  transform:none!important;
}
.v2510-score-hero .hero-landscape.custom-hero{
  background:
    linear-gradient(90deg,rgba(0,0,0,.50),rgba(0,0,0,.18) 46%,rgba(0,0,0,.52)),
    linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.25)),
    var(--hero-url) var(--hero-position,center center)/cover no-repeat!important;
}
.v2510-score-hero .hero-landscape:before,
.v2510-score-hero .hero-landscape:after{display:none!important;}
.v2510-hero-overlay{
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 50% 49%,rgba(97,244,233,.24),transparent 26%),
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.22))!important;
  pointer-events:none!important;
}
.v2510-hero-content{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-height:520px!important;
  display:grid!important;
  place-items:center!important;
  grid-template-columns:1fr!important;
  padding:44px 18px 120px!important;
  text-align:center!important;
  margin:0!important;
}
.v2510-score-stage{
  width:min(420px,92vw)!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  align-self:center!important;
  gap:18px!important;
  transform:none!important;
}
.v2510-score-orb{
  --ring:calc(var(--score,72) * 3.6deg);
  width:338px!important;
  height:338px!important;
  border-radius:50%!important;
  position:relative!important;
  display:grid!important;
  place-items:center!important;
  isolation:isolate!important;
  background:
    conic-gradient(from 216deg,
      #6bf4e8 0 var(--ring),
      rgba(255,255,255,.20) var(--ring) 360deg)!important;
  box-shadow:
    0 30px 80px rgba(0,0,0,.42),
    0 0 0 1px rgba(255,255,255,.18)!important;
}
.v2510-score-orb:before{
  content:""!important;
  position:absolute!important;
  inset:28px!important;
  border-radius:50%!important;
  background:
    radial-gradient(circle at 48% 42%,rgba(255,255,255,.20),rgba(255,255,255,.08) 32%,rgba(7,18,22,.30) 54%,rgba(7,18,22,.40)),
    rgba(7,18,22,.18)!important;
  -webkit-backdrop-filter:blur(15px) saturate(1.08)!important;
  backdrop-filter:blur(15px) saturate(1.08)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    inset 0 22px 50px rgba(255,255,255,.08),
    inset 0 -28px 62px rgba(0,0,0,.24)!important;
  z-index:0!important;
}
.v2510-score-orb:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  background:conic-gradient(from 314deg,transparent 0 8deg,#58b9df 8deg 48deg,transparent 48deg 360deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 62%,#000 63% 100%)!important;
  mask:radial-gradient(circle,transparent 0 62%,#000 63% 100%)!important;
  opacity:.92!important;
  z-index:1!important;
  pointer-events:none!important;
}
.v2510-orb-glass{
  position:relative!important;
  z-index:2!important;
  width:72%!important;
  height:72%!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  color:#fff!important;
  text-align:center!important;
  text-shadow:0 8px 22px rgba(0,0,0,.42)!important;
}
.v2510-score-number{
  position:relative!important;
  display:inline-grid!important;
  grid-template-columns:auto auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  line-height:1!important;
}
.v2510-score-number strong{
  font-size:122px!important;
  line-height:.78!important;
  letter-spacing:-.09em!important;
  font-weight:1000!important;
  color:#fff!important;
  text-align:center!important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.42))!important;
}
.v2510-score-number em{
  font-style:normal!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  background:#a8fff1!important;
  color:#07343a!important;
  border-radius:999px!important;
  padding:7px 11px!important;
  min-width:46px!important;
  height:28px!important;
  font-size:13px!important;
  font-weight:1000!important;
  line-height:1!important;
  box-shadow:0 10px 26px rgba(0,0,0,.25)!important;
}
.v2510-outof{
  margin-top:14px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:1000!important;
  color:#fff!important;
}
.v2510-score-meta{
  display:grid!important;
  justify-items:center!important;
  gap:5px!important;
  color:#fff!important;
  text-shadow:0 8px 26px rgba(0,0,0,.45)!important;
}
.v2510-label{
  text-transform:uppercase!important;
  letter-spacing:.11em!important;
  color:#9dfff2!important;
  font-size:13px!important;
  font-weight:1000!important;
}
.v2510-band{
  font-size:30px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  letter-spacing:-.04em!important;
}
.v2510-plan-status{
  margin-top:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#eafff9!important;
  color:#07343a!important;
  font-weight:1000!important;
  font-size:14px!important;
  box-shadow:0 12px 26px rgba(0,0,0,.20)!important;
  text-shadow:none!important;
}
.v2510-weekline{
  margin-top:4px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:92vw!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:rgba(4,12,14,.58)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
  color:#fff!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-size:11px!important;
  font-weight:1000!important;
  text-shadow:none!important;
}
.v2510-hero-curve{
  position:absolute!important;
  left:-5%!important;
  right:-5%!important;
  bottom:-62px!important;
  height:132px!important;
  border-radius:50% 50% 0 0/68% 68% 0 0!important;
  background:#eaf7f6!important;
  box-shadow:0 -18px 50px rgba(106,226,232,.22)!important;
  z-index:3!important;
}
/* The old orb classes can still exist in cached DOM, but should not affect v2.5.10 markup. */
.v2510-score-hero .v258-welcome,
.v2510-score-hero .v258-programme,
.v2510-score-hero .v258-label,
.v2510-score-hero .v258-delta,
.v2510-score-hero .v258-band,
.v2510-score-hero .v258-proof-button,
.v2510-score-hero .v258-plan-status{display:none!important;}
.cs-main.simple-home{margin-top:-48px!important;position:relative!important;z-index:5!important;}
@media(min-width:860px){
  .v2510-score-hero{min-height:560px!important;}
  .v2510-hero-content{min-height:520px!important;padding-top:38px!important;}
  .v2510-score-orb{width:346px!important;height:346px!important;}
  .v2510-score-number strong{font-size:126px!important;}
}
@media(max-width:859px){
  .v2510-score-hero{min-height:505px!important;}
  .v2510-hero-content{min-height:470px!important;padding:28px 14px 104px!important;}
  .v2510-score-stage{width:min(350px,94vw)!important;gap:14px!important;}
  .v2510-score-orb{width:292px!important;height:292px!important;}
  .v2510-score-orb:before{inset:24px!important;}
  .v2510-score-number strong{font-size:104px!important;}
  .v2510-score-number em{font-size:12px!important;min-width:42px;height:26px;padding:6px 9px!important;}
  .v2510-outof{font-size:13px!important;margin-top:12px!important;}
  .v2510-band{font-size:24px!important;}
  .v2510-label{font-size:12px!important;}
  .v2510-weekline{font-size:10px!important;}
}
@media(max-width:390px){
  .v2510-score-hero{min-height:488px!important;}
  .v2510-score-orb{width:260px!important;height:260px!important;}
  .v2510-score-orb:before{inset:21px!important;}
  .v2510-score-number strong{font-size:90px!important;}
  .v2510-score-number em{font-size:11px!important;min-width:38px;height:24px;}
  .v2510-band{font-size:22px!important;}
}


/* v2.5.11 — Orb rotation, reduced size, clearer centre
   User-requested polish: 40% smaller orb, 90% transparent centre, progress starts at 12 o'clock and the remainder track continues around the circumference back to 12. */
.v2510-score-stage{
  width:min(300px,88vw)!important;
  gap:12px!important;
}
.v2510-score-orb{
  --ring:calc(var(--score,72) * 3.6deg);
  width:206px!important;
  height:206px!important;
  background:transparent!important;
  box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
}
.v2510-score-orb:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg,
    #74f4ea 0 var(--ring),
    transparent var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle, transparent 0 72%, #000 73% 100%)!important;
  mask:radial-gradient(circle, transparent 0 72%, #000 73% 100%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.08)!important;
  z-index:0!important;
}
.v2510-score-orb:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg,
    rgba(255,255,255,0) 0 var(--ring),
    rgba(173,242,255,.34) var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle, transparent 0 77.5%, #000 78.5% 100%)!important;
  mask:radial-gradient(circle, transparent 0 77.5%, #000 78.5% 100%)!important;
  z-index:1!important;
  opacity:1!important;
}
.v2510-orb-glass{
  width:74%!important;
  height:74%!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.11), rgba(255,255,255,.05) 52%, rgba(4,12,14,.10) 100%)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.05)!important;
  backdrop-filter:blur(16px) saturate(1.05)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:inset 0 8px 28px rgba(255,255,255,.06), inset 0 -18px 26px rgba(0,0,0,.08)!important;
}
.v2510-score-number{
  gap:8px!important;
}
.v2510-score-number strong{
  font-size:84px!important;
  line-height:.82!important;
  letter-spacing:-.09em!important;
}
.v2510-score-number em{
  align-self:start!important;
  margin-top:8px!important;
  min-width:34px!important;
  height:22px!important;
  padding:4px 8px!important;
  font-size:10px!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
}
.v2510-outof{
  margin-top:10px!important;
  font-size:12px!important;
  opacity:.95!important;
}
.v2510-score-meta{
  gap:4px!important;
}
.v2510-label{font-size:11px!important;}
.v2510-band{font-size:24px!important;}
.v2510-plan-status{margin-top:6px!important;font-size:13px!important;padding:7px 12px!important;}
.v2510-weekline{font-size:10px!important;}
@media(min-width:860px){
  .v2510-score-hero{min-height:520px!important;}
  .v2510-hero-content{min-height:486px!important;padding-top:34px!important;padding-bottom:94px!important;}
  .v2510-score-stage{width:min(300px,90vw)!important;}
  .v2510-score-orb{width:206px!important;height:206px!important;}
  .v2510-score-number strong{font-size:84px!important;}
}
@media(max-width:859px){
  .v2510-score-hero{min-height:430px!important;}
  .v2510-hero-content{min-height:400px!important;padding:26px 14px 82px!important;}
  .v2510-score-stage{width:min(250px,82vw)!important;gap:10px!important;}
  .v2510-score-orb{width:176px!important;height:176px!important;}
  .v2510-score-number strong{font-size:72px!important;}
  .v2510-score-number em{font-size:9px!important;min-width:30px!important;height:20px!important;padding:4px 7px!important;}
  .v2510-outof{font-size:11px!important;margin-top:8px!important;}
  .v2510-band{font-size:21px!important;}
  .v2510-plan-status{font-size:12px!important;padding:6px 11px!important;}
}
@media(max-width:390px){
  .v2510-score-hero{min-height:400px!important;}
  .v2510-score-stage{width:min(230px,82vw)!important;}
  .v2510-score-orb{width:162px!important;height:162px!important;}
  .v2510-score-number strong{font-size:64px!important;}
  .v2510-score-number em{font-size:8px!important;min-width:28px!important;height:18px!important;}
  .v2510-band{font-size:19px!important;}
}


/* v2.5.12 — Orb micro-polish
   No layout regression: only score orb ring, centre, badge and mobile spacing. */
.v2510-score-orb{
  --ring:calc(var(--score,72) * 3.6deg);
  width:196px!important;
  height:196px!important;
  box-shadow:
    0 18px 46px rgba(0,0,0,.25),
    0 0 0 1px rgba(255,255,255,.10)!important;
}
.v2510-score-orb:before{
  background:conic-gradient(from 0deg,
    #7bf7ec 0 var(--ring),
    transparent var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle, transparent 0 70%, #000 71% 100%)!important;
  mask:radial-gradient(circle, transparent 0 70%, #000 71% 100%)!important;
  filter:drop-shadow(0 0 8px rgba(123,247,236,.28))!important;
}
.v2510-score-orb:after{
  background:conic-gradient(from 0deg,
    rgba(255,255,255,0) 0 var(--ring),
    rgba(184,246,255,.30) var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle, transparent 0 76%, #000 77% 100%)!important;
  mask:radial-gradient(circle, transparent 0 76%, #000 77% 100%)!important;
}
.v2510-orb-glass{
  width:73%!important;
  height:73%!important;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.075), rgba(255,255,255,.035) 54%, rgba(4,12,14,.085) 100%)!important;
  -webkit-backdrop-filter:blur(13px) saturate(1.04)!important;
  backdrop-filter:blur(13px) saturate(1.04)!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:
    inset 0 7px 22px rgba(255,255,255,.045),
    inset 0 -15px 24px rgba(0,0,0,.065)!important;
}
.v2510-score-number{
  transform:translateX(3px)!important;
  gap:6px!important;
}
.v2510-score-number strong{
  font-size:82px!important;
  line-height:.82!important;
  text-align:center!important;
}
.v2510-score-number em{
  margin-top:7px!important;
  transform:translateX(3px)!important;
  min-width:32px!important;
  height:21px!important;
  padding:3px 7px!important;
  font-size:10px!important;
}
.v2510-outof{
  margin-top:9px!important;
  font-size:12px!important;
  letter-spacing:.01em!important;
}
.v2510-label{font-size:10.5px!important;letter-spacing:.10em!important;}
.v2510-band{font-size:23px!important;}
.v2510-plan-status{margin-top:5px!important;}
.v2510-weekline{margin-top:3px!important;}
@media(min-width:860px){
  .v2510-score-hero{min-height:505px!important;}
  .v2510-hero-content{min-height:470px!important;padding-top:30px!important;padding-bottom:88px!important;}
  .v2510-score-stage{width:min(286px,88vw)!important;gap:10px!important;}
  .v2510-score-orb{width:196px!important;height:196px!important;}
  .v2510-score-number strong{font-size:82px!important;}
}
@media(max-width:859px){
  .v2510-score-hero{min-height:410px!important;}
  .v2510-hero-content{min-height:382px!important;padding:22px 14px 76px!important;}
  .v2510-score-stage{width:min(236px,80vw)!important;gap:9px!important;}
  .v2510-score-orb{width:168px!important;height:168px!important;}
  .v2510-score-number strong{font-size:68px!important;}
  .v2510-score-number em{font-size:8.5px!important;min-width:28px!important;height:19px!important;padding:3px 6px!important;margin-top:6px!important;}
  .v2510-outof{font-size:10.5px!important;margin-top:7px!important;}
  .v2510-label{font-size:10px!important;}
  .v2510-band{font-size:20px!important;}
  .v2510-plan-status{font-size:11.5px!important;padding:6px 10px!important;}
  .v2510-weekline{font-size:9px!important;padding:6px 10px!important;}
  .v2510-hero-curve{bottom:-56px!important;height:116px!important;}
  .cs-main.simple-home{margin-top:-38px!important;}
}
@media(max-width:390px){
  .v2510-score-hero{min-height:386px!important;}
  .v2510-hero-content{min-height:360px!important;padding-bottom:70px!important;}
  .v2510-score-stage{width:min(216px,80vw)!important;gap:8px!important;}
  .v2510-score-orb{width:154px!important;height:154px!important;}
  .v2510-score-number strong{font-size:60px!important;}
  .v2510-score-number em{font-size:8px!important;min-width:26px!important;height:17px!important;}
  .v2510-outof{font-size:10px!important;}
  .v2510-band{font-size:18px!important;}
}


/* v2.5.13 — Visible progress ring correction
   The orb must clearly communicate progress: a thick filled arc from 12 o'clock to the current score point,
   then a visible transparent/ghost track completing the circumference back to 12. */
.v2510-score-orb{
  width:210px!important;
  height:210px!important;
  background:transparent!important;
  box-shadow:
    0 18px 50px rgba(0,0,0,.28),
    0 0 0 1px rgba(255,255,255,.12)!important;
}
.v2510-score-orb:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  border-radius:50%!important;
  /* CSS conic starts at 12 o'clock in current browser implementations. */
  background:conic-gradient(
    #72fff0 0 var(--ring),
    rgba(191,252,255,.34) var(--ring) 360deg
  )!important;
  -webkit-mask:radial-gradient(circle, transparent 0 61%, #000 62% 100%)!important;
  mask:radial-gradient(circle, transparent 0 61%, #000 62% 100%)!important;
  z-index:0!important;
  opacity:1!important;
  filter:drop-shadow(0 8px 20px rgba(0,0,0,.22))!important;
  box-shadow:none!important;
}
.v2510-score-orb:after{
  content:""!important;
  position:absolute!important;
  inset:10px!important;
  border-radius:50%!important;
  background:conic-gradient(
    rgba(255,255,255,.30) 0 var(--ring),
    rgba(255,255,255,.12) var(--ring) 360deg
  )!important;
  -webkit-mask:radial-gradient(circle, transparent 0 73%, #000 74% 100%)!important;
  mask:radial-gradient(circle, transparent 0 73%, #000 74% 100%)!important;
  z-index:1!important;
  opacity:1!important;
}
.v2510-orb-glass{
  width:70%!important;
  height:70%!important;
  background:radial-gradient(circle at 50% 35%, rgba(255,255,255,.10), rgba(255,255,255,.04) 54%, rgba(5,18,22,.10) 100%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.04)!important;
  backdrop-filter:blur(14px) saturate(1.04)!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:inset 0 10px 28px rgba(255,255,255,.05), inset 0 -18px 32px rgba(0,0,0,.08)!important;
}
.v2510-score-number strong{font-size:86px!important;}
.v2510-score-number em{margin-top:8px!important;}
@media(max-width:859px){
  .v2510-score-orb{width:182px!important;height:182px!important;}
  .v2510-score-number strong{font-size:74px!important;}
}
@media(max-width:390px){
  .v2510-score-orb{width:168px!important;height:168px!important;}
  .v2510-score-number strong{font-size:66px!important;}
}

/* v2.6 — Carb Route Personalisation
   Route becomes part of the plan contract. Home replaces At-a-glance with proof metrics. */
.home-proof-card{
  margin-top:18px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(158,223,228,.72);
  border-radius:26px;
  padding:18px;
  box-shadow:0 12px 30px rgba(18,61,68,.10);
}
.proof-intro{margin:0 0 14px;color:#45676f;font-size:15px;line-height:1.42;}
.home-proof-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.home-proof-pill{background:#fff;border:1px solid #d9edf0;border-radius:20px;padding:14px;min-height:94px;box-shadow:0 7px 20px rgba(18,61,68,.06);}
.home-proof-pill small{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:#45676f;font-weight:1000;margin-bottom:7px;}
.home-proof-pill strong{display:block;font-size:17px;line-height:1.12;margin-bottom:6px;color:#06161b;}
.home-proof-pill span{display:block;font-size:12px;font-weight:900;color:#0a7654;}
.home-proof-pill.watch{background:#fff9eb;border-color:#ffd08a;}
.home-proof-pill.watch span{color:#895200;}
.home-proof-pill.neutral span{color:#5c7280;}
.plan-contract-card .route-current{display:grid;gap:4px;background:linear-gradient(135deg,#eafff9,#ffffff);border:1px solid #b9eee8;border-radius:22px;padding:18px;margin:18px 0;}
.route-current b{font-size:24px;letter-spacing:-.04em;}
.route-current span{font-weight:900;color:#173f47;}
.route-current small{color:#52717b;font-weight:800;}
.carb-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;}
.carb-route-card,.start-style{border:1px solid #d5e8eb;background:#fff;border-radius:22px;padding:17px;text-align:left;color:#06161b;box-shadow:0 8px 20px rgba(18,61,68,.06);}
.carb-route-card strong,.start-style b{display:block;font-size:19px;margin-bottom:6px;letter-spacing:-.03em;}
.carb-route-card span,.start-style span{display:block;color:#173f47;font-weight:900;margin-bottom:8px;}
.carb-route-card small{display:block;color:#5c7280;font-weight:800;line-height:1.35;}
.carb-route-card.selected,.start-style.selected{border-color:#34dec8;box-shadow:0 0 0 4px rgba(52,222,200,.18),0 12px 26px rgba(18,61,68,.12);background:linear-gradient(135deg,#eafff9,#ffffff);}
.start-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;}
.route-explainer .food-guides{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;}
.food-guides div{background:#f8fbfb;border:1px solid #e1eff1;border-radius:22px;padding:18px;}
.food-guides h3{margin:0 0 10px;}
.food-guides ul{margin:0;padding-left:20px;color:#173f47;}
.food-guides li{margin:8px 0;}
.commitment-card{background:linear-gradient(135deg,#fffdf4,#ffffff);border-color:#f1d37d!important;}
.commitment-card.accepted{background:linear-gradient(135deg,#eafff9,#fffef1);border-color:#34dec8!important;}
.route-meal-card .meal-suggestion-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:14px;}
.meal-suggestion-grid div{background:#f8fbfb;border:1px solid #e1eff1;border-radius:22px;padding:16px;}
.meal-suggestion-grid h3{margin:0 0 10px;}
.meal-suggestion-grid button{display:block;width:100%;border:0;background:#fff;text-align:left;border-radius:16px;padding:12px;margin:8px 0;font-weight:900;color:#0a363d;box-shadow:0 6px 16px rgba(18,61,68,.05);}
.swap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:10px 0 18px;}
.swap-grid div{background:#f5fbfb;border:1px solid #dceff1;border-radius:18px;padding:14px;}
.swap-grid b{display:block;margin-bottom:6px;color:#07343a;}
.swap-grid span{display:block;color:#52717b;font-weight:700;}
@media(max-width:760px){
  .carb-route-grid,.start-style-grid,.route-explainer .food-guides,.route-meal-card .meal-suggestion-grid,.swap-grid{grid-template-columns:1fr;}
  .home-proof-grid{grid-template-columns:1fr 1fr;}
  .carb-route-card strong,.start-style b{font-size:18px;}
}
@media(max-width:420px){
  .home-proof-grid{grid-template-columns:1fr;}
}


/* v2.6.1 — Score calibration and simpler carb route contract */
.carb-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.start-style-grid{display:none!important;}
.route-current small{color:#355c63!important;font-weight:900!important;}
@media(max-width:720px){.carb-route-grid{grid-template-columns:1fr!important;}}


/* v2.6.2 — score honesty, reset onboarding and celebration gating */
.reset-card{border-color:#ffd7d7!important;background:linear-gradient(180deg,#fff,#fff8f8)!important;}
.reset-card .danger{border-color:#ffb4b4!important;color:#7a1818!important;background:#fff5f5!important;}
.reset-confirm-card{border:2px solid #ffb4b4!important;background:#fff8f8!important;}
.onboarding-shell{min-height:100vh;}
.onboarding-page{margin-top:28px!important;}
.onboarding-card h1{font-size:34px;line-height:1.06;margin-bottom:10px;}
.onboarding-card .metric-edit-grid{margin:18px 0 24px;}
.onboarding-routes .route-card{cursor:pointer;}
.celebration-box .celebration-icon{background:#effff9;color:#07343a;}
@media(max-width:620px){.onboarding-card h1{font-size:28px}.onboarding-page{width:calc(100% - 22px)!important}.reset-confirm-card .summary-actions{grid-template-columns:1fr!important}}

/* v2.6.3 — route intensity points are weekly, not daily. */

/* v2.6.4 — Weekly metric input and plan range labels */
.proof-head{align-items:flex-start!important;gap:12px!important;}
.proof-head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.proof-head-actions .text-link{background:#eefafa;border:1px solid rgba(8,46,56,.08);padding:9px 12px;border-radius:999px;font-weight:1000;}
.metric-editor-card{margin-top:18px;}
.plan-range button{font-weight:1000;}
@media(max-width:560px){
  .proof-head{display:block!important;}
  .proof-head-actions{justify-content:flex-start;margin-top:10px;}
  .proof-head-actions .text-link{font-size:13px;padding:8px 10px;}
  .range-toggle.plan-range button{font-size:13px;padding:10px 6px;}
}


/* v2.6.5 — Home score trend graph
   Adds a compact proof graph to the Home screen so users can see progression without opening Proof first. */
.home-score-trend-card{
  margin:18px 0;
  background:rgba(255,255,255,.90);
  border:1px solid rgba(154,221,226,.78);
  border-radius:26px;
  padding:18px;
  box-shadow:0 12px 34px rgba(8,45,52,.10);
}
.home-score-trend-card .proof-intro{
  margin:0 0 12px;
  color:#4c6870;
  font-size:15px;
}
.home-trend-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:12px 0 8px;
}
.home-trend-summary div{
  background:linear-gradient(180deg,#f7fbfb,#ffffff);
  border:1px solid rgba(205,229,232,.82);
  border-radius:18px;
  padding:12px;
}
.home-trend-summary small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:1000;
  color:#56707a;
  margin-bottom:4px;
}
.home-trend-summary strong{
  font-size:26px;
  letter-spacing:-.05em;
}
.home-score-trend-card .simple-chart{
  margin-top:4px;
  color:#245f68;
}
.home-score-trend-card .simple-chart svg{
  display:block;
  height:150px;
  max-height:150px;
}
.home-score-trend-card .simple-chart path{
  stroke-width:6;
}
.home-score-trend-card .simple-chart text{
  font-size:16px;
}
.home-score-trend-card .range-toggle.plan-range{
  margin-top:8px;
}
.trend-note{
  margin:10px 0 0;
  color:#45656e;
  font-size:14px;
  font-weight:700;
}
@media(max-width:560px){
  .home-score-trend-card{
    margin:14px 0;
    padding:16px;
    border-radius:24px;
  }
  .home-trend-summary{
    grid-template-columns:1fr 1fr 1fr;
    gap:8px;
  }
  .home-trend-summary div{
    padding:10px 8px;
  }
  .home-trend-summary strong{
    font-size:22px;
  }
  .home-score-trend-card .simple-chart svg{
    height:130px;
    max-height:130px;
  }
  .home-score-trend-card .range-toggle button{
    padding:10px 6px;
    font-size:13px;
  }
}


/* v2.6.6 — Score trend grid correction
   Replaces the decorative squiggle/range pills with a proper readable score chart:
   x-axis = baseline / plan weeks, y-axis = score. */
.score-grid-chart{
  margin-top:10px;
}
.score-grid-chart svg{
  display:block;
  width:100%;
  height:auto;
  max-height:250px;
  overflow:visible;
}
.score-grid-chart .chart-grid line{
  stroke:#d6e8eb;
  stroke-width:1;
}
.score-grid-chart .chart-grid text{
  fill:#56707a;
  font-size:13px;
  font-weight:900;
}
.score-grid-chart .axis-line{
  stroke:#6d8d96;
  stroke-width:1.5;
}
.score-grid-chart .score-trend-line{
  stroke:#0f5962;
  stroke-width:6;
  stroke-linecap:round;
  filter:drop-shadow(0 5px 10px rgba(15,89,98,.16));
}
.score-grid-chart .score-point{
  stroke:#ffffff;
  stroke-width:4;
}
.score-grid-chart .baseline-point{
  fill:#0f5962;
}
.score-grid-chart .current-point{
  fill:#20bfa5;
}
.score-grid-chart .point-label{
  fill:#071416;
  font-size:14px;
  font-weight:1000;
}
.score-grid-chart .x-labels text{
  text-anchor:middle;
  fill:#173f47;
  font-size:13px;
  font-weight:1000;
}
.score-grid-chart .y-title{
  fill:#45656e;
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}
.chart-explainer{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:6px;
  color:#45656e;
  font-size:13px;
  font-weight:800;
}
.chart-explainer span:first-child{
  color:#0f5962;
}
.home-score-trend-card .range-toggle.plan-range{
  display:none!important;
}
@media(max-width:560px){
  .score-grid-chart svg{
    max-height:215px;
  }
  .score-grid-chart .score-trend-line{
    stroke-width:5;
  }
  .score-grid-chart .chart-grid text,
  .score-grid-chart .x-labels text,
  .score-grid-chart .point-label,
  .score-grid-chart .y-title{
    font-size:11px;
  }
  .chart-explainer{
    display:block;
    font-size:12px;
    line-height:1.35;
  }
  .chart-explainer span{
    display:block;
    margin-top:3px;
  }
}


/* v2.6.7 — Personal target score & plain-English wording */
.target-mini-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:14px 0 4px;
}
.target-mini-row span,
.personal-target-card,
.score-explain-grid div{
  background:#f4fbfb;
  border:1px solid rgba(194,225,229,.9);
  border-radius:18px;
  padding:12px;
}
.target-mini-row b,
.personal-target-card strong,
.score-explain-grid b{
  display:block;
  font-size:22px;
  letter-spacing:-.04em;
  color:#07343a;
}
.personal-target-card{
  margin:16px 0 18px;
  background:linear-gradient(135deg,#ecfffb,#ffffff);
}
.personal-target-card small,
.score-explain-grid small{
  display:block;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:#00785d;
  font-weight:1000;
  font-size:11px;
  margin-bottom:5px;
}
.personal-target-card span,
.score-explain-grid span{
  display:block;
  color:#54717a;
  font-weight:700;
  margin-top:4px;
}
.home-trend-summary.target-summary{
  grid-template-columns:repeat(4,1fr);
}
.score-explain-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:16px 0 18px;
}
.score-grid-chart .target-line{
  stroke:#f0b84f;
  stroke-width:2;
  stroke-dasharray:8 8;
}
.score-grid-chart .target-label{
  fill:#8a5b00;
  font-size:13px;
  font-weight:1000;
}
.trend-note b{color:#07343a;}
@media(max-width:560px){
  .target-mini-row,
  .score-explain-grid{grid-template-columns:1fr;}
  .home-trend-summary.target-summary{grid-template-columns:1fr 1fr;}
  .score-grid-chart .target-label{font-size:10px;}
}


/* v2.6.9 Honest Score Engine display */
.server-score-card{
  background:#ffffff;
  border:1px solid rgba(32,145,151,.28);
  border-radius:26px;
  padding:22px;
  box-shadow:0 12px 30px rgba(8,45,52,.10);
  margin:18px 0;
}
.server-score-card h2{margin:0 0 10px;letter-spacing:-.04em;}
.server-score-card p{color:#27474e;margin:0 0 12px;line-height:1.48;}
.server-score-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0;}
.server-score-grid div{background:#f3fafb;border:1px solid #d5eeee;border-radius:18px;padding:14px;}
.server-score-grid small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:1000;color:#4d7078;margin-bottom:6px;}
.server-score-grid strong{display:block;font-size:22px;color:#071416;}
.server-score-grid span{display:block;font-size:13px;color:#5c7280;margin-top:3px;}
.server-cap-note{background:#fff8e6;border:1px solid #ffe1a1;border-radius:16px;padding:12px;color:#5c4100!important;}
.server-next-action{font-weight:900;color:#07343a!important;background:#e9fff8;border-radius:16px;padding:12px;}
@media(max-width:560px){.server-score-grid{grid-template-columns:1fr;}.server-score-card{padding:18px;border-radius:22px;}}


/* v2.6.10 — UK wording and mobile card/hero overlap fix */
@media(max-width:560px){
  .cs-main.simple-home{
    margin-top:-18px!important;
    width:calc(100% - 24px)!important;
    z-index:6!important;
  }
  .report-summary-card{
    border-radius:24px!important;
    overflow:hidden!important;
  }
  .v2510-hero-curve{
    bottom:-42px!important;
    height:94px!important;
  }
}
@media(max-width:390px){
  .cs-main.simple-home{margin-top:-14px!important;}
  .v2510-hero-curve{bottom:-38px!important;height:86px!important;}
}

/* v2.6.11 — Food Intelligence & Carb Load
   Food tab is a food-understanding and swap-discovery tool, not a meal diary. */
.food-intelligence-page{width:min(760px,calc(100% - 30px))!important;}
.food-hero-card{background:linear-gradient(135deg,#071422,#102c32 62%,#13203b);color:#fff;border-radius:30px;padding:30px;box-shadow:0 18px 45px rgba(8,46,56,.18);border:1px solid rgba(114,244,233,.22);overflow:hidden;position:relative;}
.food-hero-card:after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(116,244,234,.25),transparent 67%);}
.food-hero-card h1{font-size:34px;line-height:1.02;letter-spacing:-.05em;margin:6px 0 12px;color:#fff;}
.food-hero-card p{color:#d7f4f2;font-size:17px;max-width:620px;margin:0 0 18px;}
.food-mode-pills{display:flex;gap:10px;flex-wrap:wrap;}
.food-mode-pills span{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 12px;color:#d7e5ef;font-weight:900;font-size:13px;background:rgba(255,255,255,.06);}
.food-mode-pills .active{background:#b8fff0;color:#06343b;border-color:transparent;}
.food-intel-input{margin-top:18px;background:#fff;border:1px solid #cde9ec;}
.food-intel-input label{margin-top:0;}
.food-intel-input textarea{min-height:118px;font-size:17px;background:#f8fbfc;}
.sample-grid{margin-top:18px;display:grid;gap:10px;}
.sample-grid>b{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#00785d;}
.sample-grid button,.favourite-list button{border:1px solid #d5e5e9;background:#fff;border-radius:17px;padding:13px 14px;display:grid;grid-template-columns:1fr auto;gap:12px;text-align:left;align-items:center;color:#071416;}
.sample-grid button span,.favourite-list button b{font-weight:900;line-height:1.2;}
.sample-grid button em{font-style:normal;background:#f0eaff;color:#4d31a8;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:1000;text-transform:uppercase;}
.food-analyse-button{width:100%;margin-top:18px;font-size:17px;}
.favourite-swaps-card{margin-top:18px;}
.empty-favourites{border:1px dashed #bdd6dc;border-radius:22px;padding:24px;text-align:center;background:#f8fbfc;color:#5c7280;}
.empty-favourites strong{display:block;color:#17343b;margin-bottom:6px;}
.favourite-list{display:grid;gap:10px;}
.favourite-list button{grid-template-columns:1fr;}
.favourite-list small{color:#52717b;}
.food-intel-result{margin-top:22px;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.food-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.baseline-choice-card,.proposed-reset-card,.why-card,.breakdown-panel{background:#fff;border:1px solid #cde9ec;border-radius:28px;padding:24px;box-shadow:0 10px 28px rgba(8,45,52,.09);}
.baseline-choice-card{border-color:#ffd0d7;}
.proposed-reset-card{border-color:#70e7c5;background:linear-gradient(180deg,#ffffff,#f1fff9);}
.baseline-choice-card h2,.proposed-reset-card h2,.breakdown-panel h2{margin:0 0 12px;line-height:1.08;letter-spacing:-.04em;}
.carb-load-badge{display:inline-grid;gap:3px;background:#fff4df;border:1px solid #ffd08a;border-radius:18px;padding:10px 13px;margin:6px 0 14px;}
.carb-load-badge span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:1000;color:#775100;}
.carb-load-badge strong{font-size:22px;line-height:1;}
.carb-load-badge.high,.carb-load-badge.very-high{background:#fff0f2;border-color:#ff9bae;color:#8b1e34;}
.carb-load-badge.moderate{background:#fff8df;border-color:#ffd166;color:#694800;}
.carb-load-badge.lower{background:#eafff6;border-color:#7de7c4;color:#036143;}
.spoon-stat{background:#12272d;color:#fff;border-radius:22px;padding:18px;display:flex;align-items:center;gap:14px;margin:8px 0 14px;}
.spoon-stat strong{font-size:52px;line-height:.9;letter-spacing:-.07em;}
.spoon-stat span{text-transform:uppercase;letter-spacing:.08em;font-weight:1000;font-size:12px;color:#c8fff5;}
.spoon-stat.green{background:#073d31;}
.saved-pill{display:inline-flex;background:#d9fff3;color:#006348;padding:8px 12px;border-radius:999px;font-weight:1000;margin:4px 0 10px;}
.nutrition-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px;}
.nutrition-row div{background:#f5fafb;border:1px solid #dcecef;border-radius:15px;padding:10px;text-align:center;}
.nutrition-row b{display:block;font-size:20px;}
.nutrition-row span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#52717b;font-weight:1000;}
.food-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.why-card{margin:16px 0;}
.why-card summary{font-weight:1000;font-size:18px;cursor:pointer;}
.why-card p{color:#415e67;margin:12px 0 0;}
.breakdown-panel{margin-top:16px;}
.breakdown-panel p{margin:0 0 14px;color:#52717b;}
.ingredient-list{display:grid;gap:10px;}
.ingredient-row{display:grid;grid-template-columns:1.3fr auto auto;gap:10px;align-items:center;border:1px solid #dbecef;background:#fbfdfd;border-radius:17px;padding:13px;}
.ingredient-row b{line-height:1.16;}
.ingredient-row span{color:#234b54;font-weight:900;}
.ingredient-row em{font-style:normal;background:#fff0f2;color:#8b1e34;border:1px solid #ffbdc8;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:1000;}
.ingredient-row small{grid-column:1/-1;color:#6b818a;}
.ingredient-row.good{background:#f1fff9;border-color:#b8f2dc;}
.ingredient-row.good em{background:#eafff6;color:#006348;border-color:#86e8c5;}
@media(max-width:760px){
  .food-intelligence-page{width:calc(100% - 24px)!important;}
  .food-hero-card{padding:24px 20px;border-radius:26px;}
  .food-hero-card h1{font-size:28px;}
  .food-result-grid{grid-template-columns:1fr;}
  .nutrition-row{grid-template-columns:repeat(2,1fr);}
  .ingredient-row{grid-template-columns:1fr;gap:6px;}
  .ingredient-row em{justify-self:start;}
  .food-result-actions{grid-template-columns:1fr;}
  .sample-grid button{grid-template-columns:1fr;}
  .sample-grid button em{justify-self:start;}
}


/* v2.6.12 — Food parser accuracy hotfix */
.portion-note{font-size:13px;color:#5c7280;margin-top:8px;}


/* v2.7 — Full API Score Integration */
.empty-chart{padding:22px;border:1px dashed rgba(18,61,68,.28);border-radius:22px;background:rgba(255,255,255,.72);}
.empty-chart p{margin:0;color:#31535b;font-weight:800;}
.v2510-score-number strong{min-width:1.4em;text-align:center;}
.server-score-card{border-color:#b9e7ea!important;}
.server-score-card .eyebrow:after{content:" · API source of truth";letter-spacing:0;text-transform:none;color:#45676f;}


/* v2.7.1 — Weekly Review Flow */
.weekly-review-card,
.weekly-review-panel{
  background:#fff;
  border:1px solid rgba(158,223,228,.78);
  border-radius:28px;
  padding:22px;
  box-shadow:0 14px 34px rgba(8,45,52,.11);
  margin:18px 0;
}
.weekly-review-card{
  background:linear-gradient(135deg,#ffffff,#f3fffd 58%,#fff9e5);
}
.weekly-review-card.saved{
  border-color:#aeeedc;
  background:linear-gradient(135deg,#f2fff9,#ffffff);
}
.weekly-review-card p,
.weekly-review-panel p{
  margin:0 0 16px;
  color:#264a54;
}
.weekly-review-mini{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:14px 0 16px;
}
.weekly-review-mini div{
  border-radius:18px;
  background:#f6fbfb;
  border:1px solid #d7ecef;
  padding:13px;
}
.weekly-review-mini small{
  display:block;
  color:#54717a;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
  font-weight:1000;
}
.weekly-review-mini strong{
  display:block;
  margin-top:4px;
  color:#061a22;
  font-size:16px;
}
.full-weekly{
  width:100%;
  margin-top:4px;
}
.weekly-review-panel{
  border-color:#7adfd7;
  background:linear-gradient(180deg,#ffffff,#f4fffd);
}
.weekly-review-panel select{
  width:100%;
  border:1px solid #cfe0e5;
  border-radius:18px;
  background:#f8fbfc;
  padding:15px 16px;
  margin-top:8px;
  outline:none;
}
.weekly-review-explainer{
  margin:16px 0;
  background:#eefbf9;
  border:1px solid #ccece8;
  border-radius:20px;
  padding:15px;
}
.weekly-review-explainer h3{
  margin:0 0 6px;
  font-size:17px;
}
.weekly-review-explainer p{
  margin:0;
}
@media(max-width:560px){
  .weekly-review-card,
  .weekly-review-panel{
    border-radius:24px;
    padding:18px;
  }
  .weekly-review-mini{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:6px;
  }
  .weekly-review-mini div{
    min-width:64%;
    scroll-snap-align:start;
  }
}


/* v2.7.2 — Contextual Home Workflow */
.contextual-home .next-action-card{margin-bottom:18px;}
.next-action-card .eyebrow{color:#00846b;}
.next-action-card.weekly-due{border-color:#83ddd8!important;background:linear-gradient(180deg,#ffffff,#f4fffd);}
.next-action-card.weekly-due.overdue{border-color:#ffd166!important;background:linear-gradient(180deg,#fffaf0,#ffffff);}
.next-action-card.plan-complete{background:linear-gradient(180deg,#ffffff,#f3fffb);}
.next-action-card.setup-needed{background:linear-gradient(180deg,#ffffff,#f5fbff);}
.approach-line{background:#f1fbf9;border:1px solid #d7efed;border-radius:16px;padding:12px 14px;margin:14px 0!important;color:#14333a!important;}
.next-review-line{font-size:14px;color:#5c7280;margin-top:14px!important;}
.compact-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 4px;}
.compact-status-row>div{background:#f5fbfb;border:1px solid #d7ecee;border-radius:16px;padding:12px;}
.compact-status-row small{display:block;text-transform:uppercase;letter-spacing:.08em;color:#58737c;font-weight:1000;font-size:11px;margin-bottom:4px;}
.compact-status-row strong{font-size:18px;letter-spacing:-.02em;}
.summary-actions.single{grid-template-columns:1fr!important;margin-top:16px;}
.compact-weekly-status{opacity:.92;}
@media(max-width:560px){
  .contextual-home .next-action-card{margin-bottom:14px;}
  .compact-status-row{grid-template-columns:1fr 1fr 1fr;gap:8px;}
  .compact-status-row>div{padding:10px 8px;}
  .compact-status-row small{font-size:9px;}
  .compact-status-row strong{font-size:15px;}
  .approach-line{font-size:15px;padding:10px 12px;}
}


/* v2.7.3 — 8-week plan roadmap
   Gives users visibility of the programme ahead without cluttering the Home screen. */
.roadmap-launch{margin-top:18px;}
.roadmap-map.week-map{gap:7px;}
.roadmap-map .week-dot{border:0;background:transparent;padding:0;text-align:center;color:#78909a;cursor:pointer;border-radius:18px;}
.roadmap-map .week-dot:focus-visible{outline:3px solid rgba(80,225,210,.45);outline-offset:4px;}
.roadmap-map .week-dot span{transition:transform .18s ease, box-shadow .18s ease;}
.roadmap-map .week-dot:hover span{transform:translateY(-1px);box-shadow:0 8px 18px rgba(8,46,56,.16);}
.roadmap-map .week-dot.completed span{background:#d7fff2;color:#00785d;}
.roadmap-map .week-dot.current span{background:#07343a;color:white;box-shadow:0 10px 24px rgba(7,52,58,.24);}
.roadmap-map .week-dot.upcoming span{background:#dce8eb;color:#627b84;}
.roadmap-panel{border:1px solid rgba(80,225,210,.55)!important;box-shadow:0 18px 42px rgba(8,46,56,.13)!important;}
.roadmap-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin:14px 0 8px;scroll-snap-type:x mandatory;}
.roadmap-tab{border:0;border-radius:999px;padding:10px 13px;font-weight:1000;white-space:nowrap;scroll-snap-align:start;background:#eef7f8;color:#234b53;}
.roadmap-tab.completed{background:#dcfff3;color:#006b4b;}
.roadmap-tab.current{background:#07343a;color:white;}
.roadmap-tab.selected{box-shadow:0 0 0 3px rgba(80,225,210,.28);}
.roadmap-cards{display:grid;gap:14px;margin-top:10px;}
.roadmap-card{display:none;background:#f8fcfc;border:1px solid rgba(8,46,56,.08);border-radius:24px;padding:18px;}
.roadmap-card.selected{display:block;}
.roadmap-card.current{background:linear-gradient(135deg,#ecfffb,#fff);border-color:#8eeadd;}
.roadmap-card.completed{background:linear-gradient(135deg,#f3fff9,#fff);}
.roadmap-card.upcoming{background:linear-gradient(135deg,#f7fbfc,#fff);}
.roadmap-week-badge{display:inline-flex;background:#07343a;color:white;border-radius:999px;padding:7px 11px;font-weight:1000;font-size:12px;margin-bottom:10px;}
.roadmap-card h3{margin:0 0 8px;font-size:23px;letter-spacing:-.03em;}
.roadmap-card p{margin:0 0 14px;color:#395c65;}
.roadmap-card ul{margin:0 0 12px;padding-left:20px;color:#102b31;}
.roadmap-card li{margin:6px 0;}
.roadmap-card small{display:inline-flex;background:#e8f7f6;color:#174f56;border-radius:999px;padding:7px 10px;font-weight:900;}
.roadmap-next-line{margin:14px 0 0!important;font-size:14px;}
.text-link.inline{display:inline;padding:0;text-decoration:underline;text-underline-offset:3px;border-radius:4px;background:transparent;color:#225d66;font-weight:900;}
@media(min-width:760px){
  .roadmap-cards{grid-template-columns:repeat(2,1fr);}
  .roadmap-card{display:block;opacity:.74;}
  .roadmap-card.selected{opacity:1;transform:translateY(-2px);box-shadow:0 12px 28px rgba(8,46,56,.10);}
}
@media(max-width:560px){
  .roadmap-panel{padding:20px 16px!important;border-radius:24px!important;}
  .roadmap-tab{padding:9px 12px;font-size:13px;}
  .roadmap-card h3{font-size:20px;}
  .roadmap-next-line{font-size:13px;}
}


/* v2.7.4 — Server-side Food Engine & Carb Load Confidence */
.confidence-card{
  margin:14px 0 16px;
  border:1px solid rgba(31,99,107,.16);
  background:#f4fbfb;
  border-radius:18px;
  padding:13px 14px;
  display:grid;
  gap:4px;
}
.confidence-card b{font-size:14px;color:#07343a;}
.confidence-card span{font-size:14px;color:#46646b;line-height:1.35;}
.confidence-card small{font-size:12px;color:#6d8188;line-height:1.35;}
.confidence-card.high{background:#effff8;border-color:#bdeedc;}
.confidence-card.medium{background:#f4fbfb;border-color:#cce9ec;}
.confidence-card.low{background:#fff8eb;border-color:#f2d292;}
.food-analyse-button[disabled], .food-analyse-button.loading{opacity:.7;}
.ingredient-row small{line-height:1.3;}


/* v2.7.5 — Proof screen plain-English wording */
.proof-summary-plain p{font-size:17px;line-height:1.52;}
.plain-proof-grid div span{line-height:1.32;}
.server-score-card .server-score-grid.plain-proof-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.server-score-card .server-cap-note{background:#fff8e6;border:1px solid #f5d37a;border-radius:18px;padding:14px 16px;color:#5c3d00;}
.server-score-card .server-next-action{background:#eefaf8;border-radius:18px;padding:14px 16px;color:#123d44;font-weight:800;}
@media(max-width:560px){.proof-summary-plain p{font-size:16px}.server-score-card .server-score-grid.plain-proof-grid{grid-template-columns:1fr;}}


/* v2.8 — GP / Nurse Review Pack */
.proof-actions .dark-button.alt[data-action="prepare-gp-pack"]{
  background:#234b53;
}
@media(max-width:560px){
  .proof-actions{grid-template-columns:1fr!important;}
}


/* v2.8.1 — GP pack in-app view: avoids browser popup blockers */
.gp-pack-shell{min-height:100vh;background:#eef8f7;padding-bottom:0!important;}
.gp-pack-topbar{position:sticky;top:0;z-index:20;gap:18px;}
.gp-pack-top-actions{display:flex;gap:10px;align-items:center;margin-left:auto;}
.gp-pack-top-actions .secondary,.gp-pack-top-actions .primary{white-space:nowrap;padding:11px 16px;}
.gp-pack-app-view{width:min(1040px,calc(100% - 28px));margin:24px auto 40px;display:grid;gap:16px;}
.gp-pack-intro{background:#fff;border:1px solid rgba(141,216,220,.7);border-radius:26px;padding:22px 24px;box-shadow:0 12px 30px rgba(8,45,52,.10);}
.gp-pack-intro h1{margin:4px 0 8px;font-size:28px;letter-spacing:-.04em;}
.gp-pack-intro p{margin:0;color:#4d6870;}
#gp-pack-frame{width:100%;min-height:78vh;border:1px solid #cfe8eb;border-radius:26px;background:#fff;box-shadow:0 18px 44px rgba(8,45,52,.13);}
@media(max-width:720px){
  .gp-pack-topbar{height:auto!important;min-height:64px!important;padding:10px 12px!important;align-items:flex-start!important;flex-wrap:wrap;}
  .gp-pack-top-actions{width:100%;display:grid;grid-template-columns:1fr;gap:8px;margin-left:0;}
  .gp-pack-top-actions .secondary,.gp-pack-top-actions .primary{width:100%;}
  .gp-pack-app-view{width:calc(100% - 18px);margin:14px auto 24px;}
  .gp-pack-intro{border-radius:22px;padding:18px;}
  .gp-pack-intro h1{font-size:23px;}
  #gp-pack-frame{border-radius:20px;min-height:72vh;}
}
@media print{
  .gp-pack-topbar,.gp-pack-intro{display:none!important;}
  .gp-pack-app-view{width:100%;margin:0;}
  #gp-pack-frame{border:0;box-shadow:none;width:100%;height:100vh;}
}

/* v3.0 — Multi-user foundation */
.multi-login-card .text-link{margin-top:14px;display:inline-flex;}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0;}
.password-panel{margin-top:18px;background:#f6fbfc;border:1px solid #d8ecee;border-radius:20px;padding:14px;}
.password-panel summary{font-weight:1000;cursor:pointer;}
.password-panel label{margin-top:12px;}
.admin-users-card{border-color:#d8e6ff!important;background:linear-gradient(180deg,#ffffff,#f6f8ff)!important;}
.account-card{border-color:#d6eeee!important;}
@media(max-width:560px){.account-grid{grid-template-columns:1fr}.multi-login-card h1{font-size:26px}}


/* v3.0.1 — Simple email/password sign-up */
.multi-login-card .text-link{margin-top:14px;display:inline-flex;align-items:center;justify-content:center;width:100%;}
.multi-login-card form{display:grid;gap:2px;}

/* v3.0.2 — High-Fidelity Mobile UI System
   Premium visual layer only. Preserves v3.0.1 email/password signup and all app logic. */
:root{
  --hf-ink:#061115;
  --hf-ink-2:#112a30;
  --hf-muted:#5f737b;
  --hf-bg:#eef7f5;
  --hf-surface:rgba(255,255,255,.92);
  --hf-surface-solid:#ffffff;
  --hf-line:rgba(18,57,64,.10);
  --hf-deep:#07171c;
  --hf-teal:#5cf2df;
  --hf-teal-2:#1aa995;
  --hf-blue:#56b7ff;
  --hf-gold:#ffd86b;
  --hf-amber:#f4a640;
  --hf-red:#e55363;
  --hf-radius-lg:30px;
  --hf-radius-md:22px;
  --hf-shadow:0 22px 55px rgba(5,35,42,.16);
  --hf-shadow-soft:0 12px 32px rgba(5,35,42,.10);
  --hf-shadow-tiny:0 6px 16px rgba(5,35,42,.08);
}
html{background:var(--hf-bg)!important;-webkit-text-size-adjust:100%;}
body{
  color:var(--hf-ink)!important;
  background:
    radial-gradient(circle at 15% -6%,rgba(92,242,223,.25),transparent 32%),
    radial-gradient(circle at 85% 8%,rgba(86,183,255,.17),transparent 28%),
    linear-gradient(180deg,#f6fbfa 0%,#edf7f5 42%,#e7f3f2 100%)!important;
  font-feature-settings:"kern","liga","calt";
  text-rendering:optimizeLegibility;
}
button{touch-action:manipulation;}
.app-shell{background:transparent!important;min-height:100svh!important;padding-bottom:94px!important;}
/* Premium auth screen */
.login-page{
  background:
    radial-gradient(circle at 25% 5%,rgba(92,242,223,.32),transparent 30%),
    radial-gradient(circle at 85% 18%,rgba(255,216,107,.26),transparent 27%),
    linear-gradient(145deg,#07171c 0%,#0f2f35 44%,#effaf8 44.2%,#f8fbfb 100%)!important;
  padding:24px!important;
}
.login-card.multi-login-card,.login-card{
  width:min(468px,100%)!important;
  border-radius:34px!important;
  padding:28px!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 30px 75px rgba(2,18,23,.28)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
}
.logo-row{gap:13px!important;margin-bottom:24px!important;}
.logo-mark,.logo-row span:first-child{
  width:52px!important;height:52px!important;border-radius:18px!important;
  background:linear-gradient(145deg,#06171c,#0f4851)!important;
  box-shadow:0 14px 28px rgba(6,23,28,.20)!important;
}
.login-card h1{font-size:clamp(30px,7vw,42px)!important;line-height:.98!important;letter-spacing:-.06em!important;color:#061115!important;margin-bottom:12px!important;}
.login-card p{font-size:16px!important;color:var(--hf-muted)!important;}
label{font-size:13px!important;text-transform:uppercase!important;letter-spacing:.08em!important;color:#22454d!important;font-weight:950!important;}
input,textarea{
  border-radius:18px!important;border:1px solid rgba(17,74,84,.16)!important;background:#f8fcfc!important;
  padding:15px 16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
input:focus,textarea:focus{border-color:#17a997!important;box-shadow:0 0 0 5px rgba(92,242,223,.20)!important;background:#fff!important;}
.primary,.dark-button,.secondary,.soft-button,.light-button,.update-action{
  min-height:48px;border-radius:16px!important;font-weight:950!important;letter-spacing:-.01em!important;
}
.primary,.dark-button{
  background:linear-gradient(135deg,#07171c 0%,#0b3037 100%)!important;color:#fff!important;
  box-shadow:0 14px 28px rgba(7,23,28,.20)!important;
}
.primary:hover,.dark-button:hover{transform:translateY(-1px);box-shadow:0 18px 34px rgba(7,23,28,.24)!important;}
.dark-button.alt{background:linear-gradient(135deg,#10464f,#136e75)!important;}
.secondary,.soft-button{background:#edf8f7!important;color:#103940!important;border:1px solid rgba(19,87,96,.12)!important;}
.text-link{color:#0b6e75!important;font-weight:950!important;text-decoration:none!important;}
/* Top bar: mobile app chrome, not desktop web header */
.cs-topbar{
  height:68px!important;padding:0 max(16px,env(safe-area-inset-left))!important;
  background:rgba(6,17,21,.88)!important;color:#fff!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.1)!important;backdrop-filter:blur(18px) saturate(1.1)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;box-shadow:0 10px 30px rgba(0,0,0,.20)!important;
}
.cs-logo{gap:9px!important;margin-right:auto!important;}
.cs-logo span{width:34px!important;height:34px!important;border-radius:12px!important;background:rgba(255,255,255,.10)!important;display:grid!important;place-items:center!important;}
.cs-logo b{font-size:21px!important;letter-spacing:-.04em!important;}
.save-pill{background:rgba(255,255,255,.10)!important;border:1px solid rgba(255,255,255,.08)!important;color:#dffcf8!important;}
@media(max-width:859px){.cs-nav{display:none!important;}.cs-topbar{height:62px!important;}}
/* Hero: crisp premium mobile scorecard */
.score-hero,.premium-score-hero,.v2510-score-hero{
  min-height:420px!important;overflow:hidden!important;isolation:isolate!important;
  background:#0b252b!important;
}
.hero-landscape{
  opacity:1!important;filter:saturate(1.03) contrast(1.02)!important;
}
.v2510-hero-overlay,.v258-hero-overlay{
  background:
    radial-gradient(circle at 50% 43%,rgba(92,242,223,.18),transparent 31%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.30) 58%,rgba(0,0,0,.42))!important;
}
.v2510-hero-content,.hero-content{
  min-height:396px!important;padding:24px 18px 88px!important;display:grid!important;place-items:center!important;
}
.v2510-score-stage{width:min(292px,82vw)!important;gap:10px!important;}
.v2510-score-orb{
  width:178px!important;height:178px!important;
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.34))!important;
}
.v2510-score-orb:before{
  background:conic-gradient(from 0deg,#77f7ec 0 var(--ring),rgba(255,255,255,.06) var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 68%,#000 69% 100%)!important;
  mask:radial-gradient(circle,transparent 0 68%,#000 69% 100%)!important;
}
.v2510-score-orb:after{
  background:conic-gradient(from 0deg,transparent 0 var(--ring),rgba(198,249,255,.40) var(--ring) 360deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 77%,#000 78% 100%)!important;
  mask:radial-gradient(circle,transparent 0 77%,#000 78% 100%)!important;
}
.v2510-orb-glass{
  background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.13),rgba(255,255,255,.055) 47%,rgba(4,14,17,.10) 100%)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;backdrop-filter:blur(18px) saturate(1.08)!important;
}
.v2510-score-number strong{font-size:70px!important;letter-spacing:-.09em!important;line-height:.82!important;}
.v2510-score-number em{font-size:9px!important;height:20px!important;min-width:30px!important;padding:4px 7px!important;background:#c9fff5!important;color:#06373c!important;}
.v2510-outof{font-size:11px!important;margin-top:8px!important;letter-spacing:.01em!important;}
.v2510-label{font-size:10px!important;letter-spacing:.14em!important;color:#b7fff7!important;}
.v2510-band{font-size:22px!important;letter-spacing:-.05em!important;color:#fff!important;}
.v2510-plan-status{font-size:12px!important;padding:6px 12px!important;border-radius:999px!important;background:rgba(238,255,249,.94)!important;box-shadow:0 14px 28px rgba(0,0,0,.20)!important;}
.v2510-weekline{font-size:10px!important;padding:7px 12px!important;background:rgba(3,13,16,.48)!important;border:1px solid rgba(255,255,255,.14)!important;}
.v2510-hero-curve,.v258-hero-curve{
  bottom:-70px!important;height:128px!important;background:var(--hf-bg)!important;box-shadow:none!important;
}
/* Main shell and cards */
.cs-main.simple-home,.cs-main,.page{
  width:min(760px,calc(100% - 28px))!important;margin-left:auto!important;margin-right:auto!important;
}
.cs-main.simple-home{margin-top:-42px!important;z-index:8!important;}
.report-summary-card,.next-action-card,.home-proof-card,.score-trend-card,.weekly-review-card,.report-card,.food-check-card,.food-result,.plan-card,.spoon-card,.promo-card,.proof-card,.metric-editor-card,.gp-pack-screen,.roadmap-panel,.profile-card,.admin-card{
  background:var(--hf-surface)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:var(--hf-radius-lg)!important;
  box-shadow:var(--hf-shadow-soft)!important;-webkit-backdrop-filter:blur(14px) saturate(1.05)!important;backdrop-filter:blur(14px) saturate(1.05)!important;
}
.report-summary-card,.next-action-card{padding:22px 19px!important;overflow:hidden!important;}
.report-summary-card:before{height:5px!important;background:linear-gradient(90deg,#61f2e1,#6dcaff,#ffd86b)!important;}
.report-summary-card h2,.next-action-card h2,.section-head h2,.report-card h1,.report-card h2,.food-check-card h1,.food-result h1{
  color:var(--hf-ink)!important;letter-spacing:-.055em!important;line-height:1.03!important;
}
.report-summary-card h2,.next-action-card h2{font-size:25px!important;margin-bottom:10px!important;}
.report-summary-card p,.next-action-card p,.proof-intro,.editor-note,.report-card p,.food-check-card p,.food-result p{
  color:#35545c!important;font-size:16px!important;line-height:1.48!important;
}
.summary-actions{gap:11px!important;margin-top:18px!important;}
.summary-actions .dark-button,.summary-actions .soft-button{border-radius:17px!important;}
.summary-plan-list div,.plan-item,.breakdown{
  border-radius:18px!important;background:rgba(239,250,249,.75)!important;border:1px solid rgba(18,57,64,.06)!important;
}
.summary-plan-list span,.plan-item>span{background:linear-gradient(135deg,#dffff7,#baffef)!important;color:#067262!important;}
/* Score trend / proof graph */
.score-trend-card,.home-proof-card{padding:20px 18px!important;margin-top:16px!important;}
.score-trend-card svg{border-radius:20px!important;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(239,250,249,.65))!important;}
.score-trend-card .proof-intro{font-size:14px!important;}
.home-proof-grid,.proof-grid,.plain-proof-grid,.score-explain-grid,.server-score-grid{
  gap:12px!important;
}
.home-proof-pill,.proof-card,.plain-proof-grid>div,.score-explain-grid>div,.server-score-grid>div{
  border-radius:20px!important;background:linear-gradient(180deg,#fff,rgba(248,252,252,.92))!important;border:1px solid rgba(18,57,64,.08)!important;box-shadow:var(--hf-shadow-tiny)!important;
}
.home-proof-pill small,.proof-card small,.plain-proof-grid small{color:#526d75!important;font-size:11px!important;font-weight:950!important;letter-spacing:.09em!important;}
.home-proof-pill strong,.proof-card strong,.plain-proof-grid strong{color:#07171c!important;}
.home-proof-pill span,.proof-card span,.plain-proof-grid span{font-weight:900!important;}
/* Plan roadmap */
.week-map{gap:8px!important;margin-top:18px!important;}
.week-dot span{background:#dcefed!important;color:#44656d!important;border:1px solid rgba(18,57,64,.08)!important;}
.week-dot.active span{background:linear-gradient(135deg,#07171c,#134d55)!important;color:#fff!important;box-shadow:0 10px 22px rgba(7,23,28,.22)!important;}
.roadmap-week,.roadmap-card{border-radius:22px!important;border:1px solid rgba(18,57,64,.09)!important;background:#fff!important;box-shadow:var(--hf-shadow-tiny)!important;}
/* Food Intelligence */
.food-check-card,.food-result{padding:22px 18px!important;}
.food-result h1{font-size:46px!important;}
.formula{background:#eef9f8!important;border:1px solid rgba(18,57,64,.08)!important;border-radius:18px!important;color:#113c43!important;}
.breakdown strong{font-size:15px!important;color:#07171c!important;}
.breakdown span{font-weight:950!important;color:#0a6e75!important;}
/* Profile / admin */
.profile-grid,.admin-grid{gap:14px!important;}
.profile-card,.admin-card{padding:20px!important;}
/* GP Pack */
.gp-pack-screen{width:min(860px,calc(100% - 24px))!important;margin:20px auto 96px!important;padding:22px!important;}
.gp-pack-screen h1{letter-spacing:-.055em!important;}
/* Navigation: premium native-style tab bar */
.mobile-nav{
  display:grid!important;grid-template-columns:repeat(5,1fr)!important;position:fixed!important;
  left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;
  height:68px!important;padding:6px!important;border-radius:24px!important;
  background:rgba(255,255,255,.88)!important;border:1px solid rgba(255,255,255,.80)!important;
  box-shadow:0 18px 45px rgba(6,23,28,.20)!important;-webkit-backdrop-filter:blur(20px) saturate(1.12)!important;backdrop-filter:blur(20px) saturate(1.12)!important;
  z-index:70!important;
}
.mobile-nav button{border-radius:18px!important;border:0!important;background:transparent!important;color:#607980!important;font-size:11px!important;font-weight:950!important;display:grid!important;place-items:center!important;gap:1px!important;}
.mobile-nav button span{font-size:19px!important;line-height:1!important;}
.mobile-nav button.active{background:linear-gradient(135deg,#07171c,#123e46)!important;color:#fff!important;box-shadow:0 10px 22px rgba(7,23,28,.20)!important;}
.mobile-nav button.active span{filter:drop-shadow(0 3px 7px rgba(0,0,0,.22));}
@media(min-width:860px){
  .score-hero,.premium-score-hero,.v2510-score-hero{min-height:500px!important;}
  .v2510-hero-content,.hero-content{min-height:460px!important;padding:36px 20px 98px!important;}
  .v2510-score-orb{width:214px!important;height:214px!important;}
  .v2510-score-number strong{font-size:84px!important;}
  .v2510-band{font-size:27px!important;}
  .cs-main.simple-home{width:min(760px,calc(100% - 34px))!important;margin-top:-50px!important;}
  .report-summary-card,.next-action-card{padding:30px!important;}
  .mobile-nav{display:none!important;}
  .cs-nav{display:flex!important;}
  .cs-topbar{height:76px!important;padding:0 6vw!important;}
}
@media(max-width:560px){
  body{font-size:16px!important;}
  .login-page{padding:18px!important;}
  .login-card{padding:22px!important;border-radius:30px!important;}
  .score-hero,.premium-score-hero,.v2510-score-hero{min-height:400px!important;}
  .v2510-hero-content,.hero-content{min-height:372px!important;padding:20px 14px 80px!important;}
  .v2510-score-stage{width:min(245px,82vw)!important;}
  .v2510-score-orb{width:166px!important;height:166px!important;}
  .v2510-score-number strong{font-size:66px!important;}
  .v2510-band{font-size:20px!important;}
  .cs-main.simple-home{width:calc(100% - 24px)!important;margin-top:-38px!important;}
  .report-summary-card,.next-action-card,.home-proof-card,.score-trend-card,.weekly-review-card,.report-card,.food-check-card,.food-result,.plan-card,.spoon-card,.promo-card,.proof-card,.metric-editor-card{border-radius:26px!important;}
  .summary-actions{grid-template-columns:1fr!important;}
  .home-proof-grid,.proof-grid{grid-template-columns:1fr 1fr!important;}
  .plain-proof-grid,.score-explain-grid,.server-score-grid{grid-template-columns:1fr!important;}
  .section-head{gap:10px!important;align-items:flex-start!important;}
  .section-head.compact{align-items:flex-start!important;}
}
@media(max-width:380px){
  .v2510-score-orb{width:152px!important;height:152px!important;}
  .v2510-score-number strong{font-size:60px!important;}
  .v2510-band{font-size:18px!important;}
  .home-proof-grid,.proof-grid{grid-template-columns:1fr!important;}
}
@media(prefers-reduced-motion:no-preference){
  .report-summary-card,.next-action-card,.home-proof-card,.score-trend-card,.report-card,.food-check-card,.food-result,.mobile-nav{transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
  .report-summary-card:hover,.next-action-card:hover,.food-check-card:hover,.food-result:hover{transform:translateY(-1px);box-shadow:var(--hf-shadow)!important;}
}

/* v3.0.3 — Mobile bottom navigation alignment fix
   Prevents the floating tab bar being shifted left by inherited transform rules. */
.mobile-nav{
  left:50%!important;
  right:auto!important;
  width:min(520px, calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  bottom:max(10px, env(safe-area-inset-bottom))!important;
}
@supports (width: 100dvw){
  .mobile-nav{
    width:min(520px, calc(100dvw - 24px))!important;
    max-width:calc(100dvw - 24px)!important;
  }
}
@media(max-width:380px){
  .mobile-nav{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;}
  @supports (width: 100dvw){.mobile-nav{width:calc(100dvw - 16px)!important;max-width:calc(100dvw - 16px)!important;}}
  .mobile-nav button{font-size:10px!important;}
  .mobile-nav button span{font-size:18px!important;}
}


/* v3.0.4 — Welcome / Help splash screen */
.help-shell{min-height:100vh;background:radial-gradient(circle at 20% 0%,rgba(103,241,228,.22),transparent 30%),linear-gradient(180deg,#eaf7f6 0%,#f7fbfb 100%);padding-bottom:92px;}
.help-topbar .help-close-top{color:#fff!important;border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.08);}
.help-page{width:min(920px,calc(100% - 28px))!important;margin:24px auto 100px!important;}
.help-hero-card{position:relative;overflow:hidden;border-radius:34px;padding:30px 26px;background:linear-gradient(135deg,#0b1c20,#123f46 58%,#145b5e);color:#fff;box-shadow:0 22px 54px rgba(8,46,56,.22);}
.help-hero-card:before{content:"";position:absolute;inset:auto -10% -30% 45%;height:170px;background:radial-gradient(circle,rgba(103,241,228,.34),transparent 62%);}
.help-hero-card h1{font-size:clamp(36px,7vw,64px);line-height:.95;letter-spacing:-.06em;margin:6px 0 14px;max-width:620px;}
.help-hero-card p{font-size:18px;line-height:1.48;color:#dffcf8;max-width:680px;margin:0 0 22px;}
.help-actions{display:flex;gap:12px;flex-wrap:wrap;position:relative;z-index:2;}
.help-actions .dark-button{background:#b8fff0!important;color:#07343a!important;}
.help-actions .soft-button{background:rgba(255,255,255,.12)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;}
.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.help-grid article{background:rgba(255,255,255,.9);border:1px solid rgba(157,223,228,.7);border-radius:24px;padding:20px;box-shadow:0 10px 28px rgba(8,46,56,.08);}
.help-grid article span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#07343a;color:#fff;font-weight:1000;margin-bottom:12px;}
.help-grid h2{font-size:20px;line-height:1.05;letter-spacing:-.035em;margin:0 0 8px;color:#071416;}
.help-grid p{margin:0;color:#4d6770;line-height:1.42;}
.help-note-card{margin-top:18px!important;border-color:#cce9ec!important;}
@media(max-width:760px){
  .help-page{width:calc(100% - 22px)!important;margin-top:16px!important;}
  .help-hero-card{border-radius:28px;padding:24px 20px;}
  .help-hero-card h1{font-size:42px;}
  .help-hero-card p{font-size:16px;}
  .help-actions{display:grid;grid-template-columns:1fr;}
  .help-grid{grid-template-columns:1fr;gap:12px;}
  .help-grid article{border-radius:22px;padding:18px;}
}

/* v3.0.5 — plan week auto-progression fix */

/* v3.0.6 — Food swap guard */
.proposed-reset-card.no-swap-needed{
  border-color:rgba(34,197,94,.34)!important;
  background:linear-gradient(180deg,rgba(236,253,245,.86),rgba(255,255,255,.94))!important;
}
.proposed-reset-card.no-swap-needed .saved-pill{
  background:rgba(34,197,94,.14)!important;
  color:#065f46!important;
}
.proposed-reset-card.no-swap-needed .spoon-stat.green{
  background:#123b33!important;
}
