:root{--bg:#f4f6fa;--surface:#fff;--ink:#172033;--muted:#70798c;--line:#e7eaf0;--nav:#111827;--primary:#5b5ce2;--primary2:#8b5cf6;--green:#18a06f;--orange:#f59e0b;--danger:#dc4663;--shadow:0 18px 50px rgba(32,40,70,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}.app-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;background:var(--nav);color:#fff;padding:25px 18px;display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:39px;height:39px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary2));display:grid;place-items:center;color:#fff;font-size:12px;font-weight:900;box-shadow:0 10px 24px rgba(91,92,226,.3)}.sidebar nav{display:grid;gap:7px;margin-top:38px}.sidebar nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;color:#aeb7c8;font-weight:700}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.09)}.sidebar nav a span{width:22px;text-align:center;font-size:18px}.trainer-mini{margin-top:auto;display:flex;gap:11px;align-items:center;padding:13px;background:rgba(255,255,255,.07);border-radius:16px}.trainer-mini img,.avatar-small{width:42px;height:42px;border-radius:14px;object-fit:cover}.avatar-small{display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));font-weight:900}.trainer-mini b,.trainer-mini small{display:block}.trainer-mini small{color:#aeb7c8;font-size:11px;line-height:1.25}.logout{padding:15px 10px 0;color:#8e99ac;font-size:13px}.app-main{margin-left:252px;padding:34px clamp(24px,4vw,58px) 80px;min-height:100vh;background:radial-gradient(circle at 90% 0,#eceaff 0,transparent 25%),var(--bg)}.mobile-top,.bottom-nav{display:none}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-weight:900;margin:0 0 7px}.page-head h1{font-size:clamp(29px,4vw,45px);line-height:1.08;margin:0}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;padding:13px 19px;font-weight:850;cursor:pointer;box-shadow:0 12px 24px rgba(91,92,226,.22)}.button.secondary{background:#eeefff;color:var(--primary);box-shadow:none}.button.ghost{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:none}.button.danger{background:#fff0f3;color:var(--danger);box-shadow:none}.hero{background:linear-gradient(120deg,#171c2e 0,#25295a 68%,#604ed3 100%);color:#fff;border-radius:28px;padding:32px;display:grid;grid-template-columns:1.4fr .8fr;gap:28px;box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.08);right:-80px;top:-110px}.hero h1{font-size:clamp(29px,4vw,44px);margin:5px 0 8px;line-height:1.08}.hero p{color:#d4d8eb;max-width:630px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.hero .button.secondary{background:#fff;color:#242955}.goal-card{align-self:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);padding:22px;border-radius:20px;backdrop-filter:blur(12px);z-index:1}.goal-line{display:flex;justify-content:space-between;font-size:20px;font-weight:900}.progress-bar{height:9px;border-radius:20px;background:rgba(255,255,255,.18);overflow:hidden;margin:16px 0}.progress-bar i{display:block;height:100%;background:#83f0c5;border-radius:20px}.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,1fr);margin:20px 0}.card{background:rgba(255,255,255,.96);border:1px solid rgba(231,234,240,.95);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.stat strong{display:block;font-size:28px;margin:5px 0}.stat span,.stat small{display:block;color:var(--muted)}.two-col{grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.section-title h2{margin:0;font-size:21px}.workout-feature{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#f4f3ff,#f9f9ff);border:1px solid #e5e2ff}.workout-feature h3{margin:3px 0}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#e9fff6;color:#08744e;font-size:12px;font-weight:850}.pill.purple{background:#efedff;color:#5746cb}.pill.orange{background:#fff6df;color:#9b6400}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-item{padding:17px;border-radius:16px;border:1px solid var(--line);background:#fff}.quick-item b,.quick-item span{display:block}.quick-item span{color:var(--muted);font-size:13px;margin-top:4px}.plan-days{display:grid;gap:16px}.day-card{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.day-head{display:flex;justify-content:space-between;gap:16px;align-items:center}.exercise-list{display:grid;gap:10px;margin-top:15px}.exercise-row{display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:12px;padding:12px;border-radius:14px;background:#f8f9fc}.exercise-index{width:38px;height:38px;border-radius:12px;background:#ecebff;color:var(--primary);display:grid;place-items:center;font-weight:900}.exercise-row small{color:var(--muted);display:block}.session-exercise{margin-bottom:16px}.set-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.set-box{border:1px solid var(--line);padding:10px;border-radius:12px;background:#fafbfe}.set-box input{width:100%;border:0;background:transparent;font-weight:800;outline:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field label{display:block;font-weight:800;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;outline:none}.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(91,92,226,.1)}.full{grid-column:1/-1}.meal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.meal{padding:19px;border:1px solid var(--line);border-radius:18px}.meal h3{margin:0 0 7px}.meal p{margin:0;color:var(--muted)}.meal details{margin-top:10px;font-size:13px}.chart{display:flex;align-items:flex-end;gap:12px;height:210px;padding:20px 8px 0;border-bottom:1px solid var(--line)}.bar-col{flex:1;text-align:center;min-width:24px}.bar{display:block;background:linear-gradient(180deg,var(--primary2),var(--primary));border-radius:9px 9px 3px 3px;min-height:8px}.bar-col small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.chat-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.chat-card{padding:0;overflow:hidden}.chat-head{display:flex;align-items:center;gap:13px;padding:18px 22px;border-bottom:1px solid var(--line)}.chat-head img,.trainer-avatar{width:48px;height:48px;border-radius:16px;object-fit:cover}.trainer-avatar{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;display:grid;place-items:center;font-size:20px;font-weight:900}.online{color:var(--green);font-size:12px}.messages{height:calc(100vh - 275px);min-height:430px;overflow:auto;padding:24px;background:#f8f9fc;display:flex;flex-direction:column;gap:13px}.message{max-width:78%;padding:14px 17px;border-radius:18px;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}.message.user{align-self:flex-end;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;border-bottom-right-radius:5px}.message.loading{color:var(--muted)}.composer{padding:15px;display:flex;gap:10px;border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:14px;padding:13px;min-height:52px}.suggestions{display:grid;gap:9px}.suggestions a{padding:12px;border-radius:13px;background:#fff;border:1px solid var(--line);font-size:13px}.notice{padding:13px 15px;border-radius:13px;margin:12px 0}.notice.success{background:#eafff5;color:#08744e}.notice.error{background:#fff0f3;color:#a9223d}.empty{text-align:center;padding:45px 20px;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:14px}.admin-table th{color:var(--muted)}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.two-col,.chat-layout{grid-template-columns:1fr}.chat-side{display:none}}@media(max-width:780px){.sidebar{display:none}.app-main{margin-left:0;padding:82px 16px 88px}.mobile-top{display:flex;position:fixed;inset:0 0 auto;height:66px;padding:0 16px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:30}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset:auto 0 0;background:#fff;border-top:1px solid var(--line);z-index:30;padding:7px 4px calc(7px + env(safe-area-inset-bottom))}.bottom-nav a{text-align:center;color:var(--muted);font-size:17px}.bottom-nav small{display:block;font-size:9px}.hero{grid-template-columns:1fr;padding:25px}.stats,.meal-grid,.form-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.page-head{align-items:flex-start}.page-head .button{display:none}.set-grid{grid-template-columns:repeat(2,1fr)}.messages{height:calc(100vh - 260px)}}

/* ===== Public premium pages ===== */
.public-body{min-height:100vh;background:#f7f8fc;color:var(--ink);overflow-x:hidden}.public-shell{min-height:100vh;background:radial-gradient(circle at 85% 10%,rgba(139,92,246,.18),transparent 28%),radial-gradient(circle at 8% 88%,rgba(24,160,111,.10),transparent 26%),#f7f8fc}.public-nav{max-width:1220px;margin:auto;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.public-brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:18px}.public-brand .brand-mark{flex:0 0 auto}.public-nav-links{display:flex;align-items:center;gap:12px}.public-link{color:#566074;font-weight:750;padding:10px 12px}.public-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:13px 20px;font-weight:850;border:1px solid transparent;transition:.2s ease;cursor:pointer}.public-button:hover{transform:translateY(-1px)}.public-button.primary{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 14px 30px rgba(91,92,226,.25)}.public-button.light{background:#fff;border-color:var(--line);color:var(--ink);box-shadow:0 8px 24px rgba(34,42,74,.07)}.public-main{max-width:1220px;margin:auto;padding:44px 28px 74px}.landing-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:60px;align-items:center;min-height:calc(100vh - 122px)}.landing-copy{padding:36px 0}.public-kicker{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eeedff;color:#5746cb;font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.public-kicker:before{content:"";width:8px;height:8px;border-radius:50%;background:#6d5ce7;box-shadow:0 0 0 5px rgba(109,92,231,.13)}.landing-copy h1{font-size:clamp(48px,6vw,78px);line-height:.98;letter-spacing:-.055em;margin:22px 0 22px;max-width:780px}.landing-copy h1 span{background:linear-gradient(135deg,#5b5ce2,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-copy>p{font-size:19px;line-height:1.75;color:#606a7d;max-width:650px}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.trust-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap;color:#70798c;font-size:13px;font-weight:700}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#e9fff6;color:#08744e;font-style:normal;font-size:12px}.product-preview{position:relative}.preview-glow{position:absolute;inset:8% 4% 0;background:linear-gradient(135deg,rgba(91,92,226,.3),rgba(139,92,246,.08));filter:blur(55px);border-radius:50%}.preview-window{position:relative;background:rgba(255,255,255,.9);border:1px solid rgba(255,255,255,.95);border-radius:30px;padding:18px;box-shadow:0 35px 85px rgba(43,48,91,.18);backdrop-filter:blur(18px);transform:rotate(1deg)}.preview-top{display:flex;align-items:center;justify-content:space-between;padding:3px 4px 16px}.preview-dots{display:flex;gap:6px}.preview-dots i{width:8px;height:8px;border-radius:50%;background:#d9dce6}.preview-app{background:#f4f5fa;border-radius:22px;padding:20px}.preview-header{background:linear-gradient(135deg,#171c2e,#5f4fd2);color:#fff;border-radius:20px;padding:24px;display:flex;justify-content:space-between;gap:18px}.preview-header h3{margin:5px 0 4px;font-size:25px}.preview-avatar{width:66px;height:66px;border-radius:20px;background:linear-gradient(135deg,#fff,#d9d4ff);color:#5c4bca;display:grid;place-items:center;font-size:24px;font-weight:950;box-shadow:0 12px 30px rgba(0,0,0,.16)}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin:14px 0}.preview-stat{background:#fff;border:1px solid #e8eaf1;padding:15px;border-radius:16px}.preview-stat small{display:block;color:#7a8292}.preview-stat strong{display:block;font-size:20px;margin-top:3px}.preview-workout{background:#fff;border:1px solid #e8eaf1;padding:17px;border-radius:17px;display:flex;justify-content:space-between;align-items:center;gap:15px}.preview-workout b,.preview-workout small{display:block}.preview-workout small{color:#7a8292}.mini-cta{padding:10px 13px;border-radius:12px;background:#eeedff;color:#5b4bcb;font-size:12px;font-weight:900;white-space:nowrap}
.auth-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.75fr);min-height:100vh}.auth-showcase{padding:34px clamp(34px,6vw,92px);background:linear-gradient(135deg,#14192b 0,#272b58 62%,#624ed1 100%);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column}.auth-showcase:before,.auth-showcase:after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.06)}.auth-showcase:before{width:430px;height:430px;right:-170px;top:-140px}.auth-showcase:after{width:280px;height:280px;left:-130px;bottom:-110px}.auth-showcase .public-brand{color:#fff;position:relative;z-index:1}.auth-showcase-content{margin:auto 0;position:relative;z-index:1;max-width:640px}.auth-showcase-content h1{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:22px 0}.auth-showcase-content p{font-size:18px;color:#d4d8ea;line-height:1.75}.benefit-list{display:grid;gap:14px;margin-top:34px}.benefit{display:flex;gap:13px;align-items:flex-start}.benefit-icon{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center;flex:0 0 auto}.benefit b,.benefit span{display:block}.benefit span{color:#c8cce1;font-size:13px;margin-top:2px}.auth-panel{padding:34px clamp(24px,5vw,70px);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 100% 0,rgba(139,92,246,.13),transparent 32%),#f7f8fc}.auth-box{width:min(100%,520px);background:rgba(255,255,255,.94);border:1px solid rgba(230,233,241,.95);border-radius:28px;padding:34px;box-shadow:0 28px 70px rgba(42,48,88,.13);backdrop-filter:blur(15px)}.auth-box .eyebrow{margin-bottom:8px}.auth-box h2{font-size:34px;line-height:1.12;margin:0 0 8px;letter-spacing:-.03em}.auth-subtitle{margin:0 0 25px;color:#737c8e}.auth-form{display:grid;gap:17px}.auth-field label{display:block;font-weight:820;margin-bottom:7px;font-size:14px}.input-wrap{position:relative}.input-wrap input{width:100%;border:1px solid #dfe3ec;border-radius:14px;padding:14px 15px 14px 44px;background:#fff;outline:none;transition:.2s}.input-wrap input:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(91,92,226,.11)}.input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#8b93a3;font-size:16px}.auth-submit{width:100%;border:0;margin-top:3px}.auth-message{padding:13px 15px;border-radius:13px;margin-bottom:18px;background:#fff0f3;color:#a9223d;border:1px solid #ffd9e1;font-size:14px}.auth-footer{text-align:center;margin:22px 0 0;color:#70798c}.auth-footer a{color:var(--primary);font-weight:850}.auth-legal{font-size:11px;color:#9299a7;text-align:center;margin-top:17px;line-height:1.55}.diagnostic-link{display:block;text-align:center;margin-top:15px;font-size:12px;color:#9299a7}.password-hint{display:flex;align-items:center;gap:7px;color:#8a92a1;font-size:12px;margin-top:7px}.password-hint i{font-style:normal;color:#18a06f}.auth-mobile-brand{display:none}
@media(max-width:950px){.landing-grid{grid-template-columns:1fr;min-height:auto;padding-top:15px}.landing-copy{text-align:center}.landing-copy h1,.landing-copy>p{margin-left:auto;margin-right:auto}.landing-actions,.trust-row{justify-content:center}.product-preview{max-width:650px;margin:auto;width:100%}.auth-layout{grid-template-columns:1fr}.auth-showcase{display:none}.auth-panel{min-height:100vh;padding:24px}.auth-mobile-brand{display:flex;justify-content:center;margin-bottom:25px}.auth-box{padding:28px}}@media(max-width:600px){.public-nav{padding:18px}.public-nav-links .public-link{display:none}.public-main{padding:28px 18px 58px}.landing-copy h1{font-size:44px}.landing-copy>p{font-size:16px}.preview-stats{grid-template-columns:1fr}.preview-header{align-items:center}.preview-window{padding:10px}.auth-panel{padding:15px}.auth-box{padding:25px 20px;border-radius:22px}.auth-box h2{font-size:29px}.public-button{width:100%}.landing-actions{display:grid}.trust-row{align-items:flex-start;gap:10px}}

/* ===== FitMentor 0.6 · Backoffice premium ===== */
.admin-body{margin:0;min-height:100vh;background:#f5f7fb;color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:26px 20px;background:#11152a;color:#fff;display:flex;flex-direction:column;z-index:20}.admin-brand{display:flex;gap:12px;align-items:center;color:#fff;text-decoration:none;padding:0 8px 28px}.admin-brand div{display:flex;flex-direction:column}.admin-brand small{color:#969db5;font-weight:600;margin-top:2px}.admin-sidebar nav{display:flex;flex-direction:column;gap:6px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:13px;color:#aeb5cb;text-decoration:none;font-weight:700}.admin-sidebar nav a span{width:24px;text-align:center;font-size:18px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:linear-gradient(135deg,rgba(110,86,255,.28),rgba(90,65,210,.12));color:#fff}.admin-account{margin-top:auto;display:flex;gap:10px;align-items:center;padding:14px 8px;border-top:1px solid rgba(255,255,255,.08)}.admin-account>div:last-child{display:flex;min-width:0;flex-direction:column}.admin-account small{color:#8f97b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.admin-logout{color:#aeb5cb;text-decoration:none;padding:10px 8px;font-weight:700}.admin-main{margin-left:270px;padding:30px 34px 60px;max-width:1600px}.admin-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.admin-top h1{font-size:32px;margin:5px 0 0;letter-spacing:-.8px}.admin-hero{display:flex;justify-content:space-between;align-items:center;padding:30px 32px;border-radius:24px;background:linear-gradient(135deg,#2d285f,#5a46d6);color:#fff;box-shadow:0 22px 50px rgba(51,39,130,.18)}.admin-hero h2{font-size:27px;margin:0 0 8px}.admin-hero p{margin:0;color:#d9d5ff}.admin-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;margin:20px 0}.admin-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-kpis article{background:#fff;border:1px solid #e7eaf1;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(15,23,42,.035)}.admin-kpis span,.admin-kpis small{display:block;color:#7a8398}.admin-kpis strong{display:block;font-size:27px;margin:8px 0 4px;letter-spacing:-.5px}.admin-kpis .small-strong{font-size:17px;line-height:1.25}.admin-grid-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:18px;margin:18px 0}.admin-card{background:#fff;border:1px solid #e5e9f1;border-radius:21px;padding:22px;box-shadow:0 8px 28px rgba(15,23,42,.04)}.admin-card>h2{margin:0 0 18px;font-size:20px}.admin-section-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.admin-section-head h2{margin:0 0 4px;font-size:20px}.admin-section-head p{margin:0;color:#7a8398}.admin-section-head a,.table-link{color:#5d46db;text-decoration:none;font-weight:800}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:620px}.admin-table.wide{min-width:900px}.admin-table th{text-align:left;padding:11px 12px;color:#7a8398;font-size:12px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid #eef0f5}.admin-table td{padding:14px 12px;border-bottom:1px solid #f0f2f6;vertical-align:middle}.admin-table td b,.admin-table td small{display:block}.admin-table td small{color:#8a92a5;margin-top:3px}.admin-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.admin-actions>a{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid #e5e9f1;padding:20px;border-radius:18px;text-decoration:none;color:#172033}.admin-actions>a>span{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#f0edff;color:#6049df;font-size:21px}.admin-actions div{display:flex;flex-direction:column}.admin-actions small{color:#7a8398;margin-top:4px}.alert-list{display:flex;flex-direction:column}.alert-list a{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:13px 3px;border-bottom:1px solid #eef0f5;color:#172033;text-decoration:none}.alert-list a div{display:flex;flex-direction:column}.alert-list small{color:#7a8398;margin-top:3px}.alert-list time{color:#99a0b0;font-size:12px}.alert-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b}.empty-state{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7a8398}.empty-state b{color:#25304a;font-size:18px;margin-bottom:4px}.admin-search{display:flex;gap:8px}.admin-search input{min-width:250px;border:1px solid #dfe3ec;border-radius:12px;padding:11px 13px;font:inherit}.status-pill{display:inline-flex!important;width:max-content;padding:6px 10px;border-radius:999px;font-size:12px!important;font-weight:800}.status-pill.ok{background:#e9f9f0;color:#168654}.status-pill.warn{background:#fff4dc;color:#a56600}.status-pill.off{background:#f2f3f6;color:#6e7688}.user-admin-head{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #e5e9f1;border-radius:20px;padding:24px;margin-bottom:18px}.user-admin-head h2{margin:9px 0 4px;font-size:28px}.user-admin-head p{margin:0;color:#7a8398}.back-link{color:#5d46db;text-decoration:none;font-weight:800}.profile-dl{display:grid;grid-template-columns:145px 1fr;gap:13px 18px;margin:0}.profile-dl dt{font-weight:800;color:#475168}.profile-dl dd{margin:0;color:#697287}.tag-groups>div{margin-bottom:15px}.tag-groups b{display:block;margin-bottom:7px}.tag-groups p{margin:0;display:flex;flex-wrap:wrap;gap:7px}.tag-groups span{background:#eeecff;color:#5c46cd;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:700}.tag-groups span.danger{background:#fff0ef;color:#bc3d36}.tag-groups em{color:#9299a8}.compact-list{display:flex;flex-direction:column;gap:10px}.compact-list>div{padding:13px 15px;border:1px solid #eceef4;border-radius:14px;display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center}.compact-list span,.compact-list small{color:#7a8398}.mini-chat{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:10px}.mini-chat>div{padding:11px 13px;border-radius:13px;background:#f5f6fa}.mini-chat>div.user{background:#efecff}.mini-chat p{margin:4px 0 0;color:#596277;line-height:1.45}
@media(max-width:1150px){.admin-kpis{grid-template-columns:repeat(3,1fr)}.admin-grid-2{grid-template-columns:1fr}.admin-actions{grid-template-columns:1fr}.admin-kpis.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-sidebar{position:static;width:auto;padding:16px}.admin-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.admin-sidebar nav a{font-size:12px;justify-content:center;flex-direction:column;gap:4px}.admin-account,.admin-logout{display:none}.admin-main{margin:0;padding:18px}.admin-top,.admin-hero,.admin-section-head,.user-admin-head{align-items:flex-start;flex-direction:column}.admin-kpis,.admin-kpis.four{grid-template-columns:repeat(2,1fr)}.admin-search{width:100%}.admin-search input{min-width:0;flex:1}.profile-dl{grid-template-columns:1fr}.compact-list>div{grid-template-columns:1fr}}
.preference-summary{display:flex;flex-wrap:wrap;gap:10px 18px}.preference-summary p{margin:0;padding:10px 12px;background:#f6f5ff;border-radius:12px;color:#4b5568}.message.system-note{font-size:.9rem;background:#eefaf3!important;color:#26724a!important;border:1px solid #ccebd9!important}

/* ===== FitMentor 0.6.1 · Branding + trainer premium ===== */
.brand-mark{background-image:url('../images/fitmentor-mark.webp')!important;background-size:78%!important;background-position:center!important;background-repeat:no-repeat!important;font-size:0!important;color:transparent!important}
.public-brand .brand-mark,.admin-brand .brand-mark,.sidebar .brand-mark,.mobile-top .brand-mark{flex:0 0 auto}
.trainer-admin-hero{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#171b31 0%,#342b72 62%,#6751e6 100%);color:#fff;box-shadow:0 22px 50px rgba(44,34,112,.18);margin-bottom:20px;overflow:hidden;position:relative}
.trainer-admin-hero:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-80px;top:-125px;background:rgba(255,255,255,.08)}
.trainer-admin-hero h2{margin:4px 0 8px;font-size:29px;letter-spacing:-.7px}.trainer-admin-hero p{margin:0;color:#d9d7ed}.trainer-admin-hero .eyebrow{color:#c8c0ff}.trainer-status{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.1);font-weight:800;white-space:nowrap}.trainer-status span{width:9px;height:9px;border-radius:50%;background:#4ee1a0;box-shadow:0 0 0 5px rgba(78,225,160,.14)}
.trainer-admin-grid{display:grid;grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);gap:18px;margin-bottom:18px}.trainer-preview-card{display:flex;flex-direction:column}.trainer-portrait-wrap{position:relative;max-width:340px;margin:2px auto 18px}.trainer-portrait{display:block;width:100%;aspect-ratio:1;border-radius:28px;object-fit:cover;box-shadow:0 20px 44px rgba(27,31,56,.16);border:1px solid #e8e7f5}.trainer-live-badge{position:absolute;right:14px;bottom:14px;padding:8px 11px;border-radius:999px;background:rgba(17,24,39,.88);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(10px)}.trainer-preview-copy{text-align:center}.trainer-preview-copy h3{font-size:25px;margin:0}.trainer-preview-copy>p{color:#737c91;margin:5px 0 14px}.trainer-preview-copy blockquote{margin:0 0 18px;padding:14px 16px;background:#f6f4ff;border:1px solid #e9e5ff;border-radius:15px;color:#50586d;text-align:left;font-size:14px}.upload-button{display:flex;align-items:center;gap:12px;padding:14px 15px;border:1px dashed #cfc9f4;border-radius:15px;background:#faf9ff;cursor:pointer;color:#5544c8}.upload-button>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#eeeaff;font-size:20px;font-weight:900}.upload-button div{display:flex;flex-direction:column}.upload-button small{color:#7e8495;margin-top:2px}.trainer-settings-card{display:flex;flex-direction:column}.premium-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.premium-field{display:flex;flex-direction:column;gap:7px}.premium-field>span{font-weight:800;color:#313a50}.premium-field input,.premium-field textarea{width:100%;border:1px solid #dfe3ec;border-radius:14px;padding:13px 14px;background:#fff;outline:none;transition:.2s}.premium-field input:focus,.premium-field textarea:focus{border-color:#6653db;box-shadow:0 0 0 4px rgba(102,83,219,.1)}.premium-field textarea{resize:vertical;min-height:155px}.premium-field small{color:#81899a}.trainer-form-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:22px;margin-top:auto;border-top:1px solid #edf0f5;color:#7d8597}.brand-assets-card{margin-top:18px}.brand-assets-row{display:flex;align-items:center;gap:24px;padding:18px;border-radius:18px;background:linear-gradient(135deg,#faf9ff,#f4f6fb);border:1px solid #e9e9f2}.brand-logo-preview{width:150px;height:150px;object-fit:contain}.brand-assets-row p{margin:4px 0 0;color:#7a8398}
@media(max-width:980px){.trainer-admin-grid{grid-template-columns:1fr}.trainer-preview-card{max-width:none}.trainer-portrait-wrap{max-width:300px}.premium-form-grid{grid-template-columns:1fr}}
@media(max-width:700px){.trainer-admin-hero,.trainer-form-actions,.brand-assets-row{align-items:flex-start;flex-direction:column}.trainer-status{white-space:normal}.brand-logo-preview{width:120px;height:120px}.trainer-admin-hero{padding:24px}.trainer-admin-hero h2{font-size:25px}}

/* FitMentor 0.6.4 · Alimentación semanal */
.nutrition-hero{align-items:flex-end}.nutrition-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 24px;padding:6px;background:#fff;border:1px solid #e8e9f2;border-radius:16px;box-shadow:0 8px 30px rgba(31,34,61,.05)}.nutrition-tabs a{padding:11px 16px;border-radius:12px;color:#697089;font-weight:750;text-decoration:none}.nutrition-tabs a.active{background:linear-gradient(135deg,#6557f5,#845cf6);color:#fff;box-shadow:0 8px 20px rgba(101,87,245,.22)}.nutrition-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.today-meals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.meal-card{position:relative;overflow:hidden;transition:.2s ease}.meal-card.completed{border-color:#b9ead4;background:linear-gradient(180deg,#fff,#f4fff9)}.meal-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.meal-card-top>div{display:flex;align-items:center;gap:12px}.meal-number,.day-index{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f0edff;color:#654ff1;font-weight:850}.meal-card h2{margin:0;font-size:1.12rem}.meal-description{font-size:1.02rem;line-height:1.65;color:#20243b;min-height:54px}.meal-macros{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.meal-macros span{background:#f6f7fb;border:1px solid #e9eaf2;padding:7px 10px;border-radius:999px;color:#686f86;font-size:.82rem;font-weight:700}.meal-card details,.week-meal details{margin:12px 0;color:#555d75}.meal-card summary,.week-meal summary{cursor:pointer;font-weight:750;color:#6757e9}.meal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.meal-actions form{margin:0}.button.ghost{background:#fff;color:#5e55d8;border:1px solid #dedcfb;box-shadow:none}.button.secondary{background:#eef0f5;color:#555d75;box-shadow:none}.pill.success{background:#e9fbf2;color:#178250}.weekly-intro,.shopping-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.week-accordion{display:grid;gap:13px}.day-card{padding:0;overflow:hidden}.day-card>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;padding:20px 22px}.day-card>summary::-webkit-details-marker{display:none}.day-card>summary>div{display:flex;align-items:center;gap:12px}.day-card>summary span:last-child{font-size:.83rem;color:#7b8195}.day-meals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 20px 20px}.week-meal{border:1px solid #e9eaf1;background:#fafaff;border-radius:15px;padding:16px}.week-meal small{color:#6657ec;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.week-meal h3{font-size:.98rem;line-height:1.5;margin:8px 0}.week-meal>p{font-size:.82rem;color:#7a8094}.lead-copy{font-size:1.02rem;line-height:1.7;color:#555d75}.plan-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.plan-principles>div{padding:16px;border-radius:14px;background:#f8f8fd;border:1px solid #e9eaf2}.plan-principles b,.plan-principles span{display:block}.plan-principles span{margin-top:5px;color:#747b90;font-size:.88rem}.shopping-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.shopping-card h3{margin-top:0}.shopping-card ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.shopping-card label{display:flex;gap:9px;align-items:center;color:#4d556d}.shopping-card input:checked+span{text-decoration:line-through;color:#9ba0ae}@media(max-width:900px){.nutrition-summary-grid,.today-meals,.day-meals-grid,.plan-principles,.shopping-grid{grid-template-columns:1fr}.nutrition-tabs{overflow-x:auto;flex-wrap:nowrap}.nutrition-tabs a{white-space:nowrap}.nutrition-hero,.weekly-intro,.shopping-head{align-items:flex-start;flex-direction:column}.meal-description{min-height:0}}
@media print{.sidebar,.mobile-top,.bottom-nav,.nutrition-tabs,.button,.notice{display:none!important}.app-main{margin:0!important;padding:0!important}.shopping-grid{grid-template-columns:repeat(2,1fr)}}


/* 0.6.5 — objetivos de actividad aprendidos en conversación */
.activity-goals-section{margin-bottom:28px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px}.section-heading h2{margin:2px 0 0}.activity-goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.activity-goal-card{display:flex;gap:16px;padding:22px;border:1px solid rgba(110,75,210,.16);border-radius:22px;background:linear-gradient(145deg,#fff 0%,#f7f4ff 100%);box-shadow:0 12px 34px rgba(48,34,91,.08)}.activity-goal-icon{display:grid;place-items:center;flex:0 0 54px;height:54px;border-radius:17px;background:linear-gradient(135deg,#6f44d8,#9c6cff);font-size:26px;box-shadow:0 9px 22px rgba(111,68,216,.24)}.activity-goal-content h3{margin:9px 0 4px;font-size:1.28rem}.activity-goal-content p{margin:0 0 14px}.activity-week{display:flex;gap:7px;margin-bottom:12px}.activity-week span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#eceaf2;color:#807a91;font-size:.76rem;font-weight:800}.activity-week span.active{background:#7047d9;color:#fff;box-shadow:0 5px 12px rgba(112,71,217,.22)}
@media(max-width:680px){.section-heading{align-items:flex-start;flex-direction:column}.activity-goal-card{padding:18px}.activity-week{gap:5px}.activity-week span{width:27px;height:27px}}

/* FitMentor 0.6.6 · objetivos, adherencia y logros */
.goals-hero{align-items:flex-end}.goal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.goal-stat{padding:20px;border:1px solid rgba(105,73,195,.14);border-radius:20px;background:#fff;box-shadow:0 12px 32px rgba(45,31,85,.07)}.goal-stat span{display:block;color:#777085;font-size:.82rem;font-weight:750}.goal-stat strong{display:block;margin:7px 0 5px;font-size:1.75rem;line-height:1;color:#282039}.goal-stat small{color:#8a8395}.mini-progress{height:7px;margin:10px 0;border-radius:999px;background:#ece9f4;overflow:hidden}.mini-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6841d8,#9b72ef)}
.module-tabs{display:flex;gap:8px;margin:0 0 20px;padding:6px;border:1px solid #ebe7f3;border-radius:16px;background:#f7f5fb;overflow:auto}.module-tabs a{padding:10px 17px;border-radius:11px;color:#6e6879;font-weight:750;white-space:nowrap}.module-tabs a.active{background:#fff;color:#5e35c5;box-shadow:0 5px 16px rgba(51,35,88,.09)}
.goal-panel{padding:24px}.daily-goals{display:grid;gap:12px}.daily-goal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:16px;border:1px solid #ebe7f2;border-radius:18px;background:#fff;transition:.2s}.daily-goal.completed{border-color:#bce8d1;background:#f4fcf7}.daily-goal.skipped{opacity:.72;background:#faf9fb}.daily-goal.saving{opacity:.55;pointer-events:none}.daily-goal-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f0ebff;font-size:24px}.daily-goal-copy h3{margin:3px 0;font-size:1.05rem}.daily-goal-copy p{margin:0;color:#817a8d}.status-label{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#846ea8}.completed .status-label{color:#238252}.goal-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.icon-action{padding:8px 11px;border:0;border-radius:10px;background:#f1eef6;color:#625a70;font-weight:750;cursor:pointer}.icon-action.complete{background:#6942d8;color:#fff}.icon-action.reset{display:none}.completed .icon-action.complete,.completed .icon-action.skip,.skipped .icon-action.complete,.skipped .icon-action.skip{display:none}.completed .icon-action.reset,.skipped .icon-action.reset{display:inline-flex}.done-badge{padding:9px 12px;border-radius:11px;background:#def6e8;color:#207849;font-weight:800}.empty-state{padding:28px;text-align:center;border:1px dashed #dcd5e7;border-radius:17px;color:#756d81;background:#faf9fc}.empty-state p{margin:6px 0 0}
.week-board{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;overflow:auto;padding-bottom:8px}.week-day{min-height:220px;padding:14px;border:1px solid #e9e5ef;border-radius:18px;background:#fff}.week-day.today{border-color:#7b55dc;box-shadow:0 8px 24px rgba(105,67,207,.12)}.week-day>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:11px;border-bottom:1px solid #f0edf4}.week-day>header span{font-size:.78rem;font-weight:800;color:#777080;text-transform:uppercase}.week-day>header strong{font-size:1.25rem}.week-tasks{display:grid;gap:8px;padding-top:11px}.week-task{display:flex;gap:8px;padding:9px;border-radius:12px;background:#f7f5fa}.week-task.completed{background:#edf9f2}.week-task.skipped{opacity:.65}.week-task>span{font-size:18px}.week-task b,.week-task small{display:block}.week-task b{font-size:.82rem}.week-task small{margin-top:2px;color:#898291;font-size:.7rem}
.history-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:18px}.history-list,.achievement-list{display:grid;gap:9px}.history-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #f0edf3}.history-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#f1edff;font-size:20px}.history-row b,.history-row small{display:block}.history-row small{margin-top:3px;color:#898291}.history-status{padding:6px 9px;border-radius:999px;font-size:.72rem;font-weight:800;background:#eeeaf3;color:#71697c}.history-status.completed{background:#def6e8;color:#277b4c}.achievement{display:flex;gap:12px;padding:13px;border-radius:15px;background:linear-gradient(135deg,#faf8ff,#f2edff)}.achievement>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#6e46d8;color:#fff}.achievement b,.achievement small{display:block}.achievement small{margin-top:3px;color:#7d7589}
@media(max-width:1000px){.goal-stat-grid{grid-template-columns:repeat(2,1fr)}.history-layout{grid-template-columns:1fr}}
@media(max-width:680px){.goals-hero{align-items:flex-start}.goal-stat-grid{grid-template-columns:1fr 1fr;gap:9px}.goal-stat{padding:15px}.goal-stat strong{font-size:1.42rem}.daily-goal{grid-template-columns:auto 1fr}.goal-actions{grid-column:1/-1;justify-content:flex-start;padding-left:63px}.week-board{grid-template-columns:repeat(7,150px)}.module-tabs{margin-left:-4px;margin-right:-4px}.goal-panel{padding:16px}.history-status{font-size:.65rem}.history-row{grid-template-columns:auto 1fr}.history-status{grid-column:2}}

/* FitMentor 0.6.7 · chat premium, Álex ampliado e histórico */
.chat-page-head{align-items:flex-end}.chat-layout-premium{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.chat-side-stack{display:grid;gap:18px;position:sticky;top:22px}.chat-head-premium{padding:22px 24px;min-height:118px;background:linear-gradient(135deg,#fff 0%,#f7f4ff 100%)}.chat-trainer-avatar{width:82px!important;height:82px!important;object-fit:cover;border-radius:24px;border:4px solid #fff;box-shadow:0 14px 34px rgba(76,48,150,.2)}.chat-trainer-avatar-fallback{width:82px!important;height:82px!important;border-radius:24px!important;font-size:1.55rem}.chat-trainer-copy{display:grid;align-content:center}.chat-trainer-copy .trainer-kicker{font-size:.68rem;letter-spacing:.12em;font-weight:900;color:#6e49dc}.chat-trainer-copy>b{font-size:1.45rem;line-height:1.15;margin:3px 0}.chat-trainer-copy small{display:block;margin-top:4px;color:#767086;max-width:470px}.messages{min-height:460px;max-height:610px}.message{white-space:normal}.message.adaptation-confirmation{font-size:.88rem;background:#eefbf4;border-color:#cceedd;color:#26744d}.conversation-history-card{padding:20px}.history-title{align-items:center}.history-title .eyebrow{margin-bottom:2px}.conversation-history-list{display:grid;gap:10px}.conversation-history-item{border:1px solid #e9e5f1;border-radius:16px;background:#fff;overflow:hidden}.conversation-history-item.active{border-color:#8b68e8;box-shadow:0 8px 24px rgba(105,70,190,.1)}.conversation-history-item>summary{list-style:none;display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center;padding:13px;cursor:pointer}.conversation-history-item>summary::-webkit-details-marker{display:none}.conversation-number{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f0ebff;color:#6a44d6;font-size:.72rem;font-weight:900}.conversation-summary-copy{min-width:0}.conversation-summary-copy b,.conversation-summary-copy small{display:block}.conversation-summary-copy b{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-summary-copy small{margin-top:3px;color:#8a8493;font-size:.7rem}.conversation-preview{padding:0 13px 13px}.preview-line{margin:7px 0;padding:9px 10px;border-radius:11px;background:#f8f7fb;color:#5f5968;font-size:.78rem;line-height:1.45}.preview-line.assistant{background:#f2edff}.preview-line.user{background:#f5f7fa}.history-open-link,.history-current{display:inline-flex;margin-top:7px;font-size:.78rem;font-weight:850}.history-open-link{color:#6540d2}.history-current{color:#238052}.chat-side .suggestions a{transition:.18s ease}.chat-side .suggestions a:hover{border-color:#8a67e6;background:#f8f5ff;transform:translateY(-1px)}
@media(max-width:1100px){.chat-layout-premium{grid-template-columns:1fr}.chat-side-stack{position:static;grid-template-columns:1fr 1fr}.messages{max-height:560px}}
@media(max-width:720px){.chat-page-head{align-items:flex-start}.chat-layout-premium{gap:14px}.chat-side-stack{grid-template-columns:1fr}.chat-head-premium{padding:16px;min-height:96px}.chat-trainer-avatar,.chat-trainer-avatar-fallback{width:66px!important;height:66px!important;border-radius:19px!important}.chat-trainer-copy>b{font-size:1.22rem}.chat-trainer-copy small{font-size:.78rem}.messages{min-height:380px;max-height:520px}.conversation-history-card{padding:16px}}
.profile-page-head{margin-bottom:18px;align-items:center}.profile-page-head h1{font-size:clamp(32px,4vw,46px);letter-spacing:-1.2px}.profile-page-head .muted{max-width:620px;margin:8px 0 0}.profile-shell{max-width:1180px;margin:0 auto}.onboarding-hero-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:20px;padding:26px;border-radius:26px;background:linear-gradient(135deg,#171b31 0%,#312969 64%,#6751e6 100%);color:#fff;box-shadow:0 24px 55px rgba(42,34,104,.17);margin-bottom:20px;overflow:hidden;position:relative}.onboarding-hero-card:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;right:-120px;top:-165px;background:rgba(255,255,255,.07)}.onboarding-copy{position:relative;z-index:1}.onboarding-copy h1{font-size:clamp(28px,4vw,39px);margin:8px 0 10px;letter-spacing:-.8px}.onboarding-copy>p{margin:0;color:#d9d8ec;max-width:660px}.onboarding-step{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.13);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.privacy-note{display:flex;align-items:center;gap:11px;margin-top:20px}.privacy-note>span{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:#dffff2;color:#08744e;font-weight:900}.privacy-note b,.privacy-note small{display:block}.privacy-note small{color:#c8c9dd}.onboarding-summary{position:relative;z-index:1;align-self:stretch;display:grid;align-content:center;gap:10px;padding:22px;border-radius:20px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(10px)}.onboarding-summary .summary-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#fff;color:#5f4bda;font-size:20px}.onboarding-summary b{font-size:20px}.onboarding-summary span{display:flex;align-items:center;gap:8px;color:#e4e2f4}.onboarding-summary span:before{content:"✓";display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(126,240,190,.15);color:#7ef0be;font-size:12px;font-weight:900}.profile-form-card{background:#fff;border:1px solid #e8eaf0;border-radius:26px;box-shadow:0 18px 50px rgba(32,40,70,.07);overflow:hidden}.form-section{padding:26px 28px;border-bottom:1px solid #edf0f5}.form-section:last-of-type{border-bottom:0}.form-section-head{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}.form-section-head>span{flex:0 0 auto;width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:#eeebff;color:#5f4bda;font-weight:900}.form-section-head h2{margin:0;font-size:21px;letter-spacing:-.3px}.form-section-head p{margin:4px 0 0;color:#7b8394;font-size:14px}.premium-form-grid{display:grid;gap:16px}.premium-form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.premium-form-grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form-card .field{display:flex;flex-direction:column;gap:7px}.profile-form-card .field label{font-size:13px;font-weight:850;color:#364056;margin:0}.profile-form-card .field input,.profile-form-card .field select,.profile-form-card .field textarea{width:100%;border:1px solid #dfe3ec;border-radius:14px;background:#fbfcfe;padding:13px 14px;color:#172033;outline:none;transition:.2s;min-height:49px}.profile-form-card .field textarea{resize:vertical;line-height:1.5}.profile-form-card .field input:focus,.profile-form-card .field select:focus,.profile-form-card .field textarea:focus{border-color:#6752dd;background:#fff;box-shadow:0 0 0 4px rgba(103,82,221,.1)}.input-unit{position:relative}.input-unit input{padding-right:54px!important}.input-unit span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;font-weight:800;color:#858da0;background:#f0f2f7;padding:4px 7px;border-radius:8px}.profile-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 28px;background:#fafbfe}.profile-actions b,.profile-actions small{display:block}.profile-actions b{font-size:14px}.profile-actions small{color:#81899a;margin-top:3px}.profile-submit{min-width:210px}.notice{max-width:100%;border:1px solid transparent;box-shadow:0 8px 18px rgba(32,40,70,.04)}
@media(max-width:980px){.onboarding-hero-card{grid-template-columns:1fr}.premium-form-grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-summary{grid-template-columns:auto 1fr;align-items:center}.onboarding-summary b{grid-column:2}.onboarding-summary span{grid-column:1/-1}}
@media(max-width:700px){.profile-page-head{align-items:flex-start}.profile-page-head .button{display:none}.onboarding-hero-card{padding:22px}.premium-form-grid.cols-3,.premium-form-grid.cols-2{grid-template-columns:1fr}.form-section{padding:22px 18px}.profile-actions{align-items:flex-start;flex-direction:column;padding:20px 18px}.profile-submit{width:100%}.onboarding-summary{display:grid;grid-template-columns:1fr}.onboarding-summary b,.onboarding-summary span{grid-column:auto}.profile-shell{width:100%}}


/* FitMentor 0.6.7.2 · chat limpio e histórico lateral cerrado */
.chat-head-premium{min-height:140px;padding:24px 26px}
.chat-trainer-avatar{width:104px!important;height:104px!important;border-radius:28px!important}
.chat-trainer-avatar-fallback{width:104px!important;height:104px!important;border-radius:28px!important;font-size:1.8rem}
.chat-trainer-copy>b{font-size:1.65rem}
.chat-empty-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;color:#777083}
.chat-empty-state img{width:92px;height:92px;border-radius:26px;object-fit:cover;box-shadow:0 14px 34px rgba(76,48,150,.18);margin-bottom:18px}
.chat-empty-state b{display:block;font-size:1.18rem;color:#272238;margin-bottom:7px}
.chat-empty-state p{max-width:480px;margin:0;line-height:1.6}
.conversation-history-item>summary{position:relative;padding-right:38px}
.conversation-history-item>summary:after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#f0ebff;color:#6844d5;font-weight:900}
.conversation-history-item[open]>summary:after{content:"−"}
.conversation-history-item[open]{border-color:#8b68e8;box-shadow:0 8px 24px rgba(105,70,190,.1)}
.conversation-preview{max-height:360px;overflow:auto;border-top:1px solid #f0edf5;padding-top:11px}
.history-current{color:#8a8493;font-weight:700}
@media(max-width:720px){.chat-head-premium{min-height:112px}.chat-trainer-avatar,.chat-trainer-avatar-fallback{width:78px!important;height:78px!important;border-radius:22px!important}.chat-empty-state{min-height:330px;padding:28px 18px}}


/* FitMentor 0.6.7.3 — chat limpio y avatar principal mayor */
.chat-head-premium{min-height:146px;padding:24px 28px}
.chat-trainer-avatar{width:128px!important;height:128px!important;border-radius:32px!important}
.chat-trainer-avatar-fallback{width:128px!important;height:128px!important;border-radius:32px!important;font-size:2rem}
.messages.messages-empty{min-height:500px;background:linear-gradient(180deg,#fbfbfd 0%,#f8f9fc 100%)}
.chat-empty-state{display:none!important}
.history-title h2{font-size:1.28rem}
@media(max-width:720px){
  .chat-head-premium{min-height:116px;padding:17px}
  .chat-trainer-avatar,.chat-trainer-avatar-fallback{width:88px!important;height:88px!important;border-radius:24px!important}
  .messages.messages-empty{min-height:360px}
}

/* FitMentor 0.6.8: email, PWA y experiencia móvil */
.auth-message.success{background:#ecfbf4;border-color:#b8ecd2;color:#176d49}.auth-inline-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.9rem;margin:-4px 0 4px}.auth-inline-links a,.status-link{color:#6255e7;font-weight:700;text-decoration:none}.auth-footer.compact{margin-top:8px}.simple-public{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top right,#eeeaff 0,transparent 38%),#f5f6fb}.status-card{width:min(100%,520px);background:#fff;border:1px solid #e7e9f2;border-radius:26px;padding:34px;box-shadow:0 22px 60px rgba(30,34,65,.11);text-align:center}.status-card.form-card{text-align:left}.status-card h1{font-size:clamp(1.8rem,5vw,2.6rem);margin:10px 0}.status-card p{color:#697084;line-height:1.65}.status-icon{width:62px;height:62px;border-radius:20px;margin:0 auto 18px;display:grid;place-items:center;font-size:28px;font-weight:900}.status-icon.ok{background:#e8fbf1;color:#158a56}.status-icon.error{background:#fff0f1;color:#c7364f}.status-card .public-button{margin-top:12px}.status-link{display:block;margin-top:20px;text-align:center}

.pwa-install-banner{position:fixed;z-index:10000;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100% - 28px));display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:14px 16px;background:rgba(20,24,46,.96);color:#fff;border:1px solid rgba(255,255,255,.13);border-radius:20px;box-shadow:0 18px 50px rgba(16,19,42,.3);backdrop-filter:blur(18px)}.pwa-install-icon,.pwa-dialog-logo{width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#7a67ff,#5441d7);display:grid;place-items:center;font-weight:900}.pwa-install-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.pwa-install-copy strong{font-size:.96rem}.pwa-install-copy span{font-size:.82rem;color:#cfd3e5}.pwa-install-action{border:0;border-radius:12px;background:#fff;color:#372caa;font-weight:800;padding:10px 15px;cursor:pointer}.pwa-install-close{border:0;background:transparent;color:#bfc4d8;font-size:25px;cursor:pointer;padding:4px}.pwa-install-modal{position:fixed;z-index:10010;inset:0;background:rgba(8,10,25,.58);display:grid;place-items:center;padding:20px}.pwa-install-dialog{position:relative;width:min(100%,430px);background:#fff;border-radius:24px;padding:28px;color:#171b31;box-shadow:0 24px 70px rgba(0,0,0,.28)}.pwa-install-dialog h2{font-size:1.7rem;margin:16px 0 12px}.pwa-install-dialog ol{padding-left:22px;color:#5e6578;line-height:1.8}.pwa-dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:27px;color:#7d8395;cursor:pointer}.pwa-dialog-ok{width:100%;margin-top:8px}

@media(max-width:900px){
  .app-main{padding:24px 18px 96px!important}.sidebar{display:none!important}.mobile-top{display:flex!important;padding:12px 16px;position:sticky;top:0;z-index:80;background:rgba(248,249,253,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e8eaf2}.bottom-nav{display:grid!important;grid-template-columns:repeat(5,1fr);position:fixed;z-index:90;left:0;right:0;bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid #e7e9f1;box-shadow:0 -8px 28px rgba(28,33,59,.08)}
  .dashboard-grid,.profile-layout,.chat-layout,.nutrition-layout,.workout-layout,.admin-grid{grid-template-columns:1fr!important}.page-head h1{font-size:clamp(2rem,9vw,3.2rem)}.card,.panel,.profile-card,.chat-card{border-radius:20px!important}.form-grid,.profile-grid{grid-template-columns:1fr!important}.form-grid .span-2,.form-grid .span-3{grid-column:auto!important}.chat-shell{min-height:calc(100dvh - 190px)}.chat-side{order:2}.chat-main{order:1}.chat-composer{position:sticky;bottom:72px;background:#fff;padding-bottom:6px}.auth-layout{grid-template-columns:1fr!important;min-height:100dvh}.auth-showcase{display:none!important}.auth-panel{padding:24px 16px!important}.auth-box{width:100%;max-width:520px}.auth-mobile-brand{display:flex!important}.public-hero,.hero-grid{grid-template-columns:1fr!important}.public-hero h1{font-size:clamp(2.7rem,12vw,4.5rem)!important}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.trainer-hero,.chat-trainer-head{align-items:flex-start}.trainer-hero img,.chat-trainer-head img{flex:0 0 auto}
}
@media(max-width:560px){
  body{font-size:15px}.app-main{padding:18px 12px 92px!important}.mobile-top .brand b{font-size:.95rem}.bottom-nav a{font-size:20px}.bottom-nav small{font-size:10px}.page-head{margin-bottom:20px}.page-head h1{font-size:2.15rem}.card,.panel,.profile-card,.chat-card,.nutrition-card{padding:18px!important;border-radius:18px!important}.metric-grid{grid-template-columns:1fr 1fr!important;gap:10px}.metric-card{padding:14px!important}.metric-card strong{font-size:1.4rem!important}.public-button,.button,.btn{min-height:46px}.auth-box{padding:24px 18px!important;border-radius:22px!important}.auth-box h2{font-size:2rem!important}.auth-form input,.auth-form select,.auth-form textarea,input,select,textarea{font-size:16px!important}.pwa-install-banner{grid-template-columns:auto 1fr auto;padding:12px;gap:10px}.pwa-install-close{position:absolute;right:4px;top:-34px;background:#20243d;border-radius:50%;width:30px;height:30px;line-height:20px}.pwa-install-copy span{display:none}.pwa-install-action{padding:10px 12px}.pwa-install-icon{width:42px;height:42px}.status-card{padding:26px 20px}.auth-inline-links{flex-direction:column;align-items:flex-start}.chat-history-panel{max-height:none!important}.chat-message{max-width:92%!important}.chat-composer{gap:8px}.chat-composer textarea{min-height:48px!important}.chat-composer button{min-width:80px!important}.profile-summary-chips{gap:8px!important}.profile-summary-chips span{font-size:.78rem!important}.nutrition-tabs,.workout-tabs{overflow-x:auto;white-space:nowrap;display:flex!important;scrollbar-width:none}.nutrition-tabs::-webkit-scrollbar,.workout-tabs::-webkit-scrollbar{display:none}
}
@media(display-mode:standalone){.pwa-install-banner{display:none!important}.mobile-top{padding-top:calc(12px + env(safe-area-inset-top))}}


/* FitMentor 0.6.8.1 — respuestas del trainer legibles */
.message.assistant.formatted-response {
  line-height: 1.62;
  font-size: 0.99rem;
  max-width: min(860px, 86%);
  padding: 18px 20px;
}
.message.assistant.formatted-response p {
  margin: 0 0 0.9rem;
}
.message.assistant.formatted-response p:last-child {
  margin-bottom: 0;
}
.message.assistant.formatted-response h3 {
  margin: 1.15rem 0 0.45rem;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--ink, #111a31);
}
.message.assistant.formatted-response h3:first-child {
  margin-top: 0;
}
.message.assistant.formatted-response ul,
.message.assistant.formatted-response ol {
  margin: 0.35rem 0 1rem;
  padding-left: 1.35rem;
}
.message.assistant.formatted-response li {
  margin: 0.38rem 0;
  padding-left: 0.18rem;
}
.message.assistant.formatted-response strong {
  font-weight: 750;
  color: var(--ink, #111a31);
}
.message.assistant.formatted-response code {
  padding: 0.1rem 0.35rem;
  border-radius: 6px;
  background: rgba(111, 81, 235, 0.08);
  font-size: 0.9em;
}
@media (max-width: 720px) {
  .message.assistant.formatted-response {
    max-width: 94%;
    padding: 15px 16px;
    font-size: 0.96rem;
  }
}

/* FitMentor 0.6.8.3: formato de respuestas del entrenador */
.message.assistant{white-space:pre-line}
.message.assistant.formatted-response{white-space:normal;line-height:1.68;font-size:1rem}
.message.assistant.formatted-response h3{margin:1.05rem 0 .45rem;font-size:1rem;color:#24184f}
.message.assistant.formatted-response h3:first-child{margin-top:0}
.message.assistant.formatted-response p{margin:0 0 .85rem}
.message.assistant.formatted-response p:last-child{margin-bottom:0}
.message.assistant.formatted-response ul,.message.assistant.formatted-response ol{margin:.35rem 0 .95rem;padding-left:1.35rem;display:grid;gap:.38rem}
.message.assistant.formatted-response strong{font-weight:850;color:#2f2362}


/* FitMentor 0.6.8.4: historial lateral desplazable */
.conversation-history-item[open] .conversation-preview{
  max-height:420px!important;
  overflow-y:auto!important;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding-right:8px;
}
.conversation-history-item[open] .conversation-preview::-webkit-scrollbar{width:8px}
.conversation-history-item[open] .conversation-preview::-webkit-scrollbar-track{background:#f3f0f8;border-radius:999px}
.conversation-history-item[open] .conversation-preview::-webkit-scrollbar-thumb{background:#b8a5e9;border-radius:999px}
.conversation-history-item[open] .conversation-preview::-webkit-scrollbar-thumb:hover{background:#8b68e8}
.conversation-preview{scrollbar-width:thin;scrollbar-color:#b8a5e9 #f3f0f8}
.preview-line{overflow-wrap:anywhere;word-break:normal}
@media(max-width:720px){
  .conversation-history-item[open] .conversation-preview{max-height:320px!important}
}


/* FitMentor 0.6.9 · histórico legible, scroll táctil y PWA compacta */
.conversation-preview{max-height:none!important;overflow:visible!important;padding:11px 13px 13px!important}.conversation-preview-scroll{height:360px;max-height:52vh;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain;padding:2px 7px 4px 0;scrollbar-width:thin;scrollbar-color:#ad99df #f2eef9}.conversation-preview-scroll::-webkit-scrollbar{width:8px}.conversation-preview-scroll::-webkit-scrollbar-track{background:#f2eef9;border-radius:99px}.conversation-preview-scroll::-webkit-scrollbar-thumb{background:#ad99df;border-radius:99px}.preview-line{display:grid;gap:4px;margin:8px 0;padding:10px 11px;white-space:normal;overflow-wrap:anywhere}.preview-line b{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.preview-line span{display:block;white-space:pre-wrap;line-height:1.5}.history-current{display:block;margin-top:9px;font-size:.72rem}.pwa-install-banner{display:none!important}@media(max-width:720px){.conversation-preview-scroll{height:300px;max-height:46vh}}

/* ===== FitMentor 0.7.0 · estabilidad y revisión semanal ===== */
.sidebar nav,.admin-sidebar nav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.system-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;border-radius:24px;background:linear-gradient(135deg,#171b34,#40359a 65%,#7659e8);color:#fff;box-shadow:var(--shadow);margin-bottom:18px}.system-hero h2{font-size:clamp(24px,3vw,34px);margin:3px 0 8px}.system-hero p{margin:0;max-width:760px;color:#dcdcf4}.system-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.system-summary-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(20,28,55,.04)}.system-summary-grid article.warning{background:#fffaf0;border-color:#f6dfab}.system-summary-grid span,.system-summary-grid small{display:block;color:var(--muted)}.system-summary-grid strong{font-size:28px;display:block;margin:6px 0}.system-section{margin-top:18px}.system-check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.system-check{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:#fbfcff}.system-check.bad{background:#fff7f8;border-color:#ffd7de}.system-check>div{min-width:0}.system-check b,.system-check small{display:block}.system-check small{color:var(--muted);margin-top:2px;overflow-wrap:anywhere}.system-dot{width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e8fbf2;color:#118154;font-weight:900;flex:0 0 auto}.system-check.bad .system-dot{background:#ffe8ec;color:#b72f49}.integrity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.integrity-item{border:1px solid var(--line);border-radius:16px;padding:15px;background:#fafbfe}.integrity-item.bad{background:#fff7f8;border-color:#ffd9e0}.integrity-item span{display:block;color:var(--muted);font-size:13px}.integrity-item strong{display:block;font-size:24px;margin-top:5px}.backup-table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.backup-table-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:13px;padding:12px 14px;background:#fafbfe}.backup-table-grid span{color:var(--muted);font-size:13px}.admin-card code{background:#f1f0f8;padding:2px 6px;border-radius:6px}
.review-page-head{align-items:center}.review-week-nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:0 0 16px}.review-week-nav a{font-weight:800;color:var(--primary)}.review-week-nav a:last-child{text-align:right}.review-week-nav>span{text-align:center;color:var(--muted);font-weight:700}.review-score-card{display:grid;grid-template-columns:190px 1fr;gap:24px;align-items:center;padding:28px;border-radius:24px;background:linear-gradient(135deg,#181d36,#3d338f 66%,#7659e6);color:#fff;box-shadow:var(--shadow)}.review-score{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;align-content:center;border:12px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08)}.review-score strong{font-size:38px;line-height:1}.review-score span{font-size:12px;color:#dedff4;margin-top:7px}.review-score-card h2{margin:0 0 6px;font-size:29px}.review-score-card p{margin:0;color:#d9dbef}.review-progress{height:9px;margin-top:18px;border-radius:99px;background:rgba(255,255,255,.15);overflow:hidden}.review-progress i{display:block;height:100%;border-radius:99px;background:#7cf0c2}.review-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.review-metric-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(20,28,55,.04)}.review-metric-grid span,.review-metric-grid small{display:block;color:var(--muted)}.review-metric-grid strong{display:block;font-size:25px;margin:6px 0}.review-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:18px}.review-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-detail-grid>div{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fafbfe}.review-detail-grid p{margin:5px 0 0;color:var(--muted)}.review-recommendations ol{display:grid;gap:10px;padding-left:22px}.review-recommendations li{padding-left:4px}.review-actions{margin-top:18px}.review-history{margin-top:18px}.review-history-list{display:grid;gap:9px}.review-history-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid var(--line);border-radius:14px}.review-history-list a.active{border-color:#a99cf2;background:#f4f2ff}.review-history-list b,.review-history-list small{display:block}.review-history-list small{color:var(--muted);margin-top:3px}.review-history-list> a > span{font-size:12px;font-weight:850;color:var(--primary)}
@media(max-width:1100px){.system-summary-grid,.review-metric-grid{grid-template-columns:repeat(2,1fr)}.integrity-grid{grid-template-columns:repeat(2,1fr)}.review-layout{grid-template-columns:1fr}}
@media(max-width:760px){.system-hero{align-items:flex-start;flex-direction:column;padding:23px}.system-check-list{grid-template-columns:1fr}.backup-table-grid{grid-template-columns:1fr}.review-score-card{grid-template-columns:1fr;text-align:center}.review-score{margin:auto}.review-metric-grid{grid-template-columns:repeat(2,1fr)}.review-detail-grid{grid-template-columns:1fr}.review-week-nav{grid-template-columns:1fr 1fr}.review-week-nav>span{grid-column:1/-1;grid-row:1}.review-week-nav a:last-child{text-align:right}.review-page-head .button{display:inline-flex}}
@media(max-width:480px){.system-summary-grid,.integrity-grid,.review-metric-grid{grid-template-columns:1fr}.review-score-card{padding:22px}.review-score{width:132px;height:132px}.review-history-list a{align-items:flex-start;flex-direction:column}.review-page-head .button{width:100%}}


/* FitMentor 0.7.0.3 · revisión semanal visible y navegación PWA refinada */
.weekly-review-cta{position:relative;isolation:isolate;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 0 22px;padding:22px 24px;border:1px solid rgba(112,89,230,.16);border-radius:24px;background:linear-gradient(120deg,#fff 0,#f8f6ff 58%,#eee9ff 100%);box-shadow:0 16px 42px rgba(57,45,124,.09);overflow:hidden}.weekly-review-cta:after{content:"";position:absolute;z-index:-1;right:-55px;top:-72px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(126,98,242,.2),rgba(126,98,242,0) 70%)}.weekly-review-cta-icon{width:62px;height:62px;display:grid;place-items:center;border-radius:19px;background:linear-gradient(145deg,#5b54d8,#8c68ed);color:#fff;font-size:28px;box-shadow:0 13px 28px rgba(91,84,216,.26)}.weekly-review-cta-copy h2{margin:2px 0 4px;font-size:clamp(20px,2.2vw,27px);line-height:1.16}.weekly-review-cta-copy p{margin:0;color:var(--muted);max-width:720px}.weekly-review-cta-button{white-space:nowrap}.bottom-nav a{position:relative;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 2px;border-radius:15px;font-weight:750;line-height:1;transition:transform .18s ease,color .18s ease,background .18s ease}.bottom-nav-icon{width:34px;height:29px;display:grid;place-items:center;border-radius:11px;font-size:19px;line-height:1;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.bottom-nav a.active{color:#5145c7}.bottom-nav a.active .bottom-nav-icon{color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary2));box-shadow:0 7px 16px rgba(91,92,226,.28)}.bottom-nav a:active{transform:scale(.96)}.bottom-nav small{font-weight:800;letter-spacing:-.01em}
@media(max-width:780px){.bottom-nav{column-gap:3px!important;padding:8px 8px calc(8px + env(safe-area-inset-bottom))!important}.bottom-nav a{font-size:inherit!important;min-height:54px}.bottom-nav small{font-size:10px!important}.weekly-review-cta{grid-template-columns:auto minmax(0,1fr);gap:14px;padding:18px;margin-bottom:18px}.weekly-review-cta-icon{width:52px;height:52px;border-radius:16px;font-size:23px}.weekly-review-cta-copy h2{font-size:20px}.weekly-review-cta-copy p{font-size:13px;line-height:1.45}.weekly-review-cta-button{grid-column:1/-1;width:100%;min-height:48px!important}}
@media(max-width:390px){.bottom-nav{padding-left:4px!important;padding-right:4px!important}.bottom-nav a{gap:2px}.bottom-nav-icon{width:31px;height:27px;font-size:18px}.bottom-nav small{font-size:9px!important}.weekly-review-cta{padding:16px 14px}.weekly-review-cta-icon{width:48px;height:48px}}

/* ===== FitMentor 0.8.0 · revisión inteligente y cambios aprobables ===== */
.review-upgrade{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0}.review-upgrade h2{margin:2px 0 6px}.review-intelligence-card{margin:18px 0;padding:26px;border-radius:26px;background:linear-gradient(145deg,#151a32,#322a78 58%,#6f55dc);color:#fff;box-shadow:0 20px 54px rgba(40,33,102,.2)}.review-intelligence-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin-bottom:20px}.review-intelligence-head h2{font-size:clamp(25px,3vw,34px);margin:2px 0 7px}.review-intelligence-head p{margin:0;color:#d8daf1;max-width:760px}.review-proposal-kpis{display:flex;gap:10px;flex:0 0 auto}.review-proposal-kpis span{min-width:88px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.08);text-align:center;color:#dfe0f5;font-size:11px}.review-proposal-kpis b{display:block;color:#fff;font-size:24px;line-height:1.1}.review-proposal-list{display:grid;gap:13px}.review-proposal{display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.97);color:var(--ink);box-shadow:0 10px 28px rgba(14,16,37,.12)}.review-proposal.status-applied{border-color:#a8e6cd;background:#f7fffb}.review-proposal.status-rejected{opacity:.7}.review-proposal.status-failed{border-color:#ffc9d2;background:#fff9fa}.review-proposal-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#efedff;font-size:22px}.review-proposal-body{min-width:0}.review-proposal-title{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.review-proposal-title h3{margin:2px 0 0;font-size:19px;line-height:1.25}.proposal-type{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--primary);font-weight:900}.proposal-badges{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.proposal-status{display:inline-flex;padding:5px 9px;border-radius:999px;background:#f1f3f8;color:#667086;font-size:11px;font-weight:850}.proposal-status.status-applied{background:#e7fbf2;color:#09744d}.proposal-status.status-rejected{background:#f2f3f6;color:#737b8c}.proposal-status.status-failed{background:#fff0f3;color:#ad2943}.proposal-change{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:14px 0;padding:13px;border-radius:15px;background:#f7f7fc}.proposal-change div{min-width:0}.proposal-change small,.proposal-change b{display:block}.proposal-change small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:3px}.proposal-change b{font-size:13px;overflow-wrap:anywhere}.proposal-change>span{color:var(--primary);font-size:20px;font-weight:900}.proposal-rationale{margin:0;color:var(--muted);font-size:13px}.proposal-actions{margin-top:14px}.proposal-actions form{display:flex;gap:9px;flex-wrap:wrap}.proposal-actions .button{padding:10px 14px;font-size:13px}.review-bulk-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.review-bulk-actions form{margin:0}.review-bulk-actions .button{box-shadow:none}.progression-tip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:11px 13px;border:1px solid #d9d4ff;border-radius:14px;background:#f4f2ff}.progression-tip span{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--primary);font-weight:900}.progression-tip strong{font-size:18px}.progression-tip small{width:100%;color:var(--muted)}.progression-tip.neutral{background:#f8f9fc;border-color:var(--line)}.weekly-target-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin:0 0 18px;padding:22px 24px;border-radius:23px;background:linear-gradient(120deg,#171c35,#3b318b 66%,#7258e1);color:#fff;box-shadow:var(--shadow)}.weekly-target-card h2{margin:2px 0 5px}.weekly-target-card p{margin:0;color:#d9dbee}.weekly-target-metrics{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.weekly-target-metrics span{min-width:92px;padding:11px 12px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:rgba(255,255,255,.08);text-align:center;color:#dfe1f4;font-size:11px}.weekly-target-metrics b{display:block;color:#fff;font-size:21px;line-height:1.15}
@media(max-width:900px){.review-intelligence-head{flex-direction:column}.review-proposal-kpis{width:100%}.review-proposal-kpis span{flex:1}.weekly-target-card{grid-template-columns:1fr}.weekly-target-metrics{justify-content:flex-start}}
@media(max-width:650px){.review-intelligence-card{padding:18px 14px;border-radius:22px}.review-proposal{grid-template-columns:42px minmax(0,1fr);gap:10px;padding:14px}.review-proposal-icon{width:40px;height:40px;border-radius:13px;font-size:19px}.review-proposal-title{flex-direction:column}.proposal-badges{justify-content:flex-start}.proposal-change{grid-template-columns:1fr}.proposal-change>span{transform:rotate(90deg);justify-self:center;font-size:16px}.proposal-actions form,.review-bulk-actions{display:grid;grid-template-columns:1fr;width:100%}.proposal-actions .button,.review-bulk-actions .button{width:100%}.weekly-target-card{padding:18px}.weekly-target-metrics{display:grid;grid-template-columns:repeat(2,1fr)}.weekly-target-metrics span{min-width:0}}


/* ===== FitMentor 0.9.1 · biblioteca visual de ejercicios ===== */
.exercise-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.button.ghost,.button.secondary-ghost{background:#eef2ff;color:#243058;border:1px solid #d8def5}
.button.secondary-ghost:hover{filter:brightness(.98)}
.exercise-detail-grid{display:grid;grid-template-columns:minmax(280px,430px) 1fr;gap:24px;align-items:start}
.exercise-visual{width:100%;border-radius:24px;border:1px solid #d9deee;background:#fff;box-shadow:0 20px 60px rgba(28,35,90,.08)}
.exercise-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}
.exercise-stat{background:#f7f8fc;border:1px solid #e2e8f4;border-radius:18px;padding:14px 16px}
.exercise-stat .label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#66728a;margin-bottom:6px}
.exercise-section{margin-top:16px;padding:18px;border:1px solid #e2e8f4;border-radius:20px;background:#fff}
.exercise-section h3{margin:0 0 10px}
.exercise-section p:last-child,.exercise-section ul:last-child{margin-bottom:0}
.exercise-media video{width:100%;border-radius:18px;border:1px solid #d9deee;background:#0f172a}
.exercise-library-toolbar,.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:18px}
.exercise-library-filters{display:flex;gap:10px;flex-wrap:wrap}
.admin-table{width:100%;border-collapse:separate;border-spacing:0 10px}
.admin-table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#66728a;text-align:left;padding:0 12px}
.admin-table td{background:#fff;padding:14px 12px;border-top:1px solid #e4e8f3;border-bottom:1px solid #e4e8f3}
.admin-table td:first-child{border-left:1px solid #e4e8f3;border-radius:16px 0 0 16px}
.admin-table td:last-child{border-right:1px solid #e4e8f3;border-radius:0 16px 16px 0}
.exercise-thumb{width:84px;height:84px;object-fit:cover;border-radius:16px;border:1px solid #d9deee;background:#f7f8fc}
.inline-pills{display:flex;gap:8px;flex-wrap:wrap}
.pill.subtle{background:#eef2ff;color:#41507a}
.badge-ok{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#ecfdf3;color:#137333;font-size:12px;font-weight:700}
.badge-muted{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f3f4f6;color:#6b7280;font-size:12px;font-weight:700}
.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0 22px}
.stat-card{background:#fff;border:1px solid #e4e8f3;border-radius:20px;padding:18px}
.stat-card strong{display:block;font-size:28px;color:#101936}
.file-help{font-size:13px;color:#66728a;margin-top:6px}
@media (max-width: 860px){.exercise-detail-grid{grid-template-columns:1fr}.admin-table{display:block;overflow:auto}.section-title{align-items:flex-start}}

/* ===== FitMentor 0.9.3 · ficha visual ampliada ===== */
.exercise-showcase{display:block;padding:22px}
.exercise-page-head{align-items:center}
.exercise-image-button{position:relative;display:block;width:min(1180px,100%);margin:0 auto 22px;padding:0;border:0;border-radius:24px;background:#f8fafc;cursor:zoom-in;overflow:hidden;box-shadow:0 18px 52px rgba(20,32,70,.10)}
.exercise-hero-image{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;background:#fff;border:1px solid #dde3f0;border-radius:24px}
.exercise-zoom-hint{position:absolute;right:18px;bottom:18px;padding:10px 14px;border-radius:999px;background:rgba(12,26,54,.86);color:#fff;font-size:13px;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.exercise-stats-wide{grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 18px}
.exercise-section-main{margin-bottom:16px}
.exercise-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.exercise-info-grid .exercise-section{margin-top:0;height:100%}
.exercise-video-section{margin-top:18px}
.exercise-video-embed{position:relative;padding-top:56.25%;overflow:hidden;border-radius:18px;border:1px solid #d9deee;background:#fff}
.exercise-video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body.lightbox-open{overflow:hidden}
.exercise-lightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(3,8,20,.96);padding:28px}
.exercise-lightbox.is-open{display:flex}
.exercise-lightbox-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:none;cursor:zoom-in}
.exercise-lightbox-stage.is-zoomed{cursor:grab;justify-content:flex-start;align-items:flex-start}
.exercise-lightbox-stage img{display:block;max-width:96vw;max-height:92vh;object-fit:contain;transform-origin:center center;transition:transform .14s ease;user-select:none;-webkit-user-drag:none}
.exercise-lightbox-stage.is-zoomed img{max-width:none;max-height:none;margin:auto}
.exercise-lightbox-close{position:fixed;top:18px;right:22px;z-index:2;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:34px;line-height:1;cursor:pointer;backdrop-filter:blur(10px)}
.exercise-lightbox-help{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:12px;backdrop-filter:blur(8px);white-space:nowrap}
@media(max-width:900px){
  .exercise-stats-wide{grid-template-columns:repeat(2,minmax(0,1fr))}
  .exercise-info-grid{grid-template-columns:1fr}
  .exercise-image-button{border-radius:18px}
  .exercise-hero-image{border-radius:18px;max-height:none}
}
@media(max-width:560px){
  .exercise-showcase{padding:12px}
  .exercise-stats-wide{grid-template-columns:1fr}
  .exercise-zoom-hint{right:10px;bottom:10px;padding:8px 11px;font-size:11px}
  .exercise-lightbox{padding:10px}
  .exercise-lightbox-close{top:10px;right:10px}
  .exercise-lightbox-help{bottom:10px;max-width:88vw;white-space:normal;text-align:center}
}


/* ===== FitMentor 0.9.4 · miniaturas en la sesión ===== */
.session-exercise-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:start}
.session-exercise-content{min-width:0}
.session-exercise-thumb-link{position:relative;display:block;overflow:hidden;border:1px solid #dce2ef;border-radius:20px;background:#f8fafc;box-shadow:0 12px 30px rgba(28,35,90,.08);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.session-exercise-thumb-link:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(28,35,90,.14)}
.session-exercise-thumb{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center;background:#fff}
.session-exercise-thumb-link span{display:block;padding:9px 12px;background:#eef2ff;color:#3c327d;font-size:12px;font-weight:850;text-align:center}
.session-exercise-prescription{white-space:nowrap;padding-top:4px}
@media(max-width:760px){
  .session-exercise-layout{grid-template-columns:118px minmax(0,1fr);gap:14px}
  .session-exercise-thumb-link{border-radius:16px}
  .session-exercise-thumb-link span{padding:7px 8px;font-size:11px}
  .session-exercise .section-title{gap:10px}
  .session-exercise-prescription{white-space:normal}
}
@media(max-width:520px){
  .session-exercise-layout{grid-template-columns:1fr}
  .session-exercise-thumb-link{width:min(280px,100%);margin:0 auto}
  .session-exercise-thumb{aspect-ratio:16/10}
  .session-exercise .exercise-actions{margin-top:8px}
}

/* ===== FitMentor 0.9.5 · miniaturas PWA sin recorte ===== */
@media (max-width: 780px){
  .session-exercise{padding:16px}
  .session-exercise-layout{
    display:grid;
    grid-template-columns:84px minmax(0,1fr);
    gap:13px;
    align-items:start;
  }
  .session-exercise-thumb-link{
    width:84px;
    max-width:84px;
    margin:0;
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 8px 20px rgba(28,35,90,.08);
  }
  .session-exercise-thumb{
    display:block;
    width:84px;
    height:84px;
    min-width:84px;
    max-width:84px;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center;
    background:#fff;
  }
  .session-exercise-thumb-link span{
    padding:6px 4px;
    font-size:10px;
    line-height:1.15;
  }
  .session-exercise-content{min-width:0}
  .session-exercise .section-title{
    display:block;
    margin-bottom:10px;
  }
  .session-exercise .section-title h2{
    font-size:18px;
    line-height:1.2;
    margin:5px 0 0;
  }
  .session-exercise-prescription{
    display:block;
    margin-top:7px;
    padding-top:0;
    font-size:12px;
    white-space:normal;
  }
  .session-exercise .exercise-actions{
    gap:7px;
    margin-top:8px;
  }
  .session-exercise .exercise-actions .button{
    padding:9px 11px;
    font-size:12px;
    border-radius:11px;
  }
  .session-exercise-content > p{
    grid-column:1/-1;
  }
  .set-grid{
    grid-column:1/-1;
  }
}

@media (max-width: 420px){
  .session-exercise-layout{
    grid-template-columns:72px minmax(0,1fr);
    gap:11px;
  }
  .session-exercise-thumb-link,
  .session-exercise-thumb{
    width:72px;
    min-width:72px;
    max-width:72px;
  }
  .session-exercise-thumb{height:72px}
  .session-exercise-thumb-link span{font-size:9px;padding:5px 3px}
}


/* ===== FitMentor 0.9.6 · regreso exacto al entrenamiento ===== */
.exercise-back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.exercise-back-mobile{display:none}
.session-exercise{scroll-margin-top:22px}
@media(max-width:780px){
  .exercise-page-head .exercise-back-button{display:none}
  .exercise-back-mobile{
    position:sticky;
    top:8px;
    z-index:40;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    margin:-4px 0 14px;
    padding:12px 14px;
    border:1px solid #d8def0;
    border-radius:14px;
    background:rgba(255,255,255,.96);
    color:#27345d;
    font-weight:850;
    text-decoration:none;
    box-shadow:0 10px 28px rgba(21,32,74,.12);
    backdrop-filter:blur(12px);
  }
  .session-exercise{scroll-margin-top:84px}
}


/* FitMentor 0.9.9.2 · consultar entrenamientos de cualquier día */
.week-task-link{position:relative;text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.week-task-link:hover,.week-task-link:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(53,45,120,.12);outline:none;border-color:#8b6cff}
.week-task-arrow{margin-left:auto;font-size:24px;line-height:1;color:#7257ed;font-weight:800}
.workout-back-button{white-space:nowrap}
.preview-footer-card{display:flex;flex-direction:column;gap:10px}
@media(max-width:768px){.week-task-link{min-height:64px}.week-task-arrow{font-size:22px}.page-head .workout-back-button{width:100%;justify-content:center}.preview-footer-card .exercise-actions{display:grid;grid-template-columns:1fr}.preview-footer-card .button{width:100%;justify-content:center}}

.message.adaptation-no-change{font-size:.88rem;background:#eef6ff;border-color:#c8ddf7;color:#245b91}.message.adaptation-no-change::before{content:'ℹ';font-weight:900;margin-right:6px}


/* FitMentor 1.1.1 · estados claros del entrenador IA */
.message.adaptation-confirmation,
.message.adaptation-no-change,
.message.adaptation-error{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.9rem;
  font-weight:750;
  line-height:1.45;
  border-width:1px;
  border-style:solid;
  box-shadow:0 8px 22px rgba(25,35,70,.06);
}
.message.adaptation-confirmation::before,
.message.adaptation-no-change::before,
.message.adaptation-error::before{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:950;
  line-height:1;
  margin:0;
}
.message.adaptation-confirmation{
  background:#ecfdf3;
  border-color:#a7e7bd;
  color:#11633a;
}
.message.adaptation-confirmation::before{
  content:'✓';
  background:#1f9d55;
  color:#fff;
}
.message.adaptation-no-change{
  background:#eef6ff;
  border-color:#b9d6f5;
  color:#1f5687;
}
.message.adaptation-no-change::before{
  content:'⚠';
  background:#2f76b7;
  color:#fff;
  border-radius:7px;
}
.message.adaptation-error{
  background:#fff0f0;
  border-color:#efb2b2;
  color:#9b1c1c;
}
.message.adaptation-error::before{
  content:'STOP';
  width:38px;
  height:24px;
  border-radius:7px;
  background:#c62828;
  color:#fff;
  font-size:.58rem;
  letter-spacing:.03em;
}
.message.adaptation-error-detail{
  font-size:.78rem;
  background:#fff7f7;
  border-color:#f2d2d2;
  color:#8a3030;
}


/* FitMentor 1.1.4 · respuesta requerida y vía rápida */
.message.adaptation-response-required{
  position:relative;
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:.9rem;
  font-weight:800;
  line-height:1.45;
  border:1px solid #ef9b9b;
  background:#fff1f1;
  color:#a51d1d;
  box-shadow:0 8px 22px rgba(100,20,20,.07);
}
.message.adaptation-response-required::before{
  content:'?';
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#d32f2f;
  color:#fff;
  font-size:.9rem;
  font-weight:950;
  line-height:1;
}

/* FitMentor 2.1.1 · seguimiento unificado de fuerza y actividad */
.tracking-help{margin-bottom:16px}.week-activity-task{position:relative;align-items:flex-start;display:grid;grid-template-columns:auto minmax(0,1fr) auto}.week-task-copy{min-width:0}.week-task-actions{display:flex;gap:4px;align-items:center;margin-left:auto}.week-status-button{width:27px;height:27px;padding:0;border:0;border-radius:8px;background:#ece8f4;color:#655d72;font-weight:900;cursor:pointer}.week-status-button.complete{background:#6746d8;color:#fff}.week-status-button.skip{background:#f2eef5;color:#706878}.week-status-button.reset{display:none;background:#e9f6ef;color:#237a4d}.week-task.completed .week-status-button.complete,.week-task.completed .week-status-button.skip,.week-task.skipped .week-status-button.complete,.week-task.skipped .week-status-button.skip{display:none}.week-task.completed .week-status-button.reset,.week-task.skipped .week-status-button.reset{display:inline-grid;place-items:center}.week-task.saving{opacity:.55;pointer-events:none}.plan-progress-copy{display:block;margin-top:12px;color:#716a7d;font-weight:750}.plan-day-completed{border-color:#bce8d1;background:linear-gradient(180deg,#fff,#f6fff9)}.history-strength-row{background:linear-gradient(90deg,#fbfaff,#fff)}.history-detail-link{display:inline-flex;margin-top:6px;color:#654ed5;font-size:.78rem;font-weight:800}.history-detail-link:hover{text-decoration:underline}.recent-workouts-card{margin-top:20px}.recent-workouts-card .section-heading{align-items:flex-start}.history-status.skipped{background:#f1edf4;color:#766d80}
@media(max-width:680px){.week-activity-task{grid-template-columns:auto minmax(0,1fr)}.week-task-actions{grid-column:2;margin-left:0;margin-top:7px}.recent-workouts-card .section-heading{display:grid;gap:12px}.recent-workouts-card .section-heading .button{width:100%}}

/* FitMentor 2.2.1 · producción, privacidad y consentimiento */
.auth-consent{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:12px 13px;border:1px solid #e2e5ef;border-radius:13px;background:#fafbff;color:#4e5870;font-size:.88rem;line-height:1.45}.auth-consent input{margin:3px 0 0;width:17px;height:17px;accent-color:#6853e7}.auth-consent a{font-weight:800;color:#6049d8}.simple-public{min-height:100dvh;padding:32px 18px;display:grid;place-items:start center}.legal-card{width:min(880px,100%);margin:auto}.legal-card h1{margin-top:7px}.legal-card h2{margin:28px 0 8px;font-size:1.15rem}.legal-card p{color:#586278;line-height:1.72}.form-card{width:min(660px,100%);margin:auto}.production-hero{align-items:center}.production-score{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:14px 18px;border-radius:14px;font-size:.82rem;font-weight:950;letter-spacing:.07em}.production-score.ready{background:#dff8ea;color:#0b7646}.production-score.blocked{background:#ffe6e9;color:#ac2138}.production-group-title{margin:23px 0 10px;color:#414b62;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.production-metrics{display:grid;gap:0;margin:0}.production-metrics>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid #edf0f5}.production-metrics dt{color:#697287}.production-metrics dd{margin:0;font-weight:900;color:#15203a}.production-metrics dd.ok{color:#168654}.production-metrics dd.bad{color:#b72f49}.production-actions-card{margin-top:18px}.production-actions-card ol{padding-left:21px;color:#505b72;line-height:1.65}.production-actions-card li+li{margin-top:7px}.production-note{padding:12px 14px;border-radius:13px;background:#fff7e8;border:1px solid #f4d89a;color:#815c12;font-size:.85rem;line-height:1.5}@media(max-width:760px){.production-score{width:100%}.simple-public{padding:18px 12px}.legal-card,.form-card{border-radius:18px}}

/* FitMentor 2.2.2 · registro premium y páginas legales */
.register-premium-body{background:#f4f6fb}
.auth-layout-register{grid-template-columns:minmax(480px,1.02fr) minmax(620px,.98fr);min-height:100dvh}
.register-showcase{padding:34px clamp(34px,5vw,82px);background:
 radial-gradient(circle at 88% 6%,rgba(255,255,255,.12),transparent 25%),
 radial-gradient(circle at 15% 82%,rgba(124,98,255,.26),transparent 34%),
 linear-gradient(145deg,#11172a 0%,#20254d 54%,#5b4bd1 100%)}
.public-kicker-dark{background:rgba(255,255,255,.12);color:#f5f3ff;border:1px solid rgba(255,255,255,.13)}
.public-kicker-dark:before{background:#9c8cff;box-shadow:0 0 0 5px rgba(255,255,255,.1)}
.register-showcase .auth-showcase-content{max-width:720px;padding:40px 0 24px}
.register-showcase .auth-showcase-content h1{max-width:690px;font-size:clamp(44px,5.2vw,72px)}
.register-showcase .auth-showcase-content>p{max-width:670px}
.register-preview-card{margin-top:34px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:22px;background:rgba(255,255,255,.09);box-shadow:0 22px 50px rgba(0,0,0,.16);backdrop-filter:blur(14px)}
.register-preview-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.12)}
.register-preview-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#d9d3ff);color:#5545c7;font-size:14px;font-weight:950}
.register-preview-head small,.register-preview-head strong{display:block}.register-preview-head small{color:#bfc5df;font-size:10px;letter-spacing:.08em}.register-preview-head strong{margin-top:3px}.register-preview-ok{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#21a96f;color:#fff;font-weight:950}
.register-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:14px}.register-preview-grid>div{padding:13px 14px;border-radius:14px;background:rgba(255,255,255,.08)}.register-preview-grid small,.register-preview-grid b{display:block}.register-preview-grid small{color:#bfc5df;font-size:9px;letter-spacing:.07em}.register-preview-grid b{margin-top:4px;font-size:13px}
.register-benefits{grid-template-columns:repeat(3,1fr);gap:12px}.register-benefits .benefit{padding:14px;border-radius:16px;background:rgba(255,255,255,.06)}.register-benefits .benefit-icon{width:32px;height:32px;border-radius:10px}.register-benefits span{line-height:1.45}
.register-company{position:relative;z-index:1;margin:0;color:#aeb5d3;font-size:12px}
.register-panel{padding:28px clamp(28px,4vw,70px);background:
 radial-gradient(circle at 100% 0,rgba(116,92,246,.16),transparent 28%),
 radial-gradient(circle at 0 100%,rgba(43,185,128,.08),transparent 25%),#f5f7fb}
.register-box{width:min(100%,690px);padding:34px 38px;border-radius:30px;box-shadow:0 30px 80px rgba(39,46,89,.14)}
.register-heading-row{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.register-heading-row h2{font-size:36px}.register-step{flex:0 0 auto;padding:8px 10px;border-radius:999px;background:#f0edff;color:#5c4bca;font-size:10px;font-weight:950;letter-spacing:.08em}
.register-form{gap:15px}.register-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.register-form .input-wrap input{padding-top:14px;padding-bottom:14px}
.register-legal-panel{display:grid;gap:10px;padding:15px;border:1px solid #dde2f0;border-radius:18px;background:linear-gradient(180deg,#fbfcff,#f7f8fd)}
.register-legal-head{display:flex;gap:11px;align-items:center;padding:2px 3px 5px}.register-legal-head strong,.register-legal-head small{display:block}.register-legal-head strong{font-size:14px;color:#27324d}.register-legal-head small{margin-top:2px;color:#7b8496;font-size:11px}.register-shield{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#e9fbf2;color:#168658;font-weight:950}
.auth-consent-premium{padding:10px 11px;border-radius:12px;background:#fff;font-size:.8rem}.auth-consent-premium:hover{border-color:#c8c0ff}.register-legal-note{margin:0;padding:9px 11px;border-radius:10px;background:#fff8e8;color:#765b1f;font-size:11px;line-height:1.45}
.register-submit{min-height:52px;border-radius:15px;justify-content:space-between;padding-left:20px;padding-right:18px}.register-submit b{font-size:20px}.register-divider{display:flex;align-items:center;gap:12px;margin:17px 0 0;color:#a0a7b5;font-size:11px}.register-divider:before,.register-divider:after{content:"";height:1px;flex:1;background:#e7e9f0}.register-login{margin-top:12px}.register-footer-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px;color:#8b92a2;font-size:11px}.register-footer-links a{color:#71798b;font-weight:750}
.legal-page-body{background:radial-gradient(circle at 90% 0,rgba(107,87,235,.12),transparent 26%),#f5f7fb}.legal-card-premium{max-width:980px;padding:0;overflow:hidden;background:#fff;box-shadow:0 28px 80px rgba(38,45,84,.12)}.legal-hero{padding:34px clamp(24px,5vw,58px) 28px;background:linear-gradient(135deg,#171d35,#5546bf);color:#fff}.legal-hero .public-brand{color:#fff;margin-bottom:32px}.legal-hero .eyebrow{color:#cfc9ff}.legal-hero h1{font-size:clamp(38px,5vw,58px);margin:7px 0 12px}.legal-hero p:last-child{max-width:760px;color:#d7dbee;line-height:1.7}.legal-index{display:flex;gap:8px;flex-wrap:wrap;padding:18px clamp(24px,5vw,58px);border-bottom:1px solid #eceef4;background:#fafbfe}.legal-index a{padding:8px 11px;border-radius:999px;background:#efedff;color:#5a49c7;font-size:12px;font-weight:850}.legal-card-premium>section{padding:0 clamp(24px,5vw,58px)}.legal-card-premium>section:first-of-type{padding-top:20px}.legal-card-premium>section:last-of-type{padding-bottom:22px}.legal-card-premium h2{color:#1d2944}.legal-card-premium p,.legal-card-premium li{color:#59647a;line-height:1.75}.legal-card-premium ul{padding-left:21px}.legal-card-premium li+li{margin-top:6px}.legal-company-card{display:grid;gap:5px;padding:18px 20px;border:1px solid #e1e5f0;border-radius:16px;background:#fafbff}.legal-company-card strong{font-size:18px;color:#202b45}.legal-company-card span{color:#687287}.legal-company-card a{margin-top:4px;color:#5d4bd1;font-weight:850}.legal-warning{margin:20px clamp(24px,5vw,58px);padding:18px 20px!important;border:1px solid #f0d395;border-radius:16px;background:#fff8e8}.legal-warning h2{margin-top:0}.legal-footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:24px clamp(24px,5vw,58px) 34px;border-top:1px solid #eceef4;background:#fafbfe}
.consent-premium-card{max-width:720px}.consent-intro{padding:16px 18px;border-radius:16px;background:#f1efff;color:#4c428f;line-height:1.65}.consent-points{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.consent-points div{padding:14px;border:1px solid #e5e7f0;border-radius:14px;background:#fff}.consent-points strong,.consent-points span{display:block}.consent-points strong{color:#27324d}.consent-points span{margin-top:4px;color:#727b8d;font-size:12px;line-height:1.45}
@media(max-width:1180px){.auth-layout-register{grid-template-columns:minmax(420px,.9fr) minmax(560px,1.1fr)}.register-benefits{grid-template-columns:1fr}.register-showcase .auth-showcase-content h1{font-size:52px}}
@media(max-width:950px){.auth-layout-register{grid-template-columns:1fr}.register-panel{min-height:100dvh;padding:24px 16px}.register-box{max-width:720px}.register-fields-grid{grid-template-columns:1fr}.register-preview-grid,.register-benefits{grid-template-columns:1fr}.consent-points{grid-template-columns:1fr}}
@media(max-width:600px){.register-box{padding:24px 18px;border-radius:22px}.register-heading-row h2{font-size:30px}.register-step{display:none}.register-legal-panel{padding:12px}.auth-consent-premium{font-size:.77rem}.legal-footer{display:grid}.legal-footer .public-button{width:100%}.legal-card-premium{border-radius:18px}.legal-hero{padding:26px 20px}.legal-index,.legal-card-premium>section{padding-left:20px;padding-right:20px}.legal-warning{margin-left:20px;margin-right:20px}}


/* FitMentor 2.2.3 · seguimiento de actividad fiable */
.inline-status-form{display:inline-flex;margin:0}.inline-status-form button{font:inherit}.activity-status-card.completed,.week-task.completed{background:#d5f1df!important;border:1px solid #70bd8d!important;box-shadow:inset 0 0 0 1px rgba(28,126,72,.08)}.activity-status-card.completed .week-task-copy b,.activity-status-card.completed .status-copy,.week-task.completed b,.week-task.completed small{color:#165f38!important}.activity-done-badge{background:#1e8a50!important;color:#fff!important;border:1px solid #176e40}.week-completed-mark{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:28px;padding:0 8px;border-radius:9px;background:#1e8a50;color:#fff;font-size:.7rem;font-weight:900;white-space:nowrap}.week-status-button.reset-visible,.icon-action.reset-visible{display:inline-flex!important;align-items:center;justify-content:center}.week-task-actions{align-items:center}.week-task.completed .week-task-arrow{color:#165f38}.week-task.completed{outline:1px solid rgba(30,138,80,.12)}

/* 2.2.3.9 · Biblioteca visual accesible y fichas enlazadas desde Álex */
.exercise-library-search{margin:0 0 20px;padding:22px;border:1px solid rgba(105,72,211,.16);background:linear-gradient(135deg,#fff 0%,#f7f4ff 100%);box-shadow:0 16px 42px rgba(54,38,105,.09)}
.exercise-search-intro{display:flex;align-items:center;gap:14px;margin-bottom:16px}.exercise-search-intro h2{margin:2px 0 3px;font-size:1.35rem}.exercise-search-intro p{margin:0}.exercise-search-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:17px;background:#6c45d8;color:#fff;font-size:30px;font-weight:900;box-shadow:0 10px 24px rgba(108,69,216,.24)}
.exercise-search-form{display:flex;gap:10px;align-items:stretch}.exercise-search-form input[type=search]{min-width:0;flex:1;height:52px;padding:0 17px;border:1px solid #dcd5ec;border-radius:15px;background:#fff;font-size:1rem;color:#171225;box-shadow:inset 0 1px 2px rgba(25,15,52,.03)}.exercise-search-form input[type=search]:focus{outline:3px solid rgba(111,68,216,.14);border-color:#7652dc}.exercise-search-form .button{min-height:52px}
.exercise-search-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:16px}.exercise-search-result{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px;border:1px solid #e6e0f1;border-radius:15px;background:#fff;color:inherit;text-decoration:none;transition:.18s ease}.exercise-search-result:hover,.exercise-search-result:focus-visible{transform:translateY(-2px);border-color:#7a59df;box-shadow:0 10px 22px rgba(54,38,105,.1);outline:none}.exercise-search-result img{width:54px;height:54px;object-fit:cover;border-radius:12px;background:#f0edf5}.exercise-search-result b,.exercise-search-result small{display:block}.exercise-search-result b{font-size:.92rem}.exercise-search-result small{margin-top:3px;color:#756e81;font-size:.75rem}.exercise-search-result>strong{color:#6949d1;font-size:.78rem;white-space:nowrap}.exercise-search-empty{grid-column:1/-1;padding:15px;border-radius:14px;background:#fff;color:#6f6879}
.linked-exercise-list{display:grid;gap:6px;margin-top:9px}.linked-exercise-list a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;border:1px solid rgba(105,72,211,.18);border-radius:10px;background:rgba(255,255,255,.82);color:#271b4d;text-decoration:none;font-size:.72rem;line-height:1.25}.linked-exercise-list a:hover,.linked-exercise-list a:focus-visible{border-color:#7553db;background:#fff;outline:none}.linked-exercise-list a span{font-weight:800}.linked-exercise-list a strong{color:#6948d4;white-space:nowrap;font-size:.68rem}.plan-linked-exercises{margin:4px 0 14px}.plan-linked-exercises a{font-size:.84rem;padding:10px 12px}
@media(max-width:680px){.exercise-library-search{padding:17px}.exercise-search-intro{align-items:flex-start}.exercise-search-icon{flex-basis:46px;height:46px}.exercise-search-form{display:grid;grid-template-columns:1fr 1fr}.exercise-search-form input[type=search]{grid-column:1/-1;font-size:16px}.exercise-search-results{grid-template-columns:1fr}.linked-exercise-list a{align-items:flex-start;flex-direction:column}.linked-exercise-list a strong{font-size:.72rem}}

/* =====================================================================
   FitMentor 2.3.0 · Premium Foundation
   Una sola capa visual para web, móvil y PWA.
   ===================================================================== */
:root{
  --bg:#f5f6fb;
  --surface:#ffffff;
  --surface-soft:#f8f7fc;
  --surface-purple:#f3f0ff;
  --ink:#11182b;
  --muted:#697287;
  --line:#e5e7ef;
  --line-strong:#d8dbe7;
  --nav:#11162a;
  --primary:#6548e8;
  --primary2:#8c62f0;
  --primary-soft:#eee9ff;
  --green:#159766;
  --green-soft:#e9f9f1;
  --orange:#d98509;
  --danger:#c93656;
  --shadow-sm:0 8px 24px rgba(29,32,67,.055);
  --shadow:0 18px 48px rgba(29,32,67,.085);
  --shadow-lg:0 24px 70px rgba(29,32,67,.12);
  --radius-sm:14px;
  --radius:22px;
  --radius-lg:28px;
}
html{font-size:100%;text-size-adjust:100%;-webkit-text-size-adjust:100%}
html[data-text-size="large"]{font-size:112.5%}
html[data-text-size="xlarge"]{font-size:125%}
html[data-contrast="high"]{--ink:#060a14;--muted:#3f485a;--line:#cbd0dc;--line-strong:#aeb6c7;--shadow:0 16px 40px rgba(10,12,28,.12)}
html[data-motion="reduced"] *,html[data-motion="reduced"] *::before,html[data-motion="reduced"] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
body{font-size:16px;background:var(--bg);color:var(--ink);letter-spacing:-.005em}
::selection{background:#dcd3ff;color:#24165d}
:focus-visible{outline:3px solid rgba(101,72,232,.35);outline-offset:3px}
.app-main{background:radial-gradient(circle at 96% 0,rgba(125,95,240,.09),transparent 24%),var(--bg);max-width:none;padding-bottom:96px}
.card,.day-card{border-color:var(--line);box-shadow:var(--shadow-sm);background:rgba(255,255,255,.98)}
.card:hover{border-color:rgba(101,72,232,.15)}
.button{min-height:48px;padding:12px 18px;border-radius:14px;font-size:.96rem;box-shadow:0 10px 22px rgba(101,72,232,.18);transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.button:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(101,72,232,.23)}
.button:active{transform:translateY(0)}
.button.secondary-ghost,.secondary-ghost{background:#fff!important;color:#4c3bc2!important;border:1px solid #ded9f5!important;box-shadow:none!important}
.button.ghost{box-shadow:none!important}
.field input,.field textarea,.field select,input[type="search"]{min-height:48px;border-color:var(--line-strong);font-size:1rem}
.page-head h1{letter-spacing:-.035em}
.page-head p{font-size:1rem}
.notice{border:1px solid transparent;box-shadow:none;font-size:.94rem}
.notice.info{background:#f2f0ff;color:#4637a5;border-color:#ded8ff}
.notice.success{background:var(--green-soft);color:#087451;border-color:#c6eddc}
.notice-premium{border-radius:16px}

/* Sidebar y navegación */
.sidebar{background:linear-gradient(180deg,#11162a 0%,#161a30 100%);border-right:1px solid rgba(255,255,255,.04)}
.sidebar nav a{min-height:48px;border-radius:14px}
.sidebar nav a.active{background:linear-gradient(135deg,rgba(116,91,239,.28),rgba(116,91,239,.12));box-shadow:inset 0 0 0 1px rgba(165,148,255,.12)}
.mobile-top{padding-top:env(safe-area-inset-top)}
.bottom-nav{min-height:68px}

/* Dashboard 2.3 */
.premium-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 22px}
.premium-welcome h1{margin:0;font-size:clamp(2rem,4.3vw,3.15rem);line-height:1.04;letter-spacing:-.045em}
.premium-date{margin:8px 0 0;color:var(--muted);font-size:1.02rem;text-transform:capitalize}
.today-focus-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(285px,.65fr);gap:18px;margin-bottom:18px}
.today-primary-card{position:relative;overflow:hidden;min-height:330px;padding:32px;border-radius:30px;background:linear-gradient(135deg,#151a31 0%,#242653 56%,#6046d9 100%);color:#fff;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:flex-start}
.today-primary-card::after{content:"";position:absolute;right:-75px;top:-105px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 70%)}
.today-primary-card .eyebrow{color:#bdb1ff;margin-top:18px}
.today-primary-card h2{position:relative;z-index:1;margin:3px 0 10px;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.08;max-width:720px;letter-spacing:-.035em}
.today-primary-card>p:not(.eyebrow){position:relative;z-index:1;color:#d9dcef;max-width:700px;margin:0 0 24px;font-size:1.02rem}
.today-primary-top{position:relative;z-index:1;width:100%;display:flex;justify-content:space-between;align-items:center}
.today-primary-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.12);font-size:27px;backdrop-filter:blur(10px)}
.today-primary-status{padding:7px 11px;border-radius:999px;background:rgba(38,212,144,.15);color:#aaf2d4;border:1px solid rgba(110,235,188,.2);font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.today-main-button{position:relative;z-index:1;margin-top:auto;background:#fff!important;color:#24264f!important;box-shadow:none!important;min-width:190px}
.today-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.premium-mini-card{display:flex;flex-direction:column;justify-content:center;padding:24px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.premium-mini-head{display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.premium-mini-head span,.weight-mini-card span{color:var(--muted);font-size:.87rem;font-weight:750}
.premium-mini-head strong{font-size:2rem;line-height:1;color:#34266e}
.premium-mini-card p{margin:10px 0 0;color:var(--muted);font-size:.88rem}
.premium-progress{height:8px;margin-top:15px;border-radius:999px;background:#eceaf3;overflow:hidden}
.premium-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary2))}
.weight-mini-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}
.weight-mini-card>div span,.weight-mini-card>div strong{display:block}
.weight-mini-card>div strong{font-size:2rem;letter-spacing:-.03em}
.weight-mini-card>a{grid-column:1/-1;color:#5540ca;font-weight:800;font-size:.88rem;margin-top:4px}
.weight-delta{padding:7px 9px;border-radius:999px!important;font-weight:850!important}
.weight-delta.down{background:#e8f8f0;color:#087451!important}.weight-delta.up{background:#fff0f1;color:#a42940!important}.weight-delta.neutral{background:#f1f2f6;color:#596174!important}
.dashboard-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dashboard-status-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;align-items:center;padding:18px 19px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .18s ease,border-color .18s ease}
.dashboard-status-card:hover{transform:translateY(-2px);border-color:#d8cffd}
.status-card-icon{width:50px;height:50px;border-radius:16px;background:var(--primary-soft);color:#5b42d7;display:grid;place-items:center;font-size:22px;font-weight:900}
.dashboard-status-card small,.dashboard-status-card strong,.dashboard-status-card div>span{display:block}
.dashboard-status-card small{color:var(--muted);font-weight:750}.dashboard-status-card strong{margin:2px 0;font-size:1rem}.dashboard-status-card div>span{color:#5d46cd;font-size:.82rem;font-weight:800}
.coach-observation-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:21px 23px;border:1px solid #e1dcfb;border-radius:24px;background:linear-gradient(115deg,#fff 0%,#f8f6ff 100%);box-shadow:var(--shadow-sm);margin-bottom:28px}
.coach-observation-avatar{width:62px;height:62px;border-radius:19px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:900;font-size:25px}.coach-observation-avatar img{width:100%;height:100%;object-fit:cover}
.coach-observation-card h2{margin:1px 0 3px;font-size:1.25rem}.coach-observation-card p:last-child{margin:0;color:var(--muted)}
.dashboard-quick-section{margin-top:6px}.premium-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.premium-quick-grid a{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.premium-quick-grid a>span{display:grid;width:38px;height:38px;border-radius:12px;place-items:center;background:#f0edff;color:#6045db;font-weight:900;margin-bottom:12px}.premium-quick-grid b,.premium-quick-grid small{display:block}.premium-quick-grid small{color:var(--muted);margin-top:3px}

/* Entrenamientos: buscador y semana legibles */
.exercise-library-search{border-radius:24px!important;padding:22px!important}
.exercise-search-form input[type=search]{border-radius:14px;background:#fff}
.module-tabs,.nutrition-tabs{position:relative;background:#f0eff5;border:1px solid #e2e2ea;border-radius:18px;padding:5px;gap:4px}
.module-tabs a,.nutrition-tabs a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:13px;font-weight:850}
.module-tabs a.active,.nutrition-tabs a.active{background:#fff;color:#5e42db;box-shadow:0 5px 14px rgba(30,32,57,.07)}
.week-mobile-selector{display:none}
.week-board{
  display:grid!important;
  grid-auto-flow:column!important;
  grid-auto-columns:minmax(290px,320px)!important;
  grid-template-columns:none!important;
  gap:16px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  padding:4px 4px 18px!important;
  margin:0 -4px!important;
  align-items:stretch!important;
  scroll-snap-type:x proximity;
  scrollbar-width:thin;
  scrollbar-color:#cbc5e6 transparent;
}
.week-day,.week-day.today{
  scroll-snap-align:start;
  min-width:290px!important;
  width:auto!important;
  min-height:520px!important;
  padding:16px!important;
  border-radius:24px!important;
  overflow:visible!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  box-shadow:var(--shadow-sm)!important;
}
.week-day.today{border:2px solid #7455ef!important;padding:15px!important;box-shadow:0 14px 34px rgba(106,77,226,.12)!important}
.week-day>header{display:flex;align-items:center;justify-content:space-between;padding:0 2px 13px!important;margin-bottom:13px!important;border-bottom:1px solid var(--line)}
.week-day>header span{font-size:.78rem;font-weight:900;color:#676175;text-transform:uppercase;letter-spacing:.06em}
.week-day>header strong{font-size:1.45rem;line-height:1}
.week-tasks{display:grid;gap:11px;align-content:start}
.week-task,.week-task.week-activity-task,.week-task-link{position:relative!important;display:grid!important;grid-template-columns:26px minmax(0,1fr)!important;gap:9px!important;align-items:start!important;width:100%!important;min-width:0!important;padding:14px!important;border-radius:17px!important;background:#f7f6fa!important;border:1px solid transparent!important;overflow:hidden!important}
.week-task.completed,.week-task-link.completed{background:#e7f8ef!important;border-color:#bfe7d2!important}
.week-task.skipped{background:#fff7e8!important;border-color:#f0dfba!important}
.week-task-copy{min-width:0!important}
.week-task-copy>b,.week-task-link b{display:block!important;max-width:100%!important;padding:0!important;font-size:.96rem!important;line-height:1.32!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;white-space:normal!important}
.week-task-copy>small,.week-task-link small{display:block!important;padding:0!important;margin-top:4px!important;font-size:.78rem!important;line-height:1.35!important;color:#898197!important}
.week-task-actions{position:static!important;grid-column:1/-1!important;display:flex!important;gap:7px!important;justify-content:flex-start!important;margin:3px 0 0 35px!important;padding:0!important}
.week-status-button{width:auto!important;min-width:42px!important;height:38px!important;border-radius:11px!important;padding:0 10px!important;font-weight:900!important}
.week-status-button.complete{background:linear-gradient(135deg,#6c4ce5,#8b5cf6)!important;color:#fff!important}
.week-completed-mark{min-height:38px!important;display:inline-flex!important;align-items:center!important;padding:0 11px!important;border-radius:11px!important;background:#159766!important;color:#fff!important;font-size:.76rem!important;font-weight:900!important}
.week-task-link{grid-template-columns:26px minmax(0,1fr) 24px!important;background:#eef9f2!important;border-color:#c6ead4!important}
.week-task-arrow{align-self:center!important;color:#267d5d!important;font-size:1.35rem!important}
.linked-exercise-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;margin-top:11px!important}
.linked-exercise-list a{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;min-width:0!important;min-height:44px!important;padding:9px 10px!important;border:1px solid #dfd9f7!important;border-radius:12px!important;background:#fff!important;color:#241d3c!important}
.linked-exercise-list a span{min-width:0!important;font-size:.78rem!important;font-weight:820!important;line-height:1.25!important;word-break:normal!important;overflow-wrap:break-word!important;hyphens:none!important}
.linked-exercise-list a strong{font-size:.72rem!important;color:#6849df!important;white-space:nowrap!important}
.tracking-help{border-radius:16px!important}

/* Modo guiado de entrenamiento */
.session-mode-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:15px 17px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}
.session-mode-bar p{margin-bottom:2px}.session-mode-bar strong{font-size:1.05rem}
.session-mode-switch{display:flex;gap:4px;padding:4px;border-radius:14px;background:#f0eff5}
.session-mode-switch button{border:0;background:transparent;color:#666d7d;min-height:42px;padding:8px 13px;border-radius:11px;font-weight:850;cursor:pointer}
.session-mode-switch button.active{background:#fff;color:#5c42d3;box-shadow:0 4px 12px rgba(30,31,58,.09)}
.session-exercise{scroll-margin-top:90px}
.session-exercise-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr)!important;gap:24px!important}
.session-exercise-thumb-link{border-radius:18px!important;overflow:hidden!important;background:#f5f5f8!important}
.session-exercise-thumb{width:100%!important;aspect-ratio:4/3!important;height:auto!important;object-fit:cover!important}
.session-exercise-content h2{font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.15;letter-spacing:-.025em}
.session-exercise-content>p{font-size:1rem;line-height:1.6}
.guided-session-controls{display:none;position:sticky;bottom:12px;z-index:22;margin:18px 0;padding:15px;border:1px solid #ddd7f8;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 18px 45px rgba(36,29,73,.16);backdrop-filter:blur(14px)}
.guided-session-controls.is-visible{display:block}
.guided-progress-copy{display:flex;justify-content:space-between;gap:12px;align-items:center}.guided-progress-copy span{color:var(--muted);font-size:.78rem}.guided-progress-track{height:7px;margin:8px 0 12px;border-radius:999px;background:#ebe9f3;overflow:hidden}.guided-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--primary2));transition:width .25s ease}.guided-control-buttons{display:grid;grid-template-columns:auto auto minmax(180px,1fr);gap:8px}.guided-control-buttons .button{min-height:44px;padding:9px 13px}
#workout-finish-form.guided-mode .session-exercise{display:none}
#workout-finish-form.guided-mode .session-exercise.guided-current-card{display:block;animation:fmFadeIn .22s ease}
@keyframes fmFadeIn{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.set-box{min-height:64px;border-color:#dedfe8;background:#fbfbfd}.set-box:focus-within{border-color:#8c73ea;box-shadow:0 0 0 3px rgba(101,72,232,.1)}

/* Perfil y accesibilidad */
.profile-premium-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:18px;margin-bottom:18px}
.profile-summary-card{display:grid;grid-template-columns:auto 1fr;gap:17px;align-items:center}
.profile-avatar-large{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:28px;font-weight:900;box-shadow:0 12px 26px rgba(101,72,232,.23)}
.profile-summary-card h2{margin:0;font-size:1.5rem}.profile-summary-card p{margin:4px 0}
.profile-summary-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.profile-summary-metrics span{padding:12px;border-radius:14px;background:#f7f6fa;color:var(--muted);font-size:.76rem}.profile-summary-metrics b{display:block;color:var(--ink);font-size:1.16rem}.profile-summary-card>.button{grid-column:1/-1}
.accessibility-card .section-title{align-items:flex-start}.accessibility-options{display:grid;gap:3px;margin-top:15px}.accessibility-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:13px 2px;border-top:1px solid var(--line)}.accessibility-row>span:first-child b,.accessibility-row>span:first-child small{display:block}.accessibility-row>span:first-child small{color:var(--muted);font-size:.78rem;margin-top:2px}.accessibility-row select{min-width:145px;min-height:44px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:12px;background:#fff}.switch-input{position:absolute;opacity:0;pointer-events:none}.switch-ui{flex:0 0 52px;width:52px;height:30px;border-radius:999px;background:#d7dae3;position:relative;transition:background .18s ease}.switch-ui::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.14);transition:transform .18s ease}.switch-input:checked+.switch-ui{background:linear-gradient(135deg,var(--primary),var(--primary2))}.switch-input:checked+.switch-ui::after{transform:translateX(22px)}.switch-input:focus-visible+.switch-ui{outline:3px solid rgba(101,72,232,.28);outline-offset:3px}
.profile-data-list{display:grid}.profile-data-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.profile-data-list span{color:var(--muted)}.profile-data-list b{text-align:right}.memory-groups{display:grid;gap:10px;margin:10px 0 18px}.memory-groups>div{padding:13px;border-radius:14px;background:#f8f7fb}.memory-groups span{font-size:.73rem;color:#6e6580;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.memory-groups p{margin:3px 0 0;line-height:1.45}

/* Progreso y alimentación: más aire, lectura más clara */
.weekly-review-cta,.weekly-target-card,.plan-card,.shopping-head{border-radius:24px!important}
.meal-card,.week-meal,.shopping-card{border-radius:18px!important}
.meal-card h2,.meal-card h3{line-height:1.22}
.meal-description{font-size:1rem!important;line-height:1.55!important}
.meal-actions{gap:8px;flex-wrap:wrap}
.meal-actions .button{min-height:44px}
.history-row{min-height:70px}
.chart{border-radius:14px;background:linear-gradient(180deg,#faf9ff,#fff)}

/* Toasts de feedback */
.fm-toast-region{position:fixed;z-index:2147482000;right:18px;bottom:20px;display:grid;gap:9px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.fm-toast{display:flex;align-items:center;gap:10px;padding:13px 15px;border-radius:15px;background:#171b30;color:#fff;box-shadow:0 18px 45px rgba(18,21,44,.26);opacity:0;transform:translateY(10px);transition:.2s ease;font-size:.9rem}.fm-toast.show{opacity:1;transform:none}.fm-toast-dot{width:9px;height:9px;border-radius:50%;background:#55dbac}.fm-toast.info .fm-toast-dot{background:#a99aff}.fm-toast-region .fm-toast:last-child{pointer-events:auto}

/* Responsive */
@media(max-width:1180px){
  .today-focus-grid{grid-template-columns:minmax(0,1.3fr) minmax(265px,.7fr)}
  .dashboard-status-grid{grid-template-columns:1fr 1fr}.dashboard-status-card:last-child{grid-column:1/-1}
  .premium-quick-grid{grid-template-columns:1fr 1fr}
  .profile-premium-grid{grid-template-columns:1fr}
}
@media(max-width:780px){
  body{font-size:17px}
  .app-main{padding:calc(78px + env(safe-area-inset-top)) 14px calc(94px + env(safe-area-inset-bottom))!important;min-height:100dvh}
  .mobile-top{height:calc(64px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 15px 0!important;background:rgba(255,255,255,.96)!important;position:fixed!important;top:0;left:0;right:0;box-shadow:0 5px 20px rgba(30,34,62,.05)}
  .bottom-nav{padding:7px 5px calc(7px + env(safe-area-inset-bottom))!important;min-height:calc(68px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97)!important;backdrop-filter:blur(16px);box-shadow:0 -8px 28px rgba(25,28,55,.08)}
  .bottom-nav a{min-height:52px!important}.bottom-nav small{font-size:.65rem!important}.bottom-nav-icon{font-size:1.2rem}
  .premium-welcome{align-items:flex-start;margin-bottom:16px}.premium-welcome h1{font-size:2.25rem}.dashboard-profile-link{display:none!important}
  .today-focus-grid{grid-template-columns:1fr;gap:12px}.today-primary-card{min-height:300px;padding:24px;border-radius:25px}.today-primary-card h2{font-size:2rem}.today-primary-card>p:not(.eyebrow){font-size:.96rem}.today-side-stack{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}.premium-mini-card{min-height:150px;padding:17px;border-radius:19px}.premium-mini-head{align-items:flex-start;flex-direction:column}.premium-mini-head strong,.weight-mini-card>div strong{font-size:1.55rem}.weight-mini-card{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.weight-mini-card>a{font-size:.74rem}
  .dashboard-status-grid{grid-template-columns:1fr;gap:9px}.dashboard-status-card:last-child{grid-column:auto}.dashboard-status-card{padding:14px;grid-template-columns:46px 1fr}.status-card-icon{width:46px;height:46px}
  .coach-observation-card{grid-template-columns:auto 1fr;padding:17px;gap:12px}.coach-observation-avatar{width:52px;height:52px;border-radius:16px}.coach-observation-card .button{grid-column:1/-1;width:100%}.coach-observation-card h2{font-size:1.12rem}.coach-observation-card p:last-child{font-size:.88rem}
  .premium-quick-grid{grid-template-columns:1fr 1fr;gap:9px}.premium-quick-grid a{padding:14px}.premium-quick-grid small{font-size:.72rem}
  .exercise-library-search{padding:16px!important}.exercise-search-form{grid-template-columns:1fr!important}.exercise-search-form input[type=search],.exercise-search-form .button{grid-column:1!important;width:100%}
  .module-tabs,.nutrition-tabs{overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.module-tabs a,.nutrition-tabs a{flex:0 0 auto;min-width:92px;padding-inline:15px}
  .tracking-help{font-size:.82rem;line-height:1.45}
  .week-mobile-selector{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;position:sticky;top:calc(70px + env(safe-area-inset-top));z-index:18;margin:0 0 12px;padding:7px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:var(--shadow-sm);backdrop-filter:blur(15px)}
  .week-mobile-selector button{border:0;background:transparent;min-width:0;min-height:50px;border-radius:12px;color:#6c6c7e;font-weight:850;padding:4px 1px}.week-mobile-selector button span,.week-mobile-selector button small{display:block}.week-mobile-selector button span{font-size:.78rem}.week-mobile-selector button small{font-size:.65rem;color:#9792a1}.week-mobile-selector button.active{background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;box-shadow:0 7px 15px rgba(101,72,232,.22)}.week-mobile-selector button.active small{color:#e7e1ff}.week-mobile-selector button.is-today:not(.active){box-shadow:inset 0 0 0 1px #7c61e9;color:#6046d7}
  .week-board{display:block!important;overflow:visible!important;margin:0!important;padding:0 0 12px!important}.week-day,.week-day.today{display:none!important;min-width:0!important;width:100%!important;min-height:0!important;padding:15px!important;border-radius:22px!important}.week-day.mobile-selected,.week-day.today.mobile-selected{display:block!important;animation:fmFadeIn .18s ease}.week-task,.week-task.week-activity-task,.week-task-link{padding:14px!important}.week-task-copy>b,.week-task-link b{font-size:1rem!important}.week-task-copy>small,.week-task-link small{font-size:.8rem!important}.linked-exercise-list a{min-height:48px!important;padding:10px 11px!important}.linked-exercise-list a span{font-size:.84rem!important}.week-task-actions{margin-left:35px!important}.week-status-button{height:42px!important;min-width:46px!important}
  .session-mode-bar{display:block;padding:13px}.session-mode-bar>div:first-child{display:none}.session-mode-switch{width:100%}.session-mode-switch button{flex:1;min-height:46px}
  .session-exercise-layout{grid-template-columns:1fr!important;gap:16px!important}.session-exercise{padding:16px!important;border-radius:22px!important}.session-exercise-thumb-link{max-width:none!important}.session-exercise-thumb{aspect-ratio:4/3!important}.session-exercise .section-title{align-items:flex-start;gap:9px}.session-exercise .section-title>span{font-size:.78rem}.session-exercise-content h2{font-size:1.45rem;margin-top:8px}.exercise-actions{display:flex;flex-wrap:wrap}.exercise-actions .button{flex:1;min-width:135px}
  .set-grid{grid-template-columns:1fr 1fr!important}.set-box{min-height:70px}
  .guided-session-controls{bottom:calc(76px + env(safe-area-inset-bottom));margin:12px 0;padding:12px;border-radius:18px}.guided-control-buttons{grid-template-columns:1fr 1fr}.guided-control-buttons [data-guided-next]{grid-column:1/-1;grid-row:1}.guided-control-buttons [data-guided-prev],.guided-control-buttons [data-rest-timer]{grid-row:2}.guided-control-buttons .button{font-size:.82rem}
  .profile-premium-grid,.profile-detail-grid{grid-template-columns:1fr!important}.profile-summary-metrics{grid-template-columns:repeat(3,1fr);gap:6px}.profile-summary-metrics span{padding:10px 7px;font-size:.65rem}.profile-summary-metrics b{font-size:1rem}.accessibility-row{min-height:78px}.accessibility-row>span:first-child small{font-size:.72rem}.accessibility-row select{min-width:120px;max-width:130px}.profile-data-list>div{display:block}.profile-data-list b{display:block;text-align:left;margin-top:3px}
  .fm-toast-region{right:14px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 28px)}
  .messages{height:calc(100dvh - 265px)!important;min-height:360px}.composer{padding-bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:430px){
  .today-side-stack{grid-template-columns:1fr}.premium-mini-card{min-height:130px}.premium-quick-grid{grid-template-columns:1fr}.profile-summary-metrics{grid-template-columns:1fr 1fr}.profile-summary-metrics span:last-child{grid-column:1/-1}.set-grid{grid-template-columns:1fr 1fr!important}.week-mobile-selector{gap:2px;padding:6px 4px}.week-mobile-selector button{min-height:48px}.week-mobile-selector button span{font-size:.72rem}.week-mobile-selector button small{font-size:.6rem}.accessibility-row{gap:10px}.accessibility-row select{min-width:105px;font-size:.84rem}.switch-ui{flex-basis:48px;width:48px}.switch-input:checked+.switch-ui::after{transform:translateX(18px)}
}
.progress-premium-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 18px}.progress-premium-summary article{padding:18px;border-radius:19px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}.progress-premium-summary span,.progress-premium-summary small{display:block;color:var(--muted)}.progress-premium-summary span{font-size:.78rem;font-weight:850}.progress-premium-summary strong{display:block;margin:5px 0 2px;font-size:1.7rem;line-height:1.1;letter-spacing:-.03em}.progress-premium-summary small{font-size:.75rem}.progress-coach-card{margin-top:0}@media(max-width:1000px){.progress-premium-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.progress-premium-summary{gap:8px}.progress-premium-summary article{padding:14px}.progress-premium-summary strong{font-size:1.4rem}.progress-premium-summary small{font-size:.68rem}}
.set-box{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:9px 10px!important}.set-box label{display:block;min-width:0;font-size:.76rem;font-weight:850;color:var(--muted)}.set-box input{display:block;width:100%;min-height:34px;padding:2px 0;border:0!important;background:transparent!important;color:var(--ink);font-weight:900;font-size:1rem;box-shadow:none!important}.set-complete-toggle{width:auto;min-width:38px;height:38px;padding:0 8px;border:1px solid #dcd8ea;border-radius:11px;background:#fff;color:#6550ca;font-weight:900;cursor:pointer}.set-box.set-done{background:#eaf9f1!important;border-color:#bfe7d2!important}.set-box.set-done .set-complete-toggle{background:#159766;color:#fff;border-color:#159766}.session-finish-card{scroll-margin-bottom:100px}#workout-finish-form.guided-mode .session-finish-card{display:none}#workout-finish-form.guided-mode .session-finish-card.guided-finish-visible{display:block;animation:fmFadeIn .22s ease}
.exercise-search-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}.exercise-search-chips a{display:inline-flex;align-items:center;min-height:34px;padding:6px 11px;border:1px solid #e0dcef;border-radius:999px;background:#fff;color:#615777;font-size:.76rem;font-weight:800}.exercise-search-chips a:hover{border-color:#bfb2f5;color:#5d40d1;background:#f7f5ff}.fm-navigating::before{content:"";position:fixed;z-index:2147483000;left:0;top:0;width:38%;height:3px;background:linear-gradient(90deg,var(--primary),var(--primary2));box-shadow:0 0 12px rgba(101,72,232,.45);animation:fmNavigate 1s ease-in-out infinite}.fm-navigating{cursor:progress}@keyframes fmNavigate{0%{transform:translateX(-100%)}60%{transform:translateX(180%)}100%{transform:translateX(300%)}}
@media(max-width:780px){.exercise-search-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}.exercise-search-chips::-webkit-scrollbar{display:none}.exercise-search-chips a{flex:0 0 auto}}

/* FitMentor 2.3.1 · acceso permanente a Mi perfil en PWA */
.mobile-top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.mobile-profile-link{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:4px 9px 4px 5px;border:1px solid transparent;border-radius:16px;color:#3b3450;font-weight:850;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.mobile-profile-avatar{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:.72rem;font-weight:950;letter-spacing:.02em;box-shadow:0 7px 16px rgba(101,72,232,.22)}
.mobile-profile-text{font-size:.78rem;line-height:1}
.mobile-profile-link.active{background:#f1edff;border-color:#dcd3ff;color:#563ad3;box-shadow:0 5px 14px rgba(88,61,205,.08)}
.mobile-profile-link:active{transform:scale(.97)}
.mobile-logout-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 5px;color:var(--muted);font-size:.74rem;font-weight:800}
@media(max-width:780px){
  .mobile-top .brand{min-width:0}.mobile-top .brand b{white-space:nowrap}
  .mobile-top-actions{gap:4px}
  .mobile-profile-link{min-height:46px;padding-right:8px}
  .mobile-profile-avatar{width:38px;height:38px;flex-basis:38px;border-radius:13px;font-size:.76rem}
  .mobile-logout-link{min-height:46px;padding-inline:5px}
}
@media(max-width:430px){
  .mobile-top{padding-left:11px!important;padding-right:9px!important}
  .mobile-top .brand{gap:7px}.mobile-top .brand-mark{width:36px;height:36px;border-radius:12px}.mobile-top .brand b{font-size:.9rem}
  .mobile-profile-link{padding:3px}.mobile-profile-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .mobile-logout-link{font-size:.69rem;padding-inline:3px}
}
@media(max-width:350px){.mobile-top .brand b{display:none}.mobile-logout-link{display:none}}

/* =====================================================================
   FitMentor 2.4.0 · Fitness Center SaaS
   Panel B2B, marca blanca y experiencia multi-centro.
   ===================================================================== */
.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:165px}.brand-powered{display:block;margin-top:1px;color:#8e99ac;font-size:.58rem;line-height:1.1;font-weight:700;letter-spacing:.02em}.brand-logo-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.brand-mark:has(.brand-logo-image){background:#fff;padding:3px;overflow:hidden}
.center-body{min-height:100vh;background:var(--bg);color:var(--ink)}.center-sidebar{position:fixed;inset:0 auto 0 0;width:268px;padding:24px 18px;background:linear-gradient(180deg,#10162a,#171b31);color:#fff;display:flex;flex-direction:column;z-index:40}.center-brand{display:flex;align-items:center;gap:11px;padding:0 4px}.center-brand>div{min-width:0}.center-brand b,.center-brand small{display:block}.center-brand b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.center-brand small{margin-top:2px;color:#99a4b8;font-size:.68rem}.center-sidebar nav{display:grid;gap:7px;margin-top:34px}.center-sidebar nav a{display:flex;align-items:center;gap:12px;min-height:48px;padding:11px 13px;border-radius:14px;color:#aeb7c8;font-weight:800}.center-sidebar nav a>span{width:22px;text-align:center;font-size:18px}.center-sidebar nav a:hover,.center-sidebar nav a.active{background:rgba(255,255,255,.09);color:#fff}.center-account{margin-top:auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:13px;border-radius:17px;background:rgba(255,255,255,.07)}.center-account b,.center-account small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-account small{color:#9ca6b7;font-size:.7rem}.center-logout{padding:14px 8px 0;color:#8e99ac;font-size:.78rem}.center-main{margin-left:268px;padding:32px clamp(22px,4vw,54px) 70px;min-height:100vh;background:radial-gradient(circle at 96% 0,color-mix(in srgb,var(--primary) 10%,transparent),transparent 24%),var(--bg)}.center-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.center-top h1{margin:0;font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05;letter-spacing:-.04em}.center-top .eyebrow{margin-bottom:6px}.center-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#151a31 0%,#252958 58%,var(--primary) 130%);color:#fff;box-shadow:var(--shadow-lg);margin-bottom:18px;overflow:hidden;position:relative}.center-hero::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;right:-100px;top:-150px;background:rgba(255,255,255,.08)}.center-hero .eyebrow{color:#c7bcff}.center-hero h2{position:relative;z-index:1;margin:2px 0 7px;font-size:clamp(1.7rem,3vw,2.45rem)}.center-hero p:not(.eyebrow){position:relative;z-index:1;max-width:760px;margin:0;color:#d7daeb}.center-plan-badge{position:relative;z-index:1;min-width:150px;padding:17px 19px;border-radius:20px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);text-align:right}.center-plan-badge span,.center-plan-badge strong,.center-plan-badge small{display:block}.center-plan-badge span{color:#cfc7ff;font-size:.72rem;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.center-plan-badge strong{margin:4px 0;font-size:1.6rem}.center-plan-badge small{color:#d7daeb}.center-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}.center-kpis article{padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.center-kpis article.warning{border-color:#f0d49c;background:#fffbf2}.center-kpis span,.center-kpis small{display:block;color:var(--muted)}.center-kpis span{font-size:.76rem;font-weight:850}.center-kpis strong{display:block;margin:5px 0 1px;font-size:1.75rem;letter-spacing:-.035em}.center-kpis .small-strong{font-size:1.05rem;line-height:1.25}.center-grid-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;margin-bottom:18px}.center-card{padding:23px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow-sm)}.center-card>h2{margin:0 0 15px}.center-member-list{display:grid}.center-member-list>a{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 5px;border-bottom:1px solid var(--line)}.center-member-list>a:last-child{border-bottom:0}.center-member-list b,.center-member-list small{display:block}.center-member-list small{color:var(--muted)}.center-member-list time{color:var(--muted);font-size:.78rem}.member-health-dot{width:10px;height:10px;border-radius:50%;background:#aeb4c2}.member-health-dot.ok{background:var(--green);box-shadow:0 0 0 4px var(--green-soft)}.member-health-dot.warn{background:var(--orange);box-shadow:0 0 0 4px #fff5df}.center-commercial-stack{display:grid;gap:10px;margin:10px 0 18px}.center-commercial-stack>div{padding:12px 14px;border-radius:15px;background:#f7f7fb}.center-commercial-stack span,.center-commercial-stack strong{display:block}.center-commercial-stack span{font-size:.72rem;color:var(--muted);font-weight:800}.center-commercial-stack code,.center-copy-url code{display:block;margin-top:4px;overflow-wrap:anywhere;color:#4f3bbb;font-size:.76rem}.center-add-person{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);gap:24px;align-items:start}.center-add-person h2{margin:0 0 5px}.center-add-form{display:grid;grid-template-columns:1fr 180px;gap:12px}.center-add-form .center-check{grid-column:1/-1}.center-add-form .button{justify-self:start}.center-check{display:flex;align-items:flex-start;gap:9px;padding:10px 0;font-size:.82rem;color:var(--muted)}.center-check input{margin-top:3px}.inline-center-action{display:inline;margin-left:10px}.inline-center-action button{border:0;background:transparent;color:var(--muted);font-size:.72rem;font-weight:800;cursor:pointer}.inline-center-action button:hover{color:var(--danger)}.center-member-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.center-member-head h2{font-size:2rem;margin:8px 0 1px}.center-member-head p{margin:0;color:var(--muted)}.health-card{border-color:#ddd8f5}.privacy-chip,.plan-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;background:#f0edff;color:#5942c9;font-size:.68rem;font-weight:900}.health-summary{display:flex;align-items:baseline;gap:11px;padding:16px;border-radius:17px;background:#f7f6fc;margin:8px 0 12px}.health-summary strong{font-size:1.9rem}.health-summary span{color:var(--muted)}.privacy-gate{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start;background:#faf9fd}.privacy-gate>span{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:#efedf5;font-size:20px}.privacy-gate h2{margin:0 0 5px}.privacy-gate p{margin:0;color:var(--muted)}.center-settings-form{display:grid;gap:20px}.center-settings-divider{height:1px;background:var(--line)}.center-settings-form .field small{display:block;margin-top:5px;color:var(--muted);font-size:.73rem}.center-copy-url{padding:14px 16px;border:1px dashed #cbc2f1;border-radius:15px;background:#faf9ff}.admin-table td>small,.admin-table td small{display:block;color:var(--muted)}
@media(max-width:1100px){.center-kpis{grid-template-columns:1fr 1fr}.center-grid-2{grid-template-columns:1fr}.center-add-person{grid-template-columns:1fr}}
@media(max-width:780px){.center-sidebar{display:none}.center-main{margin-left:0;padding:22px 15px calc(36px + env(safe-area-inset-bottom))}.center-top{align-items:flex-start}.center-top-actions .button{min-height:44px;padding:9px 12px;font-size:.78rem}.center-hero{grid-template-columns:1fr;padding:22px;border-radius:23px}.center-plan-badge{text-align:left;min-width:0}.center-kpis{grid-template-columns:1fr 1fr;gap:8px}.center-kpis article{padding:15px}.center-kpis strong{font-size:1.45rem}.center-card{padding:17px;border-radius:20px}.center-add-form{grid-template-columns:1fr}.center-add-form .center-check{grid-column:auto}.center-member-head{align-items:flex-start}.admin-table-wrap{overflow-x:auto}.center-body .admin-table{min-width:760px}}
@media(max-width:470px){.center-kpis{grid-template-columns:1fr}.center-top{display:block}.center-top-actions{margin-top:12px}.center-member-list>a{grid-template-columns:12px minmax(0,1fr)}.center-member-list time{grid-column:2}.center-member-head{display:block}.center-member-head .pill{margin-top:8px}}
.center-exercise-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:22px;align-items:end;margin-bottom:18px}.center-exercise-intro h2{margin:0 0 5px}.center-exercise-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.center-exercise-search input{min-height:48px;padding:0 14px;border:1px solid var(--line-strong);border-radius:14px}.center-exercise-search-results{display:grid;grid-template-columns:1fr 1fr;gap:10px}.center-exercise-search-results article{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:17px;background:#fbfbfd}.center-exercise-thumb{width:54px;height:54px;border-radius:13px;overflow:hidden;display:grid;place-items:center;background:#eeecf8;color:var(--primary);font-size:20px}.center-exercise-thumb img{width:100%;height:100%;object-fit:cover}.center-exercise-search-results b,.center-exercise-search-results small{display:block}.center-exercise-search-results small{margin-top:2px;color:var(--muted);font-size:.72rem}.center-add-exercise-mini .button{min-height:38px;padding:7px 11px;font-size:.76rem}.center-exercise-config-list{display:grid;gap:12px}.center-exercise-config-list>article{position:relative;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fafafe}.center-exercise-config-list>article.is-off{opacity:.68}.center-exercise-config-head{display:flex;justify-content:space-between;gap:15px;align-items:start;margin-bottom:12px}.center-exercise-config-head b,.center-exercise-config-head small{display:block}.center-exercise-config-head small{color:var(--muted);font-size:.75rem}.center-exercise-config-head>a{color:var(--primary);font-size:.76rem;font-weight:850}.center-exercise-config-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.center-exercise-config-form .full{grid-column:1/-1}.center-exercise-config-actions{display:flex;align-items:end;justify-content:flex-end}.center-exercise-config-form .button{min-height:42px}.center-remove-exercise{position:absolute;right:16px;bottom:14px}.center-remove-exercise button{border:0;background:transparent;color:#a34c5f;font-size:.7rem;font-weight:850;cursor:pointer}.center-exercise-user-banner{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;padding:17px 19px;margin:0 0 16px;border:1px solid #dcd6f5;border-radius:20px;background:linear-gradient(115deg,#fff,#f6f3ff);box-shadow:var(--shadow-sm)}.center-exercise-user-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:22px;font-weight:900}.center-exercise-user-banner h2{margin:0 0 2px;font-size:1.08rem}.center-exercise-user-banner p{margin:0;color:var(--muted);font-size:.86rem}.center-exercise-user-banner .eyebrow{margin-bottom:2px}
@media(max-width:900px){.center-exercise-intro{grid-template-columns:1fr}.center-exercise-search-results{grid-template-columns:1fr}}
@media(max-width:620px){.center-exercise-search{grid-template-columns:1fr}.center-exercise-config-form{grid-template-columns:1fr}.center-exercise-config-form .full{grid-column:auto}.center-exercise-config-actions{justify-content:flex-start;padding-bottom:24px}.center-exercise-search-results article{grid-template-columns:48px minmax(0,1fr)}.center-exercise-search-results article>.pill,.center-exercise-search-results article>form{grid-column:2;justify-self:start}.center-exercise-thumb{width:48px;height:48px}}

/* 2.4.0 · navegación responsive del panel del centro */
.center-mobile-nav{display:none}
@media(max-width:780px){
  .center-mobile-nav{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 -15px 18px;padding:0 15px 6px;scroll-snap-type:x proximity}
  .center-mobile-nav::-webkit-scrollbar{display:none}
  .center-mobile-nav a{flex:0 0 auto;min-width:94px;min-height:62px;padding:8px 12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm);display:grid;place-items:center;gap:2px;color:var(--muted);font-weight:850;scroll-snap-align:start}
  .center-mobile-nav a>span{font-size:18px;line-height:1}
  .center-mobile-nav a>small{font-size:.67rem;white-space:nowrap}
  .center-mobile-nav a.active{border-color:color-mix(in srgb,var(--primary) 32%,#fff);background:var(--primary-soft);color:var(--primary)}
}

/* 2.4.0 · acceso PWA al panel del centro para propietarios/entrenadores */
.mobile-center-link{display:none}
@media(max-width:980px){
  .mobile-center-link{display:inline-flex;align-items:center;gap:5px;min-height:42px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-radius:13px;background:var(--primary-soft);color:var(--primary);font-weight:900}
  .mobile-center-link>span{font-size:16px;line-height:1}
  .mobile-center-link>small{font-size:.68rem}
}
@media(max-width:410px){.mobile-center-link{width:40px;padding:7px;justify-content:center}.mobile-center-link>small{display:none}}


/* =====================================================================
   FitMentor 2.4.1 · Socios y equipo premium + corrección panel /center
   ===================================================================== */
.center-member-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px}.center-member-kpis article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.center-kpi-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:19px}.center-member-kpis small,.center-member-kpis strong,.center-member-kpis article div>span{display:block}.center-member-kpis small{font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted)}.center-member-kpis strong{font-size:1.55rem;line-height:1.1;margin:3px 0;color:var(--ink)}.center-member-kpis article div>span{font-size:.72rem;color:var(--muted)}
.center-members-card{padding:0;overflow:hidden}.center-members-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:24px 24px 18px;border-bottom:1px solid var(--line)}.center-members-head h2{margin:0 0 4px;font-size:1.4rem}.center-members-head p:not(.eyebrow){margin:0;color:var(--muted);font-size:.84rem}.center-members-search{display:grid;grid-template-columns:minmax(260px,360px) auto;gap:9px;align-items:center}.center-search-field{min-height:47px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 13px;border:1px solid var(--line-strong);border-radius:14px;background:#fafbfe;transition:.18s}.center-search-field:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-soft);background:#fff}.center-search-field>span{color:var(--muted);font-size:18px}.center-search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);min-width:0}.center-members-search .button{min-height:47px;padding:10px 15px;box-shadow:none}
.center-members-table-wrap{overflow:auto;padding:5px 18px 18px}.center-members-table{width:100%;border-collapse:separate;border-spacing:0 9px;min-width:980px}.center-members-table th{text-align:left;padding:0 11px 4px;font-size:.66rem;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:900}.center-members-table td{padding:13px 11px;background:#fbfbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:middle;font-size:.8rem}.center-members-table td:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.center-members-table td:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.center-members-table tbody tr:hover td{background:#f8f7ff}.center-person-cell{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:205px}.center-person-avatar{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:.75rem;font-weight:950;box-shadow:0 8px 18px color-mix(in srgb,var(--primary) 18%,transparent)}.center-person-cell b,.center-person-cell small{display:block}.center-person-cell b{font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.center-person-cell small{margin-top:2px;color:var(--muted);font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.center-role-pill,.center-data-pill,.status-pill{display:inline-flex;align-items:center;min-height:29px;padding:5px 9px;border-radius:999px;font-size:.68rem;font-weight:900;white-space:nowrap}.center-role-pill{background:#f0f1f5;color:#586174}.center-role-pill.role-owner{background:#ede9ff;color:#5a42c7}.center-role-pill.role-trainer{background:#e9f4ff;color:#236394}.center-role-pill.role-member{background:#f1f3f6;color:#5e6675}.center-data-pill.neutral{background:#f1f3f6;color:#687080}.center-data-pill.ok,.status-pill.ok{background:#e8fbf2;color:#08734d}.center-data-pill.warn{background:#fff5df;color:#976000}.center-data-pill.off,.status-pill.off{background:#f3f4f6;color:#7b8290}.center-date-value{color:#4d5669;font-weight:750;white-space:nowrap}.center-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;white-space:nowrap}.center-action-link{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#4e5870;font-size:.7rem;font-weight:900}.center-action-link.primary{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));background:var(--primary-soft);color:var(--primary)}.center-action-link span{font-size:16px;line-height:1}.center-status-action{margin:0}.center-status-action button{min-height:34px;padding:6px 9px;border:0;border-radius:10px;background:#eef9f4;color:#08734d;font-size:.68rem;font-weight:900;cursor:pointer}.center-status-action button.danger{background:#fff1f3;color:#a2384e}.center-members-empty td{text-align:center!important;padding:35px!important;color:var(--muted);border:0!important;background:transparent!important}
.center-add-person-premium{margin-top:18px;background:linear-gradient(135deg,#fff,#fbfaff)}.center-add-copy h2{margin:0 0 5px}.center-invite-box{margin-top:17px;padding:14px 15px;border:1px dashed #cbc3ed;border-radius:16px;background:#f8f6ff}.center-invite-box span,.center-invite-box code,.center-invite-box small{display:block}.center-invite-box span{font-size:.69rem;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--primary)}.center-invite-box code{margin:5px 0;overflow-wrap:anywhere;color:#4433a8;font-size:.74rem}.center-invite-box small{color:var(--muted);font-size:.69rem}.center-add-form-premium{align-self:center}.center-health-permission{padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fafbfe}.center-health-permission span,.center-health-permission b,.center-health-permission small{display:block}.center-health-permission b{color:var(--ink);font-size:.78rem}.center-health-permission small{margin-top:2px;color:var(--muted);font-size:.68rem;line-height:1.4}
@media(max-width:1180px){.center-member-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.center-members-head{align-items:stretch;flex-direction:column}.center-members-search{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:780px){.center-member-kpis{grid-template-columns:1fr 1fr}.center-member-kpis article{padding:14px}.center-members-card{overflow:visible}.center-members-head{padding:18px 16px;border-radius:20px 20px 0 0}.center-members-search{grid-template-columns:1fr}.center-members-search .button{width:100%}.center-members-table-wrap{overflow:visible;padding:8px 0 0}.center-members-table{display:block;min-width:0;border-spacing:0}.center-members-table thead{display:none}.center-members-table tbody{display:grid;gap:10px}.center-members-table tr{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.center-members-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:#fff!important;min-width:0}.center-members-table td::before{content:attr(data-label);color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:900}.center-members-table td.person{grid-column:1/-1;padding:14px!important}.center-members-table td.person::before{display:none}.center-person-cell{width:100%;min-width:0}.center-person-cell b,.center-person-cell small{max-width:none}.center-members-table td.actions{grid-column:1/-1;border-bottom:0!important}.center-row-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}.center-members-table td:nth-last-child(2){border-bottom:0!important}.center-add-person-premium{margin-top:12px}.center-add-form-premium{width:100%}}
@media(max-width:480px){.center-member-kpis{grid-template-columns:1fr}.center-members-table tr{grid-template-columns:1fr}.center-members-table td{grid-column:1/-1}.center-members-table td:nth-last-child(2){border-bottom:1px solid var(--line)!important}.center-members-table td.actions{border-bottom:0!important}.center-row-actions>*{flex:1}.center-action-link,.center-status-action button{width:100%;justify-content:center}.center-status-action{flex:1}}

/* 2.5.0 · portal público de cada centro y separación de roles */
.center-portal-body{margin:0;min-height:100dvh;background:radial-gradient(circle at 82% 10%,color-mix(in srgb,var(--primary2) 16%,transparent),transparent 30%),linear-gradient(180deg,#fbfcff 0,#f4f6fb 100%);color:#10182d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.center-portal-shell{width:min(1240px,calc(100% - 36px));margin:0 auto;min-height:100dvh}.center-portal-nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.center-portal-brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none}.center-portal-brand>span:last-child{display:grid}.center-portal-brand b{font-size:1.05rem;font-weight:950}.center-portal-brand small{font-size:.67rem;color:#778097;font-weight:750;margin-top:2px}.center-portal-logo{width:52px;height:52px;border-radius:16px;background:#fff;border:1px solid #e5e8f1;display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 28px rgba(25,33,65,.08);color:var(--primary)}.center-portal-logo img{width:100%;height:100%;object-fit:contain}.center-portal-nav-actions,.center-portal-actions{display:flex;align-items:center;gap:11px}.center-portal-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.72fr);gap:58px;align-items:center;padding:62px 0 54px}.center-portal-copy h1{max-width:760px;margin:13px 0 18px;font-size:clamp(2.55rem,5.4vw,5rem);line-height:.98;letter-spacing:-.055em}.center-portal-copy h1 span{color:var(--primary)}.center-portal-copy>p{max-width:700px;color:#626c82;font-size:clamp(1rem,1.6vw,1.23rem);line-height:1.7}.center-portal-actions{margin-top:28px}.center-portal-trust{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:27px;color:#59647a;font-size:.83rem;font-weight:800}.center-portal-trust span:before{color:#0a9767}.center-portal-coach-card{position:relative;min-height:500px;border-radius:34px;overflow:hidden;background:linear-gradient(145deg,#07172c 0,color-mix(in srgb,var(--primary) 55%,#06172d) 54%,color-mix(in srgb,var(--primary2) 74%,#041426) 100%);box-shadow:0 30px 70px rgba(19,31,64,.2);isolation:isolate}.center-portal-coach-glow{position:absolute;width:330px;height:330px;border-radius:50%;right:-100px;top:-80px;background:color-mix(in srgb,var(--primary2) 52%,transparent);filter:blur(25px);opacity:.7;z-index:-1}.center-portal-coach-avatar{width:100%;height:100%;min-height:500px;position:absolute;inset:0;object-fit:cover;object-position:center top}.center-portal-coach-placeholder{position:absolute;inset:0;display:grid;place-items:center;font-size:8rem;font-weight:950;color:rgba(255,255,255,.12)}.center-portal-coach-info{position:absolute;left:24px;right:24px;bottom:24px;padding:22px 24px;border-radius:22px;background:rgba(5,15,32,.74);backdrop-filter:blur(13px);color:#fff;border:1px solid rgba(255,255,255,.13)}.center-portal-coach-info small{font-size:.65rem;letter-spacing:.13em;color:#bcd9ef;font-weight:900}.center-portal-coach-info h2{margin:5px 0 2px;font-size:2rem}.center-portal-coach-info p{margin:0;color:#d8e3ef}.center-portal-coach-info span{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:999px;background:rgba(25,219,162,.15);color:#87f3d1;font-size:.67rem;font-weight:900}.center-portal-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:0 0 42px}.center-portal-features article{padding:24px;border-radius:22px;background:#fff;border:1px solid #e7eaf2;box-shadow:0 13px 34px rgba(29,39,71,.055)}.center-portal-features article>span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--primary) 10%,#fff);color:var(--primary);font-weight:950;font-size:.72rem}.center-portal-features h3{margin:15px 0 7px;font-size:1.02rem}.center-portal-features p{margin:0;color:#70798c;font-size:.85rem;line-height:1.55}.center-portal-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid #e3e7f0;color:#8991a2;font-size:.73rem}.center-assignment-card{display:flex;align-items:center;justify-content:space-between;gap:22px}.center-assignment-card h2{margin:3px 0 5px}.center-assignment-form{display:flex;align-items:center;gap:10px;min-width:min(100%,520px)}.center-assignment-form select{flex:1;min-height:46px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:0 12px}.center-role-pill.role-owner{background:#ede9ff;color:#5a42c7}.center-role-pill.role-owner:before{content:"◆";font-size:.55rem;margin-right:5px}.center-invite-box code,.notice code{word-break:break-all}.center-top-actions{flex-wrap:wrap}.center-commercial-stack code{word-break:break-word}
@media(max-width:860px){.center-portal-shell{width:min(100% - 24px,680px)}.center-portal-nav{min-height:76px}.center-portal-nav-actions .public-link{display:none}.center-portal-hero{grid-template-columns:1fr;gap:28px;padding:35px 0 34px}.center-portal-copy h1{font-size:clamp(2.3rem,11vw,4.1rem)}.center-portal-coach-card,.center-portal-coach-avatar{min-height:440px}.center-portal-features{grid-template-columns:1fr}.center-assignment-card{align-items:stretch;flex-direction:column}.center-assignment-form{min-width:0;width:100%}.center-portal-footer{flex-direction:column;gap:5px}.center-top-actions a:first-child{display:none}}
@media(max-width:520px){.center-portal-shell{width:calc(100% - 20px)}.center-portal-brand small{display:none}.center-portal-logo{width:46px;height:46px}.center-portal-nav-actions .public-button{padding:10px 13px}.center-portal-actions{align-items:stretch;flex-direction:column}.center-portal-actions .public-button{text-align:center;justify-content:center}.center-portal-coach-card,.center-portal-coach-avatar{min-height:390px}.center-portal-coach-info{left:14px;right:14px;bottom:14px;padding:18px}.center-assignment-form{flex-direction:column;align-items:stretch}}

/* FitMentor 2.5.3 · altas del centro premium */
.center-onboarding-section{margin-top:20px}.center-onboarding-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 14px;padding:0 3px}.center-onboarding-heading h2{margin:2px 0 3px;font-size:1.45rem;letter-spacing:-.025em}.center-onboarding-heading>div>p:last-child{margin:0;color:var(--muted);font-size:.82rem}.center-onboarding-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.center-onboarding-card{min-width:0;padding:23px;display:flex;flex-direction:column;gap:0;box-shadow:0 16px 42px rgba(30,40,75,.065);border-color:#e5e8f0;overflow:hidden}.center-onboarding-card--portal{background:linear-gradient(145deg,#fff 0,#faf9ff 100%)}.center-onboarding-card--team{background:linear-gradient(145deg,#fff 0,#f8fbff 100%)}.center-onboarding-card-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}.center-onboarding-card-head .eyebrow{margin:0 0 2px;font-size:.61rem}.center-onboarding-card-head h3{margin:0;font-size:1.2rem;line-height:1.15;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal;hyphens:none}.center-onboarding-icon{flex:0 0 auto;width:43px;height:43px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:1.05rem;font-weight:950;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 22%,transparent)}.center-onboarding-copy{margin:0 0 17px;color:var(--muted);font-size:.78rem;line-height:1.6;min-height:3.75em}.center-public-url{padding:13px 14px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-radius:14px;background:#fff}.center-public-url span,.center-public-url code{display:block}.center-public-url span{font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;font-weight:950;color:var(--primary)}.center-public-url code{margin-top:5px;color:#3f3499;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.center-onboarding-note{margin:10px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}.center-onboarding-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:18px}.center-onboarding-actions .button{min-height:43px;padding:10px 13px;font-size:.73rem;box-shadow:none}.center-onboarding-form{display:grid;gap:12px;margin-top:auto}.center-onboarding-form .field label{font-size:.72rem;margin-bottom:5px}.center-onboarding-form .field input,.center-onboarding-form .field select{min-height:46px;padding:11px 12px;border-radius:12px}.center-onboarding-form>.button{min-height:46px;justify-self:stretch;margin-top:1px}.center-onboarding-card button:disabled{opacity:.72;cursor:default}
@media(max-width:1250px){.center-onboarding-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.center-onboarding-card--portal{grid-column:1/-1}.center-onboarding-card--portal .center-onboarding-copy{min-height:0}.center-onboarding-card--portal .center-onboarding-actions{margin-top:0}}
@media(max-width:760px){.center-onboarding-heading{align-items:flex-start}.center-onboarding-heading h2{font-size:1.3rem}.center-onboarding-grid{grid-template-columns:1fr}.center-onboarding-card--portal{grid-column:auto}.center-onboarding-card{padding:19px;border-radius:20px}.center-onboarding-copy{min-height:0}.center-onboarding-actions{display:grid;grid-template-columns:1fr}.center-onboarding-actions .button{width:100%}.center-onboarding-card-head h3{font-size:1.13rem}}
@media(max-width:390px){.center-onboarding-card{padding:16px}.center-onboarding-icon{width:39px;height:39px;border-radius:12px}.center-onboarding-card-head{gap:10px}.center-onboarding-card-head h3{font-size:1.06rem}.center-onboarding-copy{font-size:.75rem}}

/* ========================================================================
   FitMentor 2.6.0 · Coaching humano + IA
   ===================================================================== */
.human-ai-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;border-radius:999px;background:linear-gradient(135deg,rgba(91,92,226,.12),rgba(16,185,129,.12));border:1px solid rgba(91,92,226,.18);font-size:.78rem;font-weight:800;color:#323a63;white-space:nowrap}.coaching-hero-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff 0%,#f6f7ff 70%,#effcf8 100%)}.coaching-settings-stack{display:grid;gap:20px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:4px 0 8px}.permission-card{display:flex;gap:12px;align-items:flex-start;padding:15px;border:1px solid #e5e7f0;border-radius:16px;background:#fafbff;cursor:pointer}.permission-card input{width:19px;height:19px;flex:0 0 auto;margin-top:2px}.permission-card span{display:grid;gap:3px}.permission-card b{font-size:.94rem;color:#161c31}.permission-card small{color:#6b7280;line-height:1.45}.coaching-center-policy{margin-top:20px}
.member-coaching-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.member-coaching-action{display:flex;align-items:center;gap:13px;min-height:100px;padding:17px 18px;border:1px solid #e5e7ef;border-radius:18px;background:#fff;text-decoration:none;color:#171b2d;box-shadow:0 8px 28px rgba(19,28,63,.05);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.member-coaching-action:hover{transform:translateY(-2px);border-color:rgba(91,92,226,.35);box-shadow:0 12px 30px rgba(19,28,63,.09)}.member-coaching-action>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f1f2ff;font-size:1.18rem;flex:0 0 auto}.member-coaching-action>div{display:grid;gap:4px;min-width:0}.member-coaching-action b{font-size:.96rem}.member-coaching-action small{color:#6d7280;line-height:1.35}.member-coaching-action em{margin-left:auto;font-style:normal;color:#777be3;font-size:1.15rem}.member-coaching-action.disabled{opacity:.62;background:#fafafa}.lock-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.42rem .65rem;border-radius:999px;background:#eefbf6;border:1px solid #c7efe0;color:#167357;font-size:.76rem;font-weight:800;white-space:nowrap}.lock-chip.small{font-size:.68rem;padding:.3rem .52rem}
.coach-plan-day{display:grid;gap:18px}.coach-day-edit{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(240px,1.5fr) auto;gap:10px;padding:12px;border:1px solid #eceef5;border-radius:15px;background:#fafbff}.coach-day-edit input{min-width:0}.coach-exercise-list{display:grid;gap:12px}.coach-exercise-row{padding:16px;border:1px solid #e7e9f1;border-radius:18px;background:#fff}.coach-exercise-name{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:13px}.coach-exercise-name b{font-size:1rem}.coach-exercise-name small{color:#7a8090}.coach-exercise-form{display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));gap:9px;align-items:end}.coach-exercise-form label,.coach-meal-form label{display:grid;gap:5px;font-size:.73rem;font-weight:800;color:#656b7d}.coach-exercise-form .wide{grid-column:span 3}.coach-exercise-form input,.coach-meal-form input,.coach-meal-form textarea,.coach-day-edit input,.coach-add-exercise select{width:100%;border:1px solid #dfe2eb;border-radius:11px;padding:.7rem .76rem;background:#fff;color:#151927;font:inherit}.coach-row-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:11px}.coach-row-actions form{margin:0}.text-danger,.text-link{border:0;background:transparent;padding:0;font:inherit;cursor:pointer;font-size:.78rem;font-weight:800}.text-danger{color:#b42318}.text-link{color:#555bd8}.coach-add-exercise{display:flex;gap:10px;padding-top:4px}.coach-add-exercise select{flex:1;min-width:0}
.coach-nutrition-day{display:grid;gap:12px}.coach-meal-list{display:grid;gap:12px}.coach-meal-row{border:1px solid #e7e9f1;border-radius:18px;padding:16px;background:#fff}.coach-meal-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.coach-meal-heading>div{display:flex;align-items:center;gap:9px}.coach-meal-form{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px;align-items:end}.coach-meal-form .wide{grid-column:span 4}.coaching-action-grid{align-items:start}.ai-review-card,.ai-approval-card{display:grid;gap:16px}.ai-review-result,.ai-approval-item{border:1px solid #e4e7f0;border-radius:18px;padding:17px;background:linear-gradient(180deg,#fff,#fafbff)}.ai-review-result>div:first-child,.ai-approval-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-review-text{margin-top:13px;line-height:1.62;color:#30364b}.ai-approval-list{display:grid;gap:12px}.ai-approval-item h3{margin:.65rem 0 .35rem}.ai-approval-item>p{color:#565e72;line-height:1.55}.approval-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#dedcff;background:linear-gradient(135deg,#faf9ff,#f4fbff)}.approval-alert>div{display:flex;align-items:center;gap:14px}.approval-alert-icon{display:grid;place-items:center;width:47px;height:47px;border-radius:15px;background:#5b5ce2;color:#fff;font-size:1.25rem}.approval-alert h2{margin:.1rem 0 .15rem;font-size:1.1rem}.approval-alert p{margin:0;color:#687086}.coach-note-list{display:grid;gap:11px}.coach-note-list>article{padding:14px;border:1px solid #e9eaf1;border-radius:15px;background:#fcfcff}.coach-note-list>article>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center}.coach-note-list p{line-height:1.55;color:#3c4255}.coaching-timeline{display:grid;gap:0}.coaching-timeline article{position:relative;display:flex;gap:13px;padding:0 0 17px 4px}.coaching-timeline article:not(:last-child):before{content:"";position:absolute;left:8px;top:16px;bottom:0;width:1px;background:#e1e3eb}.timeline-dot{position:relative;z-index:1;width:10px;height:10px;margin-top:5px;border-radius:50%;background:#5b5ce2;box-shadow:0 0 0 4px #efefff;flex:0 0 auto}.coaching-timeline article>div{display:grid;gap:3px}.coaching-timeline small{color:#7a8090}
.human-coach-dashboard{margin:22px 0}.human-coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.human-coach-card{padding:19px;border:1px solid #e2e7ef;border-radius:20px;background:linear-gradient(135deg,#fff,#f8fffc);box-shadow:0 8px 26px rgba(24,36,62,.05)}.human-coach-card-head{display:flex;align-items:center;gap:9px;margin-bottom:13px}.human-coach-card-head>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#eaf9f3;color:#16805f}.human-note{padding:11px 0;border-top:1px solid #edf0f3}.human-note:first-of-type{border-top:0;padding-top:0}.human-note small{color:#748094}.human-note p{margin:.35rem 0 0;line-height:1.5}.human-task{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-top:1px solid #edf0f3}.human-task:first-of-type{border-top:0;padding-top:0}.human-task>div{display:grid;gap:3px}.human-task small{color:#758092}.task-complete-button{border:1px solid #bfdfd3;background:#effbf6;color:#12684f;border-radius:999px;padding:.55rem .8rem;font-weight:800;font-size:.75rem;white-space:nowrap;cursor:pointer}

@media(max-width:1100px){.member-coaching-actions{grid-template-columns:1fr 1fr}.member-coaching-action:last-child{grid-column:1/-1}.coach-exercise-form{grid-template-columns:repeat(3,minmax(90px,1fr))}.coach-exercise-form .wide{grid-column:span 2}}
@media(max-width:760px){.coaching-hero-card,.approval-alert{align-items:flex-start;flex-direction:column}.permission-grid,.member-coaching-actions,.human-coach-grid{grid-template-columns:1fr}.member-coaching-action:last-child{grid-column:auto}.coach-day-edit{grid-template-columns:1fr}.coach-exercise-form{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-exercise-form .wide{grid-column:1/-1}.coach-exercise-form .button{grid-column:1/-1}.coach-add-exercise{flex-direction:column}.coach-meal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.coach-meal-form .wide{grid-column:1/-1}.coach-meal-form .button{grid-column:1/-1}.coach-meal-heading{align-items:flex-start;flex-direction:column}.human-task{align-items:flex-start;flex-direction:column}.task-complete-button{width:100%}.ai-review-result>div:first-child,.ai-approval-meta{align-items:flex-start;flex-direction:column}.human-ai-badge{white-space:normal}}
.inline-lock-form{margin:.45rem 0 0}.inline-lock-form .text-link{display:block;margin-left:auto}.admin-section-head>div:last-child:has(.lock-chip){text-align:right}
@media(max-width:760px){.admin-section-head>div:last-child:has(.lock-chip){text-align:left}.inline-lock-form .text-link{margin-left:0}}

/* ========================================================================
   FitMentor 2.7.0 · Simple Experience
   La complejidad permanece en backend; la interfaz enseña solo lo frecuente.
   ===================================================================== */
.center-simple-experience .center-sidebar nav a{min-height:48px}
.center-simple-experience .center-top{margin-bottom:18px}
.simple-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin:0 0 18px;padding:22px 24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fff,#f7f8ff);box-shadow:var(--shadow-sm)}
.simple-page-intro h2{margin:.1rem 0 .35rem;font-size:1.55rem;letter-spacing:-.025em}.simple-page-intro p:last-child{margin:0;color:var(--muted);max-width:760px;line-height:1.55}
.simple-kpis{display:grid;gap:12px;margin:0 0 18px}.simple-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-kpis article{padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.simple-kpis span,.simple-kpis small{display:block;color:var(--muted)}.simple-kpis span{font-size:.78rem;font-weight:850}.simple-kpis strong{display:block;margin:5px 0 2px;font-size:1.75rem;letter-spacing:-.035em}.simple-kpis article.warning{border-color:#f0c9a8;background:#fffaf5}
.simple-center-hero{margin-bottom:16px}.simple-center-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.simple-center-actions>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:120px;text-decoration:none;color:var(--ink);transition:.18s ease}.simple-center-actions>a:hover{transform:translateY(-2px);border-color:rgba(91,92,226,.3);box-shadow:0 16px 34px rgba(20,27,55,.08)}.simple-center-actions>a>span,.simple-setting-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(135deg,#efefff,#eef9f6);color:#5356ca;font-weight:900}.simple-center-actions h2{margin:0 0 5px;font-size:1.04rem}.simple-center-actions p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.simple-center-actions em{font-style:normal;color:#696ee0;font-size:1.25rem}
.simple-member-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.center-simple-experience .center-members-table th:nth-child(5),.center-simple-experience .center-members-table td:nth-child(5){white-space:nowrap}
.simple-member-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.simple-member-actions .member-coaching-action:last-child{grid-column:auto}.simple-member-actions .member-coaching-action{min-height:116px}.simple-member-actions .member-coaching-action>span{font-size:.95rem;font-weight:900}
.simple-plan-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.simple-plan-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:15px;align-items:start}.simple-plan-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f0f1ff;font-size:1.25rem}.simple-plan-card h2{margin:.1rem 0 .35rem;font-size:1.2rem}.simple-plan-card p{margin:.2rem 0;color:var(--muted);line-height:1.5}.simple-plan-days{display:grid;gap:7px;margin-top:13px}.simple-plan-days span{display:flex;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #eceef4;border-radius:11px;background:#fafbff}.simple-plan-days b{font-size:.8rem}.simple-plan-days small{color:var(--muted);font-size:.7rem}.simple-plan-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}.simple-plan-meta span{padding:8px 10px;border-radius:11px;background:#f7f8fc;color:#686e7e;font-size:.74rem}.simple-plan-meta b{color:var(--ink)}.simple-plan-actions{grid-column:1/-1;padding-top:8px}.simple-private-note{display:block;padding:10px 12px;border-radius:12px;background:#fff8ed;color:#7a5428;font-size:.78rem;line-height:1.45}.simple-human-ai-note{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#fbfbff,#f3fbf8)}.simple-human-ai-note>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#5b5ce2;color:#fff}.simple-human-ai-note h2{margin:0 0 4px;font-size:1.05rem}.simple-human-ai-note p{margin:0;color:var(--muted)}
.simple-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.simple-access-options label{position:relative;display:block;cursor:pointer}.simple-access-options input{position:absolute;opacity:0;pointer-events:none}.simple-access-options span{display:grid;gap:4px;height:100%;padding:15px;border:1px solid #e4e6ef;border-radius:16px;background:#fff;transition:.16s ease}.simple-access-options b{font-size:.9rem}.simple-access-options small{color:var(--muted);font-size:.73rem;line-height:1.4}.simple-access-options input:checked+span{border-color:#8b82ea;background:#f5f4ff;box-shadow:0 0 0 2px rgba(91,92,226,.08)}.simple-privacy-explainer{display:flex;gap:12px;align-items:flex-start;padding:14px 15px;border:1px solid #d9ede4;border-radius:16px;background:#f3fbf7}.simple-privacy-explainer>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#159766;color:#fff;font-weight:900;flex:0 0 auto}.simple-privacy-explainer b{font-size:.9rem}.simple-privacy-explainer p{margin:.3rem 0 0;color:#577067;font-size:.76rem;line-height:1.5}
.simple-advanced{margin-top:14px}.simple-advanced>summary{cursor:pointer;list-style:none;font-weight:850;color:#4e5367;padding:2px 0}.simple-advanced>summary::-webkit-details-marker{display:none}.simple-advanced>summary:after{content:'+';float:right;color:#6a6fd9;font-size:1.2rem}.simple-advanced[open]>summary:after{content:'−'}.simple-advanced[open]>summary{margin-bottom:17px}.simple-save-main{margin-top:15px;min-width:210px}
.simple-method-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#fff,#f5f6ff)}.simple-method-hero h2{margin:.15rem 0 .35rem}.simple-method-hero p:last-child{margin:0;color:var(--muted);line-height:1.55}.simple-method-form{display:grid;gap:14px}.method-preset-row{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.method-preset-row button{border:1px solid #dedfeb;background:#fff;color:#53596d;border-radius:999px;padding:9px 13px;font-weight:800;cursor:pointer}.method-preset-row button:hover{border-color:#9d94ed;background:#f6f5ff;color:#5148bf}.simple-method-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.simple-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.simple-setting-card{display:grid;gap:15px;align-content:start}.simple-setting-card>div:first-of-type h2{margin:.1rem 0 .35rem}.simple-setting-card>div:first-of-type p:last-child{margin:0;color:var(--muted);line-height:1.5}.simple-equipment-card{grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.simple-center-settings>.simple-advanced{margin-top:15px}
.simple-feed{display:grid;gap:8px}.simple-feed-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:11px;align-items:center;padding:12px;border:1px solid #e9ebf2;border-radius:14px;text-decoration:none;color:var(--ink);background:#fff}.simple-feed-item:hover{border-color:#bbb8ed;background:#faf9ff}.simple-feed-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f1f2ff;color:#575bd0;font-weight:900;font-size:.75rem}.simple-feed-item b{font-size:.86rem}.simple-feed-item p{margin:3px 0;color:#555d70;font-size:.78rem;line-height:1.45}.simple-feed-item small{color:#8a8f9e;font-size:.69rem}.simple-feed-item em{font-style:normal;color:#6b70dd;font-size:1.1rem}.simple-ai-approval{margin-top:15px;border-color:#dddaf8;background:#fcfbff}
.center-consent-card .accessibility-row{border-radius:16px}.center-consent-card .privacy-chip{white-space:nowrap}
@media(max-width:1180px){.simple-center-actions{grid-template-columns:1fr 1fr}.simple-center-actions>a:last-child{grid-column:1/-1}.simple-member-actions{grid-template-columns:1fr 1fr}.simple-plan-grid,.simple-settings-grid{grid-template-columns:1fr}.simple-equipment-card{grid-column:auto}.simple-access-options{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.simple-page-intro,.simple-method-hero{align-items:flex-start;flex-direction:column;padding:18px}.simple-kpis.three,.simple-member-kpis{grid-template-columns:1fr 1fr!important}.simple-center-actions,.simple-member-actions,.simple-plan-grid,.simple-settings-grid,.simple-access-options,.simple-method-two{grid-template-columns:1fr}.simple-center-actions>a:last-child{grid-column:auto}.simple-member-actions .member-coaching-action{min-height:88px}.simple-plan-card{grid-template-columns:auto minmax(0,1fr)}.simple-equipment-card{grid-template-columns:auto minmax(0,1fr)}.simple-equipment-card .button{grid-column:1/-1;width:100%}.simple-save-main{width:100%}.simple-stack-mobile{grid-template-columns:1fr!important}.simple-page-intro .button{width:100%}.center-simple-experience .center-top-actions .button:first-child{display:none}}
@media(max-width:430px){.simple-kpis.three,.simple-member-kpis{grid-template-columns:1fr!important}.simple-plan-days span{display:grid}.simple-page-intro h2{font-size:1.3rem}}

/* =====================================================================
   FitMentor 2.8.0 · Web comercial + ayuda contextual
   ===================================================================== */
.fm-commercial-body{background:#f7f8fc;color:#152038}.fm-commercial-shell{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 88% 4%,rgba(116,92,246,.13),transparent 23%),radial-gradient(circle at 8% 34%,rgba(28,176,135,.07),transparent 21%),#f7f8fc}.fm-commercial-nav{max-width:1320px;padding-top:22px;padding-bottom:22px}.fm-commercial-nav .public-brand em{font-style:normal;color:var(--primary);font-size:.72em;margin-left:2px}.fm-commercial-hero{width:min(1320px,calc(100% - 56px));margin:0 auto;min-height:690px;padding:70px 0 82px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(480px,.97fr);gap:70px;align-items:center}.fm-commercial-hero-copy h1{max-width:760px;margin:22px 0 24px;font-size:clamp(52px,6.2vw,86px);line-height:.96;letter-spacing:-.06em;color:#161d35}.fm-commercial-hero-copy h1 span{display:block;background:linear-gradient(135deg,#5b5ce2 10%,#8b5cf6 65%,#13a87d);-webkit-background-clip:text;background-clip:text;color:transparent}.fm-commercial-hero-copy>p{max-width:720px;margin:0;color:#5f697d;font-size:19px;line-height:1.75}.fm-hero-primary{min-width:230px}.fm-proof-row{display:flex;gap:10px 18px;flex-wrap:wrap;margin-top:26px;color:#647086;font-size:12px;font-weight:800}.fm-proof-row span{display:flex;align-items:center;gap:7px}.fm-proof-row i{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:#e8fff5;color:#08734e;font-style:normal;font-size:11px}.fm-commercial-visual{position:relative;min-height:570px;display:grid;place-items:center}.fm-visual-orbit{position:absolute;border:1px solid rgba(91,92,226,.13);border-radius:50%}.fm-orbit-one{width:560px;height:560px}.fm-orbit-two{width:430px;height:430px;border-style:dashed;transform:rotate(18deg)}.fm-command-card{position:relative;z-index:2;width:min(100%,590px);padding:18px;border:1px solid rgba(255,255,255,.9);border-radius:32px;background:rgba(255,255,255,.91);box-shadow:0 40px 100px rgba(39,46,89,.18);backdrop-filter:blur(18px);transform:rotate(.5deg)}.fm-command-top{display:flex;justify-content:space-between;align-items:center;padding:7px 8px 18px}.fm-command-top small,.fm-command-top strong{display:block}.fm-command-top small{color:#8a91a1;font-size:10px;letter-spacing:.1em;font-weight:900}.fm-command-top strong{margin-top:3px;font-size:19px}.fm-live-dot{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#e9fbf3;color:#11734f;font-size:10px;font-weight:900}.fm-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#16a16f;box-shadow:0 0 0 4px rgba(22,161,111,.12)}.fm-command-main{display:grid;grid-template-columns:1.1fr .9fr;gap:11px}.fm-command-panel{position:relative;min-height:176px;padding:20px;border:1px solid #e8eaf1;border-radius:20px;background:#fff;overflow:hidden}.fm-command-panel:first-child{grid-row:span 2;min-height:363px;display:flex;flex-direction:column;justify-content:flex-end}.fm-command-panel-dark{background:linear-gradient(150deg,#151b32,#292d5f 66%,#5d4bd0);border-color:transparent;color:#fff}.fm-command-panel .fm-command-icon{position:absolute;top:18px;right:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f0eeff;color:#5f4ecf;font-weight:950}.fm-command-panel-dark .fm-command-icon{background:rgba(255,255,255,.13);color:#fff}.fm-command-panel small,.fm-command-panel strong{display:block}.fm-command-panel small{font-size:9px;letter-spacing:.1em;font-weight:950;color:#8a93a4}.fm-command-panel-dark small{color:#c6cae2}.fm-command-panel strong{max-width:230px;margin-top:8px;font-size:20px;line-height:1.15}.fm-command-panel:first-child strong{font-size:28px}.fm-command-panel p{margin:8px 0 0;color:#70798a;font-size:12px;line-height:1.55}.fm-command-panel-dark p{color:#d2d5e7}.fm-command-ai{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-top:11px;padding:15px;border-radius:18px;background:#f4f2ff;border:1px solid #e5e0ff}.fm-ai-badge{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-size:12px;font-weight:950}.fm-command-ai small,.fm-command-ai b{display:block}.fm-command-ai small{color:#7268a0;font-size:9px;letter-spacing:.08em}.fm-command-ai b{margin-top:3px;color:#37305d;font-size:12px;line-height:1.35}.fm-command-check{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#18a06f;color:#fff;font-weight:950}.fm-commercial-strip{width:min(1320px,calc(100% - 56px));margin:0 auto 95px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4e7ef;border-radius:24px;background:#fff;box-shadow:0 20px 60px rgba(34,42,74,.07);overflow:hidden}.fm-commercial-strip>div{padding:26px 28px}.fm-commercial-strip>div+div{border-left:1px solid #eceef4}.fm-commercial-strip b,.fm-commercial-strip span{display:block}.fm-commercial-strip b{font-size:16px;color:#1f2a45}.fm-commercial-strip span{margin-top:4px;color:#768094;font-size:12px}.fm-commercial-section{width:min(1320px,calc(100% - 56px));margin:0 auto;padding:70px 0}.fm-section-heading{text-align:center;max-width:820px;margin:0 auto 44px}.fm-section-heading-left{text-align:left;margin-left:0;max-width:850px}.fm-section-heading h2{margin:18px 0 14px;font-size:clamp(36px,4.5vw,58px);line-height:1.03;letter-spacing:-.045em;color:#172039}.fm-section-heading p{margin:0;color:#687287;font-size:17px;line-height:1.7}.fm-audience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.fm-audience-card{position:relative;min-height:590px;padding:34px 30px 30px;border:1px solid #e2e5ed;border-radius:28px;background:#fff;box-shadow:0 18px 55px rgba(34,42,74,.07);overflow:hidden;display:flex;flex-direction:column}.fm-audience-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--primary),var(--primary2))}.fm-audience-card.fm-audience-trainer:before{background:linear-gradient(90deg,#161d35,#6254c8)}.fm-audience-card.fm-audience-member:before{background:linear-gradient(90deg,#139b74,#57c99f)}.fm-audience-number{position:absolute;right:22px;top:15px;color:#edf0f5;font-size:62px;font-weight:950;line-height:1}.fm-audience-icon{position:relative;z-index:1;width:58px;height:58px;margin-bottom:28px;display:grid;place-items:center;border-radius:18px;background:#efedff;color:#604fd1;font-size:23px;font-weight:950}.fm-audience-trainer .fm-audience-icon{background:#eef0f6;color:#242c47}.fm-audience-member .fm-audience-icon{background:#e8fbf4;color:#117a58}.fm-audience-card h3{margin:6px 0 14px;font-size:28px;line-height:1.12;letter-spacing:-.03em}.fm-audience-card>p:not(.eyebrow){margin:0;color:#687287;line-height:1.7}.fm-audience-card ul{display:grid;gap:10px;margin:24px 0 28px;padding:0;list-style:none;color:#4f5a70;font-size:13px}.fm-audience-card li{display:flex;align-items:center;gap:9px}.fm-audience-card li:before{content:"✓";width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#ecfdf4;color:#0b7750;font-size:11px;font-weight:950}.fm-audience-card>a{margin-top:auto;color:#5d4bd1;font-weight:900;font-size:13px}.fm-audience-member>a{color:#11815d}.fm-how-section{padding-top:110px}.fm-flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fm-flow-grid article{min-height:230px;padding:26px 24px;border:1px solid #e3e6ee;border-radius:24px;background:#fff}.fm-flow-grid article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eeedff;color:#5d4bc8;font-weight:950}.fm-flow-grid b{display:block;margin:27px 0 9px;font-size:18px}.fm-flow-grid p{margin:0;color:#747d90;font-size:13px;line-height:1.6}.fm-value-section{padding-top:95px}.fm-value-card{padding:52px;display:grid;grid-template-columns:1.12fr .88fr;gap:55px;align-items:center;border-radius:34px;background:radial-gradient(circle at 86% 0,rgba(119,100,242,.35),transparent 26%),linear-gradient(140deg,#11172b,#242950 60%,#5041b9);color:#fff;box-shadow:0 30px 80px rgba(31,37,77,.22)}.fm-value-card h2{margin:20px 0 15px;font-size:clamp(38px,4.5vw,58px);line-height:1;letter-spacing:-.045em}.fm-value-card>div>p{max-width:650px;margin:0;color:#cbd0e1;line-height:1.7}.fm-value-list{display:grid;gap:10px}.fm-value-list>div{padding:19px 21px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.fm-value-list strong,.fm-value-list span{display:block}.fm-value-list strong{font-size:22px}.fm-value-list span{margin-top:3px;color:#cfd3e5;font-size:12px;line-height:1.5}.fm-commercial-cta{width:min(1140px,calc(100% - 56px));margin:80px auto 110px;padding:48px 52px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;border:1px solid #e2e5ee;border-radius:32px;background:#fff;box-shadow:0 24px 70px rgba(34,42,74,.09)}.fm-commercial-cta h2{margin:17px 0 12px;font-size:clamp(34px,4vw,50px);line-height:1.03;letter-spacing:-.04em}.fm-commercial-cta p{margin:0;color:#717b8e}.fm-cta-actions{display:grid;gap:10px}.fm-cta-actions .public-link{text-align:center}.fm-commercial-footer{width:min(1320px,calc(100% - 56px));margin:auto;padding:30px 0 44px;border-top:1px solid #e4e7ee;display:grid;grid-template-columns:auto 1fr auto;gap:25px;align-items:center;color:#758094;font-size:12px}.fm-commercial-footer p{margin:0}.fm-commercial-footer>div:last-child{display:flex;gap:18px}.fm-commercial-footer a:hover{color:#5142bd}.fm-whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:9px;padding:9px 14px 9px 9px;border-radius:999px;background:#18223a;color:#fff;box-shadow:0 16px 38px rgba(22,29,53,.25);font-size:12px}.fm-whatsapp-float span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#20b67a;font-size:9px;font-weight:950}.fm-whatsapp-float b{font-size:12px}

/* Ayuda contextual: círculo rojo con ? blanco */
.fm-help-button{appearance:none;border:0;width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:inline-grid;place-items:center;background:#d92d45;color:#fff;font-size:18px;line-height:1;font-weight:950;cursor:pointer;box-shadow:0 8px 20px rgba(217,45,69,.24);transition:transform .16s ease,box-shadow .16s ease}.fm-help-button:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 10px 24px rgba(217,45,69,.32)}.fm-help-button:focus-visible{outline:3px solid rgba(217,45,69,.22);outline-offset:3px}.fm-help-fab{position:fixed;right:22px;bottom:24px;z-index:68;width:44px;height:44px;font-size:22px;box-shadow:0 12px 28px rgba(217,45,69,.30)}.fm-help-inline{width:38px;height:38px;flex-basis:38px}.admin-top-actions{display:flex;align-items:center;gap:10px}.fm-help-modal{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;padding:18px}.fm-help-modal.is-open{display:flex}.fm-help-backdrop{position:absolute;inset:0;background:rgba(10,16,31,.68);backdrop-filter:blur(5px)}.fm-help-dialog{position:relative;width:min(520px,100%);max-height:min(680px,calc(100dvh - 36px));overflow:auto;padding:32px;border-radius:26px;background:#fff;border:1px solid rgba(255,255,255,.9);box-shadow:0 34px 100px rgba(8,14,32,.34);animation:fmHelpIn .18s ease-out}.fm-help-dialog-icon{width:48px;height:48px;margin-bottom:18px;display:grid;place-items:center;border-radius:50%;background:#d92d45;color:#fff;font-size:24px;font-weight:950;box-shadow:0 10px 24px rgba(217,45,69,.22)}.fm-help-dialog h2{margin:4px 45px 10px 0;font-size:27px;line-height:1.12;letter-spacing:-.025em}.fm-help-dialog-body{white-space:pre-line;color:#5d687c;line-height:1.75;font-size:14px}.fm-help-close{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:#f1f3f7;color:#4c566b;font-size:25px;cursor:pointer}.fm-help-understood{margin-top:23px;width:100%}.fm-help-open{overflow:hidden}.fm-inline-help-wrap{display:inline-flex;align-items:center;gap:8px}.fm-inline-help-wrap .fm-help-button{width:29px;height:29px;flex-basis:29px;font-size:15px;box-shadow:0 5px 14px rgba(217,45,69,.20)}@keyframes fmHelpIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1100px){.fm-commercial-hero{grid-template-columns:1fr;gap:25px;padding-top:45px}.fm-commercial-hero-copy{text-align:center}.fm-commercial-hero-copy h1,.fm-commercial-hero-copy>p{margin-left:auto;margin-right:auto}.fm-commercial-hero-copy .landing-actions,.fm-proof-row{justify-content:center}.fm-commercial-visual{min-height:540px}.fm-audience-grid{grid-template-columns:1fr}.fm-audience-card{min-height:0}.fm-flow-grid{grid-template-columns:repeat(2,1fr)}.fm-value-card,.fm-commercial-cta{grid-template-columns:1fr}.fm-commercial-footer{grid-template-columns:1fr;text-align:center}.fm-commercial-footer .public-brand,.fm-commercial-footer>div:last-child{justify-content:center}.fm-commercial-footer>div:last-child{flex-wrap:wrap}}
@media(max-width:760px){.fm-commercial-nav{padding:17px 18px}.fm-commercial-nav .fm-nav-anchor{display:none}.fm-commercial-nav .public-button{display:none}.fm-commercial-hero{width:calc(100% - 36px);min-height:auto;padding:46px 0 58px}.fm-commercial-hero-copy h1{font-size:48px}.fm-commercial-hero-copy>p{font-size:16px}.fm-commercial-hero-copy .landing-actions{display:grid}.fm-commercial-hero-copy .public-button{width:100%}.fm-proof-row{justify-content:flex-start;text-align:left}.fm-commercial-visual{min-height:auto;padding:35px 0}.fm-visual-orbit{display:none}.fm-command-card{padding:10px;border-radius:24px}.fm-command-main{grid-template-columns:1fr}.fm-command-panel:first-child{grid-row:auto;min-height:210px}.fm-command-panel{min-height:150px}.fm-command-panel:first-child strong{font-size:24px}.fm-commercial-strip{width:calc(100% - 36px);grid-template-columns:1fr;margin-bottom:55px}.fm-commercial-strip>div+div{border-left:0;border-top:1px solid #eceef4}.fm-commercial-section{width:calc(100% - 36px);padding:52px 0}.fm-section-heading{text-align:left}.fm-section-heading h2{font-size:39px}.fm-audience-card{padding:30px 24px}.fm-audience-card h3{font-size:26px}.fm-flow-grid{grid-template-columns:1fr}.fm-how-section,.fm-value-section{padding-top:65px}.fm-value-card{padding:32px 24px;border-radius:26px}.fm-value-card h2{font-size:39px}.fm-commercial-cta{width:calc(100% - 36px);margin:55px auto 80px;padding:32px 24px}.fm-commercial-cta h2{font-size:37px}.fm-commercial-footer{width:calc(100% - 36px)}.fm-whatsapp-float{right:14px;bottom:14px}.fm-help-fab{right:15px;bottom:88px}.center-top-actions .fm-help-inline{order:-1}.fm-help-dialog{padding:26px 22px;border-radius:22px}.fm-help-dialog h2{font-size:24px}}

/* FitMentor 2.8.2 · Hero IA premium */
.fm-commercial-visual-ai{min-height:600px;place-items:center}
.fm-ai-showcase{position:relative;z-index:3;width:min(100%,660px);margin:0;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 42px 110px rgba(39,46,89,.20),0 10px 30px rgba(91,92,226,.08);transform:rotate(.15deg);isolation:isolate}
.fm-ai-showcase:after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.95);border-radius:inherit;pointer-events:none}
.fm-ai-showcase img{display:block;width:100%;height:auto;object-fit:contain}
.fm-commercial-visual-ai .fm-orbit-one{width:620px;height:620px;background:radial-gradient(circle,rgba(111,83,245,.08),transparent 65%);border-color:rgba(91,92,226,.10)}
.fm-commercial-visual-ai .fm-orbit-two{width:500px;height:500px;border-color:rgba(91,92,226,.12)}
@media(max-width:1100px){.fm-commercial-visual-ai{min-height:auto;padding:25px 0 10px}.fm-ai-showcase{width:min(100%,720px)}}
@media(max-width:760px){.fm-commercial-visual-ai{padding:28px 0 0}.fm-ai-showcase{border-radius:22px;box-shadow:0 24px 60px rgba(39,46,89,.17);transform:none}}

/* FitMentor 2.8.3 · Ayuda flotante segura en PWA/iPhone */
@media(max-width:780px){
  .fm-help-fab{
    right:15px!important;
    bottom:calc(82px + env(safe-area-inset-bottom))!important;
    z-index:80!important;
  }
}
@media(max-width:390px){
  .fm-help-fab{right:12px!important}
}
@media(display-mode:standalone) and (max-width:780px){
  .fm-help-fab{bottom:calc(84px + env(safe-area-inset-bottom))!important}
}

/* 2.8.5 · Bandeja clara de tareas pendientes del entrenador */
.pending-page-intro{background:linear-gradient(135deg,#fff 0%,#f7f8ff 58%,#f3f0ff 100%)}
.pending-kpis a.pending-kpi{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transition:.18s ease}
.pending-kpis a.pending-kpi:hover{transform:translateY(-1px);border-color:#c7c4ed}.pending-kpi span,.pending-kpi small{display:block;color:var(--muted)}.pending-kpi span{font-size:.78rem;font-weight:850}.pending-kpi strong{display:block;margin:5px 0 2px;font-size:1.75rem;letter-spacing:-.035em}.pending-kpi small{font-size:.72rem}
.pending-kpi.is-urgent{border-color:#e7c1a3!important;background:#fff9f4!important}.pending-kpi.is-urgent strong{color:#b35c20}.pending-kpi.is-overdue{border-color:#efc4c4!important;background:#fff8f8!important}.pending-kpi.is-overdue strong{color:#b33d3d}
.pending-primary{margin-bottom:18px;border-color:#dcd7fa;background:linear-gradient(180deg,#fff,#fdfcff)}.pending-section-head .eyebrow{margin:0 0 5px}.pending-count-badge{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:7px 11px;border-radius:999px;background:#fff0e5;color:#a74c17;font-size:.72rem;font-weight:900}
.pending-request-list{display:grid;gap:11px}.pending-request-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px;border:1px solid #e4e1f5;border-radius:18px;background:#fff}.pending-request-card:hover{border-color:#c9c2f0;box-shadow:0 9px 24px rgba(42,39,95,.06)}.pending-request-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#eeeaff;color:#5e46cc;font-size:1rem;font-weight:950}.pending-request-copy{min-width:0}.pending-request-copy h3{margin:7px 0 4px;font-size:.98rem;line-height:1.35}.pending-request-copy p{margin:0;color:#60677a;font-size:.8rem;line-height:1.5}.pending-request-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pending-request-meta time{color:#9297a6;font-size:.69rem}.pending-status{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff0e5;color:#a74c17;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.03em}.pending-review-button{white-space:nowrap}.pending-secondary-grid{align-items:start}.pending-feed-item.is-overdue{border-color:#f0cece;background:#fffafa}.text-overdue{color:#b33d3d!important;font-weight:800}.pending-empty{min-height:126px}
@media(max-width:860px){.pending-request-card{grid-template-columns:auto minmax(0,1fr)}.pending-request-card .pending-review-button{grid-column:1/-1;width:100%}}
@media(max-width:560px){.pending-request-card{grid-template-columns:1fr}.pending-request-avatar{display:none}.pending-request-meta{align-items:flex-start;flex-direction:column;gap:5px}.pending-kpis.three{grid-template-columns:1fr!important}}
.center-nav-count{margin-left:auto;display:inline-grid;place-items:center;min-width:23px;height:23px;padding:0 7px;border-radius:999px;background:#f59e0b;color:#171b31;font-size:.68rem;font-style:normal;font-weight:950}.center-sidebar nav a.active .center-nav-count{background:#fff;color:#4d3fba}


/* ========================================================================
   FitMentor 2.8.6 · Avisos del entrenador al socio
   ===================================================================== */
.sidebar nav a{position:relative}.nav-count{margin-left:auto;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f59e0b;color:#171b31;font-size:.66rem;font-style:normal;font-weight:950}.sidebar nav a.active .nav-count{background:#fff;color:#4d3fba}
.mobile-notification-link{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #e5e1f1;border-radius:14px;background:#fff;color:#4a4260;font-size:1.05rem;box-shadow:0 4px 14px rgba(39,30,83,.05)}
.mobile-notification-link.active{background:#f1edff;border-color:#dcd3ff}.mobile-notification-link>b{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4444;color:#fff;font-size:.6rem;line-height:1;font-weight:950}
.notifications-page-head{align-items:center}.notifications-summary{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;margin-bottom:18px}.notifications-summary>div{padding:17px 19px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.notifications-summary span,.notifications-summary strong{display:block}.notifications-summary span{color:var(--muted);font-size:.76rem;font-weight:850}.notifications-summary strong{margin-top:3px;font-size:1.65rem}
.notifications-list{display:grid;gap:10px}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:17px 18px;border:1px solid var(--line);border-radius:19px;background:#fff;box-shadow:0 7px 22px rgba(25,35,63,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.notification-card:hover{transform:translateY(-1px);border-color:#cbc3ef;box-shadow:0 10px 28px rgba(25,35,63,.07)}.notification-card.is-unread{border-color:#cfc5ff;background:linear-gradient(135deg,#fff,#faf8ff)}.notification-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f1edff;color:#5d43d6;font-size:1.1rem;font-weight:900}.notification-copy{display:grid;gap:4px;min-width:0}.notification-copy>strong{font-size:.96rem}.notification-copy>span:not(.notification-meta),.notification-copy>small{color:var(--muted);font-size:.82rem;line-height:1.45}.notification-meta{display:flex;align-items:center;gap:8px;color:#8b8498;font-size:.68rem}.notification-meta>b{padding:3px 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.notification-arrow{color:#7b6fc0;font-size:1.5rem}.notification-empty{padding:45px 24px;border:1px dashed #d9d4e8;border-radius:20px;background:#fff}
.member-notification-dashboard{margin:22px 0;padding:20px;border:1px solid #ded8f5;border-radius:22px;background:linear-gradient(135deg,#fff,#f8f6ff);box-shadow:var(--shadow-sm)}.member-notification-dashboard .section-heading{margin-bottom:12px}.member-notification-dashboard .section-heading>a{color:var(--primary);font-size:.8rem;font-weight:900}.member-notification-preview-list{display:grid;gap:8px}.member-notification-preview{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #ebe7f5;border-radius:14px;background:#fff}.member-notification-preview.is-unread{border-color:#cfc5ff}.member-notification-preview>span{font-size:.95rem}.member-notification-preview>div{display:grid;gap:2px;min-width:0}.member-notification-preview b{font-size:.83rem}.member-notification-preview small{color:var(--muted);font-size:.73rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-notification-preview time{color:#918aa1;font-size:.68rem}
@media(max-width:780px){.notifications-page-head{align-items:flex-start}.notifications-page-head .button{display:inline-flex}.notifications-summary{grid-template-columns:1fr 1fr}.notification-card{grid-template-columns:auto minmax(0,1fr) auto;padding:14px 13px}.notification-icon{width:40px;height:40px}.member-notification-dashboard{padding:16px}.mobile-notification-link{width:40px;height:40px}}
@media(max-width:430px){.mobile-notification-link{width:38px;height:38px;border-radius:12px}.notifications-summary{gap:8px}.notifications-summary>div{padding:14px}.notification-card{gap:10px}.notification-copy>span:not(.notification-meta){font-size:.78rem}}

/* =========================================================
   FitMentor 2.8.7 · Rediseño premium de Entrenamientos
   ========================================================= */
.workout-premium-top{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:18px;margin:0 0 18px}
.workout-overview-card,.workout-week-card{position:relative;overflow:hidden;min-height:190px;border:1px solid rgba(101,72,232,.14);border-radius:26px;background:linear-gradient(145deg,#fff 0%,#faf8ff 58%,#f4f0ff 100%);box-shadow:0 18px 48px rgba(41,31,78,.08)}
.workout-overview-card{display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:20px;padding:27px 28px}
.workout-overview-card::after,.workout-week-card::after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-90px;top:-100px;background:radial-gradient(circle,rgba(112,77,226,.11),rgba(112,77,226,0) 70%);pointer-events:none}
.workout-overview-icon,.workout-week-icon{display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#f3efff,#e9e2ff);color:#6747d8;box-shadow:inset 0 0 0 1px rgba(104,73,216,.08)}
.workout-overview-icon{width:76px;height:76px}
.workout-overview-icon svg{width:43px;height:43px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.workout-overview-copy{min-width:0}.workout-overview-copy .eyebrow{margin-bottom:3px}.workout-overview-copy h1{margin:0;font-size:clamp(1.6rem,2.4vw,2.15rem);line-height:1.08;letter-spacing:-.035em;color:#17152b}.workout-overview-copy>p:not(.eyebrow){max-width:570px;margin:8px 0 13px;color:#716b81;line-height:1.48}
.workout-overview-meta{display:flex;gap:9px;flex-wrap:wrap}.workout-overview-meta span{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 11px;border:1px solid #e6e0f4;border-radius:999px;background:rgba(255,255,255,.75);color:#6e667d;font-size:.76rem;font-weight:720}.workout-overview-meta b{color:#3e2aa3;font-size:.88rem}
.workout-alex-link{position:relative;z-index:1;align-self:end;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:11px 14px;border:1px solid #ddd5f8;border-radius:14px;background:#fff;color:#5e43ce;font-size:.8rem;font-weight:850;transition:.18s ease}.workout-alex-link:hover{transform:translateY(-1px);border-color:#bfaef4;box-shadow:0 8px 20px rgba(91,64,201,.11)}.workout-alex-link span{font-size:1.05rem}
.workout-week-card{padding:25px 27px}.workout-week-head{display:grid;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:14px}.workout-week-icon{width:54px;height:54px;border-radius:18px}.workout-week-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.workout-week-head .eyebrow{margin:0 0 1px}.workout-week-head h2{margin:0;font-size:1.25rem;letter-spacing:-.02em}.workout-week-head>strong{font-size:1.65rem;letter-spacing:-.04em;color:#5e3dcc}
.workout-week-days{display:grid;grid-template-columns:repeat(7,34px);gap:8px;margin:20px 0 14px}.workout-week-days span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#f1eef8;color:#787084;font-size:.72rem;font-weight:900;transition:.18s}.workout-week-days span.today{box-shadow:inset 0 0 0 2px #6d50dc;color:#5d3fd1}.workout-week-days span.done{background:linear-gradient(135deg,#6d4adc,#8b63ec);color:#fff;box-shadow:0 7px 16px rgba(102,72,218,.2)}.workout-week-days span.done.today{box-shadow:0 7px 16px rgba(102,72,218,.22),inset 0 0 0 2px rgba(255,255,255,.75)}
.workout-week-progress{height:7px;border-radius:999px;background:#ebe7f3;overflow:hidden}.workout-week-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6745d9,#9c70ef)}.workout-week-card>p{margin:12px 0 0;color:#7b7486;font-size:.79rem}.workout-week-card>p b{color:#373043}

/* Buscador: mucho menos protagonista en la pantalla de entrenamientos */
.exercise-library-search{margin-bottom:18px!important;padding:16px 18px!important;border-radius:20px!important;box-shadow:0 9px 28px rgba(48,34,91,.055)!important;background:rgba(255,255,255,.86)!important}.exercise-search-intro{display:flex;align-items:center!important;gap:12px!important}.exercise-search-icon{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:14px!important}.exercise-search-intro .eyebrow{display:none}.exercise-search-intro h2{margin:0!important;font-size:1rem!important}.exercise-search-intro .muted{margin:2px 0 0!important;font-size:.78rem!important}.exercise-search-form{margin-top:12px!important}.exercise-search-chips{margin-top:8px!important}

.workout-tabs{margin:0 0 22px;padding:5px;border-radius:15px;background:#efedf5;border-color:#e4dfef;box-shadow:none}.workout-tabs a{min-width:92px;text-align:center;padding:9px 15px}.workout-tabs a.active{color:#5c3dcc;background:#fff;box-shadow:0 6px 16px rgba(50,39,85,.08)}

.workout-plan-section{margin:0 0 34px}.workout-plan-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 17px}.workout-plan-heading .eyebrow{margin-bottom:4px}.workout-plan-heading h2{position:relative;margin:0;padding-bottom:11px;font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.12;letter-spacing:-.035em;color:#171525}.workout-plan-heading h2::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:999px;background:linear-gradient(90deg,#6746d9,#ae8cff)}.workout-plan-heading p:not(.eyebrow){margin:8px 0 0;color:#7a7485;font-size:.88rem}.workout-plan-count{flex:0 0 auto;padding:8px 12px;border:1px solid #e1daef;border-radius:999px;background:#fff;color:#675a78;font-size:.76rem;font-weight:850}
.workout-plan-days{display:grid;gap:15px}.workout-plan-card{display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:22px;min-height:174px;padding:23px 25px;border:1px solid #e2deea;border-radius:24px;background:linear-gradient(145deg,#fff 0%,#fff 70%,#fbf9ff 100%);box-shadow:0 13px 36px rgba(48,36,81,.065);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.workout-plan-card:hover{transform:translateY(-1px);border-color:#d3c9ef;box-shadow:0 18px 44px rgba(53,37,98,.085)}.workout-plan-card.is-completed{border-color:#c7e7d6;background:linear-gradient(145deg,#fff 0%,#fbfffd 72%,#f1fbf6 100%)}
.workout-plan-symbol{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:23px;background:linear-gradient(145deg,#f4f0ff,#ece5ff);color:#6746d9}.workout-plan-symbol svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.workout-plan-symbol>span{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:linear-gradient(135deg,#6542d5,#8860ed);color:#fff;font-size:.72rem;font-weight:950;box-shadow:0 5px 13px rgba(91,64,201,.25)}.is-completed .workout-plan-symbol{background:#eaf8f1;color:#25845a}.is-completed .workout-plan-symbol>span{background:#239263}
.workout-plan-copy{min-width:0}.workout-plan-pill{display:inline-flex;max-width:100%;padding:5px 9px;border-radius:8px;background:#f0ebff;color:#6242cf;font-size:.68rem;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workout-plan-pill.done{background:#e4f6ec;color:#24784f}.workout-plan-copy h3{margin:10px 0 5px;font-size:1.35rem;line-height:1.15;letter-spacing:-.025em;color:#151323}.workout-plan-copy>p{margin:0;color:#756f80;font-size:.88rem;line-height:1.5}
.workout-plan-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}.workout-plan-meta>span{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 9px;border:1px solid #e7e2ee;border-radius:10px;background:#faf9fc;color:#726b7e;font-size:.73rem}.workout-plan-meta svg{width:15px;height:15px;fill:none;stroke:#7457d8;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.workout-plan-meta b{color:#30293d}.workout-plan-meta .workout-plan-completed-date{border-color:#cee9da;background:#f0faf5;color:#277a53;font-weight:780}
.workout-plan-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.workout-secondary-action,.workout-primary-action,.workout-completed-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:14px;font-size:.82rem;font-weight:900;white-space:nowrap}.workout-secondary-action{border:1px solid #ded7f2;background:#fff;color:#5b3dcc}.workout-secondary-action:hover{border-color:#bfaef1;background:#faf8ff}.workout-secondary-action span{font-size:.9rem}.workout-primary-action{min-width:125px;border:0;background:linear-gradient(135deg,#cb3426 0%,#f06a4f 100%);color:#fff;box-shadow:0 10px 24px rgba(213,64,43,.22)}.workout-primary-action:hover{transform:translateY(-1px);box-shadow:0 13px 28px rgba(213,64,43,.27)}.workout-primary-action span{font-size:1.12rem}.workout-completed-action{background:#e6f7ee;color:#22774e}
.workout-habits-section{padding-top:8px;border-top:1px solid #e5e1eb}.workout-habits-section .activity-goals-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.workout-habits-section .activity-goal-card{box-shadow:0 10px 28px rgba(48,34,91,.055)}

@media(max-width:1180px){.workout-premium-top{grid-template-columns:1fr}.workout-overview-card,.workout-week-card{min-height:0}.workout-plan-card{grid-template-columns:76px minmax(0,1fr)}.workout-plan-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:780px){.workout-premium-top{gap:11px;margin-bottom:12px}.workout-overview-card,.workout-week-card{border-radius:22px}.workout-overview-card{grid-template-columns:58px minmax(0,1fr);gap:14px;padding:18px}.workout-overview-icon{width:58px;height:58px;border-radius:18px}.workout-overview-icon svg{width:33px;height:33px}.workout-overview-copy h1{font-size:1.45rem}.workout-overview-copy>p:not(.eyebrow){font-size:.82rem;margin:6px 0 11px}.workout-overview-meta{gap:6px}.workout-overview-meta span{min-height:30px;padding:4px 8px;font-size:.67rem}.workout-alex-link{grid-column:1/-1;width:100%;justify-content:center;margin-top:1px}.workout-week-card{padding:18px}.workout-week-head{grid-template-columns:46px minmax(0,1fr) auto;gap:10px}.workout-week-icon{width:46px;height:46px;border-radius:15px}.workout-week-icon svg{width:26px;height:26px}.workout-week-head h2{font-size:1.08rem}.workout-week-head>strong{font-size:1.4rem}.workout-week-days{grid-template-columns:repeat(7,1fr);gap:5px;margin:15px 0 12px}.workout-week-days span{width:100%;height:36px}.exercise-library-search{padding:14px!important}.exercise-search-intro .muted{display:none}.workout-tabs{margin-bottom:18px}.workout-plan-heading{align-items:flex-start;flex-direction:column;gap:9px}.workout-plan-heading h2{font-size:1.55rem}.workout-plan-heading p:not(.eyebrow){font-size:.8rem}.workout-plan-count{display:none}.workout-plan-card{grid-template-columns:62px minmax(0,1fr);align-items:start;gap:14px;min-height:0;padding:17px;border-radius:21px}.workout-plan-symbol{width:58px;height:58px;border-radius:18px}.workout-plan-symbol svg{width:32px;height:32px}.workout-plan-symbol>span{width:25px;height:25px;font-size:.65rem}.workout-plan-copy h3{font-size:1.16rem;margin-top:8px}.workout-plan-copy>p{font-size:.79rem}.workout-plan-meta{gap:6px;margin-top:11px}.workout-plan-meta>span{font-size:.68rem;min-height:30px}.workout-plan-actions{grid-column:1/-1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.workout-secondary-action,.workout-primary-action,.workout-completed-action{width:100%;min-width:0;min-height:46px;padding:0 10px}.workout-completed-action{grid-column:1/-1}.workout-habits-section .activity-goals-grid{grid-template-columns:1fr}}
@media(max-width:430px){.workout-overview-meta span:nth-child(2){display:none}.workout-week-card>p{font-size:.72rem}.workout-plan-card{grid-template-columns:52px minmax(0,1fr);gap:11px;padding:15px}.workout-plan-symbol{width:50px;height:50px;border-radius:16px}.workout-plan-symbol svg{width:28px;height:28px}.workout-plan-meta>span{padding:4px 7px}.workout-plan-actions{grid-template-columns:1fr}.workout-secondary-action,.workout-primary-action{min-height:44px}.workout-plan-pill{max-width:220px}}
.workout-library-drawer{margin:0 0 22px;padding:0!important;border:1px solid #e3dfeb!important;border-radius:18px!important;background:rgba(255,255,255,.9)!important;box-shadow:0 8px 24px rgba(46,35,74,.045)!important;overflow:hidden}.workout-library-drawer>summary{list-style:none;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:11px 15px;cursor:pointer}.workout-library-drawer>summary::-webkit-details-marker{display:none}.workout-library-summary-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#f1edff;color:#6546d3;font-size:1.25rem;font-weight:900}.workout-library-drawer>summary b,.workout-library-drawer>summary small{display:block}.workout-library-drawer>summary b{font-size:.88rem}.workout-library-drawer>summary small{margin-top:1px;color:#827b8d;font-size:.7rem}.workout-library-drawer>summary>strong{display:flex;align-items:center;gap:7px;color:#6244cf;font-size:.76rem}.workout-library-drawer .drawer-chevron{display:inline-block;font-size:1rem;transition:transform .18s}.workout-library-drawer[open] .drawer-chevron{transform:rotate(180deg)}.workout-library-content{padding:0 15px 15px;border-top:1px solid #efecf3}.workout-library-content .exercise-search-form{margin-top:14px!important}.workout-library-content .exercise-search-results{margin-top:13px}
@media(max-width:780px){.workout-library-drawer{margin-bottom:17px}.workout-library-drawer>summary{grid-template-columns:38px minmax(0,1fr) auto;min-height:60px;padding:10px 12px;gap:9px}.workout-library-summary-icon{width:38px;height:38px}.workout-library-drawer>summary small{display:none}.workout-library-drawer>summary>strong{font-size:.7rem}.workout-library-content{padding:0 12px 12px}}

/* ========================================================================
   FitMentor 2.8.8 · Mensajería humana socio ↔ entrenador
   ======================================================================== */
.mobile-message-link{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #e5e1f1;border-radius:14px;background:#fff;color:#4a4260;font-size:1.02rem;box-shadow:0 4px 14px rgba(39,30,83,.05);text-decoration:none}
.mobile-message-link.active{background:#f1edff;border-color:#dcd3ff}.mobile-message-link>b{position:absolute;right:-4px;top:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#ef4444;color:#fff;font-size:.6rem;line-height:1;font-weight:950}
.human-only-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#eefbf6;border:1px solid #cfece0;color:#15654f;font-size:.72rem;font-weight:900;white-space:nowrap}
.human-messages-page{display:grid;gap:18px}.human-messages-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border:1px solid #e5e1f1;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f8f6ff 55%,#f2fbf7 100%);box-shadow:0 12px 34px rgba(48,39,88,.06)}
.human-messages-person{display:flex;align-items:center;gap:16px}.human-messages-person h1{margin:.15rem 0 .25rem;font-size:1.55rem}.human-messages-person p{margin:0;color:#6f6a80;max-width:700px;line-height:1.5}.human-avatar{display:grid;place-items:center;flex:0 0 auto;width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:#fff;font-weight:950;font-size:1.1rem;box-shadow:0 10px 24px rgba(95,71,202,.2)}.human-avatar.small{width:42px;height:42px;border-radius:14px;font-size:.88rem}
.human-context-note{display:flex;align-items:flex-start;gap:13px;padding:15px 17px;border:1px solid #ded5ff;border-radius:18px;background:#f7f4ff;color:#443788}.human-context-note>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e9e2ff;font-weight:900}.human-context-note p{margin:.2rem 0 0;color:#6f6594;line-height:1.45}
.human-message-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.human-thread-card,.human-message-info-card{border:1px solid #e2deeb;border-radius:24px;background:#fff;box-shadow:0 12px 34px rgba(41,31,79,.06);overflow:hidden}.human-thread-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 20px;border-bottom:1px solid #eeeaf4;background:#fcfbff}.human-thread-head>div{display:grid;gap:3px}.human-thread-head small{color:#80798e}.human-thread-head>span{padding:6px 10px;border-radius:999px;background:#f1edff;color:#5543bd;font-size:.7rem;font-weight:900}
.human-thread{height:min(54vh,560px);min-height:330px;overflow:auto;padding:20px;background:linear-gradient(#faf9fd,#f6f7fb);scroll-behavior:smooth}.human-thread-empty{height:100%;min-height:290px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;color:#777286}.human-thread-empty>span{font-size:2rem}.human-thread-empty b{margin-top:8px;color:#28243b}.human-thread-empty p{max-width:430px;margin:.4rem auto 0;line-height:1.5}
.human-bubble-row{display:flex;margin:9px 0}.human-bubble-row.mine{justify-content:flex-end}.human-bubble{max-width:min(78%,650px);padding:12px 14px 9px;border:1px solid #e1deea;border-radius:18px 18px 18px 6px;background:#fff;box-shadow:0 4px 12px rgba(45,38,73,.04)}.human-bubble-row.mine .human-bubble{border-color:#6753cf;background:linear-gradient(135deg,#5d48c6,#7865df);color:#fff;border-radius:18px 18px 6px 18px}.human-bubble-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:5px;font-size:.68rem}.human-bubble-meta time{opacity:.7}.human-bubble p{margin:0;line-height:1.5;white-space:normal;overflow-wrap:anywhere}.human-bubble>small{display:block;margin-top:5px;text-align:right;font-size:.62rem;opacity:.72}
.human-composer{display:grid;gap:9px;padding:16px 18px;border-top:1px solid #ece8f2;background:#fff}.human-composer label{font-size:.76rem;font-weight:900;color:#3c3650}.human-composer textarea{width:100%;resize:vertical;min-height:88px;padding:13px 14px;border:1px solid #dcd7e7;border-radius:16px;background:#fbfbfd;font:inherit;line-height:1.45;color:#242035}.human-composer textarea:focus{outline:3px solid color-mix(in srgb,var(--primary) 16%,transparent);border-color:var(--primary)}.human-composer>div{display:flex;justify-content:space-between;align-items:center;gap:14px}.human-composer small{color:#858091;font-size:.68rem}.human-message-info-card{padding:22px}.human-info-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#eaf9f3;color:#137356;font-weight:950}.human-message-info-card h2{margin:12px 0 5px;font-size:1.1rem}.human-message-info-card>p,.human-message-info-card li,.human-ai-divider p{color:#736e80;line-height:1.5}.human-message-info-card ul{margin:14px 0;padding-left:20px}.human-ai-divider{margin-top:18px;padding-top:17px;border-top:1px solid #ece8f2}.human-ai-divider p{margin:.35rem 0 .6rem}.human-ai-divider a{font-weight:850;color:var(--primary)}
.human-contact-card{text-decoration:none;color:inherit;transition:.16s transform,.16s box-shadow}.human-contact-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(42,34,79,.1)}.human-contact-card p{color:#696476;line-height:1.45}.human-contact-card>small{display:block;margin-top:12px;color:var(--primary);font-weight:850}
.chat-human-review{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid #dcd3ff;border-radius:16px;background:#f8f5ff;color:#342c58}.chat-human-review>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e9e1ff}.chat-human-review>div{display:grid;gap:2px}.chat-human-review small{color:#756c94}.chat-human-review>a{padding:9px 12px;border-radius:12px;background:#fff;border:1px solid #d9d0fa;color:#5541bd;font-weight:900;text-decoration:none;white-space:nowrap}
.coach-head-actions{display:flex;align-items:center;gap:10px}.simple-kpis.four{grid-template-columns:repeat(4,minmax(0,1fr))}.pending-messages{margin-top:16px}.pending-message-card .pending-request-avatar{background:#eef7ff;color:#2269a7}
.trainer-messages-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:20px 22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#f7f5ff)}.trainer-messages-intro h2{margin:.2rem 0 .3rem}.trainer-messages-intro p{margin:0;color:var(--muted)}.trainer-messages-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start}.trainer-conversation-list,.trainer-thread-card{border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.trainer-conversation-title{display:flex;justify-content:space-between;align-items:center;padding:16px 17px;border-bottom:1px solid var(--line)}.trainer-conversation-title span{display:grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#f0ecff;color:#5746bb;font-size:.68rem;font-weight:900}.trainer-conversation-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 14px;border-bottom:1px solid #efedf3;color:inherit;text-decoration:none}.trainer-conversation-item:last-child{border-bottom:0}.trainer-conversation-item:hover,.trainer-conversation-item.active{background:#f8f6ff}.trainer-conversation-item.unread{background:#fff9ef}.trainer-conversation-item>div{display:grid;gap:3px;min-width:0}.trainer-conversation-item small{color:#817c8b}.trainer-conversation-item em{display:grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-style:normal;font-weight:950}.trainer-thread-head{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}.trainer-thread-head>div:first-child{display:flex;align-items:center;gap:11px}.trainer-thread-head>div:first-child>div{display:grid;gap:2px}.trainer-thread-head small{color:var(--muted)}.trainer-thread-actions{display:flex;gap:8px}.trainer-thread-actions a{padding:8px 10px;border:1px solid #ded9e9;border-radius:10px;color:#5548a8;font-size:.72rem;font-weight:850;text-decoration:none}.trainer-thread{height:min(58vh,610px)}.trainer-composer{border-top:1px solid var(--line)}.trainer-empty{min-height:560px}
@media(max-width:980px){.human-message-layout{grid-template-columns:1fr}.human-message-info-card{order:-1}.trainer-messages-layout{grid-template-columns:260px minmax(0,1fr)}.simple-kpis.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.mobile-message-link{width:40px;height:40px}.human-messages-hero,.trainer-messages-intro{align-items:flex-start;flex-direction:column;padding:17px}.human-messages-person{align-items:flex-start}.human-thread{height:52vh;min-height:300px;padding:13px}.human-bubble{max-width:88%}.human-composer>div{align-items:stretch;flex-direction:column}.human-composer .button{width:100%}.human-message-info-card{display:none}.trainer-messages-layout{grid-template-columns:1fr}.trainer-conversation-list{max-height:260px;overflow:auto}.trainer-thread-head{align-items:flex-start;flex-direction:column}.trainer-thread-actions{width:100%}.trainer-thread-actions a{flex:1;text-align:center}.trainer-thread{height:48vh}.trainer-empty{min-height:300px}.coach-head-actions{align-items:flex-start;flex-direction:column}.simple-kpis.four{grid-template-columns:1fr 1fr!important}.chat-human-review{grid-template-columns:auto minmax(0,1fr)}.chat-human-review>a{grid-column:1/-1;text-align:center}.pending-messages .admin-section-head{align-items:flex-start;flex-direction:column}}
@media(max-width:430px){.mobile-message-link{width:38px;height:38px;border-radius:12px}.human-avatar{width:46px;height:46px;border-radius:15px}.human-messages-person h1{font-size:1.25rem}.human-thread-head{padding:14px}.human-bubble{max-width:94%}.simple-kpis.four{grid-template-columns:1fr!important}.trainer-conversation-item{padding:11px}.trainer-thread-actions{flex-direction:column}}
.chat-human-coach-card{display:grid;gap:10px;padding:18px;background:linear-gradient(145deg,#fff,#f3fbf7);border-color:#d9ebe4}.chat-human-coach-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#e6f7ef;font-size:1.1rem}.chat-human-coach-card h2{margin:.15rem 0 .25rem;font-size:1.05rem}.chat-human-coach-card p{margin:0;color:#726d7e;line-height:1.45}.chat-human-coach-card .button{justify-content:center;margin-top:3px;text-align:center}
