/* ═══════════════════════════════════════════════════════════════════
   TEMA ATLAS · rediseño de la app del cliente (rama rediseno-atlas)
   29 oct 2026. Referencia elegida por Isma: FLEXON (Vikas Morvadiya).
   Azul acero claro, tarjetas con foto en duotono, píldoras de cristal,
   titulares que mezclan peso fino y seminegrita.
   SOLO afecta a .capp (la app del cliente). El panel del coach no cambia.
   Se carga DESPUÉS de styles.css: aquí solo se pisa, nunca se borra.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Tokens ── */
.capp{
  --bg:#E3E9F0; --surface:rgba(255,255,255,.62); --surface2:#E9EEF4; --line:rgba(24,38,56,.09);
  --txt:#141C26; --muted:#5B6979; --muted2:#8995A3;
  --accent:#3B5068; --accent2:#6E86A1; --on-accent:#FFFFFF;
  --grad:linear-gradient(135deg,#4A6280 0%,#2F4258 100%);
  --ok:#3E8A68; --warn:#B98330;
  --r:28px; --r-sm:18px;
  --sh:0 18px 40px -26px rgba(30,48,72,.45);
  --cristal:rgba(255,255,255,.55);
  --tinta:#1E2B3A;
  color:var(--txt);
  background:
    radial-gradient(120% 60% at 50% -10%, #8FA5BD 0%, rgba(143,165,189,0) 62%),
    linear-gradient(180deg,#A9BBCF 0px,#D3DDE8 260px,#E6ECF2 520px,#EEF2F6 100%);
  background-attachment:fixed;
}
body:has(.capp), html:has(.capp){background:#E6ECF2}

/* ── Marca: logo Atlas en blanco arriba a la izquierda ── */
.capp .capp-brand{background:transparent;border-bottom:0;position:relative;z-index:2;
  padding:calc(16px + env(safe-area-inset-top)) 20px 4px;gap:10px}
.capp .capp-brand .mk-oro{width:26px;height:26px;background:#fff!important;-webkit-mask:url(icons/atlas-mark.png) center/contain no-repeat;mask:url(icons/atlas-mark.png) center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 8px rgba(20,32,48,.25))}
.capp .capp-brand b{color:#fff;font-size:17px;font-weight:650;letter-spacing:.02em;text-shadow:0 1px 10px rgba(20,32,48,.2)}
.capp .capp-brand-vip{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.14em;color:#fff;padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}

.capp .capp-screen{padding-top:14px}

/* ── Saludo: fino + seminegrita, como FLEXON ── */
.capp .capp-head{margin-bottom:22px;align-items:center}
.capp .capp-saludo b{font-size:25px;font-weight:300;letter-spacing:-.025em;line-height:1.15;color:var(--tinta)}
.capp .capp-saludo b strong{font-weight:620}
.capp .capp-saludo small{display:block;margin-top:5px;font-size:13px;color:var(--muted)}
.capp .capp-av{width:52px;height:52px;border-radius:50%;padding:3px;background:var(--cristal);border:1px solid rgba(255,255,255,.7);box-shadow:var(--sh);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.capp .capp-av .avatar{width:100%!important;height:100%!important}

/* ── Tarjetas: cristal claro, esquinas grandes ── */
.capp .card{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:var(--r);box-shadow:var(--sh);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);color:var(--txt)}
.capp .sec{gap:12px}
.capp .sec-h b{font-size:20px;font-weight:450;letter-spacing:-.02em;text-transform:none;color:var(--tinta)}
.capp .sec-h span{font-size:13px;color:var(--muted);text-transform:none;letter-spacing:0}
.capp .body,.capp p{color:var(--muted)}
.capp .tag{background:rgba(59,80,104,.1);color:var(--accent);border-radius:999px}
.capp .tag.ok{background:rgba(62,138,104,.14);color:var(--ok)}

/* Botones */
.capp .btn-primary{background:var(--tinta);color:#fff;border-radius:999px;box-shadow:0 14px 30px -16px rgba(20,32,48,.7)}
.capp .btn-primary svg{color:#fff}
.capp .btn-ghost{background:rgba(255,255,255,.6);border:1px solid rgba(24,38,56,.1);color:var(--tinta);border-radius:999px}

/* ── Tu plan: título con icono y tira de la semana ── */
.capp .th-plan{display:flex;align-items:center;justify-content:space-between}
.capp .th-plan button{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--tinta);background:var(--cristal);border:1px solid rgba(255,255,255,.7)}
.capp .th-plan button svg{width:19px;height:19px}
.th-semana{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.th-dia{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0 9px;border-radius:999px;
  background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);color:var(--tinta);position:relative;transition:transform .16s ease-out}
.th-dia:active{transform:scale(.95)}
.th-dia small{font-size:11.5px;color:var(--muted);font-weight:500}
.th-dia b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:550;background:rgba(255,255,255,.85)}
.th-dia i{position:absolute;bottom:4px;width:4px;height:4px;border-radius:50%;background:transparent}
.th-dia i.si{background:var(--accent2)}
.th-dia.hecho b{background:rgba(62,138,104,.16);color:var(--ok)}
.th-dia.hoy{background:linear-gradient(180deg,#7F97B2,#5D7591);border-color:rgba(255,255,255,.4);box-shadow:0 0 0 3px rgba(93,117,145,.22),0 12px 24px -12px rgba(40,62,88,.6)}
.th-dia.hoy small{color:rgba(255,255,255,.85)}
.th-dia.hoy b{background:rgba(255,255,255,.22);color:#fff}
.th-dia.hoy i.si{background:#fff}

/* ── Tarjeta de hoy con foto en duotono ── */
.th-hero{position:relative;border-radius:32px;overflow:hidden;min-height:300px;isolation:isolate;box-shadow:0 26px 50px -28px rgba(24,40,62,.75);background:#2B2F36}
.th-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.06) brightness(.92);z-index:-2}
/* Grano muy suave, en SVG para no cargar otra imagen (Isma: "blanco y negro con un toque muy suave de grano") */
.th-hero:before{content:"";position:absolute;inset:-20%;z-index:-1;opacity:.11;mix-blend-mode:overlay;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0.9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:220px 220px}
.th-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,22,28,.12) 0%,rgba(18,22,28,.28) 40%,rgba(14,17,22,.86) 100%)}
.th-hero-in{position:relative;display:flex;flex-direction:column;min-height:300px;padding:20px 18px 16px;color:#fff}
.th-hero-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.th-hero-top span{font-size:15px;font-weight:500;letter-spacing:-.01em}
.th-hero-top em,.th-chips span{font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:999px;
  background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff}
.th-hero-t{margin:auto 0 12px;padding-top:36px;font-size:29px;font-weight:450;letter-spacing:-.03em;line-height:1.08;text-wrap:balance}
.th-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.th-chips span{text-transform:none;letter-spacing:0;font-weight:500;font-size:12px;padding:6px 11px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.th-hero.hecho .th-hero-top em{background:rgba(62,138,104,.55)}

/* Desliza para empezar + Semana */
.th-acc{display:flex;gap:8px;align-items:stretch}
.th-swipe{--p:0;position:relative;flex:1;height:58px;border-radius:999px;background:rgba(255,255,255,.9);display:flex;align-items:center;overflow:hidden;
  touch-action:none;user-select:none;-webkit-user-select:none;border:0;padding:0;text-align:left}
.th-swipe:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(94,122,154,.28),rgba(94,122,154,0));transform:scaleX(var(--p));transform-origin:left}
.th-knob{position:relative;z-index:1;flex:none;width:48px;height:48px;margin-left:5px;border-radius:50%;display:grid;place-items:center;color:#fff;
  background:linear-gradient(180deg,#7F97B2,#566E8A);box-shadow:0 8px 18px -8px rgba(40,62,88,.8);cursor:grab;transition:transform .32s cubic-bezier(.23,1,.32,1)}
.th-knob:active{cursor:grabbing}
.th-knob svg{width:20px;height:20px}
.th-swipe-t{position:relative;z-index:1;flex:1;text-align:center;padding:0 10px 0 6px;font-size:14px;white-space:nowrap;font-weight:550;color:var(--tinta);opacity:calc(1 - var(--p) * 1.4)}
.th-swipe.ok .th-swipe-t{opacity:0}
.th-swipe.pista .th-knob{animation:thPista .7s cubic-bezier(.23,1,.32,1)}
@keyframes thPista{0%,100%{transform:none}35%{transform:translateX(26px)}65%{transform:translateX(8px)}}
.th-swipe.hecho{cursor:pointer;width:100%}
.th-swipe.hecho .th-knob{background:linear-gradient(180deg,#58A383,#3E8A68)}
.th-next{flex:none;display:inline-flex;align-items:center;gap:3px;padding:0 13px;border-radius:999px;color:#fff;font-size:13.5px;font-weight:550;
  background:rgba(20,32,46,.42);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .16s ease-out}
.th-next:active{transform:scale(.97)}
.th-next svg{width:15px;height:15px}

/* Descanso y plan en camino, en el mismo idioma */
.capp .capp-today.descanso .ct-ic{background:rgba(59,80,104,.1);border-radius:50%}
.capp .capp-today.descanso .ct-ic svg{color:var(--accent)}

/* ── Barra inferior: circulitos sueltos de cristal, como la referencia ── */
.capp .capp-tabs{left:0;right:0;bottom:calc(14px + env(safe-area-inset-bottom));max-width:460px;margin:0 auto;padding:0 16px;gap:8px;
  background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;justify-content:space-between}
.capp .capp-tab{flex:0 0 auto;width:50px;height:50px;padding:0;border-radius:50%;justify-content:center;font-size:0;gap:0;color:var(--tinta);
  background:rgba(244,247,251,.78);border:1px solid rgba(255,255,255,.85);box-shadow:0 10px 24px -12px rgba(24,40,62,.55);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);transition:transform .16s ease-out,background .2s ease,color .2s ease}
.capp .capp-tab:active{transform:scale(.92)}
.capp .capp-tab span{width:21px;height:21px}
.capp .capp-tab.on{background:linear-gradient(180deg,#3E536B,#26364A);color:#fff;border-color:rgba(255,255,255,.25);box-shadow:0 12px 24px -10px rgba(20,32,48,.85)}
.capp .capp-badge{top:-4px;right:-4px}
.capp .capp-screen{padding-bottom:calc(104px + env(safe-area-inset-bottom))}

/* ── Textos que estaban pensados para fondo negro ── */
.capp b,.capp strong,.capp h1,.capp h2,.capp h3{color:inherit}
.capp .capp-notif{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:22px}

@media (prefers-reduced-motion:reduce){.th-knob,.th-dia,.th-next{transition:none}.th-swipe.pista .th-knob{animation:none}}

/* ═══════ Segunda pasada: el resto de pestañas en el mismo idioma ═══════ */

/* Cabecera compacta (todas las pestañas menos Inicio): fecha fina + avatar */
.capp .capp-head.compacta{margin-bottom:12px;padding-bottom:0}
.capp .capp-head.compacta small{font-size:13px;color:var(--muted)}

/* Títulos de pestaña (Tu alimentación, Tu progreso, Biblioteca): kicker + título fino */
.capp .pr-intro{margin:4px 2px 10px}
.capp .pr-k{font-size:11.5px;letter-spacing:.12em;color:var(--muted)}
.capp .pr-intro b{font-size:27px;font-weight:350;letter-spacing:-.03em;color:var(--tinta);margin-top:4px}
.capp .pr-intro b strong,.capp .pr-intro b em{font-style:normal;font-weight:620}

/* Banda "Guardando lo último": cristal, no verde */
.capp .banda-cache{background:rgba(255,255,255,.55)!important;border:1px solid rgba(255,255,255,.75)!important;border-radius:20px!important;color:var(--txt)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--sh)}
.capp .banda-cache b{color:var(--tinta)}.capp .banda-cache svg,.capp .banda-cache .banda-ic{color:var(--accent)}

/* Semana (pestaña Entreno) */
.capp .sem-card{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:var(--r);box-shadow:var(--sh);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.capp .sem-head b{font-size:20px;font-weight:450;letter-spacing:-.02em;color:var(--tinta)}
.capp .sem-head span,.capp .sem-head small{color:var(--muted)}
.capp .sem-f{background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.7);border-radius:18px;transition:transform .16s ease-out,background .2s ease}
.capp .sem-f:active{transform:scale(.985)}
.capp .sem-f.hoy{border-color:rgba(59,80,104,.35)}
.capp .sem-f.on,.capp .sem-f.on.hoy{background:linear-gradient(180deg,#3E536B,#26364A)!important;border-color:rgba(255,255,255,.25);box-shadow:0 14px 26px -14px rgba(20,32,48,.8)}
.capp .sem-f.on .sf-d,.capp .sem-f.on .sf-t,.capp .sem-f.on .sf-ch{color:#fff}
.capp .sem-f.on .sf-d i{background:rgba(255,255,255,.3);color:#fff}
.capp .sem-f.on .sf-cambiar{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.3)}
.capp .sem-f.on .sf-ok svg{color:#fff}
.capp .sem-f.eligiendo{border-color:var(--accent);background:rgba(59,80,104,.1)}
.capp .sem-f.candidato{border-style:dashed;border-color:rgba(59,80,104,.45)}
.capp .sem-f.candidato .sf-mv.sel{color:var(--accent)}
.capp .sf-d{color:var(--muted)}
.capp .sf-d i{background:rgba(255,255,255,.3);color:#fff}
.capp .sf-ok svg{color:var(--ok)}
.capp .sf-cambiar,.capp .sem-cancel{background:rgba(255,255,255,.85);color:var(--tinta);border-radius:999px;border:1px solid rgba(24,38,56,.1)}
.capp .sem-nota{background:rgba(255,255,255,.45);border:1px solid rgba(255,255,255,.7);border-radius:18px;color:var(--muted)}
.capp .sem-nota b{color:var(--tinta)}

/* Check-in */
.capp .capp-checkin .cc-q-ic{background:rgba(59,80,104,.1);border-radius:50%;color:var(--accent)}
.capp .cc-dot{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);border-radius:50%;color:var(--muted)}
.capp .cc-dot.on{background:var(--tinta);color:#fff;border-color:transparent}
.capp .cc-r{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:16px}
.capp .capp-checkin.toca{border-color:rgba(59,80,104,.25)}

/* Chat: panel de cristal, burbujas del cliente en tinta, las del coach blancas */
.capp .chat-panel{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:var(--r);box-shadow:var(--sh);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.capp .chat-top{border-bottom:1px solid rgba(24,38,56,.08)}
.capp .chat-top b{color:var(--tinta);font-weight:600}
.capp .chat-top .avatar{border-radius:50%}
.capp .chat-body{background:transparent}
.capp .chat-dia{color:var(--muted)}
.capp .bubble{border-radius:20px;font-size:15px}
.capp .bubble.them{background:rgba(255,255,255,.85);border:1px solid rgba(255,255,255,.9);color:var(--txt);border-bottom-left-radius:6px}
.capp .bubble.me{background:var(--tinta);color:#fff;border-bottom-right-radius:6px}
.capp .bubble.me time{color:rgba(255,255,255,.6)}
.capp .bubble.report{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);color:var(--txt)}
.capp .chat-input{border-top:1px solid rgba(24,38,56,.08)}
.capp .chat-input input,.capp .chat-input textarea,.capp .chat-ta{background:rgba(255,255,255,.8);border:1px solid rgba(24,38,56,.1);border-radius:999px;color:var(--txt)}
.capp .chat-input input::placeholder,.capp .chat-input textarea::placeholder{color:var(--muted2)}
.capp .chat-input input:focus,.capp .chat-input textarea:focus,.capp .chat-ta:focus{border-color:var(--accent)}
.capp .media-btn{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);border-radius:50%;color:var(--tinta)}
.capp .chat-input .btn-primary{background:var(--tinta)}

/* Alimentación y archivos */
.capp .form-aviso{background:var(--surface);border:1px solid rgba(255,255,255,.75)}
.capp .form-aviso.destacado{border-color:rgba(59,80,104,.3);box-shadow:0 0 0 3px rgba(59,80,104,.08),var(--sh)}
.capp .fa-ic,.capp .ad-ic,.capp .pv-ic,.capp .ia-ic{background:rgba(59,80,104,.1)!important;border-radius:50%!important;color:var(--accent)!important}
.capp .fa-ic svg,.capp .ad-ic svg,.capp .pv-ic svg,.capp .ia-ic svg{color:var(--accent)!important}
.capp .fa-tx b,.capp .ad-tx b,.capp .ia-tx b{color:var(--tinta)}
.capp .fa-tx small,.capp .ad-tx small,.capp .ia-tx small{color:var(--muted)}
.capp .arch{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:var(--r);box-shadow:var(--sh)}
.capp .nu-macros .nu-m{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:18px}
.capp .nu-m-on{background:var(--tinta)!important;color:#fff}
.capp .nu-m-on *{color:#fff}
.capp .nu-p,.capp .nu-dia,.capp .nu-saludo,.capp .nu-gasto{background:var(--surface);border:1px solid rgba(255,255,255,.75)}
.capp .nu-tag{background:rgba(59,80,104,.1);color:var(--accent)}
.capp .nuc-k{color:var(--muted)}.capp .nuc-dia b,.capp .nuc-real b{color:var(--tinta)}
.capp .nuc-carrera .nuc-dia b{color:var(--accent)}
.capp .nuc-real{border-top-color:rgba(24,38,56,.08)}

/* Classroom */
.capp .cl-intro b{color:var(--tinta);font-weight:450;letter-spacing:-.02em}
.capp .cl-tema,.capp .cl-pl,.capp .cl-lecs>*,.capp .cl-sk{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:var(--sh)}
.capp .cl-num{background:rgba(59,80,104,.1);color:var(--accent);border-radius:50%}
.capp .cl-barra i{background:var(--accent)}

/* Progreso */
.capp .pr2-hoy,.capp .pr2-fila{background:var(--surface);border:1px solid rgba(255,255,255,.75)}
.capp .pr2-fila b{color:var(--tinta)}

/* Pantalla de entreno (player): mismas tarjetas, botones en tinta */
.capp .pl-head{align-items:center}
.capp .pl-x{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);border-radius:50%;color:var(--tinta)}
.capp .pl-head b{color:var(--tinta);font-weight:550}
.capp .pl-prog{background:var(--tinta);color:#fff;border-radius:999px}
.capp .pl-ex{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:var(--sh)}
.capp .pl-ex-info b{color:var(--tinta)}
.capp .pl-thumb{border-radius:14px;background:#2F4258}
.capp .pl-sn{color:var(--muted)}
.capp .pl-srow input{background:rgba(255,255,255,.8);border:1px solid rgba(24,38,56,.1);border-radius:12px;color:var(--txt)}
.capp .pl-fin{background:var(--tinta)}
.capp .capp-screen.pl .pl-head{background:transparent}

/* Modales y hojas que se abren desde la app del cliente */
body:has(.capp) .modal-bg{background:rgba(20,32,48,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
body:has(.capp) .sheet{background:#EEF2F6;border:1px solid rgba(255,255,255,.8);color:var(--txt,#141C26);border-radius:30px}
body:has(.capp) .sheet-head{background:#EEF2F6}
body:has(.capp) .sheet-head b{color:#1E2B3A;font-weight:550}
body:has(.capp) .sheet .btn-primary{background:#1E2B3A;color:#fff;border-radius:999px;box-shadow:none}
body:has(.capp) .sheet .btn-ghost{background:rgba(255,255,255,.8);border:1px solid rgba(24,38,56,.1);color:#1E2B3A;border-radius:999px}
body:has(.capp) .sheet input,body:has(.capp) .sheet textarea,body:has(.capp) .sheet select{background:#fff;border:1px solid rgba(24,38,56,.12);color:#141C26;border-radius:14px}
body:has(.capp) .sheet .icon-btn{background:rgba(255,255,255,.8);color:#1E2B3A;border-radius:50%}
body:has(.capp) .sheet p,body:has(.capp) .sheet small,body:has(.capp) .sheet .muted{color:#5B6979}
body:has(.capp) .sheet .nd-lbl{color:#5B6979}
body:has(.capp) .sheet .metas-op,body:has(.capp) .sheet .les-op,body:has(.capp) .sheet .obj-f{background:#fff;border:1px solid rgba(24,38,56,.1);color:#141C26}
body:has(.capp) .sheet .metas-op.sel{border-color:#1E2B3A;box-shadow:0 0 0 2px rgba(30,43,58,.15)}

/* Avatar con iniciales: del verde a azul acero */
.capp .avatar:not(.haspic),.capp .capp-av .avatar:not(.haspic){background:linear-gradient(135deg,#7F97B2,#4A6280);color:#fff}

/* Píldoras +N y etiquetas de ejercicio fuera de la tarjeta de hoy */
.capp .wk-ex span{background:rgba(255,255,255,.6);border:1px solid rgba(24,38,56,.1);color:var(--muted);border-radius:999px}
.capp .wk-ex .more{color:var(--accent);border-color:rgba(59,80,104,.25)}

/* Botón Volver al panel cuando el coach mira como cliente */
.capp .capp-bar{background:rgba(255,255,255,.55);border-bottom:1px solid rgba(255,255,255,.75);color:var(--muted)}
.capp .capp-bar b{color:var(--tinta)}
.capp .capp-bar button{background:#fff;border:1px solid rgba(24,38,56,.1);color:var(--tinta);border-radius:999px}

/* ═══════ Tipografía: la misma voz en todas las pestañas (fino + seminegrita) ═══════ */
.capp{font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','SF Pro Text','Helvetica Neue',Inter,system-ui,sans-serif;letter-spacing:-.005em}
.capp .card-head b,.capp .card>b,.capp .capp-today b,.capp .cc-hecho b,.capp .capp-checkin>b,.capp .capp-checkin .card-head b,
.capp .pr-vacio b,.capp .capp-today.descanso b,.capp .arr-h b,.capp .metas-card b,.capp .com-lock b,.capp .capp-comu .cm-tx b,
.capp .acc-b b,.capp .sec-h b,.capp .sem-head b,.capp .cl-intro b,.capp .cl-tema b,.capp .cl-lt b,.capp .pr2-fila b,.capp .pr2-hoy b,
.capp .nu-tit b,.capp .nu-p-h b,.capp .nuc-dia b,.capp .nuc-real b,.capp .fa-tx b,.capp .ad-tx b,.capp .ia-tx b,.capp .pl-head b,.capp .pl-ex-info b,
.capp .chat-top b,.capp .capp-notif b,.capp .ev-card div b,.capp .hoy-hecho span{font-weight:550;letter-spacing:-.02em;color:var(--tinta)}
.capp .pr-intro b,.capp .capp-saludo b,.capp .th-hero-t,.capp .sem-head b,.capp .cl-intro b{font-weight:350}
.capp .pr-intro b strong,.capp .capp-saludo b strong{font-weight:620}
.capp .big,.capp .metric-big,.capp .cc-r b,.capp .ev-dias b,.capp .pr2-hoy-g b,.capp .nu-m b{font-weight:400;letter-spacing:-.03em;color:var(--tinta)}
.capp small,.capp .muted,.capp .body{color:var(--muted)}
.capp .sec-h b{text-transform:none;letter-spacing:-.02em;font-size:20px}
.capp .btn-primary,.capp .btn-ghost,.capp .th-next,.capp .th-swipe-t,.capp .sf-cambiar{font-weight:520;letter-spacing:-.01em}
.capp .tag,.capp .pr-k,.capp .nuc-k,.capp .th-hero-top em,.capp .cl-label,.capp .sf-d{font-weight:600;letter-spacing:.1em}

/* Accesos rápidos del inicio, como píldoras de cristal */
.capp .acc-grid{gap:10px}
.capp .acc-b{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:var(--sh)}
.capp .acc-b>span{background:rgba(59,80,104,.1);border-radius:50%;color:var(--accent)}
.capp .acc-b.destacado{background:linear-gradient(180deg,#3E536B,#26364A);color:#fff;border-color:rgba(255,255,255,.2)}
.capp .acc-b.destacado *{color:#fff}
.capp .acc-b.destacado>span{background:rgba(255,255,255,.18)}

/* Tarjeta de objetivos (hero verde de antes): ahora foto tinta */
.capp .capp-hero{background:linear-gradient(135deg,#4A6280 0%,#2F4258 100%);color:#fff;border-radius:var(--r);box-shadow:var(--sh)}
.capp .capp-hero .hero-k,.capp .capp-hero small,.capp .capp-hero b{color:#fff}
.capp .capp-hero .ho-f{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:16px;color:#fff}
.capp .capp-hero .ho-bar{background:rgba(255,255,255,.2)}.capp .capp-hero .ho-bar i{background:#fff}
.capp .capp-hero .ring-bg{stroke:rgba(255,255,255,.2)}.capp .capp-hero .ring-fg{stroke:#fff}.capp .capp-hero .ring-txt{fill:#fff}
.capp .capp-hero .hero-cta{background:#fff;color:#1E2B3A;border-radius:999px}

/* Comunidad, peso, pasos, fotos */
.capp .com-lock,.capp .pasos-card,.capp .peso-card,.capp .fotos-card,.capp .comunidad-aviso,.capp .metas-card,.capp .arr-card{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:var(--r)}
.capp .metas-btn,.capp .arr-p{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);border-radius:999px;color:var(--tinta)}
.capp .arr-p.ok{background:rgba(62,138,104,.14);color:var(--ok)}
.capp .sem-f.hoy:not(.on) .sf-d i{background:rgba(59,80,104,.14);color:var(--accent)}

/* ═══════ Tercera pasada: Entreno del día, Classroom, player, progreso ═══════ */

/* Entreno del día (pestaña Entreno): lista de ejercicios como filas de cristal */
.capp .dia-cab b{font-weight:450;font-size:20px;letter-spacing:-.02em;color:var(--tinta)}
.capp .dia-mover,.capp .dia-add{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);color:var(--tinta);border-radius:999px}
.capp .capp-exlist{gap:8px}
.capp .capp-exlist .card{padding:0;overflow:hidden}
.capp .exi{padding:11px 14px;border-bottom:1px solid rgba(24,38,56,.07)}
.capp .exi:last-child{border-bottom:0}
.capp .exi-thumb{border-radius:14px;background:#2F4258}
.capp .exi-main b{font-weight:550;color:var(--tinta)}
.capp .exi-go{color:var(--accent)}
.capp .dl-b{background:var(--tinta);color:#fff;border-radius:999px}
.capp .dl-b.sec{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);color:var(--tinta)}
.capp .dia-libre .dl-ic{background:rgba(59,80,104,.1);border-radius:50%}
.capp .dia-libre .dl-ic svg{color:var(--accent)}
.capp .dia-nota{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:18px}
.capp .dia-nota svg{stroke:var(--accent)}.capp .dia-nota b{color:var(--accent)}
.capp .rir-box{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-left:3px solid var(--accent);border-radius:18px}
.capp .rir-box b{color:var(--accent)}.capp .rir-box p b{color:var(--tinta)}
.capp .dia-ysiguiente{color:var(--muted)}
.capp .dia-ysiguiente::before,.capp .dia-ysiguiente::after{background:rgba(24,38,56,.1)}

/* Classroom */
.capp .cl-intro b{font-size:27px;font-weight:350;letter-spacing:-.03em;color:var(--tinta)}
.capp .cl-barra{background:rgba(24,38,56,.1)}.capp .cl-barra i{background:var(--accent)}
.capp .cl-lec{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:20px;box-shadow:var(--sh)}
.capp .cl-lec:active{background:rgba(255,255,255,.8)}
.capp .cl-po{border-radius:12px;background:#2F4258}
.capp .cl-po.txt{border-color:rgba(24,38,56,.1);background:rgba(255,255,255,.6)}
.capp .cl-num{color:var(--accent)}
.capp .cl-lt b{font-weight:550;color:var(--tinta)}
.capp .cl-lec.visto{background:rgba(255,255,255,.3)}
.capp .cl-lec.visto .cl-est{color:var(--ok)}
.capp .cl-sk{gap:8px}.capp .cl-skrow{background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.75);border-radius:20px}
.capp .cl-skrow i,.capp .cl-skrow span{background:rgba(24,38,56,.07)}
.capp .faq-caja{background:var(--surface);border:1px solid rgba(255,255,255,.75);border-radius:22px;box-shadow:var(--sh)}
.capp .faq-sum b{font-weight:550;color:var(--tinta)}
.capp .faq-caja[open] .faq-sum,.capp .faq-i{border-color:rgba(24,38,56,.08)}
.capp .faq-i[open]>summary{color:var(--accent)}

/* Player: cabecera con cristal y series como filas */
.capp .capp-screen.pl .pl-head.pegada{border-bottom-color:rgba(24,38,56,.08);background:rgba(227,233,240,.85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.capp .pl-ex-nota,.capp .pl-obj{color:var(--muted)}
.capp .pl-shead span{color:var(--muted2)}
.capp .pl-srow input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(59,80,104,.12)}
.capp .pl-last{background:rgba(59,80,104,.08);border:1px solid rgba(59,80,104,.15);color:var(--muted);border-radius:12px}
.capp .pl-last svg{color:var(--accent)}.capp .pl-last b{color:var(--tinta)}
.capp .pl-rest{color:var(--accent)}
.capp .pl-videobtn{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);color:var(--tinta);border-radius:999px}
.capp .pl-videobtn svg{color:var(--accent)}
.capp .pl-manos{background:rgba(255,255,255,.55);border-radius:14px}
.capp .pl-manos b{color:var(--accent)}.capp .pl-manos span{color:var(--txt)}
.capp .pl-fin{background:var(--tinta);color:#fff;border-radius:999px}

/* Progreso: hábitos, pasos, fotos */
.capp .hab-f{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.75);border-radius:16px}
.capp .hab-tx b{color:var(--tinta);font-weight:550}
.capp .hab-card .card-head svg{color:var(--accent)}
.capp .pasos-num b{color:var(--tinta)}
.capp .foto-item{border-radius:16px;background:rgba(255,255,255,.5)}
.capp .foto-add{border:1.5px dashed rgba(24,38,56,.2);border-radius:16px;color:var(--muted)}
.capp .foto-add:hover{border-color:var(--accent);color:var(--accent)}
.capp .pr2-hoy-g b{color:var(--tinta)}

/* Hero de objetivos: filas y barras */
.capp .ho-f{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16)}
.capp .ho-f:hover{background:rgba(255,255,255,.18)}
.capp .ho-n,.capp .ho-p{color:#fff}
.capp .ho-bar{background:rgba(255,255,255,.2)}.capp .ho-bar i,.capp .ho-f.ok .ho-bar i{background:#fff}

/* Botones secundarios chicos (Registrar, Cambiar, Estándar) */
.capp .btn-ghost.sm{background:rgba(255,255,255,.8);border:1px solid rgba(24,38,56,.1);color:var(--tinta);border-radius:999px;font-weight:550}

/* Textos: nada en verde lima */
.capp [style*="color:var(--accent)"],.capp .link{color:var(--accent)}
.capp .exi-thumb.novid,.capp .pl-thumb.novid{background:rgba(59,80,104,.12);color:var(--accent)}
.capp .exi-thumb.novid svg,.capp .pl-thumb.novid svg{color:var(--accent)}
.capp .aviso-card,.capp .capp-body>.card.aviso{background:var(--surface);border:1px solid rgba(255,255,255,.75)}
.capp .pl-ex-info .pl-obj{background:rgba(59,80,104,.1);color:var(--tinta);border-radius:999px;font-weight:550}
.capp .pl-ex-info .pl-obj .pl-rest{color:var(--accent)}
.capp .pl-sn{color:var(--muted)}
.capp .pl-srow button,.capp .pl-ok{background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);border-radius:12px;color:var(--muted2)}
.capp .pl-srow button.on,.capp .pl-ok.on{background:var(--ok);color:#fff;border-color:transparent}

/* ═══════ Cuarta pasada: modales, Classroom abierto, toast, pantallas pequeñas ═══════ */

/* Modales: animación de entrada desde abajo (hoja), fondo claro */
body:has(.capp) .modal-bg{animation:thModal .28s cubic-bezier(.23,1,.32,1) both;padding:calc(16px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom))}
body:has(.capp) .sheet{animation:thSheet .34s cubic-bezier(.23,1,.32,1) both;box-shadow:0 30px 70px -30px rgba(20,32,48,.6);max-height:min(88vh,88dvh)}
@keyframes thModal{from{opacity:0}to{opacity:1}}
@keyframes thSheet{from{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:none}}
body:has(.capp) .sheet .icon-btn{background:rgba(255,255,255,.85);border:1px solid rgba(24,38,56,.1);color:#1E2B3A;border-radius:50%}
body:has(.capp) .sheet .card-k,body:has(.capp) .sheet .set-glabel,body:has(.capp) .sheet .nd-lbl{color:#5B6979;font-weight:600;letter-spacing:.1em}
body:has(.capp) .sheet b{color:#1E2B3A}
body:has(.capp) .sheet .metas-op b,body:has(.capp) .sheet .les-op{color:#141C26}
body:has(.capp) .sheet .metas-op small{color:#5B6979}
body:has(.capp) .sheet .metas-op{border-radius:18px}
body:has(.capp) .sheet .metas-op.sel{background:rgba(59,80,104,.08);border-color:#3B5068}
body:has(.capp) .sheet textarea,body:has(.capp) .sheet input[type=text],body:has(.capp) .sheet input[type=number],body:has(.capp) .sheet input[type=date],body:has(.capp) .sheet input[type=email]{width:100%;font-size:16px}
body:has(.capp) .sheet textarea::placeholder,body:has(.capp) .sheet input::placeholder{color:#8995A3}
body:has(.capp) .sheet .btn-primary.full{border-radius:999px}

/* Ajustes del cliente */
body:has(.capp) .sheet .set-row,body:has(.capp) .sheet .cset-group .set-row{background:#fff;border:1px solid rgba(24,38,56,.08);border-radius:18px;color:#141C26}
body:has(.capp) .sheet .set-ic{background:rgba(59,80,104,.1);color:#3B5068;border-radius:50%}
body:has(.capp) .sheet .set-main b{color:#1E2B3A;font-weight:550}
body:has(.capp) .sheet .set-main small{color:#5B6979}
body:has(.capp) .sheet .set-chev{color:#8995A3}
body:has(.capp) .sheet .cset-btn{background:#fff;border:1px solid rgba(24,38,56,.12);color:#1E2B3A;border-radius:999px}
body:has(.capp) .sheet .cset-btn.primary{background:#1E2B3A;color:#fff;border-color:transparent}
body:has(.capp) .sheet .cset-btn.primary svg{color:#fff}
body:has(.capp) .sheet .cset-avtxt b{color:#1E2B3A}
body:has(.capp) .sheet .useg,body:has(.capp) .sheet .useg-sm{background:rgba(24,38,56,.06);border-radius:999px}
body:has(.capp) .sheet .useg button,body:has(.capp) .sheet .useg-sm button{color:#5B6979;border-radius:999px}
body:has(.capp) .sheet .useg button.on,body:has(.capp) .sheet .useg-sm button.on,body:has(.capp) .sheet .useg .on,body:has(.capp) .sheet .useg-sm .on{background:#1E2B3A;color:#fff}
body:has(.capp) .sheet .set-foot,body:has(.capp) .sheet .set-sync p{color:#5B6979}
body:has(.capp) .sheet .set-foot a{color:#3B5068}
body:has(.capp) .sheet .set-sync input{background:#fff;border:1px solid rgba(24,38,56,.12);color:#141C26}
body:has(.capp) .sheet .avatar:not(.haspic){background:linear-gradient(135deg,#7F97B2,#4A6280);color:#fff}

/* Clase abierta (Classroom) */
body:has(.capp) .sheet .cls-tit,body:has(.capp) .sheet .cls-tx b{color:#1E2B3A;font-weight:550}
body:has(.capp) .sheet .cls-dur{color:#5B6979}
body:has(.capp) .sheet .cls-tx,body:has(.capp) .sheet .cls-tx p{color:#2E3A48}
body:has(.capp) .sheet .cls-nov{background:#fff;border:1px solid rgba(24,38,56,.08)}
body:has(.capp) .sheet .cls-link{background:#fff;border:1px solid rgba(24,38,56,.1);color:#1E2B3A;border-radius:14px}
body:has(.capp) .sheet .cls-vid{border-radius:18px;overflow:hidden}
body:has(.capp) .sheet .cls-play i{background:rgba(255,255,255,.9);color:#1E2B3A}

/* Cambio de día: cabecera de "Toca el día…", botones Elegir y Cancelar */
.capp .sem-eligiendo{color:var(--tinta)}
.capp .sem-cancel{color:var(--tinta)}
.capp .sf-mv{color:var(--accent)}
.capp .sem-f.on .sf-mv{color:rgba(255,255,255,.6)}

/* Toast flotante: tinta, no lima; por encima de la barra */
body:has(.capp) .ws-toast{background:#1E2B3A;color:#fff;font-weight:550;bottom:calc(84px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);text-align:center;box-shadow:0 14px 30px -12px rgba(20,32,48,.7)}
body:has(.capp) .set-mal-aviso{background:#1E2B3A;color:#fff}

/* ── Textos siempre dentro de su cápsula ── */
.capp .card,.capp .th-hero,.capp .sem-card,.capp .cl-lec,.capp .arch,.capp .capp-notif{overflow:hidden;overflow-wrap:anywhere;word-break:normal}
.capp .sf-t,.capp .exi-main b,.capp .cl-lt b,.capp .ad-tx b,.capp .fa-tx b{overflow-wrap:anywhere}
.capp .th-hero-t{overflow-wrap:anywhere;hyphens:auto}
.capp .th-chips span{max-width:100%}
.capp .capp-saludo b{overflow-wrap:anywhere}
.capp .capp-saludo{min-width:0;flex:1}
.capp .capp-head{gap:12px}
.capp .capp-head>div{min-width:0}

/* ── Pantallas estrechas (Galaxy S, iPhone SE: 320-360 px) ── */
@media (max-width:359px){
  .capp .capp-saludo b{font-size:22px}
  .capp .sec-h b,.capp .sem-head b{font-size:18px}
  .capp .th-dia{padding:8px 0 8px;gap:6px}
  .capp .th-dia small{font-size:10.5px}
  .capp .th-dia b{width:26px;height:26px;font-size:13px}
  .th-hero{min-height:270px}
  .th-hero-t{font-size:25px}
  .th-swipe{height:52px}.th-knob{width:42px;height:42px}.th-knob svg{width:18px;height:18px}
  .th-swipe-t{font-size:13px}
  .th-next{padding:0 11px;font-size:13px}
  .capp .capp-tab{width:44px;height:44px}.capp .capp-tab span{width:19px;height:19px}
  .capp .capp-tabs{gap:4px;padding:0 10px}
  .capp .pr-intro b{font-size:24px}
}
/* Pantallas bajas (zoom del sistema, SE con barra): que el hero no se coma todo */
@media (max-height:700px){
  .th-hero{min-height:260px}.th-hero-in{min-height:260px}
}
/* Tablets y escritorio: la app sigue centrada a 460 px, el fondo acompaña */
@media (min-width:700px){
  .capp .capp-brand{max-width:460px;margin:0 auto}
}

/* Vista de cliente desde el panel del coach: la barra "Volver al panel" encima del tema */
.capp .capp-bar{position:relative;z-index:3}

/* Entrada suave de cada pestaña y de las tarjetas */
.capp .capp-body{animation:thIn .32s cubic-bezier(.23,1,.32,1) both}
@keyframes thIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.capp .capp-body,body:has(.capp) .modal-bg,body:has(.capp) .sheet{animation:none}}

/* Chat: la barra flota 14 px por encima del borde, así que la caja de escribir necesita ese hueco extra */
html .capp.chat-fijo .capp-screen,html.vv .capp.chat-fijo .capp-screen{padding-bottom:calc(var(--tabs, 64px) + 10px)!important}
html.teclado .capp.chat-fijo .capp-screen{padding-bottom:0!important}
.capp.chat-fijo .chat-panel{border-radius:var(--r) var(--r) 22px 22px}

/* Semana en pantallas estrechas: el nombre del entreno tiene más sitio */
@media (max-width:359px){
  .capp .sf-d{width:52px;font-size:10.5px;gap:4px}
  .capp .sf-cambiar{padding:6px 10px;font-size:12px}
  .capp .sf-t{font-size:13px}
}
/* Recorte de la foto de perfil */
body:has(.capp) .crop-mask{box-shadow:0 0 0 2px #3B5068 inset}
body:has(.capp) .crop-zoom input[type=range]{background:rgba(24,38,56,.12)}
body:has(.capp) .crop-zoom input[type=range]::-webkit-slider-thumb{background:#1E2B3A}
body:has(.capp) .crop-zoom svg{color:#5B6979}
body:has(.capp) .sheet .textlink,body:has(.capp) .sheet .link{color:#5B6979}

/* ═══════ Puerta de entrada (login) en el mismo idioma ═══════ */
.conn-gate{background:radial-gradient(120% 60% at 50% -10%,#8FA5BD 0%,rgba(143,165,189,0) 62%),linear-gradient(180deg,#A9BBCF 0px,#D3DDE8 45%,#E6ECF2 100%)!important}
.conn-card{background:rgba(255,255,255,.62)!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:30px!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);box-shadow:0 30px 70px -30px rgba(20,32,48,.5)!important}
.conn-mark{background:#1E2B3A!important;border-radius:50%!important;width:62px!important;height:62px!important;box-shadow:0 12px 28px -12px rgba(20,32,48,.6)!important}
.conn-mark img{width:30px!important;height:30px!important;filter:brightness(0) invert(1)}
.conn-card h2{color:#1E2B3A!important;font-weight:450!important;font-size:25px!important;letter-spacing:-.025em!important}
.conn-card p,.conn-skip-nota{color:#5B6979!important}
.conn-field{background:#fff!important;border:1px solid rgba(24,38,56,.12)!important;border-radius:16px!important;color:#141C26!important}
.conn-field::placeholder{color:#8995A3!important}
.conn-field:focus{border-color:#3B5068!important;box-shadow:0 0 0 3px rgba(59,80,104,.12)}
.conn-btn{background:#1E2B3A!important;color:#fff!important;border-radius:999px!important;box-shadow:0 14px 30px -16px rgba(20,32,48,.7)!important;font-weight:550!important}
.conn-btn:hover{box-shadow:0 18px 34px -16px rgba(20,32,48,.8)!important}
.conn-skip{color:#3B5068!important;font-weight:550}
.conn-err{color:#B23A48!important}

/* ═══════ 29 oct · correcciones de Isma tras abrirlo ═══════ */

/* Tira de días: el día abierto en tinta; hoy, si no está abierto, con un aro fino */
.th-dia.es-hoy{border-color:rgba(59,80,104,.45);box-shadow:0 0 0 2px rgba(59,80,104,.14)}
.th-dia.es-hoy small{color:var(--accent);font-weight:650}
/* El día elegido aparece debajo con una entrada suave, sin salir del inicio */
.th-entra{animation:thEntra .38s cubic-bezier(.23,1,.32,1) both}
@keyframes thEntra{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}

/* Check-in: deslizadores con la palabra de cada punto */
.capp .cc-sl-lista{display:flex;flex-direction:column;gap:16px;margin:14px 0 6px}
.capp .cc-sl{padding:12px 14px 10px;border-radius:20px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);transition:background .2s ease}
.capp .cc-sl.puesto{background:rgba(255,255,255,.85)}
.capp .cc-sl-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.capp .cc-sl-top .cc-q-ic{width:30px;height:30px;flex:none}
.capp .cc-sl-top b{flex:1;min-width:0;font-size:15px;font-weight:550;color:var(--tinta)}
.capp .cc-sl-top em{font-style:normal;font-size:13px;font-weight:600;color:var(--muted2);padding:5px 11px;border-radius:999px;background:rgba(24,38,56,.05);white-space:nowrap;transition:color .2s ease,background .2s ease}
.capp .cc-sl.puesto .cc-sl-top em{color:#fff;background:var(--tinta)}
.capp .cc-range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0;cursor:pointer;touch-action:pan-y}
.capp .cc-range::-webkit-slider-runnable-track{height:6px;border-radius:99px;background:linear-gradient(90deg,var(--tinta) 0 var(--p,50%),rgba(24,38,56,.1) var(--p,50%) 100%)}
.capp .cc-sl:not(.puesto) .cc-range::-webkit-slider-runnable-track{background:rgba(24,38,56,.1)}
.capp .cc-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:#fff;border:2px solid var(--tinta);box-shadow:0 4px 12px -4px rgba(20,32,48,.5);transition:transform .15s ease}
.capp .cc-sl:not(.puesto) .cc-range::-webkit-slider-thumb{border-color:rgba(24,38,56,.25)}
.capp .cc-range:active::-webkit-slider-thumb{transform:scale(1.12)}
.capp .cc-range::-moz-range-track{height:6px;border-radius:99px;background:rgba(24,38,56,.1)}
.capp .cc-range::-moz-range-progress{height:6px;border-radius:99px;background:var(--tinta)}
.capp .cc-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--tinta)}
.capp .cc-sl-ejes{display:flex;justify-content:space-between;margin-top:4px}
.capp .cc-sl-ejes small{font-size:11px;color:var(--muted2)}
.capp .capp-checkin .card-head{align-items:flex-start;gap:10px}
.capp .capp-checkin .card-head .tag{white-space:nowrap;flex:none;font-size:10.5px;letter-spacing:.06em;padding:5px 10px}

/* Pasos: más compacto y con la misma tipografía */
.capp .pasos-card{padding:16px 16px 14px}
.capp .pasos-h{margin-bottom:8px;align-items:center}
.capp .pasos-h b{font-size:15.5px;font-weight:550;color:var(--tinta)}
.capp .pasos-h .muted{font-size:12.5px;text-transform:capitalize}
.capp .pasos-campo{margin:2px 0 8px;justify-content:flex-start}
.capp .pasos-campo input{font-size:28px;font-weight:350;letter-spacing:-.03em;color:var(--tinta);text-align:left;width:6ch;background:transparent;border:0;padding:0}
.capp .pasos-campo small{font-size:13px}
.capp .pasos-range{height:6px;background:rgba(24,38,56,.1)}
.capp .pasos-range::-webkit-slider-thumb{width:24px;height:24px;background:#fff;border:2px solid var(--tinta);box-shadow:0 4px 12px -4px rgba(20,32,48,.5)}
.capp .pasos-range::-moz-range-thumb{background:#fff;border:2px solid var(--tinta)}
.capp .pasos-esc span{font-size:10.5px;color:var(--muted2)}
.capp .pasos-esc span:nth-child(2){color:var(--accent);font-weight:600}
.capp .pasos-card .btn-primary.full{margin-top:10px;padding:11px 16px}
.capp .pasos-res b{font-size:26px;font-weight:350;letter-spacing:-.03em;color:var(--tinta)}
.capp .pasos-prog{height:6px;background:rgba(24,38,56,.1)}
.capp .pasos-prog i{background:var(--tinta)}
@media (prefers-reduced-motion:reduce){.th-entra{animation:none}}

/* ═══════ Progreso: tipografía y comparativa de fotos ═══════ */
.capp .pr2{gap:12px}
.capp .pr2-h{margin:16px 4px 0}
.capp .pr2-h span{font-size:20px;font-weight:450;letter-spacing:-.025em;color:var(--tinta)}
.capp .pr2-h small{font-size:12.5px;color:var(--muted)}
.capp .pr2-hoy{padding:18px 20px;gap:18px}
.capp .pr2-hoy-t small{font-size:11px;letter-spacing:.12em;color:var(--muted)}
.capp .pr2-hoy-t b{font-size:22px;font-weight:450;letter-spacing:-.025em}
.capp .pr2-hoy-t span{font-size:13.5px;color:var(--muted);line-height:1.45}
.capp .pr2-fila{padding:18px 6px}
.capp .pr2-fila>div{border-left-color:rgba(24,38,56,.08)}
.capp .pr2-fila b{font-size:30px;font-weight:300;letter-spacing:-.04em;color:var(--tinta)}
.capp .pr2-fila b i{font-size:13px;color:var(--muted2)}
.capp .pr2-fila small{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.capp .pr2-logro{color:var(--muted)}.capp .pr2-logro svg{color:var(--accent)}.capp .pr2-logro b{color:var(--tinta)}
.capp .pr2-tend{padding:6px 20px}
.capp .pr2-t{border-top-color:rgba(24,38,56,.07);padding:12px 0}
.capp .pr2-t small{font-size:14px;color:var(--tinta);font-weight:500}
.capp .pr2-t b{font-weight:350;font-size:20px;color:var(--tinta)}
.capp .pr2-tl .spark-area{fill:rgba(59,80,104,.1)}
.capp .pr2-tl .spark-line{stroke:var(--accent)}
.capp .pr2-peso .peso-top b{font-size:30px;font-weight:300;letter-spacing:-.04em;color:var(--tinta)}
.capp .pr2-peso.vacia .peso-top b{font-size:22px;font-weight:450}
.capp .peso-c.logrado{border-color:rgba(62,138,104,.35);background:linear-gradient(180deg,rgba(62,138,104,.08),transparent),var(--surface)}
.capp .peso-actual b{color:var(--tinta);font-weight:350}
.capp .peso-stats>div{background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);border-radius:16px}
.capp .peso-stats b{font-weight:450;color:var(--tinta)}.capp .peso-stats b.bien{color:var(--ok)}
.capp .peso-logro{background:rgba(62,138,104,.1);border-color:rgba(62,138,104,.25);color:var(--txt);border-radius:16px}
.capp .peso-logro b,.capp .peso-logro svg{color:var(--ok)}
.capp .peso-g .spark-line,.capp .peso-g path[stroke]{stroke:var(--accent)}
.capp .pr2-hab{padding:16px 18px}
.capp .pr2-fotos{gap:10px}
.capp .pr2-ft-c{border-radius:20px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);box-shadow:var(--sh)}
.capp .pr2-ft-c.vacia{border:1.5px dashed rgba(24,38,56,.2);background:rgba(255,255,255,.35);box-shadow:none;color:var(--muted)}
.capp .pr2-ft-c i{background:var(--tinta);color:#fff}
.capp .pr2-ft small{color:var(--tinta);font-weight:550}
.capp .pr2-ft small em{color:var(--muted2);font-weight:400}
.capp .pr2-comparar{margin-top:12px;width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;border-radius:999px;
  background:var(--tinta);color:#fff;font-size:14.5px;font-weight:550;box-shadow:0 14px 30px -16px rgba(20,32,48,.7);transition:transform .16s ease-out}
.capp .pr2-comparar:active{transform:scale(.98)}
.capp .pr2-comparar svg{width:17px;height:17px;color:#fff}

/* Comparativa: antes y después con deslizador */
body:has(.capp) .cmp{padding:4px 2px 14px}
body:has(.capp) .cmp-ang{display:flex;gap:6px;margin-bottom:14px}
body:has(.capp) .cmp-ang button{flex:1;padding:9px 10px;border-radius:999px;background:#fff;border:1px solid rgba(24,38,56,.1);color:#1E2B3A;font-size:13.5px;font-weight:550}
body:has(.capp) .cmp-ang button.on{background:#1E2B3A;color:#fff;border-color:transparent}
body:has(.capp) .cmp-ang button:disabled{opacity:.35}
body:has(.capp) .cmp-vista{position:relative;width:100%;aspect-ratio:3/4;border-radius:24px;overflow:hidden;background:#2F4258;user-select:none;-webkit-user-select:none;touch-action:pan-y}
body:has(.capp) .cmp-vista img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
body:has(.capp) .cmp-vista .cmp-a{clip-path:inset(0 calc(100% - var(--x)) 0 0)}
body:has(.capp) .cmp-lin{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 12px rgba(0,0,0,.35);pointer-events:none}
body:has(.capp) .cmp-lin i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#1E2B3A;display:flex;align-items:center;justify-content:center;gap:0;box-shadow:0 8px 20px -6px rgba(0,0,0,.5)}
body:has(.capp) .cmp-lin i svg{width:14px;height:14px}
body:has(.capp) .cmp-t{position:absolute;top:12px;font-style:normal;font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:5px 10px;border-radius:999px;background:rgba(20,30,44,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}
body:has(.capp) .cmp-ta{left:12px}body:has(.capp) .cmp-tb{right:12px}
body:has(.capp) .cmp-vista input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
body:has(.capp) .cmp-fechas{display:flex;justify-content:space-between;margin-top:10px;font-size:12.5px;color:#5B6979}

/* Chat: más aire entre la caja de escribir y los circulitos */
html .capp.chat-fijo .capp-screen,html.vv .capp.chat-fijo .capp-screen{padding-bottom:calc(var(--tabs, 64px) + 24px)!important}


/* ═══════ Ronda del 2 nov 2026: intro, deslizadores, guardado, actividad y alimentación ═══════ */

/* Animación de entrada en la nueva estética: azul acero, logo blanco. Nada de dorado. */
.intro-cli{background:radial-gradient(120% 70% at 50% 30%,#A9BBCF 0%,#7F97B2 46%,#566E8A 100%)}
.intro-glow{background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,.14) 45%,transparent 70%);filter:blur(10px)}
.intro-logo{filter:drop-shadow(0 12px 30px rgba(30,48,72,.4))!important}
.intro-word{color:#fff;font-weight:300;letter-spacing:-.01em;font-size:21px}
.intro-word b{background:none;-webkit-text-fill-color:#fff;color:#fff;font-weight:620}

/* Deslizadores del check-in */
.capp .capp-checkin .card-head{display:block;margin-bottom:6px}
.capp .capp-checkin .card-head b{font-size:20px;font-weight:450;letter-spacing:-.02em;line-height:1.2}
.capp .cc-sl-lista{gap:10px}
.capp .cc-sl{padding:14px 15px 13px;border-radius:22px}
.capp .cc-sl-top{margin-bottom:12px}
.capp .cc-sl-top em{min-width:62px;text-align:center;font-size:12.5px;font-weight:550;letter-spacing:-.005em;padding:6px 12px}
.capp .cc-sl-top em.cambia{animation:ccPalabra .22s cubic-bezier(.23,1,.32,1)}
@keyframes ccPalabra{from{transform:scale(.92);opacity:.55}to{transform:none;opacity:1}}
.capp .cc-range{height:32px;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
.capp .cc-range:focus{outline:none}
.capp .cc-range::-webkit-slider-runnable-track{height:8px;background:linear-gradient(90deg,#3E536B 0,#26364A var(--p,50%),rgba(24,38,56,.09) var(--p,50%),rgba(24,38,56,.09) 100%)}
.capp .cc-sl:not(.puesto) .cc-range::-webkit-slider-runnable-track{background:rgba(24,38,56,.09)}
.capp .cc-range::-webkit-slider-thumb{width:30px;height:30px;margin-top:-11px;background:#fff;border:0;box-shadow:0 1px 2px rgba(20,32,48,.2),0 6px 14px -4px rgba(20,32,48,.4);transition:transform .16s ease-out}
.capp .cc-sl:not(.puesto) .cc-range::-webkit-slider-thumb{border:0}
.capp .cc-range:active::-webkit-slider-thumb{transform:scale(1.14)}
.capp .cc-range::-moz-range-thumb{width:30px;height:30px;background:#fff;border:0;box-shadow:0 6px 14px -4px rgba(20,32,48,.4)}
.capp .cc-sl-ejes{margin-top:3px;padding:0 1px}
.capp .cc-sl-ejes small{font-size:12px;font-weight:500;letter-spacing:-.005em;color:var(--muted)}

/* Guardar: el botón confirma */
.capp #ccBtn{transition:background .25s ease,transform .16s ease-out;display:flex;align-items:center;justify-content:center;gap:8px}
.capp #ccBtn:active{transform:scale(.98)}
.capp #ccBtn.guardado,.capp #ccBtn.guardado:disabled{background:var(--ok);opacity:1;color:#fff}
.cc-ok-ic{display:inline-grid;place-items:center;width:20px;height:20px;animation:ccOk .34s cubic-bezier(.23,1,.32,1)}
.cc-ok-ic svg{width:18px;height:18px;color:#fff}
@keyframes ccOk{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}

/* Check-in hecho */
.capp .cc-hecho{padding:18px 17px;background:var(--surface);border-color:rgba(255,255,255,.75)}
.capp .cc-h-top{align-items:center;gap:11px;margin-bottom:16px}
.capp .cc-h-ic{width:38px;height:38px;border-radius:50%;background:rgba(62,138,104,.14)}
.capp .cc-h-ic svg{color:var(--ok)}
.capp .cc-h-tx{flex:1;min-width:0}
.capp .cc-h-top b{font-size:16.5px;font-weight:520;letter-spacing:-.015em}
.capp .cc-h-top small{font-size:13px}
.capp .cc-rehacer{flex:none;width:auto;display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;font-size:13px;font-weight:520;color:var(--tinta);text-decoration:none;
  background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);transition:transform .16s ease-out}
.capp .cc-rehacer:active{transform:scale(.97)}
.capp .cc-barras{gap:11px}
.capp .cc-b{display:grid;grid-template-columns:68px 1fr 74px;gap:10px;align-items:center}
.capp .cc-b-n{width:auto;font-size:13px;font-weight:500;color:var(--tinta)}
.capp .cc-b-bar{height:8px;background:rgba(24,38,56,.08)}
.capp .cc-b-bar i{background:linear-gradient(90deg,#6E86A1,#3B5068)}
.capp .cc-b-v{width:auto;text-align:right;font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap}
.capp .cc-hecho.entra{animation:ccEntra .42s cubic-bezier(.23,1,.32,1) both}
.capp .cc-hecho.entra .cc-h-ic{animation:ccOk .42s cubic-bezier(.23,1,.32,1) .1s both}
.capp .cc-hecho.entra .cc-b-bar i{animation:ccBarra .62s cubic-bezier(.23,1,.32,1) calc(.14s + var(--d,0ms)) both}
.capp .cc-hecho.entra .cc-b-v{animation:ccValor .3s ease-out calc(.3s + var(--d,0ms)) both}
@keyframes ccEntra{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
@keyframes ccBarra{from{width:0}}
@keyframes ccValor{from{opacity:0}to{opacity:1}}

/* Semana dentro de su cápsula */
.th-next{min-width:96px;justify-content:center;gap:4px;padding:0 14px;line-height:1;white-space:nowrap;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3);font-size:14px}
.th-next svg{flex:none;width:14px;height:14px;display:block}
.th-swipe-t{font-size:13.5px}

/* Añadir actividad: se ve y el texto cabe */
.capp .dia-cab{flex-direction:column;align-items:stretch;gap:12px;margin:6px 2px 14px}
.capp .dia-bots{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.capp .dia-add,.capp .dia-mover{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:46px;padding:0 10px;font-size:13.5px;font-weight:520;letter-spacing:-.01em;white-space:nowrap;opacity:1;text-decoration:none;border-radius:999px;transition:transform .16s ease-out}
.capp .dia-add:hover{text-decoration:none}
.capp .dia-add:active,.capp .dia-mover:active{transform:scale(.97)}
.capp .dia-add{background:var(--tinta);color:#fff;border:0;box-shadow:0 12px 24px -14px rgba(20,32,48,.7)}
.capp .dia-add svg{width:15px;height:15px;color:#fff}

/* Tu alimentación hoy */
.capp .nuc{padding:18px 17px;gap:14px}
.capp .nuc-k{gap:9px;text-transform:none;letter-spacing:-.01em;font-size:15px;font-weight:520;color:var(--tinta)}
.nuc-ic{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(59,80,104,.1)}
.nuc-ic svg{width:16px;height:16px;color:var(--accent)}
.capp .nuc-dia{padding:14px 15px;border-radius:20px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8)}
.capp .nuc-dia small{font-size:12px;color:var(--muted);margin-bottom:5px}
.capp .nuc-dia b,.capp .nuc-real b{font-size:16.5px;font-weight:520;letter-spacing:-.015em}
.capp .nuc-dia p,.capp .nuc-real p{font-size:14px;margin-top:5px}
.capp .nuc-real{padding:0 2px;border-top:0}
.capp .nuc-ver{align-self:stretch;justify-content:center;height:44px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(24,38,56,.1);color:var(--tinta);font-size:13.5px;font-weight:520;transition:transform .16s ease-out}
.capp .nuc-ver:active{transform:scale(.98)}

@media (prefers-reduced-motion:reduce){
  .capp .cc-hecho.entra,.capp .cc-hecho.entra *{animation:none!important}
  .capp .cc-sl-top em.cambia,.cc-ok-ic{animation:none}
}
@media (max-width:360px){.capp .dia-add,.capp .dia-mover{font-size:12.5px;padding:0 6px;gap:5px}.capp .cc-b{grid-template-columns:60px 1fr 66px}}

/* Restos del verde lima de la versión negra, y la proteína que no se leía */
.capp .nu-m-on b,.capp .nu-m-on b i,.capp .nu-m-on small{color:#fff!important;-webkit-text-fill-color:#fff}
.capp .nu-prot{background:rgba(59,80,104,.08)!important;border:0!important;color:var(--accent)!important;border-radius:14px}
.capp .nu-prot svg{color:var(--accent)}
.capp .nu-nota{background:rgba(255,255,255,.55)!important;border:1px solid rgba(24,38,56,.07)!important;border-radius:14px;color:var(--muted)}
.capp .nu-nota svg{color:var(--accent)}
.capp .nu-pasos{background:var(--surface)!important}
.capp .nu-pasos>b{font-size:25px;font-weight:450;letter-spacing:-.025em;color:var(--tinta);-webkit-text-fill-color:var(--tinta);background:none}
.capp .nu-def{background:rgba(59,80,104,.1)!important;color:var(--accent)!important}
.capp .nu-gasto-fl svg{color:var(--accent)}
.capp .spark-area{fill:rgba(94,122,154,.16)}
.capp .spark-line{stroke:#3B5068;stroke-width:2}
.capp .spark-dot{fill:#3B5068}
.capp .pr2-hoy-t b{color:var(--tinta)!important}
.capp .ring-fg{stroke:#3B5068}
.capp .pr2-tl{opacity:.95}
.capp .cl-barra{height:5px;background:rgba(24,38,56,.08);border-radius:99px;overflow:hidden}
.capp .cl-barra i{background:var(--tinta)}
@media (max-width:400px){.th-next{min-width:86px;padding:0 11px;font-size:13.5px}.th-swipe-t{font-size:13px;padding:0 8px 0 4px}}

/* ═══════ Ficha del ejercicio (2 nov 2026): se lee bien y va por bloques ═══════ */
body:has(.capp) .ej-head{align-items:flex-start;gap:12px}
body:has(.capp) .ej-tit{flex:1;min-width:0}
body:has(.capp) .ej-tit b{display:block;font-size:21px;font-weight:520;letter-spacing:-.02em;line-height:1.15;color:#1E2B3A}
body:has(.capp) .ej-tit small{display:block;margin-top:3px;font-size:13px;color:#5B6979}
body:has(.capp) .ej-body{padding:0 2px 8px;display:flex;flex-direction:column;gap:10px}
body:has(.capp) .ej-body .vplayer{border-radius:20px;overflow:hidden}
body:has(.capp) .ej-sec{margin:0;padding:15px 16px;border-radius:20px;background:#fff;border:1px solid rgba(24,38,56,.06)}
body:has(.capp) .ej-k{gap:8px;margin-bottom:9px;font-size:13.5px;font-weight:600;letter-spacing:-.005em;text-transform:none;color:#1E2B3A}
body:has(.capp) .ej-k svg{width:17px;height:17px;color:#3B5068}
body:has(.capp) .ej-sec p{font-size:15px;line-height:1.5;color:#2C3947}
body:has(.capp) .ej-steps{gap:12px}
body:has(.capp) .ej-steps li{padding-left:36px;font-size:15px;line-height:1.45;color:#2C3947}
body:has(.capp) .ej-steps li::before{width:25px;height:25px;border-radius:50%;background:#1E2B3A;color:#fff;font-size:12.5px;font-weight:600;top:-1px}
body:has(.capp) .ej-grid2{grid-template-columns:1fr;gap:10px;margin:0}
body:has(.capp) .ej-ul{padding-left:0;list-style:none;gap:9px}
body:has(.capp) .ej-ul li{position:relative;padding-left:16px;font-size:15px;line-height:1.45;color:#2C3947}
body:has(.capp) .ej-ul li::before{content:"";position:absolute;left:1px;top:.58em;width:6px;height:6px;border-radius:50%;background:#8FA5BD}
body:has(.capp) .ej-sec.err{background:#FBF4F2;border-color:rgba(176,74,58,.12)}
body:has(.capp) .ej-sec.err .ej-k svg{color:#B04A3A}
body:has(.capp) .ej-sec.err .ej-ul li::before{background:#B04A3A}
body:has(.capp) .ej-sec.tip{background:#EFF5F2;border-color:rgba(62,138,104,.14)}
body:has(.capp) .ej-sec.tip .ej-k svg{color:#3E8A68}
body:has(.capp) .ej-sec.tip .ej-ul li::before{background:#3E8A68}
body:has(.capp) .ej-manos{background:linear-gradient(180deg,#3E536B,#26364A);border:0}
body:has(.capp) .ej-manos .ej-k,body:has(.capp) .ej-manos .ej-k svg{color:#fff}
body:has(.capp) .ej-manos p{color:rgba(255,255,255,.92)!important}
body:has(.capp) .ej-novideo{background:#fff;border:1px solid rgba(24,38,56,.06);border-radius:20px;color:#5B6979}

/* Silueta de la sesión y entradas en cascada (2 nov 2026, referencia Musemind) */
.capp .en-cascada .exi{animation:cascada .34s cubic-bezier(.23,1,.32,1) both}
body:has(.capp) .act-grid .nd-z{animation:cascada .3s cubic-bezier(.23,1,.32,1) both}
@keyframes cascada{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
.capp .en-cascada .exi:nth-child(1),body:has(.capp) .act-grid .nd-z:nth-child(1){animation-delay:0ms}
.capp .en-cascada .exi:nth-child(2),body:has(.capp) .act-grid .nd-z:nth-child(2){animation-delay:32ms}
.capp .en-cascada .exi:nth-child(3),body:has(.capp) .act-grid .nd-z:nth-child(3){animation-delay:64ms}
.capp .en-cascada .exi:nth-child(4),body:has(.capp) .act-grid .nd-z:nth-child(4){animation-delay:96ms}
.capp .en-cascada .exi:nth-child(5),body:has(.capp) .act-grid .nd-z:nth-child(5){animation-delay:128ms}
.capp .en-cascada .exi:nth-child(6),body:has(.capp) .act-grid .nd-z:nth-child(6){animation-delay:160ms}
.capp .en-cascada .exi:nth-child(7),body:has(.capp) .act-grid .nd-z:nth-child(7){animation-delay:192ms}
.capp .en-cascada .exi:nth-child(8),body:has(.capp) .act-grid .nd-z:nth-child(8){animation-delay:224ms}
.capp .en-cascada .exi:nth-child(9),body:has(.capp) .act-grid .nd-z:nth-child(9){animation-delay:256ms}
.capp .en-cascada .exi:nth-child(10),body:has(.capp) .act-grid .nd-z:nth-child(10){animation-delay:288ms}
.capp .en-cascada .exi:nth-child(11),body:has(.capp) .act-grid .nd-z:nth-child(11){animation-delay:320ms}
.capp .en-cascada .exi:nth-child(12),body:has(.capp) .act-grid .nd-z:nth-child(12){animation-delay:352ms}
.capp .en-cascada .exi:nth-child(13),body:has(.capp) .act-grid .nd-z:nth-child(13){animation-delay:384ms}
.capp .en-cascada .exi:nth-child(14),body:has(.capp) .act-grid .nd-z:nth-child(14){animation-delay:416ms}
@media (prefers-reduced-motion:reduce){.capp .en-cascada .exi,body:has(.capp) .act-grid .nd-z{animation:none}}

/* Deslizadores: la línea se ve siempre, y rellena hasta el punto */
.capp .pasos-range{height:30px;background:transparent}
.capp .pasos-range::-webkit-slider-runnable-track{height:8px;border-radius:99px;background:linear-gradient(90deg,var(--tinta) 0 var(--p,27%),rgba(24,38,56,.2) var(--p,27%) 100%)}
.capp .pasos-range::-webkit-slider-thumb{width:28px;height:28px;margin-top:-10px;background:#fff;border:0;box-shadow:0 1px 2px rgba(20,32,48,.25),0 6px 14px -4px rgba(20,32,48,.45)}
.capp .pasos-range::-moz-range-track{height:8px;border-radius:99px;background:rgba(24,38,56,.2)}
.capp .pasos-range::-moz-range-progress{height:8px;border-radius:99px;background:var(--tinta)}
.capp .cc-sl:not(.puesto) .cc-range::-webkit-slider-runnable-track{background:rgba(24,38,56,.2)}
.capp .cc-range::-webkit-slider-runnable-track{background:linear-gradient(90deg,#3E536B 0,#26364A var(--p,50%),rgba(24,38,56,.2) var(--p,50%),rgba(24,38,56,.2) 100%)}
.capp .spark-dot.dot-r{stroke:#3B5068}
.capp .gv-p{box-shadow:0 0 0 2px #F3F6F9}
.capp .gv-tip b{font-weight:500}

/* Actividades: pictograma en movimiento sobre el nombre */
body:has(.capp) .act-grid .nd-z{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px 9px;font-weight:550}
body:has(.capp) .act-grid-1 .nd-z{flex-direction:row;justify-content:center;gap:10px;padding:8px}
.ap{width:40px;height:40px;display:block;overflow:hidden;color:inherit}
.ap-c{fill:none;stroke:currentColor;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}
.ap-r{fill:currentColor}

body:has(.capp) .act-grid-1{grid-template-columns:1fr}
.ap{width:44px;height:44px}

/* Números: finos, con la unidad pequeña y aparte */
.capp .g-n,.capp .pr2-hoy-g .g-n{font-family:inherit;font-size:27px;font-weight:300;letter-spacing:-.05em;fill:var(--tinta)}
.capp .g-u{font-size:12px;font-weight:400;letter-spacing:0;fill:var(--muted)}
.capp .pr2-hoy-g{width:84px}
.capp .pr2-hoy-g .gauge{max-width:84px}
.capp .pr2-hoy-g .g-bg{stroke-width:4;stroke:rgba(24,38,56,.1)}
.capp .pr2-hoy-g .gauge circle:nth-of-type(2){stroke-width:4;animation:gaugeTraza .9s cubic-bezier(.23,1,.32,1) both}
@keyframes gaugeTraza{from{stroke-dashoffset:320}}
.capp .pr2-fila b,.capp .pr2-t b,.capp .pr2-peso .peso-top b{font-weight:300;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.capp .pr2-fila b i,.capp .pr2-t b i{font-style:normal;font-size:12px;font-weight:400;letter-spacing:0;margin-left:2px;color:var(--muted2)}

/* Recetario y "Cambiar plato" (3 nov 2026) */
body:has(.capp) .modal-bg{--tinta:#1E2B3A;--muted:#5B6979;--muted2:#8995A3;--txt:#141C26;--accent:#3B5068}
.capp .nu-p-card{padding:0;overflow:hidden}.capp .nu-p-card>.nu-p{border:0;box-shadow:none}
.capp .nu-acciones{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.capp .nu-cambiar,.capp .nu-volver{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:99px;font-size:12.5px;font-weight:550;transition:transform .16s ease}
.capp .nu-cambiar{background:var(--tinta);color:#fff}.capp .nu-cambiar svg{width:14px;height:14px;stroke:currentColor}
.capp .nu-volver{border:1px solid rgba(24,38,56,.18);color:var(--muted)}
.capp .nu-cambiar:active,.capp .nu-volver:active{transform:scale(.97)}
.capp .nu-p-cambiado{border-color:rgba(59,80,104,.35)!important}
.capp .nu-p-cambiado .nu-tag{background:var(--tinta);color:#fff}
.rc-fotos{display:inline-flex;flex:none}
.rc-fotos img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#fff;border:2px solid #fff;box-shadow:0 1px 3px rgba(20,32,48,.18);margin-left:-10px}
.rc-fotos img:first-child{margin-left:0}
.capp .rc-toma,.capp .rc-card,body:has(.capp) .rc-card{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border-radius:18px;background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8);text-align:left;transition:transform .16s ease}
.capp .rc-toma{margin:4px 0 10px}
.capp .rc-toma:active,.capp .rc-card:active,body:has(.capp) .rc-card:active{transform:scale(.985)}
.rc-toma-tx,.rc-card-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.rc-toma-tx b,.rc-card-tx b{font-size:14.5px;font-weight:550;color:var(--tinta);line-height:1.25}
.rc-card-tx small{font-size:11.5px;color:var(--muted)}
.rc-macros{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.rc-macros b{font-weight:600;color:var(--txt)}
.rc-macros i{font-style:normal;white-space:nowrap}
.rc-toma>svg,.rc-card>svg{width:16px;height:16px;flex:none;color:var(--muted2)}
.capp .rc-intro{font-size:13.5px;color:var(--muted);line-height:1.5;margin:0 4px 12px}
.rc-chips{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.rc-chips button{all:unset;cursor:pointer;padding:7px 12px;border-radius:99px;font-size:12.5px;font-weight:550;color:var(--muted);border:1px solid rgba(24,38,56,.15);background:rgba(255,255,255,.5);transition:transform .16s ease}
.rc-chips button:active{transform:scale(.96)}
.rc-chips button.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.rc-grid,.rc-lista{display:flex;flex-direction:column;gap:8px}
.capp .rc-grid-card{padding:12px 14px;animation:cascada .32s cubic-bezier(.23,1,.32,1) both}
.rc-sheet{padding:4px 16px 20px}
.rc-sub{font-size:13.5px;color:var(--muted);margin:4px 0 12px}
.rc-sub b{color:var(--tinta)}
.rc-vacio{font-size:13.5px;color:var(--muted);text-align:center;padding:20px}
.rc-det{padding:0 16px 24px}
.rc-det-top small{font-size:11.5px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.rc-det-top h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:4px 0 12px;color:var(--tinta);line-height:1.2}
.rc-det .nu-macros{margin-bottom:14px}
.rc-ing{list-style:none;padding:0;margin:0 0 6px;display:flex;flex-direction:column;gap:8px}
.rc-ing li{display:flex;align-items:center;gap:12px;padding:10px;border-radius:16px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8)}
.rc-ing img,.rc-ing .rc-noimg{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#fff;flex:none}
.rc-ing .rc-noimg{display:grid;place-items:center;color:var(--muted2);background:rgba(24,38,56,.06)}
.rc-ing .rc-noimg svg{width:22px;height:22px}
.rc-ing-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.rc-ing-tx b{font-size:14px;font-weight:550;color:var(--tinta)}
.rc-ing-tx small{font-size:12px;color:var(--muted);line-height:1.35}
.rc-ing-tx em{font-size:11.5px;color:var(--muted);font-style:normal;line-height:1.35;margin-top:2px}
.rc-ing-q{font-size:14px;font-weight:500;color:var(--txt);white-space:nowrap;font-variant-numeric:tabular-nums}
.rc-merc{display:inline-flex;align-items:center;gap:2px;font-size:12px;color:var(--accent);font-weight:550;text-decoration:none;margin-top:2px}
.rc-merc svg{width:12px;height:12px}
.rc-pasos{margin:14px 0 0;padding-left:0;list-style:none;counter-reset:p}
.rc-pasos li{position:relative;padding-left:34px;margin-bottom:10px;font-size:14px;line-height:1.5;color:var(--txt);counter-increment:p}
.rc-pasos li::before{content:counter(p);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--tinta);color:#fff;font-size:12px;display:grid;place-items:center}
.rc-usar{margin-top:16px}
.nu-cb-coach .nu-items li{font-size:13px}
@media (prefers-reduced-motion:reduce){.capp .rc-grid-card{animation:none}}

/* Las cajas de macros dentro de una hoja (receta) van con el tema claro, como en la pestaña */
body:has(.capp) .rc-det .nu-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
body:has(.capp) .rc-det .nu-m{background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8);border-radius:18px;padding:12px 4px}
body:has(.capp) .rc-det .nu-m small{color:var(--muted)}
body:has(.capp) .rc-det .nu-m b{font-weight:400;letter-spacing:-.03em;color:var(--tinta);-webkit-text-fill-color:var(--tinta);background:none;font-size:22px}
body:has(.capp) .rc-det .nu-m b i{color:var(--muted);font-size:11px;font-style:normal}
body:has(.capp) .rc-det .nu-m-on{background:var(--tinta)!important;border-color:var(--tinta)!important}
body:has(.capp) .rc-det .nu-m-on b,body:has(.capp) .rc-det .nu-m-on b i,body:has(.capp) .rc-det .nu-m-on small{color:#fff!important;-webkit-text-fill-color:#fff}

/* Alimentación: platos de hoy con foto (3 nov 2026) */
.capp .nu-dia-top{padding:16px 18px 14px}
.capp .nu-dt-k{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.capp .nu-dt-k small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.capp .nu-dt-k b{display:block;font-size:34px;font-weight:300;letter-spacing:-.045em;color:var(--tinta);line-height:1.05;margin-top:2px;font-variant-numeric:tabular-nums}
.capp .nu-dt-k b i{font-style:normal;font-size:13px;font-weight:400;letter-spacing:0;color:var(--muted);margin-left:4px}
.capp .nu-dt-def{font-size:11.5px;font-weight:600;padding:5px 9px;border-radius:99px;background:rgba(59,80,104,.1);color:var(--accent);white-space:nowrap}
.capp .nu-dt-bar{display:flex;gap:3px;height:7px;border-radius:99px;overflow:hidden;margin:12px 0 10px}
.capp .nu-dt-bar i{display:block;height:100%}
.capp .nu-dt-bar i:nth-child(1){background:var(--tinta)}.capp .nu-dt-bar i:nth-child(2){background:#7F97B0}.capp .nu-dt-bar i:nth-child(3){background:#C3CFDB}
.capp .nu-dt-m{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.capp .nu-dt-m b{display:block;font-size:19px;font-weight:400;letter-spacing:-.03em;color:var(--tinta);font-variant-numeric:tabular-nums}
.capp .nu-dt-m b i{font-style:normal;font-size:11px;color:var(--muted);margin-left:1px}
.capp .nu-dt-m small{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--muted)}
.capp .nu-dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.capp .nu-dot.p{background:var(--tinta)}.capp .nu-dot.c{background:#7F97B0}.capp .nu-dot.g{background:#C3CFDB}
.capp .nu-dt-obj{margin:12px 0 0;font-size:13.5px;color:var(--muted);line-height:1.45;border-top:1px solid rgba(24,38,56,.08);padding-top:10px}
.capp .nu-dias{display:flex;gap:6px;margin:4px 0 2px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.capp .nu-dias::-webkit-scrollbar{display:none}
.capp .nu-dias button{all:unset;cursor:pointer;flex:none;padding:8px 13px;border-radius:99px;font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:rgba(255,255,255,.5);border:1px solid rgba(24,38,56,.12);transition:transform .16s ease}
.capp .nu-dias button:active{transform:scale(.96)}
.capp .nu-dias button.hoy{border-color:rgba(59,80,104,.4)}
.capp .nu-dias button.on{background:var(--tinta);color:#fff;border-color:var(--tinta)}
.capp .nu-platos-hoy{display:flex;flex-direction:column;gap:12px}
.capp .nu-pl{padding:0;overflow:hidden;animation:cascada .34s cubic-bezier(.23,1,.32,1) both}
.capp .nu-pl:nth-child(2){animation-delay:50ms}.capp .nu-pl:nth-child(3){animation-delay:100ms}.capp .nu-pl:nth-child(4){animation-delay:150ms}.capp .nu-pl:nth-child(n+5){animation-delay:200ms}
.capp .nu-pl-img{position:relative;aspect-ratio:16/9;background:#DCE3EB}
.capp .nu-pl-img img{width:100%;height:100%;object-fit:cover;display:block}
.capp .nu-pl-tag{position:absolute;left:12px;top:12px;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:99px;background:rgba(20,32,48,.72);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.capp .nu-pl-b{padding:14px 16px 16px}
.capp .nu-pl-k{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.capp .nu-pl-t{display:block;font-size:19px;font-weight:500;letter-spacing:-.02em;color:var(--tinta);line-height:1.2;margin:4px 0 6px}
.capp .nu-pl-items{margin-top:4px}
.capp .nu-pl-items li{padding:8px 0;font-size:14px}
.capp .nu-pl-items .nu-cant{font-weight:500;color:var(--txt)}
.capp .nu-pl-foot{margin-top:10px}
.capp .nu-pl .nu-prot{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;font-size:12.5px;font-weight:600}
.capp .nu-pl .nu-nota{margin-top:10px}
.capp .nu-pl .nu-acciones{margin-top:12px}
.capp .nu-pl-txt p{margin:6px 0 0;font-size:14px;color:var(--txt)}
.capp .nu-rec-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:14px 16px;border-radius:var(--r);background:var(--tinta);color:#fff;transition:transform .16s ease}
.capp .nu-rec-btn:active{transform:scale(.985)}
.capp .nu-rec-ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center;flex:none}
.capp .nu-rec-ic svg{width:20px;height:20px}
.capp .nu-rec-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.capp .nu-rec-tx b{font-size:15px;font-weight:550}
.capp .nu-rec-tx small{font-size:12px;color:rgba(255,255,255,.7)}
.capp .nu-rec-btn>svg{width:18px;height:18px;color:rgba(255,255,255,.6);flex:none}
.capp .nu-mas{margin-top:12px;padding:0}
.capp .nu-mas summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}
.capp .nu-mas summary::-webkit-details-marker{display:none}
.capp .nu-mas summary b{font-size:15px;font-weight:550;color:var(--tinta)}
.capp .nu-mas summary small{flex:1;min-width:0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.capp .nu-mas summary>svg{width:18px;height:18px;color:var(--muted2);transition:transform .2s ease;flex:none}
.capp .nu-mas[open] summary>svg{transform:rotate(90deg)}
.capp .nu-mas-in{padding:0 16px 16px;display:flex;flex-direction:column;gap:14px}
.capp .nu-mas-in .nu-saludo p{margin:0 0 6px;font-size:14px;color:var(--txt);line-height:1.5}
.capp .nu-mas-sec>b{display:block;font-size:14.5px;font-weight:550;color:var(--tinta);margin-bottom:6px}
.capp .nu-mas-sec>p{margin:0 0 6px;font-size:13.5px;color:var(--muted);line-height:1.5}
.capp .nu-lista{margin:0;padding-left:18px;font-size:13.5px;color:var(--txt);line-height:1.5}
.capp .nu-lista li{margin-bottom:4px}
.capp .nu-fr-mini{padding:8px 0;border-top:1px solid rgba(24,38,56,.08)}
.capp .nu-fr-mini b{font-size:14px;color:var(--tinta)}.capp .nu-fr-mini span{font-size:12px;color:var(--muted);margin-left:8px}.capp .nu-fr-mini p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.capp .nu-mas-in .nu-b{padding:8px 0;border-top:1px solid rgba(24,38,56,.08)}
.capp .nu-mas-in .nu-pe{gap:8px}
.capp .nu-mas-in .nu-como{margin:0}
.capp .nu-mas-in .nu-cierre{padding:0}
.rc-img{width:64px;height:64px;border-radius:14px;object-fit:cover;flex:none;background:#DCE3EB}
.rc-det-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px;display:block;margin-bottom:14px;background:#DCE3EB}

/* Dos fallos que vio Isma el 3 nov: el logo pegado al borde de arriba y "hoy" partido en dos líneas */
.capp .capp-brand{padding-top:calc(24px + env(safe-area-inset-top))}
.capp .sf-d{white-space:nowrap;flex:none}
.capp .sf-d i{white-space:nowrap;flex:none}
@media (max-width:380px){.capp .sf-d{width:auto;min-width:52px;padding-right:6px}}
/* Progreso: más limpio (3 nov 2026) */
.capp .pr2-h{margin:18px 4px 8px}
.capp .pr2-fila{padding:18px 6px 16px}
.capp .pr2-fila small{font-size:11px;letter-spacing:.08em}
.capp .pr2-t small{font-size:13.5px;font-weight:500}
.capp .pr2-t b{font-size:21px;font-weight:300;letter-spacing:-.04em}
.capp .pr2-tend{padding:4px 18px}
.capp .pr2-fotos{margin-top:4px}
.capp .nu-dia-nota{display:flex;gap:6px;align-items:flex-start;font-size:13px;color:var(--muted);margin:-6px 4px 10px;line-height:1.45}.capp .nu-dia-nota svg{width:14px;height:14px;flex:none;margin-top:2px}
/* Sin foto del plato todavía: collage con los productos reales de Mercadona */
.capp .nu-pl-img{display:grid}
.capp .nu-pl-img>img{grid-area:1/1;position:relative;z-index:1}
.capp .nu-pl-col{grid-area:1/1;display:grid;gap:3px;background:#E6ECF2;padding:3px}
.capp .nu-pl-col.n1{grid-template-columns:1fr}.capp .nu-pl-col.n2{grid-template-columns:1fr 1fr}.capp .nu-pl-col.n3,.capp .nu-pl-col.n4{grid-template-columns:1fr 1fr}
.capp .nu-pl-col.n3 img:first-child{grid-row:span 2}
.capp .nu-pl-col img{width:100%;height:100%;object-fit:cover;background:#fff;border-radius:10px;min-height:0}
.rc-img+.rc-fotos{display:none}


/* ═══ Hoja para pedir un dato o confirmar (4 nov 2026) ═══
   Sustituye a las ventanas del navegador (prompt/confirm). Vale para el cliente y el coach. */
.pd-body{display:flex;flex-direction:column;gap:14px;padding:4px 2px 6px}
.pd-sub{margin:0;font-size:14.5px;line-height:1.45;color:#5B6979}
.pd-campo{display:flex;align-items:baseline;gap:10px;padding:14px 18px;border-radius:18px;background:#EEF2F6;border:1px solid rgba(24,38,56,.1);transition:border-color .16s ease}
.pd-campo:focus-within{border-color:#3B5068;background:#fff}
.pd-campo input{flex:1;min-width:0;border:0;background:transparent;outline:none;font:inherit;font-size:17px;color:#141C26}
.pd-campo.num input{font-size:34px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.pd-campo span{font-size:15px;font-weight:600;color:#5B6979}
.pd-err{margin:-4px 2px 0;min-height:18px;font-size:13px;color:#B5483A}
.pd-err:empty{min-height:0;margin:0}
.pd-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pd-btns button{width:100%;justify-content:center}
.pd-col{display:flex;flex-direction:column;gap:10px}
.btn-primary.peligro{background:#B5483A!important;box-shadow:none}
.btn-link.peligro{background:none;border:0;color:#B5483A;font-weight:600;font-size:14.5px;padding:10px;cursor:pointer}
@media (min-width:700px){ .pd-body{padding:6px 4px 8px} }

/* ═══ Progreso · Esta semana (4 nov 2026) ═══
   Isma: "los números están como raros". Fuera la cifra finísima con el "/4" diminuto:
   cifra en seminegrita, "de 4" legible, una barra por entreno y una frase que lo explica. */
.capp .pr2-sem{padding:18px 18px 16px;background:var(--surface);border:1px solid rgba(255,255,255,.75)}
.capp .ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.capp .ps-m{display:flex;flex-direction:column;gap:6px;min-width:0}
.capp .ps-m small{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.capp .ps-m b{font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1.05;color:var(--tinta);font-variant-numeric:tabular-nums;white-space:nowrap}
.capp .ps-m b i{font-style:normal;font-size:14px;font-weight:500;letter-spacing:0;color:var(--muted)}
.capp .ps-m b.ps-pal{font-size:20px;letter-spacing:-.02em}
.capp .ps-seg{display:flex;gap:3px;margin-top:2px}
.capp .ps-seg i{flex:1;height:6px;border-radius:99px;background:rgba(24,38,56,.1)}
.capp .ps-seg i.on{background:var(--tinta)}
.capp .ps-dots{display:flex;gap:4px;margin-top:2px}
.capp .ps-dots i{width:8px;height:8px;border-radius:50%;background:rgba(24,38,56,.12)}
.capp .ps-dots i.on{background:var(--ok)}
.capp .ps-nada{font-size:12px;color:var(--muted2)}
.capp .ps-frase{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(24,38,56,.08);font-size:13.5px;line-height:1.5;color:var(--muted)}
.capp .ps-frase b{color:var(--tinta);font-weight:650}
/* Cómo te has sentido: la palabra de la escala manda, el número queda debajo */
.capp .pr2-t{grid-template-columns:78px 1fr 92px}
.capp .pr2-t b.pr2-tv{display:flex;flex-direction:column;align-items:flex-end;gap:1px;font-size:15.5px;font-weight:600;letter-spacing:-.01em;line-height:1.15}
.capp .pr2-t b.pr2-tv i{margin:0;font-size:11.5px;font-weight:500;color:var(--muted2)}
.capp .pr2-t small{font-size:13px;color:var(--muted)}
/* Campo de peso del inicio cuando el número no vale */
.capp .pw-campo.mal{box-shadow:0 0 0 2px #B5483A inset}
/* Entreno: tira de días arriba, la semana para organizar al final (4 nov 2026) */
.capp .th-semana.en-tira{margin:0 0 18px}
.capp .capp-screen .card + .sem-card,.capp .capp-screen .act-lista + .sem-card,.capp .rir-box + .sem-card{margin-top:22px}
.capp .sem-card{margin-top:22px}
/* "Añadir actividad" y "Mover" son secundarios: la acción principal del día es Empezar entrenamiento */
.capp .dia-add{background:rgba(255,255,255,.7);color:var(--tinta);border:1px solid rgba(24,38,56,.1);box-shadow:none;height:40px}
.capp .dia-mover{height:40px}
.capp .dia-add svg{color:var(--tinta)}
/* La hoja de un dato es pequeña: centrada en ordenador, abajo en el móvil, nunca a pantalla completa,
   y el campo sin el recuadro genérico de los inputs */
.modal-dato .sheet{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  height:auto!important;min-height:0!important;width:min(420px,100%)!important;border-radius:26px!important;border:1px solid rgba(255,255,255,.8)!important;padding:0 20px 20px!important;display:block!important}
@media (max-width:640px){ .modal-dato .sheet{width:100%!important;border-radius:26px 26px 0 0!important;padding-bottom:calc(20px + env(safe-area-inset-bottom))!important} }
body .sheet .pd-campo input,body:has(.capp) .sheet .pd-campo input{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;width:100%;height:auto}
body .sheet .pd-campo.num input,body:has(.capp) .sheet .pd-campo.num input{font-size:34px!important;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
