/* Peaks OS · Área Salud (todas las clases con prefijo .sa-) */
.sa-pane{display:flex;flex-direction:column;gap:18px;animation:entra .28s ease}
.sa-seg{position:sticky;top:calc(var(--sat) + 6px);z-index:5;box-shadow:0 6px 18px -8px rgba(0,0,0,.5)}
.sa-vh{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}

/* íconos en burbuja */
.sa-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--acc-bg);color:var(--acc)}
.sa-ic svg{width:21px;height:21px}
.sa-ic.sm{width:30px;height:30px;border-radius:9px}
.sa-ic.sm svg{width:17px;height:17px}
.sa-ic.lg{width:48px;height:48px;border-radius:15px}
.sa-ic.lg svg{width:26px;height:26px}
.sa-ic.xl{width:60px;height:60px;border-radius:19px}
.sa-ic.xl svg{width:32px;height:32px}
.sa-emptyic{width:40px;height:40px;color:var(--fg3)}

/* anillos */
.sa-ring{position:relative;width:var(--sz);height:var(--sz);flex:none}
.sa-ring>svg{width:100%;height:100%;transform:rotate(-90deg)}
.sa-ring-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.05}
.sa-ring-in b{font-size:30px;font-weight:800;letter-spacing:-.03em}
.sa-ring-in b em{font-style:normal;color:var(--fg3);font-size:20px}
.sa-ring-in span{font-size:12px;color:var(--fg2);font-weight:700;margin-top:3px}
.sa-ring.over>svg circle:last-child{stroke:var(--imp,var(--acc))}

/* números grandes */
.sa-big{font-size:34px;font-weight:800;letter-spacing:-.03em;line-height:1.05}
.sa-big small{font-size:15px;color:var(--fg2);font-weight:700;letter-spacing:0;margin-left:5px}

/* ---------- héroe de la semana */
.sa-hero{display:grid;grid-template-columns:auto 1fr;gap:16px 18px;align-items:center;padding:20px;
  background:radial-gradient(120% 130% at 0% 0%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 58%),var(--s1)}
.sa-hero-r{display:flex;flex-direction:column;gap:6px;min-width:0}
.sa-hero-msg{font-size:18px;font-weight:800;line-height:1.2;letter-spacing:-.01em;text-wrap:balance}
.sa-dots{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:6px;max-width:230px}
.sa-dots span{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--fg3)}
.sa-dots i{width:12px;height:12px;border-radius:50%;background:var(--s3)}
.sa-dots .on i{background:var(--acc);box-shadow:0 0 0 3px var(--acc-bg)}
.sa-dots .hoy{color:var(--fg)}
.sa-dots .hoy:not(.on) i{background:transparent;box-shadow:inset 0 0 0 2px var(--acc)}
.sa-trio{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:14px}
.sa-trio>div{display:flex;flex-direction:column;gap:2px;padding:0 4px}
.sa-trio>div+div{border-left:1px solid var(--line);padding-left:14px}
.sa-trio b{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.1;display:flex;align-items:center;gap:4px}
.sa-trio span{font-size:12px;color:var(--fg2);line-height:1.25}
.sa-flame{display:inline-grid;color:var(--acc)}
.sa-flame svg{width:18px;height:18px}

.sa-go{height:60px;font-size:18px;border-radius:18px;box-shadow:0 12px 28px -10px color-mix(in srgb,var(--acc) 70%,transparent)}
.sa-go svg{width:18px;height:18px}

/* aviso de entreno en curso */
.sa-live{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--r);text-align:left;width:100%;
  background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 24%,var(--s1)),var(--s1) 70%);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent)}
.sa-live .grow{flex:1;min-width:0;display:flex;flex-direction:column}
.sa-live b{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sa-live-ic{width:46px;height:46px;border-radius:14px;background:var(--acc);color:#fff;display:grid;place-items:center;flex:none}
.sa-live-ic svg{width:24px;height:24px}
.sa-live-t{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.sa-pulse{width:8px;height:8px;border-radius:50%;background:var(--acc);flex:none;animation:saPulse 1.6s ease-out infinite}
.sa-pulse.off{animation:none;background:var(--fg3)}
@keyframes saPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--acc) 60%,transparent)}100%{box-shadow:0 0 0 9px transparent}}

