/* Componentes de la app completa (se apoyan en las variables de cada tema). */
.sin-tabs .tabbar{display:none}.sin-tabs .screen{padding-bottom:24px}
.tabbar .tab{min-width:0}.tab span{font-size:9px}
.vacio{color:var(--mut);font-size:13px;text-align:center;padding:18px 8px;line-height:1.5}
.mut{color:var(--mut);font-weight:400}
.tit{margin:6px 0 10px;font-size:min(var(--h2,40px),44px)}
.atras{display:inline-flex;align-items:center;gap:6px;color:var(--mut);font-size:13px;padding:6px 0 12px}
.link-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;color:var(--mut);font-size:13px;padding:14px 0;text-align:center}.link-btn.peligro{color:var(--warn)}
.campo{display:block;margin-bottom:14px}.campo>span{display:block;font-size:12px;color:var(--mut);margin-bottom:7px;letter-spacing:.02em}.campo>span b{color:var(--fg);margin-left:6px}
.campo .inp{text-align:left}textarea.inp{resize:none;font-family:var(--fb);font-size:14px}
.nota-peq{display:block;margin-top:8px;color:var(--mut);font-size:11px;line-height:1.4;text-transform:none;letter-spacing:0}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tres{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.col{display:grid;gap:8px}
.opc{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:12px 14px;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,12px);text-align:left;transition:.2s;background:var(--card)}
.opc b{font-size:15px}.opc small{text-transform:none;letter-spacing:0}
.opc.on{border-color:var(--acc);background:var(--acc);color:var(--onacc)}.opc.on small{color:inherit;opacity:.8}
.check{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;color:var(--mut)}.check input{accent-color:var(--acc);width:18px;height:18px}
.buscar{display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--mut)}.buscar .inp{text-align:left}
.btn.ghost{background:transparent;color:var(--fg);border:var(--bw,1px) solid var(--line);box-shadow:none}
.btn[disabled]{opacity:.5;pointer-events:none}
.hacer-foto{cursor:pointer}
/* entrada */
.auth{position:relative;margin:-18px -16px -24px;min-height:calc(100% + 42px);display:flex;flex-direction:column;justify-content:flex-end;background:var(--img) center 20%/cover;background-color:#222;background-blend-mode:luminosity;color:#fff}
.auth:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.25) 35%,rgba(0,0,0,.92) 70%)}
.auth>*{position:relative}
.auth-top{padding:0 22px 18px}.auth-top h1{font-family:var(--fh);font-weight:var(--h2w,400);font-size:78px;line-height:.9;text-transform:uppercase;color:var(--acc);letter-spacing:var(--ls,0)}
.auth-top p{margin-top:10px;font-size:15px;line-height:1.45;color:#e8e8e2;max-width:300px}.auth-top b{color:#fff}
.auth-card{margin:0 12px 14px;padding:16px;background:rgba(10,10,10,.78);backdrop-filter:blur(14px);border:var(--bw,1px) solid rgba(255,255,255,.12);border-radius:var(--r,16px);color:#f4f1e8}
.auth-card .campo>span,.auth-card .note{color:#b9b6ab}.auth-card .inp{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.18)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}.seg button{padding:10px;border:var(--bw,1px) solid rgba(255,255,255,.2);border-radius:var(--rc2,10px);font-size:13px;font-weight:700;color:#c9c6bb}.seg button.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}
.auth-links{display:flex;justify-content:space-between;gap:10px;margin:10px 0 2px;font-size:12px;color:#b9b6ab}.auth-links button{color:#d8d5c9;text-decoration:underline;text-underline-offset:3px}
.demo-link{display:block;margin:10px auto 0;font-size:11px;color:#8d8a80;text-decoration:underline;text-underline-offset:3px}
/* cuestionario */
.onb{padding-bottom:12px}.onb-top{margin-bottom:18px}.onb-top h2{margin-top:12px;font-size:36px}
.prog{height:4px;background:var(--line);margin-top:8px;border-radius:9px;overflow:hidden}.prog i{display:block;height:100%;background:var(--acc);transition:width .6s cubic-bezier(.16,1,.3,1)}
.onb-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px;position:sticky;bottom:0;padding:12px 0;background:linear-gradient(transparent,var(--bg) 35%)}
/* aviso */
.toast{position:absolute;left:12px;right:12px;top:12px;z-index:30;padding:12px 14px;background:var(--fg);color:var(--bg);border-radius:var(--rc2,12px);font-size:13px;font-weight:600;line-height:1.35;animation:up .4s both;transition:opacity .4s,transform .4s;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.toast.mal{background:var(--warn);color:#fff}.toast.fuera{opacity:0;transform:translateY(-12px)}
/* escala 1-10 */
.n10{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.n10 button{aspect-ratio:1;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,8px);font-family:var(--fn);font-size:14px;color:var(--mut);transition:.2s}
.n10 button.on{background:var(--acc);color:var(--onacc);border-color:var(--acc);transform:scale(1.1)}
details.mas{margin-top:12px}details.mas summary,details.como summary,.acc>summary,.cvt>summary{cursor:pointer;list-style:none;font-size:13px;color:var(--mut);display:flex;align-items:center;gap:8px;padding:2px 0}
details summary::-webkit-details-marker{display:none}details.mas .chips{margin-top:10px}
details.acc>summary,details.cvt>summary{font-family:var(--fh);font-size:var(--h3,15px);color:var(--fg);text-transform:var(--tt,none);letter-spacing:var(--ls3,0);font-weight:var(--h3w,700);justify-content:flex-start}
details.acc>summary:after,details.cvt>summary:after{content:"";margin-left:auto;width:8px;height:8px;border:solid var(--mut);border-width:0 2px 2px 0;transform:rotate(45deg);transition:.25s}
details[open].acc>summary:after,details[open].cvt>summary:after{transform:rotate(-135deg)}
details.acc[open]>summary,details.cvt[open]>summary{margin-bottom:14px}
h4{font-family:var(--fh);font-size:13px;text-transform:var(--tt,none);letter-spacing:var(--ls3,0);margin:16px 0 8px;color:var(--mut);font-weight:var(--h3w,700)}
.mu{display:flex;gap:4px;margin-bottom:8px}.mu i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(128,128,128,.4)}
/* pis */
.pisrow{display:grid;grid-template-columns:repeat(8,1fr);gap:5px}.pisrow button{aspect-ratio:1;background:var(--c);border-radius:var(--rc2,50%);display:grid;place-items:center;color:#3a2e0e;font-family:var(--fn);font-size:12px;transition:.2s;border:2px solid transparent}
.pisrow button.on{border-color:var(--fg);transform:scale(1.18)}
.mini-p{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mini-p span{display:flex;flex-direction:column;align-items:center;background:var(--c);color:#3a2e0e;border-radius:10px;padding:5px 9px;font-family:var(--fn)}.mini-p small{color:#5c4a14;font-size:9px}
/* listas y ejercicios */
.lista{padding:4px 14px}
.ejrow{display:flex;align-items:center;gap:12px;width:100%;padding:10px 0;border-top:var(--bw,1px) solid var(--line);text-align:left}.ejrow:first-child{border-top:0}
.ejrow .en{flex:1;min-width:0}.ejrow b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ejrow small{display:block;margin-top:2px;text-transform:none;letter-spacing:0}
.ejrow .ic{color:var(--mut)}.ejrow .th{width:48px;height:48px}.ejrow.fijo{cursor:default}
.mov{display:flex;gap:6px}.mov button{width:34px;height:34px;display:grid;place-items:center;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,10px);color:var(--mut)}
.exh{width:100%;text-align:left;cursor:pointer}
.pts{display:flex;gap:4px}.pts i{width:9px;height:9px;border-radius:50%;border:var(--bw,1px) solid var(--mut)}.pts i.on{background:var(--acc);border-color:var(--acc)}
.card.ex.cerrado{padding:10px 14px}.card.ex.cerrado .exh{margin:0}
.plan-l{font-size:12px;color:var(--mut);margin:0 0 10px;line-height:1.4}.plan-l b{color:var(--acc);margin-right:4px}
details.como{margin-bottom:12px}
.fotos2{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.fotos2 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--rth,10px);background:#222}
.claves{padding-left:18px;margin:8px 0 10px;font-size:13px;line-height:1.5;color:var(--fg)}.claves li{margin-bottom:4px}
.video{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--acc);text-decoration:underline;text-underline-offset:3px}
.devs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.dev{font-size:12px;line-height:1.3;padding:6px 10px;border-radius:99px;border:var(--bw,1px) solid var(--line)}.dev.warn{color:var(--warn);border-color:var(--warn)}.dev.ok{color:var(--ok);border-color:var(--ok)}
.sesion-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sesion-top small{display:block}.sesion-top b{font-family:var(--fh);font-size:20px;text-transform:var(--tt,none)}
.trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:8px;text-align:center;margin:14px 0 4px}.trio b{display:block;font-family:var(--fn);font-size:24px;color:var(--accb,var(--acc))}.trio small{text-transform:none;letter-spacing:0}
.resfila{padding:12px 0;border-top:var(--bw,1px) solid var(--line)}.resfila b{display:block;font-size:14px}.resfila small{text-transform:none;letter-spacing:0}
/* comida */
.fechanav{display:flex;align-items:center;justify-content:space-between;margin:-4px 0 12px}.fechanav b{font-family:var(--fh);text-transform:var(--tt,none);font-size:15px}.fechanav button{width:38px;height:38px;display:grid;place-items:center;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,10px)}.fechanav button[disabled]{opacity:.3}
.acciones3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.acciones3.dos-b{grid-template-columns:1fr 1fr}
.acciones3 button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 4px;background:var(--card);border:var(--bw,1px) solid var(--line);border-radius:var(--r,14px);font-size:12px;font-weight:700;color:var(--fg);transition:.2s}
.acciones3 button .ic{width:24px;height:24px;color:var(--acc)}.acciones3 button:active{transform:scale(.96)}
.meal .gr{display:flex;align-items:center;gap:4px}.meal .gr .inp{width:64px;padding:8px 4px}.meal .gr span{color:var(--mut);font-size:12px}
.meal .kc{min-width:38px;text-align:right}.meal .gtxt{font-family:var(--fn);color:var(--mut)}.meal.sin-x{padding-right:0}
.meal small{display:block;color:var(--mut);font-size:11px;margin-top:2px;letter-spacing:0;text-transform:none}
.fprev{width:100%;max-height:230px;object-fit:cover;border-radius:var(--rth,12px);margin-bottom:12px}
.analiza{position:relative;margin:8px 0}.analiza img{width:100%;border-radius:var(--rth,12px);max-height:380px;object-fit:cover;display:block}
.analiza p{text-align:center;margin-top:14px;color:var(--mut);font-size:14px}
.barra-sc{position:absolute;left:0;right:0;top:0;height:3px;background:var(--acc);box-shadow:0 0 18px var(--acc);animation:scan 1.8s ease-in-out infinite alternate}@keyframes scan{to{top:calc(100% - 44px)}}
/* progreso */
.seg4{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:-2px 0 14px;padding:4px;background:var(--card);border:var(--bw,1px) solid var(--line);border-radius:var(--rt,14px)}.seg4 button{padding:9px 2px;font-size:12px;font-weight:700;color:var(--mut);border-radius:var(--rt2,10px);font-family:var(--fh);text-transform:var(--tt,none);letter-spacing:var(--ls3,0)}.seg4 button.on{background:var(--acc);color:var(--onacc)}
.scroll-x{flex-wrap:nowrap;overflow-x:auto;margin-right:-16px;padding-right:16px;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}.scroll-x .chip{white-space:nowrap;flex:none}
.ejes{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;color:var(--mut);margin-top:6px}.ejes b{color:var(--acc);font-family:var(--fn);font-size:15px}
.bars .bar{fill:var(--acc);animation:crece .7s calc(var(--i)*18ms) cubic-bezier(.16,1,.3,1) both;transform-origin:bottom;transform-box:fill-box}.bars .bar.mal{fill:var(--acc3,var(--warn))}@keyframes crece{from{transform:scaleY(0)}}
.pesar{margin:14px 0 6px}.pesar .inp{max-width:100px}
.meta{padding:12px 0;border-top:var(--bw,1px) solid var(--line)}.meta:first-of-type{border-top:0;padding-top:0}.mh2{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.note.malo{color:var(--warn)}
.formmeta{margin-top:10px;padding-top:12px;border-top:var(--bw,1px) dashed var(--line)}
.vol{display:grid;grid-template-columns:78px 1fr 28px 66px;gap:8px;align-items:center;margin-bottom:9px;font-size:12px}.vol b{font-family:var(--fn);text-align:right}.vol small{text-align:right;text-transform:none;letter-spacing:0}
.vol .mb i.poco{background:var(--mut)}.vol .mb i.ideal{background:var(--ok)}.vol .mb i.alto{background:var(--acc)}.vol .mb i.pasado{background:var(--warn)}
.vol small.ideal{color:var(--ok)}.vol small.pasado{color:var(--warn)}
.mb i.p{background:var(--acc)}
.comp{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.comp figure{margin:0}.comp img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--rth,10px)}.comp figcaption{text-align:center;font-size:11px;color:var(--mut);margin-top:4px}
.foto .x{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);color:#fff;border-color:transparent}
/* yo */
.temas{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tema{display:flex;flex-direction:column;align-items:flex-start;padding:12px;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,12px);text-align:left;transition:.2s}.tema b{font-size:15px}.tema small{text-transform:none;letter-spacing:0;line-height:1.3;margin-top:2px}.tema.on{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
.semfila{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;margin-bottom:6px;font-size:13px}.semfila .inp{text-align:left;padding:8px}
.gym{padding:12px;border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,12px);margin-bottom:10px}.gym.on{border-color:var(--acc)}.gh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.gh button:first-child{text-align:left}.gh small{display:block;text-transform:none;letter-spacing:0}
.tip{font-size:13px;line-height:1.5;margin-bottom:12px}.tip a{display:block;font-size:11px;color:var(--mut);margin-top:3px;text-decoration:underline;text-underline-offset:2px}

.ver{display:block;text-align:center;margin-top:6px;color:#6b6960;font-size:10px}

.pass{position:relative}.pass .inp{padding-right:52px}.ojo{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;color:#c9c6bb}.ojo .ic{width:22px;height:22px}.ojo:active{color:var(--acc)}

/* cuestionario con fotos */
.onb{margin:-18px -16px 0;padding-bottom:6px}
.onb-hero{position:relative;height:250px;background:var(--img) center 25%/cover;background-color:#2a2a28;background-blend-mode:luminosity;display:flex;flex-direction:column;justify-content:space-between;padding:16px;color:#fff;overflow:hidden}
.onb-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,.05) 35%,rgba(0,0,0,.92))}
.onb-hero>*{position:relative}
.segs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.segs i{height:4px;border-radius:9px;background:rgba(255,255,255,.28);transition:.5s}.segs i.on{background:var(--acc)}
.onb-tit small{color:var(--acc);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.onb-tit h2{margin:8px 0 6px;font-size:40px;line-height:.98;color:#fff;animation:up .7s both}.onb-tit p{font-size:14px;line-height:1.4;color:#e3e0d6;max-width:300px}
.onb-body{padding:20px 16px 8px}.onb-body>.campo{animation:up .6s both}.onb-body>.campo:nth-child(2){animation-delay:.08s}.onb-body>.campo:nth-child(3){animation-delay:.16s}.onb-body>.campo:nth-child(4){animation-delay:.24s}
.onb-body .campo>span{font-family:var(--fh);font-size:15px;text-transform:var(--tt,none);letter-spacing:var(--ls3,0);color:var(--fg);margin-bottom:10px;font-weight:var(--h3w,700)}
.col .ptile+.ptile{margin-top:0}.col{display:grid;gap:8px}
.ptile{position:relative;overflow:hidden;display:flex;align-items:flex-end;min-height:84px;padding:13px 14px;border-radius:var(--rth,14px);border:var(--bw,1px) solid transparent;background:var(--img) center/cover;background-color:#2a2a28;background-blend-mode:luminosity;color:#fff;text-align:left;transition:transform .25s cubic-bezier(.16,1,.3,1),filter .3s;width:100%}
.ptile:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.25));transition:.3s}
.ptile.alta{min-height:118px;align-items:flex-end}.ptile.alta:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.85))}
.pt-t{position:relative;display:block;padding-right:30px}.pt-t b{display:block;font-family:var(--fh);font-size:18px;line-height:1.1;text-transform:var(--tt,none);letter-spacing:var(--ls3,0);font-weight:var(--h3w,700)}.pt-t small{display:block;margin-top:3px;color:#d6d3c8;text-transform:none;letter-spacing:0;font-size:12px;line-height:1.3}
.pt-ok{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--acc);color:var(--onacc);display:grid;place-items:center;opacity:0;transform:scale(.4);transition:.3s cubic-bezier(.16,1,.3,1)}.pt-ok .ic{width:15px;height:15px}
.ptile.on{background-blend-mode:normal;border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}.ptile.on:before{background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.05))}.ptile.alta.on:before{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}.ptile.on .pt-ok{opacity:1;transform:none}
.ptile:active{transform:scale(.98)}
.inp.grande{font-size:20px;padding:15px 14px}
.numeros{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.numeros label{display:flex;flex-direction:column;align-items:center;padding:12px 6px 10px;background:var(--card);border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,12px)}
.numeros input{width:100%;background:none;border:0;color:var(--acc);font-family:var(--fn);font-size:36px;text-align:center;padding:0}.numeros input:focus{outline:none}.numeros span{font-size:11px;color:var(--mut);letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.dias{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.dias.tres-d{grid-template-columns:repeat(3,1fr)}
.dias button{display:flex;flex-direction:column;align-items:center;padding:14px 0 10px;background:var(--card);border:var(--bw,1px) solid var(--line);border-radius:var(--rc2,12px);transition:.25s}.dias b{font-family:var(--fn);font-size:32px;line-height:1}.dias small{margin-top:4px;text-transform:uppercase;letter-spacing:.1em}
.dias button.on{background:var(--acc);border-color:var(--acc);color:var(--onacc);transform:translateY(-3px)}.dias button.on small{color:inherit}
.chip.grande{padding:12px 18px;font-size:14px}
.onb-nav{display:flex;justify-content:space-between;gap:10px;margin:26px 0 0;position:sticky;bottom:0;padding:12px 16px 14px;background:var(--bg);border-top:var(--bw,1px) solid var(--line);z-index:3}
.onb-nav .btn{padding:16px 24px;font-size:16px}

/* ===== cuestionario compacto (sustituye al anterior) ===== */
#app[data-vista="onboard"] .screen{padding:0;display:flex;flex-direction:column;overflow:hidden}
#app[data-vista="onboard"] .view{flex:1;display:flex;flex-direction:column;min-height:0}
.onb{margin:0;padding:0;flex:1;display:flex;flex-direction:column;min-height:0}
.onb-hero{height:150px;flex:none;padding:12px 16px}
.onb-tit h2{font-size:30px;margin:4px 0 3px}.onb-tit p{font-size:12.5px;line-height:1.35;max-width:320px}.onb-tit small{font-size:10px}
.onb-body{flex:1;min-height:0;overflow-y:auto;padding:14px 16px 10px;scrollbar-width:none}.onb-body::-webkit-scrollbar{display:none}
.onb-body .campo{margin-bottom:12px}
.onb-body .campo>span{font-size:13px;margin-bottom:7px}
.onb-body .inp{padding:11px 12px;font-size:15px}.inp.grande{font-size:17px;padding:12px 13px}
.col{gap:6px}.dos{gap:6px}
.ptile{min-height:54px;padding:8px 12px}.ptile.alta{min-height:76px}
.pt-t b{font-size:15px}.pt-t small{font-size:11px;margin-top:1px}.pt-t{padding-right:28px}
.pt-ok{top:8px;right:8px;width:22px;height:22px}.pt-ok .ic{width:13px;height:13px}
.numeros{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.numeros label{padding:8px 4px 7px}
.numeros input{font-size:26px}.numeros span{font-size:10px;letter-spacing:.08em}.numeros .op input{color:var(--mut)}
.dias{gap:6px}.dias button{padding:9px 0 7px}.dias b{font-size:26px}.dias small{font-size:10px;margin-top:2px}
.chip.grande{padding:9px 14px;font-size:13px}
.onb-body .chips{gap:6px}.onb-body .chip{padding:7px 11px;font-size:12px}
.onb-nav{flex:none;position:static;margin:0;padding:10px 16px 14px;background:var(--bg);border-top:var(--bw,1px) solid var(--line);z-index:3}
.onb-nav .btn{padding:13px 22px;font-size:15px}
.nota-peq{margin-top:6px}

.ptile{background-position:var(--pos,center)}
.ptile.alta{min-height:92px}

.estim{display:flex;align-items:center;gap:14px;margin-top:6px;padding:14px;border:var(--bw,1px) dashed var(--line);border-radius:var(--rc2,12px)}
.estim b{font-family:var(--fn);font-size:34px;line-height:1;color:var(--acc)}.estim span{font-size:12px;line-height:1.4;color:var(--mut)}

.onb-hero{height:auto;flex:0 0 30%;min-height:150px;max-height:280px}

.auth-top .sello{width:88px;height:88px;display:block;margin-bottom:12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}.auth-top h1{font-size:60px}

/* entrada y confirmar correo: ocupan toda la pantalla, sin huecos */
#app[data-vista="auth"] .screen,#app[data-vista="verificar"] .screen{padding:0;display:flex;flex-direction:column;overflow-y:auto}
#app[data-vista="auth"] .view,#app[data-vista="verificar"] .view{flex:1;display:flex;flex-direction:column}
#app[data-vista="auth"] .auth,#app[data-vista="verificar"] .auth{flex:1;margin:0;min-height:0}
.auth-top{padding-top:34px}

/* el cronómetro de descanso solo se ve mientras corre */
.timer{visibility:hidden;pointer-events:none}.timer.on{visibility:visible;pointer-events:auto}

/* los ejemplos (texto de ayuda) se ven claramente más tenues que lo que escribes */
.inp::placeholder,.numeros input::placeholder{color:var(--mut);opacity:.38;font-style:italic}
.estim.ejemplo{opacity:.55}.estim.ejemplo b{color:var(--mut)}
.inp:focus::placeholder,.numeros input:focus::placeholder{color:transparent}

/* paso 2: opciones en tres columnas con foto */
.col.t3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ptile.t3{min-height:98px;padding:8px 9px;align-items:flex-end}
.ptile.t3:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.9))}
.ptile.t3.on:before{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.75))}
.ptile.t3 .pt-t{padding-right:0}.ptile.t3 .pt-t b{font-size:14px}.ptile.t3 .pt-t small{font-size:10.5px;line-height:1.25;margin-top:2px}
.ptile.t3 .pt-ok{top:6px;right:6px;width:20px;height:20px}
.onb.denso .onb-hero{flex:0 0 22%;min-height:120px;max-height:190px}
.onb.denso .onb-tit p{display:none}

