@import url("./food-portion-editor.css");
.calories-hub{display:grid;gap:18px}.calories-tabs{position:sticky;top:10px;z-index:12;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 auto;max-width:560px;border:1px solid #37373f;border-radius:16px;background:rgba(20,20,23,.94);box-shadow:0 12px 34px rgba(0,0,0,.28);backdrop-filter:blur(16px)}.calories-tabs button{min-height:44px;border:0;border-radius:12px;background:transparent;color:#9898a3;font:800 14px/1 inherit}.calories-tabs button.active{background:#32171a;color:#ff4b58;box-shadow:inset 0 0 0 1px rgba(255,54,68,.18)}.food-log-page{display:grid;gap:16px;max-width:720px;margin:0 auto;padding-bottom:96px}.food-log-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:10px 2px 0}.food-log-heading h2{margin:5px 0 0;font-size:34px;letter-spacing:-.035em}.food-log-add{width:auto;min-width:118px;padding:12px 15px}.food-log-date-nav{display:grid;grid-template-columns:48px 1fr 48px;gap:8px;align-items:center}.food-log-date-nav>button{min-height:48px;border:1px solid #393941;border-radius:14px;background:#1c1c20;color:#f4f4f5}.food-log-date-nav>button:nth-child(2){display:flex;flex-direction:column;align-items:center;justify-content:center}.food-log-date-nav strong{font-size:15px}.food-log-date-nav small{margin-top:2px;color:#96969f}.food-daily-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px;border:1px solid #3b3b42;border-radius:22px;background:linear-gradient(145deg,#202024,#18181b);box-shadow:0 18px 44px rgba(0,0,0,.24)}.food-calorie-total{position:relative;grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding-bottom:14px;border-bottom:1px solid #34343a;overflow:hidden}.food-calorie-total span,.food-macro-total span{color:#9d9da7;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.food-calorie-total strong{font-size:32px;line-height:1}.food-calorie-total small{align-self:end;color:#a5a5ae;font-weight:700}.food-calorie-total i{grid-column:1/-1;height:5px;margin-top:9px;border-radius:99px;background:linear-gradient(90deg,#ff2638 var(--food-progress),#3a3a40 var(--food-progress));box-shadow:0 0 14px rgba(255,38,56,.14)}.food-macro-total{display:grid;gap:5px;padding:8px 3px 2px;--food-macro-color:#39d7ae}.food-macro-total strong{font-size:15px;white-space:nowrap}.food-macro-total>i{display:block;height:5px;margin-top:3px;overflow:hidden;border-radius:999px;background:#34343a}.food-macro-total>i>b{display:block;height:100%;border-radius:inherit;background:var(--food-macro-color);box-shadow:0 0 8px color-mix(in srgb,var(--food-macro-color) 24%,transparent)}.food-macro-total--carbs{--food-macro-color:#4fa8ff}.food-macro-total--fat{--food-macro-color:#8b7cf6}.food-macro-total--protein{--food-macro-color:#39d7ae}.food-meals{display:grid;gap:10px}.food-meal{border:1px solid #38383f;border-radius:18px;background:#1b1b1e;overflow:hidden}.food-meal summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;cursor:pointer;list-style:none}.food-meal summary::-webkit-details-marker{display:none}.food-meal summary span{display:grid;gap:3px}.food-meal summary strong{font-size:17px}.food-meal summary small{color:#8f8f98}.food-meal summary b{font-size:14px;color:#d0d0d5}.food-meal-body{display:grid;border-top:1px solid #303036}.food-entry{display:grid;grid-template-columns:minmax(0,1fr) auto 34px;align-items:center;gap:9px;padding:13px 15px;border-bottom:1px solid #2d2d32}.food-entry>div{display:grid;gap:3px;min-width:0}.food-entry strong,.food-entry small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-entry small{color:#91919a}.food-entry>span{font-size:13px;color:#d3d3d7;font-weight:700}.food-entry button{width:32px;height:32px;border:1px solid #404047;border-radius:10px;background:#25252a;color:#aaaab2;font-size:20px}.food-add-meal{margin:10px;border:1px dashed #44444c;border-radius:12px;min-height:40px;background:transparent;color:#ff4b58;font-weight:800}.food-data-credit{margin:0 8px;color:#777780;font-size:9px;line-height:1.3;text-align:center;opacity:.72}.food-data-credit:empty{display:none}.food-sheet[hidden]{display:none}.food-sheet{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-end;justify-content:center}.food-sheet-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}.food-sheet-card{position:relative;width:min(100%,720px);max-height:min(88dvh,820px);overflow:auto;padding:10px 18px max(24px,env(safe-area-inset-bottom));border:1px solid #414149;border-radius:26px 26px 0 0;background:#17171a;box-shadow:0 -24px 70px rgba(0,0,0,.55)}.food-sheet-handle{width:42px;height:4px;margin:0 auto 11px;border-radius:99px;background:#505058}.food-sheet-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.food-sheet-card h2{margin:3px 0 0;font-size:27px}.food-sheet-close{width:42px;height:42px;border:1px solid #3f3f46;border-radius:50%;background:#242429;color:#c4c4ca;font-size:27px}.food-sheet-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:17px 0;padding:4px;border-radius:14px;background:#101012}.food-sheet-tabs button{min-height:40px;border:0;border-radius:10px;background:transparent;color:#8d8d97;font-weight:800}.food-sheet-tabs button.active{background:#2c1a1c;color:#ff4b58}.food-search{display:grid;grid-template-columns:1fr auto;gap:8px}.food-search input,.custom-food-form input,.food-portion-panel input,.food-portion-panel select{min-width:0;width:100%;min-height:48px;border:1px solid #43434b;border-radius:13px;background:#222226;color:#f7f7f8;padding:0 13px;font:inherit}.food-search button{width:auto}.food-search-status{min-height:20px;margin:10px 3px;color:#9696a0;font-size:13px}.food-results{display:grid;gap:8px}.food-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;width:100%;padding:13px;border:1px solid #393940;border-radius:15px;background:#202024;color:#f6f6f7;text-align:left}.food-result>span,.food-result>b{display:grid;gap:4px}.food-result strong,.food-result small{overflow:hidden;text-overflow:ellipsis}.food-result small{color:#8f8f99;font-size:11px;font-weight:600}.food-result>b{text-align:right;font-size:14px}.custom-food-form{display:grid;gap:12px}.custom-food-form label,.food-portion-panel>label{display:grid;gap:6px;color:#aaaab3;font-size:12px;font-weight:800}.custom-food-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.food-portion-panel:not([hidden]){position:absolute;inset:64px 0 0;z-index:2;display:grid;align-content:start;gap:13px;min-height:calc(100% - 64px);padding:18px;overflow:auto;background:#17171a}.food-portion-heading{display:flex;justify-content:space-between;gap:12px}.food-portion-heading h3{margin:4px 0;font-size:20px}.food-portion-heading small{color:#94949e}.food-portion-heading button{width:38px;height:38px;border:1px solid #414148;border-radius:50%;background:#242429;color:#bbb;font-size:24px}.food-portion-preview{padding:14px;border:1px solid rgba(255,53,67,.26);border-radius:13px;background:#241719;color:#f1f1f3;font-weight:800;text-align:center}.food-sheet-open{overflow:hidden}
@media(max-width:520px){.food-log-heading h2{font-size:30px}.food-daily-summary{padding:14px 12px}.food-calorie-total strong{font-size:29px}.food-calorie-total small{font-size:12px}.food-macro-total strong{font-size:13px}.food-sheet-card{padding-left:14px;padding-right:14px}.food-result{padding:12px 10px}.custom-food-grid{gap:8px}.calories-tabs{top:6px}}
.food-log-plan-link{display:block;margin-top:7px;padding:0;border:0;background:transparent;color:#ff4b58;font-family:inherit;font-size:12px;font-weight:800;line-height:1.35;text-align:left}.food-log-plan-link:focus-visible{outline:2px solid #ff4b58;outline-offset:4px;border-radius:3px}

/* Full-height, meal-first food picker */
.food-sheet{z-index:12000;align-items:stretch}.food-sheet-card{display:flex;flex-direction:column;width:min(100%,720px);height:100dvh;max-height:100dvh;padding:max(8px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));overflow:hidden;border-radius:0}.food-sheet-card>header{flex:0 0 auto}.food-sheet-scroll{min-height:0;flex:1;overflow-y:auto;padding:0 1px 16px;overscroll-behavior:contain}.food-sheet-open .bottom-nav{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.food-meal-picker{display:grid;gap:7px;margin:12px 0 10px}.food-meal-picker>span{color:#93939d;font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.food-meal-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.food-meal-picker button{min-width:0;min-height:36px;padding:5px 3px;border:1px solid #3a3a41;border-radius:10px;background:#222226;color:#aaaab3;font:800 11px/1 inherit}.food-meal-picker button.active{border-color:rgba(255,49,65,.64);background:#37191c;color:#ff5360}.food-sheet-card>.food-search{flex:0 0 auto}.food-sheet-tabs{flex:0 0 auto;margin:11px 0}.food-search-status{margin-top:5px}.food-create-meal,.food-builder-add{width:100%;min-height:46px;margin-bottom:10px;border:1px dashed #494950;border-radius:13px;background:#202024;color:#ff5360;font:800 14px/1 inherit}.food-saved-meal{display:grid;grid-template-columns:minmax(0,1fr) 42px 32px;align-items:center;gap:8px;padding:13px;border:1px solid #393940;border-radius:15px;background:#202024}.food-saved-meal>div{display:grid;gap:4px;min-width:0}.food-saved-meal strong,.food-saved-meal small,.food-saved-meal span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-saved-meal small{color:#a4a4ad}.food-saved-meal span{color:#777781;font-size:11px;font-weight:700}.food-saved-meal-add{width:42px;height:42px;border:1px solid #ff3444;border-radius:50%;background:#3a181c;color:#ff5360;font-size:25px}.food-saved-meal-delete{width:30px;height:30px;border:0;background:transparent;color:#85858e;font-size:20px}.food-copy-yesterday{display:flex;align-items:center;justify-content:space-between;gap:12px;width:calc(100% - 20px);min-height:58px;margin:10px;padding:10px 12px;border:1px solid rgba(75,209,132,.3);border-radius:13px;background:linear-gradient(90deg,rgba(75,209,132,.13),rgba(75,209,132,.035));color:#f4f4f6;text-align:left;transform:translateX(var(--copy-drag,0));transition:transform .18s ease;touch-action:pan-y}.food-copy-yesterday.dragging{transition:none}.food-copy-yesterday>span{display:grid;gap:3px;min-width:0}.food-copy-yesterday small{overflow:hidden;color:#a0a0aa;text-overflow:ellipsis;white-space:nowrap}.food-copy-yesterday b{flex:0 0 auto;color:#4bd184;font-size:11px}.food-copy-yesterday i{font-size:18px;font-style:normal}.food-save-diary-meal{margin:8px 10px 0;border:0;background:transparent;color:#a8a8b0;font:750 12px/1 inherit;text-align:left}.food-builder-destination{padding:12px;border:1px solid rgba(75,209,132,.25);border-radius:12px;background:rgba(75,209,132,.08);color:#76dda1;font-size:13px;font-weight:800}.food-meal-builder:not([hidden]){position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;gap:13px;padding:18px 16px max(20px,env(safe-area-inset-bottom));overflow-y:auto;background:#17171a}.food-builder-heading{display:flex;align-items:center;justify-content:space-between}.food-builder-heading h3{margin:4px 0 0;font-size:25px}.food-builder-heading button{width:40px;height:40px;border:1px solid #414148;border-radius:50%;background:#242429;color:#bbb;font-size:24px}.food-meal-builder>label{display:grid;gap:6px;color:#aaaab3;font-size:12px;font-weight:800}.food-meal-builder input{width:100%;min-height:48px;padding:0 13px;border:1px solid #43434b;border-radius:13px;background:#222226;color:#f7f7f8;font:inherit}.food-builder-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid #393940;border-radius:13px;background:#202024}.food-builder-summary span{color:#9999a2;font-size:11px;text-align:right}.food-builder-items{display:grid;gap:7px}.food-builder-items>div{display:grid;grid-template-columns:minmax(0,1fr) auto 32px;align-items:center;gap:8px;padding:11px;border:1px solid #34343a;border-radius:12px;background:#1e1e22}.food-builder-items span{display:grid;gap:3px;min-width:0}.food-builder-items small{color:#8f8f98}.food-builder-items b{font-size:12px}.food-builder-items button{width:30px;height:30px;border:0;background:transparent;color:#999;font-size:20px}.food-toast{position:fixed;z-index:13000;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:calc(100vw - 32px);padding:11px 15px;border:1px solid rgba(75,209,132,.4);border-radius:999px;background:#183025;color:#baf5d1;box-shadow:0 12px 36px rgba(0,0,0,.45);font-size:13px;font-weight:800}.food-toast[hidden]{display:none}
@media(min-width:721px){.food-sheet{align-items:flex-end}.food-sheet-card{height:min(92dvh,850px);border-radius:26px 26px 0 0}}
.food-meal-builder:not([hidden]){padding-top:max(18px,env(safe-area-inset-top))}

/* Logged food editing */
.food-entry{grid-template-columns:minmax(0,1fr) 34px;gap:5px;padding:5px 10px 5px 5px}
.food-entry-edit{display:grid!important;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:9px;width:100%!important;height:auto!important;min-width:0;padding:9px 10px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#f5f5f6!important;text-align:left}
.food-entry-edit:active{background:#25252a!important}
.food-entry-edit>span{display:grid;gap:3px;min-width:0}
.food-entry-edit>b{color:#d3d3d7;font-size:13px;white-space:nowrap}
.food-entry-edit>i{color:#777780;font-size:22px;font-style:normal}
.food-entry-remove{width:32px!important;height:32px!important}
.food-edit-remove{min-height:46px;border:1px solid #494950;border-radius:13px;background:transparent;color:#a9a9b1;font:800 14px/1 inherit}
.food-portion-loading{display:grid;justify-items:center;gap:7px;padding:36px 18px;border:1px solid #36363d;border-radius:15px;background:#202024;text-align:center}.food-portion-loading strong{color:#fff;font-size:17px}.food-portion-loading span,.food-portion-warning{color:#9999a3;font-size:12px;line-height:1.45}.food-portion-loading:before{content:"";width:28px;height:28px;border:3px solid #3a3a40;border-top-color:#ff4050;border-radius:50%;animation:food-serving-spin .75s linear infinite}@keyframes food-serving-spin{to{transform:rotate(360deg)}}.food-portion-warning{margin:0;padding:10px 12px;border:1px solid rgba(255,190,67,.28);border-radius:11px;background:rgba(255,190,67,.08);color:#e9c777}
.custom-food-form{padding:2px 0 18px}.custom-food-form input,.custom-food-form select{min-width:0;width:100%;min-height:48px;border:1px solid #43434b;border-radius:13px;background:#222226;color:#f7f7f8;padding:0 13px;font:inherit}.custom-food-intro,.custom-nutrition-heading{display:grid;gap:4px;padding:2px 1px}.custom-food-intro strong,.custom-nutrition-heading strong{color:#f7f7f8;font-size:18px}.custom-food-intro small,.custom-nutrition-heading small{color:#8f8f99;font-size:12px;line-height:1.45}.custom-serving-fields{min-width:0;margin:0;padding:12px;border:1px solid #393940;border-radius:15px;background:#1d1d21}.custom-serving-fields legend{padding:0 7px;color:#aaaab3;font-size:12px;font-weight:800}.custom-serving-fields>div{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}.custom-serving-fields label{display:grid;gap:6px}.custom-serving-fields label>span{color:#85858e;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.custom-nutrition-heading{margin-top:4px;padding-top:14px;border-top:1px solid #34343a}.custom-food-form .primary-btn{min-height:50px;margin-top:4px}
.food-portion-preview{display:grid;gap:5px}.food-portion-preview strong{color:#fff;font-size:15px}.food-portion-preview span{color:#b7b7bf;font-size:12px}

/* Refined native typography */
.food-log-page,.food-sheet-card{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;font-feature-settings:"tnum" 1,"kern" 1;-webkit-font-smoothing:antialiased}
.food-log-heading h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:28px;font-weight:700;letter-spacing:-.025em;line-height:1.08}
.food-log-page .eyebrow,.food-sheet-card .eyebrow{font-size:10px;font-weight:700;letter-spacing:.11em}
.food-log-plan-link{font-size:11.5px;font-weight:650}
.food-log-add{font-size:13px;font-weight:700}
.food-log-date-nav strong{font-size:14px;font-weight:650}.food-log-date-nav small{font-size:11.5px;font-weight:450}
.food-calorie-total span,.food-macro-total span{font-size:10.5px;font-weight:650;letter-spacing:.075em}
.food-calorie-total strong{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:27px;font-weight:700;letter-spacing:-.025em}
.food-calorie-total small{font-size:11.5px;font-weight:500}
.food-macro-total strong{font-size:14px;font-weight:650;letter-spacing:-.01em}
.food-meal summary strong{font-size:15.5px;font-weight:650;letter-spacing:-.01em}.food-meal summary small{font-size:11.5px;font-weight:450}.food-meal summary b{font-size:13px;font-weight:600}
.food-entry-edit strong{font-size:14px;font-weight:600;letter-spacing:-.005em}.food-entry-edit small{font-size:11.5px;font-weight:450}.food-entry-edit>b{font-size:12px;font-weight:600}
.food-add-meal{font-size:13px;font-weight:700}.food-save-diary-meal{font-size:11.5px;font-weight:600}
.calories-tabs button,.food-sheet-tabs button{font-weight:650}
.food-sheet-card h2{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.02em}
.food-meal-picker>span{font-size:10px;font-weight:700}.food-meal-picker button{font-size:10.5px;font-weight:650}
.food-result strong,.food-saved-meal strong{font-size:14px;font-weight:600}.food-result>b{font-size:13px;font-weight:600}
.food-portion-heading h3{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:18px;font-weight:650;letter-spacing:-.015em}
.custom-food-form label,.food-portion-panel>label,.food-meal-builder>label{font-size:11.5px;font-weight:650}
.food-portion-preview{font-weight:600}.food-portion-preview strong{font-size:14px;font-weight:650}.food-portion-preview span{font-size:11.5px;font-weight:450}
.food-edit-remove{font-size:13px;font-weight:650}
@media(max-width:520px){.food-log-heading h2{font-size:27px}.food-calorie-total strong{font-size:26px}.food-macro-total strong{font-size:13.5px}}
.food-macro-total strong small{color:#8f8f98;font-size:.86em;font-weight:600}
.food-day-complete{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:-6px;padding:11px 13px;border:1px solid rgba(57,215,174,.24);border-radius:14px;background:rgba(57,215,174,.055)}.food-day-complete>div{display:grid;gap:2px}.food-day-complete strong{font-size:13px}.food-day-complete small{color:#9696a0;font-size:11px;line-height:1.35}.food-day-complete button{flex:0 0 auto;min-height:36px;padding:8px 11px;border:1px solid rgba(57,215,174,.35);border-radius:10px;background:rgba(57,215,174,.1);color:#39d7ae;font-size:11px;font-weight:800}.food-day-complete button:disabled{opacity:.42}@media(max-width:520px){.food-day-complete{align-items:stretch;flex-direction:column}.food-day-complete button{width:100%}}

.food-result{grid-template-columns:48px minmax(0,1fr) auto;align-items:center}
.food-result .food-result-emoji{display:grid;place-items:center;width:48px;height:48px;overflow:visible;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:32px;font-weight:400;line-height:1}
.food-result-copy{min-width:0}
@media(max-width:520px){.food-result{grid-template-columns:44px minmax(0,1fr) auto}.food-result .food-result-emoji{width:44px;height:44px;font-size:30px}}

.food-entry-edit{grid-template-columns:44px minmax(0,1fr) auto 12px}
.food-entry-edit>.food-entry-emoji{display:grid;place-items:center;width:44px;height:44px;overflow:visible;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:30px;font-weight:400;line-height:1}
@media(max-width:380px){.food-entry-edit{grid-template-columns:40px minmax(0,1fr) auto 10px;gap:7px}.food-entry-edit>.food-entry-emoji{width:40px;height:40px;font-size:28px}}

/* Actual calories with target directly beneath */
.food-calorie-total>span{grid-column:1;grid-row:1;align-self:start}
.food-calorie-value{grid-column:2;grid-row:1/3;display:grid;justify-items:end;align-content:start;gap:6px}
.food-calorie-value strong{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;font-size:27px;font-weight:700;line-height:1;letter-spacing:-.025em}
.food-calorie-target{display:block!important;visibility:visible!important;opacity:1!important;color:#b8b8c0!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;font-size:12.5px!important;font-weight:550!important;line-height:1.2!important;letter-spacing:0!important;white-space:nowrap}
.food-calorie-total>em{grid-column:1;grid-row:2;align-self:end;color:#a5a5ae;font-size:11.5px;font-weight:500;font-style:normal;line-height:1.2}
.food-calorie-total>i{grid-row:3}
@media(max-width:520px){.food-calorie-value strong{font-size:26px}}

/* Saved meal photos and logged-food macro detail */
.food-saved-meal{grid-template-columns:58px minmax(0,1fr) 42px 24px;gap:9px}
.food-saved-meal-photo{display:grid;place-items:center;width:58px;height:58px;padding:0;overflow:hidden;border:1px solid #414148;border-radius:12px;background:#28282d;color:#8e8e98}
.food-saved-meal-photo img,.food-saved-meal-thumbnail{display:block;width:100%;height:100%;max-width:none;object-fit:cover;opacity:1}
.food-saved-meal-photo svg{width:23px;fill:none;stroke:currentColor;stroke-width:1.7}
.food-saved-meal-delete{width:24px}
.food-builder-photo{display:flex;align-items:center;gap:9px}
.food-builder-photo>[data-meal-photo-pick]{display:flex;align-items:center;gap:10px;min-height:56px;padding:6px 12px;border:1px dashed #494950;border-radius:13px;background:#202024;color:#ff5360;font:800 12px/1 inherit}
.food-builder-photo img{width:43px;height:43px;border-radius:9px;object-fit:cover}
.food-builder-photo svg{width:25px;fill:none;stroke:currentColor;stroke-width:1.7}
.food-builder-photo>[data-meal-photo-remove]{border:0;background:transparent;color:#92929b;font:700 11px/1 inherit}
.food-portion-preview--macros{padding:14px;background:#1d1d21;text-align:left}
.food-edit-serving{margin-bottom:12px;color:#9898a2;font-size:11px;text-align:center}
.food-edit-macro-breakdown{display:grid;grid-template-columns:82px repeat(3,minmax(0,1fr));align-items:center;gap:8px}
.food-edit-calorie-ring{position:relative;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:conic-gradient(#4fa8ff 0 var(--carb-end),#8b7cf6 var(--carb-end) var(--fat-end),#39d7ae var(--fat-end) 100%)}
.food-edit-calorie-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#1d1d21}
.food-edit-calorie-ring span{position:relative;display:grid;text-align:center}
.food-edit-calorie-ring strong{font-size:19px;line-height:1}
.food-edit-calorie-ring small{margin-top:2px;color:#9999a2;font-size:9px}
.food-edit-macro{display:grid;gap:4px;text-align:center}
.food-edit-macro em{font-size:11px;font-style:normal}.food-edit-macro strong{font-size:14px}.food-edit-macro small{color:#9999a2;font-size:9px}
.food-edit-macro--carbs em{color:#4fa8ff}.food-edit-macro--fat em{color:#8b7cf6}.food-edit-macro--protein em{color:#39d7ae}
.food-meal-macros{padding:15px;border-bottom:1px solid #2d2d32;background:#1d1d21}
.food-meal-macros .food-edit-serving{margin-bottom:10px}
@media(max-width:380px){.food-saved-meal{grid-template-columns:52px minmax(0,1fr) 38px 20px;gap:6px;padding:11px}.food-saved-meal-photo{width:52px;height:52px}.food-saved-meal-add{width:38px;height:38px}.food-edit-macro-breakdown{grid-template-columns:72px repeat(3,minmax(0,1fr));gap:5px}.food-edit-calorie-ring{width:68px;height:68px}}


/* Editable saved meals and custom foods */
.food-saved-meal-edit{display:grid;gap:4px;min-width:0;padding:3px 0;border:0;background:transparent;color:#f6f6f7;font:inherit;text-align:left}
.food-saved-meal-edit:active{opacity:.72}
.food-saved-meal-edit strong,.food-saved-meal-edit small,.food-saved-meal-edit span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.food-saved-meal-edit small{color:#a4a4ad}
.food-saved-meal-edit span{color:#777781;font-size:11px;font-weight:700}
.food-builder-macros{margin:0}
.food-builder-items>div{grid-template-columns:minmax(0,1fr) 42px;min-height:64px;padding:0}
.food-builder-items .food-builder-item-edit{display:grid;grid-template-columns:minmax(0,1fr) auto 12px;align-items:center;gap:8px;width:100%;height:auto;min-width:0;min-height:62px;padding:11px;overflow:hidden;border:0;background:transparent;color:#f5f5f6;font:inherit;text-align:left}
.food-builder-items .food-builder-item-edit:active{background:#25252a}
.food-builder-item-edit span{display:grid;gap:3px;min-width:0;overflow:hidden}
.food-builder-item-edit strong,.food-builder-item-edit small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.food-builder-item-edit strong{font-size:14px;line-height:1.25}
.food-builder-item-edit small{font-size:11px;line-height:1.25}
.food-builder-item-edit b{font-size:12px;white-space:nowrap}
.food-builder-item-edit i{color:#777780;font-size:21px;font-style:normal}
.food-builder-items>div>[data-remove-meal-item]{width:42px;height:42px;border-radius:10px}
.food-custom-row{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:stretch;gap:7px}
.food-custom-edit{border:1px solid #393940;border-radius:14px;background:#242429;color:#ff5360;font:700 11px/1 inherit}
.custom-food-actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
.custom-food-actions>[data-custom-food-cancel]{min-width:84px;border:1px solid #414148;border-radius:13px;background:transparent;color:#aaaab3;font:700 12px/1 inherit}
.custom-food-actions>[data-custom-food-cancel][hidden]{display:none}
.custom-food-actions>[data-custom-food-cancel][hidden]+button{grid-column:1/-1}
@media(max-width:380px){.food-custom-row{grid-template-columns:minmax(0,1fr) 48px}.food-custom-edit{font-size:10px}}


/* Direct saved-meal ingredient editor */
.food-builder-items>.food-builder-item-editor{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-height:0;padding:14px;overflow:visible;border-color:#4a2b2f;background:#1d1d21}
.food-builder-item-editor>header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.food-builder-item-editor>header>div{display:grid;gap:3px;min-width:0}
.food-builder-item-editor>header strong{overflow:hidden;color:#f7f7f8;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.food-builder-item-editor>header button{width:34px;height:34px;border:1px solid #414148;border-radius:50%;background:#242429;color:#aaaab3;font-size:20px}
.food-builder-item-editor>label{display:grid;gap:6px;color:#aaaab3;font-size:11.5px;font-weight:650}
.food-builder-item-editor select,.food-builder-item-editor input{width:100%;min-height:48px;padding:0 13px;border:1px solid #43434b;border-radius:13px;background:#222226;color:#f7f7f8;font:inherit}
.food-builder-item-editor .food-portion-preview{margin:0}
.food-builder-item-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.food-builder-item-editor .food-builder-item-actions button{width:100%;height:46px;min-height:46px;border:1px solid #414148;border-radius:13px;background:transparent;color:#aaaab3;font:700 12px/1 inherit}
.food-builder-item-editor .food-builder-item-actions .primary-btn{border-color:#ff3444;background:#ff2434;color:#fff}


/* Native expandable saved-meal ingredient cards */
.food-builder-item-details{overflow:hidden;border:1px solid #34343a;border-radius:12px;background:#1e1e22}
.food-builder-item-details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;align-items:center;gap:8px;min-height:62px;padding:11px;color:#f5f5f6;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}
.food-builder-item-details>summary::-webkit-details-marker{display:none}
.food-builder-item-details>summary>span{display:grid;gap:3px;min-width:0;overflow:hidden}
.food-builder-item-details>summary strong,.food-builder-item-details>summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.food-builder-item-details>summary strong{font-size:14px;line-height:1.25}
.food-builder-item-details>summary small{color:#8f8f98;font-size:11px;line-height:1.25}
.food-builder-item-details>summary>b{font-size:12px;white-space:nowrap}
.food-builder-item-details>summary>i{color:#777780;font-size:21px;font-style:normal;transition:transform .18s ease}
.food-builder-item-details[open]>summary{background:#25252a}
.food-builder-item-details[open]>summary>i{transform:rotate(90deg)}
.food-builder-item-details>.food-builder-item-editor{display:grid;gap:12px;padding:14px;border-top:1px solid #34343a;background:#1d1d21}
.food-builder-item-edit-heading{display:grid;gap:3px}
.food-builder-item-edit-heading strong{color:#f7f7f8;font-size:16px}
.food-builder-item-details .food-builder-item-actions button{width:100%;height:46px;min-height:46px}

/* Paste-to-meal ingredient importer */
.food-meal-create-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.food-meal-create-actions .food-create-meal{min-width:0;margin:0}.food-paste-meal{border-style:solid;background:#2b1b1e}
.food-builder-paste{overflow:hidden;border:1px solid #3b3b43;border-radius:15px;background:#1d1d21}.food-builder-paste>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;padding:12px 14px;color:#f6f6f7;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.food-builder-paste>summary::-webkit-details-marker{display:none}.food-builder-paste>summary span{display:grid;gap:3px}.food-builder-paste>summary strong{font-size:14px;font-weight:700}.food-builder-paste>summary small{color:#90909a;font-size:11px;font-weight:500}.food-builder-paste>summary i{color:#777780;font-size:22px;font-style:normal;transition:transform .18s ease}.food-builder-paste[open]>summary{border-bottom:1px solid #34343a;background:#222226}.food-builder-paste[open]>summary i{transform:rotate(90deg)}
.food-builder-paste-body{display:grid;gap:10px;padding:13px}.food-builder-paste-body>p{margin:0;color:#9a9aa4;font-size:11.5px;line-height:1.45}.food-builder-paste textarea{box-sizing:border-box;width:100%;min-height:132px;padding:12px;border:1px solid #43434b;border-radius:13px;resize:vertical;background:#17171a;color:#f7f7f8;font:500 14px/1.55 -apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif}.food-builder-paste textarea::placeholder{color:#6f6f78}.food-builder-paste .primary-btn{min-height:48px}.food-builder-import-status{min-height:16px;color:#a6a6af!important}.food-builder-unresolved{display:grid;gap:5px;padding:10px 11px;border:1px solid rgba(255,190,67,.28);border-radius:11px;background:rgba(255,190,67,.08)}.food-builder-unresolved strong{color:#e9c777;font-size:11px}.food-builder-unresolved span{color:#d8d8de;font-size:11.5px}.food-builder-unresolved small{margin-top:2px;color:#96969f;font-size:10.5px;line-height:1.4}
@media(max-width:380px){.food-meal-create-actions{grid-template-columns:1fr}.food-builder-paste>summary{padding:11px 12px}}

/* Keep the paste editor usable when the iOS keyboard reduces the viewport. */
.food-meal-builder:not([hidden]){scroll-padding-top:max(18px,env(safe-area-inset-top));scroll-padding-bottom:max(260px,42dvh)}
.food-meal-builder:not([hidden])>*{flex:0 0 auto}
.food-builder-paste{flex:0 0 auto;min-height:62px}
.food-builder-paste[open]{min-height:max-content}
.food-builder-paste textarea{display:block;flex:none;height:150px;min-height:150px;max-height:260px;scroll-margin-block:90px 300px}
.food-search-entry{grid-template-columns:minmax(0,1fr) 46px 46px}
.food-voice-open{position:static;width:46px;height:48px;padding:11px;border:1px solid #45454d;border-radius:13px;background:#2b2b30;color:#f2f2f4}
.food-voice-open svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.food-voice-open[hidden]{display:none}.food-voice-open.is-listening{border-color:#ff3444;background:#3a181c;color:#ff5360;box-shadow:0 0 0 4px rgba(255,52,68,.12)}
.food-voice-review-copy{margin:0;padding:11px 12px;border:1px solid rgba(75,209,132,.24);border-radius:12px;background:rgba(75,209,132,.07);color:#aeb7b2;font-size:12px;line-height:1.45}

/* Food diary date picker */
.food-log-date-nav [data-food-calendar-toggle]{position:relative;padding-right:31px}
.food-log-date-nav [data-food-calendar-toggle] svg{position:absolute;right:10px;top:50%;width:17px;height:17px;transform:translateY(-50%);fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.72}
.food-log-calendar[hidden]{display:none}
.food-log-calendar{display:grid;gap:10px;padding:14px;border:1px solid var(--card-border,#393941);border-radius:18px;background:var(--card,#1c1c20);color:var(--text,#f4f4f5);box-shadow:var(--shadow,0 14px 30px rgba(0,0,0,.18))}
.food-calendar-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;text-align:center}
.food-calendar-header strong{font-size:15px}
.food-calendar-header button{width:38px;height:38px;border:0;border-radius:10px;background:var(--surface-raised,#29292e);color:var(--text,#f4f4f5);font-size:23px}
.food-calendar-weekdays,.food-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.food-calendar-weekdays span{padding:3px 0;color:var(--muted,#96969f);font-size:11px;font-weight:700}
.food-calendar-days button{position:relative;display:grid;place-items:center;justify-self:center;width:min(100%,44px);min-height:42px;padding:2px 2px 9px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--text,#f4f4f5);font-family:inherit;font-size:14px;font-weight:650}
.food-calendar-days button.today{border-color:var(--accent,#ff4b58)}
.food-calendar-days button.selected{background:var(--accent-soft,rgba(255,75,88,.16));color:var(--accent-text,#ff4b58);font-weight:800}
.food-calendar-days button i{position:absolute;bottom:5px;width:5px;height:5px;border-radius:50%;background:var(--accent,#ff4b58)}
.food-calendar-today{justify-self:end;min-height:36px;padding:5px 10px;border:0;border-radius:9px;background:var(--accent-soft,rgba(255,75,88,.16));color:var(--accent-text,#ff4b58);font-family:inherit;font-size:12px;font-weight:700}
.food-log-calendar button:focus-visible,.food-log-date-nav [data-food-calendar-toggle]:focus-visible{outline:2px solid var(--accent,#ff4b58);outline-offset:2px}