/* hoy toca */
.sa-today{display:flex;flex-direction:column;gap:12px;border:1px solid color-mix(in srgb,var(--acc) 22%,transparent)}
.sa-today.rest{border-color:var(--line)}
.sa-today-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sa-today h2{margin-top:3px}
.sa-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--fg2);font-size:14px;font-weight:700}
.sa-meta span{display:flex;align-items:center;gap:6px}
.sa-meta svg{width:16px;height:16px}
.sa-today-ej{display:flex;flex-direction:column;gap:0;border-radius:var(--r2);background:var(--s2);padding:4px 14px}
.sa-today-ej span{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:15px}
.sa-today-ej span+span{border-top:1px solid var(--line)}
.sa-today-ej em{font-style:normal;color:var(--fg2);font-variant-numeric:tabular-nums;white-space:nowrap}

/* gráficos */
.sa-gcard{display:flex;flex-direction:column;gap:14px}
.sa-gh{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.sa-gh .sa-big{margin-top:4px}
.sa-gsub{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;color:var(--fg2);font-weight:700;text-align:right}
.sa-gsub b{font-size:16px;color:var(--fg);font-weight:800}
.sa-chart svg{width:100%;display:block;overflow:visible}
.sa-chart line.b{stroke:var(--acc);stroke-opacity:.32;stroke-width:16px;stroke-linecap:round}
.sa-chart line.b.on{stroke-opacity:1}
.sa-chart line.b.cero{stroke:var(--s3);stroke-opacity:1}
.sa-chart line.ref{stroke:var(--fg3);stroke-width:1.5px;stroke-dasharray:4 5}
.sa-chart-x{display:grid;margin-top:6px}
.sa-chart-x span{text-align:center;font-size:11px;font-weight:700;color:var(--fg3);font-variant-numeric:tabular-nums;white-space:nowrap}
.sa-chart-x span.on{color:var(--fg)}
@media (min-width:600px){.sa-chart line.b{stroke-width:22px}}

/* filas de entrenos */
.sa-erow{padding:12px 14px}
.sa-erow+.sa-erow::before,.sa-crow+.sa-crow::before,.sa-mrow+.sa-mrow::before{left:66px}
.sa-when{display:flex;flex-direction:column;align-items:flex-end;font-size:13px;color:var(--fg2);font-weight:700;flex:none}
.sa-when em{font-style:normal;font-size:11px;color:var(--fg3);font-weight:700}

/* ---------- elegir tipo */
.sa-tipos{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.sa-tipo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:var(--r);background:var(--s1);text-align:left;border:1px solid var(--line);transition:transform .12s,border-color .15s}
.sa-tipo:active{transform:scale(.97)}
.sa-tipo:hover{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.sa-tipo .sa-ic{margin-bottom:10px}
.sa-tipo b{font-size:17px}
.sa-tipo span:last-child{font-size:13px;color:var(--fg2)}
@media (min-width:600px){.sa-tipos{grid-template-columns:repeat(3,1fr)}}

/* ---------- sesión en vivo */
.sa-ttl{display:inline-flex;align-items:center;gap:9px}
.sa-foot2{display:flex;gap:10px}
.sa-foot2 .btn{flex:1;white-space:nowrap;padding:0 12px;min-width:0}
.sa-foot2 .btn:last-child{flex:1.35}
.sa-foot2 .btn svg{width:17px;height:17px}
.sa-clockcard{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px 22px;border-radius:24px;
  background:radial-gradient(90% 120% at 50% 0%,color-mix(in srgb,var(--acc) 15%,transparent),transparent 65%),var(--s1);transition:opacity .2s}
.sa-status{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.sa-clockcard.paused .sa-status{color:var(--fg2)}
.sa-clock{font-size:76px;font-weight:800;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.sa-clockcard.paused .sa-clock,.sa-clockcard.paused .sa-iv{opacity:.45}
.sa-clock-sm{font-size:14px;color:var(--fg2);font-weight:700}
.sa-clock-sm b{color:var(--fg);font-size:17px;margin-left:4px}
.sa-planline{font-size:14px;color:var(--fg2);font-weight:700;text-align:center}
.sa-iv{position:relative;width:220px;height:220px}
.sa-iv svg{width:100%;height:100%;transform:rotate(-90deg)}
.sa-iv .tr{fill:none;stroke:var(--s3);stroke-width:12}
.sa-iv .ar{fill:none;stroke:var(--acc);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .25s linear,stroke .3s}
.sa-iv.rest .ar{stroke:var(--ok)}
.sa-iv-in{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.sa-iv-in span{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.sa-iv.rest .sa-iv-in span{color:var(--ok)}
.sa-iv-in b{font-size:62px;font-weight:800;letter-spacing:-.04em;line-height:1}
.sa-iv-in em{font-style:normal;font-size:13px;color:var(--fg2);font-weight:700}
.sa-rest{display:flex;align-items:center;gap:10px;margin-top:8px;padding:6px 6px 6px 14px;border-radius:99px;background:var(--s2);font-weight:700;font-size:14px}
.sa-rest>span{display:flex;align-items:center;gap:6px;color:var(--ok)}
.sa-rest svg{width:16px;height:16px}
.sa-rest b{font-size:17px;min-width:44px}

.sa-ivconf,.sa-photo,.sa-ex,.sa-clockcard,.sa-preview,.sa-hchips{flex-shrink:0}
.sheet .body:has([class*="sa-"])>*{flex-shrink:0}
.sa-ivconf{background:var(--s1);border-radius:var(--r);overflow:hidden}
.sa-ivhead{display:flex;align-items:center;gap:13px;width:100%;padding:14px 16px;text-align:left}
.sa-ivhead .grow{flex:1;display:flex;flex-direction:column;min-width:0}
.sa-ivhead .grow span{font-size:13px;color:var(--fg2)}
.sa-ivhead>svg{width:18px;height:18px;color:var(--fg3);transition:transform .2s}
.sa-ivconf.open .sa-ivhead>svg{transform:rotate(180deg)}
.sa-ivbody{display:flex;flex-direction:column;gap:12px;padding:0 16px 16px}
.sa-presets button{display:flex;gap:6px}
.sa-presets .muted{font-weight:400;font-variant-numeric:tabular-nums}
.sa-step{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}
.sa-step>div{display:flex;align-items:center;gap:6px;background:var(--s2);border-radius:13px;padding:4px}
.sa-step button{width:38px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--fg)}
.sa-step button:hover{background:var(--s3)}
.sa-step button svg{width:17px;height:17px}
.sa-step b{min-width:58px;text-align:center;font-size:17px}
.sa-step.big{background:var(--s1);border-radius:var(--r2);padding:12px 12px 12px 16px}
.sa-discard{color:var(--fg3)!important;font-weight:700;font-size:14px}

.sa-dist{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end}
.sa-dist-l{display:flex;flex-direction:column;gap:6px;min-width:0}
.sa-dist-in{display:flex;align-items:baseline;gap:8px}
.sa-dist-in input{font-size:40px;font-weight:800;letter-spacing:-.03em;padding:4px 12px;height:60px;max-width:170px;font-variant-numeric:tabular-nums}
.sa-dist-in span{font-size:17px;color:var(--fg2);font-weight:700}
.sa-dist-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding-bottom:6px}
.sa-dist-r b{font-size:24px;font-weight:800;letter-spacing:-.02em}

.sa-ex{background:var(--s1);border-radius:var(--r);padding:14px 14px 12px;display:flex;flex-direction:column;gap:6px}
.sa-ex-h{display:flex;align-items:flex-start;gap:8px;padding:0 2px 4px}
.sa-ex-h .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sa-ex-h b{font-size:17px}
.sa-ex-h span{font-size:13px;color:var(--fg2)}
.sa-ex-h .iconbtn{width:30px;height:30px;margin:-4px -4px 0 0}
.sa-ex-h .iconbtn svg{width:15px;height:15px}
.sa-set{display:grid;grid-template-columns:44px 1fr 1fr 40px;gap:8px;align-items:center;border-radius:12px;transition:background .2s}
.sa-set input{text-align:center;padding:10px 6px;font-weight:800;font-size:17px;font-variant-numeric:tabular-nums;height:44px}
.sa-set .n{width:30px;height:30px;border-radius:50%;background:var(--s3);display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--fg2);justify-self:center}
.sa-set>button{display:grid;place-items:center;height:44px}
.sa-set.ok .n{background:var(--acc);color:#fff}
.sa-set.ok input{background:var(--acc-bg);border-color:transparent}
.sa-set-h{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);text-align:center;min-height:0}
.sa-set.ro{grid-template-columns:44px 1fr 1fr 4px;padding:4px 0;font-weight:700;text-align:center}
.sa-ex-f{display:flex;flex-wrap:wrap;gap:6px;padding-top:6px}
.sa-ex-f .pill{height:32px}
.sa-ex-f .pill svg{width:14px;height:14px}
.sa-addex{display:flex;flex-direction:column;gap:10px}
.sa-addex .btn.sm{width:48px;height:auto;padding:0}
.sa-addex .chips button{font-size:13px;padding:7px 12px}
.sa-note{background:var(--s1);border-radius:var(--r2);padding:13px 15px;font-size:15px;color:var(--fg2);line-height:1.5;display:flex;flex-direction:column;gap:3px;border-left:3px solid var(--acc)}
.sa-note b{color:var(--fg);font-size:13px;letter-spacing:.06em;text-transform:uppercase}

/* resumen */
.sa-sum-h{display:flex;align-items:center;gap:16px}
.sa-sum-h .sa-big{font-size:44px}
.sa-mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sa-mgrid:empty{display:none}
.sa-mgrid.three{grid-template-columns:repeat(3,1fr)}
.sa-mgrid>div{background:var(--s1);border-radius:var(--r2);padding:12px 14px;display:flex;flex-direction:column;gap:1px}
.sa-mgrid b{font-size:22px;font-weight:800;letter-spacing:-.02em}
.sa-mgrid span{font-size:12px;color:var(--fg2)}
.sa-rpe{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;align-items:end;height:74px}
.sa-rpe button{height:var(--h);min-height:30px;border-radius:9px;background:var(--s2);font-weight:800;font-size:14px;color:var(--fg2);display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;transition:all .15s}
.sa-rpe button[aria-pressed=true]{background:var(--acc);color:#fff}
.sa-pr{display:flex;flex-direction:column;gap:12px;text-align:center;align-items:center;padding-top:6px}
.sa-pr .group{width:100%;text-align:left}
.sa-pr-medal{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--acc) 60%,#fff),var(--acc) 60%);box-shadow:0 0 0 10px var(--acc-bg),0 18px 40px -10px var(--acc);animation:saMedal .6s cubic-bezier(.2,1.4,.4,1)}
.sa-pr-medal svg{width:46px;height:46px}
@keyframes saMedal{from{transform:scale(.4) rotate(-20deg);opacity:0}}
.sa-pr-v{color:var(--acc);font-size:16px;white-space:nowrap}
.sa-hchips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.sa-hchips::-webkit-scrollbar{display:none}
.sa-hchips button{white-space:nowrap;flex:none}
.sa-hchips .num{opacity:.6;margin-left:3px}

/* ---------- mi rutina */
.sa-choose{display:flex;flex-direction:column;gap:12px}
.sa-choose-h{padding:6px 4px 6px;display:flex;flex-direction:column;gap:6px}
.sa-path{display:flex;align-items:center;gap:15px;padding:18px;border-radius:var(--r);background:var(--s1);text-align:left;width:100%;border:1px solid var(--line)}
.sa-path .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.sa-path b{font-size:19px;font-weight:800}
.sa-path .grow>span:last-child{font-size:14px;color:var(--fg2);line-height:1.4}
.sa-path.ia{background:radial-gradient(120% 140% at 100% 0%,color-mix(in srgb,var(--acc) 26%,transparent),transparent 60%),var(--s1);border-color:color-mix(in srgb,var(--acc) 35%,transparent)}
.sa-path.ia .sa-ic{background:var(--acc);color:#fff}
.sa-rhead{display:flex;flex-direction:column;gap:14px}
.sa-rhead-t{display:flex;align-items:flex-start;gap:10px}
.sa-rhead-t .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.sa-rhead .sa-trio{border-top:0;padding-top:0}
.sa-wk{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sa-wk>div{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--fg3)}
.sa-wk i{width:100%;max-width:42px;aspect-ratio:1;border-radius:12px;background:var(--s2);display:grid;place-items:center;color:var(--acc)}
.sa-wk i svg{width:18px;height:18px}
.sa-wk .tr i{background:var(--acc-bg)}
.sa-wk .tr{color:var(--fg2)}
.sa-wk .hecho i{background:var(--acc);color:#fff}
.sa-wk .hoy{color:var(--fg)}
.sa-wk .hoy i{box-shadow:inset 0 0 0 2px var(--acc)}
.sa-drow{padding:12px 14px}
.sa-drow+.sa-drow::before{left:70px}
.sa-dname{width:42px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.1}
.sa-dname b{font-size:15px;font-weight:800}
.sa-dname em{font-style:normal;font-size:10px;font-weight:800;color:var(--acc);text-transform:uppercase;letter-spacing:.08em}
.sa-drow.rest .t{color:var(--fg2)}
.sa-tip{display:flex;flex-direction:column;gap:6px}
.sa-tip p{font-size:15px;line-height:1.55}
.sa-cons{display:flex;flex-direction:column;gap:12px}
.sa-cons>div{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45}
.sa-cons svg{width:16px;height:16px;flex:none;color:var(--acc);margin-top:3px}
.sa-rfoot{display:flex;flex-direction:column;gap:4px}
.sa-ejlist{display:flex;flex-direction:column;background:var(--s2);border-radius:var(--r2);padding:2px 14px}
.sa-card .sa-ejlist,.card .sa-ejlist{background:var(--s2)}
.sa-ejrow{display:flex;align-items:center;gap:12px;padding:11px 0}
.sa-ejrow+.sa-ejrow{border-top:1px solid var(--line)}
.sa-ejrow .n{width:24px;height:24px;border-radius:50%;background:var(--s3);font-size:12px;font-weight:800;display:grid;place-items:center;flex:none;color:var(--fg2)}
.sa-ejrow .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sa-ejrow .grow span{font-size:13px;color:var(--fg2);line-height:1.35}
.sa-ejr{display:flex;flex-direction:column;align-items:flex-end;flex:none}
.sa-ejr b{font-size:15px}
.sa-ejr span{font-size:12px;color:var(--fg3)}

/* encuesta */
.sa-qh{font-size:30px;margin-top:6px}
.sa-opts{display:flex;flex-direction:column;gap:10px}
.sa-opts.two{display:grid;grid-template-columns:repeat(2,1fr)}
.sa-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:15px;border-radius:var(--r2);background:var(--s1);text-align:left;border:1.5px solid var(--line);transition:all .15s}
.sa-opt .sa-ic{margin-bottom:8px;background:var(--s2);color:var(--fg2)}
.sa-opt b{font-size:16px}
.sa-opt span:not(.sa-ic){font-size:13px;color:var(--fg2);line-height:1.35}
.sa-opt[aria-pressed=true]{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,var(--s1))}
.sa-opt[aria-pressed=true] .sa-ic{background:var(--acc);color:#fff}
.sa-opt.row{flex-direction:row;align-items:center;gap:14px}
.sa-opt.row .grow{display:flex;flex-direction:column;gap:2px}
.sa-lvl{display:flex;align-items:flex-end;gap:3px;height:24px;flex:none}
.sa-lvl i{width:7px;border-radius:2px;background:var(--s3)}
.sa-lvl i:nth-child(1){height:10px}.sa-lvl i:nth-child(2){height:17px}.sa-lvl i:nth-child(3){height:24px}
.sa-lvl i.on{background:var(--acc)}
.sa-nums{display:flex;gap:8px}
.sa-nums button{flex:1;height:58px;border-radius:var(--r2);background:var(--s1);border:1.5px solid var(--line);font-size:22px;transition:all .15s}
.sa-nums button[aria-pressed=true]{background:var(--acc);border-color:var(--acc);color:#fff}
.sa-gen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:50px 10px 20px}
.sa-gen-orb{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--acc) 55%,#fff),var(--acc) 62%);animation:saOrb 2.4s ease-in-out infinite;box-shadow:0 0 0 12px var(--acc-bg)}
.sa-gen-orb svg{width:42px;height:42px}
.sa-gen-orb.sm{width:60px;height:60px;animation:none;box-shadow:0 0 0 8px var(--acc-bg)}
.sa-gen-orb.sm svg{width:28px;height:28px}
@keyframes saOrb{50%{transform:scale(1.07);box-shadow:0 0 0 22px transparent}}
.sa-gen-steps{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.sa-gen-steps span{font-size:14px;color:var(--fg3);font-weight:700;animation:saStep 3.6s infinite}
.sa-gen-steps span:nth-child(2){animation-delay:1.2s}.sa-gen-steps span:nth-child(3){animation-delay:2.4s}
@keyframes saStep{0%,100%{color:var(--fg3)}15%,35%{color:var(--fg)}}
.sa-rprev{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:6px}
.sa-pday{display:flex;flex-direction:column;gap:12px}
.sa-pday.rest{padding:14px 18px;opacity:.7}
.sa-pday-h{display:flex;align-items:center;gap:12px}
.sa-pday-h .grow{flex:1;min-width:0}

/* editor */
.sa-edday{display:flex;flex-direction:column;gap:10px}
.sa-edday-h{display:flex;gap:8px;align-items:center}
.sa-edday select{flex:1;min-width:0;background:var(--s2);border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-weight:700;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--fg2) 50%),linear-gradient(135deg,var(--fg2) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.sa-edrow2{display:grid;grid-template-columns:1fr 110px;gap:8px}
.sa-unit{position:relative}
.sa-unit input{padding-right:44px}
.sa-unit span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--fg3);font-size:14px;font-weight:700}
.sa-edex-h,.sa-edex{display:grid;grid-template-columns:1fr 58px 70px 32px;gap:6px;align-items:center}
.sa-edex-h{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);padding:0 4px}
.sa-edex input{padding:10px;font-size:15px}
.sa-edex input:not(:first-child){text-align:center}
.sa-edex .iconbtn{width:32px;height:32px}
.sa-edex .iconbtn svg{width:14px;height:14px}

/* ---------- comida */
.sa-daynav{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sa-daynav>b{display:flex;flex-direction:column;align-items:center;font-size:17px;line-height:1.2}
.sa-daynav>b span{font-size:12px;color:var(--fg2);font-weight:700;display:block}
.sa-daynav>b span::first-letter{text-transform:uppercase}
.sa-daynav .iconbtn[disabled]{opacity:.25;pointer-events:none}
.sa-food{display:flex;align-items:center;gap:20px;padding:20px}
.sa-food .sa-ring-in b{font-size:32px}
.sa-food-r{flex:1;min-width:0;display:flex;flex-direction:column;gap:11px}
.sa-left{display:flex;flex-direction:column}
.sa-left b{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.sa-left small{font-size:14px;color:var(--fg2);font-weight:700}
.sa-macro{display:flex;flex-direction:column;gap:5px}
.sa-macro-t{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;font-weight:700;color:var(--fg2);gap:6px}
.sa-macro-t b{color:var(--fg);font-size:14px;white-space:nowrap}
.sa-macro-t em{font-style:normal;color:var(--fg3);font-weight:700;font-size:12px}
.sa-macro .bar{height:7px}
.sa-macro.c .bar i,.sa-mc .c{background:var(--ok)}
.sa-macro.g .bar i,.sa-mc .g{background:var(--imp,var(--fg2))}
.sa-acts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sa-acts .btn{height:56px;border-radius:17px;padding:0 12px;white-space:nowrap;font-size:15.5px}
.sa-acts label.btn{cursor:pointer}
.sa-crow{padding:12px 14px}
.sa-crow+.sa-crow::before{left:72px}
.sa-hora{width:44px;flex:none;font-size:14px;font-weight:800;color:var(--fg2)}
.sa-crow .t{display:flex;align-items:center;gap:6px}
.sa-fotomark{display:inline-grid;color:var(--fg3)}
.sa-fotomark svg{width:14px;height:14px}
.sa-mc{display:flex!important;align-items:center;gap:4px;flex-wrap:wrap}
.sa-mc i{width:6px;height:6px;border-radius:50%;background:var(--acc);display:inline-block;margin-left:4px}
.sa-mc i:first-child{margin-left:0}
.sa-kc{display:flex;flex-direction:column;align-items:flex-end;font-size:18px;font-weight:800;line-height:1.1;flex:none}
.sa-kc em{font-style:normal;font-size:11px;color:var(--fg3);font-weight:700}
.sa-water{display:flex;flex-direction:column;gap:14px}
.sa-water-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sa-wbtns{display:flex;gap:8px}
.sa-round{width:46px;height:46px;border-radius:50%;background:var(--s2);display:grid;place-items:center;color:var(--fg)}
.sa-round svg{width:20px;height:20px}
.sa-round.acc{background:var(--acc);color:#fff}
.sa-round[disabled]{opacity:.35;pointer-events:none}
.sa-glasses{display:flex;flex-wrap:wrap;gap:6px}
.sa-glasses i{width:calc((100% - 42px)/8);max-width:44px;aspect-ratio:.82;border-radius:9px;background:var(--s2);display:grid;place-items:center;color:var(--fg3);transition:all .2s}
.sa-glasses i svg{width:55%;height:55%}
.sa-glasses i.on{background:var(--acc-bg);color:var(--acc)}
.sa-glasses i.on svg{fill:currentColor}
.sa-goal{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:var(--r);background:var(--s1);text-align:left;width:100%}
.sa-goal .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sa-goal .grow span{font-size:13px;color:var(--fg2)}
.sa-aviso{font-size:12px;color:var(--fg3);text-align:center}
.sa-photo{position:relative;border-radius:var(--r);overflow:hidden;background:var(--s2);max-height:280px}
.sa-photo img{display:block;width:100%;max-height:280px;object-fit:cover}
.sa-conf{position:absolute;left:12px;bottom:12px;padding:5px 10px;border-radius:99px;font-size:12px;font-weight:800;background:rgba(0,0,0,.55);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);text-transform:capitalize}
.sa-photo.scan img{filter:saturate(.7) brightness(.8)}
.sa-scan{position:absolute;left:0;right:0;height:38%;top:-38%;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--acc) 40%,transparent) 85%,var(--acc));animation:saScan 1.6s ease-in-out infinite}
@keyframes saScan{to{top:100%}}
.sa-analiza{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0;text-align:center}
.sa-spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--s3);border-top-color:var(--acc);animation:saSpin .8s linear infinite;margin-bottom:6px}
@keyframes saSpin{to{transform:rotate(360deg)}}
.sa-kcal-in{display:flex;flex-direction:column;gap:7px}
.sa-kcal-in label,.sa-mac-in label{font-size:13px;font-weight:700;color:var(--fg2);padding-left:2px}
.sa-kcal-in>div,.sa-mac-in>div{position:relative}
.sa-kcal-in input{font-size:34px;font-weight:800;letter-spacing:-.02em;height:66px;padding-right:66px;font-variant-numeric:tabular-nums}
.sa-kcal-in span,.sa-mac-in span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--fg3);font-weight:700}
.sa-mac3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.sa-mac3.two{grid-template-columns:repeat(2,1fr)}
.sa-mac-in{display:flex;flex-direction:column;gap:7px}
.sa-mac-in input{font-size:19px;font-weight:800;padding-right:34px;font-variant-numeric:tabular-nums}
.sa-mac-in.p label{color:var(--acc)}
.sa-mac-in.c label{color:var(--ok)}
.sa-mac-in.g label{color:var(--imp,var(--fg2))}
.sa-calc{display:flex;flex-direction:column;gap:14px}
.sa-calc-r{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;padding:10px 12px;border-radius:12px;background:var(--s2)}
.sa-calc-r b{font-size:17px}