/* sin zoom y sin repintar al tocar */
html,body,#app{touch-action:manipulation;-webkit-text-size-adjust:100%}
.view.sin-anim>*,.view.sin-anim .onb-body>.campo{animation:none!important}
input.inp,select.inp,textarea.inp,.onb-body input.inp{font-size:max(16px,1em)}
/* cuestionario: contenido centrado y repartido, sin huecos */
.onb-body{display:flex;flex-direction:column}.onb-body>:first-child{margin-top:auto}.onb-body>:last-child{margin-bottom:auto}
.onb-body .campo.c>span{text-align:center}
.dias.tres-d button{padding:8px 0 7px}.dias.tres-d b{font-size:24px}
/* paso 4: cuadrícula de comidas con foto */
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.ptile.f{min-height:68px;padding:5px;justify-content:center;align-items:flex-end;text-align:center}
.ptile.f:before{background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.85))}.ptile.f.on:before{background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.7))}
.ptile.f .pt-t{padding:0;width:100%}.ptile.f .pt-t b{font-size:11.5px;line-height:1.1;letter-spacing:.02em}
.ptile.f .pt-ok{top:4px;right:4px;width:18px;height:18px}.ptile.f .pt-ok .ic{width:11px;height:11px}
/* lo que NO puede comer: rojo y tachado */
.veto-box{padding:10px 8px 12px;border:var(--bw,1px) dashed var(--warn);border-radius:var(--rc2,12px);background:rgba(255,90,74,.06)}
.vetotit{display:flex!important;align-items:center;justify-content:center;gap:7px;color:var(--warn)!important;font-family:var(--fh);font-size:13px!important;text-transform:var(--tt,none);letter-spacing:var(--ls3,0);margin-bottom:9px!important}
.vetotit .ic{width:16px;height:16px}
.chips.cen{justify-content:center}
.chip.veto{display:inline-flex;align-items:center;gap:5px;border-color:var(--warn);color:var(--warn);background:transparent}
.chip.veto .ic{width:13px;height:13px}
.chip.veto.on{background:var(--warn);border-color:var(--warn);color:#fff;text-decoration:line-through;text-decoration-thickness:2px}
.onb.p4 .onb-hero{flex:0 0 16%;min-height:100px;max-height:150px}
