:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1d261a;background:#f4f6ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}.hidden{display:none!important}.muted{color:#778072}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.15em;color:#779959}.app-shell{max-width:680px;margin:auto;min-height:100dvh;padding-bottom:calc(94px + env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 18px}.topbar h1{margin:3px 0 0;font-size:30px;letter-spacing:-.04em}.avatar{width:42px;height:42px;border:0;border-radius:50%;background:#dde9d1;color:#41642c;font-weight:800}.content-pad{padding:0 16px 24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:18px 4px 14px}.section-title h2{font-size:24px;letter-spacing:-.035em;margin:0}.section-title button,.text-button{border:0;background:transparent;color:#60913a;font-weight:700;padding:8px}.card{background:#fff;border:1px solid #e8ede3;border-radius:22px;box-shadow:0 8px 25px rgba(29,38,26,.025);padding:20px;margin-bottom:14px}.date-bar{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:18px;padding:8px;margin-bottom:14px}.date-bar button{border:0;background:#f3f6ef;border-radius:12px;width:42px;height:42px;font-size:25px;color:#648d42}.date-bar strong{font-size:16px}.hero{background:linear-gradient(140deg,#699d42,#8db65f);color:white;padding:25px;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:180px;height:180px;border:32px solid rgba(255,255,255,.1);border-radius:50%;right:-55px;top:-55px}.hero .label{font-size:12px;letter-spacing:.12em;font-weight:800;opacity:.82}.hero .big{font-size:47px;font-weight:750;letter-spacing:-.07em;line-height:1.1;margin:10px 0}.hero .big small{font-size:17px;letter-spacing:0;font-weight:500}.hero .remaining{font-size:14px;opacity:.9}.bar{height:9px;border-radius:20px;background:#e9eee5;overflow:hidden}.bar>span{height:100%;display:block;border-radius:20px;background:#709e4b}.hero .bar{background:rgba(255,255,255,.25);margin:18px 0 11px}.hero .bar>span{background:#fff}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.macro{padding:14px;border-radius:17px;background:white;border:1px solid #e8ede3}.macro .name{font-size:12px;color:#7a8275}.macro .amount{font-size:14px;font-weight:750;margin:7px 0 11px;white-space:nowrap}.macro .bar{height:6px}.macro.protein .bar>span{background:#6d9ed0}.macro.fat .bar>span{background:#e6a454}.meal-head{display:flex;align-items:center;gap:10px}.meal-head .symbol{font-size:22px}.meal-head strong{font-size:17px}.meal-head .spacer{flex:1}.meal-head small{color:#899185}.round-add{border:0;border-radius:50%;background:#719f4d;color:white;width:32px;height:32px;font-size:26px;line-height:1}.entry{display:flex;align-items:center;gap:10px;border-top:1px solid #eff1ed;padding-top:12px;margin-top:12px}.entry-name{flex:1;font-size:14px}.entry-name small{display:block;color:#879083;margin-top:3px}.icon-button{border:0;background:transparent;color:#a9b1a4;font-size:18px;padding:4px}.empty{color:#8b9486;font-size:14px;padding:15px 0 3px}.button{border:1px solid #dfe8d8;border-radius:13px;background:#fff;color:#527d36;padding:12px 16px;font-weight:700}.primary{border:0;border-radius:13px;background:#709f4a;color:#fff;padding:13px 17px;font-weight:750}.full{width:100%}.button-row{display:flex;gap:10px}.button-row>*{flex:1}.search{width:100%;padding:14px 16px;border:1px solid #e2e8de;border-radius:14px;background:#fff;outline:none;margin-bottom:13px}.list-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #eff1ed}.list-row:last-child{border-bottom:0;padding-bottom:0}.list-row:first-child{padding-top:0}.list-row .main{flex:1;min-width:0}.list-row strong{display:block;overflow:hidden;text-overflow:ellipsis}.list-row small{display:block;color:#8b9486;margin-top:5px}.pill{display:inline-block;border-radius:30px;background:#e8f0df;color:#588335;padding:6px 10px;font-size:12px;font-weight:750}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat{background:#fff;padding:17px;border-radius:17px}.stat span{font-size:12px;color:#7c8676}.stat strong{display:block;font-size:23px;margin-top:8px}.chart{width:100%;height:210px;display:block}.chart-label{fill:#869182;font-size:12px}.chart-line{fill:none;stroke:#77a552;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:#77a552;stroke:white;stroke-width:2}.chart-grid{stroke:#e9eee5;stroke-width:1}.note{font-size:13px;line-height:1.5;color:#818c7b}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.form-grid label.wide{grid-column:1/-1}label{display:block;font-size:13px;font-weight:700;color:#53634c}input,select{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dce4d7;border-radius:11px;background:#fff;color:#1d261a;outline:none}input:focus,select:focus{border-color:#78a654;box-shadow:0 0 0 3px #78a65422}.settings-card label{margin:0 0 15px}.settings-card input{max-width:100%}.settings-card .primary{margin-top:5px}.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,680px);display:flex;background:#ffffffee;backdrop-filter:blur(18px);border-top:1px solid #e5eadf;padding:9px 8px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{border:0;background:none;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;color:#99a194;font-size:11px;font-weight:700}.bottom-nav button.selected{color:#5e9137}.nav-icon{font-size:25px;line-height:1.1}.auth-shell{max-width:420px;min-height:100dvh;margin:auto;padding:72px 22px 30px;display:flex;flex-direction:column;align-items:center;text-align:center}.brand-mark{width:76px;height:76px;border-radius:22px;background:#73a04d;color:#fff;font-size:57px;line-height:67px}.auth-shell h1{font-size:34px;letter-spacing:-.05em;margin:20px 0 2px}.auth-shell>.muted{line-height:1.5;max-width:310px}.auth-card{width:100%;background:white;padding:18px;border-radius:22px;margin-top:25px;text-align:left;border:1px solid #e8ede3}.segmented{display:flex;background:#f2f5ee;padding:4px;border-radius:12px;margin-bottom:18px}.segmented button{flex:1;border:0;background:none;color:#879181;padding:10px 4px;border-radius:9px;font-weight:700;font-size:13px}.segmented button.active{background:white;color:#416d2a;box-shadow:0 1px 4px #22331115}.auth-card label{margin-bottom:15px}.auth-card .primary{margin-top:6px}.auth-note{color:#9aa596;font-size:12px;line-height:1.5;margin-top:auto}.error{color:#c44949;font-size:13px;min-height:15px;margin:12px 0 0}dialog{border:0;border-radius:24px;box-shadow:0 20px 90px #1a271644;width:min(calc(100vw - 26px),440px);padding:22px;max-height:85dvh;overflow:auto}dialog::backdrop{background:#14210d77;backdrop-filter:blur(3px)}dialog h2{font-size:22px;margin:0 0 19px}dialog label{margin-bottom:13px}dialog .actions{display:flex;gap:9px;margin-top:20px}dialog .actions button{flex:1}#toast{position:fixed;z-index:20;left:50%;bottom:95px;transform:translateX(-50%);background:#24341f;color:#fff;border-radius:12px;padding:12px 17px;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap;max-width:95vw;overflow:hidden;text-overflow:ellipsis}#toast.show{opacity:1}@media(min-width:650px){.topbar{padding-top:35px}.content-pad{padding:0 20px 30px}}
.macro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.macro.fiber .bar>span{background:#64a899}
.entry-name{min-width:0}.entry-name small{line-height:1.45;overflow-wrap:anywhere}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-heading h2{margin:0;font-size:23px}.calendar-heading button{border:0;background:#f1f5eb;border-radius:12px;width:39px;height:39px;font-size:22px;color:#679642}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-weekday{text-align:center;font-size:11px;font-weight:750;color:#99a491;padding:7px 0}.calendar-day{min-height:66px;border:1px solid transparent;background:#f8faf6;border-radius:12px;color:#31412a;padding:7px 3px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.calendar-day.selected{background:#709f4a;color:white}.calendar-day.today{border-color:#709f4a}.calendar-day:disabled{background:transparent;cursor:default}.calendar-day .day-number{font-size:15px;font-weight:750}.calendar-day .day-calories{font-size:10px;line-height:1.1;white-space:nowrap}.calendar-day .weight-dot{width:5px;height:5px;background:#e7a752;border-radius:50%}.calendar-day.selected .weight-dot{background:white}.calendar-legend{font-size:12px;color:#86937f;margin-top:14px}.food-tabs{display:flex;gap:8px;margin-bottom:13px}.food-tabs button{border:0;border-radius:30px;background:#fff;color:#829079;padding:9px 16px;font-weight:700}.food-tabs button.active{background:#709f4a;color:#fff}.favorite{border:0;background:none;color:#c6d0bd;font-size:23px;padding:0 3px}.favorite.active{color:#e1a451}.row-actions{display:flex;gap:3px}.icon-button.edit{color:#789d59}.recipe-summary{display:block;color:#7f8b77;font-size:12px;margin-top:5px}.copy-toolbar{display:flex;gap:8px;margin:0 0 14px}.copy-toolbar button{flex:1;font-size:13px}.ingredient-row{display:flex;gap:7px;align-items:end;margin-bottom:9px}.ingredient-row label:first-child{flex:1}.ingredient-row label:nth-child(2){width:84px}.ingredient-row button{margin-bottom:13px}.ingredient-preview{background:#f3f7ef;padding:12px;border-radius:12px;font-size:13px;color:#506e3c;margin:8px 0}.onboarding-note{text-align:left;font-size:12px;color:#899584;line-height:1.45}.auth-shell:has(#onboarding-form){padding-top:30px}.auth-shell:has(#onboarding-form) .auth-card{margin-top:15px}.auth-shell:has(#onboarding-form) h1{font-size:30px}.source-tag{font-size:11px;color:#7f8c77;background:#eff4ea;padding:4px 8px;border-radius:10px}.week-tag{font-size:12px;color:#fff9;background:#ffffff22;padding:5px 8px;border-radius:9px;display:inline-block;margin-top:10px}
.date-bar{gap:6px}.date-bar button[data-action="prev-day"],.date-bar button[data-action="next-day"]{flex:0 0 42px}.date-bar button[data-action="open-diary-calendar"]{flex:1 1 auto;width:auto;min-width:0;height:42px;padding:0 4px;background:transparent;font-size:16px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.product-thumb{width:48px;height:48px;flex:0 0 48px;border-radius:12px;object-fit:cover;background:#f1f5ec}.product-thumb-empty{display:grid;place-items:center;color:#a4b19a;font-size:20px}.list-row .main{min-width:0}.photo-picker{display:flex;align-items:center;gap:12px;margin-top:6px}.photo-picker input{min-width:0;max-width:100%;font-size:12px}.photo-preview{width:72px;height:72px;flex:0 0 72px;object-fit:cover;border-radius:13px;background:#f1f5ec}.photo-placeholder{display:grid;place-items:center;color:#839179;font-size:12px}.photo-remove{font-size:13px}.photo-remove input{width:auto;margin-right:6px}
.admin-product-head{display:flex;align-items:center;gap:12px}
.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}.analytics-grid>div{min-width:0;padding:12px;border-radius:12px;background:#f5f8f2}.analytics-grid b{display:block;font-size:21px;line-height:1.2}.analytics-grid small{display:block;color:#71806b;margin-top:5px;line-height:1.3}.analytics-days{display:grid;gap:8px;margin-top:16px}.analytics-day{display:grid;grid-template-columns:43px minmax(0,1fr) 32px 32px;gap:8px;align-items:center;font-size:13px}.analytics-day time,.analytics-day small{color:#71806b}.analytics-day b{text-align:right}.analytics-track{height:10px;border-radius:99px;background:#edf2e9;overflow:hidden}.analytics-track>span{display:block;height:100%;border-radius:99px;background:#7aa856}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid>label{min-width:0;width:100%}.form-grid>label>input,.form-grid>label>select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.copy-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.copy-toolbar button{min-width:0;padding:11px 7px;line-height:1.25}
.copy-toolbar{display:block}.copy-toolbar button{width:100%}.settings-actions{display:grid;gap:8px;margin-top:12px}.settings-actions button{text-align:left}.search-count{text-align:center;color:#879181;font-size:12px;margin:11px 0}.picker-results{max-height:280px;overflow-y:auto;border:1px solid #e6ecdf;border-radius:14px;margin:12px 0}.picker-choice{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border:0;border-bottom:1px solid #eef1ea;background:#fff;padding:10px;color:inherit}.picker-choice:last-child{border-bottom:0}.picker-choice:active{background:#f4f8ef}.picker-choice-main{min-width:0}.picker-choice-main strong{display:block;font-size:14px}.picker-choice-main small{display:block;color:#879181;font-size:11px;line-height:1.3;margin-top:3px}.picker-selected{display:flex;gap:11px;align-items:center;background:#eff6e9;padding:10px;border-radius:14px;margin-top:10px}.picker-selected strong,.picker-selected small{display:block}.picker-selected small{font-size:11px;color:#607452;margin-top:4px}.ingredient-row .ingredient-choice{flex:1;min-width:0;display:flex;align-items:center;gap:8px;text-align:left;border:1px solid #dce4d7;background:white;border-radius:11px;padding:9px 11px;color:#4c6841;font-size:13px;font-weight:700}.ingredient-row .ingredient-choice .product-thumb{width:32px;height:32px;flex-basis:32px;border-radius:8px}.ingredient-row label:first-child{flex:initial}.ingredient-row label:nth-child(2){width:84px;flex:0 0 84px}
#modal .picker-results{width:100%;min-width:0}
#modal .picker-results>.empty{padding:16px;text-align:center;line-height:1.45;overflow-wrap:break-word}
.admin-detail summary{cursor:pointer;font-weight:750;list-style-position:inside}.admin-detail[open] summary{margin-bottom:14px}.admin-detail .main small{white-space:normal;overflow-wrap:anywhere;line-height:1.4}.admin-detail .list-row{align-items:flex-start}.admin-detail .product-thumb{margin-top:2px}
.profile-measurements>label>input{display:block;width:100%;min-width:0;max-width:100%;height:46px;box-sizing:border-box}
.profile-measurements input[type="date"]{-webkit-appearance:none;appearance:none;min-inline-size:0;inline-size:100%}
.profile-measurements input[type="date"]::-webkit-date-and-time-value{text-align:left;min-width:0}
@media(max-width:600px){.profile-measurements{grid-template-columns:minmax(0,1fr)}}
#modal .calendar-heading h2{font-size:18px;text-align:center}
#modal .calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
#modal .picker-day{min-height:47px;padding:5px 2px;gap:2px}
#modal .picker-markers{display:flex;justify-content:center;gap:3px;min-height:5px}
#modal .picker-markers i{display:block;width:5px;height:5px;border-radius:50%}
#modal .picker-markers .meal-dot{background:#709f4a}
#modal .picker-markers .weight-dot{background:#e7a752}
#modal .picker-day.selected .picker-markers i{background:#fff}
#modal .calendar-legend{margin:12px 0 16px}
.progress-teaser{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:14px 0 0;text-align:left;color:#34552a}.progress-teaser span:first-child{min-width:0;flex:1}.progress-teaser strong,.progress-teaser small{display:block}.progress-teaser strong{font-size:16px}.progress-teaser small{margin-top:5px;color:#7d8c75;font-size:12px;line-height:1.35}.progress-teaser>span:last-child{font-size:24px;color:#79a456}
.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.progress-heading h2{margin:5px 0 0;font-size:22px}.progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0}.progress-stats>div{background:#f3f7ef;border-radius:14px;padding:11px 8px}.progress-stats span{display:block;color:#7b8874;font-size:11px;line-height:1.3}.progress-stats strong{display:block;margin-top:7px;color:#426a31;font-size:15px;line-height:1.25}.progress-section h3{font-size:16px;margin:20px 0 12px}.week-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.week-day{text-align:center}.week-dot{display:grid;place-items:center;width:32px;height:32px;max-width:100%;margin:auto;border-radius:50%;background:#edf1e9;color:#fff;font-size:15px;font-weight:800}.week-dot.recorded{background:#76a350}.week-dot.current{outline:2px solid #9fc77e;outline-offset:2px}.week-dot.future{background:#f5f7f2}.week-day small{display:block;margin-top:6px;color:#819078;font-size:11px}.achievement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.achievement{min-width:0;padding:13px;border:1px solid #e8ece3;border-radius:15px;background:#f8faf6;opacity:.68}.achievement.unlocked{background:#f2f8ea;border-color:#cde2ba;opacity:1}.achievement-icon{display:block;font-size:24px;filter:grayscale(1)}.achievement.unlocked .achievement-icon{filter:none}.achievement strong,.achievement small{display:block;overflow-wrap:anywhere}.achievement strong{font-size:13px;margin-top:8px}.achievement small{font-size:11px;color:#788774;line-height:1.35;min-height:30px;margin-top:4px}.achievement-count{font-size:11px;font-weight:700;color:#72905f;margin:8px 0 5px}.achievement .bar{height:5px}
.calorie-summary{display:flex;flex-direction:column;align-items:center;padding:20px 20px 16px}.calorie-ring{width:188px;height:188px;border-radius:50%;background:conic-gradient(#709f4a var(--fill),#e8eee3 0);display:grid;place-items:center}.calorie-ring-center{width:151px;height:151px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.calorie-ring-center strong{font-size:37px;line-height:1.1;letter-spacing:-.05em}.calorie-ring-center span{font-size:15px;color:#6f7b69;margin-top:4px}.calorie-ring-center small{margin-top:8px;color:#77975f;font-weight:750}.calorie-summary-foot{width:100%;display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:13px;color:#778373}.calorie-summary-foot strong{color:#426b31;text-align:right}.calorie-summary.over-limit{border-color:#f1c7c7}.calorie-ring.over-limit{background:conic-gradient(#d94b4b var(--fill),#f2dedc 0)}.over-limit,.calorie-summary.over-limit .calorie-summary-foot strong,.calorie-ring.over-limit .calorie-ring-center small{color:#c73535}.calendar-day.over-limit{background:#fff0ee;color:#bd3434;border-color:#f4c9c4}.calendar-day.selected.over-limit{background:#c73535;color:#fff}.streak-chip{display:block;margin:10px auto 14px;padding:7px 14px;border:1px solid #e5ebde;border-radius:30px;background:#fff;color:#75895c;font-size:12px;font-weight:700}.streak-chip span{margin-left:5px}.barcode-search{display:flex;gap:8px;align-items:flex-start;margin-bottom:13px}.barcode-search .search{min-width:0;flex:1;margin-bottom:0}.barcode-search .button{flex:0 0 auto;padding:13px 9px;font-size:12px}.barcode-match{display:flex;align-items:center;gap:10px;border:1px solid #dce8d1;background:#f5f9f0;border-radius:12px;padding:9px;margin:10px 0}.barcode-match strong,.barcode-match small{display:block}.barcode-match strong{font-size:12px}.barcode-match small{font-size:11px;color:#70836a;margin-top:4px;line-height:1.35}
html,body{max-width:100%;overflow-x:hidden}#content{min-width:0;min-height:calc(100dvh - 170px);overflow-anchor:none}.app-shell{width:100%;min-width:0}
input,select{font-size:16px;min-width:0}select{display:block;width:100%;max-width:100%;min-height:48px;box-sizing:border-box;-webkit-appearance:none;appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#71846a 50%),linear-gradient(135deg,#71846a 50%,transparent 50%);background-position:calc(100% - 19px) 22px,calc(100% - 14px) 22px;background-size:5px 5px;background-repeat:no-repeat}#modal-form label,.settings-card label,#onboarding-form label{display:block;width:100%;min-width:0}#modal-form select,.settings-card select,#onboarding-form select{display:block;width:100%;min-width:0;max-width:100%;height:48px}#modal-form .form-grid,.settings-card .form-grid,#onboarding-form .form-grid{min-width:0}
dialog:has(.modal-form-standard){padding:0;overflow:hidden;max-height:calc(100dvh - 26px)}#modal-form.modal-form-standard{display:flex;flex-direction:column;max-height:calc(100dvh - 26px);min-width:0}.modal-header{flex:0 0 auto;display:grid;grid-template-columns:minmax(68px,1fr) minmax(0,2fr) minmax(68px,1fr);align-items:center;gap:6px;padding:15px 18px;background:#fff;border-bottom:1px solid #e8ede3;z-index:2}.modal-header h2{margin:0;text-align:center;font-size:17px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-cancel,.modal-save{border:0;background:none;padding:9px 2px;font-size:14px;font-weight:700}.modal-cancel{text-align:left;color:#87937f}.modal-save{text-align:right;color:#5e9137}.modal-body{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 20px calc(24px + env(safe-area-inset-bottom));scrollbar-gutter:stable}#modal-form.modal-form-standard .actions{display:none}
.nutrient-summary{margin-top:18px;padding:18px}.nutrient-summary>strong{display:block;font-size:16px;margin-bottom:4px}.guidance-row{padding:10px 0;border-bottom:1px solid #edf0e9}.guidance-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.guidance-head>span{flex:1;min-width:0;font-size:14px;font-weight:700}.guidance-head>span small{display:block;margin-top:3px;color:#879181;font-size:11px;font-weight:500;line-height:1.25}.guidance-head>strong{flex:0 0 auto;font-size:15px;white-space:nowrap}.guidance-head>strong small{font-size:12px;color:#879181;font-weight:500}.guidance-row .bar{height:5px;margin-top:8px}.guidance-row.over-limit .bar>span{background:#d94b4b}.guidance-info{margin-top:14px;font-size:12px;color:#72806b;line-height:1.5}.guidance-info summary{cursor:pointer;color:#5e9137;font-weight:700}.guidance-info p{margin:9px 0 0}.guidance-info a{color:#5e9137}
.calorie-summary{position:relative;padding-bottom:20px}.calorie-summary:has(.streak-chip){padding-bottom:30px}.streak-chip{position:absolute;top:190px;left:50%;transform:translateX(-50%);z-index:1;margin:0;white-space:nowrap;padding:8px 15px;box-shadow:0 2px 9px #20301312}.barcode-search{align-items:center}.barcode-search .search,.barcode-search .button{height:48px;box-sizing:border-box}.barcode-search .button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 11px;font-size:13px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat{min-width:0}.stat span{overflow-wrap:anywhere}.stat strong{font-size:clamp(17px,5vw,23px)}.chart{max-width:100%}.settings-form-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-20px -20px 16px;padding:12px 20px;background:#fff;border-bottom:1px solid #e8ede3;border-radius:22px 22px 0 0}.settings-form-head strong{font-size:15px}.settings-form-head .primary{padding:10px 14px;font-size:13px}.settings-card .primary{margin-top:0}
.recipe-yield{margin:23px 0 15px;padding:18px 0 0;border-top:1px solid #e7ede2}.recipe-yield label{margin:0}.recipe-yield .optional{display:inline;color:#8b9785;font-size:11px;font-weight:500}.recipe-yield .note{margin:9px 0 0}.ingredient-preview{margin-top:14px;line-height:1.45}.ingredient-preview strong,.ingredient-preview small,.ingredient-preview span{display:block}.ingredient-preview small{margin:7px 0;color:#698055;font-size:12px}.ingredient-preview span{margin-top:8px;border-top:1px solid #dce9d1;padding-top:8px}
.water-card{margin-top:20px}.water-heading,.water-total,.water-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.water-heading h2{font-size:22px;margin:4px 0 0}.water-total{margin:17px 0 11px}.water-total strong{font-size:27px;letter-spacing:-.04em}.water-total small{font-size:15px;color:#8c9b87;font-weight:600;letter-spacing:0}.water-total>span{font-size:13px;font-weight:700;color:#5c9bb7}.water-card .bar{background:#e7f3f8}.water-card .bar>span{background:#62b5d9}.water-add{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:66px;margin-top:17px;border:1px solid #b8e2ef;border-radius:16px;background:#e8f7fb;color:#277c9f;touch-action:manipulation}.water-add:active{transform:scale(.99);background:#d6f0f8}.water-add svg{width:32px;height:40px}.water-add strong{font-size:17px}.water-add .water-cup-fill{fill:#67bddd}.water-cup-body{fill:#fff}.water-cup-fill{fill:#e1f2f8}.water-cup-outline{fill:none;stroke:#87bbcd;stroke-width:2.5;stroke-linejoin:round}.water-actions{justify-content:flex-end;flex-wrap:wrap;margin-top:8px}.water-actions .text-button{font-size:12px;padding:8px 2px;color:#438da9}#water-settings-form{scroll-margin-top:12px}#water-settings-form .form-grid{margin-top:3px}
.water-add{-webkit-tap-highlight-color:transparent}.water-add:focus-visible{outline:3px solid #4eadd3;outline-offset:3px}
.activity-help{margin:-3px 0 16px;padding:11px 13px;border-radius:12px;background:#f5f8f2;color:#617259;font-size:13px;line-height:1.5}.activity-help summary{cursor:pointer;font-weight:700;color:#547d3e}.activity-help p{margin:10px 0 0}.goal-forecast{margin:2px 0 18px;padding:12px 14px;border-radius:13px;background:#f0f6e9;color:#527443;font-size:13px;line-height:1.45}.goal-weight-card strong{font-size:16px}.goal-weight-card p{margin:10px 0 5px;color:#436a31;font-size:22px;font-weight:750}.goal-weight-card small{display:block;color:#7d8978;line-height:1.4}.calculation-details summary{cursor:pointer;font-weight:750;color:#3b5c2f}.calculation-details .note{margin-bottom:0}
.manual-energy-note{margin:2px 0 15px;padding:12px 14px;border-radius:13px;background:#f3f6ef;color:#536b45;font-size:13px;line-height:1.5}.manual-energy-note.warning{background:#fff3e9;color:#934b26}.manual-energy-note .text-button{display:block;margin:5px 0 0;padding:5px 0;color:inherit;text-decoration:underline}
.product-evidence{margin:12px 0 18px;padding:12px 14px;border:1px solid #e5ebdf;border-radius:13px}.product-evidence summary{cursor:pointer;color:#527d36;font-size:13px;font-weight:700}.product-evidence .note{margin:8px 0 12px}.product-evidence label{margin-top:12px}.evidence-preview{display:block;width:100%;max-height:180px;object-fit:contain;margin:8px 0;border-radius:9px;background:#f5f7f2}.evidence-links{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.evidence-link{display:flex;align-items:center;gap:7px;color:#527d36;font-size:12px}.evidence-link img{width:54px;height:54px;object-fit:cover;border-radius:8px}.catalog-consent{margin:13px 0;font-weight:500;line-height:1.45}.catalog-consent input{width:auto;margin-right:6px}.catalog-consent a{color:#527d36}
@media(max-width:400px){.profile-measurements{grid-template-columns:1fr}}
.auth-card input[type="checkbox"]{width:auto;margin:0 7px 0 0;vertical-align:middle}.auth-card #forgot-button{margin-top:12px}.auth-card #privacy-label{line-height:1.5}
#modal input[type="checkbox"]{width:auto;margin:0 7px 0 0;vertical-align:middle}#modal label:has(input[type="checkbox"]){line-height:1.5}
.estimate-mark{display:inline-block;margin-left:1px;padding:1px 2px;color:#9ca996;font-size:10px;font-weight:700;line-height:1;vertical-align:super;cursor:help;-webkit-tap-highlight-color:transparent}
.week-dot.protected{background:#e8dff5;color:#7856a0}.streak-protection{margin:10px 0 4px;padding:10px 12px;border-radius:11px;background:#f5f3fa;color:#74578e;font-size:12px;font-weight:700}

.bottom-nav button{min-width:0;padding:0 1px}.bottom-nav button span:last-child{white-space:nowrap}@media(max-width:380px){.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav button{font-size:10px}.bottom-nav .nav-icon{font-size:22px}}
.article-categories{display:flex;gap:7px;overflow-x:auto;padding:2px 0 13px;scrollbar-width:none}.article-categories::-webkit-scrollbar{display:none}.article-categories button{flex:none;border:0;border-radius:99px;background:#fff;color:#708067;padding:9px 14px;font-weight:700}.article-categories button.active{background:#709f4a;color:#fff}.article-card h3{font-size:20px;line-height:1.25;margin:15px 0 8px}.article-card p{line-height:1.5;color:#5d6b56;margin:0 0 14px}.article-top,.article-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.article-top>span:last-child,.article-meta{font-size:12px;color:#8b9486}.article-like{border:0;background:#f5f7f2;color:#98a493;border-radius:12px;padding:9px 13px;font-weight:800;min-width:56px}.article-like.active{color:#d45c69;background:#fff0f1}.article-detail h2{font-size:28px;line-height:1.2;margin:18px 0 10px}.article-lead{color:#596b51;line-height:1.5}.article-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:24px 0}.article-admin-list{margin-top:14px}.article-admin-list .list-row:first-child{padding-top:0}.modal-body textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #dce4d7;border-radius:11px;background:#fff;color:#1d261a;font:inherit;resize:vertical}.modal-body textarea:focus{outline:none;border-color:#78a654;box-shadow:0 0 0 3px #78a65422}.food-tabs{overflow-x:auto;scrollbar-width:none}.food-tabs button{white-space:nowrap}

.community-avatar{width:46px;height:46px;min-width:46px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;background:#e5efdc;color:#4f7a32;font-size:20px;font-weight:800}.community-head{display:flex;align-items:center;gap:14px}.community-head .community-avatar{width:68px;height:68px;min-width:68px;font-size:28px}.community-head h2{margin:0 0 8px}.community-head small,.community-own small{display:block;color:#879181;margin-top:5px}.community-detail p{line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.community-own{display:flex;align-items:center;justify-content:space-between;gap:10px}.community-row .main{min-width:0}.community-photo-preview{display:flex;align-items:center;gap:10px;margin:8px 0 14px;font-size:13px;color:#7f8b77}
.founder-badge{display:inline-flex;align-items:center;gap:4px;width:max-content;max-width:100%;margin:4px 0 10px;padding:7px 12px;border:1px solid #be8b2f;border-radius:999px;background:linear-gradient(120deg,#67420e,#b57617 48%,#f5d887);color:#fff;font-size:11px;font-weight:900;letter-spacing:.1em;line-height:1.1;box-shadow:0 4px 12px #8b5b2e33;text-shadow:0 1px 2px #533008}.topbar .founder-badge{margin:5px 0 0}.founder-avatar{background:#7c4f11;color:#fff;box-shadow:0 0 0 3px #e7bd65}.community-row .founder-badge,.list-row .founder-badge{font-size:9px;padding:5px 8px;margin:2px 0;letter-spacing:.04em}.invite-card h3{margin:4px 0 8px}.invite-card .founder-badge{margin-bottom:12px}.invite-link{font-size:12px;margin:0 0 10px;overflow:hidden;text-overflow:ellipsis}.invitation-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.invitation-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#e8f2df;color:#4b7432;font-size:12px;font-weight:750}.invitation-badge.locked{background:#f1f2ef;color:#9aa195}.invite-auth-note{padding:11px 13px;border-radius:12px;background:#fff3d8;color:#7b5218;font-size:13px;font-weight:800;text-align:center}
.admin-user-status{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.admin-user-status .founder-badge{margin:0 0 5px}

/* Compact food picker in the diary */
dialog:has(.entry-form){height:min(720px,calc(100dvh - 20px));width:min(calc(100vw - 12px),540px)}
#modal-form.entry-form{height:100%;max-height:none}
.entry-form .modal-header{grid-template-columns:64px minmax(0,1fr) 64px}
.entry-form .modal-body{display:flex;flex-direction:column;flex:1;min-height:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));scrollbar-gutter:auto}
#entry-search-view{display:flex;flex-direction:column;flex:1;min-height:0}
.entry-search-bar{display:flex;gap:8px;align-items:center}
#entry-search{flex:1;min-width:0;height:47px;margin:0;padding:10px 14px;border-radius:14px;background:#f5f7f2}
.entry-scan{flex:0 0 47px;height:47px;border:1px solid #dce4d7;border-radius:14px;background:#fff;color:#5e9137;font-size:24px;line-height:1}
.entry-scopes{display:flex;gap:7px;margin:12px 0;overflow-x:auto;scrollbar-width:none}
.entry-scopes::-webkit-scrollbar{display:none}
.entry-scopes button{flex:1 0 auto;border:0;border-radius:10px;padding:9px 10px;background:#f1f4ed;color:#687b5d;font-size:13px;font-weight:700}
.entry-scopes button.active{background:#709f4a;color:#fff}
.entry-form #entry-results{flex:1;max-height:none;min-height:0;margin:0;border-radius:15px;overflow-anchor:none}
.picker-results.picker-loading{opacity:.55;pointer-events:none}
.entry-form .entry-choice{min-height:67px;padding:8px 11px}
.entry-choice .product-thumb{width:46px;height:46px;flex-basis:46px;border-radius:10px}
.entry-choice .picker-choice-main{flex:1}
.entry-choice .picker-choice-main strong{font-size:15px;line-height:1.25}
.entry-choice .picker-choice-main small{font-size:13px;margin-top:4px}
.entry-choice-add{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#709f4a;color:#fff;font-size:23px;line-height:1}
#entry-portion-view .text-button{padding:3px 0 12px}
#entry-portion-view .picker-selected{margin:0 0 18px}
@media(max-width:600px){dialog:has(.entry-form){max-height:calc(100dvh - 8px);height:calc(100dvh - 8px);margin:auto;border-radius:20px}.entry-form .modal-header{padding:12px 16px}}

.nutrient-summary{display:grid;gap:8px;padding:12px;margin-top:18px}
.nutrient-summary .guidance-row{padding:11px 12px;border:1px solid #edf1e9;border-radius:13px;background:#f8faf6}
.nutrient-summary .guidance-info{margin:4px 4px 2px}
.nutrient-summary .guidance-info[open]{font-size:13px;line-height:1.55}
.nutrient-summary .guidance-info p strong{color:#4b6042}

.barcode-search .search{margin-top:0}
.barcode-search .barcode-action{flex:0 0 47px;width:47px;height:47px;padding:0}
.barcode-action svg,.entry-scan svg,.product-barcode-actions svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.entry-scan{display:grid;place-items:center;flex:0 0 47px;width:47px;height:47px;padding:0;margin:0}
#scan-entry-barcode,#scan-product-barcode{margin:0}
.product-barcode-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 13px}
.product-barcode-actions .button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:11px 8px;font-size:12px}
.admin-review-decisions{margin-top:12px}
.round-add{display:grid;place-items:center;padding:0;flex:0 0 32px}
.round-add svg,.entry-choice-add svg{display:block;width:20px;height:20px}
.food-page #food-results{min-height:clamp(220px,calc(100dvh - 390px),480px);overflow-anchor:none}
html{scrollbar-gutter:stable}
 .offline-readonly{max-width:648px;margin:0 auto 12px;padding:12px 16px;background:#fff4dc;color:#755416;border:1px solid #f0dfa9;border-radius:14px;font-size:13px;font-weight:700}
#toast{width:min(480px,calc(100vw - 32px));max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;text-align:center;line-height:1.4;bottom:calc(95px + env(safe-area-inset-bottom))}
.offline-readonly{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-left:16px;margin-right:16px;line-height:1.4}
.offline-readonly .text-button{flex:none;white-space:nowrap}
.nutrient-estimate-panel{margin:14px 0;padding:14px;border-radius:14px;background:#f5f8f2}
.nutrient-estimate-panel .button{width:100%;margin-bottom:10px}
.nutrient-estimate-panel label{display:flex;align-items:flex-start;gap:8px;margin:8px 0;font-weight:500;line-height:1.4}
.nutrient-estimate-panel input[type="checkbox"]{flex:none;width:auto;margin:2px 0 0}
.nutrient-estimate-panel .note{margin:8px 0 0}