/* ---------- progreso */
.sa-kpis .kpi b{font-size:30px;letter-spacing:-.02em}
.sa-mrow{padding:12px 14px}
.sa-ins{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.sa-insg{background:var(--s1);border-radius:var(--r2);padding:14px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.sa-insg b{font-size:13px;line-height:1.15}
.sa-insg>span:last-child{font-size:11px;color:var(--fg2);line-height:1.2;font-variant-numeric:tabular-nums}
.sa-medal{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--s3);color:var(--fg3);margin-bottom:2px}
.sa-medal svg{width:24px;height:24px}
.sa-insg.on .sa-medal{background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--acc) 55%,#fff),var(--acc) 62%);color:#fff;box-shadow:0 0 0 4px var(--acc-bg)}
.sa-insg:not(.on) b{color:var(--fg2)}
@media (max-width:520px){.sa-ins{gap:6px}.sa-insg{padding:12px 3px 10px}.sa-medal{width:40px;height:40px}.sa-medal svg{width:20px;height:20px}.sa-insg b{font-size:11.5px}.sa-insg>span:last-child{font-size:10.5px}}

/* ---------- sin compra */
.sa-preview{position:relative;display:flex;flex-direction:column;gap:12px;pointer-events:none;user-select:none}
.sa-preview>.card{filter:blur(2.5px) saturate(.8);opacity:.55}
.sa-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,var(--bg) 96%)}
.sa-lockbadge{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:1;width:64px;height:64px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 10px var(--acc-bg),0 16px 34px -10px var(--acc)}
.sa-lockbadge svg{width:28px;height:28px}
.sa-unlock{display:flex;flex-direction:column;gap:14px;margin-top:-34px;position:relative;z-index:1}
.sa-unlock h2{font-size:28px;letter-spacing:-.02em}
.sa-ben{display:flex;flex-direction:column;background:var(--s1);border-radius:var(--r);padding:4px 16px}
.sa-ben-i{display:flex;gap:14px;align-items:flex-start;padding:14px 0}
.sa-ben-i+.sa-ben-i{border-top:1px solid var(--line)}
.sa-ben-i>div{display:flex;flex-direction:column;gap:2px}
.sa-ben-i b{font-size:16px}
.sa-ben-i>div span{font-size:14px;color:var(--fg2);line-height:1.4}
.sa-unlock .btn{height:56px}

