.messages{padding-top:54px;text-align:left}.messages .message-section-title{margin:0 0 28px;color:#888;font-size:1rem;letter-spacing:0}.messages .message-row{min-height:104px;padding:16px 4px;border:0;border-bottom:1px solid #292929;border-radius:0;background:transparent;box-shadow:none}.messages .message-row small{margin-top:7px;line-height:1.35}.messages .message-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#2b1409;color:var(--orange);font-size:1.35rem}.analytics-calendar{margin:10px 0 24px}.analytics-calendar small{min-height:42px;display:grid;place-items:center}.analytics-calendar .today{border-radius:50%;background:var(--orange);color:#080808}.analytics-body-map{position:relative;min-height:350px;padding:8px 0}.analytics-body-map>img{display:block;width:100%;height:330px;object-fit:contain;filter:saturate(.72)}.muscle-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:9px 15px;color:#888;font-size:.72rem}.muscle-legend span{display:flex;align-items:center;gap:5px}.muscle-legend .dot{width:9px;height:9px;border-radius:50%}.muscle-legend .low{background:#423d27}.muscle-legend .medium{background:#7f5427}.muscle-legend .high{background:#bd6027}.muscle-legend .max{background:var(--orange)}.muscle-labels{position:absolute;inset:20px 0 55px;opacity:0;pointer-events:none}.analytics-body-map.show-names .muscle-labels{opacity:1}.muscle-labels span{position:absolute;padding:4px 8px;border-radius:8px;background:rgba(0,0,0,.8);color:#fff;font-size:.7rem}.muscle-labels span:nth-child(1){left:21%;top:24%}.muscle-labels span:nth-child(2){right:17%;top:31%}.muscle-labels span:nth-child(3){left:20%;top:43%}.muscle-labels span:nth-child(4){right:18%;top:66%}.muscle-labels span:nth-child(5){left:18%;top:59%}.muscle-name-toggle{margin-top:18px;padding:12px 0;border:0;background:transparent;color:#aaa;font-size:1rem}.muscle-name-toggle.active{color:var(--orange)}
.food-detail h1{margin:0 -20px;padding:0 20px 18px;border-bottom:1px solid #292929;font-size:1.35rem}.food-detail .food-serving{margin:0 -20px;padding:18px 20px;color:#888;border-bottom:1px solid #292929}.food-detail .nutrition-table{margin:0 -20px}.food-detail .nutrition-table>div{min-height:58px;padding:16px 20px}.food-detail .nutrition-subtitle{margin:0 -20px;padding:22px 20px 12px;border-bottom:1px solid #292929;color:#aaa;font-size:1.12rem}.nutrition-range{margin:0;padding:20px 0;border:0;border-bottom:1px solid #292929}.nutrition-range legend{margin-bottom:14px;color:#aaa;font-size:1rem}.nutrition-range>div{position:relative;min-height:72px;padding-right:112px;display:grid;align-content:center}.nutrition-range input[type="range"]{grid-area:1/1;width:100%;height:28px;margin:0;appearance:none;background:transparent;pointer-events:none}.nutrition-range input[type="range"]::-webkit-slider-runnable-track{height:3px;background:#555}.nutrition-range input[type="range"]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-10px;border:0;border-radius:50%;appearance:none;background:var(--orange);pointer-events:auto}.nutrition-range output{position:absolute;right:0;top:17px;min-width:96px;color:#ddd;text-align:right}.food-filter-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px 0;background:var(--bg)}.food-filter-actions button{height:56px;border:1px solid var(--orange);border-radius:14px;background:transparent;color:var(--orange);font-weight:850}.food-filter-actions button:last-child{background:var(--orange);color:#080808}
.health-setup{position:fixed;z-index:70;inset:0;background:#080808;color:#fff}.health-setup[hidden]{display:none}.health-setup>header{height:calc(88px + var(--safe-top));padding:var(--safe-top) 18px 0;display:grid;grid-template-columns:56px 1fr 56px;align-items:center}.health-setup>header button{width:52px;height:52px;border:0;background:transparent;color:#aaa;font-size:2rem}.health-setup>header h1{margin:0;text-align:center;font-size:1.45rem}.health-state{height:calc(100% - 88px - var(--safe-top));padding:28px 28px calc(24px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;text-align:center}.health-symbol{width:150px;height:150px;margin:auto auto 34px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,104,30,.28),rgba(255,104,30,.04) 63%,transparent 64%);color:var(--orange);font-size:5rem}.health-symbol.muted{color:#58301e;filter:saturate(.35)}.health-state h2{max-width:390px;margin:0 0 18px;font-size:1.65rem}.health-state>p{max-width:460px;margin:0 auto auto;color:#aaa;line-height:1.55}.health-actions{width:100%;max-width:520px;display:grid;gap:13px}.health-actions .route-primary,.health-actions .route-secondary{margin:0}.health-actions .outlined{border:1px solid var(--orange)}.health-confirm{width:min(88vw,430px);padding:24px;border:0;border-radius:24px;background:#171717;color:#fff}.health-confirm::backdrop{background:rgba(0,0,0,.72)}.health-confirm p{color:#aaa;line-height:1.5}.health-confirm menu{margin:24px 0 0;padding:0;display:flex;justify-content:flex-end;gap:12px}.health-confirm button{padding:12px 16px;border:0;background:transparent;color:var(--orange);font-weight:850}
.health-source-card{padding:18px 4px;display:grid;grid-template-columns:48px 1fr auto;gap:14px;align-items:center}.health-source-card>i{color:var(--orange);font-size:2rem}.health-source-card b,.health-source-card small{display:block}.health-source-card small{margin-top:6px;color:#888;line-height:1.35}.health-source-card button{padding:10px 12px;border:1px solid var(--orange);border-radius:12px;background:transparent;color:var(--orange);font-weight:800}.health-source-card button:disabled{opacity:.55}
.chat-composer { grid-template-columns:46px minmax(0,1fr) 46px; padding-left:5px; }
.chat-composer .chat-attach{color:var(--orange)}
.encyclopedia-article h1 { font-size: 1.8rem; line-height: 1.18; }

.bubble.outgoing {
  margin: 10px 0 10px auto;
  border-bottom-right-radius: 5px;
  background: var(--orange-dark);
  color: #fff;
}

.route-danger:disabled {
  opacity: .38;
}

.subscription-products { display:grid; gap:10px; margin:22px 0; }
.subscription-option { position:relative; min-height:92px; padding:16px 18px; border:1px solid #363636; border-radius:18px; background:#131313; color:#fff; display:grid; grid-template-columns:1fr auto; gap:5px 12px; text-align:left; }
.subscription-option.active { border-color:var(--orange); background:rgba(255,104,30,.08); }
.subscription-option>span { position:absolute; right:12px; top:-10px; padding:4px 8px; border-radius:20px; background:var(--orange); color:#090909; font-size:.62rem; font-weight:900; }
.subscription-option b { font-size:1.08rem; }.subscription-option strong { grid-column:2; grid-row:1; color:var(--orange); }.subscription-option strong em,.subscription-total{font-style:normal}.subscription-option small { grid-column:1/-1; color:#8d8d8d; }
.subscription-disclosure { color:#8c8c8c; font-size:.76rem; line-height:1.45; }
.subscription-manage { width:100%; margin-top:16px; border:0; background:transparent; color:#aaa; text-decoration:underline; }
.subscription-result { min-height:24px; color:#aaa; font-size:.8rem; text-align:center; }
.subscription-card i,.subscription-card svg,.subscription-card [class^="ph"],.subscription-card [class*=" ph"],.subscription-route .route-content i,.subscription-route .route-content svg{color:#000!important;fill:#000!important;stroke:#000!important;-webkit-text-fill-color:#000!important}
.subscription-card::before,.subscription-card::after,.subscription-card *::before,.subscription-card *::after,.subscription-route .route-content *::before,.subscription-route .route-content *::after{color:#000!important;fill:#000!important;stroke:#000!important;-webkit-text-fill-color:#000!important}
.subscription-route .route-content svg *{fill:currentColor!important;stroke:currentColor!important}
.subscription-route [data-action="begin-subscription"]{background:#416180!important;border-color:#416180!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.subscription-route [data-action="begin-subscription"][hidden],.subscription-route .subscription-option[hidden],.subscription-route .subscription-products[hidden]{display:none!important}
.subscription-route .subscription-hero-arm{display:inline-grid;place-items:center;width:76px;height:76px;color:#0a949a!important}
.subscription-route .subscription-hero-arm .ph-barbell{color:#0a949a!important;-webkit-text-fill-color:#0a949a!important;font-size:4.5rem;line-height:1}
.subscription-route .subscription-card[hidden]{display:none!important}
.subscription-unavailable{margin:0;padding:18px;border:1px solid #d7dde3;border-radius:18px;background:#f6f8fa;color:#536672;text-align:center}.health-transparency{margin:0 0 22px;padding:22px;border:1px solid #bfd9dc;border-radius:22px;background:#effafa}.health-transparency small{color:#087f85;font-weight:900;letter-spacing:.12em}.health-transparency h2{margin:7px 0 10px;color:#123b61}.health-transparency p,.health-transparency li{color:#425d6d;line-height:1.45}.health-transparency ul{margin:12px 0 0;padding-left:21px}
.subscription-route .subscription-active-card{display:flex;gap:16px;align-items:center;margin:18px 0;padding:22px;border:1px solid #bfd4df;border-radius:24px;background:#eef7f8;color:#13293a}.subscription-route .subscription-active-card small{color:#07979d;font-weight:800;letter-spacing:.12em}.subscription-route .subscription-active-card h2{margin:5px 0;color:#123b61}.subscription-route .subscription-active-card p{margin:0;color:#536b79}.subscription-route .subscription-active-icon{font-size:36px;color:#07979d}
.subscription-route .subscription-zero-price{display:block;margin-top:14px;color:#123b61;font-size:1.18rem}.subscription-route .subscription-active-card .subscription-zero-note{display:block;margin-top:5px;color:#536b79;font-size:.84rem;font-weight:600;letter-spacing:0}
.auth-complimentary-note{padding:12px 14px;border-radius:14px;background:#eef7f8;color:#123b61;font-weight:700}.complimentary-welcome{max-width:420px;border:0;border-radius:28px;padding:32px;text-align:center;color:#172b3a;box-shadow:0 24px 80px #001b2f3d}.complimentary-welcome::backdrop{background:#001b2f99}.complimentary-welcome>span{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#e2f7f5;color:#07979d;font-size:34px}.complimentary-welcome small{color:#07979d;font-weight:800;letter-spacing:.1em}.complimentary-welcome h2{margin:8px 0;color:#123b61}.complimentary-welcome strong{display:block;font-size:1.3rem;color:#123b61}.complimentary-welcome p{color:#536b79;line-height:1.5}.complimentary-welcome button{width:100%;padding:15px;border:0;border-radius:14px;background:#123b61;color:#fff;font-weight:800}
.subscription-route .subscription-active-card{box-sizing:border-box;display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:center;margin:8px 0 30px;padding:22px;border:1px solid #c8d9e2;border-radius:22px;background:linear-gradient(145deg,#edf4f7,#f8fafb);box-shadow:0 8px 24px rgba(31,62,80,.08)}
.subscription-route .subscription-active-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#dce8ee;color:#000!important}
.subscription-route .subscription-active-icon i{color:#000!important;-webkit-text-fill-color:#000!important;font-size:2rem}
.subscription-route .subscription-active-card small{display:block;margin-bottom:4px;color:#416180;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.subscription-route .subscription-active-card h2{margin:0;color:#17232d;font-size:1.35rem}
.subscription-route .subscription-active-card p{margin:7px 0 0;color:#536672;font-size:.88rem;line-height:1.4}
.subscription-route .subscription-manage{box-sizing:border-box;display:grid!important;place-items:center;width:100%;min-height:54px;margin:22px 0 0!important;border:2px solid #416180!important;border-radius:16px!important;background:#fff!important;color:#416180!important;text-decoration:none!important;font-weight:900!important;letter-spacing:.02em}
.subscription-route .subscription-result[hidden],.subscription-route .subscription-disclosure[hidden]{display:none!important}

.supplement-thumb{width:68px!important;height:82px!important;object-fit:contain!important;border-radius:0!important;background:none!important;display:block!important}.supplement-picker-row>img{width:62px;height:72px;object-fit:contain}.supplement-hero-image{display:block;width:210px;height:250px;margin:10px auto 28px;object-fit:contain}
.diary-tutorial{width:min(92vw,430px);padding:0;border:0;border-radius:24px;background:#151515;color:#fff}.diary-tutorial::backdrop{background:rgba(0,0,0,.72)}.diary-tutorial article{padding:24px;text-align:center}.diary-demo{height:280px;display:grid;place-items:center}.diary-demo img{width:100%;height:100%;object-fit:contain}.diary-tutorial h2{font-size:1.4rem}.diary-tutorial p{color:#aaa;line-height:1.45}.diary-dots{display:flex;justify-content:center;gap:12px;margin:24px}.diary-dots i{width:8px;height:8px;border-radius:50%;background:#555}.diary-dots i.active{background:var(--orange)}.diary-tutorial button{width:100%;min-height:54px;border:1px solid var(--orange);border-radius:14px;background:transparent;color:var(--orange);font-weight:850}.training-panel.editing .diet-meal header::before{content:"−";width:30px;height:30px;border:2px solid #ff6b7c;border-radius:50%;display:grid;place-items:center;color:#ff6b7c;font-weight:900}.training-panel.editing .diet-meal header{grid-template-columns:36px 1fr auto;display:grid}
.library-tools{position:absolute;right:16px;top:16px;z-index:3;display:flex;gap:10px}.library-tools button{width:44px;height:44px;border:0;background:transparent;color:var(--orange);font-size:1.65rem}.muscle-card-grid{display:grid;gap:14px}.muscle-card-grid>button{position:relative;width:100%;height:140px;overflow:hidden;border:1px solid #303030;border-radius:18px;background:#101010;color:#fff;text-align:left}.muscle-card-grid img{width:100%;height:100%;object-fit:cover}.muscle-card-grid button::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.25))}.muscle-card-grid b{position:absolute;z-index:2;left:24px;top:50%;transform:translateY(-50%);font-size:1.55rem}.exercise-catalog .exercise-row{min-height:94px;padding:6px 8px;grid-template-columns:92px 1fr;gap:14px}.exercise-catalog .exercise-row img{width:92px;height:84px}.exercise-filter-form fieldset{margin:0 0 28px;padding:0;border:0}.exercise-filter-form legend{margin-bottom:18px;color:#aaa;font-size:1.15rem;font-weight:800}.filter-chips{display:flex;flex-wrap:wrap;gap:10px}.filter-chips input{position:absolute;opacity:0}.filter-chips span{display:block;padding:11px 15px;border-radius:999px;background:#261208;color:#bbb}.filter-chips input:checked+span{background:var(--orange);color:#080808}.filter-chips.muscles span{background:#171d13}.filter-chips.equipment span{background:#211b13}.filter-actions{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;background:var(--bg)}.filter-actions button{min-height:56px;border:1px solid var(--orange);border-radius:14px;background:transparent;color:var(--orange);font-weight:850}.filter-actions button:last-child{background:var(--orange);color:#080808}.assistant-status{text-align:center;color:var(--orange);margin-top:-12px}.conversation>time{display:block;width:max-content;margin:20px auto;padding:5px 16px;border-radius:999px;background:#262626;color:#aaa}.assistant-prompts{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}.assistant-prompts button{padding:11px 14px;border:0;border-radius:999px;background:#4b210d;color:#fff}.feed-dislikes{margin-top:18px;padding:16px;border-top:1px solid #303030}
.route-loading{padding:32px 12px;color:#999;text-align:center}.vital-exercise-row img{object-fit:cover;background:#0c0c0c}.exercise-phase-strip{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:16px;padding:0 18% 2px 0}.exercise-phase-strip::-webkit-scrollbar{display:none}.exercise-phase-strip img{flex:0 0 82%;width:82%!important;aspect-ratio:1/1;object-fit:cover!important;scroll-snap-align:start;border-radius:18px;background:#111}.exercise-phase-strip--hero{margin:0 -4px 10px}.exercise-phase-dots{display:flex;justify-content:center;gap:6px;margin:0 0 24px}.exercise-phase-dots i{width:7px;height:7px;border-radius:50%;background:#555;transition:width .18s ease,background .18s ease}.exercise-phase-dots i.active{width:22px;border-radius:99px;background:var(--orange)}.exercise-video-section{position:relative}.exercise-video-section video{margin-top:14px;aspect-ratio:1/1;max-height:none;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.exercise-video-section video::-webkit-media-controls{display:none!important}.exercise-video-shield{position:absolute;inset:14px 0 0;z-index:2;display:block;touch-action:none}

.route-view[data-route="exercise-library"] .route-content,.route-view[data-route="exercise-category"] .route-content{top:calc(36px + var(--safe-top));padding-top:20px}.route-view[data-route="exercise-library"] .library-tools,.route-view[data-route="exercise-category"] .library-tools{top:20px;right:22px}.route-view[data-route="exercise-library"] .route-search,.route-view[data-route="exercise-category"] .route-search{margin-top:0;padding-right:116px}

.route-view[data-route="exercise-detail"] .route-content{background:#000}.route-view[data-route="exercise-detail"] .exercise-video-section{margin:0 -20px -20px!important;padding:132px 20px calc(34px + var(--safe-bottom))!important;border-top:0!important;background:linear-gradient(180deg,#000 0%,#090909 12%,#242424 28%,#555 47%,#929292 66%,#d7d7d7 83%,#fff 100%)}.route-view[data-route="exercise-detail"] .exercise-video-section video{margin-top:0;background:#fff;border-radius:18px}.route-view[data-route="exercise-detail"] .exercise-video-shield{inset:132px 20px calc(34px + var(--safe-bottom))}

/* Tema 219: interfaz clara con azul marino; las fotografías conservan su tratamiento. */
:root{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--raised:#f0f3f6;--line:#d7dde3;--orange:#123b61;--orange-dark:#dfe9f2;--text:#111820;--muted:#687480}
html,body,.app-shell,.main-app,.app-view,.route-view{background:#fff;color:var(--text)}
.screen-header,.simple-header,.route-header,.top-tabs,.feed-filter-menu{background:rgba(255,255,255,.96);border-color:#e1e5e9;color:var(--text)}
.icon-button,.round-action{background:#f3f5f7;border-color:#dce1e6;color:#123b61;box-shadow:0 7px 20px rgba(18,59,97,.09)}
.top-tabs button,.top-tabs button:not(.active),.training-lead .top-tabs button,.training-lead .top-tabs button:not(.active){background:rgba(255,255,255,.58);border-color:rgba(18,59,97,.12);color:#65717d}
.top-tabs button.active,.training-lead .top-tabs button.active,.route-period button.active{border-color:rgba(18,59,97,.38);background:rgba(18,59,97,.10);color:#123b61}
.scroll-content,.feed-list,.manual-grid,.more-list,.messages,.route-content{background:#fff}
.bottom-nav{border:1px solid #e0e4e8;background:rgba(255,255,255,.97);box-shadow:0 9px 28px rgba(21,40,58,.16)}
.bottom-nav button{color:#7a858f}.bottom-nav button.active{background:#dfe9f2;color:#123b61}.bottom-nav button>b{border-color:#fff;background:#123b61;color:#fff}
.tip-card,.workout-item,.metric-section,.notice-card,.stats-grid article,.message-row,.webmcp-panel,.offline-card,.route-stat-grid article,.measurement-head,.measurement-entry,.share-explainer article,.subscription-option,.nutrition-stats,.meal-list>button{border-color:#dfe4e9;background:#f6f8fa;color:var(--text);box-shadow:none}
.workout-item.current,.training-content .workout-item.current{border-color:#c5d5e3;background:#edf3f8}.offline-card{background:#f3f6f9!important;color:var(--text)!important}.offline-card h2{color:var(--text)!important}
.route-row,.community-user,.more-list>button,.choice-list label,.toggle-row,.profile-details div,.messages .message-row,#view-messages .message-row{border-color:#e1e5e9;color:var(--text)}
.route-search,.route-form input,.route-form select,.support-form select,.support-form textarea,.set-entry input,.set-comment textarea,.chat-composer{border-color:#d7dde3;background:#f4f6f8;color:var(--text)}
.route-search input,.chat-composer input,.set-entry input,.set-comment textarea{color:var(--text)}
.route-section>h2,.route-copy,.route-row span small,.support-form label,.route-form>label,.profile-help,.subscription-disclosure,.subscription-manage{color:#687480}
.route-primary,.primary-action,.wide-action,.start-session,.share-fab,.compose,.set-entry button,.food-filter-actions button:last-child,.filter-actions button:last-child{background:#123b61;color:#fff}
.route-secondary{border-color:#cbd3da;color:#51606d;background:#fff}
.route-period,.period-tabs{border-color:#d8dee4;background:#eef2f5;color:#687480}
.filter-actions,.food-filter-actions{background:#fff}.filter-chips span,.filter-chips.muscles span,.filter-chips.equipment span{background:#e9eff4;color:#526171}.filter-chips input:checked+span{background:#123b61;color:#fff}
.subscription-card{border-color:#cad9e5;background:#eef4f8}.subscription-option.active{border-color:#123b61;background:#eaf1f6}.subscription-option{color:var(--text)}.subscription-option>span{background:#123b61;color:#fff}
.bubble.incoming{background:#eef2f5}.bubble.outgoing{background:#dfe9f2;color:#162535}.conversation>time{background:#eef2f5;color:#687480}
.health-setup{background:#fff;color:var(--text)}.health-confirm,.diary-tutorial,.confirm-dialog,.create-plan-tutorial{background:#fff;color:var(--text)}.health-confirm::backdrop,.diary-tutorial::backdrop,.confirm-dialog::backdrop,.create-plan-tutorial::backdrop{background:rgba(15,30,45,.38)}
.onboarding{background:#fff;color:var(--text)}.tour-skip,.tour-copy p:last-child{color:#687480}.tour-image-wrap{border-color:#d9dfe5;background:#f1f3f5}
.splash{background:#fff}.splash-brand{display:flex;flex-direction:column;align-items:center;gap:18px;animation:splashIn .9s cubic-bezier(.22,.8,.24,1)}.splash-brand img{width:min(56vw,260px);border-radius:24%;animation:none;box-shadow:0 18px 46px rgba(7,27,43,.18)}.splash-brand strong{display:flex;align-items:baseline;gap:.28em;color:#17232d;font-size:clamp(1.48rem,6.2vw,2.25rem);font-weight:900;letter-spacing:.045em}.splash-brand strong span{white-space:nowrap}.splash-brand strong b{color:#176078;font:inherit;letter-spacing:-.02em}.splash-brand>small{color:#72848e;font-size:clamp(.62rem,2.6vw,.78rem);font-weight:800;letter-spacing:.19em}
.app-shell .splash{background:#031f35!important}.app-shell .splash-brand strong{color:#fff}.app-shell .splash-brand strong b{color:#5bacc2}.app-shell .splash-brand>small{color:#a9bdc7}.app-shell .splash-brand img{box-shadow:none}
.route-view[data-route="exercise-detail"] .route-content{background:#fff}.route-view[data-route="exercise-detail"] .exercise-video-section{margin:0 -20px -20px!important;padding:32px 20px calc(34px + var(--safe-bottom))!important;border-top:1px solid #e1e5e9!important;background:#fff}.exercise-loop{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:18px;background:#fff;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.exercise-detail section{border-color:#e0e5e9}.exercise-detail li{color:#56636f}.exercise-tags span{background:#dfe9f2;color:#123b61}
.library-tools button,.route-header button:last-child,.text-action,.section-title button,.more-list>button>i:last-child{color:#123b61}
.route-header button{color:#25323d}
.route-empty h2{color:var(--text)}.route-empty button{background:#123b61;color:#fff}
.calendar .today,.analytics-calendar .today,.schedule-calendar .today{background:#123b61;color:#fff}
.manual-grid button,.muscle-card-grid>button,.plan-card,.today-hero,.route-hero,.route-media-card,.sports-nutrition-lead{color:#fff}
.manual-grid button b,.muscle-card-grid b,.plan-details,.today-hero__content,.route-hero>div,.route-media-card>div,.sports-nutrition-lead>div{color:#fff}
.feed-filter-menu button{color:var(--text)}

/* Tema 220: elimina restos oscuros de componentes interactivos y etiquetas. */
.app-shell button{background-color:#fff;color:#24313c}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child,.app-shell .route-empty button,.app-shell .offline-download{background:#123b61!important;color:#fff!important}
.health-confirm{width:min(88vw,430px);padding:30px 28px 26px;border:1px solid #e0e6eb;border-radius:26px;box-shadow:0 22px 60px rgba(4,47,72,.22)}
.health-confirm__icon{width:58px;height:58px;margin:0 0 20px;display:grid;place-items:center;border-radius:18px;background:#eaf1f6;color:#123b61;font-size:1.75rem}
.health-confirm h2{margin:0 0 14px;color:#17232d;font-size:1.55rem;line-height:1.18}
.health-confirm p{margin:0;color:#65727d;line-height:1.55}
.health-confirm menu{margin:28px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.health-confirm button{min-height:52px;padding:12px 16px;border:2px solid #123b61;border-radius:14px;font-weight:850}
.health-confirm .health-confirm__back{background:#fff;color:#123b61}
.health-confirm .health-confirm__skip{background:#123b61;color:#fff}
.app-shell .bottom-nav button{background:transparent;color:#74808b}.app-shell .bottom-nav button.active{background:#dfe9f2;color:#123b61}
.app-shell .top-tabs button,.app-shell .route-period button,.app-shell .period-tabs>*{background:transparent;color:#687480}.app-shell .top-tabs button.active,.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b{background:#dfe9f2;color:#123b61}
.app-shell .manual-grid button,.app-shell .muscle-card-grid>button{background-color:#111;color:#fff}
.interface-chip,.home-eyebrow,.eyebrow,.messages-eyebrow{color:#123b61}.interface-chip{border-color:rgba(18,59,97,.35);background:rgba(255,255,255,.88)}
.dashboard-tutorial,.dashboard-share-tip,.workout-diary-tip{border:1px solid #d7e1e9;background:#edf3f8;color:#123b61}.dashboard-tutorial i,.dashboard-share-tip i,.workout-diary-tip i{color:#123b61}
.assistant-prompts button,.webmcp-capabilities span,.exercise-tags span,.filter-chips span,.conversation>time,.period-tabs,.route-period,.message-avatar,.messages .message-avatar,.ai-avatar,.ai-mark{border-color:#d6e0e8;background:#e8eff5;color:#123b61}
.route-search,.chat-composer,.route-form input,.route-form select,.support-form select,.support-form textarea,.set-entry input,.set-comment textarea,.subscription-option,.health-confirm,.diary-tutorial,.confirm-dialog,.create-plan-tutorial{background:#fff;color:#17232d;border-color:#d7dde3}
.route-search input,.route-form input,.route-form select,.support-form select,.support-form textarea,.set-entry input,.set-comment textarea,.chat-composer input{background:transparent;color:#17232d}
.route-row,.more-list>button,.community-user,.message-row,.supplement-picker-row,.food-list-row,.encyclopedia-card{background:#fff;color:#17232d}
.tip-card,.workout-item,.metric-section,.notice-card,.stats-grid article,.offline-card,.route-stat-grid article,.measurement-head,.measurement-entry,.share-explainer article,.nutrition-stats,.meal-list>button,.subscription-card,.subscription-option,.danger-card,.account-note,.vacation-card{background:#f5f7f9;color:#17232d;border-color:#dce2e7}
.food-list-heading,.nutrition-table>div,.food-detail .food-serving,.food-detail .nutrition-subtitle{background:#fff;color:#35434f;border-color:#e0e5e9}
.toggle-row,.choice-list label,.confirm-check,.profile-details div,.route-section,.workout-log{background:#fff;color:#17232d;border-color:#e0e5e9}
.panel-toolbar,.diet-toolbar,.set-quick-actions,.filter-actions,.food-filter-actions{background:#fff}
.route-secondary,.filter-actions button,.food-filter-actions button,.set-quick-actions button,.subscription-manage,.assistant-refresh,.health-source-card button{background:#fff;color:#123b61;border-color:#123b61}
.offline-card__icon{background:#123b61;color:#fff}.offline-card__eyebrow{color:#123b61!important}

/* Tema 221: paleta medida de la aplicación de referencia. */
:root{--orange:#10b8bd;--orange-dark:#def4f5;--text:#17212a;--muted:#668099}
.screen-header h1,.simple-header h1,.route-header h1,.block>h2,.metric-section h2,.route-section>h2,.panel-toolbar h2,.training-content>.block>h2,.original-section-title h2{color:#456b8c}
.app-shell button{color:#456b8c}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child,.app-shell .route-empty button,.app-shell .offline-download{background:#10b8bd!important;color:#fff!important}
.app-shell .top-tabs button.active,.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b,.app-shell .bottom-nav button.active{background:#e5f4f6;color:#0aaeb4}
.training-lead .top-tabs button.active,.app-shell .top-tabs button[data-panel="dashboard"].active{border-color:#456b8c;background:#456b8c;color:#fff}
.library-tools button,.route-header button:last-child,.text-action,.section-title button,.more-list>button>i:last-child,.interface-chip,.home-eyebrow,.eyebrow,.messages-eyebrow{color:#10b8bd}
.interface-chip{border-color:rgba(16,184,189,.38)}
.dashboard-tutorial{border-color:#9bc8eb;background:#5a9bd2;color:#fff}.dashboard-share-tip,.workout-diary-tip{border-color:#cde6ef;background:#e9f6f8;color:#456b8c}.dashboard-tutorial i{color:#fff}.dashboard-share-tip i,.workout-diary-tip i{color:#10b8bd}
.assistant-prompts button,.webmcp-capabilities span,.exercise-tags span,.filter-chips span,.conversation>time,.message-avatar,.messages .message-avatar,.ai-avatar,.ai-mark{border-color:#cfe5e8;background:#e8f5f6;color:#0aaeb4}
.filter-chips input:checked+span{background:#10b8bd;color:#fff}
.route-secondary,.filter-actions button,.food-filter-actions button,.set-quick-actions button,.subscription-manage,.assistant-refresh,.health-source-card button{background:#fff;color:#10aeb3;border-color:#10b8bd}
.subscription-option.active{border-color:#10b8bd;background:#effafa}.subscription-option strong,.measurement-entry b,.route-stat-grid b,.measurement-head b{color:#10aeb3}
.calendar .today,.analytics-calendar .today,.schedule-calendar .today,.offline-card__icon{background:#10b8bd;color:#fff}.offline-card__eyebrow{color:#10aeb3!important}
.bottom-nav button>b{background:#ff6f7f;color:#fff}.route-header button{color:#456b8c}

/* Tema 223: valores exactos muestreados de las capturas originales. */
:root{--orange:#49abaf;--orange-dark:#e9f4f4;--text:#343434;--muted:#7c8fa6}
.screen-header h1,.simple-header h1,.route-header h1,.block>h2,.metric-section h2,.route-section>h2,.panel-toolbar h2,.training-content>.block>h2,.original-section-title h2{color:#48607d}
.app-shell button,.route-header button{color:#48607d}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child,.app-shell .route-empty button,.app-shell .offline-download{background:#49abaf!important;color:#fff!important}
.training-lead .top-tabs button.active,.app-shell .top-tabs button[data-panel="dashboard"].active{border-color:#48607d;background:#48607d;color:#fff}
.dashboard-tutorial{border-color:#6394d1;background:#6394d1;color:#fff}
.app-shell .top-tabs button.active:not([data-panel="dashboard"]),.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b,.app-shell .bottom-nav button.active{background:#e9f4f4;color:#49abaf}
.library-tools button,.route-header button:last-child,.text-action,.section-title button,.more-list>button>i:last-child,.interface-chip,.home-eyebrow,.eyebrow,.messages-eyebrow{color:#49abaf}
.dashboard-share-tip,.workout-diary-tip{border-color:#d6e8e9;background:#eef7f7;color:#48607d}.dashboard-share-tip i,.workout-diary-tip i{color:#49abaf}
.assistant-prompts button,.webmcp-capabilities span,.exercise-tags span,.filter-chips span,.conversation>time,.message-avatar,.messages .message-avatar,.ai-avatar,.ai-mark{border-color:#d6e8e9;background:#e9f4f4;color:#49abaf}
.route-secondary,.filter-actions button,.food-filter-actions button,.set-quick-actions button,.subscription-manage,.assistant-refresh,.health-source-card button{background:#fff;color:#49abaf;border-color:#49abaf}
.subscription-option.active{border-color:#49abaf;background:#eef7f7}.subscription-option strong,.measurement-entry b,.route-stat-grid b,.measurement-head b{color:#49abaf}
.calendar .today,.analytics-calendar .today,.schedule-calendar .today,.offline-card__icon{background:#49abaf;color:#fff}.offline-card__eyebrow{color:#49abaf!important}
.bottom-nav button{color:#7c8fa6!important}.bottom-nav button.active{color:#49abaf!important}.bottom-nav button>b{background:#eb828a!important;color:#fff!important}

/* Tema 224: paleta exacta de la APK modelo ejecutada en el emulador. */
:root{--orange:#0fb9bc;--orange-dark:#e8f7f7;--text:#262626;--muted:#96a1ab}
.screen-header h1,.simple-header h1,.route-header h1,.block>h2,.metric-section h2,.route-section>h2,.panel-toolbar h2,.training-content>.block>h2,.original-section-title h2,.app-shell button,.route-header button{color:#416180}
.training-lead .top-tabs button.active,.app-shell .top-tabs button[data-panel="dashboard"].active{border-color:#416180;background:#416180;color:#fff}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child,.app-shell .route-empty button,.app-shell .offline-download{background:#0fb9bc!important;color:#fff!important}
.app-shell .top-tabs button.active:not([data-panel="dashboard"]),.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b,.app-shell .bottom-nav button.active{background:#e8f7f7;color:#0fb9bc}
.library-tools button,.route-header button:last-child,.text-action,.section-title button,.more-list>button>i:last-child,.interface-chip,.home-eyebrow,.eyebrow,.messages-eyebrow{color:#0fb9bc}
.route-secondary,.filter-actions button,.food-filter-actions button,.set-quick-actions button,.subscription-manage,.assistant-refresh,.health-source-card button{color:#0fb9bc;border-color:#0fb9bc}
.bottom-nav button{color:#96a1ab!important}.bottom-nav button.active{color:#0fb9bc!important}.bottom-nav button>b{background:#e94f4f!important}.ring{position:relative;isolation:isolate;overflow:hidden;border:0!important;background:conic-gradient(from 0deg,#0e969d 0 var(--workout-progress,0deg),#ffc9cd var(--workout-progress,0deg) 360deg)!important;color:#17232d}.ring::before{content:"";position:absolute;inset:7px;z-index:-1;border-radius:50%;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.8)}.exercise-phase-dots i.active{background:#0fb9bc}
.muscle-card-grid button::after{background:linear-gradient(90deg,rgba(0,49,73,.34),rgba(0,49,73,0) 62%)}

/* Calendario completo y sus preferencias. */
.schedule-month{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;margin:4px 0 24px}.schedule-month h2{text-align:center}.schedule-month button{height:44px;border:0;background:transparent;color:var(--orange);font-size:1.45rem}.schedule-calendar{margin-bottom:24px}.schedule-calendar small{min-height:50px;display:grid;place-items:center}.schedule-calendar .today{border-radius:50%;background:var(--orange);color:#080808}

/* Detalle de entrenamiento, superseries y diario. */
.superset-help{margin:0 0 16px;padding:14px;border:1px solid #3a210f;border-radius:14px;display:grid;grid-template-columns:30px 1fr;gap:10px;color:#aaa;line-height:1.4}.superset-help i{color:var(--orange);font-size:1.35rem}.set-entry{display:grid;grid-template-columns:1fr 64px;gap:12px;align-items:end}.set-entry label span{display:block;margin-bottom:8px;color:#999}.set-entry input{width:100%;height:58px;padding:0 16px;border:1px solid #333;border-radius:14px;background:#0d0d0d;color:#fff;font-size:1.2rem}.set-entry button{height:58px;border:0;border-radius:14px;background:var(--orange);color:#080808;font-size:1.65rem}.set-comment{display:block;margin-top:18px;color:var(--orange)}.set-comment textarea{width:100%;min-height:76px;margin-top:9px;padding:12px;border:1px solid #333;border-radius:14px;background:#0d0d0d;color:#fff}.set-history-row{width:100%;margin-top:12px;padding:14px;border:1px solid #2f2f2f;border-radius:12px;background:#111;color:#fff;display:grid;grid-template-columns:1fr auto;text-align:left}.set-history-row small{grid-column:1/-1;margin-top:6px;color:#888}

/* Planes personalizados: toque para activar y pulsación larga para eliminar. */
.custom-plan-card{cursor:pointer;user-select:none;-webkit-user-select:none}.custom-plan-card.active-plan{outline:2px solid var(--orange)}.confirm-dialog{width:min(88vw,420px);padding:24px;border:0;border-radius:24px;background:#181818;color:#fff}.confirm-dialog::backdrop{background:rgba(0,0,0,.7)}.confirm-dialog p{color:#aaa}.confirm-dialog form>div{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.confirm-dialog button{padding:12px 18px;border:0;background:transparent;color:var(--orange);font-weight:800}

/* Tutorial y flujo de compartir programa observados en la capa principal. */
.dashboard-tutorial{width:100%;min-height:94px;margin:0 0 20px;padding:18px;border:0;border-radius:17px;background:#58240d;color:#fff;display:grid;grid-template-columns:48px 1fr;gap:15px;align-items:center;text-align:left;font-size:1.05rem;font-weight:780}.dashboard-tutorial i{color:var(--orange);font-size:2.2rem}.share-plan-card{margin:0 0 24px}.share-plan-card small{display:block;margin-top:8px}.share-explainer{display:grid;gap:18px}.share-explainer article{padding:18px;border:1px solid #303030;border-radius:18px;background:#121212;display:grid;grid-template-columns:48px 1fr;gap:14px}.share-explainer article>b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#1e1e1e;color:var(--orange);font-size:1.25rem}.share-explainer h2{margin:5px 0 14px;font-size:1.18rem}.share-explainer ul{margin:0;padding-left:20px;color:#aaa}.share-explainer li{margin:12px 0;line-height:1.45}.create-plan-tutorial{width:min(94vw,480px);max-height:92vh;padding:0;border:0;border-radius:26px;background:#151515;color:#fff}.create-plan-tutorial::backdrop{background:rgba(0,0,0,.72)}.create-plan-tutorial article{position:relative;padding:22px;text-align:center}.create-plan-tutorial img{width:100%;height:380px;object-fit:contain}.create-plan-tutorial p{color:#aaa;line-height:1.45}.create-plan-tutorial .tutorial-close{position:absolute;right:15px;top:12px;width:40px;height:40px;border:0;border-radius:50%;background:#222;color:#fff;font-size:1.6rem}.create-plan-tutorial .tutorial-next{width:100%;min-height:54px;border:1px solid var(--orange);border-radius:14px;background:transparent;color:var(--orange);font-weight:850}

/* Descarga local de los recursos de entrenamiento. */
.offline-card{margin:18px 0 8px;padding:18px;border:1px solid #303030;border-radius:18px;background:#111}.offline-card b,.offline-card small{display:block}.offline-card small{margin-top:7px;color:#888;line-height:1.4}.offline-card>button{width:100%;margin-top:16px;padding:13px;border:1px solid var(--orange);border-radius:14px;background:transparent;color:var(--orange);display:flex;justify-content:center;gap:8px;font-weight:800}.offline-card>button:disabled{opacity:.5}

/* Ficha de ejercicio con vídeo y recursos propios. */
.exercise-detail video{display:block;width:100%;max-height:420px;border-radius:18px;background:#0b0b0b;object-fit:contain}.exercise-detail h2{font-size:1.65rem}.exercise-tags{display:flex;flex-wrap:wrap;gap:9px}.exercise-tags span{padding:8px 12px;border-radius:999px;background:#351707;color:var(--orange)}.exercise-detail section{margin-top:28px;padding-top:18px;border-top:1px solid #2e2e2e}.exercise-detail li{margin:12px 0;color:#aaa;line-height:1.5}.exercise-detail section img{display:block;width:min(100%,360px);margin:auto;max-height:360px;object-fit:contain}

/* Capas de Cuenta observadas en el original; contenido e identidad propios. */
.community-list{display:grid}.community-user{width:100%;min-height:118px;padding:18px 6px;display:grid;grid-template-columns:72px 1fr;gap:16px;align-items:center;border:0;border-bottom:1px solid #292929;background:transparent;color:var(--text);text-align:left}.community-user>i{font-size:3.3rem;color:#9b9b9b}.community-user b,.community-user small,.community-user em{display:block}.community-user b{font-size:1.08rem}.community-user small,.community-user em{margin-top:5px;color:#999;font-style:normal}.analytics-heading{display:flex;align-items:center;justify-content:space-between;margin:24px 0}.analytics-heading h2{margin:0;color:#aaa}.analytics-heading button{border:0;background:transparent;color:var(--orange);font-weight:800}.analytics-placeholder{min-height:150px;padding:24px;display:grid;place-items:center;border:1px solid #2f2f2f;border-radius:18px;color:#888;text-align:center}.muscle-load{min-height:210px;background:radial-gradient(circle at center,rgba(255,104,30,.16),transparent 54%)}.measurement-entry{padding:22px;border:1px solid #303030;border-radius:18px;background:#121212;display:grid;grid-template-columns:1fr auto;gap:7px}.measurement-entry small{grid-column:1/-1;color:#888}.measurement-entry b{color:var(--orange)}.profile-summary{text-align:center}.profile-summary>i{font-size:7rem;color:#aaa}.profile-summary h2{margin:8px 0}.profile-summary p{margin:0;color:#888}.profile-help{color:#999;line-height:1.5}.profile-details{margin:0}.profile-details div{padding:18px 4px;border-bottom:1px solid #2c2c2c}.profile-details dt{color:#888}.profile-details dd{margin:6px 0 0;font-size:1.08rem}.profile-add{position:fixed;right:22px;bottom:105px;width:58px;height:58px;border:0;border-radius:50%;background:var(--orange);color:#080808;font-size:1.7rem;box-shadow:0 8px 24px #000}.vacation-card{padding-top:30px;text-align:center}.vacation-card>i{font-size:5rem;color:var(--orange)}.vacation-card strong{display:block;margin:10px;color:#aaa;font-size:1.2rem}.vacation-card p{margin:26px 0;color:#999;line-height:1.55}

.public-profile-tabs{overflow-x:auto;justify-content:flex-start}.public-profile-tabs button{flex:0 0 auto}

/* Flujos observados en Fitness Online 2.26.0: entrenamientos, dieta y suplementos. */
.original-section-title{margin-top:30px}.original-section-title h2{color:#aaa}.diet-toolbar{justify-content:flex-end;min-height:42px}.diet-toolbar button{color:var(--orange);font-size:1.55rem}.diet-meal{margin:0 -20px;border-bottom:1px solid #2d2d2d}.diet-meal header{min-height:108px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between}.diet-meal header small,.diet-meal header b{display:block}.diet-meal header small{color:#999;margin-bottom:8px}.diet-meal header b{font-size:1.3rem}.diet-meal header button{border:0;background:transparent;color:var(--orange);font-size:2rem}.diet-columns,.diet-food{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 92px 66px;gap:12px;align-items:center;padding:15px 24px}.diet-columns{border-block:1px solid #292929;color:#888}.diet-food{min-height:75px;border:0;border-bottom:1px solid #252525;background:transparent;color:var(--text);text-align:left}.diet-food b{font-size:.96rem}.diet-food span{color:#aaa;text-align:left}.supplement-list>button{width:100%;min-height:128px;padding:18px 4px;display:grid;grid-template-columns:82px 1fr;gap:18px;align-items:center;border:0;border-bottom:1px solid #292929;background:transparent;color:var(--text);text-align:left}.supplement-list b,.supplement-list small{display:block}.supplement-list b{font-size:1.2rem}.supplement-list small{margin-top:10px;color:#999;line-height:1.35}.supplement-thumb{width:68px;height:82px;border-radius:18px;background:linear-gradient(160deg,#2f1408,#ff681e);display:grid;place-items:center;color:#080808;font-size:2rem}.panel-fab{position:sticky;bottom:18px;float:right;width:64px;height:64px;border:1px solid #3b3b3b;border-radius:50%;background:#171717;color:var(--orange);box-shadow:0 9px 25px #000;font-size:1.6rem}.day-summary{margin-bottom:26px;padding:18px;display:grid;grid-template-columns:64px 1fr auto;gap:14px;align-items:center;border:1px solid #303030;border-radius:16px;background:#121212}.day-summary small,.day-summary b{display:block}.day-summary small{color:#aaa;margin-bottom:5px}.day-summary strong{color:#999;font-weight:500}.exercise-list{position:relative}.exercise-list::before{content:"";position:absolute;left:24px;top:162px;bottom:58px;width:3px;background:var(--orange)}.exercise-row{position:relative;width:100%;min-height:126px;padding:10px 8px 10px 58px;display:grid;grid-template-columns:106px 1fr;gap:18px;align-items:center;border:0;background:transparent;color:var(--text);text-align:left}.exercise-row img{width:106px;height:106px;object-fit:contain}.exercise-row b,.exercise-row small{display:block}.exercise-row b{font-size:1.12rem}.exercise-row small{margin-top:8px;color:#aaa}.exercise-row.linked::before{content:"";position:absolute;left:18px;width:15px;height:15px;border-radius:50%;background:var(--orange)}.route-sticky-cta{position:sticky;bottom:0;z-index:3}.workout-diary-tip{width:100%;padding:18px;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;border:0;border-radius:15px;background:#5a260d;color:#fff;text-align:left;font-weight:750}.workout-diary-tip i{color:var(--orange);font-size:2rem}.execution-visual{position:relative;min-height:390px;display:grid;place-items:center}.execution-visual img{width:85%;height:350px;object-fit:contain}.execution-visual button{position:absolute;right:0;width:48px;height:48px;border:1px solid var(--orange);background:transparent;color:var(--orange);font-size:1.35rem}.execution-visual button:first-of-type{top:40px}.execution-visual button:last-of-type{top:110px}.execution-title{font-size:1.55rem}.execution-title i{color:var(--orange)}.execution-metrics{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:12px;align-items:start;text-align:center}.execution-metrics button{min-height:112px;border:3px solid var(--orange);border-radius:50%;background:transparent;color:var(--text);display:grid;place-items:center}.execution-metrics b,.execution-metrics small{display:block}.execution-metrics b{font-size:1.3rem}.execution-metrics small{color:#999;line-height:1.2}.execution-metrics .execution-start{min-height:142px;color:var(--orange)}.workout-log{margin-top:26px;padding:20px;border:1px solid #303030;border-radius:18px}.workout-log p{color:#999}.route-calendar-note{padding:24px;border:1px solid #303030;border-radius:16px;color:#999}.active-plan{margin-top:24px}.plan-filter{margin:10px 0 24px;border-bottom:1px solid #303030}.plan-filter summary{padding:18px 0;color:#aaa;font-size:1.25rem}.plan-filter>label,.plan-filter>div{display:flex;gap:18px;padding:12px 0 22px}.premade-grid{display:grid;gap:16px}.premade-grid .route-media-card{margin:0}.supplement-picker-row{width:100%;min-height:102px;padding:16px 8px;display:grid;grid-template-columns:72px 1fr 24px;gap:18px;align-items:center;border:0;border-bottom:1px solid #2d2d2d;background:transparent;color:var(--text);text-align:left}.supplement-picker-row>span{width:62px;height:72px;border-radius:16px;background:linear-gradient(160deg,#2a1207,#ff681e);display:grid;place-items:center;color:#080808;font-size:1.7rem}.supplement-picker-row>b{font-size:1.12rem}.selectable .supplement-picker-row::after{content:"✓";color:#777;font-size:1.4rem}.selectable .supplement-picker-row>i{display:none}.supplement-article{font-size:1rem;line-height:1.55}.supplement-article.large-text{font-size:1.2rem}.supplement-hero-icon{width:180px;height:210px;margin:10px auto 28px;border-radius:32px;background:linear-gradient(155deg,#2b1105,#ff681e);display:grid;place-items:center;color:#080808;font-size:5rem}.supplement-article h2{font-size:1.8rem}.supplement-article p{color:#aaa}

/* Manual: alimentos y enciclopedia, con la jerarquía observada en la app de referencia. */
.food-category-grid,.encyclopedia-list{display:grid;gap:14px}.food-category-card,.encyclopedia-card{position:relative;width:100%;height:168px;overflow:hidden;padding:0;border:1px solid #363636;border-radius:18px;background:#101010;color:#fff;text-align:left}.food-category-card img,.encyclopedia-card img{width:100%;height:100%;object-fit:cover}.food-category-card::after,.encyclopedia-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.15))}.food-category-card span,.encyclopedia-card span{position:absolute;z-index:2;left:22px;right:20px;top:50%;transform:translateY(-50%);font-size:1.28rem;font-weight:850;line-height:1.16}.food-list-heading{min-height:46px;padding:0 12px;display:grid;grid-template-columns:1fr 62px;align-items:center;color:#888;border-bottom:1px solid #303030}.food-list-row{width:100%;min-height:72px;padding:12px;display:grid;grid-template-columns:minmax(0,1fr) 50px 20px;gap:8px;align-items:center;border:0;border-bottom:1px solid #292929;background:transparent;color:#fff;text-align:left}.food-list-row>span{font-size:1.04rem}.food-list-row>b{color:#aaa;text-align:right}.food-list-row>i{color:var(--orange)}.food-serving{margin:0 0 18px;color:#999}.nutrition-summary{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:7px;align-items:stretch}.nutrition-summary>strong,.nutrition-summary>span{min-height:92px;padding:12px 6px;border:1px solid #303030;border-radius:15px;background:#121212;display:grid;place-items:center;text-align:center}.nutrition-summary>strong{color:var(--orange);font-size:1.55rem}.nutrition-summary b{font-size:.95rem}.nutrition-summary small{display:block;color:#888;font-size:.7rem}.nutrition-table{margin:0}.nutrition-table>div{padding:15px 2px;border-bottom:1px solid #292929;display:flex;justify-content:space-between;gap:16px}.nutrition-table dt{color:#aaa}.nutrition-table dd{margin:0;color:#fff}.nutrition-note{padding:16px;border-radius:14px;background:#251107;color:#aaa;font-size:.8rem;line-height:1.45}.encyclopedia-card{height:150px}.encyclopedia-article>img{width:calc(100% + 40px);height:230px;margin:-20px -20px 24px;object-fit:cover}.encyclopedia-article .article-intro{font-size:1.1rem;color:#ddd}.encyclopedia-article section{padding:12px 0;border-top:1px solid #2d2d2d}.encyclopedia-article aside{margin-top:24px;padding:16px;border:1px solid #3c210f;border-radius:15px;display:grid;grid-template-columns:28px 1fr;gap:10px}.encyclopedia-article aside i{color:var(--orange);font-size:1.3rem}.encyclopedia-article aside p{margin:0;font-size:.82rem}@media(max-width:390px){.nutrition-summary{grid-template-columns:1fr 1fr}.food-category-card,.encyclopedia-card{height:145px}.food-category-card span,.encyclopedia-card span{font-size:1.12rem}}
.food-list-row.has-image{grid-template-columns:52px minmax(0,1fr) 50px 20px}.food-list-thumb{width:48px;height:48px;border-radius:12px;object-fit:cover;background:#fff;border:1px solid #d8e1e6}
:root{--auth-surface:#080808}
.account-delete-form>label:not(.confirm-check){display:grid;gap:8px;margin:16px 0;color:#687480}.account-delete-form input[type="password"],.account-delete-form input[type="text"]{height:52px;padding:0 14px;border:1px solid #cbd3da;border-radius:12px;background:#fff!important;color:#111!important;caret-color:#111;-webkit-text-fill-color:#111;box-shadow:none}.account-delete-form input:focus{border-color:#079da3;outline:3px solid rgba(7,157,163,.14)}
.blocked-user-row{grid-template-columns:1fr auto!important;gap:12px}.blocked-user-remove{padding:9px 12px;border:1px solid #cfd6dc;border-radius:12px;background:#fff;color:#087f84;font-weight:800}.feed-list .post-actions{grid-template-columns:1fr 1fr auto!important;gap:4px}.feed-list .post-actions .post-moderation-button{display:flex;align-items:center;justify-content:flex-end;gap:4px;color:#7d8790!important;font-size:.72rem;font-weight:650;white-space:nowrap;opacity:.9}.feed-list .post-actions .post-moderation-button i{font-size:.95rem}.comment-moderation-button{margin-left:auto;border:0;background:transparent;color:#67727c;font-size:1.25rem;width:40px;height:32px}.feed-comment-row>div{display:flex;align-items:center}.moderation-dialog{width:min(100% - 28px,520px);margin:auto;padding:0;border:0;border-radius:22px;background:#fff;color:#111}.moderation-dialog::backdrop{background:rgba(0,0,0,.65)}.moderation-dialog form{padding:20px;display:grid;gap:14px}.moderation-dialog header{display:flex;align-items:center;justify-content:space-between}.moderation-dialog h2,.moderation-dialog p{margin:0}.moderation-dialog header button{width:42px;height:42px;border:0;background:transparent;font-size:1.25rem}.moderation-dialog label{display:grid;gap:7px;color:#58636d;font-size:.85rem;font-weight:750}.moderation-dialog select,.moderation-dialog textarea{width:100%;padding:12px;border:1px solid #cfd6dc;border-radius:12px;background:#fff;color:#111;font:inherit}.moderation-dialog textarea{min-height:88px;resize:vertical}.moderation-report,.moderation-block{min-height:50px;border-radius:14px;font-weight:850}.moderation-report{border:0;background:#087f84;color:#fff}.moderation-block{border:1px solid #d1412f;background:#fff;color:#c23220}.moderation-dialog small{color:#67727c;line-height:1.4}
.moderation-dialog header .moderation-back{width:54px;height:54px;border:1px solid #d8e0e6;border-radius:50%;background:#f8fafb;color:#17232d;font-size:1.45rem;display:grid;place-items:center;box-shadow:0 5px 16px rgba(24,42,52,.08)}
[data-dashboard-widget][hidden]{display:none!important}
.dashboard-editor{width:min(90vw,440px);padding:0;border:1px solid #333;border-radius:22px;background:#141414;color:#fff}.dashboard-editor::backdrop{background:rgba(0,0,0,.72)}.dashboard-editor form{padding:22px}.dashboard-editor h2{margin:0 0 16px}.dashboard-editor label{min-height:55px;border-bottom:1px solid #292929;display:flex;align-items:center;gap:12px}.dashboard-editor input{accent-color:var(--orange);width:21px;height:21px}.dashboard-editor form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.dashboard-editor button{padding:12px 15px;border:0;border-radius:11px;background:#242424;color:#ddd}.dashboard-editor [type="submit"]{background:var(--orange);color:#080808;font-weight:900}
.custom-plan-first-day{width:100%;min-height:96px;padding:18px;border:1px solid rgba(255,104,30,.35);border-radius:17px;background:rgba(255,104,30,.1);color:#fff;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;text-align:left;font-weight:800}.custom-plan-first-day i{color:var(--orange);font-size:1.8rem}.custom-plan-first-day[hidden]{display:none}
.execution-visual video{width:85%;height:350px;object-fit:contain}
.set-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px}.set-quick-actions button{min-height:42px;border:1px solid #393939;border-radius:12px;background:#131313;color:#aaa;font-size:.72rem;font-weight:850}.set-edit-dialog{width:min(90vw,440px);padding:0;border:1px solid #333;border-radius:22px;background:#141414;color:#fff}.set-edit-dialog::backdrop{background:rgba(0,0,0,.72)}.set-edit-dialog form{padding:22px}.set-edit-dialog h2{margin:0 0 18px}.set-edit-dialog label{display:grid;gap:7px;margin:13px 0;color:#aaa}.set-edit-dialog input,.set-edit-dialog textarea{padding:12px;border:1px solid #333;border-radius:12px;background:#0d0d0d;color:#fff}.set-edit-dialog form>div{display:flex;justify-content:flex-end;gap:7px;margin-top:20px}.set-edit-dialog button{padding:11px;border:0;border-radius:10px;background:#242424;color:#ddd}.set-edit-dialog [data-delete]{margin-right:auto;color:#ff7550}.set-edit-dialog [type="submit"]{background:var(--orange);color:#080808;font-weight:850}
.route-coachmark-layer{position:fixed;z-index:140;inset:0;padding:24px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.64);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.coachmark-target{position:relative;z-index:141;outline:3px solid var(--orange);outline-offset:4px}.route-coachmark{position:relative;z-index:142;width:min(100%,440px);padding:22px;border:1px solid #3a3a3a;border-radius:22px;background:#151515;color:#fff;box-shadow:0 20px 60px #000}.route-coachmark h2{margin:0 0 10px;font-size:1.18rem}.route-coachmark p{margin:0;color:#aaa;line-height:1.5}.route-coachmark button{width:100%;min-height:50px;margin-top:20px;border:0;border-radius:15px;background:var(--orange);color:#080808;font-weight:900}
.auth-entry{position:fixed;z-index:75;inset:0;overflow:hidden;background:#050505;color:#fff}.auth-entry[hidden]{display:none}.auth-entry__background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.auth-entry__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.54) 45%,#050505 88%)}.auth-entry__content{position:relative;z-index:1;height:100%;padding:calc(72px + var(--safe-top)) 25px calc(28px + var(--safe-bottom));display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center}.auth-entry__logo{width:min(36vw,160px);height:auto;max-height:160px;object-fit:contain;margin-bottom:auto;filter:drop-shadow(0 8px 22px rgba(0,0,0,.7))}.auth-entry__content>p{margin:10px 0;color:#b5b5b5}.auth-email-open{width:min(100%,520px);min-height:58px;margin:8px 0 14px;border:1px solid var(--orange);border-radius:29px;background:rgba(8,8,8,.72);color:#fff;font-weight:850}.auth-entry .auth-legal{max-width:480px;font-size:.78rem;line-height:1.45}.auth-entry .auth-legal a{color:#ddd}.auth-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:#080808;color:#fff}.auth-dialog::backdrop{background:#080808}.auth-dialog form{min-height:100%;padding:var(--safe-top) 24px calc(30px + var(--safe-bottom))}.auth-dialog header{height:88px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center}.auth-dialog header button{width:52px;height:52px;border:0;border-radius:50%;outline:none;background:transparent;color:#fff;font-size:1.7rem}.auth-dialog header button:focus-visible{outline:none;background:#151515}.auth-dialog header h2{margin:0;text-align:center}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 28px;border-bottom:1px solid #292929}.auth-tabs button{padding:16px 8px;border:0;border-bottom:3px solid transparent;background:transparent;color:#888;font-weight:800}.auth-tabs button.active{border-color:var(--orange);color:#fff}.auth-dialog label{display:grid;gap:8px;margin:17px 0;color:#aaa;font-size:.9rem}.auth-dialog input{width:100%;height:54px;padding:0 16px;border:1px solid #333;border-radius:12px;background:#121212;color:#fff;font-size:1rem}.auth-password{position:relative}.auth-password input{padding-right:54px}.auth-password button{position:absolute;right:0;top:0;width:54px;height:54px;border:0;background:transparent;color:#aaa;font-size:1.35rem}.auth-dialog .route-primary{width:100%;margin:28px 0 12px}.auth-forgot{display:block;margin:0 auto;padding:12px;border:0;background:transparent;color:var(--orange)}.auth-error{min-height:24px;color:#ff8050;text-align:center;line-height:1.4}
.auth-dialog input{border-radius:18px}
.auth-dialog .route-primary{border-radius:22px}
.auth-tabs button{border-radius:14px 14px 0 0}
.profile-photo-card{display:grid;grid-template-columns:88px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #303030;border-radius:18px;background:#111}.profile-photo-card img{width:88px;height:88px;border-radius:14px;object-fit:cover}.profile-photo-card small{color:#aaa}.profile-photo-card button{padding:10px 12px;border:1px solid #5b2610;border-radius:12px;background:transparent;color:var(--orange)}.profile-gender{margin:16px 0;padding:14px;border:1px solid #303030;border-radius:14px}.profile-gender label{display:inline-flex!important;align-items:center;margin:8px 22px 0 0!important}.profile-gender input{width:20px!important;height:20px!important;accent-color:var(--orange)}
html[data-appearance="light"]{color-scheme:light;--bg:#f4f4f4;--surface:#fff;--raised:#ededed;--line:#d0d0d0;--text:#101010;--muted:#666}html[data-appearance="light"] body,html[data-appearance="light"] .app-shell,html[data-appearance="light"] .main-app,html[data-appearance="light"] .app-view{background:var(--bg);color:var(--text)}html[data-appearance="light"] .route-view,html[data-appearance="light"] .screen-header,html[data-appearance="light"] .simple-header,html[data-appearance="light"] .bottom-nav{background:#f7f7f7;color:#101010}

/* Tema 225: cierre de la capa clara y navegación persistente. */
.app-shell .workout-item,.app-shell .training-content .workout-item,.app-shell .training-content .workout-item.current,.app-shell .training-content .workout-item.locked{background:#fff!important;border:1px solid #dce3e9!important;color:#262626!important;box-shadow:0 6px 18px rgba(34,55,73,.09)!important}
.app-shell .workout-item small{color:#747e87!important}.app-shell .workout-item b{color:#416180!important}.app-shell .workout-item.locked>i,.app-shell .workout-item.locked>.app-icon-svg{color:#416180!important}
.manual-grid button{border-color:#d4dde5!important;background-image:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,0)),var(--image)!important;box-shadow:0 8px 22px rgba(34,55,73,.12)!important}.manual-grid button::after{background:linear-gradient(90deg,rgba(8,26,42,.55),rgba(8,26,42,.02) 72%)!important}
.manual-grid button b{color:#fff!important;text-shadow:0 2px 9px rgba(0,0,0,.55)!important}
.exercise-tags span{background:#eaf0f5!important;color:#416180!important;border:1px solid #cad6df!important}
.exercise-detail section{border-color:#dce2e7!important}.exercise-detail li,.exercise-detail section p{color:#333!important}
.route-primary,.filter-actions button:last-child,.subscription-option.selected,.execution-start{background:#416180!important;border-color:#416180!important;color:#fff!important}
.library-tools{top:26px!important;right:28px!important;height:38px;align-items:center;gap:8px}.library-tools button{width:38px!important;height:38px!important;color:#0fb9bc!important;font-size:1.5rem!important}.route-view[data-route="exercise-library"] .route-search,.route-view[data-route="exercise-category"] .route-search{padding-right:112px!important;overflow:hidden}.route-view[data-route="exercise-library"] .route-content,.route-view[data-route="exercise-category"] .route-content{padding-top:20px!important}
.analytics-body-map>img{height:340px!important;filter:none!important}.analytics-body-map{background:#f5f7f8;border-radius:20px}
.body-map-visual{position:relative;overflow:hidden;border-radius:20px;background:#fff}
.body-map-visual>img{display:block;width:100%;height:330px;object-fit:contain!important;background:#fff;object-position:center;border-radius:20px;filter:grayscale(1) contrast(.78) brightness(1.14);}
.muscle-hotspot{position:absolute;display:block;background:rgba(235,45,52,.78);filter:drop-shadow(0 0 3px rgba(235,45,52,.28));mix-blend-mode:multiply;opacity:0;transform:scale(.96);transition:opacity .2s,transform .2s;pointer-events:none;transform-origin:center}
.muscle-hotspot.is-active{opacity:1;transform:scale(1)}
.muscle-hotspot--chest{width:14%;height:9%;left:29%;top:23%;clip-path:polygon(2% 18%,18% 3%,46% 8%,50% 19%,54% 8%,82% 3%,98% 18%,94% 78%,72% 96%,52% 78%,48% 78%,28% 96%,6% 78%)}
.muscle-hotspot--shoulders{width:21%;height:9%;left:25%;top:20%;background:radial-gradient(ellipse at 12% 62%,rgba(235,45,52,.82) 0 38%,transparent 42%),radial-gradient(ellipse at 88% 62%,rgba(235,45,52,.82) 0 38%,transparent 42%);filter:none}
.muscle-hotspot--arm-left{width:5%;height:22%;left:24%;top:27%;clip-path:polygon(35% 0,82% 8%,96% 35%,73% 63%,62% 100%,23% 96%,8% 62%,18% 28%)}
.muscle-hotspot--arm-right{width:5%;height:22%;left:44%;top:27%;clip-path:polygon(18% 8%,65% 0,82% 28%,92% 62%,77% 96%,38% 100%,27% 63%,4% 35%)}
.muscle-hotspot--core{width:10%;height:18%;left:31%;top:31%;clip-path:polygon(17% 0,44% 4%,50% 12%,56% 4%,83% 0,89% 36%,78% 69%,62% 100%,38% 100%,22% 69%,11% 36%)}
.muscle-hotspot--leg-left{width:7%;height:34%;left:29%;top:48%;clip-path:polygon(15% 0,85% 3%,96% 25%,72% 48%,68% 73%,57% 100%,28% 98%,22% 73%,28% 48%,4% 25%)}
.muscle-hotspot--leg-right{width:7%;height:34%;left:38%;top:48%;clip-path:polygon(15% 3%,85% 0,96% 25%,72% 48%,78% 73%,72% 98%,43% 100%,32% 73%,28% 48%,4% 25%)}
.muscle-hotspot--glutes{width:15%;height:13%;right:20%;top:43%;clip-path:polygon(4% 17%,23% 2%,47% 9%,50% 25%,53% 9%,77% 2%,96% 17%,91% 75%,70% 98%,52% 78%,48% 78%,30% 98%,9% 75%)}
.muscle-hotspot--back{width:16%;height:20%;right:20%;top:23%;clip-path:polygon(18% 0,43% 8%,50% 19%,57% 8%,82% 0,96% 23%,78% 94%,58% 72%,50% 100%,42% 72%,22% 94%,4% 23%)}
.body-map .dot.low{background:#c7ccd1}.body-map .dot.max{background:#eb3e3e}
.history-summary{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;margin-bottom:26px;padding:16px;border:1px solid #303030;border-radius:16px;background:#121212}.history-summary .ring{width:56px;height:56px;border:3px solid var(--orange);border-radius:50%;display:grid;place-items:center;color:var(--orange);font-weight:800}.history-summary b,.history-summary small{display:block}.history-summary small{margin-top:5px;color:#999}.history-row{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;min-height:60px;border-bottom:1px solid #292929}.history-row>i{color:var(--orange);font-size:1.25rem}.history-row span b,.history-row span small{display:block}.history-row span small,.history-row time{color:#999;font-size:.85rem}
.supplement-picker-row{background:#fff!important;color:#416180!important;border-color:#d9dfe4!important}.supplement-picker-row img{width:82px!important;height:88px!important;object-fit:contain!important}.supplement-picker-row>i{color:#d85b1f!important}.supplement-picker-row b{color:#416180!important}
.encyclopedia-card{border-color:#d2dbe3!important;background:#fff!important}.encyclopedia-card::after{background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.15))!important}.encyclopedia-card span{color:#416180!important;text-shadow:none!important}
.bottom-nav.behind-route{visibility:hidden!important}.bottom-nav{z-index:95!important}.route-view{z-index:70!important}.route-content{padding-bottom:calc(38px + var(--safe-bottom))!important}
.dashboard-tutorial{min-height:84px!important;border:2px solid #d1dce5!important;border-radius:18px!important;background:#fff!important;color:#416180!important;box-shadow:0 5px 16px rgba(34,55,73,.06)!important}.dashboard-tutorial i{color:#416180!important;font-size:2.45rem!important}.dashboard-tutorial .app-icon-svg{width:2.45rem!important;height:2.45rem!important}
.route-header{background:#fff!important;border-color:#dbe1e6!important;color:#416180!important}.route-header h1{color:#416180!important}.route-header button{color:#416180!important}
.exercise-video-section{pointer-events:auto!important;touch-action:pan-y!important;isolation:isolate}.exercise-loop{pointer-events:auto!important;touch-action:pan-y!important;cursor:default!important;-webkit-user-drag:none!important}
.bottom-nav{position:fixed!important;left:max(14px,calc((100vw - 520px)/2 + 14px))!important;right:max(14px,calc((100vw - 520px)/2 + 14px))!important;bottom:var(--safe-bottom)!important;transform:translateZ(0);will-change:transform}.manual-grid{padding-bottom:calc(118px + var(--safe-bottom))!important}.muscle-card-grid>button:nth-child(4) img{filter:invert(1) hue-rotate(180deg) saturate(.72) brightness(1.04)}

/* Tipografía solicitada: texto estructural negro; se conserva el turquesa
   para estados, iconos y acciones visuales. El texto sobre fotografías sigue
   siendo blanco para mantener contraste. */
:root{--text:#000;--muted:#000}
.screen-header h1,.simple-header h1,.route-header h1,.block>h2,.metric-section h2,.route-section>h2,.panel-toolbar h2,.training-content>.block>h2,.original-section-title h2,.section-title h2,.month-line b,.weight,.route-copy,.route-row span,.route-row span small,.more-list>button>span,.message-row span,.message-row time,.food-list-heading,.food-list-row,.food-detail,.nutrition-table,.nutrition-subtitle,.nutrition-range legend,.profile-help,.subscription-disclosure,.route-empty p,.history-row,.history-summary,.day-summary,.workout-log{color:#000!important}
.app-shell .bottom-nav button,.app-shell .top-tabs button,.app-shell .route-period button,.app-shell .period-tabs>*,.app-shell .text-action,.app-shell .section-title button,.app-shell .library-tools button,.app-shell .route-header button,.app-shell .more-list>button>i:last-child{color:#000!important}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child{color:#000!important}

/* Sustitución final de azul por escala de grises. */
.app-shell .top-tabs button.active,.training-lead .top-tabs button.active,.app-shell .top-tabs button[data-panel="dashboard"].active,.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b{background:#d5d9dd!important;border-color:#b7bdc3!important;color:#000!important}
.app-shell .primary-action,.app-shell .wide-action,.app-shell .route-primary,.app-shell .start-session,.app-shell .share-fab,.app-shell .compose,.app-shell .set-entry button,.app-shell .food-filter-actions button:last-child,.app-shell .filter-actions button:last-child,.app-shell .route-empty button,.app-shell .offline-download{background:#d9dde1!important;border-color:#b9c0c6!important;color:#000!important}

/* La llamada a la acción del onboarding comparte el azul marino de la intro. */
.app-shell .onboarding .primary-action{background:#042f48!important;border-color:#042f48!important;color:#fff!important}
.app-shell .auth-entry .auth-entry__background{inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.app-shell .auth-entry .auth-entry__shade{background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.24) 45%,rgba(0,0,0,.82) 100%)}
.app-shell .auth-entry .auth-email-open{background:#042f48!important;border-color:#042f48!important;color:#fff!important}
.app-shell .auth-dialog,.app-shell .auth-dialog::backdrop{background:#fff!important;color:#111!important}
.app-shell .auth-dialog form{background:#fff!important;color:#111!important}
.app-shell .auth-dialog header h2{color:#111!important}
.app-shell .auth-dialog header button{border:1px solid #d5dde2!important;background:#f3f6f7!important;color:#111!important}
.app-shell .auth-dialog .auth-tabs{border-color:#d8e0e4!important}
.app-shell .auth-dialog .auth-tabs button{background:transparent!important;color:#5f6d76!important}
.app-shell .auth-dialog .auth-tabs button.active{border-color:#042f48!important;background:transparent!important;color:#111!important}
.app-shell .auth-dialog label{color:#111!important}
.app-shell .auth-dialog input{border-color:#cbd5da!important;background:#fff!important;color:#111!important}
.app-shell .auth-dialog .auth-password button{border:0!important;background:transparent!important;color:#111!important}
.app-shell .auth-dialog .route-primary{background:#042f48!important;border-color:#042f48!important;color:#fff!important}
.app-shell .auth-dialog .auth-forgot{background:transparent!important;color:#042f48!important}
.app-shell .auth-dialog .auth-error{color:#b42318!important}
.app-shell .auth-dialog{overflow-y:auto!important}
.app-shell .auth-dialog form{width:min(100%,520px);min-height:100%;margin:0 auto;padding:calc(14px + var(--safe-top)) 24px calc(24px + var(--safe-bottom))!important}
.app-shell .auth-dialog header{height:180px;grid-template-columns:46px 1fr 46px}
.app-shell .auth-dialog header button{width:44px;height:44px;font-size:1.35rem}
.app-shell .auth-dialog .auth-dialog-logo{display:block;width:172px;height:172px;margin:auto;border-radius:42px;object-fit:cover;box-shadow:0 12px 32px rgba(4,47,72,.2)}
.app-shell .auth-dialog .auth-dialog-title{margin:15px 0 18px;color:#111!important;text-align:center;font-size:1.65rem;line-height:1.1}
.app-shell .auth-dialog .auth-tabs{margin:0 0 20px}
.app-shell .auth-dialog .auth-tabs button{min-height:48px;padding:10px 6px;font-size:.95rem}
.app-shell .auth-dialog label{gap:6px;margin:12px 0;font-size:.85rem;font-weight:700}
.app-shell .auth-dialog input{height:48px;padding:0 14px;border-radius:14px!important;font-size:1rem}
.app-shell .auth-dialog .route-primary{min-height:52px;margin:22px 0 9px!important;border-radius:16px!important;font-size:.96rem;letter-spacing:.025em}
.app-shell .auth-dialog .auth-forgot{padding:10px;font-size:.88rem}
.app-shell .auth-dialog .auth-error{min-height:20px;margin:6px 0 0;font-size:.84rem}
.app-shell .auth-dialog .auth-plan-choice{margin:14px 0;padding:0;border:0}.app-shell .auth-dialog .auth-plan-choice legend{margin-bottom:8px;color:#111;font-size:.86rem;font-weight:800}.app-shell .auth-dialog .auth-plan-choice label{display:inline-flex;width:calc(50% - 5px);margin:0 6px 0 0;padding:11px;border:1px solid #cbd5da;border-radius:14px;align-items:center;gap:8px}.app-shell .auth-dialog .auth-plan-choice label:last-child{margin-right:0}.app-shell .auth-dialog .auth-plan-choice input{width:18px;height:18px;margin:0;padding:0;accent-color:#042f48}.app-shell .auth-dialog .auth-plan-choice span,.app-shell .auth-dialog .auth-plan-choice b,.app-shell .auth-dialog .auth-plan-choice small{display:block}.app-shell .auth-dialog .auth-plan-choice small{margin-top:2px;color:#687680;font-size:.7rem}.app-shell .auth-dialog .auth-trial-consent{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;margin:14px 0;color:#43515b!important;font-size:.76rem!important;font-weight:600!important;line-height:1.4}.app-shell .auth-dialog .auth-trial-consent input{width:20px;height:20px;margin:1px 0 0;padding:0;border-radius:5px!important;accent-color:#042f48}
.app-shell .health-setup .health-actions .route-primary{background:#042f48!important;border-color:#042f48!important;color:#fff!important}
.app-shell .health-setup .health-actions .route-secondary{background:#fff!important;border-color:#042f48!important;color:#042f48!important}
@media(max-height:720px){.app-shell .auth-dialog form{padding-top:calc(8px + var(--safe-top))!important}.app-shell .auth-dialog header{height:148px}.app-shell .auth-dialog .auth-dialog-logo{width:140px;height:140px;border-radius:34px}.app-shell .auth-dialog .auth-dialog-title{margin:9px 0 12px;font-size:1.4rem}.app-shell .auth-dialog .auth-tabs{margin-bottom:12px}.app-shell .auth-dialog label{margin:8px 0}.app-shell .auth-dialog input{height:44px}.app-shell .auth-dialog .route-primary{min-height:48px;margin-top:15px!important}}
.app-shell .bottom-nav button.active{background:#e3e6e9!important;color:#000!important}.app-shell .bottom-nav button{color:#000!important}
.screen-header h1,.simple-header h1,.route-header h1,.route-header button,.block>h2,.metric-section h2,.route-section>h2,.panel-toolbar h2,.training-content>.block>h2,.original-section-title h2,.app-shell button,.route-copy,.route-row,.route-row span,.route-row span small,.more-list>button>span,.message-row span,.message-row time,.library-tools button,.text-action,.section-title button,.more-list>button>i:last-child{color:#000!important}
.route-secondary,.filter-actions button,.food-filter-actions button,.set-quick-actions button,.subscription-manage,.assistant-refresh,.health-source-card button{background:#f1f2f3!important;border-color:#aeb5bb!important;color:#000!important}
.app-shell .workout-item b,.app-shell .workout-item small,.app-shell .workout-item.locked>i,.app-shell .workout-item.locked>.app-icon-svg,.supplement-picker-row b,.supplement-picker-row>i,.encyclopedia-card span,.food-category-card span{color:#000!important}

/* Estado seleccionado/pulsado: texto blanco sobre gris oscuro. */
.app-shell button:active,.app-shell button.active,.app-shell button[aria-selected="true"],.app-shell button[aria-current="page"]{color:#fff!important}
.app-shell .bottom-nav button.active{background:#70757a!important;color:#fff!important}
.app-shell .top-tabs button.active,.app-shell .route-period button.active,.app-shell .period-tabs>.active,.app-shell .period-tabs>b{background:#70757a!important;border-color:#70757a!important;color:#fff!important}
.app-shell .workout-item:active,.app-shell .route-row:active,.app-shell .more-list>button:active{background:#70757a!important;color:#fff!important}
.app-shell .workout-item:active b,.app-shell .workout-item:active small,.app-shell .route-row:active span,.app-shell .route-row:active span small,.app-shell .more-list>button:active>span,.app-shell .more-list>button:active>i{color:#fff!important}
.app-shell .more-list>button:active,
.app-shell .more-list>button.tap-active{background:#fff!important;color:#000!important}
.app-shell .more-list>button.tap-active>span,.app-shell .more-list>button.tap-active>i{color:#000!important}
/* Solo el periodo seleccionado queda relleno; evita que la regla genérica para <b> marque dos opciones. */
.app-shell .period-tabs>b:not(.active),.app-shell .period-tabs>span:not(.active){background:transparent!important;color:#000!important}
.app-shell .period-tabs>b.active,.app-shell .period-tabs>span.active{background:#70757a!important;color:#fff!important;border-radius:999px!important}
video::-webkit-media-controls-fullscreen-button{display:none!important}
video::-webkit-media-controls-enclosure{display:none!important}
/* Los vídeos son demostraciones inline: nunca reciben el gesto que dispara el reproductor nativo. */
.app-shell video,
.route-view video,
.exercise-video-dialog video{pointer-events:none!important;touch-action:none!important;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}

/* Controles de periodo: un único estado activo, siempre como píldora. */
.period-tabs,.route-period,.analytics-range{display:flex!important;align-items:center!important;gap:0!important;border-radius:999px!important;overflow:hidden!important;background:#edf1f4!important;padding:0!important}
.period-tabs>b,.period-tabs>span,.route-period>button,.period-tabs button,.analytics-range>button{flex:1!important;min-height:56px!important;display:grid!important;place-items:center!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#000!important;font-weight:600!important;margin:0!important}
.period-tabs>*:not(.active),.route-period>button:not(.active),.analytics-range>button:not(.active){background:transparent!important;border-radius:999px!important;color:#000!important}
.period-tabs>*:focus,.period-tabs>*:focus-visible,.route-period>button:focus,.route-period>button:focus-visible,.analytics-range>button:focus,.analytics-range>button:focus-visible{outline:none!important;box-shadow:none!important}
.period-tabs>b.active,.period-tabs>span.active,.route-period>button.active,.period-tabs button.active,.analytics-range>button.active{background:#70757a!important;color:#fff!important;border-radius:999px!important}

/* Botones de navegación y acciones «Más», con el mismo acabado redondeado. */
.route-header button,.screen-header>.icon-button,.simple-header>.icon-button,.section-title>button,.analytics-heading>button{border-radius:16px!important;background:#eef1f3!important;color:#000!important;border:1px solid #d5dade!important}
.route-header button:hover,.screen-header>.icon-button:hover,.simple-header>.icon-button:hover,.section-title>button:hover,.analytics-heading>button:hover{background:#70757a!important;color:#fff!important}
.route-header{overflow:visible!important;z-index:2!important}
.route-header button{position:relative!important;z-index:3!important;transform:translateY(-7px)!important}

/* Mejora de contraste sobre las imágenes de planes de entrenamiento. */
.plan-card .shade{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 42%,rgba(0,0,0,.08) 78%,rgba(0,0,0,0) 100%)!important}
.plan-card .plan-details,.plan-card .plan-details h2,.plan-card .plan-details p,.plan-card .plan-details strong,.plan-card .plan-details small{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.55)!important}

/* Las fichas de ejercicios usan GIFs locales: sin MP4, controles ni fullscreen. */
.exercise-row-gif{width:106px!important;height:106px!important;object-fit:contain!important;border-radius:12px;background:#fff!important;pointer-events:none!important}
.exercise-video-detail,.exercise-video-detail img,.exercise-gif,.exercise-execution-gif{display:block;width:100%;max-height:420px;border-radius:18px;background:#fff;object-fit:contain;pointer-events:none!important;touch-action:none!important}
.execution-visual .exercise-execution-gif{width:85%;height:350px;object-fit:contain}
.route-hero>div{color:#000!important}.route-hero>div small{color:#0fb9bc!important;font-weight:800!important}.route-hero>div h2{color:#000!important;font-weight:800!important}.route-hero>div p{color:#4f5963!important;font-weight:500!important}

/* Evita el rebote de WebView al llegar al extremo superior del menú. */
#view-more .more-list{
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch;
  overflow-anchor:none;
  scroll-snap-type:none!important;
}

/* Las imágenes deben ocupar toda la tarjeta; el padding nativo del botón
   generaba las franjas negras laterales. */
.muscle-card-grid>button{padding:0!important;background:#fff!important}
.muscle-card-grid>button>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.muscle-card-grid>button>img{filter:none!important}
.muscle-card-grid>button:nth-child(4) img{filter:none!important}
.muscle-card-grid>button:nth-child(5)::after{background:linear-gradient(90deg,rgba(82,108,124,.38),rgba(82,108,124,.12) 48%,rgba(0,0,0,0) 70%)!important}
/* El resaltado se aplica solo al click confirmado, nunca durante el arrastre. */
.app-shell .more-list>button:active{background:transparent!important;color:#000!important}
.app-shell .more-list>button.tap-active{background:#fff!important;color:#000!important}
.app-shell .more-list>button.tap-active>span,.app-shell .more-list>button.tap-active>i{color:#000!important}
.exercise-reference-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:contain;background:#f4f7f8;border-radius:18px;margin-bottom:12px}
.exercise-reference-phases{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.exercise-reference-phases img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#f4f7f8;border-radius:18px}

/* Superficies informativas del tema claro: elimina restos del tema negro antiguo. */
.app-shell .measurement-entry,
.app-shell .measurement-head,
.app-shell .share-explainer article,
.app-shell .day-summary,
.app-shell .set-history-row,
.app-shell .offline-card,
.app-shell .superset-help{
  background:#f5f8f9!important;
  color:#17232d!important;
  border-color:#d7e0e5!important;
  box-shadow:none!important;
}
.app-shell .measurement-entry small,
.app-shell .measurement-entry span,
.app-shell .measurement-head small,
.app-shell .day-summary small,
.app-shell .day-summary strong,
.app-shell .set-history-row small,
.app-shell .offline-card small,
.app-shell .superset-help{
  color:#65747e!important;
}
.app-shell .measurement-entry span{font-weight:750}
.app-shell .measurement-entry b,
.app-shell .measurement-head b{color:#087f85!important}
.app-shell .share-explainer article>b{background:#e2f2f2!important;color:#087f85!important}
.app-shell .share-explainer ul{color:#52616b!important}
.profile-avatar{width:96px;height:96px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#eef4f5;color:#087f85}
.profile-avatar>.app-icon-svg{width:54px;height:54px}.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-edit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:13px auto 18px;padding:10px 16px;border:1px solid #cddbe0;border-radius:999px;background:#f4f8f9;color:#17232d;font-weight:800}
.profile-edit-button .app-icon-svg{width:18px;height:18px;color:#087f85}
.profile-summary>p{margin-bottom:0!important}
.app-shell .abdomen-plan-card .shade{background:linear-gradient(90deg,rgba(226,237,242,.98) 0%,rgba(226,237,242,.88) 38%,rgba(226,237,242,.15) 68%,transparent 100%)!important}
.app-shell .abdomen-plan-card .plan-details,.app-shell .abdomen-plan-card .plan-details h2,.app-shell .abdomen-plan-card .plan-details strong{color:#14232d!important;text-shadow:none!important}
.app-shell .abdomen-plan-card .plan-details h2{max-width:265px;font-size:1.38rem!important;line-height:1.08!important}.app-shell .abdomen-plan-card .plan-details strong{font-size:.88rem!important;color:#087f85!important}
.abdomen-plan-detail::after{background:linear-gradient(90deg,rgba(231,241,244,.98),rgba(231,241,244,.82) 42%,rgba(231,241,244,.08) 72%,transparent)!important}.abdomen-plan-detail>div,.abdomen-plan-detail>div h2{color:#14232d!important;text-shadow:none!important}.abdomen-plan-detail>div p{color:#087f85!important;font-weight:800!important}
.unknown-product{margin:1rem 0;padding:1.4rem;border:1px solid #d5e0e5;border-radius:1.5rem;background:#f7fafb;text-align:center}.unknown-product>i{font-size:3rem;color:#0b8990}.unknown-product>p{color:#637681;line-height:1.45}.unknown-actions{display:grid;gap:.75rem}.product-contribution-form{text-align:left;margin-top:1.4rem}.product-contribution-form h3{margin:1.5rem 0 .75rem;color:#0b8990}.product-contribution-form label{display:grid;gap:.4rem;margin:.7rem 0;font-weight:700}.product-contribution-form input,.product-contribution-form select,.product-contribution-form textarea{box-sizing:border-box;width:100%;border:1px solid #cad8df;border-radius:1rem;background:#fff;padding:.9rem;font:inherit}.product-contribution-form input[readonly]{background:#eaf1f4;color:#526671}.form-grid,.nutrition-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.nutrition-entry-grid label{font-size:.85rem}@media(max-width:390px){.nutrition-entry-grid{grid-template-columns:1fr}.unknown-product{padding:1rem}}
/* Búsquedas compactas de nutrición y suplementación. */
.supplement-global-search{margin:18px 0 24px!important}
.supplement-global-search:focus-within{border-color:#9fb5bb!important;box-shadow:0 0 0 3px rgba(15,143,148,.10)!important}
.supplement-global-search input:focus,.supplement-global-search input:focus-visible{outline:0!important;border:0!important;box-shadow:none!important}
.route-search:focus-within{border-color:#9fb5bb!important;box-shadow:0 0 0 3px rgba(15,143,148,.10)!important}
.route-search input:focus,.route-search input:focus-visible{outline:0!important;border:0!important;box-shadow:none!important}
.supplement-global-results[hidden],.supplement-category-grid[hidden],[data-supplement-search-empty][hidden]{display:none!important}
.supplement-search-result>span{min-width:0;width:auto!important;height:auto!important;border-radius:0!important;background:none!important;display:block!important;color:inherit!important;font-size:inherit!important}
.supplement-search-result>span b,.supplement-search-result>span small{display:block}
.supplement-search-result>span small{margin-top:5px;color:#6d7c88}
.route-empty-inline{text-align:center;color:#6d7c88;padding:28px 12px}
.ingredient-inline-search>label{display:block;width:100%;font-size:1rem}
.ingredient-inline-search>label>span:first-child{display:block;margin-bottom:10px}
.ingredient-inline-control{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;overflow:hidden;border:1px solid #ccd6de;border-radius:18px;background:#f4f7f9;box-shadow:none!important}
.ingredient-inline-control>i{align-self:center;padding-left:16px;color:#667783;font-size:1.15rem}
.ingredient-inline-control input{min-width:0;height:58px;padding:0 14px;border:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;-webkit-appearance:none}
.ingredient-inline-control:focus-within{border-color:#9fb5bb!important;box-shadow:0 0 0 3px rgba(15,143,148,.08)!important}
.ingredient-inline-control button{min-width:116px;border:0;border-left:1px solid #ccd6de;background:#d9e0e5;color:#111;font-weight:800;font-size:1rem}
.ingredient-inline-search>button{display:none}
.unified-search-form{display:block!important;margin:0 0 24px!important}
.route-search{width:100%!important;height:50px!important;padding:0 15px!important;display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:10px!important;border:1px solid #d7dde3!important;border-radius:16px!important;background:#fff!important;box-sizing:border-box!important}
.unified-search-form .route-search{margin:0!important;box-shadow:none!important}
.unified-search-form .route-search input{width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;flex:1!important;border:0!important;border-radius:0!important;outline:0!important;background:transparent!important;box-shadow:none!important;font:inherit!important}
.food-search-count{margin:0 0 12px;color:#17232d;font-size:1rem}
.route-view[data-route="exercise-library"] .route-search,.route-view[data-route="exercise-category"] .route-search{width:100%!important;margin-top:0!important;padding-right:15px!important}
.training-lead .top-tabs{justify-content:center!important}
.training-main-header{grid-template-columns:1fr!important}
.training-main-header h1{grid-column:1!important;text-align:center!important}
.choice-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:8px 0 16px}.choice-heading small{color:#74818b}.choice-heading h2{margin:3px 0 0;font-size:1.45rem}.choice-heading>span{padding:7px 10px;border-radius:999px;background:#e8f4f5;color:#087f85;font-size:.78rem;font-weight:800;white-space:nowrap}.workout-choice-strip,.meal-choice-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 1px 10px}.workout-choice-strip::-webkit-scrollbar,.meal-choice-strip::-webkit-scrollbar{display:none}.workout-choice{flex:0 0 72%;min-height:112px;padding:16px;border:1px solid #d7e0e5;border-radius:18px;background:#fff;text-align:left;scroll-snap-align:start}.workout-choice b,.workout-choice span,.workout-choice small{display:block}.workout-choice b{color:#0a8f95;font-size:.78rem;text-transform:uppercase}.workout-choice span{margin:8px 0;font-size:1.08rem;font-weight:850}.workout-choice small{color:#74818b}.workout-choice.active{border:2px solid #0e9ca2;background:#edf9f9}.routine-preview{margin-top:16px;padding:18px;border:1px solid #dce3e7;border-radius:22px;background:#fff}.routine-preview header h2{margin:5px 0}.routine-preview header small{color:#078d93;font-weight:850}.routine-preview header p{margin:0;color:#697681}.routine-block{margin-top:20px}.routine-block h3{margin:0;padding:10px 0;border-bottom:1px solid #dce3e7;font-size:1rem}.routine-block button{width:100%;min-height:76px;padding:9px 0;display:grid;grid-template-columns:62px 1fr 20px;gap:12px;align-items:center;border:0;border-bottom:1px solid #e5eaed;background:#fff;text-align:left}.routine-block img{width:62px;height:58px;object-fit:contain}.routine-block b,.routine-block small{display:block}.routine-block small{margin-top:5px;color:#7c8790}.routine-start{width:100%;min-height:50px;margin-top:18px;border:0;border-radius:16px;background:#0c8f95;color:#fff!important;font-weight:900}.meal-choice-section{margin:0 0 24px}.meal-choice-section>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.meal-choice-section h3{margin:0;font-size:1.2rem}.meal-choice-section header span{color:#7b8790;font-size:.82rem}.meal-choice{position:relative;flex:0 0 66%;min-height:168px;padding:15px;display:flex;flex-direction:column;border:1px solid #dbe2e6;border-radius:18px;background:#fff;text-align:left;scroll-snap-align:start}.meal-choice b{color:#0a8f95;font-size:.78rem;text-transform:uppercase}.meal-choice span{margin:12px 0;line-height:1.5}.meal-choice small{margin-top:auto;font-weight:900}.meal-choice.active{border:2px solid #0e9ca2;background:#eefafa}.meal-choice.active::after{content:'✓';position:absolute;right:12px;top:10px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#0e9ca2;color:#fff;font-weight:900}
.product-diary-action{display:none!important}
.assessment-components{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.additive-status.risk{background:#fde7e4!important;color:#a82c22!important}
.additive-risk{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;margin:9px 0;padding:11px 12px;border-left:4px solid #9aa6ad;border-radius:10px;background:#f5f7f8}
.additive-risk span b,.additive-risk span small{display:block}.additive-risk span small{margin-top:2px;color:#6d7880}.additive-risk>strong{font-size:.72rem;color:#59666d}.additive-risk>p{grid-column:1/-1;margin:5px 0 0!important;font-size:.76rem!important}
.additive-risk-high{border-left-color:#d94738;background:#fff0ee}.additive-risk-medium{border-left-color:#ef8b22;background:#fff6e9}.additive-risk-limited{border-left-color:#e0b52b;background:#fffbea}.additive-risk-neutral{border-left-color:#35a76d;background:#eef9f3}

/* Sustituciones visibles dentro de la rutina personalizada. */
.routine-exercise-entry{border-bottom:1px solid #e5eaed}.routine-block .routine-exercise-main{border-bottom:0}.routine-block .routine-exercise-change{width:auto;min-height:38px;margin:0 0 10px 74px;padding:7px 13px;display:inline-flex;grid-template-columns:none;align-items:center;gap:7px;border:1px solid #85c9cc;border-radius:999px;background:#eefafa;color:#087f85;font-size:.82rem;font-weight:850}.exercise-swap-dialog{width:min(90vw,520px);max-height:82vh;padding:0;border:0;border-radius:24px;color:#14232d}.exercise-swap-dialog::backdrop{background:rgba(10,25,32,.48)}.exercise-swap-dialog form{padding:22px}.exercise-swap-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.exercise-swap-dialog header h2{margin:3px 0}.exercise-swap-dialog header small{color:#078d93;font-weight:850}.exercise-swap-dialog header>button{width:42px;height:42px;border:1px solid #d8e1e5;border-radius:50%;background:#f5f8f9}.exercise-swap-reasons{display:grid;gap:10px;margin:18px 0}.exercise-swap-reasons button{min-height:52px;padding:12px 16px;border:1px solid #d6e1e5;border-radius:15px;background:#f7fafb;font-weight:800;text-align:left}.exercise-swap-reasons button.active{border-color:#0e9ca2;background:#e8f7f7;color:#087f85}.exercise-swap-results{display:grid;gap:8px;max-height:42vh;overflow:auto}.exercise-swap-choice{width:100%;min-height:72px;padding:8px;display:grid;grid-template-columns:66px 1fr 18px;gap:10px;align-items:center;border:1px solid #dce4e7;border-radius:14px;background:#fff;text-align:left}.exercise-swap-choice img{width:66px;height:58px;object-fit:contain}.exercise-swap-choice small{color:#75838c}
.additive-risk-red{border-left-color:#d94738;background:#fff0ee}.additive-risk-orange{border-left-color:#ef8b22;background:#fff6e9}.additive-risk-yellow{border-left-color:#e0b52b;background:#fffbea}.additive-risk-green{border-left-color:#35a76d;background:#eef9f3}.additive-risk-unknown{border-left-color:#71808a;background:#f3f6f7}
@media(max-width:390px){.assessment-components{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
.routine-exercise-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 11px 74px}.routine-block .routine-exercise-actions>button{width:auto;min-height:38px;margin:0;padding:7px 13px;display:inline-flex;grid-template-columns:none;align-items:center;gap:7px;border-radius:999px;font-size:.82rem;font-weight:850}.routine-block .routine-exercise-complete{border:1px solid #cad8dd;background:#f5f8f9;color:#17232d}.routine-block .routine-exercise-complete.is-complete{border-color:#0d9298;background:#0d9298;color:#fff}
.meal-choice-image{width:calc(100% + 30px);height:128px;margin:-15px -15px 12px;display:block;object-fit:cover;border-radius:18px 18px 0 0}.diet-week-toolbar{display:grid;gap:10px;margin:0 0 20px}.diet-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.diet-weekdays button{min-width:0;padding:8px 2px;border:1px solid #d5e0e4;border-radius:12px;background:#fff;color:#17232d}.diet-weekdays button b,.diet-weekdays button small{display:block}.diet-weekdays button small{margin-top:2px;color:#71808a;font-size:.62rem}.diet-weekdays button.active{border-color:#0d959b;background:#e3f5f5;color:#087f85}.diet-week-toolbar>button{min-height:46px;border:1px solid #82c9cc;border-radius:15px;background:#edfafa;color:#087f85;font-weight:850}.shopping-list-dialog{width:min(90vw,520px);max-height:82vh;padding:0;border:0;border-radius:24px;color:#17232d}.shopping-list-dialog::backdrop{background:rgba(10,25,32,.45)}.shopping-list-dialog form{padding:22px}.shopping-list-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.shopping-list-dialog h2{margin:3px 0}.shopping-list-dialog header small{color:#087f85;font-weight:850}.shopping-list-dialog header button{width:42px;height:42px;border:1px solid #d7e1e5;border-radius:50%;background:#f5f8f9}.shopping-list-dialog>form>p{color:#687983}.shopping-list-dialog ul{margin:14px 0 0;padding:0;list-style:none}.shopping-list-dialog li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #e0e6e9}.shopping-list-dialog li strong{white-space:nowrap;color:#087f85}
.calendar small.planned-day{min-height:42px;border-radius:0!important;background:transparent!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#17232d!important}.calendar small.planned-day::after{display:none!important}.calendar small.planned-day b{font:inherit;line-height:1}.calendar-workout-icon{display:block;color:#466d8a;font-size:16px;line-height:1}.calendar small.today b{color:#0d959b;font-weight:900}.calendar small.today.planned-day{background:transparent!important;color:#17232d!important}.calendar small.other-month{opacity:.35}
@media(max-width:390px){.routine-exercise-actions{margin-left:0}.routine-block .routine-exercise-actions>button{font-size:.75rem;padding:7px 10px}.diet-weekdays button small{display:none}.meal-choice{flex-basis:78%}}

.body-map-visual>.muscle-hotspot{background-color:rgba(239,55,66,.88)!important;filter:none!important;mix-blend-mode:multiply!important}
.body-map-visual>.muscle-hotspot.is-active{opacity:1!important;transform:scale(1)!important}
.routine-exercise-actions{display:grid;grid-template-columns:1fr 1fr;flex-wrap:nowrap}
.routine-block .routine-exercise-actions>button{width:100%;justify-content:center}
.training-set-log{margin:0 0 10px 74px;display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:7px}
.training-set-log label{position:relative;padding:7px 10px;border:1px solid #d4e0e4;border-radius:12px;color:#697b84;font-size:.72rem;font-weight:750}
.training-set-log input{width:100%;margin:3px 0 0;padding:7px 25px 7px 8px;border:0;border-radius:8px;background:#f2f7f8;font:800 1rem/1 sans-serif;color:#17232d}
.training-set-log label>span{position:absolute;right:17px;bottom:14px;color:#71818a;font-size:.75rem}
@media(max-width:430px){.training-set-log{margin-left:0}.routine-exercise-actions{margin-left:0}}
.app-shell .workout-choice.active,.app-shell .workout-choice.active span,.app-shell .workout-choice.active small,.app-shell .meal-choice.active,.app-shell .meal-choice.active span,.app-shell .meal-choice.active small{color:#17232d!important}
.app-shell .workout-choice.active b,.app-shell .meal-choice.active b{color:#087f85!important}
.routine-guidance{margin-top:18px;padding:14px;border-radius:14px;background:#eef7f8;color:#17232d}.routine-guidance b{color:#087f85}.routine-guidance p{margin:6px 0 0;color:#5f707b;font-size:.86rem;line-height:1.45}
.personal-engine-card{margin:0 0 20px;padding:16px;border:1px solid #d7e1e5;border-radius:20px;background:#f7fafb}.personal-engine-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.personal-engine-card>header>div{min-width:0}.personal-engine-card h2{margin:3px 0 0;font-size:1.12rem}.personal-engine-card small{color:#087f85;font-weight:850}.personal-engine-card header button{flex:none;border:0;border-radius:999px;background:#dfecef;padding:9px 13px;color:#087f85;font-weight:850}.personal-engine-form{margin-top:16px;display:grid;gap:13px}.personal-engine-form[hidden]{display:none}.personal-engine-form fieldset{margin:0;padding:0;border:0}.personal-engine-form legend,.personal-engine-form label{display:grid;gap:6px;color:#536672;font-size:.82rem;font-weight:750}.personal-engine-form select,.personal-engine-form input{box-sizing:border-box;width:100%;height:46px;border:1px solid #ccd9df;border-radius:13px;background:#fff;padding:0 12px;font:inherit;color:#17232d}.personal-engine-form>button{height:48px;border:0;border-radius:14px;background:#0d9096;color:#fff;font-weight:900}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:8px}.weekday-picker input{position:absolute;opacity:0;pointer-events:none}.weekday-picker span{height:36px;display:grid;place-items:center;border:1px solid #cdd9de;border-radius:10px;background:#fff;color:#17232d}.weekday-picker input:checked+span{border-color:#0d959b;background:#dff4f4;color:#087f85;font-weight:900}.engine-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.calendar small.planned-day{position:relative;border-radius:50%;background:#dff3f3;color:#087f85!important;font-weight:900}.calendar small.planned-day::after{content:'';position:absolute;bottom:2px;left:50%;width:4px;height:4px;transform:translateX(-50%);border-radius:50%;background:#0d959b}.calendar small.today.planned-day{background:#0d959b!important;color:#fff!important}
.routine-exercise-icon{width:62px;height:58px;display:grid;place-items:center;border-radius:14px;background:#edf5f6;color:#078d94;font-size:26px}
.meal-choice ul{display:grid;gap:4px;margin:2px 0 12px;padding:0;list-style:none;color:#17232d;font-size:.82rem;line-height:1.3}.meal-choice li{display:block}.meal-choice em{display:block;margin:0 0 12px;padding-top:9px;border-top:1px solid #dce5e8;color:#687782;font-size:.75rem;font-style:normal;line-height:1.35}.meal-choice{min-height:250px}
.calendar-completed-icon{display:grid!important;width:18px;height:18px;place-items:center;border-radius:50%;background:#28b76b;color:#fff;font-size:12px;font-weight:900;line-height:1}.calendar small.completed-day{background:transparent!important;color:#17232d!important}.calendar small.completed-day::after{display:none!important}.calendar small.completed-day b{color:#168a50!important;font-weight:900}
.shopping-groups{display:grid;gap:16px;margin-top:16px}.shopping-groups section{padding:14px;border:1px solid #dce6e9;border-radius:17px;background:#f8fafb}.shopping-groups h3{margin:0;color:#087f85;font-size:1rem}.shopping-groups ul{margin:7px 0 0}.shopping-groups li{align-items:center}.shopping-groups li label{display:flex;align-items:center;gap:11px;min-width:0;cursor:pointer}.shopping-groups li input{width:22px;height:22px;margin:0;accent-color:#0d959b;flex:none}.shopping-groups li.is-bought span{text-decoration:line-through;color:#87949b}.shopping-groups li.is-bought strong{color:#87949b}
.body-type-picker{display:grid;grid-template-columns:1fr;gap:10px;margin-top:9px}.body-type-picker label{position:relative;display:block;cursor:pointer}.body-type-picker input{position:absolute;opacity:0;pointer-events:none}.body-type-picker span{box-sizing:border-box;min-height:112px;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;border:2px solid transparent;border-radius:17px;background:#000!important;background-image:none!important;background-size:cover;background-position:center;color:#fff;overflow:hidden}.body-type-picker b{font-size:1.12rem}.body-type-picker small{margin-top:5px;color:#e7f3f5;font-size:.77rem;font-weight:650}.body-type-picker input:checked+span{border-color:#11a1a7;box-shadow:0 0 0 3px rgba(13,149,155,.13)}.body-type-picker input:focus-visible+span{box-shadow:0 0 0 4px rgba(13,149,155,.2)}
.training-build-mode{position:relative;z-index:2}.training-build-mode button{min-height:44px;cursor:pointer}.manual-training-builder:not([hidden]){display:grid;gap:14px;position:relative;z-index:3}

/* v375: recipes, diet cards, anatomy layers and larger exercise media */
.body-map-visual{position:relative}.body-map-visual .muscle-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;pointer-events:none;transition:opacity .18s ease}.body-map-visual .muscle-layer.is-active{opacity:1}.body-map-visual .muscle-hotspot{display:none!important}
.body-type-picker label>span{min-height:132px;padding:24px 22px;background-position:center;background-size:auto 145%}.body-type-picker b{font-size:1.45rem}.body-type-picker small{font-size:.92rem}
.meal-choice-strip{align-items:stretch}.meal-choice{position:relative;flex:0 0 84%;display:grid;grid-template-rows:178px 1fr;overflow:hidden;padding:0!important;border:1px solid #dce3e6!important;border-radius:20px!important;background:#fff!important;text-align:left!important}.meal-choice.active{border-color:#18a8ac!important;box-shadow:inset 0 0 0 1px #18a8ac}.meal-choice-image{width:100%!important;height:178px!important;max-height:none!important;object-fit:cover!important;border-radius:0!important}.meal-choice-copy{display:grid;gap:9px;padding:16px}.meal-choice-copy>b{color:#178f93;font-size:.8rem}.meal-choice-copy>span{min-height:2.7em;color:#18232d;font-size:1.08rem;line-height:1.35}.meal-choice-copy>small{margin-top:auto;color:#18232d;font-size:.86rem;font-weight:800}.meal-choice-select{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:#18a8ac;color:#fff;font-size:1.15rem;z-index:2}
.recipe-detail-dialog{width:min(100%,560px);max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;border:0;background:#fff}.recipe-detail-dialog::backdrop{background:rgba(10,22,28,.38)}.recipe-detail-dialog>article{min-height:100%;padding:0 18px 96px}.recipe-detail-header{position:sticky;top:0;z-index:4;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:10px;padding:14px 0;background:rgba(255,255,255,.96)}.recipe-detail-header b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-detail-close{position:static!important;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#f4f7f8;color:#426984;font-size:1.3rem}.recipe-detail-hero{width:100%;height:310px;object-fit:cover;border-radius:16px}.recipe-detail-body{padding:14px 0}.recipe-detail-body h2{margin:0 0 5px;font-size:1.5rem}.recipe-serving{margin:0;color:#55636c}.recipe-macros,.food-detail-macros{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:18px 0;padding:16px 8px;border-radius:14px;background:#fff;box-shadow:0 3px 14px rgba(27,45,54,.13)}.recipe-macros span,.food-detail-macros span{display:grid;gap:3px;text-align:center;font-size:.67rem}.recipe-macros b,.food-detail-macros b{font-size:1.25rem}.recipe-ingredient-list{display:grid}.recipe-ingredient-list button{display:grid;grid-template-columns:46px 1fr auto 18px;align-items:center;gap:9px;padding:10px 0;border:0;border-bottom:1px solid #e5e9eb;background:#fff;text-align:left}.recipe-ingredient-list img{width:46px;height:46px;border-radius:10px;object-fit:cover}.recipe-ingredient-list span,.recipe-ingredient-list b,.recipe-ingredient-list small{display:block}.recipe-ingredient-list small{color:#687780}.recipe-ingredient-list strong{font-weight:500;color:#53616a}.recipe-steps{display:grid;gap:10px;padding:0;list-style:none;counter-reset:none}.recipe-steps li{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:15px;border-radius:12px;background:#f3f6f8}.recipe-steps li>b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#6988a0}.food-detail-hero{width:100%;height:300px;border-radius:16px;object-fit:cover}.food-detail-macros{margin-block:16px 22px}.routine-exercise-main{grid-template-columns:82px 1fr 20px!important}.routine-exercise-main>img{width:82px!important;height:76px!important;object-fit:contain!important}
@media(max-width:420px){.recipe-detail-hero,.food-detail-hero{height:260px}.recipe-macros b,.food-detail-macros b{font-size:1.05rem}.body-type-picker label>span{min-height:118px}}

/* La cabecera de recetas respeta la isla dinámica y amplía el área táctil. */
.recipe-detail-header{
  grid-template-columns:56px minmax(0,1fr) 56px!important;
  min-height:76px;
  padding:max(14px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 14px max(8px,env(safe-area-inset-left))!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:blur(16px);
}
.recipe-detail-header b{grid-column:2;text-align:center}
.recipe-detail-close{
  position:relative!important;
  grid-column:1;grid-row:1;
  width:52px!important;height:52px!important;
  border:1px solid #d9e3e7!important;
  background:#f4f7f8!important;color:#17232d!important;
  font-size:1.45rem!important;
  box-shadow:0 5px 16px rgba(23,35,45,.08);
  touch-action:manipulation;
}
.recipe-detail-close::after{content:"";position:absolute;inset:-7px}

/* Receta como ventana flotante: aire arriba y abajo, contenido desplazable. */
.recipe-detail-dialog{
  width:min(calc(100% - 24px),560px)!important;
  height:calc(100dvh - max(88px,calc(env(safe-area-inset-top) + 42px)) - 24px)!important;
  max-height:none!important;
  margin:max(88px,calc(env(safe-area-inset-top) + 42px)) auto 24px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 28px 80px rgba(3,25,39,.3);
}
.recipe-detail-dialog>article{
  min-height:0!important;
  height:100%;
  padding:0 18px calc(32px + env(safe-area-inset-bottom))!important;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.recipe-detail-header{
  padding:14px 4px!important;
  min-height:76px;
}
@media(max-height:720px){.recipe-detail-dialog{height:calc(100dvh - 78px - 16px)!important;margin:78px auto 16px!important}}
.manual-catalog-total{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:10px 5px;border-bottom:1px solid #dce6e9;background:#f7fafb}.manual-catalog-total b{color:#087f85;font-size:.9rem}.manual-catalog-total small{color:#71828b;font-size:.68rem}
.manual-day-picker{width:min(calc(100% - 28px),480px);max-height:calc(100dvh - 40px);padding:0;border:0;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(15,35,43,.28)}.manual-day-picker::backdrop{background:rgba(12,27,34,.52);backdrop-filter:blur(3px)}.manual-day-picker article{display:grid;gap:16px;padding:20px}.manual-day-picker header{display:flex;align-items:flex-start;justify-content:space-between}.manual-day-picker header small{color:#0b9296;font-weight:850;letter-spacing:.08em}.manual-day-picker header h2{margin:4px 0 0;font-size:1.45rem}.manual-day-picker header>button{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:#f0f4f5;font-size:1.1rem}.manual-day-picker-exercise{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px;padding:10px;border:1px solid #dce6e9;border-radius:16px}.manual-day-picker-exercise img{width:72px;height:66px;object-fit:contain}.manual-day-picker-exercise b,.manual-day-picker-exercise small{display:block}.manual-day-picker-exercise small{margin-top:4px;color:#6d7d85}.manual-day-picker article>p{margin:0;color:#52646d}.manual-day-picker-options{display:grid;gap:9px}.manual-day-picker-options>button{display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:12px 15px;border:1px solid #cddde1;border-radius:15px;background:#fff;text-align:left}.manual-day-picker-options>button:active{border-color:#18a8ac;background:#edfafa}.manual-day-picker-options span,.manual-day-picker-options b,.manual-day-picker-options small{display:block}.manual-day-picker-options b{font-size:1rem}.manual-day-picker-options small{margin-top:4px;color:#74838b}.manual-day-picker-options i{color:#0b999d;font-size:1.45rem}
/* Dieta compacta: tarjetas fotográficas y balance al final del día. */
.training-panel[data-training-panel="diet"] .meal-choice-section{margin:0 0 32px}
.training-panel[data-training-panel="diet"] .meal-choice-section>header{width:100%;box-sizing:border-box;margin-bottom:14px;padding-right:8px;align-items:baseline}
.training-panel[data-training-panel="diet"] .meal-choice-section h3{font-size:1.32rem;font-weight:500;color:#535d66}
.training-panel[data-training-panel="diet"] .meal-choice-section header span{flex:0 0 64px;min-width:64px;text-align:right;white-space:nowrap;font-size:1.08rem;font-weight:800;color:#20262b}
.training-panel[data-training-panel="diet"] .meal-choice-strip{gap:10px;padding:0 1px 10px}
.training-panel[data-training-panel="diet"] .meal-choice{isolation:isolate;flex:0 0 91%;display:block;min-height:0;aspect-ratio:2.35/1;overflow:hidden;border:0!important;border-radius:16px!important;background:#17232d!important;box-shadow:none;scroll-snap-align:start}
.training-panel[data-training-panel="diet"] .meal-choice.active{border:0!important;box-shadow:none}
.training-panel[data-training-panel="diet"] .meal-choice::after,.training-panel[data-training-panel="diet"] .meal-choice.active::after{content:'';position:absolute;inset:35% 0 0;width:auto;height:auto;border-radius:0;background:linear-gradient(180deg,transparent,rgba(7,20,30,.88));z-index:1}
.training-panel[data-training-panel="diet"] .meal-choice-image{position:absolute;inset:0;width:100%!important;height:100%!important;margin:0!important;object-fit:cover!important;border-radius:16px!important;z-index:0}
.training-panel[data-training-panel="diet"] .meal-choice-copy{position:absolute;left:0;right:0;bottom:0;display:grid;gap:4px;padding:18px 16px;z-index:2}
.training-panel[data-training-panel="diet"] .meal-choice-copy>b{color:#fff!important;font-size:.96rem;text-transform:none;line-height:1.25;text-shadow:0 1px 3px #0008}
.training-panel[data-training-panel="diet"] .meal-choice-copy>small{color:#fff!important;font-size:.86rem;font-weight:500;text-shadow:0 1px 3px #0008}
.training-panel[data-training-panel="diet"] .meal-choice-select{top:10px;right:10px;width:34px;height:34px;border:1px solid #fff8;background:rgba(255,255,255,.88);color:#0a8f95;font-size:1rem;backdrop-filter:blur(7px)}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select{opacity:.86}
.diet-summary{display:grid;gap:12px;margin:10px 0 40px;padding-bottom:8px}
.diet-summary>header{padding:4px 2px 0}.diet-summary>header small{color:#159ca2;font-size:.68rem;font-weight:850;letter-spacing:.12em}.diet-summary>header h3{margin:5px 0 0;color:#17232d;font-size:1.15rem}
.diet-summary-tabs{display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:999px;background:#d9dee4}
.diet-summary-tabs button{min-height:44px;border:0;border-radius:999px;background:transparent;color:#6485a4;font-size:1rem;font-weight:700}
.diet-summary-tabs button.active{background:#486d8d;color:#fff}
.diet-summary-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:20px 10px 14px;border-radius:16px;background:#fff;box-shadow:0 3px 12px #20304020}
.diet-summary-values>div{display:grid;place-items:center;align-content:start;min-width:0;text-align:center}
.diet-summary-values b{font-size:1.45rem;color:#232323;line-height:1}
.diet-summary-values em{margin-top:8px;color:#f18b0e;font-size:.92rem;font-style:normal;font-weight:750}
.diet-summary-values em.over{color:#ff7280}
.diet-summary-values span{margin-top:7px;color:#24292d;font-size:.78rem;white-space:nowrap}
.diet-summary-values>button{grid-column:1/-1;margin-top:12px;border:0;background:transparent;color:#0db1b8;font-size:1rem;font-weight:700}
.diet-intake-dialog{width:min(82vw,430px);padding:0;border:1px solid #fff;border-radius:30px;background:rgba(255,255,255,.86);box-shadow:0 20px 70px #20304050;backdrop-filter:blur(18px)}
.diet-intake-dialog::backdrop{background:rgba(20,25,30,.42);backdrop-filter:blur(5px)}
.diet-intake-dialog article{padding:28px 28px 20px;text-align:center}
.diet-intake-dialog p{margin:0;font-size:1.15rem;line-height:1.4;color:#111}
.diet-intake-dialog button{width:100%;min-height:50px;margin-top:22px;border:0;border-radius:999px;background:#d9dee3;color:#111;font-size:1.05rem;font-weight:800}
@media(max-width:390px){.training-panel[data-training-panel="diet"] .meal-choice{flex-basis:94%;aspect-ratio:2.05/1}.diet-summary-values{padding-inline:6px}.diet-summary-values b{font-size:1.25rem}.diet-summary-values span{font-size:.7rem}.diet-intake-dialog p{font-size:1.02rem}}
.diet-summary{margin-top:2px;gap:0}
.diet-summary-values{padding:15px 8px 12px;border:1px solid #e5e9ec;border-radius:14px;box-shadow:0 2px 8px #20304012}
.diet-summary-values b{font-size:1.22rem}
.diet-summary-values span{margin-top:5px;font-size:.72rem;color:#57636c}
.diet-summary-values>button{margin-top:9px;font-size:.82rem;font-weight:700}
.diet-week-toolbar{gap:8px;margin-bottom:22px}
.diet-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:4px 0}
.diet-weekdays button{position:relative;display:grid;justify-items:center;gap:8px;min-width:0;padding:5px 0 12px;border:0;border-radius:0;background:transparent;color:#202428}
.diet-weekdays button b{color:#6483a2;font-size:.83rem;text-transform:lowercase}
.diet-weekdays button span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:1.1rem;font-weight:500}
.diet-weekdays button i{position:absolute;bottom:0;width:8px;height:8px;border-radius:50%;background:#10b5ba}
.diet-weekdays button.active{border:0;background:transparent;color:#fff}
.diet-weekdays button.active b{color:#6483a2}
.diet-weekdays button.active span{background:#10b5ba;color:#fff}
.diet-weekdays button.active span,
.diet-week-toolbar.is-expanded .diet-weekdays button.active span{color:#fff!important;-webkit-text-fill-color:#fff!important}
.calendar small.today.planned-day b,
.calendar small.today.completed-day b{color:#fff!important;-webkit-text-fill-color:#fff!important}
.schedule-calendar small.today,
.schedule-calendar small.today b,
.calendar.schedule-calendar small.today{color:#fff!important;-webkit-text-fill-color:#fff!important}
.calendar.schedule-calendar small.today,
.calendar.schedule-calendar small.today *,
.schedule-calendar small.today,
.schedule-calendar small.today *{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.calendar small.selected-day,
.calendar small.selected-day b,
.calendar small[aria-current="date"],
.calendar small[aria-current="date"] b{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.selected-day,
.app-shell [data-dashboard-widget="schedule"] .calendar small[aria-current="date"]{background:#0b989e!important;border-radius:0!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.selected-day b,
.app-shell [data-dashboard-widget="schedule"] .calendar small[aria-current="date"] b{color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:1!important;visibility:visible!important}
/* Estados del calendario: sombras suaves y el día actual rodeado con el azul de la app. */
.app-shell [data-dashboard-widget="schedule"] .calendar small.selected-day,
.app-shell [data-dashboard-widget="schedule"] .calendar small[aria-current="date"],
.app-shell .schedule-calendar small.selected-day,
.app-shell .schedule-calendar small[aria-current="date"]{background:transparent!important;border-radius:0!important}
.calendar-day-ring{border:0!important;box-shadow:0 0 0 4px rgba(217,71,56,.24),0 4px 12px rgba(217,71,56,.18)!important}
.calendar-day-ring.status-completed{box-shadow:0 0 0 4px rgba(46,178,111,.28),0 4px 12px rgba(46,178,111,.22)!important}
.calendar-day-ring.status-partial{box-shadow:0 0 0 4px rgba(154,163,170,.32),0 4px 12px rgba(111,125,134,.2)!important}
.calendar-day-ring.status-missed{box-shadow:0 0 0 4px rgba(217,71,56,.24),0 4px 12px rgba(217,71,56,.18)!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today,
.app-shell .schedule-calendar small.today{background:#e3f5f5!important;border-radius:50%!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today>b,
.app-shell .schedule-calendar small.today>b{color:#0d959b!important;-webkit-text-fill-color:#0d959b!important}
.calendar small.today .calendar-day-ring.status-completed{box-shadow:0 0 0 4px rgba(46,178,111,.28),0 4px 12px rgba(46,178,111,.22)!important}
.calendar small.today .calendar-day-ring.status-partial{box-shadow:0 0 0 4px rgba(154,163,170,.32),0 4px 12px rgba(111,125,134,.2)!important}
.calendar small.today .calendar-day-ring.status-missed{box-shadow:0 0 0 4px rgba(217,71,56,.24),0 4px 12px rgba(217,71,56,.18)!important}
.calendar-current-day-frame{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:64px;padding:5px 8px;border:2px solid rgba(46,178,111,.72);border-radius:10px;background:transparent!important;box-sizing:border-box;line-height:1.05}
.calendar-current-day-frame>b{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.calendar-current-day-frame .calendar-progress,.calendar-current-day-frame .calendar-muscles{color:#536672!important;-webkit-text-fill-color:#536672!important}
.calendar-current-day-frame .calendar-muscles{white-space:nowrap;font-size:.62rem;line-height:1.1}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today .calendar-current-day-frame,
.app-shell .schedule-calendar small.today .calendar-current-day-frame{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today .calendar-current-day-frame>b,
.app-shell .schedule-calendar small.today .calendar-current-day-frame>b{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today .calendar-current-day-frame .calendar-progress,
.app-shell [data-dashboard-widget="schedule"] .calendar small.today .calendar-current-day-frame .calendar-muscles,
.app-shell .schedule-calendar small.today .calendar-current-day-frame .calendar-progress,
.app-shell .schedule-calendar small.today .calendar-current-day-frame .calendar-muscles{color:#536672!important;-webkit-text-fill-color:#536672!important}
.calendar-current-day-frame{width:52px;min-width:52px;max-width:52px;padding:4px 3px;overflow:hidden}
.calendar-current-day-frame .calendar-muscles{max-width:46px;white-space:normal;overflow-wrap:anywhere;font-size:.5rem!important}
.calendar-future-workout-icon{display:grid;place-items:center;width:24px;height:22px;color:#466d8a;font-size:18px;line-height:1}

/* Presentación final del calendario: números negros alineados y estados con fondo. */
.app-shell [data-dashboard-widget="schedule"] .calendar small,
.app-shell .schedule-calendar small{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small>b,
.app-shell .schedule-calendar small>b{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.calendar-day-ring{width:34px!important;height:34px!important;border:0!important;border-radius:50%!important;background:transparent!important;box-shadow:none!important;color:#17232d!important}
.calendar-day-ring.status-completed{background:#2eb26f!important}
.calendar-day-ring.status-partial{background:#9aa3aa!important}
.calendar-day-ring.status-missed{background:#d94738!important}
.calendar-day-ring>b{color:#17232d!important;-webkit-text-fill-color:#17232d!important}
.calendar small.today .calendar-day-ring{background:transparent!important;border:2px solid #2eb26f!important;box-shadow:none!important}
.calendar small.today:not(.planned-day)>b{display:grid!important;place-items:center!important;width:34px!important;height:34px!important;border:2px solid #2eb26f!important;border-radius:50%!important;color:#17232d!important;-webkit-text-fill-color:#17232d!important}
/* Estados más discretos: solo fondo translúcido, sin círculo de estado. */
.calendar-day-ring{width:100%!important;height:34px!important;border-radius:8px!important;background:transparent!important}
.calendar-day-ring.status-completed{background:rgba(46,178,111,.22)!important}
.calendar-day-ring.status-partial{background:rgba(154,163,170,.24)!important}
.calendar-day-ring.status-missed{background:rgba(217,71,56,.2)!important}
.calendar small.today .calendar-day-ring{background:transparent!important;border:1px solid rgba(46,178,111,.72)!important;border-radius:50%!important}
.calendar small.today:not(.planned-day)>b{border:1px solid rgba(46,178,111,.72)!important}
/* Elimina cualquier halo heredado alrededor de los días. */
.app-shell [data-dashboard-widget="schedule"] .calendar small.planned-day,
.app-shell .schedule-calendar small.planned-day,
.app-shell [data-dashboard-widget="schedule"] .calendar small.today,
.app-shell .schedule-calendar small.today{background:transparent!important;box-shadow:none!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today,
.app-shell [data-dashboard-widget="schedule"] .calendar small.today.planned-day,
.app-shell .schedule-calendar small.today,
.app-shell .schedule-calendar small.today.planned-day{background-color:transparent!important;background-image:none!important}
.calendar-day-ring.status-completed,
.calendar-day-ring.status-partial,
.calendar-day-ring.status-missed{box-shadow:none!important}
/* El día actual solo conserva el contorno; los estados vuelven a ser circulares. */
.app-shell [data-dashboard-widget="schedule"] .calendar small.today,
.app-shell .schedule-calendar small.today{background:transparent!important}
.calendar-day-ring{width:34px!important;height:34px!important;border-radius:50%!important}
.calendar-day-ring.status-completed{background:rgba(46,178,111,.22)!important}
.calendar-day-ring.status-partial{background:rgba(154,163,170,.24)!important}
.calendar-day-ring.status-missed{background:rgba(217,71,56,.2)!important}
.calendar small.today .calendar-day-ring{background:transparent!important;border:1px solid rgba(46,178,111,.72)!important;border-radius:50%!important}
.diet-week-toolbar>button{min-height:40px;border-radius:13px;font-size:.8rem}
.body-type-picker label>span{background-repeat:no-repeat;background-color:#ddecf7}

/* Interacciones y estados consistentes v384 */
.personal-engine-card{padding:13px 15px!important;border-radius:18px!important;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.personal-engine-card:not(.is-open){background:#f8fafb}
.personal-engine-card.is-open{border-color:#43b7bb!important;background:#fff;box-shadow:0 5px 18px rgba(13,143,150,.12)}
.personal-engine-card header button{min-width:92px;min-height:42px;padding:9px 16px!important;border:1px solid #b9dadd!important;background:#e5f3f4!important;color:#087f85!important;transition:transform .14s ease,background .14s ease,color .14s ease}
.personal-engine-card.is-open header button{background:#0d969c!important;color:#fff!important;border-color:#0d969c!important}
.personal-engine-card header button:active,.diet-calendar-toggle:active,.weekly-shopping-button:active,.meal-choice-select:active,.route-header button:active,.recipe-detail-close:active,.product-result-close:active{transform:scale(.95)!important}
.body-type-picker span{background:#000!important;background-image:none!important}
.body-type-picker input:checked+span{border:4px solid #03a6ad!important;box-shadow:0 0 0 5px rgba(4,166,173,.18),0 9px 22px rgba(4,83,94,.22)!important;filter:saturate(1.1) brightness(1.04);transform:scale(.992)}
.training-panel[data-training-panel="diet"] .meal-choice.active{outline:4px solid #08aeb4!important;outline-offset:-4px;box-shadow:0 0 0 5px rgba(8,174,180,.2)!important}
.training-panel[data-training-panel="diet"] .meal-choice.active .meal-choice-select{width:42px;height:42px;border:3px solid #fff;background:#08aeb4!important;color:#fff!important;box-shadow:0 4px 14px #052d3655}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active){filter:saturate(.78) brightness(.94)}
.diet-week-toolbar{position:relative;padding-bottom:4px}
.diet-week-toolbar>header{display:flex;justify-content:center;padding:6px 0 12px}.diet-week-toolbar>header b{font-size:1.12rem}
.diet-week-toolbar.is-expanded .diet-weekdays{row-gap:13px}.diet-week-toolbar.is-expanded .diet-weekdays button{padding-bottom:13px}
.diet-calendar-toggle{justify-self:center;display:grid;place-items:center;width:58px;min-height:34px!important;border:0!important;border-radius:12px!important;background:#f4f6f7!important;color:#0eafb5!important;font-size:1.35rem!important;transition:transform .14s ease,background .14s ease}
.diet-calendar-toggle[aria-expanded="true"]{background:#e1f3f4!important;color:#087f85!important}
.weekly-shopping-button{width:100%;min-height:44px!important;border:1px solid #77c9cc!important;border-radius:14px!important;background:#eefafa!important;color:#087f85!important;font-weight:850}
.route-header>button:first-child,.recipe-detail-close,.product-result-close{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;border:1px solid #cbdce2!important;border-radius:50%!important;background:#f3f7f8!important;color:#416a88!important;box-shadow:0 5px 15px rgba(30,63,78,.09)!important;transform:none!important;transition:transform .14s ease,background .14s ease!important}
.route-header>button:first-child:hover,.recipe-detail-close:hover,.product-result-close:hover{background:#e4f2f3!important;color:#087f85!important}
button:focus-visible{outline:3px solid rgba(13,166,173,.42)!important;outline-offset:3px!important}

/* Estados finales y mapa anatómico v384. */
.app-shell button:not(:disabled){cursor:pointer;transition:filter .14s ease,background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}
.app-shell button:not(:disabled):active{filter:brightness(.92)}
.personal-engine-card:not(.is-open){padding-block:10px!important}
.personal-engine-card:not(.is-open) header{min-height:54px}
.personal-engine-card:not(.is-open) header h2{margin-top:2px;font-size:1.08rem}
.personal-engine-card:not(.is-open) header small{font-size:.66rem}
.body-map-visual{aspect-ratio:4/3!important;height:auto!important;background:#eef2f4!important}
.body-map-visual>.body-map-base{position:relative!important;z-index:1!important;display:block!important;width:100%!important;height:100%!important;opacity:1!important;object-fit:contain!important;filter:grayscale(1) contrast(.83) brightness(1.12)!important}
.body-map-visual>.muscle-layer{position:absolute!important;inset:0!important;z-index:2!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;filter:grayscale(1) sepia(1) saturate(7) hue-rotate(314deg) brightness(.82) contrast(1.12)!important;mix-blend-mode:multiply;opacity:0!important}
.body-map-visual>.muscle-layer.is-active{opacity:.92!important}
.body-map-visual>.muscle-layer[data-muscle-hotspot="chest"]{clip-path:polygon(21% 18%,32% 20%,43% 18%,42% 29%,32% 31%,22% 29%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="core"]{clip-path:polygon(27% 28%,37% 28%,39% 48%,32% 53%,25% 48%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="shoulders"]{mask-image:radial-gradient(ellipse 6% 9% at 22% 21%,#000 78%,transparent 82%),radial-gradient(ellipse 6% 9% at 42% 21%,#000 78%,transparent 82%),radial-gradient(ellipse 6% 9% at 66% 20%,#000 78%,transparent 82%),radial-gradient(ellipse 6% 9% at 85% 20%,#000 78%,transparent 82%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="arms"]{mask-image:radial-gradient(ellipse 5% 18% at 18% 36%,#000 78%,transparent 82%),radial-gradient(ellipse 5% 18% at 46% 36%,#000 78%,transparent 82%),radial-gradient(ellipse 5% 18% at 62% 36%,#000 78%,transparent 82%),radial-gradient(ellipse 5% 18% at 90% 36%,#000 78%,transparent 82%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="legs"]{mask-image:radial-gradient(ellipse 8% 24% at 27% 70%,#000 78%,transparent 82%),radial-gradient(ellipse 8% 24% at 37% 70%,#000 78%,transparent 82%),radial-gradient(ellipse 8% 24% at 70% 70%,#000 78%,transparent 82%),radial-gradient(ellipse 8% 24% at 80% 70%,#000 78%,transparent 82%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="glutes"]{mask-image:radial-gradient(ellipse 8% 10% at 70% 50%,#000 78%,transparent 82%),radial-gradient(ellipse 8% 10% at 80% 50%,#000 78%,transparent 82%)}
.body-map-visual>.muscle-layer[data-muscle-hotspot="back"]{clip-path:polygon(64% 18%,75% 23%,86% 18%,84% 45%,75% 50%,66% 45%)}
.diet-week-toolbar.is-expanded{padding:8px 0 16px;border-radius:20px;background:#fff}
.diet-week-toolbar.is-expanded .diet-weekdays{padding-inline:5px}
.diet-week-toolbar>.weekly-shopping-button{display:none!important}
.diet-shopping-access{display:block;margin:-5px 0 24px}
.training-panel[data-training-panel="diet"] .meal-choice.active{filter:saturate(1.08) brightness(1.04)!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active){opacity:.72}

/* Mapa anatómico v385: estados musculares reales, compuestos en canvas. */
.body-map-visual>.body-map-base,.body-map-visual>.body-map-composite{display:block;width:100%!important;height:100%!important;object-fit:contain!important;border-radius:20px;background:#f5f7f8;filter:none!important}
.body-map-visual>.body-map-composite{position:absolute;inset:0;z-index:3}
.body-map-visual>.muscle-layer{display:none!important;clip-path:none!important;mask-image:none!important}

/* Lectura accesible en todos los artículos de la enciclopedia. */
.encyclopedia-article,.encyclopedia-article p,.encyclopedia-article .article-intro,.encyclopedia-article section p,.encyclopedia-article aside p{color:#26323b!important;opacity:1!important}
.encyclopedia-article h1,.encyclopedia-article h2,.encyclopedia-article h3{color:#0f1820!important}

/* Contención del resumen de rutinas: evita que títulos o tarjetas amplíen el viewport. */
.training-content,.training-panel[data-training-panel="dashboard"],.next-workout-block,.default-workout-days{width:100%;max-width:100%;min-width:0;box-sizing:border-box}
.training-panel[data-training-panel="dashboard"],.next-workout-block,.default-workout-days{overflow-x:clip}
.default-workout-days .workout-item{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;grid-template-columns:54px minmax(0,1fr) 18px!important}
.default-workout-days .workout-item>span:nth-child(2){min-width:0;overflow:hidden}
.default-workout-days .workout-item b,.default-workout-days .workout-item small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html,body,.app-shell{max-width:100%;overflow-x:hidden}
.supplement-evidence-retry{min-height:44px;padding:10px 18px;border:1px solid #78c9cc;border-radius:999px;background:#edf9f9;color:#087f85;font-weight:800}

/* Ajustes de interacción y limpieza visual v392. */
.app-shell .top-tabs button.active,.training-lead .top-tabs button.active,.app-shell .top-tabs button[data-panel="dashboard"].active{background:#e5f4f4!important;border-color:#79c8cb!important;color:#078990!important;box-shadow:inset 0 0 0 1px #79c8cb!important}
.personal-engine-card header button{min-width:112px!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select i{visibility:hidden!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select{background:rgba(255,255,255,.78)!important}
.subscription-option.active b{color:#17232d!important}
.route-checks li{display:flex;align-items:center;gap:10px}.route-checks li>i{color:#0a959b;font-size:1.2rem}
.profile-avatar-edit{position:relative;border:0;background:transparent}.profile-avatar-edit>.ph-pencil-simple{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0b969c;color:#fff;font-size:.9rem}
.feed-user-posts .post-actions button:first-child,.post-actions button[data-feed-action="kudos"]{width:auto!important;min-width:72px!important;padding-inline:12px!important;justify-self:start!important}
.route-view.large-text .route-content{font-size:1.13em}.route-view.large-text .route-content p,.route-view.large-text .route-content li,.route-view.large-text .route-content label{line-height:1.58}
.route-header{position:sticky!important;top:0!important;z-index:90!important;padding-top:max(var(--safe-top),18px)!important;background:rgba(255,255,255,.97)!important}
.more-list>button{position:relative;z-index:1;isolation:isolate}.more-list>button.tap-active{background:#edf3f6!important}
.body-type-picker label>span{background:#000!important;background-image:none!important}

/* Cierre de incidencias visuales de los pantallazos v395. */
.body-map,.body-map-visual,.body-map-visual>.body-map-base,.body-map-visual>.body-map-composite{background:#f5f7f8!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select{border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select i{display:none!important}
.more-list>button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.encyclopedia-list+[data-training-knowledge]{margin-top:20px}

/* Cierre de interacción y tono visual v397. */
.profile-avatar{position:relative;overflow:visible!important}.profile-avatar img{border-radius:50%}
.profile-avatar-pencil{position:absolute;right:-2px;bottom:1px;display:grid!important;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:#0b969c;color:#fff;font-size:.88rem;box-shadow:0 3px 9px rgba(18,57,69,.2)}
.community-intro{margin-bottom:18px;padding:24px 20px;border:1px solid #cbdde2;border-radius:22px;background:#eef7f8;text-align:center}.community-intro>.app-icon-svg{width:54px;height:54px;color:#0b9399}.community-intro h2{margin:12px 0 8px}.community-intro p{margin:0;color:#536672;line-height:1.5}
.community-join-form{display:grid;gap:13px;margin-bottom:18px}.community-join-form[hidden]{display:none}.community-join-form label{display:grid;gap:7px;color:#536672;font-weight:800}.community-join-form input{box-sizing:border-box;width:100%;height:52px;padding:0 14px;border:1px solid #cbdce2;border-radius:14px;background:#fff;color:#17232d;font:inherit;text-transform:uppercase}
.community-membership{box-sizing:border-box;padding:18px!important;border:1px solid #cbdde2!important;border-radius:18px!important;background:#f5f9fa!important;color:#17232d!important}.community-membership>i{color:#0b9399!important}
.diet-weekdays button.active span,.diet-weekdays button[aria-current="date"] span{background:#10b5ba!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.muscle-card-grid>button,.encyclopedia-card{position:relative;background:#607785!important;overflow:hidden}.muscle-card-grid>button img,.encyclopedia-card img{filter:saturate(.66) brightness(1.08) contrast(.9)!important}.muscle-card-grid>button::after,.encyclopedia-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(51,75,88,.72),rgba(117,146,157,.12));pointer-events:none}.muscle-card-grid>button b,.encyclopedia-card span{position:relative;z-index:2}

/* Coherencia visual final: catálogos, cabeceras y accesibilidad de texto. */
.muscle-card-grid>button b{position:absolute!important;left:24px!important;right:20px!important;top:50%!important;transform:translateY(-50%)!important;z-index:3!important;color:#fff!important;font-size:1.42rem!important;font-weight:850!important;text-shadow:0 2px 10px rgba(13,37,49,.7)!important}
.muscle-card-grid>button img,.encyclopedia-card img{filter:saturate(.58) brightness(.94) contrast(.9) hue-rotate(4deg)!important}
.encyclopedia-card::after{background:linear-gradient(90deg,rgba(48,70,83,.82),rgba(93,122,137,.2))!important}
.encyclopedia-card span{position:absolute!important;left:22px!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;color:#fff!important;font-weight:850!important;text-shadow:0 2px 10px rgba(20,43,54,.7)!important}
.route-header{grid-template-columns:52px minmax(0,1fr) auto!important}.route-header-actions{display:flex;align-items:center;gap:8px}.route-header-actions>button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #d5dade;border-radius:16px;background:#eef1f3;color:#416a88;font-size:1.05rem}.route-header-actions>button.active{background:#dff2f3!important;border-color:#78cbd0!important;color:#07878d!important}.route-header-actions>button[hidden]{display:none!important}
.bf360-large-text .route-content{font-size:1.14em}.bf360-large-text .route-content input,.bf360-large-text .route-content select,.bf360-large-text .route-content textarea,.bf360-large-text .route-content button{font-size:1em}
.support-form{gap:24px!important}.support-form label{font-size:1.05rem!important;font-weight:800!important;color:#344754!important}.support-form select,.support-form input,.support-form textarea{width:100%!important;min-height:62px!important;padding:15px 16px!important;border:1px solid #cbd6dc!important;border-radius:18px!important;background:#fff!important;color:#17232d!important;font-size:1rem!important;font-weight:650!important}.support-form textarea{min-height:190px!important;line-height:1.45!important}.support-form ::placeholder{color:#6d7880!important;opacity:1}
.subscription-manage{background:transparent!important;border:0!important;box-shadow:none!important;color:#17232d!important;text-decoration:underline!important}
.more-list>button>i:first-child{color:#0a949a!important}.more-list>button>i:last-child{color:#0a949a!important}
.supplement-picker-row>i:last-child{display:none!important}
.community-qr-button{width:100%;min-height:56px;margin:12px 0}.community-qr-scanner{margin:12px 0;padding:12px;border:1px solid #bcd4da;border-radius:18px;background:#edf6f7;text-align:center}.community-qr-scanner video{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#12242c}.community-qr-scanner button{min-height:44px;padding:0 18px;border:0;border-radius:999px;background:#d8e1e5;color:#17232d;font-weight:800}.community-qr-scanner[hidden]{display:none!important}
.community-membership-note{margin:8px 10px 14px;color:#71808a;font-size:.82rem;line-height:1.4;text-align:center}.community-qr-scanner{margin:12px 0;padding:0;border:0;background:transparent;text-align:left}.community-qr-scanner .community-qr-camera-window{width:100%;aspect-ratio:16/10;max-height:none;border-radius:22px}.community-qr-scanner .community-qr-camera-window video{width:100%;height:100%;aspect-ratio:auto;border-radius:0}.community-qr-scanner.scanner-panel-embedded .scanner-frame.community-qr-scan-frame{top:50%;left:50%;right:auto;width:min(52%,220px);height:auto;aspect-ratio:1;transform:translate(-50%,-50%);border:3px solid #13b9bd;border-radius:18px}.community-qr-scanner>p{margin:18px 2px;color:#17232d;font-size:1rem;line-height:1.45}.community-qr-scanner button{display:block;width:100%;min-height:52px;padding:0 18px;border:1px solid #b8c4ca;border-radius:18px;background:#edf1f3;color:#17232d;font-weight:800}
.post-actions{grid-template-columns:auto auto!important;justify-content:start!important}.post-actions button{min-width:56px!important}.post-actions button:first-child{padding-inline:14px!important}

/* Escala tipográfica global y acabado uniforme de tarjetas visuales v398. */
.bf360-large-text .app-view{font-size:1.13em}.bf360-large-text .app-view p,.bf360-large-text .app-view li,.bf360-large-text .app-view label{line-height:1.52}
.manual-card,.muscle-card-grid>button,.encyclopedia-card{background-color:#607785!important}
.manual-card::after{background:linear-gradient(90deg,rgba(48,70,83,.83),rgba(93,122,137,.17))!important}
.support-form input[type="email"]{height:62px!important}
.supplement-picker-row .ph-caret-right,.supplement-search-result .ph-caret-right{display:none!important}

/* Tarjetas visuales v399: escenas propias, luminosidad uniforme y texto legible. */
.muscle-card-grid>button img,.encyclopedia-card img{filter:saturate(.64) brightness(1.12) contrast(.88) hue-rotate(3deg)!important}
.muscle-card-grid>button::after,.encyclopedia-card::after{background:linear-gradient(90deg,rgba(50,73,86,.68),rgba(105,137,150,.08) 72%)!important}
.manual-card-guides::after{background:linear-gradient(90deg,rgba(50,73,86,.70),rgba(105,137,150,.06) 72%)!important}

/* Cierre visual v400: perfil, cabeceras, accesibilidad y tarjetas. */
.route-header{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  min-height:76px!important;
  padding-top:max(calc(env(safe-area-inset-top,0px) + 18px),64px)!important;
  padding-bottom:14px!important;
  background:rgba(255,255,255,.98)!important;
}
.route-form>label{display:grid!important;gap:9px!important;width:100%!important}
.route-form>label>input,.route-form>label>select,.route-form>label>textarea{
  box-sizing:border-box!important;
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid #cfd9df!important;
  border-radius:16px!important;
  background:#fff!important;
  color:#17232d!important;
  font:650 1rem/1.25 system-ui!important;
}
.route-form>label>textarea{padding-top:16px!important;padding-bottom:16px!important;resize:none!important}
.profile-gender{box-sizing:border-box!important;width:100%!important;min-height:86px!important;margin:0!important;padding:15px 16px!important;border:1px solid #cfd9df!important;border-radius:16px!important}
.profile-gender label{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:44px!important;margin-right:22px!important}
.profile-gender input{width:28px!important;height:28px!important;margin:0!important}
.profile-avatar-pencil{font-size:0!important}
.profile-avatar-pencil::before{content:"\270E";font:800 15px/1 system-ui!important}

/* El control global no invade las pestañas de Entreno; las rutas conservan su control en cabecera. */

/* Misma luminosidad y gradación azul grisácea que las tarjetas principales de Guías. */
.muscle-card-grid>button img,.encyclopedia-card img{
  filter:saturate(.58) brightness(1.28) contrast(.80) hue-rotate(3deg)!important;
}
.muscle-card-grid>button::after,.encyclopedia-card::after{
  background:linear-gradient(90deg,rgba(62,82,94,.66),rgba(132,156,166,.08) 72%)!important;
}
.manual-card-guides::after{
  background:linear-gradient(90deg,rgba(61,80,92,.82),rgba(128,150,159,.24))!important;
}

/* Activos v401: las imágenes ya comparten color de origen, sin correcciones destructivas. */
.muscle-card-grid>button img,.encyclopedia-card img{filter:none!important}
.muscle-card-grid>button::after,.encyclopedia-card::after,.manual-card::after{
  background:linear-gradient(90deg,rgba(43,65,78,.68),rgba(93,124,138,.08) 74%)!important;
}
.route-header{
  min-height:82px!important;
  padding-top:max(calc(env(safe-area-inset-top,0px) + 34px),86px)!important;
  padding-bottom:16px!important;
}
.route-view{scroll-padding-top:148px}
.profile-avatar{
  background:#17232d!important;
  color:#fff!important;
  border:4px solid #e2eaed!important;
  box-shadow:0 7px 20px rgba(23,35,45,.18)!important;
}
.profile-avatar-pencil{
  right:-5px!important;
  bottom:-1px!important;
  background:#0b969c!important;
  color:#fff!important;
  border:3px solid #fff!important;
}
.route-form>label>input::placeholder,.route-form>label>textarea::placeholder{
  color:#667680!important;
  opacity:1!important;
  font-weight:550!important;
}

/* Ajustes finales v402: cabeceras estables y controles sin solapamientos. */
.route-header{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  background:rgba(255,255,255,.98)!important;
  backdrop-filter:blur(14px);
}
.route-form>label>input,.route-form>label>textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-height:64px!important;
}
.route-form>label>textarea{height:64px!important;resize:vertical!important}

/* Cierre v403: cada fila responde exclusivamente a su propio toque. */
.app-shell .more-list>button,
.app-shell .more-list>button:active,
.app-shell .more-list>button.tap-active,
.app-shell .more-list>button.route-tap-active{
  background:#fff!important;
  color:#000!important;
  -webkit-tap-highlight-color:transparent!important;
}
.app-shell .more-list>button>span,
.app-shell .more-list>button>i{color:inherit!important}
.app-shell .more-list>button>*{pointer-events:none!important}

/* Cierre v406: iOS conserva una capa táctil desplazada tras el rebote de la
   lista si usa scrolling asíncrono/content-visibility. La lista corta no
   necesita esas optimizaciones y mantiene así cada hitbox sobre su fila. */
#view-more .more-list{
  -webkit-overflow-scrolling:auto!important;
  overscroll-behavior-y:none!important;
  overflow-anchor:none!important;
  contain:none!important;
}
#view-more .more-list>button{
  content-visibility:visible!important;
  contain:none!important;
  transform:none!important;
}
#view-more .more-list>button:active,
#view-more .more-list>button.route-tap-active{
  background:#fff!important;
  color:#17232d!important;
}

/* CTA profesional: azul principal de la aplicación. */
.app-shell .coach-request-cta{
  border-color:#416180!important;
  background:#416180!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(65,97,128,.20)!important;
}
.app-shell .subscription-route [data-action="begin-subscription"]{
  border-color:#416180!important;
  background:#416180!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 8px 20px rgba(65,97,128,.20)!important;
}

/* Avatar predeterminado legible y con affordance de edición. */
.profile-avatar{
  background:radial-gradient(circle at 34% 28%,#f8ffff 0,#e5f7f7 55%,#ccebed 100%)!important;
  color:#087f85!important;
  border:4px solid #d7eff0!important;
  box-shadow:0 9px 24px rgba(11,150,156,.16)!important;
}
.profile-avatar-pencil{
  width:30px!important;
  height:30px!important;
  right:-5px!important;
  bottom:-2px!important;
  border:3px solid #fff!important;
  background:#0b969c!important;
  color:#fff!important;
  box-shadow:0 4px 12px rgba(11,150,156,.28)!important;
}
/* Acciones de comida y progreso: estados legibles en pantallas compactas. */
.meal-choice-select:has(.ph-plus){width:auto!important;min-width:78px!important;height:38px!important;padding:0 11px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.92)!important}
.meal-choice-select:has(.ph-plus) .ph-plus{display:none!important}
.meal-choice-select:has(.ph-plus)::after{content:"CAMBIAR";font-size:10px;font-weight:800;letter-spacing:.035em;color:#13212d}
.ring{background:conic-gradient(from 0deg,#0e969d 0 var(--workout-progress,0deg),#d6dce1 var(--workout-progress,0deg) 360deg)!important}

/* Tarjeta original de la rutina destacada, independiente de los planes creados por el usuario. */
.six-pack-plan-card{width:100%;height:auto;aspect-ratio:2.78/1;margin:0 0 28px;border:0;border-radius:13px;cursor:pointer;box-shadow:0 6px 18px rgba(23,35,45,.20)}
.six-pack-plan-card>img{filter:brightness(1.32) saturate(.72) contrast(.92)!important}
.six-pack-plan-card .shade{background:linear-gradient(90deg,rgba(24,55,73,.78),rgba(35,68,85,.42) 58%,rgba(73,103,115,.04))!important}
.six-pack-plan-card .plan-details{left:18px;right:58px;bottom:17px}
.six-pack-plan-card .plan-details h2,.six-pack-plan-card .plan-details p,.six-pack-plan-card .plan-details strong{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.55)!important}
.six-pack-plan-card .plan-details h2{margin:0 0 5px;font-size:1.38rem;line-height:1.06}
.six-pack-plan-card .plan-details p{margin:0 0 4px;font-size:.72rem;font-weight:800;letter-spacing:.06em}
.six-pack-plan-card .plan-details strong{font-size:.78rem}
.six-pack-plan-card .share-fab{z-index:3;right:13px;bottom:14px;width:40px;height:40px}

/* Ajustes visuales v409. */
.next-workout-block .workout-state-dot{display:none!important}
.training-content .workout-item{grid-template-columns:54px minmax(0,1fr)!important}

.community-qr-scanner{display:grid!important;gap:16px!important;margin:6px 0 18px!important}
.community-qr-scanner .community-qr-camera-window{aspect-ratio:16/10!important;border-radius:24px!important;background:#27100c!important}
.community-qr-scanner.scanner-panel-embedded .scanner-frame.community-qr-scan-frame{
  top:50%!important;left:50%!important;right:auto!important;
  width:min(48%,210px)!important;height:auto!important;aspect-ratio:1/1!important;
  transform:translate(-50%,-50%)!important;border:3px solid #13b9bd!important;border-radius:18px!important;
}
.community-qr-scanner>p{margin:2px 0 4px!important;font-size:1rem!important;line-height:1.4!important}
.community-code-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;overflow:hidden;border:1px solid #cbd7dd;border-radius:18px;background:#f4f7f9}
.community-code-inline input{width:100%!important;min-width:0!important;min-height:58px!important;margin:0!important;padding:0 14px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#17232d!important;outline:0!important;font:inherit!important}
.community-code-inline button{width:auto!important;min-width:112px!important;min-height:58px!important;margin:0!important;padding:0 18px!important;border:0!important;border-left:1px solid #cbd7dd!important;border-radius:0!important;background:#d8e0e4!important;color:#111!important;font-weight:850!important}
.community-code-inline:focus-within{border-color:#128f96;box-shadow:0 0 0 3px rgba(18,143,150,.13)}

/* No se muestra ningún estado persistente en Más: iOS conserva :hover/:focus
   en la fila vecina después de desplazar, aunque el click llegue a la correcta. */
.app-shell #view-more .more-list>button,
.app-shell #view-more .more-list>button:hover,
.app-shell #view-more .more-list>button:focus,
.app-shell #view-more .more-list>button:focus-visible,
.app-shell #view-more .more-list>button:active,
.app-shell #view-more .more-list>button.tap-active,
.app-shell #view-more .more-list>button.route-tap-active{
  background:#fff!important;color:#17232d!important;outline:0!important;box-shadow:none!important;
  -webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;
  -webkit-appearance:none!important;appearance:none!important;opacity:1!important;transition:none!important;
}
.app-shell #view-more .more-list>button::before,.app-shell #view-more .more-list>button::after{display:none!important}

/* Programa de abdomen independiente del plan principal. */
.abs-program-hero{position:relative;height:250px;overflow:hidden;margin-bottom:18px;border-radius:22px;background:#e8f0f3}
.abs-program-hero>img{width:100%;height:100%;object-fit:cover}
.abs-program-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,52,69,.90),rgba(38,72,89,.58) 48%,rgba(74,105,118,.08) 78%)}
.abs-program-hero>div{position:absolute;z-index:1;left:20px;right:20px;bottom:20px}.abs-program-hero small{color:#7de2e5;font-weight:850;letter-spacing:.06em}.abs-program-hero h2{margin:5px 0;color:#fff}.abs-program-hero p{margin:0;color:#e6f0f3}
.abs-program-note{margin:0 0 20px;padding:14px 16px;border-left:4px solid #0b969c;border-radius:10px;background:#eef8f8;color:#526571;line-height:1.45}
.abs-program-days{display:grid;gap:16px}.abs-program-days>section{overflow:hidden;border:1px solid #d8e2e7;border-radius:20px;background:#fff;box-shadow:0 5px 16px rgba(25,49,62,.06)}
.abs-program-days header{display:flex;align-items:center;gap:14px;padding:16px;background:#f2f7f8}.abs-program-days header>span{display:grid;place-items:center;min-width:58px;height:34px;border-radius:999px;background:#0b969c;color:#fff;font-size:.75rem;font-weight:900}.abs-program-days h2{margin:0;color:#17232d;font-size:1.12rem}.abs-program-days header p{margin:3px 0 0;color:#71808a;font-size:.78rem}
.abs-program-days ol{margin:0;padding:0 16px;list-style:none;counter-reset:abs-exercise}.abs-program-days li{counter-increment:abs-exercise;display:grid;grid-template-columns:34px 1fr;gap:1px 10px;padding:14px 0;border-bottom:1px solid #e5ebee}.abs-program-days li:last-child{border-bottom:0}.abs-program-days li::before{content:counter(abs-exercise);grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e4f3f4;color:#087f85;font-weight:900}.abs-program-days li b{color:#17232d}.abs-program-days li small{color:#71808a}
.abs-program-days .abs-program-exercise{width:100%;min-height:116px;margin:0;padding:10px 16px;display:grid;grid-template-columns:96px minmax(0,1fr) 20px;gap:14px;align-items:center;border:0;border-bottom:1px solid #e3eaed;background:#fff;color:#17232d;text-align:left}
.abs-program-days .abs-program-exercise:last-child{border-bottom:0}.abs-program-days .abs-program-exercise .exercise-row-gif{width:96px!important;height:96px!important;border-radius:14px!important;object-fit:contain!important;background:#fff!important}.abs-program-days .abs-program-exercise span{min-width:0}.abs-program-days .abs-program-exercise b,.abs-program-days .abs-program-exercise small{display:block}.abs-program-days .abs-program-exercise b{font-size:1rem;line-height:1.2}.abs-program-days .abs-program-exercise small{margin-top:6px;color:#71808a;line-height:1.3}.abs-program-days .abs-program-exercise>i{color:#0b969c;font-size:1.15rem}
.community-code-inline input::placeholder{font-size:clamp(.78rem,3.8vw,1rem)!important;letter-spacing:0!important}

/* Calendario visual, pestañas y alta profesional. */
.training-lead .top-tabs{background:transparent!important}
.app-shell [data-dashboard-widget="schedule"] .calendar{grid-auto-rows:minmax(78px,auto)!important;align-items:start!important;column-gap:2px!important;row-gap:8px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span{align-self:end;padding-bottom:4px;color:#5e7790!important;font-size:.7rem!important;font-weight:800!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small{min-width:0!important;min-height:78px!important;padding:2px 1px!important;border-radius:10px!important;background:transparent!important;color:#17232d!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:4px!important;overflow:visible!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small>b{color:#17232d!important;-webkit-text-fill-color:#17232d!important;font-size:.88rem!important;line-height:1.1!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today>b{color:#078f96!important;-webkit-text-fill-color:#078f96!important}
.calendar-progress{display:grid;place-items:center;min-width:42px;height:22px;padding:0 5px;border-radius:999px;background:#19b9bd;color:#fff!important;font-size:.67rem;font-style:normal;font-weight:900;line-height:1;box-shadow:0 3px 8px rgba(10,151,157,.15)}
.completed-day .calendar-progress{background:#2eb26f!important}
.calendar-muscles{display:-webkit-box;width:100%;max-width:68px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#61788b!important;font-size:.55rem!important;font-style:normal!important;font-weight:650!important;line-height:1.08!important;text-align:center}
.app-shell [data-dashboard-widget="schedule"] .calendar small.other-month .calendar-progress,.app-shell [data-dashboard-widget="schedule"] .calendar small.other-month .calendar-muscles{display:none!important}
/* Calendario compacto: conserva la presentación anterior y añade el estado del entrenamiento. */
.app-shell [data-dashboard-widget="schedule"] .calendar{grid-auto-rows:auto!important;align-items:initial!important;column-gap:3px!important;row-gap:8px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span{align-self:initial;padding-bottom:0;color:#6f7d86!important;font-size:.72rem!important;font-weight:750!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small{min-width:0!important;min-height:42px!important;padding:5px 0!important;border-radius:0!important;background:transparent!important;color:#17232d!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;overflow:visible!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small>b{color:inherit!important;font-size:inherit!important;line-height:1!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today>b{color:#0d959b!important;-webkit-text-fill-color:#0d959b!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.other-month{opacity:.35!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today{border-radius:50%!important;background:#e3f5f5!important}
.calendar-status{display:none!important}
.calendar-day-ring{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:34px;height:34px;border:2px solid #d94738;border-radius:50%;box-sizing:border-box;flex:none;line-height:1}
.calendar-day-ring.status-completed{border-color:#2eb26f}
.calendar-day-ring.status-partial{border-color:#9aa3aa}
.calendar-day-ring.status-missed{border-color:#d94738}
.calendar-day-ring>b{color:inherit!important;font-size:inherit!important;line-height:1!important}
.calendar-workout-icon{display:block!important;margin-top:2px;color:#466d8a!important;font-size:10px!important;line-height:1!important}
/* La misma cuadrícula compacta se aplica también al calendario de la ruta completa. */
.app-shell .schedule-calendar{grid-auto-rows:auto!important;align-items:initial!important;column-gap:3px!important;row-gap:8px!important}
.app-shell .schedule-calendar>span{align-self:initial;padding-bottom:0;color:#6f7d86!important;font-size:.72rem!important;font-weight:750!important}
.app-shell .schedule-calendar small{min-width:0!important;min-height:42px!important;padding:5px 0!important;border-radius:0!important;background:transparent!important;color:#17232d!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;overflow:visible!important}
.app-shell .schedule-calendar small>b{color:inherit!important;font-size:inherit!important;line-height:1!important}
.app-shell .schedule-calendar .calendar-day-ring>b{color:inherit!important;font-size:inherit!important;line-height:1!important}
.app-shell .schedule-calendar small.today>b{color:#0d959b!important;-webkit-text-fill-color:#0d959b!important}
.app-shell .schedule-calendar small.today{border-radius:50%!important;background:#e3f5f5!important}
.app-shell .schedule-calendar small.other-month{opacity:.35!important}
.coach-request-form .route-primary{background:#0b969c!important;border-color:#0b969c!important;color:#fff!important;box-shadow:0 8px 20px rgba(11,150,156,.2)!important}
.coach-request-form input::placeholder,.coach-request-form textarea::placeholder{color:#a9b3bb!important;opacity:1!important;font-size:.82rem!important;font-weight:500!important;line-height:1.3!important}

/* Override final de calendario: el día actual no tiene relleno ni halo. */
.app-shell [data-dashboard-widget="schedule"] .calendar small.today,
.app-shell [data-dashboard-widget="schedule"] .calendar small.today.planned-day,
.app-shell .schedule-calendar small.today,
.app-shell .schedule-calendar small.today.planned-day{background:transparent!important;background-color:transparent!important;background-image:none!important;box-shadow:none!important}
.app-shell [data-dashboard-widget="schedule"] .calendar small.today .calendar-day-ring,
.app-shell .schedule-calendar small.today .calendar-day-ring{background:transparent!important;border:1px solid rgba(46,178,111,.72)!important;box-shadow:none!important}

/* Flujo integrado de personalización: tarjetas visuales como las guías, sin cambiar de pantalla. */
.personal-engine-form[data-personal-step="goal"]> :not(.personal-goal-picker),
.personal-engine-form[data-personal-step="difficulty"]> :not(.personal-difficulty-picker),
.personal-engine-form[data-personal-step="mode"]> :not(.personal-mode-picker){display:none!important}
.personal-mode-picker{display:grid;gap:14px}.personal-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.personal-mode-card{display:grid;gap:7px;min-height:116px;padding:18px;border:1px solid #c8d9df;border-radius:18px;background:#eef4f6;color:#17232d;text-align:left}.personal-mode-card.active,.personal-mode-card:active{border-color:#0d9aa0;background:#e1f4f4}.personal-mode-card b{font-size:1.12rem;color:#087f85}.personal-mode-card span{font-size:.8rem;line-height:1.25;color:#627680}
.personal-goal-picker,.personal-difficulty-picker{display:grid;gap:14px}
.personal-step-heading{display:grid;gap:4px;padding:4px 2px 2px}.personal-step-heading small{color:#087f85;font-weight:900;letter-spacing:.05em}.personal-step-heading h3{margin:0;color:#17232d;font-size:1.3rem}.personal-step-heading p{margin:0;color:#667780;font-size:.86rem;line-height:1.35}
.personal-goal-grid{display:grid;gap:12px}.personal-goal-card{position:relative;min-height:132px;overflow:hidden;border:0;border-radius:18px;padding:0 18px;text-align:left;background:#032238 var(--goal-image) center/cover no-repeat;box-shadow:0 4px 12px rgba(3,34,56,.18);isolation:isolate}.personal-goal-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,34,55,.96) 0%,rgba(2,34,55,.72) 46%,rgba(2,34,55,.18) 100%);z-index:-1}.personal-goal-card span{position:relative;display:block;max-width:78%;color:#fff;font-size:1.03rem;font-weight:850;line-height:1.16}.personal-goal-card:active{transform:scale(.985)}
.personal-difficulty-grid{display:grid;gap:12px}.personal-difficulty-card{position:relative;display:grid;align-content:center;gap:2px;min-height:132px;padding:16px 18px;overflow:hidden;border:1px solid #b8d7dc;border-radius:18px;background:#032238 var(--difficulty-image) center/cover no-repeat;color:#fff;text-align:left;isolation:isolate}.personal-difficulty-card::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,34,55,.96),rgba(2,34,55,.56));z-index:-1}.personal-difficulty-card b{color:#11b6bd;letter-spacing:.12em}.personal-difficulty-card span{font-size:1.08rem;line-height:1.1;font-weight:850;color:#fff!important}.personal-difficulty-card small{margin:0;color:rgba(255,255,255,.92)!important;font-size:.8rem;line-height:1.15;font-weight:500!important}.personal-step-back{justify-self:start;border:0;background:transparent;color:#087f85;font-weight:850;padding:4px 0}
.personal-engine-form[data-personal-step="config"]{gap:13px}.personal-engine-form[data-personal-step="config"] .personal-goal-picker,.personal-engine-form[data-personal-step="config"] .personal-difficulty-picker{display:none!important}
@media (min-width:640px){.personal-goal-grid{grid-template-columns:1fr 1fr}.personal-goal-card{min-height:122px}.personal-difficulty-grid{grid-template-columns:1fr 1fr}}
.body-type-picker span{background:#000!important;background-image:none!important;background-size:cover!important}
.personal-goal-card::before,.personal-difficulty-card::before{background:linear-gradient(90deg,rgba(0,13,25,.99) 0%,rgba(1,22,37,.97) 54%,rgba(2,27,43,.72) 100%)!important}
.body-type-picker span{background:#000!important;background-image:none!important;background-size:cover!important}
.body-type-picker span{background:#000!important;background-image:none!important}
.body-type-picker span{background:#000!important;background-image:none!important}
.body-type-picker small{font-size:.82rem!important;white-space:nowrap!important;color:#e7f3f5!important}
.body-type-picker span{background:#000!important;background-image:none!important;background-size:cover!important;background-position:center center!important;justify-content:center!important;gap:0!important}
.body-type-picker span{background:#000!important;background-image:none!important;background-size:cover!important;background-position:center center!important}
.body-type-picker span{background-color:#000!important;background-image:var(--body-type-image)!important;background-size:cover!important;background-position:center center!important}
.manual-card:nth-child(n+3)::after{background:linear-gradient(90deg,rgba(48,70,83,.58),rgba(93,122,137,.08))!important}
.body-type-picker span{background-color:#000!important;background-image:var(--body-type-image)!important;background-size:cover!important;background-position:center center!important}
.body-type-picker b{font-size:1.34rem!important;line-height:1.08!important}
.body-type-picker small{margin-top:0!important;font-size:.88rem!important;line-height:1.08!important;font-weight:500!important}
.personal-goal-card::before,.personal-difficulty-card::before{background:linear-gradient(90deg,rgba(3,32,48,.86) 0%,rgba(4,43,61,.34) 42%,rgba(4,43,61,.06) 72%,rgba(4,43,61,0) 100%)!important}
.personal-goal-card,.personal-difficulty-card{background-size:auto 140%!important;background-position:center center!important}
.personal-goal-card{background-size:cover!important}
.personal-goal-card span{font-size:1.03rem!important;line-height:1.16!important;max-width:78%!important}
.personal-difficulty-card span{font-size:1.08rem!important;line-height:1.1!important}
.personal-difficulty-card small{font-size:.8rem!important}
.body-type-picker span{background-size:auto 170%!important;background-position:center 44%!important}
.body-type-picker span{background-color:#000!important;background-image:var(--body-type-image)!important;background-size:cover!important;background-position:center center!important}
.manual-card:nth-child(n+3)::after{background:linear-gradient(90deg,rgba(48,70,83,.58),rgba(93,122,137,.08))!important}
.body-type-picker input[value="ectomorph"]+span{background-image:url('/assets/body-types/ectomorph-optimized-v536.webp')!important;background-size:cover!important;background-position:65% center!important}
.body-type-picker input[value="mesomorph"]+span{background-image:url('/assets/body-types/mesomorph-optimized-v536.webp')!important;background-size:cover!important;background-position:65% center!important}
.body-type-picker input[value="endomorph"]+span{background-image:url('/assets/body-types/endomorph-optimized-v536.webp')!important;background-size:cover!important;background-position:65% center!important}

/* Calendario: presentación compacta con porcentaje y grupo muscular por sesión. */
.app-shell [data-dashboard-widget="schedule"] .calendar,.app-shell .schedule-calendar{grid-auto-rows:minmax(108px,auto)!important;row-gap:10px!important;column-gap:2px!important;align-items:start!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span,.app-shell .schedule-calendar>span{font-size:.72rem!important;color:#718697!important;font-weight:700!important;text-align:center!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small,.app-shell .schedule-calendar>small{min-height:108px!important;height:auto!important;padding:4px 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#17252f!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small.other-month,.app-shell .schedule-calendar>small.other-month{opacity:.42!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small>b,.app-shell .schedule-calendar>small>b{display:block!important;font-size:1rem!important;line-height:1.15!important;font-weight:700!important;color:#17252f!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small.today>b,.app-shell .schedule-calendar>small.today>b{color:#159fa6!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress,.app-shell .schedule-calendar .calendar-progress{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:44px!important;height:27px!important;padding:0 8px!important;border-radius:999px!important;background:#18b4bb!important;color:#fff!important;font-size:.68rem!important;font-style:normal!important;font-weight:800!important;line-height:1!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-high,.app-shell .schedule-calendar .calendar-progress.progress-high{background:#39ae73!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-mid,.app-shell .schedule-calendar .calendar-progress.progress-mid{background:#79c68f!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-none,.app-shell .schedule-calendar .calendar-progress.progress-none{background:#d77470!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-muscles,.app-shell .schedule-calendar .calendar-muscles{display:block!important;width:100%!important;max-width:78px!important;margin:0!important;color:#718697!important;font-size:.61rem!important;font-style:normal!important;font-weight:500!important;line-height:1.12!important;text-align:center!important}

/* Ajuste compacto: mantiene porcentaje y grupo muscular sin filas excesivamente altas. */
.app-shell [data-dashboard-widget="schedule"] .calendar,.app-shell .schedule-calendar{grid-auto-rows:minmax(78px,auto)!important;row-gap:5px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small,.app-shell .schedule-calendar>small{min-height:78px!important;padding:2px 0!important;gap:3px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress,.app-shell .schedule-calendar .calendar-progress{min-width:40px!important;height:22px!important;padding:0 6px!important;font-size:.63rem!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-muscles,.app-shell .schedule-calendar .calendar-muscles{max-width:72px!important;font-size:.56rem!important;line-height:1.08!important}
.app-shell [data-dashboard-widget="schedule"] .calendar,.app-shell .schedule-calendar{row-gap:2px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span,.app-shell .schedule-calendar>span{padding-bottom:0!important;margin-bottom:-2px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span,.app-shell .schedule-calendar>span{margin-bottom:-6px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small:nth-child(n+8):nth-child(-n+14),.app-shell .schedule-calendar>small:nth-child(n+8):nth-child(-n+14){transform:translateY(-3px)!important}
.app-shell [data-dashboard-widget="schedule"] .calendar,.app-shell .schedule-calendar{grid-template-rows:30px repeat(6,auto)!important;grid-auto-rows:auto!important;row-gap:2px!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>span,.app-shell .schedule-calendar>span{min-height:30px!important;height:30px!important;display:flex!important;align-items:flex-start!important;justify-content:center!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-none,.app-shell .schedule-calendar .calendar-progress.progress-none{background:#e89a95!important}

/* Estados del calendario: completado en verde, parcial en gris. */
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-100,
.app-shell .schedule-calendar .calendar-progress.progress-100{background:#39ae73!important}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-high,
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress.progress-mid,
.app-shell .schedule-calendar .calendar-progress.progress-high,
.app-shell .schedule-calendar .calendar-progress.progress-mid{background:#9aa3aa!important}
.app-shell [data-dashboard-widget="schedule"] .calendar>small.today>b,.app-shell .schedule-calendar>small.today>b{display:grid!important;place-items:center!important;min-width:34px!important;height:28px!important;padding:0 5px!important;border:1.5px solid #2eb26f!important;border-radius:9px!important;background:transparent!important;box-sizing:border-box!important}

/* Restauración del calendario: porcentaje circular y pesa en sesiones futuras. */
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-progress,
.app-shell .schedule-calendar .calendar-progress,
.app-shell .analytics-calendar .calendar-progress{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
  border-radius:50%!important;
  box-sizing:border-box!important;
}
.app-shell [data-dashboard-widget="schedule"] .calendar .calendar-future-workout-icon,
.app-shell .schedule-calendar .calendar-future-workout-icon,
.app-shell .analytics-calendar .calendar-future-workout-icon{
  display:grid!important;
  place-items:center!important;
  width:34px!important;
  height:34px!important;
  color:#466d8a!important;
  font-size:20px!important;
  line-height:1!important;
}
.app-shell .analytics-calendar{
  grid-template-rows:30px repeat(6,auto)!important;
  grid-auto-rows:auto!important;
  row-gap:2px!important;
}
.app-shell .analytics-calendar>span{
  min-height:30px!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.app-shell .analytics-calendar>small{
  min-height:78px!important;
  padding:2px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:3px!important;
  background:transparent!important;
  color:#17252f!important;
}
.app-shell .analytics-calendar .calendar-muscles{
  display:block!important;
  width:100%!important;
  max-width:72px!important;
  overflow:hidden!important;
  color:#718697!important;
  font-size:.56rem!important;
  font-style:normal!important;
  line-height:1.08!important;
  text-align:center!important;
}

/* Objetivos: fotografía nítida con sombreado suave solo para dar lectura al título. */
.personal-goal-card{
  background-color:#032536!important;
  background-size:cover!important;
  background-position:center!important;
  filter:saturate(.96) contrast(1.02)!important;
}
.personal-goal-card::before{
  z-index:1!important;
  background:linear-gradient(90deg,rgba(2,29,43,.58) 0%,rgba(2,33,48,.36) 30%,rgba(2,37,51,.12) 58%,transparent 82%)!important;
}
.personal-goal-card::after{
  display:none!important;
}
.personal-goal-card>span{
  z-index:2!important;
  text-shadow:0 2px 7px rgba(0,15,25,.48);
}

/* Dieta: la tarjeta solo muestra el plato; la información vive en su receta. */
.training-panel[data-training-panel="diet"] .meal-choice-copy>span,
.training-panel[data-training-panel="diet"] .meal-choice-copy>small{display:none!important}
.training-panel[data-training-panel="diet"] .meal-choice-copy{padding:18px 16px!important}
.training-panel[data-training-panel="diet"] .meal-choice-copy>b{
  display:block!important;
  color:#fff!important;
  font-size:1rem!important;
  line-height:1.2!important;
  text-transform:none!important;
}

/* El documento queda fijo; solo se desplazan las áreas de contenido. */
html,body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#fff!important;
}
.app-shell,.main-app,.app-view{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  background:#fff!important;
}
.scroll-content,.training-content,.route-content,.messages{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-behavior:auto!important;
  transform:translateZ(0);
  will-change:scroll-position;
}
.meal-choice-strip,.workout-choice-strip{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:auto!important;
}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select{display:grid!important;place-items:center!important;top:12px!important;right:12px!important;width:42px!important;height:42px!important;border:2px solid rgba(255,255,255,.95)!important;border-radius:50%!important;background:rgba(255,255,255,.94)!important;color:#17232d!important;opacity:1!important;box-shadow:0 4px 14px rgba(16,35,45,.3)!important;backdrop-filter:blur(5px)!important}
.training-panel[data-training-panel="diet"] .meal-choice:not(.active) .meal-choice-select i{display:block!important;visibility:visible!important;color:#17232d!important;-webkit-text-fill-color:#17232d!important;font-size:1.35rem!important;font-weight:900!important}

/* Compositor de Historias: hoja clara y coherente con la interfaz actual. */
.app-shell .feed-composer{box-sizing:border-box;width:min(100%,620px)!important;max-width:620px!important;height:min(94dvh,900px)!important;max-height:94dvh!important;margin:auto auto 0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:28px 28px 0 0!important;background:#fff!important;color:#17232d!important;box-shadow:0 -18px 60px rgba(12,31,43,.28)!important}
.app-shell .feed-composer::backdrop{background:rgba(20,34,43,.52)!important;backdrop-filter:blur(4px)!important}
.app-shell .feed-composer form{box-sizing:border-box;height:100%;padding:0 20px calc(24px + var(--safe-bottom))!important;overflow-y:auto!important;background:#fff!important;color:#17232d!important}
.app-shell .feed-composer__head{position:sticky;top:0;z-index:4;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;margin:0 -20px 22px;padding:var(--safe-top) 20px 0;border-bottom:1px solid #e2e8ec;background:rgba(255,255,255,.97)!important}
.app-shell .feed-composer__head h2{margin:0;color:#17232d!important;font-size:1.15rem!important;text-align:center;white-space:nowrap}
.app-shell .feed-composer__head button{min-height:44px;padding:0 14px!important;border:0!important;border-radius:13px!important;background:#edf1f3!important;color:#334957!important;font:inherit!important;font-weight:800!important}
.app-shell .feed-composer__head button[type="submit"]{background:#416180!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.app-shell .feed-profile-setup{margin:0 0 20px!important;padding:20px!important;border:1px solid #bcdadd!important;border-radius:20px!important;background:#eef8f8!important;color:#17232d!important}
.app-shell .feed-profile-setup[hidden],.app-shell .feed-rights[hidden]{display:none!important}
.app-shell .feed-profile-setup{display:none!important}
.app-shell .feed-profile-setup h3{margin:0 0 7px;color:#17232d!important;font-size:1.15rem}.app-shell .feed-profile-setup p{margin:0 0 16px;color:#5b6d77!important;line-height:1.4}
.app-shell .feed-composer label{display:grid!important;gap:8px;color:#344b59!important;font-weight:850!important}
.app-shell .feed-composer input,.app-shell .feed-composer textarea,.app-shell .feed-composer select{box-sizing:border-box;width:100%!important;border:1px solid #cbd7dd!important;border-radius:16px!important;background:#f8fafb!important;color:#17232d!important;font:inherit!important;outline:none!important}
.app-shell .feed-composer input:focus,.app-shell .feed-composer textarea:focus,.app-shell .feed-composer select:focus{border-color:#58b9bd!important;box-shadow:0 0 0 3px rgba(10,148,154,.14)!important}
.app-shell .feed-profile-setup input{height:54px;padding:0 14px!important;background:#fff!important}.app-shell .feed-comment{margin-bottom:16px}.app-shell .feed-comment textarea{min-height:150px;padding:15px!important;resize:vertical!important;line-height:1.45}
.app-shell .feed-photo-picker{position:relative;place-items:center;align-content:center;min-height:230px;margin-bottom:20px;border:2px dashed #b9cbd3!important;border-radius:22px!important;background:#f3f7f8!important;color:#416180!important;overflow:hidden;cursor:pointer}
.app-shell .feed-photo-picker input{position:absolute!important;width:1px!important;height:1px!important;opacity:0}.app-shell .feed-photo-picker i{font-size:2.7rem;color:#0a949a!important}.app-shell .feed-photo-picker span{font-size:1rem;font-weight:850}.app-shell .feed-photo-picker img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.app-shell .feed-photo-picker img[hidden]{display:none!important}
.app-shell .feed-visibility{margin-bottom:18px}.app-shell .feed-visibility select{height:56px;padding:0 14px!important;background:#fff!important}.app-shell .feed-rights{grid-template-columns:1fr auto!important;align-items:center;padding:16px;border:1px solid #d8e1e5;border-radius:16px;background:#f7f9fa}.app-shell .feed-rights input{width:24px!important;height:24px!important;accent-color:#0a949a}
@media(min-width:700px){.app-shell .feed-composer{margin:auto!important;border-radius:28px!important}}
.app-shell .feed-composer__head{grid-template-columns:90px minmax(0,1fr) 90px!important;gap:7px!important}
.app-shell .feed-composer__head h2{min-width:0!important;overflow:hidden;text-overflow:ellipsis;font-size:1rem!important;line-height:1.15!important}
.app-shell .feed-composer__head button{box-sizing:border-box;width:90px!important;min-width:0!important;padding:0 6px!important;font-size:.76rem!important;white-space:nowrap!important}
.app-shell .feed-composer__head button{display:grid!important;place-items:center!important;align-self:center!important;line-height:1!important}
.app-shell .feed-composer__head h2{align-self:center!important;display:block!important;line-height:1.1!important}
.app-shell .feed-composer__head button[type="submit"]{justify-self:end}
.username-lock-note{display:block;margin-top:3px;color:#697984!important;font-size:.76rem!important;font-weight:650!important;line-height:1.35}.route-form input[readonly]{background:#eef2f4!important;color:#52636d!important;cursor:not-allowed}
.profile-username-field{display:grid;gap:7px}.profile-username-field input{box-sizing:border-box;width:100%;min-height:54px;padding:0 14px;border:1px solid #cbd6dc;border-radius:16px;background:#fff;color:#17232d;font:inherit}
.route-form>button[type="submit"]{background:#416180!important;border-color:#416180!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
#routeBack[hidden]{display:none!important}
[data-gated="subscription"]>.route-header{display:none!important}
[data-gated="subscription"]>.route-content{padding-top:max(24px,var(--safe-top))!important}
@media(max-width:370px){.app-shell .feed-composer__head{grid-template-columns:88px minmax(0,1fr) 88px!important}.app-shell .feed-composer__head button{width:88px!important;font-size:.78rem!important}.app-shell .feed-composer__head h2{font-size:.9rem!important}}
.subscription-route .subscription-hero-arm .app-icon-svg,.subscription-route .subscription-hero-arm svg{display:block!important;width:72px!important;height:72px!important;color:#0a949a!important;fill:currentColor!important;stroke:currentColor!important}
.subscription-route .subscription-hero-arm .app-icon-svg *,.subscription-route .subscription-hero-arm svg *{fill:currentColor!important;stroke:currentColor!important}
.app-shell .feed-composer__head{box-sizing:border-box!important;min-height:84px!important;margin:0 -20px 22px!important;padding:18px 20px 16px!important;align-items:center!important;border-bottom:1px solid #dfe6ea!important}
.app-shell .feed-composer__head button{display:grid!important;place-items:center!important;width:90px!important;height:48px!important;min-height:48px!important;max-height:48px!important;margin:0!important;padding:0 8px!important;border:1px solid #d6e0e5!important;border-radius:15px!important;box-shadow:none!important;line-height:1!important}
.app-shell .feed-composer__head button[type="submit"]{border-color:#416180!important}
.app-shell .feed-composer__head h2{margin:0!important;align-self:center!important;line-height:1.15!important}
.app-shell .feed-composer:focus{outline:none!important}.app-shell .feed-composer__head button:focus,.app-shell .feed-composer__head button:focus-visible,.app-shell .feed-composer__head button:active{outline:none!important;box-shadow:none!important}

/* Resumen de actividad importada desde Apple Health o Health Connect. */
.health-dashboard{display:grid;gap:18px;padding-bottom:28px;color:#132633}
.health-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#123b61,#416180);color:#fff;box-shadow:0 12px 28px rgba(18,59,97,.18)}
.health-dashboard-hero small,.health-week-card header small{display:block;font-size:.72rem;font-weight:850;letter-spacing:.13em}
.health-dashboard-hero h2{margin:5px 0 3px;font-size:1.42rem}.health-dashboard-hero p{margin:0;color:#dce9f2;text-transform:capitalize}
.health-dashboard-hero button{display:grid;justify-items:center;gap:4px;min-width:82px;padding:11px 10px;border:1px solid rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.13);color:#fff;font:inherit;font-size:.72rem;font-weight:800}.health-dashboard-hero button i{font-size:1.35rem}
.health-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.health-metric-grid article{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;min-height:92px;padding:15px;border:1px solid #d7e2e7;border-radius:20px;background:#fff;box-shadow:0 7px 20px rgba(18,59,97,.06)}
.health-metric-grid article>i{grid-row:1/3;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e8f7f7;color:#0a949a;font-size:1.45rem}.health-metric-grid small{color:#687b86;font-size:.74rem;font-weight:750}.health-metric-grid b{font-size:1.08rem;color:#123b61}
.health-week-card{padding:19px 16px 14px;border:1px solid #d7e2e7;border-radius:22px;background:#fff;box-shadow:0 7px 20px rgba(18,59,97,.06)}
.health-week-card header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:17px}.health-week-card header small{color:#0a949a}.health-week-card h3{margin:4px 0 0}.health-week-card header>b{color:#123b61;font-size:.84rem}
.health-week-chart{display:flex;align-items:stretch;gap:7px;height:162px}.health-week-day{display:grid;grid-template-rows:20px 1fr 18px;justify-items:center;flex:1;min-width:0}.health-week-day>b{font-size:.56rem;color:#6e7f89}.health-week-day>span{display:flex;align-items:end;width:100%;max-width:28px;border-radius:9px;background:#edf3f5;overflow:hidden}.health-week-day>span i{display:block;width:100%;border-radius:9px 9px 5px 5px;background:linear-gradient(#20bec2,#0a949a)}.health-week-day>small{font-size:.66rem;font-weight:750;text-transform:capitalize;color:#526773}.health-empty{margin:auto;color:#71828c;text-align:center;font-size:.86rem}
.health-data-source{margin:0;padding:0 4px;color:#687b86;font-size:.82rem;line-height:1.45}.health-settings-link{margin-top:0!important;border-color:#123b61!important;color:#123b61!important}
@media(min-width:700px){.health-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.health-provider-identity{display:flex;align-items:center;gap:14px;margin-bottom:12px}.health-provider-identity h2{margin:3px 0 0}.health-provider-mark{position:relative;display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:13px;background:#fff;overflow:hidden}.health-provider-mark>img{display:block;max-width:42px;max-height:42px}.apple-health-mark{border:1px solid #e1e5e8}.apple-health-mark>img{width:24px;height:29px;object-fit:contain;transform:translateY(4px)}.apple-health-mark>i{position:absolute;right:7px;top:5px;color:#ff2d55;font-size:1.25rem}.health-connect-mark{border:1px solid #e1e5e8}.health-connect-mark>img{width:40px;height:40px;object-fit:contain}.health-source-card>.health-provider-mark{width:48px;height:48px;flex-basis:48px}.health-source-card>.health-provider-mark+div{min-width:0}
.health-dashboard .health-dashboard-hero button,.health-dashboard .health-settings-link,.route-content .health-source-card button,.route-content .health-transparency+button.route-primary,.route-content [data-health-summary]+button.route-secondary{background:#123b61!important;border-color:#123b61!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:0 8px 20px rgba(18,59,97,.16)!important}
.health-dashboard .health-dashboard-hero button:disabled,.route-content .health-source-card button:disabled{background:#71879a!important;border-color:#71879a!important;color:#fff!important;-webkit-text-fill-color:#fff!important;opacity:.72}
.health-dashboard .health-settings-link:active,.route-content .health-source-card button:active,.route-content .health-transparency+button.route-primary:active,.route-content [data-health-summary]+button.route-secondary:active{background:#0d2f4e!important;border-color:#0d2f4e!important}
.route-content [data-health-summary]+button.route-secondary{background:#fff!important;border-color:#c8d3da!important;color:#123b61!important;-webkit-text-fill-color:#123b61!important;box-shadow:none!important}.route-content [data-health-summary]+button.route-secondary:active{background:#eef3f6!important;border-color:#9fb0bb!important}
.health-dashboard .health-dashboard-hero button[data-action="health-refresh"]{background:#fff!important;border-color:#d9e2e8!important;color:#123b61!important;-webkit-text-fill-color:#123b61!important;box-shadow:none!important}.health-dashboard .health-dashboard-hero button[data-action="health-refresh"]:active{background:#eef3f6!important;border-color:#c4d0d8!important}.health-dashboard .health-dashboard-hero button[data-action="health-refresh"]:disabled{background:#eef2f4!important;border-color:#d5dde2!important;color:#71808a!important;-webkit-text-fill-color:#71808a!important}
.route-content .health-settings-button {
  background: #123b61 !important;
  border-color: #123b61 !important;
  color: #fff !important;
  margin-bottom: 12px !important;
}
.health-source-actions{display:grid;gap:8px;min-width:124px}.route-content .health-source-card .health-inline-settings{background:#fff!important;border-color:#c8d3da!important;color:#123b61!important;-webkit-text-fill-color:#123b61!important;box-shadow:none!important}
