@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{--bg:#101318;--panel:#1a1e25;--panel2:#20252d;--line:#303640;--muted:#a3abb7;--text:#f4f4f1;--orange:#f58b4b;--orange2:#ffad75;--green:#9dd9ba;--radius:20px;font-family:'DM Sans',system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:3px}button:disabled{opacity:.45;cursor:not-allowed}.shell{display:flex;min-height:100vh}.sidebar{width:250px;flex:0 0 250px;border-right:1px solid var(--line);padding:30px 17px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;background:#14181e}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-family:Outfit,sans-serif;font-size:13px;letter-spacing:.15em;line-height:1.05;padding:4px 12px 58px}.brand strong{font-size:21px;letter-spacing:.06em}.brandmark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--orange);color:#17181a;font-size:29px;font-weight:800;position:relative}.brandmark span{font-size:10px;position:absolute;right:4px;top:3px}.side-label{color:#767f8c;font-size:11px;font-weight:700;letter-spacing:.18em;padding:0 15px 12px}.sidebar nav{display:grid;gap:5px}.nav{border:0;border-radius:12px;background:none;color:#b6bdc5;text-align:left;padding:13px 16px;font-weight:600;display:flex;gap:15px;align-items:center}.nav span{font-size:21px;width:22px;text-align:center}.nav:hover,.nav.active{background:#302b2b;color:#ffb27b}.side-bottom{margin-top:auto;color:#898f98;font-size:11px;line-height:1.7;letter-spacing:.08em;padding:0 14px}.side-bottom strong{color:#d4d9dc;font-size:13px;letter-spacing:0}.tiny-line{display:block;width:34px;height:2px;background:var(--orange);margin-bottom:17px}.main-wrap{flex:1;min-width:0}.topbar{height:77px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:22px;padding:0 52px;color:#aeb5bd;font-size:13px}.top-avatar{width:36px;height:36px;border-radius:50%;background:#38312e;color:var(--orange2);display:grid;place-items:center;font-weight:800}.mobile-brand,.mobile-nav{display:none}main{max-width:1240px;margin:auto;padding:43px 52px 100px}.eyebrow{color:var(--orange);letter-spacing:.17em;text-transform:uppercase;font-size:12px;font-weight:800}.heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:29px}.heading h1{font-family:Outfit,sans-serif;font-size:clamp(30px,3.3vw,47px);letter-spacing:-.045em;line-height:1.07;margin:9px 0 7px;font-weight:700}.heading p{color:var(--muted);margin:0;line-height:1.5}.pill{border:1px solid #6c4b3c;color:#ffba88;background:#352821;padding:9px 14px;border-radius:99px;white-space:nowrap;font-size:13px;font-weight:700}.grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:18px}.stack{display:grid;gap:18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-width:0}.card.soft{background:var(--panel2)}.card h2,.section-head h2{font:700 21px Outfit,sans-serif;letter-spacing:-.02em;margin:0}.card h3{font:700 17px Outfit,sans-serif;margin:0}.muted{color:var(--muted)}.small{font-size:13px}.card-top,.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.hero-card{background:radial-gradient(circle at 92% 8%,#75402f 0,transparent 34%),linear-gradient(125deg,#28242a,#1d2229 60%);padding:31px;min-height:305px;display:flex;flex-direction:column;justify-content:space-between}.hero-card .session-label{font-size:12px;color:#ffbd8d;font-weight:800;letter-spacing:.15em}.hero-card h2{font-size:clamp(28px,3vw,39px);margin:12px 0}.hero-card p{color:#c6c8ca;max-width:470px;line-height:1.6;margin:0}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.hero-meta{font-size:13px;color:#b5b5b7}.primary,.secondary,.ghost{border-radius:12px;padding:12px 18px;font-weight:700;border:1px solid transparent}.primary{background:var(--orange);color:#1b1715}.primary:hover{background:var(--orange2)}.secondary{background:#303640;color:var(--text);border-color:#434b56}.secondary:hover{background:#3c4550}.ghost{background:transparent;border-color:var(--line);color:var(--text)}.ghost:hover{border-color:var(--orange)}.wide{width:100%}.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.kpi .card{padding:19px 20px}.kpi strong{display:block;font:700 29px Outfit;margin:8px 0 3px}.kpi .small{color:var(--muted)}.progress-track{height:7px;background:#373e47;border-radius:99px;overflow:hidden;margin:17px 0}.progress-fill{height:100%;background:var(--orange);border-radius:99px}.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:20px}.day-button{border:1px solid var(--line);background:#22272e;border-radius:13px;padding:12px 3px;color:#c6cbd0;min-width:0}.day-button b,.day-button span{display:block}.day-button b{font-size:12px;margin-bottom:9px}.day-button span{font:700 18px Outfit}.day-button.selected{border-color:var(--orange);background:#3e302b;color:#ffb47f}.day-button.done:after{content:'✓';display:block;font-size:11px;color:var(--green);height:0;position:relative;top:2px}.day-button.today{box-shadow:inset 0 -2px var(--orange)}.section-head{margin:32px 0 16px}.list{display:grid;gap:10px}.exercise-row{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--line);background:#22272e;border-radius:14px}.exercise-num{width:33px;height:33px;flex:none;border-radius:10px;background:#363b42;color:var(--orange2);display:grid;place-items:center;font:700 13px Outfit}.exercise-row div:nth-child(2){flex:1;min-width:0}.exercise-row b{display:block;font-size:14px;line-height:1.35}.exercise-row small{color:var(--muted);font-size:12px}.exercise-row .arrow{color:var(--muted)}.note{padding:15px 17px;border-left:2px solid var(--orange);background:#292a2c;border-radius:0 10px 10px 0;color:#cbd0d3;line-height:1.55;font-size:14px}.phase-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.phase{padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:16px}.phase.current{border-color:var(--orange);background:#2a2625}.phase .number{color:var(--orange);font:700 13px Outfit}.phase h3{font:700 18px Outfit;margin:10px 0 4px}.phase p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 18px}.phase dl{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:13px;margin:0}.phase dt{color:var(--muted)}.phase dd{margin:0}.workout-list{display:grid;gap:12px}.workout-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:18px}.workout-letter{height:48px;width:48px;background:#37302c;color:var(--orange);border-radius:13px;display:grid;place-items:center;font:700 23px Outfit}.workout-card div:nth-child(2){flex:1}.workout-card h3{margin:0 0 5px;font:700 18px Outfit}.workout-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.workout-card button{white-space:nowrap}.week-nav{display:flex;align-items:center;gap:9px}.week-nav button{padding:7px 12px}.calendar-list{display:grid;gap:7px}.calendar-day{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:#22272e;border-radius:12px;padding:12px 14px}.calendar-day .date-chip{min-width:48px;text-align:center;color:var(--orange2);font:700 18px Outfit}.calendar-day .date-chip small{font:600 11px 'DM Sans';display:block;color:var(--muted);text-transform:uppercase}.calendar-day div:nth-child(2){flex:1}.calendar-day b{font-size:14px}.calendar-day p{color:var(--muted);margin:3px 0 0;font-size:12px}.calendar-day button{border:0;background:none;color:var(--orange2);font-size:20px}.calendar-day.checked{border-color:#486655}.field{display:grid;gap:8px;font-size:13px;font-weight:700;color:#cdd2d5}.field input,.field select,.field textarea{width:100%;background:#252b33;border:1px solid #414953;color:var(--text);border-radius:10px;padding:11px 12px;min-height:44px}.field textarea{resize:vertical;min-height:85px}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.set-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.set-grid label{font-size:12px;color:var(--muted);display:block}.set-grid input{width:100%;margin-top:6px;background:#272d34;border:1px solid #454d56;border-radius:9px;color:var(--text);padding:9px;min-width:0}.log-block{border:1px solid var(--line);border-radius:14px;padding:16px;background:#22272e;margin-top:10px}.log-head{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:12px}.log-head b{font-size:15px}.log-head small{color:var(--muted);display:block;margin-top:4px}.log-head button{background:transparent;color:var(--orange2);border:0;font-size:13px}.weight-chart{width:100%;height:auto;display:block;overflow:visible;margin:20px 0 4px}.weight-chart text{fill:#88919d;font:12px 'DM Sans'}.weight-entry{display:flex;gap:10px;align-items:end}.weight-entry .field{flex:1}.history{display:grid;gap:8px}.history-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.history-row span{color:var(--muted)}.macro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.macro{background:#252b32;border:1px solid var(--line);padding:18px;border-radius:15px}.macro strong{font:700 26px Outfit;display:block;margin:8px 0 2px}.macro span{font-size:13px;color:var(--muted)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.menu-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:21px}.menu-card h3{font:700 19px Outfit;margin:0 0 17px}.menu-card .meal{border-top:1px solid var(--line);padding:10px 0;font-size:13px;line-height:1.5}.meal b{color:var(--orange2);display:block;margin-bottom:3px}.settings-section{margin-bottom:18px}.settings-section h2{margin-bottom:20px}.helper{font-size:13px;color:var(--muted);line-height:1.6}.error{color:#ffae99;font-size:13px;margin:10px 0 0}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:#f4f0e9;color:#181b20;border-radius:12px;padding:11px 18px;opacity:0;pointer-events:none;transition:.2s;z-index:20;font-size:14px;font-weight:700}#toast.show{opacity:1;transform:translate(-50%,0)}.empty{padding:26px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.accent{color:var(--orange2)}.details{border:1px solid var(--line);border-radius:14px;padding:14px 17px;margin-top:10px;background:#22272e}.details summary{cursor:pointer;font-weight:700}.details p{font-size:14px;color:var(--muted);line-height:1.55}.danger{color:#ffb5a0}
@media(max-width:1050px){.sidebar{width:210px;flex-basis:210px}.topbar{padding:0 28px}main{padding:35px 28px 100px}.phase-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.sidebar{display:none}.mobile-brand{display:block;font:700 13px Outfit;letter-spacing:.1em;color:var(--orange)}.mobile-brand b{color:var(--text)}.topbar{height:58px;padding:0 20px;justify-content:space-between}.topbar #topDate{margin-left:auto;font-size:12px}.top-avatar{width:30px;height:30px}main{padding:25px 17px 104px}.heading{align-items:start}.heading h1{font-size:33px}.heading .pill{font-size:11px;padding:7px 9px}.grid{grid-template-columns:1fr}.hero-card{min-height:245px;padding:23px}.kpi .card{padding:14px}.kpi strong{font-size:22px}.kpi .small{font-size:11px}.card{padding:20px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:#181c22;border-top:1px solid var(--line);padding:7px 5px calc(7px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{background:none;border:0;color:#9fa7b0;min-width:56px;font-size:11px;padding:3px;display:grid;justify-items:center;gap:2px}.mobile-nav span{font-size:21px}.mobile-nav .active{color:var(--orange2)}.phase-grid,.menu-grid{grid-template-columns:1fr}.macro-grid{grid-template-columns:repeat(2,1fr)}#toast{bottom:83px;white-space:nowrap}}@media(max-width:430px){.hero-bottom{align-items:stretch;flex-direction:column}.hero-bottom .primary{width:100%}.week-strip{gap:4px}.day-button{padding:9px 2px}.day-button span{font-size:16px}.fields{grid-template-columns:1fr}.workout-card{gap:10px;padding:15px}.workout-card button{padding:8px 10px;font-size:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