/* ---------- partes bloqueadas (oferta v4) */
.sa-seg button{display:inline-flex;align-items:center;justify-content:center;gap:4px}
.sa-seglk svg{width:12px;height:12px;opacity:.7}
.sa-lk{display:flex;flex-direction:column}
.sa-lk-prev{position:relative;display:flex;flex-direction:column;gap:10px;pointer-events:none;user-select:none;padding-bottom:6px}
.sa-lk-prev>.card{filter:blur(2px) saturate(.85);opacity:.6}
.sa-lk-prev::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,var(--bg) 97%)}
.sa-lk-prev .sa-lockbadge{top:46%}
.sa-lk-b{display:flex;flex-direction:column;gap:14px;margin-top:-40px;position:relative;z-index:1}
.sa-lk-b h2{font-size:28px;letter-spacing:-.02em;line-height:1.1}
.sa-lk-b .eyebrow{display:flex;align-items:center;gap:6px}
.sa-lk-l{width:13px;height:13px}
.sa-lk-live{display:flex;flex-direction:column;gap:6px}
.sa-lk-live>b{font-size:40px;font-weight:800;letter-spacing:-.02em}
.sa-lk-row{display:flex;justify-content:space-between;font-size:14px;color:var(--fg2);border-top:1px solid var(--line);padding-top:8px}
.sa-lk-row em{font-style:normal;color:var(--fg)}
.sa-lk-food{display:flex;gap:16px;align-items:center}
.sa-lk-plate{width:92px;height:92px;border-radius:22px;display:grid;place-items:center;font-size:46px;background:radial-gradient(circle at 40% 35%,var(--s3),var(--s2));flex:none}
.sa-lk-food .grow{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.sa-lk-mac{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--fg2)}
.sa-lk-mac span{display:flex;align-items:center;gap:8px}
.sa-lk-mac i{display:block;height:6px;border-radius:3px;background:var(--acc);max-width:90px}
.sa-lk-agua{display:flex;gap:4px;color:var(--fg3)}
.sa-lk-agua span svg{width:18px;height:18px}
.sa-lk-agua .on{color:var(--azul)}
.sa-combo2{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;border:1px dashed var(--line2);text-align:left;width:100%}
.sa-combo2 .grow{display:flex;flex-direction:column;flex:1;min-width:0}
.sa-combo2 .grow span{font-size:13px;color:var(--fg2)}
.sa-combo2 s{color:var(--fg3);font-size:13px}
.sa-combo2 .num b{font-size:16px}

@media (max-width:380px){
  .sa-hero{gap:14px}
  .sa-food{flex-direction:column;align-items:stretch}
  .sa-food .sa-ring{align-self:center}
  .sa-trio b{font-size:21px}
}
@media (prefers-reduced-motion:reduce){.sa-pulse,.sa-gen-orb,.sa-scan,.sa-spin{animation:none!important}}
