/* app.css — mismo lenguaje visual que la maqueta (APP CLIENTE (diseño)), pero como
   aplicación real a pantalla completa en vez de un teléfono dentro de una galería. */

/* Las letras (Archivo, DM Sans y Space Mono, licencia OFL) van en la propia app (carpeta fonts/, solo el alfabeto latino que usa el espanol): asi ninguna tercera
   empresa recibe la IP del cliente al abrirla (la politica de privacidad lo afirma: lib/consentimiento-textos.php) y la pagina no espera a una hoja de estilos externa. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/dm-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600 800;font-display:swap;src:url(../fonts/archivo-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-mono-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --bg:#EEF0F4; --panel:#FFFFFF; --panel-2:#F6F7F9;
  --ink:#141A22; --ink-2:#5A6675; --ink-3:#8B95A3;
  --line:#E1E5EC;
  --online:#2B54E6; --online-soft:#E7ECFD;
  --good:#1F9254; --good-soft:#E3F3EA;
  --med:#C97A0A; --med-soft:#FBEFDB;
  --cream:#FBF6E9; --cream-line:#EEE0B8; --cream-ink:#8A6D1F;
  --shadow:0 1px 2px rgba(20,26,34,.04),0 6px 20px rgba(20,26,34,.06);
}
*{box-sizing:border-box}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}   /* visible solo para lectores de pantalla */
[tabindex="-1"]:focus{outline:none}   /* (el título al que se lleva el foco tras cambiar de pantalla no necesita aro) */
[hidden]{display:none!important}   /* sin esto, el display:flex de #app anula el atributo hidden */
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;
  -webkit-font-smoothing:antialiased;display:flex;flex-direction:column;overflow:hidden}
h1,h2,h3{font-family:'Archivo',sans-serif;letter-spacing:-.01em;margin:0}
a{color:var(--online)}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}
.mono{font-family:'Space Mono',monospace}

#app{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto;width:100%;background:var(--bg)}
.screen{flex:1;min-height:0;overflow-y:auto;position:relative}

/* ---- login ---- */
.login-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:24px}
.login-box{width:100%;max-width:340px;background:var(--panel);border-radius:20px;box-shadow:var(--shadow);padding:32px 26px}
.login-box img{width:44px;height:44px;border-radius:12px;display:block;margin:0 auto 14px}
.login-box h1{font-size:19px;text-align:center;margin-bottom:22px}
.login-box label{display:block;font-size:12px;font-weight:600;color:var(--ink-2);margin:14px 0 5px}
.login-box input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;font-size:16px;
  font-family:inherit;background:var(--panel-2)}
