:root{--ink:#10110f;--paper:#f3f1eb;--card:#fff;--muted:#77786f;--line:#deddd6;--accent:#ff5a1f;--lime:#d7ff4f;--violet:#6d5dfc;--danger:#d84444;--shadow:0 16px 45px rgba(20,20,15,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:15px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.hidden{display:none!important}
.loader{height:100vh;display:grid;place-content:center;text-align:center;font-weight:700}.loader span{display:block;width:44px;height:4px;background:var(--accent);border-radius:8px;margin:16px auto;animation:pulse 1s infinite}@keyframes pulse{50%{width:90px;opacity:.45}}
.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:#11120f}.login-visual{position:relative;overflow:hidden;padding:56px;color:white;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 70% 20%,#424521 0,transparent 25%),linear-gradient(145deg,#11120f,#22251b)}.login-visual:after{content:'FIT';position:absolute;right:-32px;bottom:-95px;font:700 260px Unbounded;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.13);transform:rotate(-8deg)}
.brand{font:700 24px Unbounded;letter-spacing:-1px}.brand i{font-style:normal;color:var(--accent)}.visual-copy{position:relative;z-index:2;max-width:690px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:800;color:var(--accent)}.visual-copy h1{font:700 clamp(42px,6vw,86px)/.98 Unbounded;margin:18px 0;letter-spacing:-.055em}.visual-copy p{color:#b9bbb1;font-size:17px;max-width:520px;line-height:1.6}.pill-row{display:flex;gap:8px;flex-wrap:wrap}.pill{border:1px solid #3e4039;border-radius:99px;padding:9px 13px;font-size:12px;color:#c8cac0}
.login-panel{background:var(--paper);display:grid;place-content:center;padding:40px}.login-card{width:min(420px,100%)}.login-card h2{font:700 32px Unbounded;letter-spacing:-1.8px;margin:12px 0}.login-card>p{color:var(--muted);margin:0 0 30px}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:12px;font-weight:800}.input{width:100%;border:1px solid var(--line);background:white;border-radius:13px;padding:14px 15px;outline:0}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(0,0,0,.05)}.btn{border:0;border-radius:13px;padding:14px 18px;font-weight:800;background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px)}.btn-accent{background:var(--accent)}.btn-light{background:white;color:var(--ink);border:1px solid var(--line)}.btn-small{padding:9px 12px;border-radius:10px;font-size:12px}.btn-wide{width:100%;margin-top:8px}.demo-hint{margin-top:22px!important;font-size:12px;color:var(--muted)}
.shell{min-height:100vh;display:grid;grid-template-columns:244px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:var(--ink);color:white;padding:28px 20px;display:flex;flex-direction:column}.nav{display:grid;gap:5px;margin-top:44px}.nav button{border:0;background:transparent;color:#9b9d95;text-align:left;border-radius:12px;padding:12px 13px;font-weight:700;display:flex;align-items:center;gap:11px}.nav button.active,.nav button:hover{background:#252620;color:white}.nav .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.profile{margin-top:auto;border-top:1px solid #30312b;padding-top:18px;display:flex;align-items:center;gap:11px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-content:center;color:white;font-weight:800;flex:none}.profile strong{display:block;font-size:13px}.profile small{color:#85877e}.logout{margin-left:auto;color:#85877e;border:0;background:none;font-size:18px}.content{padding:32px 38px 80px;max-width:1440px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.topbar h1{font:700 clamp(27px,3vw,42px) Unbounded;letter-spacing:-2.2px;margin:0}.topbar p{margin:7px 0 0;color:var(--muted)}.date-chip{background:white;border:1px solid var(--line);padding:11px 14px;border-radius:12px;font-weight:700;font-size:12px}
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:1.3fr .7fr}.card{background:var(--card);border:1px solid var(--line);border-radius:19px;padding:22px;box-shadow:0 1px 0 rgba(255,255,255,.8)}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-title h2,.card-title h3{margin:0;font-size:15px}.stat{min-height:148px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative}.stat b{font:700 38px Unbounded;letter-spacing:-2px}.stat small{color:var(--muted)}.stat.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.stat.accent small{color:#ffd9ca}.stat.dark{background:var(--ink);color:white}.stat.dark small{color:#a5a69e}.stat.lime{background:var(--lime);border-color:var(--lime)}
.list{display:grid;gap:10px}.list-item{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;align-items:center;gap:13px;background:white}.list-item:hover{border-color:#aaa}.list-item .grow{min-width:0;flex:1}.list-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item small{color:var(--muted)}.tag{display:inline-flex;border-radius:99px;padding:5px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:#eee}.tag.done{background:#daf2da;color:#257225}.tag.active{background:#fff0c8;color:#8a5c00}.tag.planned{background:#eae7ff;color:#5646d6}.progress{height:6px;background:#ecebe5;border-radius:9px;overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:var(--accent);border-radius:9px}.empty{padding:35px;text-align:center;color:var(--muted);border:1px dashed #bbb;border-radius:14px}
.hero-workout{border-radius:22px;padding:28px;background:var(--ink);color:white;display:flex;align-items:flex-end;justify-content:space-between;min-height:210px;position:relative;overflow:hidden}.hero-workout:after{content:'GO';position:absolute;right:-10px;top:-35px;font:700 140px Unbounded;color:#1f211b}.hero-workout>*{position:relative;z-index:1}.hero-workout h2{font:700 31px Unbounded;letter-spacing:-2px;margin:8px 0}.hero-workout p{color:#b4b6ad}.hero-date{font:700 62px Unbounded;color:var(--lime);line-height:.8;text-align:right}.hero-date small{display:block;font:700 11px Manrope;color:#b4b6ad;margin-top:12px;text-transform:uppercase;letter-spacing:.1em}
.workout-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.back{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:white;font-size:20px}.workout-head h1{font:700 clamp(25px,4vw,43px) Unbounded;letter-spacing:-2.5px;margin:0}.workout-meta{color:var(--muted);margin-top:7px}.coach-note{background:#fff5e7;border-left:4px solid var(--accent);border-radius:0 14px 14px 0;padding:15px 17px;margin:17px 0;color:#6e4a30}
.exercise-list{display:grid;gap:13px}.exercise{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.exercise summary{list-style:none;padding:18px 20px;display:flex;align-items:center;gap:14px;cursor:pointer}.exercise summary::-webkit-details-marker{display:none}.ex-no{font:700 18px Unbounded;color:var(--accent);width:34px}.ex-main{flex:1}.ex-main strong{display:block;font-size:16px}.ex-main small{color:var(--muted)}.chev{font-size:20px;transition:.2s}.exercise[open] .chev{transform:rotate(45deg)}.ex-body{border-top:1px solid var(--line);padding:20px;background:#faf9f5}.target-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.target{border-radius:10px;background:white;border:1px solid var(--line);padding:9px 12px;font-size:12px}.target b{font-size:14px}.sets{display:grid;gap:8px}.set-row{display:grid;grid-template-columns:38px 1fr 1fr 1fr 36px;gap:7px;align-items:center}.set-row input{min-width:0;text-align:center;padding:11px 5px;border:1px solid var(--line);border-radius:10px;background:white}.set-labels{color:var(--muted);font-size:10px;text-transform:uppercase}.check{height:36px;border-radius:10px;border:1px solid var(--line);background:white}.check.on{background:var(--lime);border-color:var(--lime)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.comments{margin-top:18px;display:grid;gap:8px}.comment{font-size:13px;padding:10px 12px;background:white;border-radius:10px}.comment b{font-size:11px;color:var(--violet);margin-right:5px}.videos{display:flex;gap:8px;overflow:auto;margin-top:12px}.video-link{min-width:120px;background:#24251f;color:white;border-radius:11px;padding:11px;font-size:11px}.uploading{opacity:.55;pointer-events:none}
.modal-wrap{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:20;display:grid;place-content:center;padding:20px}.modal{background:var(--paper);width:min(760px,calc(100vw - 30px));max-height:90vh;overflow:auto;border-radius:22px;padding:25px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font:700 23px Unbounded;letter-spacing:-1px}.close{border:0;background:transparent;font-size:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid .full{grid-column:1/-1}.builder-row{display:grid;grid-template-columns:1.8fr .6fr .6fr .6fr 36px;gap:7px;margin:8px 0}.builder-row input{min-width:0}.remove{border:0;background:#fee;color:var(--danger);border-radius:10px}.toast{position:fixed;right:20px;bottom:20px;z-index:50;background:var(--ink);color:white;border-radius:12px;padding:13px 17px;box-shadow:var(--shadow);transform:translateY(100px);opacity:0;transition:.25s}.toast.show{transform:none;opacity:1}.mobile-nav{display:none}
@media(max-width:900px){.login{grid-template-columns:1fr}.login-visual{min-height:310px;padding:30px}.visual-copy h1{font-size:43px}.login-panel{padding:32px 22px}.shell{display:block}.sidebar{display:none}.content{padding:24px 16px 88px}.grid-3,.grid-2{grid-template-columns:1fr}.topbar{align-items:flex-start}.date-chip{display:none}.mobile-nav{position:fixed;z-index:15;bottom:0;left:0;right:0;background:rgba(17,18,15,.96);display:flex;justify-content:space-around;padding:9px 8px calc(9px + env(safe-area-inset-bottom));color:white}.mobile-nav button{border:0;background:none;color:#888;font-size:10px;font-weight:700}.mobile-nav button.active{color:var(--lime)}.mobile-nav b{display:block;font-size:18px;margin-bottom:2px}.hero-workout{min-height:240px;display:block}.hero-date{text-align:left;font-size:42px;margin-top:32px}.set-row{grid-template-columns:30px 1fr 1fr 1fr 34px}.form-grid{grid-template-columns:1fr}.builder-row{grid-template-columns:1fr 1fr 1fr 36px}.builder-row .ex-name{grid-column:1/-1}.workout-head h1{font-size:27px}.card{padding:17px}}
