:root{--c-black:#050505;--c-ink:#151515;--c-panel:#202020;--c-offwhite:#f4f4f1;--c-white:#fff;--c-lime:#c8ff00;--c-blue:#1f5dff;--hairline:#ffffff1a;--hairline-dark:#00000024;--font-display:"Oswald", "Arial Narrow", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--r-btn:4px;--r-card:8px;--r-pill:999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--c-black);color:var(--c-offwhite);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-weight:500}.h-display{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-weight:700;line-height:1.02}.copy-persuade{color:#9a9a95;font-weight:700}.btn{font-family:var(--font-display);text-transform:uppercase;border-radius:var(--r-btn);border:1px solid var(--hairline);padding:var(--sp-3) var(--sp-5);cursor:pointer;background:var(--c-panel);color:var(--c-offwhite);font-weight:700}.btn--primary{background:var(--c-lime);color:var(--c-black);border-color:var(--c-lime)}a{color:inherit;text-decoration:none}button{font-family:inherit}.home{min-height:100vh;padding:var(--sp-5);justify-content:center;align-items:center;display:flex}.home-hero{max-width:780px}.home-title{color:var(--c-offwhite);font-size:clamp(44px,10vw,120px)}.home-title .lime,.lime{color:var(--c-lime)}.home-sub{margin:var(--sp-5) 0;max-width:48ch;font-size:clamp(16px,2.4vw,22px)}.home-cta{margin-top:var(--sp-5)}.home-status{margin-top:var(--sp-5);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#6f6f6a;font-size:12px}.entrenar{max-width:720px;padding:var(--sp-6) var(--sp-4) var(--sp-8);margin:0 auto}.entrenar-head{margin-bottom:var(--sp-6)}.entrenar-head .h-display{color:var(--c-offwhite);font-size:clamp(30px,7vw,56px)}.entrenar-head .copy-persuade{margin-top:var(--sp-3);font-size:15px}.entrenar-status{color:#8a8a85;padding:var(--sp-3) 0;font-size:14px}.entrenar-guest{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-4);background:var(--c-ink);border:1px solid var(--hairline);border-left:3px solid var(--c-lime);border-radius:var(--r-card);flex-wrap:wrap;display:flex}.entrenar-guest span{color:#c9c9c4;font-size:14px;font-weight:700}.entrenar-notice{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-5);padding:var(--sp-4);background:var(--c-ink);border:1px solid var(--hairline);border-left:3px solid var(--c-lime);border-radius:var(--r-card);flex-wrap:wrap;display:flex}.entrenar-notice span{color:#c9c9c4;font-size:14px;font-weight:700}.entrenar-notice--failed{border-left-color:#ff6b6b}.meso-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.meso{border-bottom:1px solid var(--hairline)}.meso-row{align-items:baseline;gap:var(--sp-4);width:100%;color:var(--c-offwhite);padding:var(--sp-4) 0;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:40px 1fr auto;display:grid}.meso-no{font-family:var(--font-display);color:var(--c-lime);font-size:28px;font-weight:700}.meso-name{font-family:var(--font-display);text-transform:uppercase;font-size:clamp(18px,3vw,24px)}.meso-meta{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#8a8a85;font-size:12px}.meso.open{background:var(--c-ink)}.split-row{gap:var(--sp-3);padding:0 0 var(--sp-4) 56px;flex-wrap:wrap;display:flex}.split-btn{flex-direction:column;align-items:flex-start;gap:4px;display:inline-flex}.split-focus{font-family:var(--font-body);text-transform:none;color:#050505b3;font-size:12px;font-weight:600}.entrenar-foot{margin-top:var(--sp-6)}.player{background:var(--c-black);min-height:100vh;color:var(--c-offwhite);padding:var(--sp-4);flex-direction:column;display:flex}.player-top{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:#8a8a85;justify-content:space-between;align-items:center;font-size:13px;display:flex}.mic-listening{color:var(--c-lime)}.mic-unsupported{color:#c86b6b}.stage{justify-content:center;gap:var(--sp-5);padding:var(--sp-4);flex-direction:column;flex:1;display:flex}.stage-center{text-align:center;align-items:center}.kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--c-lime);font-size:clamp(14px,2.5vw,20px)}.h-display.xl{font-size:clamp(40px,9vw,96px)}.lead{max-width:22ch;font-size:clamp(18px,3vw,26px)}.brief{max-width:40ch;font-size:15px}.stat-row{gap:var(--sp-5);flex-wrap:wrap;display:flex}.stage:not(.stage-center) .stat-row{justify-content:flex-start}.stage-center .stat-row{justify-content:center}.stat{flex-direction:column;align-items:center;display:flex}.stat-n{font-family:var(--font-display);color:var(--c-white);font-size:clamp(34px,7vw,72px);font-weight:700;line-height:1}.stat-l{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#8a8a85;font-size:13px}.cue{color:#f4f4f1b8;max-width:30ch;font-size:clamp(16px,2.6vw,24px)}.fst{font-family:var(--font-display);text-transform:uppercase;color:var(--c-black);background:var(--c-lime);border-radius:var(--r-btn);align-self:flex-start;padding:6px 12px;font-size:14px}.stage-center .fst{align-self:center}.timer{font-family:var(--font-display);color:var(--c-lime);font-size:clamp(72px,18vw,180px);font-weight:700;line-height:1}.btn.big{padding:var(--sp-4) var(--sp-7);font-size:clamp(18px,3vw,26px)}.row{gap:var(--sp-4);flex-wrap:wrap;justify-content:center;display:flex}.para{right:var(--sp-4);bottom:var(--sp-4);border-radius:var(--r-btn);background:var(--c-black);width:96px;height:96px;color:var(--c-lime);border:3px solid var(--c-lime);font-family:var(--font-display);cursor:pointer;font-size:22px;font-weight:700;position:fixed}.para:active{background:var(--c-lime);color:var(--c-black)}.overlay{justify-content:center;align-items:center;gap:var(--sp-5);text-align:center;padding:var(--sp-5);background:#050505f0;flex-direction:column;display:flex;position:fixed;inset:0}.overlay-safety{border-top:6px solid var(--c-lime)}.heard{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--c-lime);font-size:13px}.voice-picker{border:0;width:min(100%,30rem);margin:0;padding:0}.voice-legend{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:#8a8a85;margin-bottom:var(--sp-3);padding:0;font-size:13px}.voice-list{gap:var(--sp-2);flex-direction:column;display:flex}.voice-row{align-items:center;gap:var(--sp-3);background:var(--c-panel);border-radius:var(--r-card);padding:var(--sp-3) var(--sp-4);border:2px solid #0000;transition:border-color .12s;display:flex}.voice-row.is-selected{border-color:var(--c-lime)}.voice-choice{align-items:baseline;gap:var(--sp-3);cursor:pointer;text-align:left;flex:1;display:flex}.voice-choice input{accent-color:var(--c-lime);flex:none;align-self:center;width:18px;height:18px}.voice-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--c-white);font-size:18px}.voice-blurb{color:#f4f4f199;font-size:14px}.voice-preview{border-radius:var(--r-pill);border:2px solid var(--c-lime);width:40px;height:40px;color:var(--c-lime);cursor:pointer;background:0 0;flex:none;place-items:center;font-size:15px;display:grid}.voice-preview:active{background:var(--c-lime);color:var(--c-black)}.tts-pill{border:1px solid #0000;border-radius:999px;margin:6px 0 14px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-block}.tts-pill.is-ready{color:var(--c-lime,#d7ff3f);border-color:currentColor}.tts-pill.is-fallback{color:#ffb84d;border-color:currentColor}.tts-pill.is-checking{color:#888;border-color:#444}.link-back{color:#888;margin-top:16px;font-size:14px;text-decoration:none;display:inline-block}.link-back:hover{color:var(--c-lime,#d7ff3f)}.player.intro{flex-direction:column;min-height:100dvh;display:flex}.intro-idle,.intro-done{align-items:flex-start;gap:14px;max-width:34rem}.intro-idle .lead,.intro-done .lead{max-width:100%}.intro-idle .tts-pill{align-self:flex-start}.intro-idle .voice-picker{width:100%}.cta{border-radius:var(--r-btn,12px);background:var(--c-lime,#d7ff3f);color:var(--c-black,#0a0a0a);font-family:var(--font-display,inherit);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:none;align-self:stretch;margin-top:4px;padding:15px 20px;font-size:clamp(17px,2.6vw,21px);font-weight:700;transition:filter .12s}.cta:hover{filter:brightness(1.08)}.cta:active{transform:translateY(1px)}.intro-card{flex:1;padding-bottom:8px;overflow-y:auto}.intro-title{margin:0 0 8px}.intro-facts{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.intro-fact{border:1px solid var(--c-lime,#d7ff3f);color:var(--c-lime,#d7ff3f);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.intro-paragraphs{max-width:62ch}.intro-said{opacity:.35;margin:0 0 10px;font-size:14px}.intro-current{margin:0;font-size:17px;line-height:1.55}.intro-status{color:var(--c-lime,#d7ff3f);font-style:normal;font-weight:700}.intro-transport{border-top:1px solid #222;align-items:center;gap:10px;padding:10px 16px;display:flex}.intro-transport>button{color:#fff;cursor:pointer;background:#161616;border:1px solid #333;border-radius:50%;width:44px;height:44px;font-size:18px}.intro-transport>button:hover{border-color:var(--c-lime,#d7ff3f)}.intro-chapters{gap:8px;margin-left:auto;display:flex}.intro-dot{cursor:pointer;background:#333;border:none;border-radius:50%;width:12px;height:12px}.intro-dot.is-current{background:var(--c-lime,#d7ff3f)}.intro-chat{border-top:1px solid #222;padding:10px 16px 14px}.chat-log{max-height:26vh;margin-bottom:8px;overflow-y:auto}.chat-hint{color:#888;margin:4px 0;font-size:13px}.chat-msg{gap:8px;margin:6px 0;font-size:14px;display:flex}.chat-who{flex:none;font-weight:800}.chat-vita .chat-who{color:var(--c-lime,#d7ff3f)}.chat-user .chat-who{color:#9ad}.chat-listening{color:var(--c-lime,#d7ff3f);font-weight:700}.chat-form{gap:8px;display:flex}.chat-input{color:#fff;background:#141414;border:1px solid #333;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.chat-input:focus{border-color:var(--c-lime,#d7ff3f);outline:none}.chat-send,.chat-mic{color:#fff;cursor:pointer;background:#161616;border:1px solid #333;border-radius:10px;padding:0 14px;font-weight:700}.chat-send:disabled{opacity:.4;cursor:default}.chat-mic.is-listening{border-color:var(--c-lime,#d7ff3f);color:var(--c-lime,#d7ff3f)}.intro-exit{color:#888;margin-top:14px;font-size:13px;display:inline-block}@media (width<=560px){.intro-paragraphs{max-width:100%}.chat-log{max-height:20vh}}.cuenta{min-height:100vh;padding:var(--sp-5);background:radial-gradient(900px 420px at 80% -10%, #c8ff0014, transparent 60%), var(--c-black);justify-content:center;align-items:center;display:flex}.cuenta-card{background:var(--c-ink);border:1px solid var(--hairline);border-radius:var(--r-card);width:min(460px,100%);padding:var(--sp-7) var(--sp-6);gap:var(--sp-4);flex-direction:column;display:flex}.cuenta-eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--c-black);background:var(--c-lime);align-self:flex-start;padding:3px 9px;font-size:13px;font-weight:700}.cuenta-title{font-size:clamp(32px,7vw,52px)}.cuenta-title .lime{color:var(--c-lime)}.cuenta-lead{margin:0}.cuenta-guest{color:var(--c-lime);border-left:3px solid var(--c-lime);margin:0;padding-left:12px;font-size:13px;font-weight:700}.cuenta-field{flex-direction:column;gap:6px;display:flex}.cuenta-field span{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:#b7b7b2;font-size:13px;font-weight:700}.cuenta-field input{font-family:var(--font-body);color:var(--c-offwhite);background:var(--c-panel);border:1px solid var(--hairline);border-radius:var(--r-btn);padding:12px 14px;font-size:16px}.cuenta-field input:focus{border-color:var(--c-lime);box-shadow:0 0 0 1px var(--c-lime);outline:none}.cuenta-submit{margin-top:var(--sp-2);width:100%;padding:14px;font-size:16px}.cuenta-error{color:#ff6b6b;margin:0;font-size:14px;font-weight:700}.cuenta-notice{color:var(--c-lime);margin:0;font-size:14px;font-weight:700}.cuenta-switch{margin-top:var(--sp-2);flex-direction:column;gap:8px;display:flex}.cuenta-switch button{color:#9a9a95;font-family:var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600}.cuenta-switch button b{color:var(--c-offwhite)}.cuenta-switch button:hover b{color:var(--c-lime)}.cuenta-actions{gap:var(--sp-3);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.cuenta-demo{margin:var(--sp-2) 0 0;color:#9a9a95;font-size:13px;font-weight:600}.cuenta-demo .lime{color:var(--c-lime)}.program-panel{margin-top:var(--sp-4);padding-top:var(--sp-4);gap:var(--sp-2);text-align:left;border-top:1px solid #ffffff1a;flex-direction:column;display:flex}.program-h{margin:0;font-size:18px;font-weight:800}.program-nudge{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-2,10px);background:#ffd60a1f;border:1px solid #ffd60a66;margin:0;font-size:14px;font-weight:600}.program-pause{align-items:flex-end;gap:var(--sp-3);flex-wrap:wrap;display:flex}.program-pause .cuenta-field{margin:0}.program-restart{margin-top:var(--sp-2)}.program-restart-confirm{gap:var(--sp-2);padding:var(--sp-3);border:1px solid var(--hairline);border-radius:var(--radius-2,10px);flex-direction:column;display:flex}.program-restart-actions{gap:var(--sp-3);flex-wrap:wrap;display:flex}.calendario-route{--cal-bg-2:#0d0d0d;--cal-panel-2:var(--c-panel);--cal-line:var(--hairline);--cal-line-2:#ffffff38;--cal-ink:var(--c-offwhite);--cal-ink-dim:#f4f4f1ad;--cal-today:#fff;--cal-glow-accent:0 0 0 1px #c8ff0080, 0 12px 32px #c8ff002e;--cal-shadow-soft:0 20px 60px #00000073;--cal-reset:#e7e8e2;--cal-aggressive:var(--c-blue);--cal-siege:var(--c-lime);--cal-seven-blue:var(--c-blue);--cal-seven-blue-d:#1546c8;--cal-seven-bg:var(--c-offwhite);--cal-seven-ink:var(--c-ink);background:var(--c-black);color:var(--cal-ink);min-height:100vh}.calendario-route .topbar{border-bottom:1px solid var(--cal-line);padding:28px 28px 18px}.calendario-route .topbar-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.calendario-route .viewtoggle{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-btn);flex:none;gap:0;padding:3px;display:inline-flex}.calendario-route .vt-btn{color:var(--cal-ink-dim);cursor:pointer;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:0 0;border:none;border-radius:3px;padding:9px 15px;font-size:14px;font-weight:700;transition:all .15s}.calendario-route .vt-btn:hover{color:var(--cal-ink)}.calendario-route .vt-btn.active{background:var(--c-lime);color:var(--c-black)}.calendario-route .logout-btn{color:var(--cal-ink-dim);border:1px solid var(--cal-line);border-radius:var(--r-btn);cursor:pointer;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;background:0 0;flex:none;padding:9px 15px;font-size:13px;font-weight:700;transition:all .15s}.calendario-route .logout-btn:hover{color:var(--cal-ink);border-color:var(--cal-line-2)}.calendario-route .logout-btn:disabled{opacity:.6;cursor:default}.calendario-route .brand-row{align-items:center;gap:10px;display:inline-flex}.calendario-route .brand-intro-link{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;color:var(--c-lime);white-space:nowrap;opacity:0;visibility:hidden;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .15s,transform .15s,visibility .15s;transform:translate(-4px)}.calendario-route .brand-row:hover .brand-intro-link,.calendario-route .brand-intro-link:focus-visible{opacity:1;visibility:visible;transform:translate(0)}.calendario-route .brand-intro-link:hover{text-decoration:underline}@media (hover:none){.calendario-route .brand-intro-link{opacity:1;visibility:visible;transform:none}}.calendario-route .brand{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;background:var(--c-lime);color:var(--c-black);padding:4px 8px;font-size:13px;font-weight:700;display:inline-block}.calendario-route .title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin:12px 0 6px;font-size:clamp(30px,5vw,48px);font-weight:700;line-height:.95}.calendario-route .range{color:var(--cal-ink-dim);font-size:13px;font-weight:600}.calendario-route .range-row{align-items:center;gap:8px;display:flex;position:relative}.calendario-route .info-btn{border:1px solid var(--cal-line-2);background:var(--c-ink);width:18px;height:18px;color:var(--cal-ink-dim);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:Georgia,Times New Roman,serif;font-size:11px;font-style:italic;font-weight:700;line-height:1;transition:all .15s;display:inline-flex}.calendario-route .info-btn:hover,.calendario-route .info-btn[aria-expanded=true]{color:var(--c-black);background:var(--c-lime);border-color:var(--c-lime)}.calendario-route .info-popover{z-index:40;background:var(--cal-bg-2);border:1px solid var(--cal-line-2);border-radius:var(--r-card);min-width:280px;max-width:min(420px,100vw - 40px);box-shadow:var(--cal-shadow-soft);padding:14px;position:absolute;top:calc(100% + 10px);left:0}.calendario-route .info-popover-title{color:var(--cal-ink-dim);text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px;font-size:11px;font-weight:800}.calendario-route .macros{flex-wrap:wrap;gap:8px;display:flex}.calendario-route .macro{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-btn);padding:8px 14px;font-size:12.5px}.calendario-route .macro b{font-size:15px}.calendario-route .macro.accent{background:var(--c-lime);color:var(--c-black);border-color:#0000}.calendario-route .wrap{align-items:flex-start;gap:22px;padding:22px 28px 60px;display:flex}.calendario-route .cal{flex:auto;min-width:0}.calendario-route .monthnav{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.calendario-route .monthnav h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;margin:0;font-size:24px;font-weight:700;line-height:1}.calendario-route .navbtn{background:var(--c-ink);color:var(--cal-ink);border:1px solid var(--cal-line-2);border-radius:var(--r-btn);cursor:pointer;width:40px;height:40px;font-size:18px;transition:all .15s}.calendario-route .navbtn:hover:not(:disabled){background:var(--c-lime);border-color:var(--c-lime);color:var(--c-black)}.calendario-route .navbtn:disabled{opacity:.3;cursor:not-allowed}.calendario-route .navgroup{gap:8px;display:flex}.calendario-route .grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.calendario-route .dow{text-align:center;font-family:var(--font-body);letter-spacing:.12em;color:var(--cal-ink-dim);text-transform:uppercase;padding-bottom:6px;font-size:11px;font-weight:800}.calendario-route .cell{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:0;min-height:104px;padding:9px;transition:all .12s;position:relative;overflow:hidden}.calendario-route .cell.blank{background:0 0;border:none;min-height:0}.calendario-route .cell.outside{opacity:.3}.calendario-route .cell.in-program{cursor:pointer}.calendario-route .cell.in-program:hover{border-color:var(--c-lime);z-index:1;transform:translateY(-2px)}.calendario-route .cell.selected{border-color:var(--c-lime);box-shadow:var(--cal-glow-accent);z-index:2}.calendario-route .cell.today{outline:2px solid var(--cal-today);outline-offset:-2px}.calendario-route .daynum{font-family:var(--font-display);color:var(--cal-ink-dim);font-size:15px;font-weight:700}.calendario-route .cell.in-program .daynum{color:var(--cal-ink)}.calendario-route .daynum.has-vita{align-items:center;gap:4px;display:inline-flex}.calendario-route .vita-dot{background:var(--c-lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 2px #c8ff0040}.calendario-route .pill-dayn{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cal-ink-dim);border-radius:var(--r-pill);background:#ffffff14;padding:2px 6px;font-size:9.5px;font-weight:800;position:absolute;top:8px;right:8px}.calendario-route .cell.phase-reset{border-left:3px solid var(--cal-reset)}.calendario-route .cell.phase-aggressive{border-left:3px solid var(--cal-aggressive)}.calendario-route .cell.phase-siege{border-left:3px solid var(--cal-siege)}.calendario-route .badges{flex-wrap:wrap;gap:4px;margin:8px 0 6px;display:flex}.calendario-route .badge{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-btn);padding:2px 6px;font-size:9.5px;font-weight:800;line-height:1.5}.calendario-route .b-gym{background:var(--c-lime);color:var(--c-black)}.calendario-route .b-cardio{color:#8fb2ff;background:#1f5dff33;border:1px solid #1f5dff80}.calendario-route .b-hybrid{color:var(--cal-ink);border:1px solid var(--cal-line-2);background:0 0}.calendario-route .b-rest{background:var(--cal-panel-2);color:var(--cal-ink-dim);border:1px solid var(--cal-line)}.calendario-route .b-prep,.calendario-route .b-shop{background:var(--cal-seven-bg);color:var(--cal-seven-blue-d)}.calendario-route .cell-meal{border-radius:0;margin-top:auto;padding:5px 7px;font-size:10.5px;line-height:1.3}.calendario-route .seven{background:var(--cal-seven-bg);color:var(--cal-seven-ink);border:1px solid #1f5dff47}.calendario-route .cell-meal.seven{border-left:3px solid var(--cal-seven-blue)}.calendario-route .legend{color:var(--cal-ink-dim);flex-wrap:wrap;gap:16px;margin-top:20px;font-size:11.5px;display:flex}.calendario-route .legend span{align-items:center;gap:6px;display:inline-flex}.calendario-route .dot{border-radius:2px;width:10px;height:10px;display:inline-block}.calendario-route .dot.reset{background:var(--cal-reset)}.calendario-route .dot.aggressive{background:var(--cal-aggressive)}.calendario-route .dot.siege{background:var(--cal-siege)}.calendario-route .backdrop{opacity:0;pointer-events:none;z-index:40;background:#0009;transition:all .2s;position:fixed;inset:0}.calendario-route .backdrop.show{opacity:1;pointer-events:auto}.calendario-route .drawer{background:var(--cal-bg-2);border:1px solid var(--cal-line-2);border-radius:var(--r-card);flex:0 0 360px;max-height:calc(100vh - 44px);padding:20px;position:sticky;top:22px;overflow-y:auto}.calendario-route .drawer-head{justify-content:space-between;align-items:flex-start;display:flex}.calendario-route .drawer-date{font-family:var(--font-display);text-transform:uppercase;font-size:22px;font-weight:700;line-height:1}.calendario-route .drawer-sub{color:var(--cal-ink-dim);margin-top:4px;font-size:12.5px}.calendario-route .close{background:var(--c-ink);border:1px solid var(--cal-line-2);color:var(--cal-ink-dim);border-radius:var(--r-btn);cursor:pointer;width:30px;height:30px;font-size:13px;transition:all .15s}.calendario-route .close:hover{color:var(--c-black);background:var(--c-lime);border-color:var(--c-lime)}.calendario-route .phase-chip{border-radius:var(--r-pill);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--c-black);margin:14px 0 4px;padding:5px 12px;font-size:11.5px;font-weight:800;display:inline-block}.calendario-route .phase-chip.phase-reset{background:var(--cal-reset)}.calendario-route .phase-chip.phase-aggressive{background:var(--cal-aggressive);color:#fff}.calendario-route .phase-chip.phase-siege{background:var(--cal-siege);color:var(--c-black)}.calendario-route .block{margin-top:20px}.calendario-route .block h3{letter-spacing:.14em;text-transform:uppercase;color:var(--cal-ink-dim);align-items:center;gap:8px;margin:0 0 10px;font-size:11px;font-weight:800;display:flex}.calendario-route .seven-mark{background:var(--cal-seven-blue);color:#fff;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--r-pill);padding:2px 7px;font-size:9px;font-weight:800}.calendario-route .wk-title{font-family:var(--font-display);text-transform:uppercase;margin-bottom:6px;font-size:18px;font-weight:700;line-height:1.02}.calendario-route .wk-title.wk-gym{color:var(--c-lime)}.calendario-route .wk-title.wk-hybrid{color:var(--cal-ink)}.calendario-route .wk-note{color:var(--cal-ink-dim);margin:0 0 8px;font-size:12px}.calendario-route .wk-note.small{font-size:11px}.calendario-route .walk{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-btn);padding:9px 12px;font-size:13px;font-weight:600}.calendario-route .vita-btn{border-radius:var(--r-btn);background:var(--c-lime);color:var(--c-black);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;box-shadow:var(--cal-glow-accent);justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:13px 16px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .12s,filter .12s;display:flex}.calendario-route .vita-btn:hover{filter:brightness(1.04);transform:translateY(-2px)}.calendario-route .vita-btn:active{transform:translateY(0)}.calendario-route .checkin-btn{border-radius:var(--r-btn);color:var(--c-lime);border:1px solid var(--c-lime);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;background:0 0;justify-content:center;align-items:center;gap:8px;margin-top:10px;padding:11px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .12s,background .12s,color .12s;display:flex}.calendario-route .checkin-btn:hover{background:var(--c-lime);color:var(--c-black);transform:translateY(-2px)}.calendario-route .checkin-btn:active{transform:translateY(0)}.calendario-route .wk-toggle{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-btn);gap:0;margin:4px 0 10px;padding:3px;display:inline-flex}.calendario-route .wk-tab{color:var(--cal-ink-dim);cursor:pointer;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:0 0;border:none;border-radius:3px;padding:7px 12px;font-size:12px;font-weight:700;transition:all .15s}.calendario-route .wk-tab:hover{color:var(--cal-ink)}.calendario-route .wk-tab.active{background:var(--c-lime);color:var(--c-black)}.calendario-route .wk-bracket{color:var(--cal-seven-blue);margin:2px 0;padding:6px 0;font-size:12px;font-weight:700}.calendario-route .band-preview .band-head{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;color:var(--c-lime);font-size:15px;font-weight:700}.calendario-route .band-focus{color:var(--cal-ink);margin:2px 0 6px;font-size:12px;font-weight:700}.calendario-route .band-chips{flex-wrap:wrap;gap:6px;margin:4px 0 10px;display:flex}.calendario-route .band-chip{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-pill);color:var(--cal-ink-dim);padding:3px 10px;font-size:11px;font-weight:700}.calendario-route .band-maxtest{color:var(--cal-ink);border-radius:var(--r-btn);background:#c8ff0014;border:1px solid #c8ff0073;margin-bottom:10px;padding:7px 10px;font-size:12px;font-weight:700}.calendario-route .band-table td{vertical-align:top}.calendario-route .band-table td:last-child{color:var(--cal-ink-dim);font-size:11.5px}.calendario-route .band-he{border-radius:var(--r-btn);color:var(--c-lime);letter-spacing:.05em;background:#c8ff002e;border:1px solid #c8ff0080;margin-left:4px;padding:0 5px;font-size:9.5px;font-weight:800;display:inline-block}.calendario-route .band-ex-note{color:var(--cal-ink-dim);margin-top:2px;font-size:10.5px;font-style:italic}.calendario-route .ex-table{border-collapse:collapse;width:100%;font-size:12.5px}.calendario-route .ex-table th{text-align:left;color:var(--cal-ink-dim);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--cal-line);padding:4px 6px;font-size:10.5px;font-weight:800}.calendario-route .ex-table td{border-bottom:1px solid var(--cal-line);padding:6px}.calendario-route .ex-table td:last-child{color:var(--cal-ink-dim)}.calendario-route .ex-list{columns:2;color:var(--cal-ink);margin:0;padding-left:18px;font-size:12px}.calendario-route .ex-list li{margin-bottom:3px}.calendario-route .meal-card{border-left:4px solid var(--cal-seven-blue);border-radius:0;flex-direction:column;gap:2px;margin-bottom:7px;padding:9px 12px;display:flex}.calendario-route .meal-label{letter-spacing:.1em;text-transform:uppercase;color:var(--cal-seven-blue-d);font-size:10px;font-weight:800}.calendario-route .meal-text{color:var(--cal-seven-ink);font-size:13px;font-weight:600}.calendario-route .meal-buffer{border-left:4px solid var(--cal-seven-blue);border-radius:0;margin-top:4px;padding:8px 11px;font-size:11.5px;font-weight:600}.calendario-route .kitchen{border-radius:var(--r-btn);margin-bottom:7px;padding:9px 12px;font-size:12.5px;font-weight:600}.calendario-route .kitchen.prep{color:#8fb2ff;background:#1f5dff24;border:1px solid #1f5dff73}.calendario-route .kitchen.shop{background:var(--cal-seven-bg);color:var(--cal-seven-blue-d)}.calendario-route .drawer-foot{border-top:1px solid var(--cal-line);color:var(--cal-ink-dim);text-align:center;margin-top:20px;padding-top:14px;font-size:11.5px}.calendario-route .drawer-placeholder{text-align:center;min-height:220px;color:var(--cal-ink-dim);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:24px 12px;display:flex}.calendario-route .drawer-placeholder-icon{opacity:.6;font-size:30px}.calendario-route .drawer-placeholder-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;color:var(--cal-ink);margin-top:6px;font-size:17px;font-weight:700}.calendario-route .drawer-placeholder p{max-width:260px;margin:6px 0 0;font-size:13px;line-height:1.5}.calendario-route .drawer-placeholder-hint{opacity:.75;font-size:11.5px}@media (width<=900px){.calendario-route .wrap{flex-direction:column}.calendario-route .drawer{border-radius:var(--r-card) var(--r-card) 0 0;z-index:50;flex-basis:auto;max-height:78vh;transition:transform .25s;display:block;position:fixed;inset:auto 0 0;transform:translateY(100%)}.calendario-route .drawer.open{transform:translateY(0)}.calendario-route .cell{min-height:88px}.calendario-route .ex-list{columns:1}}@media (width>=901px){.calendario-route .drawer{display:block}.calendario-route .backdrop{display:none}}@media (width<=560px){.calendario-route .topbar,.calendario-route .wrap{padding-left:14px;padding-right:14px}.calendario-route .title{font-size:26px}.calendario-route .grid{gap:4px}.calendario-route .cell{min-height:78px;padding:6px}.calendario-route .cell-meal{font-size:9px}.calendario-route .badge{font-size:8.5px}.calendario-route .grocery{padding-left:14px;padding-right:14px}}.calendario-route .grocery{padding:22px 28px 60px}.calendario-route .grocery-intro h2{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin:0 0 6px;font-size:clamp(24px,4vw,34px);font-weight:700;line-height:.98}.calendario-route .grocery-intro p{color:var(--cal-ink-dim);max-width:760px;margin:0 0 20px;font-size:13.5px;line-height:1.55}.calendario-route .grocery-intro b{color:var(--cal-ink)}.calendario-route .saved-note{background:var(--cal-seven-bg);color:var(--cal-seven-blue-d);border-radius:var(--r-pill);white-space:nowrap;padding:2px 10px;font-size:12px;font-weight:700}.calendario-route .grocery-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.calendario-route .gro-card{background:var(--c-ink);border:1px solid var(--cal-line);border-radius:var(--r-card);border-left:3px solid var(--cal-line);padding:16px}.calendario-route .gro-card.phase-reset{border-left-color:var(--cal-reset)}.calendario-route .gro-card.phase-aggressive{border-left-color:var(--cal-aggressive)}.calendario-route .gro-card.phase-siege{border-left-color:var(--cal-siege)}.calendario-route .gro-card.current{box-shadow:var(--cal-glow-accent);border-color:var(--c-lime)}.calendario-route .gro-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.calendario-route .gro-week{font-family:var(--font-display);text-transform:uppercase;font-size:18px;font-weight:700;line-height:1}.calendario-route .gro-dates{color:var(--cal-ink-dim);margin-top:4px;font-size:11.5px}.calendario-route .gro-progress{color:var(--cal-ink-dim);text-transform:uppercase;letter-spacing:.1em;margin:10px 0 8px;font-size:11px}.calendario-route .gro-count{color:var(--cal-seven-blue);font-weight:800}.calendario-route .gro-list{margin:0;padding:0;list-style:none}.calendario-route .gro-item{border-bottom:1px solid var(--cal-line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:8px 6px;transition:all .12s;display:flex}.calendario-route .gro-item:last-child{border-bottom:none}.calendario-route .gro-item:hover{background:var(--cal-panel-2)}.calendario-route .gro-box{border-radius:var(--r-btn);border:2px solid var(--cal-line-2);color:#fff;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:800;transition:all .12s;display:flex}.calendario-route .gro-item.checked .gro-box{background:var(--cal-seven-blue);border-color:var(--cal-seven-blue)}.calendario-route .gro-name{flex:auto;font-size:13.5px;font-weight:600}.calendario-route .gro-qty{color:var(--cal-ink-dim);flex:none;font-size:11.5px}.calendario-route .gro-item.checked .gro-name{color:var(--cal-ink-dim);text-decoration:line-through}.calendario-route .gro-item.checked .gro-qty{opacity:.5}.calendario-route .gro-reset{width:100%;color:var(--cal-ink-dim);border:1px solid var(--cal-line-2);border-radius:var(--r-btn);font-size:12px;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;margin-top:12px;padding:8px;font-weight:700;transition:all .15s}.calendario-route .gro-reset:hover{color:var(--c-black);background:var(--c-lime);border-color:var(--c-lime)}@media (width<=640px){.calendario-route .topbar-row{flex-direction:column}.calendario-route .viewtoggle{align-self:stretch}.calendario-route .vt-btn{text-align:center;flex:1 1 0}.calendario-route .logout-btn{text-align:center;align-self:stretch}}
