:root{--bg:#fff3ea;--card:rgba(255,255,255,.55);--ink:#1c1210;--ink2:rgba(60,35,25,.62);--sep:rgba(120,60,30,.14);--tint:#f2551f;--tint-soft:rgba(255,106,61,.14);--fill:rgba(120,60,30,.10);--glass:rgba(255,255,255,.5);--glass-b:rgba(255,255,255,.7);--shadow:0 8px 30px rgba(190,70,20,.14),0 1px 2px rgba(190,70,20,.10)}
html{background:#ffe9da}
body{background:radial-gradient(60% 40% at 10% 0%,#ffc79e 0%,transparent 70%),radial-gradient(55% 40% at 100% 15%,#ff9d86 0%,transparent 70%),radial-gradient(70% 50% at 0% 70%,#ffd9b8 0%,transparent 70%),radial-gradient(60% 45% at 100% 100%,#ffb48c 0%,transparent 70%),linear-gradient(180deg,#fff1e4,#ffe2d0);background-attachment:fixed;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Rounded","SF Pro Display",system-ui,sans-serif}
.large-title h1{font-size:38px;font-weight:800;letter-spacing:-.5px;background:linear-gradient(135deg,#ff5a1f,#ff8a5c 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{color:var(--tint);letter-spacing:.08em}
.hero{border-radius:30px;border:1px solid var(--glass-b);box-shadow:0 18px 40px rgba(190,70,20,.25)}
.hero-over{background:linear-gradient(#0000,rgba(60,20,5,.55));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(#0000,#000 45%);mask-image:linear-gradient(#0000,#000 45%)}
.ios-card,.switch-row,.note,.full,.segmented,.topTabs{background:var(--glass);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);border:1px solid var(--glass-b);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.85)}
.ios-card{border-radius:26px}
.note{border-radius:22px;background:rgba(255,140,90,.18)}
.switch-row{border-radius:22px}
.picker{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.segmented,.topTabs{border-radius:20px;padding:4px;gap:3px;background:rgba(255,255,255,.35)}
.seg,.tt{border-radius:16px;color:var(--ink);transition:all .25s cubic-bezier(.3,.7,.3,1)}
.seg.on,.tt.on{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.7));color:var(--tint);box-shadow:0 4px 14px rgba(190,70,20,.22),inset 0 1px 0 #fff}
.full{border-radius:20px;color:var(--tint)}
.full.on{background:linear-gradient(135deg,#ff6a3d,#ff9a6c);color:#fff;border-color:rgba(255,255,255,.5);box-shadow:0 8px 22px rgba(242,85,31,.38),inset 0 1px 0 rgba(255,255,255,.6)}
.ico{border-radius:12px;width:38px;height:38px;background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,190,150,.55));box-shadow:0 3px 10px rgba(190,70,20,.18),inset 0 1px 0 #fff}
.num{background:linear-gradient(145deg,#ff8a5c,#f2551f);box-shadow:0 4px 12px rgba(242,85,31,.4),inset 0 1px 0 rgba(255,255,255,.5)}
.item.total{background:linear-gradient(90deg,rgba(255,140,90,.22),rgba(255,255,255,0))}
.card-title{font-weight:800;font-size:21px}
.row+.row:before,.item+.item:before,.exercise+.exercise:before{height:1px;background:linear-gradient(90deg,transparent,var(--sep) 12%,var(--sep) 88%,transparent)}
.bar-track{background:rgba(120,60,30,.10);box-shadow:inset 0 1px 2px rgba(120,60,30,.12);height:14px;border-radius:8px}
.bar-fill{background:linear-gradient(90deg,#ffb48c,#f2551f);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.toggle{background:rgba(120,60,30,.22);width:56px;height:34px;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}
.toggle.on{background:linear-gradient(135deg,#ff8a5c,#f2551f)}
.toggle .knob{width:30px;height:30px;background:linear-gradient(#fff,#fff3ea)}
.toggle.on .knob{transform:translate(22px)}
.ex-img{border-radius:20px;background:rgba(255,255,255,.8);border:1px solid var(--glass-b);box-shadow:0 6px 18px rgba(190,70,20,.12)}
.variant.important{background:rgba(255,140,90,.2);border-radius:16px;border:1px solid rgba(255,255,255,.6)}
.section{color:var(--tint);letter-spacing:.08em}
.starting-point>summary.section:after{color:var(--tint)}
.ios{padding-top:calc(env(safe-area-inset-top,0px) + 4px)}
@media (prefers-color-scheme:dark){
:root{--bg:#1a0f0a;--ink:#fff3ea;--ink2:rgba(255,230,215,.62);--sep:rgba(255,200,170,.16);--tint:#ff8a5c;--tint-soft:rgba(255,106,61,.2);--fill:rgba(255,200,170,.12);--glass:rgba(60,32,22,.5);--glass-b:rgba(255,200,170,.18);--shadow:0 8px 30px rgba(0,0,0,.4)}
html{background:#1a0f0a}
body{background:radial-gradient(60% 40% at 10% 0%,#6b2a12 0%,transparent 70%),radial-gradient(55% 40% at 100% 15%,#5a1e18 0%,transparent 70%),radial-gradient(60% 45% at 100% 100%,#6b3014 0%,transparent 70%),linear-gradient(180deg,#26130b,#170b07);background-attachment:fixed}
.ios-card,.switch-row,.note,.full,.segmented,.topTabs{box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.12)}
.seg.on,.tt.on{background:rgba(255,255,255,.2);color:#fff}
.ico{background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,106,61,.3))}
.ex-img{background:#fff}
}

/* One uniform canvas, including iOS safe areas. */
:root{--bg:#ffe9da;color-scheme:light dark}
html,body,#root{background-color:var(--bg);background-image:none;min-height:100%;margin:0}
body{min-height:100dvh;background-attachment:scroll}
.ios{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:calc(env(safe-area-inset-top,0px) + 4px)}
@media(prefers-color-scheme:dark){:root{--bg:#1a0f0a}html,body,#root{background-color:var(--bg);background-image:none}}
.meal-tap{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}.meal-tap:hover,.meal-tap:focus-visible{background:var(--tint-soft);outline:2px solid var(--tint);outline-offset:-2px}.meal-tap:active{background:var(--tint-soft)}
.meal-sheet{box-sizing:border-box;width:calc(100% - 20px);max-width:540px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border-radius:30px;border:1px solid var(--glass-b);color:var(--ink);background:var(--bg);box-shadow:0 24px 90px rgba(0,0,0,.32);overflow:auto;overscroll-behavior:contain;font-family:inherit}
.meal-sheet::backdrop{background:rgba(20,10,5,.42);backdrop-filter:blur(8px)}.meal-nav{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--sep);z-index:1;font-size:13px;color:var(--ink2)}.meal-nav button{width:36px;height:36px;border-radius:50%;border:0;background:var(--fill);color:var(--ink);font-size:17px;cursor:pointer}.meal-content{padding:20px}.meal-content h2{margin:4px 0 18px;font-size:30px;letter-spacing:-.6px}.meal-content h3{font-size:16px;margin:24px 0 8px}.meal-content .eyebrow{font-size:11px;margin:0 0 8px}.meal-stats{display:flex;gap:12px}.meal-stats>div{flex:1;padding:16px 12px;border-radius:20px;background:var(--glass);border:1px solid var(--glass-b);box-shadow:var(--shadow)}.meal-stats strong{display:block;font-size:29px;line-height:1.2;color:var(--tint);letter-spacing:-.5px}.meal-stats span{display:block;font-size:12px;margin-top:5px;color:var(--ink2)}.meal-subtitle{font-size:13px;color:var(--ink2);margin:22px 0 10px}.ingredient-list{border-radius:20px;background:var(--glass);border:1px solid var(--glass-b);overflow:hidden}.ingredient{padding:13px 14px;display:flex;gap:10px;justify-content:space-between}.ingredient+.ingredient{border-top:1px solid var(--sep)}.ingredient-label{flex:1;min-width:0}.ingredient-label strong{font-size:14px;display:block}.ingredient-label>span{font-size:12px;color:var(--ink2);display:block;margin-top:4px;line-height:1.4}.ingredient-values{flex-shrink:0;text-align:right;padding-top:1px}.ingredient-values strong{font-size:14px;display:block}.ingredient-values span{display:block;font-size:12px;color:var(--ink2);margin-top:4px}.portion-tag{display:inline-block;font-size:10px;background:var(--tint-soft);color:var(--tint);border-radius:7px;padding:3px 6px;margin-top:5px}.meal-sum{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;font-size:12px;margin-top:12px;padding:13px 3px;border-bottom:1px solid var(--sep)}.meal-copy{font-size:14px;line-height:1.6;margin:0;color:var(--ink2)}.meal-caution{font-size:12px;line-height:1.6;padding:15px;border-radius:18px;background:var(--tint-soft);margin:22px 0 16px}.meal-sources{font-size:12px;line-height:1.6;color:var(--ink2);padding-bottom:8px}.meal-sources summary{color:var(--tint);cursor:pointer;padding:10px 0}.meal-sources a{color:var(--tint)}
@media(prefers-reduced-motion:no-preference){.meal-sheet[open]{animation:sheet-in .18s ease-out}@keyframes sheet-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}

.lista{padding-bottom:40px}
.lista-intro,.lista-foot{color:var(--ink2);font-size:14px;margin:14px 16px 0}
.lista-foot{margin-top:20px;font-size:12.5px}
.lista-h:after{content:none!important}
.lista-row{align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lista-box{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--tint);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700}
.lista-row.ok .lista-box{background:var(--tint)}
.lista-n{flex:1;min-width:0;font-weight:500}
.lista-q{flex:none;color:var(--ink2)}
.lista-row.ok .lista-n,.lista-row.ok .lista-q{opacity:.45;text-decoration:line-through}
.topTabs{grid-template-columns:repeat(4,1fr)}.tt{font-size:14px;padding:0 2px;white-space:nowrap}

.meal-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:22px;margin:4px 0 14px;background:var(--fill);box-shadow:var(--shadow)}

/* Daily ingredient disclosure */
.day-ingredients{margin:0 16px 12px;border-radius:16px;background:var(--day-ing-bg,rgba(127,127,127,.08));border:1px solid rgba(127,127,127,.16);overflow:hidden}
.day-ingredients summary{cursor:pointer;min-height:52px;padding:15px 13px;box-sizing:border-box;font-size:14px;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px}
.day-ingredients summary::before{content:'›';font-size:23px;line-height:20px;transition:transform .15s}
.day-ingredients[open] summary::before{transform:rotate(90deg)}
.day-ingredients summary::-webkit-details-marker{display:none}
.day-ingredient-count{font-size:11px;font-weight:400;opacity:.65;margin-left:auto;white-space:nowrap}
.day-ingredient-list{list-style:none;margin:0;padding:0 13px}
.day-ingredient-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid rgba(127,127,127,.17);font-size:13px;line-height:1.5}
.day-ingredient-list li>span:first-child{min-width:0;flex:1}
.day-ingredient-qty{text-align:right;max-width:49%;font-size:12px;opacity:.8}
.day-ingredient-note{font-size:11px;line-height:1.5;opacity:.65;margin:12px 13px 14px}

/* iOS 18 glass segmented controls with sliding pill */
.segmented,.topTabs{position:relative;isolation:isolate;background:rgba(120,60,30,.10);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 2px rgba(120,60,30,.14),inset 0 0 0 1px rgba(255,255,255,.35),0 1px 0 rgba(255,255,255,.5)}
.segmented.has-pill .seg,.topTabs.has-pill .tt{position:relative;z-index:1;background:transparent!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent;transition:color .3s ease,font-weight .3s}
.glass-pill{box-sizing:border-box;position:absolute;max-width:100%;left:0;top:0;z-index:0;pointer-events:none;border-radius:inherit;border-radius:16px;opacity:0;
 background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.62));
 -webkit-backdrop-filter:blur(10px) saturate(190%);backdrop-filter:blur(10px) saturate(190%);
 border:1px solid rgba(255,255,255,.85);
 box-shadow:0 6px 18px rgba(190,70,20,.22),0 1px 3px rgba(190,70,20,.18),inset 0 1.5px 0 #fff,inset 0 -1px 2px rgba(255,150,100,.25);
 transition:transform .46s cubic-bezier(.32,.72,0,1),width .46s cubic-bezier(.32,.72,0,1),height .3s,opacity .2s}
.view-switch .glass-pill,.segmented .glass-pill{border-radius:14px}
.segmented:active .glass-pill,.topTabs:active .glass-pill{filter:brightness(1.03)}
@media(prefers-color-scheme:dark){
.segmented,.topTabs{background:rgba(255,200,170,.10);box-shadow:inset 0 1px 2px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.10)}
.glass-pill{background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.14));border:1px solid rgba(255,255,255,.28);box-shadow:0 6px 18px rgba(0,0,0,.4),inset 0 1.5px 0 rgba(255,255,255,.4),inset 0 -1px 2px rgba(255,140,90,.18)}
.segmented.has-pill .seg.on,.topTabs.has-pill .tt.on{color:#fff}
}
@media(prefers-reduced-motion:reduce){.glass-pill{transition:none}}

/* Meal detail sheet: always centered in the visible screen */
.meal-sheet{position:fixed!important;inset:auto!important;top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;margin:0!important;transform:translate(-50%,-50%);height:auto;width:min(540px,calc(100vw - 20px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
@media(prefers-reduced-motion:no-preference){.meal-sheet[open]{animation:sheet-center .2s ease-out!important}@keyframes sheet-center{from{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}}

/* pill nunca fuera de la barra */
.segmented.has-pill,.topTabs.has-pill{overflow:hidden;overflow:clip}
.segmented.has-pill .glass-pill,.topTabs.has-pill .glass-pill{box-shadow:0 3px 8px rgba(190,70,20,.16),inset 0 1.5px 0 #fff,inset 0 -1px 2px rgba(255,150,100,.25)}
@media(prefers-color-scheme:dark){.segmented.has-pill .glass-pill,.topTabs.has-pill .glass-pill{box-shadow:0 3px 8px rgba(0,0,0,.35),inset 0 1.5px 0 rgba(255,255,255,.4),inset 0 -1px 2px rgba(255,140,90,.18)}}

/* ===== Liquid Glass B/N (iOS 26) ===== */
:root{--bg:#f2f2f4;--ink:#0a0a0a;--ink2:rgba(0,0,0,.55);--sep:rgba(0,0,0,.10);--tint:#0a0a0a;--tint-soft:rgba(0,0,0,.07);--fill:rgba(0,0,0,.06);
--glass:rgba(255,255,255,.38);--glass-b:rgba(255,255,255,.75);--shadow:0 10px 32px rgba(0,0,0,.10),0 1px 2px rgba(0,0,0,.06);
--lg-spec:inset 1px 1.5px 0 rgba(255,255,255,.95),inset -1px -1px 0 rgba(255,255,255,.35),inset 0 0 14px rgba(255,255,255,.35)}
html,body,#root{background-color:var(--bg)!important;
background-image:radial-gradient(55% 35% at 5% 0%,rgba(255,255,255,.95),transparent 70%),radial-gradient(50% 35% at 100% 18%,rgba(160,160,170,.45),transparent 70%),radial-gradient(60% 40% at 0% 62%,rgba(190,190,198,.5),transparent 70%),radial-gradient(60% 40% at 100% 100%,rgba(120,120,130,.35),transparent 70%)!important;
background-attachment:fixed!important}
.large-title h1{background:none!important;-webkit-background-clip:initial;background-clip:initial;color:var(--ink)!important;-webkit-text-fill-color:var(--ink)}
.eyebrow,.section,.full,.starting-point>summary.section:after{color:var(--ink2)!important}
.hero{border:1px solid rgba(255,255,255,.7);box-shadow:0 18px 40px rgba(0,0,0,.22),var(--lg-spec)}
.hero-over{background:linear-gradient(#0000,rgba(0,0,0,.5))!important;-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%)}
.ios-card,.switch-row,.note,.full,.segmented,.topTabs{background:var(--glass)!important;-webkit-backdrop-filter:blur(30px) saturate(200%) brightness(1.04)!important;backdrop-filter:blur(30px) saturate(200%) brightness(1.04)!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:var(--shadow),var(--lg-spec)!important}
.note{background:rgba(255,255,255,.3)!important}
.segmented,.topTabs{background:rgba(120,120,128,.16)!important}
.glass-pill{background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.7))!important;border:1px solid rgba(255,255,255,.95)!important;-webkit-backdrop-filter:blur(12px) saturate(200%);backdrop-filter:blur(12px) saturate(200%)}
.segmented.has-pill .glass-pill,.topTabs.has-pill .glass-pill,.glass-pill{box-shadow:0 3px 10px rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,.12),inset 0 1.5px 0 #fff,inset 0 -1px 2px rgba(0,0,0,.08)!important}
.seg.on,.tt.on,.segmented.has-pill .seg.on,.topTabs.has-pill .tt.on{color:#000!important;font-weight:700}
.full.on{background:rgba(0,0,0,.82)!important;color:#fff!important}
.ico{background:linear-gradient(145deg,rgba(255,255,255,.95),rgba(200,200,208,.6))!important;box-shadow:0 3px 10px rgba(0,0,0,.12),inset 0 1px 0 #fff!important}
.num{background:linear-gradient(145deg,#4a4a4e,#0a0a0a)!important;color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.35)!important}
.item.total{background:linear-gradient(90deg,rgba(0,0,0,.08),transparent)!important}
.bar-track{background:rgba(0,0,0,.09)!important;box-shadow:inset 0 1px 2px rgba(0,0,0,.12)!important}
.bar-fill{background:linear-gradient(90deg,#8e8e93,#0a0a0a)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)!important}
.toggle{background:rgba(120,120,128,.32)!important}
.toggle.on{background:#0a0a0a!important}
.toggle .knob{background:#fff!important;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.ex-img{background:rgba(255,255,255,.85)!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}
.variant.important{background:rgba(0,0,0,.06)!important;border:1px solid rgba(255,255,255,.7)!important}
.row+.row:before,.item+.item:before,.exercise+.exercise:before{background:linear-gradient(90deg,transparent,rgba(0,0,0,.12) 12%,rgba(0,0,0,.12) 88%,transparent)!important}
.meal-tap:hover,.meal-tap:focus-visible,.meal-tap:active{background:rgba(0,0,0,.06)!important;outline-color:rgba(0,0,0,.3)}
.lista-box{border-color:rgba(0,0,0,.45)}
.lista-row.ok .lista-box{background:#0a0a0a}
.day-ingredients{background:rgba(255,255,255,.35)!important;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.6)!important;box-shadow:var(--lg-spec),0 4px 14px rgba(0,0,0,.06)}
.meal-sheet{background:rgba(250,250,252,.55)!important;-webkit-backdrop-filter:blur(40px) saturate(200%);backdrop-filter:blur(40px) saturate(200%);border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 24px 90px rgba(0,0,0,.35),var(--lg-spec)!important}
.meal-sheet::backdrop{background:rgba(0,0,0,.28)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.meal-nav{background:rgba(255,255,255,.35)!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.meal-nav button{background:rgba(255,255,255,.6)!important;box-shadow:var(--lg-spec)}
.meal-photo{box-shadow:0 8px 22px rgba(0,0,0,.18)!important}
.full{display:none!important}
@media(prefers-color-scheme:dark){
:root{--bg:#000;--ink:#fff;--ink2:rgba(255,255,255,.6);--sep:rgba(255,255,255,.14);--tint:#fff;--tint-soft:rgba(255,255,255,.12);--fill:rgba(255,255,255,.12);
--glass:rgba(255,255,255,.09);--glass-b:rgba(255,255,255,.22);--shadow:0 10px 34px rgba(0,0,0,.55);
--lg-spec:inset 1px 1.5px 0 rgba(255,255,255,.38),inset -1px -1px 0 rgba(255,255,255,.10),inset 0 0 16px rgba(255,255,255,.06)}
html,body,#root{background-color:#000!important;
background-image:radial-gradient(55% 35% at 5% 0%,rgba(110,110,125,.55),transparent 70%),radial-gradient(50% 35% at 100% 18%,rgba(70,70,82,.55),transparent 70%),radial-gradient(60% 40% at 0% 62%,rgba(60,60,70,.55),transparent 70%),radial-gradient(60% 40% at 100% 100%,rgba(95,95,108,.45),transparent 70%)!important}
.large-title h1{color:#fff!important;-webkit-text-fill-color:#fff}
.hero{border-color:rgba(255,255,255,.25)}
.ios-card,.switch-row,.note,.full,.segmented,.topTabs{background:var(--glass)!important;border:1px solid rgba(255,255,255,.16)!important;-webkit-backdrop-filter:blur(30px) saturate(180%)!important;backdrop-filter:blur(30px) saturate(180%)!important}
.note{background:rgba(255,255,255,.07)!important}
.segmented,.topTabs{background:rgba(255,255,255,.10)!important}
.glass-pill{background:linear-gradient(180deg,rgba(255,255,255,.36),rgba(255,255,255,.16))!important;border:1px solid rgba(255,255,255,.35)!important}
.segmented.has-pill .glass-pill,.topTabs.has-pill .glass-pill,.glass-pill{box-shadow:0 3px 10px rgba(0,0,0,.5),inset 0 1.5px 0 rgba(255,255,255,.5),inset 0 -1px 2px rgba(255,255,255,.08)!important}
.seg.on,.tt.on,.segmented.has-pill .seg.on,.topTabs.has-pill .tt.on{color:#fff!important}
.full.on{background:rgba(255,255,255,.85)!important;color:#000!important}
.ico{background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)!important}
.num{background:linear-gradient(145deg,#f2f2f2,#9a9aa0)!important;color:#000}
.item.total{background:linear-gradient(90deg,rgba(255,255,255,.12),transparent)!important}
.bar-track{background:rgba(255,255,255,.14)!important}
.bar-fill{background:linear-gradient(90deg,#6c6c72,#fff)!important}
.toggle{background:rgba(255,255,255,.2)!important}
.toggle.on{background:#fff!important}
.toggle.on .knob{background:#000!important}
.variant.important{background:rgba(255,255,255,.10)!important;border-color:rgba(255,255,255,.2)!important}
.row+.row:before,.item+.item:before,.exercise+.exercise:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.16) 12%,rgba(255,255,255,.16) 88%,transparent)!important}
.meal-tap:hover,.meal-tap:focus-visible,.meal-tap:active{background:rgba(255,255,255,.08)!important;outline-color:rgba(255,255,255,.35)}
.lista-box{border-color:rgba(255,255,255,.6);color:#000}
.lista-row.ok .lista-box{background:#fff}
.day-ingredients{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.16)!important}
.meal-sheet{background:rgba(28,28,32,.55)!important;border-color:rgba(255,255,255,.2)!important}
.meal-sheet::backdrop{background:rgba(0,0,0,.55)!important}
.meal-nav{background:rgba(40,40,46,.4)!important}
.meal-nav button{background:rgba(255,255,255,.14)!important}
}
/* Local progress, substitutions and adjustable rest timer */
.day-progress{padding:14px 20px 18px;border-bottom:1px solid var(--separator,rgba(128,128,128,.16))}.day-progress>div{display:flex;justify-content:space-between;gap:12px;font-size:14px}.day-progress span,.day-progress small{font-size:11px;opacity:.65}.day-progress progress{display:block;width:100%;height:6px;border:0;border-radius:8px;margin:10px 0;background:rgba(128,128,128,.15);accent-color:currentColor}.day-progress progress::-webkit-progress-bar{background:rgba(128,128,128,.15);border-radius:8px}.day-progress progress::-webkit-progress-value{background:currentColor;border-radius:8px}.meal-check{align-self:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid rgba(128,128,128,.3);background:rgba(255,255,255,.22);color:inherit;font-size:24px;backdrop-filter:blur(20px);box-shadow:inset 0 1px 1px rgba(255,255,255,.6);cursor:pointer}.meal-check.checked{background:#151515;color:white}.feature-btn,.swap-food,.swap-option{font:inherit;color:inherit;border:1px solid rgba(128,128,128,.2);background:rgba(255,255,255,.25);backdrop-filter:blur(24px);box-shadow:inset 0 1px 1px rgba(255,255,255,.55);border-radius:16px;cursor:pointer}.feature-btn{min-height:44px;padding:10px 16px}.swap-food{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;padding:12px;margin:6px 0;min-height:60px}.swap-food small,.swap-option span,.swap-option small{display:block;margin-top:5px;opacity:.7;font-size:12px;line-height:1.4}.swap-options{border-radius:20px;padding:16px;margin:16px 0;background:rgba(128,128,128,.12);border:1px solid rgba(128,128,128,.22)}.swap-options h3{margin:0!important}.swap-options p{font-size:12px;line-height:1.5;opacity:.75}.swap-option{display:block;width:100%;padding:14px;text-align:left;margin:10px 0}.swap-options .feature-btn{margin:8px 8px 0 0}.rest-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:14px 0}.rest-controls label{font-size:12px}.rest-controls select{font:inherit;color:inherit;background:transparent;padding:10px;border:1px solid rgba(128,128,128,.4);border-radius:12px;min-height:44px}.rest-controls select option{color:#111;background:#fff}.timer-dock{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:90;width:min(340px,calc(100% - 24px));box-sizing:border-box;border-radius:24px;padding:14px 18px;text-align:center;background:rgba(247,247,249,.85);color:#111;backdrop-filter:blur(36px);-webkit-backdrop-filter:blur(36px);border:1px solid rgba(255,255,255,.65);box-shadow:0 10px 40px rgba(0,0,0,.22),inset 0 1px 2px white}.timer-dock>small{display:block;font-size:12px}.timer-dock>strong{display:block;font-variant-numeric:tabular-nums;font-size:26px;margin:6px 0}.timer-dock button{font:inherit;border:0;background:rgba(128,128,128,.13);color:inherit;border-radius:12px;min-height:44px;padding:8px 18px;margin:4px}.timer-dock .timer-note{font-size:10px;opacity:.65;line-height:1.4;margin-top:6px}.ios:has(.timer-dock){padding-bottom:210px}button:focus-visible,select:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(prefers-color-scheme:dark){.meal-check.checked{background:#f2f2f4;color:#111}.feature-btn,.swap-food,.swap-option{background:rgba(255,255,255,.06);box-shadow:inset 0 1px 1px rgba(255,255,255,.18)}.timer-dock{background:rgba(25,25,29,.9);color:#f4f4f5;border-color:rgba(255,255,255,.2);box-shadow:0 10px 40px rgba(0,0,0,.45),inset 0 1px 1px rgba(255,255,255,.2)}}
/* Keep nested glass controls readable while a modal repaints. */
.swap-food,.swap-option,.swap-options .feature-btn{-webkit-backdrop-filter:none;backdrop-filter:none;box-sizing:border-box}
.meal-nav{background:rgba(248,248,250,.92)!important;isolation:isolate}
@media(prefers-color-scheme:dark){.meal-nav{background:rgba(30,30,34,.94)!important}}
.meal-sheet .meal-nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.meal-sheet .meal-nav{background:rgb(248,248,250)!important}
@media(prefers-color-scheme:dark){.meal-sheet .meal-nav{background:rgb(30,30,34)!important}}

/* Compact rest selector and play control in one row */
.rest-controls{flex-wrap:nowrap;gap:8px}.rest-controls label{white-space:nowrap;flex:0 1 auto}.rest-controls label>span{display:flex;align-items:center;gap:6px}.rest-controls select{padding:8px;min-width:0}.rest-controls .play-btn{flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:14px}.rest-controls .play-btn svg{width:20px;height:20px;fill:currentColor}

.month-cal{margin:18px 0 28px;padding:16px 14px 14px}.month-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.month-head span{font-size:12px;opacity:.65;text-transform:none}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.month-dow span{text-align:center;font-size:11px;opacity:.55;padding-bottom:2px}.cal-day{position:relative;overflow:hidden;aspect-ratio:1/1.05;border-radius:12px;border:1px solid rgba(128,128,128,.22);background:rgba(128,128,128,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0}.cal-day::before{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--p);background:currentColor;opacity:.28}.cal-day b,.cal-day i{position:relative;font-style:normal}.cal-day b{font-size:13px;font-weight:600}.cal-day i{font-size:10px;opacity:.8;font-variant-numeric:tabular-nums}.cal-day.future{background:transparent;border-style:dashed;opacity:.45}.cal-day.future::before{display:none}.cal-day.today{border:2px solid currentColor}.cal-day.full-day::before{opacity:.55}.month-note{font-size:11px;opacity:.6;margin:12px 0 0;line-height:1.4}

.sp-card{padding:14px}.sp-in{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.sp-f span,.sp-act span{display:block;font-size:11px;opacity:.6;margin-bottom:4px}.sp-f div{display:flex;align-items:center;gap:4px;border:1px solid rgba(128,128,128,.3);background:rgba(128,128,128,.08);border-radius:12px;padding:0 10px;height:44px}.sp-f input{width:100%;min-width:0;border:0;background:transparent;color:inherit;font:inherit;font-size:17px;font-weight:600;outline:0;padding:0}.sp-f em{font-style:normal;font-size:11px;opacity:.55}.sp-act{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.sp-act span{margin:0;font-size:14px;opacity:.7}.sp-act select{flex:1;max-width:210px;height:40px;border-radius:12px;border:1px solid rgba(128,128,128,.3);background:rgba(128,128,128,.08);color:inherit;font:inherit;font-size:14px;padding:0 8px}.sp-need{font-size:14px;opacity:.75;margin:14px 2px}.sp-out{margin-top:14px}.sp-bmi-top{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.sp-bmi-top strong{font-size:15px}.sp-bar{position:relative;height:10px;border-radius:6px;background:rgba(128,128,128,.2);margin:10px 0 4px}.sp-zone{position:absolute;top:0;bottom:0;border-radius:6px;background:currentColor;opacity:.35}.sp-mark{position:absolute;top:-4px;width:4px;height:18px;margin-left:-2px;border-radius:2px;background:currentColor}.sp-scale{display:flex;justify-content:space-between;font-size:10px;opacity:.5}.sp-state{font-size:13px;font-weight:600;margin:8px 0 12px}.sp-table{border-top:1px solid rgba(128,128,128,.25)}.sp-th,.sp-tr{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:6px;padding:8px 0;border-bottom:1px solid rgba(128,128,128,.18);font-size:13px;align-items:baseline}.sp-th{font-size:11px;opacity:.55;text-transform:uppercase;letter-spacing:.04em}.sp-tr span:first-child{opacity:.7}.sp-tr span:nth-child(2){font-variant-numeric:tabular-nums}.sp-tr span:last-child{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.sp-th span:last-child{text-align:right}.sp-static{margin-top:10px}
.sp-static .row{padding:10px 2px;font-size:14px}.sp-th,.sp-tr{grid-template-columns:1.2fr 1.1fr .9fr}
.weight-tracker,.workout-calendar{margin:16px 0;padding:20px!important}.weight-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.weight-form label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;min-width:0}.weight-form input{box-sizing:border-box;width:100%;min-width:0;border:1px solid var(--stroke,rgba(127,127,127,.25));border-radius:12px;padding:12px 8px;background:transparent;color:inherit;font:inherit;height:46px}.weight-form button{grid-column:1/-1}.weight-latest{display:flex;align-items:center;justify-content:space-between;margin:20px 0 5px}.weight-latest strong{font-size:28px}.weight-latest span,.weight-advice p,.weight-history{font-size:13px;line-height:1.5}.weight-chart{width:100%;height:auto;display:block;color:inherit}.weight-chart text{font-size:11px;fill:currentColor}.weight-history summary{min-height:44px;display:flex;align-items:center;font-weight:600;cursor:pointer}.weight-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid rgba(127,127,127,.2);padding:4px 0}.weight-row button,.month-head button{min-width:40px;min-height:44px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.weight-row strong{margin-left:auto}.weight-advice{border-top:1px solid rgba(127,127,127,.2);margin-top:12px;padding-top:6px}.feature-btn{min-height:44px!important;white-space:normal}.feature-btn:disabled,.month-head button:disabled{opacity:.4;cursor:default}.workout-summary{font-size:13px;line-height:1.5;margin:18px 0}.workout-calendar .cal-day{border:0;color:inherit;font:inherit;cursor:pointer;min-height:48px}.workout-calendar .cal-day:disabled{cursor:default}.exercise-alternatives{margin:10px 0}.exercise-name-button{background:none;border:0;color:inherit;font:inherit;text-align:left;padding:0;min-height:44px;cursor:pointer}.exercise-alternatives .swap-options{margin-top:12px}.exercise-alternatives h3{font-size:16px}.exercise-alternatives p{font-size:13px;line-height:1.5}.weight-tracker .card-sub{white-space:normal}.workout-calendar .month-head{gap:4px}.workout-calendar .month-head strong{font-size:14px;text-align:center}.weight-tracker .month-note,.workout-calendar .month-note{line-height:1.5}

/* v22: pestaña Progreso, rueda de peso, formulario sin solapes */
.topTabs{grid-template-columns:repeat(5,1fr)!important}.topTabs .tt{padding-left:2px!important;padding-right:2px!important;font-size:13px!important;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:350px){.topTabs .tt{font-size:11.5px!important}}
.weight-form{display:flex!important;flex-direction:column;gap:14px}.weight-form>*{min-width:0;max-width:100%;box-sizing:border-box}
.weight-form .weight-date{display:flex;flex-direction:column;gap:7px;width:100%}
.weight-form .weight-date input{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;height:46px;text-align:left;padding:0 12px;border-radius:12px;background:rgba(128,128,128,.08);border:1px solid rgba(128,128,128,.3);color:inherit;font:inherit;font-weight:600;margin:0}
.weight-form .weight-date input::-webkit-date-and-time-value{text-align:left;min-height:1.2em}
.weight-pick{display:flex;flex-direction:column;gap:7px}.weight-pick-l{font-size:13px;font-weight:600}
.wheel,.sp-weight .wheel{position:relative;display:flex;align-items:center;justify-content:center;height:200px;border-radius:20px;background:rgba(128,128,128,.08);border:1px solid rgba(128,128,128,.3);overflow:hidden;-webkit-user-select:none;user-select:none}
.wheel-band{position:absolute;left:8px;right:8px;top:80px;height:40px;border-radius:12px;background:rgba(128,128,128,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.35);pointer-events:none}
.wheel-col{position:relative;z-index:1;height:200px;width:84px;overflow-y:scroll;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior:contain;outline:0;touch-action:pan-y;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.wheel-col::-webkit-scrollbar{display:none}
.wheel-col:focus-visible{box-shadow:inset 0 0 0 2px rgba(128,128,128,.6);border-radius:12px}
.wheel-pad{height:80px;flex:none}
.wheel-item{height:40px;line-height:40px;text-align:center;font-size:23px;font-weight:600;font-variant-numeric:tabular-nums;scroll-snap-align:center;scroll-snap-stop:always;cursor:pointer;opacity:.35;transition:opacity .15s,transform .15s}
.wheel-item.d0{opacity:1;font-weight:700}.wheel-item.d1{opacity:.55;transform:scale(.9)}.wheel-item.d2{opacity:.3;transform:scale(.82)}.wheel-item.d3{opacity:.18;transform:scale(.76)}
.wheel-sep{position:relative;z-index:1;font-size:23px;font-weight:700;margin:0 2px;line-height:1}
.wheel-unit{position:relative;z-index:1;font-size:17px;font-weight:600;opacity:.6;margin-left:6px}
.sp-weight{margin-bottom:10px}.sp-wl{display:block;font-size:11px;opacity:.6;margin-bottom:4px}.sp-weight .month-note{margin:6px 0 0}
.sp-in{grid-template-columns:repeat(2,1fr)!important}
.note-fold{display:block!important}.note-fold summary{cursor:pointer;font-weight:700;min-height:24px;list-style:none;display:flex;align-items:center;justify-content:space-between}.note-fold summary::-webkit-details-marker{display:none}.note-fold summary::after{content:"\203A";font-size:20px;opacity:.5;transform:rotate(90deg);transition:transform .2s}.note-fold[open] summary::after{transform:rotate(-90deg)}.note-fold span{display:block;margin-top:8px}
.topTabs{grid-template-columns:repeat(5,minmax(max-content,1fr))!important;gap:0!important;padding:3px!important}.topTabs .tt{font-size:12.5px!important;overflow:visible!important;text-overflow:clip!important;padding:8px 6px!important}
@media(max-width:350px){.topTabs .tt{font-size:11px!important;padding:8px 3px!important}}

.wheel,.sp-weight .wheel{height:108px}
.wheel-band{top:36px;height:36px;border-radius:10px}
.wheel-col{height:108px;width:76px}
.wheel-pad{height:36px}
.wheel-item{height:36px;line-height:36px;font-size:21px}
.wheel-sep{font-size:21px}
.weight-form{gap:10px}
.weight-form .weight-date .date-box{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:46px;box-sizing:border-box;border-radius:12px;background:rgba(128,128,128,.08);border:1px solid rgba(128,128,128,.3);overflow:hidden}
.weight-form .weight-date .date-txt{font-weight:600;text-align:center;line-height:1;pointer-events:none}
.weight-form .weight-date .date-box input{position:absolute;inset:0;width:100%;height:100%;opacity:0;border:0;padding:0;margin:0;background:transparent}
