:root {
  --navy:#1e1819;
  --navy-2:#2e2426;
  --blue:#d04561;
  --blue-2:#dd788c;
  --teal:#a64155;
  --green:#24a86b;
  --amber:#efa92f;
  --red:#e05266;
  --violet:#ce8190;
  --ink:#221a1c;
  --muted:#a55262;
  --surface:#fff;
  --surface-2:#f9f7f7;
  --surface-3:#f1eeee;
  --line:#e6e1e2;
  --shadow:0 14px 38px rgba(30,24,25,.10);
  --shadow-strong:0 22px 60px rgba(30,24,25,.20);
  --radius:22px;
  --radius-sm:15px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
*{box-sizing:border-box}
html{background:#e7e2e3}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink)}
body{min-height:100vh;background:radial-gradient(circle at 20% -12%,rgba(166,65,85,.18),transparent 34%),linear-gradient(180deg,#f1eced,#e8e1e3)}
button,input,select,textarea{font:inherit}
button{-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(208,69,97,.22);outline-offset:2px}
.hidden{display:none!important}
.app-shell{position:relative;width:min(100%,1024px);min-height:100vh;margin:0 auto;padding-bottom:calc(84px + var(--safe-bottom));overflow-x:clip;background:linear-gradient(180deg,#fefcfd,#f7f5f5 52%,#f4f0f1);box-shadow:0 0 60px rgba(30,24,25,.13)}
.topbar{position:sticky;z-index:40;top:0;min-height:calc(64px + var(--safe-top));padding:calc(10px + var(--safe-top)) 14px 10px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:white;background:rgba(30,24,25,.97);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:10px;min-width:0}
.brand-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 10px 24px rgba(166,65,85,.23)}
.brand-mark svg{width:24px;height:24px}.brand-copy{min-width:0}.brand-name{font-size:18px;font-weight:950;letter-spacing:-.035em}.brand-subtitle{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c6b8bb;font-size:11px}
.top-actions{display:flex;gap:8px}.icon-btn{position:relative;width:42px;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:14px;color:white;background:rgba(255,255,255,.08);display:grid;place-items:center;cursor:pointer}.icon-btn:active{transform:scale(.96)}.icon-btn svg{width:20px;height:20px}.dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:99px;background:#ff6077;box-shadow:0 0 0 3px var(--navy)}
.screen{padding:15px 14px 28px}.section{animation:fade-in .2s ease}@keyframes fade-in{from{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:none}}
.mobile-only{display:block}.tablet-only{display:none}
.card{position:relative;margin-bottom:13px;padding:16px;overflow:hidden;border:1px solid rgba(228,221,223,.95);border-radius:var(--radius);background:rgba(255,255,255,.97);box-shadow:var(--shadow)}
.card.dark{color:white;background:linear-gradient(140deg,var(--navy),#392c2f 60%,#63202d);border-color:rgba(255,255,255,.08);box-shadow:var(--shadow-strong)}
.card.soft{background:#fbfafa}.card.tint-blue{background:linear-gradient(135deg,#f9f3f4,#fefcfd)}.card.tint-teal{background:linear-gradient(135deg,#f5eff0,#fefcfd)}.card.tint-amber{background:linear-gradient(135deg,#fff6e4,#fffdfa)}.card.tint-red{background:linear-gradient(135deg,#fff0f2,#fffafb)}.card.flat{box-shadow:none}
.eyebrow{margin-bottom:6px;color:var(--blue);font-size:11px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.card.dark .eyebrow{color:#d29ca7}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:clamp(28px,7vw,38px);line-height:1.03;letter-spacing:-.05em}h2{margin-bottom:9px;font-size:22px;line-height:1.15;letter-spacing:-.03em}h3{margin-bottom:6px;font-size:17px;line-height:1.2}p{margin-bottom:0;line-height:1.48}.muted{color:var(--muted)}.card.dark .muted{color:#d5cbcd}.small{font-size:12px}.micro{font-size:10px}.strong{font-weight:900}.numeric{font-variant-numeric:tabular-nums}
.row{display:flex;align-items:center;gap:10px}.row.start{align-items:flex-start}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack{display:grid;gap:10px}.divider{height:1px;margin:14px 0;background:var(--line)}
.btn{width:100%;min-height:50px;padding:12px 16px;border:0;border-radius:16px;font-weight:900;letter-spacing:-.01em;cursor:pointer;transition:transform .14s ease,opacity .14s ease,box-shadow .14s ease}.btn:active{transform:scale(.985)}.btn.primary{color:#fff;background:linear-gradient(135deg,var(--blue),#a42c44);box-shadow:0 12px 24px rgba(208,69,97,.24)}.btn.teal{color:#20191a;background:linear-gradient(135deg,#ca8492,var(--teal))}.btn.dark{color:#fff;background:var(--navy)}.btn.secondary{color:var(--blue);background:#f8f1f2}.btn.success{color:#fff;background:linear-gradient(135deg,#27b978,#168c59)}.btn.warning{color:#785107;background:#fff1ce}.btn.danger{color:#ae3348;background:#ffe9ed}.btn.ghost{color:var(--muted);background:transparent;border:1px solid var(--line)}.btn.inline{width:auto;min-height:40px;padding:9px 12px;border-radius:13px;font-size:12px}.btn.icon-text{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn[disabled]{opacity:.48;cursor:not-allowed;box-shadow:none}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:6px 10px;border-radius:999px;color:#663841;background:#f4f1f2;font-size:11px;font-weight:850}.chip.blue{color:#973347;background:#f7eff1}.chip.teal{color:#5e1c29;background:#efe7e8}.chip.success{color:#0b7549;background:#e5f8ee}.chip.warning{color:#8b5d04;background:#fff2d3}.chip.danger{color:#a73546;background:#ffe7eb}.chip.violet{color:#a35061;background:#f8f1f2}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff}.metric-value{font-size:23px;font-weight:950;letter-spacing:-.04em}.metric-label{margin-top:2px;color:var(--muted);font-size:11px}.metric-trend{margin-top:6px;font-size:11px;font-weight:800}
.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-card{min-height:112px;padding:14px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 8px 22px rgba(30,24,25,.06);cursor:pointer}.quick-card:active{transform:scale(.985)}.quick-icon{width:42px;height:42px;margin-bottom:12px;display:grid;place-items:center;border-radius:14px;background:#f8f1f2;color:var(--blue)}.quick-icon.teal{background:#efe7e8;color:#722434}.quick-icon.amber{background:#fff2d3;color:#a56d05}.quick-icon.violet{background:#f8f1f2;color:#b16070}
.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff;cursor:pointer}.list-item:active{transform:scale(.99)}.list-main{min-width:0;flex:1}.list-title{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-subtitle{margin-top:3px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{flex:0 0 auto;width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:white;font-weight:950;background:linear-gradient(135deg,var(--blue),var(--teal));box-shadow:0 8px 18px rgba(208,69,97,.18)}.avatar.alt{background:linear-gradient(135deg,var(--violet),#d78898)}.avatar.warm{background:linear-gradient(135deg,#f08a47,var(--amber))}
.progress{height:9px;border-radius:999px;overflow:hidden;background:#efecec}.progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}.progress.amber>span{background:linear-gradient(90deg,#f0c14c,var(--amber))}
.phase-track{display:flex;gap:8px;overflow-x:auto;padding:2px 0 6px;scrollbar-width:none}.phase-track::-webkit-scrollbar{display:none}.phase-step{flex:0 0 132px;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff}.phase-step.active{color:white;background:linear-gradient(145deg,var(--navy),#5d202c);border-color:transparent}.phase-step.done{background:#e7f8f2;border-color:#dccdd0}.phase-number{width:28px;height:28px;margin-bottom:8px;border-radius:10px;display:grid;place-items:center;font-size:12px;font-weight:950;background:#f3f0f1}.phase-step.active .phase-number{background:rgba(255,255,255,.16)}.phase-step.done .phase-number{color:#0c7650;background:#c8efdf}.phase-title{font-size:13px;font-weight:900}.phase-note{margin-top:4px;font-size:10px;color:var(--muted)}.phase-step.active .phase-note{color:#dad0d2}
.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(96px,1fr);gap:6px;overflow-x:auto;padding:5px;border-radius:16px;background:#f0eded;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.segment{min-height:39px;padding:9px 11px;border:0;border-radius:12px;color:#a04f5f;background:transparent;font-size:12px;font-weight:900;white-space:nowrap}.segment.active{color:var(--ink);background:white;box-shadow:0 5px 14px rgba(30,24,25,.08)}
.field-grid{display:grid;grid-template-columns:1fr;gap:11px}.field{display:grid;gap:6px}.field label{font-size:12px;font-weight:850;color:#6f3e48}.field input,.field select,.field textarea{width:100%;min-height:49px;padding:12px 13px;border:1px solid #ddd5d7;border-radius:15px;color:var(--ink);background:#fff}.field textarea{min-height:92px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#c68b97}.help{font-size:10px;color:var(--muted)}
.search{position:relative}.search input{width:100%;min-height:48px;padding:12px 42px 12px 42px;border:1px solid var(--line);border-radius:16px;background:#fff}.search svg{position:absolute;left:14px;top:14px;width:20px;height:20px;color:#b26473}.search-clear{position:absolute;right:8px;top:7px;width:34px;height:34px;border:0;border-radius:11px;color:#a55262;background:#f2f0f0}
.timeline{display:grid;gap:10px}.timeline-item{display:grid;grid-template-columns:56px 1fr;gap:10px}.timeline-time{padding-top:12px;color:var(--muted);font-size:11px;font-weight:900}.timeline-card{padding:13px;border-left:4px solid var(--blue);border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(30,24,25,.06)}.timeline-card.teal{border-left-color:var(--teal)}.timeline-card.amber{border-left-color:var(--amber)}
.exercise{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.exercise-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.set-grid{display:grid;grid-template-columns:36px 1fr 1fr 54px;gap:8px;align-items:center;margin-top:10px}.set-grid.header{color:var(--muted);font-size:10px;font-weight:900}.set-cell{min-height:42px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fbf9fa;text-align:center}.set-check{width:42px;height:42px;border:0;border-radius:13px;color:#af5d6d;background:#f1edee;display:grid;place-items:center}.set-check.done{color:white;background:var(--green)}
.chart{display:flex;align-items:flex-end;gap:8px;height:126px;padding:14px 8px 4px;border-bottom:1px solid var(--line)}.bar{flex:1;min-width:16px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--blue-2),var(--blue));position:relative}.bar.teal{background:linear-gradient(180deg,#c67b8a,var(--teal))}.bar span{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);font-size:9px;color:var(--muted)}
.message-list{display:grid;gap:9px}.bubble{max-width:84%;padding:11px 13px;border-radius:17px 17px 17px 5px;background:#f3f1f1;line-height:1.4}.bubble.me{margin-left:auto;color:white;border-radius:17px 17px 5px 17px;background:linear-gradient(135deg,var(--blue),#a12b43)}.bubble-time{margin-top:5px;font-size:9px;opacity:.68}.composer{position:sticky;bottom:calc(75px + var(--safe-bottom));display:grid;grid-template-columns:1fr 48px;gap:8px;padding:9px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(30,24,25,.12);backdrop-filter:blur(14px)}.composer input{border:0;padding:0 8px;background:transparent}.composer button{border:0;border-radius:14px;color:white;background:var(--blue)}
.bottom-nav{position:fixed;z-index:50;left:50%;bottom:0;width:min(100%,1024px);padding:7px 8px calc(7px + var(--safe-bottom));display:grid;grid-template-columns:repeat(5,1fr);transform:translateX(-50%);border-top:1px solid rgba(224,216,218,.96);background:rgba(255,255,255,.97);box-shadow:0 -12px 32px rgba(30,24,25,.11);backdrop-filter:blur(18px)}.nav-btn{min-width:0;min-height:57px;padding:6px 3px;border:0;border-radius:14px;color:#b05f6f;background:transparent;display:grid;place-items:center;gap:2px;font-size:10px;font-weight:850}.nav-btn svg{width:21px;height:21px}.nav-btn.active{color:var(--blue);background:#f8f1f2}.nav-btn.center{color:white;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 10px 22px rgba(208,69,97,.23)}
.fab{position:fixed;z-index:45;right:max(16px,calc((100vw - 1024px)/2 + 18px));bottom:calc(90px + var(--safe-bottom));width:58px;height:58px;border:0;border-radius:20px;color:white;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 16px 30px rgba(208,69,97,.30);display:grid;place-items:center}.fab svg{width:26px;height:26px}.fab:active{transform:scale(.96)}
.modal-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:42px;background:rgba(18,14,15,.60);backdrop-filter:blur(6px);animation:backdrop .18s ease}@keyframes backdrop{from{opacity:0}to{opacity:1}}.modal{width:min(100%,640px);max-height:94vh;overflow:auto;padding:17px 15px calc(24px + var(--safe-bottom));border-radius:28px 28px 0 0;background:#f9f7f7;box-shadow:0 -20px 70px rgba(30,24,25,.32);animation:sheet .22s ease}@keyframes sheet{from{transform:translateY(48px);opacity:.35}to{transform:none;opacity:1}}.modal-head{position:sticky;z-index:4;top:-17px;margin:-17px -15px 13px;padding:15px 15px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e9e4e5;background:rgba(249,247,247,.97);backdrop-filter:blur(14px)}.modal-head h2{margin:0;font-size:20px}.modal-close{width:40px;height:40px;border:0;border-radius:13px;color:#814854;background:#f0eced;display:grid;place-items:center}
.toast{position:fixed;z-index:150;left:50%;bottom:calc(95px + var(--safe-bottom));width:min(calc(100% - 30px),480px);padding:13px 15px;transform:translateX(-50%);border-radius:16px;color:white;background:rgba(30,24,25,.96);box-shadow:0 16px 42px rgba(30,24,25,.28);font-size:12px;font-weight:800;animation:toast-in .2s ease}@keyframes toast-in{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.empty{padding:28px 18px;text-align:center;border:1px dashed #dbd2d4;border-radius:20px;background:rgba(255,255,255,.62)}.empty-icon{width:54px;height:54px;margin:0 auto 12px;display:grid;place-items:center;border-radius:18px;color:var(--blue);background:#f8f1f2}
.pin-shell{min-height:100vh;padding:calc(32px + var(--safe-top)) 20px calc(30px + var(--safe-bottom));display:grid;place-items:center;background:radial-gradient(circle at 20% 0,rgba(166,65,85,.24),transparent 32%),linear-gradient(160deg,#1e1819,#362b2d 65%,#5d1e2b)}.pin-card{width:min(100%,420px);padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:28px;color:white;background:rgba(255,255,255,.09);box-shadow:0 24px 70px rgba(0,0,0,.25);backdrop-filter:blur(18px)}.pin-logo{width:62px;height:62px;margin-bottom:18px;border-radius:21px;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 14px 30px rgba(166,65,85,.24)}.pin-logo svg{width:34px;height:34px}.pin-dots{display:flex;justify-content:center;gap:13px;margin:24px 0}.pin-dot{width:13px;height:13px;border-radius:99px;background:rgba(255,255,255,.23)}.pin-dot.filled{background:white;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pin-key{min-height:58px;border:1px solid rgba(255,255,255,.12);border-radius:17px;color:white;background:rgba(255,255,255,.08);font-size:21px;font-weight:900}.pin-key:active{background:rgba(255,255,255,.16);transform:scale(.97)}
.kpi-strip{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.kpi-strip::-webkit-scrollbar{display:none}.kpi-pill{flex:0 0 142px;padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff}.kpi-pill strong{display:block;font-size:22px;letter-spacing:-.04em}.kpi-pill span{font-size:11px;color:var(--muted)}
.action-sheet{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.action-tile{min-height:98px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;text-align:left}.action-tile svg{width:23px;height:23px;margin-bottom:12px;color:var(--blue)}.action-tile strong{display:block}.action-tile span{display:block;margin-top:4px;font-size:10px;color:var(--muted)}
.notice{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:16px;background:#f9f3f4;color:#793a46;font-size:12px}.notice.warning{background:#fff3d7;color:#7c580f}.notice.danger{background:#ffecef;color:#9a3445}
@media(max-width:390px){.screen{padding-left:11px;padding-right:11px}.topbar{padding-left:11px;padding-right:11px}.brand-subtitle{max-width:150px}.metric-grid{gap:8px}.card{padding:14px}.quick-card{min-height:104px}.bottom-nav{padding-left:4px;padding-right:4px}.nav-btn{font-size:9px}.set-grid{grid-template-columns:32px 1fr 1fr 46px;gap:5px}}
@media(min-width:700px){body{padding:22px}.app-shell{min-height:calc(100vh - 44px);border-radius:30px;overflow:hidden}.topbar{border-radius:30px 30px 0 0}.bottom-nav{bottom:22px;width:min(calc(100% - 44px),1024px);border-radius:0 0 30px 30px;overflow:hidden}.fab{bottom:116px;right:max(34px,calc((100vw - min(calc(100vw - 44px),1024px))/2 + 24px))}.screen{padding:22px 22px 34px}.tablet-only{display:block}.mobile-only{display:none}.tablet-grid{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(300px,.86fr);gap:15px;align-items:start}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{align-items:center;padding:24px}.modal{max-height:88vh;border-radius:28px}.composer{bottom:104px}.client-layout{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:15px}.client-layout>.sticky-panel{position:sticky;top:94px}.plans-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.plans-grid .card{margin-bottom:0}}
@media(min-width:960px){.screen{padding:24px 28px 38px}.tablet-grid{grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr)}.client-layout{grid-template-columns:340px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* MVP 0.2: programación, alertas y control móvil */
.alert-dot{flex:0 0 auto;width:11px;height:11px;margin-top:5px;border-radius:99px;background:var(--blue);box-shadow:0 0 0 4px rgba(208,69,97,.10)}
.alert-dot.warning{background:var(--amber);box-shadow:0 0 0 4px rgba(239,169,47,.14)}
.alert-dot.danger{background:var(--red);box-shadow:0 0 0 4px rgba(224,82,102,.14)}
.alert-card{width:100%;text-align:left;border-left:4px solid var(--blue)}
.alert-card.warning{border-left-color:var(--amber)}
.alert-card.danger{border-left-color:var(--red)}
.consent-grid{display:grid;grid-template-columns:1fr;gap:8px}
.consent-item{min-height:46px;padding:11px 12px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:14px;font-size:12px;font-weight:850;background:#fbf9fa}
.consent-item.ok{color:#0b7549;background:#eaf8f1;border-color:#cbeadb}
.consent-item.pending{color:#896014;background:#fff7e3;border-color:#f1dfb1}
.toggle-row{min-height:64px;padding:12px;display:grid;grid-template-columns:0 46px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:17px;background:#fff;cursor:pointer}
.toggle-row>input{width:0;height:0;opacity:0}
.toggle-ui{position:relative;width:46px;height:28px;border-radius:99px;background:#e3dcde;transition:.18s ease}
.toggle-ui::after{content:"";position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(30,24,25,.18);transition:.18s ease}
.toggle-row>input:checked+.toggle-ui{background:var(--green)}
.toggle-row>input:checked+.toggle-ui::after{transform:translateX(18px)}
.toggle-row small{display:block;margin-top:3px;color:var(--muted);font-size:10px}
.library-grid{display:grid;grid-template-columns:1fr;gap:10px}
.library-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(30,24,25,.05)}
.mini-icon{width:38px;height:38px;border:0;border-radius:12px;color:var(--blue);background:#f8f1f2;display:grid;place-items:center}
.block-progress{margin-top:13px;padding:12px;border-radius:15px;background:#f9f6f7}
.compact-grid{gap:8px}
.inline-field{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.inline-field input,.inline-field select{width:100%;min-height:43px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:#fff;font-size:13px;font-weight:800;text-transform:none;letter-spacing:normal}
.previous-strip{margin-top:10px;padding:8px 10px;border-radius:12px;color:#673a43;background:#f9f3f4;font-size:10px;font-weight:800;overflow:auto;white-space:nowrap}
.live-set-grid{display:grid;grid-template-columns:32px minmax(68px,1fr) minmax(56px,.8fr) 54px 46px;gap:6px;align-items:center;margin-top:8px}
.live-set-grid.header{color:var(--muted);font-size:9px;font-weight:900;text-align:center}
.set-input{width:100%;min-width:0;height:42px;padding:8px 5px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fbf9fa;text-align:center;font-size:12px;font-weight:800}
@media(max-width:390px){.live-set-grid{grid-template-columns:29px minmax(58px,1fr) 50px 46px 42px;gap:4px}.set-input{padding:7px 3px;font-size:11px}}
@media(min-width:700px){.consent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* MVP 0.3: fases revisables, comunicación, agenda y reportes */
.timeline-card.success{border-left-color:var(--green);background:#f4fcf7}
.timeline-card.danger{border-left-color:var(--red);background:#fff6f7}
.agenda-segments{position:sticky;top:76px;z-index:5;box-shadow:0 7px 20px rgba(30,24,25,.08)}
.criteria-row{min-height:58px;padding:12px;display:grid;grid-template-columns:0 34px 1fr;gap:10px;align-items:center;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;font-size:12px;font-weight:850}
.criteria-row>input{width:0;height:0;opacity:0}
.criteria-check{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;color:#b86e7d;background:#f1edee;transition:.18s ease}
.criteria-row>input:checked+.criteria-check{color:white;background:var(--green);box-shadow:0 8px 18px rgba(36,168,107,.2)}
.message-templates{display:flex;gap:7px;overflow-x:auto;margin:12px 0;padding-bottom:3px;scrollbar-width:none}
.message-templates::-webkit-scrollbar{display:none}.message-templates .chip{flex:0 0 auto;border:0;cursor:pointer}
.unread-badge{min-width:24px;height:24px;padding:0 7px;display:grid;place-items:center;border-radius:99px;color:white;background:var(--red);font-size:10px;font-weight:950}
.checkin-history{display:grid;gap:13px}.checkin-history>.divider{margin:0}
.report-preview{display:grid;gap:0}.report-preview .card:last-child{margin-bottom:12px}
@media(max-width:390px){.agenda-segments{top:70px}.criteria-row{padding:10px}.report-preview .metric-grid{grid-template-columns:repeat(2,1fr)}}
/* MVP 0.4: nutrición general, hábitos y organización del coach */
.task-check{flex:0 0 auto;width:34px;height:34px;border:1px solid var(--line);border-radius:12px;color:white;background:#f3f1f1;display:grid;place-items:center;cursor:pointer}
.task-check.done{border-color:var(--green);background:var(--green)}
.task-done{opacity:.62}.task-done .list-title{text-decoration:line-through}
.habit-score{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}.habit-score::-webkit-scrollbar{display:none}
.habit-score>div{flex:0 0 96px;padding:12px;border:1px solid var(--line);border-radius:15px;background:#fbfafa;text-align:center}
@media(max-width:390px){.task-check{width:32px;height:32px}.list-item>.mini-icon{width:34px;height:34px}}

/* MVP 0.6: centro semanal, riesgo y seguimiento automático */
.week-mini{display:grid;grid-template-columns:repeat(7,minmax(50px,1fr));gap:6px;margin-top:14px;overflow-x:auto;scrollbar-width:none}.week-mini::-webkit-scrollbar{display:none}
.week-mini-day{min-width:50px;padding:9px 5px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.72);text-align:center}
.week-mini-day strong,.week-mini-day span,.week-mini-day small{display:block}.week-mini-day strong{font-size:9px;text-transform:uppercase;color:var(--muted)}.week-mini-day span{margin:3px 0;font-size:18px;font-weight:950}.week-mini-day small{font-size:8px;color:var(--blue);font-weight:850}.week-mini-day.today{border-color:var(--blue);background:#f8f1f2}
.risk-ring{flex:0 0 auto;width:50px;height:50px;border-radius:16px;display:grid;place-content:center;text-align:center;color:#136443;background:#eaf8f1}.risk-ring strong{font-size:17px;line-height:1}.risk-ring span{font-size:8px;font-weight:900}.risk-ring.warning{color:#805b13;background:#fff4d8}.risk-ring.danger{color:#9b3143;background:#ffecef}.risk-ring.large{width:58px;height:58px;border-radius:18px}.risk-ring.large strong{font-size:20px}
.risk-card{border-left:4px solid var(--green)}.risk-card.warning{border-left-color:var(--amber)}.risk-card.danger{border-left-color:var(--red)}
.risk-factors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.risk-factors>div{padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}.risk-factors strong,.risk-factors span{display:block}.risk-factors strong{font-size:16px}.risk-factors span{margin-top:3px;font-size:9px;color:var(--muted);font-weight:850}
.week-toolbar{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center;margin-bottom:10px;text-align:center}.week-toolbar h3{margin:2px 0 0}.week-toolbar .icon-btn{color:var(--ink);background:#f4f0f1;border-color:var(--line)}
.week-board{display:grid;gap:10px;margin-top:14px}.week-day-card{padding:13px;border:1px solid var(--line);border-radius:18px;background:#fff}.week-day-card.today{border-color:var(--blue);box-shadow:0 8px 22px rgba(208,69,97,.1)}.week-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.week-event{width:100%;min-height:54px;margin-top:7px;padding:9px 10px;border:1px solid var(--line);border-radius:14px;display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center;color:var(--ink);background:#fbfafa;text-align:left}.week-event>span{font-size:10px;font-weight:950;color:var(--blue)}.week-event strong,.week-event small{display:block}.week-event small{margin-top:3px;color:var(--muted);font-size:9px}.week-event.task{grid-template-columns:34px 1fr}.week-event.done{opacity:.56}.week-empty{padding:14px;text-align:center;color:var(--muted);font-size:10px}
.rule-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.rule-chip{min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:99px;display:flex;align-items:center;gap:6px;color:var(--muted);background:#fff;font-size:10px;font-weight:900}.rule-chip.active{color:#0b7549;border-color:#bfe2d1;background:#eaf8f1}
@media(min-width:700px){.week-board{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-factors{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:390px){.week-mini{grid-template-columns:repeat(7,48px)}.risk-factors{grid-template-columns:1fr 1fr}.week-event{grid-template-columns:47px 1fr}}

/* MVP 0.7: portal móvil separado del cliente */
.auth-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:20px;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.06)}
.auth-switch button{min-height:42px;border:0;border-radius:12px;color:#cdc1c4;background:transparent;font-size:12px;font-weight:900;cursor:pointer}
.auth-switch button.active{color:var(--navy);background:#fff;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.pin-dots.six{gap:9px}.pin-dots.six .pin-dot{width:11px;height:11px}
.portal-shell{background:radial-gradient(circle at 85% 4%,rgba(166,65,85,.13),transparent 28%),linear-gradient(180deg,#fbfafa,#f3f0f1 54%,#f1edee)}
.portal-topbar{background:linear-gradient(125deg,#261e20,#511c26)}
.portal-topbar .brand-mark{background:linear-gradient(135deg,#c97c8c,#b13d54)}
.portal-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.portal-nav .nav-btn.active{color:#641e2c;background:#efe7e8}
.portal-screen{padding-bottom:32px}.portal-section{max-width:780px;margin:0 auto}
.portal-hero{color:white;background:linear-gradient(142deg,#261e20,#571d29 62%,#842e3f);border-color:rgba(255,255,255,.08);box-shadow:0 22px 54px rgba(42,33,35,.22)}
.portal-hero .eyebrow{color:#d4b6bc}.portal-hero .muted{color:#e0d8da}
.portal-form{padding-bottom:18px}.portal-exercise{cursor:default}.portal-exercise:active{transform:none}
.portal-message-list{min-height:260px;max-height:56vh;overflow:auto;padding:4px 1px 10px}
.portal-composer{bottom:calc(78px + var(--safe-bottom))}
.portal-code{margin:15px 0;padding:15px;border:1px dashed #cf9ea8;border-radius:18px;background:rgba(255,255,255,.75);text-align:center}
.portal-code span,.portal-code strong{display:block}.portal-code span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.portal-code strong{margin-top:5px;font-size:34px;letter-spacing:.16em;font-variant-numeric:tabular-nums}
@media(max-width:390px){.portal-code strong{font-size:28px}.auth-switch{margin-top:16px}.pin-dots.six{margin:20px 0}.portal-screen{padding-left:11px;padding-right:11px}}
@media(min-width:700px){.portal-section{max-width:900px}.portal-section>.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-composer{bottom:104px}}


/* MVP 0.8: credenciales protegidas y sincronización offline-first */
.auth-lock{margin:22px 0 10px;padding:14px;border:1px solid rgba(255,214,220,.28);border-radius:16px;display:flex;align-items:center;justify-content:center;gap:9px;color:#ffd6dc;background:rgba(151,35,59,.18);font-size:12px;font-weight:900;text-align:center}
.credential-protected{margin:15px 0;padding:14px;border:1px solid #d0c5c7;border-radius:17px;display:flex;align-items:center;gap:12px;color:#531c27;background:rgba(255,255,255,.72)}
.credential-protected strong,.credential-protected span{display:block}.credential-protected strong{font-size:13px}.credential-protected span{margin-top:3px;color:var(--muted);font-size:10px;font-weight:750}
.portal-code.one-time{border-style:solid;border-color:#be7b88;background:#f8f3f4;box-shadow:0 10px 25px rgba(105,38,51,.1)}
.portal-code.one-time small{display:block;margin-top:8px;color:#804853;font-size:9px;font-weight:800;letter-spacing:normal}
.sync-status{min-height:31px;padding:7px 10px;border-radius:99px;display:inline-grid;place-items:center;color:#1a644b;background:#e7f7ef;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.sync-status.pending{color:#7d5a16;background:#fff2d1}
.sync-hero{background:linear-gradient(145deg,#fcf8f9,#f5f0f1)}
.device-orb{flex:0 0 auto;width:52px;height:52px;border-radius:17px;display:grid;place-items:center;color:#611d2b;background:#efe7e9;box-shadow:0 10px 24px rgba(97,29,43,.12)}
@media(max-width:390px){.credential-protected{align-items:flex-start}.sync-hero form.row{display:grid;grid-template-columns:1fr}.sync-hero form.row .btn{width:100%}}

/* MVP 0.9: recuperación, respaldo cifrado y diagnóstico de integridad */
.recovery-link{width:100%;min-height:42px;margin-top:12px;border:1px solid rgba(210,156,167,.22);border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;color:#d0b6bb;background:rgba(109,46,58,.12);font-size:11px;font-weight:900;cursor:pointer}
.recovery-auth-card{max-width:480px}.recovery-cancel{color:#e5dddf;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.dark-field label{color:#d6cdcf}.dark-field input{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.08)}.dark-field input::placeholder{color:#b97280}
.recovery-code{margin:16px 0;padding:17px;border:1px solid #c68c97;border-radius:19px;background:#f7f3f4;text-align:center}.recovery-code span,.recovery-code strong,.recovery-code small{display:block}.recovery-code span{color:#7d4752;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.recovery-code strong{margin:8px 0;font-size:27px;letter-spacing:.08em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.recovery-code small{color:#824954;font-size:9px;font-weight:800}
.recovery-hero{background:linear-gradient(145deg,#fcf9fa,#f5f1f2);border-color:#e1dadb}.recovery-hero .risk-ring{box-shadow:0 10px 25px rgba(100,38,50,.1)}
@media(max-width:390px){.recovery-code strong{font-size:21px;letter-spacing:.04em}.recovery-auth-card .field-grid.two{grid-template-columns:1fr}.recovery-hero>.row{align-items:flex-start}.recovery-hero .risk-ring.large{width:52px;height:52px}}

/* MVP 1.1: bóveda local cifrada y diario protegido */
.modal .list-item{max-width:100%}
.modal .list-main{overflow:hidden}
@media(max-width:390px){.modal .list-subtitle{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}


/* MVP 1.2: sincronización incremental causal y centro de conflictos */
.sync-status.danger{color:#9b3143;background:#ffecef}
.conflict-card{border-color:#f1c1c9;background:linear-gradient(145deg,#fff9fa,#fff1f3)}
.conflict-item{align-items:flex-start}.conflict-actions{margin-top:10px;gap:7px}.conflict-actions .btn{min-height:38px;font-size:9px}
@media(max-width:390px){.conflict-actions{display:grid;grid-template-columns:1fr}.conflict-actions .btn{width:100%}.sync-hero .micro{overflow-wrap:anywhere}}

/* MVP 1.3: relay cifrado opcional; reutiliza tarjetas, métricas y formularios responsivos existentes. */

/* MVP 1.4: ciclo de sesión del coach y estabilización comercial */
.session-button{color:#eae2e3;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.session-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.session-profile{background:linear-gradient(145deg,#fcfafa,#f4f1f1)}
@media(max-width:390px){.top-actions{gap:5px}.top-actions .icon-btn{width:42px;height:42px}.session-actions{grid-template-columns:1fr}.session-actions .btn{width:100%}}

/* v1.5 · preparación comercial */
.demo-banner{border-color:#f3d18a;background:linear-gradient(135deg,#fff8e8,#fffdf7)}
.launch-banner{margin-bottom:16px}
.readiness-orb{width:64px;height:64px;flex:0 0 64px;border-radius:22px;display:grid;place-items:center;background:var(--navy);color:white;font-size:20px;font-weight:950;box-shadow:0 12px 30px rgba(34,26,28,.16)}
.launch-checks .list-item{align-items:center}
.launch-checks .btn{white-space:nowrap}
@media(max-width:430px){.readiness-orb{width:54px;height:54px;flex-basis:54px;border-radius:18px;font-size:17px}.launch-checks .list-item{align-items:flex-start;flex-wrap:wrap}.launch-checks .btn{margin-left:50px}}

/* v1.7 · piloto controlado: reutiliza tarjetas, listas, chips y modales accesibles existentes. */

/* v1.7 · distribución instalable y actualización segura */
.release-hero{background:linear-gradient(145deg,#1e1819,#52212b);color:#fff}.release-hero .muted,.release-hero .eyebrow{color:rgba(255,255,255,.72)}
.update-banner .btn{margin-top:14px}.policy-document h3{font-size:16px;margin:18px 0 5px}.policy-document p{line-height:1.58}.button-row{width:100%;text-align:left;background:transparent;border:0;color:inherit;font:inherit;cursor:pointer}.button-row:disabled{cursor:default}.release-hero .progress-line{background:rgba(255,255,255,.16)}.release-hero .progress-line span{background:#a64155}
@media(max-width:480px){.release-hero .row.between{align-items:flex-start;gap:10px}.release-hero h2{font-size:24px}.policy-document .card{padding:17px}}

/* v1.9 · usuarios locales, roles y sesiones auditadas */
.account-chooser{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}
.account-choice{min-height:58px;padding:8px;border:1px solid rgba(255,255,255,.13);border-radius:15px;display:flex;align-items:center;gap:9px;color:#d9cfd1;background:rgba(255,255,255,.055);text-align:left;cursor:pointer}
.account-choice.active{border-color:#c48693;background:rgba(166,65,85,.16);box-shadow:0 0 0 1px rgba(196,134,147,.18)}
.account-choice .avatar{width:36px;height:36px;flex:0 0 36px;border-radius:12px;font-size:11px}
.account-choice strong,.account-choice small{display:block}.account-choice strong{font-size:11px}.account-choice small{margin-top:2px;color:#c68a96;font-size:9px;font-weight:800}
@media(max-width:390px){.account-chooser{grid-template-columns:1fr}.account-choice{min-height:52px}}

/* v2.0 · carteras y alcance por expediente */
.assignment-list{display:grid;gap:10px}.assignment-row{display:grid;grid-template-columns:auto 44px 1fr;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.assignment-row input{width:22px;height:22px;accent-color:var(--teal)}.assignment-row small{display:block;color:var(--muted);margin-top:3px}.assignment-row.locked{opacity:.78;background:var(--soft)}


/* v2.3 · entrevista inicial guiada */
.client-segments{overflow-x:auto;scrollbar-width:none;justify-content:flex-start}.client-segments::-webkit-scrollbar{display:none}.client-segments .segment{flex:0 0 auto;white-space:nowrap}
.interview-section-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:none}.interview-section-nav::-webkit-scrollbar{display:none}
.interview-section-chip{min-height:46px;min-width:138px;padding:8px 12px;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:9px;color:var(--muted);background:var(--surface);font-size:10px;font-weight:900;text-align:left;cursor:pointer}.interview-section-chip strong,.interview-section-chip span{display:block}.interview-section-chip span{font-size:9px;margin-top:2px}.interview-section-chip.active{color:#4e1823;border-color:#c58995;background:#f3edee;box-shadow:0 8px 20px rgba(97,29,43,.1)}.interview-section-chip.done{border-color:#b8ddcf}
.interview-question{padding:14px;border:1px solid var(--line);border-radius:17px;background:#fdfcfc}.interview-question>label{display:block;margin-bottom:8px;font-size:11px;font-weight:900}.interview-question .micro{margin-top:7px}
.field-with-suffix{display:grid;grid-template-columns:1fr auto;align-items:stretch}.field-with-suffix input{border-radius:14px 0 0 14px}.field-suffix{min-width:54px;padding:0 12px;border:1px solid var(--line);border-left:0;border-radius:0 14px 14px 0;display:grid;place-items:center;color:var(--muted);background:#f4f1f2;font-size:10px;font-weight:900}
.interview-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.interview-stat{padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.interview-stat strong,.interview-stat span{display:block}.interview-stat strong{font-size:21px}.interview-stat span{margin-top:3px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.interview-answer-section{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}.interview-answer-section summary{padding:14px;cursor:pointer;font-weight:900}.interview-answer-list{padding:0 14px 14px}.interview-answer{padding:9px 0;border-top:1px solid var(--line);display:grid;gap:4px}.interview-answer strong{font-size:10px}.interview-answer span{color:var(--muted);font-size:10px;overflow-wrap:anywhere}
@media(max-width:560px){.portal-nav .nav-btn{padding-left:2px;padding-right:2px}.portal-nav .nav-btn span{font-size:8px}.interview-form{padding:15px}.interview-stats{grid-template-columns:1fr 1fr}.interview-section-chip{min-width:126px}.interview-question{padding:12px}}
@media(min-width:700px){.interview-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.interview-section-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.interview-section-chip{min-width:0}}

/* v2.4 · reevaluaciones y progreso compartido */
.portal-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.progress-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.progress-metric{padding:13px;border:1px solid var(--line);border-radius:16px;background:#fff}.progress-metric span,.progress-metric strong,.progress-metric small{display:block}.progress-metric span{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.progress-metric strong{margin-top:5px;font-size:20px}.progress-metric small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.4}
@media(max-width:390px){.portal-nav .nav-btn span{font-size:7.5px}.progress-metric-grid{grid-template-columns:1fr 1fr}.progress-metric{padding:11px}.progress-metric strong{font-size:17px}}
@media(min-width:700px){.progress-metric-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* v2.5 · reservas y confirmaciones */
.portal-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
.booking-response-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.booking-appointment{align-items:flex-start}.booking-hours{display:grid;gap:8px}.booking-hour-row{display:grid;grid-template-columns:minmax(120px,1fr) 110px 110px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fbfafa}.booking-hour-row label{font-weight:800;font-size:13px}.booking-hour-row input[type=time]{min-width:0}
@media(max-width:560px){.portal-nav .nav-btn span{font-size:7px}.booking-response-actions{width:100%;justify-content:flex-start;margin-top:8px}.booking-appointment{flex-wrap:wrap}.booking-hour-row{grid-template-columns:1fr 1fr}.booking-hour-row label{grid-column:1/-1}}


/* v2.6 · perfil visual y bienvenida del cliente */
.client-avatar{overflow:hidden;flex:0 0 auto;display:grid;place-items:center}.client-avatar-image{width:100%;height:100%;display:block;object-fit:cover}.client-avatar span{display:grid;place-items:center;width:100%;height:100%}
.detail-avatar{width:56px;height:56px;flex:0 0 56px;border-radius:19px;background:linear-gradient(135deg,var(--teal),#772636);color:#fff;font-size:14px;font-weight:950}
.portal-profile-button{width:46px;height:46px;padding:0;border:0;border-radius:16px;background:transparent;cursor:pointer;overflow:hidden}.topbar-avatar{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--teal),#772636);color:#fff;font-size:12px;font-weight:950}
.portal-hero-profile{display:flex;align-items:center;gap:14px}.portal-hero-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:24px;background:linear-gradient(135deg,#a64155,#772636);color:#fff;font-size:18px;font-weight:950;box-shadow:0 12px 28px rgba(100,29,43,.22)}
.welcome-card{overflow:hidden}.welcome-steps{display:grid;gap:8px;margin-top:13px}.welcome-step{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:15px;background:#fff;color:inherit;text-align:left;cursor:pointer}.welcome-step strong,.welcome-step small{display:block}.welcome-step strong{font-size:10px}.welcome-step small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.35}.welcome-step em{font-size:8px;font-style:normal;font-weight:950;color:var(--muted);text-transform:uppercase}.welcome-step.done{background:#f8f5f6;border-color:#d3c5c8}
.profile-editor-head,.profile-welcome-visual{display:flex;align-items:center;gap:14px}.profile-editor-avatar,.welcome-avatar{width:72px;height:72px;flex:0 0 72px;border-radius:23px;background:linear-gradient(135deg,#a64155,#772636);color:#fff;font-size:18px;font-weight:950}.photo-upload{display:grid;gap:5px;padding:15px;border:1px dashed #bd7a87;border-radius:17px;background:#f7f4f4;cursor:pointer}.photo-upload input{position:absolute;opacity:0;pointer-events:none}.photo-upload span{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:950;color:#4e1823}.photo-upload small{font-size:9px;color:var(--muted);line-height:1.4}.profile-photo-status{color:#631d2b!important;font-weight:900}.profile-photo-preview{width:128px;height:128px;margin:0 auto;border-radius:34px;overflow:hidden;display:grid;place-items:center;background:#f0ebec;color:#631d2b;font-size:30px;font-weight:950;border:1px solid #d2c5c8}.profile-photo-preview img{width:100%;height:100%;display:block;object-fit:cover}
@media(max-width:430px){.portal-hero-profile{align-items:flex-start}.portal-hero-avatar{width:62px;height:62px;flex-basis:62px;border-radius:21px}.profile-editor-head,.profile-welcome-visual{align-items:flex-start}.profile-editor-avatar,.welcome-avatar{width:62px;height:62px;flex-basis:62px;border-radius:20px}.welcome-step{grid-template-columns:30px minmax(0,1fr) auto}.profile-photo-preview{width:112px;height:112px;border-radius:30px}}

/* Estado operativo y comprobaciones de despliegue */
.check-grid{display:grid;gap:9px}
.check-row{display:flex;align-items:flex-start;gap:9px;min-width:0}
.check-row>span:first-child{flex:0 0 20px;font-weight:900;color:var(--green);line-height:1.35}
.check-row>span:nth-child(2){display:grid;gap:2px;min-width:0;line-height:1.25}
.check-row strong{overflow-wrap:anywhere}
.check-row small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}

/* v3.3 · constructor profesional de rutinas completas */
.modal-wide{width:min(1040px,calc(100vw - 24px));max-width:1040px}
.program-builder-modal{padding:0;overflow:hidden}.program-builder-modal>.modal-head{padding:17px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);position:sticky;top:0;z-index:4}.program-builder-modal>.program-builder{max-height:calc(100vh - 86px);overflow:auto;padding:18px}
.program-hero{overflow:hidden;background:radial-gradient(circle at 86% 8%,rgba(166,65,85,.24),transparent 31%),linear-gradient(145deg,#1e1819,#52212b)}.program-hero .program-metrics{margin-top:20px}.program-hero .metric{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}.program-hero .metric-value{color:#fff}.program-hero .metric-label{color:rgba(255,255,255,.68)}
.program-readiness{margin-top:14px}.program-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.program-card-stats span{padding:10px;border:1px solid var(--line);border-radius:14px;text-align:center;background:rgba(255,255,255,.72)}.program-card-stats strong,.program-card-stats small{display:block}.program-card-stats strong{font-size:18px}.program-card-stats small{margin-top:2px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.program-builder{display:grid;gap:16px}.program-builder-summary{padding:20px;border-radius:22px;color:#fff;background:radial-gradient(circle at 85% 15%,rgba(196,134,147,.26),transparent 34%),linear-gradient(145deg,#1e1819,#5b2630);box-shadow:0 16px 38px rgba(30,24,25,.17)}.program-builder-summary h1{font-size:27px;margin:3px 0 6px}.program-builder-summary p,.program-builder-summary .eyebrow{color:rgba(255,255,255,.72)}.program-builder-summary .program-card-stats{margin:16px 0 11px}.program-builder-summary .program-card-stats span{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}.program-builder-summary .program-card-stats small{color:rgba(255,255,255,.62)}.program-builder-summary .progress{background:rgba(255,255,255,.13)}
.builder-score{width:78px;height:78px;flex:0 0 78px;border-radius:24px;display:grid;place-items:center;text-align:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);font-size:22px;font-weight:950}.builder-score small{display:block;font-size:8px;line-height:1.1;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.65)}
.program-settings{padding:0;overflow:hidden}.program-settings summary{padding:15px 17px;display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:950;background:#fbf9fa}.program-settings[open] summary{border-bottom:1px solid var(--line)}.program-settings[open]>*:not(summary){margin-left:16px;margin-right:16px}.program-settings[open]>*:last-child{margin-bottom:16px}.program-settings .field:first-of-type{margin-top:16px}.inline-field{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.inline-field input,.inline-field select{min-width:0}
.builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px}.program-days{display:grid;gap:16px}.program-day-card{padding:16px;border:1px solid #dfd7d9;border-radius:22px;background:linear-gradient(145deg,#fff,#faf9f9);box-shadow:0 10px 28px rgba(47,37,39,.07)}.program-day-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px}.day-number{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--teal),#772435);font-size:15px;font-weight:950;box-shadow:0 7px 18px rgba(114,38,53,.18)}.program-day-fields{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(190px,1.2fr);gap:8px}.day-title-input,.day-focus-input,.day-note-input{border-color:transparent;background:#f4f0f1}.day-title-input{font-weight:950;color:var(--navy)}.day-note-input{margin-top:10px;min-height:58px;resize:vertical}.day-summary{display:flex;gap:8px;margin:11px 0}.day-summary span{padding:5px 9px;border-radius:999px;color:#72404a;background:#f1eeee;font-size:9px;font-weight:900}
.program-exercise-list{display:grid;gap:9px}.program-exercise-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;padding:12px;border:1px solid var(--line);border-radius:17px;background:#fff}.exercise-order{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;color:#551b27;background:#efe7e9;font-size:11px;font-weight:950}.program-exercise-main{min-width:0}.program-exercise-main h4{font-size:13px;margin:0}.program-exercise-main p{margin:3px 0 0;color:var(--muted);font-size:10px;line-height:1.45}.exercise-detail-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.exercise-detail-row>span{padding:4px 7px;border-radius:9px;background:#f4f1f2;color:#7b4550;font-size:8px;font-weight:900}.exercise-detail-row .week-badge{color:#984b5a;background:#f5eff0}.exercise-client-note,.exercise-coach-note,.exercise-week-note{margin-top:8px;padding:8px 10px;border-radius:11px;font-size:9px;line-height:1.45}.exercise-client-note{color:#57222d;background:#f4eff0}.exercise-coach-note{color:#6f5720;background:#fff8df}.exercise-week-note{color:#76434d;background:#f7f1f2}.exercise-actions,.day-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px}.exercise-actions button,.day-actions button{min-height:31px;padding:6px 9px;border:1px solid var(--line);border-radius:10px;color:#7b4550;background:#fbf9fa;font-size:8px;font-weight:900;cursor:pointer}.exercise-actions button:disabled,.day-actions button:disabled{opacity:.36;cursor:not-allowed}.day-actions .danger-text{margin-left:auto;color:#a23a4d;border-color:#f2ccd3;background:#fff7f8}
.empty-day-cta{width:100%;min-height:112px;border:1px dashed #cf9fa8;border-radius:17px;display:grid;place-items:center;align-content:center;gap:4px;color:#703d47;background:#f9f7f7;text-align:center;cursor:pointer}.empty-day-cta strong,.empty-day-cta span{display:block}.empty-day-cta span{font-size:9px;color:var(--muted)}
.week-progression-table{display:grid;gap:10px}.week-progression-row{padding:13px;border:1px solid var(--line);border-radius:17px;background:#fff}.week-progression-row.deload{border-color:#d6c5c9;background:#fcfafa}.week-progression-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.week-progression-head select{width:auto;min-width:134px}.week-progression-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.week-progression-grid label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.week-progression-grid input{min-width:0;padding:10px 8px}.week-note-input{margin-top:8px}
@media(max-width:760px){.program-day-head{grid-template-columns:38px minmax(0,1fr)}.program-day-head>.btn{grid-column:1/-1;width:100%}.program-day-fields{grid-template-columns:1fr}.week-progression-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.modal-wide{width:100vw;max-width:none;height:100dvh;border-radius:0;margin:0}.program-builder-modal>.modal-head{padding:14px 15px}.program-builder-modal>.program-builder{max-height:calc(100dvh - 67px);padding:12px}.program-builder-summary{padding:16px;border-radius:19px}.program-builder-summary h1{font-size:23px}.builder-score{width:64px;height:64px;flex-basis:64px;border-radius:19px;font-size:18px}.program-day-card{padding:12px;border-radius:18px}.program-day-head{grid-template-columns:34px minmax(0,1fr);align-items:start}.day-number{width:34px;height:34px;border-radius:12px}.program-exercise-card{grid-template-columns:28px minmax(0,1fr);padding:10px}.exercise-order{width:27px;height:27px;border-radius:9px}.exercise-actions button,.day-actions button{flex:1 1 auto}.day-actions .danger-text{margin-left:0}.week-progression-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-toolbar{align-items:stretch;flex-direction:column}.builder-toolbar .btn{width:100%}}

/* v3.4 · constructor guiado e intuitivo de programas */
.guided-builder{gap:14px}.builder-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:16px 0 12px}.builder-steps span{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:13px;color:rgba(255,255,255,.7);background:rgba(255,255,255,.06);font-size:9px;font-weight:900}.builder-steps b{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.12);font-size:10px}.builder-steps .done{color:#fff;background:rgba(166,65,85,.16);border-color:rgba(196,134,147,.25)}.builder-steps .done b{color:#261d1f;background:#c48693}.builder-steps .current b{color:#1e1819;background:#fff}
.day-navigator{padding:16px;overflow:hidden}.program-day-tabs{display:flex;gap:9px;overflow-x:auto;padding:13px 1px 3px;scroll-snap-type:x proximity;overscroll-behavior-inline:contain}.program-day-tab{flex:0 0 min(185px,70vw);display:grid;grid-template-columns:31px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:1px 9px;min-height:62px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;color:#7b4550;background:#fbf9fa;text-align:left;scroll-snap-align:start;cursor:pointer}.program-day-tab>span{grid-row:1/3;width:31px;height:31px;border-radius:11px;display:grid;place-items:center;color:#7b4550;background:#efebec;font-size:11px;font-weight:950}.program-day-tab strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:11px}.program-day-tab small{color:var(--muted);font-size:8px;font-weight:900}.program-day-tab.ready small{color:#621d2b}.program-day-tab.active{border-color:#a25060;background:linear-gradient(145deg,#f4eeef,#fdfafb);box-shadow:0 7px 18px rgba(114,38,53,.11)}.program-day-tab.active>span{color:#fff;background:linear-gradient(145deg,var(--teal),#772435)}
.active-day{border-color:#c8b8bb;background:linear-gradient(155deg,#fff,#f9f7f7);box-shadow:0 16px 38px rgba(47,37,39,.1)}.active-day-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-2px 0 12px;color:#934857;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.active-day-kicker span{padding:5px 8px;border-radius:999px;background:#f1eeee}.day-pagination{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:14px;border-top:1px dashed #dcd3d5}.day-pagination .btn:disabled{opacity:.36}
.builder-help{padding:0;overflow:hidden}.builder-help summary{display:flex;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;font-weight:950;background:#fbf9fa}.builder-help[open] summary{border-bottom:1px solid var(--line)}.builder-glossary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.builder-glossary>div{padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.builder-glossary strong,.builder-glossary span{display:block}.builder-glossary strong{font-size:10px}.builder-glossary span{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}
.exercise-picker-form{padding-bottom:76px}.exercise-picker-search{margin-top:2px}.exercise-patterns{display:flex;gap:7px;overflow-x:auto;padding:1px 0 4px}.exercise-patterns button{flex:0 0 auto;min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:#7f4853;background:#fbf9fa;font-size:9px;font-weight:900;cursor:pointer}.exercise-patterns button.active{color:#fff;border-color:#762737;background:#762737}.exercise-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:310px;overflow:auto;padding:1px}.exercise-pick-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:9px;min-height:72px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer}.exercise-pick-card input{position:absolute;opacity:0;pointer-events:none}.exercise-pick-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#62202d;background:#f2ebed}.exercise-pick-card strong,.exercise-pick-card small,.exercise-pick-card em{display:block}.exercise-pick-card strong{color:var(--navy);font-size:11px}.exercise-pick-card small{margin-top:2px;color:var(--muted);font-size:8px}.exercise-pick-card em{margin-top:4px;color:#a75263;font-size:8px;font-style:normal;font-weight:800}.exercise-pick-card>i{width:18px;height:18px;border:1px solid #d8d0d1;border-radius:50%;display:grid;place-items:center;color:transparent;background:#fff}.exercise-pick-card:has(input:checked){border-color:#903d4e;background:#f7f3f4;box-shadow:0 5px 16px rgba(114,38,53,.1)}.exercise-pick-card:has(input:checked)>i{color:#fff;border-color:#7e2e3e;background:#7e2e3e}
.prescription-presets{padding:13px;border:1px solid #e3dcde;border-radius:17px;background:#faf9f9}.prescription-presets strong{display:block;margin-top:2px;font-size:11px}.preset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.preset-grid button{min-height:38px;padding:7px;border:1px solid #dcd5d6;border-radius:11px;color:#683a43;background:#fff;font-size:8px;font-weight:950;cursor:pointer}.preset-grid button:active{transform:translateY(1px);background:#f3eff0}.essential-prescription{padding-top:2px}.effort-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px}.advanced-prescription{border:1px solid var(--line);border-radius:17px;overflow:hidden;background:#fff}.advanced-prescription summary{display:flex;align-items:center;gap:8px;padding:13px 14px;color:#653942;background:#fbf9fa;font-size:10px;font-weight:950;cursor:pointer}.advanced-prescription[open] summary{border-bottom:1px solid var(--line)}.advanced-prescription[open]>*:not(summary){margin-left:14px;margin-right:14px}.advanced-prescription[open]>*:last-child{margin-bottom:14px}.advanced-prescription .field-grid{margin-top:14px}.exercise-submit-bar{position:sticky;bottom:-1px;z-index:5;display:grid;grid-template-columns:1fr 1.15fr;gap:8px;margin:4px -1px -1px;padding:12px 0 1px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 28%)}
@media(max-width:700px){.exercise-picker-grid{grid-template-columns:1fr}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-glossary{grid-template-columns:1fr}.day-pagination{grid-template-columns:1fr}.program-day-tab{flex-basis:78vw}}
@media(max-width:520px){.builder-steps span{justify-content:center;padding:7px 5px;font-size:8px}.builder-steps b{width:20px;height:20px}.day-navigator{padding:13px}.program-day-tab{flex-basis:82vw}.active-day .program-day-head>.btn{grid-column:1/-1}.exercise-submit-bar{grid-template-columns:1fr}.exercise-picker-form{padding-bottom:24px}}

/* System Coach 3.5 · navegación inteligente y enfoque operativo */
.home-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 12%,rgba(166,65,85,.24),transparent 34%),linear-gradient(145deg,#1e1819,#52212b)}
.coach-focus{padding:16px;background:linear-gradient(150deg,#fff,#faf9f9);border-color:#ded7d8}
.focus-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,78%);gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;padding:12px 1px 3px}
.focus-card{scroll-snap-align:start;min-height:146px;padding:14px;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-rows:1fr auto;gap:10px;text-align:left;background:#fff;cursor:pointer;box-shadow:0 8px 22px rgba(47,37,39,.06)}
.focus-card:hover,.focus-card:focus-visible{transform:translateY(-1px);box-shadow:0 12px 28px rgba(47,37,39,.1)}
.focus-card.danger{border-color:#efc7cf;background:linear-gradient(145deg,#fff,#fff7f8)}.focus-card.warning{border-color:#ead9a9;background:linear-gradient(145deg,#fff,#fffbec)}.focus-card.blue{border-color:#e0d4d6;background:linear-gradient(145deg,#fff,#fcf8f9)}.focus-card.violet{border-color:#e0d5d7;background:linear-gradient(145deg,#fff,#fcfafa)}
.focus-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#692230;background:#f1eaec}.focus-card.danger .focus-icon{color:#a23a4d;background:#fdecef}.focus-card.warning .focus-icon{color:#8b681d;background:#fff4cc}.focus-card.blue .focus-icon{color:#7e414d;background:#f5eff0}.focus-card.violet .focus-icon{color:#934857;background:#f5f0f1}
.focus-copy{min-width:0}.focus-copy small,.focus-copy strong,.focus-copy em{display:block}.focus-copy small{font-size:8px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.focus-copy strong{margin-top:5px;color:var(--navy);font-size:13px}.focus-copy em{margin-top:4px;color:#9b4c5c;font-size:9px;font-style:normal;line-height:1.45}
.focus-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:9px;border-top:1px solid rgba(177,97,113,.18);color:#683a43;font-size:9px;font-weight:950}
.focus-clear{display:flex;align-items:center;gap:11px;margin-top:12px;padding:14px;border-radius:16px;color:#57222d;background:#f5f1f2}.focus-clear strong,.focus-clear small{display:block}.focus-clear small{margin-top:2px;color:#834955;font-size:9px}
.universal-search-head{position:sticky;top:0;z-index:2;margin:-2px -1px 12px;padding:2px 1px 10px;background:linear-gradient(#fff 76%,rgba(255,255,255,0))}
.universal-section{display:grid;gap:9px;padding:10px 0;border-top:1px solid var(--line)}.universal-section:first-of-type{border-top:0}.universal-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.universal-section-head h3{margin:0;font-size:13px}
.universal-results{display:grid;gap:7px}.universal-result{width:100%;min-height:62px;padding:9px 10px;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;background:#fff;cursor:pointer}.universal-result:hover,.universal-result:focus-visible{border-color:#c1b0b3;background:#faf9f9}.universal-result>span:nth-child(2){min-width:0}.universal-result strong,.universal-result small{display:block}.universal-result strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--navy);font-size:11px}.universal-result small{margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:8px}.universal-result>.quick-icon{margin:0}.universal-avatar{width:38px;height:38px;border-radius:13px;font-size:11px}
.universal-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.universal-tool{min-height:78px;padding:10px;border:1px solid var(--line);border-radius:15px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;text-align:left;background:#fbfafa;cursor:pointer}.universal-tool:hover,.universal-tool:focus-visible{border-color:#c1b0b3;background:#f7f5f5}.universal-tool .quick-icon{width:34px;height:34px;margin:0;border-radius:11px}.universal-tool strong,.universal-tool small{display:block}.universal-tool strong{color:var(--navy);font-size:10px}.universal-tool small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}
@media(min-width:700px){.focus-carousel{grid-auto-flow:initial;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.universal-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:430px){.focus-carousel{grid-auto-columns:88%}.coach-focus{padding:13px}.focus-card{min-height:138px}.universal-tool-grid{grid-template-columns:1fr}.universal-tool{min-height:62px}}
@media(prefers-reduced-motion:reduce){.focus-card{transition:none}}

/* v3.6 · sesión guiada y recuperable */
.workout-shell{display:grid;gap:12px}
.workout-session-hero{position:relative;overflow:hidden}
.workout-clock{min-width:78px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.08);text-align:center}
.workout-clock strong{display:block;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.workout-clock small{display:block;margin-top:5px;color:#cdc2c4;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.workout-rest{display:flex;align-items:center;justify-content:space-between;gap:14px}
.workout-rest h2{margin:2px 0 3px;font-size:34px}
.workout-stepper{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 7px;scroll-snap-type:x proximity}
.workout-step{min-width:150px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:left;scroll-snap-align:start}
.workout-step>span{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f1edee;color:var(--muted);font-size:11px;font-weight:900}
.workout-step strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.workout-step small{font-size:9px;color:var(--muted);font-weight:800}
.workout-step.active{border-color:#c9919c;background:#f6f1f2;box-shadow:0 8px 24px rgba(140,53,70,.12)}
.workout-step.active>span{color:#fff;background:var(--teal)}
.workout-step.done{border-color:#b9dfcf;background:#f1fbf6}
.workout-step.done>span{color:#fff;background:var(--green)}
.workout-current{border-radius:24px}
.workout-current-head{align-items:flex-start}
.workout-meta-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:13px 0}
.workout-meta-grid span{padding:10px 6px;border:1px solid var(--line);border-radius:13px;background:#faf9f9;text-align:center}
.workout-meta-grid strong{display:block;font-size:12px;overflow-wrap:anywhere}
.workout-meta-grid small{display:block;margin-top:4px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.compact-notice{margin-top:10px;padding:9px 10px}
.live-set-grid.completed{opacity:.72}
.live-set-grid.completed .set-input{background:#f0faf4;border-color:#c5e4d2}
.workout-exercise-nav{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.workout-footer{display:grid;grid-template-columns:1.4fr 1fr;gap:9px}
.workout-footer .danger-text{grid-column:1/-1;color:var(--red)}
.workout-resume-card{border-color:#cc96a1;box-shadow:0 10px 28px rgba(132,53,69,.1)}
.resume-progress{margin:12px 0;padding:10px 12px;border-radius:14px;background:#f9f4f5}
.resume-progress .progress{margin-top:7px}
.workout-summary .summary-check{width:58px;height:58px;margin-bottom:16px;border-radius:20px;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.14)}
@media(max-width:480px){.workout-meta-grid{grid-template-columns:1fr 1fr}.workout-footer{grid-template-columns:1fr}.workout-footer .danger-text{grid-column:auto}.workout-step{min-width:138px}.workout-clock{min-width:68px}.workout-clock strong{font-size:18px}}

/* v3.7 · beta privada e instalación guiada */
.private-beta-center .metric-grid{margin-top:0}
.beta-install-card{overflow:hidden}
.beta-steps{display:grid;gap:9px;margin:14px 0}
.beta-step{display:grid;grid-template-columns:30px 1fr;align-items:start;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.62)}
.beta-step>span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:var(--navy);color:white;font-size:12px;font-weight:800}
.beta-step p{margin:3px 0 0;font-size:13px;line-height:1.4;color:var(--text)}
.beta-tester-row,.beta-feedback-row{align-items:flex-start}
.beta-feedback-row .list-main p{margin:7px 0 0;line-height:1.45}
.beta-feedback-invite{position:relative;overflow:hidden}
.beta-feedback-invite:after{content:'';position:absolute;width:130px;height:130px;border-radius:50%;right:-55px;bottom:-70px;background:rgba(216,100,123,.12);pointer-events:none}
@media (max-width:560px){.private-beta-center .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beta-tester-row,.beta-feedback-row{padding:12px 8px}.beta-feedback-row .mini-icon,.beta-tester-row .mini-icon{flex:0 0 auto}}


/* v3.12 · diagnósticos privados de beta */
.diagnostic-consent{margin-top:2px;border:1px solid rgba(216,100,123,.22);background:rgba(216,100,123,.06);border-radius:16px;padding:13px}
.diagnostic-open{margin-top:9px}
.beta-diagnostic-view .metric-value{font-size:19px;overflow-wrap:anywhere}
.diagnostic-timeline{display:grid;gap:0;margin-top:10px}
.diagnostic-step{display:grid;grid-template-columns:18px 1fr;gap:10px;position:relative;padding:0 0 15px}
.diagnostic-step>span{width:10px;height:10px;border-radius:50%;background:var(--teal);margin-top:5px;box-shadow:0 0 0 4px rgba(139,49,67,.12)}
.diagnostic-step:not(:last-child):before{content:'';position:absolute;left:4px;top:16px;bottom:0;width:2px;background:var(--border)}
.diagnostic-step p{margin:3px 0;color:var(--muted);font-size:13px;line-height:1.4}
.diagnostic-step small{color:var(--muted);font-size:11px}
@media(max-width:560px){.private-beta-center .compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.beta-diagnostic-view .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v3.12 · rediseño visual premium */
:root{
  --premium-ink:#181213;
  --premium-surface:#fcfafa;
  --premium-surface-2:#ffffffcc;
  --premium-line:rgba(195,132,145,.22);
  --premium-gold:#f2c46f;
  --premium-cyan:#d0909d;
  --premium-shadow:0 24px 70px rgba(29,23,24,.16);
  --premium-shadow-soft:0 12px 30px rgba(29,23,24,.08);
  --radius-xl:28px;
}
html{background:linear-gradient(180deg,#e7dfe1,#ded6d7)}
body{background:
  radial-gradient(circle at 12% 0%,rgba(208,144,157,.22),transparent 28%),
  radial-gradient(circle at 100% 12%,rgba(206,129,144,.11),transparent 26%),
  linear-gradient(180deg,#f5f2f2,#e9e2e4 58%,#e4dddf)}
.app-shell{
  width:min(100%,1080px);
  background:
    radial-gradient(circle at top right,rgba(208,144,157,.12),transparent 25%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(249,247,247,.96) 40%,rgba(246,242,243,.98));
  box-shadow:0 18px 90px rgba(25,20,21,.18);
}
.screen{padding:18px 16px 36px}
.premium-topbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:12px;
  min-height:calc(72px + var(--safe-top));
  padding:calc(10px + var(--safe-top)) 16px 12px;
  background:linear-gradient(180deg,rgba(20,15,16,.88),rgba(30,24,25,.74));
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px rgba(16,13,13,.14);
}
.brand-mark{width:44px;height:44px;border-radius:16px;box-shadow:0 18px 30px rgba(166,65,85,.24), inset 0 1px 0 rgba(255,255,255,.25)}
.brand-name{font-size:18px;font-weight:1000;letter-spacing:-.04em}
.brand-subtitle{font-size:11px;color:#cabbbe}
.topbar-meta{display:grid;gap:4px;justify-items:end;min-width:max-content}
.topbar-pill{backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);box-shadow:0 10px 20px rgba(30,24,25,.16)}
.topbar-note{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#c28390;font-weight:900}
.top-actions{gap:10px}
.icon-btn{
  width:44px;height:44px;border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 20px rgba(16,13,13,.12);
}
.card{
  border-radius:24px;
  border:1px solid var(--premium-line);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(253,251,251,.94));
  box-shadow:var(--premium-shadow-soft);
  padding:18px;
}
.card.dark,
.home-hero,
.program-hero,
.portal-hero,
.release-hero{
  background:
    radial-gradient(circle at top right,rgba(208,144,157,.18),transparent 30%),
    linear-gradient(145deg,#1e1819,#312729 56%,#63222f 120%);
  box-shadow:0 26px 70px rgba(30,24,25,.26);
}
.card.dark::after,.home-hero::after,.portal-hero::after,.program-hero::after{
  content:'';position:absolute;inset:auto -30px -40px auto;width:160px;height:160px;border-radius:999px;
  background:radial-gradient(circle,rgba(242,196,111,.18),rgba(242,196,111,0));pointer-events:none;
}
.hero-premium .hero-command-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.hero-premium .btn.inline{min-height:38px;border-radius:14px}
.metric-grid{gap:12px}
.metric{
  border-radius:20px;
  border:1px solid rgba(191,126,139,.18);
  background:linear-gradient(180deg,#ffffff,#fbfafa);
  box-shadow:0 10px 24px rgba(29,23,24,.06);
}
.metric-value{font-size:26px}
.quick-card,
.list-item,
.timeline-item,
.focus-card,
.universal-tool,
.exercise-library-card,
.empty,
.modal-card,
.program-card,
.week-card,
.session-card{
  border-radius:22px;
  border:1px solid rgba(191,126,139,.18);
  box-shadow:0 10px 26px rgba(29,23,24,.06);
}
.quick-card{background:linear-gradient(180deg,#fff,#fcfafb);padding:16px;min-height:120px}
.quick-card strong{display:block;font-size:15px;letter-spacing:-.02em}
.quick-icon,.focus-icon,.device-orb,.readiness-orb{
  border-radius:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45), 0 10px 22px rgba(208,69,97,.12);
}
.list-item{padding:14px 15px;background:linear-gradient(180deg,#fff,#fbfafa)}
.list-title{font-size:14px;letter-spacing:-.02em}
.list-subtitle{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.btn{
  min-height:52px;border-radius:18px;
  box-shadow:0 12px 24px rgba(30,24,25,.08);
}
.btn.primary{background:linear-gradient(135deg,#d24965,#a32d45 65%,#87273a);box-shadow:0 14px 28px rgba(176,54,79,.28)}
.btn.secondary{background:linear-gradient(180deg,#faf4f5,#f7eef0);color:#973145}
.btn.ghost{background:rgba(255,255,255,.54);backdrop-filter:blur(10px)}
.btn.inline{min-height:40px;padding:10px 13px;border-radius:14px}
.chip{min-height:31px;border:1px solid rgba(191,126,139,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.segmented{padding:6px;border-radius:18px;background:linear-gradient(180deg,#f3eff0,#eeeaeb)}
.segment{border-radius:13px}
.segment.active{box-shadow:0 10px 18px rgba(29,23,24,.09)}
.field input,.field select,.field textarea,.search input{
  min-height:52px;border-radius:17px;border:1px solid rgba(199,142,153,.34);
  background:linear-gradient(180deg,#fff,#fefcfd);box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.field textarea{min-height:100px}
.field label{font-size:12px;letter-spacing:.01em}
.search input{padding-left:44px;padding-right:44px}
.bottom-nav{
  left:50%;transform:translateX(-50%);
  bottom:calc(10px + var(--safe-bottom));
  width:min(calc(100% - 20px),720px);
  border-radius:28px;
  padding:10px 12px;
  background:rgba(255,255,255,.84);
  backdrop-filter:blur(18px) saturate(1.15);
  border:1px solid rgba(199,142,153,.24);
  box-shadow:0 20px 45px rgba(29,23,24,.18);
}
.nav-btn{border-radius:18px;min-height:58px;padding:8px 6px;color:#964a59}
.nav-btn svg{width:22px;height:22px}
.nav-btn.active{background:linear-gradient(180deg,#f9f3f4,#f1ebec);color:#2d2426;box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 18px rgba(29,23,24,.08)}
.fab{
  bottom:calc(96px + var(--safe-bottom));right:18px;
  width:60px;height:60px;border-radius:22px;
  background:linear-gradient(135deg,#a64155,#d04561);
  box-shadow:0 20px 35px rgba(208,69,97,.34);
}
.modal-backdrop{backdrop-filter:blur(8px);background:rgba(24,18,19,.36)}
.modal-card,.modal{border-radius:28px}
.toast{border-radius:18px;box-shadow:0 16px 30px rgba(29,23,24,.16)}
.program-card-stats span,.summary-metrics span,.program-readiness,.block-progress{background:rgba(245,241,242,.74);border-radius:16px;padding:10px}
.message-list,.portal-message-list{padding:8px 2px 12px}
.bubble{border-radius:20px 20px 20px 8px;box-shadow:0 8px 20px rgba(29,23,24,.06)}
.bubble.me{border-radius:20px 20px 8px 20px;background:linear-gradient(135deg,#d04561,#a72f47);box-shadow:0 12px 24px rgba(208,69,97,.18)}
.composer, .portal-composer{
  background:rgba(255,255,255,.88);backdrop-filter:blur(18px);
  border:1px solid rgba(199,142,153,.2);
  box-shadow:0 16px 28px rgba(29,23,24,.14);
}
.coach-focus .focus-carousel{gap:12px}
.focus-card{background:linear-gradient(180deg,#fff,#fbfafa)}
.focus-card.danger{background:linear-gradient(180deg,#fff7f8,#fff0f2)}
.focus-card.blue{background:linear-gradient(180deg,#fcf8f9,#f9f2f4)}
.focus-card.warning{background:linear-gradient(180deg,#fffaf0,#fff5df)}
.focus-card.violet{background:linear-gradient(180deg,#fdfafb,#faf4f5)}
.empty{padding:22px;background:linear-gradient(180deg,#fefdfd,#faf7f8)}
@media(max-width:700px){
  .premium-topbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'brand actions' 'meta actions';align-items:center}
  .premium-topbar .brand{grid-area:brand}
  .premium-topbar .topbar-meta{grid-area:meta;justify-items:start}
  .premium-topbar .top-actions{grid-area:actions}
}
@media(max-width:420px){
  .screen{padding:16px 12px 34px}
  .card{padding:16px;border-radius:22px}
  .bottom-nav{width:min(calc(100% - 14px),720px);padding:8px}
  .nav-btn{min-height:56px;border-radius:16px}
  .hero-premium .hero-command-bar{display:grid;grid-template-columns:1fr}
  .topbar-note{display:none}
}

/* Claridad transversal: controles táctiles, foco y mensajes legibles en cualquier ventana. */
:where(.modal,.screen,.portal-screen) :where(button,[role="button"],summary,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand,var(--brand)) 28%,transparent);outline-offset:2px}
:where(.modal,.screen,.portal-screen) :where(.mini-icon,.modal-close,.icon-btn){min-width:42px;min-height:42px}
.modal :where(.field,.field-grid)>label,.modal .field>label{line-height:1.35}
.modal :where(input,select,textarea){scroll-margin-top:90px}
.modal :where(.small,.micro,.help,.muted){overflow-wrap:anywhere}
@media(max-width:699px){
  .modal :where(input,select,textarea){font-size:max(16px,1rem)}
  .modal :where(.field,.field-grid)>label,.modal .field>label{font-size:11px}
  .modal :where(.btn,.mini-icon,button,summary){touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){.routine-personalization-drawer>summary>svg:last-child,.exercise-library-filter-drawer>summary>svg:last-child,.picker-context-drawer>summary>svg:last-child{transition:none}}

/* v3.12 · cartera de clientes y centro de programas premium */
.client-portfolio-section,.program-command-section{display:grid;gap:14px}
.client-portfolio-hero,.program-command-hero{margin-bottom:0;padding:22px}
.portfolio-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}
.portfolio-metrics>div{padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.portfolio-metrics strong,.portfolio-metrics span{display:block}.portfolio-metrics strong{font-size:24px;letter-spacing:-.05em}.portfolio-metrics span{margin-top:3px;color:#d1c5c8;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.portfolio-toolbar{margin:0;padding:13px;display:grid;gap:11px;background:rgba(255,255,255,.78);backdrop-filter:blur(16px)}
.premium-search input{box-shadow:0 8px 22px rgba(29,23,24,.05),inset 0 1px 0 rgba(255,255,255,.8)}
.portfolio-filters{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:none}.portfolio-filters::-webkit-scrollbar{display:none}
.filter-pill{flex:0 0 auto;min-height:38px;padding:8px 12px;border:1px solid rgba(192,127,140,.22);border-radius:999px;color:#844a56;background:rgba(249,246,247,.9);font-size:11px;font-weight:900;cursor:pointer;white-space:nowrap}
.filter-pill span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;padding:0 5px;border-radius:99px;background:rgba(150,74,89,.1);font-size:9px}
.filter-pill.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#2f2527,#642531);box-shadow:0 10px 22px rgba(45,36,38,.18)}
.filter-pill.active span{background:rgba(255,255,255,.15)}
.portfolio-result-head{padding:2px 3px}.portfolio-result-head h2{margin:0}
.client-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.client-portfolio-card{position:relative;display:block;width:100%;padding:17px;text-align:left;overflow:hidden;cursor:pointer;background:linear-gradient(165deg,#fff,#fcf9fa);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.client-portfolio-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(29,23,24,.11)}.client-portfolio-card:active{transform:scale(.99)}
.client-card-accent{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--blue),var(--teal))}.client-portfolio-card.risk-danger .client-card-accent{background:linear-gradient(180deg,#ef5e75,#e09940)}.client-portfolio-card.risk-warning .client-card-accent{background:linear-gradient(180deg,#f0b13a,#e88935)}
.client-card-head{display:flex;align-items:center;gap:11px}.client-card-head .avatar{width:50px;height:50px;border-radius:17px}.client-card-head .list-title{font-size:16px}
.client-risk-score{flex:0 0 auto;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;align-content:center;background:#f6f2f3;color:#693b44}.client-risk-score strong,.client-risk-score span{display:block}.client-risk-score strong{font-size:17px;line-height:1}.client-risk-score span{margin-top:3px;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.client-risk-score.danger{color:#a92f47;background:#ffe9ed}.client-risk-score.warning{color:#895b06;background:#fff2d2}.client-risk-score.success{color:#08704a;background:#e4f8ed}
.client-card-goal{margin:13px 0 10px;font-size:14px;font-weight:900;line-height:1.35;letter-spacing:-.02em;color:#442229}
.client-card-tags{display:flex;gap:6px;overflow:hidden;flex-wrap:wrap}.client-card-tags .chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.client-phase-line{margin-top:13px;padding:11px;border-radius:16px;background:rgba(245,240,241,.78)}.client-phase-line .progress{margin-top:7px;height:7px}
.client-card-footer{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid rgba(192,127,140,.17);color:#9e4e5e;font-size:9px;font-weight:800}.client-card-footer span{display:flex;align-items:center;gap:5px;min-width:0}.client-card-footer span.attention{color:#a76908}.client-card-footer i{display:grid;place-items:center;color:#7a3e4a}
.client-premium-layout{gap:16px}.client-identity-card{padding:20px}.client-identity-card .detail-avatar{width:64px;height:64px;border-radius:22px}.identity-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.identity-stats span{padding:10px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}.identity-stats strong,.identity-stats small{display:block}.identity-stats strong{font-size:18px}.identity-stats small{margin-top:3px;color:#d1c5c8;font-size:9px}.client-phase-card{background:linear-gradient(145deg,#fff,#faf6f7)}
.program-command-metrics{margin-bottom:14px}.program-priority{width:100%;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;color:#fff;background:rgba(255,255,255,.08);text-align:left;cursor:pointer;backdrop-filter:blur(12px)}.program-priority>span:nth-child(2) small,.program-priority>span:nth-child(2) strong,.program-priority>span:nth-child(2) em{display:block}.program-priority small{color:#d29ca7;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.program-priority strong{margin-top:3px;font-size:14px}.program-priority em{margin-top:3px;color:#d1c5c8;font-size:10px;font-style:normal}.program-priority>b{display:flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}
.program-filters{padding-bottom:1px}.premium-plans-grid{gap:14px}.premium-program-card{overflow:hidden;padding:18px;background:linear-gradient(165deg,#fff,#fbf9f9)}
.program-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.program-client-label{display:flex;align-items:center;gap:8px;margin-top:12px}.program-avatar{width:36px;height:36px;border-radius:13px}.program-client-label strong,.program-client-label small{display:block}.program-client-label strong{font-size:12px}.program-client-label small{margin-top:2px;color:var(--muted);font-size:9px}
.program-completion-ring{--completion:0;position:relative;width:62px;height:62px;flex:0 0 62px;border-radius:999px;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--teal) calc(var(--completion)*1%),#f0eced 0);box-shadow:0 10px 24px rgba(29,23,24,.08)}.program-completion-ring::after{content:'';position:absolute;inset:6px;border-radius:inherit;background:#fff}.program-completion-ring strong,.program-completion-ring span{position:relative;z-index:1;display:block}.program-completion-ring strong{font-size:15px;line-height:1}.program-completion-ring span{margin-top:3px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.premium-program-card>h2{margin-top:15px;margin-bottom:5px}.program-goal{min-height:38px}
.program-day-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:14px 0}.program-day-preview span{min-width:0;padding:9px 7px;border:1px solid rgba(192,127,140,.17);border-radius:15px;background:#f8f5f6}.program-day-preview span.ready{background:linear-gradient(180deg,#f6f2f3,#f7eff1)}.program-day-preview span.empty{background:#fff8ec}.program-day-preview b,.program-day-preview em,.program-day-preview small{display:block}.program-day-preview b{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:#fff;font-size:9px;box-shadow:0 5px 12px rgba(29,23,24,.07)}.program-day-preview em{margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-style:normal;font-weight:900}.program-day-preview small{margin-top:3px;color:var(--muted);font-size:8px}.program-day-preview .more{background:#faf4f5}
.program-progress-stack{display:grid;gap:10px;padding:12px;border-radius:18px;background:rgba(245,241,242,.75)}.program-progress-stack .progress{height:7px;margin-top:5px}
.program-card-actions{display:grid;grid-template-columns:1.35fr .8fr;gap:9px;margin-top:14px}.program-card-actions .btn{min-height:45px;font-size:11px}
.guided-builder .program-builder-summary{border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 55px rgba(30,24,25,.2)}
.guided-builder .active-day{box-shadow:0 18px 44px rgba(29,23,24,.1)}
@media(max-width:760px){.client-card-grid{grid-template-columns:1fr}.portfolio-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.client-card-footer{grid-template-columns:1fr auto}.client-card-footer span:nth-child(2){display:none}.program-day-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.client-portfolio-hero,.program-command-hero{padding:18px}.portfolio-metrics>div{padding:10px}.portfolio-metrics strong{font-size:21px}.client-card-footer{grid-template-columns:1fr auto}.program-priority{grid-template-columns:auto minmax(0,1fr)}.program-priority>b{display:none}.program-card-actions{grid-template-columns:1fr}.identity-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.identity-stats strong{font-size:15px}.identity-stats small{font-size:8px}}

/* v3.12 · sesión inmersiva y portal del cliente orientado a la próxima acción */
.portal-command-center,.portal-plan-center{display:grid;gap:14px}
.portal-home-hero{padding:22px;background:radial-gradient(circle at 92% 0%,rgba(208,144,157,.26),transparent 34%),linear-gradient(145deg,#1d1618,#362a2d 58%,#63202d)}
.portal-status-rail{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.portal-primary-action{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;overflow:hidden}
.portal-primary-action.teal{background:linear-gradient(135deg,#f6f1f2,#fdfbfb);border-color:#dacbce}
.portal-primary-action.blue{background:linear-gradient(135deg,#f9f4f5,#fefcfd);border-color:#e4d5d8}
.portal-primary-action.amber{background:linear-gradient(135deg,#fff8e8,#fffdf8);border-color:#f0ddb1}
.portal-primary-action.violet{background:linear-gradient(135deg,#fbf6f7,#fff);border-color:#e5dadc}
.portal-action-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--teal),var(--blue));box-shadow:0 14px 28px rgba(208,69,97,.2)}
.portal-primary-action.amber .portal-action-icon{background:linear-gradient(135deg,#f2c46f,#e69928)}
.portal-primary-action.violet .portal-action-icon{background:linear-gradient(135deg,#ce8190,#d18896)}
.portal-action-copy h2{margin-bottom:5px}
.portal-action-button{width:auto;min-width:190px}
.portal-training-preview{background:linear-gradient(155deg,#fff,#f9f6f7);border-color:#ddd4d6}
.portal-training-preview.resume{background:linear-gradient(155deg,#f9f4f5,#fdfbfb);border-color:#ddcbce}
.portal-week-orbit{--portal-week-progress:0%;width:68px;height:68px;flex:0 0 68px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,#fff 57%,transparent 58%),conic-gradient(var(--teal) var(--portal-week-progress),#e8e4e4 0);box-shadow:0 12px 28px rgba(29,23,24,.1)}
.portal-week-orbit.large{width:82px;height:82px;flex-basis:82px;background:radial-gradient(circle at center,#2e2426 57%,transparent 58%),conic-gradient(#d0909d var(--portal-week-progress),rgba(255,255,255,.16) 0);color:#fff}
.portal-week-orbit strong,.portal-week-orbit small{display:block}.portal-week-orbit strong{font-size:22px;line-height:1}.portal-week-orbit small{margin-top:4px;font-size:9px;color:var(--muted);font-weight:900}.portal-week-orbit.large small{color:#d0c4c6}
.portal-training-stats,.portal-day-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:15px 0}
.portal-training-stats span,.portal-day-stats span{padding:11px;border:1px solid rgba(191,126,139,.18);border-radius:16px;background:rgba(255,255,255,.74);text-align:center}
.portal-training-stats strong,.portal-training-stats small,.portal-day-stats strong,.portal-day-stats small{display:block}.portal-training-stats strong,.portal-day-stats strong{font-size:16px}.portal-training-stats small,.portal-day-stats small{margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.portal-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-vital-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.portal-wellness-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.portal-wellness-strip span{padding:9px 11px;border-radius:999px;background:#f4f1f2;color:#79444f;font-size:10px}.portal-wellness-strip .danger{color:#9e3448;background:#ffecef}.portal-wellness-strip .success{color:#0c7650;background:#e7f8ef}
.portal-plan-hero{padding:22px}
.portal-next-session{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;background:linear-gradient(135deg,#f5f1f2,#fefcfd);border-color:#d7cacd}.portal-next-session.resume{background:linear-gradient(135deg,#f9f4f5,#fefcfd);border-color:#e2d5d7}.portal-next-session .btn{width:auto;min-width:180px}
.portal-day-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.portal-day-card{display:flex;flex-direction:column;gap:14px;margin-bottom:0}.portal-day-card.resume{border-color:#cf9fa8;box-shadow:0 18px 36px rgba(132,53,69,.12)}.portal-day-card.completed{border-color:#a9dac4;background:linear-gradient(180deg,#f8fffb,#f3fbf7)}
.portal-day-head{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:11px}.portal-day-head h2{margin-bottom:4px}.portal-day-number{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));font-size:14px;font-weight:950;box-shadow:0 10px 22px rgba(208,69,97,.18)}.portal-day-card.completed .portal-day-number{background:linear-gradient(135deg,#24a86b,#55c98f)}
.portal-exercise-stack{display:grid;gap:8px}.portal-exercise-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;border:1px solid rgba(191,126,139,.16);border-radius:16px;background:linear-gradient(180deg,#fff,#fcfafb)}.portal-exercise-index{width:30px;height:30px;border-radius:11px;display:grid;place-items:center;color:#743e49;background:#f5f0f1;font-size:11px;font-weight:950}.portal-safety-card{background:linear-gradient(135deg,#fcf9fa,#f4fbf8)}

.workout-immersive{gap:14px}
.immersive-session-hero{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:20px;background:radial-gradient(circle at 85% 0%,rgba(208,144,157,.28),transparent 34%),linear-gradient(145deg,#1d1618,#352a2c 58%,#5f202d)}
.workout-hero-copy h1{margin-bottom:6px}.workout-safety-status{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:7px 10px;border:1px solid rgba(208,144,157,.24);border-radius:999px;color:#d7c0c4;background:rgba(208,144,157,.08);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.workout-progress-orbit{--workout-progress:0%;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,#2b2123 58%,transparent 59%),conic-gradient(#d0909d var(--workout-progress),rgba(255,255,255,.14) 0);box-shadow:0 18px 38px rgba(0,0,0,.2)}.workout-progress-orbit>div{text-align:center}.workout-progress-orbit strong,.workout-progress-orbit small{display:block}.workout-progress-orbit strong{font-size:22px}.workout-progress-orbit small{margin-top:3px;color:#d0c4c6;font-size:8px}
.immersive-rest{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;background:linear-gradient(135deg,#fff8e8,#fffdf8);border-color:#ecd7a4}.rest-orbit{--rest-progress:0%;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,#fff8e8 57%,transparent 58%),conic-gradient(var(--amber) var(--rest-progress),#efe3c9 0)}.rest-orbit strong,.rest-orbit small{display:block}.rest-orbit strong{font-size:22px}.rest-orbit small{font-size:8px;color:var(--muted);text-transform:uppercase}
.immersive-stepper{padding:4px 1px 9px}.immersive-stepper .workout-step{min-width:168px;border-radius:19px;padding:12px}.immersive-stepper .workout-step.active{transform:translateY(-1px);box-shadow:0 14px 28px rgba(140,53,70,.14)}
.immersive-current{padding:18px;border-radius:28px}
.workout-movement-stage{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:center}.movement-visual{min-height:118px;border-radius:23px;display:grid;place-items:center;align-content:center;gap:9px;color:#6a2432;background:radial-gradient(circle at 30% 20%,rgba(208,144,157,.38),transparent 35%),linear-gradient(145deg,#f3eff0,#f5eff0);border:1px solid rgba(175,92,109,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}.movement-visual span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#a35161}.movement-copy h2{font-size:28px;margin-bottom:6px}
.coach-cue{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:13px;border-radius:17px;color:#633840;background:linear-gradient(135deg,#f9f3f4,#fdfafb);border:1px solid #e6dcde}.coach-cue strong,.coach-cue span{display:block}.coach-cue strong{margin-bottom:3px;color:#551e29;font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.immersive-meta span{border-radius:16px;background:linear-gradient(180deg,#fff,#faf7f8)}
.previous-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-radius:15px;background:#f7f4f5;color:#834955;font-size:10px}.previous-strip strong{color:#502830}.progression-cue{background:linear-gradient(135deg,#f5f1f2,#fdfafb)}
.workout-set-stack{display:grid;gap:9px;margin-top:10px}.workout-set-card{grid-template-columns:54px repeat(3,minmax(0,1fr)) 48px;padding:10px;border:1px solid rgba(191,126,139,.18);border-radius:18px;background:linear-gradient(180deg,#fff,#fbfafa);box-shadow:0 8px 18px rgba(29,23,24,.05)}.workout-set-card label{display:grid;gap:4px}.workout-set-card label>span{display:none;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.workout-set-card .set-cell{display:grid;place-items:center;align-content:center}.workout-set-card .set-cell strong,.workout-set-card .set-cell small{display:block}.workout-set-card .set-cell strong{font-size:18px}.workout-set-card .set-cell small{font-size:8px;color:var(--muted);text-transform:uppercase}.workout-set-card .set-input{min-height:46px;border-radius:13px}.workout-set-card .set-check{width:44px;height:44px;border-radius:15px}.workout-set-card .set-check span{font-size:9px;font-weight:950}.workout-set-card.completed{opacity:1;background:linear-gradient(180deg,#f4fcf7,#ecf9f1);border-color:#bce0ca}.workout-set-card.completed .set-cell strong{color:var(--green)}
.workout-up-next{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:14px;padding:12px;border-radius:17px;background:#f8f5f6;border:1px solid rgba(191,126,139,.15)}.workout-up-next>span{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;color:#fff;background:var(--navy)}.workout-up-next small,.workout-up-next strong{display:block}.workout-up-next small{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.workout-up-next strong{margin-top:2px}.workout-up-next em{font-size:9px;color:var(--muted);font-style:normal}
.workout-note-card{border-style:dashed}.workout-command-dock{position:sticky;bottom:calc(82px + var(--safe-bottom));z-index:5;display:grid;grid-template-columns:1.2fr 1fr auto;gap:9px;padding:10px;border:1px solid rgba(191,126,139,.22);border-radius:22px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 18px 40px rgba(29,23,24,.18)}.workout-command-dock .danger-text{width:auto;color:var(--red)}
.workout-summary-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px}.summary-score{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center,#2b2123 58%,transparent 59%),conic-gradient(#d0909d 100%,rgba(255,255,255,.12) 0)}.summary-score strong,.summary-score small{display:block}.summary-score strong{font-size:25px}.summary-score small{font-size:8px;color:#d4cacc}.summary-exercise-list{display:grid;gap:8px}.summary-exercise-list>div{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border-radius:15px;background:#f9f7f7}.summary-exercise-list span{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--blue),var(--teal));font-size:11px;font-weight:950}.summary-exercise-list em{font-size:9px;color:var(--muted);font-style:normal}
@media(min-width:760px){.portal-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portal-dashboard-grid,.portal-vital-grid,.portal-day-grid{grid-template-columns:1fr}.portal-primary-action,.portal-next-session{grid-template-columns:48px minmax(0,1fr)}.portal-primary-action .portal-action-button,.portal-next-session .btn{grid-column:1/-1;width:100%;min-width:0}.portal-training-preview .row.wrap .btn{width:100%}.immersive-session-hero{grid-template-columns:minmax(0,1fr) auto}.immersive-session-hero .workout-clock{grid-column:1/-1;width:100%;display:flex;align-items:center;justify-content:center;gap:7px}.workout-progress-orbit{width:82px;height:82px}.workout-movement-stage{grid-template-columns:100px minmax(0,1fr)}.movement-copy h2{font-size:24px}.workout-command-dock{grid-template-columns:1fr 1fr;bottom:calc(88px + var(--safe-bottom))}.workout-command-dock .danger-text{grid-column:1/-1;width:100%}}
@media(max-width:520px){.portal-home-hero,.portal-plan-hero{padding:18px}.portal-primary-action{padding:15px}.portal-day-head{grid-template-columns:38px minmax(0,1fr)}.portal-day-head>.chip{grid-column:2}.portal-day-number{width:38px;height:38px}.portal-training-stats,.portal-day-stats{gap:6px}.immersive-session-hero{padding:16px}.workout-progress-orbit{width:76px;height:76px}.workout-progress-orbit strong{font-size:18px}.immersive-rest{grid-template-columns:auto minmax(0,1fr)}.immersive-rest .btn{grid-column:1/-1;width:100%}.workout-movement-stage{grid-template-columns:1fr}.movement-visual{min-height:94px;grid-auto-flow:column;justify-content:center}.movement-copy h2{font-size:23px}.workout-set-header{display:none}.workout-set-card{grid-template-columns:42px repeat(3,minmax(0,1fr)) 42px;padding:9px 7px}.workout-set-card label>span{display:block}.workout-set-card .set-input{min-height:43px;padding:8px 6px;font-size:11px}.workout-set-card .set-check{width:40px;height:40px}.workout-command-dock{grid-template-columns:1fr;position:static}.workout-command-dock .danger-text{grid-column:auto}.workout-summary-hero{grid-template-columns:auto minmax(0,1fr)}.summary-score{grid-column:1/-1;width:100%;height:auto;border-radius:18px;padding:12px;background:rgba(255,255,255,.1)}}

/* v3.12 · cierre visual premium: agenda, centro del coach y formularios */
.agenda-command-section,.coach-command-section{display:grid;gap:14px}
.agenda-command-section>.card,.coach-command-section>.card{margin-bottom:0}
.agenda-command-hero{padding:22px;background:radial-gradient(circle at 88% 8%,rgba(242,196,111,.18),transparent 28%),radial-gradient(circle at 10% 100%,rgba(208,144,157,.18),transparent 32%),linear-gradient(145deg,#1b1617,#33282a 58%,#5f212d)}
.agenda-hero-ghost{color:#fff;border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.06)}
.agenda-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:20px}
.agenda-metrics>div{padding:13px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.07);backdrop-filter:blur(10px)}
.agenda-metrics strong,.agenda-metrics span,.agenda-metrics small{display:block}
.agenda-metrics strong{font-size:23px;letter-spacing:-.04em}
.agenda-metrics span{margin-top:3px;font-size:11px;font-weight:900}
.agenda-metrics small{margin-top:4px;color:#c4b7b9;font-size:9px}
.agenda-next-card{width:100%;margin-top:12px;padding:13px;border:1px solid rgba(255,255,255,.13);border-radius:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;color:#fff;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.06));text-align:left;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.agenda-next-time{min-width:68px;padding-right:13px;border-right:1px solid rgba(255,255,255,.12)}
.agenda-next-time small,.agenda-next-time strong,.agenda-next-time em{display:block}
.agenda-next-time small{color:#d29ca7;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.agenda-next-time strong{margin-top:3px;font-size:22px;letter-spacing:-.04em}
.agenda-next-time em{margin-top:2px;color:#d3c9cb;font-size:9px;font-style:normal}
.agenda-next-client{display:flex;align-items:center;gap:11px;min-width:0}
.agenda-next-client>span{min-width:0}
.agenda-next-client small,.agenda-next-client strong,.agenda-next-client em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.agenda-next-client small{color:#d29ca7;font-size:9px;font-weight:900;text-transform:uppercase}
.agenda-next-client strong{margin-top:2px;font-size:14px}
.agenda-next-client em{margin-top:3px;color:#d7cdcf;font-size:10px;font-style:normal}
.agenda-next-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:950;background:linear-gradient(135deg,var(--violet),var(--blue));overflow:hidden}
.agenda-next-card>b{display:flex;align-items:center;gap:4px;color:#d0b5bb;font-size:10px;white-space:nowrap}
.agenda-clear-state{margin-top:12px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:19px;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06)}
.agenda-clear-state>svg{color:#d29ca7}.agenda-clear-state strong,.agenda-clear-state small{display:block}.agenda-clear-state small{margin-top:3px;color:#cfc4c6;font-size:10px}
.agenda-week-strip{padding:17px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(251,248,249,.94))}
.agenda-day-picker{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(72px,1fr);gap:8px;overflow-x:auto;padding:5px 1px 3px;scrollbar-width:none}
.agenda-day-picker::-webkit-scrollbar{display:none}
.agenda-day-pill{min-height:76px;padding:9px 8px;border:1px solid rgba(192,128,141,.2);border-radius:18px;display:grid;place-items:center;align-content:center;gap:2px;color:#834a55;background:linear-gradient(180deg,#fff,#faf9f9);cursor:pointer;box-shadow:0 8px 18px rgba(29,23,24,.05)}
.agenda-day-pill span{font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}
.agenda-day-pill strong{font-size:20px;line-height:1;letter-spacing:-.04em;color:var(--ink)}
.agenda-day-pill em{font-size:8px;font-style:normal;color:var(--muted)}
.agenda-day-pill.today{border-color:rgba(166,65,85,.34)}
.agenda-day-pill.active{color:#fff;border-color:transparent;background:linear-gradient(145deg,#2c2224,#5f1f2c);box-shadow:0 12px 24px rgba(42,33,35,.2)}
.agenda-day-pill.active strong,.agenda-day-pill.active em{color:#fff}
.agenda-request-banner{border-color:#f0d59c;background:linear-gradient(135deg,#fff9ec,#fffdf8)}
.agenda-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;position:sticky;top:83px;z-index:8;background:rgba(252,249,250,.88);backdrop-filter:blur(16px);box-shadow:0 12px 28px rgba(29,23,24,.08)}
.agenda-toolbar .agenda-segments{position:static;box-shadow:none;flex:1}
.agenda-groups{display:grid;gap:13px}
.agenda-day-group{padding:18px}
.agenda-day-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.agenda-day-summary{min-width:58px;padding:9px 11px;border-radius:16px;text-align:center;background:#f6f1f2}
.agenda-day-summary strong,.agenda-day-summary span{display:block}.agenda-day-summary strong{font-size:18px}.agenda-day-summary span{margin-top:2px;color:var(--muted);font-size:9px}
.premium-timeline{gap:12px}
.premium-appointment-item{grid-template-columns:62px minmax(0,1fr);align-items:stretch}
.premium-appointment-item .timeline-time{padding-top:10px;text-align:right}
.premium-appointment-item .timeline-time strong,.premium-appointment-item .timeline-time span{display:block}
.premium-appointment-item .timeline-time strong{font-size:12px;color:var(--ink)}
.premium-appointment-item .timeline-time span{margin-top:4px;font-size:9px;color:var(--muted)}
.appointment-card-premium{position:relative;width:100%;padding:12px 12px 12px 16px;border:1px solid rgba(192,128,141,.18)!important;border-radius:19px!important;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;text-align:left;background:linear-gradient(180deg,#fff,#fbfafa)!important;overflow:hidden;cursor:pointer}
.appointment-accent{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--blue)}
.appointment-card-premium.teal .appointment-accent{background:var(--teal)}.appointment-card-premium.amber .appointment-accent{background:var(--amber)}.appointment-card-premium.success .appointment-accent{background:var(--green)}.appointment-card-premium.danger .appointment-accent{background:var(--red)}
.appointment-person{display:flex;align-items:center;gap:10px;min-width:0}
.appointment-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:950;background:linear-gradient(135deg,var(--blue),var(--teal));overflow:hidden}
.appointment-person>span{min-width:0}.appointment-person small,.appointment-person strong,.appointment-person em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.appointment-person small{color:var(--blue);font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.appointment-person strong{margin-top:2px;font-size:13px}.appointment-person em{margin-top:3px;color:var(--muted);font-size:9px;font-style:normal}
.appointment-meta{display:grid;justify-items:end;gap:4px}.appointment-meta small{max-width:120px;color:var(--muted);font-size:8px;text-align:right}
.coach-command-hero{padding:22px;background:radial-gradient(circle at 94% 0%,rgba(206,129,144,.22),transparent 30%),radial-gradient(circle at 0% 100%,rgba(166,65,85,.15),transparent 34%),linear-gradient(145deg,#1b1617,#312628 62%,#4f202a)}
.coach-profile-premium{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px}
.coach-command-avatar{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;color:#fff;font-size:17px;font-weight:950;background:linear-gradient(135deg,var(--violet),var(--blue),var(--teal));box-shadow:0 15px 30px rgba(208,69,97,.2);overflow:hidden}
.coach-command-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:18px}
.coach-command-metrics>div{padding:12px;border-radius:17px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.06)}
.coach-command-metrics strong,.coach-command-metrics span{display:block}.coach-command-metrics strong{font-size:22px}.coach-command-metrics span{margin-top:3px;color:#cfc4c6;font-size:9px}
.coach-system-pulse{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;background:rgba(255,255,255,.06)}
.system-pulse-dot{width:10px;height:10px;border-radius:999px;background:var(--amber);box-shadow:0 0 0 5px rgba(239,169,47,.14)}.system-pulse-dot.good{background:var(--teal);box-shadow:0 0 0 5px rgba(166,65,85,.14)}
.coach-system-pulse strong,.coach-system-pulse small{display:block}.coach-system-pulse strong{font-size:12px}.coach-system-pulse small{margin-top:3px;color:#cec3c5;font-size:9px}.coach-pulse-action{color:#fff;border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.coach-center-group{display:grid;gap:10px}
.coach-center-group-head{display:flex;align-items:center;justify-content:space-between;padding:0 3px}
.coach-center-group-head h2{margin-bottom:0}
.coach-center-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.coach-center-card{min-height:104px;padding:14px;border:1px solid rgba(192,128,141,.18);border-radius:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;color:var(--ink);background:linear-gradient(180deg,#fff,#faf9f9);text-align:left;cursor:pointer;box-shadow:0 10px 24px rgba(29,23,24,.06)}
.coach-center-card .quick-icon{margin:0}.coach-center-copy{min-width:0}.coach-center-copy strong,.coach-center-copy small,.coach-center-copy em{display:block}.coach-center-copy strong{font-size:13px}.coach-center-copy small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}.coach-center-copy em{width:max-content;max-width:100%;margin-top:7px;padding:4px 7px;border-radius:999px;color:#8b5d04;background:#fff2d3;font-size:8px;font-style:normal;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coach-center-card>svg{color:#c0808d}
.coach-center-footer{background:linear-gradient(135deg,#fbf8f8,#f8f4f5)}
.modal-head{position:sticky;top:0;z-index:5;margin:-1px -1px 12px;padding:17px 18px 13px;border-bottom:1px solid rgba(192,128,141,.18);background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}
.modal-head h2{margin:0;font-size:19px}.modal-close{background:#f4f2f2;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.modal form.stack{gap:13px}.modal .field{padding:0}.modal .field label{font-size:11px;color:#583139}.modal .help{line-height:1.45}
.empty{position:relative;overflow:hidden}.empty::after{content:'';position:absolute;right:-35px;bottom:-45px;width:130px;height:130px;border-radius:999px;background:radial-gradient(circle,rgba(166,65,85,.11),transparent 68%)}
.empty-icon{width:52px;height:52px;border-radius:18px;box-shadow:0 12px 25px rgba(208,69,97,.12)}
@media(max-width:700px){.agenda-metrics,.coach-command-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-profile-premium{grid-template-columns:auto minmax(0,1fr)}.coach-profile-premium>.btn{grid-column:1/-1;width:100%}.agenda-toolbar{top:76px}.coach-center-grid{grid-template-columns:1fr}.coach-center-card{min-height:90px}.appointment-card-premium{grid-template-columns:minmax(0,1fr) auto}.appointment-card-premium>svg{display:none}.appointment-meta small{max-width:90px}}
@media(max-width:430px){.agenda-command-hero,.coach-command-hero{padding:18px}.agenda-next-card{grid-template-columns:auto minmax(0,1fr)}.agenda-next-card>b{display:none}.agenda-next-time{min-width:62px}.agenda-day-picker{grid-auto-columns:70px}.agenda-toolbar{align-items:stretch;flex-direction:column}.agenda-toolbar>.chip{align-self:flex-end}.premium-appointment-item{grid-template-columns:48px minmax(0,1fr)}.premium-appointment-item .timeline-time{text-align:left}.appointment-meta .chip{font-size:8px}.appointment-meta small{display:none}.coach-system-pulse{grid-template-columns:auto minmax(0,1fr)}.coach-pulse-action{grid-column:1/-1;width:100%}.coach-center-footer .row{align-items:flex-start;flex-direction:column}}

/* v3.20 · identidad Crimson Performance: agresiva, limpia y profesional */
:root{
  --navy:#161213;
  --navy-2:#211d22;
  --blue:#c91836;
  --blue-2:#ff4f62;
  --teal:#94162b;
  --green:#1f9866;
  --amber:#d59a34;
  --red:#e33e52;
  --violet:#58363e;
  --ink:#19171a;
  --muted:#756d73;
  --surface:#ffffff;
  --surface-2:#f8f5f6;
  --surface-3:#eee9eb;
  --line:#dfd7da;
  --shadow:0 16px 42px rgba(27,21,22,.10);
  --shadow-strong:0 26px 72px rgba(21,17,18,.24);
  --premium-ink:#161213;
  --premium-surface:#faf7f8;
  --premium-surface-2:rgba(255,255,255,.88);
  --premium-line:rgba(120,101,109,.22);
  --premium-gold:#cea05a;
  --premium-cyan:#ff8f9c;
  --premium-shadow:0 28px 76px rgba(27,21,22,.17);
  --premium-shadow-soft:0 13px 32px rgba(27,21,22,.08);
  --brand:#c91836;
  --brand-deep:#8d1025;
  --brand-bright:#ff4f62;
  --brand-soft:#fbe8ec;
  --graphite:#161213;
  --graphite-2:#242126;
}
html{background:#ded9db}
body{
  background:
    radial-gradient(circle at 10% -5%,rgba(201,24,54,.13),transparent 31%),
    radial-gradient(circle at 100% 15%,rgba(88,54,62,.10),transparent 26%),
    linear-gradient(180deg,#f0edef,#e4dfe1 58%,#ddd8da);
}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:rgba(201,24,54,.28)}
.app-shell{
  background:
    radial-gradient(circle at 100% 0%,rgba(201,24,54,.065),transparent 27%),
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(249,246,247,.97) 45%,rgba(244,240,242,.99));
  box-shadow:0 20px 92px rgba(30,24,25,.18);
}
.topbar,.premium-topbar,.portal-topbar{
  background:
    radial-gradient(circle at 12% 0%,rgba(201,24,54,.20),transparent 32%),
    linear-gradient(180deg,rgba(22,18,19,.97),rgba(31,27,32,.94));
  border-bottom-color:rgba(255,255,255,.075);
  box-shadow:0 14px 36px rgba(19,15,16,.22);
}
.brand-mark{
  background:linear-gradient(135deg,var(--brand-bright),var(--brand) 58%,var(--brand-deep));
  box-shadow:0 16px 32px rgba(201,24,54,.28),inset 0 1px 0 rgba(255,255,255,.28);
}
.brand-subtitle{color:#c6b9be}
.topbar-note{color:#9f9096}
.icon-btn{
  border-color:rgba(255,255,255,.095);
  background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.045));
}
.icon-btn:hover{background:rgba(201,24,54,.16);border-color:rgba(255,79,98,.24)}
.dot{background:var(--brand-bright);box-shadow:0 0 0 3px var(--graphite)}
.card{
  border-color:rgba(126,108,116,.18);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,247,248,.96));
  box-shadow:var(--premium-shadow-soft);
}
.card.dark,.home-hero,.program-hero,.portal-hero,.release-hero,.agenda-command-hero,.coach-command-hero,.immersive-session-hero,.portal-home-hero,.portal-plan-hero{
  color:#fff;
  background:
    radial-gradient(circle at 91% 4%,rgba(255,79,98,.22),transparent 31%),
    radial-gradient(circle at 5% 100%,rgba(141,16,37,.18),transparent 35%),
    linear-gradient(145deg,#141011,#201a1b 58%,#34171f 118%);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 28px 76px rgba(21,17,18,.28);
}
.card.dark::after,.home-hero::after,.portal-hero::after,.program-hero::after{
  background:radial-gradient(circle,rgba(255,79,98,.22),rgba(255,79,98,0));
}
.card.dark .eyebrow,.portal-hero .eyebrow,.release-hero .eyebrow{color:#ff9aa6}
.card.dark .muted,.portal-hero .muted{color:#d2c6ca}
.eyebrow{color:var(--brand)}
.card.tint-blue{background:linear-gradient(135deg,#fcecef,#fffafb)}
.card.tint-teal{background:linear-gradient(135deg,#f7ecef,#fffafb)}
.card.tint-red{background:linear-gradient(135deg,#fdecef,#fffafb)}
.card.tint-amber{background:linear-gradient(135deg,#fff7e9,#fffdfa)}
.btn.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--brand-bright),var(--brand) 60%,var(--brand-deep));
  box-shadow:0 15px 30px rgba(201,24,54,.27);
}
.btn.primary:hover{filter:saturate(1.08);box-shadow:0 18px 34px rgba(201,24,54,.31)}
.btn.secondary{color:#a7142d;background:linear-gradient(180deg,#fdeff2,#f9e3e8)}
.btn.teal{color:#fff;background:linear-gradient(135deg,#bd2740,var(--brand-deep))}
.btn.dark{color:#fff;background:linear-gradient(145deg,var(--graphite-2),var(--graphite))}
.btn.ghost{color:#665c62;background:rgba(255,255,255,.62);border-color:rgba(125,106,114,.22)}
.chip.blue{color:#a5132c;background:#fbe8ec}
.chip.teal{color:#86162a;background:#f7e6ea}
.chip.violet{color:#51474c;background:#eee9eb}
.chip.success{color:#126c49;background:#e6f6ee}
.chip.warning{color:#80550a;background:#fff1d4}
.chip.danger{color:#a51f34;background:#fde5e9}
.quick-icon{color:var(--brand);background:#fbe8ec}
.quick-icon.teal{color:#8d1025;background:#f7e3e8}
.quick-icon.violet{color:#493f44;background:#eee9eb}
.quick-icon.amber{color:#90600b;background:#fff0d0}
.avatar,.appointment-avatar,.agenda-next-avatar,.coach-command-avatar,.portal-hero-avatar,.welcome-avatar,.profile-editor-avatar{
  background:linear-gradient(135deg,var(--brand-bright),var(--brand) 58%,var(--brand-deep));
  box-shadow:0 10px 24px rgba(201,24,54,.18);
}
.avatar.alt{background:linear-gradient(135deg,#6a3a45,#3a3035)}
.avatar.warm{background:linear-gradient(135deg,#ef784d,#d08b2e)}
.progress>span,.progress-line span{
  background:linear-gradient(90deg,var(--brand-deep),var(--brand),var(--brand-bright));
}
.phase-step.active,.agenda-day-pill.active{
  color:#fff;
  background:linear-gradient(145deg,#211a1b,#7f1528 125%);
  box-shadow:0 13px 28px rgba(90,17,35,.22);
}
.segment.active{
  color:#7f1428;
  background:linear-gradient(180deg,#fff,#fdf1f3);
  box-shadow:0 8px 18px rgba(91,28,42,.09);
}
.field input:focus,.field select:focus,.field textarea:focus,.search input:focus{
  border-color:rgba(201,24,54,.48);
  box-shadow:0 0 0 4px rgba(201,24,54,.075);
}
.bottom-nav{
  background:rgba(24,21,25,.92);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 22px 48px rgba(21,16,17,.30);
}
.nav-btn{color:#b8aaaf}
.nav-btn:hover{color:#fff;background:rgba(255,255,255,.055)}
.nav-btn.active{
  color:#fff;
  background:linear-gradient(145deg,var(--brand-bright),var(--brand) 65%,var(--brand-deep));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 12px 25px rgba(201,24,54,.32);
}
.portal-nav .nav-btn.active{color:#fff;background:linear-gradient(145deg,var(--brand-bright),var(--brand) 65%,var(--brand-deep))}
.fab{
  color:#fff;
  background:linear-gradient(135deg,var(--brand-bright),var(--brand) 58%,var(--brand-deep));
  box-shadow:0 21px 38px rgba(201,24,54,.36);
}
.portal-topbar .brand-mark{background:linear-gradient(135deg,var(--brand-bright),var(--brand),var(--brand-deep))}
.portal-action-icon,.summary-exercise-list span{
  background:linear-gradient(135deg,var(--brand-bright),var(--brand) 60%,var(--brand-deep));
  box-shadow:0 14px 28px rgba(201,24,54,.22);
}
.portal-primary-action.violet .portal-action-icon{background:linear-gradient(135deg,#6c414a,#332d31)}
.portal-primary-action.amber .portal-action-icon{background:linear-gradient(135deg,#e9b755,#b8791d)}
.workout-safety-status{color:#ffb0b9;border-color:rgba(255,79,98,.24);background:rgba(201,24,54,.10)}
.workout-progress-orbit,.summary-score{
  background:radial-gradient(circle at center,#20191a 58%,transparent 59%),conic-gradient(var(--brand-bright) var(--workout-progress,100%),rgba(255,255,255,.12) 0);
}
.immersive-stepper .workout-step.active{box-shadow:0 14px 28px rgba(201,24,54,.16)}
.set-check.done,.task-check.done{background:linear-gradient(135deg,var(--brand-bright),var(--brand));border-color:transparent}
.workout-command-dock{
  background:rgba(24,21,25,.90);
  border-color:rgba(255,255,255,.07);
  box-shadow:0 20px 46px rgba(21,16,17,.28);
}
.coach-command-hero{
  background:
    radial-gradient(circle at 93% 0%,rgba(255,79,98,.24),transparent 30%),
    radial-gradient(circle at 0% 100%,rgba(141,16,37,.20),transparent 35%),
    linear-gradient(145deg,#141011,#201a1b 62%,#431722);
}
.system-pulse-dot.good{background:var(--green);box-shadow:0 0 0 5px rgba(31,152,102,.14)}
.agenda-day-pill.today{border-color:rgba(201,24,54,.35)}
.appointment-accent{background:var(--brand)}
.appointment-card-premium.teal .appointment-accent{background:#8f172b}
.appointment-card-premium .appointment-person small{color:var(--brand)}
.coach-center-card:hover,.quick-card:hover,.list-item:hover{border-color:rgba(201,24,54,.22);box-shadow:0 14px 30px rgba(42,22,29,.09)}
.coach-center-copy em{color:#8a172b;background:#fbe8ec}
.empty::after{background:radial-gradient(circle,rgba(201,24,54,.10),transparent 68%)}
.empty-icon{color:var(--brand);background:#fbe8ec;box-shadow:0 12px 25px rgba(201,24,54,.12)}
.modal-backdrop{background:rgba(19,15,16,.48)}
.modal-head{border-bottom-color:rgba(126,108,116,.18)}
.modal-close{color:#51484d;background:#f0ebed}
.toast{color:#fff;background:linear-gradient(145deg,#292122,#171417);border:1px solid rgba(255,79,98,.18)}
.auth-shell,.pin-shell{
  background:
    radial-gradient(circle at 80% 5%,rgba(201,24,54,.25),transparent 28%),
    linear-gradient(145deg,#120e0f,#251a1f 62%,#451620);
}
.pin-logo{color:#fff;background:linear-gradient(135deg,var(--brand-bright),var(--brand),var(--brand-deep));box-shadow:0 18px 38px rgba(201,24,54,.30)}
.portal-code.one-time{border-color:#dfa9b3;background:#fff1f3;box-shadow:0 10px 25px rgba(201,24,54,.09)}
.sync-hero,.recovery-hero,.session-profile,.coach-center-footer{background:linear-gradient(145deg,#fff,#faf1f3)}
.device-orb{color:#97172c;background:#f8e4e9;box-shadow:0 10px 24px rgba(201,24,54,.11)}
.universal-tool:hover{border-color:rgba(201,24,54,.25);background:#fff8f9}
.search-results mark{color:#9b1229;background:#fde5e9}
@media(prefers-reduced-motion:no-preference){
  .brand-mark,.nav-btn.active,.fab,.btn.primary{transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
  .brand-mark:hover,.fab:hover{transform:translateY(-1px)}
}

/* v3.20 · firma de iconos System Coach y microinteracciones */
:root{
  --motion-fast:140ms;
  --motion-base:240ms;
  --motion-slow:420ms;
  --ease-out:cubic-bezier(.22,.8,.22,1);
  --ease-spring:cubic-bezier(.2,1.35,.35,1);
}
.sc-icon{display:inline-block;overflow:visible;flex:0 0 auto;transform-origin:50% 50%;transition:transform var(--motion-base) var(--ease-spring),filter var(--motion-fast) ease,opacity var(--motion-fast) ease}
.sc-icon *{vector-effect:non-scaling-stroke}
.sc-icon-accent{fill:currentColor;stroke:none;opacity:.32;transform-origin:center;transition:opacity var(--motion-fast) ease,transform var(--motion-base) var(--ease-spring)}
.brand-mark .sc-icon{filter:drop-shadow(0 5px 10px rgba(0,0,0,.18))}
.brand-mark .sc-icon-accent{opacity:.85}
.nav-btn .sc-icon-accent{opacity:.18}
.nav-btn.active .sc-icon-accent{opacity:.8;transform:scale(1.12)}
.nav-btn.active .sc-icon{animation:sc-icon-lock var(--motion-slow) var(--ease-spring)}
.quick-card:hover .sc-icon,.list-item:hover .sc-icon,.focus-card:hover .sc-icon,.coach-center-card:hover .sc-icon{transform:translateY(-1px) rotate(-2deg) scale(1.045)}
.quick-card:hover .sc-icon-accent,.list-item:hover .sc-icon-accent,.focus-card:hover .sc-icon-accent,.coach-center-card:hover .sc-icon-accent{opacity:.72;transform:scale(1.18)}
.btn:hover .sc-icon,.icon-btn:hover .sc-icon{transform:scale(1.08)}
.btn:active .sc-icon,.icon-btn:active .sc-icon{transform:scale(.92)}
.sc-icon-pulse .sc-icon-accent{animation:sc-brand-pulse 2.8s ease-in-out infinite}
.sc-icon-play .sc-icon-accent{opacity:.62}
.sc-icon-check .sc-icon-accent{opacity:.55}

.section{animation:sc-screen-enter var(--motion-base) var(--ease-out)}
.card,.quick-card,.list-item,.program-card,.client-card-premium,.focus-card,.coach-center-card,.workout-set-card,.portal-primary-action{
  transition:transform var(--motion-base) var(--ease-out),box-shadow var(--motion-base) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease;
}
.quick-card:hover,.list-item:hover,.program-card:hover,.client-card-premium:hover,.focus-card:hover,.coach-center-card:hover,.portal-primary-action:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(27,21,22,.12);border-color:rgba(201,24,54,.24)}
.quick-card:active,.list-item:active,.program-card:active,.client-card-premium:active,.focus-card:active,.coach-center-card:active,.portal-primary-action:active{transform:translateY(0) scale(.988)}
.btn,.icon-btn,.nav-btn,.fab,.segment,.chip,.agenda-day-pill,.workout-step{transition:transform var(--motion-fast) var(--ease-out),box-shadow var(--motion-base) ease,background-color var(--motion-fast) ease,color var(--motion-fast) ease,border-color var(--motion-fast) ease,filter var(--motion-fast) ease}
.btn:hover,.fab:hover{transform:translateY(-1px)}
.btn:active,.fab:active{transform:translateY(0) scale(.975)}
.icon-btn:active,.nav-btn:active,.segment:active,.agenda-day-pill:active{transform:scale(.94)}
.field input,.field select,.field textarea,.search input{transition:border-color var(--motion-fast) ease,box-shadow var(--motion-base) ease,background-color var(--motion-fast) ease,transform var(--motion-fast) ease}
.field input:focus,.field select:focus,.field textarea:focus,.search input:focus{transform:translateY(-1px)}
.modal-backdrop{animation:sc-backdrop-in var(--motion-base) ease}
.modal,.modal-card{animation:sc-modal-rise var(--motion-base) var(--ease-out)}
.toast{animation:sc-toast-in var(--motion-base) var(--ease-spring)}
.bottom-nav{animation:sc-dock-rise var(--motion-slow) var(--ease-out)}
.fab{animation:sc-fab-in var(--motion-slow) var(--ease-spring)}
.progress>span,.progress-line span{transition:width var(--motion-slow) var(--ease-out)}
.workout-progress-orbit,.summary-score{transition:background var(--motion-slow) var(--ease-out),transform var(--motion-base) var(--ease-spring)}
.workout-progress-orbit:hover,.summary-score:hover{transform:scale(1.025)}
.sc-tap-feedback{animation:sc-tap-ring 360ms var(--ease-out)!important}

@keyframes sc-screen-enter{from{opacity:.25;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
@keyframes sc-modal-rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
@keyframes sc-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes sc-toast-in{0%{opacity:0;transform:translateY(16px) scale(.94)}70%{transform:translateY(-2px) scale(1.01)}100%{opacity:1;transform:none}}
@keyframes sc-dock-rise{from{opacity:0;transform:translate(-50%,18px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes sc-fab-in{0%{opacity:0;transform:translateY(18px) scale(.7) rotate(-10deg)}70%{transform:translateY(-2px) scale(1.04) rotate(2deg)}100%{opacity:1;transform:none}}
@keyframes sc-icon-lock{0%{transform:scale(.82) rotate(-7deg)}65%{transform:scale(1.12) rotate(2deg)}100%{transform:none}}
@keyframes sc-brand-pulse{0%,100%{opacity:.48;transform:scale(.82)}50%{opacity:.95;transform:scale(1.25)}}
@keyframes sc-tap-ring{0%{box-shadow:0 0 0 0 rgba(201,24,54,.24)}100%{box-shadow:0 0 0 12px rgba(201,24,54,0)}}

@media (hover:none){
  .quick-card:hover,.list-item:hover,.program-card:hover,.client-card-premium:hover,.focus-card:hover,.coach-center-card:hover,.portal-primary-action:hover{transform:none;box-shadow:var(--premium-shadow-soft);border-color:rgba(126,108,116,.18)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}
}

/* v3.20 · jerarquía tipográfica, feedback visual y estados de producto terminado */
:root{
  --type-display:clamp(30px,7.6vw,46px);
  --type-title:clamp(22px,5.4vw,30px);
  --type-body:14px;
  --tracking-tight:-.045em;
  --feedback-success:#20956a;
  --feedback-warning:#cf8a22;
  --feedback-danger:#d8324c;
  --feedback-info:#c91836;
}
body{font-size:var(--type-body);letter-spacing:-.006em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
h1{font-size:var(--type-display);line-height:.98;letter-spacing:var(--tracking-tight);font-weight:980;text-wrap:balance}
h2{font-size:var(--type-title);line-height:1.08;letter-spacing:-.035em;font-weight:950;text-wrap:balance}
h3{letter-spacing:-.025em;font-weight:920}
p{line-height:1.58}
.eyebrow{font-size:10px;letter-spacing:.145em;font-weight:950}
.small{font-size:12px;line-height:1.55}.micro{font-size:10px;line-height:1.5}
.card>h1:first-child,.card>h2:first-child{margin-top:-1px}

.empty-premium{position:relative;isolation:isolate;min-height:220px;padding:30px 22px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,246,247,.96))}
.empty-premium::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 24%,rgba(201,24,54,.09),transparent 34%);z-index:-1}
.empty-visual{position:relative;width:92px;height:92px;display:grid;place-items:center;margin-bottom:14px}
.empty-ring{position:absolute;border-radius:50%;border:1px solid rgba(201,24,54,.15)}
.empty-ring.ring-one{inset:2px}.empty-ring.ring-two{inset:14px;border-style:dashed;border-color:rgba(201,24,54,.23)}
.empty-premium .empty-icon{position:relative;z-index:2;width:52px;height:52px;margin:0;border-radius:19px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand-bright),var(--brand),var(--brand-deep));box-shadow:0 16px 34px rgba(201,24,54,.24)}
.empty-kicker{margin-bottom:7px;color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.empty-premium>strong{font-size:18px;letter-spacing:-.025em}
.empty-premium>p{max-width:390px;margin:7px auto 0!important}
.empty-guidance{display:flex;align-items:center;gap:8px;margin-top:16px;padding:8px 11px;border-radius:999px;color:#766970;background:rgba(255,255,255,.7);border:1px solid rgba(129,109,117,.16)}
.empty-guidance>span{width:6px;height:6px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(201,24,54,.08)}
.empty-guidance small{font-size:9px;font-weight:800}

.toast-premium{position:fixed;z-index:120;left:50%;bottom:calc(105px + var(--safe-bottom));transform:translateX(-50%);width:min(calc(100% - 28px),480px);min-height:66px;padding:10px 14px 14px 10px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;border-radius:22px;color:#fff;background:linear-gradient(145deg,#292122,#161213);border:1px solid rgba(255,255,255,.09);box-shadow:0 24px 55px rgba(15,11,12,.34);overflow:hidden}
.toast-symbol{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.toast-copy{display:grid;gap:2px;min-width:0}.toast-copy strong{font-size:12px;letter-spacing:.02em}.toast-copy small{font-size:11px;line-height:1.35;color:#ded3d7}
.toast-premium.success .toast-symbol{background:rgba(32,149,106,.22);color:#8de0bd}.toast-premium.warning .toast-symbol{background:rgba(207,138,34,.22);color:#ffd184}.toast-premium.danger .toast-symbol{background:rgba(216,50,76,.25);color:#ff9baa}.toast-premium.info .toast-symbol{background:rgba(201,24,54,.25);color:#ff9baa}
.toast-life{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--brand-bright),var(--brand))}
.toast-premium.success .toast-life{background:var(--feedback-success)}.toast-premium.warning .toast-life{background:var(--feedback-warning)}.toast-premium.danger .toast-life{background:var(--feedback-danger)}

.busy-overlay{position:fixed;z-index:130;inset:0;display:grid;place-items:end center;padding:20px 14px calc(112px + var(--safe-bottom));background:rgba(16,12,13,.18);backdrop-filter:blur(5px);pointer-events:all}
.busy-card{width:min(100%,460px);min-height:82px;padding:14px 16px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;border-radius:24px;color:#fff;background:linear-gradient(145deg,rgba(38,29,31,.98),rgba(19,16,19,.98));border:1px solid rgba(255,255,255,.09);box-shadow:0 26px 60px rgba(13,11,11,.36)}
.busy-card>span:nth-child(2){display:grid;gap:3px}.busy-card strong{font-size:13px}.busy-card small{font-size:10px;color:#cfc1c6;line-height:1.4}
.busy-orbit{width:48px;height:48px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand-bright),var(--brand),var(--brand-deep));box-shadow:0 14px 28px rgba(201,24,54,.28)}
.busy-dots{display:flex;gap:4px}.busy-dots i{width:5px;height:5px;border-radius:50%;background:#fff;opacity:.35}

.modal-kicker{display:block;margin-bottom:4px;color:var(--brand);font-size:9px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.modal-head>div{min-width:0}.modal-head h2{margin-bottom:0;font-size:21px}
.modal-head{padding-top:17px;padding-bottom:14px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,247,248,.94));backdrop-filter:blur(15px)}

@media(prefers-reduced-motion:no-preference){
  .toast-premium{animation:toast-premium-in var(--motion-base) var(--ease-spring) both}
  .toast-life{animation:toast-life 2.6s linear both}
  .busy-overlay{animation:fade-in var(--motion-fast) ease both}
  .busy-card{animation:busy-card-in var(--motion-base) var(--ease-spring) both}
  .busy-orbit{animation:busy-orbit 1.6s ease-in-out infinite}
  .busy-dots i{animation:busy-dot 1s ease-in-out infinite}.busy-dots i:nth-child(2){animation-delay:.13s}.busy-dots i:nth-child(3){animation-delay:.26s}
  .empty-ring.ring-two{animation:empty-ring-spin 12s linear infinite}
  .empty-premium .empty-icon{animation:empty-icon-float 3.2s ease-in-out infinite}
}
@keyframes toast-premium-in{from{opacity:0;transform:translate(-50%,14px) scale(.97)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes toast-life{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes busy-card-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
@keyframes busy-orbit{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.12)}}
@keyframes busy-dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
@keyframes empty-ring-spin{to{transform:rotate(360deg)}}
@keyframes empty-icon-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.toast-life{display:none}.busy-orbit,.busy-dots i,.empty-ring,.empty-premium .empty-icon{animation:none!important}}
@media(max-width:420px){.toast-premium{bottom:calc(98px + var(--safe-bottom));border-radius:20px}.busy-overlay{padding-bottom:calc(104px + var(--safe-bottom))}.busy-card{grid-template-columns:44px minmax(0,1fr)}.busy-dots{display:none}.empty-guidance{border-radius:16px;text-align:left}}

/* v3.20 · orientación visual y navegación contextual */
.guided-journey{position:relative;overflow:hidden;border-color:rgba(217,31,57,.18);background:linear-gradient(145deg,#fff,#fff8f9 58%,#faf9f9);box-shadow:0 20px 48px rgba(24,18,19,.10)}
.guided-journey::before{content:'';position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--red),#7e0f21)}
.journey-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.journey-head>div:first-child{min-width:0;flex:1}
.journey-orbit{--journey-progress:0;flex:0 0 72px;width:72px;height:72px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,#fff 56%,transparent 58%),conic-gradient(var(--red) calc(var(--journey-progress)*1%),#efecec 0);box-shadow:0 14px 28px rgba(139,15,34,.12)}
.journey-orbit strong,.journey-orbit span{display:block}.journey-orbit strong{font-size:18px;letter-spacing:-.04em}.journey-orbit span{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase}
.journey-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}
.journey-step{min-width:0;padding:12px 10px;border:1px solid rgba(191,125,138,.22);border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--ink);background:rgba(255,255,255,.8);text-align:left;cursor:pointer}
.journey-step:disabled{cursor:default;opacity:.78}.journey-step.active{border-color:rgba(217,31,57,.38);background:linear-gradient(145deg,#fff,#fff1f3);box-shadow:0 12px 24px rgba(139,15,34,.10)}.journey-step.done{background:linear-gradient(145deg,#faf9f9,#eef8f3)}
.journey-step-index{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#f2f0f0;color:#9d4d5d;font-size:11px;font-weight:950}.journey-step.active .journey-step-index{color:#fff;background:linear-gradient(135deg,var(--red),#8e1024)}.journey-step.done .journey-step-index{color:#0a7248;background:#dff4e8}
.journey-step strong,.journey-step small{display:block;overflow:hidden;text-overflow:ellipsis}.journey-step strong{font-size:11px;white-space:nowrap}.journey-step small{margin-top:3px;color:var(--muted);font-size:9px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.journey-footer{display:flex;align-items:center;gap:10px;margin-top:14px}.journey-footer .btn.primary{width:auto;flex:1}.journey-complete-note{display:flex;align-items:center;gap:8px;flex:1;color:#116a49;font-size:12px;font-weight:900}
.context-guide{position:relative;margin:0 0 14px;padding:12px 44px 12px 13px;border:1px solid rgba(217,31,57,.16);border-radius:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;background:linear-gradient(135deg,rgba(255,255,255,.97),rgba(255,245,247,.93));box-shadow:0 12px 26px rgba(24,18,19,.08);animation:context-guide-in .26s ease both}
@keyframes context-guide-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.context-guide-icon{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--red),#7b0c1e);box-shadow:0 12px 22px rgba(139,15,34,.2)}
.context-guide-copy{min-width:0}.context-guide-copy small,.context-guide-copy strong,.context-guide-copy em{display:block}.context-guide-copy small{color:var(--red);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.context-guide-copy strong{margin-top:2px;font-size:13px}.context-guide-copy em{margin-top:3px;color:var(--muted);font-size:10px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.context-guide-close{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:10px;display:grid;place-items:center;color:#b16272;background:transparent;cursor:pointer}
.portal-journey{background:linear-gradient(145deg,#fff,#fff7f8);border-color:rgba(217,31,57,.16)}
.portal-journey-track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:15px 0}
.portal-journey-step{min-width:0;padding:10px 4px;border:1px solid rgba(191,125,138,.2);border-radius:16px;display:grid;justify-items:center;gap:6px;color:#9f4e5e;background:#fff;cursor:pointer}
.portal-journey-step span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#f2f0f0}.portal-journey-step small{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:9px;font-weight:900;white-space:nowrap}
.portal-journey-step.active{color:var(--red);border-color:rgba(217,31,57,.36);background:#fff3f5;box-shadow:0 10px 22px rgba(139,15,34,.08)}.portal-journey-step.active span{color:#fff;background:linear-gradient(135deg,var(--red),#8e1024)}
.portal-journey-step.done{color:#0b7048;background:#f0f9f4}.portal-journey-step.done span{color:#0b7048;background:#ddf2e6}
@media(max-width:760px){.journey-track{grid-template-columns:1fr 1fr}.journey-step:last-child{grid-column:1/-1}.context-guide{grid-template-columns:auto minmax(0,1fr);padding-right:40px}.context-guide>.btn{grid-column:1/-1;width:100%}.context-guide-copy em{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.journey-footer{align-items:stretch;flex-direction:column}.journey-footer .btn{width:100%}}
@media(max-width:420px){.journey-head{align-items:center}.journey-orbit{width:62px;height:62px;flex-basis:62px}.journey-track{grid-template-columns:1fr}.journey-step:last-child{grid-column:auto}.portal-journey-track{overflow-x:auto;grid-template-columns:repeat(5,76px);scrollbar-width:none}.portal-journey-track::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.context-guide{animation:none}}
.coach-journey{isolation:isolate}

/* v3.20 · Inicio móvil limpio, evaluación recuperada y tareas responsivas */
.home-mobile-dashboard{display:grid;gap:14px}
.home-desktop-dashboard{display:none}
.mobile-home-hero{position:relative;min-height:188px;padding:24px;border-radius:28px;overflow:hidden;color:#fff;background:radial-gradient(circle at 88% 14%,rgba(255,87,112,.28),transparent 28%),linear-gradient(145deg,#160b10,#291018 56%,#4d101e);box-shadow:0 26px 56px rgba(42,8,18,.28)}
.mobile-home-hero::after{content:'';position:absolute;right:-46px;bottom:-76px;width:190px;height:190px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018)}
.mobile-home-hero h1{max-width:250px;margin-bottom:10px;font-size:clamp(34px,10vw,46px);line-height:.96;letter-spacing:-.065em}
.mobile-home-hero p{position:relative;z-index:1;color:#dbc5cb;font-size:13px;font-weight:750}
.mobile-home-hero .eyebrow{color:#ff97a9}
.mobile-search-button{position:absolute;z-index:2;right:18px;top:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.14);border-radius:17px;display:grid;place-items:center;color:white;background:rgba(255,255,255,.08);backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.mobile-summary-strip{position:relative;z-index:3;margin:-38px 14px 0;padding:13px 10px;border:1px solid rgba(191,125,138,.18);border-radius:21px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:rgba(255,255,255,.93);backdrop-filter:blur(16px);box-shadow:0 18px 34px rgba(26,20,21,.13)}
.mobile-summary-strip span{min-width:0;text-align:center;border-right:1px solid rgba(183,109,124,.15)}
.mobile-summary-strip span:last-child{border-right:0}
.mobile-summary-strip strong,.mobile-summary-strip small{display:block}
.mobile-summary-strip strong{font-size:21px;letter-spacing:-.045em;color:var(--ink)}
.mobile-summary-strip small{margin-top:2px;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.mobile-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mobile-command{min-width:0;padding:15px;border:1px solid rgba(189,121,135,.2);border-radius:22px;display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-areas:'icon title' 'icon detail';column-gap:11px;text-align:left;color:var(--ink);background:linear-gradient(180deg,#fff,#fbf9fa);box-shadow:0 12px 26px rgba(27,21,22,.07)}
.mobile-command>span{grid-area:icon;width:42px;height:42px;border-radius:15px;display:grid;place-items:center;color:#9f1833;background:#ffe8ed}
.mobile-command strong{grid-area:title;align-self:end;font-size:14px;letter-spacing:-.02em}
.mobile-command small{grid-area:detail;align-self:start;margin-top:2px;color:var(--muted);font-size:9px;line-height:1.25}
.mobile-command.primary{color:white;border-color:transparent;background:linear-gradient(145deg,#c31638,#8e102a);box-shadow:0 16px 28px rgba(174,16,49,.22)}
.mobile-command.primary>span{color:#fff;background:rgba(255,255,255,.14)}
.mobile-command.primary small{color:#ffd4dc}
.mobile-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:3px 2px 0}
.mobile-section-head h2{margin-bottom:0;font-size:20px}
.mobile-priority-card,.mobile-priority-clear{width:100%;min-width:0;padding:15px;border:1px solid rgba(189,121,135,.18);border-radius:22px;display:flex;align-items:center;gap:12px;text-align:left;background:linear-gradient(180deg,#fff,#fcfafb);box-shadow:0 12px 26px rgba(27,21,22,.07)}
.mobile-priority-card.danger{background:linear-gradient(180deg,#fff8f9,#fff0f3)}
.mobile-priority-card.warning{background:linear-gradient(180deg,#fffaf1,#fff5df)}
.mobile-priority-card.violet{background:linear-gradient(180deg,#fdfbfb,#faf4f5)}
.mobile-priority-card.blue{background:linear-gradient(180deg,#fff8fa,#ffeef2)}
.mobile-priority-card .focus-copy{min-width:0;flex:1;display:grid;gap:2px}
.mobile-priority-card .focus-copy small{font-style:normal;color:#9f1833;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.mobile-priority-card .focus-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.mobile-priority-card .focus-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;font-style:normal}
.mobile-priority-clear span{min-width:0;display:grid;gap:2px}
.mobile-priority-clear small{color:var(--muted)}
.mobile-quick-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mobile-quick-row button{min-width:0;min-height:82px;padding:12px 8px;border:1px solid rgba(189,121,135,.18);border-radius:20px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--ink);background:#fff;box-shadow:0 10px 24px rgba(27,21,22,.06)}
.mobile-quick-row button span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:#a31331;background:#ffe9ee}
.mobile-quick-row button strong{font-size:12px}
.mobile-next-card{margin-bottom:0}
.home-priorities-modal>.card{margin-bottom:0}
.priority-modal-hero{min-height:170px}
.assessment-form{gap:13px}
.assessment-intro{padding:2px;display:flex;align-items:flex-start;gap:12px}
.assessment-intro .quick-icon{flex:0 0 48px;width:48px;height:48px;margin:0;color:#a31331;background:#ffe8ed}
.assessment-intro h2{margin-bottom:5px}
.assessment-section{padding:15px;border:1px solid rgba(189,121,135,.2);border-radius:21px;background:linear-gradient(180deg,#fff,#fbf9fa)}
.assessment-section-head{margin-bottom:13px;display:flex;align-items:center;gap:10px}
.assessment-section-head>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#a31331;background:#ffe9ee}
.assessment-section-head strong,.assessment-section-head small{display:block}
.assessment-section-head strong{font-size:13px}
.assessment-section-head small{margin-top:2px;color:var(--muted);font-size:9px}
.assessment-actions{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:10px;position:sticky;bottom:0;padding-top:8px;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.96) 28%)}
.notice.danger{color:#9f1833;border-color:#efbcc7;background:#fff0f3}
.task-center-head{margin-bottom:14px;display:grid;gap:9px}
.task-center-head .btn{width:100%}
.task-list{max-width:100%;overflow:hidden}
.task-item{width:100%;min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) auto;grid-template-areas:'check main tail';align-items:center;gap:10px;padding:12px}
.task-item .task-check{grid-area:check}
.task-item .task-main{grid-area:main;min-width:0;overflow:hidden}
.task-item .task-tail{grid-area:tail;display:flex;align-items:center;gap:7px;min-width:0}
.task-item .task-note{margin-top:4px;overflow-wrap:anywhere}
.task-item .task-delete{flex:0 0 auto}
@media(max-width:699px){
  .coach-journey{display:none!important}
  .home-desktop-dashboard{display:none!important}
  .home-mobile-dashboard{display:grid}
  .modal .task-item{grid-template-columns:38px minmax(0,1fr);grid-template-areas:'check main' '. tail';align-items:start}
  .task-item .task-tail{justify-content:flex-start;margin-top:7px}
  .task-item .list-subtitle{white-space:normal}
}
@media(max-width:370px){
  .mobile-command-grid{grid-template-columns:1fr}
  .mobile-summary-strip{margin-left:8px;margin-right:8px}
  .mobile-quick-row button{min-height:76px;padding-left:5px;padding-right:5px}
  .assessment-actions{grid-template-columns:1fr}
}
@media(min-width:700px){
  .home-mobile-dashboard{display:none!important}
  .home-desktop-dashboard{display:block}
}

/* v3.20 · Inicio móvil personalizable */
.mobile-home-actions{position:relative;z-index:2;display:flex;gap:8px;align-items:flex-start}
.mobile-home-actions .mobile-search-button{position:static;flex:0 0 auto}
.home-settings-intro{margin-bottom:0;background:linear-gradient(145deg,#fff7f8,#fff)}
.home-setting-row{padding:14px 15px;border:1px solid rgba(189,121,135,.18);border-radius:20px;background:linear-gradient(180deg,#fff,#fcfbfb);box-shadow:0 8px 20px rgba(27,21,22,.05)}
.home-setting-row>span:last-child{min-width:0;display:grid;gap:3px}
.home-setting-row strong{font-size:14px}
.home-setting-row small{color:var(--muted);line-height:1.35}
.mobile-recent-card{margin-top:0}
.mobile-recent-list{display:grid;gap:8px;margin-top:12px}
.mobile-recent-list .universal-result{min-height:64px;padding:10px 11px;border-radius:17px;box-shadow:none}
.mobile-recent-list .universal-result .quick-icon{width:38px;height:38px;margin:0;border-radius:13px}
.mobile-workout-recent{display:flex;align-items:center;gap:11px;margin-top:10px;padding:11px;border-radius:17px;background:#f8f7f7;border:1px solid rgba(189,121,135,.15)}
.mobile-workout-recent>span:last-child{display:grid;gap:2px;min-width:0}
.mobile-workout-recent strong{font-size:13px}
.mobile-workout-recent small{color:var(--muted);font-size:10px}
@media(max-width:390px){.mobile-home-actions{gap:6px}.mobile-home-actions .mobile-search-button{width:40px;height:40px}.home-setting-row{padding:12px}}

/* v3.20 · centro visual de progreso */
:root{--red-dark:#86192a}
.progress-command-center,.portal-progress-center{display:grid;gap:14px}
.progress-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.progress-command-hero,.portal-progress-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;overflow:hidden}
.progress-command-copy,.portal-progress-hero-copy{min-width:0;position:relative;z-index:1}
.progress-command-copy h1,.portal-progress-hero-copy h1{max-width:640px}
.progress-command-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
.progress-command-stats span{padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.065);backdrop-filter:blur(10px)}
.progress-command-stats strong,.progress-command-stats small{display:block}.progress-command-stats strong{font-size:20px;color:#fff}.progress-command-stats small{margin-top:3px;color:#cdc2c4;font-size:10px;font-weight:850}
.progress-orbit{--progress-score:0;position:relative;z-index:1;flex:0 0 auto;width:116px;height:116px;border-radius:999px;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--red) calc(var(--progress-score)*1%),rgba(255,255,255,.12) 0);box-shadow:0 22px 46px rgba(0,0,0,.22)}
.progress-orbit::before{content:'';position:absolute;inset:9px;border-radius:inherit;background:linear-gradient(145deg,#191415,#2d2426);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.progress-orbit strong,.progress-orbit span{position:relative;z-index:1;display:block}.progress-orbit strong{font-size:25px;color:#fff;letter-spacing:-.04em}.progress-orbit span{margin-top:2px;color:#cdc2c4;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.progress-orbit.empty{background:conic-gradient(rgba(255,255,255,.12) 100%,rgba(255,255,255,.12) 0)}
.progress-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.progress-next-review,.progress-publish-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0}
.progress-next-review.success{border-color:rgba(36,168,107,.24)}.progress-next-review.warning{border-color:rgba(239,169,47,.3)}.progress-next-review.danger{border-color:rgba(224,82,102,.34)}
.progress-analysis-summary{margin:0}.progress-analysis-summary .row{gap:18px}
.progress-highlight{display:flex;align-items:center;gap:11px;margin-top:14px;padding:12px 14px;border-radius:17px;color:#8b1f31;background:linear-gradient(135deg,#fff0f2,#fff8f9);border:1px solid rgba(183,35,58,.16)}
.progress-highlight span,.progress-highlight strong,.progress-highlight small{display:block}.progress-highlight small{margin-top:2px;color:#77505a}
.progress-section-heading{margin-top:4px;gap:12px}
.progress-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.progress-insight-grid.portal-progress-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.progress-insight-grid.descriptive{margin-top:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
.progress-insight-card{position:relative;min-width:0;min-height:210px;padding:17px;border:1px solid rgba(184,111,126,.2);border-radius:23px;background:linear-gradient(180deg,#fff,#fbfafa);box-shadow:0 12px 28px rgba(30,24,25,.07);overflow:hidden}
.progress-insight-card::after{content:'';position:absolute;right:-35px;top:-45px;width:115px;height:115px;border-radius:999px;background:radial-gradient(circle,rgba(183,35,58,.12),rgba(183,35,58,0) 70%)}
.progress-insight-card.performance::after{background:radial-gradient(circle,rgba(183,35,58,.15),rgba(183,35,58,0) 70%)}
.progress-insight-card.recovery::after{background:radial-gradient(circle,rgba(166,65,85,.14),rgba(166,65,85,0) 70%)}
.progress-insight-head,.progress-insight-foot{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px}
.progress-insight-head span{font-size:12px;font-weight:950;color:#59323a}.progress-insight-head small{font-size:9px;color:var(--muted);font-weight:850}
.progress-insight-value{position:relative;z-index:1;margin-top:12px;display:flex;align-items:baseline;gap:5px}.progress-insight-value strong{font-size:31px;letter-spacing:-.05em}.progress-insight-value em{font-size:11px;color:var(--muted);font-style:normal;font-weight:900}
.progress-insight-chart{height:70px;margin:8px -4px 5px}
.progress-sparkline{width:100%;height:100%;overflow:visible}.progress-sparkline .sparkline-base{stroke:rgba(172,87,104,.15);stroke-width:1;fill:none}.progress-sparkline polyline{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 6px 7px rgba(183,35,58,.18))}.progress-sparkline circle{fill:#fff;stroke:var(--red);stroke-width:3}
.progress-sparkline.recovery polyline{stroke:var(--teal)}.progress-sparkline.recovery circle{stroke:var(--teal)}
.trend-placeholder{height:100%;display:grid;place-items:center;color:#c07f8c;font-size:10px;font-weight:900;border-bottom:1px dashed rgba(172,87,104,.22)}
.progress-insight-foot{align-items:flex-end}.progress-insight-foot span,.progress-insight-foot b{font-size:9px;color:var(--muted);font-weight:850}.progress-insight-foot b{text-align:right;color:#884d59}.progress-insight-foot b.changed{color:var(--red)}
.progress-insight-caption{display:block;margin-top:10px;font-size:9px;line-height:1.4;color:#b56a79}
.progress-goals-card{margin:0}.goal-visual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.goal-visual{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding:13px;border:1px solid rgba(191,124,138,.2);border-radius:19px;background:linear-gradient(180deg,#fff,#fbfafa)}
.goal-visual.reached{border-color:rgba(36,168,107,.24);background:linear-gradient(180deg,#f7fffb,#eefaf4)}
.goal-visual h3{margin:0 0 3px;font-size:14px}.goal-visual p{margin-bottom:8px}
.goal-ring{--goal-progress:0;width:58px;height:58px;border-radius:999px;display:grid;place-items:center;background:conic-gradient(var(--red) calc(var(--goal-progress)*1%),#eeebeb 0);position:relative}
.goal-ring::before{content:'';position:absolute;inset:6px;border-radius:inherit;background:#fff}.goal-ring strong{position:relative;font-size:12px;color:var(--ink)}.goal-visual.reached .goal-ring{background:conic-gradient(var(--green) calc(var(--goal-progress)*1%),#dceee5 0)}
.progress-descriptive-details{margin:0;padding:0;overflow:hidden}.progress-descriptive-details summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px 18px;cursor:pointer}.progress-descriptive-details summary::-webkit-details-marker{display:none}.progress-descriptive-details summary>span:nth-child(2) strong,.progress-descriptive-details summary>span:nth-child(2) small{display:block}.progress-descriptive-details summary>span:nth-child(2) small{margin-top:2px;color:var(--muted);font-size:10px}.progress-descriptive-details[open] summary{border-bottom:1px solid var(--line)}.progress-descriptive-details[open] summary>svg:last-child{transform:rotate(90deg)}.progress-descriptive-details>.progress-insight-grid,.progress-descriptive-details>.notice{margin-left:18px;margin-right:18px}.progress-descriptive-details>.notice{margin-bottom:18px}
.evaluation-timeline-card{margin:0}.evaluation-timeline{display:grid;gap:0;margin-top:14px}.evaluation-timeline article{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0}.evaluation-timeline article:not(:last-child){border-bottom:1px solid var(--line)}.timeline-node{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--red),var(--red-dark));font-size:11px;font-weight:950;box-shadow:0 8px 18px rgba(183,35,58,.18)}.evaluation-timeline strong,.evaluation-timeline small{display:block}.evaluation-timeline small{margin-top:3px;color:var(--muted);font-size:10px}
.progress-secondary-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:12px}.progress-secondary-grid>.card{margin:0}
.progress-disclaimer{margin:0}.progress-empty-goals{margin:0}.progress-waiting-card{margin:0}.coach-progress-note{display:flex;align-items:flex-start;gap:13px;margin:0}.coach-progress-note .quick-icon{margin:0;flex:0 0 auto}.coach-progress-note p{margin-top:4px}
.portal-progress-center .progress-orbit{width:110px;height:110px}.portal-progress-center .progress-next-review{margin:0}.portal-progress-grid .progress-insight-card{min-height:196px}
@media(max-width:760px){.progress-command-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-insight-grid{grid-template-columns:1fr 1fr}.progress-secondary-grid{grid-template-columns:1fr}.progress-overview-grid{grid-template-columns:1fr}}
@media(max-width:520px){.progress-command-hero,.portal-progress-hero{grid-template-columns:1fr;align-items:start}.progress-orbit{width:96px;height:96px}.progress-command-hero .progress-orbit,.portal-progress-hero .progress-orbit{justify-self:end;margin-top:-8px}.progress-insight-grid,.progress-insight-grid.portal-progress-grid,.progress-insight-grid.descriptive,.goal-visual-grid{grid-template-columns:1fr}.progress-insight-card{min-height:200px}.progress-action-bar{align-items:stretch}.progress-action-bar>.btn{width:100%}.progress-action-bar>.row{width:100%;display:grid;grid-template-columns:1fr 1fr}.progress-next-review,.progress-publish-card{align-items:flex-start}.progress-section-heading{align-items:flex-start}.evaluation-timeline article{grid-template-columns:auto minmax(0,1fr)}.evaluation-timeline article>.chip{grid-column:2;justify-self:start}.progress-descriptive-details summary{padding:16px}}

/* v3.20 · biblioteca fundamental y selección múltiple de ejercicios */
.fundamental-picker{padding-bottom:88px}
.picker-intro{background:linear-gradient(145deg,#fff7f8,#fff 68%);border-color:rgba(191,31,52,.18)}
.picker-step{width:42px;height:42px;flex:0 0 42px;border-radius:15px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--blue),#8d1021);font-size:18px;font-weight:1000;box-shadow:0 12px 24px rgba(184,24,46,.22)}
.muscle-access{padding:15px;border:1px solid rgba(195,132,145,.2);border-radius:22px;background:linear-gradient(180deg,#fff,#fbfafa);box-shadow:0 10px 26px rgba(29,23,24,.06)}
.muscle-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.muscle-filter{min-height:58px;padding:9px;border:1px solid rgba(195,132,145,.24);border-radius:16px;display:grid;align-content:center;gap:3px;color:#623740;background:#fff;text-align:left;cursor:pointer;box-shadow:0 7px 16px rgba(29,23,24,.04)}
.muscle-filter strong,.muscle-filter small{display:block}.muscle-filter strong{font-size:10px;line-height:1.15}.muscle-filter small{color:var(--muted);font-size:9px;font-weight:900}
.muscle-filter.active{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--blue),#911126);box-shadow:0 12px 22px rgba(184,24,46,.2)}
.muscle-filter.active small{color:#ffdce1}
.picker-secondary-filters{border:1px solid rgba(195,132,145,.2);border-radius:17px;background:#fff;overflow:hidden}
.picker-secondary-filters summary{padding:12px 14px;display:flex;align-items:center;gap:8px;color:#74414b;font-size:10px;font-weight:950;cursor:pointer}
.picker-secondary-filters[open] summary{border-bottom:1px solid var(--line);background:#fbfafa}
.picker-secondary-filters .exercise-patterns{padding:12px}
.selection-status{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;padding:11px 13px;border-radius:17px;color:#6f1422;background:#fff1f3;border:1px solid #f3cad0}
.selection-status>span{grid-row:1/3;width:30px;height:30px;border-radius:11px;display:grid;place-items:center;color:#fff;background:var(--blue)}
.selection-status strong{font-size:11px}.selection-status small{font-size:9px;color:#8e5b63}
.multi-picker{max-height:390px}
.exercise-pick-card.fundamental{min-height:84px}
.exercise-pick-card b{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;color:#8b1627;background:#fff0f2;font-size:7px;font-style:normal;text-transform:uppercase;letter-spacing:.06em}
.exercise-pick-card:has(input:checked){border-color:var(--blue);background:linear-gradient(145deg,#fff5f6,#fff);box-shadow:0 8px 20px rgba(184,24,46,.12)}
.exercise-pick-card:has(input:checked)>i{border-color:var(--blue);background:var(--blue)}
.quick-prescription{display:grid;gap:12px;padding:15px;border:1px solid rgba(195,132,145,.2);border-radius:22px;background:linear-gradient(180deg,#fff,#fbfafa)}
.compact-presets{padding:10px}.compact-presets .preset-grid{margin-top:0}
.compact-advanced{background:#fff}.bulk-submit{padding-top:16px}
@media(max-width:520px){
  .muscle-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .muscle-filter{min-height:54px}
  .multi-picker{max-height:430px}
  .fundamental-picker{padding-bottom:26px}
}

/* v3.22 · constructor veloz: favoritos, recientes y plantillas */
.picker-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.picker-view-tabs button{min-height:54px;padding:9px 10px;border:1px solid rgba(195,132,145,.2);border-radius:16px;display:grid;align-content:center;gap:2px;color:#7d4752;background:rgba(255,255,255,.8);cursor:pointer;text-align:left}
.picker-view-tabs strong,.picker-view-tabs small{display:block}.picker-view-tabs strong{font-size:11px}.picker-view-tabs small{color:var(--muted);font-size:9px;font-weight:900}
.picker-view-tabs button.active{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--red),#861425);box-shadow:0 12px 24px rgba(183,35,58,.2)}
.picker-view-tabs button.active small{color:#ffd9df}
.exercise-pick-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid rgba(195,132,145,.18);border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(29,23,24,.05)}
.exercise-pick-shell.favorite{border-color:rgba(183,35,58,.22);box-shadow:0 10px 24px rgba(183,35,58,.08)}
.exercise-pick-shell .exercise-pick-card{border:0;border-radius:0;box-shadow:none;background:transparent}
.exercise-favorite{width:76px;border:0;border-left:1px solid rgba(195,132,145,.16);display:grid;place-content:center;gap:5px;color:#b05e6f;background:#fbf9fa;font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.exercise-favorite.active{color:#fff;background:linear-gradient(180deg,var(--red),#8d1526)}
.day-primary-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.routine-template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.routine-template-card{display:grid;gap:12px;padding:16px;border:1px solid rgba(195,132,145,.2);border-radius:22px;background:linear-gradient(180deg,#fff,#fbfafa);box-shadow:0 12px 28px rgba(29,23,24,.07)}
.routine-template-card.system{background:linear-gradient(145deg,#fff5f6,#fff 68%);border-color:rgba(183,35,58,.18)}
.routine-template-card h3{margin:8px 0 0;font-size:17px}.routine-template-card p{min-height:38px}
.template-count{width:36px;height:36px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--red),#7d1222);font-size:12px;font-weight:1000}
.template-exercise-preview{display:flex;flex-wrap:wrap;gap:6px}
.template-exercise-preview span{max-width:100%;padding:5px 8px;border-radius:999px;color:#7c4550;background:#f3f0f1;font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.template-library-intro{background:linear-gradient(145deg,#fff7f8,#fff)}
.day-actions{flex-wrap:wrap}
.day-actions button{min-width:max-content}
@media(max-width:620px){.routine-template-grid{grid-template-columns:1fr}.day-primary-actions{width:100%;justify-content:stretch}.day-primary-actions .btn{flex:1}.exercise-pick-shell{grid-template-columns:minmax(0,1fr) 64px}.exercise-favorite{width:64px}.picker-view-tabs button{min-height:50px;padding:8px}.day-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-actions button{min-width:0}}
@media(max-width:390px){.picker-view-tabs{gap:6px}.picker-view-tabs button{padding:7px}.picker-view-tabs strong{font-size:10px}.routine-template-card{padding:14px}.day-actions{grid-template-columns:1fr}}

/* v3.22 · portal compacto y presencia del entrenador */
.portal-topbar-compact{display:flex;align-items:center;justify-content:space-between;min-height:calc(58px + var(--safe-top));padding:calc(7px + var(--safe-top)) 12px 7px;gap:10px}
.portal-coach-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.portal-coach-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:13px;overflow:hidden;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--brand-bright),var(--brand),var(--brand-deep));box-shadow:0 8px 18px rgba(176,16,40,.22)}
.coach-avatar-image{width:100%;height:100%;object-fit:cover;display:block}
.coach-avatar-logo{display:grid;place-items:center}
.portal-topbar-compact .brand-name{font-size:16px;line-height:1.05}
.portal-topbar-compact .brand-subtitle{max-width:min(68vw,420px);font-size:10px}
.portal-exit-button{margin-left:auto;flex:0 0 42px}
.coach-profile-avatar{background:linear-gradient(135deg,var(--brand-bright),var(--brand),var(--brand-deep))}
.coach-photo-preview{background:linear-gradient(145deg,#fff1f3,#f8f7f7);color:var(--brand)}
@media(max-width:430px){.portal-topbar-compact{min-height:calc(54px + var(--safe-top));padding-left:10px;padding-right:10px}.portal-coach-avatar{width:34px;height:34px;flex-basis:34px;border-radius:11px}.portal-topbar-compact .brand-subtitle{max-width:62vw}.portal-exit-button{width:40px;height:40px;flex-basis:40px}}


/* v3.23 · modo iPhone horizontal: móvil ancho, no dashboard de escritorio */
@media (orientation:landscape) and (max-height:520px) and (max-width:980px){
  body{padding:0}
  .app-shell{width:100%;min-height:100dvh;border-radius:0;overflow-x:clip;padding-bottom:calc(70px + var(--safe-bottom))}
  .topbar,.premium-topbar,.portal-topbar{border-radius:0}
  .premium-topbar{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:'brand meta actions';min-height:calc(58px + var(--safe-top));padding:calc(6px + var(--safe-top)) 12px 7px;gap:8px}
  .premium-topbar .brand{grid-area:brand;min-width:0}
  .premium-topbar .topbar-meta{grid-area:meta;display:flex;align-items:center;gap:6px;justify-items:initial}
  .premium-topbar .top-actions{grid-area:actions;gap:6px}
  .brand-mark{width:38px;height:38px;border-radius:13px}
  .brand-mark svg{width:21px;height:21px}
  .brand-name{font-size:16px}
  .brand-subtitle{max-width:250px;font-size:10px}
  .topbar-pill{min-height:27px;padding:5px 9px;font-size:9px}
  .topbar-note{font-size:8px;white-space:nowrap}
  .icon-btn{width:38px;height:38px;border-radius:13px}
  .icon-btn svg{width:18px;height:18px}
  .screen{padding:12px 14px calc(78px + var(--safe-bottom))}
  .tablet-only{display:none!important}
  .mobile-only{display:block!important}
  .coach-journey{display:none!important}
  .home-desktop-dashboard{display:none!important}
  .home-mobile-dashboard{display:grid!important;gap:12px}
  .tablet-grid,.client-layout,.coach-center-grid,.progress-overview-grid,.progress-secondary-grid{grid-template-columns:1fr!important}
  .client-layout>.sticky-panel{position:static!important}
  .plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-home-hero{min-height:138px;padding:18px 20px;border-radius:22px}
  .mobile-home-hero h1{max-width:420px;font-size:clamp(30px,6.5vw,42px)}
  .mobile-summary-strip{margin-top:-26px}
  .mobile-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-quick-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .card{border-radius:20px}
  h1{font-size:clamp(27px,5vw,38px)}
  h2{font-size:clamp(21px,3.7vw,29px)}
  .bottom-nav{bottom:max(5px,var(--safe-bottom));width:min(calc(100% - 24px),640px);padding:5px 8px;border-radius:19px;overflow:visible}
  .nav-btn{min-height:45px;padding:4px 5px;border-radius:14px;font-size:9px;gap:1px}
  .nav-btn svg{width:19px;height:19px}
  .fab{right:12px;bottom:calc(62px + var(--safe-bottom));width:48px;height:48px;border-radius:17px}
  .fab svg{width:22px;height:22px}
  .modal-backdrop{align-items:center;padding:10px}
  .modal{width:min(92vw,760px);max-height:92dvh;border-radius:24px;padding-bottom:18px}
  .portal-topbar-compact{min-height:calc(52px + var(--safe-top));padding:calc(5px + var(--safe-top)) 10px 6px}
  .portal-coach-avatar{width:34px;height:34px;flex-basis:34px;border-radius:11px}
  .portal-topbar-compact .brand-name{font-size:15px}
  .portal-topbar-compact .brand-subtitle{max-width:62vw;font-size:9px}
  .portal-exit-button{width:38px;height:38px;flex-basis:38px}
  .portal-nav{width:min(calc(100% - 20px),760px);padding-left:5px;padding-right:5px}
  .portal-nav .nav-btn{font-size:8px}
}

@media (orientation:landscape) and (max-height:430px) and (max-width:980px){
  .topbar-note{display:none}
  .brand-subtitle{max-width:210px}
  .mobile-home-hero{min-height:122px;padding:15px 18px}
  .mobile-home-hero p{display:none}
  .mobile-summary-strip{margin-top:-22px}
}

/* v3.24 · espacios de trabajo táctiles para iPhone */
.mobile-builder-dock{display:none}

@media(max-width:699px){
  .client-portfolio-section,.program-command-section{gap:11px}
  .client-portfolio-hero,.program-command-hero{padding:16px;border-radius:22px}
  .client-portfolio-hero h1,.program-command-hero h1{font-size:29px}
  .client-portfolio-hero p,.program-command-hero p{max-width:38rem;font-size:11px;line-height:1.42}
  .client-portfolio-hero .btn,.program-command-hero .row.start>.btn{min-height:43px}
  .portfolio-metrics{display:flex;gap:7px;margin-top:13px;overflow-x:auto;padding:1px 1px 5px;scroll-snap-type:x proximity;scrollbar-width:none}
  .portfolio-metrics::-webkit-scrollbar{display:none}
  .portfolio-metrics>div{flex:0 0 105px;min-width:105px;padding:9px 10px;border-radius:15px;scroll-snap-align:start}
  .portfolio-metrics strong{font-size:20px}
  .portfolio-metrics span{font-size:8px}
  .portfolio-toolbar{position:sticky;top:calc(72px + var(--safe-top));z-index:16;margin:0 -3px;padding:9px;border-color:rgba(201,24,54,.12);border-radius:18px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(27,21,22,.09)}
  .premium-search input{min-height:44px}
  .portfolio-filters{gap:6px;padding-bottom:2px}
  .filter-pill{min-height:38px;padding:7px 10px}
  .portfolio-result-head{align-items:center;padding:1px 2px}
  .portfolio-result-head .chip{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .client-portfolio-card{padding:14px;border-radius:19px}
  .client-card-goal{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .client-card-tags{display:flex;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .client-card-tags::-webkit-scrollbar{display:none}
  .client-card-tags .chip{flex:0 0 auto}
  .client-card-footer{margin-top:11px}
  .premium-program-card{padding:15px;border-radius:20px}
  .premium-program-card>h2{margin-top:12px;font-size:21px}
  .program-goal{min-height:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .program-day-preview{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity;scrollbar-width:none}
  .program-day-preview::-webkit-scrollbar{display:none}
  .program-day-preview span{flex:0 0 96px;scroll-snap-align:start}
  .program-card-actions .btn{min-height:48px}
  .client-segments{position:sticky;top:calc(72px + var(--safe-top));z-index:15;margin:0 -2px;padding:6px;border:1px solid rgba(201,24,54,.12);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 10px 24px rgba(27,21,22,.08);backdrop-filter:blur(16px)}
  .client-segments .segment{min-height:40px;padding:8px 12px}
  .program-builder-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
  .program-builder-modal>.modal-head{top:0;margin:0;padding:calc(8px + var(--safe-top)) 12px 9px}
  .program-builder-modal>.program-builder{max-height:calc(100dvh - 62px - var(--safe-top));padding:11px 11px calc(94px + var(--safe-bottom))}
  .program-builder-summary{padding:15px;border-radius:19px}
  .program-builder-summary h1{font-size:22px}
  .program-builder-summary p{font-size:10px}
  .builder-score{width:60px;height:60px;flex-basis:60px;border-radius:18px;font-size:17px}
  .day-navigator{position:sticky;top:0;z-index:5;margin:0 -1px;padding:11px;border-color:rgba(201,24,54,.13);background:rgba(255,255,255,.96);box-shadow:0 10px 24px rgba(27,21,22,.08);backdrop-filter:blur(16px)}
  .day-navigator h3{font-size:16px}
  .program-day-tabs{margin-top:9px}
  .day-primary-actions{display:none}
  .mobile-builder-dock{position:sticky;z-index:6;bottom:0;display:grid;grid-template-columns:.85fr 1.15fr;gap:8px;margin:10px -4px 2px;padding:10px 4px calc(8px + var(--safe-bottom));background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98) 22%)}
  .mobile-builder-dock .btn{min-height:48px;margin:0}
  .program-exercise-card{padding:11px}
  .exercise-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .exercise-actions button{min-width:0;min-height:36px;padding:6px}
  .exercise-picker-form .picker-view-tabs{position:sticky;top:-1px;z-index:4;padding:5px 0;background:#fff}
  .exercise-picker-form .exercise-submit-bar{bottom:0;padding-bottom:calc(7px + var(--safe-bottom))}
  .portal-nav{display:flex;grid-template-columns:none;justify-content:flex-start;gap:2px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}
  .portal-nav::-webkit-scrollbar{display:none}
  .portal-nav .nav-btn{flex:0 0 76px;min-width:76px;min-height:55px;scroll-snap-align:center;font-size:9px}
  .portal-screen{padding-bottom:calc(90px + var(--safe-bottom))}
  .portal-primary-action{padding:15px;gap:11px}
  .portal-action-icon{width:46px;height:46px;border-radius:16px}
  .portal-day-card{padding:14px}
}

@media(max-width:390px){
  .portfolio-metrics>div{flex-basis:96px;min-width:96px}
  .portfolio-result-head .chip{display:none}
  .mobile-builder-dock{grid-template-columns:1fr}
  .exercise-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portal-nav .nav-btn{flex-basis:72px;min-width:72px}
}

@media (orientation:landscape) and (max-height:520px) and (max-width:980px){
  .modal-backdrop:has(.program-builder-modal){align-items:stretch;padding:0}
  .program-builder-modal{width:100vw!important;max-width:none!important;height:100dvh;max-height:100dvh;border-radius:0!important;margin:0}
  .client-portfolio-hero,.program-command-hero{padding:13px 15px}
  .client-portfolio-hero h1,.program-command-hero h1{font-size:25px;margin-bottom:5px}
  .client-portfolio-hero p,.program-command-hero p{display:none}
  .client-portfolio-hero .portfolio-metrics,.program-command-hero .portfolio-metrics{margin-top:9px}
  .portfolio-metrics>div{flex-basis:96px;min-width:96px;padding:7px 9px}
  .portfolio-toolbar{top:calc(58px + var(--safe-top));padding:7px}
  .client-segments{top:calc(58px + var(--safe-top))}
  .client-card-grid,.premium-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-portfolio-card,.premium-program-card{padding:12px}
  .program-day-preview{margin:10px 0}
  .program-card-stats span{padding:7px}
  .fab{display:none!important}
  .program-builder-modal>.modal-head{padding:calc(5px + var(--safe-top)) 10px 6px}
  .program-builder-modal>.program-builder{max-height:calc(100dvh - 51px - var(--safe-top));padding:8px 10px calc(78px + var(--safe-bottom))}
  .program-builder-summary{padding:11px 14px}
  .program-builder-summary p,.builder-steps{display:none}
  .program-builder-summary .program-card-stats{margin-top:8px}
  .day-navigator{padding:8px 10px}
  .program-day-tabs{margin-top:6px}
  .program-day-card{padding:10px}
  .day-note-input{min-height:48px}
  .day-primary-actions{display:none}
  .mobile-builder-dock{display:grid;grid-template-columns:1fr 1.25fr;margin-top:6px;padding-top:7px;padding-bottom:calc(5px + var(--safe-bottom))}
  .exercise-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:42dvh}
  .portal-nav{width:min(calc(100% - 20px),680px)}
  .portal-nav .nav-btn{flex-basis:72px;min-width:72px;min-height:45px}
  .portal-primary-action{grid-template-columns:44px minmax(0,1fr) auto;padding:11px}
  .portal-action-icon{width:42px;height:42px}
}

/* v3.25 · beta readiness, form recovery and touch accessibility */
.form-feedback{margin:0 0 12px;padding:11px 13px;border:1px solid rgba(201,24,54,.22);border-radius:14px;color:#8f1830;background:#fff0f3;font-size:12px;font-weight:800;line-height:1.4}
form[aria-busy="true"]{position:relative}
form[aria-busy="true"] button[type="submit"]{cursor:wait;opacity:.72}
input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"],input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#c91836!important;box-shadow:0 0 0 3px rgba(201,24,54,.11)!important}
button:disabled,.btn:disabled{cursor:not-allowed;filter:saturate(.72);opacity:.58}
.modal-close{min-width:44px;min-height:44px;touch-action:manipulation}

@media (hover:none) and (pointer:coarse){
  button,.btn,.segment,.rule-chip,.chip-button,[data-action],[data-tab],[data-portal-tab],[data-client-tab]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .btn,.segment,.rule-chip,.modal-close,.icon-button,.topbar-action,.exercise-actions button{min-height:44px}
  .exercise-actions button{padding:8px}
  input,select{min-height:46px}
  textarea{min-height:92px}
  label.toggle-row{min-height:52px}
}

@media (orientation:landscape) and (max-height:520px) and (max-width:980px){
  .form-feedback{margin-bottom:8px;padding:8px 10px}
  .modal-close{width:44px;height:44px}
}

/* v3.26 · cierre móvil: densidad, sesión estable y acciones útiles */
.home-topbar{transition:min-height .2s ease,padding .2s ease}
.mobile-summary-inline{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.12)}
.mobile-summary-inline span{min-width:0;display:flex;align-items:baseline;gap:5px;color:#fff}
.mobile-summary-inline strong{font-size:19px;line-height:1}
.mobile-summary-inline small{color:#d8c4ca;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.compact-home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;min-height:0!important;padding:18px 18px 15px!important}
.compact-home-hero h1{max-width:none!important;margin:4px 0 4px;font-size:31px!important;line-height:1.02!important;letter-spacing:-.055em!important}
.compact-home-hero p{font-size:11px!important}
.compact-home-hero .mobile-home-actions{position:static;display:flex;gap:6px}
.compact-home-hero .mobile-search-button{width:40px;height:40px;border-radius:13px}
.compact-command-grid{gap:8px}
.compact-command-grid .mobile-command{min-height:66px;padding:11px 12px;border-radius:18px;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;text-align:left}
.compact-command-grid .mobile-command>span{grid-row:1/3;width:36px;height:36px;border-radius:12px}
.compact-command-grid .mobile-command strong{font-size:12px}
.compact-command-grid .mobile-command small{font-size:9px}

/* El selector de ejercicios usa el desplazamiento del modal; ninguna lista interna se aplasta. */
.exercise-picker-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.exercise-picker-modal .exercise-picker-form{padding-bottom:calc(92px + var(--safe-bottom))}
.exercise-picker-modal .exercise-picker-grid{max-height:none;overflow:visible;align-items:stretch}
.exercise-picker-modal .exercise-pick-shell{min-height:94px}
.exercise-picker-modal .exercise-pick-card{min-height:94px;grid-template-columns:42px minmax(0,1fr) 24px;gap:11px;padding:13px 12px}
.exercise-picker-modal .exercise-pick-icon{width:42px;height:42px;border-radius:14px}
.exercise-picker-modal .exercise-pick-card strong{font-size:14px;line-height:1.2}
.exercise-picker-modal .exercise-pick-card small{font-size:10px;line-height:1.3}
.exercise-picker-modal .exercise-pick-card em{font-size:9px;line-height:1.3}
.exercise-picker-modal .exercise-pick-card b{display:inline-flex;margin-top:6px;padding:3px 7px;border-radius:999px;color:#9e1730;background:#ffe9ee;font-size:8px;text-transform:uppercase;letter-spacing:.05em}
.exercise-picker-modal .exercise-favorite{width:58px;font-size:7px;line-height:1.2}
.exercise-picker-modal .exercise-submit-bar{position:sticky;bottom:calc(-18px - var(--safe-bottom));z-index:12;margin:4px -15px calc(-18px - var(--safe-bottom));padding:14px 15px calc(12px + var(--safe-bottom));background:linear-gradient(180deg,rgba(249,247,247,0),rgba(249,247,247,.98) 24%)}

/* Presets explicados, no botones misteriosos. */
.preset-guide{display:grid;gap:9px;width:100%}
.preset-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.preset-guide-grid button{min-height:62px!important;padding:9px 10px!important;display:grid;align-content:center;gap:3px;text-align:left;border-radius:14px!important}
.preset-guide-grid button strong{margin:0!important;font-size:11px!important}
.preset-guide-grid button small{display:block;color:var(--muted);font-size:8px;font-weight:800;line-height:1.3}
.preset-explanation{padding:9px 11px;border:1px solid rgba(201,24,54,.13);border-radius:13px;color:#5e4b52;background:#fff7f8;font-size:10px;line-height:1.4}
.preset-explanation strong{color:#9c1730}.preset-explanation span{display:block;margin-top:2px;color:var(--muted);font-size:9px}

/* Checkboxes de recordatorios compactos y legibles en iOS. */
.check-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;flex:0 0 22px;width:22px!important;height:22px!important;min-height:22px!important;margin:0;border:1.5px solid #c58995;border-radius:7px;background:#fff;display:grid;place-items:center;accent-color:var(--brand)}
.check-row input[type="checkbox"]:checked{border-color:#c63754;background:#c63754;box-shadow:0 4px 10px rgba(198,55,84,.18)}
.reminder-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.reminder-choice{position:relative;align-items:center;min-height:48px;padding:9px 10px;border:1px solid rgba(195,132,145,.22);border-radius:14px;background:#fff}
.reminder-choice .reminder-checkmark{position:absolute;left:14px;width:14px;color:transparent;pointer-events:none}
.reminder-choice:has(input:checked) .reminder-checkmark{color:#fff}
.reminder-choice>span:last-child{min-width:0;padding-left:2px;color:#5c333b;font-size:10px;font-weight:850;line-height:1.25}

/* Las burbujas ocupan solamente lo que mide el mensaje. */
.message-list,.portal-message-list{align-content:start;grid-auto-rows:max-content}
.bubble{width:max-content;min-width:0;min-height:0;max-width:min(84%,520px);padding:10px 13px;align-self:start;overflow-wrap:anywhere;white-space:normal}
.bubble.me{justify-self:end;margin-left:0}
.portal-message-list{min-height:0}

/* Tareas con una acción principal y una salida clara. */
.task-item{align-items:start}
.task-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.task-actions .btn{min-height:38px;padding:7px 10px;font-size:9px}
.task-reminder-status{display:flex;align-items:center;gap:5px;margin-top:6px;color:#8c1730;font-weight:850}
.task-done .task-actions{display:none}

/* La sesión guiada es una superficie completa y estable, no una capa que parpadea. */
.modal-backdrop:has(.workout-modal){align-items:stretch;padding:0;background:#f9f7f7;backdrop-filter:none;-webkit-backdrop-filter:none}
.workout-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}
.workout-modal>.modal-head{top:0;margin:0;padding:calc(9px + var(--safe-top)) 15px 10px}
.workout-modal>.workout-shell{padding:12px 12px calc(28px + var(--safe-bottom))}
.workout-clock.paused{border-color:rgba(255,196,92,.32);background:rgba(255,196,92,.09)}
.workout-safety-status.paused{color:#ffd38a;border-color:rgba(255,196,92,.30);background:rgba(255,196,92,.09)}
.workout-command-dock{grid-template-columns:repeat(2,minmax(0,1fr));bottom:calc(6px + var(--safe-bottom))}
.workout-command-dock .danger-text{grid-column:1/-1}

@media(max-width:699px){
  .home-topbar{min-height:calc(64px + var(--safe-top))!important;padding:calc(8px + var(--safe-top)) 12px 8px!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'brand actions'!important}
  .home-topbar .topbar-meta{display:none!important}
  .home-topbar .brand-mark{width:42px;height:42px;border-radius:14px}
  .home-topbar .brand-name{font-size:18px;line-height:1.05}
  .home-topbar .brand-subtitle{max-width:46vw;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .home-topbar .top-actions{gap:5px}
  .home-topbar .icon-btn{width:42px;height:42px;border-radius:14px}
  .home-mobile-dashboard{gap:10px!important}
  .mobile-section-head{padding-top:0}
  .mobile-section-head h2{font-size:18px}
  .mobile-quick-row{gap:7px}
  .mobile-quick-row button{min-height:64px;padding:8px 5px;border-radius:17px;gap:5px}
  .mobile-quick-row button span{width:30px;height:30px;border-radius:10px}
  .mobile-next-card,.mobile-recent-card{padding:14px}
  .exercise-picker-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding-bottom:0}
  .exercise-picker-modal>.modal-head{top:0;margin:-17px -15px 12px;padding:calc(10px + var(--safe-top)) 15px 10px}
  .exercise-picker-modal .picker-intro{padding:14px}
  .exercise-picker-modal .picker-intro h2{font-size:22px}
  .exercise-picker-modal .picker-intro p{font-size:10px}
  .exercise-picker-modal .muscle-access{padding:14px}
  .exercise-picker-modal .muscle-filter{min-height:47px}
  .exercise-picker-modal .selection-status{position:sticky;top:65px;z-index:7;box-shadow:0 8px 20px rgba(27,21,22,.08)}
  .exercise-picker-modal .exercise-picker-grid{grid-template-columns:1fr!important;gap:10px}
  .exercise-picker-modal .exercise-pick-shell{grid-template-columns:minmax(0,1fr) 54px}
  .exercise-picker-modal .exercise-favorite{width:54px}
  .reminder-choice-grid{grid-template-columns:1fr}
  .task-item{grid-template-columns:34px minmax(0,1fr);grid-template-areas:'check main' '. tail'!important;padding:13px}
  .task-item .task-tail{margin-top:8px}
  .workout-command-dock{position:sticky;grid-template-columns:1fr 1fr!important;padding:8px;border-radius:18px}
  .workout-command-dock .btn{min-height:46px;padding:9px 8px;font-size:10px}
  .workout-command-dock .danger-text{grid-column:1/-1!important}
}

@media(max-width:390px){
  .compact-home-hero h1{font-size:28px!important}
  .mobile-summary-inline strong{font-size:17px}
  .mobile-summary-inline small{font-size:8px}
  .preset-guide-grid{grid-template-columns:1fr!important}
  .exercise-picker-modal .exercise-pick-card{grid-template-columns:38px minmax(0,1fr) 22px;padding:12px 10px}
  .exercise-picker-modal .exercise-pick-icon{width:38px;height:38px}
}

/* v3.27 · perfil profesional, privacidad y centro Más renovado */
.coach-profile-overview{background:linear-gradient(145deg,#fff4f5,#fff 62%);border-color:rgba(183,35,58,.16)}
.coach-profile-form .span-two{grid-column:1/-1}
.coach-profile-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.coach-profile-progress{display:grid;gap:6px;margin-top:14px}.coach-profile-progress small{color:#c9bac0;font-size:9px;font-weight:850}
.privacy-controls{background:linear-gradient(180deg,#fff,#fbf7f8)}
.master-visibility{margin-top:14px;border-color:rgba(183,35,58,.18);background:#fff4f5}
.visibility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.visibility-row{min-height:76px;padding:12px;border:1px solid rgba(195,132,145,.2);border-radius:17px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;background:#fff;cursor:pointer}
.visibility-row>input{position:absolute;opacity:0;pointer-events:none}.visibility-row .toggle-ui{width:42px;height:26px}.visibility-row strong,.visibility-row small{display:block}.visibility-row strong{font-size:10px}.visibility-row small{margin-top:3px;color:var(--muted);font-size:8px;line-height:1.35}
.coach-public-card{display:grid;gap:14px;padding:20px;border:1px solid rgba(183,35,58,.16);border-radius:26px;background:radial-gradient(circle at 100% 0%,rgba(226,36,67,.1),transparent 32%),linear-gradient(145deg,#fff,#fff8f9);box-shadow:0 18px 38px rgba(43,14,21,.08)}
.coach-public-card.preview{border-color:rgba(183,35,58,.25);box-shadow:0 22px 44px rgba(183,35,58,.12)}
.coach-public-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px}.coach-public-head h2{margin:2px 0 3px}.coach-public-head p{color:var(--muted);font-size:10px;font-weight:750}
.coach-public-avatar{width:66px;height:66px;border-radius:22px;overflow:hidden;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--brand-bright),var(--brand),var(--brand-deep));box-shadow:0 14px 28px rgba(183,35,58,.2)}
.coach-public-bio{margin:0;padding:13px 14px;border-left:3px solid var(--brand);border-radius:0 15px 15px 0;color:#643841;background:#fff;font-size:11px;line-height:1.55}
.coach-public-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.coach-public-facts>div{padding:11px 12px;border:1px solid rgba(195,132,145,.18);border-radius:16px;background:rgba(255,255,255,.78)}
.coach-public-facts small,.coach-public-facts strong{display:block}.coach-public-facts small{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.coach-public-facts strong{margin-top:4px;color:#48282f;font-size:10px;line-height:1.35}
.coach-public-contact{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.coach-public-contact::-webkit-scrollbar{display:none}.coach-contact-chip{flex:0 0 auto;max-width:240px;padding:10px 12px;border-radius:15px;background:#231d20;color:#fff}.coach-contact-chip small,.coach-contact-chip strong{display:block}.coach-contact-chip small{color:#d5c5ca;font-size:7px;text-transform:uppercase;letter-spacing:.08em}.coach-contact-chip strong{margin-top:3px;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-btn [data-sc-icon="more"]{stroke-width:2.2}.nav-btn.active [data-sc-icon="more"]{filter:drop-shadow(0 4px 7px rgba(183,35,58,.22))}
.coach-command-avatar{overflow:hidden}.coach-command-avatar .coach-avatar-image{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.coach-profile-actions{grid-column:1/-1;width:100%;justify-content:stretch}.coach-profile-actions .btn{flex:1}.coach-profile-premium>.btn{grid-column:auto}.coach-command-metrics{margin-top:14px}}
@media(max-width:520px){.visibility-grid{grid-template-columns:1fr}.coach-public-facts{grid-template-columns:1fr}.coach-public-card{padding:16px;border-radius:22px}.coach-public-avatar{width:58px;height:58px;border-radius:19px}.coach-profile-form .field-grid.two{grid-template-columns:1fr}.coach-profile-form .span-two{grid-column:auto}}


/* v3.29 · Continuidad guiada entre dispositivos */
.device-continuity{gap:14px}
.continuity-hero{overflow:hidden;position:relative}
.continuity-hero:after{content:"";position:absolute;right:-58px;bottom:-76px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(201,24,54,.28),rgba(201,24,54,0) 68%);pointer-events:none}
.continuity-status-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;position:relative;z-index:1}
.continuity-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.continuity-step-number{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#c91836,#961128);color:#fff;font-weight:850;box-shadow:0 8px 18px rgba(158,18,43,.22)}
.continuity-step h2{margin-top:2px}
.continuity-device-form{align-items:end}
.continuity-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.continuity-choice-grid>div{padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.continuity-choice-grid strong,.continuity-choice-grid small{display:block}
.continuity-choice-grid small{margin-top:5px;color:var(--muted);line-height:1.45}
.continuity-recovery-link .row{gap:14px}
@media(max-width:699px){
  .continuity-step{grid-template-columns:36px minmax(0,1fr);gap:10px;padding:14px}
  .continuity-step-number{width:34px;height:34px;border-radius:12px}
  .continuity-choice-grid{grid-template-columns:1fr}
  .continuity-device-form .btn{width:100%}
  .continuity-recovery-link .row{display:grid;grid-template-columns:1fr}
  .continuity-recovery-link .btn{width:100%}
}

/* v3.29 · ilustraciones optimizadas de ejercicios */
.exercise-media{position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f5f1f2,#f7f5f5)}
.exercise-media img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.exercise-media-fallback{gap:5px;color:#692a36;text-align:center}
.exercise-media-fallback small{font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#a55162}
.exercise-pick-icon{overflow:hidden;padding:0}
.exercise-pick-icon.has-illustration{background:#f2f0f0;border:1px solid rgba(95,48,57,.12)}
.exercise-pick-icon img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.program-exercise-card{grid-template-columns:34px 58px minmax(0,1fr);align-items:start}
.program-exercise-thumb{width:58px;height:72px;border-radius:14px;border:1px solid rgba(167,82,99,.16);background:#f4f2f2}
.program-exercise-thumb img{object-fit:cover;object-position:center 25%}
.library-exercise-media{width:100%;height:170px;margin-bottom:12px;border-radius:15px;border:1px solid rgba(167,82,99,.14);background:#f5f3f3}
.library-exercise-media img{object-fit:contain}
.movement-visual{min-height:310px;padding:0;overflow:hidden;background:linear-gradient(145deg,#f2f0f0,#f5f2f3)}
.movement-illustration{width:100%;height:100%;min-height:310px;border-radius:22px;background:transparent}
.movement-illustration img{object-fit:contain;object-position:center}
@media(max-width:520px){
  .program-exercise-card{grid-template-columns:28px 48px minmax(0,1fr);gap:8px}
  .program-exercise-thumb{width:48px;height:62px;border-radius:12px}
  .movement-visual{min-height:265px;grid-auto-flow:row;justify-content:stretch}
  .movement-illustration{min-height:265px}
  .library-exercise-media{height:150px}
}
@media(max-height:430px) and (orientation:landscape){
  .workout-movement-stage{grid-template-columns:210px minmax(0,1fr)}
  .movement-visual,.movement-illustration{min-height:205px;height:205px}
}

/* v3.30 · fichas técnicas de ejercicios */
.exercise-technique-modal{width:min(760px,calc(100vw - 28px));max-height:min(90dvh,860px)}
.exercise-technique{display:grid;gap:14px}.technique-hero{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:18px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,#faf8f9,#fff)}
.technique-illustration{display:block;min-height:230px;border-radius:20px;overflow:hidden;background:#f3f0f1}.technique-illustration img{width:100%;height:100%;min-height:230px;object-fit:cover;display:block}.technique-illustration.exercise-media-fallback{display:grid;place-items:center;align-content:center;gap:8px;color:#864c57}.technique-hero h2{margin:4px 0 5px;font-size:28px}.technique-hero p{margin:0;color:var(--muted);font-size:11px;font-weight:800}
.technique-muscles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.technique-muscles span{padding:10px;border-radius:14px;background:#f4f1f2}.technique-muscles small,.technique-muscles strong{display:block}.technique-muscles small{color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.technique-muscles strong{margin-top:3px;color:var(--navy);font-size:10px;line-height:1.35}
.technique-cue{display:flex;gap:10px;align-items:flex-start;padding:13px 14px;border-radius:17px;color:#7d4d13;background:#fff7df;border:1px solid #f3dfaa}.technique-cue svg{flex:0 0 auto}.technique-cue strong,.technique-cue span{display:block}.technique-cue span{font-size:10px;line-height:1.5}.technique-cue strong{margin-bottom:2px;font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.technique-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.technique-grid article{padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff}.technique-grid ol,.technique-grid ul{display:grid;gap:8px;margin:10px 0 0;padding-left:20px}.technique-grid li{color:#6d3e47;font-size:10px;line-height:1.5}.technique-errors{background:#fff8f8!important;border-color:#f0d7dc!important}.technique-safety{margin:0}.technique-coach-note{margin:0}
.exercise-pick-actions{display:flex;flex-direction:column;width:68px;border-left:1px solid rgba(195,132,145,.18)}.exercise-pick-actions button{flex:1;width:100%;min-height:46px;border:0;border-bottom:1px solid rgba(195,132,145,.15);background:#fbf9fa;color:#864c57;font-size:7px;font-weight:950;display:grid;place-items:center;align-content:center;gap:3px;cursor:pointer}.exercise-pick-actions button:last-child{border-bottom:0}.exercise-pick-actions button:hover,.exercise-technique-trigger:focus-visible{color:#8e1730;background:#fff1f4}.exercise-pick-actions .exercise-favorite.active{color:#8e1730;background:#fff1f4}
.portal-exercise-row.visual{grid-template-columns:32px 58px minmax(0,1fr) auto;align-items:center}.portal-exercise-thumb{width:58px;height:58px;border-radius:14px;overflow:hidden;background:#f2f0f0}.portal-exercise-thumb img{width:100%;height:100%;object-fit:cover}.portal-exercise-tools{display:grid;justify-items:end;gap:7px}.workout-technique-button{margin-top:10px}.workout-technique{margin-top:14px;padding:14px;border:1px solid rgba(195,132,145,.22);border-radius:22px;background:#fbf9fa}.workout-technique .technique-hero{grid-template-columns:170px minmax(0,1fr);padding:12px}.workout-technique .technique-illustration,.workout-technique .technique-illustration img{min-height:150px}.workout-technique .technique-hero h2{font-size:21px}.workout-technique .technique-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workout-technique .technique-grid article{padding:11px}.workout-technique .technique-safety{background:#fff}
@media(max-width:700px){.exercise-technique-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0}.technique-hero,.workout-technique .technique-hero{grid-template-columns:1fr}.technique-illustration,.technique-illustration img{min-height:220px;height:220px}.technique-grid,.workout-technique .technique-grid{grid-template-columns:1fr}.portal-exercise-row.visual{grid-template-columns:28px 52px minmax(0,1fr) auto;gap:8px}.portal-exercise-thumb{width:52px;height:52px}.exercise-pick-shell{grid-template-columns:minmax(0,1fr) 60px}.exercise-pick-actions{width:60px}.workout-technique{padding:10px}.workout-technique .technique-illustration,.workout-technique .technique-illustration img{min-height:190px;height:190px}}
@media(max-width:430px){.technique-hero{padding:12px}.technique-hero h2{font-size:23px}.technique-muscles{grid-template-columns:1fr}.portal-exercise-row.visual{grid-template-columns:26px 48px minmax(0,1fr)}.portal-exercise-thumb{width:48px;height:48px}.portal-exercise-tools{grid-column:3;grid-template-columns:auto auto;justify-content:start;align-items:center}.exercise-pick-actions{width:56px}.exercise-pick-shell{grid-template-columns:minmax(0,1fr) 56px}}

/* v3.31 · cierre de sesión y feedback posterior */
.workout-debrief-card{display:grid;gap:16px;border-color:rgba(54,43,45,.12);background:linear-gradient(180deg,#fff,#faf9f9)}
.workout-debrief-card h2{margin:0}.debrief-section{display:grid;gap:9px;padding-top:4px}.debrief-section>strong{font-size:12px}.debrief-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.debrief-choice,.debrief-energy button{min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-weight:850}.debrief-choice.active,.debrief-energy button.active{border-color:var(--blue);box-shadow:0 0 0 2px rgba(157,58,78,.12);background:#f9f3f4;color:#7a2536}.debrief-choice.warning.active{border-color:var(--amber);background:#fff7e8;color:#915e00}.debrief-energy{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.workout-feedback-summary{display:grid;gap:12px}
@media(max-width:520px){.debrief-options{grid-template-columns:1fr}.debrief-energy{gap:6px}.debrief-energy button{min-width:0}}


/* v3.32 · selector visual persistente de ejercicios */
.picker-view-tabs.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.muscle-access.compact{padding:14px;border:1px solid rgba(195,132,145,.18);border-radius:20px;background:#fff}
.muscle-filter-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:thin;scroll-snap-type:x proximity}
.muscle-filter-chip{flex:0 0 auto;min-width:96px;min-height:48px;padding:8px 10px;border:1px solid rgba(195,132,145,.22);border-radius:15px;display:grid;align-content:center;gap:2px;color:#75424c;background:#fbf9fa;text-align:left;cursor:pointer;scroll-snap-align:start}
.muscle-filter-chip strong,.muscle-filter-chip small{display:block}.muscle-filter-chip strong{font-size:10px}.muscle-filter-chip small{color:var(--muted);font-size:8px;font-weight:900}.muscle-filter-chip.active{color:#fff;border-color:transparent;background:linear-gradient(145deg,var(--red),#861425);box-shadow:0 10px 20px rgba(183,35,58,.18)}.muscle-filter-chip.active small{color:#ffdce2}
.exercise-picker-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.exercise-picker-toolbar .picker-secondary-filters{min-width:150px;margin:0}.exercise-picker-search{position:relative}.exercise-picker-search input{padding-right:42px}.search-clear{position:absolute;right:7px;top:50%;width:30px;height:30px;transform:translateY(-50%);border:0;border-radius:10px;display:grid;place-items:center;color:#7b5360;background:#fff0f3;cursor:pointer}
.selection-status{grid-template-columns:34px minmax(0,1fr) auto}.selection-status>span{grid-row:auto}.selection-status>div{min-width:0}.selection-status>button{border:0;border-radius:11px;padding:8px 10px;color:#8f1830;background:#fff;font-size:8px;font-weight:950;cursor:pointer}.selection-status.active{color:#fff;background:linear-gradient(145deg,#b71935,#7f1225);border-color:transparent;box-shadow:0 12px 24px rgba(151,20,43,.2)}.selection-status.active small{color:#ffdce2}.selection-status.active>span{color:#9e1730;background:#fff}
.selected-exercise-queue{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;min-height:34px}.picker-selection-empty{margin:0;color:var(--muted);font-size:9px;font-weight:800}.selected-exercise-chip{flex:0 0 auto;max-width:220px;min-height:32px;padding:6px 8px 6px 10px;border:1px solid #efc9d1;border-radius:999px;display:flex;align-items:center;gap:7px;color:#8d1730;background:#fff5f7;font-size:9px;font-weight:900;cursor:pointer}.selected-exercise-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exercise-picker-grid.visual-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.visual-picker .exercise-pick-shell{min-height:132px}.visual-picker .exercise-pick-card{grid-template-columns:74px minmax(0,1fr) 24px;min-height:132px;padding:10px}.visual-picker .exercise-pick-icon{width:74px;height:104px;border-radius:15px}.visual-picker .exercise-pick-icon img{object-fit:cover;object-position:center 34%}.exercise-pick-shell.selected{border-color:#b71935;box-shadow:0 12px 26px rgba(151,20,43,.14)}
.exercise-submit-bar.bulk-submit{grid-template-columns:minmax(120px,1fr) auto auto;align-items:center}.submit-selection-copy strong,.submit-selection-copy small{display:block}.submit-selection-copy strong{font-size:11px}.submit-selection-copy small{margin-top:2px;color:var(--muted);font-size:8px}
@media(max-width:700px){.picker-view-tabs.four{grid-template-columns:repeat(2,minmax(0,1fr))}.exercise-picker-toolbar{grid-template-columns:1fr}.exercise-picker-toolbar .picker-secondary-filters{min-width:0}.exercise-picker-grid.visual-picker{grid-template-columns:1fr}.visual-picker .exercise-pick-shell{min-height:118px}.visual-picker .exercise-pick-card{grid-template-columns:66px minmax(0,1fr) 22px;min-height:118px}.visual-picker .exercise-pick-icon{width:66px;height:94px}.exercise-submit-bar.bulk-submit{grid-template-columns:1fr 1fr}.submit-selection-copy{grid-column:1/-1}.exercise-picker-modal .selection-status{top:64px}}
@media(max-width:390px){.visual-picker .exercise-pick-card{grid-template-columns:58px minmax(0,1fr) 20px;gap:8px}.visual-picker .exercise-pick-icon{width:58px;height:86px}.exercise-submit-bar.bulk-submit{grid-template-columns:1fr}.submit-selection-copy{grid-column:auto}}

/* v3.33 · biblioteca visual final y selector inteligente */
.picker-view-tabs.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.picker-smart-tools{display:flex;gap:8px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin}
.picker-smart-tools button{flex:0 0 auto;min-height:40px;padding:8px 11px;border:1px solid rgba(195,132,145,.22);border-radius:13px;display:flex;align-items:center;gap:6px;color:#7c4550;background:#fff;font-size:9px;font-weight:950;cursor:pointer}
.picker-smart-tools button small{min-width:20px;padding:2px 5px;border-radius:999px;color:#7a5360;background:#fff0f3;text-align:center;font-size:7px}
.picker-smart-tools button.active{border-color:#b71935;color:#8f1730;background:#fff2f5;box-shadow:0 7px 18px rgba(151,20,43,.09)}
.picker-smart-tools button:disabled{opacity:.45;cursor:not-allowed}
.exercise-pick-icon.has-illustration img{background:linear-gradient(180deg,#f9f8f8,#f1eeef)}
@media(max-width:760px){.picker-view-tabs.five{grid-template-columns:repeat(2,minmax(0,1fr))}.picker-view-tabs.five button:last-child{grid-column:1/-1}.picker-smart-tools{margin-right:-3px}}

/* v3.34 · progreso visual, salud cardíaca y creación asistida */
.visibility-row>input:checked+.toggle-ui{background:var(--green)}
.visibility-row>input:checked+.toggle-ui::after{transform:translateX(18px)}
.visibility-row.selected{border-color:rgba(127,51,66,.42);background:#f1fbf7;box-shadow:0 8px 20px rgba(127,51,66,.08)}
.photo-source-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.photo-source-button{min-height:88px;padding:14px;border:1px solid rgba(195,132,145,.22);border-radius:18px;display:grid;align-content:center;gap:5px;background:#fff;cursor:pointer;transition:.18s ease}
.photo-source-button:hover{transform:translateY(-1px);border-color:rgba(183,25,52,.34);box-shadow:0 10px 24px rgba(30,24,25,.07)}
.photo-source-button input{position:absolute;opacity:0;pointer-events:none}.photo-source-button span{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:11px;font-weight:950}.photo-source-button small{color:var(--muted);font-size:8px;line-height:1.4}
.photo-source-button.camera{background:linear-gradient(145deg,#fff4f6,#fff)}.photo-source-button.gallery{background:linear-gradient(145deg,#f7f5f5,#fff)}
.photo-permission-note{margin-top:10px}.progress-photo-section{overflow:hidden}.progress-photo-preview{min-height:86px;padding:10px;border:1px dashed rgba(195,132,145,.34);border-radius:17px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;background:#fbf9fa}
.prepared-progress-photo{position:relative;overflow:hidden;border-radius:14px;background:#efebec;aspect-ratio:3/4}.prepared-progress-photo img{width:100%;height:100%;object-fit:cover}.prepared-progress-photo>span{position:absolute;left:7px;bottom:7px;padding:4px 7px;border-radius:999px;color:#fff;background:rgba(30,24,25,.74);font-size:8px;font-weight:900}.prepared-progress-photo>button{position:absolute;right:7px;top:7px;width:27px;height:27px;border:0;border-radius:999px;display:grid;place-items:center;color:#fff;background:rgba(30,24,25,.74);cursor:pointer}
.progress-photo-comparison{overflow:hidden}.progress-photo-comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.progress-photo-set,.progress-photo-empty{padding:12px;border:1px solid rgba(195,132,145,.2);border-radius:18px;background:#fbf9fa}.progress-photo-set strong,.progress-photo-set small{display:block}.progress-photo-set small{color:var(--muted);font-size:8px}.progress-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}.progress-photo-strip figure{margin:0;overflow:hidden;border-radius:13px;background:#efebec}.progress-photo-strip img{width:100%;aspect-ratio:3/4;object-fit:cover}.progress-photo-strip figcaption{padding:5px;text-align:center;color:#814854;font-size:7px;font-weight:900}.progress-photo-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:6px;color:var(--muted);text-align:center}.progress-photo-empty strong{color:var(--ink)}
.heart-rate-center{max-width:760px}.heart-rate-hero{display:flex;justify-content:space-between;align-items:center;gap:14px;background:linear-gradient(145deg,#fff2f5,#fff)}.heart-pulse-orb{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#c0203e,#821327);box-shadow:0 14px 28px rgba(183,25,52,.22)}.native-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.native-health-grid button{padding:14px;border:1px solid rgba(195,132,145,.22);border-radius:16px;display:grid;gap:4px;text-align:left;background:#fff;cursor:pointer}.native-health-grid strong{font-size:10px}.native-health-grid small{color:var(--muted);font-size:8px}.heart-reading-value{min-width:58px;color:#a01832;font-size:20px;font-weight:950}.heart-reading-value small{display:block;color:var(--muted);font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.routine-assistant-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;background:linear-gradient(145deg,#f7f5f5,#fff4f6)}.routine-assistant-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#792f3e,#59202b);box-shadow:0 12px 24px rgba(121,47,62,.18)}.routine-create-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.coach-live-preview{border-color:rgba(127,51,66,.28);background:linear-gradient(145deg,#f4fbf8,#fff)}
.assessment-reuse-note{background:#f7f5f5;border-color:rgba(127,51,66,.22)}
@media(max-width:700px){.photo-source-grid,.progress-photo-comparison-grid,.native-health-grid,.routine-create-actions{grid-template-columns:1fr}.progress-photo-preview{grid-template-columns:repeat(3,minmax(78px,1fr));overflow-x:auto}.progress-photo-strip{gap:5px}.heart-rate-hero{align-items:flex-start}.heart-pulse-orb{width:52px;height:52px;border-radius:17px;flex:0 0 auto}}

/* v3.35 · comparador visual y asistente contextual */
.prepared-progress-photo{display:grid;grid-template-rows:minmax(0,1fr) auto;aspect-ratio:auto;min-height:210px}
.prepared-progress-photo img{min-height:0;aspect-ratio:3/4}
.prepared-progress-photo>label{display:grid;gap:3px;padding:7px;background:#fff}
.prepared-progress-photo>label span{color:var(--muted);font-size:7px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.prepared-progress-photo>label select{min-height:32px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fbf9fa;font-size:9px;font-weight:900}
.progress-photo-compare{gap:14px}.progress-compare-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;background:linear-gradient(145deg,#f7f4f5,#fff4f6)}
.progress-compare-intro h2{margin:3px 0 5px}.progress-compare-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.progress-compare-pose{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:5px;border:1px solid var(--line);border-radius:16px;background:#f6f5f5}
.progress-compare-pose button{min-height:39px;border:0;border-radius:12px;color:#824954;background:transparent;font-size:9px;font-weight:950;cursor:pointer}
.progress-compare-pose button.active{color:#fff;background:linear-gradient(145deg,#b71935,#821329);box-shadow:0 8px 18px rgba(151,20,43,.18)}
.progress-compare-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.progress-compare-photo-card{overflow:hidden;padding:0;border:1px solid var(--line);border-radius:20px;background:#fff}
.progress-compare-photo-card header,.progress-compare-photo-card>.row{display:flex;justify-content:space-between;gap:10px;padding:12px 13px}.progress-compare-photo-card header strong,.progress-compare-photo-card header small,.progress-compare-photo-card>.row strong,.progress-compare-photo-card>.row small{display:block}.progress-compare-photo-card header small,.progress-compare-photo-card>.row small{margin-top:3px;color:var(--muted);font-size:8px}
.progress-compare-photo-card img{display:block;width:100%;max-height:520px;aspect-ratio:3/4;object-fit:cover;background:#f2eeef}.progress-compare-missing{min-height:360px;display:grid;place-items:center;align-content:center;gap:8px;padding:24px;color:var(--muted);text-align:center;background:#f7f5f5}.progress-compare-missing strong{color:var(--ink)}
.progress-compare-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.progress-compare-metrics>div{padding:11px;border-radius:14px;background:#f8f6f7}.progress-compare-metrics span,.progress-compare-metrics strong,.progress-compare-metrics small{display:block}.progress-compare-metrics span{color:var(--muted);font-size:8px;font-weight:900}.progress-compare-metrics strong{margin-top:4px;font-size:11px}.progress-compare-metrics small{margin-top:3px;color:#612833;font-size:8px;font-weight:950}
.routine-context-card{padding:14px;border:1px solid rgba(127,51,66,.24);border-radius:19px;background:linear-gradient(145deg,#f3fbf8,#fff)}.routine-context-card.empty{display:flex;align-items:center;gap:11px;border-style:dashed}.routine-context-card.empty strong,.routine-context-card.empty small{display:block}.routine-context-card.empty small{margin-top:3px;color:var(--muted);font-size:8px}.assistant-context-signals{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.assistant-context-signals span{display:inline-flex;align-items:center;gap:4px;padding:6px 8px;border-radius:999px;color:#633840;background:#e9f7f2;font-size:8px;font-weight:900}.assistant-context-warning{margin-top:10px}.assistant-context-warning span strong,.program-assistant-warning span strong{display:block;margin-bottom:2px}.program-assistant-warning{margin-top:12px;color:#7b4b14;background:rgba(255,246,219,.12);border-color:rgba(255,228,154,.25)}
@media(max-width:700px){.progress-compare-controls,.progress-compare-images,.progress-compare-metrics{grid-template-columns:1fr}.progress-compare-intro{display:grid}.progress-compare-missing{min-height:250px}.progress-compare-photo-card img{max-height:none}.prepared-progress-photo{min-width:94px}}

/* v3.36 · bandeja de progreso del cliente y revisión profesional */
.portal-progress-update-card{border-color:rgba(127,51,66,.22);background:linear-gradient(145deg,#f4fbf8,#fff)}
.portal-progress-update-card h2,.progress-submission-inbox h2{margin:3px 0 5px}.portal-progress-update-form{max-width:780px}
.progress-submission-list{display:grid;gap:9px;margin-top:13px}.progress-submission-list.coach{gap:7px}
.progress-submission-item{width:100%;padding:12px;border:1px solid rgba(195,132,145,.22);border-radius:17px;display:grid;gap:9px;color:var(--ink);background:#fff;text-align:left}
button.progress-submission-item{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;cursor:pointer;transition:.18s ease}
button.progress-submission-item:hover{transform:translateY(-1px);border-color:rgba(183,25,52,.28);box-shadow:0 10px 22px rgba(30,24,25,.07)}
.progress-submission-item.warning{border-color:rgba(218,154,43,.32);background:#fffaf0}.progress-submission-item.success{border-color:rgba(127,51,66,.28);background:#f4fbf8}.progress-submission-item.blue{border-color:rgba(155,77,92,.26);background:#f9f6f7}.progress-submission-item.danger{border-color:rgba(183,25,52,.2);background:#fff6f7}
.progress-submission-item strong,.progress-submission-item small{display:block}.progress-submission-item small{margin-top:3px;color:var(--muted);font-size:8px}.progress-submission-item>p{margin:0;font-size:9px;line-height:1.5}
.progress-submission-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.progress-submission-photos figure{margin:0;overflow:hidden;border-radius:13px;background:#efebec}.progress-submission-photos img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.progress-submission-photos figcaption{padding:5px;text-align:center;color:#814854;background:#fff;font-size:7px;font-weight:900}.progress-submission-photos.large{gap:10px}.progress-submission-photos.large figure{border-radius:17px}
.progress-review-note,.progress-client-note{padding:10px 11px;border-radius:13px;background:rgba(155,77,92,.08)}.progress-review-note strong,.progress-review-note span,.progress-client-note strong{display:block}.progress-review-note strong,.progress-client-note strong{font-size:8px}.progress-review-note span{margin-top:3px;color:#74424c;font-size:8px;line-height:1.45}.progress-client-note p{margin:5px 0 0;font-size:9px;line-height:1.55}
.progress-submission-empty{min-height:92px;margin-top:13px;padding:14px;border:1px dashed rgba(195,132,145,.32);border-radius:17px;display:flex;align-items:center;gap:11px;color:var(--muted);background:#fbf9fa}.progress-submission-empty strong,.progress-submission-empty small{display:block}.progress-submission-empty strong{color:var(--ink);font-size:10px}.progress-submission-empty small{margin-top:3px;font-size:8px}
.progress-submission-inbox{overflow:hidden}.progress-submission-inbox.has-pending{border-color:rgba(218,154,43,.3);box-shadow:0 14px 30px rgba(169,111,18,.07)}
.progress-submission-review{max-width:820px}.progress-submission-review .tint-amber{border-color:rgba(218,154,43,.28);background:linear-gradient(145deg,#fff9e9,#fff)}
.review-decision-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.review-decision-actions .btn{min-height:46px}
@media(max-width:700px){button.progress-submission-item{grid-template-columns:minmax(0,1fr) auto}.progress-submission-item>svg{display:none}.progress-submission-photos{grid-template-columns:repeat(3,minmax(76px,1fr));overflow-x:auto}.review-decision-actions{grid-template-columns:1fr}.portal-progress-update-card>.row{display:grid}.portal-progress-update-card .btn{width:100%;margin-top:8px}}

/* v3.37 · calendario automático de reevaluaciones */
.progress-schedule-automation{position:relative;overflow:hidden;border-left:4px solid var(--blue,#d8647b)}
.progress-schedule-automation.warning{border-left-color:var(--amber,#d28b13)}
.progress-schedule-automation.danger{border-left-color:var(--red,#c84242)}
.progress-schedule-automation.success{border-left-color:var(--green,#2d9a74)}
.progress-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}
.progress-schedule-grid>span{display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:14px;background:var(--surface-soft,#f5f2f3);min-width:0}
.progress-schedule-grid strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.progress-schedule-grid small{color:var(--muted,#716a70);font-size:11px}
.portal-progress-window{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;border-radius:14px;background:var(--surface-soft,#f5f2f3)}
.portal-progress-window>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:12px;background:rgba(216,100,123,.1)}
.portal-progress-window div{display:flex;flex-direction:column;gap:3px}
.portal-progress-window small{color:var(--muted,#716a70)}
.portal-progress-window.danger{background:rgba(200,66,66,.09)}
.portal-progress-window.teal{background:rgba(125,52,66,.09)}
.portal-progress-schedule{display:grid;gap:14px}
.portal-progress-schedule.warning{border-color:rgba(210,139,19,.35)}
.portal-progress-schedule.danger{border-color:rgba(200,66,66,.35)}
.portal-progress-schedule.success{border-color:rgba(45,154,116,.3)}
@media(max-width:680px){.progress-schedule-grid{grid-template-columns:1fr}.progress-schedule-automation .row.between{align-items:stretch}.progress-schedule-automation .row.wrap{width:100%}.progress-schedule-automation .row.wrap .btn{flex:1}}

/* v3.38 · flujo operativo y bitácora rápida */
.action-desk-button{position:relative}
.action-desk{gap:16px}
.action-desk-hero{overflow:hidden;position:relative}
.action-desk-hero::after{content:"";position:absolute;right:-54px;bottom:-74px;width:180px;height:180px;border-radius:50%;border:28px solid rgba(255,255,255,.06)}
.action-desk-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px;position:relative;z-index:1}
.action-desk-metrics span{display:flex;flex-direction:column;gap:2px;padding:11px;border-radius:15px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08)}
.action-desk-metrics strong{font-size:21px}.action-desk-metrics small{font-size:11px;color:rgba(255,255,255,.68)}
.action-desk-tabs,.task-filters{margin:0;overflow-x:auto;display:flex;flex-wrap:nowrap;padding-bottom:4px}
.action-desk-tabs .filter-pill,.task-filters .filter-pill{flex:0 0 auto}
.action-desk-section{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--card)}
.action-desk-section .list{margin:0}
.quick-grid .quick-card.priority{grid-column:span 2;background:linear-gradient(145deg,var(--card),var(--violet-soft));border-color:color-mix(in srgb,var(--violet) 25%,var(--line))}
.action-sheet .action-tile.featured{grid-column:span 2;background:var(--violet-soft);border-color:color-mix(in srgb,var(--violet) 28%,var(--line))}
.task-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.task-center-head>div{display:grid;gap:7px}
.task-actions{flex-wrap:wrap}
.task-snooze{font-size:12px!important;padding-inline:10px!important}
.client-quick-notes{overflow:hidden}
.quick-note-list{display:grid;gap:10px;margin-top:14px}
.quick-note-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.quick-note-item .quick-icon{margin:0}.quick-note-item p{margin:5px 0 8px;line-height:1.45}.quick-note-item small{color:var(--muted)}
.quick-note-client{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;background:var(--soft)}
.quick-note-client span{display:grid;gap:2px}.quick-note-client small{color:var(--muted)}
.quick-note-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quick-note-categories label{cursor:pointer;position:relative}
.quick-note-categories input{position:absolute;opacity:0;pointer-events:none}
.quick-note-categories span{display:grid;gap:3px;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--card);transition:.18s ease}
.quick-note-categories small{color:var(--muted);font-size:11px;line-height:1.35}
.quick-note-categories input:checked+span{border-color:var(--violet);background:var(--violet-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--violet) 16%,transparent)}
@media(max-width:620px){.action-desk-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.action-desk-section{padding:13px}.quick-note-categories{grid-template-columns:1fr}.quick-grid .quick-card.priority,.action-sheet .action-tile.featured{grid-column:span 2}.task-item .task-tail{align-self:flex-start}.task-actions .task-snooze{display:inline-flex}}

/* v3.39 · productividad en lote y cierre rápido de sesión */
.task-batch-launch{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:10px 12px;border:1px dashed var(--line);border-radius:15px;background:var(--soft)}
.task-batch-bar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;padding:12px;border:1px solid rgba(168,82,99,.22);border-radius:17px;background:color-mix(in srgb,var(--violet-soft) 86%,#fff);box-shadow:0 10px 28px rgba(70,40,46,.10)}
.task-batch-bar>div:first-child{display:grid;gap:2px}.task-batch-bar small{color:var(--muted)}
.task-select-toggle{display:grid;place-items:center;width:29px;height:29px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted)}
.task-select-toggle.selected{border-color:var(--violet);background:var(--violet);color:#fff;box-shadow:0 5px 14px rgba(168,82,99,.22)}
.appointment-desk-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.appointment-desk-main{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;text-align:left;background:transparent;border:0;padding:0;color:inherit}
.session-close-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--soft)}
.session-close-summary>span:nth-child(2){display:grid;gap:3px;min-width:0}.session-close-summary small{color:var(--muted)}
.session-close-form .toggle-row{background:linear-gradient(180deg,#fff,#fdfafb)}
@media(max-width:620px){
  .task-batch-launch{align-items:flex-start;flex-direction:column}
  .task-batch-bar{top:62px;align-items:flex-start;flex-direction:column}
  .task-batch-bar .row{width:100%}.task-batch-bar .btn{flex:1}
  .appointment-desk-item{grid-template-columns:1fr}.appointment-desk-item>.btn{width:100%}
  .session-close-summary{grid-template-columns:auto minmax(0,1fr)}.session-close-summary>.chip{grid-column:2;justify-self:start}
}

/* v3.40 · plantillas operativas */
.productivity-template-picker{display:grid;gap:10px;padding:13px;border:1px solid #e4dddf;border-radius:18px;background:linear-gradient(145deg,#fbf9fa,#f6f3f4)}
.productivity-template-picker>.row>span{display:grid;gap:2px}.productivity-template-picker>.row small{color:var(--muted);font-size:10px}
.productivity-template-chips{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:thin}
.template-chip{flex:0 0 auto;min-width:142px;display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid #dbd3d4;border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 4px 12px rgba(47,37,39,.05)}
.template-chip strong{font-size:11px}.template-chip small{font-size:9px;color:var(--muted)}.template-chip.active{border-color:var(--teal);background:#f3eff0;box-shadow:0 0 0 2px rgba(114,38,53,.11)}
.template-manager-list{display:grid;gap:10px}.template-manager-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:11px;padding:14px;border:1px solid #e1dadb;border-radius:18px;background:#fff}.template-manager-card>div{min-width:0}.template-manager-card p{margin:7px 0;font-size:12px;line-height:1.45}.template-manager-card small{display:block;color:var(--muted);font-size:10px;line-height:1.4;margin-bottom:9px}
@media(min-width:700px){.template-manager-list{grid-template-columns:1fr 1fr}.productivity-template-chips{flex-wrap:wrap;overflow:visible}}


/* v3.41 · accesos rápidos y siguiente acción contextual */
.client-shortcut-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;margin-bottom:12px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow-sm)}
.client-shortcut-copy{display:flex;flex-direction:column;min-width:150px}.client-shortcut-copy strong{font-size:.93rem}.client-shortcut-list{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:2px;scrollbar-width:none}.client-shortcut-list::-webkit-scrollbar{display:none}.client-shortcut{display:flex;align-items:center;gap:7px;min-width:max-content;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 9px 5px 5px;color:var(--text);font:inherit}.client-shortcut.pinned{border-color:color-mix(in srgb,var(--red) 32%,var(--line));background:color-mix(in srgb,var(--red) 7%,var(--surface))}.client-shortcut span{font-size:.78rem;font-weight:750;max-width:105px;overflow:hidden;text-overflow:ellipsis}.shortcut-avatar{width:30px!important;height:30px!important;font-size:.68rem!important}.client-shortcut-manage{display:flex;align-items:center;gap:6px;min-width:max-content;border:1px dashed var(--line-strong);background:transparent;color:var(--text);border-radius:999px;padding:8px 10px;font:inherit;font-size:.78rem;font-weight:800}
.client-pin-button{display:grid;place-items:center;width:34px;height:34px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:rgba(255,255,255,.78)}.client-pin-button.active{background:rgba(255,255,255,.95);color:var(--red);border-color:transparent}.client-next-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;border-left:4px solid var(--teal)}.client-next-action.amber{border-left-color:var(--amber)}.client-next-action.blue{border-left-color:var(--blue)}.client-next-action.violet{border-left-color:var(--violet)}.client-next-action h2{margin:2px 0 4px}.client-switcher section{display:grid;gap:10px}.client-switcher-list{display:grid;gap:8px}.client-switcher-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:5px}.client-switcher-main{display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;color:var(--text);padding:7px;font:inherit;min-width:0}.client-switcher-main>span{display:grid;min-width:0}.client-switcher-main strong,.client-switcher-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-switcher-main small{color:var(--muted);font-size:.76rem}.switcher-avatar{width:38px!important;height:38px!important}.client-switcher-pin{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft);color:var(--muted)}.client-switcher-pin.active{color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--surface));border-color:color-mix(in srgb,var(--red) 28%,var(--line))}
@media(max-width:760px){.client-shortcut-bar{display:block}.client-shortcut-copy{margin-bottom:9px}.client-next-action{grid-template-columns:auto 1fr}.client-next-action .btn{grid-column:1/-1;width:100%}}


/* v3.42 · constructor oscuro y corrección de ilustraciones */
.program-builder-summary{
  background:
    radial-gradient(circle at 86% 18%, rgba(255,77,109,.24), transparent 30%),
    radial-gradient(circle at 18% 92%, rgba(255,98,72,.18), transparent 34%),
    linear-gradient(145deg,#0e0b0c 0%, #1f191a 48%, #2a0f16 100%);
  box-shadow:0 18px 42px rgba(16,8,10,.34);
}
.program-builder-summary .eyebrow,
.program-builder-summary p{color:rgba(255,255,255,.78)}
.program-builder-summary .program-card-stats span,
.program-builder-summary .builder-steps span,
.program-builder-summary .builder-score{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
}
.program-builder-summary .builder-steps span.done b,
.program-builder-summary .builder-steps span.current b{
  background:linear-gradient(145deg,#ff274f,#ff5d5f);
  box-shadow:0 10px 22px rgba(255,44,81,.24);
}
.program-builder-summary .progress{
  background:rgba(255,255,255,.12);
}
.program-builder-summary .progress span{
  background:linear-gradient(90deg,#ff2d55 0%,#ff5f57 55%,#ff7a59 100%);
  box-shadow:0 6px 18px rgba(255,45,85,.32);
}
.program-builder-summary .program-card-stats small,
.program-builder-summary .builder-score small{color:rgba(255,255,255,.7)}
.program-builder-modal>.modal-head{
  background:linear-gradient(180deg,rgba(250,250,250,.98),rgba(250,250,250,.94));
}

.program-exercise-thumb,
.portal-exercise-thumb,
.technique-illustration,
.movement-illustration,
.library-exercise-media,
.exercise-pick-icon.has-illustration{
  display:block;
  overflow:hidden;
  position:relative;
}
.program-exercise-thumb,
.portal-exercise-thumb,
.technique-illustration,
.movement-illustration,
.library-exercise-media,
.exercise-pick-icon.has-illustration,
.exercise-media-fallback{
  isolation:isolate;
}
.program-exercise-thumb,
.portal-exercise-thumb,
.library-exercise-media,
.exercise-pick-icon.has-illustration{
  background:linear-gradient(180deg,#faf9f9,#f2f0f0);
}
.program-exercise-thumb img,
.portal-exercise-thumb img,
.library-exercise-media img,
.exercise-pick-icon.has-illustration img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  padding:4px;
}
.program-exercise-thumb{display:grid;place-items:center}
.portal-exercise-thumb{display:grid;place-items:center}
.library-exercise-media{display:grid;place-items:center}
.exercise-pick-icon.has-illustration{display:grid;place-items:center}
.technique-illustration{
  background:linear-gradient(180deg,#f7f6f6,#f2eeef);
}
.technique-illustration img{
  width:100%;
  height:100%;
  min-height:230px;
  display:block;
  object-fit:contain;
  object-position:center;
  padding:10px;
}
.movement-illustration img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  padding:8px;
}
.program-exercise-card,
.portal-exercise-row.visual{
  align-items:start;
}
@media(max-width:700px){
  .program-builder-summary{
    background:
      radial-gradient(circle at 84% 14%, rgba(255,77,109,.24), transparent 28%),
      linear-gradient(145deg,#100d0d 0%, #231b1d 52%, #2e1018 100%);
  }
  .program-exercise-thumb img,
  .portal-exercise-thumb img,
  .exercise-pick-icon.has-illustration img{
    padding:3px;
  }
  .technique-illustration img,
  .movement-illustration img{
    padding:6px;
  }
}

/* v3.41.1 · corrección visual del constructor en escritorio y móvil */
.program-builder-summary{
  background:
    radial-gradient(circle at 88% 12%,rgba(201,24,54,.34),transparent 32%),
    radial-gradient(circle at 8% 100%,rgba(201,24,54,.14),transparent 36%),
    linear-gradient(145deg,#19171a 0%,#0d0c0e 58%,#050506 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 18px 44px rgba(11,9,9,.28);
}
.program-builder-summary .builder-score{
  background:linear-gradient(145deg,#c91836,#7f0f23);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 10px 24px rgba(201,24,54,.28);
}
.program-builder-summary .builder-steps span{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
}
.program-builder-summary .builder-steps .done{
  background:rgba(201,24,54,.18);
  border-color:rgba(255,94,121,.30);
}
.program-builder-summary .builder-steps .done b{
  color:#fff;
  background:#c91836;
}
.program-builder-summary .builder-steps .current b{
  color:#19171a;
  background:#fff;
}
.program-builder-summary .progress{background:rgba(255,255,255,.12)}
.program-builder-summary .progress>span{background:linear-gradient(90deg,#ff274d,#c91836)}

.program-exercise-card{
  overflow:hidden;
  min-width:0;
  isolation:isolate;
  align-items:start;
}
.program-exercise-thumb{
  display:grid;
  place-items:center;
  overflow:hidden;
  min-width:0;
  max-width:100%;
  aspect-ratio:4/5;
  height:auto;
  background:linear-gradient(180deg,#f7f7f8,#ececef);
}
.program-exercise-thumb img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
}
.program-exercise-main,.program-exercise-main>.row,.program-exercise-main>.row>div{min-width:0}
.program-exercise-main h4,.program-exercise-main p{overflow-wrap:anywhere}
.exercise-actions{position:relative;z-index:1}

.technique-illustration img,.portal-exercise-thumb img,.exercise-pick-icon img{
  object-fit:contain;
  object-position:center;
}
.technique-illustration,.portal-exercise-thumb,.exercise-pick-icon.has-illustration{
  background:linear-gradient(180deg,#f7f7f8,#ececef);
}

@media(max-width:760px){
  .program-builder-summary{border-radius:20px}
  .program-exercise-card{grid-template-columns:30px 54px minmax(0,1fr)}
  .program-exercise-thumb{width:54px}
}
@media(max-width:520px){
  .program-builder-summary{padding:15px}
  .program-builder-summary .row.between{align-items:flex-start}
  .program-exercise-card{grid-template-columns:27px 46px minmax(0,1fr);gap:8px;padding:10px}
  .program-exercise-thumb{width:46px;border-radius:11px}
  .program-exercise-main>.row.between{align-items:flex-start;gap:6px}
  .program-exercise-main>.row.between .mini-icon{flex:0 0 auto}
  .exercise-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .exercise-actions button{width:100%;min-width:0}
}

/* v3.43 · sistema cromático unificado y modo oscuro */
:root,
html[data-theme="light"]{
  --sc-bg:#e7e2e4;
  --sc-shell:#f8f5f6;
  --sc-surface:#ffffff;
  --sc-surface-2:#f7f3f4;
  --sc-surface-3:#eee8ea;
  --sc-elevated:#ffffff;
  --sc-text:#19171a;
  --sc-muted:#70686d;
  --sc-line:#ded5d8;
  --sc-line-strong:#cbbfc3;
  --sc-brand:#c91836;
  --sc-brand-deep:#8d1025;
  --sc-brand-bright:#f0445d;
  --sc-brand-soft:#fbe8ec;
  --sc-success:#1f9866;
  --sc-success-deep:#116a49;
  --sc-success-soft:#e8f6ef;
  --sc-warning:#d28b13;
  --sc-warning-deep:#7b4b14;
  --sc-warning-soft:#fff3d8;
  --sc-danger:#d8324c;
  --sc-danger-deep:#8d1526;
  --sc-danger-soft:#fde8ec;
  --sc-neutral:#51494e;
  --sc-shadow:0 14px 34px rgba(31,22,26,.09);
  --sc-shadow-strong:0 24px 64px rgba(24,16,20,.20);
  --ink:var(--sc-text);
  --muted:var(--sc-muted);
  --surface:var(--sc-surface);
  --surface-2:var(--sc-surface-2);
  --surface-3:var(--sc-surface-3);
  --line:var(--sc-line);
  --brand:var(--sc-brand);
  --brand-deep:var(--sc-brand-deep);
  --brand-bright:var(--sc-brand-bright);
  --brand-soft:var(--sc-brand-soft);
  --blue:var(--sc-brand);
  --blue-2:var(--sc-brand-bright);
  --teal:var(--sc-brand-deep);
  --violet:var(--sc-neutral);
  --green:var(--sc-success);
  --amber:var(--sc-warning);
  --red:var(--sc-danger);
  --navy:#151216;
  --navy-2:#242025;
  --graphite:#151216;
  --graphite-2:#242025;
  --shadow:var(--sc-shadow);
  --shadow-strong:var(--sc-shadow-strong);
  --premium-shadow-soft:var(--sc-shadow);
  --premium-shadow:var(--sc-shadow-strong);
  --premium-surface:var(--sc-surface-2);
  --premium-surface-2:rgba(255,255,255,.90);
  --premium-line:rgba(118,99,108,.22);
  --premium-cyan:#ff8f9c;
}
html[data-theme="dark"]{
  --sc-bg:#070608;
  --sc-shell:#0e0c0f;
  --sc-surface:#171419;
  --sc-surface-2:#201c21;
  --sc-surface-3:#2a252b;
  --sc-elevated:#231e24;
  --sc-text:#f7f3f5;
  --sc-muted:#b9afb4;
  --sc-line:#3b3439;
  --sc-line-strong:#51484e;
  --sc-brand:#e12d4b;
  --sc-brand-deep:#a81530;
  --sc-brand-bright:#ff536b;
  --sc-brand-soft:#351821;
  --sc-success:#38b77f;
  --sc-success-deep:#85d9b2;
  --sc-success-soft:#142c23;
  --sc-warning:#e3a53f;
  --sc-warning-deep:#ffd48a;
  --sc-warning-soft:#332716;
  --sc-danger:#f04a61;
  --sc-danger-deep:#ff9baa;
  --sc-danger-soft:#35171f;
  --sc-neutral:#c2b8bd;
  --sc-shadow:0 16px 40px rgba(0,0,0,.28);
  --sc-shadow-strong:0 28px 76px rgba(0,0,0,.48);
  --ink:var(--sc-text);
  --muted:var(--sc-muted);
  --surface:var(--sc-surface);
  --surface-2:var(--sc-surface-2);
  --surface-3:var(--sc-surface-3);
  --line:var(--sc-line);
  --brand:var(--sc-brand);
  --brand-deep:var(--sc-brand-deep);
  --brand-bright:var(--sc-brand-bright);
  --brand-soft:var(--sc-brand-soft);
  --blue:var(--sc-brand);
  --blue-2:var(--sc-brand-bright);
  --teal:var(--sc-brand-deep);
  --violet:var(--sc-neutral);
  --green:var(--sc-success);
  --amber:var(--sc-warning);
  --red:var(--sc-danger);
  --navy:#0d0b0e;
  --navy-2:#19161a;
  --graphite:#0d0b0e;
  --graphite-2:#211d22;
  --shadow:var(--sc-shadow);
  --shadow-strong:var(--sc-shadow-strong);
  --premium-shadow-soft:var(--sc-shadow);
  --premium-shadow:var(--sc-shadow-strong);
  --premium-ink:var(--sc-text);
  --premium-surface:var(--sc-surface-2);
  --premium-surface-2:rgba(31,27,32,.92);
  --premium-line:rgba(255,255,255,.10);
  --premium-cyan:#ff8797;
}

html{color-scheme:light;background:var(--sc-bg)}
html[data-theme="dark"]{color-scheme:dark;background:var(--sc-bg)}
body{
  color:var(--sc-text);
  background:
    radial-gradient(circle at 11% -8%,color-mix(in srgb,var(--sc-brand) 14%,transparent),transparent 31%),
    linear-gradient(180deg,var(--sc-shell),var(--sc-bg));
}
.app-shell{
  color:var(--sc-text);
  background:
    radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--sc-brand) 6%,transparent),transparent 27%),
    linear-gradient(180deg,var(--sc-shell),color-mix(in srgb,var(--sc-shell) 92%,var(--sc-bg)));
  box-shadow:var(--sc-shadow-strong);
}

/* Identidad: rojo para marca/acción, verde para éxito, ámbar para atención. */
.eyebrow,.link,.text-link,.appointment-person small{color:var(--sc-brand)}
.btn.primary,.nav-btn.center,.fab,.composer button,.brand-mark,.pin-logo,
.portal-action-icon,.portal-day-number,.summary-exercise-list span,.avatar:not(.warm),
.status-icon.pending,.selection-status>span,.picker-step{
  color:#fff;
  background:linear-gradient(135deg,var(--sc-brand-bright),var(--sc-brand) 58%,var(--sc-brand-deep));
  box-shadow:0 12px 26px color-mix(in srgb,var(--sc-brand) 28%,transparent);
}
.btn.secondary{
  color:var(--sc-brand-deep);
  background:var(--sc-brand-soft);
  border:1px solid color-mix(in srgb,var(--sc-brand) 20%,var(--sc-line));
}
.btn.teal{color:#fff;background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-deep))}
.btn.dark{color:#fff;background:linear-gradient(145deg,#252126,#111013)}
.btn.ghost{color:var(--sc-muted);background:color-mix(in srgb,var(--sc-surface) 72%,transparent);border-color:var(--sc-line)}
.btn.success{color:#fff;background:linear-gradient(135deg,#40be86,var(--sc-success-deep))}
.btn.warning{color:var(--sc-warning-deep);background:var(--sc-warning-soft);border:1px solid color-mix(in srgb,var(--sc-warning) 30%,var(--sc-line))}
.btn.danger{color:var(--sc-danger-deep);background:var(--sc-danger-soft);border:1px solid color-mix(in srgb,var(--sc-danger) 28%,var(--sc-line))}

.chip.blue,.chip.brand{color:var(--sc-brand-deep);background:var(--sc-brand-soft)}
.chip.teal,.chip.success{color:var(--sc-success-deep);background:var(--sc-success-soft)}
.chip.warning{color:var(--sc-warning-deep);background:var(--sc-warning-soft)}
.chip.danger{color:var(--sc-danger-deep);background:var(--sc-danger-soft)}
.chip.violet,.chip.dark-mode-chip{color:var(--sc-text);background:var(--sc-surface-3)}
.quick-icon{color:var(--sc-brand);background:var(--sc-brand-soft)}
.quick-icon.teal,.quick-icon.success{color:var(--sc-success-deep);background:var(--sc-success-soft)}
.quick-icon.amber,.quick-icon.warning{color:var(--sc-warning-deep);background:var(--sc-warning-soft)}
.quick-icon.violet{color:var(--sc-text);background:var(--sc-surface-3)}
.quick-icon.warm{color:var(--sc-danger-deep);background:var(--sc-danger-soft)}
.card.tint-blue{background:linear-gradient(135deg,var(--sc-brand-soft),var(--sc-surface))}
.card.tint-teal{background:linear-gradient(135deg,var(--sc-success-soft),var(--sc-surface))}
.card.tint-amber{background:linear-gradient(135deg,var(--sc-warning-soft),var(--sc-surface))}
.card.tint-red{background:linear-gradient(135deg,var(--sc-danger-soft),var(--sc-surface))}
.progress>span,.progress-line span,.bar:not(.teal),.client-card-accent,.appointment-accent{
  background:linear-gradient(90deg,var(--sc-brand-bright),var(--sc-brand));
}
.progress.amber>span{background:linear-gradient(90deg,#f3c66b,var(--sc-warning))}
.bar.teal{background:linear-gradient(180deg,#56c993,var(--sc-success))}
.timeline-card{border-left-color:var(--sc-brand)}
.timeline-card.teal{border-left-color:var(--sc-success)}
.timeline-card.amber{border-left-color:var(--sc-warning)}
.bubble.me{background:linear-gradient(135deg,var(--sc-brand-bright),var(--sc-brand-deep))}
.nav-btn.active{color:var(--sc-brand);background:var(--sc-brand-soft)}
.toggle-row>input:checked+.toggle-ui{background:var(--sc-success)}
.check-row input[type="checkbox"]:checked,.exercise-pick-card:has(input:checked)>i{background:var(--sc-brand);border-color:var(--sc-brand)}

/* Alertas con jerarquía visible y un triángulo discreto en la esquina. */
.notice,.alert-card{position:relative}
.notice{color:var(--sc-text);background:var(--sc-surface-3);border:1px solid var(--sc-line)}
.notice.warning{padding-right:44px;color:var(--sc-warning-deep);background:var(--sc-warning-soft);border-color:color-mix(in srgb,var(--sc-warning) 35%,var(--sc-line))}
.notice.danger{padding-right:44px;color:var(--sc-danger-deep);background:var(--sc-danger-soft);border-color:color-mix(in srgb,var(--sc-danger) 35%,var(--sc-line))}
.notice.success{color:var(--sc-success-deep);background:var(--sc-success-soft);border-color:color-mix(in srgb,var(--sc-success) 35%,var(--sc-line))}
.notice.warning::after,.notice.danger::after,.alert-card.warning::after,.alert-card.danger::after{
  content:"!";position:absolute;top:10px;right:10px;width:24px;height:22px;display:grid;place-items:center;
  clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:4px;color:#171214;font-size:11px;font-weight:1000;
}
.notice.warning::after,.alert-card.warning::after{background:var(--sc-warning)}
.notice.danger::after,.alert-card.danger::after{background:var(--sc-danger);color:#fff}
.alert-card{border-left-color:var(--sc-brand)}
.alert-card.warning{padding-right:42px;border-left-color:var(--sc-warning)}
.alert-card.danger{padding-right:42px;border-left-color:var(--sc-danger)}
.alert-dot{background:var(--sc-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-brand) 12%,transparent)}
.alert-dot.warning{background:var(--sc-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-warning) 15%,transparent)}
.alert-dot.danger{background:var(--sc-danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-danger) 15%,transparent)}

/* Selector de apariencia */
.appearance-card{overflow:visible}
.theme-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}
.theme-choice{min-height:82px;padding:11px;border:1px solid var(--sc-line);border-radius:17px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;color:var(--sc-text);background:var(--sc-surface-2);text-align:left;cursor:pointer}
.theme-choice:hover{border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));transform:translateY(-1px)}
.theme-choice.active{border-color:var(--sc-brand);background:var(--sc-brand-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand) 13%,transparent)}
.theme-choice-icon{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:var(--sc-brand);background:var(--sc-surface)}
.theme-choice strong,.theme-choice small{display:block}.theme-choice strong{font-size:11px}.theme-choice small{margin-top:3px;color:var(--sc-muted);font-size:9px;line-height:1.35}
.theme-choice>svg{color:var(--sc-brand)}
.state-color-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.state-swatch{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;color:var(--sc-muted);background:var(--sc-surface-2);font-size:9px;font-weight:900}
.state-swatch i{width:9px;height:9px;border-radius:999px;background:var(--sc-neutral)}
.state-swatch.brand i{background:var(--sc-brand)}.state-swatch.success i{background:var(--sc-success)}.state-swatch.warning i{background:var(--sc-warning)}.state-swatch.danger i{background:var(--sc-danger)}

/* Modo oscuro: superficies, formularios y navegación sin azules residuales. */
html[data-theme="dark"] body{background:radial-gradient(circle at 12% -10%,rgba(225,45,75,.17),transparent 32%),linear-gradient(180deg,#0d0b0e,#070608 60%,#050405)}
html[data-theme="dark"] .app-shell{background:radial-gradient(circle at 100% 0%,rgba(225,45,75,.08),transparent 28%),linear-gradient(180deg,#100e11,#0b090c 55%,#080609);box-shadow:0 26px 90px rgba(0,0,0,.58)}
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .premium-topbar,
html[data-theme="dark"] .portal-topbar{background:radial-gradient(circle at 10% 0%,rgba(225,45,75,.22),transparent 32%),linear-gradient(180deg,rgba(14,12,15,.99),rgba(22,18,22,.98));border-bottom-color:rgba(255,255,255,.08)}
html[data-theme="dark"] .bottom-nav{background:rgba(16,13,17,.97);border-top-color:rgba(255,255,255,.09);box-shadow:0 -14px 38px rgba(0,0,0,.42)}
html[data-theme="dark"] .nav-btn{color:#a99fa4}
html[data-theme="dark"] .nav-btn.active{color:#fff;background:rgba(225,45,75,.18)}
html[data-theme="dark"] .card:not(.dark),
html[data-theme="dark"] .quick-card,
html[data-theme="dark"] .list-item,
html[data-theme="dark"] .metric,
html[data-theme="dark"] .kpi-pill,
html[data-theme="dark"] .action-tile,
html[data-theme="dark"] .phase-step,
html[data-theme="dark"] .timeline-card,
html[data-theme="dark"] .exercise,
html[data-theme="dark"] .library-card,
html[data-theme="dark"] .criteria-row,
html[data-theme="dark"] .risk-factors>div,
html[data-theme="dark"] .week-day-card,
html[data-theme="dark"] .rule-chip,
html[data-theme="dark"] .interview-stat,
html[data-theme="dark"] .interview-answer-section,
html[data-theme="dark"] .progress-metric,
html[data-theme="dark"] .welcome-step,
html[data-theme="dark"] .program-exercise-card,
html[data-theme="dark"] .week-progression-row,
html[data-theme="dark"] .builder-glossary>div,
html[data-theme="dark"] .exercise-pick-card,
html[data-theme="dark"] .preset-grid button,
html[data-theme="dark"] .advanced-prescription,
html[data-theme="dark"] .focus-card,
html[data-theme="dark"] .universal-result,
html[data-theme="dark"] .workout-step,
html[data-theme="dark"] .portal-journey-step,
html[data-theme="dark"] .mobile-quick-row button,
html[data-theme="dark"] .muscle-filter,
html[data-theme="dark"] .picker-secondary-filters,
html[data-theme="dark"] .compact-advanced,
html[data-theme="dark"] .exercise-pick-shell,
html[data-theme="dark"] .exercise-picker-form .picker-view-tabs,
html[data-theme="dark"] .reminder-choice,
html[data-theme="dark"] .visibility-row,
html[data-theme="dark"] .coach-public-bio,
html[data-theme="dark"] .technique-grid article,
html[data-theme="dark"] .workout-technique .technique-safety,
html[data-theme="dark"] .debrief-choice,
html[data-theme="dark"] .debrief-energy button,
html[data-theme="dark"] .muscle-access.compact,
html[data-theme="dark"] .photo-source-button,
html[data-theme="dark"] .native-health-grid button,
html[data-theme="dark"] .prepared-progress-photo>label,
html[data-theme="dark"] .progress-compare-photo-card,
html[data-theme="dark"] .progress-submission-item,
html[data-theme="dark"] .template-chip,
html[data-theme="dark"] .template-manager-card,
html[data-theme="dark"] .client-switcher-row,
html[data-theme="dark"] .client-shortcut-bar,
html[data-theme="dark"] .client-shortcut,
html[data-theme="dark"] .client-switcher-pin{
  color:var(--sc-text);background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface));border-color:var(--sc-line);box-shadow:var(--sc-shadow);
}
html[data-theme="dark"] .card.soft,
html[data-theme="dark"] .card.flat,
html[data-theme="dark"] .soft,
html[data-theme="dark"] .coach-center-card,
html[data-theme="dark"] .coach-center-footer,
html[data-theme="dark"] .productivity-template-picker,
html[data-theme="dark"] .picker-secondary-filters,
html[data-theme="dark"] .exercise-picker-form .picker-view-tabs{background:var(--sc-surface-2);border-color:var(--sc-line)}
html[data-theme="dark"] .card.tint-blue{background:linear-gradient(135deg,#34151f,var(--sc-surface))}
html[data-theme="dark"] .card.tint-teal{background:linear-gradient(135deg,var(--sc-success-soft),var(--sc-surface))}
html[data-theme="dark"] .card.tint-amber{background:linear-gradient(135deg,var(--sc-warning-soft),var(--sc-surface))}
html[data-theme="dark"] .card.tint-red{background:linear-gradient(135deg,var(--sc-danger-soft),var(--sc-surface))}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .search input,
html[data-theme="dark"] .inline-field input,
html[data-theme="dark"] .inline-field select,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  color:var(--sc-text);background:#121014;border-color:var(--sc-line);caret-color:var(--sc-brand-bright)
}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#7f747a}
html[data-theme="dark"] select option{color:var(--sc-text);background:#171419}
html[data-theme="dark"] .segmented,
html[data-theme="dark"] .auth-switch,
html[data-theme="dark"] .progress,
html[data-theme="dark"] .progress-line{background:#29242a}
html[data-theme="dark"] .segment{color:var(--sc-muted)}
html[data-theme="dark"] .segment.active,
html[data-theme="dark"] .auth-switch button.active{color:#fff;background:#302a30;box-shadow:0 7px 18px rgba(0,0,0,.28)}
html[data-theme="dark"] .modal{color:var(--sc-text);background:#121014;box-shadow:0 -24px 80px rgba(0,0,0,.62)}
html[data-theme="dark"] .modal-head,
html[data-theme="dark"] .program-builder-modal>.modal-head{background:rgba(18,16,20,.96);border-bottom-color:var(--sc-line)}
html[data-theme="dark"] .modal-close{color:var(--sc-text);background:#2b262c}
html[data-theme="dark"] .composer{background:rgba(24,20,25,.97);border-color:var(--sc-line);box-shadow:0 12px 32px rgba(0,0,0,.35)}
html[data-theme="dark"] .bubble{background:#29242a;color:var(--sc-text)}
html[data-theme="dark"] .empty{background:rgba(30,26,31,.78);border-color:var(--sc-line)}
html[data-theme="dark"] .empty-icon{color:var(--sc-brand-bright);background:var(--sc-brand-soft)}
html[data-theme="dark"] .toggle-row{color:var(--sc-text);background:var(--sc-surface);border-color:var(--sc-line)}
html[data-theme="dark"] .toggle-ui{background:#4a4248}
html[data-theme="dark"] .toggle-ui::after{background:#f8f4f6;box-shadow:0 3px 10px rgba(0,0,0,.35)}
html[data-theme="dark"] .theme-choice{background:var(--sc-surface);border-color:var(--sc-line)}
html[data-theme="dark"] .theme-choice.active{background:var(--sc-brand-soft);border-color:var(--sc-brand-bright)}
html[data-theme="dark"] .theme-choice-icon,.state-swatch{background:var(--sc-surface-3)}
html[data-theme="dark"] .program-exercise-thumb,
html[data-theme="dark"] .portal-exercise-thumb,
html[data-theme="dark"] .library-exercise-media,
html[data-theme="dark"] .exercise-pick-icon.has-illustration,
html[data-theme="dark"] .technique-illustration{background:linear-gradient(180deg,#f7f5f6,#e9e5e7)}
html[data-theme="dark"] .program-builder-summary{background:radial-gradient(circle at 88% 12%,rgba(225,45,75,.34),transparent 32%),linear-gradient(145deg,#171419,#0b090c 62%,#260c14)}
html[data-theme="dark"] .toast{background:rgba(247,243,245,.96);color:#171419;box-shadow:0 18px 48px rgba(0,0,0,.48)}
html[data-theme="dark"] .divider{background:var(--sc-line)}
html[data-theme="dark"] .field label{color:#d7cdd2}
html[data-theme="dark"] .help,html[data-theme="dark"] .muted,html[data-theme="dark"] .list-subtitle{color:var(--sc-muted)}
html[data-theme="dark"] .photo-upload{background:var(--sc-brand-soft);border-color:color-mix(in srgb,var(--sc-brand) 45%,var(--sc-line))}
html[data-theme="dark"] .photo-upload span{color:var(--sc-brand-bright)}

@media(max-width:700px){
  .theme-choice-grid{grid-template-columns:1fr}
  .theme-choice{min-height:68px}
  .appearance-card .row.between{align-items:flex-start;gap:10px}
}
.quick-icon.red,.quick-icon.brand{color:var(--sc-brand-deep);background:var(--sc-brand-soft)}
.quick-icon.green{color:var(--sc-success-deep);background:var(--sc-success-soft)}
.quick-icon.neutral{color:var(--sc-text);background:var(--sc-surface-3)}

/* v3.44 · pulido integral, continuidad de formularios y sesión en vivo */
:root{
  --sc-control-height:44px;
  --sc-control-height-compact:36px;
  --sc-focus-ring:0 0 0 3px color-mix(in srgb,var(--sc-brand) 22%,transparent);
  --sc-interaction-shadow:0 10px 24px color-mix(in srgb,var(--sc-brand) 14%,transparent);
}

/* Un mismo lenguaje de interacción en toda la aplicación. */
.btn,.nav-btn,.modal-close,.theme-choice,.universal-result,.quick-card,.action-tile,
.set-check,.debrief-choice,.debrief-energy button,[data-action],[data-client],[data-tab],[data-portal-tab]{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible{
  outline:none;
  box-shadow:var(--sc-focus-ring);
}
.btn:not(.inline),.field input,.field select,.field textarea{min-height:var(--sc-control-height)}
.btn,.modal-close,.universal-result,.theme-choice{transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease,opacity var(--motion-fast) ease}
.btn:not(:disabled):active,.modal-close:not(:disabled):active,.universal-result:not(:disabled):active,.theme-choice:not(:disabled):active{transform:translateY(1px) scale(.985)}
.btn:disabled,[aria-disabled="true"]{cursor:not-allowed;opacity:.52;box-shadow:none}

/* Cabecera de modal con estado de guardado visible sin robar espacio. */
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.modal-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex:0 0 auto}
.autosave-status{min-height:30px;padding:6px 9px;display:inline-flex;align-items:center;gap:7px;border-radius:999px;color:var(--sc-muted);background:var(--sc-surface-2);border:1px solid var(--sc-line);white-space:nowrap}
.autosave-status[hidden]{display:none!important}
.autosave-status small{font-size:9px;font-weight:850;letter-spacing:.015em}
.autosave-dot{width:7px;height:7px;border-radius:50%;background:var(--sc-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-success) 13%,transparent)}
.autosave-status[data-tone="saving"] .autosave-dot{background:var(--sc-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-warning) 15%,transparent)}
.autosave-status[data-tone="restored"] .autosave-dot{background:var(--sc-brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-brand) 15%,transparent)}

/* Toast accionable para deshacer sin bloquear el flujo. */
.toast-premium.with-action{grid-template-columns:42px minmax(0,1fr) auto;padding-right:10px}
.toast-action{min-height:36px;padding:8px 11px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.17);border-radius:12px;color:#fff;background:rgba(255,255,255,.1);font:inherit;font-size:10px;font-weight:950;cursor:pointer}
.toast-action:hover{background:rgba(255,255,255,.17)}
.toast-premium.with-action .toast-life{animation-duration:6.5s}

/* Navegación de sesión en vivo, descanso ajustable y pantalla táctil. */
.workout-navigation-bar{position:sticky;top:calc(8px + var(--safe-top));z-index:8;margin:0 0 12px;padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--sc-line);border-radius:17px;background:color-mix(in srgb,var(--sc-surface) 91%,transparent);box-shadow:0 12px 30px color-mix(in srgb,#000 12%,transparent);backdrop-filter:blur(14px)}
.workout-navigation-bar>span{padding:0 7px;color:var(--sc-muted);font-size:9px;font-weight:900;text-align:center;white-space:nowrap}
.workout-navigation-bar .btn:last-child{justify-self:end}
.rest-actions{display:grid;grid-template-columns:repeat(3,minmax(72px,auto));align-items:center;gap:7px}
.rest-actions .btn{min-height:40px;white-space:nowrap}
.workout-command-dock{padding-bottom:max(10px,var(--safe-bottom))}
.workout-set-card{scroll-margin-top:96px}
.workout-current,.workout-rest,.workout-navigation-bar{contain:layout paint}

/* Búsqueda universal: lectura más rápida y resultados estables. */
.universal-result{min-height:58px;align-items:center;text-align:left}
.universal-result>span:nth-child(2){min-width:0}
.universal-result strong,.universal-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.universal-section+.universal-section{margin-top:17px}
.universal-section-head{position:sticky;top:0;z-index:2;padding:6px 0;background:linear-gradient(180deg,var(--sc-surface) 75%,transparent)}

/* Microinteracciones útiles, nunca decorativas en exceso. */
@media(prefers-reduced-motion:no-preference){
  .autosave-status[data-tone="saving"] .autosave-dot{animation:sc-autosave-pulse .9s ease-in-out infinite alternate}
  .workout-rest{animation:sc-soft-rise var(--motion-base) var(--ease-spring) both}
  .universal-result{animation:sc-soft-rise var(--motion-fast) ease both}
  @keyframes sc-autosave-pulse{to{transform:scale(1.28);opacity:.62}}
  @keyframes sc-soft-rise{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

html[data-theme="dark"] .autosave-status{background:#1d191e;border-color:#3c333a;color:#c7bbc1}
html[data-theme="dark"] .workout-navigation-bar{background:rgba(22,18,22,.92);border-color:rgba(255,255,255,.09);box-shadow:0 15px 34px rgba(0,0,0,.34)}
html[data-theme="dark"] .universal-section-head{background:linear-gradient(180deg,var(--sc-surface) 75%,transparent)}

@media(min-width:900px){
  .modal:not(.modal-compact){max-width:min(920px,calc(100vw - 48px))}
  .workout-shell{max-width:980px;margin-inline:auto}
  .workout-navigation-bar{top:12px}
}

@media(max-width:700px){
  :root{--sc-control-height:46px}
  .modal-head{align-items:flex-start}
  .modal-head-actions{gap:6px}
  .autosave-status{max-width:150px;padding-inline:8px}
  .autosave-status small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .toast-premium.with-action{grid-template-columns:38px minmax(0,1fr) auto;gap:8px}
  .toast-action{padding-inline:9px}
  .workout-navigation-bar{top:calc(4px + var(--safe-top));grid-template-columns:1fr 1fr}
  .workout-navigation-bar>span{grid-column:1/-1;grid-row:1;padding:2px 4px}
  .workout-navigation-bar .btn{grid-row:2;width:100%;justify-content:center}
  .rest-actions{grid-column:1/-1;grid-template-columns:repeat(3,1fr);width:100%}
  .rest-actions .btn{padding-inline:7px}
}

@media(max-width:430px){
  .modal-head{gap:8px}
  .modal-head h2{font-size:19px}
  .autosave-status{position:absolute;left:16px;right:62px;top:58px;max-width:none;justify-content:center}
  .modal-head:has(.autosave-status:not([hidden])){padding-bottom:50px}
  .toast-premium.with-action{grid-template-columns:38px minmax(0,1fr);padding-bottom:12px}
  .toast-premium.with-action .toast-action{grid-column:2;justify-self:start}
  .rest-actions{gap:5px}
  .rest-actions .btn{font-size:9px}
}

/* v3.45 · progreso visual por periodos y sustituciones de sesión */
.progress-action-tools{align-items:center;justify-content:flex-end}
.progress-range-control{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.progress-range-control button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:800;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .18s ease,color .18s ease,transform .18s ease}
.progress-range-control button:hover{color:var(--text)}
.progress-range-control button.active{background:var(--red);color:#fff;box-shadow:0 7px 18px rgba(196,30,58,.24)}
.progress-range-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}
.progress-range-card{position:relative;overflow:hidden;display:grid;gap:5px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-soft)}
.progress-range-card::after{content:"";position:absolute;inset:auto -24px -34px auto;width:82px;height:82px;border-radius:50%;background:rgba(196,30,58,.08)}
.progress-range-card>span{font-size:11px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;color:var(--muted)}
.progress-range-card strong{font-size:23px;line-height:1;color:var(--text)}
.progress-range-card strong small{font-size:11px;color:var(--muted)}
.progress-range-card em{font-style:normal;font-size:12px;font-weight:800;color:var(--muted)}
.progress-range-card.success em{color:var(--green)}
.progress-range-card.warning em{color:var(--amber)}
.workout-movement-actions{align-items:center;margin-top:10px}
.workout-substitution-panel{margin:16px 0;padding:16px;border:1px solid color-mix(in srgb,var(--red) 28%,var(--line));border-radius:20px;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 95%,var(--red) 5%),var(--surface));box-shadow:0 16px 38px rgba(20,12,16,.09)}
.workout-substitution-panel h3{margin:3px 0 4px;font-size:19px}
.workout-substitution-search{display:flex;align-items:center;gap:9px;margin:14px 0;padding:10px 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.workout-substitution-search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px rgba(196,30,58,.12)}
.workout-substitution-search input{min-width:0;flex:1;border:0!important;outline:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;color:var(--text)}
.workout-substitution-current{display:flex;align-items:center;gap:10px;padding:11px 12px;margin-bottom:10px;border-radius:14px;background:var(--surface-soft);border:1px solid var(--line)}
.workout-substitution-current>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(196,30,58,.12);color:var(--red)}
.workout-substitution-current>div{display:grid;min-width:0;flex:1}
.workout-substitution-current small{color:var(--muted)}
.workout-substitution-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.workout-substitution-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:11px;align-items:center;width:100%;padding:10px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--surface);color:var(--text);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.workout-substitution-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--red) 55%,var(--line));box-shadow:0 12px 28px rgba(20,12,16,.1)}
.workout-substitution-media{display:grid;place-items:center;width:76px;height:64px;overflow:hidden;border-radius:12px;background:var(--surface-soft)}
.workout-substitution-media img{display:block;width:100%;height:100%;object-fit:contain}
.workout-substitution-card>span{display:grid;gap:3px;min-width:0}
.workout-substitution-card strong,.workout-substitution-card small,.workout-substitution-card em{overflow:hidden;text-overflow:ellipsis}
.workout-substitution-card strong{white-space:nowrap;font-size:13px}
.workout-substitution-card small{white-space:nowrap;font-size:11px;color:var(--muted)}
.workout-substitution-card em{font-style:normal;font-size:10px;line-height:1.35;color:var(--muted)}
.workout-substitution-card>b{align-self:start;padding:4px 6px;border-radius:999px;background:rgba(196,30,58,.1);color:var(--red);font-size:10px}
[data-theme="dark"] .progress-range-control{box-shadow:none}
[data-theme="dark"] .progress-range-card,[data-theme="dark"] .workout-substitution-card,[data-theme="dark"] .workout-substitution-search{background:var(--surface)}
@media(max-width:820px){.progress-range-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-action-tools{width:100%;justify-content:space-between}.workout-substitution-grid{grid-template-columns:1fr}}
@media(max-width:560px){.progress-action-tools{align-items:stretch}.progress-range-control{width:100%;justify-content:space-between}.progress-range-control button{flex:1;padding-inline:8px}.progress-action-tools>.btn{width:100%}.progress-range-summary{gap:8px}.progress-range-card{padding:12px}.progress-range-card strong{font-size:20px}.workout-substitution-panel{padding:12px;border-radius:17px}.workout-substitution-card{grid-template-columns:62px minmax(0,1fr) auto}.workout-substitution-media{width:62px;height:58px}.workout-substitution-current{align-items:flex-start;flex-wrap:wrap}.workout-substitution-current .btn{width:100%}}

/* System Coach v3.46 · adherencia y carga */
.training-load-summary{position:relative;overflow:hidden}
.training-load-summary::after{content:"";position:absolute;inset:0 0 auto auto;width:120px;height:120px;background:radial-gradient(circle,rgba(217,38,49,.12),transparent 68%);pointer-events:none}
.training-load-summary.danger{border-color:color-mix(in srgb,var(--red) 34%,var(--line))}
.training-load-summary.warning{border-color:color-mix(in srgb,var(--amber) 34%,var(--line))}
.training-load-summary.success{border-color:color-mix(in srgb,var(--green) 28%,var(--line))}
.training-load-mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.training-load-mini-grid>span{display:flex;flex-direction:column;gap:4px;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);min-width:0}
.training-load-mini-grid strong{font-size:1.05rem;line-height:1.2;overflow-wrap:anywhere}
.training-load-mini-grid small{color:var(--muted);font-size:.75rem}
.training-load-center{min-width:0}
.training-load-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.training-load-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.training-load-chart{height:230px;display:grid;grid-template-columns:repeat(6,minmax(44px,1fr));gap:12px;align-items:end;margin-top:22px;padding:12px 4px 0;border-bottom:1px solid var(--line)}
.training-load-week{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:6px;text-align:center;min-width:0}
.training-load-bar-wrap{height:100%;min-height:90px;display:flex;align-items:flex-end;justify-content:center;border-radius:12px 12px 0 0;background:linear-gradient(180deg,transparent,var(--surface-soft))}
.training-load-bar{display:block;width:min(44px,72%);min-height:3px;border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#ff7181,var(--red));box-shadow:0 8px 24px rgba(176,22,31,.2);transition:height .3s ease}
.training-load-week strong{font-size:.88rem}
.training-load-week small{font-size:.68rem;color:var(--muted);white-space:nowrap}
.training-load-flags{display:grid;gap:10px;margin-top:14px}
.training-load-flag{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.training-load-flag>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line)}
.training-load-flag strong{display:block;margin-bottom:3px}
.training-load-flag p{margin:0;color:var(--muted);font-size:.84rem}
.training-load-flag small{display:block;margin-top:5px;font-weight:700;color:var(--text)}
.training-load-flag.danger{border-color:color-mix(in srgb,var(--red) 36%,var(--line))}
.training-load-flag.warning{border-color:color-mix(in srgb,var(--amber) 38%,var(--line))}
.training-load-flag.success{border-color:color-mix(in srgb,var(--green) 30%,var(--line))}
@media(max-width:900px){.training-load-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.training-load-mini-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.training-load-hero{flex-direction:column}.training-load-kpis{grid-template-columns:1fr}.training-load-chart{height:190px;gap:6px;overflow-x:auto;grid-template-columns:repeat(6,minmax(50px,1fr));padding-bottom:4px}.training-load-mini-grid{grid-template-columns:1fr 1fr}.training-load-mini-grid>span{padding:11px}.training-load-week small{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.training-load-bar{transition:none}}

/* v3.47 · onboarding, ayuda contextual, tablero y actividad unificada */
.help-button{position:relative}.help-dot{background:var(--amber)!important}
.onboarding-center,.help-center,.activity-center{display:grid;gap:14px}
.onboarding-hero,.help-hero,.activity-hero{position:relative;overflow:hidden;min-height:150px;display:flex;align-items:flex-end;justify-content:space-between;gap:22px;background:radial-gradient(circle at 88% 12%,rgba(225,45,75,.26),transparent 30%),linear-gradient(145deg,#171318,#2a2024)}
.onboarding-hero::after,.help-hero::after,.activity-hero::after{content:"";position:absolute;right:-70px;bottom:-95px;width:230px;height:230px;border-radius:50%;border:34px solid rgba(255,255,255,.045);pointer-events:none}
.onboarding-hero>*,.help-hero>*,.activity-hero>*{position:relative;z-index:1}
.onboarding-progress{height:7px;margin-top:18px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.12)}
.onboarding-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#ff687d);box-shadow:0 0 18px rgba(240,74,97,.45);transition:width .3s ease}
.onboarding-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.35fr);gap:14px;align-items:stretch}
.onboarding-step-list,.help-topic-list{display:grid;gap:8px;align-content:start}
.onboarding-step,.help-topic{width:100%;min-width:0;border:1px solid var(--line);border-radius:18px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;padding:12px 13px;text-align:left;color:var(--text);background:var(--surface);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}
.onboarding-step:hover,.help-topic:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--red) 30%,var(--line));box-shadow:var(--shadow)}
.onboarding-step>span:first-child{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;font-size:12px;font-weight:950;color:var(--muted);background:var(--surface-3)}
.onboarding-step>span:last-child,.help-topic>span:last-child{min-width:0;display:grid;gap:3px}
.onboarding-step strong,.help-topic strong{font-size:13px}.onboarding-step small,.help-topic small{color:var(--muted);font-size:10px;line-height:1.35}
.onboarding-step.active,.help-topic.active{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:linear-gradient(145deg,var(--brand-soft),var(--surface));box-shadow:0 12px 28px rgba(201,24,54,.10)}
.onboarding-step.active>span:first-child{color:#fff;background:var(--red)}
.onboarding-step.visited:not(.active)>span:first-child{color:var(--green);background:var(--sc-success-soft)}
.onboarding-stage{min-height:330px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:28px}
.onboarding-stage-icon,.help-article-icon,.contextual-help-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;color:var(--red);background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 18%,transparent)}
.onboarding-stage h2,.help-article h2{margin:8px 0 8px;font-size:27px}.onboarding-stage p,.help-article p{max-width:620px;color:var(--muted);line-height:1.58}
.onboarding-controls{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:26px}
.contextual-help-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.contextual-help-card h2{margin:2px 0 4px}
.help-layout{display:grid;grid-template-columns:minmax(245px,.78fr) minmax(0,1.3fr);gap:14px;align-items:stretch}
.help-topic{grid-template-columns:38px minmax(0,1fr)}.help-topic>span:first-child{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:var(--muted);background:var(--surface-3)}
.help-topic.active>span:first-child{color:var(--red);background:var(--brand-soft)}
.help-article{min-height:310px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:26px}.help-article .btn{margin-top:8px}
.dashboard-density{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px}.dashboard-density label{position:relative}.dashboard-density input{position:absolute;opacity:0;pointer-events:none}.dashboard-density span{min-height:42px;border-radius:13px;display:grid;place-items:center;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}.dashboard-density input:checked+span{color:#fff;background:var(--red);box-shadow:0 8px 20px rgba(201,24,54,.22)}
.dashboard-action-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}.dashboard-action-picker label{position:relative;min-width:0}.dashboard-action-picker input{position:absolute;opacity:0;pointer-events:none}.dashboard-action-picker label>span{min-height:72px;border:1px solid var(--line);border-radius:17px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:'icon title' 'icon detail';align-items:center;gap:2px 10px;padding:11px;color:var(--text);background:var(--surface);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.dashboard-action-picker label>span svg{grid-area:icon;color:var(--muted)}.dashboard-action-picker strong{grid-area:title;font-size:13px}.dashboard-action-picker small{grid-area:detail;color:var(--muted);font-size:10px}.dashboard-action-picker input:checked+span{border-color:color-mix(in srgb,var(--red) 45%,var(--line));background:var(--brand-soft)}.dashboard-action-picker input:checked+span svg{color:var(--red)}
.dashboard-quick-grid.compact{gap:8px}.dashboard-quick-grid.compact .quick-card{min-height:92px;padding:12px}.dashboard-quick-grid.compact .quick-icon{width:38px;height:38px}.mobile-quick-row.configurable.compact button{min-height:70px;padding-block:8px}
.activity-hero{align-items:center}.activity-orb{flex:0 0 auto;width:82px;height:82px;border-radius:28px;display:grid;place-items:center;color:#fff;font-size:28px;font-weight:950;background:linear-gradient(145deg,var(--red),var(--brand-deep));box-shadow:0 18px 38px rgba(201,24,54,.3)}
.activity-tabs .filter-pill span{min-width:21px;height:21px;padding:0 6px;border-radius:999px;display:inline-grid;place-items:center;margin-left:4px;font-size:10px;background:color-mix(in srgb,currentColor 12%,transparent)}
.activity-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.activity-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.activity-summary-grid button{min-height:82px;border:1px solid var(--line);border-radius:17px;display:grid;place-items:center;align-content:center;gap:3px;color:var(--text);background:var(--surface-2);cursor:pointer}.activity-summary-grid strong{font-size:23px}.activity-summary-grid span{color:var(--muted);font-size:10px;font-weight:850}
.activity-timeline{display:grid;gap:9px;margin-top:14px}.activity-event{position:relative;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:11px;padding:12px 13px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.activity-event::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px var(--brand-soft)}.activity-event>span{min-width:0;display:grid;gap:2px}.activity-event strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.activity-event small{color:var(--muted);font-size:10px}.static-dot{position:static!important;flex:0 0 8px}
html[data-theme="dark"] .onboarding-step,html[data-theme="dark"] .help-topic,html[data-theme="dark"] .dashboard-action-picker label>span,html[data-theme="dark"] .activity-summary-grid button,html[data-theme="dark"] .activity-event{background:var(--sc-surface);border-color:var(--sc-line)}
html[data-theme="dark"] .onboarding-step.active,html[data-theme="dark"] .help-topic.active,html[data-theme="dark"] .dashboard-action-picker input:checked+span{background:linear-gradient(145deg,var(--sc-brand-soft),var(--sc-surface));border-color:rgba(240,74,97,.46)}
html[data-theme="dark"] .onboarding-step>span:first-child,html[data-theme="dark"] .help-topic>span:first-child{background:var(--sc-surface-3)}
@media(max-width:760px){.onboarding-layout,.help-layout,.activity-columns{grid-template-columns:1fr}.onboarding-step-list,.help-topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-stage,.help-article{min-height:260px}.activity-hero{min-height:138px}}
@media(max-width:560px){.onboarding-hero,.help-hero,.activity-hero{min-height:auto;align-items:flex-start;flex-direction:column;padding:20px}.activity-orb{width:62px;height:62px;border-radius:20px;font-size:22px}.onboarding-step-list,.help-topic-list,.dashboard-action-picker{grid-template-columns:1fr}.onboarding-stage,.help-article{min-height:0;padding:20px}.contextual-help-card{grid-template-columns:auto minmax(0,1fr)}.contextual-help-card>.btn{grid-column:1/-1;width:100%}.activity-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.activity-summary-grid button{min-height:70px;padding:7px}.activity-summary-grid strong{font-size:19px}.onboarding-controls{position:sticky;bottom:-1px;padding:14px 0 0;background:linear-gradient(180deg,transparent,var(--surface) 30%)}}
@media(prefers-reduced-motion:reduce){.onboarding-progress span,.onboarding-step,.help-topic,.dashboard-action-picker label>span{transition:none!important}}

/* v3.48 · navegación progresiva, salud visible y perfiles siempre editables */
.coach-center-accordion{display:block;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;box-shadow:0 8px 24px rgba(22,14,18,.045)}
.coach-center-accordion[open]{box-shadow:var(--shadow)}
.coach-center-accordion>.coach-center-group-head{min-height:76px;padding:14px 16px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 22px;align-items:center;gap:12px;cursor:pointer;list-style:none;background:linear-gradient(145deg,var(--surface),var(--surface-2));transition:background .16s ease}
.coach-center-accordion>.coach-center-group-head::-webkit-details-marker{display:none}
.coach-center-accordion>.coach-center-group-head:hover{background:var(--surface-2)}
.coach-center-summary-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:var(--red);background:var(--brand-soft)}
.coach-center-summary-copy{min-width:0;display:grid;gap:2px}
.coach-center-summary-copy small{color:var(--muted);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.coach-center-summary-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:16px}
.coach-center-chevron{display:grid;place-items:center;color:var(--muted);transition:transform .18s ease}
.coach-center-accordion[open] .coach-center-chevron{transform:rotate(90deg)}
.coach-center-accordion-body{padding:0 14px 14px;border-top:1px solid var(--line)}
.coach-center-accordion-body .coach-center-card{margin-top:10px}
.coach-command-avatar-button,.portal-hero-profile-button{position:relative;flex:0 0 auto;padding:0;border:0;background:transparent;cursor:pointer}
.coach-command-avatar-button>span,.portal-hero-profile-button>span{position:absolute;right:-3px;bottom:-3px;width:24px;height:24px;border:2px solid var(--surface);border-radius:9px;display:grid;place-items:center;color:#fff;background:var(--red);box-shadow:0 5px 12px rgba(201,24,54,.3)}
.coach-command-avatar-button:focus-visible,.portal-hero-profile-button:focus-visible,.portal-profile-button:focus-visible{outline:3px solid color-mix(in srgb,var(--red) 34%,transparent);outline-offset:3px}
.portal-topbar-actions{display:flex;align-items:center;gap:8px}
.portal-profile-button{position:relative;overflow:visible}
.portal-profile-edit-badge{position:absolute;right:-3px;bottom:-3px;width:18px;height:18px;border:2px solid var(--surface);border-radius:7px;display:grid;place-items:center;color:#fff;background:var(--red);box-shadow:0 4px 10px rgba(201,24,54,.28)}
.portal-hero-profile-button .portal-hero-avatar{pointer-events:none}
html[data-theme="dark"] .coach-center-accordion{background:var(--sc-surface);border-color:var(--sc-line)}
html[data-theme="dark"] .coach-center-accordion>.coach-center-group-head{background:linear-gradient(145deg,var(--sc-surface),var(--sc-surface-2))}
html[data-theme="dark"] .coach-center-accordion>.coach-center-group-head:hover{background:var(--sc-surface-2)}
html[data-theme="dark"] .coach-center-accordion-body{border-color:var(--sc-line)}
html[data-theme="dark"] .coach-command-avatar-button>span,html[data-theme="dark"] .portal-hero-profile-button>span,html[data-theme="dark"] .portal-profile-edit-badge{border-color:var(--sc-surface)}
@media(max-width:760px){.coach-center-accordion>.coach-center-group-head{min-height:68px;padding:12px 13px;grid-template-columns:38px minmax(0,1fr) auto 20px}.coach-center-summary-icon{width:38px;height:38px;border-radius:13px}.coach-center-accordion-body{padding:0 10px 10px}.coach-center-accordion-body .coach-center-grid{grid-template-columns:1fr}.coach-profile-actions .btn{flex:1 1 auto}}
@media(max-width:430px){.portal-topbar .brand-subtitle{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-profile-button,.topbar-avatar{width:40px;height:40px;border-radius:14px}.coach-center-summary-copy strong{font-size:14px}.coach-center-accordion>.coach-center-group-head .chip{padding-inline:8px}.coach-command-avatar-button>span,.portal-hero-profile-button>span{width:22px;height:22px}.coach-profile-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.coach-profile-actions .btn:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.coach-center-chevron,.coach-center-accordion>.coach-center-group-head{transition:none}}

/* Arranque seguro v3.48.1 */
.startup-fallback{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 85% 10%,rgba(201,24,54,.3),transparent 34%),linear-gradient(145deg,#171316,#0b090b);color:#fff}
.startup-fallback__card{width:min(100%,460px);padding:30px;border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(42,35,40,.96);box-shadow:0 28px 80px rgba(0,0,0,.38)}
.startup-fallback__card h1{margin:8px 0 12px;font-size:clamp(28px,6vw,42px);line-height:1.05}
.startup-fallback__card>p:not(.eyebrow){color:#d7cdd2}
.startup-fallback__mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#c91836;font-size:30px;font-weight:900;box-shadow:0 12px 30px rgba(201,24,54,.34)}
.startup-fallback__card .primary{width:100%;margin-top:12px}
.startup-fallback__detail{margin:16px 0 0;font-size:12px;overflow-wrap:anywhere;opacity:.72}

/* v3.48.2 · hotfix de contraste y legibilidad transversal */
:root{
  /* Compatibilidad con módulos históricos que todavía usan nombres anteriores. */
  --text:var(--sc-text);
  --surface-soft:var(--sc-surface-2);
  --soft:var(--sc-surface-2);
  --card:var(--sc-surface);
  --violet-soft:var(--sc-surface-3);
  --border:var(--sc-line);
  --shadow-sm:var(--sc-shadow);
  --line-strong:var(--sc-line-strong);
  --shadow-soft:var(--sc-shadow);
}

/* Contrato base: cada superficie neutral utiliza el texto correspondiente al tema. */
.card:not(.dark),
.quick-card,
.list-item,
.metric,
.kpi-pill,
.action-tile,
.focus-card,
.journey-step,
.welcome-step,
.program-exercise-card,
.exercise-pick-card,
.progress-range-card,
.workout-substitution-card,
.training-load-flag,
.onboarding-step,
.help-topic,
.activity-event,
.coach-center-accordion,
.coach-center-group-head{
  color:var(--sc-text);
}
.card:not(.dark) h1,.card:not(.dark) h2,.card:not(.dark) h3,.card:not(.dark) h4,
.card:not(.dark) strong,.card:not(.dark) .list-title,.card:not(.dark) .metric-value,
.quick-card strong,.list-item .list-title,.focus-card strong,.journey-step strong{
  color:inherit;
}
.card:not(.dark) .muted,.card:not(.dark) .small.muted,.card:not(.dark) .help,
.card:not(.dark) .list-subtitle,.card:not(.dark) small:not(.chip),
.quick-card small,.focus-card small,.focus-card em,.journey-step small{
  color:var(--sc-muted);
}
button,input,select,textarea{color:inherit}

/* Botones de acción: rojo más profundo para que el texto blanco conserve contraste. */
.btn.primary,.nav-btn.center,.fab,.composer button,.brand-mark,.pin-logo,
.portal-action-icon,.portal-day-number,.summary-exercise-list span,.avatar:not(.warm),
.status-icon.pending,.selection-status>span,.picker-step{
  color:#fff;
  background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-deep));
}

/* El estado deshabilitado no debe volver ilegible una instrucción. */
.journey-step:disabled,.btn:disabled,.filter-pill:disabled{opacity:1}
.btn:disabled{filter:saturate(.65);cursor:not-allowed}

/* Modo oscuro: todas las superficies de la portada permanecen oscuras y legibles. */
html[data-theme="dark"] .guided-journey{
  color:var(--sc-text);
  border-color:color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line));
  background:linear-gradient(145deg,var(--sc-elevated),var(--sc-surface));
}
html[data-theme="dark"] .journey-orbit{
  color:var(--sc-text);
  background:radial-gradient(circle at center,var(--sc-surface-2) 56%,transparent 58%),conic-gradient(var(--sc-brand-bright) calc(var(--journey-progress)*1%),var(--sc-surface-3) 0);
}
html[data-theme="dark"] .journey-step{
  color:var(--sc-text);
  border-color:var(--sc-line);
  background:var(--sc-surface-2);
}
html[data-theme="dark"] .journey-step.active{
  color:var(--sc-text);
  border-color:color-mix(in srgb,var(--sc-brand-bright) 50%,var(--sc-line));
  background:linear-gradient(145deg,var(--sc-brand-soft),var(--sc-surface-2));
  box-shadow:0 12px 24px rgba(0,0,0,.24);
}
html[data-theme="dark"] .journey-step.done{
  color:var(--sc-text);
  border-color:color-mix(in srgb,var(--sc-success) 34%,var(--sc-line));
  background:linear-gradient(145deg,var(--sc-success-soft),var(--sc-surface-2));
}
html[data-theme="dark"] .journey-step strong{color:var(--sc-text)}
html[data-theme="dark"] .journey-step small{color:var(--sc-muted)}
html[data-theme="dark"] .journey-step-index{color:var(--sc-muted);background:var(--sc-surface-3)}
html[data-theme="dark"] .journey-step.done .journey-step-index{color:var(--sc-success-deep);background:var(--sc-success-soft)}

html[data-theme="dark"] .demo-banner,
html[data-theme="dark"] .coach-focus{
  color:var(--sc-text);
  border-color:var(--sc-line);
  background:linear-gradient(145deg,var(--sc-elevated),var(--sc-surface));
}
html[data-theme="dark"] .focus-card{
  color:var(--sc-text);
  border-color:var(--sc-line);
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface-2));
}
html[data-theme="dark"] .focus-card.danger{background:linear-gradient(145deg,var(--sc-danger-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-danger) 30%,var(--sc-line))}
html[data-theme="dark"] .focus-card.warning{background:linear-gradient(145deg,var(--sc-warning-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-warning) 30%,var(--sc-line))}
html[data-theme="dark"] .focus-card.blue,html[data-theme="dark"] .focus-card.violet{background:linear-gradient(145deg,var(--sc-brand-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line))}
html[data-theme="dark"] .focus-copy strong{color:var(--sc-text)}
html[data-theme="dark"] .focus-copy small,html[data-theme="dark"] .focus-copy em{color:var(--sc-muted)}
html[data-theme="dark"] .focus-cta{color:var(--sc-brand-bright);border-top-color:var(--sc-line)}
html[data-theme="dark"] .focus-clear{color:var(--sc-success-deep);background:var(--sc-success-soft)}
html[data-theme="dark"] .focus-clear small{color:var(--sc-muted)}

/* Evita mezclar tokens claros dentro de una notificación oscura. */
html[data-theme="dark"] .toast{
  color:var(--sc-text);
  background:rgba(35,30,36,.98);
  border:1px solid var(--sc-line);
  box-shadow:0 18px 48px rgba(0,0,0,.52);
}
html[data-theme="dark"] .toast strong{color:var(--sc-text)}
html[data-theme="dark"] .toast small,html[data-theme="dark"] .toast .muted{color:var(--sc-muted)}

/* Controles secundarios y etiquetas de marca en modo oscuro. */
html[data-theme="dark"] .btn.secondary,
html[data-theme="dark"] .chip.blue,
html[data-theme="dark"] .chip.brand,
html[data-theme="dark"] .eyebrow,
html[data-theme="dark"] .link,
html[data-theme="dark"] .text-link{
  color:var(--sc-brand-bright);
}
html[data-theme="dark"] .btn.ghost{color:#d5cbd0;background:rgba(255,255,255,.045);border-color:var(--sc-line)}
html[data-theme="dark"] .btn.dark{color:#fff;background:#09070a;border-color:#3f373d}
html[data-theme="dark"] .list-item .list-title{color:var(--sc-text)}
html[data-theme="dark"] .list-item .list-subtitle{color:var(--sc-muted)}

/* En modo claro, los bloques oscuros mantienen texto blanco y secundarios visibles. */
.card.dark,.premium-card.dark,.onboarding-hero,.help-hero,.activity-hero{color:#fff}
.card.dark h1,.card.dark h2,.card.dark h3,.card.dark h4,.card.dark strong,
.onboarding-hero h1,.onboarding-hero h2,.help-hero h1,.help-hero h2,.activity-hero h1,.activity-hero h2{color:#fff}
.card.dark .muted,.card.dark .small,.onboarding-hero .muted,.help-hero .muted,.activity-hero .muted{color:#d7cdd2}

/* Mejor legibilidad en pantallas pequeñas y monitores con brillo alto. */
@media(max-width:560px){
  .journey-step strong{font-size:11.5px}
  .journey-step small,.list-subtitle,.focus-copy em{font-size:10px;line-height:1.42}
}

/* Portada móvil: no conservar tarjetas claras dentro del modo oscuro. */
html[data-theme="dark"] .mobile-command{
  color:var(--sc-text);
  border-color:var(--sc-line);
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface-2));
  box-shadow:0 12px 26px rgba(0,0,0,.22);
}
html[data-theme="dark"] .mobile-command:not(.primary)>span{color:var(--sc-brand-bright);background:var(--sc-brand-soft)}
html[data-theme="dark"] .mobile-command strong{color:var(--sc-text)}
html[data-theme="dark"] .mobile-command small{color:var(--sc-muted)}
html[data-theme="dark"] .mobile-command.primary{color:#fff;background:linear-gradient(145deg,var(--sc-brand),var(--sc-brand-deep))}
html[data-theme="dark"] .mobile-command.primary small{color:#ffe0e5}

html[data-theme="dark"] .mobile-priority-card,
html[data-theme="dark"] .mobile-priority-clear{
  color:var(--sc-text);
  border-color:var(--sc-line);
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface-2));
  box-shadow:0 12px 26px rgba(0,0,0,.22);
}
html[data-theme="dark"] .mobile-priority-card.danger{background:linear-gradient(145deg,var(--sc-danger-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-danger) 32%,var(--sc-line))}
html[data-theme="dark"] .mobile-priority-card.warning{background:linear-gradient(145deg,var(--sc-warning-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-warning) 32%,var(--sc-line))}
html[data-theme="dark"] .mobile-priority-card.violet,
html[data-theme="dark"] .mobile-priority-card.blue{background:linear-gradient(145deg,var(--sc-brand-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 30%,var(--sc-line))}
html[data-theme="dark"] .mobile-priority-card .focus-copy strong{color:var(--sc-text)}
html[data-theme="dark"] .mobile-priority-card .focus-copy small{color:var(--sc-brand-bright)}
html[data-theme="dark"] .mobile-priority-card .focus-copy em{color:var(--sc-muted)}

.journey-step.active .journey-step-index{color:#fff;background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-deep))}

/* Acciones secundarias dentro de tarjetas oscuras: nunca blanco sobre gris claro. */
.card.dark .btn.ghost,
.card.dark .btn.inline.ghost,
.premium-card.dark .btn.ghost{
  color:#fff;
  background:rgba(0,0,0,.30);
  border-color:rgba(255,255,255,.24);
}
.card.dark .btn.ghost:hover,
.premium-card.dark .btn.ghost:hover{background:rgba(0,0,0,.44);border-color:rgba(255,255,255,.34)}

/* System Coach 3.49 · mensajería multimedia y estimación nutricional guiada */
.chat-shell{display:grid;gap:12px;min-width:0}
.chat-header{position:sticky;top:0;z-index:2;padding:14px 16px;background:color-mix(in srgb,var(--sc-surface,#fff) 94%,transparent);backdrop-filter:blur(16px);border-color:var(--sc-line,var(--line))}
.chat-avatar{width:46px;height:46px;flex:0 0 46px}
.chat-timeline{display:flex;flex-direction:column;gap:7px;min-height:280px;max-height:min(58vh,620px);overflow:auto;padding:18px 14px;border:1px solid var(--sc-line,var(--line));border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--sc-surface,#fff) 96%,var(--sc-brand,#c9334f) 4%),var(--sc-surface,#fff));scrollbar-gutter:stable}
.chat-day{display:flex;justify-content:center;margin:4px 0 7px}.chat-day span{padding:5px 10px;border:1px solid var(--sc-line,var(--line));border-radius:999px;background:var(--sc-surface,#fff);color:var(--sc-text-muted,var(--muted));font-size:11px;font-weight:800;box-shadow:0 4px 14px rgba(20,16,18,.06)}
.chat-timeline .bubble{display:flex;flex-direction:column;width:max-content;min-width:84px;max-width:min(82%,520px);padding:10px 12px;border:1px solid var(--sc-line,var(--line));border-radius:18px 18px 18px 6px;background:var(--sc-surface,#fff);color:var(--sc-text,#191619);box-shadow:0 8px 20px rgba(24,18,21,.07);overflow:hidden}
.chat-timeline .bubble.me{align-self:flex-end;justify-self:auto;margin:0;border-color:color-mix(in srgb,var(--sc-brand,#c9334f) 46%,transparent);border-radius:18px 18px 6px 18px;background:linear-gradient(145deg,var(--sc-brand-bright,#d93a57),var(--sc-brand-deep,#9f213a));color:#fff;box-shadow:0 10px 24px rgba(170,31,58,.2)}
.bubble-copy{padding:1px 2px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.bubble-time{align-self:flex-end;margin-top:5px;font-size:10px;opacity:.76}
.message-media{position:relative;display:grid;gap:7px;margin:-4px -6px 6px;overflow:hidden;border-radius:14px;background:#111}.message-media img,.message-media video{display:block;width:100%;max-width:360px;max-height:330px;object-fit:contain;background:#111}.message-media-open{display:block;padding:0;border:0;background:transparent;cursor:zoom-in}.message-media-open img{pointer-events:none}
.message-meal-action{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(18,15,17,.82);color:#fff;font-size:11px;font-weight:850;backdrop-filter:blur(12px)}
.rich-composer{position:sticky;bottom:calc(75px + var(--safe-bottom));z-index:3;display:grid;grid-template-columns:46px minmax(0,1fr) 48px;align-items:end;gap:8px;padding:9px;border:1px solid var(--sc-line,var(--line));border-radius:20px;background:color-mix(in srgb,var(--sc-surface,#fff) 95%,transparent);box-shadow:0 14px 34px rgba(24,18,21,.13);backdrop-filter:blur(18px)}
.rich-composer>input[name="text"]{min-height:44px;border:0;background:transparent;color:var(--sc-text,#191619)}.rich-composer>button[type="submit"]{width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:14px;background:linear-gradient(145deg,var(--sc-brand-bright,#d93a57),var(--sc-brand-deep,#9f213a));color:#fff}
.composer-attach{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--sc-line,var(--line));border-radius:14px;background:var(--sc-surface-soft,#f4f1f2);color:var(--sc-brand,#c9334f);cursor:pointer}
.chat-attachment-preview{grid-column:1/-1}.chat-attachment-card{display:grid;grid-template-columns:54px minmax(0,1fr) 34px;align-items:center;gap:10px;padding:8px;border:1px solid var(--sc-line,var(--line));border-radius:14px;background:var(--sc-surface-soft,#f5f2f3)}.chat-attachment-card img,.chat-attachment-card video{width:54px;height:54px;object-fit:contain;border-radius:10px;background:#111}.chat-attachment-card span{display:grid;min-width:0}.chat-attachment-card strong,.chat-attachment-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.message-media-viewer{display:grid;gap:12px}.message-media-viewer>img,.message-media-viewer>video{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:20px;background:#0d0b0d}
.meal-analyzer{min-width:0}.meal-analyzer-hero{overflow:hidden;background:radial-gradient(circle at 85% 20%,rgba(218,48,80,.24),transparent 34%),linear-gradient(145deg,#1b171a,#0e0c0d)}
.photo-pick-card{display:flex;align-items:center;gap:12px;padding:14px;border:1px dashed color-mix(in srgb,var(--sc-brand,#c9334f) 55%,var(--sc-line,var(--line)));border-radius:17px;background:color-mix(in srgb,var(--sc-brand,#c9334f) 5%,var(--sc-surface,#fff));color:var(--sc-text,#191619);cursor:pointer}.photo-pick-card>span{display:grid;gap:2px}.photo-pick-card small{color:var(--sc-text-muted,var(--muted))}
.meal-photo-frame{position:relative;display:grid;place-items:center;min-height:220px;overflow:hidden;border:1px solid var(--sc-line,var(--line));border-radius:20px;background:#111}.meal-photo-frame img{display:block;width:100%;max-height:440px;object-fit:contain}.meal-photo-frame .mini-icon{position:absolute;top:10px;right:10px;background:rgba(15,12,14,.82);color:#fff;border-color:rgba(255,255,255,.24)}
.meal-analysis-list{display:grid;gap:12px;margin-top:12px}.meal-analysis-card{display:grid;gap:12px;padding:14px;border:1px solid var(--sc-line,var(--line));border-radius:18px;background:var(--sc-surface,#fff)}.meal-analysis-head{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:12px}.meal-analysis-head>img{width:92px;height:92px;object-fit:contain;border-radius:14px;background:#111}.meal-analysis-head h3{margin:3px 0 7px;overflow-wrap:anywhere}.meal-macro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.meal-macro-grid span{display:grid;gap:3px;padding:10px;border-radius:13px;background:var(--sc-surface-soft,#f5f2f3);text-align:center}.meal-macro-grid strong{font-size:15px;color:var(--sc-text,#191619)}.meal-macro-grid small{font-size:10px;color:var(--sc-text-muted,var(--muted));text-transform:uppercase;letter-spacing:.05em}.warning-text{color:var(--sc-warning-text,#9a5b00)}
html[data-theme="dark"] .chat-header,html[data-theme="dark"] .rich-composer{background:rgba(25,21,24,.94)}
html[data-theme="dark"] .chat-timeline{background:linear-gradient(145deg,#171417,#21191d)}
html[data-theme="dark"] .chat-timeline .bubble:not(.me),html[data-theme="dark"] .chat-day span,html[data-theme="dark"] .meal-analysis-card{background:#282329;color:#f8f5f6;border-color:#443940}
html[data-theme="dark"] .composer-attach,html[data-theme="dark"] .chat-attachment-card,html[data-theme="dark"] .meal-macro-grid span{background:#2a2429;color:#f8f5f6;border-color:#443940}
html[data-theme="dark"] .photo-pick-card{background:rgba(214,50,82,.09);color:#fff}
html[data-theme="dark"] .meal-macro-grid strong{color:#fff}
@media(max-width:620px){.chat-timeline{min-height:48vh;max-height:58vh;padding:13px 9px;border-radius:18px}.chat-timeline .bubble{max-width:90%}.message-media img,.message-media video{max-width:min(74vw,330px);max-height:290px}.rich-composer{bottom:calc(70px + var(--safe-bottom));grid-template-columns:42px minmax(0,1fr) 44px;padding:7px;border-radius:17px}.composer-attach,.rich-composer>button[type="submit"]{width:40px;height:40px}.meal-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-analysis-head{grid-template-columns:72px minmax(0,1fr)}.meal-analysis-head>img{width:72px;height:72px}.meal-photo-frame{min-height:180px}}
@media(prefers-reduced-motion:reduce){.chat-shell *,.meal-analyzer *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--sc-text-muted:var(--sc-muted);--sc-surface-soft:var(--sc-surface-2);--sc-warning-text:var(--sc-warning-deep)}

/* v3.50.0 · hotfix de contraste y legibilidad transversal */


/* v3.50.0 · auditoría visual transversal y contrato de contraste */
:root,
html[data-theme="light"]{
  color-scheme:light;
  --sc-brand-text:#9b1730;
  --sc-success-text:#0d6544;
  --sc-warning-text:#75480f;
  --sc-danger-text:#861726;
  --sc-neutral-text:#51494e;
  --sc-placeholder:#766c71;
  --sc-on-dark:#ffffff;
  --sc-muted-on-dark:#d8cfd3;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --sc-brand-text:#ff758b;
  --sc-success-text:#8ce0b9;
  --sc-warning-text:#ffd38a;
  --sc-danger-text:#ff9eac;
  --sc-neutral-text:#d5cbd0;
  --sc-placeholder:#9f9399;
  --sc-on-dark:#ffffff;
  --sc-muted-on-dark:#d8cfd3;
}

/* El cambio de tema es atómico: nunca muestra texto del tema anterior sobre el fondo nuevo. */
html.theme-switching *,html.theme-switching *::before,html.theme-switching *::after{
  transition:none!important;
  animation:none!important;
}

body,.app-shell,.screen,.portal-screen{color:var(--sc-text)}
::selection{color:#fff;background:var(--sc-brand-deep)}

/* Contrato para toda superficie neutral, incluidas las incorporadas después de v3.48. */
:where(
  .card:not(.dark),.quick-card,.list-item,.metric,.kpi-pill,.action-tile,.focus-card,
  .journey-step,.welcome-step,.program-exercise-card,.exercise-pick-card,.progress-range-card,
  .workout-substitution-card,.training-load-flag,.onboarding-step,.help-topic,.activity-event,
  .coach-center-accordion,.coach-center-group-head,.modal-card,.modal-sheet,.drawer,.sheet,
  .chat-header,.chat-timeline .bubble:not(.me),.chat-day span,.rich-composer,.chat-attachment-card,
  .meal-analysis-card,.meal-macro-grid span,.photo-pick-card,.theme-choice,.filter-pill,
  .phase-card,.week-event,.continuity-step,.program-metric,.contact-grid,.settings-section,
  .notification-card,.task-card,.message-card,.timeline-card,.progress-metric-card,.form-section,
  .table-wrap,.data-table,.empty-state,.search-result,.command-result,.client-card,.appointment-card,
  .invoice-card,.package-card,.booking-card,.profile-panel,.assessment-card,.checkin-card
){
  --surface-text:var(--sc-text);
  --surface-muted:var(--sc-muted);
  color:var(--surface-text);
}
:where(
  .card:not(.dark),.quick-card,.list-item,.metric,.action-tile,.focus-card,.journey-step,
  .program-exercise-card,.exercise-pick-card,.modal-card,.chat-header,.chat-timeline .bubble:not(.me),
  .rich-composer,.meal-analysis-card,.photo-pick-card,.theme-choice,.settings-section,.profile-panel
) :where(h1,h2,h3,h4,h5,h6,strong,.list-title,.metric-value,.title){color:var(--surface-text)}
:where(
  .card:not(.dark),.quick-card,.list-item,.metric,.action-tile,.focus-card,.journey-step,
  .program-exercise-card,.exercise-pick-card,.modal-card,.chat-header,.chat-timeline .bubble:not(.me),
  .rich-composer,.meal-analysis-card,.photo-pick-card,.theme-choice,.settings-section,.profile-panel
) :where(.muted,.small.muted,.micro.muted,.help,.list-subtitle,.metric-label,small:not(.chip),.subtitle,.meta){color:var(--surface-muted)}

/* Superficies oscuras permanentes, independientemente del modo elegido. */
:where(
  .card.dark,.premium-card.dark,.pin-card,.topbar,.premium-topbar,.portal-topbar,
  .onboarding-hero,.help-hero,.activity-hero,.priority-modal-hero,.meal-analyzer-hero,
  .program-builder-summary,.mobile-command.primary,.chat-timeline .bubble.me,
  .message-media-viewer,.training-load-hero,.progress-command-hero,.home-hero
){
  --surface-text:var(--sc-on-dark);
  --surface-muted:var(--sc-muted-on-dark);
  color:var(--surface-text);
}
:where(
  .card.dark,.premium-card.dark,.pin-card,.topbar,.premium-topbar,.portal-topbar,
  .onboarding-hero,.help-hero,.activity-hero,.priority-modal-hero,.meal-analyzer-hero,
  .program-builder-summary,.mobile-command.primary,.chat-timeline .bubble.me,
  .training-load-hero,.progress-command-hero,.home-hero
) :where(h1,h2,h3,h4,h5,h6,strong,.title,.list-title,.metric-value){color:var(--surface-text)}
:where(
  .card.dark,.premium-card.dark,.pin-card,.topbar,.premium-topbar,.portal-topbar,
  .onboarding-hero,.help-hero,.activity-hero,.priority-modal-hero,.meal-analyzer-hero,
  .program-builder-summary,.mobile-command.primary,.chat-timeline .bubble.me,
  .training-load-hero,.progress-command-hero,.home-hero
) :where(.muted,.small.muted,.micro.muted,.help,.list-subtitle,.metric-label,small:not(.chip),.subtitle,.meta){color:var(--surface-muted)}

/* Acceso: el texto del panel oscuro nunca depende del tema global. */
.pin-card .auth-eyebrow{color:#9ff0df}
.pin-card .auth-copy{color:#d4e1e7}
.pin-card .auth-hint{margin-top:16px;text-align:center;color:#c4d2d9}
.pin-card .auth-error{margin-top:10px;text-align:center;color:#ffc2cb}
.pin-card .recovery-link{color:#fff}

/* Texto semántico con tonos diseñados para lectura, no con el color de relleno. */
.brand-text{color:var(--sc-brand-text)!important}
.success-text{color:var(--sc-success-text)!important}
.warning-text{color:var(--sc-warning-text)!important}
.danger-text{color:var(--sc-danger-text)!important}
.neutral-text{color:var(--sc-neutral-text)!important}
.suggestion-text{margin-top:5px}
.metric-trend{color:var(--sc-muted)}

/* Formularios y controles nativos. */
:where(input,select,textarea){
  color:var(--sc-text);
  background-color:var(--sc-surface);
  border-color:var(--sc-line);
  caret-color:var(--sc-brand);
}
:where(input,textarea)::placeholder{color:var(--sc-placeholder);opacity:1}
:where(input,select,textarea):disabled{color:var(--sc-muted);background:var(--sc-surface-2);opacity:1}
.field label,.field-label,legend{color:var(--sc-text)}
.field .help,.field small{color:var(--sc-muted)}
.dark-field :where(input,select,textarea){color:#fff;background:#1b1820;border-color:#514852}
.dark-field :where(input,textarea)::placeholder{color:#b9afb4}
html[data-theme="dark"] option{color:var(--sc-text);background:var(--sc-surface)}

/* Botones: cada fondo tiene una pareja de texto contrastada. */
.btn.primary,.btn.danger,.nav-btn.center,.fab,.composer button,.rich-composer>button[type="submit"]{color:#fff}
.btn.success{color:#fff;background:#116a49;border-color:#116a49}
.btn.warning{color:#2b1a05;background:#f4c76c;border-color:#d99a28}
.btn.secondary{color:var(--sc-brand-text);background:var(--sc-brand-soft);border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line))}
.btn.ghost,.icon-btn,.mini-icon{color:var(--sc-text)}
:where(.card.dark,.pin-card,.topbar,.portal-topbar,.program-builder-summary) :where(.btn.ghost,.icon-btn,.mini-icon){color:#fff}
.btn:disabled,.icon-btn:disabled,.mini-icon:disabled{opacity:.58;filter:none}

/* Pestañas, filtros y opciones seleccionables. */
:where(.filter-pill,.segmented button,.tab-btn,.theme-choice,.account-choice){color:var(--sc-text)}
:where(.filter-pill,.segmented button,.tab-btn,.theme-choice,.account-choice).active,
:where(.filter-pill,.segmented button,.tab-btn,.theme-choice,.account-choice)[aria-selected="true"]{
  color:#fff;
  background:linear-gradient(135deg,var(--sc-brand),var(--sc-brand-deep));
  border-color:var(--sc-brand-deep);
}
.theme-choice:not(.active) small,.account-choice:not(.active) small{color:var(--sc-muted)}
.theme-choice.active small,.account-choice.active small{color:#ffe3e8}

/* Chips, avisos y estados: semántica estable en ambos temas. */
.chip.success,.status.success{color:var(--sc-success-text);background:var(--sc-success-soft);border-color:color-mix(in srgb,var(--sc-success) 35%,var(--sc-line))}
.chip.warning,.status.warning{color:var(--sc-warning-text);background:var(--sc-warning-soft);border-color:color-mix(in srgb,var(--sc-warning) 38%,var(--sc-line))}
.chip.danger,.status.danger{color:var(--sc-danger-text);background:var(--sc-danger-soft);border-color:color-mix(in srgb,var(--sc-danger) 38%,var(--sc-line))}
.chip.blue,.chip.teal,.chip.violet,.chip.brand{color:var(--sc-brand-text);background:var(--sc-brand-soft);border-color:color-mix(in srgb,var(--sc-brand) 32%,var(--sc-line))}
.notice,.alert,.banner{color:var(--sc-text)}
.notice.warning,.alert.warning{color:var(--sc-warning-text);background:var(--sc-warning-soft)}
.notice.danger,.alert.danger{color:var(--sc-danger-text);background:var(--sc-danger-soft)}
.notice.success,.alert.success{color:var(--sc-success-text);background:var(--sc-success-soft)}
:where(.notice,.alert) :where(strong,p,small,span){color:inherit}

/* Tablas, gráficos y líneas de tiempo. */
:where(table,.data-table){color:var(--sc-text);background:var(--sc-surface)}
:where(th){color:var(--sc-muted);background:var(--sc-surface-2)}
:where(td,th){border-color:var(--sc-line)}
:where(svg){color:inherit}
.chart-label,.axis-label,.training-load-week small,.timeline-date{color:var(--sc-muted)}

/* Chat y nutrición: superficies introducidas en v3.49. */
.chat-timeline .bubble:not(.me){color:var(--sc-text);background:var(--sc-surface)}
.chat-day span,.chat-attachment-card,.meal-analysis-card,.meal-macro-grid span{color:var(--sc-text)}
.chat-attachment-card small,.meal-macro-grid small,.photo-pick-card small{color:var(--sc-muted)}
html[data-theme="dark"] .chat-timeline .bubble:not(.me),
html[data-theme="dark"] .chat-day span,
html[data-theme="dark"] .chat-attachment-card,
html[data-theme="dark"] .meal-analysis-card,
html[data-theme="dark"] .meal-macro-grid span{
  color:var(--sc-text);
  background:var(--sc-surface-2);
  border-color:var(--sc-line);
}

/* Barra inferior y navegación lateral. */
:where(.bottom-nav,.side-nav,.nav-rail){color:var(--sc-text)}
:where(.nav-btn,.side-nav button,.nav-rail button){color:var(--sc-muted)}
:where(.nav-btn.active,.side-nav button.active,.nav-rail button.active){color:var(--sc-brand-text)}
.nav-btn.center{color:#fff}

/* Accesibilidad de contraste forzado y movimiento reducido. */
@media(forced-colors:active){
  *{forced-color-adjust:auto}
  .btn,.chip,.filter-pill,.theme-choice,.card,.modal-card{border:1px solid CanvasText}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* v3.50.0 · cierre de auditoría sobre superficies persistentes y contraste por componente */
/* Las superficies que nacieron con fondos claros reciben ahora un contrato explícito en modo oscuro. */
html[data-theme="dark"] :where(
  .context-guide,
  .agenda-week-strip,
  .agenda-toolbar,
  .agenda-day-summary,
  .appointment-card-premium,
  .progress-insight-card,
  .goal-visual,
  .mobile-workout-recent,
  .picker-intro,
  .muscle-access,
  .picker-secondary-filters,
  .selection-status,
  .heart-rate-hero,
  .routine-assistant-hero,
  .coach-live-preview,
  .progress-compare-intro,
  .routine-context-card,
  .portal-progress-update-card,
  .task-batch-bar
){
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface-2))!important;
  border-color:var(--sc-line)!important;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
}

/* Ayuda contextual: título, detalle y controles siempre legibles sobre la misma superficie. */
html[data-theme="dark"] .context-guide-copy strong{color:var(--sc-text)!important}
html[data-theme="dark"] .context-guide-copy em{color:var(--sc-muted)!important}
html[data-theme="dark"] .context-guide-copy small{color:var(--sc-brand-text)!important}
html[data-theme="dark"] .context-guide-close{color:var(--sc-muted)!important}
html[data-theme="dark"] .context-guide-close:hover{color:var(--sc-text)!important;background:var(--sc-surface-3)}

/* Agenda: se elimina la combinación de texto claro sobre tarjetas blancas. */
html[data-theme="dark"] .agenda-day-pill:not(.active){
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,var(--sc-surface-2),var(--sc-surface-3))!important;
  border-color:var(--sc-line)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}
html[data-theme="dark"] .agenda-day-pill:not(.active) strong{color:var(--sc-text)!important}
html[data-theme="dark"] .agenda-day-pill:not(.active) em,
html[data-theme="dark"] .agenda-day-pill:not(.active) span{color:var(--sc-muted)!important}
html[data-theme="dark"] .agenda-day-pill.today:not(.active){border-color:color-mix(in srgb,var(--sc-brand) 55%,var(--sc-line))!important}
html[data-theme="dark"] .agenda-toolbar{background:color-mix(in srgb,var(--sc-surface) 90%,transparent)!important}
html[data-theme="dark"] .agenda-day-summary strong{color:var(--sc-text)!important}
html[data-theme="dark"] .agenda-day-summary span{color:var(--sc-muted)!important}
html[data-theme="dark"] .appointment-card-premium :where(strong,h3,h4,.appointment-title){color:var(--sc-text)!important}
html[data-theme="dark"] .appointment-card-premium :where(em,small,p,.muted,.appointment-meta){color:var(--sc-muted)!important}
html[data-theme="dark"] .appointment-card-premium .appointment-person small{color:var(--sc-brand-text)!important}
html[data-theme="dark"] .appointment-card-premium .appointment-action{color:var(--sc-text)!important;background:var(--sc-surface-3)!important;border-color:var(--sc-line)!important}

/* Progreso: todos los números, leyendas y anillos respetan el fondo activo. */
.progress-insight-caption,.trend-placeholder,.progress-insight-foot b{color:var(--sc-brand-text)!important}
.progress-insight-head span{color:var(--sc-text)!important}
.progress-insight-head small,.progress-insight-foot span{color:var(--sc-muted)!important}
.progress-insight-foot b.changed{color:var(--sc-danger-text)!important}
html[data-theme="dark"] .progress-insight-card :where(h2,h3,h4,strong,.progress-insight-value){color:var(--sc-text)!important}
html[data-theme="dark"] .progress-insight-card :where(p,small,em,.muted,.progress-insight-caption){color:var(--sc-muted)!important}
html[data-theme="dark"] .progress-insight-card .trend-placeholder,
html[data-theme="dark"] .progress-insight-card .progress-insight-foot b{color:var(--sc-brand-text)!important}
html[data-theme="dark"] .progress-sparkline circle{fill:var(--sc-surface-2)!important;stroke:var(--sc-brand-text)!important}
html[data-theme="dark"] .goal-ring{background:conic-gradient(var(--sc-brand) calc(var(--goal-progress)*1%),var(--sc-surface-3) 0)!important}
html[data-theme="dark"] .goal-ring::before{background:var(--sc-surface-2)!important}
html[data-theme="dark"] .goal-ring strong,
html[data-theme="dark"] .goal-visual :where(h2,h3,h4,strong){color:var(--sc-text)!important}
html[data-theme="dark"] .goal-visual :where(p,small,.muted){color:var(--sc-muted)!important}
html[data-theme="dark"] .goal-visual.reached{background:linear-gradient(180deg,var(--sc-success-soft),var(--sc-surface-2))!important;border-color:color-mix(in srgb,var(--sc-success) 45%,var(--sc-line))!important}

/* Clientes: los textos descriptivos dejan de usar borgoñas oscuros sobre grafito. */
html[data-theme="dark"] .client-card-goal{color:var(--sc-text)!important}
html[data-theme="dark"] .client-card-footer{color:var(--sc-brand-text)!important;border-top-color:var(--sc-line)!important}
html[data-theme="dark"] .client-card-footer i{color:inherit!important}
html[data-theme="dark"] .client-card-footer span.attention{color:var(--sc-warning-text)!important}

/* Programas: vistas previas, estadísticas y progreso obtienen superficies oscuras coherentes. */
html[data-theme="dark"] .program-day-preview span,
html[data-theme="dark"] .program-progress-stack,
html[data-theme="dark"] .program-card-stats span,
html[data-theme="dark"] .summary-metrics span,
html[data-theme="dark"] .program-readiness,
html[data-theme="dark"] .block-progress{
  color:var(--sc-text)!important;
  background:var(--sc-surface-3)!important;
  border-color:var(--sc-line)!important;
}
html[data-theme="dark"] .program-day-preview span.ready{background:linear-gradient(180deg,var(--sc-surface-2),var(--sc-surface-3))!important}
html[data-theme="dark"] .program-day-preview span.empty{background:var(--sc-warning-soft)!important;color:var(--sc-warning-text)!important}
html[data-theme="dark"] .program-day-preview span.more{background:var(--sc-brand-soft)!important}
html[data-theme="dark"] .program-day-preview b{color:var(--sc-brand-text)!important;background:var(--sc-surface)!important;box-shadow:none}
html[data-theme="dark"] .program-day-preview em,
html[data-theme="dark"] .program-day-preview strong,
html[data-theme="dark"] .program-card-stats strong{color:var(--sc-text)!important}
html[data-theme="dark"] .program-day-preview small,
html[data-theme="dark"] .program-progress-stack small,
html[data-theme="dark"] .program-card-stats small{color:var(--sc-muted)!important}
html[data-theme="dark"] .program-completion-ring::after{background:var(--sc-surface-2)!important}
html[data-theme="dark"] .program-completion-ring :where(strong,span){color:var(--sc-text)!important}

/* Modales, tablas, menús y estados vacíos: herencia de texto definida por la superficie. */
html[data-theme="dark"] :where(.modal-card,.sheet-card,.popover,.dropdown-menu,.command-menu,.empty-state,.panel,.drawer){
  color:var(--sc-text);
  background-color:var(--sc-surface);
  border-color:var(--sc-line);
}
html[data-theme="dark"] :where(.modal-card,.sheet-card,.popover,.dropdown-menu,.command-menu,.empty-state,.panel,.drawer) :where(h1,h2,h3,h4,h5,h6,strong,.title){color:var(--sc-text)}
html[data-theme="dark"] :where(.modal-card,.sheet-card,.popover,.dropdown-menu,.command-menu,.empty-state,.panel,.drawer) :where(p,small,em,.muted,.subtitle,.help){color:var(--sc-muted)}

/* Los elementos con fondo de marca mantienen texto claro incluso dentro del tema claro. */
:where(.agenda-day-pill.active,.btn.primary,.btn.danger,.nav-btn.center,.fab,.mobile-command.primary,.chat-timeline .bubble.me) :where(span,strong,small,em,i){color:inherit}

/* Evita transiciones cromáticas parciales durante el cambio de tema. */
html.theme-switching *,html.theme-switching *::before,html.theme-switching *::after{
  transition-property:none!important;
  animation-play-state:paused!important;
}

/* Acciones destructivas: jerarquía visible sin sacrificar contraste. */
.btn.danger:not(.inline){
  color:#fff!important;
  background:linear-gradient(135deg,var(--sc-danger),var(--sc-danger-deep))!important;
  border-color:var(--sc-danger-deep)!important;
}
.btn.inline.danger{
  color:var(--sc-danger-text)!important;
  background:var(--sc-danger-soft)!important;
  border-color:color-mix(in srgb,var(--sc-danger) 38%,var(--sc-line))!important;
}
.btn.inline.danger :where(span,strong,small,em,i){color:inherit!important}

/* v3.53.0 · refinamiento visual profundo basado en revisión real de iPhone */
:root{--sc-mobile-gutter:16px;--sc-mobile-dock-space:118px}
.portal-home-hero{color:#fff!important;border-color:rgba(255,255,255,.11)!important;background:radial-gradient(circle at 88% 82%,rgba(225,45,75,.24),transparent 34%),linear-gradient(145deg,#171317 0%,#21191c 54%,#45121f 100%)!important}
.portal-home-hero :where(h1,h2,h3,strong){color:#fff!important}.portal-home-hero :where(p,.muted,small){color:#d8cfd3!important}.portal-home-hero .eyebrow{color:#ff8da0!important}.portal-home-hero .portal-status-rail .chip{border:1px solid rgba(255,255,255,.16)}.portal-home-hero .chip.teal{color:#b9f0d6;background:rgba(31,152,102,.18)}.portal-home-hero .chip.blue{color:#ffd5dc;background:rgba(225,45,75,.18)}
.program-builder-modal,.program-builder-modal>.program-builder{background:var(--sc-bg)}.program-builder-modal>.program-builder{scrollbar-gutter:stable}.program-day-card{color:var(--sc-text);border-color:var(--sc-line);background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface));box-shadow:0 16px 36px color-mix(in srgb,#000 10%,transparent)}.day-title-input,.day-focus-input,.day-note-input{color:var(--sc-text)!important;border:1px solid var(--sc-line)!important;background:var(--sc-surface-2)!important}.day-title-input{font-size:16px;line-height:1.25}.day-focus-input,.day-note-input{color:var(--sc-muted)!important}.day-summary{flex-wrap:wrap}.day-summary span{color:var(--sc-text);background:var(--sc-surface-3);border:1px solid var(--sc-line)}.program-day-tabs{scroll-padding-inline:2px;padding-inline:2px 18px;scroll-snap-type:x mandatory}.program-day-tab{color:var(--sc-text);border-color:var(--sc-line);background:var(--sc-surface-2);scroll-snap-align:start}.program-day-tab strong{color:var(--sc-text)}.program-day-tab small{color:var(--sc-muted)}.program-day-tab.active{background:linear-gradient(145deg,var(--sc-brand-soft),var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 54%,var(--sc-line))}.program-exercise-card{color:var(--sc-text);background:var(--sc-surface-2);border-color:var(--sc-line)}.program-exercise-main h4{color:var(--sc-text)}.program-exercise-main p{color:var(--sc-muted)}.program-exercise-thumb{border-color:var(--sc-line);background:#f5f1f2}.exercise-detail-row>span{color:var(--sc-text);background:var(--sc-surface-3);border:1px solid var(--sc-line)}.exercise-actions button,.day-actions button{color:var(--sc-text);background:var(--sc-surface);border-color:var(--sc-line)}.exercise-actions button:hover,.day-actions button:hover{border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));background:var(--sc-brand-soft)}.exercise-actions button:disabled,.day-actions button:disabled{color:var(--sc-muted);background:var(--sc-surface-3);opacity:.62}.mobile-builder-dock{background:linear-gradient(180deg,transparent,var(--sc-bg) 26%)}
.activity-history-card{overflow:visible}.activity-timeline{gap:10px}.activity-event{grid-template-columns:34px minmax(0,1fr)!important;align-items:start!important;gap:12px!important;min-width:0;padding:14px!important}.activity-event::before{display:none!important}.activity-event-status{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;color:var(--sc-brand-bright);background:var(--sc-brand-soft)}.activity-event-copy{min-width:0;display:grid;gap:4px}.activity-event-title{display:block;color:var(--sc-text);font-size:13px;line-height:1.28;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.activity-event-detail{display:block;color:var(--sc-muted);font-size:11px;line-height:1.42;overflow-wrap:anywhere}.activity-event-meta{display:block;color:var(--sc-muted);font-size:10px;line-height:1.3;font-variant-numeric:tabular-nums}
.task-item{align-items:start!important;padding:15px!important;background:var(--sc-surface-2)!important}.task-check{color:transparent!important;background:var(--sc-surface-3)!important;border:2px solid var(--sc-line-strong)!important;box-shadow:none!important}.task-check::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sc-muted);opacity:.52}.task-check.done{color:#fff!important;background:var(--sc-success)!important;border-color:var(--sc-success)!important}.task-check.done::after{display:none}.task-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}.task-actions .btn{width:100%;min-width:0;justify-content:center}.task-tail{align-items:center!important;flex-wrap:wrap}.task-select-toggle,.task-delete{color:var(--sc-muted)!important;background:var(--sc-surface-3)!important;border:1px solid var(--sc-line)!important}.task-delete{width:34px;height:34px}.task-delete:hover{color:var(--sc-danger-text)!important;background:var(--sc-danger-soft)!important}.task-select-toggle.selected{color:#fff!important;background:var(--sc-brand)!important;border-color:var(--sc-brand)!important}
.interview-form{background:var(--sc-surface)!important;border-color:var(--sc-line)!important}.interview-question{color:var(--sc-text)!important;background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}.interview-question .field label,.interview-form .field label{color:var(--sc-text)!important}.interview-question :where(input,select,textarea),.interview-form :where(input,select,textarea){color:var(--sc-text)!important;background:var(--sc-surface)!important;border-color:var(--sc-line-strong)!important}.interview-question :where(input,textarea)::placeholder,.interview-form :where(input,textarea)::placeholder{color:var(--sc-muted)!important;opacity:.78}html[data-theme="dark"] .interview-question :where(input,select,textarea),html[data-theme="dark"] .interview-form :where(input,select,textarea){background:#100e12!important}
.coach-public-card.preview{color:#2b171c!important;background:linear-gradient(145deg,#fff,#fff5f7)!important;border-color:#edb8c2!important}.coach-public-card.preview :where(h1,h2,h3,strong){color:#351b21!important}.coach-public-card.preview :where(p,small,.muted){color:#716168!important}.coach-public-card.preview .coach-public-facts>div{background:#fff!important;border-color:#eadde0!important}.coach-public-card.preview .coach-public-facts strong{color:#4a252e!important}.coach-public-card.preview .coach-public-facts small{color:#83747a!important}
.client-portfolio-card{overflow:hidden}.client-card-goal{line-height:1.35}.client-phase-line{background:var(--sc-surface-3);border-radius:18px;padding:12px}.client-phase-line .progress{background:color-mix(in srgb,var(--sc-text) 14%,transparent)}.client-risk-score{flex:0 0 auto}
@media(max-width:699px){.app-shell{padding-bottom:calc(var(--sc-mobile-dock-space) + var(--safe-bottom))}.screen,.portal-screen{padding-bottom:calc(var(--sc-mobile-dock-space) + 18px + var(--safe-bottom))}.modal:not(.program-builder-modal):not(.workout-modal){padding-bottom:calc(38px + var(--safe-bottom))}.bottom-nav{left:12px;right:12px;width:auto;transform:none;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:7px 8px calc(7px + var(--safe-bottom));box-shadow:0 18px 50px rgba(0,0,0,.34)}.portal-nav{overflow-x:auto;grid-template-columns:repeat(7,minmax(62px,1fr));scrollbar-width:none}.portal-nav::-webkit-scrollbar{display:none}.nav-btn{min-height:58px}.program-day-tabs{margin-inline:-1px}.program-day-tab{flex-basis:calc(100vw - 72px);max-width:520px}.program-day-head{gap:10px}.program-day-fields{min-width:0}.day-title-input,.day-focus-input{min-width:0}.program-exercise-card{grid-template-columns:30px 64px minmax(0,1fr)!important;gap:10px!important}.program-exercise-thumb{width:64px!important;aspect-ratio:4/5}.exercise-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}.task-item{grid-template-columns:34px minmax(0,1fr)!important;grid-template-areas:'check main' '. tail'!important}.task-tail{justify-content:flex-start!important;margin-top:10px!important}.portfolio-toolbar{padding:12px!important}.client-portfolio-section .portfolio-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;gap:8px}.client-portfolio-section .filter-pill{width:100%;justify-content:center;min-width:0;padding-inline:8px}.client-portfolio-section .filter-pill:last-child{grid-column:1/-1}.client-card-head{align-items:flex-start}.client-card-tags{padding-bottom:5px}}
@media(max-width:390px){:root{--sc-mobile-gutter:12px}.portal-home-hero{padding:18px!important}.portal-home-hero h1{font-size:30px}.portal-hero-profile{display:grid;grid-template-columns:62px minmax(0,1fr);align-items:start}.portal-primary-action{grid-template-columns:46px minmax(0,1fr);padding:15px}.portal-primary-action .portal-action-button{grid-column:1/-1;width:100%;min-width:0}.program-exercise-card{grid-template-columns:28px 56px minmax(0,1fr)!important;padding:9px!important}.program-exercise-thumb{width:56px!important}.exercise-detail-row>span{font-size:9px}.task-actions{grid-template-columns:1fr!important}.activity-event{padding:12px!important}}

/* v3.53.0 · navegación sin duplicados y atajos esenciales */
.home-topbar-clean{
  grid-template-columns:1fr!important;
  justify-items:end;
  min-height:calc(58px + var(--safe-top));
  padding:calc(8px + var(--safe-top)) 14px 8px;
}
.home-topbar-clean .top-actions{justify-content:flex-end}
.mobile-hero-identity,.hero-brand-inline{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:7px;
  width:max-content;
  max-width:100%;
  margin-bottom:10px;
  color:#ffd7de;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mobile-hero-identity svg,.hero-brand-inline svg{width:16px;height:16px;color:#ff5b76}
.single-command-grid{grid-template-columns:1fr!important}
.single-command-grid .mobile-command{width:100%}
.mobile-quick-row.configurable{grid-template-columns:repeat(3,minmax(0,1fr))}
.coach-center-accordion:not([open]) .coach-center-accordion-body{display:none}

@media(max-width:699px){
  .home-topbar-clean{
    min-height:calc(56px + var(--safe-top))!important;
    padding:calc(7px + var(--safe-top)) 12px 7px!important;
    grid-template-columns:1fr!important;
    grid-template-areas:'actions'!important;
  }
  .home-topbar-clean .top-actions{grid-area:actions;justify-content:flex-end;width:100%}
  .mobile-home-hero{padding-top:16px}
  .mobile-hero-identity{margin-bottom:7px;font-size:8px;letter-spacing:.12em}
  .single-command-grid .mobile-command{min-height:58px}
  .mobile-quick-row.configurable{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .mobile-quick-row.configurable button{min-height:72px}
}

@media(max-width:360px){
  .mobile-quick-row.configurable{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* System Coach 3.53 · envío fiable de fotos y nutrición dentro del chat */
.message-media-meta{display:block;padding:7px 9px 2px;color:rgba(255,255,255,.78);font-size:10px;line-height:1.3;overflow-wrap:anywhere}
.chat-food-setup{display:grid;gap:9px;margin-top:8px;padding:10px;border:1px solid var(--sc-line,var(--line));border-radius:14px;background:var(--sc-surface,#fff);color:var(--sc-text,#191619)}
.chat-food-toggle{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.chat-food-toggle input{width:18px;height:18px;margin-top:2px;accent-color:var(--sc-brand,#c9334f)}.chat-food-toggle>span{display:grid;gap:2px;min-width:0}.chat-food-toggle strong{font-size:13px}.chat-food-toggle small,.chat-food-fields>small{color:var(--sc-text-muted,var(--muted));font-size:10px;line-height:1.4}
.chat-food-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,.42fr);gap:8px}.chat-food-fields[hidden]{display:none}.chat-food-fields input,.chat-food-fields select{min-width:0;height:39px;padding:0 10px;border:1px solid var(--sc-line,var(--line));border-radius:11px;background:var(--sc-surface-soft,#f5f2f3);color:var(--sc-text,#191619);font:inherit;font-size:12px}.chat-food-fields>small{grid-column:1/-1}
.inline-meal-card{display:grid;gap:9px;margin:3px 7px 8px;padding:10px;border:1px solid rgba(201,51,79,.22);border-radius:14px;background:#fff;color:#211a1e;text-align:left}.inline-meal-card.pending{background:#fff9f2;border-color:rgba(183,117,0,.28)}.inline-meal-card.ready{background:#fff7f9;border-color:rgba(201,51,79,.3)}
.inline-meal-title{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}.inline-meal-title>span:first-child{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:rgba(201,51,79,.1);color:var(--sc-brand,#c9334f)}.inline-meal-title>div{display:grid;gap:1px;min-width:0}.inline-meal-title strong{font-size:12px;line-height:1.25}.inline-meal-title small{color:#70636a;font-size:9px;line-height:1.35}.inline-meal-title>button,.inline-meal-open{border:1px solid rgba(201,51,79,.28);border-radius:10px;background:rgba(201,51,79,.08);color:#a51f3b;font:inherit;font-size:10px;font-weight:850;padding:7px 9px}.inline-meal-open{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}
.inline-meal-macros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.inline-meal-macros span{display:grid;gap:1px;padding:7px 4px;border-radius:9px;background:#f5edf0;text-align:center}.inline-meal-macros strong{font-size:11px;line-height:1.15;color:#2b2025}.inline-meal-macros small{font-size:8px;color:#766970;text-transform:uppercase;letter-spacing:.04em}.inline-meal-card>p{margin:0;color:#51444b;font-size:10px;line-height:1.4}.inline-meal-disclaimer{color:#766970;font-size:8.5px;line-height:1.35}
.inline-meal-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(105px,.38fr);gap:8px;padding-top:8px;border-top:1px solid rgba(201,51,79,.15)}.inline-meal-form>label{display:grid;gap:4px}.inline-meal-form>label>span{font-size:9px;font-weight:800;color:#5d4d55}.inline-meal-form input[type="text"],.inline-meal-form input:not([type]),.inline-meal-form select{width:100%;min-width:0;height:38px;padding:0 9px;border:1px solid #ddcfd5;border-radius:10px;background:#fff;color:#211a1e;font:inherit;font-size:11px}.inline-meal-ack{grid-column:1/-1!important;display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:7px}.inline-meal-ack input{width:16px;height:16px;flex:0 0 16px;accent-color:var(--sc-brand,#c9334f)}.inline-meal-ack span{font-weight:650!important;line-height:1.35}.inline-meal-actions{grid-column:1/-1;display:flex;gap:7px}.inline-meal-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 11px;border:1px solid #d7c8cf;border-radius:10px;background:#fff;color:#6b5962;font:inherit;font-size:10px;font-weight:850}.inline-meal-actions button[type="submit"]{flex:1;border-color:transparent;background:linear-gradient(145deg,var(--sc-brand-bright,#d93a57),var(--sc-brand-deep,#9f213a));color:#fff}
html[data-theme="dark"] .chat-food-setup{background:#211c20;color:#faf7f8;border-color:#463a41}html[data-theme="dark"] .chat-food-fields input,html[data-theme="dark"] .chat-food-fields select{background:#171316;color:#faf7f8;border-color:#4a3c43}html[data-theme="dark"] .inline-meal-card{background:#262025;color:#faf7f8;border-color:#4e3b44}html[data-theme="dark"] .inline-meal-card.pending{background:#28231b;border-color:#5f4b28}html[data-theme="dark"] .inline-meal-card.ready{background:#2b2025;border-color:#663644}html[data-theme="dark"] .inline-meal-title small,html[data-theme="dark"] .inline-meal-card>p,html[data-theme="dark"] .inline-meal-disclaimer{color:#c9bec3}html[data-theme="dark"] .inline-meal-macros span{background:#171316}html[data-theme="dark"] .inline-meal-macros strong{color:#fff}html[data-theme="dark"] .inline-meal-macros small{color:#c9bec3}html[data-theme="dark"] .inline-meal-form>label>span{color:#d8cdd2}html[data-theme="dark"] .inline-meal-form input[type="text"],html[data-theme="dark"] .inline-meal-form input:not([type]),html[data-theme="dark"] .inline-meal-form select{background:#151215;color:#fff;border-color:#504149}html[data-theme="dark"] .inline-meal-actions button{background:#211c20;color:#eee7ea;border-color:#504149}
.rich-composer[aria-busy="true"]{opacity:.82;pointer-events:none}.rich-composer[aria-busy="true"]::after{content:'Preparando foto…';grid-column:1/-1;color:var(--sc-text-muted,var(--muted));font-size:10px;text-align:center}
@media(max-width:620px){.chat-food-fields{grid-template-columns:1fr}.chat-food-fields>small{grid-column:1}.inline-meal-macros{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-meal-form{grid-template-columns:1fr}.inline-meal-form>label,.inline-meal-ack,.inline-meal-actions{grid-column:1/-1}.message-media-meta{font-size:9px}}

/* System Coach 3.54 · conversación contextual, respuestas y estados */
.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:5px}
.bubble-footer .bubble-time{margin:0;align-self:auto}
.bubble-reply{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:9px;font-weight:800;opacity:.7;cursor:pointer}
.bubble-reply:hover,.bubble-reply:focus-visible{background:color-mix(in srgb,currentColor 10%,transparent);opacity:1}
.message-reply-reference{display:grid;gap:2px;width:100%;min-width:0;margin:0 0 7px;padding:7px 9px;border:0;border-left:3px solid currentColor;border-radius:8px;background:color-mix(in srgb,currentColor 9%,transparent);color:inherit;text-align:left;font:inherit;cursor:pointer;opacity:.9}
.message-reply-reference.static{cursor:default}
.message-reply-reference span{font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;opacity:.72}
.message-reply-reference strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.35;color:inherit}
.composer-reply-preview{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;padding:7px;border:1px solid var(--sc-line,var(--line));border-radius:13px;background:var(--sc-surface-soft,#f5f2f3);color:var(--sc-text,#191619)}
.composer-reply-preview .message-reply-reference{margin:0;background:transparent;border-radius:7px}
.composer-reply-preview>button{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--sc-line,var(--line));border-radius:9px;background:var(--sc-surface,#fff);color:var(--sc-text-muted,var(--muted))}
.message-highlight{animation:message-pulse 1.1s ease both}
@keyframes message-pulse{0%,100%{box-shadow:0 8px 20px rgba(24,18,21,.07)}40%{box-shadow:0 0 0 5px color-mix(in srgb,var(--sc-brand,#c9334f) 24%,transparent),0 12px 28px rgba(201,51,79,.22)}}
html[data-theme="dark"] .composer-reply-preview{background:#262126;color:#f8f5f6;border-color:#493c43}
html[data-theme="dark"] .composer-reply-preview>button{background:#181518;color:#d7ccd1;border-color:#493c43}
.chat-timeline .bubble.me .message-reply-reference{background:rgba(255,255,255,.12)}
.chat-timeline .bubble.me .bubble-reply{color:#fff}
@media(max-width:620px){.bubble-footer{gap:5px}.bubble-reply{padding:3px 4px;font-size:8px}.message-reply-reference strong{font-size:9px}.composer-reply-preview{padding:5px}.chat-timeline{scroll-behavior:smooth}}
@media(prefers-reduced-motion:reduce){.message-highlight{animation:none!important}.chat-timeline{scroll-behavior:auto!important}}

/* v3.55 · Base de producción */
.production-foundation{--production-border:color-mix(in srgb,var(--border) 82%,var(--brand) 18%)}
.production-foundation-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;overflow:hidden;position:relative}
.production-foundation-hero::after{content:"";position:absolute;inset:auto -48px -64px auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 34%,transparent),transparent 68%);pointer-events:none}
.production-score{--production-score:0;width:104px;height:104px;border-radius:50%;display:grid;place-items:center;align-content:center;position:relative;background:conic-gradient(var(--brand) calc(var(--production-score)*1%),color-mix(in srgb,var(--surface-3) 82%,transparent) 0);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--border) 70%,transparent)}
.production-score::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#171317}
.production-score strong,.production-score span{position:relative;z-index:1;color:#fff}
.production-score strong{font-size:1.35rem;line-height:1}
.production-score span{font-size:.72rem;opacity:.72;margin-top:4px}
.production-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.production-step{appearance:none;border:1px solid var(--production-border);background:var(--surface-2);color:var(--text);border-radius:18px;padding:14px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;text-align:left;min-width:0}
.production-step>span:first-child{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--amber) 16%,var(--surface-3));color:var(--amber)}
.production-step.ready>span:first-child{background:color-mix(in srgb,var(--green) 16%,var(--surface-3));color:var(--green)}
.production-step strong,.production-step small{display:block;min-width:0}
.production-step strong{font-size:.95rem;color:var(--text)}
.production-step small{margin-top:3px;color:var(--muted);white-space:normal;line-height:1.35}
.production-step em{font-style:normal;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--amber)}
.production-step.ready em{color:var(--green)}
.production-provision-form{border-color:color-mix(in srgb,var(--brand) 34%,var(--border));box-shadow:0 18px 42px color-mix(in srgb,var(--brand) 10%,transparent)}
@media(max-width:720px){.production-foundation-hero{grid-template-columns:1fr}.production-score{width:88px;height:88px}.production-checklist{grid-template-columns:1fr}.production-step{grid-template-columns:36px minmax(0,1fr) auto;padding:13px}.production-provision-form .field-grid.two{grid-template-columns:1fr}}

/* v3.56 · Acceso por correo y recuperación remota */
.auth-switch.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.remote-auth-card{width:min(100%,520px);max-height:calc(100vh - 36px - var(--safe-top) - var(--safe-bottom));overflow:auto;overscroll-behavior:contain}
.remote-login-form{margin-top:18px;text-align:left}
.remote-login-form .field-grid.two{gap:10px}
.remote-login-form .recovery-link{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:2px}
.remote-auth-card .notice{margin-top:14px;text-align:left}
@media(max-width:480px){.remote-auth-card{padding:20px}.remote-login-form .field-grid.two{grid-template-columns:1fr}.auth-switch.three button{font-size:11px;padding-inline:4px}}


/* v3.59.3 · estabilidad móvil, contraste del portal y salud ampliada */
html,body,#app{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior-x:none}
body{min-height:100svh;min-height:100dvh}
.app-shell{width:100%;max-width:1024px;min-height:100svh;min-height:100dvh;overflow-x:hidden}
.screen,.section,.portal-screen,.card,.stack,.row,.list,.list-item{min-width:0;max-width:100%}
img,video,canvas{max-width:100%;height:auto}
.portal-hero,.portal-home-hero,.portal-plan-hero{--surface-text:#fff;--surface-muted:#d8cfd3;color:#fff!important}
.portal-hero :where(h1,h2,h3,h4,h5,h6,strong,.title),.portal-home-hero :where(h1,h2,h3,h4,h5,h6,strong,.title),.portal-plan-hero :where(h1,h2,h3,h4,h5,h6,strong,.title){color:#fff!important}
.portal-hero :where(p,.muted,small),.portal-home-hero :where(p,.muted,small),.portal-plan-hero :where(p,.muted,small){color:#d8cfd3!important}
.portal-more-grid{display:grid;gap:10px}
.portal-more-card{width:100%;min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:18px;color:var(--ink);background:#fff;text-align:left}
.portal-more-card>span:nth-child(2){min-width:0}.portal-more-card strong,.portal-more-card small{display:block}.portal-more-card small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.35}.portal-more-card.active{border-color:rgba(201,24,54,.35);background:#fff4f6}
.food-photo-status{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:9px;padding:10px 11px;border-radius:14px;background:#f7f3f4;color:#70414b}
.food-photo-status>span:first-child{width:28px;height:28px;display:grid;place-items:center;border-radius:10px;background:rgba(255,255,255,.78)}
.food-photo-status strong,.food-photo-status small{display:block}.food-photo-status small{margin-top:2px;font-size:10px;line-height:1.35}.food-photo-status.success{color:#0b7549;background:#e8f8ef}.food-photo-status.warning{color:#7c580f;background:#fff3d7}.food-photo-status.danger{color:#9a3445;background:#ffecef}
.inline-meal-card.rejected{border-color:#e9d7da;background:#faf7f8}.inline-meal-card.rejected .inline-meal-title{align-items:flex-start}.inline-meal-card.rejected small{color:var(--muted)}
.vital-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vital-device-grid,.vital-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}
.vital-device-grid article{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:13px;border:1px solid var(--line);border-radius:18px;background:#fbf9fa}
.vital-device-grid article>div{min-width:0}.vital-device-grid strong,.vital-device-grid small{display:block}.vital-device-grid small{margin-top:3px;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vital-device-grid .btn{grid-column:1/-1;min-height:44px;margin:0}
.blood-pressure-value{flex:0 0 auto;min-width:72px;text-align:center}.blood-pressure-value strong,.blood-pressure-value small{display:block}.blood-pressure-value strong{font-size:20px;letter-spacing:-.04em}.blood-pressure-value small{color:var(--muted);font-size:9px}
@keyframes sc-dock-rise-stable{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:699px){
  .bottom-nav{left:max(10px,var(--safe-left,0px));right:max(10px,var(--safe-right,0px));bottom:max(6px,var(--safe-bottom));width:auto;max-width:640px;margin-inline:auto;transform:none!important;animation:sc-dock-rise-stable .28s ease-out;overflow:hidden}
  .portal-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:2px;overflow:hidden!important;scroll-snap-type:none!important;touch-action:manipulation}
  .portal-nav .nav-btn{flex:initial!important;width:auto!important;min-width:0!important;min-height:50px!important;padding:5px 2px!important;font-size:8px!important;scroll-snap-align:none!important}
  .portal-nav .nav-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .portal-screen{padding-bottom:calc(82px + var(--safe-bottom))!important}
  .program-builder-modal,.modal-wide{width:100%!important;max-width:100%!important}
  input,select,textarea{font-size:16px!important}
  .vital-device-grid,.vital-manual-grid{grid-template-columns:1fr}
}

/* v3.59.3.1 · cierre de estabilidad en Safari y verificación visual privada */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}
body{position:relative;touch-action:pan-y;contain:inline-size}
#app{isolation:isolate;contain:inline-size}
.portal-shell,.portal-content,.portal-screen,.section{overflow-wrap:anywhere}
.bottom-nav{box-sizing:border-box;will-change:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}
.portal-nav .nav-btn{transform:none!important}
.portal-nav .nav-btn:active{transform:none!important}
.chat-food-toggle input:disabled+span{opacity:.62}
.food-photo-status[aria-busy="true"]{animation:sc-soft-pulse 1.2s ease-in-out infinite}
@keyframes sc-soft-pulse{50%{opacity:.66}}
@media(max-width:699px){
  .app-shell,.portal-shell{min-width:0!important;width:100%!important;max-width:100vw!important}
  .premium-topbar,.portal-topbar{width:100%;max-width:100%;min-width:0}
  .bottom-nav{position:fixed!important;left:calc(10px + env(safe-area-inset-left,0px))!important;right:calc(10px + env(safe-area-inset-right,0px))!important;width:auto!important;max-width:none!important;margin:0!important}
  .portal-nav{min-width:0!important;max-width:none!important}
  .portal-nav .nav-btn svg{width:20px!important;height:20px!important;flex:0 0 auto}
}


/* System Coach 3.59.4 · cierre de navegación, marca y chat de comida */
.app-brand-home{min-width:0;display:inline-flex;align-items:center;gap:9px;padding:3px 5px 3px 3px;border:0;border-radius:14px;background:transparent;color:#fff;cursor:pointer;text-align:left}
.app-brand-home img{width:38px;height:38px;display:block;flex:0 0 38px;border-radius:13px;box-shadow:0 10px 24px rgba(173,35,63,.28)}
.app-brand-home span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:950;letter-spacing:-.035em}
.app-brand-home:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand-bright,#e73a5a) 45%,transparent);outline-offset:2px}
.portal-brand-home{max-width:min(48vw,250px)}
.app-topbar-clean{grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:'brand meta actions'!important}
.app-topbar-clean>.app-brand-home{grid-area:brand}
.app-topbar-clean>.topbar-meta{grid-area:meta}
.app-topbar-clean>.top-actions{grid-area:actions}
.coach-nav,.portal-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.home-manifesto{display:inline-flex!important;align-items:center!important;min-height:0!important;margin:0 0 8px!important;padding:6px 10px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;background:rgba(255,255,255,.07)!important;color:#ffe9ed!important;font-size:9px!important;font-weight:850!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.home-manifesto::before{content:'';width:7px;height:7px;flex:0 0 7px;margin-right:7px;border-radius:50%;background:#ff4f6c;box-shadow:0 0 0 4px rgba(255,79,108,.16)}
.rich-composer{grid-template-columns:46px 46px minmax(0,1fr) 48px}
.composer-food{color:#fff;background:linear-gradient(145deg,var(--sc-brand-bright,#d93a57),var(--sc-brand-deep,#9f213a));border-color:transparent;box-shadow:0 8px 18px rgba(173,35,63,.18)}
.chat-food-mode-title{display:flex;align-items:flex-start;gap:9px;color:var(--sc-brand,#c9334f)}
.chat-food-mode-title>span{display:grid;gap:2px;min-width:0}.chat-food-mode-title strong{font-size:13px}.chat-food-mode-title small{color:var(--sc-text-muted,var(--muted));font-size:10px;line-height:1.4}
.chat-attachment-card.meal-attachment{border-color:color-mix(in srgb,var(--sc-brand,#c9334f) 42%,var(--sc-line,var(--line)));background:color-mix(in srgb,var(--sc-brand,#c9334f) 7%,var(--sc-surface-soft,#f5f2f3))}
html[data-theme="dark"] .composer-food{background:linear-gradient(145deg,var(--sc-brand-bright,#e84c68),var(--sc-brand-deep,#a51f3b));color:#fff}
@media(max-width:620px){.rich-composer{grid-template-columns:40px 40px minmax(0,1fr) 42px;gap:6px}.app-brand-home img{width:34px;height:34px;flex-basis:34px;border-radius:11px}.app-brand-home span{font-size:16px}.app-topbar-clean{gap:5px!important}.app-topbar-clean .topbar-meta{display:none!important}.portal-brand-home{max-width:50vw}.coach-nav,.portal-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:360px){.app-brand-home span{font-size:14px}.app-brand-home img{width:32px;height:32px;flex-basis:32px}.top-actions{gap:3px!important}.top-actions .icon-btn{width:36px;height:36px}.rich-composer{grid-template-columns:38px 38px minmax(0,1fr) 40px;gap:5px}.composer-attach,.rich-composer>button[type="submit"]{width:38px;height:38px}}

/* System Coach 3.59.5 · pulido integral de experiencia y conversación */
:root{
  --ux-space-1:6px;
  --ux-space-2:10px;
  --ux-space-3:14px;
  --ux-space-4:18px;
  --ux-radius-control:14px;
  --ux-radius-card:22px;
  --ux-shadow-soft:0 10px 28px rgba(26,20,22,.075);
  --ux-shadow-float:0 18px 42px rgba(25,18,21,.14);
}
html{overscroll-behavior-y:none;scroll-behavior:smooth}
body{line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,label,[role="button"]{touch-action:manipulation}
button{user-select:none}
button:disabled,[aria-disabled="true"]{cursor:not-allowed!important;filter:saturate(.55);box-shadow:none!important}
.screen{padding-bottom:calc(34px + var(--safe-bottom))}
.card{border-color:color-mix(in srgb,var(--sc-line,var(--line)) 92%,transparent);box-shadow:var(--ux-shadow-soft)}
.card.flat{box-shadow:none}
.btn,.icon-btn,.mini-icon,.nav-btn,.list-item,.quick-card,.segment,.chip{transition:transform .14s ease,box-shadow .18s ease,background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}
.btn:hover:not(:disabled),.list-item:hover,.quick-card:hover{transform:translateY(-1px)}
.btn:active:not(:disabled),.list-item:active,.quick-card:active{transform:scale(.985)}
.icon-btn,.mini-icon,.modal-close{min-width:44px;min-height:44px}
.field label{display:block;margin-bottom:7px;color:var(--sc-text,var(--ink));font-size:11px;font-weight:850;line-height:1.3}
.field input,.field select,.field textarea,
form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),form select,form textarea{
  border-color:color-mix(in srgb,var(--sc-line,var(--line)) 92%,var(--sc-text,#211b1d) 8%);
  border-radius:var(--ux-radius-control);
}
.field input,.field select{min-height:48px}
.field textarea,form textarea{line-height:1.45;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,form input:focus,form select:focus,form textarea:focus{
  border-color:color-mix(in srgb,var(--sc-brand,#c9334f) 68%,var(--sc-line,var(--line)));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--sc-brand,#c9334f) 12%,transparent);
}
.help,.micro.muted{line-height:1.45}
.list-item{min-height:64px}
.empty{border-style:solid;border-color:color-mix(in srgb,var(--sc-line,var(--line)) 88%,transparent)}

/* Cabecera y navegación: más claras sin perder controles. */
.topbar{box-shadow:0 8px 28px rgba(16,12,14,.18)}
.app-brand-home{min-height:44px}
.app-brand-home:hover{background:rgba(255,255,255,.065)}
.app-brand-home:active{transform:scale(.98)}
.bottom-nav{border:1px solid rgba(255,255,255,.07);box-shadow:0 18px 42px rgba(16,12,14,.26)}
.nav-btn{position:relative;overflow:hidden}
.nav-btn::after{content:'';position:absolute;left:50%;bottom:5px;width:18px;height:3px;border-radius:99px;background:currentColor;transform:translateX(-50%) scaleX(0);opacity:0;transition:transform .18s ease,opacity .18s ease}
.nav-btn.active::after{transform:translateX(-50%) scaleX(1);opacity:.65}

/* Modales y confirmaciones: jerarquía más consistente. */
.modal{overscroll-behavior:contain}
.modal-head{box-shadow:0 8px 20px rgba(30,24,25,.045)}
.modal-head h2{line-height:1.15}
.toast-premium,.toast{backdrop-filter:blur(18px)}

/* Conversación 3.59.5 */
.chat-shell{width:100%;max-width:860px;margin-inline:auto;gap:10px}
.chat-header{top:calc(64px + var(--safe-top));padding:13px 14px;border-radius:20px;box-shadow:0 10px 28px rgba(28,21,24,.075)}
.chat-contact-card{overflow:visible}
.chat-contact-main{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0}
.chat-contact-copy{min-width:0}
.chat-contact-copy .eyebrow{margin-bottom:2px}
.chat-contact-copy h2{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px}
.chat-presence{display:flex;align-items:center;gap:6px;margin-top:4px;color:var(--sc-text-muted,var(--muted));font-size:10px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-presence>span{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--green,#24a86b);box-shadow:0 0 0 4px color-mix(in srgb,var(--green,#24a86b) 12%,transparent)}
.chat-demo-action{min-height:38px!important;white-space:nowrap}
.message-template-shell{display:grid;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid var(--sc-line,var(--line))}
.message-template-label{color:var(--sc-text-muted,var(--muted));font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.message-templates{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scroll-snap-type:x proximity;scrollbar-width:none}
.message-templates::-webkit-scrollbar{display:none}
.message-templates .chip{flex:0 0 auto;max-width:min(82vw,360px);min-height:34px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;scroll-snap-align:start;border:1px solid color-mix(in srgb,var(--sc-brand,#c9334f) 18%,var(--sc-line,var(--line)));cursor:pointer}
.chat-timeline{gap:3px;min-height:340px;max-height:min(61vh,680px);padding:18px 14px 22px;overscroll-behavior:contain;scroll-padding-block:18px;background:
  radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--sc-brand,#c9334f) 5%,transparent),transparent 28%),
  linear-gradient(145deg,color-mix(in srgb,var(--sc-surface,#fff) 97%,var(--sc-brand,#c9334f) 3%),var(--sc-surface,#fff));
}
.chat-day{margin:11px 0 9px;position:sticky;top:0;z-index:1;pointer-events:none}
.chat-day:first-child{margin-top:0}
.chat-day span{padding:5px 11px;background:color-mix(in srgb,var(--sc-surface,#fff) 91%,transparent);backdrop-filter:blur(10px);box-shadow:0 5px 16px rgba(20,16,18,.055);font-size:10px}
.chat-timeline .bubble{max-width:min(78%,520px);margin-top:5px;padding:9px 11px;border-radius:18px 18px 18px 7px;box-shadow:0 5px 14px rgba(24,18,21,.055)}
.chat-timeline .bubble.me{border-radius:18px 18px 7px 18px;box-shadow:0 8px 20px rgba(161,29,55,.17)}
.chat-timeline .bubble.bubble-grouped{margin-top:2px}
.chat-timeline .bubble:not(.me).bubble-grouped{border-top-left-radius:9px}
.chat-timeline .bubble:not(.me).bubble-continues{border-bottom-left-radius:9px}
.chat-timeline .bubble.me.bubble-grouped{border-top-right-radius:9px}
.chat-timeline .bubble.me.bubble-continues{border-bottom-right-radius:9px}
.bubble-copy{font-size:14px;line-height:1.42}
.bubble-footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:5px;min-height:18px}
.bubble-time{margin:0;font-size:9px;font-weight:700;opacity:.68}
.bubble-reply{min-height:26px;padding:3px 6px;border-radius:9px;font-size:9px;opacity:.58}
.bubble:hover .bubble-reply,.bubble:focus-within .bubble-reply{opacity:.95}
.message-media{margin:-3px -5px 7px;border-radius:14px;background:#141114}
.message-media.image{aspect-ratio:auto}
.message-media-open{width:100%;overflow:hidden;border-radius:13px}
.message-media img{width:100%;max-width:390px;max-height:360px;aspect-ratio:4/3;object-fit:cover}
.message-media video{width:100%;max-width:390px;max-height:360px;object-fit:contain}
.message-media-meta{padding:0 8px 7px;color:#d7cdd1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rich-composer{bottom:calc(76px + var(--safe-bottom));grid-template-columns:44px 44px minmax(0,1fr) 46px;align-items:end;gap:7px;padding:8px;border-radius:19px;box-shadow:var(--ux-shadow-float)}
.composer-field{min-width:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:5px 10px 4px;border:1px solid transparent;border-radius:14px;background:var(--sc-surface-soft,#f5f2f3);transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.composer-field:focus-within{border-color:color-mix(in srgb,var(--sc-brand,#c9334f) 42%,var(--sc-line,var(--line)));background:var(--sc-surface,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-brand,#c9334f) 10%,transparent)}
.rich-composer [data-chat-text]{width:100%;min-height:22px;max-height:116px;padding:0;border:0!important;outline:0!important;resize:none;background:transparent!important;color:var(--sc-text,#191619);box-shadow:none!important;font:inherit;font-size:14px;line-height:1.35;overflow-y:hidden}
.rich-composer [data-chat-text]::placeholder{color:var(--sc-placeholder,var(--muted))}
.composer-field small{display:block;min-height:12px;margin-top:1px;color:var(--sc-text-muted,var(--muted));font-size:8px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.composer-field small[data-ready="true"]{color:var(--sc-success-text,#176c4d)}
.composer-attach,.rich-composer>button[type="submit"]{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:14px}
.composer-attach:hover{border-color:color-mix(in srgb,var(--sc-brand,#c9334f) 36%,var(--sc-line,var(--line)));background:color-mix(in srgb,var(--sc-brand,#c9334f) 8%,var(--sc-surface-soft,#f4f1f2))}
.rich-composer>button[type="submit"]{box-shadow:0 8px 20px rgba(166,32,58,.2);transition:transform .14s ease,opacity .16s ease,filter .16s ease}
.rich-composer>button[type="submit"]:not(:disabled):active{transform:scale(.93)}
.rich-composer>button[type="submit"]:disabled{opacity:.34;background:var(--sc-surface-3,#e9e4e6);color:var(--sc-text-muted,var(--muted))}
.chat-attachment-preview{margin-bottom:1px}
.chat-attachment-card{grid-template-columns:58px minmax(0,1fr) 40px;padding:9px;border-radius:15px}
.chat-attachment-card img,.chat-attachment-card video{width:58px;height:58px;object-fit:cover}
.composer-reply-preview{border-radius:14px}

html[data-theme="dark"] .composer-field{background:#211c20}
html[data-theme="dark"] .composer-field:focus-within{background:#171417;border-color:#734151}
html[data-theme="dark"] .rich-composer>button[type="submit"]:disabled{background:#30292e;color:#84777e}
html[data-theme="dark"] .message-template-shell{border-color:#443940}
html[data-theme="dark"] .chat-presence{color:#c7bbc0}

@media(hover:none){
  .btn:hover:not(:disabled),.list-item:hover,.quick-card:hover{transform:none}
  .bubble-reply{opacity:.72}
}
@media(max-width:620px){
  .screen{padding-inline:12px}
  .chat-shell{gap:8px}
  .chat-header{top:calc(60px + var(--safe-top));margin-inline:-2px;padding:11px 12px;border-radius:18px}
  .chat-contact-main{grid-template-columns:44px minmax(0,1fr) auto;gap:9px}
  .chat-avatar{width:44px;height:44px;flex-basis:44px}
  .chat-contact-copy h2{font-size:17px}
  .chat-presence{font-size:9px}
  .chat-demo-action{width:42px!important;min-width:42px!important;padding:0!important;font-size:0}
  .chat-demo-action svg{width:18px;height:18px}
  .chat-timeline{min-height:52vh;max-height:62vh;margin-inline:-2px;padding:14px 9px 18px;border-radius:18px}
  .chat-timeline .bubble{max-width:88%;padding:8px 10px}
  .bubble-copy{font-size:13.5px}
  .bubble-reply span{display:none}
  .bubble-reply{width:27px;padding:3px;justify-content:center}
  .message-media img,.message-media video{max-width:min(78vw,350px);max-height:320px}
  .rich-composer{bottom:calc(68px + var(--safe-bottom));grid-template-columns:40px 40px minmax(0,1fr) 42px;gap:6px;padding:7px;border-radius:17px}
  .composer-attach,.rich-composer>button[type="submit"]{width:40px;height:40px;min-width:40px;min-height:40px;border-radius:13px}
  .composer-field{min-height:40px;padding:4px 8px 3px;border-radius:13px}
  .rich-composer [data-chat-text]{font-size:16px;line-height:1.3}
  .composer-field small{font-size:7.5px}
}
@media(max-width:380px){
  .screen{padding-inline:10px}
  .chat-contact-main{grid-template-columns:40px minmax(0,1fr) 38px}
  .chat-avatar{width:40px;height:40px;flex-basis:40px}
  .chat-contact-copy h2{font-size:16px}
  .chat-presence{max-width:180px}
  .rich-composer{grid-template-columns:38px 38px minmax(0,1fr) 40px;gap:5px;padding:6px}
  .composer-attach,.rich-composer>button[type="submit"]{width:38px;height:38px;min-width:38px;min-height:38px}
}
@media(min-width:700px){
  .chat-timeline{min-height:430px}
  .rich-composer{bottom:104px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.icon-btn,.mini-icon,.nav-btn,.list-item,.quick-card,.segment,.chip,.composer-field{transition:none!important}}
@media(max-width:620px){.chat-demo-action{font-size:0}.chat-demo-action span{display:none}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* System Coach 3.59.7 · navegación anclada, overlays sólidos y estabilidad iOS */
:root{
  --sc-fixed-topbar-space:calc(66px + var(--safe-top));
  --sc-fixed-dock-space:calc(78px + var(--safe-bottom));
  --sc-chrome-bg:#110e12;
  --sc-chrome-line:rgba(255,255,255,.09);
}
html,body,#app{width:100%;max-width:100%;overflow-x:hidden}
body{padding:0!important}
body.sc-modal-open{overflow:hidden!important;overscroll-behavior:none!important}
.app-shell,.portal-shell{
  width:min(100%,1024px)!important;
  max-width:100vw!important;
  min-height:100dvh!important;
  margin:0 auto!important;
  padding-top:var(--sc-fixed-topbar-space)!important;
  padding-bottom:var(--sc-fixed-dock-space)!important;
  border-radius:0!important;
  overflow-x:clip!important;
}

/* Barra superior fija: nunca queda contenido por encima ni por detrás. */
.topbar,.premium-topbar,.portal-topbar{
  position:fixed!important;
  z-index:320!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  width:min(100%,1024px)!important;
  max-width:100vw!important;
  min-height:var(--sc-fixed-topbar-space)!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  border-radius:0!important;
  border:0!important;
  border-bottom:1px solid var(--sc-chrome-line)!important;
  background:#110e12!important;
  box-shadow:0 8px 26px rgba(0,0,0,.28)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  animation:none!important;
  isolation:isolate;
}
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .premium-topbar,
html[data-theme="dark"] .portal-topbar{background:#110e12!important}
.app-brand-home{
  min-height:46px!important;
  border-radius:12px!important;
  align-items:center!important;
}
.app-brand-home .app-brand-copy{
  min-width:0;
  display:grid!important;
  gap:1px!important;
  overflow:visible!important;
  white-space:normal!important;
  letter-spacing:normal!important;
  line-height:1!important;
}
.app-brand-home .app-brand-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:17px;
  font-weight:950;
  letter-spacing:-.035em;
}
.app-brand-home .app-brand-copy small{
  display:flex;
  align-items:center;
  gap:4px;
  color:#c9bcc1;
  font-size:8px!important;
  font-weight:780!important;
  letter-spacing:.01em!important;
  line-height:1.1;
  text-transform:none;
}
.app-brand-home .app-brand-copy small span{font-size:9px!important;font-weight:900!important;letter-spacing:0!important}
.app-brand-home:active{transform:none!important;background:rgba(255,255,255,.07)}
.portal-brand-home{max-width:min(54vw,270px)!important}

/* Barra inferior anclada: sin margen flotante ni animación de entrada. */
.bottom-nav{
  position:fixed!important;
  z-index:310!important;
  left:50%!important;
  right:auto!important;
  bottom:0!important;
  width:min(100%,1024px)!important;
  max-width:100vw!important;
  min-height:var(--sc-fixed-dock-space)!important;
  margin:0!important;
  padding:8px max(10px,var(--safe-right)) calc(8px + var(--safe-bottom)) max(10px,var(--safe-left))!important;
  transform:translateX(-50%)!important;
  border:0!important;
  border-top:1px solid var(--sc-chrome-line)!important;
  border-radius:20px 20px 0 0!important;
  background:#110e12!important;
  box-shadow:0 -10px 30px rgba(0,0,0,.30)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  animation:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
}
html[data-theme="dark"] .bottom-nav{background:#110e12!important}
.coach-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:3px!important}
.portal-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important}
.coach-nav .nav-slot-1{grid-column:1}
.coach-nav .nav-slot-2{grid-column:2}
.coach-nav .nav-slot-3{grid-column:3}
.coach-nav .nav-slot-4{grid-column:4}
.coach-nav .nav-slot-5{grid-column:5}
.bottom-nav .nav-btn{
  min-width:0!important;
  min-height:54px!important;
  padding:5px 2px!important;
  border-radius:14px!important;
  color:#bdb2b7!important;
  background:transparent!important;
  transform:none!important;
}
.bottom-nav .nav-btn.active{color:#fff!important;background:rgba(255,255,255,.07)!important}
.bottom-nav .nav-btn.center.nav-quick-add{
  align-self:center;
  min-height:58px!important;
  margin:-5px 2px 0!important;
  color:#fff!important;
  background:linear-gradient(145deg,#ef3556,#be1738)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:19px!important;
  box-shadow:0 10px 24px rgba(196,24,55,.30)!important;
}
.bottom-nav .nav-btn.center.nav-quick-add svg{width:24px!important;height:24px!important}
.bottom-nav .nav-btn.center.nav-quick-add::after{display:none!important}
.bottom-nav .nav-btn:active{transform:scale(.97)!important}
.bottom-nav .nav-btn.center.nav-quick-add:active{transform:scale(.95)!important}

/* El antiguo FAB de agregar pasa a ser un control de vuelta rápida arriba. */
.scroll-top-fab{
  position:fixed;
  z-index:305;
  right:max(14px,calc((100vw - min(100vw,1024px))/2 + 14px));
  bottom:calc(var(--sc-fixed-dock-space) + 12px);
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,.11);
  border-radius:17px;
  display:grid;
  place-items:center;
  gap:0;
  color:#fff;
  background:#211b21;
  box-shadow:0 12px 28px rgba(0,0,0,.30);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(8px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s linear;
}
.scroll-top-fab.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.scroll-top-fab .scroll-top-arrow{font-size:22px;font-weight:950;line-height:.8}
.scroll-top-fab small{font-size:7px;font-weight:850;line-height:1;color:#d8cfd3}

/* El contenido siempre respeta las dos barras. */
.screen,.portal-screen{padding-bottom:calc(22px + var(--sc-fixed-dock-space))!important}
.agenda-segments,.chat-header{top:calc(var(--sc-fixed-topbar-space) + 6px)!important}
.client-layout>.sticky-panel{top:calc(var(--sc-fixed-topbar-space) + 14px)!important}

/* Overlays sólidos: evita el flash/transparencia de Safari al componer blur + transforms. */
.modal-backdrop{
  z-index:1000!important;
  inset:0!important;
  padding-top:var(--safe-top)!important;
  background:#0f0d10!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  animation:none!important;
  opacity:1!important;
  isolation:isolate!important;
  overscroll-behavior:none!important;
  contain:paint;
}
.modal{
  animation:none!important;
  opacity:1!important;
  background:var(--sc-surface,#fff)!important;
  color:var(--sc-text,#19171a)!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
}
.modal-head{
  background:var(--sc-surface,#fff)!important;
  color:var(--sc-text,#19171a)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 8px 18px rgba(0,0,0,.08)!important;
}
html[data-theme="dark"] .modal,
html[data-theme="dark"] .modal-head{background:#121014!important;color:var(--sc-text)!important}
.busy-overlay{background:#0f0d10!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* Constructor de programas: elimina bloques blancos/ilegibles en tema oscuro. */
.program-builder-modal>.modal-head{
  background:var(--sc-surface,#fff)!important;
  color:var(--sc-text,#19171a)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.program-settings{
  background:var(--sc-surface,#fff)!important;
  color:var(--sc-text,#19171a)!important;
  border-color:var(--sc-line,var(--line))!important;
}
.program-settings summary{
  background:var(--sc-surface-2,#f7f3f4)!important;
  color:var(--sc-text,#19171a)!important;
  border-color:var(--sc-line,var(--line))!important;
}
html[data-theme="dark"] .program-settings,
html[data-theme="dark"] .program-settings summary{
  background:var(--sc-surface)!important;
  color:var(--sc-text)!important;
}

/* Teléfono en horizontal: tratarlo como teléfono, no como escritorio ancho. */
@media (orientation:landscape) and (max-height:620px){
  :root{
    --sc-fixed-topbar-space:calc(54px + var(--safe-top));
    --sc-fixed-dock-space:calc(64px + var(--safe-bottom));
  }
  body{padding:0!important}
  .app-shell,.portal-shell{
    width:100%!important;
    max-width:100vw!important;
    min-height:100dvh!important;
    border-radius:0!important;
    padding-top:var(--sc-fixed-topbar-space)!important;
    padding-bottom:var(--sc-fixed-dock-space)!important;
    overflow:clip visible!important;
  }
  .topbar,.premium-topbar,.portal-topbar{
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    min-height:var(--sc-fixed-topbar-space)!important;
    padding:calc(4px + var(--safe-top)) max(12px,var(--safe-right)) 4px max(12px,var(--safe-left))!important;
    transform:none!important;
  }
  .app-brand-home img{width:32px!important;height:32px!important;flex-basis:32px!important;border-radius:10px!important}
  .app-brand-home .app-brand-copy strong{font-size:15px!important}
  .app-brand-home .app-brand-copy small{font-size:7px!important}
  .top-actions{gap:5px!important}
  .top-actions .icon-btn,.portal-topbar-actions .icon-btn{width:38px!important;height:38px!important;min-height:38px!important}
  .bottom-nav{
    left:0!important;
    right:0!important;
    width:100vw!important;
    max-width:100vw!important;
    min-height:var(--sc-fixed-dock-space)!important;
    transform:none!important;
    border-radius:16px 16px 0 0!important;
    padding:4px max(12px,var(--safe-right)) calc(4px + var(--safe-bottom)) max(12px,var(--safe-left))!important;
  }
  .bottom-nav .nav-btn{min-height:46px!important;font-size:8px!important}
  .bottom-nav .nav-btn svg{width:19px!important;height:19px!important}
  .bottom-nav .nav-btn.center.nav-quick-add{min-height:49px!important;margin:-2px 3px 0!important}
  .screen,.portal-screen{
    width:100%!important;
    max-width:100%!important;
    padding:12px max(14px,var(--safe-right)) calc(14px + var(--sc-fixed-dock-space)) max(14px,var(--safe-left))!important;
    overflow-x:hidden!important;
  }
  .scroll-top-fab{right:max(12px,var(--safe-right));bottom:calc(var(--sc-fixed-dock-space) + 8px);width:44px;height:44px;border-radius:14px}
  .modal-backdrop{align-items:stretch!important;padding:0!important}
  .modal,.modal-wide,.program-builder-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    padding-bottom:calc(14px + var(--safe-bottom))!important;
  }
  .modal-head{top:0!important;margin-top:0!important}
  .program-builder-modal>.program-builder{max-height:calc(100dvh - 62px)!important;overflow:auto!important}
  .program-builder,.guided-builder,.program-day-card,.day-navigator{max-width:100%!important;min-width:0!important}
  .mobile-builder-dock{max-width:100%!important;left:auto!important;right:auto!important}
}

/* Pantallas estrechas: el texto de Inicio sigue visible sin competir con controles. */
@media(max-width:699px){
  .topbar,.premium-topbar,.portal-topbar{
    left:0!important;
    right:0!important;
    width:100%!important;
    transform:none!important;
  }
  .bottom-nav{
    left:0!important;
    right:0!important;
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
    margin:0!important;
  }
  .coach-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
  .portal-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .app-brand-home .app-brand-copy strong{font-size:15px}
  .app-brand-home .app-brand-copy small{font-size:7.5px!important}
}
@media(max-width:360px){
  .app-brand-home{gap:6px!important}
  .app-brand-home img{width:31px!important;height:31px!important;flex-basis:31px!important}
  .app-brand-home .app-brand-copy strong{font-size:13px!important}
  .app-brand-home .app-brand-copy small{font-size:6.8px!important}
  .bottom-nav .nav-btn{font-size:8px!important}
  .bottom-nav .nav-btn.center.nav-quick-add span{font-size:7px!important}
}
@media(prefers-reduced-motion:reduce){
  .scroll-top-fab{transition:none!important}
}

/* 3.59.7 · contraste sólido de superficies claras detectadas en revisión visual */
html[data-theme="dark"] .portal-more-card{
  background:#1c171c!important;
  color:#f8f3f5!important;
  border-color:#41363d!important;
}
html[data-theme="dark"] .portal-more-card strong{color:#fff!important}
html[data-theme="dark"] .portal-more-card small{color:#bfb3b8!important}
html[data-theme="dark"] .portal-more-card.active{
  background:#29161d!important;
  border-color:#9e3650!important;
}
html[data-theme="dark"] .portal-more-card .quick-icon{
  background:#35141e!important;
  color:#ff4162!important;
}
html[data-theme="dark"] .coach-public-card,
html[data-theme="dark"] .portal-screen .coach-public-card{
  color:#2b171c!important;
  background:radial-gradient(circle at 100% 0%,rgba(226,36,67,.10),transparent 32%),linear-gradient(145deg,#fff,#fff8f9)!important;
  border-color:#edc6cd!important;
}
html[data-theme="dark"] .coach-public-card :where(h1,h2,h3,h4,strong){color:#351b21!important}
html[data-theme="dark"] .coach-public-card :where(p,small,.muted){color:#716168!important}
html[data-theme="dark"] .coach-public-card .coach-public-facts>div{background:#fff!important;border-color:#eadde0!important}
html[data-theme="dark"] .coach-public-card .coach-public-facts strong{color:#4a252e!important}
html[data-theme="dark"] .coach-public-card .coach-public-facts small{color:#83747a!important}

/* System Coach 3.59.7 · contraste, chat y nutrición práctica */
html[data-theme="dark"] .portal-more-card,
html[data-theme="dark"] .portal-more-card.active{
  background:#211b20!important;
  color:#fff!important;
  border-color:#4b3d45!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .portal-more-card strong{color:#fff!important;opacity:1!important}
html[data-theme="dark"] .portal-more-card small{color:#cbbfc5!important;opacity:1!important}
html[data-theme="dark"] .portal-more-card>svg{color:#d9cdd2!important}
html[data-theme="dark"] .portal-more-card .quick-icon{background:#35151f!important;color:#ff4263!important}

html[data-theme="dark"] .portal-screen .coach-public-card{
  background:#201a1f!important;
  color:#f9f5f7!important;
  border-color:#493b43!important;
  box-shadow:0 16px 34px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] .portal-screen .coach-public-card :where(h1,h2,h3,h4,strong){color:#fff!important}
html[data-theme="dark"] .portal-screen .coach-public-card :where(p,small,.muted){color:#c7bac1!important}
html[data-theme="dark"] .portal-screen .coach-public-card .coach-public-facts>div{background:#171317!important;border-color:#3e3339!important}
html[data-theme="dark"] .portal-screen .coach-public-card .coach-public-facts strong{color:#fff!important}
html[data-theme="dark"] .portal-screen .coach-public-card .coach-public-facts small{color:#aa9ca3!important}

/* Evaluaciones: ninguna tarjeta blanca dentro del tema oscuro. */
html[data-theme="dark"] .assessment-form .assessment-section{
  background:#201b20!important;
  color:#f8f4f6!important;
  border-color:#473a41!important;
}
html[data-theme="dark"] .assessment-form .assessment-section-head strong,
html[data-theme="dark"] .assessment-form label{color:#f8f4f6!important}
html[data-theme="dark"] .assessment-form .assessment-section-head small,
html[data-theme="dark"] .assessment-form .field small{color:#bcaeb5!important}
html[data-theme="dark"] .assessment-form .assessment-section-head>span{background:#371720!important;color:#ff4766!important}
html[data-theme="dark"] .assessment-form :where(input,textarea,select){background:#151216!important;color:#fff!important;border-color:#5b4b54!important}
html[data-theme="dark"] .assessment-form :where(input,textarea)::placeholder{color:#8f8389!important}

/* Chat: imagen normal limpia, metadatos separados y compositor estable. */
.chat-timeline .bubble{overflow:visible!important}
.chat-timeline .bubble.has-media{padding:8px!important}
.message-media{overflow:hidden!important;margin:0 0 7px!important;border-radius:15px!important;background:#0f0d0f!important}
.message-media-open{display:block!important;width:100%!important;border-radius:15px!important;overflow:hidden!important}
.message-media img{display:block!important;width:100%!important;max-width:420px!important;max-height:420px!important;aspect-ratio:auto!important;object-fit:contain!important;background:#0f0d0f!important}
.message-media video{display:block!important;width:100%!important;max-width:420px!important;max-height:420px!important;object-fit:contain!important}
.message-media-meta{padding:7px 10px 8px!important;color:#cfc4c9!important;background:#0f0d0f!important;font-size:9px!important;white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important}
.bubble-copy{padding:3px 4px 1px!important}
.bubble-footer{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:10px!important;min-height:24px!important;margin-top:6px!important;padding:0 2px 1px!important}
.bubble-meta{min-width:0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:9px;line-height:1.2;opacity:.76}
.bubble-time{margin:0!important;font-size:9px!important;font-weight:750!important;white-space:nowrap}
.bubble-status{font-size:9px;font-weight:800;white-space:nowrap}
.bubble-reply{flex:0 0 auto!important;align-self:flex-end!important;margin:0!important}
.chat-timeline .bubble.me .bubble-footer{color:rgba(255,255,255,.92)}
.chat-timeline .bubble:not(.me) .bubble-footer{color:var(--sc-text-muted,var(--muted))}
.rich-composer{isolation:isolate!important;z-index:80!important}
.rich-composer .composer-food{border:0!important}
body.chat-keyboard-open .bottom-nav,
body.chat-keyboard-open .scroll-top-fab{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.chat-keyboard-open .rich-composer{bottom:max(6px,var(--safe-bottom))!important}

/* Calculadora de proteína: simple, legible y sin foto. */
.protein-calculator .meal-analyzer-hero strong{color:inherit}
.protein-query-form{gap:14px!important}
.protein-query-form input[name="proteinQuery"]{font-size:16px!important;min-height:52px!important}
.protein-query-examples{display:flex;gap:8px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
.protein-query-examples::-webkit-scrollbar{display:none}
.protein-query-examples .chip{flex:0 0 auto;min-height:38px}
.protein-history-list{display:grid;gap:9px;margin-top:12px}
.protein-history-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--sc-line,var(--line));border-radius:16px;background:var(--sc-surface-soft,#f6f2f3)}
.protein-history-item>div,.protein-history-item>span{min-width:0}
.protein-history-item strong,.protein-history-item small{display:block}
.protein-history-item>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.protein-history-item small{margin-top:3px;color:var(--sc-text-muted,var(--muted));font-size:9px}
.protein-history-item>span{text-align:right}
html[data-theme="dark"] .protein-history-item{background:#211b20;border-color:#483a42;color:#fff}

/* Listas administrativas móviles: evita títulos/estados cortados. */
@media(max-width:520px){
  .list-item{min-width:0!important}
  .list-item .list-main{min-width:0!important}
  .list-item .list-title,.list-item .list-subtitle{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .bubble-footer{gap:6px!important}
  .bubble-reply span{display:none!important}
  .chat-timeline .bubble{max-width:91%!important}
  .message-media img,.message-media video{max-width:min(82vw,380px)!important;max-height:390px!important}
}

/* Horizontal: dock siempre centrado y pegado abajo, nunca desplazado lateralmente. */
@media (orientation:landscape) and (max-height:620px){
  .bottom-nav{
    left:50%!important;
    right:auto!important;
    width:min(100vw,920px)!important;
    max-width:100vw!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }
  .rich-composer{max-width:min(100%,760px);margin-inline:auto}
}


/* System Coach 3.59.8 · cierre de navegación, calendario y formularios */
/* Más vive en la cabecera; Inicio vuelve a ser explícito en el dock. */
.top-more-button,.portal-more-button{position:relative}
.top-more-button.active,.portal-more-button.active{color:#fff!important;background:rgba(255,255,255,.09)!important;border-color:rgba(255,255,255,.14)!important}
.top-more-button .sc-icon-moreVertical,.portal-more-button .sc-icon-moreVertical{width:22px;height:22px}
.portal-topbar-actions,.top-actions{align-items:center}
.portal-more-card.portal-help-entry{border-color:rgba(214,49,82,.34);background:linear-gradient(145deg,rgba(214,49,82,.08),rgba(214,49,82,.02))}
html[data-theme="dark"] .portal-more-card.portal-help-entry{background:#28171d!important;border-color:#6b2c3d!important}

/* Dock inferior: no contiene Más; Inicio ocupa el extremo izquierdo. */
.coach-nav{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.portal-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.bottom-nav .nav-btn[data-action="go-home"]{grid-column:1}
.portal-nav .nav-btn[data-portal-tab="home"]{grid-column:1}

/* Pulso semanal del Inicio: misma familia visual que Agenda y contraste real. */
.home-desktop-dashboard .week-mini-day,
.home-mobile-dashboard .week-mini-day{
  border-color:#d8c9cd!important;
  background:#fff!important;
  color:#2e2025!important;
  box-shadow:0 7px 16px rgba(31,20,25,.06)!important;
}
.home-desktop-dashboard .week-mini-day strong,
.home-mobile-dashboard .week-mini-day strong{color:#78656d!important}
.home-desktop-dashboard .week-mini-day span,
.home-mobile-dashboard .week-mini-day span{color:#251a1e!important}
.home-desktop-dashboard .week-mini-day small,
.home-mobile-dashboard .week-mini-day small{color:#a51f3b!important}
.home-desktop-dashboard .week-mini-day.today,
.home-mobile-dashboard .week-mini-day.today{
  border-color:#d62649!important;
  background:#fff0f3!important;
  box-shadow:0 0 0 2px rgba(214,38,73,.10),0 8px 20px rgba(105,24,41,.10)!important;
}
html[data-theme="dark"] .home-desktop-dashboard .week-mini-day,
html[data-theme="dark"] .home-mobile-dashboard .week-mini-day{
  border-color:#4b3c43!important;
  background:#211b20!important;
  color:#fff!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .home-desktop-dashboard .week-mini-day strong,
html[data-theme="dark"] .home-mobile-dashboard .week-mini-day strong{color:#b9abb1!important}
html[data-theme="dark"] .home-desktop-dashboard .week-mini-day span,
html[data-theme="dark"] .home-mobile-dashboard .week-mini-day span{color:#fff!important}
html[data-theme="dark"] .home-desktop-dashboard .week-mini-day small,
html[data-theme="dark"] .home-mobile-dashboard .week-mini-day small{color:#ff91a6!important}
html[data-theme="dark"] .home-desktop-dashboard .week-mini-day.today,
html[data-theme="dark"] .home-mobile-dashboard .week-mini-day.today{
  border-color:#e4395a!important;
  background:#3a1a24!important;
  box-shadow:0 0 0 2px rgba(228,57,90,.12)!important;
}

/* Recordatorios del cliente: un único cuadro visual y check perfectamente centrado. */
.reminder-choice{display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;position:relative!important;padding:10px 12px!important}
.reminder-choice input[type="checkbox"]{position:absolute!important;inset:auto!important;width:1px!important;height:1px!important;min-height:1px!important;opacity:0!important;pointer-events:none!important}
.reminder-choice .reminder-checkmark{
  position:static!important;
  width:24px!important;height:24px!important;
  display:grid!important;place-items:center!important;
  border:1.5px solid #a899a0!important;border-radius:8px!important;
  color:transparent!important;background:transparent!important;
  box-shadow:none!important;
}
.reminder-choice:has(input:checked) .reminder-checkmark{color:#fff!important;background:#d62246!important;border-color:#d62246!important}
.reminder-choice:has(input:focus-visible) .reminder-checkmark{outline:3px solid rgba(214,34,70,.22)!important;outline-offset:2px!important}
.reminder-choice>span:last-child{padding-left:0!important;color:inherit!important}
html[data-theme="dark"] .reminder-choice{background:#1d181d!important;border-color:#463940!important;color:#f8f3f5!important}
html[data-theme="dark"] .reminder-choice .reminder-checkmark{border-color:#7c6c74!important;background:#151216!important}
html[data-theme="dark"] .reminder-choice:has(input:checked) .reminder-checkmark{background:#df294d!important;border-color:#df294d!important}

/* Evaluación: las acciones pertenecen al final del formulario; nunca flotan sobre los campos. */
.assessment-actions{
  position:static!important;
  z-index:auto!important;
  margin:4px 0 0!important;
  padding:14px 0 max(4px,var(--safe-bottom))!important;
  border-top:1px solid var(--sc-line,var(--line))!important;
  background:transparent!important;
  box-shadow:none!important;
}
.assessment-actions .btn{min-height:50px!important}
html[data-theme="dark"] .assessment-actions{border-top-color:#463940!important}
@media(max-width:520px){.assessment-actions{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;gap:8px!important}.assessment-actions .btn{padding-inline:10px!important}}
@media(max-width:360px){.assessment-actions{grid-template-columns:1fr!important}}

/* Estado de programa vacío: guía legible en ambos temas. */
.portal-empty-plan .empty-guidance,
.portal-progress-center .empty-guidance{
  color:#4d343c!important;
  background:#fff6f8!important;
  border-color:#e7c7cf!important;
}
.portal-empty-plan .empty-guidance small,
.portal-progress-center .empty-guidance small{color:inherit!important;opacity:1!important}
.portal-empty-plan .empty-guidance>span,
.portal-progress-center .empty-guidance>span{background:#d62246!important;box-shadow:0 0 0 4px rgba(214,34,70,.12)!important}
html[data-theme="dark"] .portal-empty-plan .empty-guidance,
html[data-theme="dark"] .portal-progress-center .empty-guidance{
  color:#f5edf0!important;
  background:#241b20!important;
  border-color:#514048!important;
}
html[data-theme="dark"] .portal-empty-plan .empty-premium>strong,
html[data-theme="dark"] .portal-empty-plan .empty-premium>p{color:#fff!important}

/* Evita que nuevos controles de cabecera se compriman o se salgan en móvil. */
@media(max-width:620px){
  .top-actions,.portal-topbar-actions{gap:4px!important;flex:0 0 auto!important}
  .top-actions .icon-btn,.portal-topbar-actions .icon-btn{width:38px!important;height:38px!important;min-width:38px!important;padding:0!important}
  .portal-profile-button{width:38px!important;height:38px!important;border-radius:12px!important}
  .topbar-avatar{width:38px!important;height:38px!important;border-radius:12px!important}
  .app-brand-home{min-width:0!important;max-width:calc(100% - 172px)!important}
  .portal-brand-home{max-width:calc(100% - 132px)!important}
}
@media(max-width:380px){
  .app-brand-home .app-brand-copy strong{font-size:13px!important}
  .app-brand-home .app-brand-copy small{font-size:6.5px!important}
  .top-actions .icon-btn,.portal-topbar-actions .icon-btn{width:35px!important;height:35px!important;min-width:35px!important}
  .portal-profile-button,.topbar-avatar{width:35px!important;height:35px!important}
}

/* Horizontal: barra centrada y anclada incluso tras mover Inicio/Más. */
@media (orientation:landscape) and (max-height:620px){
  .bottom-nav{left:50%!important;right:auto!important;width:min(100vw,920px)!important;transform:translateX(-50%)!important}
  .topbar,.premium-topbar,.portal-topbar{left:50%!important;right:auto!important;width:min(100vw,1024px)!important;transform:translateX(-50%)!important}
}

/* v3.59.9 · ajuste visual dirigido por pruebas reales: tareas, biblioteca, estados y constructor */

/* Tareas del coach: evita columnas estrechas y acciones apiladas sin jerarquía. */
.task-list{display:grid;gap:10px;overflow:visible!important}
.task-item{
  grid-template-columns:38px minmax(0,1fr)!important;
  grid-template-areas:'check main' '. tail'!important;
  align-items:start!important;
  gap:10px 12px!important;
  padding:14px!important;
  border-radius:18px!important;
}
.task-item .task-main{overflow:visible!important}
.task-item .task-tail{
  grid-area:tail!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:2px!important;
}
.task-item .task-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:10px!important;
}
.task-item .task-actions .btn{width:auto!important;min-height:36px!important;flex:0 1 auto!important;padding-inline:10px!important}
.task-item .task-actions .btn:first-child{flex:1 1 150px!important}
.task-item .list-title{white-space:normal;overflow-wrap:anywhere;line-height:1.25}
.task-item .task-note{line-height:1.4}
@media(min-width:1100px){
  .home-desktop-dashboard .task-item{padding:13px!important}
  .home-desktop-dashboard .task-item .task-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .home-desktop-dashboard .task-item .task-actions .btn{width:100%!important}
}

/* Estado vacío: el mensaje de guía nunca debe desaparecer en tema oscuro. */
.empty-premium .empty-guidance{
  color:var(--sc-text,#241b1e)!important;
  border:1px solid var(--sc-line,#ddd3d6)!important;
  background:var(--sc-surface-2,#f7f3f4)!important;
}
.empty-premium .empty-guidance small{color:var(--sc-text,#241b1e)!important;opacity:1!important;font-weight:800}
.empty-premium .empty-guidance>span{background:var(--sc-brand,#c91836)!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--sc-brand,#c91836) 12%,transparent)}
html[data-theme="dark"] .empty-premium .empty-guidance{background:#1d181d!important;border-color:#453940!important}
html[data-theme="dark"] .empty-premium .empty-guidance small{color:#f4edf0!important}

/* Acciones de confirmación de agenda: iconos siempre visibles y con significado cromático. */
.booking-response-actions .mini-icon{
  color:var(--sc-text,#241b1e)!important;
  background:var(--sc-surface-3,#f1ebed)!important;
  border:1px solid var(--sc-line-strong,#cfc2c6)!important;
}
.booking-response-actions .mini-icon.success{color:#08704a!important;background:#e5f7ee!important;border-color:#a9ddc7!important}
.booking-response-actions .mini-icon.danger{color:#a82f47!important;background:#fde8ed!important;border-color:#efbac5!important}
html[data-theme="dark"] .booking-response-actions .mini-icon{color:#f7f1f3!important;background:#2b2429!important;border-color:#51434a!important}
html[data-theme="dark"] .booking-response-actions .mini-icon.success{color:#99efc9!important;background:#153a2c!important;border-color:#266a4d!important}
html[data-theme="dark"] .booking-response-actions .mini-icon.danger{color:#ff9aad!important;background:#421925!important;border-color:#7d2b40!important}

/* Riesgo: el valor numérico no hereda colores lavados del tema. */
.client-risk-score strong{font-weight:950!important;text-shadow:none!important;opacity:1!important}
.client-risk-score.success strong{color:#086543!important}
.client-risk-score.warning strong{color:#744600!important}
.client-risk-score.danger strong{color:#8f1832!important}
html[data-theme="dark"] .client-risk-score.success strong{color:#073f2c!important}
html[data-theme="dark"] .client-risk-score.warning strong{color:#5d3900!important}
html[data-theme="dark"] .client-risk-score.danger strong{color:#78142a!important}

/* Biblioteca: densidad profesional, mejor jerarquía y medios que no dominan la tarjeta. */
.exercise-library-shell{display:grid;gap:14px}
.exercise-library-intro{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding:17px 18px;border:1px solid var(--sc-line,var(--line));border-radius:20px;
  background:linear-gradient(145deg,var(--sc-surface-2,#fbf8f9),var(--sc-surface,#fff));
}
.exercise-library-intro h2{margin:3px 0 4px;font-size:22px}
.exercise-library-intro p{margin:0;max-width:42rem}
.exercise-library-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.exercise-library-summary{display:flex;gap:7px}
.exercise-library-summary span{min-width:72px;padding:8px 10px;border:1px solid var(--sc-line,var(--line));border-radius:14px;text-align:center;background:var(--sc-surface-2,#f8f5f6)}
.exercise-library-summary strong,.exercise-library-summary small{display:block}
.exercise-library-summary strong{font-size:16px}.exercise-library-summary small{margin-top:2px;color:var(--sc-muted,var(--muted));font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:900}
.exercise-library-grid{gap:12px!important}
.exercise-library-card{padding:0!important;overflow:hidden;border-radius:20px!important;background:var(--sc-surface,#fff)!important}
.exercise-library-card .library-exercise-media{height:148px;margin:0;border:0;border-bottom:1px solid var(--sc-line,var(--line));border-radius:0;background:linear-gradient(180deg,#f2f0f1,#e7e3e5)}
.exercise-library-card .library-exercise-media img{padding:8px!important}
.exercise-library-card-body{display:grid;gap:8px;padding:14px}
.exercise-library-meta{display:flex;flex-wrap:wrap;gap:6px}
.exercise-library-card h3{margin:0;font-size:18px;line-height:1.2}
.exercise-library-muscle{margin:0;color:var(--sc-muted,var(--muted));font-size:11px;font-weight:750}
.exercise-library-muscle span{opacity:.5}
.exercise-library-note{margin:0;color:var(--sc-muted,var(--muted));font-size:10px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.exercise-library-actions{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center;margin-top:2px}
.exercise-library-actions .btn{width:100%;justify-content:center}
.exercise-library-actions .mini-icon{width:42px;height:42px}
html[data-theme="dark"] .exercise-library-intro,html[data-theme="dark"] .exercise-library-card{background:var(--sc-surface)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .exercise-library-summary span{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
@media(max-width:620px){
  .exercise-library-intro{align-items:stretch;flex-direction:column;padding:14px}
  .exercise-library-intro .btn{width:100%}
  .exercise-library-toolbar{grid-template-columns:1fr}
  .exercise-library-summary{display:none}
  .exercise-library-grid{grid-template-columns:1fr!important}
  .exercise-library-card .library-exercise-media{height:138px}
}

/* Constructor: acciones dentro del flujo, no una barra flotante; ayuda con contraste correcto. */
.mobile-builder-dock{
  position:static!important;
  z-index:auto!important;
  bottom:auto!important;
  margin:12px 0 4px!important;
  padding:0!important;
  background:none!important;
  box-shadow:none!important;
}
.mobile-builder-dock .btn{box-shadow:none!important}
.builder-help{margin-top:14px!important;background:var(--sc-surface)!important;border-color:var(--sc-line)!important}
.builder-help summary{color:var(--sc-text)!important;background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
.builder-help summary svg{color:var(--sc-brand-bright,var(--brand))}
.builder-help .builder-glossary>div{color:var(--sc-text)!important;background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .builder-help summary{color:#f7f1f3!important;background:#201a1f!important}
html[data-theme="dark"] .builder-help .builder-glossary>div{background:#181418!important;border-color:#40353b!important}

/* El bloque del día debe contener sus acciones y evitar que sobresalgan al hacer scroll. */
.program-day-card{overflow:hidden}
.day-primary-actions{max-width:100%}
.day-primary-actions .btn{min-width:0}
@media(max-width:699px){
  .program-day-card.active-day{padding-bottom:15px!important}
  .mobile-builder-dock{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:8px!important}
}
@media(max-width:390px){.mobile-builder-dock{grid-template-columns:1fr!important}}

/* System Coach 3.60.0 · cierre de consistencia y UX */

/* Evita que cada re-render completo vuelva a animar toda la pantalla. */
@media (hover:none), (max-width:900px){
  .section{animation:none!important}
  .card,.quick-card,.list-item,.program-card,.client-card-premium,.focus-card,.coach-center-card,.workout-set-card,.portal-primary-action{
    transition-duration:120ms!important;
  }
}

/* El teclado móvil gana espacio real: el dock se oculta solo mientras está abierto. */
body.keyboard-open .bottom-nav,
body.keyboard-open .scroll-top-fab{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.keyboard-open .app-shell,
body.keyboard-open .portal-shell{padding-bottom:max(18px,var(--safe-bottom))!important}
body.keyboard-open .screen,
body.keyboard-open .portal-screen{padding-bottom:24px!important}
body.keyboard-open .rich-composer{bottom:max(6px,var(--safe-bottom))!important}

/* Foco y estados coherentes en controles que se usan en toda la aplicación. */
:where(.icon-btn,.mini-icon,.modal-close,.search-clear,.bubble-reply,.composer-attach,.portal-profile-button,.nav-btn):focus-visible{
  outline:3px solid color-mix(in srgb,var(--sc-brand,#d62246) 34%,transparent)!important;
  outline-offset:2px!important;
  box-shadow:none!important;
}
:where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile)[disabled],
:where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile)[aria-disabled="true"]{
  opacity:.48!important;
  cursor:not-allowed!important;
  filter:saturate(.55)!important;
}

/* Los formularios nunca se pegan al dock al final del scroll. */
.modal form.stack:last-child,
.modal .assessment-form,
.modal .interview-form,
.modal .program-builder{
  padding-bottom:max(8px,var(--safe-bottom));
}

/* Controles de selección más predecibles y legibles. */
:where(input[type="checkbox"],input[type="radio"]){accent-color:var(--sc-brand,#d62246)}
:where(.toggle-row,.assignment-row,.reminder-choice){min-height:48px}

/* Texto secundario oscuro sin transparencias excesivas. */
html[data-theme="dark"] :where(.small,.micro,.help,.muted,.list-subtitle,.metric-label){opacity:1}

/* El scroll horizontal queda reservado a componentes que explícitamente lo necesitan. */
:where(.screen,.portal-screen,.card,.modal,.program-day-card,.client-card-premium){max-width:100%;min-width:0}

/* Pantallas bajas/horizontales: el contenido conserva un ancho centrado y el teclado no desplaza el chrome. */
@media (orientation:landscape) and (max-height:620px){
  body.keyboard-open .bottom-nav{display:none!important}
  body.keyboard-open .app-shell,body.keyboard-open .portal-shell{padding-bottom:max(10px,var(--safe-bottom))!important}
  .modal{overscroll-behavior:contain!important}
}

/* === System Coach 3.60.1 · UX de programación y navegación por repetición === */
.scroll-top-fab{display:none!important}

.plan-create-flow{gap:14px}
.plan-create-intro{display:grid;gap:13px;padding:18px;border:1px solid var(--sc-line,#e3dadd);border-radius:22px;background:linear-gradient(145deg,var(--sc-elevated,#fff),var(--sc-surface,#fbf9fa))}
.plan-create-intro h2{margin:2px 0 4px}
.plan-create-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.plan-create-steps span{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 10px;border:1px solid var(--sc-line,#e3dadd);border-radius:14px;color:var(--sc-muted,#8d7d82);background:var(--sc-surface-2,#f6f2f3);font-size:9px;font-weight:900}
.plan-create-steps b{width:23px;height:23px;display:grid;place-items:center;border-radius:8px;background:var(--sc-surface-3,#eee8ea);font-size:10px}
.plan-create-steps .active{color:var(--sc-text,#241a1d);border-color:color-mix(in srgb,var(--sc-brand,#d11f3c) 42%,var(--sc-line,#e3dadd));background:var(--sc-brand-soft,#fff0f3)}
.plan-create-steps .active b{color:#fff;background:var(--sc-brand,#d11f3c)}
.plan-create-section{display:grid;gap:12px;padding:17px;border:1px solid var(--sc-line,#e3dadd);border-radius:22px;background:var(--sc-elevated,#fff)}
.plan-create-section.primary{border-color:color-mix(in srgb,var(--sc-brand,#d11f3c) 30%,var(--sc-line,#e3dadd))}
.plan-create-section-head{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:center}
.plan-create-section-head>span{width:34px;height:34px;display:grid;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,var(--sc-brand,#d11f3c),#86172c);font-size:12px;font-weight:950}
.plan-create-section-head strong,.plan-create-section-head small{display:block}.plan-create-section-head strong{font-size:14px}.plan-create-section-head small{margin-top:2px;color:var(--sc-muted,#8d7d82);font-size:9px}
.plan-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.plan-choice{display:grid;grid-template-columns:32px minmax(0,1fr);gap:2px 8px;align-items:center;padding:11px;border:1px solid var(--sc-line,#e3dadd);border-radius:16px;background:var(--sc-surface-2,#f7f4f5)}
.plan-choice>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:11px;color:var(--sc-brand,#d11f3c);background:var(--sc-brand-soft,#fff0f3)}
.plan-choice strong{font-size:10px}.plan-choice select{min-width:0;height:34px;padding:4px 7px;border:0;background:transparent;color:var(--sc-text,#241a1d);font-size:10px;font-weight:850}
.plan-create-advanced{overflow:hidden;border:1px solid var(--sc-line,#e3dadd);border-radius:18px;background:var(--sc-elevated,#fff)}
.plan-create-advanced>summary{display:flex;align-items:center;gap:8px;min-height:50px;padding:12px 15px;color:var(--sc-text,#241a1d);cursor:pointer;font-size:11px;font-weight:900}
.plan-create-advanced>summary small{margin-left:auto;color:var(--sc-muted,#8d7d82);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.plan-create-advanced[open]>summary{border-bottom:1px solid var(--sc-line,#e3dadd);background:var(--sc-surface-2,#f7f4f5)}
.plan-create-advanced-body{display:grid;gap:12px;padding:14px}
.plan-create-finish{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:15px;align-items:center;padding:17px;border:1px solid color-mix(in srgb,var(--sc-brand,#d11f3c) 28%,var(--sc-line,#e3dadd));border-radius:22px;background:linear-gradient(145deg,var(--sc-brand-soft,#fff2f5),var(--sc-elevated,#fff))}
.plan-create-finish h3{margin:2px 0 4px}.plan-create-finish .routine-create-actions{align-self:stretch}

.builder-next-step{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;padding:15px 16px;border:1px solid var(--sc-line,#e3dadd);border-radius:20px;background:var(--sc-elevated,#fff)}
.builder-next-step.pending{border-color:color-mix(in srgb,var(--sc-brand,#d11f3c) 34%,var(--sc-line,#e3dadd));background:linear-gradient(145deg,var(--sc-brand-soft,#fff0f3),var(--sc-elevated,#fff))}
.builder-next-step.ready{border-color:color-mix(in srgb,#1d8f66 34%,var(--sc-line,#e3dadd))}
.builder-next-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(145deg,var(--sc-brand,#d11f3c),#86172c)}
.builder-next-step.ready .builder-next-icon{background:linear-gradient(145deg,#17825d,#0b6848)}
.builder-next-step h3{margin:1px 0 3px;font-size:14px}.builder-next-step p{margin:0;color:var(--sc-muted,#8d7d82);font-size:10px;line-height:1.45}.builder-next-step .btn{min-width:max-content}

.day-secondary-actions{margin-top:12px;overflow:hidden;border:1px solid var(--sc-line,#e3dadd);border-radius:16px;background:var(--sc-surface-2,#f7f4f5)}
.day-secondary-actions>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 13px;color:var(--sc-text,#241a1d);cursor:pointer;font-size:10px;font-weight:900}
.day-secondary-actions[open]>summary{border-bottom:1px solid var(--sc-line,#e3dadd)}
.day-secondary-actions .day-actions{margin:0;padding:11px}
.mobile-builder-dock{position:static!important;bottom:auto!important;margin:10px 0 2px!important;padding:9px!important;border:1px solid var(--sc-line,#e3dadd);border-radius:16px;background:var(--sc-surface-2,#f7f4f5)!important}
.exercise-picker-form .exercise-picker-grid{scrollbar-gutter:stable}

html[data-theme="dark"] .plan-create-intro,html[data-theme="dark"] .plan-create-section,html[data-theme="dark"] .plan-create-advanced,html[data-theme="dark"] .plan-create-finish,html[data-theme="dark"] .builder-next-step,html[data-theme="dark"] .day-secondary-actions{background:var(--sc-surface);border-color:var(--sc-line)}
html[data-theme="dark"] .plan-create-section.primary,html[data-theme="dark"] .builder-next-step.pending{background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 12%,var(--sc-surface)),var(--sc-surface))}
html[data-theme="dark"] .plan-choice,html[data-theme="dark"] .plan-create-advanced[open]>summary,html[data-theme="dark"] .mobile-builder-dock{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .plan-choice select{color:var(--sc-text)}

@media(max-width:760px){
  .plan-choice-grid{grid-template-columns:1fr}
  .plan-create-finish{grid-template-columns:1fr}
  .builder-next-step{grid-template-columns:42px minmax(0,1fr)}
  .builder-next-step .btn{grid-column:1/-1;width:100%}
  .builder-next-icon{width:42px;height:42px;border-radius:14px}
  .program-builder-summary .builder-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
  .exercise-picker-grid{max-height:none!important;overflow:visible!important}
}
@media(max-width:390px){
  .plan-create-intro,.plan-create-section,.plan-create-finish{padding:14px}
  .plan-create-steps span{justify-content:center;padding-inline:5px;font-size:8px}.plan-create-steps b{display:none}
  .builder-next-step{padding:13px}
}
.picker-flow-hint{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.picker-flow-hint span{display:flex;align-items:center;gap:6px;min-height:34px;padding:7px 9px;border:1px solid var(--sc-line,#e3dadd);border-radius:12px;color:var(--sc-muted,#8d7d82);background:var(--sc-surface-2,#f7f4f5);font-size:8px;font-weight:900}.picker-flow-hint b{width:19px;height:19px;display:grid;place-items:center;border-radius:7px;background:var(--sc-surface-3,#eee8ea);font-size:8px}.picker-flow-hint .active{color:var(--sc-text,#241a1d);border-color:color-mix(in srgb,var(--sc-brand,#d11f3c) 38%,var(--sc-line,#e3dadd));background:var(--sc-brand-soft,#fff0f3)}.picker-flow-hint .active b{color:#fff;background:var(--sc-brand,#d11f3c)}

/* v3.60.2 · rutina clara, acciones progresivas y plan visual */
.plan-choice-wide{grid-column:1/-1}
.plan-choice-wide small{display:block;margin-top:5px;color:var(--sc-muted,var(--muted));font-size:10px;font-weight:700;line-height:1.4;text-transform:none;letter-spacing:0}
.routine-exercise-card{grid-template-columns:32px 88px minmax(0,1fr)!important;gap:12px!important;align-items:start;padding:12px!important}
.routine-exercise-card .program-exercise-thumb{width:88px!important;height:108px!important;aspect-ratio:auto!important;border-radius:16px!important;background:linear-gradient(180deg,#f7f4f5,#eee9eb)!important;overflow:hidden}
.routine-exercise-card .program-exercise-thumb img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;padding:5px!important}
.routine-exercise-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.routine-exercise-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:5px}
.routine-exercise-meta span{display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;border:1px solid var(--sc-line,var(--line));border-radius:999px;color:var(--sc-muted,var(--muted));background:var(--sc-surface-3,#f4f1f2);font-size:8px;font-weight:900}
.routine-exercise-card h4{font-size:16px!important;line-height:1.2!important}
.routine-prescription-line{display:flex!important;flex-wrap:wrap;gap:5px 9px!important;margin-top:7px!important}
.routine-prescription-line strong{color:var(--sc-text,var(--navy));font-size:12px}
.routine-prescription-line span{color:var(--sc-muted,var(--muted));font-size:10px;font-weight:800}
.routine-edit-prescription{margin-top:2px}
.routine-primary-actions{display:grid;grid-template-columns:1.1fr .9fr;gap:7px;margin-top:11px}
.routine-primary-actions .btn{width:100%;justify-content:center;margin:0;min-height:40px}
.exercise-secondary-actions{margin-top:8px;overflow:hidden;border:1px solid var(--sc-line,var(--line));border-radius:13px;background:var(--sc-surface,#fff)}
.exercise-secondary-actions>summary{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;color:var(--sc-muted,var(--muted));cursor:pointer;font-size:9px;font-weight:900;list-style:none}
.exercise-secondary-actions>summary::-webkit-details-marker{display:none}
.exercise-secondary-actions[open]>summary{border-bottom:1px solid var(--sc-line,var(--line));color:var(--sc-text,var(--navy))}
.exercise-secondary-actions .exercise-actions{margin:0;padding:9px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.exercise-secondary-actions .exercise-actions button{min-height:38px!important;font-size:9px!important}
.exercise-secondary-actions .exercise-actions .danger-text{grid-column:1/-1;margin:0!important;color:#b52943!important;background:color-mix(in srgb,#fff 92%,#ff294d 8%)!important}
.day-visual-overview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin:10px 0;padding:10px 11px;border:1px solid var(--sc-line,var(--line));border-radius:15px;background:var(--sc-surface-2,#f8f5f6)}
.day-visual-overview strong{display:block;margin-top:2px;font-size:12px;color:var(--sc-text,var(--navy))}
.day-visual-strip{display:flex;align-items:center;justify-content:flex-end}
.day-visual-thumb{width:40px;height:50px;margin-left:-8px;border:2px solid var(--sc-surface-2,#f8f5f6);border-radius:11px;overflow:hidden;background:#f5f1f2;box-shadow:0 5px 14px rgba(25,17,19,.08)}
.day-visual-thumb:first-child{margin-left:0}
.day-visual-thumb img{width:100%;height:100%;object-fit:contain;padding:2px}
.day-visual-more{width:38px;height:38px;margin-left:-6px;border:2px solid var(--sc-surface-2,#f8f5f6);border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--sc-brand,#d61f43),#8b1730);font-size:10px;font-weight:950}
.portal-next-session{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:14px!important;align-items:center}
.portal-next-session-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;min-width:0}
.portal-focus-visuals{display:flex;align-items:center;justify-content:flex-end;min-width:110px}
.portal-focus-thumb{width:54px;height:68px;margin-left:-13px;border:3px solid var(--sc-surface,#fff);border-radius:14px;overflow:hidden;background:#f6f2f3;box-shadow:0 10px 22px rgba(25,17,19,.12)}
.portal-focus-thumb:first-child{margin-left:0}
.portal-focus-thumb img{width:100%;height:100%;object-fit:contain;padding:3px}
.portal-next-session>.btn{grid-column:1/-1;width:100%;margin:0}
.portal-day-card-visual{overflow:hidden}
.portal-day-visual-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:7px;align-items:stretch}
.portal-day-preview-item{min-width:0;overflow:hidden;border:1px solid var(--sc-line,var(--line));border-radius:15px;background:var(--sc-surface-2,#f8f5f6)}
.portal-day-preview-thumb{display:block;width:100%;height:92px;overflow:hidden;background:linear-gradient(180deg,#f5f2f3,#ece7e9)}
.portal-day-preview-thumb img{width:100%;height:100%;object-fit:contain;padding:4px}
.portal-day-preview-item>span{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:5px;padding:7px 8px}
.portal-day-preview-item>span small{width:20px;height:20px;border-radius:7px;display:grid;place-items:center;color:#fff;background:var(--sc-brand,#d61f43);font-size:8px;font-weight:950}
.portal-day-preview-item>span strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sc-text,var(--navy));font-size:9px}
.portal-day-preview-more{min-width:52px;border:1px dashed color-mix(in srgb,var(--sc-brand,#d61f43) 35%,var(--sc-line,var(--line)));border-radius:15px;display:grid;place-items:center;align-content:center;color:var(--sc-brand,#d61f43);background:var(--sc-brand-soft,#fff0f3)}
.portal-day-preview-more strong{font-size:15px}.portal-day-preview-more small{font-size:8px;font-weight:900}
.portal-day-exercises{overflow:hidden;border:1px solid var(--sc-line,var(--line));border-radius:15px;background:var(--sc-surface-2,#f8f5f6)}
.portal-day-exercises>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 12px;color:var(--sc-text,var(--navy));cursor:pointer;font-size:10px;font-weight:900;list-style:none}
.portal-day-exercises>summary::-webkit-details-marker{display:none}
.portal-day-exercises>summary span{margin-left:auto;min-width:24px;height:24px;border-radius:999px;display:grid;place-items:center;color:var(--sc-brand,#d61f43);background:var(--sc-brand-soft,#fff0f3);font-size:9px}
.portal-day-exercises[open]>summary{border-bottom:1px solid var(--sc-line,var(--line))}
.portal-day-exercises .portal-exercise-stack{padding:9px}
.portal-exercise-thumb img{object-fit:contain!important;padding:3px!important;background:#f6f2f3}
.portal-session-start{width:100%;margin:0}
.exercise-pick-icon img,.visual-picker .exercise-pick-icon img{object-fit:contain!important;object-position:center!important;padding:3px!important;background:#f6f2f3}
.technique-illustration img{object-fit:contain!important;object-position:center!important;padding:6px;background:#f5f1f2}

html[data-theme="dark"] .routine-exercise-card .program-exercise-thumb,
html[data-theme="dark"] .day-visual-thumb,
html[data-theme="dark"] .portal-focus-thumb,
html[data-theme="dark"] .portal-day-preview-thumb,
html[data-theme="dark"] .portal-exercise-thumb img,
html[data-theme="dark"] .exercise-pick-icon img,
html[data-theme="dark"] .technique-illustration img{background:#f0ecee!important}
html[data-theme="dark"] .exercise-secondary-actions,
html[data-theme="dark"] .portal-day-exercises{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}

@media(max-width:760px){
  .routine-exercise-card{grid-template-columns:28px 68px minmax(0,1fr)!important;gap:9px!important}
  .routine-exercise-card .program-exercise-thumb{width:68px!important;height:86px!important;border-radius:13px!important}
  .routine-primary-actions{grid-template-columns:1fr}
  .day-visual-overview{grid-template-columns:1fr;gap:8px}.day-visual-strip{justify-content:flex-start;padding-left:8px}
  .portal-next-session{grid-template-columns:1fr!important}.portal-focus-visuals{justify-content:flex-start;padding-left:12px}.portal-next-session>.btn{grid-column:auto}
  .portal-day-visual-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-day-preview-more{grid-column:1/-1;min-height:34px;grid-auto-flow:column;justify-content:center;gap:5px}
  .portal-day-preview-thumb{height:82px}
}
@media(max-width:430px){
  .routine-exercise-card{grid-template-columns:26px 60px minmax(0,1fr)!important;padding:9px!important}
  .routine-exercise-card .program-exercise-thumb{width:60px!important;height:76px!important}
  .routine-exercise-meta span{font-size:7px;padding:3px 6px}.routine-exercise-card h4{font-size:14px!important}
  .routine-prescription-line span{font-size:9px}.exercise-secondary-actions .exercise-actions{grid-template-columns:1fr}
  .exercise-secondary-actions .exercise-actions .danger-text{grid-column:auto}
  .portal-day-visual-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-day-preview-item:nth-child(3){display:none}.portal-day-preview-more{grid-column:auto}
  .portal-day-preview-thumb{height:88px}
}


/* v3.60.3 · ilustraciones, técnica y prescripción con contraste estable */
.exercise-media-fallback{min-height:100%;padding:10px;place-items:center;align-content:center;background:linear-gradient(155deg,var(--sc-surface-3,#f3edef),var(--sc-brand-soft,#fff0f3));border:1px dashed color-mix(in srgb,var(--sc-brand,#d61f43) 28%,var(--sc-line,#ddd));color:var(--sc-brand,#d61f43)}
.exercise-fallback-mark{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--sc-brand-bright,#f53659),var(--sc-brand-deep,#94152e));box-shadow:0 8px 18px color-mix(in srgb,var(--sc-brand,#d61f43) 20%,transparent)}
.exercise-media-fallback small{margin-top:7px;color:var(--sc-muted,#766b70)!important;font-size:8px!important;letter-spacing:.05em}
.routine-exercise-card .program-exercise-thumb,.day-visual-thumb,.portal-focus-thumb,.portal-day-preview-thumb,.portal-exercise-thumb,.exercise-pick-icon.has-illustration{position:relative;background:linear-gradient(155deg,#f2edef,#e7e0e3)!important;box-shadow:inset 0 0 0 1px rgba(73,44,51,.05)}
.routine-exercise-card .program-exercise-thumb img,.day-visual-thumb img,.portal-focus-thumb img,.portal-day-preview-thumb img,.portal-exercise-thumb img,.exercise-pick-icon img{object-fit:contain!important;object-position:center!important;padding:4px!important;filter:contrast(1.03) saturate(.98)}
.routine-exercise-card .program-exercise-thumb:has(img)::after,.day-visual-thumb:has(img)::after,.portal-focus-thumb:has(img)::after,.portal-day-preview-thumb:has(img)::after{content:"";position:absolute;inset:auto 7px 5px;height:2px;border-radius:999px;background:color-mix(in srgb,var(--sc-brand,#d61f43) 26%,transparent);pointer-events:none}

.exercise-technique-modal{width:min(860px,calc(100vw - 30px))}
.exercise-technique{gap:16px}
.technique-hero{grid-template-columns:minmax(230px,310px) minmax(0,1fr);gap:20px;align-items:stretch;padding:18px;background:var(--sc-surface-2,#fbf8f9)!important;border-color:var(--sc-line,#e2d9dc)!important;box-shadow:0 16px 38px rgba(24,16,18,.06)}
.technique-illustration{width:100%;min-height:0!important;height:auto!important;aspect-ratio:2/3;border-radius:20px;background:linear-gradient(160deg,#e9e4e6,#f4f0f1)!important;border:1px solid rgba(82,48,57,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.42)}
.technique-illustration img{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center!important;padding:12px!important;background:transparent!important;filter:contrast(1.04) saturate(.96)}
.technique-illustration-gallery{width:100%;min-width:0;display:flex;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--sc-brand,#d61f43) transparent;border-radius:20px;background:linear-gradient(160deg,#e9e4e6,#f4f0f1);box-shadow:inset 0 0 0 1px rgba(82,48,57,.08)}
.technique-illustration-gallery .technique-illustration{flex:0 0 100%;margin:0;border:0;border-radius:20px;scroll-snap-align:start;box-shadow:none}
.technique-illustration-gallery figcaption{position:absolute;left:12px;right:12px;bottom:10px;z-index:2;padding:6px 9px;border-radius:999px;color:#fff;background:rgba(27,20,23,.78);font-size:8px;font-weight:900;line-height:1.2;text-align:center;letter-spacing:.03em;backdrop-filter:blur(8px)}
.technique-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:10px 6px}
.technique-copy .eyebrow{color:var(--sc-brand,#d61f43)!important}
.technique-hero h2{margin:5px 0 7px;color:var(--sc-text,#241a1d)!important;font-size:clamp(25px,3vw,36px);line-height:1.04}
.technique-equipment{margin:0!important;color:var(--sc-muted,#756a6f)!important;font-size:12px!important;font-weight:800!important}
.technique-muscles span{background:var(--sc-surface-3,#f2edef)!important;border:1px solid var(--sc-line,#e2d9dc)}
.technique-muscles small{color:var(--sc-muted,#756a6f)!important}.technique-muscles strong{color:var(--sc-text,#241a1d)!important;font-size:11px}
.technique-grid article{background:var(--sc-surface-2,#fff)!important;color:var(--sc-text,#241a1d)!important}.technique-grid li{color:var(--sc-muted,#6d3e47)!important}.technique-errors{background:var(--sc-danger-soft,#fff1f3)!important}.technique-safety{color:var(--sc-text,#241a1d)!important;background:var(--sc-surface-3,#f4f0f1)!important}

.prescription-presets{padding:16px;border-color:var(--sc-line,#e3dcde)!important;background:var(--sc-surface-2,#faf8f9)!important;color:var(--sc-text,#241a1d)!important}
.prescription-presets>div:first-child>strong{color:var(--sc-text,#241a1d)!important;font-size:13px;line-height:1.35}
.preset-guide-grid button{position:relative;min-height:72px!important;padding:11px 12px 10px 38px!important;border:1px solid var(--sc-line,#ddd4d7)!important;color:var(--sc-text,#241a1d)!important;background:var(--sc-surface,#fff)!important;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.preset-guide-grid button:hover{border-color:color-mix(in srgb,var(--sc-brand,#d61f43) 45%,var(--sc-line,#ddd));background:var(--sc-brand-soft,#fff0f3)!important}
.preset-guide-grid button.active{border-color:var(--sc-brand,#d61f43)!important;background:var(--sc-brand-soft,#fff0f3)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand,#d61f43) 13%,transparent)}
.preset-guide-grid button strong{color:inherit!important;font-size:12px!important}.preset-guide-grid button small{color:var(--sc-muted,#756a6f)!important;font-size:9px!important}
.preset-check{position:absolute;left:11px;top:50%;width:19px;height:19px;transform:translateY(-50%);display:grid;place-items:center;border:1px solid var(--sc-line,#d9d0d3);border-radius:7px;color:transparent;background:var(--sc-surface-3,#f4f0f1)}
.preset-guide-grid button.active .preset-check{color:#fff;border-color:var(--sc-brand,#d61f43);background:var(--sc-brand,#d61f43)}
.preset-explanation{min-height:44px;padding:10px 11px;border:1px solid var(--sc-line,#ded5d8);border-radius:12px;color:var(--sc-muted,#756a6f)!important;background:var(--sc-surface-3,#f5f1f2);font-size:9px;line-height:1.5}
.preset-explanation strong{display:inline!important;margin:0 5px 0 0!important;color:var(--sc-text,#241a1d)!important;font-size:10px!important}.preset-explanation>span:not(.preset-applied-badge){display:block;margin-top:3px}.preset-applied-badge{display:inline-flex;align-items:center;gap:4px;margin-right:7px;padding:3px 6px;border-radius:999px;color:var(--sc-success-deep,#176c4b);background:var(--sc-success-soft,#e9f7ef);font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.essential-prescription .field label{color:var(--sc-text,#241a1d)!important}.essential-prescription input,.essential-prescription select{color:var(--sc-text,#241a1d)!important;background:var(--sc-surface,#fff)!important;border-color:var(--sc-line,#ddd4d7)!important}

html[data-theme="dark"] .technique-hero{background:linear-gradient(145deg,#171318,#21191e)!important;border-color:#3b3035!important;box-shadow:none}
html[data-theme="dark"] .technique-illustration{background:linear-gradient(160deg,#30292c,#1e1a1d)!important;border-color:#44373d!important}
html[data-theme="dark"] .technique-illustration-gallery{background:linear-gradient(160deg,#30292c,#1e1a1d);box-shadow:inset 0 0 0 1px #44373d}
html[data-theme="dark"] .technique-hero h2,html[data-theme="dark"] .technique-muscles strong{color:#fff7f9!important}
html[data-theme="dark"] .technique-equipment,html[data-theme="dark"] .technique-muscles small,html[data-theme="dark"] .technique-grid li{color:#c9bec2!important}
html[data-theme="dark"] .technique-muscles span,html[data-theme="dark"] .technique-grid article{background:#211b1f!important;border-color:#3b3035!important}
html[data-theme="dark"] .technique-errors{background:#2b171d!important;border-color:#5d2835!important}
html[data-theme="dark"] .technique-cue{color:#f7d48f!important;background:#302514!important;border-color:#5d4821!important}
html[data-theme="dark"] .technique-safety{color:#ddd4d7!important;background:#1c181b!important;border-color:#3b3035!important}
html[data-theme="dark"] .prescription-presets{background:#191519!important;border-color:#3b3035!important}
html[data-theme="dark"] .prescription-presets>div:first-child>strong,html[data-theme="dark"] .preset-guide-grid button strong,html[data-theme="dark"] .preset-explanation strong,html[data-theme="dark"] .essential-prescription .field label{color:#fff7f9!important}
html[data-theme="dark"] .preset-guide-grid button{color:#fff7f9!important;background:#231d21!important;border-color:#40343a!important}
html[data-theme="dark"] .preset-guide-grid button:hover,html[data-theme="dark"] .preset-guide-grid button.active{background:#351923!important;border-color:#d93452!important}
html[data-theme="dark"] .preset-guide-grid button small,html[data-theme="dark"] .preset-explanation{color:#c2b6bb!important}
html[data-theme="dark"] .preset-check,html[data-theme="dark"] .preset-explanation{background:#211b1f!important;border-color:#40343a!important}
html[data-theme="dark"] .preset-guide-grid button.active .preset-check{background:#e12d4c!important;border-color:#e12d4c!important}
html[data-theme="dark"] .essential-prescription input,html[data-theme="dark"] .essential-prescription select{color:#fff!important;background:#171318!important;border-color:#4a3d43!important}
html[data-theme="dark"] .routine-exercise-card .program-exercise-thumb,html[data-theme="dark"] .day-visual-thumb,html[data-theme="dark"] .portal-focus-thumb,html[data-theme="dark"] .portal-day-preview-thumb,html[data-theme="dark"] .portal-exercise-thumb{background:linear-gradient(155deg,#30292c,#211c20)!important}

@media(max-width:700px){
  .technique-hero{grid-template-columns:1fr!important;padding:13px!important}.technique-illustration{width:min(100%,360px);aspect-ratio:4/5;margin:0 auto}.technique-copy{padding:4px 2px 2px}.technique-hero h2{font-size:27px}
  .preset-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.preset-guide-grid button{min-height:68px!important}
}
@media(max-width:430px){.preset-guide-grid{grid-template-columns:1fr!important}.technique-illustration{width:min(100%,300px)}}


/* CoachEvo 3.61.0 · identidad oficial */
:root{
  --coachevo-red:#f31f2a;
  --coachevo-red-deep:#c9111c;
  --coachevo-ink:#121012;
}
.app-brand-home img{
  object-fit:cover;
  background:#0d0d0e;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 9px 24px rgba(243,31,42,.18)!important;
}
.coachevo-wordmark{
  display:inline-flex!important;
  align-items:baseline;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-size:17px!important;
  font-weight:950!important;
  letter-spacing:-.045em!important;
}
.coachevo-wordmark .brand-coach,
.coachevo-wordmark .brand-evo{
  display:inline!important;
  overflow:visible!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  white-space:nowrap!important;
}
.coachevo-wordmark .brand-coach{color:#fff!important}
.coachevo-wordmark .brand-evo{color:var(--coachevo-red)!important}
.coachevo-pin-logo{
  width:76px!important;
  height:76px!important;
  margin-inline:auto!important;
  padding:0!important;
  overflow:hidden;
  border-radius:24px!important;
  background:#0c0c0d!important;
  box-shadow:0 18px 46px rgba(243,31,42,.19)!important;
}
.coachevo-pin-logo img{width:100%;height:100%;display:block;object-fit:cover}
@media(max-width:620px){.coachevo-wordmark{font-size:16px!important}}
@media(max-width:360px){.coachevo-wordmark{font-size:14px!important}}


/* CoachEvo 3.61.1 · contraste de cabecera y menú compacto */
.premium-topbar .top-actions > .icon-btn,
.premium-topbar .coach-header-menu-wrap > summary.icon-btn{
  color:#fff!important;
  border-color:rgba(255,255,255,.16)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(0,0,0,.22)!important;
}
.premium-topbar .top-actions .icon-btn svg,
.premium-topbar .coach-header-menu-wrap > summary.icon-btn svg{
  color:#fff!important;
  stroke:currentColor!important;
  opacity:1!important;
  filter:none!important;
}
.premium-topbar .top-actions .icon-btn:hover,
.premium-topbar .coach-header-menu-wrap > summary.icon-btn:hover{
  color:#fff!important;
  background:rgba(243,31,42,.17)!important;
  border-color:rgba(255,92,105,.34)!important;
}
.coach-header-menu-wrap{position:relative;display:block;flex:0 0 auto;z-index:460}
.coach-header-menu-wrap > summary{list-style:none;-webkit-tap-highlight-color:transparent}
.coach-header-menu-wrap > summary::-webkit-details-marker{display:none}
.coach-header-menu-wrap[open] > summary{
  color:#fff!important;
  background:rgba(243,31,42,.18)!important;
  border-color:rgba(255,92,105,.36)!important;
}
.coach-header-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(278px,calc(100vw - 24px));
  padding:8px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:linear-gradient(180deg,#211c21,#171318);
  box-shadow:0 22px 58px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.05);
  overflow:hidden;
  z-index:500;
}
.coach-header-menu::before{
  content:"";
  position:absolute;
  top:-6px;
  right:16px;
  width:12px;
  height:12px;
  transform:rotate(45deg);
  background:#211c21;
  border-left:1px solid rgba(255,255,255,.13);
  border-top:1px solid rgba(255,255,255,.13);
}
.coach-header-menu-item{
  position:relative;
  width:100%;
  min-height:52px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#fff;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.coach-header-menu-item:hover,.coach-header-menu-item:focus-visible{background:rgba(255,255,255,.07)}
.coach-header-menu-item > .sc-icon{width:19px;height:19px;color:#f4edf0}
.coach-header-menu-item > span{min-width:0;display:grid;gap:2px}
.coach-header-menu-item strong{color:#fff!important;font-size:13px;line-height:1.15}
.coach-header-menu-item small{color:#bfb2b8!important;font-size:9px;line-height:1.25}
.coach-header-menu-divider{height:1px;margin:5px 8px;background:rgba(255,255,255,.09)}
.coach-header-menu-item.danger,.coach-header-menu-item.danger > .sc-icon,.coach-header-menu-item.danger strong{color:#ff5367!important}
.coach-header-menu-item.danger small{color:#d69ca7!important}
.coach-header-menu-item.danger:hover,.coach-header-menu-item.danger:focus-visible{background:rgba(243,31,42,.10)}
@media(max-width:430px){
  .coach-header-menu{right:-2px;width:min(266px,calc(100vw - 18px));border-radius:17px}
  .coach-header-menu-item{min-height:50px}
}

/* CoachEvo 3.62.0 · evaluación física integral */
.assessment-form-v2{--assessment-accent:#bd1738}
.assessment-context-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.assessment-context-strip>span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid rgba(165,44,70,.16);border-radius:15px;background:rgba(190,23,56,.055)}
.assessment-context-strip strong{font-size:13px;line-height:1.1}.assessment-context-strip small{font-size:9px;color:var(--muted)}
.assessment-advanced{border:1px solid rgba(189,121,135,.22);border-radius:21px;background:linear-gradient(180deg,#fff,#fbf9fa);overflow:hidden}
.assessment-advanced>summary{list-style:none;display:grid;grid-template-columns:40px 1fr 24px;gap:10px;align-items:center;padding:15px;cursor:pointer}
.assessment-advanced>summary::-webkit-details-marker{display:none}
.assessment-advanced>summary>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#a31331;background:#ffe9ee}
.assessment-advanced>summary strong,.assessment-advanced>summary small{display:block}.assessment-advanced>summary strong{font-size:13px}.assessment-advanced>summary small{margin-top:2px;color:var(--muted);font-size:9px}
.assessment-advanced>summary>.sc-icon{transition:transform .2s ease}.assessment-advanced[open]>summary>.sc-icon{transform:rotate(90deg)}
.assessment-advanced-body{padding:0 15px 15px;border-top:1px solid rgba(189,121,135,.14)}
.assessment-advanced-body>.field-grid:first-child,.assessment-advanced-body>fieldset>.field-grid:first-child{margin-top:15px}
.assessment-advanced fieldset{border:0;margin:0;padding:0;min-width:0}.assessment-advanced fieldset:disabled{opacity:.56;pointer-events:none}
.assessment-skinfold-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.assessment-safety-note{margin-top:12px;background:rgba(189,23,56,.05);border-color:rgba(189,23,56,.14)}
.assessment-live-results{background:linear-gradient(145deg,#191316,#35131b 65%,#6f1026);color:#fff;border-color:rgba(255,255,255,.08);overflow:hidden}
.assessment-live-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.assessment-live-head h3{margin-top:4px;color:#fff}.assessment-live-head .eyebrow{color:#ff91a7}
.assessment-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.assessment-result-card{min-height:90px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.065);display:flex;flex-direction:column;gap:3px}
.assessment-result-card>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:#d6c7cc}.assessment-result-card>strong{font-size:18px;line-height:1.15;color:#fff}.assessment-result-card>small{font-size:9px;color:#c4b7bd;line-height:1.35}.assessment-result-card.guarded{background:rgba(255,192,77,.08);border-color:rgba(255,192,77,.18)}
.assessment-zone-title{margin:15px 0 8px}.assessment-zone-title strong,.assessment-zone-title small{display:block}.assessment-zone-title strong{font-size:12px}.assessment-zone-title small{margin-top:2px;color:#c4b7bd;font-size:9px}
.assessment-zone-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.assessment-zone-grid>div{padding:9px 7px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);text-align:center}.assessment-zone-grid span,.assessment-zone-grid strong,.assessment-zone-grid small{display:block}.assessment-zone-grid span{font-size:8px;color:#ff9bb0}.assessment-zone-grid strong{margin:2px 0;font-size:12px;color:#fff}.assessment-zone-grid small{font-size:7px;color:#bdaeb5}
html[data-theme="dark"] .assessment-advanced{background:#1c181b!important;border-color:#3f3037!important}html[data-theme="dark"] .assessment-advanced>summary strong{color:#fff!important}html[data-theme="dark"] .assessment-advanced>summary small{color:#bcaeb5!important}html[data-theme="dark"] .assessment-advanced>summary>span{background:#371720!important;color:#ff4766!important}html[data-theme="dark"] .assessment-advanced-body{border-top-color:#3f3037!important}html[data-theme="dark"] .assessment-context-strip>span{background:#28181e;border-color:#4a2d38}html[data-theme="dark"] .assessment-context-strip strong{color:#fff}
@media(max-width:720px){.assessment-skinfold-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-zone-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.assessment-context-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.assessment-result-grid{grid-template-columns:1fr}.assessment-skinfold-grid{grid-template-columns:1fr 1fr}.assessment-zone-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-advanced>summary{grid-template-columns:36px 1fr 20px;padding:13px}}
@media(max-width:360px){.assessment-context-strip{grid-template-columns:1fr}.assessment-skinfold-grid{grid-template-columns:1fr}.assessment-zone-grid{grid-template-columns:1fr 1fr}}

/* CoachEvo 3.64 · fuerza por grupo dentro de Evaluación */
.assessment-rm-groups{display:grid;gap:10px;margin-top:12px}
.assessment-rm-group{border:1px solid var(--border);border-radius:16px;background:var(--surface-soft,rgba(255,255,255,.035));overflow:hidden}
.assessment-rm-group>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;align-items:center;padding:13px 14px;min-height:54px}
.assessment-rm-group>summary::-webkit-details-marker{display:none}
.assessment-rm-group>summary span{font-weight:800;letter-spacing:-.01em}
.assessment-rm-group>summary small{grid-column:1;color:var(--muted);line-height:1.3}
.assessment-rm-group>summary svg{grid-column:2;grid-row:1 / span 2;transition:transform .2s ease}
.assessment-rm-group[open]>summary svg{transform:rotate(90deg)}
.assessment-rm-group-body{padding:0 14px 14px;display:grid;gap:12px}
.assessment-rm-load-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px}
.assessment-rm-load-grid>div{padding:9px;border-radius:12px;background:rgba(255,255,255,.075);display:flex;flex-direction:column;gap:2px}
.assessment-rm-load-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.055em;color:#d9cbd0}
.assessment-rm-load-grid strong{font-size:14px;color:#fff}
.assessment-rm-load-grid small{font-size:9px;color:#c8bbc0}
.assessment-result-card-rm{grid-column:1 / -1}
.assessment-safety-note{margin-top:12px}
@media (max-width:620px){.assessment-rm-load-grid{grid-template-columns:1fr}.assessment-result-card-rm{grid-column:auto}.assessment-rm-group>summary{padding:12px}}

/* CoachEvo 3.65.0 · pulido de evaluación */
.assessment-composition-note{display:grid;gap:4px;padding:13px 14px;margin-bottom:12px;border-radius:16px;background:linear-gradient(145deg,rgba(156,31,58,.08),rgba(156,31,58,.03));border:1px solid rgba(156,31,58,.12)}
.assessment-composition-note strong{font-size:13px}.assessment-composition-note small{color:var(--muted);line-height:1.45}
.progress-photo-preview[hidden]{display:none!important}
.progress-photo-preview{background:linear-gradient(145deg,rgba(156,31,58,.055),rgba(255,255,255,.55));border-color:rgba(156,31,58,.22);box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.progress-photo-preview.is-empty{display:none!important}

/* CoachEvo 3.66.0 · cabecera sólida y continuidad de datos fisiológicos */
:root{--coachevo-topbar-solid:#141216}
html,body{background:var(--coachevo-topbar-solid)!important}
.app-shell,.portal-shell{position:relative!important}
.app-shell>.topbar,.app-shell>.premium-topbar,.portal-shell>.portal-topbar{
  position:fixed!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  width:min(100vw,1024px)!important;
  min-height:var(--sc-fixed-topbar-space)!important;
  margin:0!important;
  transform:translateX(-50%)!important;
  border-radius:0!important;
  border-top:0!important;
  border-inline:0!important;
  border-bottom:1px solid rgba(255,255,255,.09)!important;
  background:var(--coachevo-topbar-solid)!important;
  background-image:none!important;
  box-shadow:0 9px 28px rgba(0,0,0,.30)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  opacity:1!important;
  isolation:isolate!important;
  overflow:visible!important;
}
.app-shell>.topbar::after,.app-shell>.premium-topbar::after,.portal-shell>.portal-topbar::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:var(--coachevo-topbar-solid);
  pointer-events:none;
}
@media (orientation:landscape) and (max-height:620px){
  .app-shell>.topbar,.app-shell>.premium-topbar,.portal-shell>.portal-topbar{width:min(100vw,1024px)!important}
}

.interview-baseline-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  padding:12px;
  border:1px solid var(--sc-line,var(--line));
  border-radius:18px;
  background:var(--sc-surface-2,#f8f4f5);
}
.interview-baseline-summary>div{display:grid;gap:3px;min-width:0}
.interview-baseline-summary span,.nutrition-context-grid span,.nutrition-energy-main>span,.nutrition-energy-mini>span{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--sc-muted,#776970)}
.interview-baseline-summary strong{font-size:17px;color:var(--sc-text,#1d181b)}
.interview-baseline-summary small{font-size:9px;line-height:1.25;color:var(--sc-muted,#776970)}

.nutrition-plan-form{gap:13px}
.nutrition-context-card{
  padding:15px;
  border:1px solid color-mix(in srgb,var(--sc-brand,#d82147) 22%,var(--sc-line,#e5dadd));
  border-radius:20px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand-soft,#fff0f3) 74%,#fff),var(--sc-surface,#fff));
}
.nutrition-context-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.nutrition-context-head h3{margin:2px 0 0}
.nutrition-context-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.nutrition-context-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--sc-line,var(--line));border-radius:14px;background:var(--sc-surface,#fff)}
.nutrition-context-grid strong{font-size:15px;color:var(--sc-text,#1d181b);overflow-wrap:anywhere}
.nutrition-energy-result{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.6fr);gap:10px;padding:14px;border-radius:20px;background:#171216;color:#fff;border:1px solid rgba(255,255,255,.09);box-shadow:0 16px 36px rgba(23,13,17,.14)}
.nutrition-energy-main,.nutrition-energy-mini{display:grid;align-content:center;gap:4px;min-width:0}
.nutrition-energy-main>span,.nutrition-energy-mini>span{color:#d9cbd0}
.nutrition-energy-main strong{font-size:26px;line-height:1;color:#fff}
.nutrition-energy-mini{padding:10px;border-radius:14px;background:rgba(255,255,255,.07)}
.nutrition-energy-mini strong{font-size:18px;color:#fff}
.nutrition-energy-result small{color:#d9cbd0;line-height:1.3}
.nutrition-energy-result>p{grid-column:1/-1;margin:0;padding-top:9px;border-top:1px solid rgba(255,255,255,.08);font-size:9px;line-height:1.35;color:#bdaeb4}
.nutrition-energy-state{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:13px;border-radius:17px;border:1px solid var(--sc-line,var(--line));background:var(--sc-surface-2,#f7f3f4)}
.nutrition-energy-state>span{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--sc-brand-soft,#fff0f3);color:var(--sc-brand,#d82147)}
.nutrition-energy-state>div{display:grid;gap:2px}
.nutrition-energy-state small{color:var(--sc-muted,#776970);line-height:1.35}
.nutrition-energy-state.guarded{background:color-mix(in srgb,var(--sc-warning-soft,#fff6df) 76%,var(--sc-surface,#fff))}
html[data-theme="dark"] .interview-baseline-summary,html[data-theme="dark"] .nutrition-context-card,html[data-theme="dark"] .nutrition-context-grid>div,html[data-theme="dark"] .nutrition-energy-state{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .interview-baseline-summary strong,html[data-theme="dark"] .nutrition-context-grid strong{color:var(--sc-text)!important}
@media(max-width:620px){
  .interview-baseline-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .interview-baseline-summary>div:last-child{grid-column:1/-1}
  .nutrition-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nutrition-energy-result{grid-template-columns:1fr}
  .nutrition-energy-result>p{grid-column:auto}
}

/* CoachEvo 3.67.0 · creador inteligente de comidas */
.nutrition-plan-launch-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--brand) 7%,var(--surface)));box-shadow:var(--shadow-sm)}
.nutrition-plan-launch-card h3{margin:3px 0 4px}.nutrition-plan-launch-card p{margin:0}
.nutrition-builder-hero{overflow:hidden;position:relative}.nutrition-builder-hero:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05);right:-70px;top:-80px;pointer-events:none}
.nutrition-smart-plan-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.nutrition-plan-energy-note{padding:11px 12px;border-radius:14px;background:var(--surface-soft);font-size:13px;line-height:1.45;color:var(--muted)}
.nutrition-smart-meals{display:grid;gap:12px}.nutrition-smart-meal{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.nutrition-smart-meal-head{display:flex;gap:10px;align-items:center}.nutrition-smart-meal-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:var(--brand);color:white;font-weight:800}.nutrition-smart-meal-head div{display:grid;gap:1px}.nutrition-smart-meal-head small{color:var(--muted)}
.nutrition-smart-meal p{margin:0;line-height:1.55}.nutrition-smart-meal textarea{width:100%;resize:vertical;min-height:88px}
.nutrition-substitution-row{display:flex;gap:6px;flex-wrap:wrap}.nutrition-substitution-chip{display:inline-flex;padding:6px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:11px;color:var(--muted);line-height:1.25}
@media(max-width:620px){.nutrition-plan-launch-card{align-items:stretch;flex-direction:column}.nutrition-plan-launch-card .btn{width:100%}.nutrition-smart-plan-card{padding:12px}.nutrition-smart-meal{padding:12px}}

/* CoachEvo 3.68 · creador inteligente de rutinas */
.routine-smart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:11px}
.routine-smart-summary span{padding:10px;border:1px solid rgba(127,51,66,.13);border-radius:14px;background:rgba(255,255,255,.72)}
.routine-smart-summary small,.routine-smart-summary strong{display:block}.routine-smart-summary small{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.routine-smart-summary strong{margin-top:3px;font-size:10px;color:var(--ink)}
.routine-minor-guard,.routine-evidence-note{margin-top:10px}.routine-evidence-note{background:linear-gradient(135deg,rgba(127,51,66,.08),rgba(255,255,255,.95));border-color:rgba(127,51,66,.16)}
@media(max-width:640px){.routine-smart-summary{grid-template-columns:1fr}.routine-smart-summary span{padding:9px 10px}}

/* CoachEvo 3.69 · motor fisiológico de rutinas */
.assistant-physiology-details{margin-top:10px;border-top:1px solid var(--line,rgba(0,0,0,.08));padding-top:8px}
.assistant-physiology-details summary,.routine-physiology-card details summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:8px}
.routine-physiology-card{display:grid;gap:14px}
.routine-physiology-card .routine-smart-summary{margin-top:0}
.routine-volume-grid{display:flex;flex-wrap:wrap;gap:8px}
.routine-physiology-card details{border-top:1px solid var(--line,rgba(0,0,0,.08));padding-top:10px}
.routine-physiology-card .stack.compact{gap:6px;margin-top:8px}

/* CoachEvo 3.70 · ajuste continuo */
.adaptive-coaching-card{display:grid;gap:14px}
.adaptive-exercise-list{display:grid;gap:9px}
.adaptive-coaching-card .training-load-flag{margin:0}
.adaptive-coaching-card details{border-top:1px solid var(--line,rgba(125,125,125,.18));padding-top:10px}
.adaptive-coaching-card details summary{cursor:pointer;font-weight:800;display:flex;align-items:center;gap:8px}
@media(max-width:640px){.adaptive-coaching-card .routine-smart-summary{grid-template-columns:1fr 1fr}.adaptive-coaching-card .routine-smart-summary span:last-child{grid-column:1/-1}}

/* CoachEvo v3.71 · motor adaptativo avanzado */
.coach-evo-index{display:grid;grid-template-columns:auto 1fr;gap:10px 14px;align-items:center;padding:12px 14px;border:1px solid rgba(127,51,66,.16);border-radius:16px;background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(247,241,243,.76))}
.coach-evo-index>div:first-child{display:flex;align-items:baseline;gap:2px;min-width:62px}.coach-evo-index-score{font-size:28px;line-height:1;font-weight:900;letter-spacing:-.04em;color:var(--ink)}.coach-evo-index small{font-size:9px;color:var(--muted);font-weight:800}.coach-evo-index strong{display:block;font-size:12px}.coach-evo-index p{margin:3px 0 0;font-size:9px;color:var(--muted)}
.coach-evo-index-meter{grid-column:1/-1;height:6px;border-radius:999px;background:rgba(127,51,66,.10);overflow:hidden}.coach-evo-index-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand,#9b2639),#d65767)}
.coach-evo-index.warning .coach-evo-index-meter span{background:linear-gradient(90deg,#b56d24,#d5a24f)}.coach-evo-index.success .coach-evo-index-meter span{background:linear-gradient(90deg,#2f7d66,#5fb69a)}
.routine-smart-summary.adaptive-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.adaptive-periodization{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:11px 12px;border:1px solid rgba(127,51,66,.12);border-radius:14px;background:rgba(255,255,255,.62)}.adaptive-periodization>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:rgba(127,51,66,.08)}.adaptive-periodization strong{font-size:11px}.adaptive-periodization p{margin:3px 0;font-size:10px;color:var(--ink)}.adaptive-periodization small{display:block;font-size:8px;color:var(--muted)}
.adaptive-volume-grid{margin-top:10px}.adaptive-volume-grid .chip{white-space:normal;line-height:1.25}
@media(max-width:760px){.routine-smart-summary.adaptive-four{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.coach-evo-index{grid-template-columns:auto 1fr}.routine-smart-summary.adaptive-four{grid-template-columns:1fr}.adaptive-periodization{grid-template-columns:1fr}.adaptive-periodization>span{display:none}}

/* CoachEvo v3.72 · inteligencia unificada de programación */
.adaptive-intelligence-v3{overflow:hidden}
.adaptive-audit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.adaptive-audit-grid article{display:grid;gap:4px;padding:11px;border:1px solid var(--line,rgba(125,125,125,.16));border-radius:14px;background:var(--surface-soft,rgba(255,255,255,.62))}
.adaptive-audit-grid small{font-size:8px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted)}
.adaptive-audit-grid strong{font-size:11px;color:var(--ink)}
.adaptive-audit-grid span{font-size:9px;line-height:1.35;color:var(--muted)}
.adaptive-safety-gate{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:12px;border-radius:15px;border:1px solid var(--line);background:var(--surface-soft)}
.adaptive-safety-gate>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(183,121,31,.12)}
.adaptive-safety-gate.blocked{border-color:rgba(183,121,31,.35);background:rgba(183,121,31,.08)}
.adaptive-safety-gate.guarded{border-color:rgba(127,51,66,.18)}
.adaptive-safety-gate p{margin:3px 0;font-size:10px;line-height:1.4}.adaptive-safety-gate small{font-size:8px;color:var(--muted)}
.adaptive-balance-grid,.muscle-recovery-grid,.adaptive-simulation-grid{display:grid;gap:8px;margin-top:10px}
.adaptive-balance-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.adaptive-balance-row small{grid-column:1/-1;color:var(--muted);line-height:1.35}.adaptive-balance-row.review,.adaptive-balance-row.missing{border-color:rgba(183,121,31,.28)}
.muscle-recovery-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.muscle-recovery-row span:first-child{display:grid;gap:2px}.muscle-recovery-row span:first-child small{color:var(--muted);font-size:8px}.muscle-recovery-row p{grid-column:1/-1;margin:0;font-size:9px;line-height:1.4;color:var(--muted)}
.muscle-recovery-row.review_required,.muscle-recovery-row.recover{border-color:rgba(183,121,31,.3)}
.adaptive-substitution-item{padding:9px 0;border-bottom:1px solid var(--line)}.adaptive-substitution-item:last-child{border-bottom:0}
.adaptive-alt-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.adaptive-alt-list .chip{white-space:normal}
.adaptive-simulation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.adaptive-simulation-grid>div{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.adaptive-simulation-grid span{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase}.adaptive-simulation-grid strong{font-size:10px}.adaptive-simulation-grid small{font-size:8px;color:var(--muted)}.adaptive-simulation-grid p{margin:4px 0 0;font-size:9px;line-height:1.35}
.routine-time-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0}.routine-time-grid span{display:grid;gap:2px;padding:8px;border-radius:12px;background:var(--surface-soft);border:1px solid var(--line)}.routine-time-grid small{font-size:8px;color:var(--muted)}.routine-time-grid strong{font-size:10px}
.progress-weekly-insights{display:grid;gap:12px}.progress-weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.progress-weekly-grid article{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}.progress-weekly-grid article>span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(127,51,66,.08)}.progress-weekly-grid small,.progress-weekly-grid strong{display:block}.progress-weekly-grid small{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:800}.progress-weekly-grid strong{margin-top:2px;font-size:12px}.progress-weekly-grid p{margin:4px 0 0;font-size:9px;line-height:1.4;color:var(--muted)}.progress-weekly-grid article.warning{border-color:rgba(183,121,31,.28)}
@media(max-width:820px){.adaptive-audit-grid{grid-template-columns:1fr 1fr}.adaptive-simulation-grid{grid-template-columns:1fr 1fr}.progress-weekly-grid{grid-template-columns:1fr}.routine-time-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.adaptive-audit-grid,.adaptive-simulation-grid,.routine-time-grid{grid-template-columns:1fr}.adaptive-balance-row,.muscle-recovery-row{grid-template-columns:1fr}.muscle-recovery-row p,.adaptive-balance-row small{grid-column:auto}}

/* CoachEvo 3.73 · planificación por macrociclo */
.macrocycle-card{display:grid;gap:14px;overflow:hidden}
.macrocycle-methods{display:flex;gap:8px;flex-wrap:wrap}
.macrocycle-timeline{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);gap:10px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x proximity}
.macrocycle-week{position:relative;display:grid;gap:5px;min-height:112px;padding:13px;border:1px solid var(--border,#e7e8ec);border-radius:16px;background:var(--card,#fff);scroll-snap-align:start}
.macrocycle-week>span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#72757e)}
.macrocycle-week>strong{font-size:14px;line-height:1.2}
.macrocycle-week>small{font-size:11px;line-height:1.4;color:var(--muted,#72757e)}
.macrocycle-week.current{border-color:rgba(201,34,54,.45);box-shadow:0 0 0 2px rgba(201,34,54,.08) inset}
.macrocycle-week.current:before{content:"Actual";position:absolute;top:10px;right:10px;padding:3px 7px;border-radius:999px;background:rgba(201,34,54,.11);color:var(--brand,#c92236);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.macrocycle-week.deload{background:linear-gradient(145deg,rgba(124,58,237,.08),rgba(255,255,255,.94));border-color:rgba(124,58,237,.2)}
[data-theme="dark"] .macrocycle-week,.dark .macrocycle-week{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .macrocycle-week.deload,.dark .macrocycle-week.deload{background:linear-gradient(145deg,rgba(124,58,237,.16),rgba(255,255,255,.04))}
@media(max-width:640px){.macrocycle-timeline{grid-auto-columns:minmax(138px,76vw)}.macrocycle-week{min-height:106px}}

/* CoachEvo 3.74 · ciclo vivo */
.cycle-live-card{display:grid;gap:14px;overflow:hidden}
.cycle-live-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cycle-live-metrics>span{display:flex;flex-direction:column;gap:3px;padding:11px 12px;border-radius:16px;background:var(--surface-soft,#f6f3f5);border:1px solid var(--line,#ece5e9)}
.cycle-live-metrics small{font-size:11px;color:var(--muted,#786f75)}
.cycle-live-metrics strong{font-size:17px;line-height:1.1}
.cycle-live-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}
.cycle-live-week{flex:0 0 116px;display:flex;flex-direction:column;gap:4px;padding:10px 11px;border-radius:16px;border:1px solid var(--line,#ece5e9);background:var(--surface,#fff);scroll-snap-align:start;min-height:86px}
.cycle-live-week>span{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#786f75)}
.cycle-live-week strong{font-size:13px;line-height:1.2}
.cycle-live-week small{font-size:11px;line-height:1.3;color:var(--muted,#786f75)}
.cycle-live-week.current{border-color:rgba(213,33,64,.42);box-shadow:0 0 0 2px rgba(213,33,64,.08);background:linear-gradient(180deg,rgba(213,33,64,.08),rgba(213,33,64,.02))}
.cycle-live-week.completed{border-color:rgba(38,148,117,.28);background:rgba(38,148,117,.07)}
.cycle-live-week.partial,.cycle-live-week.missed,.cycle-live-week.review{border-color:rgba(195,127,24,.30);background:rgba(195,127,24,.07)}
.cycle-live-week.upcoming{opacity:.72}
.cycle-live-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:4px;border-top:1px solid var(--line,#ece5e9)}
.cycle-live-footer>div{min-width:0}
.cycle-live-footer p{margin:3px 0;font-size:13px;color:var(--muted,#786f75)}
.cycle-live-footer small{font-size:11px;color:var(--muted,#786f75)}
@media(max-width:700px){.cycle-live-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-live-footer{align-items:stretch;flex-direction:column}.cycle-live-footer .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.cycle-live-strip{scroll-behavior:auto}.cycle-live-week{transition:none!important}}

/* CoachEvo 3.74 · auditor nutricional y compras */
.nutrition-plan-audit{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:12px 14px;border-radius:18px;border:1px solid rgba(37,148,117,.24);background:rgba(37,148,117,.07)}
.nutrition-plan-audit.warning{border-color:rgba(195,127,24,.28);background:rgba(195,127,24,.08)}
.nutrition-plan-audit>div:first-child{display:flex;align-items:baseline;gap:2px;min-width:62px}.nutrition-plan-audit>div:first-child span{font-size:26px;font-weight:800}.nutrition-plan-audit small{color:var(--muted,#786f75)}
.nutrition-plan-audit p{margin:3px 0 0;font-size:12px;color:var(--muted,#786f75)}
.nutrition-plan-audit-details,.nutrition-shopping-list{border-top:1px solid var(--line,#ece5e9);padding-top:10px}
.nutrition-plan-audit-details summary,.nutrition-shopping-list summary{cursor:pointer;font-weight:750;display:flex;align-items:center;gap:8px}
.nutrition-shopping-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}
.nutrition-shopping-groups>div{display:flex;flex-direction:column;gap:6px;padding:11px 12px;border:1px solid var(--line,#ece5e9);border-radius:16px;background:var(--surface-soft,#f7f4f6)}
.nutrition-shopping-groups>div>strong{font-size:12px}.nutrition-shopping-groups span{font-size:12px;display:flex;justify-content:space-between;gap:6px}.nutrition-shopping-groups span small{font-size:10px;color:var(--muted,#786f75)}
@media(max-width:640px){.nutrition-shopping-groups{grid-template-columns:1fr}}

/* CoachEvo 3.75 · continuidad del expediente y control previo */
.client-continuity-card,.program-preflight-card{display:grid;gap:14px;overflow:hidden}
.client-continuity-card{position:relative}.client-continuity-card:after{content:"";position:absolute;right:-58px;top:-76px;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(213,33,64,.10),transparent 68%);pointer-events:none}
.continuity-score,.program-preflight-score{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:end;column-gap:2px;min-width:78px;position:relative;z-index:1}
.continuity-score strong,.program-preflight-score strong{font-size:29px;line-height:1;font-weight:900;letter-spacing:-.045em;color:var(--ink)}
.continuity-score>span,.program-preflight-score>span{font-size:11px;font-weight:800;color:var(--muted)}
.continuity-score small{grid-column:1/-1;text-align:right;margin-top:3px;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.continuity-modules,.program-preflight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:relative;z-index:1}
.continuity-module,.program-preflight-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.continuity-module>span,.program-preflight-item>span{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(127,51,66,.08);color:var(--brand)}
.continuity-module>div,.program-preflight-item>div{min-width:0;display:grid;gap:2px}.continuity-module strong,.program-preflight-item strong{font-size:11px;line-height:1.25}.continuity-module small,.program-preflight-item small{font-size:9px;line-height:1.4;color:var(--muted)}
.continuity-module .chip{font-style:normal;white-space:nowrap}.continuity-module.ready{border-color:rgba(38,148,117,.24)}.continuity-module.ready>span{background:rgba(38,148,117,.10);color:#25785f}.continuity-module.partial,.continuity-module.missing{border-color:rgba(195,127,24,.22)}
.continuity-next{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid rgba(127,51,66,.14);border-radius:16px;background:linear-gradient(135deg,rgba(127,51,66,.07),var(--surface-soft));position:relative;z-index:1}.continuity-next>span{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:rgba(127,51,66,.09);color:var(--brand)}.continuity-next>div{display:grid;gap:2px}.continuity-next strong{font-size:11px}.continuity-next small{font-size:9px;line-height:1.4;color:var(--muted)}
.program-preflight-item{grid-template-columns:auto minmax(0,1fr)}.program-preflight-item.ok>span{background:rgba(38,148,117,.10);color:#25785f}.program-preflight-item.issue{border-color:rgba(195,127,24,.28);background:rgba(195,127,24,.06)}.program-preflight-item.issue>span{background:rgba(195,127,24,.12);color:#9a6518}
.program-preflight-card.warning{border-color:rgba(195,127,24,.24)}.program-preflight-card.success{border-color:rgba(38,148,117,.22)}
@media(max-width:700px){.continuity-modules,.program-preflight-grid{grid-template-columns:1fr}.continuity-next{grid-template-columns:auto 1fr}.continuity-next .btn{grid-column:1/-1;width:100%}}
@media(max-width:420px){.continuity-score strong,.program-preflight-score strong{font-size:25px}.client-continuity-card,.program-preflight-card{gap:12px}}

/* CoachEvo 3.76 · conocimiento aplicado, comparación y guía de sesión */
.program-knowledge-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}
.program-knowledge-entry h2,.program-knowledge-summary h2,.client-response-profile h2{margin:3px 0 5px}
.program-knowledge-summary{border:1px solid color-mix(in srgb,var(--brand,#d83a45) 18%,var(--border,#d9d9df));background:linear-gradient(145deg,color-mix(in srgb,var(--surface,#fff) 92%,#7b1f2a 8%),var(--surface,#fff))}
.response-profile-grid,.variant-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:12px}
.response-profile-grid span,.variant-metrics span{display:flex;flex-direction:column;gap:2px;padding:10px 11px;border-radius:14px;background:var(--surface-soft,#f6f5f7);border:1px solid var(--border,#e4e2e6)}
.response-profile-grid strong,.variant-metrics b{font-size:1rem}.response-profile-grid small,.variant-metrics small{font-size:.72rem;color:var(--muted,#6f6a74)}
.intelligence-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.program-intelligence-center>section{display:grid;gap:12px}
.program-variant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.program-variant-card{padding:16px;border-radius:19px;border:1px solid var(--border,#dedce1);background:var(--surface,#fff);box-shadow:0 8px 26px rgba(20,18,22,.06)}
.program-variant-card.base{background:linear-gradient(150deg,color-mix(in srgb,var(--surface,#fff) 92%,#1f8b73 8%),var(--surface,#fff))}
.program-variant-card h3{margin:6px 0 0}.program-variant-card>p{min-height:54px;margin:12px 0}.program-variant-card>.btn{width:100%}
.knowledge-case-list{display:grid;gap:11px;margin-top:13px}.knowledge-case{padding:14px;border:1px solid var(--border,#e1dfe4);border-radius:17px;background:var(--surface-soft,#f8f7f9)}
.knowledge-case h3{margin:6px 0 3px}.knowledge-case .variant-metrics{grid-template-columns:repeat(4,minmax(0,1fr));margin:10px 0}.knowledge-case .row.wrap{margin-top:10px}
.knowledge-library-grid{display:grid;gap:10px}.knowledge-library-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;text-align:left;border:1px solid var(--border,#e2dfe4);background:var(--surface,#fff);border-radius:17px;padding:13px;color:inherit}.knowledge-library-card>span:nth-child(2){display:grid;gap:3px}.knowledge-library-card em{font-style:normal;color:var(--muted,#716c75);font-size:.78rem}
.workout-guidance{margin-top:12px;border-left:4px solid color-mix(in srgb,var(--brand,#d83a45) 70%,transparent)}.workout-guidance.success{border-left-color:#268c69}.workout-guidance.warning{border-left-color:#c98a22}.workout-guidance p{margin:5px 0 0}.workout-guidance-watch{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding-top:11px;border-top:1px solid var(--border,#dfdde2)}.workout-guidance-watch span{display:grid;gap:2px}.workout-guidance-watch strong{font-size:.78rem}.workout-guidance-watch span{font-size:.82rem}
@media(max-width:760px){.program-knowledge-entry,.intelligence-hero{align-items:stretch;flex-direction:column}.program-knowledge-entry .btn{width:100%}.program-variant-grid{grid-template-columns:1fr}.response-profile-grid,.variant-metrics,.knowledge-case .variant-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-library-card{grid-template-columns:auto 1fr}.knowledge-library-card>svg{display:none}}

/* CoachEvo 3.77 · preparación por patrón y edición profesional */
.warmup-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(13,148,136,.10);border:1px solid rgba(13,148,136,.22);color:var(--teal,#a64155);font-weight:800;font-size:.72rem}
.exercise-warmup-note{display:grid;gap:4px;margin-top:9px;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,rgba(13,148,136,.08),rgba(255,255,255,.02));border:1px solid rgba(13,148,136,.18)}
.exercise-warmup-note strong{font-size:.78rem;color:var(--text,#201a1d)}
.exercise-warmup-note span,.exercise-warmup-note small{font-size:.72rem;color:var(--muted,#746a6e);line-height:1.35}
.approximation-plan-card{display:grid;gap:12px;margin:14px 0;padding:16px;border-radius:20px;border:1px solid rgba(13,148,136,.18);background:linear-gradient(145deg,rgba(13,148,136,.08),rgba(255,255,255,.45))}
.approximation-plan-card h3{margin:2px 0 4px}.approximation-plan-list{display:grid;gap:8px}
.approximation-plan-list article{display:grid;grid-template-columns:minmax(140px,.8fr) minmax(140px,.9fr) minmax(220px,1.6fr);gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--surface,#fff);border:1px solid var(--line,rgba(56,44,49,.10))}
.approximation-plan-list article strong{font-size:.78rem}.approximation-plan-list article span,.approximation-plan-list article small{font-size:.74rem;color:var(--muted,#746a6e)}
.workout-approximation{display:grid;gap:10px;margin:14px 0;padding:14px;border-radius:18px;background:rgba(13,148,136,.08);border:1px solid rgba(13,148,136,.20)}
.workout-approximation h3{margin:2px 0}.workout-approximation-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.workout-approximation-sets span{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:10px 11px;border-radius:13px;background:var(--surface,#fff);border:1px solid var(--line,rgba(56,44,49,.10))}
.workout-approximation-sets b{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(13,148,136,.12);color:var(--teal,#a64155)}
.workout-approximation-sets strong{font-size:.8rem}.workout-approximation-sets small{font-size:.7rem;color:var(--muted,#746a6e);line-height:1.25}
[data-theme="dark"] .exercise-warmup-note,[data-theme="dark"] .approximation-plan-card,[data-theme="dark"] .workout-approximation{background:rgba(13,148,136,.10)}
[data-theme="dark"] .exercise-warmup-note strong{color:var(--text,#f7f3f5)}
@media(max-width:720px){.approximation-plan-list article{grid-template-columns:1fr;gap:4px}.workout-approximation-sets{grid-template-columns:1fr}}
.workout-approximation.completed{border-color:rgba(38,148,117,.34);background:rgba(38,148,117,.09)}
.workout-approximation.completed .workout-approximation-sets{opacity:.82}
@media(max-width:620px){.workout-approximation>.row.between{align-items:stretch;flex-direction:column}.workout-approximation>.row.between .btn{width:100%}}

/* CoachEvo 3.78 · experiencia diaria de sesión */
.workout-readiness-card{display:grid;gap:14px;border-width:1px}
.workout-readiness-card.success{background:linear-gradient(180deg,#f5fbf8,#fff);border-color:rgba(32,128,91,.2)}
.workout-readiness-card.warning{background:linear-gradient(180deg,#fff9ee,#fff);border-color:rgba(181,120,24,.22)}
.workout-readiness-card.blue{background:linear-gradient(180deg,#f7f8fb,#fff)}
.workout-readiness-card textarea{width:100%;margin-top:8px;min-height:64px;resize:vertical}
.workout-readiness-compact{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid var(--line)}
.workout-readiness-compact>span{grid-row:1/3}.workout-readiness-compact small{color:var(--muted)}
.session-insight-card{display:grid;gap:9px}.session-insight-card h2{margin:0}.session-insight-card.success{border-color:rgba(32,128,91,.2)}.session-insight-card.warning{border-color:rgba(181,120,24,.22)}
html[data-theme="dark"] .workout-readiness-card,html[data-theme="dark"] .workout-readiness-compact,html[data-theme="dark"] .session-insight-card{background:var(--surface);border-color:var(--line)}
@media(max-width:520px){.workout-readiness-card .debrief-options.two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* === CoachEvo 3.79.0 · escritura móvil estable y teclado predecible === */
:root{
  --keyboard-inset:0px;
  --keyboard-safe-space:24px;
}

/* Las áreas de texto crecen hacia abajo; el usuario ya no puede arrastrarlas accidentalmente. */
textarea:not([data-chat-text]){
  resize:none!important;
  overflow-y:hidden;
  transition:border-color 120ms ease,box-shadow 120ms ease,background-color 120ms ease;
}
textarea:not([data-chat-text])[data-autogrow-ready="1"]{min-height:82px}

/* Un foco sutil ayuda a seguir escribiendo sin mover el formulario. */
.form-field-active{
  position:relative;
  z-index:1;
}
.form-field-active :where(input,textarea,select){
  border-color:color-mix(in srgb,var(--sc-brand,#d62246) 48%,var(--sc-line,#ddd5d7))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-brand,#d62246) 10%,transparent)!important;
}

/* Reserva únicamente el espacio que necesita el teclado; evita saltos hasta el inicio de la pantalla. */
body.keyboard-open :where(.screen,.portal-screen){
  padding-bottom:max(24px,var(--keyboard-safe-space))!important;
  scroll-padding-top:86px;
  scroll-padding-bottom:26px;
}
body.keyboard-open .modal:not(.workout-modal),
body.keyboard-open .program-builder-modal>.program-builder{
  padding-bottom:max(calc(28px + var(--safe-bottom)),var(--keyboard-safe-space))!important;
  scroll-padding-top:74px;
  scroll-padding-bottom:24px;
}
body.keyboard-open :where(input,textarea,select,[contenteditable="true"]){
  scroll-margin-top:88px;
  scroll-margin-bottom:28px;
}

/* Evita el zoom automático de iOS al entrar en formularios y mantiene el cursor estable. */
@media(max-width:699px){
  :where(.field,.interview-question,.assessment-form,.modal form[data-form]) :where(input:not(.set-input),select,textarea){
    font-size:16px!important;
    line-height:1.35;
  }
  .interview-question{scroll-margin-top:88px}
  .interview-form{overscroll-behavior-y:contain}
  .field textarea,.interview-question textarea{min-height:88px}
}

/* El campo activo queda visible, pero sin animaciones que empujen toda la tarjeta. */
@media(prefers-reduced-motion:reduce){
  textarea:not([data-chat-text]),.form-field-active :where(input,textarea,select){transition:none!important}
}

/* === CoachEvo 3.80.0 · auditoría integral del modo oscuro ===
   Contrato: ninguna superficie funcional puede heredar fondos claros en tema oscuro.
   Las reglas viven al final para neutralizar estilos históricos y módulos añadidos después
   del sistema cromático original. */
html[data-theme="dark"]{
  --sc-dark-panel:#171419;
  --sc-dark-panel-2:#1f1b20;
  --sc-dark-panel-3:#292329;
  --sc-dark-input:#100e11;
  --sc-dark-hover:#2c262c;
  --sc-dark-soft-text:#c8bdc2;
  --sc-dark-faint-text:#9f949a;
  --sc-dark-edge:#40373d;
}

/* Texto y superficies: contrato de legibilidad transversal. */
html[data-theme="dark"] :where(
  .universal-search-head,.universal-section,.universal-result,.universal-tool,
  .coach-evo-index,.routine-smart-summary span,.adaptive-periodization,.adaptive-audit-grid article,
  .adaptive-safety-gate,.adaptive-balance-row,.muscle-recovery-row,.adaptive-simulation-grid>div,
  .routine-time-grid span,.progress-weekly-grid article,.cycle-live-metrics>span,
  .nutrition-shopping-groups>div,.continuity-module,.program-preflight-item,.continuity-next,
  .response-profile-grid span,.variant-metrics span,.program-variant-card,.knowledge-case,
  .knowledge-library-card,.approximation-plan-list article,.workout-approximation-sets span,
  .portal-training-preview,.portal-next-session,.portal-day-card,.portal-training-stats span,
  .portal-day-stats span,.portal-wellness-strip span,.interview-section-chip,
  .workout-readiness-card,.workout-readiness-compact,.session-insight-card
){
  color:var(--sc-text)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none;
}
html[data-theme="dark"] :where(
  .universal-result,.universal-tool,.coach-evo-index,.routine-smart-summary span,
  .adaptive-periodization,.adaptive-audit-grid article,.adaptive-safety-gate,
  .adaptive-balance-row,.muscle-recovery-row,.adaptive-simulation-grid>div,
  .routine-time-grid span,.progress-weekly-grid article,.cycle-live-metrics>span,
  .nutrition-shopping-groups>div,.continuity-module,.program-preflight-item,
  .response-profile-grid span,.variant-metrics span,.program-variant-card,.knowledge-case,
  .knowledge-library-card,.approximation-plan-list article,.workout-approximation-sets span,
  .portal-training-stats span,.portal-day-stats span,.portal-wellness-strip span
){background:var(--sc-surface-2)!important}

/* Buscador universal: elimina el degradado blanco y conserva una sola jerarquía oscura. */
html[data-theme="dark"] .universal-search-head{
  margin:-2px -1px 14px;
  padding:2px 1px 13px;
  background:linear-gradient(180deg,var(--sc-dark-input) 78%,color-mix(in srgb,var(--sc-dark-input) 0%,transparent))!important;
}
html[data-theme="dark"] .universal-search-head .search{
  padding:0!important;
  border-radius:18px;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}
html[data-theme="dark"] .universal-search-head .search input,
html[data-theme="dark"] #global-search{
  min-height:58px;
  color:var(--sc-text)!important;
  background:var(--sc-dark-input)!important;
  border:1px solid var(--sc-line-strong)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  -webkit-appearance:none;
  appearance:none;
}
html[data-theme="dark"] .universal-search-head .search input::placeholder{color:#8f8389!important;opacity:1}
html[data-theme="dark"] .universal-search-head .search>span{color:#d86b7d!important}
html[data-theme="dark"] .universal-search-head>p{margin:7px 2px 0;color:var(--sc-muted)!important;background:transparent!important;text-shadow:none!important}
html[data-theme="dark"] .universal-section{border-top-color:var(--sc-line)!important;background:transparent!important}
html[data-theme="dark"] .universal-result:hover,
html[data-theme="dark"] .universal-result:focus-visible,
html[data-theme="dark"] .universal-tool:hover,
html[data-theme="dark"] .universal-tool:focus-visible{background:var(--sc-dark-hover)!important;border-color:#67525b!important}
html[data-theme="dark"] .universal-result strong,
html[data-theme="dark"] .universal-tool strong,
html[data-theme="dark"] .universal-section-head h3{color:var(--sc-text)!important}
html[data-theme="dark"] .universal-result small,
html[data-theme="dark"] .universal-tool small{color:var(--sc-muted)!important}
html[data-theme="dark"] .universal-result>svg{color:#d7ccd1}

/* Motor inteligente: el índice y métricas dejan de parecer tarjetas del tema claro. */
html[data-theme="dark"] .coach-evo-index{
  background:linear-gradient(135deg,#251e23,#1a161a)!important;
  border-color:#473942!important;
}
html[data-theme="dark"] .coach-evo-index-score,
html[data-theme="dark"] .coach-evo-index strong,
html[data-theme="dark"] .routine-smart-summary strong,
html[data-theme="dark"] .adaptive-periodization :where(strong,p),
html[data-theme="dark"] .adaptive-audit-grid strong{color:var(--sc-text)!important}
html[data-theme="dark"] .coach-evo-index :where(small,p),
html[data-theme="dark"] .routine-smart-summary small,
html[data-theme="dark"] .adaptive-periodization small,
html[data-theme="dark"] .adaptive-audit-grid :where(small,span){color:var(--sc-muted)!important}
html[data-theme="dark"] .coach-evo-index-meter{background:#3b3036!important}
html[data-theme="dark"] .routine-smart-summary span{background:#262126!important;border-color:#42383e!important}
html[data-theme="dark"] .adaptive-periodization{background:#211c20!important}
html[data-theme="dark"] .adaptive-periodization>span{color:var(--sc-brand-bright);background:#351a22!important}
html[data-theme="dark"] .adaptive-audit-grid article{background:#1e1a1e!important}

/* Entrevista: pestañas legibles, porcentajes alineados y títulos sin cortes extraños. */
.interview-section-chip{
  display:grid;
  grid-template-columns:24px minmax(94px,1fr) auto;
  align-items:center;
  column-gap:8px;
  min-width:156px;
  line-height:1.18;
}
.interview-section-chip>span{margin:0!important;font-size:10px!important;text-align:center}
.interview-section-chip>strong{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:none;font-size:10px;line-height:1.18}
.interview-section-chip>small{margin:0!important;white-space:nowrap;font-size:9px}
html[data-theme="dark"] .interview-section-chip{background:#191519!important;border-color:#3c3339!important;color:var(--sc-muted)!important}
html[data-theme="dark"] .interview-section-chip strong{color:#d9cfd4!important}
html[data-theme="dark"] .interview-section-chip.active{color:#fff!important;background:linear-gradient(145deg,#332028,#231b20)!important;border-color:#8a4250!important;box-shadow:0 8px 20px rgba(0,0,0,.22)}
html[data-theme="dark"] .interview-section-chip.active strong{color:#fff!important}
html[data-theme="dark"] .interview-section-chip.done{border-color:#315c4c!important}
@media(max-width:560px){.interview-section-chip{min-width:154px;padding:9px 10px}}

/* Portal/plan del cliente: estadísticas, anillo semanal y estados completados en tema oscuro real. */
html[data-theme="dark"] .portal-training-preview,
html[data-theme="dark"] .portal-next-session,
html[data-theme="dark"] .portal-day-card{
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface))!important;
  border-color:var(--sc-line)!important;
}
html[data-theme="dark"] .portal-day-card.completed{
  background:linear-gradient(180deg,#17221d,var(--sc-surface))!important;
  border-color:#315848!important;
}
html[data-theme="dark"] .portal-week-orbit{
  color:var(--sc-text)!important;
  background:radial-gradient(circle at center,var(--sc-surface) 57%,transparent 58%),conic-gradient(var(--sc-brand) var(--portal-week-progress),#3a3338 0)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .portal-week-orbit small{color:var(--sc-muted)!important}
html[data-theme="dark"] .portal-training-stats span,
html[data-theme="dark"] .portal-day-stats span{background:#242024!important;border-color:#40373c!important}
html[data-theme="dark"] .portal-training-stats strong,
html[data-theme="dark"] .portal-day-stats strong{color:#fff!important}
html[data-theme="dark"] .portal-training-stats small,
html[data-theme="dark"] .portal-day-stats small{color:#b6aab0!important}
html[data-theme="dark"] .portal-wellness-strip span{color:#d9ced3!important;background:#262126!important}
html[data-theme="dark"] .portal-wellness-strip .success{color:#9de1c1!important;background:#163126!important}
html[data-theme="dark"] .portal-wellness-strip .danger{color:#ff9aaa!important;background:#381821!important}

/* Modal y sesión guiada: cabecera opaca, sin contenido asomándose detrás. */
html[data-theme="dark"] .modal,
html[data-theme="dark"] .workout-modal{background:#0f0d10!important;color:var(--sc-text)!important}
html[data-theme="dark"] .modal-head,
html[data-theme="dark"] .workout-modal>.modal-head{
  isolation:isolate;
  background:#100e11!important;
  border-bottom:1px solid #3a3137!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24)!important;
  backdrop-filter:none!important;
}
html[data-theme="dark"] .workout-modal>.modal-head::after{
  content:"";position:absolute;left:0;right:0;bottom:-10px;height:10px;
  background:linear-gradient(180deg,rgba(15,13,16,.94),rgba(15,13,16,0));pointer-events:none
}
html[data-theme="dark"] .workout-modal .workout-shell{position:relative;z-index:1}
html[data-theme="dark"] .workout-command-dock{background:linear-gradient(180deg,#171318,#121013)!important;border-color:#3e343a!important;box-shadow:0 -12px 30px rgba(0,0,0,.28)!important}
html[data-theme="dark"] .debrief-choice,
html[data-theme="dark"] .debrief-energy button{color:var(--sc-text)!important;background:#1d191d!important;border-color:#453940!important}
html[data-theme="dark"] .debrief-choice.active,
html[data-theme="dark"] .debrief-energy button.active{background:#3b1c25!important;border-color:#a74256!important;color:#fff!important}

/* Continuidad y nuevas capas recientes: tonos de estado específicos sin perder legibilidad. */
html[data-theme="dark"] .continuity-next{background:linear-gradient(135deg,#281820,#1d191d)!important;border-color:#4a3039!important}
html[data-theme="dark"] .continuity-module.ready>span,
html[data-theme="dark"] .program-preflight-item.ok>span{color:#85d9b2!important;background:#173125!important}
html[data-theme="dark"] .program-preflight-item.issue{background:#2c2315!important;border-color:#5c4723!important}
html[data-theme="dark"] .program-preflight-item.issue>span{color:#ffd48a!important;background:#3a2b16!important}
html[data-theme="dark"] .program-knowledge-summary,
html[data-theme="dark"] .program-variant-card.base{background:linear-gradient(145deg,#26191f,var(--sc-surface))!important;border-color:var(--sc-line)!important}

/* Protege las tarjetas añadidas después del bloque cromático original frente a blancos heredados. */
html[data-theme="dark"] :where(.card,.modal,.screen,.portal-screen) :where(h1,h2,h3,h4,strong){text-shadow:none}
html[data-theme="dark"] :where(.card:not(.dark),.modal,.screen,.portal-screen) :where(p,small,.muted){text-shadow:none}
html[data-theme="dark"] :where(.card:not(.dark),.modal) :where(p,.small,.micro,.muted){color:var(--sc-muted)}
html[data-theme="dark"] :where(.card:not(.dark),.modal) :where(h1,h2,h3,h4,strong,.list-title){color:var(--sc-text)}

/* Evita halos claros accidentales en elementos interactivos del modo oscuro. */
html[data-theme="dark"] :where(input,textarea,select,button,.card,.modal,.universal-result,.universal-tool){-webkit-tap-highlight-color:transparent}
html[data-theme="dark"] :where(input,textarea,select):focus{background:#141115!important}
html[data-theme="dark"] :where(.universal-result,.universal-tool,.portal-training-stats span,.portal-day-stats span,.routine-smart-summary span){filter:none!important}

/* En pantallas pequeñas prioriza aire y evita que porcentajes/títulos invadan el contenido. */
@media(max-width:430px){
  .routine-smart-summary.adaptive-four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .routine-smart-summary.adaptive-four span{min-height:76px;padding:12px}
  .coach-evo-index{grid-template-columns:78px minmax(0,1fr);gap:10px 12px;padding:14px}
  .coach-evo-index-score{font-size:30px}
  .portal-training-stats span,.portal-day-stats span{padding:12px 8px}
}

/* v3.81.0 · creador y editor de rutinas compactos: lo esencial primero */
.compact-plan-create{gap:10px}
.plan-create-intro.compact{padding:14px 15px;gap:9px}
.plan-create-intro.compact h2{font-size:20px;line-height:1.15;margin:1px 0 3px}
.plan-create-intro.compact p{max-width:62ch;margin:0}
.compact-plan-create .plan-create-steps{grid-template-columns:repeat(3,max-content);justify-content:start;gap:6px}
.compact-plan-create .plan-create-steps span{min-height:30px;padding:5px 8px;border-radius:10px}
.compact-plan-create .plan-create-steps b{width:18px;height:18px;border-radius:6px}
.compact-section{padding:13px 14px;gap:9px}
.compact-head{grid-template-columns:30px minmax(0,1fr)}
.compact-head>span{width:30px;height:30px;border-radius:10px}
.compact-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.compact-choice-grid .plan-choice{grid-template-columns:27px minmax(0,1fr);padding:8px 9px;border-radius:13px}
.compact-choice-grid .plan-choice>span{width:27px;height:27px;border-radius:9px}
.compact-choice-grid .plan-choice strong{font-size:9px}
.compact-choice-grid .plan-choice select{height:30px;font-size:9px;padding-inline:3px}
.plan-context-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}
.plan-context-mini span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:5px 8px;border:1px solid var(--sc-line);border-radius:999px;background:var(--sc-surface-2);color:var(--sc-muted);font-size:8px;font-weight:850}
.assistant-context-details{overflow:hidden;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-surface-2)}
.assistant-context-details>summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:9px 11px;color:var(--sc-text);font-size:9px;font-weight:900;cursor:pointer}
.assistant-context-details[open]>summary{border-bottom:1px solid var(--sc-line)}
.assistant-context-details .routine-context-card{margin:9px;border:0;box-shadow:none}
.compact-finish{grid-template-columns:minmax(0,1fr) auto;padding:13px 14px;gap:10px}
.compact-finish h3{font-size:14px;margin:1px 0 2px}
.compact-finish p{margin:0}
.compact-finish .routine-create-actions{display:flex;gap:7px;align-items:center}
.compact-finish .btn{min-height:42px;margin:0}

.compact-builder{gap:10px}
.compact-builder-summary{padding:14px 15px;border-radius:18px}
.compact-builder-summary h1{font-size:22px;margin:2px 0 3px}
.compact-builder-summary p{margin:0;max-width:70ch;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.compact-builder-summary .builder-score{width:58px;height:58px;flex-basis:58px;border-radius:17px;font-size:17px}
.compact-builder-steps{margin:9px 0 7px;gap:5px}
.compact-builder-steps span{min-height:29px;padding:5px 7px;border-radius:9px;font-size:8px}
.compact-builder-steps b{width:17px;height:17px;border-radius:6px;font-size:8px}
.compact-stats{display:flex!important;gap:6px!important;margin:6px 0 0!important;flex-wrap:wrap}
.compact-stats span{min-width:72px!important;padding:7px 9px!important;border-radius:12px!important}
.compact-stats strong{font-size:13px!important}.compact-stats small{font-size:7px!important}
.compact-next{grid-template-columns:36px minmax(0,1fr) auto;padding:10px 11px;border-radius:15px;gap:9px}
.compact-next .builder-next-icon{width:36px;height:36px;border-radius:11px}
.compact-next h3{font-size:12px;margin:0 0 1px}.compact-next p{font-size:9px;line-height:1.3}
.compact-next .eyebrow{display:none}
.compact-next .btn{min-height:36px;padding:7px 10px;font-size:9px}

.program-insights-drawer{overflow:hidden;border:1px solid var(--sc-line);border-radius:16px;background:var(--sc-surface)}
.program-insights-drawer>summary{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 12px;color:var(--sc-text);cursor:pointer;font-size:10px;font-weight:950;list-style:none}
.program-insights-drawer>summary::-webkit-details-marker{display:none}
.program-insights-drawer>summary span{margin-left:auto;color:var(--sc-muted);font-size:8px;font-weight:850}
.program-insights-drawer[open]>summary{border-bottom:1px solid var(--sc-line);background:var(--sc-surface-2)}
.program-insights-body{display:grid;gap:9px;padding:10px}
.program-insights-body>.card,.program-insights-body>section,.program-insights-body>div{margin:0!important}
.compact-settings>summary{min-height:44px;padding-block:9px}
.compact-day-nav{padding:11px 12px!important;border-radius:16px!important}
.compact-day-nav h3{margin:1px 0 0;font-size:13px}
.compact-day-nav .program-day-tabs{margin-top:8px}
.compact-active-day{padding:12px!important;border-radius:17px!important}
.compact-active-day .program-day-head{gap:8px}
.compact-active-day .day-primary-actions{display:flex;gap:6px;align-items:center}
.compact-active-day .day-primary-actions .btn{min-height:38px;padding:7px 9px;font-size:9px}
.compact-day-summary{margin:8px 0!important;gap:5px!important}
.compact-day-summary span{padding:4px 7px!important;font-size:8px!important}
.compact-overview{margin:7px 0!important;padding:7px 9px!important;border-radius:12px!important}
.compact-overview strong{font-size:10px!important}
.compact-overview .day-visual-thumb{width:31px;height:38px;border-radius:8px}
.compact-overview .day-visual-more{width:30px;height:30px;font-size:8px}
.day-note-drawer{margin:7px 0;overflow:hidden;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface-2)}
.day-note-drawer>summary{display:flex;align-items:center;gap:7px;min-height:38px;padding:8px 10px;color:var(--sc-muted);cursor:pointer;font-size:9px;font-weight:900;list-style:none}
.day-note-drawer>summary::-webkit-details-marker{display:none}
.day-note-drawer[open]>summary{border-bottom:1px solid var(--sc-line);color:var(--sc-text)}
.day-note-drawer .day-note-input{margin:8px!important;width:calc(100% - 16px);min-height:50px!important}
.compact-preparation{margin:8px 0!important;padding:0!important;overflow:hidden;border-radius:13px!important}
.compact-preparation>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:8px 10px;cursor:pointer;list-style:none}
.compact-preparation>summary::-webkit-details-marker{display:none}
.compact-preparation>summary span{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:900}
.compact-preparation>summary strong{font-size:8px;color:var(--sc-muted)}
.compact-preparation[open]>summary{border-bottom:1px solid rgba(13,148,136,.18)}
.compact-preparation .approximation-plan-list{padding:8px 9px}
.compact-preparation>p{padding:0 9px 9px;margin:0}
.compact-exercise-list{display:grid;gap:8px}
.compact-exercise-card{grid-template-columns:25px 58px minmax(0,1fr)!important;gap:8px!important;padding:9px!important;border-radius:15px!important}
.compact-exercise-card .exercise-order{width:25px;height:25px;border-radius:8px;font-size:9px}
.compact-exercise-card .program-exercise-thumb{width:58px!important;height:70px!important;border-radius:11px!important}
.compact-exercise-card .routine-exercise-meta{margin-bottom:3px;gap:4px}
.compact-exercise-card .routine-exercise-meta span{min-height:18px;padding:2px 5px;font-size:7px}
.compact-exercise-card h4{font-size:14px!important;margin:1px 0!important}
.compact-exercise-card .routine-prescription-line{margin-top:4px!important;gap:3px 7px!important}
.compact-exercise-card .routine-prescription-line strong{font-size:11px}
.compact-exercise-card .routine-prescription-line span{font-size:8px}
.compact-exercise-card .warmup-badge{padding:2px 5px!important;font-size:7px!important}
.compact-actions{display:flex!important;margin-top:7px!important}
.compact-actions .btn{width:auto!important;min-height:34px!important;padding:6px 9px!important;font-size:8px!important}
.compact-details{margin-top:6px!important;border-radius:10px!important}
.compact-details>summary{min-height:33px!important;padding:6px 8px!important;font-size:8px!important}
.exercise-compact-details{display:grid;gap:7px;padding:8px}
.exercise-compact-details .exercise-warmup-note{margin:0;padding:8px 9px}
.exercise-compact-details .exercise-client-note,.exercise-compact-details .exercise-coach-note{margin:0;padding:7px 8px;font-size:8px}
.compact-help>summary{min-height:42px;font-size:9px}

html[data-theme="dark"] .plan-context-mini span,html[data-theme="dark"] .assistant-context-details,html[data-theme="dark"] .program-insights-drawer,html[data-theme="dark"] .day-note-drawer{background:var(--sc-surface-2);border-color:var(--sc-line)}
html[data-theme="dark"] .program-insights-drawer[open]>summary{background:var(--sc-surface-3)}

@media(max-width:760px){
  .compact-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compact-finish{grid-template-columns:1fr}.compact-finish .routine-create-actions{display:grid;grid-template-columns:1fr 1fr}
  .compact-builder-summary p{display:none}
  .compact-builder-steps{display:none!important}
  .compact-next{grid-template-columns:34px minmax(0,1fr)}.compact-next .btn{grid-column:1/-1;width:100%}
  .compact-active-day .program-day-head{grid-template-columns:31px minmax(0,1fr)}
  .compact-active-day .day-primary-actions{grid-column:1/-1;margin-top:3px}.compact-active-day .day-primary-actions .btn{flex:1}
}
@media(max-width:430px){
  .plan-create-intro.compact,.compact-section,.compact-finish{padding:11px}
  .compact-plan-create .plan-create-steps{display:none}
  .compact-choice-grid{grid-template-columns:1fr 1fr}
  .compact-choice-grid .plan-choice{padding:7px}
  .compact-finish .routine-create-actions{grid-template-columns:1fr}
  .compact-stats span{min-width:calc(50% - 4px)!important;flex:1}
  .compact-exercise-card{grid-template-columns:22px 50px minmax(0,1fr)!important;padding:8px!important}
  .compact-exercise-card .program-exercise-thumb{width:50px!important;height:62px!important}
  .compact-exercise-card .routine-exercise-meta span:nth-child(n+2){display:none}
  .compact-exercise-card .routine-prescription-line span:nth-of-type(n+3){display:none}
  .compact-overview{display:none}
}
.plan-context-warning-mini{display:flex;align-items:flex-start;gap:6px;margin-top:1px;padding:7px 8px;border:1px solid color-mix(in srgb,#d9972f 35%,var(--sc-line));border-radius:11px;background:color-mix(in srgb,#d9972f 8%,var(--sc-surface));color:var(--sc-text);font-size:8px;font-weight:800;line-height:1.35}
.plan-context-warning-mini svg{flex:0 0 auto;color:#b87513}
.compact-choice-grid .plan-choice input{min-width:0;width:100%;height:30px;padding:4px 5px;border:0;background:transparent;color:var(--sc-text);font-size:9px;font-weight:850}
html[data-theme="dark"] .plan-context-warning-mini{background:color-mix(in srgb,#d9972f 10%,var(--sc-surface-2));border-color:color-mix(in srgb,#d9972f 32%,var(--sc-line))}

/* v3.82.0 · rutinas más intuitivas + ayuda contextual bajo demanda */
.plan-create-intro-actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:8px;min-width:0}
.context-help-button{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;min-width:34px;min-height:34px;padding:0;border:1px solid color-mix(in srgb,var(--sc-brand) 24%,var(--sc-line));border-radius:50%;background:var(--sc-surface-2);color:var(--sc-brand);font-size:14px;font-weight:1000;line-height:1;cursor:pointer;box-shadow:0 4px 12px color-mix(in srgb,#000 8%,transparent);transition:transform .16s ease,border-color .16s ease,background .16s ease}
.context-help-button:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--sc-brand) 55%,var(--sc-line));background:var(--sc-brand-soft)}
.context-help-button:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 26%,transparent);outline-offset:2px}
.context-help-wrap{position:relative;min-width:0}
.context-help-wrap>details{width:100%;margin:0}
.context-help-wrap>.context-help-button{position:absolute;top:6px;right:7px;z-index:4}
.context-help-wrap>details>summary{padding-right:50px!important}
.compact-help-wrap>.context-help-button{top:5px;right:6px;width:30px;height:30px;min-width:30px;min-height:30px;font-size:12px}
.field-label-help{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.field-label-help label{margin:0!important}
.field-label-help .context-help-button{width:27px;height:27px;min-width:27px;min-height:27px;font-size:11px;box-shadow:none}
.compact-help-row{display:flex;align-items:center;gap:6px}
.button-with-help{display:inline-flex;align-items:center;gap:5px;min-width:0}
.button-with-help>.context-help-button{width:30px;height:30px;min-width:30px;min-height:30px;font-size:11px;box-shadow:none}
.exercise-secondary-actions .exercise-actions .button-with-help{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px;align-items:center;min-width:0}
.exercise-secondary-actions .exercise-actions .button-with-help>button:not(.context-help-button){width:100%;min-width:0}
.exercise-secondary-actions .exercise-actions .button-with-help>.context-help-button{width:30px!important;min-width:30px!important;min-height:38px!important;height:38px!important;padding:0!important}
.day-primary-actions .button-with-help{display:inline-flex}
.day-primary-actions .button-with-help>.btn{min-width:0}
.prescription-presets>.context-help-button{margin-left:auto}
.prescription-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.prescription-modal-head h2{margin-bottom:0}
.builder-context-help-entry{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:4px 2px 0;color:var(--sc-muted);font-size:9px;font-weight:850}
.builder-context-help-entry>span{display:inline-flex;align-items:center;gap:5px}
.context-help-sheet{display:grid;gap:14px}
.context-help-sheet>div:first-of-type:not(.context-help-sheet-icon){min-width:0}
.context-help-sheet-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:var(--sc-brand-soft);border:1px solid color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line));color:var(--sc-brand);font-size:24px;font-weight:1000}
.context-help-sheet h2{margin:2px 0 5px;font-size:22px}
.context-help-sheet p{margin:0;color:var(--sc-muted);line-height:1.55}
.context-help-points{display:grid;gap:7px;padding:10px;border:1px solid var(--sc-line);border-radius:15px;background:var(--sc-surface-2)}
.context-help-points>div{display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:start;color:var(--sc-text);font-size:10px;line-height:1.45}
.context-help-points svg{color:var(--sc-success);margin-top:1px}
.context-help-tip{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border-radius:14px;background:color-mix(in srgb,var(--sc-brand) 7%,var(--sc-surface));border:1px solid color-mix(in srgb,var(--sc-brand) 18%,var(--sc-line));color:var(--sc-text);font-size:10px;line-height:1.45}
.context-help-tip svg{flex:0 0 auto;color:var(--sc-brand);margin-top:1px}
.compact-plan-create .plan-create-section-head.compact-head small{display:none}
.compact-plan-create .plan-create-advanced>summary small{display:none}
.compact-plan-create .routine-create-actions .btn{white-space:nowrap}
.quick-prescription> .row:first-child h3{margin-bottom:0}
.quick-prescription> .row:first-child p{display:none}

html[data-theme="dark"] .context-help-button{background:var(--sc-surface-3);border-color:color-mix(in srgb,var(--sc-brand) 32%,var(--sc-line));color:#ff8ca0;box-shadow:none}
html[data-theme="dark"] .context-help-button:hover{background:color-mix(in srgb,var(--sc-brand) 12%,var(--sc-surface-3));border-color:color-mix(in srgb,var(--sc-brand) 55%,var(--sc-line))}
html[data-theme="dark"] .context-help-points{background:var(--sc-surface-2);border-color:var(--sc-line)}
html[data-theme="dark"] .context-help-tip{background:color-mix(in srgb,var(--sc-brand) 8%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 20%,var(--sc-line))}

@media(max-width:760px){
  .plan-create-intro-actions{align-items:center}
  .plan-create-intro-actions .plan-create-steps{display:none}
  .context-help-button{width:36px;height:36px;min-width:36px;min-height:36px}
  .context-help-wrap>.context-help-button{top:5px;right:6px}
  .button-with-help{min-width:0}
  .day-primary-actions .button-with-help{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 34px}
  .day-primary-actions .button-with-help>.context-help-button{width:34px;height:38px;min-width:34px;min-height:38px;border-radius:11px}
  .context-help-sheet h2{font-size:20px}
}
@media(max-width:430px){
  .plan-create-intro.compact{grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .plan-create-intro.compact p{font-size:8px;line-height:1.35}
  .compact-plan-create .routine-create-actions .btn{white-space:normal}
  .builder-context-help-entry{justify-content:space-between;padding-inline:2px}
  .exercise-secondary-actions .exercise-actions .button-with-help{grid-column:1/-1}
}

/* v3.82.0 · pulido final de densidad visual */
.context-help-sheet .eyebrow{margin-bottom:1px}
.context-help-sheet .btn{width:100%;margin-top:1px}
.compact-builder .builder-context-help-entry{min-height:34px}
@media(max-width:430px){
  .compact-plan-create .plan-create-intro.compact p{display:none}
  .compact-plan-create .plan-create-intro.compact h2{margin-bottom:0}
  .compact-builder .builder-context-help-entry>span{font-size:8px}
}

/* v3.83.0 · modo enfoque para edición de programas */
.routine-prescription-trigger{
  width:100%;min-width:0;margin-top:7px;padding:7px 9px;border:1px solid var(--sc-line);
  border-radius:11px;background:var(--sc-surface-3);color:var(--sc-text);display:flex;
  align-items:center;justify-content:space-between;gap:8px;text-align:left;cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}
.routine-prescription-trigger:hover{border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));background:var(--sc-brand-soft)}
.routine-prescription-trigger:active{transform:scale(.995)}
.routine-prescription-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 22%,transparent);outline-offset:2px}
.routine-prescription-trigger .routine-prescription-line{display:flex;flex:1;min-width:0;flex-wrap:wrap;align-items:center;gap:3px 7px;margin:0}
.routine-prescription-edit{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;color:var(--sc-brand);font-size:8px;font-weight:950;white-space:nowrap}
.routine-prescription-edit svg{width:13px;height:13px}

.program-focus-dock{display:none}

html[data-theme="dark"] .routine-prescription-trigger{background:var(--sc-surface-3);border-color:var(--sc-line);color:var(--sc-text)}
html[data-theme="dark"] .routine-prescription-trigger:hover{background:color-mix(in srgb,var(--sc-brand) 10%,var(--sc-surface-3));border-color:color-mix(in srgb,var(--sc-brand) 40%,var(--sc-line))}
html[data-theme="dark"] .routine-prescription-edit{color:#ff91a4}

@media(max-width:760px){
  .program-builder-modal>.program-builder{padding-bottom:calc(96px + var(--safe-bottom))!important}
  .compact-day-nav{
    position:sticky;top:0;z-index:8;
    background:color-mix(in srgb,var(--sc-bg) 94%,transparent)!important;
    border-color:var(--sc-line)!important;
    box-shadow:0 8px 20px color-mix(in srgb,#000 10%,transparent);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)
  }
  .compact-active-day .day-primary-actions{display:none!important}
  .mobile-builder-dock{display:none!important}
  .day-pagination{display:none!important}
  .program-focus-dock{
    position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));
    bottom:max(8px,env(safe-area-inset-bottom));z-index:80;display:grid;
    grid-template-columns:38px minmax(86px,1fr) auto auto 38px;align-items:center;gap:6px;
    min-height:62px;padding:7px;border:1px solid color-mix(in srgb,var(--sc-brand) 15%,var(--sc-line));
    border-radius:18px;background:color-mix(in srgb,var(--sc-surface) 96%,transparent);
    box-shadow:0 14px 38px rgba(0,0,0,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
  }
  .program-focus-dock button{min-width:0;min-height:46px;border:0;border-radius:13px;display:inline-flex;align-items:center;justify-content:center;gap:5px;font:inherit;font-size:9px;font-weight:950;cursor:pointer}
  .program-focus-nav{padding:0;background:var(--sc-surface-3);color:var(--sc-text);border:1px solid var(--sc-line)!important}
  .program-focus-nav:disabled{opacity:.35;cursor:not-allowed}
  .program-focus-context{min-width:0;display:grid;gap:2px;padding:0 3px}
  .program-focus-context strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sc-text);font-size:10px;line-height:1.2}
  .program-focus-context small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sc-muted);font-size:7px;font-weight:850}
  .program-focus-add{padding:0 10px;background:linear-gradient(145deg,var(--sc-brand),color-mix(in srgb,var(--sc-brand) 72%,#6f2130));color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--sc-brand) 22%,transparent)}
  .program-focus-review{padding:0 9px;background:var(--sc-surface-3);color:var(--sc-text);border:1px solid var(--sc-line)!important}
  .program-focus-dock button:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 22%,transparent);outline-offset:2px}
  body.keyboard-open .program-focus-dock{display:none!important}
  body.keyboard-open .program-builder-modal>.program-builder{padding-bottom:18px!important}
  .builder-context-help-entry{margin-bottom:0}
  .day-secondary-actions .button-with-help{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px;width:100%}
  .day-secondary-actions .button-with-help>button:not(.context-help-button){width:100%}
  .day-secondary-actions .button-with-help>.context-help-button{width:34px!important;height:38px!important;min-width:34px!important;min-height:38px!important;border-radius:10px!important}
}
@media(max-width:430px){
  .program-focus-dock{grid-template-columns:36px minmax(78px,1fr) auto auto 36px;gap:5px;padding:6px;border-radius:17px}
  .program-focus-dock button{min-height:44px;font-size:8px;border-radius:12px}
  .program-focus-add,.program-focus-review{padding-inline:8px}
  .program-focus-context strong{font-size:9px}.program-focus-context small{font-size:6.5px}
  .routine-prescription-trigger{padding:7px 8px}
  .routine-prescription-edit{font-size:7px}
}
@media(max-width:360px){
  .program-focus-dock{grid-template-columns:34px minmax(72px,1fr) 42px 42px 34px}
  .program-focus-add span,.program-focus-review span{display:none}
  .program-focus-add,.program-focus-review{padding:0}
  .program-focus-context small{display:none}
}

/* v3.83.0 · continuidad del modo enfoque en teléfono horizontal */
@media (orientation:landscape) and (max-height:520px) and (max-width:980px){
  .mobile-builder-dock{display:none!important}
  .program-builder-modal>.program-builder{padding-bottom:calc(72px + var(--safe-bottom))!important}
  .program-focus-dock{
    position:fixed;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));
    bottom:max(6px,env(safe-area-inset-bottom));z-index:80;display:grid!important;
    grid-template-columns:40px minmax(120px,1fr) auto auto 40px;align-items:center;gap:7px;
    min-height:54px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--sc-brand) 15%,var(--sc-line));
    border-radius:16px;background:color-mix(in srgb,var(--sc-surface) 97%,transparent);
    box-shadow:0 12px 30px rgba(0,0,0,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
  }
  .program-focus-dock button{min-height:40px;border-radius:11px;font-size:8px}
  .program-focus-context strong{font-size:9px}.program-focus-context small{font-size:6.5px}
  body.keyboard-open .program-focus-dock{display:none!important}
  body.keyboard-open .program-builder-modal>.program-builder{padding-bottom:12px!important}
}

/* v3.84.1 · continuidad y búsqueda rápida en Programas */
.program-toolbar-384{display:grid;gap:12px}
.program-search-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}
.program-search-wrap>small{color:var(--sc-muted);font-size:9px;font-weight:800;white-space:nowrap}
.program-search{min-height:46px;background:var(--sc-surface-2);border:1px solid var(--sc-line);border-radius:15px;box-shadow:none}
.program-search input{min-width:0;background:transparent!important;color:var(--sc-text)!important}
.program-search input::placeholder{color:var(--sc-muted)!important;opacity:.88}
.program-search .search-clear{display:grid;place-items:center;width:34px;height:34px;min-width:34px;border:0;border-radius:10px;background:var(--sc-surface-3);color:var(--sc-muted);cursor:pointer}
.program-resume-card{border-color:color-mix(in srgb,var(--sc-brand) 26%,rgba(255,255,255,.14))!important}
.program-day-preview .last-opened{outline:2px solid color-mix(in srgb,var(--sc-brand) 42%,transparent);outline-offset:1px;background:color-mix(in srgb,var(--sc-brand) 8%,var(--sc-surface-2))}
.program-day-preview .last-opened b{background:var(--sc-brand);color:#fff}
html[data-theme="dark"] .program-search{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .program-search .search-clear{background:color-mix(in srgb,var(--sc-surface-2) 86%,#000);color:var(--sc-text)}
html[data-theme="dark"] .program-day-preview .last-opened{background:color-mix(in srgb,var(--sc-brand) 10%,var(--sc-surface-3));outline-color:color-mix(in srgb,var(--sc-brand) 58%,transparent)}
@media(max-width:760px){
  .program-toolbar-384{padding:11px!important;gap:10px}
  .program-search-wrap{grid-template-columns:1fr;gap:5px}
  .program-search-wrap>small{font-size:8px;white-space:normal;padding-inline:2px}
  .program-search{min-height:44px;border-radius:13px}
  .program-filters{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding-bottom:2px}
  .program-filters::-webkit-scrollbar{display:none}
  .program-filters .filter-pill{flex:0 0 auto;white-space:nowrap}
  .program-resume-card span em{white-space:normal;line-height:1.35}
}
@media(max-width:430px){
  .program-search-wrap>small{display:none}
  .program-search input{font-size:14px}
  .program-card .program-client-label small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden}
}

/* CoachEvo 3.91.0 · UX + contraste oscuro, capa final de seguridad
   Alcance: solo corrige el tema oscuro y estados interactivos neutros.
   El tema claro conserva sus superficies, jerarquía y paleta originales. */

/* Interacciones más predecibles sin aumentar densidad visual. */
:where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile,.context-help-button,.routine-prescription-trigger){
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
:where(.toast-premium,.toast){pointer-events:none}
:where(.toast-premium,.toast) :where(button,a,[role="button"]){pointer-events:auto}
:where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile,.context-help-button,.routine-prescription-trigger):focus-visible{
  outline:3px solid color-mix(in srgb,var(--sc-brand-text,#c91836) 34%,transparent)!important;
  outline-offset:2px!important;
}
@media(hover:hover){
  :where(.btn,.icon-btn,.mini-icon,.filter-pill,.segment,.action-tile,.context-help-button):not(:disabled):hover{
    filter:brightness(1.035);
  }
}

/* Tema oscuro: ningún filtro inactivo puede conservar el fondo claro histórico. */
html[data-theme="dark"] .filter-pill:not(.active):not([aria-selected="true"]){
  color:var(--sc-text)!important;
  background:var(--sc-surface-3)!important;
  border-color:var(--sc-line-strong)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .filter-pill:not(.active):not([aria-selected="true"]) span{
  color:var(--sc-muted)!important;
  background:color-mix(in srgb,var(--sc-surface) 68%,var(--sc-surface-3))!important;
}
html[data-theme="dark"] .filter-pill:not(.active):not([aria-selected="true"]):hover,
html[data-theme="dark"] .filter-pill:not(.active):not([aria-selected="true"]):focus-visible{
  color:var(--sc-text)!important;
  background:var(--sc-dark-hover,#2c262c)!important;
  border-color:color-mix(in srgb,var(--sc-brand-text) 42%,var(--sc-line-strong))!important;
}

/* Barras de filtros y búsqueda: superficie consistente al quedarse sticky. */
html[data-theme="dark"] :where(.portfolio-toolbar,.program-toolbar-384,.agenda-toolbar,.activity-tabs,.task-filters){
  color:var(--sc-text)!important;
  background:color-mix(in srgb,var(--sc-surface-2) 94%,transparent)!important;
  border-color:var(--sc-line)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.24)!important;
}
html[data-theme="dark"] :where(.portfolio-toolbar,.program-toolbar-384) :where(.search,.premium-search,.program-search){
  color:var(--sc-text)!important;
  background:var(--sc-dark-input,#100e11)!important;
  border-color:var(--sc-line-strong)!important;
}

/* Formularios: corrige el placeholder histórico (#7f747a), que quedaba por debajo de AA. */
html[data-theme="dark"] :where(input,textarea)::placeholder{
  color:var(--sc-placeholder,#9f9399)!important;
  opacity:1!important;
}
html[data-theme="dark"] :where(input,select,textarea):disabled{
  color:var(--sc-muted)!important;
  background:var(--sc-surface-3)!important;
  border-color:var(--sc-line)!important;
  opacity:1!important;
}
html[data-theme="dark"] :where(input,select,textarea):focus{
  border-color:color-mix(in srgb,var(--sc-brand-text) 52%,var(--sc-line-strong))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-brand) 13%,transparent)!important;
}
html[data-theme="dark"] option{background:var(--sc-surface)!important;color:var(--sc-text)!important}

/* Superficies históricas que tenían fondos claros literales. */
html[data-theme="dark"] :where(
  .assignment-row,.booking-hour-row,.account-choice:not(.active),
  .program-day-tab:not(.active),.portal-journey-step:not(.active):not(.done),
  .journey-step:not(.active):not(.done),.theme-choice:not(.active),
  .interview-stat,.interview-answer-section,.progress-metric,.welcome-step
){
  color:var(--sc-text)!important;
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] :where(
  .assignment-row,.booking-hour-row,.account-choice:not(.active),
  .program-day-tab:not(.active),.portal-journey-step:not(.active):not(.done),
  .journey-step:not(.active):not(.done),.theme-choice:not(.active)
) :where(small,em,.muted,.help){color:var(--sc-muted)!important}
html[data-theme="dark"] .program-day-tab:not(.active)>span{
  color:var(--sc-brand-text)!important;
  background:var(--sc-surface-3)!important;
}
html[data-theme="dark"] .program-day-tab:not(.active) strong{color:var(--sc-text)!important}

/* Recomendaciones contextuales y ayuda: CTA visible sin convertir el bloque en una tarjeta clara. */
html[data-theme="dark"] .context-guide{
  color:var(--sc-text)!important;
  background:linear-gradient(145deg,var(--sc-surface-2),var(--sc-surface))!important;
  border-color:var(--sc-line)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
}
html[data-theme="dark"] .context-guide .btn.secondary{
  color:var(--sc-brand-text)!important;
  background:var(--sc-brand-soft)!important;
  border-color:color-mix(in srgb,var(--sc-brand-text) 38%,var(--sc-line))!important;
}
html[data-theme="dark"] .context-guide .btn.ghost{
  color:var(--sc-text)!important;
  background:var(--sc-surface-3)!important;
  border-color:var(--sc-line)!important;
}

/* Estados deshabilitados: siguen siendo claramente inactivos, pero no desaparecen visualmente. */
html[data-theme="dark"] :where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile)[disabled],
html[data-theme="dark"] :where(.btn,.icon-btn,.mini-icon,.nav-btn,.segment,.filter-pill,.action-tile)[aria-disabled="true"]{
  opacity:.62!important;
  filter:saturate(.5)!important;
}

/* Scrollbars discretas y coherentes en superficies oscuras. */
html[data-theme="dark"] :where(.screen,.portal-screen,.modal,.chat-timeline,.program-day-tabs,.phase-track,.portal-nav){
  scrollbar-color:var(--sc-line-strong) transparent;
}

@media(max-width:699px){
  /* Evita que una notificación temporal bloquee acciones aunque esté encima del contenido. */
  .toast-premium{max-width:calc(100% - 30px)}
  .client-portfolio-section .filter-pill{min-height:40px}
}

/* v3.88.0 · rutinas prácticas: crear en segundos, ajustar sin salir del día */
.practical-plan-create .plan-create-intro.compact{align-items:center}
.routine-fast-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:999px;background:var(--sc-brand-soft);border:1px solid color-mix(in srgb,var(--sc-brand) 22%,var(--sc-line));color:var(--sc-brand);font-size:8px;font-weight:950;white-space:nowrap}
.practical-core{gap:11px}
.routine-days-block{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(0,1.28fr);gap:10px;align-items:center;padding-top:9px;border-top:1px solid var(--sc-line)}
.routine-days-block>div:first-child{display:grid;gap:2px}.routine-days-block>div:first-child strong{font-size:10px;color:var(--sc-text)}.routine-days-block>div:first-child small{font-size:8px;color:var(--sc-muted);font-weight:750}
.routine-day-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.routine-day-choice{position:relative;display:block;cursor:pointer}.routine-day-choice input{position:absolute;opacity:0;pointer-events:none}
.routine-day-choice>span{min-height:46px;padding:6px 4px;display:grid;place-items:center;align-content:center;gap:0;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface-2);color:var(--sc-text);transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
.routine-day-choice strong{font-size:15px;line-height:1}.routine-day-choice small{font-size:7px;color:var(--sc-muted);font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.routine-day-choice:hover>span{border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));background:var(--sc-brand-soft)}
.routine-day-choice input:checked+span{border-color:color-mix(in srgb,var(--sc-brand) 58%,var(--sc-line));background:var(--sc-brand-soft);color:var(--sc-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand) 11%,transparent)}
.routine-day-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--sc-brand) 22%,transparent);outline-offset:2px}
.practical-advanced>summary{display:flex;align-items:center;gap:7px}.practical-advanced>summary small{margin-left:auto;color:var(--sc-muted);font-size:8px;font-weight:800}
.practical-finish{border-color:color-mix(in srgb,var(--sc-brand) 18%,var(--sc-line));background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 4%,var(--sc-surface)),var(--sc-surface))}
.practical-finish .routine-main-create{min-width:156px;box-shadow:0 7px 18px color-mix(in srgb,var(--sc-brand) 18%,transparent)}

.practical-exercise-card{position:relative}
.routine-inline-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:6px;margin-top:6px;align-items:stretch}
.routine-stepper{min-width:0;display:grid;grid-template-columns:minmax(32px,1fr) 30px 30px 30px;align-items:center;gap:2px;padding:3px;border:1px solid var(--sc-line);border-radius:10px;background:var(--sc-surface-2)}
.routine-stepper>span{padding-left:5px;color:var(--sc-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.routine-stepper>strong{height:30px;display:grid;place-items:center;color:var(--sc-text);font-size:9px;font-weight:950}
.routine-stepper button,.routine-order-controls button{width:30px;height:30px;min-width:30px;min-height:30px;border:1px solid var(--sc-line);border-radius:8px;background:var(--sc-surface);color:var(--sc-text);font:inherit;font-size:14px;font-weight:900;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}
.routine-stepper button:hover,.routine-order-controls button:hover{background:var(--sc-brand-soft);border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));color:var(--sc-brand)}
.routine-stepper button:active,.routine-order-controls button:active{transform:scale(.94)}
.routine-stepper button:disabled,.routine-order-controls button:disabled{opacity:.3;cursor:not-allowed;transform:none}
.routine-stepper button:focus-visible,.routine-order-controls button:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 22%,transparent);outline-offset:1px}
.routine-order-controls{display:grid;grid-template-columns:repeat(2,30px);gap:3px;padding:3px;border:1px solid var(--sc-line);border-radius:10px;background:var(--sc-surface-2)}
.routine-inline-feedback{display:inline-flex;align-items:center;gap:5px;margin-top:5px;min-height:25px;padding:4px 7px;border-radius:9px;background:color-mix(in srgb,var(--sc-success) 10%,var(--sc-surface));border:1px solid color-mix(in srgb,var(--sc-success) 24%,var(--sc-line));color:var(--sc-success);font-size:8px;font-weight:900;animation:routineFeedbackIn .18s ease-out}
.routine-inline-feedback.warning{background:color-mix(in srgb,var(--sc-warning) 10%,var(--sc-surface));border-color:color-mix(in srgb,var(--sc-warning) 26%,var(--sc-line));color:var(--sc-warning)}
@keyframes routineFeedbackIn{from{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}
.routine-inline-swap{display:grid;gap:6px;padding:8px;border:1px solid var(--sc-line);border-radius:11px;background:var(--sc-surface-2)}
.routine-inline-swap>span{color:var(--sc-muted);font-size:8px;font-weight:900}.routine-inline-swap>div{display:flex;gap:5px;flex-wrap:wrap}
.routine-inline-swap button{min-height:34px!important;padding:6px 8px!important;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--sc-line)!important;border-radius:9px!important;background:var(--sc-surface)!important;color:var(--sc-text)!important;font-size:8px!important;font-weight:900!important;cursor:pointer}
.routine-inline-swap button:hover{border-color:color-mix(in srgb,var(--sc-brand) 36%,var(--sc-line))!important;background:var(--sc-brand-soft)!important;color:var(--sc-brand)!important}

html[data-theme="dark"] .routine-fast-badge{background:color-mix(in srgb,var(--sc-brand) 12%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line));color:#ff91a4}
html[data-theme="dark"] .routine-day-choice>span,html[data-theme="dark"] .routine-stepper,html[data-theme="dark"] .routine-order-controls,html[data-theme="dark"] .routine-inline-swap{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .routine-day-choice input:checked+span{background:color-mix(in srgb,var(--sc-brand) 14%,var(--sc-surface-3));border-color:color-mix(in srgb,var(--sc-brand) 52%,var(--sc-line));color:#ff91a4}
html[data-theme="dark"] .routine-stepper button,html[data-theme="dark"] .routine-order-controls button,html[data-theme="dark"] .routine-inline-swap button{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .practical-finish{background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 7%,var(--sc-surface-2)),var(--sc-surface))}

@media(max-width:760px){
  .routine-days-block{grid-template-columns:1fr;gap:7px}.routine-days-block>div:first-child{grid-template-columns:auto 1fr;align-items:baseline;gap:6px}.routine-day-options{gap:5px}
  .routine-day-choice>span{min-height:44px}.routine-inline-controls{grid-template-columns:1fr 1fr auto}
  .routine-stepper{grid-template-columns:minmax(30px,1fr) 32px 30px 32px}.routine-stepper button,.routine-order-controls button{width:32px;height:34px;min-width:32px;min-height:34px}.routine-order-controls{grid-template-columns:repeat(2,32px)}
}
@media(max-width:430px){
  .routine-fast-badge{display:none}.practical-plan-create .plan-create-intro.compact p{display:block;font-size:8px}.routine-day-options{grid-template-columns:repeat(5,1fr)}.routine-day-choice>span{min-height:42px;border-radius:10px}.routine-day-choice strong{font-size:14px}.routine-day-choice small{font-size:6px}
  .routine-inline-controls{grid-template-columns:1fr 1fr}.routine-order-controls{grid-column:1/-1;display:flex;justify-content:flex-end;border:0;background:transparent!important;padding:0}.routine-order-controls button{width:38px;min-width:38px}
  .routine-stepper{grid-template-columns:minmax(25px,1fr) 32px 28px 32px}.routine-stepper>span{font-size:6.5px;padding-left:4px}.routine-stepper>strong{font-size:8px}.routine-inline-swap>div{display:grid;grid-template-columns:1fr}.routine-inline-swap button{width:100%;justify-content:flex-start}
  .practical-finish .routine-main-create{min-width:0}.practical-advanced>summary small{display:none}
}

/* v3.88.0 · edición inline expandible de prescripción */
.routine-inline-prescription{margin-top:6px;border:1px solid var(--sc-line);border-radius:11px;background:var(--sc-surface-2);overflow:hidden}
.routine-inline-prescription>summary{min-height:34px;padding:7px 9px;display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--sc-text);font-size:8px;font-weight:900;user-select:none}
.routine-inline-prescription>summary::-webkit-details-marker{display:none}.routine-inline-prescription>summary>span{margin-left:auto;display:grid;place-items:center;transition:transform .16s ease}.routine-inline-prescription[open]>summary>span{transform:rotate(180deg)}
.routine-inline-prescription>summary:hover{background:var(--sc-brand-soft);color:var(--sc-brand)}
.routine-inline-prescription>summary:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 22%,transparent);outline-offset:-3px}
.routine-inline-prescription-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(95px,.8fr);gap:6px;padding:0 8px 8px}
.routine-inline-prescription-grid>label{min-width:0;display:grid;gap:4px}.routine-inline-prescription-grid>label>span:first-child{padding-left:2px;color:var(--sc-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.routine-inline-prescription-grid input{width:100%;min-width:0;min-height:38px;padding:7px 8px;border:1px solid var(--sc-line);border-radius:9px;background:var(--sc-surface);color:var(--sc-text);font:inherit;font-size:9px;font-weight:800;outline:none}
.routine-inline-prescription-grid input:hover{border-color:color-mix(in srgb,var(--sc-brand) 34%,var(--sc-line))}.routine-inline-prescription-grid input:focus{border-color:var(--sc-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-brand) 12%,transparent)}
.routine-rest-input{position:relative;display:block}.routine-rest-input input{padding-right:31px}.routine-rest-input em{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--sc-muted);font-size:7px;font-style:normal;font-weight:900;pointer-events:none}
.routine-inline-field-feedback{display:none;margin:0 8px 8px;min-height:25px;padding:4px 7px;border-radius:9px;font-size:8px;font-weight:900}.routine-inline-field-feedback.visible{display:flex;align-items:center;background:color-mix(in srgb,var(--sc-success) 10%,var(--sc-surface));border:1px solid color-mix(in srgb,var(--sc-success) 24%,var(--sc-line));color:var(--sc-success);animation:routineFeedbackIn .18s ease-out}.routine-inline-field-feedback.visible.warning{background:color-mix(in srgb,var(--sc-warning) 10%,var(--sc-surface));border-color:color-mix(in srgb,var(--sc-warning) 26%,var(--sc-line));color:var(--sc-warning)}
html[data-theme="dark"] .routine-inline-prescription{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .routine-inline-prescription-grid input{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}
@media(max-width:560px){.routine-inline-prescription-grid{grid-template-columns:1fr 1fr}.routine-inline-prescription-grid>label:last-child{grid-column:1/-1}.routine-inline-prescription-grid input{min-height:42px;font-size:10px}}
@media(max-width:380px){.routine-inline-prescription-grid{grid-template-columns:1fr}.routine-inline-prescription-grid>label:last-child{grid-column:auto}.routine-inline-prescription>summary{font-size:7.5px}}

/* v3.88.0 · edición por lote guiada por fisiología */
.routine-batch-panel{display:grid;gap:9px;margin:10px 0 12px;padding:10px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-surface-2)}
.routine-batch-panel.active{border-color:color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line));background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 4%,var(--sc-surface-2)),var(--sc-surface-2))}
.routine-batch-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.routine-batch-head>div:first-child{min-width:0;display:grid;gap:2px}.routine-batch-head strong{color:var(--sc-text);font-size:10px}.routine-batch-head small{color:var(--sc-muted);font-size:8px;line-height:1.35}
.routine-batch-head-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.routine-batch-head-actions button,.routine-batch-presets button,.routine-batch-reps button{min-height:34px;padding:6px 9px;border:1px solid var(--sc-line);border-radius:9px;background:var(--sc-surface);color:var(--sc-text);font:inherit;font-size:8px;font-weight:900;cursor:pointer}.routine-batch-head-actions button:hover,.routine-batch-presets button:hover,.routine-batch-reps button:hover{border-color:color-mix(in srgb,var(--sc-brand) 38%,var(--sc-line));background:var(--sc-brand-soft);color:var(--sc-brand)}
.routine-batch-actions{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.75fr) minmax(165px,.9fr);gap:7px;align-items:end}.routine-batch-actions .physiology-apply{min-height:38px;white-space:nowrap}
.routine-batch-presets{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}.routine-batch-presets>span{width:100%;color:var(--sc-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.routine-batch-presets button{min-width:39px;min-height:32px;padding:5px 7px}
.routine-batch-reps{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:end}.routine-batch-reps label{display:grid;gap:3px;color:var(--sc-muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.routine-batch-reps input{width:100%;min-width:0;min-height:34px;padding:6px 8px;border:1px solid var(--sc-line);border-radius:9px;background:var(--sc-surface);color:var(--sc-text);font:inherit;font-size:9px;font-weight:800;outline:none}.routine-batch-reps input:focus{border-color:var(--sc-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--sc-brand) 12%,transparent)}
.routine-physiology-note{display:flex;align-items:flex-start;gap:6px;padding:7px 8px;border-radius:10px;background:color-mix(in srgb,var(--sc-brand) 6%,var(--sc-surface));border:1px solid color-mix(in srgb,var(--sc-brand) 16%,var(--sc-line));color:var(--sc-muted);font-size:8px;line-height:1.35}.routine-physiology-note strong{display:inline-flex;align-items:center;gap:4px;color:var(--sc-text);white-space:nowrap}
.routine-exercise-card.batch-selected{outline:2px solid color-mix(in srgb,var(--sc-brand) 46%,transparent);outline-offset:1px;background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 4%,var(--sc-surface)),var(--sc-surface))}
.routine-batch-select{position:absolute;z-index:3;top:8px;left:8px;width:24px;height:24px;min-width:24px;min-height:24px;display:grid;place-items:center;padding:0;border:1px solid var(--sc-line-strong,var(--sc-line));border-radius:7px;background:var(--sc-surface);color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}.routine-batch-select.selected{background:var(--sc-brand);border-color:var(--sc-brand)}.routine-batch-select:focus-visible{outline:3px solid color-mix(in srgb,var(--sc-brand) 28%,transparent);outline-offset:2px}.routine-exercise-card .exercise-order{margin-left:22px}
html[data-theme="dark"] .routine-batch-panel{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .routine-batch-panel.active{background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 8%,var(--sc-surface-3)),var(--sc-surface-3));border-color:color-mix(in srgb,var(--sc-brand) 45%,var(--sc-line))}
html[data-theme="dark"] .routine-batch-head-actions button,html[data-theme="dark"] .routine-batch-presets button,html[data-theme="dark"] .routine-batch-reps button,html[data-theme="dark"] .routine-batch-reps input,html[data-theme="dark"] .routine-batch-select{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}
html[data-theme="dark"] .routine-batch-select.selected{background:var(--sc-brand);border-color:var(--sc-brand);color:#fff}
html[data-theme="dark"] .routine-physiology-note{background:color-mix(in srgb,var(--sc-brand) 9%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 22%,var(--sc-line))}
html[data-theme="dark"] .routine-exercise-card.batch-selected{background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 7%,var(--sc-surface-2)),var(--sc-surface));outline-color:color-mix(in srgb,var(--sc-brand) 58%,transparent)}
@media(max-width:900px){.routine-batch-actions{grid-template-columns:1fr 1fr}.routine-batch-actions .physiology-apply{grid-column:1/-1}.routine-batch-reps{align-self:stretch}}
@media(max-width:560px){.routine-batch-head{align-items:flex-start;flex-direction:column}.routine-batch-head-actions{width:100%;justify-content:flex-start}.routine-batch-actions{grid-template-columns:1fr}.routine-batch-actions .physiology-apply{grid-column:auto;width:100%;justify-content:center}.routine-batch-reps{grid-template-columns:1fr auto}.routine-batch-presets button{min-height:38px}.routine-batch-select{width:28px;height:28px;min-width:28px;min-height:28px}.routine-exercise-card .exercise-order{margin-left:28px}.routine-physiology-note{display:grid}}

/* CoachEvo 3.88.0 · adaptación posterior por ejercicio */
.session-adaptation-card{display:grid;gap:14px;border-color:color-mix(in srgb,var(--blue) 18%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--blue) 4%,#fff),#fff)}
.session-adaptation-card h2{margin:3px 0 0}.session-adaptation-list{display:grid;gap:10px}.session-adaptation-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--surface-2)}
.session-adaptation-item.success{border-color:color-mix(in srgb,var(--green) 30%,var(--line))}.session-adaptation-item.warning{border-color:color-mix(in srgb,var(--amber) 36%,var(--line))}.session-adaptation-main{min-width:0;display:grid;gap:8px}.session-adaptation-main .row>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.session-adaptation-main p{margin:0}.adaptation-confidence{white-space:nowrap;font-size:10px;font-weight:900;color:var(--muted)}
.adaptation-evidence{display:flex;flex-wrap:wrap;gap:6px}.adaptation-evidence span{padding:5px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:9px;font-weight:850}.session-adaptation-action{display:flex;align-items:center;justify-content:flex-end}.session-adaptation-action .btn{min-height:40px;padding:9px 12px}
html[data-theme="dark"] .session-adaptation-card{background:linear-gradient(145deg,color-mix(in srgb,var(--sc-brand) 7%,var(--sc-surface-2)),var(--sc-surface));border-color:color-mix(in srgb,var(--sc-brand) 24%,var(--sc-line))}
html[data-theme="dark"] .session-adaptation-item{background:var(--sc-surface-3);border-color:var(--sc-line);color:var(--sc-text)}
html[data-theme="dark"] .session-adaptation-item.success{border-color:color-mix(in srgb,var(--green) 38%,var(--sc-line))}html[data-theme="dark"] .session-adaptation-item.warning{border-color:color-mix(in srgb,var(--amber) 42%,var(--sc-line))}
html[data-theme="dark"] .adaptation-evidence span{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-muted)}
@media(max-width:520px){.session-adaptation-item{grid-template-columns:1fr}.session-adaptation-action{justify-content:stretch}.session-adaptation-action .btn{width:100%}}

/* CoachEvo 3.89.0 · estructura semanal seleccionable + secuencia A→E */
.routine-day-focus-planner{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--sc-line);border-radius:16px;background:var(--sc-surface-2)}
.routine-day-focus-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.routine-day-focus-head h3{margin:2px 0 3px;font-size:15px}.routine-day-focus-list{display:grid;gap:7px}
.routine-day-focus-row{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,1.28fr);gap:10px;align-items:center;padding:8px 9px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface)}.routine-day-focus-row[hidden]{display:none}.routine-day-focus-row>span{display:grid;gap:2px}.routine-day-focus-row strong{font-size:10px}.routine-day-focus-row small{font-size:8px;color:var(--sc-muted)}.routine-day-focus-row select{min-height:42px}.routine-focus-rule{margin-top:10px}
.routine-focus-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin:12px 0}.routine-focus-summary span{display:grid;gap:2px;padding:9px 10px;border-radius:12px;border:1px solid var(--sc-line);background:var(--sc-surface-2)}.routine-focus-summary small{font-size:8px;color:var(--sc-muted);font-weight:800}.routine-focus-summary strong{font-size:10px}
.workout-sequence-note{display:flex;gap:9px;align-items:flex-start;margin:14px 0 8px;padding:10px 11px;border:1px solid rgba(13,148,136,.22);border-radius:14px;background:rgba(13,148,136,.07)}.workout-sequence-note>span{color:var(--teal)}.workout-sequence-note div{display:grid;gap:2px}.workout-sequence-note strong{font-size:10px}.workout-sequence-note small{font-size:8px;color:var(--muted)}
.workout-set-card.approximation{border-color:rgba(13,148,136,.28);background:linear-gradient(180deg,rgba(236,253,250,.96),rgba(240,253,250,.86))}.workout-set-card.approximation .set-cell strong{color:var(--teal)}.workout-set-card.effective .set-cell strong{color:var(--text)}.set-effort-label{min-height:46px;border:1px solid var(--line);border-radius:13px;display:grid;place-items:center;align-content:center;padding:5px;text-align:center}.set-effort-label span{font-size:9px;font-weight:900}.set-effort-label small{font-size:7px;color:var(--muted);font-weight:800}
html[data-theme="dark"] .routine-day-focus-planner,html[data-theme="dark"] .routine-day-focus-row,html[data-theme="dark"] .routine-focus-summary span{background:var(--sc-surface-3);border-color:var(--sc-line)}html[data-theme="dark"] .workout-set-card.approximation{background:linear-gradient(180deg,rgba(13,148,136,.13),rgba(16,31,35,.94));border-color:rgba(94,234,212,.25)}html[data-theme="dark"] .workout-set-card.effective .set-cell strong{color:var(--sc-text)}html[data-theme="dark"] .set-effort-label{border-color:var(--sc-line)}
@media(max-width:620px){.routine-day-focus-head{display:grid}.routine-day-focus-row{grid-template-columns:1fr;gap:6px}.routine-day-focus-row>span{grid-template-columns:auto 1fr;gap:7px;align-items:baseline}.routine-day-focus-row select{width:100%}.set-effort-label{min-height:43px}}

/* CoachEvo 3.91.0 · selección muscular individual + macrociclo estable */
.routine-config-block{display:grid;gap:8px;margin-top:12px;padding:11px 12px;border:1px solid var(--sc-line);border-radius:15px;background:var(--sc-surface-2)}
.routine-config-block>div:first-child{display:grid;gap:2px}.routine-config-block>div:first-child>strong{font-size:11px}.routine-config-block>div:first-child>small{font-size:8px;color:var(--sc-muted)}
.routine-goal-options,.routine-duration-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.routine-duration-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.routine-goal-choice,.routine-duration-choice,.routine-muscle-choice{position:relative;cursor:pointer}.routine-goal-choice input,.routine-duration-choice input,.routine-muscle-choice input{position:absolute;opacity:0;pointer-events:none}
.routine-goal-choice>span,.routine-duration-choice>span{min-height:48px;display:grid;place-items:center;align-content:center;gap:2px;padding:7px 8px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface);color:var(--sc-text);text-align:center;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.routine-goal-choice>span strong,.routine-duration-choice>span strong{font-size:9px}.routine-goal-choice>span small,.routine-duration-choice>span small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sc-muted);font-size:7px}
.routine-goal-choice input:checked+span,.routine-duration-choice input:checked+span{border-color:color-mix(in srgb,var(--sc-brand) 62%,var(--sc-line));background:var(--sc-brand-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand) 10%,transparent)}
.routine-goal-choice input:focus-visible+span,.routine-duration-choice input:focus-visible+span,.routine-muscle-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--sc-brand) 24%,transparent);outline-offset:2px}
.routine-day-muscle-list{display:grid;gap:9px}.routine-day-muscle-row{display:grid;gap:9px;padding:10px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-surface)}.routine-day-muscle-row[hidden]{display:none}
.routine-day-muscle-title{display:flex;align-items:center;gap:9px}.routine-day-muscle-title .day-number{width:32px;height:32px;min-width:32px;border-radius:10px}.routine-day-muscle-title>div{display:grid;gap:2px}.routine-day-muscle-title strong{font-size:10px}.routine-day-muscle-title small{font-size:8px;color:var(--sc-muted)}
.routine-muscle-options{display:flex;flex-wrap:wrap;gap:6px}.routine-muscle-choice>span{min-height:34px;display:flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid var(--sc-line);border-radius:999px;background:var(--sc-surface-2);color:var(--sc-text);font-size:8px;font-weight:900;user-select:none;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
.routine-muscle-choice input:checked+span{border-color:color-mix(in srgb,var(--sc-brand) 62%,var(--sc-line));background:var(--sc-brand);color:#fff;box-shadow:0 5px 14px color-mix(in srgb,var(--sc-brand) 18%,transparent)}
.routine-muscle-choice:active>span{transform:scale(.98)}
html[data-theme="dark"] .routine-config-block,html[data-theme="dark"] .routine-day-muscle-row{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .routine-goal-choice>span,html[data-theme="dark"] .routine-duration-choice>span,html[data-theme="dark"] .routine-muscle-choice>span{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}
html[data-theme="dark"] .routine-goal-choice input:checked+span,html[data-theme="dark"] .routine-duration-choice input:checked+span{background:color-mix(in srgb,var(--sc-brand) 17%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 60%,var(--sc-line))}
html[data-theme="dark"] .routine-muscle-choice input:checked+span{background:var(--sc-brand);border-color:var(--sc-brand);color:#fff}
@media(max-width:620px){.routine-goal-options{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-duration-options{grid-template-columns:repeat(3,minmax(0,1fr))}.routine-muscle-options{gap:7px}.routine-muscle-choice>span{min-height:38px;padding-inline:10px;font-size:9px}}
/* 3.91.0 · duración flexible con accesos rápidos */
.routine-duration-options{grid-template-columns:minmax(92px,.55fr) minmax(0,2fr);align-items:end}
.plan-duration-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
button.routine-duration-choice{border:0;background:none;padding:0;font:inherit;text-align:inherit}
.routine-duration-custom{display:grid;gap:5px}.routine-duration-custom>span{font-size:8px;font-weight:900;color:var(--sc-muted)}
.routine-duration-custom input{min-height:48px;text-align:center;font-weight:900}
.routine-duration-options>.micro{grid-column:1/-1;margin:0}
html[data-theme="dark"] .routine-duration-custom input{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}
@media(max-width:520px){.routine-duration-options{grid-template-columns:1fr}.plan-duration-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.routine-duration-options>.micro{grid-column:auto}}

/* v3.91.0 · selector de ejercicios móvil vertical y contraste oscuro sólido */
.exercise-picker-modal{
  overflow-x:hidden!important;
}
.exercise-picker-modal .exercise-picker-form{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr)!important;
  overflow-x:hidden!important;
}
.exercise-picker-modal .exercise-picker-form>*{
  max-width:100%!important;
  min-width:0!important;
}
.exercise-picker-modal :where(.picker-intro,.muscle-access,.exercise-picker-toolbar,.picker-smart-tools,.selection-status,.selected-exercise-queue,.exercise-picker-grid,.exercise-submit-bar){
  min-width:0!important;
  max-width:100%!important;
}
.exercise-picker-modal .picker-intro>.row>div,
.exercise-picker-modal .muscle-access>.row>div,
.exercise-picker-modal .selection-status>div,
.exercise-picker-modal .exercise-pick-card>span{
  min-width:0!important;
}
.exercise-picker-modal .picker-step{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:34px;
  padding:7px 10px;
  border-radius:12px;
  font-size:9px!important;
  line-height:1;
  white-space:nowrap;
  background:var(--sc-brand,var(--red))!important;
  box-shadow:none!important;
}
.exercise-picker-modal .selected-exercise-queue{
  flex-wrap:wrap;
  overflow-x:visible;
}
.exercise-picker-modal .selected-exercise-chip{
  max-width:100%;
}
.exercise-picker-modal .exercise-submit-bar.bulk-submit{
  background:var(--sc-surface,#fff)!important;
  border-top:1px solid var(--sc-line,var(--line));
  box-shadow:0 -10px 24px rgba(31,22,25,.08);
}

@media(max-width:699px){
  .exercise-picker-modal{
    width:100vw!important;
    max-width:100vw!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .exercise-picker-modal>.modal-head{
    width:auto!important;
    max-width:none!important;
  }
  .exercise-picker-modal .picker-intro>.row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .exercise-picker-modal .picker-step{
    justify-self:start;
  }
  .exercise-picker-modal .picker-flow-hint{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
  }
  .exercise-picker-modal .picker-flow-hint span{
    min-width:0!important;
    padding-inline:7px;
    overflow:hidden;
  }
  .exercise-picker-modal .picker-flow-hint span:not(.active){
    color:var(--sc-muted,var(--muted));
  }
  .exercise-picker-modal .picker-view-tabs.five{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
  .exercise-picker-modal .picker-view-tabs.five button{
    width:100%!important;
    min-width:0!important;
  }
  .exercise-picker-modal .picker-view-tabs.five button:last-child{
    grid-column:1/-1;
  }
  .exercise-picker-modal .muscle-filter-strip{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    padding:2px 0 0!important;
    scroll-snap-type:none!important;
  }
  .exercise-picker-modal .muscle-filter-chip{
    width:100%!important;
    min-width:0!important;
    min-height:52px;
    white-space:normal;
  }
  .exercise-picker-modal .exercise-picker-toolbar{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .exercise-picker-modal .exercise-picker-toolbar .picker-secondary-filters{
    width:100%!important;
    min-width:0!important;
  }
  .exercise-picker-modal .picker-smart-tools{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-right:0!important;
    overflow:visible!important;
    padding:0!important;
  }
  .exercise-picker-modal .picker-smart-tools button{
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start;
    white-space:normal;
    line-height:1.25;
  }
  .exercise-picker-modal .picker-smart-tools button:last-child{
    grid-column:1/-1;
  }
  .exercise-picker-modal .selection-status{
    width:100%!important;
  }
  .exercise-picker-modal .exercise-picker-grid.visual-picker{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .exercise-picker-modal .exercise-submit-bar.bulk-submit{
    width:100%!important;
    margin:10px 0 0!important;
    bottom:0!important;
    padding:11px 0 calc(10px + var(--safe-bottom))!important;
    border-radius:0!important;
  }
}

@media(max-width:560px){
  .exercise-picker-modal .exercise-submit-bar.bulk-submit{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
  }
  .exercise-picker-modal .submit-selection-copy{
    grid-column:auto!important;
  }
  .exercise-picker-modal .exercise-submit-bar.bulk-submit .btn{
    width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:360px){
  .exercise-picker-modal .picker-flow-hint{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .exercise-picker-modal .muscle-filter-strip,
  .exercise-picker-modal .picker-smart-tools,
  .exercise-picker-modal .picker-view-tabs.five{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .exercise-picker-modal .picker-view-tabs.five button:last-child,
  .exercise-picker-modal .picker-smart-tools button:last-child{
    grid-column:auto;
  }
}

html[data-theme="dark"] .exercise-picker-modal :where(.picker-intro,.muscle-access.compact,.picker-secondary-filters,.exercise-pick-shell,.exercise-submit-bar.bulk-submit){
  color:var(--sc-text)!important;
  background:var(--sc-surface)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .exercise-picker-modal .picker-intro{
  background:var(--sc-surface)!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.picker-flow-hint span,.picker-view-tabs button,.muscle-filter-chip,.picker-smart-tools button,.selection-status:not(.active),.exercise-patterns button){
  color:var(--sc-text)!important;
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.picker-flow-hint span small,.picker-view-tabs button small,.muscle-filter-chip small,.picker-smart-tools button small,.selection-status:not(.active) small){
  color:var(--sc-muted)!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.picker-flow-hint .active,.picker-view-tabs button.active,.muscle-filter-chip.active,.picker-smart-tools button.active,.selection-status.active){
  color:#fff!important;
  background:var(--sc-brand)!important;
  border-color:var(--sc-brand)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.picker-view-tabs button.active small,.muscle-filter-chip.active small,.selection-status.active small){
  color:#ffe5ea!important;
}
html[data-theme="dark"] .exercise-picker-modal .picker-flow-hint .active b{
  color:var(--sc-brand)!important;
  background:#fff!important;
}
html[data-theme="dark"] .exercise-picker-modal .picker-smart-tools button small{
  background:var(--sc-surface-3)!important;
}
html[data-theme="dark"] .exercise-picker-modal .picker-smart-tools button.active small{
  color:var(--sc-text)!important;
  background:rgba(255,255,255,.9)!important;
}
html[data-theme="dark"] .exercise-picker-modal .selection-status:not(.active)>span{
  color:#fff!important;
  background:var(--sc-brand)!important;
}
html[data-theme="dark"] .exercise-picker-modal .selection-status.active>span{
  color:var(--sc-brand)!important;
  background:#fff!important;
}
html[data-theme="dark"] .exercise-picker-modal .exercise-pick-card:has(input:checked),
html[data-theme="dark"] .exercise-picker-modal .exercise-pick-shell.selected{
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-brand)!important;
  box-shadow:0 0 0 1px var(--sc-brand)!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.exercise-pick-actions button,.exercise-favorite,.exercise-technique-trigger){
  color:var(--sc-text)!important;
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-line)!important;
}
html[data-theme="dark"] .exercise-picker-modal :where(.exercise-pick-actions button:hover,.exercise-technique-trigger:focus-visible,.exercise-favorite.active){
  color:#fff!important;
  background:var(--sc-brand)!important;
}
html[data-theme="dark"] .exercise-picker-modal .exercise-pick-icon,
html[data-theme="dark"] .exercise-picker-modal .exercise-pick-icon.has-illustration img{
  background:var(--sc-surface-3)!important;
}
html[data-theme="dark"] .exercise-picker-modal .exercise-submit-bar.bulk-submit{
  background:#121014!important;
  border-top-color:var(--sc-line)!important;
  box-shadow:0 -12px 28px rgba(0,0,0,.34)!important;
}
html[data-theme="dark"] .exercise-picker-modal .submit-selection-copy small{
  color:var(--sc-muted)!important;
}

/* v3.91.0 · el contador pertenece al flujo; no invade el encabezado al desplazarse */
@media(max-width:699px){
  .exercise-picker-modal .selection-status{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    box-shadow:none!important;
  }
}

/* v3.92.0 · modos de entrenamiento + editor de rutina más limpio */
.routine-training-mode-block{display:grid;gap:11px;padding:14px;border:1px solid var(--sc-line,var(--line));border-radius:20px;background:var(--sc-surface-3,#f7f4f5)}
.routine-training-mode-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.routine-training-mode-head>div{display:grid;gap:3px}.routine-training-mode-head strong{color:var(--sc-text,var(--navy));font-size:12px}.routine-training-mode-head small{color:var(--sc-muted,var(--muted));font-size:9px;line-height:1.45}
.routine-training-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.routine-training-mode-choice{position:relative;display:block;min-width:0}.routine-training-mode-choice input{position:absolute;opacity:0;pointer-events:none}.routine-training-mode-choice>span{display:grid;gap:4px;min-height:74px;padding:11px 12px;border:1px solid var(--sc-line,var(--line));border-radius:16px;background:var(--sc-surface-2,#fff);cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.routine-training-mode-choice>span strong{color:var(--sc-text,var(--navy));font-size:10px}.routine-training-mode-choice>span small{color:var(--sc-muted,var(--muted));font-size:8px;line-height:1.38}.routine-training-mode-choice input:checked+span{border-color:color-mix(in srgb,var(--sc-brand,#b71935) 64%,var(--sc-line,var(--line)));background:color-mix(in srgb,var(--sc-brand,#b71935) 9%,var(--sc-surface-2,#fff));box-shadow:0 8px 18px color-mix(in srgb,var(--sc-brand,#b71935) 10%,transparent)}.routine-training-mode-choice input:focus-visible+span{outline:2px solid color-mix(in srgb,var(--sc-brand,#b71935) 45%,transparent);outline-offset:2px}.routine-training-mode-choice:active>span{transform:scale(.985)}.progression-strategy-choice input:disabled+span{opacity:.52;cursor:not-allowed;filter:saturate(.72)}.progression-strategy-block{margin-top:10px}.progression-strategy-grid{align-items:stretch}
.routine-training-mode-more{border-top:1px solid var(--sc-line,var(--line));padding-top:8px}.routine-training-mode-more>summary{display:inline-flex;align-items:center;gap:6px;color:var(--sc-brand,#b71935);font-size:9px;font-weight:900;cursor:pointer}.routine-training-mode-more .routine-training-mode-grid{margin-top:9px}.routine-training-mode-note{margin:0!important}
.routine-program-mode{display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:8px;row-gap:1px;align-items:center;margin-top:10px;max-width:520px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--sc-brand,#b71935) 22%,var(--sc-line,var(--line)));border-radius:14px;background:color-mix(in srgb,var(--sc-brand,#b71935) 6%,var(--sc-surface-2,#fff))}.routine-program-mode>span{grid-row:1/3;display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:color-mix(in srgb,var(--sc-brand,#b71935) 12%,var(--sc-surface-2,#fff));color:var(--sc-brand,#b71935)}.routine-program-mode strong{font-size:9px;color:var(--sc-text,var(--navy))}.routine-program-mode small{font-size:7.5px;line-height:1.35;color:var(--sc-muted,var(--muted))}
.routine-mode-summary{border-color:color-mix(in srgb,var(--sc-brand,#b71935) 28%,var(--sc-line,var(--line)))!important;background:color-mix(in srgb,var(--sc-brand,#b71935) 7%,var(--sc-surface-2,#fff))!important;color:var(--sc-brand,#b71935)!important}
.training-aware-list{display:grid!important;gap:9px!important}.routine-training-cluster{display:flex;align-items:center;gap:9px;margin:8px 2px 1px;padding:9px 11px;border-radius:14px;border:1px solid var(--sc-line,var(--line));background:var(--sc-surface-3,#f7f4f5)}.routine-training-cluster>span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:var(--sc-surface-2,#fff);color:var(--sc-brand,#b71935);font-size:9px;font-weight:950}.routine-training-cluster>div{min-width:0;display:grid;gap:2px}.routine-training-cluster strong{color:var(--sc-text,var(--navy));font-size:9px}.routine-training-cluster small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sc-muted,var(--muted));font-size:7.5px}.routine-training-cluster.linked{border-color:color-mix(in srgb,var(--sc-brand,#b71935) 30%,var(--sc-line,var(--line)));background:color-mix(in srgb,var(--sc-brand,#b71935) 5%,var(--sc-surface-3,#f7f4f5))}.routine-training-cluster.linked>span{background:var(--sc-brand,#b71935);color:#fff}
.routine-technique-chip{border-color:color-mix(in srgb,var(--sc-brand,#b71935) 32%,var(--sc-line,var(--line)))!important;background:color-mix(in srgb,var(--sc-brand,#b71935) 8%,var(--sc-surface-2,#fff))!important;color:var(--sc-brand,#b71935)!important}
.practical-exercise-card{box-shadow:none!important;border-color:var(--sc-line,var(--line))!important;background:var(--sc-surface-2,#fff)!important}.practical-exercise-card .routine-prescription-trigger{border-color:var(--sc-line,var(--line))!important;background:var(--sc-surface-3,#f7f4f5)!important}.practical-exercise-card .routine-inline-prescription>summary{border-color:var(--sc-line,var(--line));background:var(--sc-surface-2,#fff)}
html[data-theme="dark"] .routine-training-mode-block,html[data-theme="dark"] .routine-training-cluster{background:var(--sc-surface-3);border-color:var(--sc-line)}html[data-theme="dark"] .routine-training-mode-choice>span,html[data-theme="dark"] .routine-training-cluster>span{background:var(--sc-surface-2);border-color:var(--sc-line)}html[data-theme="dark"] .routine-training-mode-choice input:checked+span{background:color-mix(in srgb,var(--sc-brand) 18%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 58%,var(--sc-line))}html[data-theme="dark"] .routine-program-mode{background:color-mix(in srgb,var(--sc-brand) 12%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--sc-line))}
@media(max-width:700px){.routine-training-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-training-mode-choice>span{min-height:82px;padding:10px}.compact-active-day{padding-inline:12px!important}.routine-batch-panel{padding:11px!important;border-radius:17px!important}.routine-batch-head{gap:8px!important}.routine-batch-head small{display:none}.routine-exercise-card{grid-template-columns:26px 64px minmax(0,1fr)!important;gap:9px!important;padding:10px!important;border-radius:18px!important}.routine-exercise-card .program-exercise-thumb{width:64px!important;height:80px!important;border-radius:12px!important}.routine-exercise-card h4{font-size:15px!important}.routine-inline-controls{display:none!important}.routine-prescription-trigger{margin-top:7px!important;padding:8px 9px!important;border-radius:12px!important}.routine-prescription-edit{font-size:8px!important}.routine-inline-prescription{margin-top:7px!important}.routine-inline-prescription>summary{min-height:38px!important;padding:8px 10px!important;font-size:8px!important}.routine-exercise-meta{gap:4px!important}.routine-exercise-meta span{min-height:20px!important;padding:2px 6px!important;font-size:7px!important}.routine-training-cluster{margin-top:7px}.program-focus-dock{box-shadow:0 -8px 22px rgba(18,13,15,.09)!important}}
@media(max-width:420px){.routine-training-mode-grid{grid-template-columns:1fr}.routine-training-mode-choice>span{min-height:64px}.routine-training-mode-head{display:grid}.routine-exercise-card{grid-template-columns:24px 58px minmax(0,1fr)!important;gap:8px!important}.routine-exercise-card .program-exercise-thumb{width:58px!important;height:72px!important}.routine-prescription-line{gap:4px 7px!important}.routine-prescription-line span{font-size:8px!important}}

/* v3.92.0 · editor móvil: menos paneles, más jerarquía */
@media(max-width:700px){
  .program-builder .compact-active-day{
    background:var(--sc-surface-2,#fff)!important;
    border-color:var(--sc-line,var(--line))!important;
    box-shadow:none!important;
  }
  .program-builder .active-day-kicker.compact-kicker{display:none!important}
  .program-builder .day-visual-overview.compact-overview{display:none!important}
  .program-builder .program-day-head{align-items:center!important;gap:9px!important}
  .program-builder .program-day-head .day-number{width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:11px!important;font-size:13px!important}
  .program-builder .program-day-fields{min-width:0!important}
  .program-builder .day-title-input{font-size:14px!important;font-weight:900!important}
  .program-builder .day-focus-input{font-size:9px!important}
  .program-builder .day-primary-actions .btn{min-height:38px!important;padding:8px 10px!important;font-size:9px!important}
  .program-builder .compact-day-summary{gap:6px!important;margin-top:8px!important}
  .program-builder .compact-day-summary>span{min-height:26px!important;padding:5px 8px!important;font-size:8px!important}
  .routine-batch-panel:not(.active){padding:8px 10px!important;margin-block:8px!important;border-radius:14px!important;background:var(--sc-surface-3,#f7f4f5)!important}
  .routine-batch-panel:not(.active) .routine-batch-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important}
  .routine-batch-panel:not(.active) .routine-batch-head>div{display:block!important;min-width:0!important}
  .routine-batch-panel:not(.active) .routine-batch-head .eyebrow{display:none!important}
  .routine-batch-panel:not(.active) .routine-batch-head strong{display:block!important;font-size:9px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .routine-batch-panel:not(.active) .routine-batch-head-actions{flex:0 0 auto!important}
  .routine-batch-panel:not(.active) .routine-batch-head-actions button{min-height:30px!important;padding:5px 9px!important;border-radius:10px!important;font-size:8px!important}
  .program-builder .program-day-tabs{gap:7px!important}
  .program-builder .program-day-tabs button{min-height:58px!important;padding:8px 10px!important;border-radius:15px!important}
  .program-builder .compact-builder-summary{box-shadow:none!important}
}
html[data-theme="dark"] .routine-batch-panel:not(.active){background:var(--sc-surface-3)!important;border-color:var(--sc-line)!important}


/* v3.93.0 · Programas responsive + creación orientada al objetivo
   Retrato: cero carruseles horizontales en el centro de Programas/editor.
   Paisaje: recupera una composición compacta horizontal cuando hay ancho real. */
.routine-goal-choice>span small{display:block;margin-top:4px;color:var(--sc-muted,var(--muted));font-size:8px;line-height:1.35}
.routine-goal-lock-note{margin:8px 2px 0!important;line-height:1.45}

@media (max-width:699px) and (orientation:portrait){
  .program-command-section,
  .program-command-section>*,
  .program-builder,
  .program-builder>*{min-width:0;max-width:100%}
  .program-command-section{width:100%;overflow-x:clip}
  .program-command-hero{width:100%;overflow:hidden}
  .program-command-hero .row.start{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  .program-command-hero .row.start>.btn{width:100%}
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}
  .program-command-metrics.portfolio-metrics>div,
  .program-command-hero .portfolio-metrics>div{min-width:0!important;width:auto!important;flex:none!important;padding:10px!important}
  .program-toolbar-384{width:100%;overflow:hidden}
  .program-search-wrap,.program-search{min-width:0;width:100%}
  .program-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding-bottom:0!important}
  .program-filters .filter-pill{width:100%!important;min-width:0!important;justify-content:center!important;white-space:normal!important;text-align:center!important}
  .premium-plans-grid{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:12px!important}
  .premium-program-card{width:100%;min-width:0;max-width:100%;overflow:hidden}
  .program-card-top,.program-client-label,.program-progress-stack,.program-card-actions{min-width:0}
  .program-day-preview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding-bottom:0!important;scroll-snap-type:none!important}
  .program-day-preview span{min-width:0!important;width:auto!important;flex:none!important}
  .program-card-actions{grid-template-columns:1fr!important}

  .program-builder-modal>.program-builder{overflow-x:hidden!important}
  .program-builder .day-navigator{overflow:visible!important}
  .program-builder .program-day-tabs{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:8px 0 2px!important;scroll-snap-type:none!important}
  .program-builder .program-day-tab{width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;scroll-snap-align:none!important}
  .program-builder .program-day-tab strong{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
  .program-builder .program-day-head{display:grid!important;grid-template-columns:34px minmax(0,1fr)!important}
  .program-builder .program-day-fields{width:100%!important}
  .program-builder .program-exercise-list,
  .program-builder .program-exercise-card,
  .program-builder .routine-exercise-card{min-width:0!important;max-width:100%!important}

  .plan-create-flow,.plan-create-section,.routine-config-block,.routine-days-block,.routine-training-mode-block,.plan-create-advanced-body{min-width:0!important;max-width:100%!important;overflow-x:hidden}
  .routine-goal-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .routine-training-mode-grid{grid-template-columns:1fr!important}
  .routine-training-mode-choice>span{min-height:64px!important}
  .routine-day-options{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important}
}

@media (max-width:420px) and (orientation:portrait){
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics{grid-template-columns:1fr 1fr!important}
  .program-filters{grid-template-columns:1fr 1fr!important}
  .program-builder .program-day-tabs{grid-template-columns:1fr!important}
  .routine-goal-options{grid-template-columns:1fr!important}
  .routine-day-options{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}

@media (orientation:landscape) and (max-height:620px) and (max-width:980px){
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important}
  .program-command-metrics.portfolio-metrics>div,
  .program-command-hero .portfolio-metrics>div{flex:0 0 96px!important;min-width:96px!important}
  .program-filters{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important}
  .program-filters .filter-pill{flex:0 0 auto!important;width:auto!important;white-space:nowrap!important}
  .premium-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .program-day-preview{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important}
  .program-day-preview span{flex:0 0 96px!important}
  .program-builder .program-day-tabs{display:flex!important;overflow-x:auto!important;grid-template-columns:none!important;scroll-snap-type:x mandatory!important}
  .program-builder .program-day-tab{flex:0 0 min(185px,38vw)!important;width:auto!important}
  .routine-training-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* v3.94.0 · Programas sin estado horizontal residual + contraste oscuro de Sesión guiada
   Móvil usa un layout vertical por ancho como base. Paisaje real se activa después de forma explícita. */
@media (max-width:699px){
  html,body,#app,.app-shell,.screen{
    max-width:100%!important;
    overflow-x:clip!important;
  }
  .program-command-section,
  .program-command-section>*,
  .program-command-hero,
  .program-command-hero>*,
  .program-builder,
  .program-builder>*,
  .program-builder-modal,
  .program-toolbar-384,
  .program-toolbar-384>*,
  .premium-plans-grid,
  .premium-plan-card,
  .program-card,
  .program-resume-card,
  .program-priority,
  .program-knowledge-entry{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .program-command-section{overflow-x:clip!important}
  .program-command-hero{overflow:hidden!important}
  .program-command-hero .row.start{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:9px!important;
  }
  .program-command-hero .row.start>.btn{width:100%!important;min-width:0!important}
  .program-command-hero :where(h1,h2,p,strong,small,em),
  .program-resume-card :where(strong,small,em),
  .program-priority :where(strong,small,em),
  .program-knowledge-entry :where(h1,h2,p){
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere;
  }
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .program-command-metrics.portfolio-metrics>div,
  .program-command-hero .portfolio-metrics>div{
    min-width:0!important;
    width:auto!important;
    max-width:100%!important;
    flex:none!important;
    padding:10px!important;
  }
  .program-priority,
  .program-resume-card{
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  .program-priority>b,
  .program-resume-card>b{display:none!important}
  .program-knowledge-entry{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:12px!important;
  }
  .program-knowledge-entry .btn{width:100%!important;min-width:0!important}
  .program-toolbar-384{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  .program-toolbar-384>.btn{width:100%!important;min-width:0!important}
  .program-filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .program-filters>*{min-width:0!important;width:auto!important;max-width:100%!important;flex:none!important}
  .premium-plans-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .program-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
  .program-card-actions>.btn{width:100%!important;min-width:0!important}
  .program-day-preview{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    overflow:visible!important;
    padding:0!important;
    scroll-snap-type:none!important;
  }
  .program-day-preview>*{min-width:0!important;width:auto!important;max-width:100%!important;flex:none!important}
  .program-builder-tabs,
  .program-builder-day-nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    overflow:visible!important;
    gap:8px!important;
  }
  .program-builder-tabs>*,
  .program-builder-day-nav>*{min-width:0!important;width:auto!important;max-width:100%!important;flex:none!important}
}

@media (max-width:420px){
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics,
  .program-filters,
  .program-day-preview,
  .program-builder-tabs,
  .program-builder-day-nav{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* El paisaje verdadero recupera densidad horizontal; no depende de un estado previo de la app. */
@media (orientation:landscape) and (max-height:620px) and (max-width:980px){
  .program-command-section{overflow-x:hidden!important}
  .program-command-hero .row.start{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
  }
  .program-command-hero .row.start>.btn{width:auto!important}
  .program-command-metrics.portfolio-metrics,
  .program-command-hero .portfolio-metrics{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .program-command-metrics.portfolio-metrics>div,
  .program-command-hero .portfolio-metrics>div{flex:0 0 96px!important;min-width:96px!important;width:96px!important}
  .program-priority,
  .program-resume-card{grid-template-columns:auto minmax(0,1fr) auto!important}
  .program-priority>b,
  .program-resume-card>b{display:flex!important}
  .program-knowledge-entry{display:flex!important;align-items:center!important;justify-content:space-between!important}
  .program-knowledge-entry .btn{width:auto!important}
  .program-toolbar-384{display:flex!important;align-items:center!important;justify-content:space-between!important}
  .program-toolbar-384>.btn{width:auto!important}
  .program-filters,
  .program-day-preview,
  .program-builder-tabs,
  .program-builder-day-nav{
    display:flex!important;
    overflow-x:auto!important;
    gap:8px!important;
    scrollbar-width:none;
  }
  .program-filters>*,.program-day-preview>*,.program-builder-tabs>*,.program-builder-day-nav>*{flex:0 0 auto!important;width:auto!important}
  .premium-plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Sesión guiada: las superficies oscuras deben seguir siendo oscuras y legibles. */
html[data-theme="dark"] :where(.workout-current,.workout-debrief-card,.workout-note-card){
  color:var(--sc-text)!important;
  background:var(--sc-surface)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .immersive-meta span,
html[data-theme="dark"] .workout-meta-grid span{
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,var(--sc-elevated),var(--sc-surface-2))!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .immersive-meta span strong,
html[data-theme="dark"] .workout-meta-grid span strong{color:#fff!important;opacity:1!important}
html[data-theme="dark"] .immersive-meta span small,
html[data-theme="dark"] .workout-meta-grid span small{color:var(--sc-muted)!important;opacity:1!important}
html[data-theme="dark"] .workout-set-card.effective{
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,#211c21,#171418)!important;
  border-color:#463c43!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .workout-set-card.approximation{
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,#122624,#101c1d)!important;
  border-color:rgba(94,234,212,.32)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .workout-set-card.completed{
  color:var(--sc-text)!important;
  background:linear-gradient(180deg,#16251f,#121d19)!important;
  border-color:rgba(74,222,128,.32)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .workout-set-card :where(label>span,.set-cell small){color:#c8bec3!important;opacity:1!important}
html[data-theme="dark"] .workout-set-card .set-cell strong{color:#fff!important;opacity:1!important}
html[data-theme="dark"] .workout-set-card.approximation .set-cell strong{color:#8ee8dc!important}
html[data-theme="dark"] .workout-set-card .set-input{
  color:#fff!important;
  background:#0d0b0e!important;
  border-color:#554a51!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important;
}
html[data-theme="dark"] .workout-set-card .set-input::placeholder{color:#94898f!important;opacity:1!important}
html[data-theme="dark"] .set-effort-label{
  color:var(--sc-text)!important;
  background:#1a171b!important;
  border-color:#51474d!important;
}
html[data-theme="dark"] .set-effort-label small{color:var(--sc-muted)!important}
html[data-theme="dark"] .set-check{
  color:#f7f3f5!important;
  background:#2a252b!important;
  border-color:#51484e!important;
}
html[data-theme="dark"] .set-check.done{color:#fff!important;background:#23634e!important;border-color:#2f7a61!important}
html[data-theme="dark"] .workout-up-next{
  color:var(--sc-text)!important;
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-line)!important;
  box-shadow:none!important;
}
html[data-theme="dark"] .workout-up-next>span{color:#fff!important;background:#0d0b0e!important;border:1px solid var(--sc-line)!important}
html[data-theme="dark"] .workout-up-next :where(small,em){color:var(--sc-muted)!important;opacity:1!important}
html[data-theme="dark"] .workout-up-next strong{color:#fff!important}
html[data-theme="dark"] .workout-debrief-card :where(.debrief-choice,.debrief-energy button){
  color:var(--sc-text)!important;
  background:var(--sc-surface-2)!important;
  border-color:var(--sc-line)!important;
}
html[data-theme="dark"] .workout-debrief-card :where(.debrief-choice.active,.debrief-energy button.active){
  color:#fff!important;
  background:color-mix(in srgb,var(--sc-brand) 22%,var(--sc-surface-2))!important;
  border-color:var(--sc-brand)!important;
}

/* iOS/Safari puede conservar momentáneamente una orientación CSS obsoleta tras cerrar un modal.
   La clase sincronizada con visualViewport sirve como segunda fuente de verdad. */
body.sc-phone-portrait :where(.program-command-section,.program-command-hero,.program-builder,.program-builder-modal,.program-toolbar-384,.premium-plans-grid,.program-resume-card,.program-priority,.program-knowledge-entry){
  box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important
}
body.sc-phone-portrait .program-command-section{overflow-x:clip!important}
body.sc-phone-portrait .program-command-hero{overflow:hidden!important}
body.sc-phone-portrait .program-command-hero .row.start{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
body.sc-phone-portrait .program-command-hero .row.start>.btn{width:100%!important}
body.sc-phone-portrait :where(.program-command-metrics.portfolio-metrics,.program-command-hero .portfolio-metrics){
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important
}
body.sc-phone-portrait :where(.program-command-metrics.portfolio-metrics,.program-command-hero .portfolio-metrics)>div{min-width:0!important;width:auto!important;max-width:100%!important;flex:none!important}
body.sc-phone-portrait :where(.program-priority,.program-resume-card){grid-template-columns:44px minmax(0,1fr)!important;overflow:hidden!important}
body.sc-phone-portrait :where(.program-priority,.program-resume-card)>b{display:none!important}
body.sc-phone-portrait .program-knowledge-entry{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}
body.sc-phone-portrait .program-knowledge-entry .btn{width:100%!important}
body.sc-phone-portrait .program-toolbar-384{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
body.sc-phone-portrait .program-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;overflow:visible!important}
body.sc-phone-portrait .premium-plans-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
body.sc-phone-portrait .program-card-actions{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
body.sc-phone-portrait .program-day-preview{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;overflow:visible!important}
body.sc-phone-portrait :where(.program-command-hero,.program-resume-card,.program-priority,.program-knowledge-entry) :where(h1,h2,p,strong,small,em){min-width:0!important;max-width:100%!important;overflow-wrap:anywhere}

html[data-theme="dark"] .workout-set-card .set-cell{
  color:var(--sc-text)!important;
  background:transparent!important;
  border-color:transparent!important;
}

/* v3.96 · cierre de calidad de rutinas: tiempo real + reequilibrio semanal */
.routine-time-grid em{font-style:normal;font-size:8px;color:var(--muted);line-height:1.25}
.routine-time-grid span.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));background:color-mix(in srgb,var(--warning) 9%,var(--surface-soft))}
.routine-quality-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.routine-quality-action>div{display:grid;gap:3px;min-width:0}.routine-quality-action strong{font-size:12px}.routine-quality-action small{font-size:9px;color:var(--muted);line-height:1.35}
@media(max-width:560px){.routine-quality-action{align-items:stretch;flex-direction:column}.routine-quality-action .btn{width:100%}}

/* v3.97 · diversidad semanal de patrones + tiempo sensible a superseries/circuitos */
.routine-pattern-audit{margin:12px 0;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);overflow:hidden}
.routine-pattern-audit>summary{display:flex;align-items:center;gap:8px;padding:11px 12px;cursor:pointer;font-size:11px;font-weight:800;list-style:none}
.routine-pattern-audit>summary::-webkit-details-marker{display:none}
.routine-pattern-grid{display:grid;gap:8px;padding:0 10px 10px}
.routine-pattern-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:start;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}
.routine-pattern-row>span:first-child{display:grid;gap:2px;min-width:0}
.routine-pattern-row strong{font-size:11px}.routine-pattern-row small{font-size:8.5px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.routine-pattern-row p{grid-column:1/-1;margin:0;font-size:8.5px;color:var(--muted);line-height:1.35}
.routine-pattern-row.warning{border-color:color-mix(in srgb,var(--warning) 38%,var(--line));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}
html[data-theme="dark"] .routine-pattern-audit{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .routine-pattern-row{background:var(--sc-surface)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .routine-pattern-row.warning{background:color-mix(in srgb,var(--warning) 8%,var(--sc-surface))!important;border-color:color-mix(in srgb,var(--warning) 38%,var(--sc-line))!important}
html[data-theme="dark"] .routine-pattern-row :where(small,p){color:var(--sc-muted)!important}
@media(max-width:560px){.routine-pattern-row{grid-template-columns:minmax(0,1fr)}.routine-pattern-row>.chip{justify-self:start}.routine-pattern-row p{grid-column:1}}




/* v4.00 · alternativas inteligentes de técnica */
.technique-alternatives{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:20px;background:var(--surface-soft)}
.technique-alternatives-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.technique-alternatives-head h3{margin:2px 0 0;font-size:15px}.technique-alternative-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.technique-alternative-card{appearance:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:8px;align-items:center;text-align:left;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);cursor:pointer;min-width:0}
.technique-alternative-card:has(.technique-alternative-media){grid-template-columns:62px minmax(0,1fr) 18px}.technique-alternative-card:hover,.technique-alternative-card:focus-visible{border-color:color-mix(in srgb,var(--brand,#d61f43) 40%,var(--line));background:color-mix(in srgb,var(--brand,#d61f43) 5%,var(--surface));outline:none}.technique-alternative-card>span{display:grid;gap:3px;min-width:0}.technique-alternative-card strong{font-size:9px;line-height:1.25}.technique-alternative-card small{font-size:7.5px;color:var(--muted);line-height:1.25;overflow-wrap:anywhere}.technique-alternative-media{display:block;width:62px;height:58px;border-radius:11px;overflow:hidden;background:var(--surface-soft)}.technique-alternative-media img{width:100%;height:100%;object-fit:cover;display:block}
html[data-theme="dark"] .technique-alternative-card{background:var(--sc-surface,#1b171a)!important;border-color:var(--sc-line,#3b3035)!important;color:var(--sc-text,#fff7f9)!important}html[data-theme="dark"] .technique-alternative-card small{color:var(--sc-muted,#c9bec2)!important}html[data-theme="dark"] .technique-alternatives{background:var(--sc-surface-2,#211b1f)!important;border-color:var(--sc-line,#3b3035)!important}
@media(max-width:700px){.technique-alternative-grid{grid-template-columns:1fr}.technique-alternative-card:has(.technique-alternative-media){grid-template-columns:58px minmax(0,1fr) 18px}.technique-alternative-media{width:58px;height:54px}}

/* v4.01 · biblioteca inteligente + técnica compacta */
.exercise-library-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:4px;border:1px solid var(--sc-line,var(--line));border-radius:16px;background:var(--sc-surface-2,var(--surface-soft))}
.exercise-library-view-tabs button{appearance:none;border:0;border-radius:12px;background:transparent;color:var(--sc-muted,var(--muted));min-height:42px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.exercise-library-view-tabs button strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--sc-surface,var(--surface));border:1px solid var(--sc-line,var(--line));font-size:8px;color:var(--sc-text,var(--text))}
.exercise-library-view-tabs button.active{background:var(--sc-surface,var(--surface));color:var(--sc-text,var(--text));box-shadow:0 6px 18px rgba(29,20,25,.06)}
.exercise-library-view-tabs button.active strong{background:var(--brand,#d61f43);border-color:var(--brand,#d61f43);color:#fff}
.exercise-library-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end}
.exercise-library-filters label{display:grid;gap:5px;min-width:0}.exercise-library-filters label>span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--sc-muted,var(--muted))}
.exercise-library-filters select{width:100%;min-width:0;height:40px;border:1px solid var(--sc-line,var(--line));border-radius:12px;background:var(--sc-surface,var(--surface));color:var(--sc-text,var(--text));padding:0 30px 0 10px;font-size:10px;font-weight:800}
.library-clear-filters{min-height:40px;white-space:nowrap}
.exercise-library-card{position:relative}
.library-favorite-button{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(23,20,25,.76);color:#fff;backdrop-filter:blur(8px);cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.14)}
.library-favorite-button.active{background:var(--brand,#d61f43);border-color:var(--brand,#d61f43);color:#fff}
.library-favorite-button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.technique-favorite{width:max-content;margin-top:8px}.technique-favorite.active{background:color-mix(in srgb,var(--brand,#d61f43) 10%,var(--surface));border-color:color-mix(in srgb,var(--brand,#d61f43) 35%,var(--line));color:var(--brand,#d61f43)}
.technique-compact-essentials{display:grid;gap:6px;padding:9px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft)}
.technique-compact-essentials span{display:grid;grid-template-columns:22px minmax(0,1fr);gap:7px;align-items:start;font-size:9px;line-height:1.4;color:var(--text)}
.technique-compact-essentials b{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:8px;color:var(--brand,#d61f43)}
.technique-open-full{justify-self:start}.compact-safety{font-size:9px}
html[data-theme="dark"] .exercise-library-view-tabs{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important}
html[data-theme="dark"] .exercise-library-view-tabs button.active,html[data-theme="dark"] .exercise-library-view-tabs button strong,html[data-theme="dark"] .exercise-library-filters select,html[data-theme="dark"] .technique-compact-essentials,html[data-theme="dark"] .technique-compact-essentials b{background:var(--sc-surface)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .exercise-library-view-tabs button.active strong{background:var(--sc-brand,#f04463)!important;border-color:var(--sc-brand,#f04463)!important;color:#fff!important}
html[data-theme="dark"] .technique-favorite.active{background:color-mix(in srgb,var(--sc-brand,#f04463) 13%,var(--sc-surface,#1b171a))!important;border-color:color-mix(in srgb,var(--sc-brand,#f04463) 45%,var(--sc-line,#3b3035))!important;color:var(--sc-brand,#f04463)!important}
@media(max-width:720px){.exercise-library-filters{grid-template-columns:1fr 1fr}.library-clear-filters{grid-column:1/-1;width:100%;justify-content:center}}
@media(max-width:480px){.exercise-library-view-tabs button{padding:6px 5px;font-size:9px}.exercise-library-view-tabs button strong{min-width:20px;height:20px}.exercise-library-filters{grid-template-columns:1fr}.library-clear-filters{grid-column:auto}.exercise-library-filters select{height:42px}.technique-open-full{width:100%;justify-content:center}}


/* v4.02 · perfil de equipo + selección compatible */
.exercise-equipment-profile{margin:14px 0 18px;padding:14px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface),var(--surface-soft));display:grid;gap:12px}
.exercise-equipment-profile.active{border-color:color-mix(in srgb,var(--sc-brand) 38%,var(--line));box-shadow:0 10px 30px rgba(18,20,24,.06)}
.exercise-equipment-profile-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.exercise-equipment-profile-head>div{display:grid;gap:2px;min-width:0}.exercise-equipment-profile-head small{color:var(--muted)}
.equipment-profile-chips{display:flex;flex-wrap:wrap;gap:8px}.equipment-profile-chips button{min-height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.82rem;font-weight:750;display:inline-flex;align-items:center;gap:6px;cursor:pointer}.equipment-profile-chips button.active{background:color-mix(in srgb,var(--sc-brand) 10%,var(--surface));border-color:color-mix(in srgb,var(--sc-brand) 45%,var(--line));color:var(--sc-brand)}
.exercise-equipment-profile.compact{margin:10px 0;padding:11px 12px;border-radius:16px}.exercise-equipment-profile.compact .exercise-equipment-profile-head .eyebrow{display:none}.exercise-equipment-profile.compact .exercise-equipment-profile-head strong{font-size:.92rem}.exercise-equipment-profile.compact .exercise-equipment-profile-head small{font-size:.72rem}.exercise-equipment-profile.compact .equipment-profile-chips{gap:6px}.exercise-equipment-profile.compact .equipment-profile-chips button{min-height:34px;padding:6px 9px;font-size:.76rem}
.equipment-match-badge{display:inline-flex;margin-top:6px;width:max-content;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--sc-success) 12%,var(--surface));color:var(--sc-success);font-style:normal;font-size:.68rem;font-weight:800}
html[data-theme="dark"] .exercise-equipment-profile{background:linear-gradient(180deg,#17191d,#121417);border-color:#30343b}html[data-theme="dark"] .exercise-equipment-profile.active{border-color:#6d3a48;box-shadow:none}html[data-theme="dark"] .equipment-profile-chips button{background:#1b1e22;border-color:#343942;color:#f4f5f6}html[data-theme="dark"] .equipment-profile-chips button.active{background:#2b1a20;border-color:#8c4052;color:#ffdbe3}html[data-theme="dark"] .equipment-match-badge{background:#173226;color:#8fe0b4}
@media(max-width:560px){.exercise-equipment-profile-head{align-items:stretch;flex-direction:column}.exercise-equipment-profile-head .btn{width:100%;justify-content:center}.equipment-profile-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-profile-chips button{justify-content:center;text-align:center}.exercise-equipment-profile.compact .equipment-profile-chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.equipment-profile-chips{grid-template-columns:1fr}}


/* v4.03 · selector contextual + escalera técnica */
.day-movement-coverage{border:1px solid var(--line);border-radius:18px;padding:13px 14px;background:var(--surface);display:grid;gap:10px}.day-movement-coverage.active{background:linear-gradient(180deg,color-mix(in srgb,var(--sc-brand) 4%,var(--surface)),var(--surface))}.day-movement-coverage-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.day-movement-coverage-head>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--sc-brand) 10%,var(--surface));color:var(--sc-brand)}.day-movement-coverage-head>div{display:grid;gap:2px;min-width:0}.day-movement-coverage-head small{color:var(--muted);line-height:1.35}.day-movement-coverage-head>b{min-width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:var(--surface-soft);border:1px solid var(--line);font-variant-numeric:tabular-nums}.day-movement-tags{display:flex;gap:6px;flex-wrap:wrap}.day-movement-tags span{padding:5px 8px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:.72rem;font-weight:750;color:var(--muted)}.day-movement-tags span.new{background:color-mix(in srgb,var(--sc-success) 10%,var(--surface));border-color:color-mix(in srgb,var(--sc-success) 30%,var(--line));color:var(--sc-success)}
.exercise-context-badge{display:inline-flex!important;width:max-content;max-width:100%;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:.66rem!important;font-style:normal;font-weight:800;white-space:normal;line-height:1.2}.exercise-context-badge.new{background:color-mix(in srgb,var(--sc-success) 10%,var(--surface));color:var(--sc-success);border:1px solid color-mix(in srgb,var(--sc-success) 26%,var(--line))}.exercise-context-badge.repeat{background:color-mix(in srgb,var(--sc-warning) 9%,var(--surface));color:color-mix(in srgb,var(--sc-warning) 80%,var(--text));border:1px solid color-mix(in srgb,var(--sc-warning) 25%,var(--line))}
.technique-ladder{margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);display:grid;gap:12px}.technique-ladder-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.technique-ladder-head h3{margin:.15rem 0 0}.technique-ladder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.technique-ladder-card{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;padding:10px;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;cursor:pointer}.technique-ladder-card:hover{border-color:color-mix(in srgb,var(--sc-brand) 35%,var(--line));transform:translateY(-1px)}.technique-ladder-media{width:72px;height:64px;border-radius:12px;overflow:hidden;background:#171419}.technique-ladder-media img{width:100%;height:100%;object-fit:cover}.technique-ladder-card>span{display:grid;gap:2px;min-width:0}.technique-ladder-card small{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--sc-brand)}.technique-ladder-card strong{font-size:.9rem}.technique-ladder-card em{font-size:.74rem;color:var(--muted);font-style:normal;line-height:1.3}.technique-ladder-card b{font-size:.68rem;color:var(--muted);font-weight:700}.technique-ladder-card.down small{color:var(--sc-success)}
html[data-theme="dark"] .day-movement-coverage,html[data-theme="dark"] .technique-ladder{background:#14171b;border-color:#30343b}html[data-theme="dark"] .day-movement-coverage.active{background:linear-gradient(180deg,#18171b,#121417)}html[data-theme="dark"] .day-movement-coverage-head>b,html[data-theme="dark"] .day-movement-tags span{background:#1c2025;border-color:#343942}html[data-theme="dark"] .day-movement-tags span.new{background:#173226;color:#8fe0b4;border-color:#285840}html[data-theme="dark"] .exercise-context-badge.new{background:#173226;color:#8fe0b4;border-color:#285840}html[data-theme="dark"] .exercise-context-badge.repeat{background:#312817;color:#f1cb78;border-color:#574725}html[data-theme="dark"] .technique-ladder-card{background:#1b1e22;border-color:#343942}html[data-theme="dark"] .technique-ladder-card:hover{border-color:#744050}
@media(max-width:640px){.technique-ladder-grid{grid-template-columns:1fr}.technique-ladder-head{align-items:flex-start;flex-direction:column}.day-movement-coverage-head{grid-template-columns:auto minmax(0,1fr)}.day-movement-coverage-head>b{grid-column:1/-1;justify-self:stretch;width:100%;height:28px;border-radius:10px}.day-movement-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-movement-tags span{text-align:center}.technique-ladder-card{grid-template-columns:64px minmax(0,1fr) auto}.technique-ladder-media{width:64px;height:58px}}
@media(max-width:380px){.day-movement-tags{grid-template-columns:1fr}.technique-ladder-card{grid-template-columns:58px minmax(0,1fr)}.technique-ladder-card>svg{display:none}.technique-ladder-media{width:58px;height:54px}}




/* v4.05 · catálogo con ilustraciones originales únicamente */
.exercise-library-card:not(:has(.library-exercise-media)) .library-exercise-copy{padding-top:8px}
.technique-hero:not(:has(.technique-illustration)){grid-template-columns:1fr}
.technique-ladder-card:not(:has(.technique-ladder-media)){grid-template-columns:minmax(0,1fr) auto}
.workout-substitution-card:not(:has(.workout-substitution-media)){grid-template-columns:minmax(0,1fr) auto}
.portal-day-preview-item:not(:has(.portal-day-preview-thumb)){grid-template-columns:1fr}
html[data-theme="dark"] .exercise-library-card:not(:has(.library-exercise-media)){background:var(--sc-surface,#1b171a)}

/* CoachEvo v4.07.0 · semana adaptativa basada en rendimiento real */
.adaptive-week-card{display:grid;gap:14px;border-color:#dfd5d7;background:linear-gradient(180deg,#fff,#fbf7f8)}
.adaptive-week-card.success{border-color:#bfe6d3}.adaptive-week-card.warning{border-color:#efd79b}.adaptive-week-card.deload{border-color:#dcc8ce;background:linear-gradient(180deg,#fff,#faf5f7)}
.adaptive-week-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.adaptive-week-metrics>span{min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}
.adaptive-week-metrics small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.adaptive-week-metrics strong{display:block;margin-top:4px;font-size:17px}
.adaptive-week-list{display:grid;gap:9px}.adaptive-week-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff}.adaptive-week-item.warning{border-color:#ebd39a;background:#fffaf0}.adaptive-week-item.success{border-color:#c4e7d6;background:#f6fcf9}.adaptive-week-item-main{min-width:0}.adaptive-week-item-main>div>div{display:grid;gap:2px}.adaptive-week-item-main small{color:var(--muted);font-size:10px}.adaptive-week-item-main strong{font-size:13px}.adaptive-week-item-main p{margin-top:7px;font-size:11px;color:#5f3b43}.adaptive-week-evidence{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.adaptive-week-evidence span{padding:4px 7px;border-radius:999px;background:#f5f0f1;color:#7c4a54;font-size:9px;font-weight:850}.adaptive-week-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:2px}.adaptive-week-footer>div{min-width:0}.adaptive-week-footer strong,.adaptive-week-footer small{display:block}.adaptive-week-footer small{margin-top:3px;color:var(--muted);font-size:10px}.adaptive-week-footer .btn{flex:0 0 auto;width:auto;min-height:42px}
@media(max-width:620px){.adaptive-week-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.adaptive-week-item{grid-template-columns:1fr}.adaptive-week-item>.btn{width:100%}.adaptive-week-footer{align-items:stretch;flex-direction:column}.adaptive-week-footer .btn{width:100%}}
html[data-theme="dark"] .adaptive-week-card{background:var(--sc-surface-2,#211b1f)!important;border-color:var(--sc-line,#3b3035)!important;color:var(--sc-text,#fff7f9)!important}
html[data-theme="dark"] .adaptive-week-metrics>span,html[data-theme="dark"] .adaptive-week-item{background:var(--sc-surface,#1b171a)!important;border-color:var(--sc-line,#3b3035)!important;color:var(--sc-text,#fff7f9)!important}
html[data-theme="dark"] .adaptive-week-item.warning{background:#2a2419!important;border-color:#655329!important}html[data-theme="dark"] .adaptive-week-item.success{background:#14261e!important;border-color:#285b43!important}
html[data-theme="dark"] .adaptive-week-item-main p,html[data-theme="dark"] .adaptive-week-metrics small,html[data-theme="dark"] .adaptive-week-item-main small,html[data-theme="dark"] .adaptive-week-footer small{color:var(--sc-muted,#c9bec2)!important}
html[data-theme="dark"] .adaptive-week-evidence span{background:#292226!important;color:#e3d8dc!important}

/* CoachEvo v4.08.0 · tendencias adaptativas de 3–6 semanas */
.multiweek-trend-card{display:grid;gap:14px;border-color:#ddd3d6;background:linear-gradient(180deg,#fff,#fbf8f9)}
.multiweek-trend-card.success{border-color:#bfe6d3}.multiweek-trend-card.warning{border-color:#ecd59b}
.multiweek-trend-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.multiweek-trend-metrics>span{min-width:0;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}
.multiweek-trend-metrics small{display:block;color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.multiweek-trend-metrics strong{display:block;margin-top:4px;font-size:17px}
.multiweek-week-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.multiweek-week{min-width:92px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff;display:grid;gap:2px}.multiweek-week.review{border-color:#e4b2a7;background:#fff7f4}.multiweek-week span{font-size:9px;font-weight:900;color:var(--muted);text-transform:uppercase}.multiweek-week strong{font-size:15px}.multiweek-week small{font-size:9px;color:var(--muted);white-space:nowrap}
.multiweek-exercise-list{display:grid;gap:8px}.multiweek-exercise{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px;border:1px solid var(--line);border-radius:14px;background:#fff}.multiweek-exercise.warning{border-color:#ead39b;background:#fffaf1}.multiweek-exercise.success{border-color:#c4e7d6;background:#f6fcf9}.multiweek-exercise>div{min-width:0}.multiweek-exercise small{display:block;color:var(--muted);font-size:9px}.multiweek-exercise strong{display:block;margin-top:2px;font-size:13px}.multiweek-exercise p{margin:6px 0 0;color:#5f3b43;font-size:10px;line-height:1.35}
@media(max-width:620px){.multiweek-trend-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.multiweek-week-strip{grid-template-columns:repeat(6,92px)}.multiweek-exercise{grid-template-columns:1fr}.multiweek-exercise .chip{justify-self:start}}
html[data-theme="dark"] .multiweek-trend-card{background:var(--sc-surface-2,#211b1f)!important;border-color:var(--sc-line,#3b3035)!important;color:var(--sc-text,#fff7f9)!important}
html[data-theme="dark"] .multiweek-trend-metrics>span,html[data-theme="dark"] .multiweek-week,html[data-theme="dark"] .multiweek-exercise{background:var(--sc-surface,#1b171a)!important;border-color:var(--sc-line,#3b3035)!important;color:var(--sc-text,#fff7f9)!important}
html[data-theme="dark"] .multiweek-week.review,html[data-theme="dark"] .multiweek-exercise.warning{background:#2a2419!important;border-color:#655329!important}html[data-theme="dark"] .multiweek-exercise.success{background:#14261e!important;border-color:#285b43!important}
html[data-theme="dark"] .multiweek-trend-metrics small,html[data-theme="dark"] .multiweek-week span,html[data-theme="dark"] .multiweek-week small,html[data-theme="dark"] .multiweek-exercise small,html[data-theme="dark"] .multiweek-exercise p{color:var(--sc-muted,#c9bec2)!important}


/* CoachEvo v4.09 · decisión de bloque / mesociclo */
.block-strategy-card{display:grid;gap:14px;border:1px solid var(--line);overflow:hidden}.block-strategy-card.warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--line))}.block-strategy-card.success{border-color:color-mix(in srgb,var(--success) 30%,var(--line))}.block-strategy-card.violet{border-color:color-mix(in srgb,#8b5cf6 32%,var(--line))}.block-strategy-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.block-strategy-metrics>span{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.block-strategy-metrics small{color:var(--muted);font-size:11px}.block-strategy-metrics strong{font-size:16px}.block-strategy-reasons{display:flex;flex-wrap:wrap;gap:7px}.block-strategy-reasons>span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-size:12px;color:var(--muted)}.block-rotation-review{border-top:1px solid var(--line);padding-top:10px}.block-rotation-review summary{cursor:pointer;font-weight:800}.block-rotation-list{display:grid;gap:8px;margin-top:10px}.block-rotation-list article{display:grid;gap:5px;padding:10px;border-radius:14px;border:1px solid var(--line);background:var(--surface-soft)}.block-rotation-list article small,.block-rotation-list article em{color:var(--muted);font-size:12px;font-style:normal}.block-rotation-list article>div{display:flex;flex-wrap:wrap;gap:6px}.block-strategy-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:12px}.block-strategy-footer>div{display:grid;gap:2px}.block-strategy-footer small{color:var(--muted)}
html[data-theme="dark"] .block-strategy-card,html[data-theme="dark"] .block-strategy-metrics>span,html[data-theme="dark"] .block-rotation-list article,html[data-theme="dark"] .block-strategy-reasons>span{background:#171419;border-color:#302a32;color:#f7f2f5}html[data-theme="dark"] .block-strategy-card{background:#111014}html[data-theme="dark"] .block-strategy-metrics small,html[data-theme="dark"] .block-rotation-list article small,html[data-theme="dark"] .block-rotation-list article em,html[data-theme="dark"] .block-strategy-reasons>span,html[data-theme="dark"] .block-strategy-footer small{color:#c9bdc6}
@media(max-width:640px){.block-strategy-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.block-strategy-footer{align-items:stretch;flex-direction:column}.block-strategy-footer .btn{width:100%}}


/* CoachEvo v4.10 · distribución inteligente del volumen entre exposiciones */
.routine-distribution-audit{margin-top:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);overflow:hidden}
.routine-distribution-audit>summary{cursor:pointer;display:flex;align-items:center;gap:8px;padding:13px 15px;font-weight:800;list-style:none}
.routine-distribution-audit>summary::-webkit-details-marker{display:none}
.routine-distribution-grid{display:grid;gap:10px;padding:0 12px 12px}
.routine-distribution-row{border:1px solid var(--line);border-radius:15px;padding:12px;background:var(--surface)}
.routine-distribution-row.warning{border-color:color-mix(in srgb,var(--warning) 40%,var(--line));background:color-mix(in srgb,var(--warning) 7%,var(--surface))}
.routine-distribution-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.routine-distribution-head span:first-child{display:grid;gap:2px}.routine-distribution-head small{color:var(--muted)}
.routine-distribution-doses{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px;margin:10px 0}
.routine-distribution-doses span{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 6px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.routine-distribution-doses small{grid-row:1/3;color:var(--muted);font-weight:800}.routine-distribution-doses strong{font-size:1.05rem}.routine-distribution-doses em{font-size:.72rem;color:var(--muted);font-style:normal}
.routine-distribution-row p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}
html[data-theme="dark"] .routine-distribution-audit,html[data-theme="dark"] .routine-distribution-row,html[data-theme="dark"] .routine-distribution-doses span{background:var(--surface);border-color:var(--line-strong,var(--line))}
html[data-theme="dark"] .routine-distribution-row.warning{background:color-mix(in srgb,var(--warning) 10%,var(--surface));border-color:color-mix(in srgb,var(--warning) 45%,var(--line))}
@media (max-width:560px){.routine-distribution-doses{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-distribution-head{display:grid;grid-template-columns:1fr auto}.routine-distribution-row{padding:11px}}

/* CoachEvo 4.11.0 · prioridades musculares del mesociclo */
.routine-priority-planner{display:grid;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--sc-line);border-radius:16px;background:var(--sc-surface-2)}
.routine-priority-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.routine-priority-choice{position:relative;display:block;min-width:0;cursor:pointer}
.routine-priority-choice input{position:absolute;opacity:0;pointer-events:none}
.routine-priority-choice>span{min-height:40px;display:flex;align-items:center;justify-content:center;padding:7px 9px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface);color:var(--sc-text);font-size:8px;font-weight:900;text-align:center;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;user-select:none}
.routine-priority-choice input:checked+span{border-color:color-mix(in srgb,var(--sc-brand) 62%,var(--sc-line));background:color-mix(in srgb,var(--sc-brand) 13%,var(--sc-surface));color:var(--sc-brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand) 9%,transparent)}
.routine-priority-choice input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--sc-brand) 24%,transparent);outline-offset:2px}
.routine-priority-choice:active>span{transform:scale(.985)}
.routine-priority-note{margin:0!important}
.routine-priority-summary{display:grid;gap:7px;margin:12px 0;padding:10px 11px;border:1px solid color-mix(in srgb,var(--sc-brand) 22%,var(--sc-line));border-radius:14px;background:color-mix(in srgb,var(--sc-brand) 5%,var(--sc-surface-2))}
.routine-priority-summary>small{font-size:8px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:var(--sc-muted)}
.routine-priority-summary p{margin:0}
.program-priority-settings{padding:10px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-surface-2)}
.program-priority-settings>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.program-priority-settings select{width:100%;min-width:0}
html[data-theme="dark"] .routine-priority-planner,html[data-theme="dark"] .program-priority-settings{background:var(--sc-surface-3);border-color:var(--sc-line)}
html[data-theme="dark"] .routine-priority-choice>span{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}
html[data-theme="dark"] .routine-priority-choice input:checked+span{background:color-mix(in srgb,var(--sc-brand) 19%,var(--sc-surface-2));border-color:color-mix(in srgb,var(--sc-brand) 62%,var(--sc-line));color:color-mix(in srgb,var(--sc-brand) 72%,white)}
html[data-theme="dark"] .routine-priority-summary{background:color-mix(in srgb,var(--sc-brand) 8%,var(--sc-surface-3));border-color:color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line))}
@media(max-width:620px){.routine-priority-options{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-priority-choice>span{min-height:42px;font-size:9px}.program-priority-settings>div{grid-template-columns:1fr}.routine-priority-summary{margin-block:10px}}
@media(max-width:380px){.routine-priority-options{grid-template-columns:1fr}}


/* CoachEvo 4.13.0 · especialización por fases */
.routine-specialization-planner{display:grid;gap:11px;margin-top:12px;padding:12px;border:1px solid var(--sc-line);border-radius:16px;background:var(--sc-surface-2)}
.routine-specialization-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.routine-specialization-mode label{position:relative;cursor:pointer}.routine-specialization-mode input{position:absolute;opacity:0;pointer-events:none}.routine-specialization-mode span{display:grid;gap:3px;min-height:62px;padding:10px 11px;border:1px solid var(--sc-line);border-radius:13px;background:var(--sc-surface);color:var(--sc-text)}.routine-specialization-mode small{color:var(--sc-muted);font-size:9px;line-height:1.3}.routine-specialization-mode input:checked+span{border-color:color-mix(in srgb,var(--sc-brand) 62%,var(--sc-line));background:color-mix(in srgb,var(--sc-brand) 12%,var(--sc-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--sc-brand) 8%,transparent)}
.routine-secondary-priority{display:grid;gap:7px;padding-top:2px}.routine-secondary-priority>small{color:var(--sc-muted);font-size:9px}.routine-priority-options.secondary{margin-top:1px}
.routine-specialization-summary{display:grid;gap:9px;margin:12px 0;padding:11px;border:1px solid color-mix(in srgb,#8b5cf6 30%,var(--sc-line));border-radius:15px;background:color-mix(in srgb,#8b5cf6 6%,var(--sc-surface-2))}.routine-specialization-summary>div>div{display:grid;gap:2px}.routine-specialization-summary>div>div>small{font-size:8px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;color:var(--sc-muted)}
.specialization-phase-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.specialization-phase-strip>span{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface)}.specialization-phase-strip>span.active{border-color:color-mix(in srgb,var(--sc-brand) 60%,var(--sc-line));background:color-mix(in srgb,var(--sc-brand) 11%,var(--sc-surface))}.specialization-phase-strip b{font-size:10px}.specialization-phase-strip small{font-size:9px;color:var(--sc-muted)}
.program-specialization-settings{display:grid;gap:8px;padding:10px;border:1px solid var(--sc-line);border-radius:14px;background:var(--sc-surface-2)}.program-specialization-settings select{width:100%;min-width:0}
html[data-theme="dark"] .routine-specialization-planner,html[data-theme="dark"] .program-specialization-settings{background:var(--sc-surface-3);border-color:var(--sc-line)}html[data-theme="dark"] .routine-specialization-mode span,html[data-theme="dark"] .specialization-phase-strip>span{background:var(--sc-surface-2);border-color:var(--sc-line);color:var(--sc-text)}html[data-theme="dark"] .routine-specialization-summary{background:color-mix(in srgb,#8b5cf6 10%,var(--sc-surface-3));border-color:color-mix(in srgb,#8b5cf6 35%,var(--sc-line))}
@media(max-width:620px){.routine-specialization-mode,.specialization-phase-strip{grid-template-columns:1fr}.routine-specialization-mode span{min-height:56px}.program-specialization-settings .field-grid{grid-template-columns:1fr!important}}


/* CoachEvo 4.13.0 · editor de rutina sin huecos cuando falta ilustración */
.routine-exercise-card:not(:has(.program-exercise-thumb)){
  grid-template-columns:minmax(0,1fr)!important;
  padding-top:44px!important;
}
.routine-exercise-card:not(:has(.program-exercise-thumb)) .program-exercise-main{
  grid-column:1/-1!important;
  width:100%!important;
  min-width:0!important;
}
.routine-exercise-card:not(:has(.program-exercise-thumb)) .exercise-order{
  position:absolute!important;
  top:8px!important;
  left:42px!important;
  margin:0!important;
  z-index:2!important;
}
.routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-exercise-head,
.routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-trigger,
.routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-inline-prescription,
.routine-exercise-card:not(:has(.program-exercise-thumb)) .exercise-secondary-actions{
  width:100%!important;
  min-width:0!important;
}
.routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-line{
  min-width:0!important;
}
@media(max-width:700px){
  .routine-exercise-card:not(:has(.program-exercise-thumb)){padding:45px 10px 10px!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .exercise-order{top:9px!important;left:47px!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-trigger{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-edit{white-space:nowrap!important}
}
@media(max-width:420px){
  .routine-exercise-card:not(:has(.program-exercise-thumb)){padding:44px 9px 9px!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .exercise-order{left:46px!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-trigger{grid-template-columns:1fr!important}
  .routine-exercise-card:not(:has(.program-exercise-thumb)) .routine-prescription-edit{justify-self:start!important}
}
html[data-theme="dark"] .routine-exercise-card:not(:has(.program-exercise-thumb)){
  background:var(--sc-surface-2,#211b1f)!important;
  border-color:var(--sc-line,#3b3035)!important;
}

/* CoachEvo v4.21.0 · mejora intensiva de claridad, rutinas y biblioteca */
.routine-create-modal,.exercise-library-modal{overflow-x:hidden}
.routine-create-modal>.plan-create-flow,.exercise-library-modal>.exercise-library-shell{padding-inline:2px}
.routine-create-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:1px 0 2px;padding:8px;border:1px solid var(--sc-line,var(--line));border-radius:16px;background:var(--sc-surface-2,var(--surface-soft))}
.routine-create-steps span{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:12px;color:var(--sc-muted,var(--muted));font-size:10px;font-weight:900}
.routine-create-steps b{display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--sc-line,var(--line));border-radius:999px;background:var(--sc-surface,var(--surface));font-size:9px}
.routine-create-steps .active{color:var(--sc-text,var(--text));background:var(--sc-surface,var(--surface));box-shadow:0 6px 16px rgba(29,20,25,.05)}
.routine-create-steps .active b{border-color:var(--sc-brand,var(--brand));color:#fff;background:var(--sc-brand,var(--brand))}
.routine-create-live-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.routine-create-live-summary>span{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid var(--sc-line,var(--line));border-radius:13px;background:var(--sc-surface,var(--surface))}
.routine-create-live-summary small{color:var(--sc-muted,var(--muted));font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.routine-create-live-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.routine-personalization-drawer,.exercise-library-filter-drawer,.picker-context-drawer{border:1px solid var(--sc-line,var(--line));border-radius:18px;background:var(--sc-surface-2,var(--surface-soft));overflow:hidden}
.routine-personalization-drawer>summary,.exercise-library-filter-drawer>summary,.picker-context-drawer>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:54px;padding:11px 13px;color:var(--sc-text,var(--text));cursor:pointer}
.routine-personalization-drawer>summary::-webkit-details-marker,.exercise-library-filter-drawer>summary::-webkit-details-marker,.picker-context-drawer>summary::-webkit-details-marker{display:none}
.routine-personalization-drawer>summary>span,.exercise-library-filter-drawer>summary>span,.picker-context-drawer>summary>span{display:grid;gap:2px;min-width:0;flex:1}
.routine-personalization-drawer>summary strong,.exercise-library-filter-drawer>summary strong,.picker-context-drawer>summary strong{font-size:11px}
.routine-personalization-drawer>summary small,.exercise-library-filter-drawer>summary small,.picker-context-drawer>summary small{color:var(--sc-muted,var(--muted));font-size:9px;line-height:1.35}
.routine-personalization-drawer>summary>svg:last-child,.exercise-library-filter-drawer>summary>svg:last-child,.picker-context-drawer>summary>svg:last-child{transition:transform .18s ease}
.routine-personalization-drawer[open]>summary>svg:last-child,.exercise-library-filter-drawer[open]>summary>svg:last-child,.picker-context-drawer[open]>summary>svg:last-child{transform:rotate(90deg)}
.routine-personalization-body,.picker-context-drawer-body{display:grid;gap:11px;padding:0 11px 11px}
.routine-personalization-body>.routine-training-mode-block,.routine-personalization-body>.routine-priority-planner,.routine-personalization-body>.routine-specialization-planner{margin:0}
.practical-plan-create .routine-day-muscle-planner{order:initial}
.routine-create-modal .plan-create-finish{position:sticky;z-index:6;bottom:calc(-17px - var(--safe-bottom));margin-inline:-15px;margin-bottom:calc(-17px - var(--safe-bottom));padding:14px 15px calc(13px + var(--safe-bottom));border-radius:18px 18px 0 0;box-shadow:0 -12px 28px rgba(31,22,25,.09)}
.routine-create-modal .routine-create-actions .btn{min-height:46px}

.library-sticky-controls{position:sticky;z-index:5;top:61px;display:grid;gap:10px;margin-inline:-2px;padding:8px 2px;background:color-mix(in srgb,var(--sc-surface,var(--surface)) 94%,transparent);backdrop-filter:blur(12px)}
.library-quick-muscles{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin}
.library-quick-muscles button{flex:0 0 auto;min-height:38px;padding:7px 11px;border:1px solid var(--sc-line,var(--line));border-radius:999px;background:var(--sc-surface,var(--surface));color:var(--sc-muted,var(--muted));font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.library-quick-muscles button.active{border-color:var(--sc-brand,var(--brand));background:var(--sc-brand,var(--brand));color:#fff}
.exercise-library-filter-drawer>.exercise-library-filters{margin:0;padding:0 12px 12px}
.exercise-library-modal .exercise-equipment-profile{margin-top:0}
.library-exercise-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}
.library-exercise-open>span:last-child{position:absolute;left:10px;bottom:9px;display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(25,19,22,.78);color:#fff;font-size:9px;font-weight:900;backdrop-filter:blur(7px)}
.exercise-library-card .library-exercise-media{display:grid;place-items:center;height:190px;background:radial-gradient(circle at 50% 38%,var(--sc-surface,var(--surface)) 0,var(--sc-surface-2,var(--surface-soft)) 72%)}
.exercise-library-card .library-exercise-media img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;padding:10px!important;filter:contrast(1.03) saturate(.98)}
.exercise-library-note{-webkit-line-clamp:2}
.exercise-library-actions .btn{min-height:42px}

.picker-context-drawer{margin-block:2px;background:var(--sc-surface-2,var(--surface-soft))}
.picker-context-drawer-body>.exercise-equipment-profile{margin-top:0}
.exercise-technique-trigger{font-size:8px!important}

html[data-theme="dark"] .routine-create-steps,html[data-theme="dark"] .routine-personalization-drawer,html[data-theme="dark"] .exercise-library-filter-drawer,html[data-theme="dark"] .picker-context-drawer{background:var(--sc-surface-3)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .routine-create-live-summary>span{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .routine-create-steps span.active,html[data-theme="dark"] .routine-create-steps b,html[data-theme="dark"] .library-quick-muscles button{background:var(--sc-surface-2)!important;border-color:var(--sc-line)!important;color:var(--sc-text)!important}
html[data-theme="dark"] .routine-create-steps span.active b,html[data-theme="dark"] .library-quick-muscles button.active{background:var(--sc-brand)!important;border-color:var(--sc-brand)!important;color:#fff!important}
html[data-theme="dark"] .library-sticky-controls{background:color-mix(in srgb,var(--sc-surface) 94%,transparent)}
html[data-theme="dark"] .routine-create-modal .plan-create-finish{background:#121014!important;box-shadow:0 -12px 28px rgba(0,0,0,.35)!important}
html[data-theme="dark"] .library-exercise-open>span:last-child{background:rgba(0,0,0,.72);border-color:rgba(255,255,255,.2)}

@media(max-width:699px){
  .routine-create-modal,.exercise-library-modal{width:100vw;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;overflow-y:auto}
  .routine-create-modal>.modal-head,.exercise-library-modal>.modal-head{top:0}
  .routine-create-modal .plan-create-intro.compact p{display:block;font-size:10px;line-height:1.45}
  .routine-create-modal .practical-core{padding:12px}
  .routine-create-modal .routine-config-block>div:first-child>strong,.routine-create-modal .routine-days-block>div:first-child>strong{font-size:13px}
  .routine-create-modal .routine-config-block>div:first-child>small,.routine-create-modal .routine-days-block>div:first-child>small,.routine-create-modal .routine-day-muscle-title small{font-size:10px;line-height:1.4}
  .routine-create-modal .routine-goal-choice>span{min-height:64px;padding:9px}
  .routine-create-modal .routine-goal-choice>span strong{font-size:11px}
  .routine-create-modal .routine-goal-choice>span small{font-size:9px;white-space:normal;line-height:1.3}
  .routine-create-modal .routine-day-choice>span{min-height:48px}
  .routine-create-modal .routine-day-choice small{font-size:8px}
  .routine-create-modal .routine-day-muscle-title strong{font-size:12px}
  .routine-create-modal .routine-muscle-choice>span{min-height:42px;font-size:10px}
  .routine-create-live-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .routine-create-modal .plan-create-finish>div:first-child{display:none}
  .routine-create-modal .plan-create-finish{grid-template-columns:1fr}
  .routine-create-modal .routine-create-actions{grid-template-columns:1.35fr .85fr}
  .library-sticky-controls{top:60px}
  .exercise-library-intro p{font-size:10px;line-height:1.45}
  .exercise-library-card{display:grid;grid-template-columns:112px minmax(0,1fr);min-height:150px}
  .exercise-library-card:not(:has(.library-exercise-open)){grid-template-columns:minmax(0,1fr);min-height:0}
  .exercise-library-card:not(:has(.library-exercise-open)) .exercise-library-card-body{grid-column:1/-1;min-width:0}
  .exercise-library-card .library-exercise-open{min-height:100%;border-right:1px solid var(--sc-line,var(--line))}
  .exercise-library-card .library-exercise-media{height:100%;min-height:150px;border:0}
  .library-exercise-open>span:last-child{left:7px;right:7px;bottom:7px;justify-content:center;font-size:8px}
  .exercise-library-card-body{padding:11px;gap:6px}
  .exercise-library-card h3{font-size:15px}
  .exercise-library-note{display:none}
  .exercise-library-actions{grid-template-columns:minmax(0,1fr) 42px;margin-top:auto}
  .exercise-library-meta .chip{font-size:7px;min-height:20px}
  .library-favorite-button{top:8px;left:8px;right:auto;width:34px;height:34px}
  .exercise-library-filter-drawer>.exercise-library-filters{grid-template-columns:1fr 1fr}
  .exercise-library-filter-drawer .library-clear-filters{grid-column:1/-1}
  .picker-context-drawer .day-movement-coverage{margin-top:10px}
}
@media(max-width:420px){
  .routine-create-steps{gap:4px;padding:5px}.routine-create-steps span{gap:4px;font-size:9px}.routine-create-steps b{width:20px;height:20px}
  .routine-create-modal .routine-create-actions{grid-template-columns:1fr}.routine-create-modal .routine-create-actions .btn{width:100%}
  .exercise-library-card{grid-template-columns:102px minmax(0,1fr)}
  .exercise-library-card:not(:has(.library-exercise-open)){grid-template-columns:minmax(0,1fr)}
  .exercise-library-card .library-exercise-media{min-height:164px}
  .exercise-library-filter-drawer>.exercise-library-filters{grid-template-columns:1fr}
  .exercise-library-filter-drawer .library-clear-filters{grid-column:auto}
}

/* CoachEvo 4.14.0 · guardia de equilibrio + sustitución contextual */
.program-balance-guard{display:grid;gap:14px;border-color:color-mix(in srgb,var(--sc-brand) 18%,var(--sc-line));overflow:hidden}
.program-balance-guard.warning{border-color:color-mix(in srgb,#d38b1f 38%,var(--sc-line));background:color-mix(in srgb,var(--sc-surface) 95%,#d38b1f 5%)}
.program-balance-guard.success{background:color-mix(in srgb,var(--sc-surface) 96%,#1d9b68 4%)}
.program-balance-pairs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.program-balance-pair{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--sc-line);border-radius:12px;background:var(--sc-surface)}
.program-balance-pair span{display:grid;gap:2px;min-width:0}.program-balance-pair strong{font-size:12px}.program-balance-pair small{color:var(--sc-muted);font-size:9px;line-height:1.35}.program-balance-pair b{white-space:nowrap;font-size:11px}
.program-balance-pair.review,.program-balance-pair.missing{border-color:color-mix(in srgb,#d38b1f 38%,var(--sc-line));background:color-mix(in srgb,var(--sc-surface) 96%,#d38b1f 4%)}
.program-balance-suggestions{display:grid;gap:8px;padding-top:2px}.program-balance-suggestions>.row>small{color:var(--sc-muted);font-size:9px}
.program-balance-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--sc-line);border-radius:13px;background:var(--sc-surface)}
.program-balance-suggestion>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:3px;min-width:0}.program-balance-suggestion>div>small{align-self:center;color:var(--sc-muted);font-size:9px}.program-balance-suggestion strong,.program-balance-suggestion p,.program-balance-suggestion em{grid-column:1/-1}.program-balance-suggestion strong{font-size:12px}.program-balance-suggestion p{margin:0;color:var(--sc-muted);font-size:9px;line-height:1.35}.program-balance-suggestion em{font-style:normal;color:var(--sc-brand);font-size:9px;font-weight:800}
.routine-inline-swap.smart-swap>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.routine-inline-swap.smart-swap button{display:grid!important;gap:3px!important;text-align:left;align-items:start!important;justify-content:stretch!important;min-width:0}.routine-inline-swap.smart-swap button>span{display:flex;align-items:center;gap:5px;min-width:0}.routine-inline-swap.smart-swap button>small{font-size:7px;line-height:1.3;color:var(--sc-muted);font-weight:700;white-space:normal}
html[data-theme="dark"] .program-balance-guard.warning{background:color-mix(in srgb,var(--sc-surface-2) 94%,#d38b1f 6%)}
html[data-theme="dark"] .program-balance-guard.success{background:color-mix(in srgb,var(--sc-surface-2) 96%,#1d9b68 4%)}
html[data-theme="dark"] .program-balance-pair,html[data-theme="dark"] .program-balance-suggestion{background:var(--sc-surface-2);border-color:var(--sc-line)}
@media(max-width:700px){.program-balance-pairs{grid-template-columns:1fr}.program-balance-suggestion{grid-template-columns:1fr}.program-balance-suggestion .btn{width:100%;justify-content:center}.routine-inline-swap.smart-swap>div{grid-template-columns:1fr}}
@media(max-width:420px){.program-balance-guard{gap:10px}.program-balance-pair{align-items:flex-start}.program-balance-pair b{font-size:9px}.program-balance-suggestion{padding:9px}}


/* CoachEvo 4.15.0 · orden semanal y recuperación entre sesiones */
.program-recovery-sequence{display:grid;gap:13px;border-color:color-mix(in srgb,#6f63d9 24%,var(--sc-line))}
.program-recovery-sequence.warning{border-color:color-mix(in srgb,#d38b1f 42%,var(--sc-line));background:color-mix(in srgb,var(--sc-surface) 95%,#d38b1f 5%)}
.program-recovery-sequence.success{background:color-mix(in srgb,var(--sc-surface) 96%,#1d9b68 4%)}
.recovery-sequence-pairs{display:grid;gap:8px}
.recovery-sequence-pair{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 11px;border:1px solid var(--sc-line);border-radius:13px;background:var(--sc-surface)}
.recovery-sequence-pair>div{display:grid;gap:3px;min-width:0}.recovery-sequence-pair strong{font-size:11px}.recovery-sequence-pair small{font-size:8px;line-height:1.35;color:var(--sc-muted)}
.recovery-sequence-pair.high{border-color:color-mix(in srgb,#d38b1f 44%,var(--sc-line));background:color-mix(in srgb,var(--sc-surface) 96%,#d38b1f 4%)}
.recovery-sequence-pair.medium{border-color:color-mix(in srgb,#6f63d9 30%,var(--sc-line))}
.recovery-sequence-suggestion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid color-mix(in srgb,var(--sc-brand) 28%,var(--sc-line));border-radius:14px;background:color-mix(in srgb,var(--sc-brand) 5%,var(--sc-surface))}
.recovery-sequence-suggestion>div{display:grid;gap:4px}.recovery-sequence-suggestion p{margin:0;font-size:11px;font-weight:850;line-height:1.4}.recovery-sequence-suggestion small{color:var(--sc-muted);font-size:8px;line-height:1.35}
html[data-theme="dark"] .program-recovery-sequence.warning{background:color-mix(in srgb,var(--sc-surface-2) 94%,#d38b1f 6%)}
html[data-theme="dark"] .program-recovery-sequence.success{background:color-mix(in srgb,var(--sc-surface-2) 96%,#1d9b68 4%)}
html[data-theme="dark"] .recovery-sequence-pair,html[data-theme="dark"] .recovery-sequence-suggestion{background:var(--sc-surface-2);border-color:var(--sc-line)}
@media(max-width:700px){.recovery-sequence-pair,.recovery-sequence-suggestion{grid-template-columns:1fr}.recovery-sequence-suggestion .btn{width:100%;justify-content:center}}
@media(max-width:420px){.program-recovery-sequence{gap:10px}.recovery-sequence-pair,.recovery-sequence-suggestion{padding:9px}}
