/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-normal:0em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-nunito-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.right-3{right:calc(var(--spacing) * 3)}.left-3{left:calc(var(--spacing) * 3)}.z-10{z-index:10}.col-span-full{grid-column:1/-1}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.aspect-video{aspect-ratio:var(--aspect-video)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.size-12{width:calc(var(--spacing) * 12);height:calc(var(--spacing) * 12)}.size-full{width:100%;height:100%}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-80{height:calc(var(--spacing) * 80)}.h-full{height:100%}.min-h-48{min-height:calc(var(--spacing) * 48)}.min-h-64{min-height:calc(var(--spacing) * 64)}.min-h-72{min-height:calc(var(--spacing) * 72)}.min-h-\[320px\]{min-height:320px}.w-20{width:calc(var(--spacing) * 20)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[72px_1fr\]{grid-template-columns:72px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-emerald-500{border-color:var(--color-emerald-500)}.border-emerald-600{border-color:var(--color-emerald-600)}.border-emerald-900\/10{border-color:#004e3b1a}@supports (color:color-mix(in lab,red,red)){.border-emerald-900\/10{border-color:color-mix(in oklab,var(--color-emerald-900) 10%,transparent)}}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.bg-\[\#fbfdfb\]{background-color:#fbfdfb}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-white{background-color:var(--color-white)}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-10{padding-inline:calc(var(--spacing) * 10)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.text-amber-700{color:var(--color-amber-700)}.text-amber-950{color:var(--color-amber-950)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-red-700{color:var(--color-red-700)}.text-rose-700{color:var(--color-rose-700)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-900{color:var(--color-slate-900)}.text-slate-950{color:var(--color-slate-950)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-emerald-700{accent-color:var(--color-emerald-700)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring-2,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-emerald-100{--tw-ring-color:var(--color-emerald-100)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.group-hover\:text-emerald-700:is(:where(.group):hover *){color:var(--color-emerald-700)}.hover\:border-emerald-200:hover{border-color:var(--color-emerald-200)}.hover\:border-slate-300:hover{border-color:var(--color-slate-300)}.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:text-emerald-700:hover{color:var(--color-emerald-700)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}}.focus\:border-emerald-300:focus{border-color:var(--color-emerald-300)}.focus\:border-emerald-500:focus{border-color:var(--color-emerald-500)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-emerald-100:focus{--tw-ring-color:var(--color-emerald-100)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[1\.3fr_repeat\(5\,0\.7fr\)\]{grid-template-columns:1.3fr repeat(5,.7fr)}.md\:grid-cols-\[1fr_220px\]{grid-template-columns:1fr 220px}.md\:grid-cols-\[160px_1fr\]{grid-template-columns:160px 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[360px_1fr\]{grid-template-columns:360px 1fr}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:justify-between{justify-content:space-between}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-\[1fr_380px\]{grid-template-columns:1fr 380px}}@media print{.print\:hidden{display:none}}}:root{--font-nunito-sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bg:#f7faf7;--surface:#fff;--surface-soft:#eef7f1;--text:#1f2933;--muted:#6b7280;--line:#dce7df;--green:#22a06b;--green-soft:#ddf7ea;--coral:#ff6b5a;--coral-soft:#ffe3de;--blue:#3b82f6;--blue-soft:#dbeafe;--yellow:#f5b942;--red:#ef5a5a;--macro-protein:#8fd9b6;--macro-carbs:#9fc5ff;--macro-fat:#ffb3a7;--macro-fiber:#b8df8a;--macro-sugar:#f7d98b;--macro-saturated-fat:#f3a6a6;--macro-salt:#c4b5fd;--macro-water:#8bdbe8;--macro-alcohol:#c7ccd4;--shadow:0 18px 45px #1f293317;--radius:8px;--background:var(--bg);--foreground:var(--text)}*{box-sizing:border-box}html{min-height:100%}body{min-height:100vh;color:var(--text);background:linear-gradient(135deg,#ddf7eabd,transparent 38%),linear-gradient(315deg,#dbeafea3,transparent 32%),var(--bg);font-family:var(--font-nunito-sans),Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;overflow:hidden auto}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #3b82f64d}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(1.8rem,3vw,2.6rem)}h1,h2{font-weight:900}h2{margin-bottom:10px;font-size:1.25rem}h3{margin:0;font-size:1rem;font-weight:900}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;flex-direction:column;gap:24px;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0;overflow-y:auto}.brand,.profile-button{color:var(--text);text-decoration:none}.brand{align-items:center;width:100%;min-height:64px;display:flex}.profile-button span{border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,var(--green),var(--blue));flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.brand-logo{object-fit:contain;width:min(100%,230px);height:auto}.brand strong,.product-card strong,.profile-button strong,.quick-card strong{display:block}.brand small,.coach-note p,.macro-row span,.profile-button small,.quick-card span,.view-root p,dt{color:var(--muted)}.nav-list{gap:8px;display:grid}.mobile-menu-item,.nav-item{color:var(--text);background:0 0;border:0;text-decoration:none}.nav-item{border-radius:var(--radius);text-align:left;align-items:center;gap:10px;width:100%;padding:12px;transition:background .18s,color .18s,transform .18s;display:flex}.mobile-menu-item.active,.nav-item.active,.nav-item:hover{color:#0f5138;background:var(--green-soft)}.nav-item:hover{transform:translate(2px)}.nav-accordion{gap:6px;display:grid}.nav-accordion summary{cursor:pointer;list-style:none}.nav-accordion summary::-webkit-details-marker{display:none}.nav-sublist{gap:4px;padding-left:12px;display:grid}.nav-subitem{border-radius:var(--radius);min-height:34px;color:var(--muted);align-items:center;gap:8px;padding:7px 10px;font-size:.86rem;font-weight:900;text-decoration:none;display:flex}.nav-subitem.active,.nav-subitem:hover{color:#0f5138;background:#e8f5ecb8}.nav-icon{background:#22a06b1a;border-radius:6px;place-items:center;width:28px;height:28px;display:grid}.coach-note{border-radius:var(--radius);background:var(--surface-soft);margin-top:auto;padding:18px}.coach-kicker,.eyebrow{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:.76rem;font-weight:900}.main{min-width:0;padding:28px}.affiliate-panel,.button-row,.meal-preview,.panel-heading,.product-card,.section-tools,.toggle-row,.topbar,.topbar-actions{align-items:center;display:flex}.affiliate-panel,.panel-heading,.section-tools,.toggle-row,.topbar{justify-content:space-between;gap:16px}.topbar{min-height:58px}.topbar-title{gap:2px;display:grid}.topbar-brand{display:none}.mobile-menu-button{border:1px solid var(--line);border-radius:var(--radius);color:#0f5138;background:var(--surface);place-items:center;width:42px;height:42px;display:none}.logout-button .logout-icon{display:none}.button-row,.meal-preview,.product-card,.topbar-actions{gap:10px}.ghost-button,.icon-button,.mini-button,.primary-button,.profile-button,.select{border-radius:var(--radius);border:1px solid #0000;min-height:42px}.icon-button{width:42px;color:var(--coral);background:var(--coral-soft);place-items:center;font-weight:900;display:grid}.profile-button{text-align:left;background:0 0;border-color:#0000;align-items:center;gap:12px;padding:6px 12px 6px 6px;display:flex}.mobile-menu,.mobile-tabbar{display:none}.tutorial-launch-button{border:1px solid var(--line);color:#425149;text-align:left;background:#ffffffbd;border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:8px 12px;font-weight:850;display:flex}.tutorial-launch-button:hover{color:#126747;background:var(--green-soft);border-color:#22a06b4d}.tutorial-mobile-button{text-align:left;border:0;width:100%}.guided-tour{z-index:1000;pointer-events:none;position:fixed;inset:0}body.guided-tour-active a[data-tour-link-disabled]{cursor:not-allowed}body.guided-tour-active{overscroll-behavior:none;overflow:hidden}.guided-tour-mask{z-index:1000;pointer-events:auto;touch-action:none;background:#131d19b8;position:fixed}.guided-tour-mask-full{inset:0}.guided-tour-spotlight{z-index:1001;pointer-events:none;border:2px solid #82d6a7f5;border-radius:8px;transition:inset .18s,width .18s,height .18s,transform .18s;position:fixed;box-shadow:0 0 0 4px #22a06b2e,0 8px 28px #0000002e}.guided-tour-tooltip{z-index:1002;color:#172033;pointer-events:auto;background:#fff;border:1px solid #ffffff2e;border-radius:8px;min-width:0;max-width:calc(100vw - 24px);padding:16px;animation:guided-tour-tooltip-in .16s ease-out;position:fixed;box-shadow:0 18px 48px #00000040}.guided-tour-tooltip.waiting{width:min(340px,100vw - 24px);top:50%;left:50%;transform:translate(-50%,-50%)}.guided-tour-tooltip small{color:#16805b;text-transform:uppercase;margin-bottom:6px;font-size:.7rem;font-weight:900;display:block}.guided-tour-tooltip h2{margin:0 0 7px;font-size:1.08rem;line-height:1.25}.guided-tour-tooltip p{color:#637068;margin:0;font-size:.86rem;font-weight:700;line-height:1.5}.guided-tour-controls{z-index:1004;padding:10px max(12px,calc((100vw - 620px) / 2)) max(10px,env(safe-area-inset-bottom));pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#121b17f0;border-top:1px solid #ffffff24;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #0003}.guided-tour-controls button{color:#fff;background:0 0;border:1px solid #fff3;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:42px;padding:0 12px;font-size:.82rem;font-weight:900;display:inline-flex}.guided-tour-controls button:first-child{justify-self:start}.guided-tour-controls button.next{background:#22a06b;border-color:#22a06b;justify-self:end}.guided-tour-controls button.quit{color:#d7dfda;border-color:#0000}.guided-tour-controls button:disabled{cursor:default;opacity:.35}@keyframes guided-tour-tooltip-in{0%{opacity:0}to{opacity:1}}.view-root{min-width:0;margin-top:5px}.app-page{min-height:auto;color:var(--text);background:0 0!important}.app-section{width:100%;max-width:none;padding:0}.app-section>header:first-child{display:none!important}.panel,.soft-panel{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#ffffffeb;border:1px solid #dce7dfeb;padding:22px}.panel>*,.soft-panel>*{min-width:0}.panel .flex,.panel .grid,.panel aside,.panel input,.panel label,.panel section{min-width:0;max-width:100%}.ghost-button,.primary-button{padding:0 16px;font-weight:800}.primary-button{color:#fff;background:var(--green)}.ghost-button{color:var(--green);background:var(--surface);border-color:var(--line)}.wide{width:100%}.dashboard-page{gap:18px;display:grid}.dashboard-hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.dashboard-hero h2{margin:0;font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.05}.dashboard-hero p:last-child{max-width:620px;color:var(--muted);margin:10px 0 0;line-height:1.55}.dashboard-tutorial-prompt{color:#536159;background:#f5faf6;border-left:3px solid #76bd51;justify-content:space-between;align-items:center;gap:12px;margin-top:-5px;padding:8px 10px;display:flex}.dashboard-tutorial-prompt p{margin:0;font-size:.82rem;line-height:1.35}.dashboard-tutorial-prompt button{color:#126747;background:#fff;border:1px solid #18805840;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:.76rem;font-weight:900;display:inline-flex}.dashboard-tutorial-prompt button:hover{background:#eaf7ef;border-color:#16805b}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.dashboard-news{grid-template-columns:minmax(0,1fr) minmax(220px,34%);gap:24px;padding:0;display:grid;overflow:hidden}.dashboard-news-copy{gap:16px;padding:24px;display:flex}.dashboard-news-copy h2{margin:4px 0 8px;font-size:clamp(1.2rem,2vw,1.6rem)}.dashboard-news-copy p:not(.eyebrow){color:var(--muted);line-height:1.65}.dashboard-news-copy .button{margin-top:14px}.dashboard-news-meta,.information-meta{color:var(--muted);flex-wrap:wrap;gap:8px 16px;margin:12px 0;font-size:.78rem;font-weight:700;display:flex}.dashboard-news-image,.information-cover{background-position:50%;background-size:cover;min-height:220px}.information-page{justify-items:center;display:grid}.information-article{width:min(900px,100%);padding:0;overflow:hidden}.information-back,.information-content,.information-header{margin-inline:clamp(22px,6vw,72px)}.information-back{color:var(--muted);align-items:center;gap:6px;margin-top:28px;font-size:.85rem;font-weight:800;display:inline-flex}.information-header{padding-block:34px}.information-header h1{max-width:760px;margin:8px 0 14px;font-size:clamp(2rem,5vw,3.5rem);line-height:1.08}.information-lead{max-width:720px;color:var(--muted);font-size:1.08rem;line-height:1.7}.information-meta span{align-items:center;gap:5px;display:inline-flex}.information-cover{min-height:clamp(260px,45vw,480px)}.information-content{padding-block:42px 64px;font-size:1rem;line-height:1.8}.information-content h1,.information-content h2,.information-content h3,.information-content h4{margin:1.7em 0 .55em;line-height:1.25}.information-content blockquote,.information-content figure,.information-content ol,.information-content p,.information-content ul{margin-block:1em}.information-content ol,.information-content ul{padding-left:1.5em}.information-content blockquote{border-left:4px solid var(--primary);color:var(--muted);padding:8px 0 8px 18px}.information-content img{border-radius:14px;max-width:100%;height:auto;margin-inline:auto;display:block}.information-content a{color:var(--primary);font-weight:700;text-decoration:underline}@media (max-width:720px){.dashboard-news{grid-template-columns:1fr}.dashboard-news-image{order:-1;min-height:190px}}.dashboard-card{gap:8px;display:grid}.dashboard-action small,.dashboard-card p{color:var(--muted);margin:0;font-weight:850}.dashboard-card strong{font-size:1.35rem;line-height:1.1}.dashboard-card small{color:var(--muted);font-weight:800}.dashboard-icon{border-radius:var(--radius);color:#0f5138;background:var(--green-soft);place-items:center;width:38px;height:38px;display:grid}.dashboard-main{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.dashboard-focus{gap:14px;display:grid}.dashboard-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.dashboard-metrics div{border-radius:var(--radius);background:#f7faf7;padding:14px}.dashboard-metrics dd{margin:5px 0 0;font-size:1.15rem;font-weight:950}.dashboard-actions{gap:10px;display:grid}.dashboard-action{color:var(--text);align-items:center;gap:12px;text-decoration:none;transition:transform .16s,border-color .16s;display:flex}.dashboard-action:hover{border-color:#22a06b59;transform:translateY(-1px)}.dashboard-action span:last-child{gap:3px;display:grid}.dashboard-engagement{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(260px,.75fr);align-items:start;gap:14px;display:grid}.dashboard-challenge,.dashboard-discovery{gap:12px;display:grid}.dashboard-challenge p,.dashboard-discovery p,.muted-text{color:var(--muted);margin:0;font-weight:800;line-height:1.5}.dashboard-suggestions{gap:12px;display:grid}.quick-add-target{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.quick-add-target input,.quick-add-target select{border:1px solid var(--line);border-radius:var(--radius);max-width:142px;min-height:36px;color:var(--text);background:#fff;padding:0 9px;font-size:.86rem;font-weight:850}.dashboard-recipe-list{gap:8px;display:grid}.dashboard-recipe-row{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfb;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;display:grid}.dashboard-recipe-row div{min-width:0}.dashboard-recipe-row span,.dashboard-recipe-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.dashboard-recipe-row span{color:var(--muted);font-size:.84rem;font-weight:800}.positive-message{border-radius:var(--radius);margin:0;padding:9px 10px;font-size:.9rem;font-weight:900}.mini-button.done,.positive-message{color:#155a38;background:var(--green-soft)}.profile-field-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;min-width:0;display:grid}.profile-field,.profile-segment{min-width:0;color:var(--muted);gap:7px;font-size:.9rem;font-weight:850;display:grid}.profile-control{border-radius:var(--radius);width:100%;min-width:0;height:42px;color:var(--text);background:#fbfdfb;border:1px solid #d8e0dc;outline:none;padding:0 10px;font-size:1rem;font-weight:900}.profile-control:focus{background:#fff;border-color:#22a06b8c;box-shadow:0 0 0 .2rem #22a06b1f}.profile-segment>div{flex-wrap:wrap;gap:8px;display:flex}.profile-segment button{border-radius:var(--radius);color:#495057;background:#f1f3f5;border:1px solid #0000;min-width:42px;min-height:38px;padding:0 13px;font-size:.88rem;font-weight:900}.profile-segment button.active{color:#fff;background:#1f2933}.profile-tag-column,.profile-tag-columns{gap:12px;display:grid}.profile-tag-column{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfb;align-content:start;min-width:0;padding:14px 16px}.profile-tag-column header{justify-content:space-between;align-items:center;gap:10px;display:flex}.profile-tag-column header button{border-radius:var(--radius);color:#0f5138;background:var(--green-soft);border:0;flex:0 0 32px;place-items:center;width:32px;height:32px;display:grid}.profile-tag-column>div{flex-wrap:wrap;gap:8px;display:flex}.profile-tag-column p{color:var(--muted);margin:0;font-size:.88rem;font-weight:800}.profile-tag{color:#34433b;background:#eef7f1;border-radius:999px;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:0 6px 0 10px;font-size:.86rem;font-weight:900;display:inline-flex}.profile-tag button{color:#155a38;background:#ffffffd1;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.profile-picker-modal{width:min(620px,100%)}.profile-picker-header{padding-right:38px}.profile-picker-header h2{margin:0 0 14px;font-size:1.45rem}.profile-picker-search{padding-left:38px}.profile-picker-search-icon{color:var(--muted);z-index:1;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.profile-picker-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(48vh,420px);padding-right:4px;display:grid;overflow-y:auto}.profile-picker-results button{border:1px solid var(--line);border-radius:var(--radius);min-height:44px;color:var(--text);text-align:left;background:#fbfdfb;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:900;display:flex}.profile-picker-results button.selected{color:#155a38;background:var(--green-soft);border-color:#22a06b73}.profile-picker-results .profile-picker-add{color:#0f5138;background:#f2fbf5;border-style:dashed}.household-add-row{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.household-add-row input,.household-card input{border-radius:var(--radius);width:100%;min-width:0;height:42px;color:var(--text);background:#fbfdfb;border:1px solid #d8e0dc;outline:none;font-weight:900}.household-add-row input{padding:0 12px}.household-card input{height:36px;padding:0 9px}.household-add-row input:focus,.household-card input:focus{background:#fff;border-color:#22a06b8c;box-shadow:0 0 0 .2rem #22a06b1f}.household-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.household-card{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfb;align-content:start;gap:13px;min-width:0;padding:14px;display:grid}.household-card.owner{background:#f2fbf5;border-color:#22a06b3d}.household-card>header{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.household-card.owner>header{grid-template-columns:42px minmax(0,1fr)}.household-card>header p{color:var(--muted);margin:2px 0 0;font-size:.82rem;font-weight:850}.household-card>header>button{color:#7a2f2f;background:#fff1f1;border:0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.household-avatar{color:#155a38;background:var(--green-soft);text-transform:uppercase;border-radius:50%;place-items:center;width:42px;height:42px;font-size:.78rem;font-weight:1000;display:grid}.household-portion-row{color:var(--muted);gap:7px;font-size:.9rem;font-weight:850;display:grid}.household-body-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.household-body-grid label,.household-sex-segment{min-width:0;color:var(--muted);gap:6px;font-size:.8rem;font-weight:900;display:grid}.household-body-grid input{height:36px;padding:0 8px}.household-sex-segment>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.household-sex-segment button{min-width:0;min-height:36px;padding:0}.household-portion-row>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.household-portion-row button{border-radius:var(--radius);color:#495057;background:#f1f3f5;border:1px solid #0000;min-height:34px;padding:0 6px;font-size:.84rem;font-weight:900}.household-portion-row button.active{color:#fff;background:#1f2933}.household-list-row{gap:10px;display:grid}.household-mini-tags{gap:8px;display:grid}.household-mini-tags header{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.84rem;font-weight:900;display:flex}.household-mini-tags button{border-radius:var(--radius);color:#0f5138;background:var(--green-soft);border:0;place-items:center;width:28px;height:28px;display:grid}.household-mini-tags>div,.household-tags{flex-wrap:wrap;gap:6px;display:flex}.household-mini-tags span,.household-tags span{color:#34433b;background:#eef7f1;border-radius:999px;max-width:100%;padding:5px 8px;font-size:.78rem;font-weight:900}.household-mini-tags span.warning,.household-tags span.warning{color:#7a4a12;background:#fff3d6}.household-mini-tags em,.household-tags em{color:var(--muted);font-size:.82rem;font-style:normal;font-weight:800}.end-row{justify-content:flex-end;margin-top:18px}.recipe-badges,.recipe-filter-row,.recipe-option-row,.recipe-rating{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipe-option-row label{color:var(--muted);align-items:center;gap:7px;font-size:.88rem;font-weight:900;display:inline-flex}.recipe-option-row input{accent-color:var(--green)}.recipe-badges span,.recipe-filter-row button{border-radius:999px;align-items:center;gap:5px;min-height:28px;font-size:.78rem;font-weight:950;display:inline-flex}.recipe-filter-row button{border:1px solid var(--line);color:var(--muted);background:#fff;padding:0 11px}.recipe-filter-row button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b59}.recipe-badges span{color:#155a38;background:var(--green-soft);padding:0 9px}.recipe-rating button{color:#b8c2bc;background:#f3f7f4;border:0;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.recipe-rating button.active{color:#d7a73c;background:#fff7df}.recipe-add-button{color:#fff;background:#22a06b;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;font-size:.84rem;font-weight:950;display:inline-flex}.recipe-explorer,.recipe-sections{gap:16px;padding-top:18px;display:grid}.recipe-hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.recipe-creation-header h2,.recipe-grid-section h2,.recipe-hero h2,.recipe-rail h2{margin:2px 0 4px;font-size:1.28rem;font-weight:950}.recipe-hero p{max-width:680px;color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.recipe-toolbar{grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:12px;display:grid}.recipe-search{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.recipe-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:.9rem;font-weight:850}.recipe-search button{width:28px;height:28px;color:var(--muted);background:#f1f5f9;border:0;border-radius:999px;place-items:center;display:grid}.recipe-sort{color:var(--muted);align-items:center;gap:8px;font-size:.8rem;font-weight:950;display:inline-flex}.recipe-sort select{border:1px solid var(--line);min-height:38px;color:var(--text);font:inherit;background:#fff;border-radius:8px;padding:0 10px;font-weight:900}.recipe-category-row{scrollbar-width:thin;grid-column:1/-1;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.recipe-category-row button{border:1px solid var(--line);min-height:34px;color:var(--muted);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.82rem;font-weight:950;display:inline-flex}.recipe-category-row button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b5c}.recipe-category-row small{min-width:20px;height:20px;color:inherit;background:#ffffffc7;border-radius:999px;place-items:center;font-size:.7rem;display:grid}.recipe-notice{color:#155a38;background:var(--green-soft);border-radius:8px;margin:-6px 0 0;padding:9px 12px;font-size:.86rem;font-weight:900}.food-search-section,.recipe-grid-section,.recipe-rail{gap:10px;display:grid}.food-result-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.food-result-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:9px;min-width:0;padding:11px;display:grid;box-shadow:0 12px 28px #1f29330d}.food-result-visual{color:#2f6f45;background:linear-gradient(135deg,#8fbc3724,#ffd31c1f),#f6fbf7;border-radius:8px;place-items:center;min-height:96px;display:grid;overflow:hidden}.food-result-visual img{object-fit:cover;width:100%;height:100%;min-height:96px}.food-result-card span,.food-result-card strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.food-result-card strong{color:var(--text);font-size:.92rem;font-weight:950}.food-result-card span{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:850}.recipe-rail-scroll{scrollbar-width:thin;grid-auto-columns:minmax(260px,320px);grid-auto-flow:column;gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.recipe-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recipe-card{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:start;gap:10px;min-width:0;padding:13px;display:grid;box-shadow:0 14px 32px #1f29330f}.recipe-card-main-link{color:inherit;gap:10px;text-decoration:none;display:grid}.recipe-card.compact{min-height:300px}.recipe-card-visual{color:#2f6f45;background:linear-gradient(135deg,#8fbc372e,#ffd31c29),#f6fbf7;border-radius:8px;place-items:center;min-height:112px;display:grid;overflow:hidden}.recipe-card-visual img{object-fit:cover;width:100%;height:100%;min-height:112px}.recipe-card h3{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:950;overflow:hidden}.recipe-card p{color:var(--muted);margin:3px 0 0;font-size:.8rem;font-weight:850}.recipe-component-list{gap:5px;display:grid}.recipe-component-list div{min-width:0;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;font-weight:850;display:flex}.recipe-component-list span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recipe-component-list em{flex:none;font-style:normal}.recipe-quick-add{background:#f6faf7;border-radius:8px;gap:8px;padding:9px;display:grid}.recipe-quick-add>div{flex-wrap:wrap;gap:6px;display:flex}.recipe-quick-add button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:999px;padding:0 9px;font-size:.76rem;font-weight:950}.recipe-quick-add button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b59}.recipe-detail-lines{gap:5px;display:grid}.recipe-detail-lines p{color:#047857;align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:900;display:inline-flex}.recipe-empty{min-height:220px;color:var(--muted);text-align:center;place-items:center;display:grid}.recipe-empty strong{color:var(--text);margin-top:8px;font-weight:950;display:block}.recipe-creation-modal{width:min(820px,100vw - 24px);max-height:min(920px,100vh - 24px);overflow:auto}.recipe-creation-header{margin-bottom:14px;padding-right:40px}.recipe-creation-layout{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.recipe-builder-block{border:1px solid var(--line);background:#fff;border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid}.recipe-builder-block h3,.recipe-builder-block summary{color:var(--text);margin:0;font-size:.94rem;font-weight:950}.recipe-builder-title{align-items:flex-start;gap:10px;min-width:0;display:flex}.recipe-builder-title>span{color:#155a38;background:var(--green-soft);border-radius:6px;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:950;display:grid}.recipe-builder-title div{min-width:0}.recipe-builder-title p{color:var(--muted);margin:3px 0 0;font-size:.78rem}.recipe-essential-grid{grid-template-columns:minmax(0,1fr) 150px;gap:10px;display:grid}.recipe-creation-layout label{min-width:0;color:var(--muted);gap:6px;font-size:.8rem;font-weight:900;display:grid}.recipe-creation-layout input:not([type=file]),.recipe-creation-layout textarea{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;background:#fbfdfb;border-radius:8px;outline:0;padding:9px 11px;font-weight:800}.recipe-creation-layout textarea{resize:vertical;min-height:92px}.recipe-image-field{border:1px dashed var(--line);min-height:72px;color:var(--muted);cursor:pointer;background:#fbfdfb;border-radius:8px;align-items:center;padding:10px;display:flex!important}.recipe-image-field:hover{color:#155a38;border-color:#9cc7ae}.recipe-image-field img{object-fit:cover;border-radius:6px;width:52px;height:52px}.recipe-image-field span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.recipe-image-field input{display:none}.recipe-visibility-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.recipe-visibility-picker button{border:1px solid var(--line);min-width:0;color:var(--muted);text-align:left;background:#fbfdfb;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.recipe-visibility-picker button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b6b}.recipe-visibility-picker button>span{gap:3px;min-width:0;display:grid}.recipe-visibility-picker strong{color:var(--text);font-size:.82rem}.recipe-visibility-picker small{font-size:.72rem;line-height:1.35}.recipe-planning-locked,.recipe-public-submission{color:#795d19;background:#fffaf0;border:1px solid #d3a3234d;border-radius:8px;align-items:center;gap:7px;margin:0;padding:9px 10px;font-size:.78rem;font-weight:850;display:flex}.recipe-image-field.compact{width:fit-content;min-height:36px;padding:6px 9px}.recipe-image-field.compact img{width:28px;height:28px}.recipe-time-summary{color:#155a38;align-items:center;gap:7px;font-size:.78rem;font-weight:900;display:flex}.recipe-tag-group{flex-wrap:wrap;gap:7px;display:flex}.recipe-derived-tag,.recipe-tag-group button{border:1px solid var(--line);min-height:30px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-size:.76rem;font-weight:950;display:inline-flex}.recipe-derived-tag,.recipe-tag-group button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b59}.recipe-derived-tag{border-style:dashed}.recipe-ingredient-search{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;align-items:center;min-height:46px;padding:0 12px;position:relative;gap:8px!important;display:flex!important}.recipe-ingredient-search:focus-within{background:#fff;border-color:#9cc7ae}.recipe-ingredient-search input{min-height:44px!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.recipe-ingredient-list,.recipe-step-list{gap:8px;min-width:0;display:grid}.recipe-ingredient-row{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;grid-template-columns:44px minmax(0,1fr) 105px 32px;align-items:center;gap:9px;min-width:0;padding:7px;display:grid}.recipe-ingredient-image{color:#16845b;background:#fff;border-radius:6px;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.recipe-ingredient-image img{object-fit:cover;width:100%;height:100%}.recipe-ingredient-row strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.84rem;overflow:hidden}.recipe-ingredient-row label{position:relative}.recipe-ingredient-row label input{min-height:36px!important;padding:6px 28px 6px 8px!important}.recipe-ingredient-row label em{color:var(--muted);font-size:.72rem;font-style:normal;position:absolute;bottom:9px;right:9px}.recipe-ingredient-row>button,.recipe-step-card header button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.recipe-ingredient-row>button:hover,.recipe-step-card header button:hover{color:#b42318;background:#fff0ee}.recipe-builder-empty{color:var(--muted);margin:0;font-size:.8rem}.recipe-add-step,.recipe-save-button{width:100%}.recipe-step-card{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;min-width:0;padding:12px}.recipe-step-card>header{justify-content:space-between;align-items:center;min-height:32px;margin-bottom:8px;display:flex}.recipe-step-card>header strong{color:var(--text);font-size:.82rem}.recipe-step-main{gap:9px;min-width:0;display:grid}.recipe-step-main>textarea{width:100%;min-width:0}.recipe-step-controls{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.recipe-appliance-row{flex-wrap:wrap;flex:auto;gap:6px;min-width:0;display:flex}.recipe-appliance-row button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:7px;place-items:center;display:grid}.recipe-appliance-row button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b66}.recipe-step-duration span{display:block;position:relative}.recipe-step-duration{flex:0 0 92px;width:92px}.recipe-step-duration input{min-height:34px!important;padding-right:34px!important}.recipe-step-duration em{color:var(--muted);font-size:.72rem;font-style:normal;position:absolute;top:50%;right:9px;transform:translateY(-50%)}@media (max-width:460px){.recipe-step-controls{align-items:flex-end}.recipe-step-duration{flex-basis:78px;width:78px}}.recipe-builder-message{color:#9b2c21;margin:0;font-size:.82rem;font-weight:850}.recipe-detail-loader,.recipe-detail-page{gap:16px;padding-top:10px;display:grid}.recipe-detail-loader .food-explorer-empty a{color:#08734e;font-size:.84rem;font-weight:900}.recipe-back-link{width:fit-content;color:var(--muted);align-items:center;gap:6px;font-size:.86rem;font-weight:950;text-decoration:none;display:inline-flex}.recipe-detail-hero{grid-template-columns:minmax(280px,.78fr) minmax(0,1fr);align-items:stretch;gap:22px;display:grid}.recipe-detail-visual{color:#2f6f45;background:linear-gradient(135deg,#8fbc372e,#ffd31c29),#f6fbf7;border-radius:8px;place-items:center;min-height:420px;display:grid;overflow:hidden}.recipe-detail-visual img{object-fit:cover;width:100%;height:100%}.recipe-detail-intro{align-content:center;gap:14px;display:grid}.recipe-detail-intro h1{color:var(--text);margin:0;font-size:clamp(2rem,5vw,4.2rem);font-weight:950;line-height:.98}.recipe-detail-intro>p{max-width:680px;color:var(--muted);margin:0;font-size:1rem;line-height:1.65}.recipe-detail-actions,.recipe-detail-facts{flex-wrap:wrap;gap:8px;display:flex}.recipe-detail-actions>button,.recipe-detail-facts span{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:.8rem;font-weight:950;display:inline-flex}.recipe-serving-adjuster{width:fit-content;color:var(--muted);gap:6px;font-size:.76rem;font-weight:900;display:grid}.recipe-serving-adjuster>div{grid-template-columns:34px 58px 34px;gap:5px;display:grid}.recipe-serving-adjuster button,.recipe-serving-adjuster input{border:1px solid var(--line);background:#fff;height:34px}.recipe-serving-adjuster button{color:#155a38;border-radius:50%;place-items:center;padding:0;display:grid}.recipe-serving-adjuster button:disabled{cursor:default;opacity:.4}.recipe-serving-adjuster input{width:58px;color:var(--text);text-align:center;border-radius:6px;padding:0 4px;font-weight:950}.recipe-serving-adjuster input::-webkit-inner-spin-button,.recipe-serving-adjuster input::-webkit-outer-spin-button{appearance:none;margin:0}.recipe-detail-add{background:#f6faf7;border:1px solid #22a06b38;border-radius:8px;gap:8px;width:100%;max-width:520px;padding:10px;display:grid}.recipe-planning-locked{max-width:520px}.recipe-detail-add>div{flex-wrap:wrap;gap:7px;display:flex}.recipe-detail-date{color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:.76rem;font-weight:900;display:grid}.recipe-detail-date input{border:1px solid var(--line);min-width:0;height:36px;color:var(--text);background:#fff;border-radius:6px;padding:0 9px;font-weight:850}.recipe-detail-add button{border:1px solid var(--line);min-height:32px;color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:.78rem;font-weight:950;display:inline-flex}.recipe-detail-add button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b59}.recipe-detail-rating{margin-top:-2px}.recipe-detail-rating>span{color:var(--muted);margin-right:2px;font-size:.78rem;font-weight:850}.recipe-moderation-notice{border-left:3px solid var(--yellow);background:#fffaf0;border-radius:4px;align-items:center;gap:7px;width:fit-content;padding:7px 9px;font-weight:800;display:flex;color:#795d19!important;font-size:.78rem!important}.recipe-moderation-notice.rejected{border-color:var(--coral);background:var(--coral-soft);color:#9f2e24!important}.recipe-detail-grid{grid-template-columns:minmax(260px,.82fr) minmax(260px,.82fr) minmax(320px,1.36fr);align-items:start}.recipe-detail-card,.recipe-detail-grid{gap:14px;display:grid}.recipe-detail-card h2{color:var(--text);margin:2px 0 0;font-size:1.15rem;font-weight:950}.recipe-detail-ingredients,.recipe-nutrition-list{gap:8px;display:grid}.recipe-detail-ingredients div,.recipe-nutrition-list span{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:9px 0;display:flex}.recipe-detail-ingredients span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:900;overflow:hidden}.recipe-detail-ingredients strong,.recipe-nutrition-list strong{color:#155a38;flex:none;font-weight:950}.recipe-nutrition-list span{color:var(--muted);font-size:.84rem;font-weight:850}.recipe-method-card{grid-column:span 1}.recipe-utensils-line{color:#047857;align-items:center;gap:7px;margin:0;font-size:.84rem;font-weight:900;display:inline-flex}.recipe-method-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.recipe-method-list li{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.recipe-method-list li>span{color:#155a38;background:var(--green-soft);border-radius:50%;place-items:center;width:34px;height:34px;font-weight:950;display:grid}.recipe-method-list p{color:var(--text);margin:4px 0 0;line-height:1.55}.recipe-method-list li>div{min-width:0}.recipe-method-list li strong{margin-top:2px;display:block}.recipe-method-list li small{color:var(--muted);align-items:center;gap:5px;margin-top:8px;font-weight:800;display:inline-flex}.recipe-step-image{aspect-ratio:3/2;object-fit:cover;border-radius:6px;width:min(100%,560px);margin-bottom:12px;display:block}.planning-workspace{gap:6px;min-height:0;display:grid}.zen-toolbar{justify-content:space-between;align-items:center;gap:16px;min-width:0;margin-bottom:0;display:flex}.planning-period-label{min-width:0;color:var(--text);text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:.95rem;font-weight:950;overflow:hidden}.planning-period-actions{align-items:center;gap:10px;min-width:0;display:flex}.period-suggestion-control{flex:none;position:relative}.period-suggestion-trigger{border-radius:var(--radius);color:#0f5138;background:var(--green-soft);white-space:nowrap;border:1px solid #22a06b3d;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 10px;font-size:.76rem;font-weight:950;display:inline-flex}.period-suggestion-trigger:disabled{cursor:wait;opacity:.7}.period-suggestion-popover{z-index:120;border-radius:var(--radius);width:min(380px,100vw - 24px);color:var(--text);background:#fff;border:1px solid #cbdcd3;gap:10px;max-height:calc(100dvh - 24px);padding:12px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 18px 42px #1f293333}.period-date-trigger{border:1px solid var(--line);width:100%;min-width:0;min-height:46px;color:var(--text);text-align:left;background:#fbfdfb;border-radius:6px;grid-template-columns:20px minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:8px;padding:6px 9px;display:grid}.period-date-trigger:hover,.period-date-trigger[aria-expanded=true]{background:#f6fbf8;border-color:#65b991}.period-date-trigger>svg{color:#16805b}.period-date-value{gap:1px;min-width:0;display:grid}.period-date-value small{color:var(--muted);font-size:.62rem;font-weight:850}.period-date-value strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:950;overflow:hidden}.period-calendar{gap:7px;min-width:0;padding:4px 1px 2px;display:grid}.period-calendar-header{grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:6px;display:grid}.period-calendar-header strong{text-align:center;text-transform:capitalize;font-size:.82rem;font-weight:950}.period-calendar-header button{width:32px;height:32px;color:var(--text);background:#f2f6f3;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.period-calendar-grid,.period-calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;display:grid}.period-calendar-weekdays span{color:var(--muted);text-align:center;font-size:.62rem;font-weight:900}.period-calendar-grid{row-gap:3px}.period-calendar-grid button,.period-calendar-grid>span{min-width:0;height:34px}.period-calendar-grid button{color:var(--text);background:0 0;border:0;border-radius:50%;padding:0;font-size:.72rem;font-weight:850;position:relative}.period-calendar-grid button:hover:not(:disabled){background:#eaf5ef}.period-calendar-grid button.in-range{color:#14573c;background:#dff2e7;border-radius:0}.period-calendar-grid button.range-end,.period-calendar-grid button.range-start{color:#fff;background:var(--green)}.period-calendar-grid button.range-start:not(.range-end){border-radius:50% 0 0 50%}.period-calendar-grid button.range-end:not(.range-start){border-radius:0 50% 50% 0}.period-calendar-grid button:disabled{cursor:not-allowed;color:#b9c2bd;background:0 0}.period-calendar-note{color:var(--muted);text-align:center;font-size:.64rem;line-height:1.25}.period-option-row{border:0;min-width:0;margin:0;padding:0}.period-option-row legend{color:var(--muted);margin:0 0 5px;padding:0;font-size:.7rem;font-weight:950}.period-course-options,.period-meal-options{gap:5px;min-width:0;display:grid}.period-meal-options{grid-template-columns:repeat(4,minmax(0,1fr))}.period-course-options{grid-template-columns:repeat(3,minmax(0,1fr))}.period-course-options label,.period-meal-options label{border:1px solid var(--line);color:#405149;background:#f7faf8;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:30px;padding:0 4px;font-size:.66rem;font-weight:900;display:inline-flex}.period-course-options input,.period-meal-options input{accent-color:#16805b;flex:0 0 13px;width:13px;height:13px;margin:0}.period-course-options span,.period-meal-options span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.period-source-row{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;min-width:0;display:grid}.period-source-row select{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);background:#fbfdfb;border-radius:6px;outline:0;padding:0 8px;font-size:.75rem;font-weight:850}.period-source-row select:focus{border-color:#65b991;box-shadow:0 0 0 2px #50ad8221}.period-source-row button{color:#fff;background:var(--green);border:0;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.period-source-row button:disabled{cursor:not-allowed;opacity:.5}.period-loading-screen{z-index:300;color:var(--text);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#f8fbf9f0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.period-loading-content{text-align:center;justify-items:center;gap:10px;width:min(420px,100%);display:grid}.period-loading-icon{color:#0f6848;background:var(--green-soft);border-radius:50%;place-items:center;width:52px;height:52px;animation:period-loading-pulse 1.5s ease-in-out infinite;display:grid}.period-loading-content>strong{margin-top:4px;font-size:1.1rem;font-weight:950}.period-loading-content>span:not(.period-loading-icon){color:var(--muted);font-size:.85rem;font-weight:850}.period-loading-progress{background:#dfe9e3;border-radius:999px;width:100%;height:8px;margin-top:5px;overflow:hidden}.period-loading-progress span{border-radius:inherit;background:var(--green);height:100%;transition:width .28s;display:block}.period-loading-content small{max-width:360px;color:var(--muted);font-size:.73rem;line-height:1.45}@keyframes period-loading-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.toolbar-actions{align-items:center;gap:10px;display:flex}.planning-nav-control{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:6px;width:min(420px,100%);display:grid}.planning-nav-control>button{border:1px solid var(--line);border-radius:var(--radius);color:#0f5138;background:var(--surface);place-items:center;width:36px;height:36px;display:grid}.zoom-control{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffd1;grid-template-columns:repeat(3,1fr);min-width:0;padding:2px;display:grid}.zoom-control button{min-height:28px;color:var(--muted);background:0 0;border:0;border-radius:6px;font-weight:900}.zoom-control button.active{color:#0f5138;background:var(--green-soft)}.planning-person-switcher{scrollbar-width:none;gap:6px;max-width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}.planning-person-switcher::-webkit-scrollbar{display:none}.planning-person-switcher button{border:1px solid var(--line);border-radius:var(--radius);color:#526059;background:#ffffffd6;flex:none;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:.84rem;font-weight:950;display:inline-flex}.planning-person-switcher button.active{color:#0f5138;background:var(--green-soft);border-color:#22a06b52}.quiet-progress{background:#edf2ef;border-radius:999px;height:10px;margin:16px 0 22px;overflow:hidden}.quiet-progress span{border-radius:inherit;background:var(--green);height:100%;display:block}.meal-macro-strip{background:#edf2ef;border-radius:999px;width:100%;height:36px;position:relative;overflow:hidden}.meal-macro-strip.compact{height:28px}.meal-macro-segments{display:flex;position:absolute;inset:0}.meal-macro-segments span{min-width:0;height:100%;overflow:hidden}.meal-macro-segments .protein{background:var(--macro-protein)}.meal-macro-segments .carbs{background:var(--macro-carbs)}.meal-macro-segments .fat{background:var(--macro-fat)}.meal-macro-values{color:#1f2933b3;pointer-events:none;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;font-size:.68rem;font-weight:950;line-height:1;display:grid;position:absolute;inset:0}.meal-macro-values span{text-align:center;text-overflow:clip;white-space:nowrap;min-width:0;padding:0 2px;overflow:hidden}.meal-macro-strip.compact .meal-macro-values{font-size:.6rem}.meal-macro-strip.compact .meal-macro-values span{padding:0}.daily-planning-controls{width:min(100%,980px);margin:0 auto;display:grid;position:relative}.daily-planning-toolbar{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;min-height:0;display:grid;position:relative}.daily-zen-toolbar{width:100%}.daily-period-reset{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:auto;align-items:center;padding:0;display:flex;overflow:hidden}.daily-period-reset:hover .planning-period-label{color:#126747}.daily-drawer-toggle{z-index:4;color:#416056;background:#fff;border:1px solid #22a06b2e;border-radius:999px;place-items:center;width:28px;height:20px;padding:0;display:grid;position:absolute;top:-9px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #1f293317}.daily-drawer-toggle svg{transition:transform .18s}.daily-navigation-drawer-control.drawer-open .daily-drawer-toggle svg,.daily-planning-drawer-control.drawer-open .daily-drawer-toggle svg,.week-mobile-people-drawer-control.drawer-open .daily-drawer-toggle svg{transform:rotate(180deg)}.daily-drawer-toggle:hover{color:#126747;background:var(--green-soft)}.daily-date-navigation{grid-area:1/2;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.daily-date-navigation>button:not(.daily-current-date){color:#405149;background:#ffffffc7;border:1px solid #22a06b17;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;display:grid;box-shadow:0 8px 20px #1f29330f}.daily-current-date{min-width:0;color:var(--text);text-align:center;text-transform:capitalize;background:0 0;border:0;gap:2px;padding:2px 6px;display:grid}.daily-current-date strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;font-weight:950;overflow:hidden}.daily-current-date span{color:var(--muted);font-size:.6rem;font-weight:850}.daily-toolbar-options{grid-column:3;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.daily-toolbar-options .zoom-control{width:185px}.daily-quick-search-wrap{z-index:30;grid-area:2/1;justify-self:center;width:min(520px,100%);min-width:0;position:relative}.daily-navigation-drawer-control{z-index:20;grid-area:3/1/auto/-1;min-width:0;padding-top:12px;display:grid;position:relative}.daily-navigation-drawer{background:#ffffffe6;border:1px solid #22a06b21;border-radius:8px;min-width:0;padding:8px 10px 6px;display:grid;box-shadow:0 8px 22px #1f29330e}.daily-navigation-drawer .daily-toolbar-options{grid-column:auto;justify-content:center;width:100%}.daily-quick-search{background:#ffffffeb;border:1px solid #1f29331a;border-radius:8px;grid-template-columns:28px minmax(0,1fr) 26px 30px 30px;align-items:center;width:100%;min-width:0;height:34px;display:grid;overflow:hidden;box-shadow:0 5px 14px #1f29330b}.daily-quick-search-icon{color:#77837d;justify-self:center}.daily-quick-search input{width:100%;min-width:0;height:100%;color:var(--text);background:0 0;border:0;outline:0;padding:0 5px;font-size:.75rem;font-weight:750}.daily-quick-search input::placeholder{color:#8a948e;opacity:1}.daily-quick-search button{color:#557067;background:0 0;border:0;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;display:grid}.daily-quick-search button:hover{color:#126747;background:var(--green-soft)}.daily-quick-search-clear-spacer{width:26px;height:1px}.daily-quick-search .daily-quick-search-clear{color:#7c8882;width:24px;height:24px}.daily-quick-search .suggestion-control{place-items:center;height:28px;display:grid}.daily-quick-search .daily-quick-suggestion-button{place-items:center;width:28px;height:28px;min-height:0;padding:0;display:grid}.daily-quick-search-results{z-index:100;overscroll-behavior:contain;background:#fffffffa;border:1px solid #1f29331f;border-radius:8px;gap:6px;max-height:min(62vh,520px);padding:6px;display:grid;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 38px #1f293329}.daily-quick-search-state{min-height:54px;color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:.76rem;font-weight:800;display:flex}.daily-quick-search-state.error{color:#a33b3b}.daily-quick-suggestion-group{gap:6px;min-width:0;padding:3px 0 5px;display:grid}.daily-quick-suggestion-group+.daily-quick-suggestion-group{border-top:1px solid #1f29331a;padding-top:8px}.daily-quick-suggestion-heading{align-items:center;gap:6px;min-width:0;padding:1px 2px;display:flex}.daily-quick-suggestion-heading>strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:900;overflow:hidden}.daily-quick-suggestion-heading>span:last-child:not(.daily-quick-meal-icon){color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.62rem;font-weight:850}.daily-quick-suggestion-group>.daily-quick-result{background:#fff}.daily-quick-saved-meal-items{gap:3px;min-width:0;display:grid}.daily-quick-saved-meal-item{background:#fff;border-radius:5px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:30px;padding:2px 5px;display:grid}.daily-quick-saved-meal-image{color:#628071;background:#edf4ef;border-radius:5px;place-items:center;width:28px;height:26px;display:grid;overflow:hidden}.daily-quick-saved-meal-image img{object-fit:cover;width:100%;height:100%}.daily-quick-saved-meal-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.7rem;font-weight:850;overflow:hidden}.daily-quick-saved-meal-item>span:last-child{color:var(--muted);white-space:nowrap;font-size:.62rem;font-weight:800}.daily-quick-saved-meal-summary{min-width:0;color:var(--muted);flex-wrap:wrap;gap:3px 10px;font-size:.64rem;font-weight:850;display:flex}.daily-quick-saved-meal-add{color:#176745;background:#eef8f2;border:1px solid #22a06b2e;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-height:28px;padding:3px 8px;font-size:.68rem;font-weight:900;display:flex}.daily-quick-saved-meal-add:hover{background:#def1e6;border-color:#22a06b57}.daily-quick-saved-meal-add:disabled{opacity:.55}.daily-quick-result{background:#fbfdfb;border:1px solid #1f293314;border-radius:7px;grid-template-columns:58px minmax(0,1fr);gap:9px;min-width:0;padding:8px;display:grid}.daily-quick-result-image{color:#628071;background:#edf4ef;border-radius:7px;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.daily-quick-result-image img{object-fit:cover;width:100%;height:100%}.daily-quick-result-content{gap:5px;min-width:0;display:grid}.daily-quick-result-heading{grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px;min-width:0;display:grid}.daily-quick-result-heading>strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:900;overflow:hidden}.daily-quick-result-heading>label{height:26px;color:var(--muted);background:#fff;border:1px solid #1f29331f;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.daily-quick-result-heading input{width:100%;min-width:0;height:100%;color:var(--text);text-align:right;background:0 0;border:0;outline:0;padding:0 3px 0 6px;font-size:.72rem;font-weight:850}.daily-quick-result-heading label span{padding-right:6px;font-size:.66rem;font-weight:850}.daily-quick-result-macros{min-width:0;color:var(--muted);flex-wrap:wrap;align-items:center;gap:3px 10px;font-size:.65rem;font-weight:850;display:flex}.daily-quick-result-macros .carbs{color:#4e78ac}.daily-quick-result-macros .fat{color:#ad6158}.daily-quick-result-macros .protein{color:#39785f}.daily-quick-result-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-width:0;display:grid}.daily-quick-result-actions button{color:#176745;text-overflow:ellipsis;white-space:nowrap;background:#eef8f2;border:1px solid #22a06b2e;border-radius:6px;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:28px;padding:3px 5px;font-size:.63rem;font-weight:900;line-height:1.05;display:flex;overflow:hidden}.daily-quick-result-actions button:hover{background:#def1e6;border-color:#22a06b57}.daily-quick-result-actions button:disabled{cursor:default;opacity:.5}.daily-quick-meal-icon{color:#fff;border-radius:50%;flex:0 0 16px;place-items:center;width:16px;height:16px;display:grid}.daily-quick-meal-icon.breakfast{background:#79a9eb}.daily-quick-meal-icon.lunch{background:#56bc8b}.daily-quick-meal-icon.dinner{background:#9a76d6}.daily-quick-meal-icon.snack{background:#efa353}.daily-quick-meal-icon svg{stroke-width:2.4px;width:10px;height:10px}.daily-planning-drawer-control{min-width:0;padding-top:12px;display:grid;position:relative}.daily-planning-drawer{background:#ffffffdb;border:1px solid #22a06b21;border-radius:8px;gap:5px;min-width:0;padding:8px 10px 5px;display:grid;box-shadow:0 8px 22px #1f29330e}.daily-drawer-people,.daily-drawer-people .planning-person-switcher{justify-content:center;width:100%;display:flex}.daily-drawer-people .planning-person-switcher{padding-bottom:0}.daily-nutrition-block,.planning-day-view{min-width:0;display:grid}.planning-day-view{gap:18px;width:min(100%,980px);margin:4px auto 0}.daily-nutrition-summary{background:#fffffff0;border:1px solid #1f293314;border-radius:8px;grid-template-columns:142px minmax(0,1fr);align-items:center;gap:24px;padding:18px 22px;display:grid;box-shadow:0 10px 28px #1f293312}.daily-calorie-ring{--daily-progress:0deg;width:112px;height:112px;color:var(--text);background:conic-gradient(var(--green) var(--daily-progress),#e7eeea 0);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.daily-calorie-ring.over-target{color:#bd3030;background:conic-gradient(#d94848 var(--daily-progress),#f4dddd 0)}.daily-calorie-ring:before{content:"";background:#fff;border-radius:50%;grid-area:1/1;width:88px;height:88px}.daily-calorie-ring>div{z-index:1;text-align:center;grid-area:1/1;gap:0;display:grid}.daily-calorie-ring strong{font-size:1.28rem;font-weight:1000;line-height:1.05}.daily-calorie-ring span{color:var(--muted);font-size:.66rem;font-weight:850}.daily-macro-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-width:0;display:grid}.daily-macro-metric{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:6px;padding:0;display:grid}.daily-macro-metric>div:first-child{align-items:center;gap:6px;min-width:0;display:flex}.daily-macro-metric strong{text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:950;overflow:hidden}.daily-macro-metric>span{color:#526059;white-space:nowrap;font-size:.72rem;font-weight:850}.daily-macro-dot{background:currentColor;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.daily-macro-progress{background:#edf2ef;border-radius:999px;height:5px;overflow:hidden}.daily-macro-progress span{border-radius:inherit;background:currentColor;height:100%;display:block}.daily-macro-metric.protein{color:#5aae85}.daily-macro-metric.carbs{color:#78a8e8}.daily-macro-metric.fat{color:#e89082}.daily-macro-metric.fiber{color:#87b95c}.daily-macro-metric.over-target,.daily-macro-metric.over-target>span{color:#c93636}.nutrition-contribution-trigger:focus-visible{outline-offset:3px;outline:2px solid #22a06b6b}.nutrition-contribution-popover{z-index:190;color:#26332d;background:#fffffffa;border:1px solid #1f29331c;border-radius:8px;gap:6px;width:min(280px,100vw - 16px);padding:12px;animation:nutrition-popover-in .14s ease-out;display:grid;position:fixed;box-shadow:0 16px 42px #1f29332e}@keyframes nutrition-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.nutrition-contribution-popover>header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.nutrition-contribution-popover>header strong{font-size:.86rem;font-weight:950}.nutrition-contribution-popover>header span{color:#526059;white-space:nowrap;font-size:.7rem;font-weight:850}.nutrition-contribution-popover.over-target>header span,.nutrition-contribution-popover.over-target>header strong{color:#b52f2f}.nutrition-contribution-popover>p,.nutrition-contribution-popover>small{color:#728078;margin:0;font-size:.66rem;font-weight:800}.nutrition-contribution-popover ol{gap:0;margin:0;padding:0;list-style:none;display:grid}.nutrition-contribution-popover li{border-top:1px solid #1f293312;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:6px 0;font-size:.72rem;display:grid}.nutrition-contribution-popover li span{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.nutrition-contribution-popover li strong{white-space:nowrap;font-weight:950}.daily-meal-list{gap:16px;display:grid;position:relative}.daily-meal-card{background:#fffffff5;border:1px solid #1f293314;border-radius:8px;min-width:0;position:relative;overflow:visible;box-shadow:0 10px 28px #1f293311}.planning-target-loading{z-index:30;border-radius:inherit;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:progress;background:#ffffffbd;place-items:center;animation:planning-target-loading-in .14s ease-out;display:grid;position:absolute;inset:0;overflow:hidden}.planning-target-loading>span{color:#16805b;background:#fffffff5;border:1px solid #22a06b29;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 24px #1f29331f}@keyframes planning-target-loading-in{0%{opacity:0}to{opacity:1}}.daily-meal-card.active{border-color:#22a06b57}.daily-meal-header{grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:56px;padding:8px 12px;display:grid}.daily-meal-icon{color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.daily-meal-icon.breakfast{background:#79a9eb}.daily-meal-icon.lunch{background:#56bc8b}.daily-meal-icon.dinner{background:#9a76d6}.daily-meal-icon.snack{background:#efa353}.daily-meal-heading{align-items:center;gap:9px;min-width:0;display:flex}.daily-meal-heading>strong{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:950;overflow:hidden}.participant-controls.compact{min-width:0;display:block}.participant-controls.compact .participant-chip-row{align-items:center;gap:3px;padding:0}.participant-controls.compact .participant-chip{background:0 0;border:0;border-radius:50%}.participant-controls.compact .participant-chip>button:first-child{color:#7a867f;background:#edf2ef;border-radius:50%;place-items:center;width:24px;height:24px;min-height:24px;padding:0;font-size:.58rem;display:grid;box-shadow:inset 0 0 0 1px #1f29330f}.participant-controls.compact .participant-chip.active>button:first-child{color:#0f6948;background:var(--green-soft);box-shadow:inset 0 0 0 1px #22a06b33}.participant-controls.compact .participant-chip button span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.daily-meal-calories{color:var(--muted);white-space:nowrap;font-size:.88rem;font-weight:850}.daily-meal-total{border-radius:999px;justify-content:flex-end;align-self:start;align-items:center;gap:1px;min-width:0;min-height:28px;margin-top:0;padding:2px 2px 2px 8px;display:inline-flex}.daily-meal-total.good{color:#16805b;background:#e8f5ee}.daily-meal-total.warning{color:#8c600e;background:#fff3cd}.daily-meal-total.alert{color:#a83232;background:#f8d7da}.daily-meal-total.empty{color:var(--muted);background:#f2f5f3;padding-right:8px}.daily-meal-total .daily-meal-calories{color:inherit}.daily-meal-total .daily-insight{width:24px;height:24px;color:inherit;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.daily-meal-total .daily-insight.alert,.daily-meal-total .daily-insight.good,.daily-meal-total .daily-insight.warning{color:inherit;background:0 0}.daily-meal-tools{align-items:center;gap:3px;display:inline-flex}.daily-meal-tools button{color:#66736c;background:0 0;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.daily-meal-tools button:hover:not(:disabled){color:#126747;background:var(--green-soft)}.daily-meal-tools button:disabled{cursor:default;opacity:.28}.daily-meal-items{border-top:1px solid #1f293312;min-width:0}.daily-meal-item-swipe-shell{min-width:0;position:relative;overflow:hidden}.daily-meal-item-swipe-shell+.daily-meal-item-swipe-shell{border-top:1px solid #1f293312}.daily-meal-item-swipe-delete{display:none}.daily-meal-item{z-index:2;touch-action:pan-y;background:#fff;grid-template-columns:28px 68px minmax(0,1fr) minmax(80px,auto) 70px 30px;align-items:center;gap:12px;min-width:0;min-height:62px;padding:6px 12px;transition:transform .22s cubic-bezier(.22,.61,.36,1),background .14s,box-shadow .14s;display:grid;position:relative;overflow:hidden}.daily-meal-item.dragging{transition:none}.daily-meal-item-confirm,.daily-meal-item-delete{border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.daily-meal-item-delete{color:#b34e4e;opacity:0;background:#fff;border:1px solid #f0c9c9;transition:opacity .14s,color .14s,background .14s}.daily-meal-item:focus-within .daily-meal-item-delete,.daily-meal-item:hover .daily-meal-item-delete{opacity:1}.daily-meal-item-delete:hover:not(:disabled){color:#fff;background:#d94747}.daily-meal-item-confirm{color:#fff;background:#22945f;border:0;box-shadow:0 3px 9px #22945f38}.daily-meal-item-confirm:hover:not(:disabled){background:#157b4c}.daily-meal-item-confirm:disabled,.daily-meal-item-delete:disabled{cursor:wait;opacity:.45}.daily-meal-item-image{color:#16805b;background:var(--green-soft);border-radius:7px;place-items:center;width:68px;height:50px;display:grid;overflow:hidden}.daily-meal-item-image img{object-fit:cover;width:100%;height:100%;display:block}.daily-meal-item-copy{gap:2px;min-width:0;display:grid}.daily-meal-item-copy button,.daily-meal-item-copy strong{min-width:0;color:var(--text);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-size:.84rem;font-weight:900;overflow:hidden}.daily-meal-item-copy button:hover{color:#08734e}.daily-meal-item-copy>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;font-weight:700;overflow:hidden}.daily-meal-item-calories,.daily-meal-item-quantity{color:#65726b;text-align:right;white-space:nowrap;font-size:.76rem;font-weight:800}.daily-meal-item-quantity{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;min-width:0;padding:5px 7px;overflow:hidden}.daily-meal-item-quantity:focus-visible,.daily-meal-item-quantity:hover{color:#126747;background:var(--green-soft);border-color:#22a06b3d}.daily-meal-item-editor{background:#fff;border:1px solid #22a06b6b;border-radius:6px;grid-template-columns:minmax(48px,1fr) auto;align-items:center;min-width:0;display:grid;overflow:hidden;box-shadow:0 0 0 2px #22a06b14}.daily-meal-item-editor input{width:100%;min-width:0;height:30px;color:var(--text);text-align:right;background:0 0;border:0;outline:0;padding:0 5px;font-size:.76rem;font-weight:850}.daily-meal-item-editor span{color:var(--muted);padding-right:6px;font-size:.7rem;font-weight:800}.daily-empty-meal{width:100%;min-height:58px;color:var(--muted);text-align:left;background:#fbfdfb;border:0;padding:10px 16px;font-size:.8rem;font-weight:800}.daily-meal-add-row{border-top:1px solid #1f293312;min-width:0}.daily-meal-add-row button{color:#16805b;background:#f8fcfab8;border:0;border-radius:0 0 8px 8px;justify-content:center;align-items:center;gap:6px;width:100%;min-height:34px;padding:5px 10px;font-size:.74rem;font-weight:850;display:flex}.daily-meal-add-row button:hover{background:var(--green-soft)}.daily-meal-add-row.breakfast button{color:#4d7fca}.daily-meal-add-row.lunch button{color:#16805b}.daily-meal-add-row.dinner button{color:#7650b8}.daily-meal-add-row.snack button{color:#c96e18}.daily-meal-card.context-menu-enabled,.daily-meal-card.context-menu-enabled *,.planning-context-menu,.planning-context-menu *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.daily-meal-card.context-menu-enabled [contenteditable=true],.daily-meal-card.context-menu-enabled input,.daily-meal-card.context-menu-enabled textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.daily-meal-card.context-menu-enabled{border-color:#22a06b33;transition:border-color .14s,box-shadow .14s}.daily-meal-card.context-menu-enabled>.daily-meal-header{cursor:context-menu;box-shadow:inset 3px 0 #22a06b3d}.daily-meal-card.context-menu-enabled .daily-meal-item{cursor:context-menu;box-shadow:inset 0 0 0 1px #22a06b1a}.daily-meal-card.context-menu-enabled.long-press-active,.daily-meal-card.context-menu-enabled.menu-open{border-color:#22a06b9e;box-shadow:0 0 0 3px #22a06b1f,0 10px 28px #1f293311}.daily-meal-item.long-press-active,.daily-meal-item.menu-open{background:#f3faf6;box-shadow:inset 0 0 0 2px #22a06b7a!important}@media (hover:hover) and (pointer:fine){.daily-meal-card.context-menu-enabled:hover{border-color:#22a06b57}.daily-meal-card.context-menu-enabled .daily-meal-item:hover{background:#f8fcfa;box-shadow:inset 0 0 0 1px #22a06b47}}.planning-context-menu{z-index:155;color:#26332d;background:#fffffffb;border:1px solid #1f29331f;border-radius:8px;gap:4px;width:min(264px,100vw - 16px);max-height:calc(100dvh - 16px);padding:7px;animation:planning-context-menu-in .14s ease-out;display:grid;position:fixed;overflow-y:auto;box-shadow:0 18px 48px #1f293333}.planning-context-menu.item-context-menu{width:min(244px,100vw - 16px)}.meal-context-participants{border-bottom:1px solid #1f293317;gap:5px;padding:4px 9px 8px;display:grid}.meal-context-participants>span{color:var(--muted);text-transform:uppercase;font-size:.66rem;font-weight:900}.meal-context-participants .participant-chip-row{gap:5px}.meal-context-participants .participant-controls.compact .participant-chip>button:first-child{width:28px;height:28px;min-height:28px}@keyframes planning-context-menu-in{0%{opacity:0;transform:scale(.98)translateY(3px)}to{opacity:1;transform:scale(1)translateY(0)}}.planning-context-menu .planning-context-menu-action,.planning-context-menu>button{color:#304039;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:flex-start;align-items:center;gap:9px;width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:.76rem;font-weight:850;display:flex}.planning-context-menu .suggestion-control{width:100%}.planning-context-menu .planning-context-menu-action:hover:not(:disabled),.planning-context-menu>button:hover:not(:disabled){color:#116a48;background:var(--green-soft)}.planning-context-menu button.danger{color:#b33232}.planning-context-menu button.danger:hover:not(:disabled){color:#a52424;background:#fff0f0}.planning-context-menu button:disabled{cursor:wait;opacity:.42}.planning-context-menu svg{flex:0 0 15px;width:15px;height:15px}@media (max-width:680px){.planning-context-menu .planning-context-menu-action,.planning-context-menu>button{min-height:42px;font-size:.8rem}}.daily-meal-actions.meal-card-actions{border-width:1px 0 0;border-radius:0 0 8px 8px;width:100%;margin:0}.daily-meal-actions .mini-button{color:#526059;background:#fff;min-height:38px}.simple-day{box-shadow:var(--shadow);touch-action:pan-x pan-y;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.simple-day .meal-row{grid-template-columns:1fr;align-content:space-between;min-height:132px;padding:14px;position:relative}.list-row,.meal-row{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;max-width:100%;min-height:62px;color:var(--text);text-align:left;background:#fbfdfb;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 16px;display:grid;position:relative}.list-row>*,.meal-row>*{min-width:0}.list-row span,.meal-row span{min-width:0;color:var(--muted);text-overflow:ellipsis;overflow:hidden}.list-row strong,.meal-row strong{text-overflow:ellipsis;min-width:0;font-size:1rem;overflow:hidden}.list-row em,.meal-row em{min-width:0;max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;justify-self:end;font-style:normal;font-weight:900;overflow:hidden}.list-row.good,.meal-row.good{background:var(--green-soft);border-color:#22a06b3d}.list-row.warning,.meal-row.warning{background:#fff7df;border-color:#f5b94273}.meal-row.danger{background:#ffe8e8;border-color:#ef5a5a57}.empty-row{border-style:dashed}.simple-day .meal-row .meal-main{padding-top:20px}.simple-day .meal-row.empty-row .meal-main{padding-top:0}.meal-main{width:100%;max-width:100%;color:var(--text);text-align:left;background:0 0;border:0;gap:8px;padding:0;display:grid;overflow:hidden}.meal-main,.meal-main>*{min-width:0}.meal-main strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.meal-main em,.meal-main span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.participant-avatars{align-items:center;gap:3px;max-width:100%;display:inline-flex}.participant-avatars span{color:#155a38;background:#ffffffc7;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:.64rem;font-weight:1000;display:grid;box-shadow:inset 0 0 0 1px #22a06b2e}.participant-controls{gap:6px;min-width:0;display:grid}.participant-control-header{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:.72rem;font-weight:950;display:flex}.participant-chip-row{scrollbar-width:none;gap:6px;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.participant-chip-row::-webkit-scrollbar{display:none}.participant-chip{border:1px solid var(--line);border-radius:var(--radius);background:#fff;flex:none;display:inline-flex;overflow:hidden}.participant-chip>button{color:#647067;background:0 0;border:0;align-items:center;gap:5px;min-height:30px;font-size:.76rem;font-weight:950;display:inline-flex}.participant-chip>button:first-child{padding:0 8px}.participant-chip>button:first-child:first-letter{text-transform:uppercase}.participant-chip.active{background:var(--green-soft);border-color:#22a06b57}.participant-chip.active>button:first-child{color:#155a38}.simple-day .meal-row span{grid-column:auto;font-size:.82rem;font-weight:900}.simple-day .meal-row strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;line-height:1.25;display:-webkit-box;overflow:hidden}.simple-day .meal-row em{justify-self:start;font-size:.88rem}.meal-card-actions{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:10px;display:grid;overflow:hidden}.meal-card-actions:has(.suggestion-popover){z-index:12;overflow:visible}.suggestion-control{position:relative}.suggestion-control,.suggestion-control>button{width:100%;min-width:0}.meal-card-actions .suggestion-control+.mini-button{border-left:1px solid var(--line)}.suggestion-popover{width:min(292px,100vw - 24px);color:var(--text);text-align:left;z-index:160;background:#fff;border:1px solid #cbdcd3;border-radius:8px;gap:10px;padding:12px;display:grid;position:fixed;box-shadow:0 16px 36px #1f29332e}.suggestion-popover>strong{font-size:.8rem}.suggestion-source-row{grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px;display:grid}.suggestion-source-row>select{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);background:#fbfdfb;border-radius:6px;outline:0;padding:0 8px;font-size:.75rem;font-weight:850}.suggestion-source-row>select:focus{border-color:#65b991;box-shadow:0 0 0 2px #50ad8221}.suggestion-course-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.suggestion-course-types label{border:1px solid var(--line);color:#405149;background:#f7faf8;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:30px;padding:0 5px;font-size:.66rem;font-weight:900;display:inline-flex}.suggestion-course-types input{accent-color:#16805b;flex:0 0 14px;width:14px;height:14px;margin:0}.suggestion-course-types span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggestion-popover-submit{color:#fff;background:var(--green);border:0;border-radius:50%;justify-content:center;align-items:center;gap:6px;width:36px;height:36px;min-height:36px;padding:0;font-size:.75rem;font-weight:900;display:inline-flex}.suggestion-popover-submit:disabled{cursor:not-allowed;opacity:.55}.planning-feedback{color:#155a38;background:var(--green-soft);border:1px solid #22a06b33;border-radius:6px;margin:0;padding:9px 11px;font-size:.8rem;font-weight:850}.planning-feedback.modal-feedback{margin-top:10px}.planning-flash-message{z-index:360;color:#0f5132;pointer-events:none;background:#d1e7dd;border:1px solid #badbcc;border-radius:6px;align-items:center;gap:9px;width:max-content;max-width:min(420px,100vw - 24px);min-height:42px;padding:9px 12px;font-size:.78rem;font-weight:800;line-height:1.25;animation:planning-flash-enter .25s ease-out both;display:flex;position:fixed;bottom:18px;left:50%;right:auto;box-shadow:0 12px 28px #1f293329}.planning-flash-message.error{color:#842029;background:#f8d7da;border-color:#f1aeb5}.planning-flash-message.leaving{animation:planning-flash-leave .25s ease-in both}.planning-flash-icon{color:#fff;background:#198754;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.planning-flash-message.error .planning-flash-icon{background:#b02a37}@keyframes planning-flash-enter{0%{opacity:0;transform:translate(-50%,18px)}to{opacity:1;transform:translate(-50%)}}@keyframes planning-flash-leave{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,18px)}}.meal-card-actions .mini-button{color:#0f5138;background:var(--green-soft);border:0;border-radius:0;justify-content:center;align-items:center;gap:5px;min-height:32px;margin-right:0;padding:0 10px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.meal-card-actions .button-label{color:inherit}.meal-card-actions .mini-button svg{flex:none;display:block}.meal-card-actions .mini-button+.mini-button{border-left:1px solid var(--line)}.meal-card-actions .mini-button:hover{color:#fff;background:var(--green)}.meal-card-quick-actions{z-index:3}.meal-card-quick-actions,.meal-library-quick-actions{align-items:center;gap:6px;display:inline-flex;position:absolute;top:10px;right:10px}.meal-library-quick-actions{z-index:4}.meal-library-quick-actions.with-status-actions{right:44px}.meal-library-quick-actions button{color:#126747;background:#fffffff0;border:1px solid #16805b2e;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid;box-shadow:0 8px 18px #1f29331a}.meal-library-quick-actions button:hover:not(:disabled){color:#fff;background:var(--green)}.meal-library-quick-actions button:disabled{cursor:not-allowed;opacity:.42}.has-meal-library-actions .meal-main>span:first-child{padding-right:70px}.has-meal-library-actions:not(.empty-row) .meal-main>span:first-child{padding-right:138px}.meal-clear-button,.meal-insight,.month-day-clear-button,.week-day-clear-button{border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;font-size:.86rem;font-weight:900;display:grid}.meal-clear-button,.meal-insight{color:#fff;box-shadow:0 8px 18px #1f29331f}.meal-insight.good{background:#68b890}.meal-insight.warning{background:#d7a73c}.saved-meals-modal{overscroll-behavior:contain;gap:12px;width:min(560px,100vw - 20px);max-height:min(720px,100dvh - 20px);display:grid;overflow:hidden}.saved-meals-modal>header{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.saved-meals-modal>header>div{min-width:0}.saved-meals-modal h2{margin:2px 0 0;font-size:1.2rem}.saved-meals-list{overscroll-behavior:contain;gap:8px;min-height:0;max-height:min(60vh,520px);display:grid;overflow-y:auto}.saved-meals-list>button{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-width:0;color:var(--text);text-align:left;background:#fbfdfb;grid-template-columns:minmax(0,1fr) minmax(115px,180px) 32px;align-items:center;gap:10px;padding:10px;display:grid}.saved-meals-list>button:hover:not(:disabled){background:var(--green-soft);border-color:#73b998}.saved-meals-list>button:disabled{cursor:wait;opacity:.68}.saved-meal-copy{gap:2px;min-width:0;display:grid}.saved-meal-copy small,.saved-meal-copy strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.saved-meal-copy strong{font-size:.86rem}.saved-meal-copy small{color:var(--muted);font-size:.7rem;font-weight:750}.saved-meal-open-icon{color:#126747;background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.saved-meals-state{min-height:150px;color:var(--muted);text-align:center;place-items:center;gap:6px;padding:20px;display:grid}.saved-meals-state strong{color:var(--text)}.saved-meals-state span{max-width:340px;font-size:.78rem}.meal-insight.alert{background:#d96868}.meal-total-insight{border-radius:999px;align-items:center;gap:1px;width:max-content;min-width:0;max-width:100%;min-height:28px;padding:2px 2px 2px 8px;display:flex}.meal-total-insight.good{color:#16805b;background:#e8f5ee}.meal-total-insight.warning{color:#8c600e;background:#fff3cd}.meal-total-insight.alert{color:#a83232;background:#f8d7da}.meal-total-insight>em{max-width:calc(100% - 33px);color:inherit}.meal-total-insight .meal-insight{width:24px;height:24px;color:inherit;box-shadow:none;background:0 0}.meal-insight-control{flex:none;place-items:center;display:inline-grid;position:relative;overflow:visible!important}.meal-insight-popover{z-index:380;color:#fff;text-align:center;white-space:normal;background:#1f2933;border-radius:6px;width:max-content;max-width:168px;padding:8px 10px;font-size:.75rem;font-weight:850;line-height:1.2;animation:meal-insight-popover-in .14s ease-out both;display:block;position:fixed;box-shadow:0 10px 24px #1f293333}@keyframes meal-insight-popover-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.meal-clear-button{background:#1f2933b8}.meal-clear-button:hover,.month-day-clear-button:hover,.week-day-clear-button:hover{color:#fff;background:#d96868}.meal-clear-button:disabled,.month-day-clear-button:disabled,.week-day-clear-button:disabled{cursor:wait;opacity:.72}.week-board{touch-action:pan-x pan-y;-webkit-overflow-scrolling:touch;grid-template-columns:repeat(7,minmax(118px,1fr));gap:10px;display:grid;overflow-x:auto}.week-column{border:1px solid var(--line);border-radius:var(--radius);min-height:178px;background:#fbfdfb;align-content:start;gap:8px;padding:14px;position:relative}.week-column,.week-day-header{min-width:0;max-width:100%;color:var(--text);text-align:left;display:grid;overflow:hidden}.week-day-header{width:100%;background:0 0;border:0;gap:2px;padding:0 34px 0 0}.week-day-clear-button{color:#64748b;z-index:2;background:#ffffffdb;border:1px solid #1f29331a;position:absolute;top:10px;right:10px;box-shadow:0 8px 18px #1f293314}.week-day-suggest-button{border-radius:var(--radius);color:#0f5138;background:var(--green-soft);border:1px solid #22a06b38;justify-content:center;align-items:center;gap:6px;width:100%;min-height:34px;margin-top:2px;font-size:.82rem;font-weight:950;display:inline-flex}.week-day-suggest-button:disabled{cursor:wait;opacity:.72}.week-column.active{background:var(--green-soft);border-color:#22a06b73}.week-column small,.week-column span,.week-column strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;display:block;overflow:hidden}.week-column small,.week-column span{color:var(--muted)}.week-accordion-stack{gap:6px;min-width:0;max-width:100%;display:grid;overflow:hidden}.week-meal-accordion{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:0;max-width:100%;overflow:hidden}.week-meal-accordion.selected{border-color:#22a06b61}.week-meal-accordion summary{min-height:34px;color:var(--text);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:7px 9px;list-style:none;display:grid}.week-meal-accordion summary::-webkit-details-marker{display:none}.week-meal-accordion summary:before{content:"›";color:var(--muted);grid-row:1;font-weight:900;transition:transform .16s;transform:rotate(0)}.week-meal-accordion[open] summary:before{transform:rotate(90deg)}.week-meal-accordion summary span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;grid-column:2;font-size:.78rem;font-weight:950;overflow:hidden}.week-meal-accordion summary strong{color:var(--muted);white-space:nowrap;grid-column:4;font-size:.74rem}.week-meal-accordion summary .participant-avatars{grid-area:1/3;justify-self:end}.week-meal-accordion summary .participant-avatars span{color:#155a38;white-space:normal;width:22px;height:22px;font-size:.64rem;display:grid}.week-meal-content{gap:8px;min-width:0;max-width:100%;padding:0 9px 9px;display:grid;overflow:hidden}.week-meal-content p{color:var(--muted);margin:0;font-size:.78rem;font-weight:800}.week-meal-items{gap:6px;min-width:0;max-width:100%;max-height:112px;display:grid;overflow:hidden auto}.week-meal-actions{margin-top:0}.week-meal-actions.meal-card-actions{opacity:1;pointer-events:auto;transform:none}.weekly-planning-controls{gap:7px;display:grid}.weekly-planning-controls>.daily-quick-search-wrap{z-index:14;width:min(100%,760px);margin:0 auto}.week-desktop-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.week-desktop-table{background:#fffffff5;border:1px solid #1f293317;border-radius:8px;grid-template-columns:128px repeat(7,minmax(122px,1fr));width:100%;min-width:1010px;display:grid;overflow:hidden;box-shadow:0 12px 34px #1f29330f}.week-desktop-row{display:contents}.week-desktop-corner,.week-desktop-day{background:#fbfcfb;border-bottom:1px solid #1f293317;min-height:54px}.week-desktop-day{color:#172033;border-top:0;border-left:1px solid #1f293314;border-right:0;justify-content:center;align-items:center;gap:7px;min-width:0;padding:8px 5px;display:flex}.week-desktop-day.active{background:#eff8f2;box-shadow:inset 0 -3px #2db276}.week-desktop-day strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:950;overflow:hidden}.week-desktop-day>span{color:#fff;border:2px solid #f1a437;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.week-desktop-day>span.good{background:#39b977;border-color:#39b977}.week-desktop-meal-label{color:#172033;background:#fff;border-bottom:1px solid #1f293314;grid-template-columns:34px minmax(0,1fr);align-content:center;align-items:center;gap:3px 8px;min-height:178px;padding:12px 10px;display:grid}.week-desktop-meal-label>span{color:#fff;border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;display:grid}.week-desktop-meal-label.breakfast>span{background:#4f8fe8}.week-desktop-meal-label.lunch>span{background:#31ae78}.week-desktop-meal-label.dinner>span{background:#8a55d2}.week-desktop-meal-label.snack>span{background:#f28a2c}.week-desktop-meal-label strong{align-self:end;font-size:.79rem;font-weight:950}.week-desktop-meal-label small{color:#718096;align-self:start;font-size:.64rem;font-weight:800}.week-desktop-cell{background:#fff;border-bottom:1px solid #1f293314;border-left:1px solid #1f293314;align-content:stretch;min-width:0;min-height:178px;padding:8px;transition:background .14s,box-shadow .14s;display:grid;position:relative;overflow:hidden}.week-desktop-cell.context-menu-enabled,.week-mobile-meal.context-menu-enabled{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.week-desktop-cell.context-menu-enabled.long-press-active,.week-desktop-cell.context-menu-enabled.menu-open{z-index:2;box-shadow:inset 0 0 0 2px #22a06b4d}.week-mobile-meal.context-menu-enabled.long-press-active,.week-mobile-meal.context-menu-enabled.menu-open{border-color:#22a06b61;box-shadow:0 9px 26px #1f293312,inset 0 0 0 1px #22a06b33}.week-desktop-cell.drag-over{z-index:2;background:#e9f8ef;box-shadow:inset 0 0 0 2px #2db276}.week-drag-delete-target{display:none}@media (min-width:901px) and (hover:hover) and (pointer:fine){.week-drag-delete-target{z-index:1200;color:#c93636;background:#fff4f4f7;border:1px solid #c9313138;border-radius:50%;place-items:center;width:64px;height:64px;transition:color .14s,background .14s,box-shadow .14s,transform .14s;display:grid;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #5c1b1b33}.week-drag-delete-target.drag-over{color:#fff;background:#df4545;transform:translate(-50%)scale(1.12);box-shadow:0 17px 40px #a3272757}.week-drag-delete-target.deleting{pointer-events:none;opacity:.78}}.week-desktop-items{align-content:start;gap:6px;min-width:0;display:grid}.week-visual-item{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#fff;border:1px solid #1f293314;border-radius:7px;min-width:0;display:grid;position:relative;overflow:hidden}.week-visual-item.menu-open{border-color:#22a06b52;box-shadow:0 8px 22px #1f293324}.week-visual-item.draggable{cursor:grab}.week-visual-item.draggable:active{cursor:grabbing}.week-visual-item-image{aspect-ratio:1.65;color:#6d8277;background:#eef4f0;place-items:center;width:100%;display:grid;overflow:hidden}.week-visual-item-image img{object-fit:cover;width:100%;height:100%}.week-visual-item>button,.week-visual-item>strong{color:#172033;text-align:center;-webkit-line-clamp:2;background:0 0;border:0;-webkit-box-orient:vertical;min-width:0;margin:7px 6px 2px;padding:0;font-size:.7rem;font-weight:900;line-height:1.25;display:-webkit-box;overflow:hidden}.week-visual-item>span{color:#718096;text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0 6px 7px;font-size:.61rem;font-weight:800;overflow:hidden}.week-item-quantity-editor{-webkit-user-select:text;user-select:text;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:3px;min-width:0;margin:3px 5px 6px;display:grid}.week-item-quantity-editor input{color:#172033;text-align:center;background:#fff;border:1px solid #22a06b4d;border-radius:5px;outline:0;width:100%;min-width:0;height:25px;padding:0 3px;font-size:16px;font-weight:900}.week-item-quantity-editor>span{color:#718096;font-size:.65rem;font-weight:900}.week-item-quantity-editor button{color:#fff;background:#2da971;border:0;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid}.week-item-quantity-editor button:disabled{opacity:.5}.week-cell-footer{justify-content:flex-end;align-self:end;align-items:center;gap:5px;padding-top:5px;display:flex}.week-cell-footer>button{color:#158054;background:#eff9f3;border:1px solid #22a06b38;border-radius:50%;place-items:center;width:24px;height:24px;padding:0;display:grid}.week-empty-cell{color:#178559;background:#f3fbf6;border:1px dashed #22a06b40;border-radius:7px;place-content:center;justify-items:center;gap:7px;width:100%;height:100%;min-height:160px;font-size:.7rem;font-weight:900;display:grid}.week-empty-cell svg{box-sizing:content-box;background:#dff4e8;border-radius:50%;padding:7px}.week-desktop-summary-label{color:#66736d;text-transform:uppercase;background:#fbfcfb;place-items:center start;min-height:72px;padding:10px;font-size:.7rem;font-weight:950;display:grid}.week-day-summary{color:#607169;min-width:0;min-height:72px;font:inherit;text-align:center;cursor:pointer;background:#f7faf8;border:0;border-left:1px solid #1f293314;place-content:center;gap:2px;padding:7px;display:grid}.week-day-summary strong{color:#172033;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:950;display:flex}.week-day-summary small,.week-day-summary span{text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;font-weight:800;overflow:hidden}.week-day-summary.good small,.week-day-summary.good strong{color:#178559}.week-day-summary.warning small,.week-day-summary.warning strong{color:#d46b18}.week-day-summary.over-target{background:#fff3f3}.week-day-summary.over-target small,.week-day-summary.over-target span,.week-day-summary.over-target strong{color:#c93636}.week-mobile-view{display:none}@media (hover:hover) and (pointer:fine){.daily-quick-result.draggable{cursor:grab}.daily-quick-result.draggable:active{cursor:grabbing}}@media (max-width:900px){.week-desktop-person-switcher,.week-desktop-scroll{display:none}.week-mobile-view{gap:14px;display:grid}.week-mobile-view,.weekly-planning-controls{width:min(100%,760px);margin:0 auto}.weekly-planning-controls>.daily-quick-search-wrap{width:100%}.weekly-planning-controls .daily-quick-search input{font-size:16px}.week-mobile-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:2px;display:grid;overflow:hidden}.week-mobile-days button{color:#172033;background:#fff;border:1px solid #1f293312;border-radius:8px;place-content:center;gap:2px;min-width:0;min-height:66px;padding:6px 2px;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 18px #1f29330f}.week-mobile-days button>span{text-overflow:ellipsis;font-size:.7rem;font-weight:850;overflow:hidden}.week-mobile-days button>strong{font-size:1.08rem;font-weight:950;line-height:1}.week-mobile-days button>i{background:#55b943;border-radius:50%;width:7px;height:7px;position:absolute;bottom:9px;right:7px}.week-mobile-days button.neutral>i,.week-mobile-days button.warning>i{background:#f2a51d}.week-mobile-days button.active{color:#fff;background:#22a06b;border-color:#22a06b;box-shadow:0 8px 20px #22a06b38}.week-mobile-days button.active>i{background:#dff9ea}.week-mobile-meals{gap:12px;display:grid}.week-mobile-meal{background:#fff;border:1px solid #1f293314;border-radius:8px;min-width:0;position:relative;overflow:hidden;box-shadow:0 9px 26px #1f293312}.week-mobile-meal>header{border-bottom:1px solid #1f293314;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:50px;padding:7px 10px;display:grid}.week-mobile-meal-icon{color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.week-mobile-meal.breakfast .week-mobile-meal-icon{background:#4f8fe8}.week-mobile-meal.lunch .week-mobile-meal-icon{background:#31ae78}.week-mobile-meal.dinner .week-mobile-meal-icon{background:#8a55d2}.week-mobile-meal.snack .week-mobile-meal-icon{background:#f28a2c}.week-mobile-meal>header>strong{color:#172033;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:950;overflow:hidden}.week-mobile-meal>header .participant-avatars{justify-self:end}.week-mobile-meal-kcal{color:#748094;white-space:nowrap;font-size:.82rem;font-weight:850}.week-mobile-item-scroller{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:10px;min-width:0;padding:12px 10px 9px;display:flex;overflow-x:auto}.week-mobile-item-scroller::-webkit-scrollbar{display:none}.week-mobile-item-scroller .week-visual-item{scroll-snap-align:start;flex:0 0 142px;width:142px}.week-mobile-item-scroller .week-visual-item-image{aspect-ratio:1.45}.week-mobile-item-scroller .week-visual-item>button,.week-mobile-item-scroller .week-visual-item>strong{min-height:32px;font-size:.74rem}.week-mobile-item-scroller .week-visual-item>span{font-size:.65rem}.week-mobile-add-card{color:#178559;text-align:center;background:#f8fdf9;border:1px dashed #22a06b4d;border-radius:7px;flex:0 0 118px;place-content:center;justify-items:center;gap:8px;width:118px;min-height:156px;padding:10px;font-size:.72rem;font-weight:900;line-height:1.25;display:grid}.week-mobile-add-card svg{box-sizing:content-box;color:#fff;background:#2db276;border-radius:50%;padding:7px}.week-mobile-meal.snack .week-mobile-add-card{color:#d66b0a;background:#fffaf5;border-color:#f28a2c59}.week-mobile-meal.snack .week-mobile-add-card svg{background:#f28a2c}.week-mobile-scroll-hint{background:#cbd3dc;border-radius:999px;width:44px;height:3px;margin:0 auto 8px;display:block}.week-mobile-summary .daily-nutrition-summary{box-shadow:0 9px 26px #1f293312}.week-mobile-people-drawer-control{min-width:0;padding-top:10px;display:grid;position:relative}.week-mobile-people-drawer{background:#ffffffe6;border:1px solid #22a06b21;border-radius:8px;min-width:0;padding:7px 7px 4px;display:grid;box-shadow:0 8px 22px #1f29330e}.week-mobile-people-drawer .planning-person-switcher{justify-content:center;padding-bottom:0}}@media (max-width:540px){.week-mobile-view{gap:10px}.week-mobile-days{gap:4px}.week-mobile-days button{min-height:58px;padding-left:1px;padding-right:1px}.week-mobile-days button>span{font-size:.62rem}.week-mobile-days button>strong{font-size:.94rem}.week-mobile-days button>i{width:6px;height:6px;bottom:7px;right:5px}.week-mobile-meal>header{grid-template-columns:30px minmax(0,1fr) auto;gap:5px;min-height:44px;padding:6px 8px}.week-mobile-meal-icon{width:27px;height:27px}.week-mobile-meal-icon svg{width:15px;height:15px}.week-mobile-meal>header>strong{font-size:.88rem}.week-mobile-meal-kcal{font-size:.72rem}.week-mobile-item-scroller{gap:8px;padding:9px 8px 7px}.week-mobile-item-scroller .week-visual-item{flex-basis:126px;width:126px}.week-mobile-add-card{flex-basis:106px;width:106px;min-height:143px}}.meal-item-line{gap:2px;min-width:0;max-width:100%;font-size:.88rem;display:grid;overflow:hidden}.meal-item-line-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.meal-item-name{align-items:center;gap:5px;display:inline-flex}.meal-item-label,.meal-item-name{min-width:0;max-width:100%;overflow:hidden}.meal-item-label{color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:0;font-weight:800;display:block}button.meal-item-label{cursor:pointer}button.meal-item-label:hover{color:#08734e;text-underline-offset:2px;text-decoration:underline}.meal-item-info{color:#0f766e;background:#ecfdf5e6;border:1px solid #0f766e2e;border-radius:999px;flex:0 0 18px;place-items:center;width:18px;height:18px;display:inline-grid;position:relative}.meal-item-info:after{content:attr(data-tooltip);color:#fff;width:max-content;max-width:min(220px,72vw);box-shadow:var(--shadow);opacity:0;pointer-events:none;white-space:normal;z-index:8;background:#1f2933;border-radius:8px;padding:8px 10px;font-size:.74rem;font-weight:850;line-height:1.25;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px)}.meal-item-info:active:after,.meal-item-info:focus-visible:after,.meal-item-info:hover:after{opacity:1;transform:translate(-50%)}.month-calendar-shell,.month-planning-view{gap:12px;min-width:0;display:grid}.month-calendar-shell{touch-action:pan-x pan-y;padding:14px;overflow:hidden}.month-calendar-legend{background:#ffffffbd;border:1px solid #1f293314;border-radius:8px;justify-content:space-around;align-items:center;gap:12px;width:min(520px,100%);padding:10px 14px;display:flex}.month-calendar-legend span{color:#34433c;align-items:center;gap:7px;font-size:.76rem;font-weight:900;display:inline-flex}.month-calendar-day-number>i,.month-calendar-legend i{background:#b9c0c8;border-radius:50%;flex:0 0 9px;width:9px;height:9px;display:block}.month-calendar-day.complete .month-calendar-day-number>i,.month-calendar-legend i.complete{background:#34b574}.month-calendar-day.partial .month-calendar-day-number>i,.month-calendar-legend i.partial{background:#f2a51d}.month-calendar-day.empty .month-calendar-day-number>i,.month-calendar-legend i.empty{background:#b9c0c8}.month-calendar-grid,.month-calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));min-width:0;display:grid}.month-calendar-weekdays span{color:#4f5d56;text-align:center;text-transform:uppercase;padding:2px 4px;font-size:.7rem;font-weight:950}.month-calendar-grid{background:#fff;border:1px solid #1f29331a;border-radius:8px;overflow:hidden}.month-calendar-day{color:#172033;text-align:left;cursor:pointer;background:#fff;border:1px solid #1f293314;border-top:0;border-left:0;order:1;align-content:space-between;gap:8px;min-width:0;min-height:128px;padding:9px;transition:background .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.month-calendar-day.week-7{border-right:0}.month-calendar-day:focus-visible{z-index:2;outline-offset:-2px;outline:2px solid #22a06b80}.month-calendar-inline-drawer{background:#fff;order:2;grid-column:1/-1;min-width:0;padding:12px}.month-calendar-day:hover{background:#f7fbf8}.month-calendar-day.context-menu-enabled{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.month-calendar-day.context-menu-enabled.long-press-active,.month-calendar-day.context-menu-enabled.menu-open{z-index:2;background:#eef9f3;box-shadow:inset 0 0 0 2px #22a06b94}.month-calendar-day.selected{z-index:1;background:#eef9f3;box-shadow:inset 0 0 0 2px #22a06b6b}.month-calendar-day.today{background:#f2fbf6}.month-calendar-day.today .month-calendar-day-number strong{color:#15915e}.month-calendar-day.outside{color:#aeb6c0;background:#fbfcfc}.month-calendar-day-number{justify-content:space-between;align-items:center;gap:4px;min-width:0;display:flex}.month-calendar-day-number strong{font-size:.9rem;font-weight:950}.month-calendar-meals{grid-template-columns:repeat(2,22px);align-content:center;gap:5px;display:grid}.month-calendar-meals>i{color:#fff;background:#f7f9f8;border:1px solid #cbd2d8;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.month-calendar-meals>i.filled{border-color:#0000}.month-calendar-meals>i.breakfast.filled{background:#4f8fe8}.month-calendar-meals>i.lunch.filled{background:#31ae78}.month-calendar-meals>i.dinner.filled{background:#8a55d2}.month-calendar-meals>i.snack.filled{background:#f28a2c}.month-calendar-meals svg{width:12px;height:12px}.month-calendar-kcal{color:#25332d;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-self:start;max-width:100%;padding:0;font-family:inherit;font-size:.72rem;font-weight:950;overflow:hidden}.month-calendar-kcal.warning{color:#de6c14}.month-calendar-kcal.over-target{color:#c93636}.month-calendar-kcal small{font-size:.62rem}.month-calendar-outside-mark{color:#b8c0c8;align-self:end;font-weight:900}.month-day-drawer{background:#f8fdfaf5;border:1px solid #22a06b2e;border-radius:8px;gap:12px;min-width:0;padding:14px;animation:month-drawer-open .18s ease-out;display:grid;overflow:hidden;box-shadow:0 14px 34px #1f293314}@keyframes month-drawer-open{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.month-day-drawer>header{grid-template-columns:minmax(0,1fr) auto 30px;align-items:center;gap:10px;display:grid}.month-day-drawer>header span{color:#16805b;text-transform:uppercase;font-size:.65rem;font-weight:950}.month-day-drawer>header h2{text-transform:capitalize;margin:2px 0 0;font-size:1rem}.month-day-drawer>header>strong{color:#526059;white-space:nowrap;font-size:.82rem}.month-day-drawer>header>button{color:#526059;background:#fff;border:1px solid #1f293317;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid}.month-day-drawer-meals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0;display:grid}@media (max-width:680px){.month-calendar-shell{gap:8px;padding:6px}.month-calendar-legend{gap:4px;padding:8px 5px}.month-calendar-legend span{gap:4px;font-size:.62rem}.month-calendar-day-number>i,.month-calendar-legend i{flex-basis:7px;width:7px;height:7px}.month-calendar-weekdays span{padding-left:0;padding-right:0;font-size:.56rem}.month-calendar-day{order:0;gap:3px;min-height:86px;padding:5px}.month-calendar-day .planning-target-loading>span{width:32px;height:32px}.month-calendar-day .planning-target-loading svg{width:19px;height:19px}.month-calendar-day-number strong{font-size:.75rem}.month-calendar-meals{grid-template-columns:repeat(2,14px);gap:3px}.month-calendar-meals>i{width:14px;height:14px}.month-calendar-meals svg{stroke-width:2.5px;width:8px;height:8px}.month-calendar-kcal{font-size:.55rem}.month-calendar-kcal small{display:none}.month-day-drawer{gap:9px;padding:9px}.month-day-drawer>header{grid-template-columns:minmax(0,1fr) auto 28px;gap:6px}.month-day-drawer>header h2{font-size:.88rem}.month-day-drawer>header>strong{font-size:.7rem}.month-day-drawer>header>button{width:28px;height:28px}.month-day-drawer-meals{grid-template-columns:minmax(0,1fr);gap:8px}.month-calendar-inline-drawer{background:#f8fcfa;border-bottom:1px solid #1f293314;order:0;padding:6px}}.day-planning-modal{overscroll-behavior:contain;width:min(860px,100%)}.day-planning-modal-header{justify-content:space-between;align-items:center;gap:10px;min-width:0;margin:0 0 5px;padding:0;display:flex}.day-planning-modal-header h2{text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:.95rem;font-weight:950;line-height:1.25;overflow:hidden}.day-planning-modal-header .modal-close{flex:0 0 32px;width:32px;height:32px;position:static}.day-modal-grid{box-shadow:none;padding:0}.day-modal-note{color:var(--muted);margin:12px 0 0;font-size:.86rem;font-weight:850}.meal-picker{gap:0;display:grid}.picker-tags-shell{margin-bottom:4px;position:relative;overflow:hidden}.picker-tags{scroll-behavior:smooth;scrollbar-width:none;gap:8px;padding:0 42px;scroll-padding:0 42px;display:flex;overflow:auto hidden}.picker-tags::-webkit-scrollbar{display:none}.picker-tags-loading{min-height:34px;color:var(--muted);white-space:nowrap;align-items:center;font-size:.82rem;font-weight:850;display:inline-flex}.picker-tag{border:1px solid var(--line);min-height:34px;color:var(--green);background:var(--surface);border-radius:999px;flex:none;padding:0 12px;font-size:.88rem;font-weight:900}.picker-tag.active,.picker-tag:hover{color:#0f5138;background:var(--green-soft);border-color:#22a06b52}.tag-scroll-arrow{z-index:2;border:1px solid var(--line);color:#0f5138;background:#fffffff5;border-radius:999px;width:32px;font-size:1.35rem;font-weight:900;display:none;position:absolute;top:0;bottom:0}.tag-scroll-arrow.left{left:0}.tag-scroll-arrow.right{right:0}.picker-tags-shell.can-left .tag-scroll-arrow.left,.picker-tags-shell.can-right .tag-scroll-arrow.right{place-items:center;display:grid}.picker-search-shell{margin:0 0 14px;position:relative}.picker-search{border:1px solid var(--line);border-radius:var(--radius);width:100%;min-height:44px;color:var(--text);background:#fbfdfb;padding:12px 42px 12px 12px;font-weight:800}.picker-clear{width:28px;height:28px;color:var(--muted);background:#edf2ef;border:0;border-radius:50%;font-weight:900;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.picker-clear.visible{place-items:center;display:grid}.picker-results{gap:10px;margin-top:14px;display:grid}.meal-picker .picker-results{max-height:min(48vh,520px);padding-right:4px;overflow-y:auto}.picker-result{border:1px solid var(--line);border-radius:var(--radius);color:var(--text);text-align:left;background:#fbfdfb;grid-template-columns:76px minmax(0,1fr);gap:8px 10px;padding:14px;display:grid;position:relative}.picker-result-main{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1/-1;grid-template-columns:76px minmax(0,1fr);gap:10px;padding:0;display:grid}.picker-result-image{aspect-ratio:1;width:76px;color:var(--muted);background:#edf2ef;border-radius:6px;place-items:center;display:grid;overflow:hidden}.picker-result-image img{object-fit:cover;width:100%;height:100%}.picker-result-content{align-content:start;gap:4px;min-width:0;display:grid}.picker-result-name{max-width:calc(100% - 28px);color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-weight:900;overflow:hidden}.picker-result-name:hover{color:#08734e;text-underline-offset:2px;text-decoration:underline}.picker-nutrition{font-size:.86rem;font-weight:900;display:block}.meal-picker .picker-result .meal-macro-strip{height:26px}.picker-result:hover{background:var(--green-soft);border-color:#22a06b66}.picker-result.instant{transition:border-color .14s,background .14s,transform .14s,opacity .14s}.picker-result.instant:hover{transform:translateY(-1px)}.picker-result.instant .picker-result-name,.picker-result.instant .picker-result-name:hover{color:inherit;cursor:inherit;text-decoration:none}.picker-result.instant.pending{pointer-events:none;opacity:.55}.picker-result.selected{background:var(--green-soft);border-color:#22a06b8c;box-shadow:inset 0 0 0 2px #22a06b29}.picker-result.selected:after{content:"✓";color:#fff;background:var(--green);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.9rem;font-weight:900;display:grid;position:absolute;top:10px;right:10px}.picker-portion{border-top:1px solid #22a06b29;grid-column:2;grid-template-columns:auto minmax(74px,96px) auto minmax(0,1fr);align-items:center;gap:8px;margin-top:8px;padding-top:10px;display:grid}.picker-portion em,.picker-portion small,.picker-portion span{color:var(--muted);text-transform:none;font-size:.82rem;font-style:normal;font-weight:900}.picker-portion input{width:100%;min-height:36px;color:var(--text);background:#ffffffdb;border:1px solid #22a06b38;border-radius:6px;padding:0 10px;font-weight:900}.picker-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;gap:10px;margin:16px -24px -24px;padding:14px 24px 20px;display:grid;position:sticky;bottom:-24px}.picker-footer p{color:var(--muted);margin:0;font-size:.9rem;font-weight:900}.picker-mode{border:1px solid var(--line);border-radius:var(--radius);background:#f6faf7;grid-template-columns:1fr;display:grid;overflow:hidden}.picker-mode button{color:#0f5138;background:var(--green-soft);border:0;border-radius:0;min-height:44px;font-weight:900}.picker-mode button:hover{color:#fff;background:var(--green)}.empty-state{border:1px dashed var(--line);border-radius:var(--radius);text-align:center;background:#fbfdfb;place-items:center;min-height:96px;padding:18px;display:grid}.empty-state p{margin:4px 0 0}.modal-backdrop{z-index:100;background:#1f293352;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:hidden}.modal{border-radius:var(--radius);background:var(--surface);width:min(760px,100%);max-height:90vh;padding:24px;position:relative;overflow-y:auto;box-shadow:0 30px 80px #1f293338}.meal-composer-modal{overscroll-behavior:contain;grid-template-rows:auto minmax(0,1fr);width:min(820px,100%);min-width:0;max-width:100%;max-height:min(90dvh,820px);display:grid;overflow:hidden}.meal-composer-header{min-width:0;margin:0 0 5px;padding-right:42px}.meal-composer-header h2{white-space:nowrap;align-items:baseline;gap:7px;min-width:0;margin:0;font-size:1.05rem;line-height:1.2;display:flex}.meal-composer-type{min-width:0;color:var(--muted);text-overflow:ellipsis;font-size:.82rem;font-weight:900;overflow:hidden}.meal-composer-type:before{color:#a0aaa4;content:"·";margin-right:7px}.meal-composer-modal .meal-picker{flex-direction:column;width:100%;min-width:0;max-width:100%;min-height:0;display:flex}.meal-composer-modal .picker-search-shell{flex:none;width:100%;min-width:0;margin-bottom:4px}.meal-composer-modal .picker-tags-shell{flex:none;width:100%;min-width:0;max-width:100%;margin-bottom:2px}.meal-composer-modal .picker-results,.meal-composer-modal .picker-tags{width:100%;min-width:0;max-width:100%}.meal-composer-modal .picker-results{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;min-height:88px;max-height:none;margin-top:4px;overflow:hidden auto}.meal-composer-modal .picker-footer{z-index:2;flex:none;width:100%;min-width:0;max-width:100%;margin:8px 0 0;padding:8px 0 0;position:static}.meal-composer-modal .picker-footer p{overflow-wrap:anywhere;min-width:0}.meal-composer-modal .picker-mode{width:100%;min-width:0;max-width:100%}.meal-composer-modal .picker-mode button{color:#0f5138;-webkit-text-fill-color:currentColor;opacity:1;visibility:visible;white-space:nowrap;justify-content:center;align-items:center;width:100%;min-width:0;padding:0 12px;font-size:.88rem;line-height:1;display:inline-flex}.modal-close{width:34px;height:34px;color:var(--muted);background:#f2f5f3;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover{color:var(--text);background:var(--green-soft)}.food-reference-backdrop{z-index:140}.food-reference-modal{overscroll-behavior:contain;gap:18px;width:min(820px,100%);max-height:min(90dvh,860px);padding:20px;display:grid}.food-reference-hero{grid-template-columns:180px minmax(0,1fr);gap:18px;min-width:0;padding-right:36px;display:grid}.food-reference-image{border-radius:var(--radius);color:#8c9b93;background:#f1f5f2;place-items:center;min-height:150px;display:grid;overflow:hidden}.food-reference-image img{object-fit:cover;width:100%;height:100%}.food-reference-intro{align-self:center;min-width:0}.food-reference-kind{color:#13825a;text-transform:uppercase;align-items:center;gap:5px;font-size:.72rem;font-weight:950;display:inline-flex}.food-reference-intro h2{margin:4px 0 6px;font-size:1.45rem;line-height:1.15}.food-reference-intro p{color:var(--muted);margin:0;font-size:.88rem}.food-reference-tags{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.food-reference-tags span{color:#246348;background:#edf7f0;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:850}.food-reference-loading,.food-reference-warning{min-height:42px;color:var(--muted);justify-content:center;align-items:center;gap:8px;margin:0;font-size:.82rem;font-weight:800;display:flex}.food-reference-warning{border-radius:var(--radius);color:#8a5a15;background:#fff8e7;padding:8px}.food-reference-nutrition{border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:16px;padding:14px;display:grid}.food-reference-nutrition>div:first-child{display:grid}.food-reference-nutrition>div:first-child strong{font-size:1.5rem;line-height:1}.food-reference-nutrition>div:first-child span{color:var(--muted);margin-top:3px;font-size:.68rem;font-weight:800}.food-reference-nutrition dl{grid-template-columns:repeat(2,auto);gap:5px 14px;margin:0;display:grid}.food-reference-nutrition dl div{justify-content:space-between;gap:8px;font-size:.72rem;display:flex}.food-reference-nutrition dt{color:var(--muted)}.food-reference-nutrition dd{margin:0;font-weight:900}.food-reference-recipe{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;display:grid}.food-reference-recipe>section{min-width:0}.food-reference-recipe header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.food-reference-recipe h3{margin:0;font-size:1rem}.food-reference-recipe header>span{color:var(--muted);align-items:center;gap:4px;font-size:.72rem;font-weight:800;display:inline-flex}.food-reference-ingredients{border-top:1px solid var(--line);display:grid}.food-reference-ingredients>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px 0;font-size:.8rem;display:grid}.food-reference-ingredients>div span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.food-reference-ingredients p{color:var(--muted);font-size:.8rem}.food-reference-steps{gap:9px;margin:0;padding:0;list-style:none;display:grid}.food-reference-steps li{grid-template-columns:24px minmax(0,1fr);gap:8px;display:grid}.food-reference-steps li>span{color:#0d6848;background:#e5f5ea;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:950;display:grid}.food-reference-steps p{margin:2px 0 0;font-size:.8rem;line-height:1.45}@media (max-width:720px){.food-reference-backdrop{align-items:center;padding:6px}.food-reference-modal{gap:12px;width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:12px}.food-reference-hero{grid-template-columns:92px minmax(0,1fr);gap:10px;padding-right:32px}.food-reference-image{min-height:92px}.food-reference-intro h2{margin-top:2px;font-size:1.05rem}.food-reference-intro p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;display:-webkit-box;overflow:hidden}.food-reference-tags{max-height:48px;overflow:hidden}.food-reference-nutrition{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px}.food-reference-nutrition dl{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.food-reference-nutrition dl div{gap:1px;display:grid}.food-reference-nutrition>div:first-child strong{font-size:1.2rem}.food-reference-recipe{grid-template-columns:1fr;gap:16px}.food-reference-ingredients>div{padding:7px 0}}.public-home,.public-page{min-height:100vh;color:var(--text)}.public-home{padding:24px}.public-nav{justify-content:space-between;gap:16px;max-width:1120px;margin:0 auto}.public-nav,.public-nav>div{align-items:center;display:flex}.public-nav>div{gap:14px}.public-nav a{color:var(--text);font-weight:900;text-decoration:none}.public-brand{align-items:center;width:min(250px,58vw);text-decoration:none;display:inline-flex}.public-brand img{object-fit:contain;width:100%;height:auto}.auth-brand{width:min(250px,72vw)}.public-hero-logo{object-fit:contain;width:min(520px,100%);height:auto;margin:4px 0 18px}.public-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);align-items:center;gap:42px;max-width:1120px;min-height:580px;margin:0 auto;padding:48px 0 26px;display:grid}.public-hero h1{max-width:720px;font-size:clamp(2.6rem,6vw,5rem);line-height:.96}.public-hero p{max-width:610px;font-size:1.08rem;line-height:1.8}.public-product-shot{border-radius:var(--radius);min-height:420px;box-shadow:var(--shadow);background:#ffffffdb;border:1px solid #dce7dfeb;gap:16px;padding:22px;display:grid}.shot-top{justify-content:space-between;gap:16px;display:flex}.shot-top span{color:var(--green);font-weight:900}.shot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shot-grid div{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfb;align-content:space-between;min-height:150px;padding:14px;display:grid}.shot-grid .good{background:var(--green-soft)}.shot-grid .warning{background:#fff7df}.shot-grid span{color:var(--muted);font-size:.84rem;font-weight:900}.shot-grid i{background:linear-gradient(90deg,var(--macro-protein),var(--macro-carbs),var(--macro-fat));border-radius:999px;height:10px;display:block}.public-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:1120px;margin:0 auto;display:grid}.public-feature-grid article,.public-proof div{border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffe0;border:1px solid #dce7dfeb}.public-feature-grid article{gap:10px;padding:18px;display:grid}.public-feature-grid svg,.public-proof svg{color:var(--green)}.public-feature-grid p{font-size:.94rem;line-height:1.55}.public-proof{flex-wrap:wrap;gap:12px;max-width:1120px;margin:18px auto 0;display:flex}.public-proof div{align-items:center;gap:8px;padding:12px 14px;font-weight:900;display:flex}.public-page{align-content:center;place-items:center;gap:18px;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dee2e6;border-radius:8px;gap:0;width:min(440px,100%);display:grid;overflow:hidden;box-shadow:0 10px 28px #1f293314}.auth-card-header{background:#f8f9fa;border-bottom:1px solid #eef1f4;gap:8px;padding:24px 24px 18px;display:grid}.auth-card-header p{color:#198754;letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:900}.auth-card-header h1{color:#212529;font-size:1.65rem;line-height:1.16}.auth-card-header span{color:#6c757d;font-size:.96rem;line-height:1.55}.auth-card form,.auth-social-stack{padding:20px 24px 0}.auth-card form{padding-bottom:24px}.auth-social-stack{gap:10px;display:grid}.social-button{color:#212529;background:#fff;border:1px solid #ced4da;border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:42px;font-weight:800;transition:background .15s,border-color .15s;display:flex}.social-button:hover{background:#f8f9fa;border-color:#adb5bd}.social-button span{color:#fff;background:#198754;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.8rem;display:grid}.auth-separator{color:#6c757d;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:18px 24px 0;font-size:.82rem;font-weight:800;display:grid}.auth-separator:after,.auth-separator:before{content:"";background:#dee2e6;height:1px}.form-group{gap:6px;display:grid}.form-label{color:#212529;font-size:.92rem;font-weight:800}.form-control{color:#212529;background:#fff;border:1px solid #ced4da;border-radius:6px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:1rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.form-control::placeholder{color:#adb5bd}.form-control:focus{border-color:#86b7fe;box-shadow:0 0 0 .2rem #0d6efd2e}.auth-alert{color:#842029;background:#f8d7da;border:1px solid #f5c2c7;border-radius:6px;padding:10px 12px}.auth-alert,.auth-remember{font-size:.92rem;font-weight:800}.auth-remember{color:#495057;align-items:center;gap:9px;width:fit-content;display:inline-flex}.auth-remember input{accent-color:#198754;width:16px;height:16px}.auth-submit{border-radius:6px;width:100%;min-height:42px}.public-auth-link{color:var(--muted);font-weight:800}.public-auth-link a{color:var(--green);font-weight:1000}.first-run-shell{justify-items:center;padding:clamp(22px,4vw,42px) 0;display:grid}.first-run-card{border-radius:var(--radius);background:var(--surface);width:min(620px,100%);box-shadow:var(--shadow);border:1px solid #dce7dff2;overflow:hidden}.first-run-progress{grid-template-columns:repeat(3,1fr);gap:6px;padding:18px 18px 0;display:grid}.first-run-progress span{background:#e9ecef;border-radius:999px;height:6px}.first-run-progress span.active{background:#7ccba2}.first-run-header{gap:8px;padding:24px 24px 12px;display:grid}.first-run-header p{color:var(--green);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:900}.first-run-header h2{margin:0;font-size:1.65rem;line-height:1.15}.first-run-header span{color:var(--muted);line-height:1.55}.first-run-tags{flex-wrap:wrap;gap:10px;padding:12px 24px 18px;display:flex}.first-run-tags button{color:#34433b;background:#f8faf9;border:1px solid #d8e0dc;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 14px;font-weight:850;display:inline-flex}.first-run-tags button.active{color:#155a38;background:#eaf7ef;border-color:#8fcfb0}.first-run-custom{grid-template-columns:1fr 42px;gap:8px;padding:0 24px 18px;display:grid}.first-run-custom input{border:1px solid #d8e0dc;border-radius:6px;outline:none;min-height:42px;padding:0 12px;font-weight:750}.first-run-custom input:focus{border-color:#86b7fe;box-shadow:0 0 0 .2rem #0d6efd24}.first-run-custom button{color:#fff;background:#198754;border:0;border-radius:6px;place-items:center;display:grid}.first-run-selection{flex-wrap:wrap;gap:8px;padding:0 24px 18px;display:flex}.first-run-selection button{color:#495057;background:#f1f3f5;border:0;border-radius:999px;padding:7px 11px;font-size:.84rem;font-weight:850}.first-run-alert{color:#842029;background:#f8d7da;border:1px solid #f5c2c7;border-radius:6px;margin:0 24px 18px;padding:10px 12px;font-weight:800}.first-run-actions{background:#fbfcfb;border-top:1px solid #eef1f4;justify-content:space-between;gap:12px;padding:18px 24px 24px;display:flex}.first-run-actions .inline-flex{min-width:132px}@media (hover:hover) and (pointer:fine){.meal-card-actions{opacity:0;pointer-events:none;transition:opacity .16s,transform .16s;transform:translateY(4px)}.daily-meal-card:focus-within .meal-card-actions,.daily-meal-card:hover .meal-card-actions,.meal-row:focus-within .meal-card-actions,.meal-row:hover .meal-card-actions{opacity:1;pointer-events:auto;transform:translateY(0)}}@media (max-width:1180px){.week-board{grid-template-columns:repeat(7,minmax(118px,1fr))}}@media (max-width:980px){.app-shell{min-height:100dvh;display:block;overflow:visible}.sidebar{display:none}.main{padding:18px 18px calc(84px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;min-height:100dvh}.main,.view-root{overflow:visible}.mobile-menu-button{display:grid}.topbar{align-items:flex-start}.topbar-title{grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:10px}.topbar-title .eyebrow,.topbar-title h1{grid-column:2}.topbar-title h1{line-height:.95;transform:translateY(-3px)}.topbar-brand{grid-row:1/span 2;place-items:center;width:42px;height:42px;display:grid}.topbar-brand img{object-fit:contain;width:42px;height:42px}.icon-button,.profile-button div{display:none}.logout-button,.mobile-menu-button,.profile-button{flex:0 0 38px;place-items:center;width:38px;min-width:0;height:38px;padding:0;display:grid}.profile-button span{flex:0 0 38px;width:38px;height:38px}.logout-button span{display:none}.logout-button .logout-icon{display:block}.mobile-menu{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fffffff0;margin:16px 0 0;padding:10px;display:none}.mobile-menu.open{gap:6px;display:grid}.mobile-menu-item{border-radius:var(--radius);align-items:center;gap:10px;min-height:42px;padding:10px;font-weight:900;display:flex}.planning-flash-message{bottom:calc(67px + env(safe-area-inset-bottom));max-width:min(420px,100vw - 20px)}.mobile-tabbar{z-index:80;padding:5px 4px max(5px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(160%);background:#fffffff0;border-top:1px solid #1f29331a;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1f293314}.guided-tour-controls{bottom:calc(64px + env(safe-area-inset-bottom));padding-bottom:10px}.mobile-tab-item{color:#727b76;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;min-height:54px;padding:5px 1px 3px;font-size:.68rem;font-weight:800;line-height:1;text-decoration:none;transition:color .16s;display:flex;position:relative;overflow:hidden}.mobile-tab-item:before{background:var(--green);content:"";opacity:0;border-radius:3px;width:24px;height:3px;transition:opacity .16s,transform .16s;position:absolute;top:0;transform:scaleX(.5)}.mobile-tab-item.active{color:#13744f}.mobile-tab-item.active:before{opacity:1;transform:scaleX(1)}.mobile-tab-item span{text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.public-feature-grid,.public-hero{grid-template-columns:1fr}.public-hero{min-height:auto;padding-top:42px}.dashboard-engagement,.dashboard-hero,.dashboard-main{grid-template-columns:1fr}.dashboard-hero{flex-direction:column;align-items:flex-start}.dashboard-grid{grid-template-columns:1fr}.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.daily-planning-toolbar{grid-template-columns:minmax(0,1fr);gap:4px}.daily-date-navigation{grid-area:1/1;width:100%}.daily-toolbar-options{grid-column:2}.daily-toolbar-options .zoom-control{display:none}.daily-navigation-drawer .daily-toolbar-options .zoom-control{display:grid}.daily-nutrition-summary{grid-template-columns:116px minmax(0,1fr);gap:16px;padding:16px}.daily-macro-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}}@media (max-width:680px){.dashboard-tutorial-prompt{gap:7px}.affiliate-panel,.dashboard-tutorial-prompt,.panel-heading,.section-tools,.zen-toolbar{flex-direction:column;align-items:flex-start}.zen-toolbar{gap:6px}.daily-planning-toolbar{grid-template-columns:1fr;gap:4px;min-height:0}.daily-drawer-toggle{width:26px;height:18px;top:-9px}.daily-date-navigation{grid-column:1;grid-template-columns:32px minmax(0,1fr) 32px;gap:5px;width:100%}.daily-date-navigation>button:not(.daily-current-date){width:32px;height:32px}.daily-current-date strong{font-size:.95rem;line-height:1.05}.daily-current-date span{font-size:.56rem;line-height:1}.daily-quick-search{grid-template-columns:26px minmax(0,1fr) 24px 28px 28px;height:32px}.daily-quick-search-wrap{grid-column:1;width:100%}.daily-quick-search input{font-size:16px}.daily-quick-search button{width:26px;height:26px}.daily-quick-search-clear-spacer{width:24px}.daily-quick-search .daily-quick-search-clear{width:22px;height:22px}.daily-quick-search-results{max-height:min(64dvh,520px)}.daily-quick-result{grid-template-columns:52px minmax(0,1fr);gap:7px;padding:7px}.daily-quick-result-image{width:50px;height:50px}.daily-quick-result-heading{grid-template-columns:minmax(0,1fr) 66px;gap:5px}.daily-quick-result-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-quick-result-actions button{min-height:25px;padding-top:1px;padding-bottom:1px;font-size:.64rem}.daily-quick-meal-icon{flex-basis:14px;width:14px;height:14px}.daily-quick-meal-icon svg{width:9px;height:9px}.daily-toolbar-options{grid-column:1;justify-content:center;gap:5px}.daily-toolbar-options .zoom-control{width:min(100%,200px);display:grid}.daily-toolbar-options .period-suggestion-trigger{min-height:32px}.daily-navigation-drawer,.daily-planning-drawer{gap:3px;padding:7px 7px 4px}.daily-navigation-drawer-control,.daily-planning-drawer-control{padding-top:10px}.planning-day-view{gap:10px;margin-top:0}.daily-nutrition-summary{grid-template-columns:88px minmax(0,1fr);gap:10px;padding:11px}.daily-calorie-ring{width:82px;height:82px}.daily-calorie-ring:before{width:64px;height:64px}.daily-calorie-ring strong{font-size:1rem}.daily-calorie-ring span{font-size:.54rem}.daily-macro-overview{gap:8px 10px}.daily-macro-metric{gap:3px}.daily-macro-metric strong{font-size:.66rem}.daily-macro-metric>span{font-size:.61rem}.daily-macro-progress{height:4px}.daily-meal-list{gap:10px}.daily-meal-header{grid-template-columns:30px minmax(0,1fr) auto;gap:7px;min-height:50px;padding:7px 8px}.daily-meal-icon{width:28px;height:28px}.daily-meal-icon svg{width:16px;height:16px}.daily-meal-heading{gap:2px;display:grid}.daily-meal-heading>strong{font-size:.88rem}.daily-meal-calories{font-size:.76rem}.daily-meal-tools{grid-area:2/2/auto/-1;justify-self:end;margin-top:-28px}.daily-meal-tools button{width:26px;height:26px}.daily-meal-item{grid-template-rows:repeat(2,minmax(0,auto));grid-template-columns:52px minmax(0,1fr) 62px;gap:8px;min-height:56px;padding:5px 8px}.daily-meal-item.editing{grid-template-columns:26px 48px minmax(0,1fr) 66px 28px;column-gap:5px}.daily-meal-item-delete{grid-area:1/1/3;align-self:center;display:none}.daily-meal-item.editing .daily-meal-item-delete{opacity:1;display:grid}.daily-meal-item-image{grid-area:1/1/3;width:52px;height:44px}.daily-meal-item.editing .daily-meal-item-image{grid-column:2;width:48px}.daily-meal-item-copy{grid-area:1/2/3}.daily-meal-item.editing .daily-meal-item-copy{grid-column:3}.daily-meal-item-copy button,.daily-meal-item-copy strong{font-size:.77rem}.daily-meal-item-copy>span{display:none}.daily-meal-item-quantity{grid-area:2/3;align-self:start;padding:1px 2px;font-size:.66rem}.daily-meal-item-calories{grid-area:1/3;align-self:end;font-size:.67rem}.daily-meal-item-editor{grid-area:2/4;align-self:start}.daily-meal-item-editor input{height:24px;font-size:.68rem}.daily-meal-item-editor span{padding-right:4px;font-size:.64rem}.daily-meal-item.editing .daily-meal-item-calories{grid-area:1/4}.daily-meal-item-confirm{grid-area:1/5/3;align-self:center}.daily-meal-add-row button{min-height:30px;padding-top:3px;padding-bottom:3px;font-size:.7rem}.daily-meal-actions .mini-button{min-height:34px}.daily-meal-actions.meal-card-actions{opacity:1;pointer-events:auto;transform:none}.planning-period-actions{justify-content:space-between;gap:6px;width:100%}.planning-period-label{flex:auto;font-size:.84rem}.period-suggestion-trigger{min-height:30px;padding:0 8px;font-size:.7rem}.period-suggestion-popover{gap:8px;padding:10px}.period-course-options label,.period-meal-options label{min-height:28px;padding:0 2px;font-size:.61rem}.toolbar-actions,.zoom-control{width:100%;min-width:0}.planning-nav-control{width:100%}.button-row{flex-wrap:wrap;width:100%}.ghost-button:not(.logout-button),.primary-button{flex:1;min-width:145px}.month-board,.simple-day{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-day-grid{gap:7px;padding:6px}.planning-day-grid .meal-row{flex-direction:column;align-items:stretch;gap:5px;height:200px;min-height:200px;padding:9px;display:flex;overflow:hidden}.planning-day-grid .meal-row .meal-main,.planning-day-grid .meal-row.empty-row .meal-main{gap:4px;padding-top:0}.planning-day-grid .meal-main>span:first-child{min-height:20px;color:var(--text);padding-right:54px;font-size:.8rem;line-height:1.15}.planning-day-grid .participant-avatars{gap:2px;min-height:18px}.planning-day-grid .participant-avatars span{color:#155a38;flex-basis:18px;width:18px;height:18px;font-size:.54rem}.planning-day-grid .participant-controls{display:none}.planning-day-grid .meal-main em{font-size:.72rem;line-height:1.1}.planning-day-grid .meal-item-summary{gap:1px;min-height:0;margin-top:0;display:grid;overflow:hidden}.planning-day-grid .meal-item-line{min-height:15px;font-size:.72rem;line-height:1.15;display:block}.planning-day-grid .meal-item-line-top{display:block}.planning-day-grid .meal-item-calories,.planning-day-grid .meal-item-info,.planning-day-grid .meal-item-line-top>span:last-child{display:none}.planning-day-grid .meal-item-label{font-size:.72rem;line-height:1.15}.planning-day-grid .meal-item-more{font-size:.68rem;line-height:1.1}.planning-day-grid .meal-card-actions{flex:0 0 32px;min-height:32px;margin-top:auto}.planning-day-grid .meal-card-actions .mini-button{min-height:30px;padding:0}.planning-day-grid .meal-card-actions .button-label{display:none}.planning-day-grid .meal-card-actions svg{width:16px;height:16px}.planning-day-grid .meal-card-quick-actions{gap:3px;top:33px;right:6px}.planning-day-grid .meal-library-quick-actions{gap:3px;top:6px;right:6px}.planning-day-grid .meal-library-quick-actions.with-status-actions{right:6px}.planning-day-grid .meal-library-quick-actions button{width:23px;height:23px}.planning-day-grid .has-meal-library-actions .meal-main>span:first-child,.planning-day-grid .has-meal-library-actions:not(.empty-row) .meal-main>span:first-child{padding-right:54px}.planning-day-grid .meal-clear-button,.planning-day-grid .meal-insight{width:20px;height:20px}.planning-day-grid .meal-clear-button svg,.planning-day-grid .meal-insight svg{width:12px;height:12px}.simple-day .meal-card-actions .mini-button{padding-left:6px;padding-right:6px}.simple-day.planning-day-grid .meal-card-actions .mini-button{padding:0}.week-board{grid-template-columns:1fr;overflow:visible}.modal-backdrop{align-items:center;padding:6px}.saved-meals-modal{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:12px}.saved-meals-list>button{grid-template-columns:minmax(0,1fr) 30px;gap:7px;padding:9px}.saved-meals-list .meal-macro-strip{grid-area:2/1/auto/-1}.saved-meal-open-icon{grid-area:1/2}.day-planning-modal{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:10px}.day-planning-modal-header{margin-bottom:5px;padding:0}.day-planning-modal .planning-day-grid{padding:0}.day-planning-modal .day-modal-note{margin-top:8px;font-size:.72rem}.meal-composer-modal{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:12px}.meal-composer-header{margin-bottom:3px;padding-right:38px}.meal-composer-header h2{gap:5px;font-size:.98rem}.meal-composer-type{font-size:.76rem}.meal-composer-type:before{margin-right:5px}.meal-composer-modal .picker-search{min-height:40px;padding-top:9px;padding-bottom:9px}.meal-composer-modal .picker-tags-shell{margin-bottom:0}.meal-composer-modal .picker-tag,.meal-composer-modal .picker-tags,.meal-composer-modal .picker-tags-loading{min-height:30px}.meal-composer-modal .picker-footer{padding:7px 0 max(4px,env(safe-area-inset-bottom));gap:6px;margin:6px 0 0}.meal-composer-modal .picker-footer p{font-size:.78rem}.meal-composer-modal .picker-mode button{color:#0f5138;-webkit-text-fill-color:#0f5138;min-height:40px}.picker-portion{grid-template-columns:auto minmax(72px,1fr) auto}.picker-portion small{grid-column:1/-1;justify-self:start}.panel .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-actions,.dashboard-metrics,.profile-field-grid,.profile-picker-results{grid-template-columns:1fr}.panel .rounded-md.bg-emerald-50{min-width:0;padding-left:8px;padding-right:8px}.panel .rounded-md.bg-emerald-50 span,.panel .rounded-md.bg-emerald-50 strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.public-home{padding:18px}.public-nav{align-items:flex-start}.public-nav>div{flex-wrap:wrap;justify-content:flex-end}.public-hero h1{font-size:2.6rem}.public-product-shot{min-height:auto}.first-run-card{border-left:0;border-right:0;border-radius:0}.first-run-actions{position:sticky;bottom:0}}.admin-hero{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.admin-hero-icon{color:#047857;background:#22c55e1f;border-radius:8px;place-items:center;width:42px;height:42px;margin-bottom:10px;display:inline-grid}.admin-hero h2,.admin-tagging h2{margin:2px 0 4px;font-size:1.35rem;font-weight:950}.admin-hero p,.admin-tagging-header p{max-width:640px;color:var(--muted);margin:0;font-size:.92rem}.admin-hero-actions{flex:none}.admin-tagging{gap:16px;display:grid}.admin-tagging-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.admin-tagging-total{border:1px solid var(--line);color:#0f766e;white-space:nowrap;border-radius:8px;align-items:center;gap:8px;min-height:34px;padding:7px 10px;font-size:.82rem;font-weight:900;display:inline-flex}.admin-tagging-filters{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,170px));gap:10px;display:grid}.admin-tagging-filters input,.admin-tagging-filters select{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;font-size:.9rem;font-weight:800}.admin-tagging-filters select{padding:0 10px}.admin-tagging-filters .search-field{border:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);background:#fff;border-radius:8px;align-items:center;gap:8px;padding:0 10px;display:flex}.admin-tagging-filters .search-field input{border:0;outline:0;min-height:0;padding:0}.admin-tagging-filters .search-field button{width:28px;height:28px;color:var(--muted);background:#f1f5f9;border:0;border-radius:999px;flex:0 0 28px;place-items:center;display:grid}.admin-tagging-error{color:#b91c1c;align-items:center;gap:8px;margin:0;font-size:.88rem;font-weight:900;display:inline-flex}.admin-autotag-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-autotag-actions button{border:1px solid var(--line);color:#334155;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:950;display:inline-flex}.admin-autotag-actions button.strong{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.admin-autotag-actions button:disabled{cursor:not-allowed;opacity:.55}.admin-autotag-report{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;gap:8px;padding:10px;font-size:.82rem;display:grid}.admin-autotag-report.applied{color:#047857;background:#f0fdf4;border-color:#bbf7d0}.admin-autotag-report strong{font-weight:950}.admin-autotag-report div{flex-wrap:wrap;gap:6px;display:flex}.admin-autotag-report span{background:#ffffffb8;border-radius:999px;max-width:100%;padding:4px 7px;font-weight:850;display:inline-flex}.admin-meal-tabs,.admin-template-list,.admin-template-search-results{gap:8px;display:grid}.admin-meal-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-meal-tabs button,.admin-template-list button,.admin-template-save,.admin-template-search-results button{border:1px solid var(--line);border-radius:var(--radius);color:#34433b;background:#fff;min-height:36px;font-weight:900}.admin-meal-tabs button.active{color:#155a38;background:var(--green-soft);border-color:#22a06b59}.admin-template-builder{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:start;gap:14px;display:grid}.admin-template-draft,.admin-template-form{gap:10px;display:grid}.admin-template-draft input,.admin-template-form>input{border:1px solid var(--line);border-radius:var(--radius);min-width:0;height:42px;padding:0 10px;font-weight:900}.admin-template-search-results button{text-align:left;justify-content:flex-start;align-items:center;gap:8px;padding:0 10px;display:flex}.admin-template-draft{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfb;padding:12px}.admin-template-draft>div{grid-template-columns:minmax(0,1fr) 82px 34px;align-items:center;gap:8px;display:grid}.admin-template-draft span,.admin-template-list span{min-width:0;color:var(--muted);text-overflow:ellipsis;font-size:.84rem;font-weight:850;overflow:hidden}.admin-template-draft span small{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;display:block;overflow:hidden}.admin-template-draft>p{color:var(--muted);margin:0;font-weight:850}.admin-template-save{color:#fff;background:#22a06b;justify-content:center;align-items:center;gap:8px;display:inline-flex}.admin-template-list article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.admin-template-list header{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-template-list header>div:first-child{min-width:0}.admin-template-list header>div:last-child{flex:none;gap:8px;display:flex}.admin-template-composition{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.admin-template-composition li{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;font-size:.88rem;display:flex}.admin-template-composition li span{color:#334155;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-template-composition li small{color:var(--muted);flex:none;font-size:.78rem;font-weight:900}.admin-template-summary{border-radius:var(--radius);background:#f2fbf5;gap:8px;padding:10px;display:grid}.admin-template-summary.compact{margin-top:8px;padding:8px}.admin-template-summary>div:first-child{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.admin-template-summary strong{color:#155a38}.admin-template-tags{flex-wrap:wrap;gap:6px;display:flex}.admin-template-tags span{color:#34433b;background:#fff;border-radius:999px;width:fit-content;padding:4px 7px;font-size:.75rem;font-weight:900}.admin-tagging-list{gap:10px;display:grid}.admin-food-row{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;gap:12px;padding:12px;display:grid}.admin-food-main{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.admin-food-main strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:950;display:block;overflow:hidden}.admin-food-main span{color:var(--muted);margin-top:3px;font-size:.78rem;font-weight:800;display:block}.admin-exclusion-toggle{color:#047857;white-space:nowrap;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:999px;min-height:32px;padding:0 10px;font-size:.76rem;font-weight:950}.admin-exclusion-toggle.active{color:#be123c;background:#fff1f2;border-color:#fecaca}.admin-tag-groups{gap:9px;display:grid}.admin-tag-group{grid-template-columns:92px minmax(0,1fr);align-items:flex-start;gap:10px;display:grid}.admin-tag-group>span{color:var(--muted);text-transform:uppercase;padding-top:5px;font-size:.7rem;font-weight:950}.admin-tag-group>div{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.admin-tag-pill{border:1px solid var(--line);color:#475569;background:#fff;border-radius:999px;align-items:center;gap:4px;min-height:28px;padding:0 9px;font-size:.75rem;font-weight:900;display:inline-flex}.admin-tag-pill.active{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.admin-tagging-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:8px;margin:0;padding:18px;font-weight:850}.coach-page-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px;padding-bottom:16px;display:flex}.coach-page-header h1{margin:2px 0 0;font-size:1.7rem;font-weight:950}.back-link{color:var(--muted);align-items:center;gap:7px;margin-bottom:10px;font-size:.86rem;font-weight:900;display:inline-flex}.coach-workspace{gap:16px;margin-top:16px;display:grid}.coach-brief{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.coach-brief h2,.coach-challenge-card h2,.coach-discovery h2,.coach-insight h2,.coach-priorities h2,.coach-recipes h2,.coach-training h2{margin:2px 0 4px;font-size:1.15rem;font-weight:950}.coach-brief p,.coach-challenge-card p,.coach-insight p{color:var(--muted);margin:0;font-size:.92rem;line-height:1.55}.coach-score{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:50%;place-items:center;width:82px;height:82px;display:grid}.coach-score strong{margin-bottom:-18px;font-size:1.65rem;font-weight:950}.coach-score span{font-size:.75rem;font-weight:900}.coach-grid{grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:16px;display:grid}.coach-bottom-grid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:16px;display:grid}.coach-action-list,.coach-food-list,.coach-recipe-strip,.coach-training-list{gap:9px;display:grid}.coach-action-row{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid}.coach-action-row strong,.coach-food-row strong,.coach-recipe-chip strong,.coach-training-row strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:950;display:block;overflow:hidden}.coach-action-row small,.coach-food-row span,.coach-recipe-chip span{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:800;display:block}.coach-action-icon{color:#475569;background:#f1f5f9;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.coach-action-icon.urgent{color:#c2410c;background:#fff7ed}.coach-action-icon.focus{color:#047857;background:#ecfdf5}.coach-action-icon.ok{color:#2563eb;background:#eff6ff}.coach-challenge-card{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.coach-complete-button{color:#047857;white-space:nowrap;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:.82rem;font-weight:950;display:inline-flex}.coach-complete-button.done{color:#64748b;background:#f8fafc}.coach-food-row,.coach-recipe-chip,.coach-training-row{border:1px solid var(--line);background:#ffffffb8;border-radius:8px;padding:11px}.coach-training-row{grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;display:grid}.coach-training-row p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.coach-training-row span{color:#047857;grid-area:1/2/3;align-self:center;font-size:.8rem;font-weight:950}.coach-food-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.coach-food-row em{color:#047857;flex:none;font-size:.82rem;font-style:normal;font-weight:950}.coach-recipe-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.coach-recipe-chip{min-width:0}@media (max-width:900px){.admin-food-main,.admin-hero,.admin-tagging-header{flex-direction:column;align-items:flex-start}.admin-tagging-filters{grid-template-columns:1fr 1fr}.admin-tagging-filters .search-field{grid-column:1/-1}.coach-bottom-grid,.coach-grid,.coach-recipe-strip,.food-result-grid,.recipe-card-grid,.recipe-creation-layout,.recipe-detail-grid,.recipe-detail-hero,.recipe-toolbar{grid-template-columns:1fr}.recipe-toolbar{align-items:stretch}.recipe-detail-visual{min-height:300px}}@media (max-width:680px){.admin-tag-group,.admin-tagging-filters{grid-template-columns:1fr}.admin-tag-group{gap:4px}.admin-tag-group>span{padding-top:0}.admin-food-main strong{white-space:normal}.coach-challenge-card,.coach-page-header{flex-direction:column;align-items:flex-start}.coach-brief{grid-template-columns:1fr}.coach-score{width:68px;height:68px}.coach-action-row strong,.coach-food-row strong,.coach-recipe-chip strong,.recipe-card h3{white-space:normal}.recipe-hero{flex-direction:column;align-items:flex-start}.recipe-builder-inline{grid-template-columns:1fr}.recipe-detail-intro h1{font-size:2rem}.recipe-detail-actions>button,.recipe-detail-add,.recipe-detail-add button,.recipe-detail-add>div,.recipe-filter-row{width:100%}.recipe-filter-row button{flex:1;justify-content:center;min-width:130px}.recipe-rail-scroll{grid-auto-columns:minmax(240px,86vw)}.recipe-creation-modal{width:calc(100vw - 12px);max-height:calc(100vh - 12px)}}.breadcrumbs{min-width:0}.breadcrumbs ol{gap:5px;margin:0;padding:0;list-style:none}.breadcrumbs li,.breadcrumbs ol{align-items:center;min-width:0;display:flex}.breadcrumbs li{color:var(--muted);font-size:.76rem;font-weight:800}.breadcrumbs li:last-child{overflow:hidden}.breadcrumbs a,.breadcrumbs button{color:inherit;text-decoration:none}.breadcrumbs button{font:inherit;background:0 0;border:0;padding:0}.breadcrumbs a:hover,.breadcrumbs button:hover{color:#08734e}.breadcrumbs [aria-current=page]{color:#29473a;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breadcrumbs svg{color:#9aa8a1;flex:none;margin-right:5px}.food-explorer{gap:30px;padding:8px 0 36px;display:grid}.food-category-zone,.food-discovery-zone,.food-search-zone,.recipe-discovery-zone{min-width:0}.food-discovery-heading,.food-explorer-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px;display:flex}.food-discovery-heading .eyebrow,.food-explorer-heading .eyebrow{color:#13825a;letter-spacing:0;text-transform:uppercase;margin:0 0 3px;font-size:.68rem;font-weight:950}.food-discovery-heading h2,.food-explorer-heading h1,.food-explorer-heading h2{color:var(--text);margin:0;font-size:1.35rem;line-height:1.2}.food-search-zone .food-explorer-search{margin-bottom:0}.recipe-discovery-grid{overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-auto-columns:210px;grid-auto-flow:column;gap:12px;min-width:0;padding:2px;display:grid;overflow:auto hidden}.recipe-discovery-grid::-webkit-scrollbar{display:none}.recipe-discovery-carousel{min-width:0}.recipe-discovery-arrows{justify-content:flex-end;gap:6px;min-width:82px;display:none}.recipe-discovery-arrows button{border:1px solid var(--line);background:var(--surface);color:#405048;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.recipe-discovery-arrows button:hover{color:#08734e;border-color:#87c9aa}.recipe-discovery-scrollbar{appearance:none;cursor:grab;touch-action:pan-x;background:0 0;width:min(360px,72%);height:18px;margin:7px auto 0;padding:0;display:block}.recipe-discovery-scrollbar:active{cursor:grabbing}.recipe-discovery-scrollbar::-webkit-slider-runnable-track{background:linear-gradient(90deg,#75b950 0 var(--recipe-scroll-progress),#dfe7e2 var(--recipe-scroll-progress) 100%);border-radius:999px;height:5px}.recipe-discovery-scrollbar::-webkit-slider-thumb{appearance:none;background:#f8fcf6;border:1px solid #5fa13e;border-radius:999px;width:38px;height:9px;margin-top:-2px;box-shadow:0 1px 4px #1f293329}.recipe-discovery-scrollbar::-moz-range-track{background:#dfe7e2;border:0;border-radius:999px;height:5px}.recipe-discovery-scrollbar::-moz-range-progress{background:#75b950;border-radius:999px;height:5px}.recipe-discovery-scrollbar::-moz-range-thumb{background:#f8fcf6;border:1px solid #5fa13e;border-radius:999px;width:38px;height:9px;box-shadow:0 1px 4px #1f293329}.recipe-discovery-card,.recipe-discovery-skeleton{border:1px solid var(--line);background:var(--surface);scroll-snap-align:start;border-radius:8px;min-width:0;height:174px;overflow:hidden}.recipe-discovery-card{color:var(--text);text-align:left;grid-template-rows:minmax(0,1fr) 48px;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.recipe-discovery-card:hover{border-color:var(--category-accent);transform:translateY(-2px);box-shadow:0 8px 20px #1f293312}.recipe-discovery-card.active{border-color:var(--category-accent);box-shadow:0 0 0 2px var(--category-accent)}@supports (color:color-mix(in lab,red,red)){.recipe-discovery-card.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--category-accent) 52%,transparent)}}.recipe-discovery-image{color:#839189;background:#f0f5f2;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.recipe-discovery-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.recipe-discovery-image small{z-index:1;color:#0f6848;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;background:#f3fcf7f0;border-radius:999px;max-width:calc(100% - 16px);padding:4px 7px;font-size:.58rem;font-weight:950;position:absolute;top:8px;left:8px;overflow:hidden;box-shadow:0 3px 10px #1f29331a}.recipe-discovery-copy{border-top:3px solid var(--category-accent);align-items:center;gap:8px;min-width:0;padding:7px 8px 7px 10px;display:flex}.recipe-discovery-copy strong{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.82rem;line-height:1.2;overflow:hidden}.recipe-discovery-count{color:#0f6848;background:var(--green-soft);border:1px solid #16805b2e;border-radius:50%;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:.72rem;font-weight:950;display:grid}.recipe-discovery-skeleton{background:#edf3ef;animation:explorer-pulse 1.2s ease-in-out infinite alternate}.food-discovery-heading>span{color:var(--muted);flex:none;font-size:.78rem;font-weight:800}.food-category-arrows{gap:6px;display:inline-flex}.food-category-arrows button,.food-explorer-search button{border:1px solid var(--line);background:var(--surface);color:#405048;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.food-category-arrows button:hover,.food-explorer-search button:hover{color:#08734e;border-color:#87c9aa}.food-category-rail{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline mandatory;grid-auto-columns:210px;grid-auto-flow:column;gap:12px;min-width:0;padding:2px;display:grid;overflow-x:auto}.food-category-rail::-webkit-scrollbar{display:none}.food-category-card,.food-category-skeleton{scroll-snap-align:start;border-radius:8px;min-width:0;height:174px}.food-category-card{border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left;grid-template-rows:minmax(0,1fr) auto;padding:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;overflow:hidden}.food-category-card:hover{border-color:var(--category-accent);transform:translateY(-2px)}.food-category-card.active{border-color:var(--category-accent);box-shadow:0 0 0 2px var(--category-accent)}@supports (color:color-mix(in lab,red,red)){.food-category-card.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--category-accent) 52%,transparent)}}.food-category-image{color:#839189;background:#f2f6f3;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.food-category-image img,.food-explorer-card-image img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.food-category-copy{border-top:3px solid var(--category-accent);gap:2px;min-width:0;padding:10px 12px 11px;display:grid}.food-category-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.91rem;line-height:1.22;overflow:hidden}.food-category-copy small{color:var(--muted);font-size:.72rem;font-weight:700}.food-category-skeleton{background:#edf3ef;border:1px solid #e7eeea;animation:explorer-pulse 1.2s ease-in-out infinite alternate}.food-discovery-zone{border-top:1px solid var(--line);padding-top:25px;scroll-margin-top:86px}.food-explorer-search{background:var(--surface);color:#617068;border:1px solid #bdcbc3;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:50px;margin-bottom:18px;padding:5px 6px 5px 15px;display:grid;box-shadow:0 7px 24px #1f29330d}.food-explorer-search:focus-within{border-color:#50ad82;box-shadow:0 0 0 3px #50ad8224}.food-explorer-search input{min-width:0;height:38px;color:var(--text);background:0 0;border:0;outline:0;padding:0;font-size:.96rem}.food-explorer-search input::-webkit-search-cancel-button{display:none}.food-explorer-search button{background:#f0f5f2;border-color:#0000;width:36px;height:36px}.food-explorer-search-actions{align-items:center;gap:3px;display:inline-flex}.food-explorer-search .food-explorer-scan-button{color:#0e7652;background:#eaf6f0;display:none}.explorer-scanner-backdrop{z-index:240;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#101b1794;place-items:center;display:grid;position:fixed;inset:0}.explorer-scanner-modal{background:var(--surface);overscroll-behavior:contain;border:1px solid #ffffff2e;border-radius:16px;width:min(420px,100%);max-height:min(720px,100dvh - 24px);padding:15px;overflow-y:auto;box-shadow:0 28px 80px #0a191357}.explorer-scanner-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.explorer-scanner-header h2{margin:2px 0 0;font-size:1.14rem}.explorer-scanner-kicker{color:#16805b;letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.explorer-scanner-header>button{border:1px solid var(--line);color:#405048;background:#f5f8f6;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;padding:0;display:inline-grid}.explorer-scanner-camera{aspect-ratio:4/3;background:#15201c;border-radius:11px;position:relative;overflow:hidden}.explorer-scanner-camera video{object-fit:cover;width:100%;height:100%}.explorer-scanner-target{pointer-events:none;border:2px solid #fffffff0;border-radius:10px;width:min(78%,290px);height:38%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 0 0 999px #08110d33}.explorer-scanner-target:after,.explorer-scanner-target:before{content:"";border-color:#64d8a3;width:24px;height:24px;position:absolute}.explorer-scanner-target:before{border-top:4px solid #64d8a3;border-left:4px solid #64d8a3;border-radius:10px 0 0;top:-3px;left:-3px}.explorer-scanner-target:after{border-bottom:4px solid #64d8a3;border-right:4px solid #64d8a3;border-radius:0 0 10px;bottom:-3px;right:-3px}.explorer-scanner-target span{background:#61dca5;border-radius:999px;height:2px;animation:explorer-scanner-line 1.8s ease-in-out infinite alternate;position:absolute;top:50%;left:7%;right:7%;box-shadow:0 0 10px #61dca5bf}.explorer-scanner-loading{z-index:2;color:#fff;background:#0e1914c7;place-content:center;justify-items:center;gap:8px;font-size:.78rem;font-weight:800;display:grid;position:absolute;inset:0}.explorer-scanner-message{color:#53645c;text-align:center;min-height:20px;margin:10px 2px;font-size:.76rem;font-weight:750}.explorer-scanner-message.is-error{color:#b42318}.explorer-scanner-manual{border-top:1px solid var(--line);gap:5px;padding-top:10px;display:grid}.explorer-scanner-manual>label{color:#607067;font-size:.7rem;font-weight:850}.explorer-scanner-manual>div{grid-template-columns:minmax(0,1fr) 42px;gap:7px;display:grid}.explorer-scanner-manual input{min-width:0;height:42px;font:inherit;background:#fbfdfc;border:1px solid #cbd7d0;border-radius:8px;outline:0;padding:0 12px}.explorer-scanner-manual input:focus{border-color:#50ad82;box-shadow:0 0 0 3px #50ad8224}.explorer-scanner-manual button{color:#fff;background:#16805b;border:0;border-radius:8px;place-items:center;width:42px;height:42px;padding:0;display:inline-grid}@keyframes explorer-scanner-line{0%{transform:translateY(-30px)}to{transform:translateY(30px)}}.food-explorer-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.food-explorer-card{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--text);border-radius:8px;transition:border-color .16s,box-shadow .16s,transform .16s;display:block;position:relative}.food-explorer-card:has(.recipe-card-popover){z-index:20}.food-explorer-card-link{border-radius:inherit;height:100%;color:inherit;grid-template-rows:148px minmax(0,1fr);text-decoration:none;display:grid;overflow:hidden}.food-explorer-card:hover{border-color:#a7cdb9;transform:translateY(-2px);box-shadow:0 10px 24px #1f293314}.food-explorer-card-image{color:#85928b;background:#f1f5f2;place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.food-explorer-card-body{align-content:start;gap:8px;min-width:0;padding:12px;display:grid}.food-explorer-card-body>span{color:#27835f;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.65rem;font-weight:900;line-height:1.2;overflow:hidden}.food-explorer-card h3{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:.92rem;line-height:1.25;display:-webkit-box;overflow:hidden}.food-explorer-card-meta{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.food-explorer-card-meta strong{flex:none;font-size:.83rem}.food-explorer-card-meta small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;font-weight:700;overflow:hidden}.food-explorer-card .meal-macro-strip{height:22px;margin-top:2px}.food-explorer-card .meal-macro-values{font-size:.56rem}.recipe-card-actions{z-index:4;position:absolute;top:8px;right:8px}.food-detail-quick-actions{z-index:20;width:fit-content;position:relative}.food-quick-actions.inline{width:fit-content;position:relative;inset:auto}.food-quick-actions.inline .recipe-card-popover{left:0;right:auto}.recipe-card-action-buttons{background:#fffffff0;border:1px solid #d6e1dbeb;border-radius:8px;display:inline-flex;overflow:hidden;box-shadow:0 4px 13px #1f29331f}.recipe-card-action-buttons button{border:0;border-right:1px solid var(--line);color:#4f6258;background:0 0;place-items:center;width:34px;height:32px;padding:0;display:grid}.recipe-card-action-buttons button:last-child{border-right:0}.recipe-card-action-buttons button.saved,.recipe-card-action-buttons button:hover,.recipe-card-action-buttons button[aria-expanded=true]{color:#08734e;background:#eaf7ef}.recipe-card-action-buttons button.saved:first-child{color:#d64159;background:#fff0f2}.recipe-card-popover{width:min(286px,100vw - 24px);color:var(--text);background:#fff;border:1px solid #cfddd5;border-radius:8px;gap:10px;padding:12px;display:grid;position:absolute;top:40px;right:0;box-shadow:0 16px 36px #1f29332e}.recipe-card-popover>strong{font-size:.82rem}.recipe-card-popover-row{grid-template-columns:minmax(0,1fr) 34px;gap:7px;display:grid}.recipe-card-popover select,.recipe-card-popover>input{border:1px solid var(--line);width:100%;min-width:0;height:36px;color:var(--text);background:#fbfdfb;border-radius:6px;outline:0;padding:0 9px;font-size:.76rem;font-weight:800}.recipe-card-popover select:focus,.recipe-card-popover>input:focus{border-color:#65b991;box-shadow:0 0 0 2px #50ad8221}.recipe-card-submit{color:#fff;background:#16805b;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.recipe-card-submit:disabled{cursor:default;opacity:.45}.recipe-card-submit.remove{background:#c8485b}.recipe-card-meals{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.recipe-card-meals button{border:1px solid var(--line);color:#345246;background:#f7faf8;border-radius:6px;min-width:0;min-height:34px;padding:5px 7px;font-size:.68rem;font-weight:900}.recipe-card-meals button:hover{background:#eaf7ef;border-color:#77bd9b}.recipe-card-popover small{color:var(--muted);align-items:center;gap:4px;font-size:.68rem;font-weight:800;display:flex}.recipe-card-popover small.success{color:#08734e}.recipe-card-popover small.error{color:#b42318}.food-explorer-empty,.food-explorer-loading{min-height:230px;color:var(--muted);place-items:center;display:grid}.food-explorer-empty{text-align:center;align-content:center;gap:6px}.food-explorer-empty strong{color:var(--text)}.food-explorer-empty span{font-size:.82rem}.food-explorer-error{color:#b42318;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 0 16px;padding:10px 12px;font-size:.82rem;font-weight:750}.food-explorer-more{justify-content:center;padding-top:22px;display:flex}@keyframes explorer-pulse{to{opacity:.55}}@media (max-width:1100px){.food-explorer-search .food-explorer-scan-button{display:inline-grid}.recipe-discovery-grid{grid-auto-columns:190px}.food-explorer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.food-category-rail{grid-auto-columns:190px}}@media (hover:hover) and (pointer:fine){.recipe-discovery-arrows{display:flex}}@media (max-width:720px){.food-explorer{gap:25px;padding-top:2px}.food-explorer>.breadcrumbs+.food-search-zone{margin-top:-20px}.food-discovery-zone-default,.food-search-zone>.food-explorer-heading{display:none}.food-discovery-heading,.food-explorer-heading{align-items:flex-end;margin-bottom:11px}.food-discovery-heading h2,.food-explorer-heading h1,.food-explorer-heading h2{font-size:1.12rem}.recipe-discovery-grid{grid-auto-columns:minmax(148px,43vw);gap:9px;margin-inline:-2px}.recipe-discovery-card,.recipe-discovery-skeleton{height:146px}.recipe-discovery-card{grid-template-rows:minmax(0,1fr) 44px}.recipe-discovery-copy{gap:5px;padding:6px 6px 6px 8px}.recipe-discovery-copy strong{font-size:.75rem}.recipe-discovery-count{flex-basis:30px;width:30px;height:30px;font-size:.68rem}.food-category-arrows{display:none}.food-category-rail{grid-auto-columns:minmax(148px,43vw);gap:9px;margin-inline:-2px}.food-category-card,.food-category-skeleton{height:146px}.food-category-copy{padding:8px 9px 9px}.food-category-copy strong{font-size:.8rem}.food-discovery-zone{padding-top:20px;scroll-margin-top:72px}.food-explorer-search{min-height:46px;margin-bottom:12px;padding-left:11px}.food-explorer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.food-explorer-card-link{grid-template-rows:112px minmax(0,1fr)}.food-explorer-card:nth-child(odd) .recipe-card-popover{left:-1px;right:auto}.recipe-card-actions{top:6px;right:6px}.recipe-card-action-buttons button{width:31px;height:30px}.food-explorer-card-body{gap:6px;padding:9px}.food-explorer-card-body>span{font-size:.58rem}.food-explorer-card h3{font-size:.8rem}.food-explorer-card-meta{flex-direction:column;align-items:flex-start;gap:0}.food-explorer-card-meta strong{font-size:.75rem}.food-explorer-card-meta small{width:100%}}.food-detail-page{gap:26px;padding:8px 0 38px;display:grid}.food-detail-back{width:fit-content;color:var(--muted);align-items:center;gap:6px;font-size:.84rem;font-weight:900;text-decoration:none;display:inline-flex}.food-detail-back:hover{color:#08734e}.food-detail-hero{grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);align-items:center;gap:34px;display:grid}.food-detail-image{border:1px solid var(--line);color:#84928a;background:#fff;border-radius:8px;place-items:center;min-height:430px;display:grid;overflow:hidden}.food-detail-image img{object-fit:contain;width:100%;height:430px;padding:18px}.food-detail-summary{align-content:center;gap:16px;min-width:0;max-width:650px;display:grid}.food-detail-summary .eyebrow{margin:0}.food-detail-summary h1{overflow-wrap:anywhere;color:var(--text);margin:0;font-size:2.35rem;font-weight:950;line-height:1.08}.food-detail-description{color:var(--muted);margin:-5px 0 0;line-height:1.55}.food-detail-tags{flex-wrap:wrap;gap:6px;display:flex}.food-detail-tags span{color:#4f6f27;background:#8fbf2e14;border:1px solid #4f841f2e;border-radius:999px;padding:5px 8px;font-size:.75rem;font-weight:750;line-height:1}.food-detail-portion-block{border:1px solid var(--line);background:#f9fbfa;border-radius:8px;gap:10px;max-width:440px;padding:13px;display:grid}.food-detail-portion-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.food-detail-portion-heading>span{align-items:center;gap:7px;font-size:.82rem;font-weight:950;display:inline-flex}.food-detail-presets{gap:4px;display:inline-flex}.food-detail-presets button{border:1px solid var(--line);min-height:29px;color:var(--muted);background:#fff;border-radius:6px;padding:0 9px;font-size:.72rem;font-weight:900}.food-detail-presets button.active{background:var(--green-soft);color:#0b6847;border-color:#86c4a6}.food-detail-stepper{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;display:grid}.food-detail-stepper>button{border:1px solid var(--line);color:#28664d;background:#fff;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.food-detail-stepper label{background:#fff;border:1px solid #b9c9c0;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-width:0;display:grid}.food-detail-stepper input{width:100%;min-width:0;height:36px;color:var(--text);background:0 0;border:0;outline:0;padding:0 5px 0 12px;font-weight:950}.food-detail-stepper label span{color:var(--muted);padding-right:11px;font-size:.78rem;font-weight:850}.food-detail-portion-block>small{color:var(--muted);font-size:.72rem;font-weight:750}.food-detail-energy{align-items:flex-end;gap:12px;display:flex}.food-detail-energy>div{align-items:baseline;gap:7px;display:flex}.food-detail-energy strong{font-size:2.4rem;line-height:1}.food-detail-energy span{color:#08734e;font-size:.9rem;font-weight:950}.food-detail-energy>small{color:var(--muted);padding-bottom:3px;font-size:.76rem;font-weight:800}.food-detail-summary .meal-macro-strip{max-width:440px;height:30px}.food-detail-nutrition{border-top:1px solid var(--line);gap:16px;padding-top:24px;display:grid}.food-detail-nutrition>header{justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.food-detail-nutrition h2{margin:0;font-size:1.3rem}.food-nutriscore{color:#173126;background:#e8efeb;border-radius:7px;align-items:center;min-height:30px;padding:0 10px;font-size:.74rem;font-weight:950;display:inline-flex}.food-nutriscore.score-a{background:#ccebd8}.food-nutriscore.score-b{background:#dcecb9}.food-nutriscore.score-c{background:#f7e6a7}.food-nutriscore.score-d{background:#f4c6a8}.food-nutriscore.score-e{background:#efb6b2}.food-detail-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.food-detail-nutrient{color:#26352e;border-radius:8px;gap:5px;min-width:0;padding:14px;display:grid}.food-detail-nutrient.protein{background:var(--macro-protein)}@supports (color:color-mix(in lab,red,red)){.food-detail-nutrient.protein{background:color-mix(in srgb,var(--macro-protein) 48%,white)}}.food-detail-nutrient.carbs{background:var(--macro-carbs)}@supports (color:color-mix(in lab,red,red)){.food-detail-nutrient.carbs{background:color-mix(in srgb,var(--macro-carbs) 48%,white)}}.food-detail-nutrient.fat{background:var(--macro-fat)}@supports (color:color-mix(in lab,red,red)){.food-detail-nutrient.fat{background:color-mix(in srgb,var(--macro-fat) 48%,white)}}.food-detail-nutrient span{font-size:.74rem;font-weight:850}.food-detail-nutrient strong{text-overflow:ellipsis;white-space:nowrap;font-size:1.18rem;overflow:hidden}.food-detail-secondary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;display:grid}.food-detail-secondary-grid>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;min-width:0;padding:11px 0;display:flex}.food-detail-secondary-grid span{min-width:0;color:var(--muted);font-size:.75rem;font-weight:800}.food-detail-secondary-grid strong{flex:none;font-size:.78rem}@media (max-width:920px){.food-detail-hero{grid-template-columns:minmax(250px,.82fr) minmax(0,1.18fr);gap:22px}.food-detail-image,.food-detail-image img{height:350px;min-height:350px}.food-detail-summary h1{font-size:1.85rem}.food-detail-secondary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.food-detail-page{gap:18px;padding-top:2px}.food-detail-hero{grid-template-columns:1fr;gap:17px}.food-detail-image,.food-detail-image img{height:270px;min-height:270px}.food-detail-image img{object-position:center 58%;padding:10px}.food-detail-summary{gap:13px}.food-detail-summary h1{font-size:1.6rem}.food-detail-portion-block{max-width:none}.food-detail-energy strong{font-size:2rem}.food-detail-nutrition{padding-top:18px}.food-detail-macro-grid{gap:7px}.food-detail-nutrient{padding:10px 8px}.food-detail-nutrient strong{font-size:.94rem}.food-detail-secondary-grid{grid-template-columns:1fr}}.recipe-binder-detail,.recipe-editor-page,.recipe-library{gap:22px;padding:8px 0 38px;display:grid}.recipe-library-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:18px;padding-bottom:18px;display:flex}.recipe-binder-detail>header h2,.recipe-library-toolbar h2{margin:0;font-size:1.5rem}.recipe-library-actions{gap:8px;display:flex}.recipe-library-actions a{text-decoration:none}.recipe-binder-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.recipe-binder-card{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-rows:minmax(0,1fr) auto;min-width:0;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative;overflow:hidden}.recipe-binder-card:hover{border-color:#9ecbb5;transform:translateY(-2px);box-shadow:0 10px 26px #1f293314}.recipe-binder-card.system{border-color:#99caae}.recipe-binder-card.dragging{opacity:.55}.recipe-binder-main{min-width:0;color:var(--text);text-decoration:none;display:grid}.recipe-binder-preview{aspect-ratio:16/9;background:#e6ede9;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid;overflow:hidden}.recipe-binder-content-grid>a>span,.recipe-binder-preview>span,.recipe-selection-list button>span{color:#9aa69f;background:#f0f4f1;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.recipe-binder-preview>span.meal-placeholder{color:#5c8c73;background:#edf6f1}.recipe-binder-preview>span.meal-placeholder:nth-child(2),.recipe-binder-preview>span.meal-placeholder:nth-child(3){color:#a87b24;background:#fff8e8}.recipe-binder-content-grid img,.recipe-binder-preview img,.recipe-selection-list img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.recipe-binder-copy{grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:13px 78px 12px 13px;display:grid}.recipe-binder-detail>header>span,.recipe-binder-icon{background:var(--green-soft);color:#0b6847;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.recipe-binder-copy h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.94rem;overflow:hidden}.recipe-binder-copy p{color:var(--muted);margin:2px 0 0;font-size:.74rem;font-weight:800}.recipe-binder-controls{color:#9ba7a0;align-items:center;gap:5px;display:flex;position:absolute;bottom:13px;right:9px}.recipe-binder-controls>span{color:#398261;text-transform:uppercase;font-size:.65rem;font-weight:900}.recipe-binder-controls button{border:1px solid var(--line);color:#536159;background:#fff;border-radius:50%;place-items:center;width:32px;height:32px;padding:0;display:grid}.recipe-binder-controls button:hover{color:#08734e;border-color:#86c4a6}.recipe-library-empty,.recipe-library-loading{min-height:240px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:7px;display:grid}.recipe-library-empty a{color:#08734e;font-size:.82rem;font-weight:900}.recipe-library-error{color:#b42318;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:10px 12px;font-size:.82rem;font-weight:800}.recipe-binder-modal{gap:17px;width:min(460px,100vw - 24px);display:grid}.recipe-binder-modal header h2,.recipe-selection-modal header h2{margin:0;font-size:1.25rem}.recipe-binder-name-field{color:var(--muted);gap:6px;font-size:.78rem;font-weight:900;display:grid}.recipe-binder-name-field input{border:1px solid var(--line);width:100%;height:42px;color:var(--text);background:#fbfdfb;border-radius:8px;outline:0;padding:0 11px;font-weight:850}.recipe-binder-name-field input:focus{border-color:#74b996;box-shadow:0 0 0 3px #50ad821f}.recipe-binder-icon-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.recipe-binder-icon-picker button{aspect-ratio:1;border:1px solid var(--line);color:#647169;background:#fff;border-radius:7px;place-items:center;padding:0;display:grid}.recipe-binder-icon-picker button.active{background:var(--green-soft);color:#08734e;border-color:#66ad8b}.recipe-binder-order-controls{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:.78rem;font-weight:850;display:flex}.recipe-binder-order-controls>div{gap:5px;display:flex}.recipe-binder-delete,.recipe-binder-order-controls button{border:1px solid var(--line);color:#536159;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:.74rem;font-weight:850;display:inline-flex}.recipe-binder-order-controls button:disabled{cursor:default;opacity:.35}.recipe-binder-modal footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.recipe-binder-delete{color:#b42318;border-color:#fecaca}.recipe-binder-detail>header{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:17px;display:grid}.recipe-binder-detail>header>span{width:46px;height:46px}.recipe-binder-detail>header p{margin-bottom:2px}.recipe-binder-detail>header small{color:var(--muted);font-weight:800}.recipe-binder-content-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.recipe-binder-content-grid>a{border:1px solid var(--line);min-width:0;color:var(--text);background:#fff;border-radius:8px;grid-template-rows:150px auto auto;gap:4px;padding-bottom:11px;text-decoration:none;display:grid;overflow:hidden}.recipe-binder-content-grid small,.recipe-binder-content-grid strong{text-overflow:ellipsis;white-space:nowrap;margin-inline:11px;overflow:hidden}.recipe-binder-content-grid strong{margin-top:7px;font-size:.86rem}.recipe-binder-content-grid small{color:var(--muted);font-weight:800}.saved-meal-binder-groups{gap:24px;display:grid}.saved-meal-binder-group{gap:10px;min-width:0;display:grid}.saved-meal-binder-group>header{align-items:center;gap:8px;min-width:0;display:flex}.saved-meal-binder-group>header>span{color:#126747;background:var(--green-soft);border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.saved-meal-binder-group>header h3{min-width:0;margin:0;font-size:1rem}.saved-meal-binder-group>header small{color:#126747;background:#eef4f0;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.68rem;font-weight:900;display:grid}.saved-meal-binder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.saved-meal-swipe-shell{border-radius:8px;min-width:0;position:relative;overflow:visible}.saved-meal-binder-card{z-index:2;border:1px solid var(--line);touch-action:pan-y;background:#fff;border-radius:8px;grid-template-columns:116px minmax(0,1fr);width:100%;min-width:0;height:100%;transition:transform .18s;display:grid;position:relative;overflow:hidden}.saved-meal-binder-card.dragging{transition:none}.saved-meal-delete-button{z-index:3;color:#b34e4e;background:#fffffff0;border:1px solid #f0c9c9;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid;position:absolute;top:8px;right:8px}.saved-meal-delete-button:hover:not(:disabled){color:#fff;background:#d95757}.saved-meal-delete-button:disabled{cursor:wait;opacity:.7}.saved-meal-binder-preview{background:#e8efeb;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-width:0;min-height:116px;display:grid}.saved-meal-binder-preview.count-1>span{grid-area:1/1/-1/-1}.saved-meal-binder-preview.count-2>span,.saved-meal-binder-preview.count-3>span:first-child{grid-row:1/-1}.saved-meal-binder-preview>span{color:#6c8f7b;background:#eef6f1;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.saved-meal-binder-preview img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.saved-meal-binder-copy{align-content:start;gap:7px;min-width:0;padding:10px;display:grid}.saved-meal-binder-copy>div{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;padding-right:30px;display:flex}.saved-meal-binder-copy>div strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.84rem;overflow:hidden}.saved-meal-binder-copy>div small{color:var(--muted);flex:none;font-size:.68rem;font-weight:850}.saved-meal-binder-copy ul{gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.saved-meal-binder-copy li{min-width:0;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.7rem;display:flex}.saved-meal-binder-copy li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.saved-meal-binder-copy li small{color:var(--muted);flex:none;font-size:.66rem;font-weight:800}.meal-builder-page{gap:18px;min-width:0;padding:8px 0 38px;display:grid}.meal-builder-settings{grid-template-columns:minmax(0,1fr) minmax(230px,.48fr);align-items:end;gap:18px;min-width:0;display:grid}.meal-builder-type-row{gap:7px;min-width:0;display:grid}.meal-builder-type-row h3{margin:0;font-size:.78rem}.meal-builder-type-picker{border:1px solid var(--line);background:#f6faf7;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid;overflow:hidden}.meal-builder-type-picker button{border:0;border-right:1px solid var(--line);min-width:0;min-height:42px;color:var(--muted);white-space:nowrap;background:0 0;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:.72rem;font-weight:900;display:inline-flex;overflow:hidden}.meal-builder-type-picker button:last-child{border-right:0}.meal-builder-type-picker button.active{color:#0f6848;background:var(--green-soft)}.meal-builder-type-picker button svg{flex:none}.meal-type-short{display:none}.meal-builder-name{min-width:0;color:var(--text);gap:7px;font-size:.78rem;font-weight:900;display:grid}.meal-builder-name small{color:var(--muted);font-size:.65rem}.meal-builder-name input{border:1px solid var(--line);width:100%;min-width:0;min-height:42px;color:var(--text);background:#fbfdfb;border-radius:8px;outline:0;padding:0 11px;font-size:.78rem;font-weight:800}.meal-builder-name input:focus{border-color:#74b996;box-shadow:0 0 0 3px #50ad821f}.meal-target-panel{border:1px solid var(--line);background:#fbfdfb;border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid}.meal-target-panel>header{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.meal-target-panel>header h3{margin:0;font-size:.94rem}.meal-target-panel>header>strong{color:#126747;flex:none;font-size:1.08rem}.meal-target-panel>header>strong small{color:var(--muted);font-size:.7rem}.meal-target-panel>.meal-macro-strip{height:30px}.meal-target-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.meal-target-metric{gap:5px;min-width:0;display:grid}.meal-target-metric>div{justify-content:space-between;align-items:baseline;gap:6px;min-width:0;display:flex}.meal-target-metric>div>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:850;overflow:hidden}.meal-target-metric>div strong{flex:none;font-size:.72rem}.meal-target-metric>div small{color:var(--muted);font-size:.62rem}.meal-target-track{background:#e8eeea;border-radius:999px;height:6px;overflow:hidden}.meal-target-track>span{border-radius:inherit;background:#83c8a6;width:0;height:100%;transition:width .18s;display:block}.meal-target-metric:nth-child(2) .meal-target-track>span{background:var(--macro-carbs)}.meal-target-metric:nth-child(3) .meal-target-track>span{background:var(--macro-fat)}.meal-target-metric:nth-child(4) .meal-target-track>span{background:var(--macro-protein)}.meal-target-metric.close strong{color:#14734f}.meal-target-metric.over strong{color:#b34e4e}.meal-target-metric.over .meal-target-track>span{background:#e99b91}.meal-target-loading{height:44px}.meal-target-missing{color:var(--muted);margin:0;font-size:.75rem;font-weight:800}.meal-builder-catalog{min-width:0;padding-top:4px}.meal-builder-catalog .meal-picker{min-width:0}.meal-builder-catalog .picker-results{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;padding-right:0;overflow:visible}.meal-builder-catalog .picker-footer{z-index:5;background:#fffffff5;margin:12px 0 0;padding:12px 0 0;bottom:0}.meal-builder-catalog .picker-mode{border-color:#22a06b40}@media (hover:none) and (pointer:coarse){.daily-meal-item-swipe-shell{background:#d94747}.daily-meal-item-swipe-delete{z-index:1;color:#fff;background:#d94747;border:0;justify-content:flex-end;align-items:center;width:100%;height:100%;padding:0 23px 0 0;transition:background .14s,padding .18s;display:flex;position:absolute;inset:0}.daily-meal-item-swipe-delete svg{transition:transform .18s cubic-bezier(.22,.61,.36,1)}.daily-meal-item-swipe-shell.delete-ready .daily-meal-item-swipe-delete{background:#c93333;justify-content:center;padding-right:0}.daily-meal-item-swipe-shell.delete-ready .daily-meal-item-swipe-delete svg{transform:scale(1.16)}.daily-meal-item-swipe-delete:active:not(:disabled){background:#bf3232}.saved-meal-swipe-shell{background:#d94747;overflow:hidden}.saved-meal-delete-button{z-index:1;color:#fff;background:#d94747;border:0;border-radius:0;justify-content:flex-end;align-items:center;width:100%;height:100%;padding-right:27px;display:flex;inset:0}.saved-meal-delete-button:active:not(:disabled){background:#bf3232}.saved-meal-binder-copy>div{padding-right:0}}.recipe-selection-modal{gap:15px;width:min(680px,100vw - 24px);max-height:min(760px,100vh - 24px);display:grid}.recipe-selection-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:120px;display:grid;overflow-y:auto}.recipe-selection-list button{border:1px solid var(--line);min-width:0;min-height:54px;color:var(--text);text-align:left;background:#fff;border-radius:8px;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:9px;padding:0;display:grid;overflow:hidden}.recipe-selection-list button.active{background:#f4fbf7;border-color:#70b691}.recipe-selection-list button>span{align-self:stretch}.recipe-selection-list strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.78rem;overflow:hidden}.recipe-selection-list small{color:#08734e;padding-right:9px;font-size:.68rem;font-weight:900}.recipe-editor-page{width:100%;max-width:900px;margin-inline:auto}.recipe-editor-surface{gap:14px;width:100%;display:grid}.recipe-editor-back{width:fit-content;color:var(--muted);align-items:center;gap:6px;font-size:.82rem;font-weight:900;text-decoration:none;display:inline-flex}.recipe-editor-surface .recipe-creation-header{border-bottom:1px solid var(--line);margin:0;padding:0 0 14px}.recipe-editor-surface .recipe-creation-header h2{margin:0;font-size:1.5rem}@media (max-width:1050px){.recipe-binder-content-grid,.recipe-binder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){.recipe-binder-detail,.recipe-editor-page,.recipe-library{padding-top:2px}.recipe-library-toolbar{flex-direction:column;align-items:stretch}.recipe-library-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.recipe-visibility-picker{grid-template-columns:1fr}.recipe-library-actions .app-button{text-align:center;min-width:0;height:auto;min-height:42px;padding:7px 9px;font-size:.75rem;line-height:1.15}.recipe-binder-content-grid,.recipe-binder-grid,.recipe-selection-list,.saved-meal-binder-grid{grid-template-columns:1fr}.recipe-binder-preview{aspect-ratio:1.75}.recipe-binder-icon-picker{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-binder-detail>header{grid-template-columns:42px minmax(0,1fr)}.recipe-binder-detail>header .app-button{grid-column:1/-1;width:100%}.recipe-binder-content-grid>a{grid-template-rows:auto auto;grid-template-columns:104px minmax(0,1fr);min-height:104px;padding:0}.recipe-binder-content-grid>a>span{grid-row:1/3}.recipe-binder-content-grid strong{align-self:end;margin-top:0}.recipe-binder-content-grid small{align-self:start}.saved-meal-binder-groups{gap:19px}.saved-meal-binder-card{grid-template-columns:96px minmax(0,1fr)}.saved-meal-binder-preview{min-height:112px}.saved-meal-binder-copy{gap:6px;padding:9px}.meal-builder-page{gap:14px;padding-top:2px}.meal-builder-settings{grid-template-columns:1fr;gap:12px}.meal-builder-type-picker button{gap:4px;min-height:40px;padding:0 4px}.meal-type-long{display:none}.meal-type-short{text-overflow:ellipsis;min-width:0;display:inline;overflow:hidden}.meal-target-panel{gap:8px;padding:11px}.meal-target-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}.meal-builder-catalog .picker-results{grid-template-columns:1fr}.meal-builder-catalog .picker-footer{bottom:calc(66px + env(safe-area-inset-bottom));margin-top:8px;padding-top:9px}.recipe-binder-order-controls{flex-direction:column;align-items:stretch}.recipe-binder-order-controls button,.recipe-binder-order-controls>div{flex:1}}.admin-members,.admin-recipes{gap:14px;display:grid}.admin-member-stats{grid-template-columns:repeat(2,minmax(0,220px));gap:10px;display:grid}.admin-member-stats article{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:11px;padding:13px;display:flex}.admin-member-reset-icon,.admin-member-stats article>span{color:#047857;background:var(--green-soft);border-radius:8px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.admin-member-stats article>div{display:grid}.admin-member-stats strong{color:var(--text);font-size:1.25rem}.admin-member-stats small{color:var(--muted);font-weight:800}.admin-members-toolbar{justify-content:space-between;align-items:end;gap:14px;display:flex}.admin-members-toolbar h3{color:var(--text);margin:2px 0 0;font-size:1.05rem}.admin-member-bulk-bar{background:var(--green-soft);border:1px solid #22a06b47;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;display:flex}.admin-member-bulk-bar>strong{color:#155a38;font-size:.8rem}.admin-member-bulk-bar>div,.admin-member-row-actions{align-items:center;gap:6px;display:flex}.admin-member-bulk-bar .app-button{min-height:34px;padding:0 10px;font-size:.76rem}.admin-member-danger-button{color:#b42318!important;border-color:#b4231840!important}.admin-member-clear-selection,.admin-member-delete-button{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:7px;flex:0 0 34px;place-items:center;padding:0;display:grid}.admin-member-delete-button{color:#b42318;border-color:#b4231840}.admin-member-clear-selection:hover{color:var(--text);background:var(--surface-soft)}.admin-member-delete-button:hover{background:#fff5f4}.admin-member-clear-selection:disabled,.admin-member-delete-button:disabled{cursor:not-allowed;opacity:.42}.admin-member-table-wrap{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow-x:auto}.admin-member-table{border-collapse:collapse;width:100%;min-width:820px}.admin-member-table th{color:var(--muted);background:var(--surface-soft);letter-spacing:.04em;text-align:left;text-transform:uppercase;font-size:.72rem;font-weight:950}.admin-member-table td,.admin-member-table th{border-bottom:1px solid var(--line);padding:11px 13px}.admin-member-table td{color:var(--text);font-size:.82rem}.admin-member-table tbody tr:last-child td{border-bottom:0}.admin-member-table tbody tr:hover{background:#fafcfb}.admin-member-table tbody tr.selected{background:#f0faf4}.admin-member-check-cell{width:42px;text-align:center!important;padding-inline:10px!important}.admin-member-check-cell input{accent-color:#0f8a5f;cursor:pointer;width:16px;height:16px;margin:0}.admin-member-check-cell input:disabled{cursor:not-allowed;opacity:.38}.admin-member-table td:last-child,.admin-member-table th:last-child{text-align:right}.admin-member-table td:last-child .app-button{min-height:34px;padding:0 10px;font-size:.76rem}.admin-member-identity{align-items:center;gap:10px;min-width:230px;display:flex}.admin-member-identity>span{color:#155a38;background:var(--green-soft);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:.76rem;font-weight:950;display:grid}.admin-member-identity>div{gap:2px;min-width:0;display:grid}.admin-member-identity strong{align-items:center;gap:6px;display:flex}.admin-member-identity strong em{color:#047857;background:var(--green-soft);border-radius:999px;padding:2px 6px;font-size:.62rem;font-style:normal;font-weight:900}.admin-member-identity small{max-width:280px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-member-date{color:var(--muted);white-space:nowrap}.admin-member-date,.admin-member-role{align-items:center;gap:6px;display:inline-flex}.admin-member-role select{border:1px solid var(--line);min-height:34px;color:var(--text);background:#fff;border-radius:7px;padding:0 30px 0 9px;font-size:.78rem;font-weight:850}.admin-member-role select:disabled{cursor:not-allowed;opacity:.65}.admin-member-provider{color:var(--muted);background:var(--surface-soft);border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.admin-member-table-state{height:150px;color:var(--muted)!important;text-align:center!important}.admin-member-table-state svg{vertical-align:middle;margin-right:6px}.admin-member-pagination{justify-content:flex-end;align-items:center;gap:10px;display:flex}.admin-member-pagination span{color:var(--muted);font-size:.78rem;font-weight:850}.admin-member-reset{gap:11px;width:min(520px,100vw - 24px);display:grid}.admin-member-reset h2,.admin-member-reset p{margin:0}.admin-member-reset>p:not(.eyebrow){color:var(--muted);font-size:.88rem;line-height:1.55}.admin-member-password-result{background:var(--green-soft);border:1px solid #22a06b47;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.admin-member-password-result>span,.admin-member-password-results{gap:8px;min-width:0;display:grid}.admin-member-password-results{max-height:min(45vh,360px);padding-right:2px;overflow-y:auto}.admin-member-password-result>span{gap:2px}.admin-member-password-result small,.admin-member-password-result strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-member-password-result small{color:var(--muted);font-size:.72rem}.admin-member-password-result code{color:#155a38;letter-spacing:.05em;white-space:nowrap;align-self:center;font-size:.96rem;font-weight:950;overflow-x:auto}.admin-member-reset-error{font-weight:850;color:#b42318!important}.admin-member-reset footer{justify-content:flex-end;gap:8px;padding-top:3px;display:flex}.admin-recipes-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-recipe-tabs{border:1px solid var(--line);background:var(--surface);border-radius:8px;display:inline-flex;overflow:hidden}.admin-recipe-tabs button{border:0;border-right:1px solid var(--line);min-height:40px;color:var(--muted);background:0 0;align-items:center;gap:7px;padding:8px 13px;font-size:.86rem;font-weight:850;display:inline-flex}.admin-recipe-tabs button:last-child{border-right:0}.admin-recipe-tabs button.active{background:var(--surface-soft);color:#047857}.admin-recipe-tabs span{min-width:22px;color:var(--text);text-align:center;background:#e8ece9;border-radius:999px;padding:2px 6px;font-size:.72rem}.admin-recipe-search{border:1px solid var(--line);background:var(--surface);width:min(320px,100%);min-height:40px;color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:0 11px;display:flex}.admin-recipe-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:0;flex:1}.admin-recipe-search button{width:28px;height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid}.admin-recipe-list{gap:9px;display:grid}.admin-recipe-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;overflow:hidden}.admin-recipe-card-main{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;grid-template-columns:74px minmax(0,1fr) auto;align-items:center;gap:14px;padding:9px;display:grid}.admin-recipe-card-main:hover{background:#fafcfb}.admin-recipe-thumbnail{background:var(--surface-soft);width:74px;height:64px;color:var(--green);border-radius:6px;place-items:center;display:grid;overflow:hidden}.admin-recipe-review-image img,.admin-recipe-thumbnail img{object-fit:cover;width:100%;height:100%}.admin-recipe-card-copy{min-width:0}.admin-recipe-card-title,.admin-recipe-meta{align-items:center;gap:9px;min-width:0;display:flex}.admin-recipe-card-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.98rem;overflow:hidden}.moderation-badge{color:#7c5a00;background:#fff3cf;border-radius:999px;flex:none;padding:3px 7px;font-size:.68rem;font-style:normal;font-weight:900}.moderation-badge.approved{background:var(--green-soft);color:#047857}.moderation-badge.rejected{background:var(--coral-soft);color:#b42318}.admin-recipe-meta{color:var(--muted);flex-wrap:wrap;margin-top:7px;font-size:.76rem}.admin-recipe-meta span{align-items:center;gap:4px;display:inline-flex}.admin-recipe-open{color:#047857;align-items:center;gap:6px;padding:8px 10px;font-size:.8rem;font-weight:900;display:inline-flex}.admin-recipes-empty,.admin-recipes-message{border:1px dashed var(--line);min-height:150px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;gap:8px;display:flex}.admin-recipes-message.error{color:#b42318;border-color:#fecaca;min-height:auto;padding:12px}.admin-recipes-empty{text-align:center;background:#ffffff94;flex-direction:column}.admin-recipes-empty strong{color:var(--text)}.admin-recipes-empty p{margin:0;font-size:.86rem}.admin-recipe-review{width:min(940px,100vw - 24px);max-height:min(840px,100dvh - 24px);padding:20px;overflow-y:auto}.admin-recipe-review-header{grid-template-columns:112px minmax(0,1fr);align-items:center;gap:16px;padding-right:32px;display:grid}.admin-recipe-review-image{background:var(--surface-soft);width:112px;height:96px;color:var(--green);border-radius:7px;place-items:center;display:grid;overflow:hidden}.admin-recipe-review-header h2{margin:2px 0 5px;font-size:1.3rem}.admin-recipe-review-header p:last-child{color:var(--muted);margin:0;font-size:.84rem}.admin-recipe-review-body{grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:24px;margin-top:20px;display:grid}.admin-recipe-review-body h3{margin-bottom:10px;font-size:.9rem}.admin-review-ingredients,.admin-review-steps{gap:7px;margin:0;padding:0;list-style:none;display:grid}.admin-review-ingredients li{border-bottom:1px solid #edf1ee;justify-content:space-between;gap:12px;padding-bottom:7px;font-size:.82rem;display:flex}.admin-review-ingredients span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.admin-review-ingredients strong{flex:none}.admin-review-steps li{grid-template-columns:24px minmax(0,1fr);gap:8px;font-size:.82rem;display:grid}.admin-review-steps li>span{background:var(--surface-soft);color:#047857;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.72rem;font-weight:900;display:grid}.admin-review-steps p{margin:2px 0 0;line-height:1.45}.admin-review-step{border-bottom:1px solid #edf1ee;grid-template-columns:152px minmax(0,1fr);gap:11px;min-width:0;padding-bottom:10px;display:grid}.admin-review-step-image{aspect-ratio:4/3;border:1px solid var(--line);background:var(--surface-soft);width:152px;color:var(--green);cursor:zoom-in;appearance:none;border-radius:7px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.admin-review-step-image:focus-visible,.admin-review-step-image:hover{border-color:#74b996;outline:0;box-shadow:0 0 0 3px #50ad8224}.admin-review-step-image img{object-fit:cover;width:100%;height:100%}.admin-review-step-image>span{color:#fff;background:#111827b8;border-radius:5px;align-items:center;gap:4px;padding:4px 6px;font-size:.64rem;font-weight:850;display:inline-flex;position:absolute;bottom:6px;right:6px}.admin-review-step-image.missing{color:#b42318;text-align:center;background:#fff7f6;border-style:dashed;align-content:center;gap:5px}.admin-review-step-image.missing small{font-size:.66rem;font-weight:850}.admin-review-step-copy{min-width:0}.admin-review-step-copy>strong{margin-top:1px;font-size:.82rem;display:block}.admin-review-step-copy>small{color:var(--muted);align-items:center;gap:4px;margin-top:7px;font-size:.7rem;font-weight:750;display:inline-flex}.admin-step-preview-backdrop{z-index:220;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#111827d1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-step-preview{background:#111827;border-radius:10px;grid-template-rows:auto minmax(0,1fr);width:min(1040px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:hidden;box-shadow:0 34px 100px #0000006b}.admin-step-preview>header{color:#fff;background:#172033;justify-content:space-between;align-items:center;gap:20px;padding:13px 15px;display:flex}.admin-step-preview>header p,.admin-step-preview>header strong{margin:0}.admin-step-preview>header .eyebrow{color:#9dd8bd}.admin-step-preview>header strong{margin-top:2px;font-size:.9rem;display:block}.admin-step-preview>header button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;display:grid}.admin-step-preview>header button:focus-visible,.admin-step-preview>header button:hover{background:#ffffff2e;outline:0}.admin-step-preview>img{object-fit:contain;background:#0b101c;width:100%;height:100%;max-height:calc(100dvh - 122px);display:block}.admin-review-macros{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:18px;display:grid}.admin-review-macros>span{border-top:4px solid var(--yellow);background:#fffaf0;gap:2px;padding:8px 10px;display:grid}.admin-review-macros>span.protein{border-color:var(--macro-protein);background:#f2fbf6}.admin-review-macros>span.carbs{border-color:var(--macro-carbs);background:#f4f8ff}.admin-review-macros>span.fats{border-color:var(--macro-fat);background:#fff5f3}.admin-review-macros small{color:var(--muted);font-size:.68rem}.admin-review-macros strong{font-size:.84rem}.admin-review-note{gap:6px;margin-top:16px;font-size:.8rem;font-weight:850;display:grid}.admin-review-note>span{color:var(--muted);font-weight:500}.admin-review-note textarea{resize:vertical;border:1px solid var(--line);border-radius:7px;outline:0;width:100%;min-height:70px;padding:9px 11px}.admin-review-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;display:grid}@media (max-width:720px){.admin-member-bulk-bar,.admin-members-toolbar{flex-direction:column;align-items:stretch}.admin-member-bulk-bar>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;display:grid}.admin-member-bulk-bar .app-button{justify-content:center}.admin-member-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-member-pagination{justify-content:space-between}.admin-member-password-result{grid-template-columns:1fr}.admin-recipes-toolbar{flex-direction:column;align-items:stretch}.admin-recipe-search,.admin-recipe-tabs{width:100%}.admin-recipe-tabs button{flex:1;justify-content:center;min-width:0;padding-inline:7px}.admin-recipe-card-main{grid-template-columns:60px minmax(0,1fr) 32px;gap:9px;padding:7px}.admin-recipe-thumbnail{width:60px;height:58px}.admin-recipe-open{justify-content:center;width:32px;height:32px;padding:0}.admin-recipe-meta span:nth-child(n+2),.admin-recipe-open span{display:none}.admin-recipe-card-title{flex-direction:column;align-items:flex-start;gap:4px}.admin-recipe-review{padding:16px}.admin-recipe-review-header{grid-template-columns:76px minmax(0,1fr);gap:11px}.admin-recipe-review-image{width:76px;height:72px}.admin-recipe-review-body{grid-template-columns:1fr;gap:18px}.admin-review-step{grid-template-columns:minmax(104px,128px) minmax(0,1fr)}.admin-review-step-image{width:100%}.admin-step-preview-backdrop{padding:8px}.admin-step-preview{max-height:calc(100dvh - 16px)}.admin-step-preview>img{max-height:calc(100dvh - 84px)}.admin-review-macros{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:680px){body .planning-day-view .daily-meal-actions{opacity:1;pointer-events:auto;transform:none}}@media print{@page{margin:14mm}body{background:#fff}.mobile-menu,.mobile-tabbar,.sidebar,.topbar{display:none!important}.app-shell{display:block}.main{padding:0}section{max-width:none!important}.panel,.shadow-sm,.soft-panel{box-shadow:none!important}}@media (prefers-reduced-motion:reduce){.planning-flash-message,.planning-flash-message.leaving{animation-duration:1ms}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(1turn)}}