:root{--bg:#070b14;--bg2:#0b1220;--panel:#0f1726;--panel-soft:#121b2d;--panel-hero:#101a2b;--line:rgba(255,255,255,.06);--line-soft:rgba(255,255,255,.04);--text:#f3f7ff;--muted:#91a0bd;--green:#3dd598;--blue:#7db1ff;--purple:#b39bff;--amber:#f5c66b;--red:#f28a8a;--shadow:0 20px 60px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:radial-gradient(900px 500px at 85% -10%,rgba(61,213,152,.08),transparent 45%),radial-gradient(800px 400px at -10% 0%,rgba(125,177,255,.1),transparent 45%),linear-gradient(180deg,var(--bg),var(--bg2) 52%,#09101b)}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin:0}.app-shell{max-width:1540px;margin:0 auto;padding:32px 28px 40px}.top{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.brand{display:flex;align-items:center;gap:14px}.logo{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,#ffffff0f,#ffffff05),linear-gradient(135deg,#17253d,#1b3558 60%,#28cf84);display:grid;place-items:center;font-weight:900;font-size:29px;box-shadow:0 12px 40px #00000059,inset 0 1px #ffffff0f}.title h1{font-size:34px;line-height:1.02;letter-spacing:-.035em}.sub{margin-top:5px;color:var(--muted);font-size:14px}.cta{display:flex;gap:10px;flex-wrap:wrap}.btn{padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:#ffffff08;color:var(--text);text-decoration:none;font-size:13px;font-weight:780}.btn-primary{border:none;background:linear-gradient(135deg,#1fd07a,#35df8c);color:#04170d}.layout{display:grid;grid-template-columns:300px 1fr 360px;gap:18px;align-items:start}.section-shell,.section-stack{display:flex;flex-direction:column;gap:18px}.section-grid{display:grid;gap:18px}.section-grid-dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid-workout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr)}.section-grid-program,.section-grid-recovery,.section-grid-fuel{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid-plan-builder{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)}.section-grid-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{display:flex;flex-direction:column;gap:18px}.card{background:linear-gradient(180deg,#ffffff08,#ffffff04),var(--panel);border:1px solid var(--line-soft);border-radius:26px;padding:18px;box-shadow:var(--shadow)}.card.soft{background:linear-gradient(180deg,#ffffff05,#ffffff03),var(--panel-soft)}.hero{padding:22px;border-radius:28px;background:linear-gradient(180deg,#ffffff0a,#ffffff04),linear-gradient(135deg,#7db1ff14,#3dd5980f),var(--panel-hero);border:1px solid rgba(255,255,255,.05);box-shadow:0 24px 64px #00000061}.label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:760}.label.thin{margin-bottom:6px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px}.big{font-size:44px;font-weight:880;line-height:.98;letter-spacing:-.05em}.big2{font-size:31px;font-weight:860;line-height:1.03;letter-spacing:-.035em}.big3{font-size:22px;font-weight:820;line-height:1.1;letter-spacing:-.02em}.mobile-title{font-size:30px;margin-top:4px}.muted-ish{margin-top:6px;color:var(--muted)}.micro{font-size:12px;color:var(--muted)}.pill{padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.05);font-size:11px;font-weight:800}.good{background:#3dd5981a;color:#b8f3d7}.info{background:#7db1ff1c;color:#d7e6ff}.purple{background:#b39bff1a;color:#e6dcff}.warn{background:#f5c66b1c;color:#ffe0a8}.metric{padding:14px;border-radius:18px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.metric strong{display:block;font-size:12px;color:var(--muted);font-weight:760}.metric .n{font-size:36px;font-weight:880;letter-spacing:-.04em;margin-top:4px}.headline-list{display:flex;flex-direction:column;gap:12px}.divider{height:1px;background:#ffffff0d;margin:12px 0}.hero-grid,.mini-grid,.goal-grid,.kpis{display:grid;gap:12px;margin-top:14px}.hero-grid{grid-template-columns:1.15fr .9fr .9fr}.mini-grid{grid-template-columns:repeat(3,1fr)}.mini-grid-quad{grid-template-columns:repeat(4,1fr)}.goal-grid,.kpis{grid-template-columns:1fr 1fr}.mini,.panel{padding:14px;border-radius:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.035)}.mini .n{font-size:24px;font-weight:860;letter-spacing:-.03em;margin-top:4px}.session-card{margin-top:16px;padding:16px;border-radius:24px;background:linear-gradient(180deg,#ffffff08,#ffffff04),#ffffff05;border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 1px #ffffff0a}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.selector-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.selector-row-subtle{margin-top:10px}.selector-pill{padding:10px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text);font-size:13px;font-weight:760;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.selector-pill:hover{transform:translateY(-1px);border-color:#7db1ff2e}.selector-pill.is-active{border-color:#3dd59847;background:linear-gradient(135deg,#1fd07a2e,#35df8c14)}.selector-pill-sub{padding:9px 13px;background:#ffffff05}.workout-form{display:flex;flex-direction:column;gap:14px}.workout-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workout-notes{grid-column:span 2}.workout-notes textarea,.macro-field textarea{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0b,#ffffff05);color:var(--text);box-shadow:inset 0 1px #ffffff0a;resize:vertical}.strength-stack{display:flex;flex-direction:column;gap:12px}.generated-plan-stack{margin-top:18px;display:flex;flex-direction:column;gap:16px}.generated-sessions{display:flex;flex-direction:column;gap:12px}.inline-title-input{width:100%;margin-top:4px;border:none;background:transparent;color:var(--text);font-size:20px;font-weight:780;letter-spacing:-.02em;padding:0}.inline-title-input:focus{outline:none}.plan-form{display:flex;flex-direction:column;gap:14px;margin-top:14px}.plan-step{display:flex;flex-direction:column;gap:10px}.choice-grid{display:grid;gap:10px}.choice-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.choice-pill{border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 12px;background:linear-gradient(180deg,#ffffff0a,#ffffff05);color:var(--text);text-align:left;font-size:13px;font-weight:760;line-height:1.35;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.choice-pill:hover{transform:translateY(-1px);border-color:#7db1ff2e}.choice-pill.is-active{border-color:#b39bff47;background:linear-gradient(135deg,#b39bff29,#b39bff0f)}.plan-submit{width:100%}.plan-exercise-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.strength-exercise{padding:14px;border-radius:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.strength-name{flex:1}.set-card{margin-top:12px;padding:12px;border-radius:18px;background:#ffffff04;border:1px solid rgba(255,255,255,.035)}.set-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.set-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.effort-prompt{margin-top:12px}.effort-grid{display:flex;flex-direction:column;gap:8px;margin-top:8px}.effort-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.effort-btn{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 0;background:#ffffff08;color:var(--text);font-size:13px;font-weight:760;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.effort-btn:hover{transform:translateY(-1px);border-color:#b39bff3d}.effort-btn.is-active{border-color:#b39bff52;background:linear-gradient(135deg,#b39bff2e,#b39bff14)}.suggestion-line{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:12px}.workout-save{width:100%}.session-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.session-action{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:20px;border:1px solid rgba(255,255,255,.04);background:#ffffff05;color:var(--text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.session-action:hover{transform:translateY(-2px);border-color:#7db1ff2e;background:#ffffff08}.session-action.is-complete{border-color:#3dd59842;background:linear-gradient(135deg,#3dd59829,#3dd5980d),#ffffff05;box-shadow:0 14px 28px #0819123d}.session-action-check{flex:0 0 28px;width:28px;height:28px;border-radius:999px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#04170d;font-size:14px;font-weight:900}.session-action.is-complete .session-action-check{background:linear-gradient(135deg,#1fd07a,#35df8c);border-color:transparent}.session-action-copy{display:flex;flex-direction:column;gap:5px}.session-action-copy strong{font-size:13px;font-weight:760}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tab{padding:8px 11px;border-radius:12px;font-size:12px;font-weight:760;color:var(--muted);background:#ffffff06;border:1px solid rgba(255,255,255,.04)}.tab.active{color:#04170d;border:none;background:linear-gradient(135deg,#1fd07a,#35df8c)}.chart{margin-top:15px;height:208px;border-radius:22px;position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff05,#ffffff02);border:1px solid rgba(255,255,255,.035)}.gridlines{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,transparent 0,transparent calc(20% - 1px),rgba(255,255,255,.045) calc(20% - 1px),rgba(255,255,255,.045) 20%,transparent 20%,transparent calc(40% - 1px),rgba(255,255,255,.045) calc(40% - 1px),rgba(255,255,255,.045) 40%,transparent 40%,transparent calc(60% - 1px),rgba(255,255,255,.045) calc(60% - 1px),rgba(255,255,255,.045) 60%,transparent 60%,transparent calc(80% - 1px),rgba(255,255,255,.045) calc(80% - 1px),rgba(255,255,255,.045) 80%,transparent 80%),linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),rgba(255,255,255,.045) calc(25% - 1px),rgba(255,255,255,.045) 25%,transparent 25%,transparent calc(50% - 1px),rgba(255,255,255,.045) calc(50% - 1px),rgba(255,255,255,.045) 50%,transparent 50%,transparent calc(75% - 1px),rgba(255,255,255,.045) calc(75% - 1px),rgba(255,255,255,.045) 75%,transparent 75%)}svg{display:block;width:100%;height:100%}.chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;color:#dce7fb}.chart-empty strong{font-size:15px;font-weight:780}.chart-empty span{max-width:320px;color:var(--muted);font-size:13px;line-height:1.45}.note{margin-top:14px;padding:13px 14px;border-radius:18px;background:#ffffff05;border:1px solid rgba(255,255,255,.04);color:#dce7fb}.progress-wrap{margin-top:10px}.progress-lg{height:18px;border-radius:999px;background:#ffffff0f;overflow:hidden;box-shadow:inset 0 1px 3px #00000040}.fill{height:100%}.line-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05)}.line-item:last-child{border-bottom:none}.feed-item{padding:14px;border-radius:20px;background:#ffffff05;border:1px solid rgba(255,255,255,.035)}.feed-item+.feed-item{margin-top:10px}.tap-card{cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.tap-card:hover{transform:translateY(-2px);border-color:#7db1ff29;background:#ffffff07}.tap-hint{margin-top:8px;font-size:11px;color:var(--muted)}.phone-wrap{margin-top:18px}.phone{width:348px;max-width:100%;margin:0 auto;border-radius:36px;padding:12px;background:#050915;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 54px #0000006b}.notch{height:28px;width:118px;background:#02050b;border-radius:0 0 18px 18px;margin:0 auto 12px}.screen{min-height:710px;border-radius:28px;padding:16px;background:radial-gradient(circle at top right,rgba(61,213,152,.06),transparent 24%),linear-gradient(180deg,#0e1729,#0b1120);border:1px solid rgba(255,255,255,.04)}.small-card{margin-top:12px;padding:12px 13px;border-radius:18px;background:#ffffff05;border:1px solid rgba(255,255,255,.035)}.daily-log-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.weight-field{display:flex;flex-direction:column;gap:8px}.weight-field input{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0b,#ffffff05);color:var(--text);box-shadow:inset 0 1px #ffffff0a}.macro-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.goal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.macro-field{display:flex;flex-direction:column;gap:8px}.macro-readout{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff08,#ffffff04);color:var(--text);font-size:14px;font-weight:760}.macro-field input,.macro-field select{width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#ffffff0b,#ffffff05);color:var(--text);box-shadow:inset 0 1px #ffffff0a;-webkit-appearance:none;-moz-appearance:none;appearance:none}.macro-field input:focus,.macro-field select:focus{outline:none;border-color:#b39bff59;box-shadow:0 0 0 3px #b39bff14}.goal-submit{width:100%;grid-column:span 2}.weight-field input::-moz-placeholder{color:#91a0bdbf}.weight-field input::placeholder{color:#91a0bdbf}.weight-field input:focus{outline:none;border-color:#3dd59859;box-shadow:0 0 0 3px #3dd59814}.protein-field{display:flex;flex-direction:column;gap:10px}.toggle-row{display:flex;gap:10px}.toggle-chip{flex:1;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:14px 16px;background:linear-gradient(180deg,#ffffff0b,#ffffff05);color:var(--text);font-size:13px;font-weight:760;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.toggle-chip:hover{transform:translateY(-1px);border-color:#3dd59838}.toggle-chip.is-active{border-color:#3dd5984d;background:linear-gradient(135deg,#1fd07a2e,#35df8c14)}.daily-log-submit{align-self:end;min-width:118px;width:100%;grid-column:span 2}.report-actions{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px}.print-report-shell{margin:28px auto 0}.report-sheet{max-width:980px;margin:0 auto;padding:28px;border-radius:32px;background:linear-gradient(180deg,#fffffff5,#f7f9fdfa);color:#0d1526;box-shadow:0 24px 80px #00000047}.report-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.report-header h2,.report-block h3{margin:0}.report-meta{display:flex;gap:10px;flex-wrap:wrap}.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.report-block{padding:18px;border-radius:20px;background:#0c16280a;border:1px solid rgba(12,22,40,.08)}.report-span{grid-column:span 2}.report-list{display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:13px;color:#31415e}.report-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;font-size:14px;font-weight:760}.report-copy{margin-top:14px;color:#31415e;font-size:13px;line-height:1.5}.report-history{margin-top:14px;display:flex;flex-direction:column;gap:10px}.report-history-item{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:10px;font-size:13px;color:#31415e}.history-stack{margin-top:16px;display:flex;flex-direction:column;gap:14px}.history-section{display:flex;flex-direction:column;gap:10px}.history-title{letter-spacing:.08em;text-transform:uppercase}.history-item{padding:14px;border-radius:18px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.history-head{align-items:flex-start}.history-actions{display:flex;gap:12px}.history-link{border:none;background:none;color:var(--blue);font-size:12px;font-weight:760;cursor:pointer;padding:0}.history-link.danger{color:#f3a4a4}.history-values{margin-top:10px;display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px}.history-edit-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.history-button-row{display:flex;gap:10px;align-items:end}.line-item.compact{padding:8px 0}.footer-note{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.45}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#040810b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.modal-card{width:min(920px,100%);border-radius:28px;padding:22px;background:linear-gradient(180deg,#ffffff0a,#ffffff04),var(--panel);border:1px solid rgba(255,255,255,.07);box-shadow:0 24px 80px #00000073}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.close-btn{width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:var(--text);font-size:20px;cursor:pointer}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}.legend span{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.dot{width:10px;height:10px;border-radius:999px;display:inline-block}@media (max-width:1200px){.layout,.section-grid-dashboard,.section-grid-workout,.section-grid-program,.section-grid-plan-builder,.section-grid-progress,.section-grid-recovery,.section-grid-fuel,.mini-grid-quad,.hero-grid,.mini-grid,.goal-grid,.kpis,.session-action-grid,.workout-grid,.set-grid,.choice-grid-4,.plan-exercise-grid{grid-template-columns:1fr}.phone{width:100%}.daily-log-form{grid-template-columns:1fr}.daily-log-submit{width:100%}.report-grid,.report-kpis,.report-history-item,.macro-controls,.goal-form,.history-edit-grid{grid-template-columns:1fr}.history-button-row{flex-direction:column;align-items:stretch}}@media print{body{background:#fff;color:#111}.top,.layout,.section-shell{display:none!important}.print-report-shell{display:block!important;margin:0}.report-sheet{box-shadow:none;border-radius:0;max-width:none;padding:0;background:#fff}.report-block{-moz-column-break-inside:avoid;break-inside:avoid;background:#fff;border:1px solid rgba(0,0,0,.08)}}