.login-box input:focus{outline:none;border-color:var(--online);background:#fff}
.login-box button{width:100%;margin-top:22px;padding:12px;border-radius:10px;background:var(--ink);color:#fff;
  font-size:15px;font-weight:600;text-align:center}
.login-err{margin-top:14px;padding:9px 11px;border-radius:9px;background:#FBE4E6;color:#D92D3C;font-size:12.5px}

/* ---- brandbar / greet / hero (Hoy) ---- */
.brandbar{display:flex;align-items:center;gap:8px;padding:20px 20px 0;flex:0 0 auto}
.brandbar img{width:22px;height:22px;border-radius:6px;display:block}
.brandbar span{font-family:'Archivo';font-size:11px;font-weight:800;letter-spacing:.09em;color:var(--ink-2)}

.greet{display:flex;align-items:center;gap:11px;padding:16px 20px 0}
.avatar-sm{width:38px;height:38px;border-radius:11px;background:var(--online);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:'Archivo';font-weight:700;font-size:13px;flex:0 0 38px}
.greet-name{font-size:15px;font-weight:700}
.greet-date{font-size:11.5px;color:var(--ink-3);margin-top:1px}

.hero{margin:16px 20px 0;background:var(--ink);border-radius:20px;padding:22px;color:#fff}
.hero-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8FA0B6}
.hero-title{font-family:'Archivo';font-size:28px;font-weight:800;margin-top:7px}
.hero-chips{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.hero-chip{background:rgba(255,255,255,.08);color:#DCE1EA;font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:20px}
.hero-chip.cambio{background:rgba(255,196,87,.22);color:#FFE3A6}   /* «Cambiado esta semana»: hoy no toca lo de siempre (Hacer otro día hoy) */

.banner{margin:16px 20px 0;display:flex;align-items:flex-start;gap:10px;background:var(--online-soft);
  color:var(--ink);border-radius:14px;padding:12px 14px}
.banner .b-ico{width:28px;height:28px;border-radius:9px;background:#fff;display:flex;align-items:center;
  justify-content:center;color:var(--online);flex:0 0 28px}
.banner .b-ico svg{width:14px;height:14px}
.banner .b-text{flex:1;font-size:12px;line-height:1.45}
.banner .b-close{color:var(--ink-3);flex:0 0 auto;padding:2px}
.banner .b-close svg{width:14px;height:14px;display:block}

.sec{display:flex;align-items:center;gap:10px;margin:24px 20px 10px}
.sec h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.sec .rule{flex:1;height:1px;background:var(--line)}

/* ---- listas de ejercicios / días ---- */
.list{display:flex;flex-direction:column;gap:10px;padding:0 20px 24px}
.ex-card{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);padding:13px 14px;width:100%;text-align:left}
.ex-card.optional{border-style:dashed;background:var(--panel-2);box-shadow:none}
.ex-card-bloqueada{opacity:.55}
.ex-icon{width:40px;height:40px;border-radius:12px;background:var(--panel-2);display:flex;align-items:center;
  justify-content:center;flex:0 0 40px;color:var(--ink-2)}
.ex-icon svg{width:19px;height:19px}
.ex-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ex-name{font-size:14.5px;font-weight:700}
.ex-meta{font-size:11.5px;color:var(--ink-3)}
.ex-meta b{color:var(--online);font-weight:700}
.ex-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}

.pill{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}
.pill svg{width:11px;height:11px}
.pill.good{background:var(--good-soft);color:var(--good)}
.pill.med{background:var(--med-soft);color:var(--med)}
.pill.pending{background:var(--panel-2);color:var(--ink-3)}
.pill.today{background:var(--online-soft);color:var(--online)}
.chev{color:var(--ink-3)}
.chev svg{width:16px;height:16px;display:block}

.cal-list{padding:0 20px;display:flex;flex-direction:column;gap:6px}
.cal-row{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);padding:6px 0;border-bottom:1px solid var(--line)}
.cal-row:last-child{border-bottom:none}
.cal-row b{font-weight:600;color:var(--ink)}
.cal-row span.dur{color:var(--ink-3);font-family:'Space Mono';font-size:11px}

/* ---- calendario semanal (entrenos + dieta) ---- */
.week-strip{display:flex;justify-content:space-between;padding:16px 20px 0}
.wd{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.wd-lbl{font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase}
.wd-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700}
.wd.rest .wd-dot{background:transparent;border:1.5px dashed var(--line);color:var(--ink-3)}
.wd.on .wd-dot{background:var(--panel-2);color:var(--ink-2);cursor:pointer}
.wd.today .wd-dot{background:var(--ink);color:#fff}
.wd.done .wd-dot{background:var(--good-soft);color:var(--good)}
.wd.done .wd-dot svg{width:14px;height:14px}

.pseg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:3px;margin:16px 20px 0}
.pseg button{padding:6px 16px;font-size:12.5px;font-weight:600;border-radius:7px;color:var(--ink-2)}
.pseg button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}

.example-note{margin:8px 20px 0;font-size:10.5px;color:var(--ink-3);font-style:italic}

/* ---- histórico ---- */
.chips{display:flex;gap:8px;padding:18px 20px 0;overflow-x:auto}
.chip{flex:0 0 auto;padding:8px 15px;border-radius:20px;font-size:12.5px;font-weight:600;white-space:nowrap}
.chip.on{background:var(--ink);color:#fff}
.chip.off{background:var(--panel);color:var(--ink-2);border:1px solid var(--line)}
.hist-list{display:flex;flex-direction:column;gap:12px;padding:16px 20px 24px}
.hist-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:14px 16px}
.hist-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}
.hist-week{font-size:13px;font-weight:700}
.hist-date{font-size:11px;color:var(--ink-3);font-family:'Space Mono'}
.hist-sensacion{font-size:11px;color:var(--ink-2);margin-bottom:6px;font-style:italic}
.hist-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.hist-card>.hist-row:first-child{border-top:none}
.hist-left{display:flex;flex-direction:column;gap:2px;min-width:0}
.hist-ex{font-size:12.5px;font-weight:600}
.hist-meta{font-size:10.5px;color:var(--ink-3);font-family:'Space Mono'}
.hist-val{font-size:11.5px;color:var(--ink-3);font-family:'Space Mono';flex:0 0 auto;white-space:nowrap}
.hist-val b{color:var(--ink)}
.hist-superset{background:var(--panel-2);border-radius:10px;margin:8px 0;padding:2px 10px}
.hist-superset .ss-lbl{display:flex;align-items:center;gap:5px;font-size:9.5px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:8px}
.hist-superset .ss-lbl svg{width:11px;height:11px}
.hist-superset .hist-row{border-top:1px solid var(--line)}
.hist-superset .hist-row:first-of-type{border-top:none;padding-top:4px}
.hist-superset .hist-row:last-of-type{padding-bottom:8px}

