:root{color-scheme:dark;--bg:#0b121d;--panel:#111e2a;--panel2:#172633;--border:#293b48;--text:#f5f8fa;--muted:#a8bac7;--accent:#85edb2;--accent2:#5ebccc;--warn:#f5c981;--danger:#ffaaa9;--ok:#83e8b4;--radius:18px}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(ellipse 80% 500px at 50% -230px,#214837 0%,#0c1720 70%,var(--bg) 100%);color:var(--text);font:15px/1.47 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
a{color:var(--accent)}
.app-shell{max-width:1190px;margin:0 auto;padding:0 28px 80px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:29px 0 22px;gap:20px}.brand{display:flex;gap:13px;align-items:center;min-width:0}.brand-icon{flex-shrink:0;width:51px;height:51px;display:grid;place-items:center;background:linear-gradient(135deg,#347659,#86eab2);color:#071b17;border-radius:15px;font-weight:900;letter-spacing:-1.3px;font-size:21px}.brand-name{font-size:20px;font-weight:800;letter-spacing:-.6px}.brand-subtitle{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:2.1px;text-transform:uppercase;margin-top:1px}
.top-actions{display:flex;align-items:center;gap:9px}.tag{display:inline-flex;gap:7px;align-items:center;padding:8px 11px;background:#1a302a;color:#9bf1b9;border:1px solid #3c7155;border-radius:999px;font-size:12px;font-weight:750;white-space:nowrap}.tag--demo{color:#ffe0a1;background:#46371d;border-color:#7c6230}.icon-btn{background:#182731;border:1px solid var(--border);color:#fff;border-radius:12px;padding:10px 12px;min-height:41px}
.nav{display:flex;gap:5px;padding:6px;background:#172431;border:1px solid var(--border);border-radius:15px;margin-bottom:27px;width:max-content;max-width:100%;overflow:auto}.nav button{border:0;background:transparent;color:#b9c8cf;font-weight:700;padding:10px 16px;border-radius:10px;white-space:nowrap}.nav button.active{color:#0c231b;background:var(--accent)}
.page-head{display:flex;align-items:start;justify-content:space-between;gap:20px;margin-bottom:22px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2.4px;color:var(--accent);font-weight:800;margin:0 0 7px}.page-head h1,.login-heading{font-weight:850;letter-spacing:-1.25px;font-size:clamp(28px,3.5vw,43px);line-height:1.13;margin:0 0 9px}.subheading{color:var(--muted);margin:0;max-width:670px}.headline-stat{text-align:right}.headline-stat strong{font-size:27px;letter-spacing:-.5px}.headline-stat small{display:block;color:var(--muted)}
.grid{display:grid;gap:17px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}.two-col{grid-template-columns:1.1fr .9fr}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.section{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;min-width:0;margin-bottom:17px}.section--faint{background:#101a25}.section--accent{background:linear-gradient(125deg,#162f2b,#132433);border-color:#3b635b}.stat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;min-width:0}.stat .label{color:#a8bac7;font-weight:650;font-size:12px}.stat .value{display:block;font-weight:840;font-size:30px;letter-spacing:-1.3px;line-height:1.25;margin:8px 0 5px}.stat .hint{color:#8eacae;font-size:12px}.mini-badge{border-radius:99px;border:1px solid #3c7657;color:#9ef6c2;background:#20382e;font-weight:800;font-size:11px;padding:4px 8px;display:inline-flex}.mini-badge.optional{color:#fbdc9a;border-color:#715e33;background:#3a2f20}
h2{font-size:19px;letter-spacing:-.35px;margin:0}h3{margin:0;font-size:16px}.section-title{display:flex;align-items:center;gap:11px;justify-content:space-between;margin-bottom:19px;flex-wrap:wrap}.section-title small,.muted{color:var(--muted)}.section p{margin:0}.tiny{font-size:12px;color:var(--muted)}.dim{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;background:var(--accent);color:#0a281c;border-radius:11px;padding:12px 17px;font-weight:850;min-height:44px;text-decoration:none}.button:hover{filter:brightness(1.05)}.button--secondary{background:#243947;border:1px solid #416070;color:#f4fbf8}.button--ghost{background:transparent;border:1px solid var(--border);color:#d7e6eb}.button--danger{background:#3e292d;color:#ffb9b9;border:1px solid #77474e}.button--compact{padding:8px 12px;min-height:36px;font-size:13px}.button--block{width:100%}
fieldset{padding:0;margin:0;border:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-field label{font-size:12px;font-weight:750;color:#c1d0d9}.input{width:100%;border:1px solid #3c5160;color:var(--text);background:#0c1925;border-radius:11px;padding:10px 12px;min-height:44px;outline:0;min-width:0}.input::placeholder{color:#708a9a}.input:focus{border-color:var(--accent)}.input[type="date"]{color-scheme:dark}.actions{display:flex;gap:10px;align-items:center;margin-top:17px;flex-wrap:wrap}.divider{height:1px;background:var(--border);margin:21px 0}.checkbox-row{display:flex;gap:9px;align-items:center;min-height:38px;color:#e6f4ee}.checkbox-row input,.check{accent-color:#7eeaac;width:18px;height:18px}.note{background:#1b3033;border-radius:12px;padding:14px;border:1px solid #34605c;color:#d6ebe3;font-size:13px}.warning{background:#3b2d24;border-color:#745d42;color:#ffdfa6}.banner{margin-bottom:17px}
.workout-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;margin:0 0 19px}.day-button{text-align:left;border:1px solid var(--border);background:var(--panel);color:#d6e6eb;min-height:93px;border-radius:13px;padding:12px;min-width:0}.day-button span{display:block;font-size:11px;color:var(--muted);font-weight:800;margin-bottom:6px}.day-button strong{display:block;font-size:12px;line-height:1.3}.day-button.selected{background:#223d35;border-color:var(--accent)}.day-button.selected span{color:var(--accent)}.day-button.done::after{content:'✓ Logged';display:block;color:var(--accent);font-size:10px;font-weight:700;margin-top:4px}
.workout-summary{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.pill{padding:6px 11px;border-radius:100px;background:#233743;color:#d3e5ee;font-size:12px;font-weight:700}.exercise-list{display:flex;flex-direction:column;gap:11px}.exercise-card{background:#142331;border:1px solid #324452;border-radius:13px;padding:17px}.exercise-top{display:flex;align-items:start;gap:12px}.number{display:grid;place-items:center;width:33px;height:33px;flex:none;background:#26463d;color:#9bf5b9;border-radius:9px;font-weight:850;font-size:13px}.exercise-description{flex:1;min-width:0}.exercise-description h3{margin:2px 0 4px}.prescription{color:#9deab7;font-weight:760}.cue{font-size:12px;color:var(--muted);margin:5px 0 0!important}.set-rows{margin:12px 0 0 46px;display:flex;flex-direction:column;gap:7px}.set-row{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:9px}.set-row--simple{grid-template-columns:90px minmax(0,1fr)}.set-label{display:flex;align-items:center;gap:7px;font-size:12px;color:#becdd5;font-weight:750}.set-field{position:relative}.set-field input{padding:8px 9px;min-height:36px;font-size:13px}.set-field span{font-size:10px;color:#9ab0bd;position:absolute;top:-7px;left:8px;padding:0 3px;background:#142331}.date-control{display:flex;align-items:center;gap:9px}.date-control input{width:164px}.workout-save{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-top:17px}.workout-save textarea{width:100%;margin-top:13px;min-height:72px}
.meal-list{display:flex;flex-direction:column;gap:9px}.meal-item{display:flex;justify-content:space-between;align-items:center;gap:9px;border:1px solid var(--border);border-radius:12px;padding:11px 12px}.meal-item strong{display:block;font-size:14px}.meal-meta{font-size:12px;color:var(--muted)}.meal-actions{display:flex;align-items:center;gap:11px}.meal-actions strong{color:var(--accent)}.progress-track{height:12px;border-radius:100px;background:#30434a;overflow:hidden;margin:9px 0}.progress-track div{background:linear-gradient(90deg,#4cb89f,#8eeda8);height:100%;border-radius:100px}
.chart{width:100%;height:auto;max-height:290px;display:block}.chart-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:9px}.history{width:100%;border-collapse:collapse}.history th,.history td{padding:11px 9px;text-align:left;border-bottom:1px solid var(--border)}.history th{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:var(--muted)}.history td{font-size:13px}
.card-preview{aspect-ratio:16/9;background:#091119;border:1px solid #3e505f;border-radius:10px;overflow:hidden}.card-preview canvas{width:100%;height:100%;display:block}.tv-hint{color:#b5c9ce;font-size:13px;margin-top:10px}.tv-header{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.tv-info{margin:16px 0 0;color:var(--muted);font-size:13px}
.login-wrap{min-height:78vh;display:grid;place-items:center}.login-card{width:100%;max-width:480px;background:#152432;border:1px solid var(--border);border-radius:24px;padding:35px}.login-logo{display:flex;gap:13px;align-items:center;margin-bottom:28px}.login-card p{color:var(--muted)}.login-card .button{margin-top:13px;width:100%}.login-feature{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:21px}.login-feature div{border:1px solid var(--border);border-radius:12px;padding:11px;color:#cbd9df;font-size:12px}
.loading-screen{min-height:75vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:11px}.loading-screen h1{margin:3px 0 0}.loading-screen p{color:var(--muted)}.error-box{background:#422729;color:#ffc3c3;padding:13px;border-radius:10px;margin-bottom:15px}.toast{position:fixed;right:20px;bottom:24px;z-index:100;transform:translateY(120px);opacity:0;pointer-events:none;background:#26483b;color:#eafff0;border:1px solid #4d9066;box-shadow:0 20px 50px #0008;border-radius:12px;padding:13px 18px;transition:.22s}.toast.show{transform:translateY(0);opacity:1}.toast.error{background:#46292d;border-color:#95595a}.footer{padding:26px 0;color:#8ba5af;font-size:12px}
@media(max-width:920px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.workout-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body{font-size:14px}.app-shell{padding:0 15px 115px}.topbar{padding:19px 0 16px}.brand-icon{width:42px;height:42px;font-size:17px;border-radius:12px}.brand-name{font-size:18px}.brand-subtitle{font-size:10px;letter-spacing:1.5px}.tag{font-size:10px;padding:6px 9px}.nav{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:none;justify-content:space-between;margin:0;z-index:40;border-radius:16px 16px 0 0;padding:9px 4px calc(9px + env(safe-area-inset-bottom));gap:0;background:#11202c;border-color:#315046}.nav button{font-size:11px;padding:11px 5px;flex:1}.page-head{margin-bottom:17px}.page-head h1{font-size:31px}.headline-stat{display:none}.stat{padding:14px}.stat .value{font-size:26px}.section{padding:17px;border-radius:15px}.stats{gap:9px}.grid{gap:11px}.form-grid.cols3{grid-template-columns:repeat(2,minmax(0,1fr))}.workout-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.day-button{padding:9px 7px;min-height:82px}.day-button strong{font-size:11px}.day-button span{font-size:10px}.date-control input{width:146px}.exercise-card{padding:12px}.set-rows{margin-left:0}.set-row{grid-template-columns:66px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:5px}.set-row--simple{grid-template-columns:70px minmax(0,1fr)}.set-field input{font-size:12px;padding:8px 5px}.set-label{font-size:11px}.number{width:29px;height:29px}.login-card{padding:25px}.login-feature{grid-template-columns:1fr 1fr}.toast{right:12px;left:12px;bottom:92px}}
@media(max-width:380px){.workout-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols3{grid-template-columns:1fr 1fr}.top-actions .tag{display:none}.page-head h1{font-size:28px}.set-field span{font-size:9px}}

@media(max-width:600px){.page-head{flex-direction:column;align-items:stretch;gap:12px}.page-head h1{max-width:none}.date-control{align-self:flex-start}.page-head .subheading{max-width:100%}}
