:root{--navy:#092540;--text:#19364d;--muted:#526578;--teal:#007c89;--teal-soft:#e5f5f6;--green:#3f7e2a;--green-soft:#edf5e9;--bg:#f4f7f9;--line:#d8e2e9;--danger:#a32e2e;--safe:env(safe-area-inset-bottom,0px);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}body.app{padding-bottom:calc(98px + var(--safe))}a{color:var(--teal);text-underline-offset:3px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}h1,h2,h3,p{margin:0}h1{color:var(--navy);font-size:clamp(27px,4vw,36px);line-height:1.15;letter-spacing:-.035em}h2{font-size:21px;line-height:1.3;color:var(--navy);letter-spacing:-.02em}h3{font-size:17px;color:var(--navy)}p+p{margin-top:12px}svg{width:24px;height:24px;flex-shrink:0}:focus-visible{outline:3px solid #a65f00;outline-offset:3px}a.btn{text-decoration:none}button,input,select,textarea{max-width:100%}.shell{max-width:1120px;margin:0 auto;padding-left:24px;padding-right:24px}.appbar{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.bar-inner{display:flex;align-items:center;justify-content:space-between;min-height:78px;gap:20px}.brand{display:block;line-height:0}.brand img{width:184px;height:auto;max-width:100%;display:block}.brand-note{font-size:13px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:14px}.profile-link{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:14px;text-decoration:none;min-height:44px}.screen{padding-top:30px;padding-bottom:40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-head p.muted{margin-top:8px;max-width:650px}.eyebrow{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.1em;color:var(--teal);margin-bottom:8px}.muted,.hint{color:var(--muted)}.hint{font-size:13px;margin-top:7px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 3px 16px #09254003;margin-bottom:20px;min-width:0}.card>h2,.card>h3{margin-bottom:14px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}.card-title h2{display:flex;align-items:center;gap:10px}.card-title svg{color:var(--teal)}.card-title.green svg{color:var(--green)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.full{grid-column:1/-1}.stack{display:flex;flex-direction:column;gap:10px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions>*{flex:1}.actions.tight>*{flex:0 1 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--teal);color:#fff;border:1px solid transparent;border-radius:11px;min-height:46px;padding:10px 16px;font-weight:650;line-height:1.35;text-align:center}.btn.secondary{background:#fff;color:var(--navy);border-color:#bdcdd9}.btn.green{background:var(--green)}.btn.danger{background:var(--danger)}.btn.compact{font-size:14px;padding:8px 12px;min-height:44px}.btn.wide{width:100%}.btn svg{width:20px;height:20px}.btn:hover{filter:brightness(.96)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);text-decoration:none}.icon-button:hover{background:var(--teal-soft);color:var(--teal)}.text-button{background:transparent;border:0;color:var(--teal);text-decoration:underline;padding:8px 2px;min-height:44px;font-size:14px}.mode-switch{display:flex;gap:4px;border-radius:13px;background:#e5edf1;padding:5px;margin:0 0 22px;max-width:510px}.mode-switch form{flex:1}.mode-switch button{border:0;border-radius:9px;padding:10px 5px;width:100%;min-height:44px;font-weight:650;color:var(--muted);background:transparent}.mode-switch button[aria-pressed=true]{background:white;color:var(--navy);box-shadow:0 1px 4px #09254012}.datebar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);padding:8px;border-radius:14px;margin-bottom:20px;gap:10px}.date-form{display:flex;align-items:center;gap:12px}.date-form label{margin:0;white-space:nowrap}.date-form input{width:157px;min-height:42px;padding:7px}.notice{border-radius:10px;padding:12px 15px;background:#fff2dd;color:#775011;font-size:14px;margin-bottom:18px}.notice a{color:inherit;font-weight:700}.notice.info{background:var(--teal-soft);color:#145464}.notice.success{background:var(--green-soft);color:#325d20}.big-number{font-size:40px;line-height:1.2;letter-spacing:-.035em;font-weight:750;color:var(--navy)}.big-number small{font-size:15px;letter-spacing:0;font-weight:500;color:var(--muted)}.metric-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin:12px 0 8px}.metric-row span:last-child{color:var(--muted);text-align:right}.metric-row strong{color:var(--text)}.track{height:8px;background:#eaf0f4;border-radius:10px;overflow:hidden;margin:0 0 15px}.track span{display:block;height:100%;background:#00a2b0;border-radius:10px}.track.amber span{background:#cf962f}.track.rose span{background:#b85782}.track.green span{background:#61b041}.stats{display:flex;gap:25px;flex-wrap:wrap;margin:18px 0}.stats b{font-size:25px;display:block;color:var(--navy);line-height:1.2}.stats span{font-size:13px;color:var(--muted)}.water-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.water-actions form{flex:1}.water-actions button{width:100%}.empty{text-align:center;padding:25px 12px;color:var(--muted)}.empty svg{color:var(--teal);width:32px;height:32px;margin-bottom:10px}.empty h3{margin-bottom:8px}.empty .btn{margin-top:15px}.item-list{margin:10px 0}.item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.item:last-child{border-bottom:0}.item-main{min-width:0;flex:1}.item-main strong{display:block;overflow-wrap:anywhere}.item-main p{font-size:13px;color:var(--muted);margin-top:4px}.item-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.item-actions form{display:inline}.item-kcal{font-size:14px;white-space:nowrap;font-weight:700}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:750;background:var(--teal-soft);color:#175864}.badge.warn{background:#fff2dd;color:#775011}.badge.green{background:var(--green-soft);color:#325d20}label{display:block;font-size:14px;font-weight:650;margin-bottom:7px;color:var(--text)}input,select,textarea{width:100%;background:white;border:1px solid #b7c8d5;border-radius:10px;padding:11px 12px;min-height:46px;color:var(--text)}textarea{min-height:105px;resize:vertical}input::placeholder,textarea::placeholder{color:#65788a}.field{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.three{grid-template-columns:repeat(3,1fr);gap:12px}.form-grid .field{margin-bottom:4px}.check-label{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.45}.check-label input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 0 0}.form-error{padding:12px;border:1px solid #e9bbbb;border-radius:9px;background:#fff0f0;color:#8a2424;margin:13px 0;font-size:14px}.search-control{position:relative}.search-control svg{position:absolute;left:13px;top:12px;color:var(--muted);width:21px}.search-control input{padding-left:44px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.tabs a,.tabs button{background:#fff;border:1px solid var(--line);padding:9px 12px;min-height:44px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none}.tabs .active{background:var(--teal-soft);border-color:#99c4ca;color:#145464}.food-result{display:flex;gap:7px;border-bottom:1px solid var(--line);padding:9px 0;align-items:center}.food-result:last-child{border:0}.food-choice{flex:1;min-width:0;display:block;text-align:left;background:transparent;border:0;padding:9px 3px;color:var(--text)}.food-choice strong{display:block;font-size:15px;overflow-wrap:anywhere}.food-choice span{display:block;font-size:13px;color:var(--muted);margin-top:3px}.food-choice:hover strong{text-decoration:underline}.star-on{color:#886000;background:#fff5dc}.food-tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.food-tools .btn{flex:1}.macro-preview{display:flex;gap:12px;justify-content:space-between;background:var(--bg);border-radius:11px;padding:13px;margin:15px 0}.macro-preview div{text-align:center;flex:1;font-size:12px;color:var(--muted)}.macro-preview b{display:block;font-size:19px;color:var(--navy)}details{border:1px solid var(--line);border-radius:13px;background:white;margin-bottom:16px;overflow:hidden}summary{padding:16px 18px;cursor:pointer;font-weight:700;color:var(--navy)}details .detail-body{padding:0 18px 20px}summary::marker{color:var(--teal)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}th,td{border-bottom:1px solid var(--line);padding:12px 10px;white-space:nowrap}td.note-cell{white-space:normal}.chart{width:100%;height:auto;display:block;min-height:170px}.chart text{fill:var(--muted);stroke:none;font:12px system-ui}.chart .gridline{stroke:var(--line);stroke-width:1}.chart .series{stroke:var(--teal);stroke-width:3;fill:none}.chart .point{fill:var(--teal);stroke:none}.chart .activity-bar{fill:#61b041;stroke:none}.set-form{display:grid;grid-template-columns:40px 1fr 1fr 75px 50px 70px;gap:8px;align-items:end;padding:12px 0;border-bottom:1px solid var(--line)}.set-form label{font-size:12px}.set-form input{padding:9px 7px}.set-form .set-no{align-self:center;font-weight:700}.set-form .check-label{align-self:center;justify-content:center}.set-form .form-error{grid-column:1/-1}.set-form.saved{background:#f0f8eb}.rest-timer{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;background:var(--green-soft);border-radius:12px;margin:15px 0}.rest-timer output{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;min-width:65px}.timer-controls{display:flex;gap:7px}.timer-controls button{background:white;border:1px solid #a6c994;border-radius:9px;padding:8px;min-height:44px;color:#325d20;font-size:13px}.bottomnav{position:fixed;bottom:0;left:0;right:0;z-index:30;padding:0 12px calc(8px + var(--safe));pointer-events:none}.nav-inner{max-width:760px;margin:auto;display:flex;justify-content:space-around;background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:0 3px 24px #09254012;padding:7px;pointer-events:auto}.navitem{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:650;min-width:60px;padding:7px 9px;border-radius:11px}.navitem.active{background:var(--teal-soft);color:#006b76}.navitem svg{width:23px;height:23px}.toast{position:fixed;bottom:calc(104px + var(--safe));left:50%;transform:translateX(-50%);z-index:100;background:var(--navy);color:white;padding:12px 20px;border-radius:12px;max-width:calc(100% - 32px);box-shadow:0 4px 22px #09254025;font-size:14px}.offline{position:sticky;top:78px;background:#fff2dd;color:#775011;padding:10px 16px;text-align:center;font-size:14px;z-index:21}.skip{position:fixed;top:-80px;left:10px;background:var(--navy);color:white;padding:12px;z-index:999}.skip:focus{top:8px}dialog{border:1px solid var(--line);border-radius:19px;background:white;color:var(--text);width:calc(100% - 30px);max-width:560px;max-height:90dvh;padding:24px;box-shadow:0 20px 60px #09254030}dialog::backdrop{background:#09254080;backdrop-filter:blur(2px)}.dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.dialog-head h2{overflow-wrap:anywhere}dialog p{margin-bottom:14px}dialog .actions{margin-top:18px}.auth-wrap{max-width:430px;margin:45px auto 0}.auth-heading{text-align:center;margin-bottom:28px}.auth-heading h1{font-size:34px;margin-bottom:15px}.auth-heading p{color:var(--muted)}.auth-card{padding:27px}.auth-card .btn{width:100%}.code-input{letter-spacing:.28em;font-size:25px;font-weight:700;text-align:center}.auth-footer{text-align:center;color:var(--muted);font-size:13px;margin-top:22px}.share-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:20px;border-radius:14px;font:14px/1.7 system-ui}.settings-section{max-width:760px;margin:0 auto}.section-link{display:flex;align-items:center;gap:10px;padding:14px 0;min-height:48px;font-weight:600}.prose{max-width:760px}.prose h2{margin:28px 0 12px}.prose li{margin:10px 0}.footer-note{font-size:13px;color:var(--muted);margin:24px 0}[hidden]{display:none!important}
@media(max-width:760px){.shell{padding-left:17px;padding-right:17px}.screen{padding-top:22px}.grid{grid-template-columns:1fr;gap:0}.card{padding:20px}.page-head{align-items:flex-start;gap:12px}.page-head>.btn{font-size:13px;padding:9px}.brand img{width:176px}.brand-note,.profile-link span{display:none}.form-grid.three{gap:9px}.navitem{padding:7px 6px;min-width:55px}.date-form{gap:7px}.date-form label{display:none}.date-form input{width:143px;font-size:14px}.date-form .btn{font-size:13px}.datebar{gap:5px}.item{align-items:flex-start}.item-actions{gap:4px}.item-kcal{display:none}.set-form{grid-template-columns:25px 1fr 1fr 54px 36px 52px;gap:5px}.set-form .btn{padding:9px 4px;font-size:12px}.set-form input{font-size:16px}.set-form label{font-size:11px}.set-form .check-label input{width:20px}.auth-wrap{margin-top:22px}.mode-switch{max-width:none}.big-number{font-size:35px}}
@media(max-width:380px){.form-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.card{padding:16px}.navitem span{font-size:11px}.set-form{grid-template-columns:22px 1fr 1fr 45px}.set-form .check-label{grid-column:3}.set-form .btn{grid-column:4}.datebar>.icon-button{min-width:38px;width:38px}.item-actions .icon-button{min-width:40px;width:40px}}
@media(prefers-reduced-motion:no-preference){.btn,.icon-button,.navitem{transition:background .15s,color .15s}.track span{transition:width .2s}}
@media print{.bottomnav,.header-actions,.mode-switch,.datebar,.btn,.icon-button,.food-tools,.toast{display:none!important}.appbar{position:static}.screen{padding-top:20px}body.app{padding-bottom:0}.card{break-inside:avoid;box-shadow:none}.grid{grid-template-columns:1fr 1fr}.shell{max-width:none}}
.head-buttons{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.cheat-action{margin-top:20px}.cheat-action .hint{text-align:center}.notice svg{width:19px;height:19px;vertical-align:-4px;margin-right:4px}.cheat-meal{border-color:#b6d8dc;background:#f7fcfc}.cheat-meal>summary{display:flex;align-items:center;gap:9px;color:#075e68}.cheat-meal>summary svg{width:21px;height:21px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.template-card{border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;align-items:flex-start}.template-card h3{margin:9px 0}.template-card ul{padding-left:20px;margin:0 0 18px;flex:1}.template-card li{margin:5px 0;font-size:14px}.checkin-form h2{margin:26px 0 15px;padding-bottom:8px;border-bottom:1px solid var(--line)}.checkin-form h2:first-of-type{margin-top:0}.check-group{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 20px}.check-group legend{font-weight:700;padding:0 7px;color:var(--navy)}.check-group .check-label{margin:10px 0}.range-field input{padding:0;border:0;accent-color:var(--teal)}.range-field output{font-weight:800;color:var(--teal)}.supplements{margin-top:34px}.button-gap{margin-top:9px}.summary-options .btn{min-width:160px}.share-actions{margin-top:16px}.share-actions>*{max-width:260px}
@media(max-width:900px){.template-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.head-buttons{width:100%;justify-content:flex-start}.head-buttons .btn{flex:1;padding:8px 10px}.template-grid{grid-template-columns:1fr}.share-actions>*{max-width:none}.supplements{margin-top:10px}}
.workout-timer{display:flex;align-items:center;gap:12px;padding:14px 16px;margin:15px 0;background:var(--navy);color:#fff;border-radius:13px}.workout-timer>svg{width:28px;height:28px}.workout-timer>div{display:flex;flex-direction:column}.workout-timer span{font-size:12px;opacity:.8}.workout-timer output{font-size:25px;line-height:1.15;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.04em}.workout-timer small{margin-left:auto;max-width:310px;opacity:.82}.history-set-table{margin:6px 0 16px}.history-actions form{display:flex}.history-actions button{width:100%}.timer-controls{flex-wrap:wrap}
@media(max-width:760px){.set-form{grid-template-columns:28px repeat(3,minmax(0,1fr));gap:8px 6px;align-items:end;padding:14px 0}.set-form .set-no{grid-column:1;grid-row:1;align-self:center}.set-form>label:nth-of-type(1){grid-column:2;grid-row:1}.set-form>label:nth-of-type(2){grid-column:3;grid-row:1}.set-form>label:nth-of-type(3){grid-column:4;grid-row:1}.set-form>.check-label{grid-column:1/3;grid-row:2;justify-content:flex-start;align-self:center;margin:0}.set-form>.btn{grid-column:3/5;grid-row:2;width:100%;font-size:14px;padding:9px 12px}.set-form>.form-error{grid-column:1/-1;grid-row:3}.set-form input{min-width:0;font-size:16px}.set-form label{min-width:0;font-size:12px}.workout-timer{align-items:flex-start;flex-wrap:wrap}.workout-timer small{width:100%;max-width:none;margin:0}.history-actions{flex-direction:column}.history-actions>*{width:100%;flex:auto}.history-actions .btn{width:100%}}
.set-form{grid-template-columns:40px repeat(3,minmax(90px,1fr)) 112px}.set-form .set-done{white-space:nowrap}.set-form .set-done svg{width:19px}.add-set-inline{margin:-1px 0 18px;padding:4px 0 8px;border-bottom:1px solid var(--line)}.add-set-inline .text-button{display:inline-flex;align-items:center;gap:5px;text-decoration:none;font-weight:700}.add-set-inline .text-button svg{width:19px}.add-set-inline .text-button span{font-weight:500;color:var(--muted)}.star-on{font-size:20px}.fitness-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.fitness-metric{padding:15px;border-radius:12px;background:var(--bg)}.fitness-metric b{display:block;font-size:24px;line-height:1.2;color:var(--navy)}.fitness-metric span{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.progress-bar{height:9px;border-radius:10px;background:#e6edf1;overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:10px;background:var(--green)}
@media(max-width:760px){.set-form{grid-template-columns:28px repeat(3,minmax(0,1fr));gap:8px 6px}.set-form .set-no{grid-column:1;grid-row:1}.set-form>label:nth-of-type(1){grid-column:2;grid-row:1}.set-form>label:nth-of-type(2){grid-column:3;grid-row:1}.set-form>label:nth-of-type(3){grid-column:4;grid-row:1}.set-form>.set-done{grid-column:1/-1;grid-row:2;width:100%;min-height:46px;font-size:15px}.set-form>.form-error{grid-column:1/-1;grid-row:3}.fitness-metrics{grid-template-columns:1fr 1fr}.fitness-metric b{font-size:21px}}
.centered{text-align:center}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.landing{padding-bottom:30px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:70px;align-items:center;min-height:650px;padding:45px 0 70px}.hero-copy h1{max-width:690px;font-size:clamp(42px,5.4vw,68px);line-height:1.02;letter-spacing:-.055em}.hero-lead{max-width:650px;margin-top:22px;color:var(--muted);font-size:19px;line-height:1.65}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-actions .btn{min-width:165px}.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:13px;font-weight:650}.hero-points span{display:flex;align-items:center;gap:5px}.hero-points svg{width:17px;color:var(--green)}.app-showcase{position:relative;display:flex;justify-content:center}.app-showcase:before{content:"";position:absolute;inset:10% 0;border-radius:50%;background:radial-gradient(circle,#c8eef0 0,#e8f6f2 50%,transparent 70%);filter:blur(8px)}.phone-frame{position:relative;width:348px;border:10px solid #102d46;border-radius:42px;background:#f4f7f9;box-shadow:0 30px 70px #0925402b;overflow:hidden}.phone-speaker{position:absolute;z-index:2;top:10px;left:50%;width:88px;height:20px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#102d46}.preview-appbar{height:69px;display:flex;align-items:center;padding:14px 19px;background:#fff;border-bottom:1px solid var(--line)}.preview-appbar img{width:142px;height:auto}.preview-screen{padding:18px}.preview-date{font-size:10px;font-weight:800;color:var(--teal);letter-spacing:.1em}.preview-screen>h2{margin-top:2px;font-size:24px}.preview-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#e2eaef;border-radius:9px;padding:3px;margin:13px 0}.preview-tabs span,.preview-tabs b{text-align:center;padding:6px 2px;border-radius:7px;font-size:10px;color:var(--muted)}.preview-tabs b{background:#fff;color:var(--navy);box-shadow:0 1px 3px #09254012}.preview-card{padding:14px;margin-bottom:10px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 8px #09254008}.preview-card-title{display:flex;align-items:center;gap:7px}.preview-card-title svg{width:18px;color:var(--teal)}.preview-card-title strong{font-size:13px}.preview-card-title span{margin-left:auto;font-size:11px;font-weight:750}.preview-macro{margin-top:11px}.preview-macro>span{display:block;height:5px;background:#e8eef2;border-radius:10px}.preview-macro i{display:block;height:100%;background:var(--teal);border-radius:10px}.preview-macro.amber i{background:#cf962f}.preview-macro small{font-size:9px;color:var(--muted)}.preview-card.green{background:#f6fbf3}.preview-card.green .preview-card-title svg{color:var(--green)}.preview-card.green p{margin:8px 0;color:var(--muted);font-size:10px}.preview-card.green button{width:100%;border:0;border-radius:8px;background:var(--green);color:#fff;padding:8px;font-size:10px;font-weight:700}.preview-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.preview-row>div{display:grid;grid-template-columns:auto 1fr;column-gap:7px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.preview-row svg{grid-row:1/3;width:17px;color:var(--teal)}.preview-row b{font-size:12px}.preview-row small{font-size:8px;color:var(--muted)}.preview-nav{display:flex;justify-content:space-around;padding:10px 20px 14px;background:#fff;border-top:1px solid var(--line)}.preview-nav svg{width:20px;color:#728494}.preview-nav svg:first-child{color:var(--teal)}.landing-proof{display:flex;align-items:center;justify-content:center;gap:28px;margin:0 calc(50% - 50vw);padding:22px max(24px,calc((100vw - 1120px)/2));background:var(--navy);color:#fff}.landing-proof p{font-weight:800}.landing-proof div{display:flex;gap:10px;flex-wrap:wrap}.landing-proof span{padding:6px 11px;border:1px solid #ffffff36;border-radius:20px;font-size:12px;color:#e6f4f6}.landing-features{padding:90px 0}.section-heading{max-width:650px;margin:0 auto 38px;text-align:center}.section-heading h2,.landing-detail h2,.landing-cta h2{font-size:clamp(30px,4vw,45px);letter-spacing:-.04em}.section-heading>p:last-child,.landing-detail>div>p{margin-top:12px;color:var(--muted);font-size:17px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-grid article{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff}.feature-grid h3{margin:17px 0 10px;font-size:20px}.feature-grid p{color:var(--muted)}.feature-icon{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:13px}.feature-icon.teal{background:var(--teal-soft);color:var(--teal)}.feature-icon.green{background:var(--green-soft);color:var(--green)}.feature-icon.navy{background:#e7edf3;color:var(--navy)}.landing-detail{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:25px 0 100px}.landing-detail ul{list-style:none;padding:0;margin:25px 0 0}.landing-detail li{display:flex;align-items:center;gap:9px;margin:12px 0;font-weight:650}.landing-detail li svg{width:19px;color:var(--green)}.insight-card{padding:27px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 20px 55px #09254010}.insight-head{display:flex;justify-content:space-between;gap:15px}.insight-head b{color:var(--navy)}.insight-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:25px 0}.insight-stats div{padding:13px;background:var(--bg);border-radius:10px}.insight-stats b{display:block;font-size:23px;color:var(--navy)}.insight-stats span{font-size:10px;color:var(--muted)}.week-bars{display:flex;align-items:flex-end;gap:12px;height:140px;padding-top:10px;border-bottom:1px solid var(--line)}.week-bars div{position:relative;flex:1;height:100%}.week-bars span{position:absolute;bottom:0;left:15%;right:15%;min-height:3px;border-radius:6px 6px 0 0;background:linear-gradient(var(--teal),#61b041)}.week-bars small{position:absolute;top:100%;left:0;right:0;padding-top:6px;text-align:center;color:var(--muted)}.insight-card>p{margin-top:30px;color:var(--muted);font-size:12px}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:45px;padding:40px;border-radius:22px;background:linear-gradient(135deg,#e5f5f6,#edf5e9)}.landing-cta>div:first-child{max-width:650px}.landing-cta p:not(.eyebrow){margin-top:10px;color:var(--muted)}.landing-cta .hero-actions{margin:0;justify-content:flex-end}.landing-footer{display:flex;justify-content:space-between;gap:20px;padding:22px 0;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}.request-wrap{max-width:740px;margin:25px auto}.request-intro{text-align:center;margin-bottom:25px}.request-intro p:last-child{margin-top:10px;color:var(--muted)}.request-success{text-align:center;padding:45px}.success-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:var(--green-soft);color:var(--green)}.request-success h2{font-size:28px}.request-success>p{max-width:520px;margin:12px auto 25px;color:var(--muted)}.choice-group{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:6px 0 20px;padding:0;border:0}.choice-group legend{grid-column:1/-1;font-size:14px;font-weight:650;margin-bottom:3px}.choice-group label{position:relative;margin:0}.choice-group input{position:absolute;opacity:0}.choice-group label>span{display:flex;flex-direction:column;align-items:center;height:100%;padding:15px 10px;border:1px solid #b7c8d5;border-radius:11px;text-align:center}.choice-group svg{width:23px;color:var(--teal);margin-bottom:6px}.choice-group strong{font-size:14px}.choice-group small{font-size:10px;color:var(--muted);font-weight:400}.choice-group input:checked+span{border-color:var(--teal);background:var(--teal-soft);box-shadow:0 0 0 1px var(--teal)}.choice-group input:focus-visible+span{outline:3px solid #a65f00;outline-offset:3px}.request-submit{margin-top:22px}.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:20px}.admin-stats div{padding:19px;border:1px solid var(--line);border-radius:14px;background:#fff}.admin-stats b{display:block;font-size:28px;color:var(--navy)}.admin-stats span{font-size:12px;color:var(--muted)}.request-review{padding:19px 0;border-top:1px solid var(--line)}.request-review:first-of-type{border-top:0}.request-review-head{display:flex;justify-content:space-between;gap:15px}.request-review-head>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:5px}.request-message{margin:14px 0;padding:13px;border-radius:10px;background:var(--bg)}.request-review-actions{margin-top:15px}.request-review-actions form{max-width:230px}.admin-steps{padding-left:22px}.admin-steps li{margin:13px 0}.account-actions{display:flex;gap:10px}.account-actions form{display:inline}.danger-text{color:var(--danger)}
@media(max-width:850px){.landing-hero{grid-template-columns:1fr;gap:45px;text-align:center;padding-top:35px}.hero-copy h1,.hero-copy .hero-lead{margin-left:auto;margin-right:auto}.hero-actions,.hero-points{justify-content:center}.landing-detail{grid-template-columns:1fr;gap:40px}.landing-cta{flex-direction:column;text-align:center}.landing-cta .hero-actions{justify-content:center}.feature-grid{grid-template-columns:1fr}.feature-grid article{max-width:680px;width:100%;margin:auto}}
@media(max-width:600px){.landing-hero{padding-bottom:45px}.hero-copy h1{font-size:39px}.hero-lead{font-size:16px}.phone-frame{width:min(340px,100%)}.landing-proof{flex-direction:column;gap:10px;text-align:center}.landing-proof div{justify-content:center}.landing-features{padding:65px 0}.landing-detail{padding-bottom:70px}.landing-cta{padding:28px 20px}.landing-cta .hero-actions,.landing-cta .btn,.hero-copy .hero-actions .btn{width:100%}.landing-footer{flex-direction:column;align-items:center}.choice-group{grid-template-columns:1fr}.choice-group label>span{flex-direction:row;text-align:left;gap:10px}.choice-group svg{margin:0}.choice-group small{margin-left:auto;max-width:150px}.request-success{padding:32px 20px}.request-success .actions{flex-direction:column}.admin-stats{grid-template-columns:1fr}.request-review-head{flex-direction:column}.request-review-head>div:last-child{align-items:flex-start}.request-review-actions{flex-direction:column}.request-review-actions form{width:100%;max-width:none}.account-actions{flex-direction:column;gap:0}.account-actions .text-button{min-height:34px}.landing .section-heading{text-align:left}.preview-screen{padding:15px}}
@media(max-width:360px){.set-form{grid-template-columns:28px repeat(2,minmax(0,1fr))}.set-form>label:nth-of-type(1){grid-column:2;grid-row:1}.set-form>label:nth-of-type(2){grid-column:3;grid-row:1}.set-form>label:nth-of-type(3){grid-column:2;grid-row:2}.set-form>.check-label{grid-column:3;grid-row:2}.set-form>.btn{grid-column:2/4;grid-row:3}.set-form>.form-error{grid-row:4}}
.share-hint{max-width:590px;margin-top:12px;color:var(--muted);font-size:12px}.hero-actions button.btn{font:inherit;cursor:pointer}@media(max-width:850px){.share-hint{margin-left:auto;margin-right:auto}}@media print{[data-share-site],.share-hint{display:none!important}}
.goal-today,.goal-prompt{display:flex;align-items:center;justify-content:space-between;gap:20px}.goal-today{background:linear-gradient(135deg,#fff,#f0f8eb)}.goal-today .eyebrow{margin-bottom:4px}.goal-today .hint{max-width:720px}.goal-prompt{padding:16px 18px}.goal-prompt p{font-size:13px;margin-top:3px}@media(max-width:600px){.goal-today,.goal-prompt{align-items:flex-start;flex-direction:column}.goal-today .btn,.goal-prompt .btn{width:100%}}
.goal-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(135deg,#fff,#e5f5f6)}.goal-target{text-align:right}.goal-target b{display:block;font-size:38px;line-height:1;color:var(--navy)}.goal-target span{font-size:12px;color:var(--muted)}.goal-metrics{margin-bottom:20px}.goal-builder>h3{margin:26px 0 13px}.goal-choice{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 24px;padding:0;border:0}.goal-choice legend{grid-column:1/-1;font-size:17px;font-weight:750;color:var(--navy);margin-bottom:5px}.goal-choice label{position:relative;margin:0;height:100%}.goal-choice input{position:absolute;opacity:0}.goal-choice span{display:block;height:100%;padding:16px;border:1px solid #b7c8d5;border-radius:12px;background:#fff}.goal-choice strong,.goal-choice small{display:block}.goal-choice strong{color:var(--navy);margin-bottom:6px}.goal-choice small{color:var(--muted);font-weight:400;line-height:1.4}.goal-choice input:checked+span{border-color:var(--teal);background:var(--teal-soft);box-shadow:0 0 0 1px var(--teal)}.goal-choice input:focus-visible+span{outline:3px solid #a65f00;outline-offset:3px}.target-source{display:flex;gap:24px;flex-wrap:wrap;margin:0 0 18px}.input-pair{display:grid;grid-template-columns:1fr 105px;gap:8px}.safety-check{padding:14px;border-radius:11px;background:#fff2dd;margin-top:5px}@media(max-width:850px){.goal-choice{grid-template-columns:1fr 1fr}}@media(max-width:600px){.goal-hero{align-items:flex-start;flex-direction:column}.goal-target{text-align:left}.goal-choice{grid-template-columns:1fr}.target-source{display:grid;gap:8px}.input-pair{grid-template-columns:1fr 95px}}
.quality-label{display:inline-flex!important;width:auto!important;margin:0!important;padding:2px 6px;border-radius:5px;background:#eef1f4;color:var(--muted)!important;font-size:11px!important;font-weight:700}.quality-label.verified{background:var(--green-soft);color:#325d20!important}.quality-label.reviewed{background:var(--teal-soft);color:#145464!important}.ingredient-result{display:grid;grid-template-columns:minmax(180px,1fr) 100px 115px auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}.ingredient-result label{font-size:12px;margin:0}.ingredient-result .form-error{grid-column:1/-1}.recipe-log-form{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.search-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}.scanner-frame{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:14px 0;border:2px dashed #9fb3c2;border-radius:15px;background:#eef3f6}.scanner-frame video{width:100%;height:100%;object-fit:cover}.scanner-frame:after{content:"";position:absolute;inset:25% 10%;border:2px solid #fff;border-radius:10px;box-shadow:0 0 0 999px #09254035;pointer-events:none}.scanner-frame #scannerPlaceholder{text-align:center;max-width:260px;padding:20px;color:var(--muted);z-index:1}.scanner-frame #scannerPlaceholder svg{width:42px;height:42px;color:var(--teal)}.previous-performance{margin:-6px 0 10px;padding:9px 11px;border-radius:8px;background:var(--bg);font-size:12px;color:var(--muted)}.coaching-note{display:flex;flex-direction:column;gap:3px;margin:8px 0 10px;padding:10px 12px;border-left:4px solid var(--green);background:var(--green-soft);font-size:13px}.coaching-note.warn{border-color:#b07417;background:#fff2dd}.coaching-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--line)}.coaching-row:last-of-type{border-bottom:0}.coaching-row p{margin-top:4px;color:var(--muted);font-size:13px}.distribution-list>div{display:grid;grid-template-columns:85px 1fr 58px;gap:10px;align-items:center;margin:12px 0;font-size:13px}.distribution-list b{text-align:right;color:var(--navy)}.admin-stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.ingredient-result{grid-template-columns:1fr 1fr}.ingredient-result .item-main{grid-column:1/-1}.ingredient-result .btn{width:100%}.coaching-row{align-items:flex-start;flex-direction:column}.coaching-row form,.coaching-row .btn{width:100%}.search-row{grid-template-columns:1fr}.search-row .btn{width:100%}.admin-stats{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.ingredient-result{grid-template-columns:1fr}.ingredient-result .item-main,.ingredient-result .form-error{grid-column:1}.admin-stats{grid-template-columns:1fr}}
.set-row-wrap{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center;border-bottom:1px solid var(--line)}.set-row-wrap .set-form{border-bottom:0}.remove-set-form{display:flex;align-items:center;justify-content:center}.remove-set-form .form-error{position:absolute;left:20px;right:20px;margin-top:100px}.quick-entry-picker{border:1px solid var(--line);border-radius:11px;padding:13px;margin:0 0 18px}.quick-entry-picker legend{font-weight:700;color:var(--navy);padding:0 6px}.quick-entry-option{padding:8px 2px;margin:0;border-bottom:1px solid var(--line)}.quick-entry-option:last-child{border:0}.toast{display:flex;align-items:center;gap:14px}.toast button{border:1px solid #ffffff80;background:#fff;color:var(--navy);border-radius:8px;padding:6px 10px;font-weight:750;min-height:36px}
@media(max-width:760px){.set-row-wrap{grid-template-columns:minmax(0,1fr) 44px;gap:4px}.remove-set-form .icon-button{width:42px;min-width:42px}.item-actions:has(select){flex-wrap:wrap;justify-content:flex-end}.item-actions select{width:auto;min-width:118px}}
.consent-wrap{max-width:760px;margin:0 auto}.consent-summary{border-left:5px solid var(--teal)}.consent-summary ul{padding-left:22px}.consent-form{display:flex;flex-direction:column;gap:4px}.legal-check{display:flex;align-items:flex-start;gap:12px;padding:15px 0;margin:0;border-bottom:1px solid var(--line);font-weight:500}.legal-check:last-of-type{border-bottom:0}.legal-check input{width:22px;height:22px;min-height:22px;flex:0 0 22px;margin:2px 0 0;accent-color:var(--teal)}.legal-check span{min-width:0}.legal-check strong,.legal-check small{display:block}.legal-check small{margin-top:4px;color:var(--muted);font-weight:400}.consent-form>.hint{margin:13px 0}.consent-signout{max-width:760px;margin:0 auto}.legal-document{margin-left:auto;margin-right:auto}.legal-document>p,.legal-document>ul{max-width:72ch}.legal-document+ .btn{display:flex;max-width:240px;margin:0 auto}.landing-footer>div{display:flex;gap:16px;flex-wrap:wrap}.landing-footer a{color:var(--muted)}
@media(max-width:600px){.legal-check{padding:13px 0}.consent-summary ul{padding-left:19px}.legal-document h2{font-size:19px}}

/* V13 exercise catalogue, program builder and compact set logger */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.workout-session-head{position:sticky;top:79px;z-index:18;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin:-12px 0 16px;padding:10px 14px;border:1px solid var(--line);border-radius:13px;background:#fffffff2;backdrop-filter:blur(10px)}.workout-session-head>.text-button{text-align:right;text-decoration:none;font-weight:750}.workout-clock-compact{display:flex;align-items:center;gap:7px;color:var(--navy);font-variant-numeric:tabular-nums;font-weight:750}.workout-clock-compact svg{width:21px}.workout-session{max-width:850px;margin-inline:auto}.rest-panel{margin:0 0 18px}.rest-panel summary{display:flex;gap:8px}.rest-panel output{font-variant-numeric:tabular-nums;color:var(--teal)}.exercise-log{margin:18px -4px 26px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 2px 9px #09254008}.exercise-log-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.exercise-log-head h2{color:var(--teal);font-size:22px}.exercise-log-head p{margin-top:3px;color:var(--muted);font-size:12px}.exercise-log-head .icon-button{font-weight:800;color:var(--teal);background:var(--teal-soft)}.exercise-note-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:14px}.exercise-note-form .form-error{grid-column:1/-1}.set-labels,.set-form-v13,.set-history-line{display:grid;grid-template-columns:42px minmax(88px,1fr) minmax(72px,.8fr) minmax(72px,.8fr) 54px 46px;gap:8px;align-items:center}.set-labels{padding:0 4px 8px;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.set-line{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:6px;align-items:center;margin-inline:-10px;padding:8px 10px;border-top:1px solid var(--line)}.set-line.completed{background:#e8f7ec}.set-form-v13{min-width:0}.set-form-v13 input{min-width:0;min-height:48px;padding:8px;text-align:center;font-size:18px;background:#f0f3f4;border-color:transparent}.set-form-v13 input:focus{background:#fff;border-color:var(--teal)}.set-number{text-align:center;font-size:18px}.set-previous{text-align:center;color:var(--muted);font-size:13px;line-height:1.25}.set-check{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:11px;background:#dfe5e8;color:#526578}.completed .set-check{background:#35b96e;color:#fff}.rpe-compact{grid-column:3/5;display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:0;color:var(--muted);font-size:11px}.rpe-compact input{width:66px;min-height:38px;font-size:15px}.set-form-v13 .form-error{grid-column:1/-1}.set-history-line{padding:10px 4px;border-top:1px solid var(--line)}.set-history-line svg{color:var(--green)}.exercise-log .add-set-inline{margin:7px 0 0;padding:0;border:0;text-align:center}.exercise-log .add-set-inline .text-button{margin:auto}.add-exercise-panel{max-width:850px;margin-inline:auto}.routine-dialog{max-width:760px}.exercise-search-results{display:flex;flex-direction:column;max-height:280px;overflow:auto;border-radius:10px}.exercise-search-result{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px;border-bottom:1px solid var(--line);background:#fff}.exercise-search-result strong,.exercise-search-result small{display:block}.exercise-search-result small{color:var(--muted);margin-top:2px}.routine-selection{display:flex;flex-direction:column;gap:10px;margin:16px 0}.routine-item{display:grid;grid-template-columns:minmax(160px,1.6fr) repeat(3,minmax(65px,.55fr)) auto;gap:8px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.routine-item h3{align-self:center}.routine-item label{margin:0;font-size:11px}.routine-item input{min-height:42px;padding:7px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.template-card{display:flex;flex-direction:column;padding:17px;border:1px solid var(--line);border-radius:14px}.template-card h3{margin:12px 0 5px}.template-card p{font-size:13px}.template-card ul{padding-left:20px;flex:1;font-size:13px}.program-week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.program-day{display:flex;min-height:160px;flex-direction:column;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--teal-soft)}.program-day.rest{background:var(--bg)}.program-day h3{font-size:15px;margin:5px 0}.program-day p{color:var(--muted);font-size:12px}.program-weekday{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--teal)}.muscle-map{margin:0}.muscle-map svg{width:100%;height:auto;max-height:390px}.muscle-map .body-base{fill:#edf1f3;stroke:#9badba;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.muscle-map .muscle-region{fill:transparent;stroke:transparent;stroke-width:7;stroke-linecap:round}.muscle-map .muscle-region.primary{fill:#00a0ad;stroke:#007c89}.muscle-map .muscle-region.secondary{fill:#76b852;stroke:#3f7e2a}.muscle-map text{fill:var(--muted);font-size:11px;text-anchor:middle}.muscle-map figcaption{display:flex;justify-content:center;gap:18px;color:var(--muted);font-size:12px}.muscle-map i{display:inline-block;width:11px;height:11px;margin-right:5px;border-radius:3px}.muscle-map i.primary{background:#00a0ad}.muscle-map i.secondary{background:#76b852}.exercise-detail-grid{display:grid;grid-template-columns:minmax(250px,.8fr) 1.2fr;gap:34px}.exercise-detail h2{margin:20px 0 8px}.exercise-detail h3{margin:20px 0 8px}.exercise-facts{margin-top:20px}.exercise-facts>div{padding:10px 0;border-top:1px solid var(--line)}.exercise-facts dt{font-weight:750}.exercise-facts dd{margin:3px 0;color:var(--muted)}
@media(max-width:900px){.template-grid{grid-template-columns:1fr 1fr}.program-week{grid-template-columns:1fr 1fr}.program-day{min-height:130px}}
@media(max-width:600px){.workout-session-head{top:70px}.workout-session{padding:14px}.exercise-log{margin:16px -5px 24px;padding:13px}.exercise-note-form{grid-template-columns:1fr}.exercise-note-form .btn{width:100%}.set-labels,.set-form-v13,.set-history-line{grid-template-columns:30px minmax(70px,1fr) minmax(58px,.8fr) minmax(58px,.8fr) 48px}.set-labels span:last-child{display:none}.set-line{grid-template-columns:minmax(0,1fr) 42px;margin-inline:-7px;padding-inline:7px}.set-line>.remove-set-form{grid-column:2}.set-form-v13 input{font-size:17px;padding:6px}.set-previous{font-size:11px}.set-check{width:44px;height:46px}.rpe-compact{grid-column:3/5}.remove-set-form .icon-button{width:40px;min-width:40px}.routine-item{grid-template-columns:1fr 1fr 1fr}.routine-item h3{grid-column:1/-1}.routine-item .icon-button{grid-column:3}.template-grid,.program-week,.exercise-detail-grid{grid-template-columns:1fr}.program-day{min-height:0;flex-direction:row;align-items:center}.muscle-map svg{max-height:300px}}
@media(max-width:380px){.set-labels,.set-form-v13,.set-history-line{grid-template-columns:27px 64px minmax(54px,1fr) minmax(54px,1fr) 44px;gap:5px}.set-line{grid-template-columns:minmax(0,1fr) 38px;gap:3px}.set-form-v13 input{font-size:16px}.set-previous{font-size:10px}.set-check{width:40px}.remove-set-form .icon-button{width:36px;min-width:36px}.routine-item{grid-template-columns:1fr 1fr}.routine-item .icon-button{grid-column:2}}

/* V15 routine discovery and reusable nutrition library */
.routine-filters{margin:18px 0 22px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--bg)}.routine-filter-grid,.exercise-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:10px;margin:12px 0}.routine-filter-grid label,.exercise-filter-grid label{margin:0}.routine-filter-grid label>span,.exercise-filter-grid label>span{display:block;margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.05em}.routine-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.routine-card{display:flex;flex-direction:column;gap:12px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff}.routine-card-head,.reuse-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.routine-card h3{margin:8px 0 0}.routine-facts{display:flex;gap:7px;flex-wrap:wrap}.routine-facts span,.reuse-macros{padding:5px 8px;border-radius:7px;background:var(--bg);color:var(--muted);font-size:12px}.routine-card details{margin-top:auto}.routine-start{margin-top:0}.routine-exercise-list{margin:0;padding-left:20px}.routine-exercise-list li{margin:8px 0}.routine-exercise-list strong,.routine-exercise-list span{display:block}.routine-exercise-list span{margin-top:2px;color:var(--muted);font-size:12px}.reuse-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.reuse-types article{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--bg)}.reuse-types p{margin:3px 0 0;color:var(--muted);font-size:12px}.reuse-icon{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border-radius:10px;background:var(--teal-soft);color:var(--teal);font-size:20px;font-weight:800}.reuse-icon svg{width:20px}.reuse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.reuse-grid>section>h3{margin-bottom:10px}.reuse-card{margin-bottom:12px;padding:15px;border:1px solid var(--line);border-radius:14px}.reuse-card-head p{margin:3px 0;color:var(--muted);font-size:12px}.reuse-macros{display:inline-block;margin:8px 0}.reuse-card details{margin:5px 0 12px}.reuse-items>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line)}.reuse-items>div:last-child{border:0}.reuse-items span:last-child{text-align:right;white-space:nowrap}.reuse-items strong,.reuse-items small{display:block}.reuse-items small{margin-top:2px;color:var(--muted)}.reuse-add-form{display:grid;grid-template-columns:1fr auto;gap:8px}.reuse-add-form .form-error{grid-column:1/-1}
@media(max-width:760px){.routine-filter-grid,.exercise-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-card-grid,.reuse-grid{grid-template-columns:1fr}.reuse-types{grid-template-columns:1fr}.routine-library-card>.card-title{align-items:flex-start}.routine-library-card>.card-title .btn{white-space:nowrap}}
@media(max-width:420px){.routine-filter-grid,.exercise-filter-grid{grid-template-columns:1fr 1fr}.reuse-add-form{grid-template-columns:1fr}.reuse-add-form .btn{width:100%}.routine-card{padding:14px}.reuse-types article{grid-template-columns:auto 1fr}.reuse-types article>:last-child{grid-column:2;justify-self:start}}
.routine-manage,.routine-order-controls{display:flex;align-items:center;gap:5px}.routine-manage form{display:flex}.routine-order-controls .icon-button{font-size:20px;font-weight:800}.routine-today-item{align-items:flex-start}.routine-today-item .item-main{min-width:0}.routine-today-item .item-main>.actions{margin-bottom:7px}.routine-today-item details{margin-top:7px}.routine-today-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}.routine-today-actions form{display:flex}
@media(max-width:600px){.routine-card-head{align-items:flex-start}.routine-manage{gap:2px}.routine-manage .icon-button{width:40px;min-width:40px}.routine-order-controls{grid-column:1/-1;justify-content:flex-end}.routine-today-item{display:block}.routine-today-actions{justify-content:flex-start;margin-top:12px}.routine-today-actions .btn{min-height:42px}.routine-today-actions form:last-child{flex:1}.routine-today-actions form:last-child .btn{width:100%}}
.nutrition-grid{grid-template-columns:1fr}.daily-totals-card,.nutrition-search-card{width:100%}
.workout-session .set-line{border-top:1px solid var(--line);padding-block:10px}.workout-session .set-line.completed{background:#e8f7ec}.workout-session .set-form-v13 input{min-height:42px;border:1px solid transparent;border-radius:8px;background:#f2f5f6}.workout-session .set-line.completed .set-form-v13 input{background:transparent;color:var(--text)}.workout-session .set-line>.remove-set-form .icon-button{width:34px;min-width:34px;height:34px;border-radius:8px}.workout-session .set-line>.remove-set-form .icon-button svg{width:18px;height:18px}.workout-session .add-set-inline{margin-top:2px;padding:10px 0 3px;border:0}.workout-session .add-set-inline .text-button{font-size:15px;font-weight:750}
@media(max-width:600px){.workout-session .set-line>.remove-set-form .icon-button{width:32px;min-width:32px;height:32px}.workout-session .set-form-v13 input{min-height:40px}.workout-session .add-set-inline .text-button{width:100%;justify-content:center}}

/* V15.5 make both set forms participate in one responsive grid */
.set-line{grid-template-columns:42px minmax(88px,1fr) minmax(72px,.8fr) minmax(72px,.8fr) 54px 46px;gap:8px;align-items:center}
.set-line>.set-form-v13,.set-line>.remove-set-form{display:contents}
.set-line>.remove-set-form .icon-button{grid-column:6;grid-row:1;width:46px;min-width:46px;height:48px;justify-self:center}
.set-line>.remove-set-form .form-error{position:static;grid-column:1/-1;margin:0}
.set-line .rpe-compact{grid-row:2}
@media(max-width:600px){.set-line{grid-template-columns:30px minmax(64px,1fr) minmax(50px,.8fr) minmax(50px,.8fr) 48px;gap:7px}.set-line>.remove-set-form .icon-button{grid-column:5;grid-row:2;width:40px;min-width:40px;height:40px;align-self:center}.set-line .rpe-compact{grid-column:3/5;grid-row:2}}
@media(max-width:380px){.set-line{grid-template-columns:27px 58px minmax(48px,1fr) minmax(48px,1fr) 44px;gap:5px}.set-line>.remove-set-form .icon-button{grid-column:5;grid-row:2;width:36px;min-width:36px;height:38px}}

/* V14 mobile efficiency */
body.app{padding-bottom:calc(145px + var(--safe))}.screen{padding-bottom:65px}.compact-datebar{max-width:680px;margin-bottom:18px}.date-current{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:44px;margin:0;border:1px solid #b7c8d5;border-radius:10px;background:#fff;color:var(--navy);font-weight:720;cursor:pointer}.date-current input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;opacity:.01;cursor:pointer}.compact-past-notice{margin-top:-8px}.macro-summary{display:none}.meal-select-compact{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin:12px 0}.meal-select-compact>span{font-size:13px;font-weight:700;color:var(--muted)}.meal-select-compact label{display:none}.meal-select-compact select{min-height:42px}.prominent-search input{border-width:2px;border-color:#8abac0}.filter-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:2px 0}.filter-chips::-webkit-scrollbar,.mobile-section-tabs::-webkit-scrollbar{display:none}.filter-chips a{white-space:nowrap}.active-workout-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid var(--green);background:linear-gradient(135deg,#fff,#f1f8ee)}.active-workout-banner h2{margin:7px 0 2px}.active-workout-banner p{color:var(--muted);font-size:13px}.today-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.today-quick-actions a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:58px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--navy);font-size:13px;font-weight:720;text-decoration:none}.today-quick-actions svg{width:21px;color:var(--teal)}.goal-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:14px 18px;border:1px solid #d4e5ce;border-radius:14px;background:linear-gradient(135deg,#fff,#f1f8ee)}.goal-strip div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.goal-strip span{color:var(--green);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.goal-strip strong{color:var(--navy)}.goal-strip a{white-space:nowrap}.summary-main{display:flex;align-items:baseline;gap:7px;margin:12px 0}.summary-main strong{font-size:38px;line-height:1;color:var(--navy)}.summary-main span{color:var(--muted)}.summary-pills{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.summary-pills span{padding:5px 8px;border-radius:7px;background:var(--bg);color:var(--muted);font-size:11px}.compact-stats{margin:12px 0 22px}.hydration-row{display:flex;align-items:center;gap:18px}.hydration-row .water-actions{flex:1;margin:0}.dashboard-links{padding-block:8px}.dashboard-links>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--navy);text-decoration:none}.dashboard-links>a:last-child{border:0}.dashboard-links>a>svg:first-child{color:var(--teal)}.dashboard-links>a>svg:last-child{width:18px;color:var(--muted)}.dashboard-links strong,.dashboard-links small{display:block}.dashboard-links small{margin-top:2px;color:var(--muted)}.dashboard-preference{max-width:680px;margin:0 auto}.dashboard-preference .mode-switch{margin:0}.history-filter{max-width:850px}.history-filter>.form>.actions{margin-top:10px}.history-filter .tabs label{position:relative;margin:0}.history-filter .tabs input{position:absolute;opacity:0}.history-filter .tabs span{display:block;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted);font-size:14px;font-weight:650}.history-filter .tabs input:checked+span{border-color:#99c4ca;background:var(--teal-soft);color:#145464}
@media(max-width:760px){.screen{padding-top:16px}.page-head{margin-bottom:14px}.page-head h1{font-size:31px}.page-head p.muted{margin-top:5px;font-size:14px;line-height:1.4}.page-head>.head-buttons.page-actions{display:flex;width:100%;flex-wrap:nowrap;overflow-x:auto;padding:2px 0;scrollbar-width:none}.page-head>.head-buttons.page-actions .btn{flex:0 0 auto;min-height:42px;padding:8px 13px;white-space:nowrap}.mobile-section-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;margin:0 0 14px;padding-bottom:2px;scrollbar-width:none}.mobile-section-tabs a{flex:1 0 auto;text-align:center}.compact-datebar{padding:6px;margin-bottom:14px}.date-current{min-height:42px}.compact-past-notice{font-size:12px}.nutrition-grid{display:flex;flex-direction:column}.nutrition-search-card{order:-2}.daily-totals-card{order:-1}.nutrition-search-card #foodResults{max-height:315px;overflow:auto;overscroll-behavior:contain}.macro-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.macro-summary div{padding:9px;border-radius:9px;background:var(--bg);text-align:center}.macro-summary b,.macro-summary span{display:block}.macro-summary b{font-size:18px;color:var(--navy)}.macro-summary span{font-size:9px;color:var(--muted)}.macro-details{display:none}.daily-totals-card .big-number{font-size:31px}.daily-totals-card .cheat-action{margin-top:13px}.meal-filter{margin:0 0 14px}.active-workout-banner{padding:16px}.active-workout-banner .btn{flex:0 0 auto}.today-quick-actions{gap:7px}.today-quick-actions a{flex-direction:column;gap:3px;min-height:64px;padding:8px 4px;text-align:center;font-size:11px}.goal-strip{padding:12px 14px}.goal-strip div{gap:5px}.goal-strip span,.goal-strip strong{width:100%}.goal-strip strong{font-size:14px}.goal-strip a{font-size:12px}.today-grid .card{margin-bottom:14px}.hydration-row{align-items:flex-start;flex-direction:column;gap:10px}.hydration-row .water-actions{width:100%}.dashboard-links{padding:5px 16px}.dashboard-preference summary{padding:13px 16px}.history-filter{padding:14px}.history-filter details{margin:10px 0}.history-filter .actions>*{flex:1}.bottomnav{padding-left:9px;padding-right:9px}.nav-inner{padding:6px}.navitem{min-width:52px;padding:7px 4px}}
@media(max-width:420px){.active-workout-banner{align-items:stretch;flex-direction:column}.active-workout-banner .btn{width:100%}.today-quick-actions{grid-template-columns:repeat(4,1fr)}.goal-strip{align-items:flex-start}.logged-meals-card{padding-inline:15px}}
@media(max-width:760px){.page-head:has(.page-actions){flex-direction:column}}
.favourite-quick-entry{margin:14px 0;padding:13px;border:1px solid #b9dadd;border-radius:12px;background:var(--teal-soft)}.favourite-quick-entry span,.favourite-quick-entry strong,.favourite-quick-entry small{display:block}.favourite-quick-entry small{margin-top:3px;color:var(--muted);font-weight:400}

/* V15.11 single-line set editor with reversible completion */
.workout-session .set-labels,.workout-session .set-line{grid-template-columns:42px minmax(86px,1.2fr) minmax(64px,.8fr) minmax(64px,.8fr) 58px 50px 36px;gap:6px;align-items:center}.workout-session .set-labels{display:grid}.workout-session .set-line>.set-form-v13,.workout-session .set-line>.remove-set-form{display:contents}.workout-session .set-line .set-number{grid-column:1;grid-row:1}.workout-session .set-line .set-previous{grid-column:2;grid-row:1}.workout-session .set-line .set-form-v13>input[name="load"],.workout-session .set-line .set-form-v13>input[name="duration_min"]{grid-column:3;grid-row:1}.workout-session .set-line .set-form-v13>input[name="reps"],.workout-session .set-line .set-form-v13>input[name="distance_km"]{grid-column:4;grid-row:1}.workout-session .set-line .rpe-compact{grid-column:5;grid-row:1;display:block;margin:0}.workout-session .set-line .rpe-compact input{width:100%;min-height:42px}.workout-session .set-line .set-check{grid-column:6;grid-row:1;width:46px;height:44px}.workout-session .set-line>.remove-set-form .icon-button{grid-column:7;grid-row:1;width:34px;min-width:34px;height:34px}.workout-session .set-line .form-error{grid-column:1/-1;grid-row:2}.workout-session .set-line[data-save-state="saving"]{opacity:.8}.workout-session .set-line.completed .set-check{background:#35b96e;color:#fff}
@media(max-width:600px){.workout-session .exercise-log{padding-inline:10px}.workout-session .set-labels,.workout-session .set-line{grid-template-columns:27px 55px minmax(45px,1fr) minmax(43px,1fr) 40px 40px 30px;gap:3px}.workout-session .set-labels{padding-inline:0;font-size:8px;letter-spacing:.035em}.workout-session .set-labels span{text-align:center}.workout-session .set-labels span:last-child{display:block}.workout-session .set-line{margin-inline:-3px;padding-inline:3px}.workout-session .set-number{font-size:17px}.workout-session .set-previous{font-size:9px}.workout-session .set-form-v13 input{min-height:40px;padding:4px;font-size:15px}.workout-session .set-line .rpe-compact input{min-height:40px;font-size:14px}.workout-session .set-line .set-check{width:38px;height:40px;border-radius:9px}.workout-session .set-line>.remove-set-form .icon-button{width:28px;min-width:28px;height:32px;padding:5px}.workout-session .set-line>.remove-set-form .icon-button svg{width:16px;height:16px}}
@media(max-width:380px){.workout-session .set-labels,.workout-session .set-line{grid-template-columns:25px 49px minmax(42px,1fr) minmax(40px,1fr) 37px 37px 27px;gap:2px}.workout-session .set-form-v13 input{font-size:14px}.workout-session .set-line .set-check{width:35px}.workout-session .set-line>.remove-set-form .icon-button{width:26px;min-width:26px}}

/* V16 measurements, momentum and private weekly sharing */
.measurement-form>h3{margin:22px 0 12px}.measurement-grid,.measurement-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.measurement-grid .field,.measurement-target-grid .field{margin:0}.measurement-grid .field small,.measurement-target-grid .field small{display:block;margin-top:5px;color:var(--muted);font-size:12px}.measurement-history .item{align-items:center}.measurement-history .item-main p{line-height:1.55}.measurement-history form{flex:0 0 auto}.momentum-card{background:linear-gradient(135deg,#fff 25%,#eff9f5)}.momentum-count{font-size:28px;color:var(--green);white-space:nowrap}.momentum-weeks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.momentum-weeks div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.momentum-weeks span,.momentum-weeks b{display:block}.momentum-weeks span{font-size:12px;color:var(--muted)}.momentum-weeks b{margin-top:4px;font-size:20px;color:var(--navy)}.momentum-weeks .met{border-color:#a9cfa0;background:var(--green-soft)}.next-action{display:flex;align-items:center;justify-content:space-between;gap:20px;border-left:5px solid var(--green)}.next-action p:not(.eyebrow){margin-top:7px;color:var(--muted)}.next-action .btn{flex:0 0 auto}.weekly-scorecards{margin-bottom:20px}.record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.record-grid article{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--bg)}.record-grid strong,.record-grid span,.record-grid small{display:block}.record-grid span{margin-top:4px;color:var(--green);font-weight:700}.record-grid small{margin-top:5px;color:var(--muted)}.measurement-report-picker{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,2fr) auto;gap:10px;align-items:end;margin-bottom:18px}.measurement-report-picker label{margin:0}.measurement-highlight{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.measurement-highlight>div{padding:13px;border-radius:12px;background:var(--bg)}.measurement-highlight b,.measurement-highlight span{display:block}.measurement-highlight b{font-size:20px;color:var(--navy)}.measurement-highlight span{margin-top:4px;font-size:12px;color:var(--muted)}.measurement-spark{position:relative;height:145px;margin:20px 7px 12px;border-bottom:1px solid var(--line);background:linear-gradient(to bottom,transparent 49%,var(--line) 50%,transparent 51%)}.measurement-spark:before{content:"";position:absolute;left:0;right:0;top:0;border-top:1px solid var(--line)}.measurement-spark i{position:absolute;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--teal);box-shadow:0 0 0 2px var(--teal);transform:translate(-50%,50%)}.summary-privacy{display:flex;gap:18px;flex-wrap:wrap;margin:14px 0}.summary-privacy .check-label{margin:0}.weekly-share-card{overflow:hidden;background:linear-gradient(145deg,#092540,#0e5064);color:#fff;border:0}.weekly-share-card h2,.weekly-share-card h3,.weekly-share-card .big-number{color:#fff}.weekly-share-card .muted,.weekly-share-card .hint{color:#d8e9ee}.weekly-share-card .fitness-metric{background:#ffffff12}.weekly-share-card .fitness-metric b{color:#fff}.weekly-share-card .fitness-metric span{color:#c9dde3}.weekly-share-card .badge{background:#dff4ee;color:#1d5b3a}
@media(max-width:760px){.measurement-grid,.measurement-target-grid{grid-template-columns:1fr 1fr}.momentum-weeks{grid-template-columns:1fr 1fr}.next-action{align-items:flex-start;flex-direction:column}.next-action .btn{width:100%}.record-grid{grid-template-columns:1fr}.measurement-report-picker{grid-template-columns:1fr}.measurement-highlight{grid-template-columns:1fr 1fr}.weekly-share-card{margin-inline:0}.summary-privacy{flex-direction:column;gap:8px}}
@media(max-width:380px){.measurement-grid,.measurement-target-grid,.measurement-highlight{grid-template-columns:1fr}}
.weekly-share-card{margin:0 0 20px;padding:24px;border-radius:18px;box-shadow:0 8px 25px #09254024}.weekly-share-card>img{display:block;width:190px;max-width:55%;height:auto;margin-bottom:18px;filter:brightness(0) invert(1)}.weekly-share-card>p{color:#c9dde3}.weekly-share-card>h2{margin:7px 0 18px}.weekly-share-card>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.weekly-share-card>div span{padding:10px;border-radius:10px;background:#ffffff12;font-size:12px}.weekly-share-card>div b{display:block;font-size:22px}.weekly-share-card>small{display:block;margin-top:17px;color:#d8e9ee}
@media(max-width:520px){.weekly-share-card>div{grid-template-columns:1fr 1fr}}

/* V16.1 installable web app */
.install-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}.install-card[hidden]{display:none}.install-card-icon{display:grid;place-items:center;width:70px;height:70px;border-radius:17px;background:var(--teal-soft)}.install-card-icon img{width:58px;height:58px;border-radius:13px}.install-card>.btn{grid-column:1/-1}.install-dialog-head{display:flex;align-items:center;gap:15px;margin-bottom:18px}.install-dialog-head img{width:72px;height:72px;border-radius:16px}.install-dialog-head p{margin:0}.install-dialog-head+div ol{margin:0 0 18px;padding-left:24px}.install-dialog-head+div li{margin:9px 0}body:has(#installDialog[open]){overflow:hidden}@media(max-width:420px){.install-card{grid-template-columns:1fr;text-align:center}.install-card-icon{margin:auto}.install-card>.btn{grid-column:1}.install-dialog-head{align-items:flex-start}.install-dialog-head img{width:60px;height:60px}}

/* V17 save reliability and feedback */
.save-status{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:6px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;white-space:nowrap}.save-status:disabled{opacity:1;cursor:default}.save-status-dot{width:8px;height:8px;border-radius:50%;background:#6f8291}.save-status[data-state="dirty"] .save-status-dot{background:#cf962f}.save-status[data-state="saving"] .save-status-dot{background:var(--teal);animation:ft-save-pulse .85s ease-in-out infinite alternate}.save-status[data-state="saved"] .save-status-dot{background:var(--green)}.save-status[data-state="error"]{border-color:#e3aaaa;background:#fff0f0;color:var(--danger);cursor:pointer}.save-status[data-state="error"] .save-status-dot{background:var(--danger)}
.workout-session .set-line[data-save-state="saving"]{opacity:.78}.workout-session .set-line[data-save-state="error"]{box-shadow:inset 3px 0 var(--danger)}.workout-session .set-line[data-save-state="saved"]{transition:background-color .2s ease,opacity .2s ease}
@keyframes ft-save-pulse{to{opacity:.28}}
@media(max-width:520px){.header-actions{gap:5px}.save-status{padding-inline:6px}.profile-link span{display:none}}

/* V17.1 touch and pointer routine ordering */
.routine-edit-button{white-space:nowrap}.routine-reorder-help{display:flex;flex-direction:column;gap:4px;margin:18px 0 10px;padding:12px 14px;border-radius:14px;background:var(--teal-soft);color:var(--navy)}.routine-reorder-help span{color:var(--muted);font-size:.92rem}.routine-drag-handle{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;min-width:82px;padding:0 12px;cursor:grab;touch-action:none;color:var(--teal);font-size:.9rem;font-weight:800;line-height:1}.routine-drag-handle:active,.routine-item-dragging .routine-drag-handle{cursor:grabbing}.routine-item-dragging{position:relative;z-index:5;border-color:var(--teal);background:var(--teal-soft);box-shadow:0 10px 24px #09254022;opacity:.92}.routine-drag-active{user-select:none}.routine-drag-active .routine-selection{overscroll-behavior:contain}.routine-order-controls .routine-drag-handle{order:-1}
@media(max-width:600px){.routine-card-head{align-items:flex-start;gap:12px}.routine-manage{flex-wrap:wrap;justify-content:flex-end}.routine-order-controls{justify-content:flex-start}.routine-drag-handle{width:auto;min-width:88px;height:46px}.routine-item-dragging{transform:scale(1.01)}}
.exercise-head-actions{display:flex;align-items:center;gap:8px}.exercise-drag-handle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:76px;height:44px;padding:0 11px;border:1px solid var(--border);border-radius:13px;background:var(--teal-soft);color:var(--teal);font:inherit;font-size:.86rem;font-weight:800;cursor:grab;touch-action:none}.exercise-drag-handle:active,.active-exercise-dragging .exercise-drag-handle{cursor:grabbing}.active-exercise-dragging{position:relative;z-index:20;border-color:var(--teal);background:#f6ffff;box-shadow:0 14px 32px #0925402e;opacity:.94}.active-exercise-drag-active{user-select:none}.active-exercise-drag-active .workout-session{overscroll-behavior:contain}
@media(max-width:600px){.exercise-log-head{align-items:flex-start}.exercise-head-actions{flex-shrink:0}.exercise-drag-handle{min-width:72px;height:46px;padding:0 9px}.active-exercise-dragging{transform:scale(1.01)}}

/* v18 nutrition: lead with the meal diary, then reveal the supporting tools. */
.nutrition-at-a-glance{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-block:16px}.nutrition-at-a-glance .eyebrow{margin-bottom:2px}.nutrition-at-a-glance strong{display:block;color:var(--navy);font-size:25px;line-height:1.1}.nutrition-at-a-glance span{display:block;margin-top:4px;color:var(--muted);font-size:13px}.nutrition-at-a-glance a{white-space:nowrap;font-weight:700}.meal-diary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.meal-card{border:1px solid var(--line);border-radius:15px;padding:15px;background:#fff;min-width:0}.meal-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.meal-card h3{font-size:18px}.meal-card header p{margin-top:2px;color:var(--muted);font-size:13px}.meal-card .item-list{margin-bottom:0}.meal-card .item{padding-block:10px}.meal-card .item-actions .icon-button{width:38px;min-width:38px;height:38px}.meal-empty{color:var(--muted);font-size:14px;padding:16px 0 2px}.meal-more{margin:12px 0 0}.meal-more summary{padding:11px 12px;font-size:13px}.meal-more .detail-body{padding:0 12px 14px}.nutrition-secondary{margin-top:16px}.nutrition-secondary>summary{font-size:16px}.saved-library{margin-bottom:20px}.saved-library>.detail-body{padding-top:0}.nutrition-search-card .card-title{margin-bottom:13px}.nutrition-search-card .badge{white-space:nowrap}.nutrition-search-card .food-result{min-height:60px}.reuse-add-form label{display:none}.reuse-add-form select{min-width:0}.reuse-add-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:10px}.nutrition-secondary.card{padding:0}.nutrition-secondary.card>summary{padding:18px 20px}.nutrition-secondary.card>.detail-body{padding:0 20px 20px}.daily-totals-card details{margin-bottom:0}
@media(max-width:600px){.nutrition-at-a-glance{padding:14px 16px}.nutrition-at-a-glance strong{font-size:22px}.meal-diary{padding:16px}.meal-diary-grid{grid-template-columns:1fr;gap:10px}.meal-card{padding:14px}.meal-card>header .btn{min-width:105px}.meal-card .item-kcal{display:none}.meal-card .item-actions{gap:3px}.nutrition-search-card{scroll-margin-top:90px}.nutrition-secondary.card>summary{padding:16px}.nutrition-secondary.card>.detail-body{padding:0 16px 16px}.reuse-add-form{grid-template-columns:1fr}.reuse-add-form .btn{width:100%}}

/* v18.2 compact add-to-meal sheet */
#findFood{display:none}.add-meal-sheet{position:fixed;inset:auto 0 0;width:min(720px,100%);max-width:720px;max-height:88dvh;margin:0 auto;padding:20px 20px calc(20px + var(--safe));border-radius:24px 24px 0 0;overflow:auto}.add-meal-sheet .dialog-head{position:sticky;top:-20px;z-index:3;margin:-20px -20px 14px;padding:20px;background:#fff;border-bottom:1px solid var(--line)}.add-meal-sheet .eyebrow{margin:0 0 2px}.add-sheet-search{position:sticky;top:72px;z-index:2;padding:4px 0 10px;background:#fff}.add-sheet-search .hint{margin-bottom:0}.add-sheet-tabs{display:flex;gap:7px;margin:4px 0 12px;overflow-x:auto;scrollbar-width:none}.add-sheet-tabs::-webkit-scrollbar{display:none}.add-sheet-tabs button{flex:1;min-width:max-content;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-weight:700}.add-sheet-tabs button.active{border-color:#86bdc3;background:var(--teal-soft);color:#145464}.add-sheet-tabs span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:10px;background:#edf1f4;font-size:11px}.add-sheet-panel{border-top:1px solid var(--line)}.add-sheet-panel[hidden]{display:none}.add-sheet-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 2px;border-bottom:1px solid var(--line)}.add-sheet-row>.form-error{grid-column:1/-1;margin:0}.add-sheet-food{min-width:0;padding:3px 0;border:0;background:transparent;color:var(--text);text-align:left}.add-sheet-food strong,.add-sheet-food span,.add-sheet-food small{display:block}.add-sheet-food strong{color:var(--navy);font-size:15px;overflow-wrap:anywhere}.add-sheet-food span{margin-top:2px;color:var(--muted);font-size:13px}.add-sheet-food small{margin-top:4px;color:var(--muted);line-height:1.35}.add-sheet-row button.add-sheet-food:hover strong{text-decoration:underline}.add-sheet-footer{display:flex;justify-content:space-between;gap:14px;padding-top:10px}.add-sheet-footer .text-button{flex:1}.add-meal-sheet:not(.is-searching) #foodResults{display:none}.add-meal-sheet.is-searching .add-sheet-tabs,.add-meal-sheet.is-searching .add-sheet-panel{display:none}.add-meal-sheet.is-searching #foodResults{display:block;max-height:48dvh;overflow:auto}.add-meal-sheet.is-searching #foodSearchStatus{margin-bottom:5px}body:has(#addToMealDialog[open]){overflow:hidden}
@media(max-width:600px){.add-meal-sheet{max-height:92dvh;padding:16px 16px calc(16px + var(--safe))}.add-meal-sheet .dialog-head{top:-16px;margin:-16px -16px 12px;padding:16px}.add-sheet-search{top:65px}.add-sheet-tabs button{font-size:13px;padding-inline:9px}.add-sheet-row{padding-block:10px}.add-sheet-footer{flex-direction:column;gap:0}.add-sheet-footer .text-button{text-align:left}.meal-card>header .btn{min-width:82px}}
.quick-entry-panel{padding:16px 2px 2px}.quick-entry-panel>.muted{margin-bottom:15px}.quick-entry-panel .favourite-quick-entry{margin:10px 0 14px;padding:12px;border-radius:12px;background:var(--teal-soft)}.quick-entry-panel .favourite-quick-entry small{display:block;margin-top:2px;color:var(--muted);font-weight:500}.quick-serving-details{margin:0 0 16px}.quick-serving-details summary{padding:13px 14px;font-size:14px}.quick-serving-details .detail-body{padding:0 14px 14px}.quick-serving-details .hint{margin:0 0 12px}.quick-entry-panel>.form-error{margin-top:0}

/* V18.3: four compact choices and a stable, scannable food list on phones. */
.add-meal-sheet .sheet-handle{width:42px;height:4px;margin:0 auto 10px;border-radius:99px;background:#cbd5da}.add-meal-sheet .dialog-head .icon-button{width:48px;min-width:48px;height:48px}.add-sheet-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.add-sheet-tabs button{min-width:0;padding:7px 5px;white-space:nowrap;font-size:13px}.add-sheet-tabs span{display:none}.add-sheet-row{grid-template-columns:minmax(0,1fr) 42px 70px;gap:8px}.add-sheet-row>.btn{min-width:70px;min-height:44px;padding:8px 10px}.add-sheet-star{width:42px;min-width:42px;height:42px;color:#637381}.add-sheet-star.star-on{color:#b78319;background:#fff7df}.add-sheet-food strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.25;overflow-wrap:anywhere}.add-sheet-food span{font-size:12px;line-height:1.35}.add-sheet-food small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.add-sheet-row.saved-meal-row{grid-template-columns:minmax(0,1fr) auto}.add-meal-sheet .search-control{margin-bottom:3px}.add-meal-sheet .hint{font-size:13px;line-height:1.35}
@media(max-width:390px){.add-sheet-tabs{gap:5px}.add-sheet-tabs button{font-size:12px}.add-sheet-row{grid-template-columns:minmax(0,1fr) 40px 62px;gap:6px}.add-sheet-row>.btn{min-width:62px;padding:7px}.add-sheet-star{width:40px;min-width:40px;height:40px}}