/* ---- registrar ---- */
.topbar{display:flex;align-items:center;gap:12px;padding:20px 16px 0}
.back{width:34px;height:34px;border-radius:11px;background:var(--panel);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;color:var(--ink);flex:0 0 34px}
.back svg{width:17px;height:17px}
.topbar .ttl{flex:1;min-width:0}
.topbar h1{font-size:18px;font-weight:700}
.topbar .sub{font-size:11.5px;color:var(--ink-3);margin-top:2px}
.vid-btn{display:flex;align-items:center;gap:6px;background:var(--online-soft);color:var(--online);
  font-size:11.5px;font-weight:700;padding:8px 12px;border-radius:20px;flex:0 0 auto}
.vid-btn svg{width:10px;height:10px}

.pedido{margin:18px 16px 0;background:var(--online-soft);border-radius:18px;padding:18px 20px;
  display:flex;flex-direction:column;gap:14px}
.pedido-bloque{display:flex;flex-direction:column;gap:6px}
.pedido-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--online)}
.pedido-row{display:flex;align-items:baseline;gap:6px}
.pedido-val{font-family:'Space Mono';font-size:28px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.pedido-vol{font-size:20px}
.pedido-obs{font-size:14px;line-height:1.45;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.pedido-obs.vacio{color:var(--ink-3)}

.sec2{display:flex;flex-direction:column;gap:2px;margin:22px 16px 12px}
.sec2 h2{font-size:13.5px;font-weight:700}
.sec2 p{font-size:11.5px;color:var(--ink-3)}

.series{display:flex;gap:9px;padding:0 16px;flex-wrap:wrap}
.s-tile{position:relative;flex:1;min-width:64px;background:var(--cream);border:1px solid var(--cream-line);border-radius:14px;
  padding:12px 6px 10px;display:flex;flex-direction:column;align-items:center;gap:8px}
.s-lbl{font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--cream-ink)}
.s-val{width:100%;background:transparent;border:none;text-align:center;font-family:'Space Mono';font-size:22px;
  font-weight:700;color:var(--ink)}
.s-saved{position:absolute;top:6px;right:6px;width:14px;height:14px;border-radius:50%;background:var(--good);
  color:#fff;display:flex;align-items:center;justify-content:center}
.s-saved svg{width:8px;height:8px}

.feedback{margin:16px 16px 0;display:flex;align-items:center;gap:8px;background:var(--good-soft);
  color:var(--good);border-radius:14px;padding:12px 14px;font-size:13px;font-weight:700}
.feedback.med{background:var(--med-soft);color:var(--med)}
.feedback svg{width:16px;height:16px;flex:0 0 16px}

.notes-lbl{font-size:12px;font-weight:700;color:var(--ink-2);margin:20px 16px 8px}
textarea.notes{display:block;width:calc(100% - 32px);margin:0 16px;background:var(--panel);border:1px solid var(--line);
  border-radius:14px;padding:13px 14px;font-size:12.5px;color:var(--ink);font-family:inherit;resize:vertical;min-height:44px}

.sensacion-row{margin:16px 16px 0;display:flex;gap:8px;flex-wrap:wrap}
.sensacion-row button{padding:8px 14px;border-radius:20px;font-size:12px;font-weight:600;background:var(--panel-2);
  border:1px solid var(--line);color:var(--ink-2)}
.sensacion-row button.on{background:var(--ink);color:#fff;border-color:var(--ink)}

.autosave-status{display:flex;align-items:center;justify-content:center;gap:6px;padding:16px 16px 24px;
  color:var(--ink-3);font-size:11.5px;font-weight:600}
.autosave-status svg{width:13px;height:13px;color:var(--good)}

/* ---- progreso ---- */
.head{padding:22px 20px 0}
.head h1{font-size:22px;font-weight:800}
.head p{font-size:12.5px;color:var(--ink-3);margin-top:3px}
.chart-card{margin:16px 20px 0;background:var(--panel);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);padding:18px 18px 14px}
.chart-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.chart-lbl{flex:1;min-width:0;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}
.chart-now{text-align:right;flex:0 0 auto;white-space:nowrap}
.chart-val{font-family:'Space Mono';font-size:24px;font-weight:700}
.chart-delta{font-size:11px;font-weight:700;color:var(--good);margin-top:1px}
.chart-delta.neg{color:var(--ink-3)}   /* una bajada no se pinta en verde: daría a entender que va bien */
.chart-svg{width:100%;height:auto;margin-top:10px}
.chart-cap{font-size:11px;color:var(--ink-3);margin-top:8px}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 20px 24px}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--shadow)}
.stat-lbl{font-size:11px;color:var(--ink-3);font-weight:600}
.stat-val{font-family:'Space Mono';font-size:21px;font-weight:700;margin-top:6px}
.empty-card{margin:18px 20px 0;background:var(--panel);border:1.5px dashed var(--line);border-radius:18px;
  padding:34px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}
