:root{--ink:#17211c;--muted:#6d756f;--paper:#f7f6f1;--panel:#fff;--line:#dedfd8;--green:#b9f54d;--green-deep:#183e26;--sage:#eaf4df;--orange:#fb7b46;--red:#c93b38;--blue:#3768ee;--shadow:0 16px 50px #18281e14;--radius:20px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.5 Segoe UI,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{grid-template-columns:244px 1fr;min-height:100vh;display:grid}.sidebar{color:#eef3ee;z-index:5;background:#101713;flex-direction:column;height:100vh;padding:28px 18px 20px;display:flex;position:sticky;top:0}.brand{color:inherit;letter-spacing:-.5px;align-items:center;gap:12px;padding:0 9px;font:800 18px/1 Segoe UI,Arial,sans-serif;text-decoration:none;display:flex}.brand b{color:var(--green)}.brand-mark{grid-template-columns:repeat(3,5px);align-items:end;gap:3px;height:25px;display:grid;transform:skew(-8deg)}.brand-mark i{background:var(--green);border-radius:2px;height:16px;display:block}.brand-mark i:nth-child(2){height:24px}.brand-mark i:nth-child(3){height:19px}.local-badge{letter-spacing:.04em;text-transform:uppercase;color:#b7c0b9;margin:24px 8px 18px;font-size:11px}.local-badge span{background:var(--green);border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 0 4px #b9f54d1f}nav{gap:6px;display:grid}nav a{color:#aeb8b1;border-radius:11px;align-items:center;gap:11px;padding:11px 12px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}nav a span{text-align:center;width:22px;font-size:18px}nav a em{color:#18220f;background:var(--green);border-radius:8px;margin-left:auto;padding:2px 6px;font-size:9px;font-style:normal}nav a:hover,nav a.active{color:#fff;background:#263029}nav a.active{box-shadow:inset 3px 0 var(--green)}.sidebar-foot{border-top:1px solid #2d352f;grid-template-columns:38px 1fr 28px;align-items:center;gap:10px;margin-top:auto;padding:18px 6px 0;display:grid}.avatar{background:var(--green);color:#18210f;border-radius:50%;place-items:center;width:38px;height:38px;font-weight:800;display:grid}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot small{color:#879189;font-size:11px}.icon-button{color:inherit;background:0 0;border:0;border-radius:8px;padding:3px 7px;font-size:20px}.icon-button:hover{background:#7f7f7f1f}main{min-width:0}.topbar{border-bottom:1px solid #1e282114;justify-content:space-between;align-items:center;gap:20px;height:106px;padding:26px 4.5vw 20px;display:flex}.topbar h1{letter-spacing:-.8px;margin:3px 0 0;font:800 clamp(23px,3vw,30px)/1.15 Segoe UI,Arial,sans-serif}.eyebrow{color:#7e877f;letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:10px;font-weight:800}.top-actions{align-items:center;gap:14px;display:flex}.save-state{color:#788079;font-size:12px}.save-state:before{content:"";background:#6b9b55;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.button{border:0;border-radius:10px;padding:10px 15px;font-weight:700;transition:transform .15s,box-shadow .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--ink);color:#fff;box-shadow:0 5px 12px #17211c26}.button.accent{background:var(--green);color:#15200e}.button.secondary{color:var(--ink);border:1px solid var(--line);background:#fff}.button.ghost{color:#566059;background:0 0}.button.danger{color:var(--red);background:#fff0ef}.button.small{padding:7px 10px;font-size:12px}.button:disabled{opacity:.45;cursor:not-allowed;transform:none}.mobile-menu{background:0 0;border:0;font-size:22px;display:none}.content{max-width:1500px;margin:auto;padding:34px 4.5vw 60px}.grid{gap:18px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--panel);border-radius:var(--radius);border:1px solid #2d39311a;padding:22px;box-shadow:0 1px #18211c05}.card.dark{color:#fff;background:#142019}.card.lime{background:var(--green);border:0}.card.soft{background:#eef3ea}.card-head{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px;display:flex}.card h2,.card h3{letter-spacing:-.45px;margin:0;font-family:Segoe UI,Arial,sans-serif}.card h2{font-size:20px}.card h3{font-size:16px}.card p{color:var(--muted)}.dark p{color:#adb9b1}.lime p{color:#455634}.stat strong{letter-spacing:-1px;font:800 30px/1 Segoe UI,Arial,sans-serif}.stat small{color:var(--muted);margin-top:7px;display:block}.trend{color:#568438;font-size:12px;font-weight:700}.trend.down{color:var(--orange)}.hero{grid-template-columns:1.7fr 1fr;gap:18px;margin-bottom:18px;display:grid}.hero-main{background:linear-gradient(125deg,#17221c 0%,#1d3323 72%,#2d4c29 100%);padding:28px;position:relative;overflow:hidden}.hero-main:after{content:"";border:55px solid #b9f54d1a;border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-75px}.hero-main h2{max-width:450px;margin:10px 0;font-size:28px}.hero-main .button{margin-top:10px}.hero-kicker{color:var(--green);letter-spacing:.12em;font-size:11px;font-weight:800}.progress-ring{background:conic-gradient(var(--green) var(--progress),#354039 0);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative}.progress-ring:before{content:"";background:#142019;border-radius:50%;position:absolute;inset:10px}.progress-ring span{z-index:1;text-align:center;font-size:21px;font-weight:800}.progress-ring small{color:#9da89f;letter-spacing:.08em;font-size:9px;display:block}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin:34px 0 16px;display:flex}.section-heading:first-child{margin-top:0}.section-heading h2{margin:0;font:800 22px/1.2 Segoe UI,Arial,sans-serif}.section-heading p{color:var(--muted);margin:5px 0 0}.pill{color:#4d6845;background:#edf2e9;border-radius:12px;align-items:center;gap:5px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.pill.orange{color:#a64c29;background:#fff0e8}.pill.blue{color:#3153b7;background:#eaf0ff}.pill.gray{color:#626762;background:#efefec}.pill.dark{color:#d8e0da;background:#2a3730}.list{gap:10px;display:grid}.list-row{border-bottom:1px solid #eceee9;align-items:center;gap:14px;padding:13px 0;display:flex}.list-row:last-child{border:0}.list-row .grow{flex:1;min-width:0}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted);margin-top:2px}.number{background:var(--sage);color:#3d5937;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.workout-card{flex-direction:column;display:flex}.workout-card .exercise-preview{min-height:100px;margin:16px 0}.workout-card footer{flex-wrap:wrap;gap:8px;margin-top:auto;display:flex}.mini-exercise{border-bottom:1px solid #edf0eb;justify-content:space-between;gap:10px;padding:8px 0;font-size:13px;display:flex}.mini-exercise span:last-child{color:var(--muted)}.timeline{padding-left:22px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:7px;bottom:5px;left:5px}.timeline-item{margin-bottom:20px;position:relative}.timeline-item:before{content:"";background:#fff;border:3px solid #769e5c;border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:-22px}.timeline-item.active:before{border-color:var(--green-deep);background:var(--green)}.macro-bar{border-radius:6px;grid-template-columns:1.2fr .7fr 1fr;height:8px;margin:15px 0;display:grid;overflow:hidden}.macro-bar span:first-child{background:#1f3d2a}.macro-bar span:nth-child(2){background:#fb8b58}.macro-bar span:nth-child(3){background:#b7d88f}.goal-card{position:relative;overflow:hidden}.goal-value{margin:18px 0 8px;font:800 28px/1 Segoe UI,Arial,sans-serif}.goal-card .edit-float{position:absolute;top:14px;right:14px}.tabbar{background:#e9ebe6;border-radius:12px;gap:6px;width:max-content;max-width:100%;margin-bottom:20px;padding:4px;display:flex;overflow:auto}.tabbar button{color:#626a64;white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 12px;font-weight:700}.tabbar button.active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #141e1812}.field{gap:6px;display:grid}.field label{text-transform:uppercase;letter-spacing:.08em;color:#737c75;font-size:11px;font-weight:800}.field input,.field select,.field textarea,.textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #d6dad4;border-radius:10px;outline:none;padding:10px 11px}.field input:focus,.field select:focus,.field textarea:focus,.textarea:focus{border-color:#7e9e6e;box-shadow:0 0 0 3px #7e9e6e1f}.field textarea{resize:vertical;min-height:80px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.form-grid .wide{grid-column:1/-1}.exercise-editor{border:1px solid var(--line);border-radius:14px;margin:12px 0;padding:14px}.exercise-editor-head{justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.exercise-editor .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.exercise-editor .span2{grid-column:span 2}.inline-actions{flex-wrap:wrap;gap:6px;display:flex}.empty{text-align:center;color:var(--muted);border:1px dashed #cbd0c9;border-radius:14px;padding:34px}.coach-intro{grid-template-columns:1.3fr .7fr;gap:18px;display:grid}.privacy-note{color:#705124;background:#fff7ea;border:1px solid #f1d8ad;border-radius:14px;gap:13px;padding:14px;display:flex}.privacy-note span{font-size:20px}.check-list{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.check{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px;display:flex}.check input{accent-color:var(--green-deep)}.drop-zone{text-align:center;background:#fafbf8;border:1px dashed #9fa9a1;border-radius:14px;padding:24px}.code-input{color:#dce9df;background:#101713;border-color:#101713;min-height:260px;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.validation{border-radius:10px;margin:12px 0;padding:12px;font-size:13px}.validation.good{color:#355e2d;background:#eef8e8}.validation.bad{color:#8e2926;background:#fff0ef}.validation.warn{color:#7d5b19;background:#fff8e8}.change-card{border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:16px}.change-card header{align-items:flex-start;gap:12px;display:flex}.change-card input{accent-color:var(--green-deep);margin-top:4px}.change-card .reason{color:var(--muted);margin:4px 0 12px;font-size:12px}.diff{grid-template-columns:1fr 24px 1fr;align-items:start;gap:8px;display:grid}.diff pre{white-space:pre-wrap;word-break:break-word;background:#f3f4f1;border-radius:9px;margin:0;padding:10px;font:11px/1.4 ui-monospace,monospace}.diff>span{text-align:center;color:#778079;padding-top:10px}.history-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:12px;padding:13px 0;display:grid}.history-row:last-child{border:0}.history-row small{color:var(--muted)}.toast{color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;z-index:30;background:#132019;border-radius:11px;padding:12px 16px;transition:all .25s;position:fixed;bottom:24px;right:26px;transform:translateY(15px)}.toast.show{opacity:1;transform:none}.toast.error{background:#8d2a27}.update-banner{color:#fff;z-index:35;background:#101713;border:1px solid #304137;border-radius:16px;grid-template-columns:1fr auto auto;align-items:center;gap:14px;width:min(620px,100% - 28px);padding:14px;display:grid;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 22px 65px #08100b52}.update-banner[hidden]{display:none}.update-banner strong,.update-banner span{display:block}.update-banner span{color:#aeb9b1;margin-top:2px;font-size:12px}dialog{width:min(760px,100% - 28px);max-height:88vh;color:var(--ink);border:0;border-radius:20px;padding:0;box-shadow:0 28px 90px #121d1640}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e161194}dialog form>header{border-bottom:1px solid var(--line);justify-content:space-between;padding:22px 24px 16px;display:flex}dialog h2{margin:4px 0 0;font:800 22px Segoe UI,Arial,sans-serif}.modal-body{max-height:62vh;padding:22px 24px;overflow:auto}dialog footer{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:15px 24px;display:flex}.data-callout{align-items:center;gap:14px;display:flex}.data-callout .number{background:var(--green);font-size:19px}.muted{color:var(--muted)}.danger-text{color:var(--red)}@media (width<=1000px){.grid.four,.grid.three{grid-template-columns:repeat(2,1fr)}.hero,.coach-intro{grid-template-columns:1fr}}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{width:244px;transition:all .25s;position:fixed;left:-260px}.sidebar.open{left:0;box-shadow:20px 0 60px #00000040}.mobile-menu{display:block}.topbar{height:auto;padding:18px 20px}.top-actions .save-state{display:none}.content{padding:24px 18px 50px}.grid.two,.grid.three,.grid.four,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.exercise-editor .form-grid{grid-template-columns:repeat(2,1fr)}.exercise-editor .span2{grid-column:span 2}.check-list,.diff{grid-template-columns:1fr}.diff>span{padding:0}.hero-main h2{font-size:24px}.update-banner{grid-template-columns:1fr auto}.update-banner .icon-button{position:absolute;top:4px;right:5px}.update-banner span{padding-right:16px}}@media (width<=480px){.top-actions .button{display:none}.topbar h1{font-size:21px}.exercise-editor .form-grid{grid-template-columns:1fr}.exercise-editor .span2{grid-column:auto}}
