:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#111;background:#f7f7f8;font-synthesis:none;font-variant-numeric:tabular-nums}*{box-sizing:border-box}html{background:#f7f7f8}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}input,textarea,select{width:100%;border:1px solid #b9b9bf;border-radius:2px;padding:11px 12px;background:#fff;color:#111}textarea{resize:vertical}input:focus,textarea:focus,select:focus,button:focus-visible{outline:3px solid #002fa733;outline-offset:2px;border-color:#002fa7}label{display:grid;gap:7px;font-size:.84rem;font-weight:650}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(2.7rem,9vw,5.6rem);line-height:.86;letter-spacing:-.075em}h2{margin-bottom:0;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1;letter-spacing:-.045em}h3{margin:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}small{color:#66666d;font-size:.78rem;line-height:1.35}.eyebrow{margin-bottom:8px;color:#002fa7;font-size:.69rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.muted{color:#66666d;line-height:1.5}.loading{min-height:100vh;display:grid;place-items:center;color:#66666d}.error{margin:10px 0;padding:10px 12px;border:1px solid #111111;background:#fff;color:#111;font-size:.87rem}.success{margin:10px 0;padding:10px 12px;border-left:3px solid #002fa7;background:#eef3ff;color:#111;font-size:.87rem}.info-line,.macro-line{margin:12px 0;padding:10px 12px;border-left:3px solid #002fa7;background:#f7f7f8;color:#4f4f56;font-size:.84rem;line-height:1.45}.empty-message{margin:0;padding:20px 0;color:#66666d;border-top:1px solid #d7d7dc}button{border:1px solid #002fa7;border-radius:2px;padding:11px 15px;background:#002fa7;color:#fff;font-weight:700}button:hover,.secondary-button{background:#fff;color:#002fa7}.secondary-button:hover{background:#002fa7;color:#fff}.button-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;border:1px solid #002fa7;border-radius:2px;padding:11px 15px;font-weight:700;text-decoration:none}.danger-button{border-color:#8a1c1c;background:#fff;color:#8a1c1c}.danger-button:hover{background:#8a1c1c;color:#fff}.text-button{border:0;padding:5px 0;background:transparent;color:#002fa7;text-decoration:underline;text-underline-offset:3px}.text-button:hover{background:transparent;color:#111}.danger-text{color:#111}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,540px);background:#002fa7}.login-shell:before{content:"01";align-self:end;padding:6vw;color:#fff;font-size:clamp(10rem,28vw,30rem);font-weight:800;line-height:.7;letter-spacing:-.12em;opacity:.16;overflow:hidden}.login-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,7vw,90px);background:#fff}.login-card .stack{margin-top:28px}.stack{display:grid;gap:16px}.compact-stack{margin-top:20px}.app-shell{width:min(100%,1220px);min-height:100vh;margin:0 auto;padding:32px 28px 110px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:24px;border-bottom:1px solid #111111}.top-actions{display:flex;align-items:center;gap:18px;color:#66666d;font-size:.82rem}.date-control{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:128px;border-bottom:1px solid #d7d7dc}.date-control>:first-child{justify-self:start}.date-control>:last-child{justify-self:end}.date-number{display:flex;align-items:center;gap:15px;border:0;background:transparent;color:#111;text-align:left}.date-number:hover{background:transparent;color:#002fa7}.date-number strong{color:#002fa7;font-size:4.6rem;line-height:.7;letter-spacing:-.09em}.date-number span{max-width:120px;font-size:.9rem;line-height:1.2;text-transform:capitalize}.page-content{padding-top:26px}.metric-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #111111;border-left:1px solid #111111;margin-bottom:34px}.metric{min-height:132px;display:flex;flex-direction:column;gap:10px;padding:18px;border-right:1px solid #111111;border-bottom:1px solid #111111;background:#fff}.metric.primary{background:#002fa7;color:#fff}.metric span{font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.metric strong{margin-top:auto;font-size:1.45rem;line-height:1;letter-spacing:-.04em}.metric.primary small{color:#fff;opacity:.8}.nutrition-metric{border-top:5px solid #002fa7;padding-top:14px}.nutrition-summary{display:grid;grid-template-columns:repeat(2,1fr);margin-bottom:28px;border-top:1px solid #111111;border-left:1px solid #111111}.nutrition-summary article{min-height:120px;display:flex;flex-direction:column;gap:10px;padding:16px;border-right:1px solid #111111;border-bottom:1px solid #111111;background:#fff}.nutrition-summary span{color:#002fa7;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nutrition-summary strong{font-size:1rem;line-height:1.4}.nutrition-summary small{display:block;margin-top:auto}.nutrition-summary .missing-values{color:#5f4910;font-weight:700}.nutrition-tools{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:12px 14px;border-left:5px solid #002fa7;background:#fff}.nutrition-tools strong,.nutrition-tools small{display:block}.nutrition-tools small{margin-top:3px}.section-block{margin:0 0 34px;padding:22px;border:1px solid #111111;background:#fff}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading>span{color:#66666d;font-size:.8rem}.records{display:grid;gap:10px}.record-card{border:1px solid #d7d7dc;background:#fff}.record-card.is-complete{border-left:5px solid #002fa7}.record-summary{width:100%;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:12px;border:0;padding:15px;background:#fff;color:#111;text-align:left}.record-summary:hover{background:#f7f7f8;color:#111}.record-summary time{color:#002fa7;font-size:1.05rem;font-weight:800}.record-summary>span:first-child{grid-column:1 / 3}.record-summary span strong,.record-summary span small,.record-heading strong,.record-heading small,.food-row strong,.food-row small{display:block}.summary-action{color:#002fa7;font-size:.75rem;text-decoration:underline}.record-body{display:grid;gap:16px;padding:18px;border-top:1px solid #d7d7dc}.item-list{display:grid}.food-row{display:grid;grid-template-columns:1fr minmax(130px,190px);align-items:end;gap:18px;padding:13px 0;border-bottom:1px solid #e7e7ea}.food-row:last-child{border-bottom:0}.food-row small{margin-top:4px}.food-row label span{font-size:.72rem;color:#66666d}.range-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.copy-controls{display:grid;grid-template-columns:1fr 130px auto;align-items:end;gap:10px;padding-top:14px;border-top:1px solid #d7d7dc}.record-heading{display:flex;justify-content:space-between;gap:18px;padding:16px 18px;border-bottom:1px solid #d7d7dc}.planned-badge{color:#002fa7;font-size:.78rem;font-weight:750;white-space:nowrap}.record-card>.form-grid,.record-card>label,.record-card>.button-row,.record-card>.error{margin-left:18px;margin-right:18px}.record-card>.form-grid{margin-top:18px}.record-card>label{margin-top:14px}.record-card>.button-row{margin-top:16px;margin-bottom:18px}.cardio-summary{grid-template-columns:minmax(180px,1.4fr) auto minmax(150px,.7fr) auto}.cardio-summary>span:first-child{grid-column:auto}.cardio-summary>span:nth-child(3){text-align:right}.status-badge{width:fit-content;padding:5px 8px;border:1px solid #b9b9bf;color:#4f4f56;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.status-badge.status-completed{border-color:#002fa7;background:#002fa7;color:#fff}.status-badge.status-shortened{border-color:#002fa7;color:#002fa7}.status-badge.status-skipped{background:#f7f7f8;color:#66666d}.comparison-strip{display:grid;grid-template-columns:1fr 1fr;margin:-4px 0 16px;border:1px solid #002fa7}.comparison-strip strong,.comparison-strip span{padding:11px 13px;font-size:.82rem}.comparison-strip strong{background:#002fa7;color:#fff}.comparison-strip span{text-align:right;color:#002fa7}.source-line{margin:0;color:#66666d;font-size:.78rem;line-height:1.45}.source-line a{color:#002fa7}.product-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,240px) auto;align-items:end;gap:16px;margin:24px 0 20px}.library-tools{display:grid;grid-template-columns:1fr 1fr;border:1px solid #111111}.library-tools>details{padding:16px;background:#fff}.library-tools>details+details{border-left:1px solid #111111}.library-tools summary{color:#002fa7;font-weight:750;cursor:pointer}.library-tools details[open]{display:grid;gap:16px}.product-create{margin-top:4px}.product-create button{align-self:end}.category-manager{display:grid;gap:12px}.category-row{display:grid;grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:end;gap:10px;padding-top:12px;border-top:1px solid #d7d7dc}.category-row small{align-self:center;white-space:nowrap}.product-groups{display:grid;gap:28px}.product-groups>section>h3{display:flex;justify-content:space-between;margin-bottom:10px;padding-bottom:9px;border-bottom:2px solid #002fa7;color:#002fa7}.product-groups>section>h3 span{color:#66666d}.choice-category{display:block;margin-bottom:5px;color:#002fa7;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.product-choice{margin-top:10px;padding:10px;border-left:3px solid #002fa7;background:#f7f7f8}.plan-item-editor{display:grid;gap:10px}.archive-product{justify-self:start}.label-import{display:grid;gap:14px;padding:18px;border:2px solid #002fa7;background:#eef3ff}.label-import h3{margin-bottom:5px;color:#002fa7}.label-import>div>p{margin:0;color:#4f4f56;font-size:.84rem;line-height:1.45}.photo-button{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border:1px solid #002fa7;border-radius:2px;padding:11px 15px;background:#002fa7;color:#fff;font-size:.9rem;font-weight:700;cursor:pointer}.photo-button:hover{background:#fff;color:#002fa7}.label-photo-preview{width:min(100%,480px);max-height:360px;object-fit:contain;border:1px solid #b9b9bf;background:#fff}.ocr-status{margin:0;color:#002fa7;font-size:.86rem;font-weight:700}.label-result{display:grid;gap:14px;padding:15px;background:#fff;border-left:4px solid #002fa7}.label-result button{justify-self:start}.basis-confirm{padding:10px;border:1px solid #b9b9bf;background:#f7f7f8}.manual-values{padding:16px;border:1px solid #b9b9bf}.manual-values[open]{display:grid;gap:14px}.manual-values summary,.off-import summary{color:#002fa7;font-weight:750;cursor:pointer}.manual-values summary:focus-visible,.off-import summary:focus-visible{outline:3px solid #002fa733;outline-offset:3px}.off-import{display:grid;gap:14px;margin-top:6px;padding:18px;border:1px solid #b9b9bf;background:#f7f7f8}.off-import h3{margin-bottom:5px;color:#002fa7}.off-import>div>p{margin:0;color:#66666d;font-size:.84rem;line-height:1.45}.off-preview{display:grid;gap:12px;padding:15px;border-left:4px solid #002fa7;background:#fff}.off-preview strong,.off-preview small{display:block}.off-preview p{margin:0;font-size:.87rem;line-height:1.5}.off-preview p small{display:inline}.barcode-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:10px}.barcode-scanner{display:grid;gap:12px;padding:12px;background:#111;color:#fff}.scanner-view{position:relative;overflow:hidden;background:#000}.scanner-view video{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.scanner-guide{position:absolute;inset:30% 8%;border:2px solid #ffffff;box-shadow:0 0 0 999px #0005}.barcode-scanner p{margin:0;color:#fff;font-size:.84rem;line-height:1.45}.barcode-scanner button{justify-self:start;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.inline-form{display:flex;align-items:end;gap:10px}.inline-form input{min-width:0}.set-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px}.checkbox-label{display:flex;align-items:center;gap:9px;min-height:42px}.checkbox-label input{width:18px;height:18px}.segmented{display:inline-grid;grid-template-columns:1fr 1fr;margin-bottom:24px;border:1px solid #002fa7}.segmented button{border:0;background:#fff;color:#002fa7}.segmented button.active{background:#002fa7;color:#fff}.training-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid #111111}.large-status{color:#002fa7;font-size:1.2rem;font-weight:750}.exercise-plan{display:grid;gap:0;margin:0 0 20px;padding:0;list-style:none;counter-reset:exercise;border-top:1px solid #d7d7dc}.exercise-plan li{counter-increment:exercise;display:grid;grid-template-columns:44px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #d7d7dc}.exercise-plan li:before{content:counter(exercise,decimal-leading-zero);color:#002fa7;font-weight:800}.set-list{display:grid;margin-bottom:18px}.set-row{display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:16px;padding:13px 0;border-top:1px solid #d7d7dc}.set-row strong,.set-row small{display:block}.set-sequence{color:#002fa7;font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}.section-heading-actions{display:flex;align-items:center;gap:12px}.compact-button{padding:7px 10px;font-size:.78rem}.maintenance-settings .inline-form{max-width:520px;margin-top:18px}.maintenance-settings .inline-form label{flex:1}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.history-list{display:grid}.history-list>div{display:grid;grid-template-columns:100px 120px 1fr;gap:14px;padding:12px 0;border-top:1px solid #d7d7dc}.data-actions{display:grid;gap:22px}.delete-account{display:grid;grid-template-columns:minmax(220px,360px) auto;align-items:end;gap:12px;padding-top:20px;border-top:1px solid #d7d7dc}.delete-account .error{grid-column:1 / -1}.shopping-groups{display:grid;gap:28px}.shopping-groups section{display:grid}.shopping-groups h3{padding-bottom:10px;border-bottom:2px solid #002fa7;color:#002fa7}.shopping-row{display:grid;grid-template-columns:1fr 180px 220px;gap:18px;align-items:start;padding:13px 0;border-bottom:1px solid #d7d7dc}.shopping-row span,.shopping-row small{display:block}.shopping-row small{margin-bottom:3px}.main-nav{position:fixed;z-index:10;left:50%;bottom:18px;width:min(calc(100% - 32px),760px);display:grid;grid-template-columns:repeat(5,1fr);transform:translate(-50%);border:1px solid #002fa7;background:#fff}.main-nav button{border:0;border-right:1px solid #002fa7;border-radius:0;padding:13px 6px;background:#fff;color:#002fa7;font-size:.75rem}.main-nav button:last-child{border-right:0}.main-nav button.active{background:#002fa7;color:#fff}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:820px){.app-shell{padding:24px 16px 104px}.metric-grid{grid-template-columns:repeat(2,1fr)}.form-grid.three,.set-form{grid-template-columns:repeat(2,minmax(0,1fr))}.library-tools{grid-template-columns:1fr}.library-tools>details+details{border-left:0;border-top:1px solid #111111}.category-row{grid-template-columns:1fr auto auto}.category-row label{grid-column:1 / -1}.shopping-row{grid-template-columns:1fr 150px}.shopping-row>:last-child{grid-column:2}}@media(max-width:1080px)and (min-width:821px){.metric-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.login-shell{display:block;background:#fff}.login-shell:before{display:none}.login-card{min-height:100vh;padding:30px 22px}.topbar{align-items:flex-end}.top-actions{flex-direction:column;align-items:flex-end;gap:4px}.date-control{min-height:102px;gap:8px}.date-control>.text-button{max-width:58px;font-size:.72rem}.date-number{gap:10px}.date-number strong{font-size:3.8rem}.date-number span{max-width:90px;font-size:.75rem}.metric-grid{grid-template-columns:1fr 1fr}.nutrition-summary{grid-template-columns:1fr}.metric{min-height:118px;padding:14px}.metric strong{font-size:1.12rem}.section-block{padding:15px;margin-bottom:22px}.record-summary{grid-template-columns:48px 1fr}.record-summary .summary-action{grid-column:2}.food-row{grid-template-columns:1fr;gap:9px}.form-grid,.form-grid.three,.set-form,.two-columns,.product-filters{grid-template-columns:1fr}.category-row{grid-template-columns:1fr 1fr}.category-row label,.category-row small{grid-column:1 / -1}.copy-controls{grid-template-columns:1fr 110px}.copy-controls button{grid-column:1 / -1}.inline-form{align-items:stretch}.inline-form button{flex:0 0 auto}.barcode-controls{grid-template-columns:1fr 1fr}.barcode-controls label{grid-column:1 / -1}.cardio-summary{grid-template-columns:1fr auto}.cardio-summary>span:nth-child(3){text-align:left}.cardio-summary .summary-action{grid-column:2;grid-row:2}.comparison-strip{grid-template-columns:1fr}.comparison-strip span{text-align:left}.set-row{grid-template-columns:30px 1fr auto;gap:8px}.set-row .text-button{grid-column:1 / -1;justify-self:start}.section-heading-actions{align-items:flex-end;flex-direction:column}.maintenance-settings .inline-form{align-items:stretch;flex-direction:column}.history-list>div{grid-template-columns:78px 90px 1fr;gap:8px;font-size:.85rem}.delete-account{grid-template-columns:1fr}.delete-account .error{grid-column:auto}.shopping-row{grid-template-columns:1fr;gap:8px}.shopping-row>:last-child{grid-column:auto}.nutrition-tools{align-items:stretch;flex-direction:column}.nutrition-tools button{width:100%}.app-shell{padding-bottom:104px}.main-nav{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);grid-template-columns:repeat(5,1fr)}.main-nav button{min-width:0;padding:12px 2px;font-size:.62rem;line-height:1.15}}