.empty-card .e-ico{width:44px;height:44px;border-radius:14px;background:var(--panel-2);display:flex;
  align-items:center;justify-content:center;color:var(--ink-3)}
.empty-card .e-ico svg{width:21px;height:21px}
.empty-card h3{font-size:14px;font-weight:700;color:var(--ink)}
.empty-card p{font-size:12px;color:var(--ink-3);line-height:1.5;max-width:26ch}

/* ---- perfil ---- */
.prof-head{display:flex;flex-direction:column;align-items:center;padding:30px 20px 4px;text-align:center}
.avatar-lg{width:72px;height:72px;border-radius:20px;background:var(--online);color:#fff;display:flex;
  align-items:center;justify-content:center;font-family:'Archivo';font-weight:800;font-size:24px;margin-bottom:14px}
.prof-name{font-size:19px;font-weight:800}
.prof-plan{margin-top:9px}
.prof-since{font-size:11.5px;color:var(--ink-3);margin-top:7px}
.streak-chip{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:var(--panel-2);
  color:var(--ink-2);font-size:11.5px;font-weight:600;padding:6px 13px;border-radius:20px}
.streak-chip svg{width:13px;height:13px;flex:0 0 13px}
.contact-btn{margin:20px 20px 0;display:flex;align-items:center;gap:11px;background:var(--online-soft);
  color:var(--online);border-radius:16px;padding:13px 14px;width:calc(100% - 40px);text-align:left}
a.contact-btn{text-decoration:none}   /* "Escribir a Manu" es un enlace a WhatsApp, no un botón */
.contact-btn .c-ico{width:34px;height:34px;border-radius:10px;background:#fff;display:flex;align-items:center;
  justify-content:center;flex:0 0 34px}
.contact-btn .c-ico svg{width:17px;height:17px}
.contact-btn span.lbl{flex:1;font-size:13.5px;font-weight:700}
.prof-card{margin:18px 20px 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow);padding:2px 14px}
.prof-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--line);width:100%;text-align:left}
.prof-row:first-child{border-top:none}
.prof-row .p-icon{width:32px;height:32px;border-radius:10px;background:var(--panel-2);display:flex;
  align-items:center;justify-content:center;color:var(--ink-2);flex:0 0 32px}
.prof-row .p-icon svg{width:16px;height:16px}
.prof-row .p-label{flex:1;font-size:13px;font-weight:600}
.prof-row .p-value{font-size:12px;color:var(--ink-3)}

/* ---- dieta ---- */
.diet-note{margin:14px 20px 0;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;
  padding:12px 14px;font-size:11.5px;color:var(--ink-2);line-height:1.5}
.diet-list{display:flex;flex-direction:column;gap:10px;padding:14px 20px 0}
.diet-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:12px 14px}
.diet-name{font-size:13px;font-weight:700;margin-bottom:3px}
.diet-items{font-size:11.5px;color:var(--ink-3);line-height:1.5}

/* ---- toast ---- */
.toast{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);background:var(--ink);color:#fff;
  border-radius:14px;padding:12px 18px;display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:700;
  box-shadow:0 12px 28px rgba(20,26,34,.35);z-index:20;transition:opacity .3s}
.toast svg{width:15px;height:15px;flex:0 0 15px;color:#6FE3A6}

/* ---- barra inferior ---- */
.tabbar{flex:0 0 auto;background:var(--panel);border-top:1px solid var(--line);display:flex;padding:10px 12px 16px}
.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-3)}
.tab-item.active{color:var(--ink)}
.tab-ico{width:34px;height:34px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.tab-ico svg{width:19px;height:19px}
.tab-item.active .tab-ico{background:var(--online-soft);color:var(--online)}
.tab-lbl{font-size:10px;font-weight:700}

.cargando{padding:60px 20px;text-align:center;color:var(--ink-3);font-size:13px}

/* ---- navegación entre ejercicios y "Terminar el día" ---- */
.nav-ej{display:flex;flex-direction:column;gap:10px;padding:20px 16px 0}
.next-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--ink);color:#fff;
  border-radius:14px;padding:14px;font-size:14px;font-weight:700}
.next-btn svg{width:16px;height:16px;flex:0 0 16px}
.next-btn.secundario{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.fin-card{margin:18px 16px 0;display:flex;align-items:flex-start;gap:12px;border-radius:16px;padding:14px 16px;
  font-size:12.5px;line-height:1.55}
.fin-card.ok{background:var(--good-soft);color:var(--good)}
.fin-card.falta{background:var(--med-soft);color:var(--med)}
.fin-ico{width:30px;height:30px;border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 30px}
.fin-ico svg{width:16px;height:16px}
.fin-txt b{font-size:14px}

/* ---- histórico: calendario ---- */
.cal{margin:16px 20px 0;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:12px 6px 14px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 6px}
.cal-title{font-family:'Archivo',sans-serif;font-size:14px;font-weight:700}
.cal-nav{width:32px;height:32px;border-radius:10px;background:var(--panel-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink)}
.cal-nav svg{width:16px;height:16px}
.cal-nav:disabled{opacity:.35;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}   /* en 375 px cada casilla mide ~44 px: cabe un dedo */
.cal-dow{font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase;text-align:center;padding:4px 0}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:12.5px;font-weight:500;color:var(--ink-3)}
.cal-day.hoy{box-shadow:inset 0 0 0 1.5px var(--ink-3);color:var(--ink)}
button.cal-day.on{background:var(--good-soft);color:var(--good);font-weight:700}
button.cal-day.sel{background:var(--ink);color:#fff}
.cal-leyenda{display:flex;align-items:center;gap:7px;margin-top:12px;padding:0 6px;font-size:11px;color:var(--ink-3)}
.cal-punto{width:10px;height:10px;border-radius:50%;background:var(--good-soft);border:1.5px solid var(--good);flex:0 0 10px}
.hist-dia-titulo{margin:22px 20px 0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}
.hist-vacio{margin:18px 20px 0;font-size:12.5px;color:var(--ink-3)}
.hist-series{font-size:10.5px;color:var(--ink-3);font-family:'Space Mono';line-height:1.5}

/* ---- privacidad ---- */
.priv{padding:6px 20px 0}
.prox-btn{width:calc(100% - 32px);text-align:left;cursor:pointer;border:0;font:inherit;margin:14px 16px 6px}
.prox-btn .chev{margin-left:auto;align-self:center}
.prox-lista{margin:0 16px}
.prox-dia{background:var(--panel);border-radius:14px;margin:0 0 10px;box-shadow:var(--shadow);overflow:hidden}
.prox-dia summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;font-size:15px;cursor:pointer;list-style:none}
.prox-dia summary::-webkit-details-marker{display:none}
.prox-meta{font-size:12px;color:var(--ink-2);white-space:nowrap}
.prox-ej{padding:10px 16px;border-top:1px solid var(--line)}
.prox-ej-n{font-weight:600;font-size:14px}
.prox-ej-m{font-size:12.5px;color:var(--ink-2);margin-top:2px}
.prox-ej-o{font-size:12.5px;color:#1F3AA8;margin-top:4px}
.ayuda-frame{display:block;width:100%;height:calc(100dvh - 190px);min-height:320px;border:0;border-radius:12px;background:#fff}
.priv h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:20px 0 6px}
.priv p{margin:0 0 8px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}

/* ---- avisos y datos sin guardar ---- */
.toast{pointer-events:none}   /* que un aviso nunca tape el botón de debajo: los toques pasan a su través */
.toast.malo{background:#8B1A26}
.toast.malo svg{color:#FFC9CE}
.s-tile.sin-guardar{border-color:#D92D3C;background:#FBE4E6}
textarea.notes.sin-guardar{border-color:#D92D3C;background:#FBE4E6}

/* ---- guardados pendientes (sin cobertura): franja fija sobre la barra de abajo ---- */
.aviso-pend{flex:0 0 auto;width:100%;display:flex;align-items:center;gap:8px;padding:9px 16px;background:var(--med-soft);color:#8A5200;
  border-top:1px solid #EBCB94;font-size:12.5px;font-weight:600;text-align:left}
.aviso-pend svg{width:15px;height:15px;flex:0 0 15px}
.aviso-pend .txt{flex:1}
.aviso-pend b{text-decoration:underline}
.fin-pend{font-size:12px;font-weight:600}
.aviso-pend:not([hidden]) ~ .toast{bottom:126px}   /* con la franja de "datos sin subir" visible, el aviso flotante va por encima de ella */

/* ---- móvil (sobre todo instalada en la pantalla de inicio) ---- */
textarea.notes{font-size:16px}                             /* con menos de 16 px, el iPhone hace zoom al tocar la casilla: por eso se bloqueaba el zoom de toda la página */
html,body,.screen{overscroll-behavior-y:contain}           /* que arrastrar hacia abajo no recargue toda la página (Android) */
.tabbar{padding-bottom:max(16px,env(safe-area-inset-bottom))}   /* la barra de abajo respeta la zona del iPhone con Face ID */

/* ---- "hoy no puedo hacer este ejercicio", lista de un día ---- */
.pill.skip{background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line)}
.link-btn{display:block;margin:12px auto 0;padding:8px 12px;font-size:13px;font-weight:600;color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.saltado-card{margin:14px 16px 0;padding:12px 14px;border-radius:14px;background:var(--panel-2);border:1px solid var(--line);font-size:13px;line-height:1.4;color:var(--ink-2);display:flex;gap:10px;align-items:center;justify-content:space-between}
.saltado-card b{color:var(--ink)}
.saltado-card .link-btn{margin:0;flex:0 0 auto}
.dia-hint{margin:6px 16px 0;font-size:12.5px;line-height:1.45;color:var(--ink-2)}
.next-btn.secundario svg{opacity:.7}

/* ---- tanda 3: revisión de uso (legibilidad, zonas táctiles, avisos) ---- */
:root{--ink-3:#66717F}                                   /* el gris de los textos pequeños, más oscuro: se leía mal (contraste bajo) */
button,input,textarea,a,label{touch-action:manipulation}  /* un doble toque nervioso no hace zoom en la página */
.toast.aviso{background:#7A4700}
.toast.aviso svg{color:#FFE2B0}
.link-btn{min-height:44px;font-size:14px}
.link-btn.saltar{margin-top:14px}
.saltado-card{min-height:64px;font-size:14px}
.saltado-card .link-btn{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;background:var(--panel)}
.dia-hint{font-size:14px}
.banner.nota-manu{margin-top:14px;border:1px solid #B9C8FA}
.banner.nota-manu .b-text{font-size:14px;line-height:1.45}
/* ejercicio abierto «solo para ver» (semana completa o día hecho otro día): aviso y casillas cerradas */
.banner.solo-ver-banner{margin-top:14px;border:1px solid var(--line)}
.banner.solo-ver-banner .b-text{font-size:13.5px;line-height:1.45}
.solo-ver{font-size:11px;font-weight:700;color:var(--ink-3);background:var(--line);border-radius:20px;padding:4px 9px}
.s-val:disabled,.notes[readonly]{opacity:.6;cursor:not-allowed}
label.s-tile{cursor:text;display:block}
.pseg button,.sensacion-row button,.chip{min-height:40px}
.fin-card.ok{color:#0F5F35}
.fin-card.falta{color:#7A4700}
.fin-card.neutra{background:var(--online-soft);color:#1F3AA8}
.fin-card .fin-txt{font-size:13.5px}
.pill.pending,.ex-meta,.greet-date{color:var(--ink-2)}
.login-err{color:#A61B29;font-size:13.5px;margin-top:14px}
.login-box .login-ayuda{display:block;margin-top:16px;text-align:center;font-size:13px;font-weight:600}
.login-box button[disabled]{opacity:.6}
.next-btn.ocupado{opacity:.6}
.next-btn.secundario{text-decoration:none}
a.next-btn{display:flex}
.prof-row.salir{color:#A61B29}
.prof-row.salir .p-icon{color:#A61B29}
.aviso-sin-red{margin:14px 16px 0;padding:12px 14px;border-radius:14px;background:#FFF6E5;border:1px solid #F2D9A6;display:flex;gap:10px;align-items:center;justify-content:space-between}
.aviso-sin-red-t{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.35;color:#7A4B00}
.aviso-sin-red-t span{font-size:12.5px;color:var(--ink-2)}
.aviso-sin-red .link-btn{margin:0;flex:0 0 auto;border:1px solid #F2D9A6;border-radius:12px;background:var(--panel);text-decoration:none;padding:8px 14px}
.ya-hecho{margin:14px 16px 0;padding:12px 14px;border-radius:14px;background:var(--good-soft);border:1px solid #BFE3CF;display:flex;gap:10px;align-items:center;justify-content:space-between}
.ya-hecho-t{display:flex;flex-direction:column;gap:2px;font-size:13.5px;line-height:1.35;color:#0F5F35}
.ya-hecho-t span{font-size:12.5px;color:var(--ink-2)}
.ya-hecho .link-btn{margin:0;flex:0 0 auto;border:1px solid #BFE3CF;border-radius:12px;background:var(--panel);text-decoration:none;padding:8px 14px}

/* ---- entrega 1 (tras el feedback de Manu): enlace al vídeo de cada ejercicio ---- */
.video-link{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 16px 0;padding:11px 14px;min-height:44px;border-radius:12px;
  background:var(--online-soft);color:var(--online);font-weight:700;font-size:14px;text-decoration:none;touch-action:manipulation}
.video-link:active{filter:brightness(.95)}
.video-link svg{flex:0 0 15px}

/* ---- el calentamiento del día (feedback de Manu): tarjeta en la lista y pantalla con sus movimientos ---- */
.cal-card{border-color:var(--cream-line);background:var(--cream)}
.cal-card .ex-icon{background:#fff;color:var(--med)}
.cal-mov{cursor:default}
.cal-n{font-family:'Space Mono',monospace;font-weight:700;font-size:15px;color:var(--ink-2)}
.cal-video{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;
  background:var(--online-soft);color:var(--online);font-weight:700;font-size:12.5px;text-decoration:none;touch-action:manipulation}
.cal-video:active{filter:brightness(.95)}

/* ---- entrega 2: elegir lo que se come cada dia (dieta) y ver las mediciones ---- */
.dnav{display:flex;align-items:center;justify-content:space-between;margin:14px 20px 0}
.dnav button{width:40px;height:40px;border-radius:12px;background:var(--panel);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.dnav button svg{width:18px;height:18px}
.dnav button:disabled{opacity:.3;cursor:default}
.dsem{font-size:13px;font-weight:700;color:var(--ink-2)}
.dstrip{display:flex;gap:4px;padding:8px 16px 0}
.dwd{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;border-radius:14px;min-height:60px;touch-action:manipulation}
.dwd .l{font-size:10px;font-weight:700;color:var(--ink-3);text-transform:uppercase}
.dwd .n{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--ink)}
.dwd.hoy .n{background:var(--ink);color:#fff}
.dwd.sel{background:var(--online-soft)}
.dwd.fut .n{color:var(--ink-3)}
.dwd .reg{width:6px;height:6px;border-radius:50%;background:transparent}
.dwd .reg.on{background:var(--good)}
.dtit{display:flex;align-items:center;gap:10px;margin:16px 20px 0;font-size:15px}
.dbadge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--panel-2);color:var(--ink-2);border:1px solid var(--line)}
.dbadge.hoy{background:var(--online-soft);color:var(--online);border-color:transparent}
.dres{margin:2px 20px 0;font-size:12px;font-weight:700;color:var(--good)}
.diet-card{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%}
.diet-card .dbody{flex:1;min-width:0}
.diet-card.pick{cursor:pointer;touch-action:manipulation}
.diet-card.pick:active{filter:brightness(.97)}
.dmark{flex:0 0 24px;width:24px;height:24px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:transparent;margin-top:1px}
.dmark svg{width:13px;height:13px}
.diet-card.sel{border-color:var(--good);background:var(--good-soft)}
.diet-card.sel .dmark{background:var(--good);border-color:var(--good);color:#fff}
.dmark.on{background:var(--good);border-color:var(--good);color:#fff}
.diet-card.otra{border-style:dashed;box-shadow:none;background:var(--panel-2)}
.diet-card.otra.sel{border-style:solid;background:var(--good-soft)}
.diet-last{margin-top:4px;font-size:11px;font-weight:700;color:var(--med)}
.diet-sin{margin:0;font-size:12px;color:var(--ink-3)}
.med-chips{margin-top:14px}
.med-tabla{padding:6px 16px}
.med-fila{display:grid;grid-template-columns:1fr 62px 62px 66px;align-items:center;gap:6px;padding:9px 0;border-top:1px solid var(--line);font-size:13px}
.med-fila:first-child{border-top:none}
.med-cab{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:6px 0}
.med-fila b{font-weight:700;text-align:right}
.med-cab span:not(.p-label),.med-antes,.med-cambio{text-align:right}
.med-antes{color:var(--ink-3)}
.med-cambio{font-weight:700;color:var(--ink-2);font-size:12.5px}

/* ---- cambiar la contrasena (tras el primer acceso, cuando Manu la restablece, o desde el Perfil) ---- */
.login-box .clave-intro{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2);text-align:center}
.clave-campo{position:relative}
.login-box .clave-campo input{padding-right:52px}
.login-box .clave-campo .clave-ojo{position:absolute;top:0;right:0;bottom:0;width:48px;margin:0;padding:0;border-radius:10px;
  background:none;color:var(--ink-2);display:flex;align-items:center;justify-content:center;touch-action:manipulation}
.login-box .clave-campo .clave-ojo[aria-pressed="true"]{color:var(--online)}
.clave-ojo svg{width:20px;height:20px}
.login-box .clave-reglas{margin:10px 0 0;font-size:13px;line-height:1.45;color:var(--ink-2)}
.login-box .clave-reglas.ok{color:#0F5F35}
.login-box .clave-salir{margin-top:14px;min-height:44px;background:none;color:var(--ink-2);font-size:14px;font-weight:600;
  text-decoration:underline;text-underline-offset:3px}
#pantalla-login.con-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}   /* la pantalla "Elige tu contrasena" es mas alta que la de entrada */

/* ---- superserie: dos ejercicios seguidos (A1 · A2) en la lista del día y en la pantalla de apuntar ---- */
.superserie{display:flex;flex-direction:column;gap:8px;padding:8px;border-radius:18px;background:var(--online-soft);border:1px solid #B9C8FA}
.ss-top{display:flex;align-items:center;gap:6px;padding:2px 4px 0;font-size:12px;line-height:1.35;color:#1F3AA8}
.ss-top svg{width:13px;height:13px;flex:0 0 auto}
.ss-tag{display:inline-block;margin-right:7px;padding:1px 6px;border-radius:6px;background:var(--online);color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;vertical-align:1px}
.banner.superserie-banner{margin-top:14px;border:1px solid #B9C8FA}
.banner.superserie-banner .b-text{font-size:13.5px;line-height:1.45}

/* ---- «Antes de empezar»: datos de contacto y consentimientos del primer acceso (mostrarConsentimiento en app.js) ---- */
.login-box.consent-box{max-width:440px}
.consent-box .co-err{margin:6px 2px 0;font-size:12.5px;line-height:1.4;color:#D92D3C}
.consent-box .co-resumen{margin:16px 0 8px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);max-height:200px;overflow-y:auto;font-size:13px;line-height:1.5;color:var(--ink-2);-webkit-overflow-scrolling:touch}
.consent-box .co-resumen p{margin:0 0 8px}
.consent-box .co-resumen p:last-child{margin-bottom:0}
.consent-box .co-politica{margin:4px 0 6px;font-size:13px}
.consent-box .co-politica summary{cursor:pointer;color:var(--online);font-weight:600;padding:8px 0}
.consent-box .co-politica-texto{max-height:260px;overflow-y:auto;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-2);line-height:1.5}
.consent-box .co-politica-texto h4{margin:10px 0 4px;font-size:14px;color:var(--ink)}
.consent-box .co-politica-texto h5{margin:8px 0 2px;font-size:13px;color:var(--ink)}
.consent-box .co-politica-texto p{margin:0 0 8px}
.consent-box .co-politica-texto ul{margin:0 0 8px;padding-left:18px}
.consent-box .co-casillas{margin:10px 0 4px;display:flex;flex-direction:column;gap:6px}
.consent-box .co-casilla{display:flex;align-items:flex-start;gap:10px;margin:0;padding:10px 4px;font-size:13.5px;line-height:1.45;font-weight:400;color:var(--ink);cursor:pointer}
.consent-box .co-casilla input{flex:0 0 22px;width:22px;height:22px;margin:1px 0 0;padding:0;accent-color:var(--online)}
.consent-box .co-casilla em{font-style:normal;font-size:12px;color:var(--ink-3)}
.consent-box .co-nota{margin:12px 0 0;font-size:12.5px;line-height:1.45;color:var(--ink-2);text-align:center}
.consent-box #btn-aceptar:disabled{opacity:.45;cursor:not-allowed}

/* ---- la dieta en Hoy (26 oct 2026): aviso «Manu ha actualizado tu dieta» y tarjeta «Tu dieta de hoy» ---- */
.hd-aviso,.hd-aviso-dieta{font-size:13px;line-height:1.45;align-items:center}
.hd-aviso{width:calc(100% - 40px);border:0;font:inherit;font-size:13px;text-align:left;cursor:pointer;color:var(--ink)}
.hd-aviso svg,.hd-aviso-dieta svg{width:20px;height:20px;flex:0 0 20px;color:var(--online)}
.hd-aviso b,.hd-aviso-dieta b{color:#1F3AA8}
.hoy-dieta{display:block;margin:0 20px;width:calc(100% - 40px);background:var(--panel);border:1px solid var(--line);border-radius:16px;
  box-shadow:var(--shadow);padding:12px 14px 6px;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.hd-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;margin-bottom:6px}
.hd-fila{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line);font-size:13px;min-width:0}
.hd-mark{width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center}
.hd-fila.on .hd-mark{background:var(--good);border-color:var(--good);color:#fff}
.hd-mark svg{width:11px;height:11px}
.hd-com{flex:0 0 auto;font-weight:700}
.hd-pl{flex:1;min-width:0;text-align:right;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-fila:not(.on) .hd-pl{color:var(--ink-3)}

/* firma «Desarrollado por EstrategIA» (31 oct 2026, Willy): una pastilla discreta con el logo (PNG pequeño dentro del propio CSS: sin archivos aparte ni peticiones) */
.firma-estrategia{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid #d5dbe0;border-radius:999px;background:#fff;text-decoration:none;box-shadow:0 1px 2px rgba(15,23,42,.06)}
.firma-estrategia span{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#5b6670;white-space:nowrap}
.firma-logo{display:block;width:80px;height:16px;background:url(data:image/png;base64,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) no-repeat center/contain}
.firma-wrap{display:flex;justify-content:center;margin:22px 0 10px}
