@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Crimson+Text:wght@400;600&display=swap);*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.ingredient-input{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));margin-bottom:.75rem;padding:.75rem}.ingredient-input,.ingredient-input input,.ingredient-input select{border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1));border-radius:.25rem;border-width:1px}.ingredient-input input,.ingredient-input select{--tw-border-opacity:1;margin-right:.5rem;padding:.5rem}.recipe-ingredients h3{--tw-border-opacity:1;--tw-text-opacity:1;border-bottom-width:2px;border-color:#dc3545;border-color:rgb(220 53 69/var(--tw-border-opacity,1));color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1));font-size:1.125rem;line-height:1.75rem;margin-bottom:.75rem;padding-bottom:.5rem}.recipe-ingredients ul{list-style-type:none;padding:0}.recipe-ingredients li{--tw-border-opacity:1;--tw-bg-opacity:1;align-items:center;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));border-color:#dc3545;border-color:rgb(220 53 69/var(--tw-border-opacity,1));border-left-width:4px;border-radius:.25rem;display:flex;justify-content:space-between;margin-bottom:.375rem;margin-top:.375rem;padding:.5rem .75rem}.recipe-steps h3{--tw-border-opacity:1;--tw-text-opacity:1;border-bottom-width:2px;border-color:#ea580c;border-color:rgb(234 88 12/var(--tw-border-opacity,1));color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1));font-size:1.125rem;line-height:1.75rem;margin-bottom:.75rem;padding-bottom:.5rem}.recipe-steps ol{padding-left:1.25rem}.recipe-steps li{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1));border-color:#ea580c;border-color:rgb(234 88 12/var(--tw-border-opacity,1));border-left-width:4px;border-radius:.25rem;line-height:1.625;margin-bottom:.5rem;margin-top:.5rem;padding:.75rem}.ingredient-amount{--tw-text-opacity:1;color:#dc3545;color:rgb(220 53 69/var(--tw-text-opacity,1));font-weight:700}.ingredient-name{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1\.5{left:.375rem}.left-4{left:1rem}.right-0{right:0}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-16{top:4rem}.top-3{top:.75rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.-ml-1{margin-left:-.25rem}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-48{height:12rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-60{max-height:15rem}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:0.5rem}.-rotate-45{--tw-rotate:-45deg}.-rotate-45,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-bounce{animation:bounce 1s infinite}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(2rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(2rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-t{border-top-width:1px}.border-amber-400{--tw-border-opacity:1;border-color:#fbbf24;border-color:rgb(251 191 36/var(--tw-border-opacity,1))}.border-blue-200{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-400{--tw-border-opacity:1;border-color:#60a5fa;border-color:rgb(96 165 250/var(--tw-border-opacity,1))}.border-current{border-color:currentColor}.border-emerald-400{--tw-border-opacity:1;border-color:#34d399;border-color:rgb(52 211 153/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:#f3f4f6;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:#e5e7eb;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:#1f2937;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:#bbf7d0;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-green-400{--tw-border-opacity:1;border-color:#4ade80;border-color:rgb(74 222 128/var(--tw-border-opacity,1))}.border-indigo-400{--tw-border-opacity:1;border-color:#818cf8;border-color:rgb(129 140 248/var(--tw-border-opacity,1))}.border-orange-400{--tw-border-opacity:1;border-color:#fb923c;border-color:rgb(251 146 60/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-purple-400{--tw-border-opacity:1;border-color:#c084fc;border-color:rgb(192 132 252/var(--tw-border-opacity,1))}.border-recipe-primary{--tw-border-opacity:1;border-color:#ea580c;border-color:rgb(234 88 12/var(--tw-border-opacity,1))}.border-red-200{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-400{--tw-border-opacity:1;border-color:#f87171;border-color:rgb(248 113 113/var(--tw-border-opacity,1))}.border-teal-400{--tw-border-opacity:1;border-color:#2dd4bf;border-color:rgb(45 212 191/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-yellow-200{--tw-border-opacity:1;border-color:#fef08a;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.bg-black\/60{background-color:#0009}.bg-blue-50{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:#2563eb;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:#111827;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:#dcfce7;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:#f0fdf4;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-500{--tw-bg-opacity:1;background-color:#22c55e;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:#f97316;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:#ea580c;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-recipe-light{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-recipe-primary{--tw-bg-opacity:1;background-color:#ea580c;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-recipe-success{--tw-bg-opacity:1;background-color:#10b981;background-color:rgb(16 185 129/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:#fee2e2;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-500{--tw-bg-opacity:1;background-color:#ef4444;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:#fefce8;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:#eab308;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-amber-500{--tw-gradient-from:#f59e0b var(--tw-gradient-from-position);--tw-gradient-to:#f59e0b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/60{--tw-gradient-from:#0009 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-50{--tw-gradient-from:#eff6ff var(--tw-gradient-from-position);--tw-gradient-to:#eff6ff00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-emerald-500{--tw-gradient-from:#10b981 var(--tw-gradient-from-position);--tw-gradient-to:#10b98100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-50{--tw-gradient-from:#f0fdf4 var(--tw-gradient-from-position);--tw-gradient-to:#f0fdf400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-indigo-500{--tw-gradient-from:#6366f1 var(--tw-gradient-from-position);--tw-gradient-to:#6366f100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-teal-500{--tw-gradient-from:#14b8a6 var(--tw-gradient-from-position);--tw-gradient-to:#14b8a600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-amber-600{--tw-gradient-to:#d97706 var(--tw-gradient-to-position)}.to-blue-50{--tw-gradient-to:#eff6ff var(--tw-gradient-to-position)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-emerald-600{--tw-gradient-to:#059669 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-50{--tw-gradient-to:#eef2ff var(--tw-gradient-to-position)}.to-indigo-600{--tw-gradient-to:#4f46e5 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-teal-600{--tw-gradient-to:#0d9488 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.object-cover{object-fit:cover}.p-2{padding:.5rem}.p-3{padding:.75rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.pl-12{padding-left:3rem}.pr-32{padding-right:8rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-8{padding-top:2rem}.font-body{font-family:Inter,system-ui,sans-serif}.font-display{font-family:Crimson Text,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.\!text-white{--tw-text-opacity:1!important;color:#fff!important;color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.text-amber-600{--tw-text-opacity:1;color:#d97706;color:rgb(217 119 6/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:#000;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-300{--tw-text-opacity:1;color:#93c5fd;color:rgb(147 197 253/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:#2563eb;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-700{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:#d1d5db;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:#6b7280;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:#22c55e;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:#16a34a;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:#15803d;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:#166534;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:#ea580c;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:#9333ea;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-purple-700{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.text-recipe-dark{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-recipe-success{--tw-text-opacity:1;color:#10b981;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:#ef4444;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:#dc2626;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:#facc15;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:#eab308;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:#ca8a04;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-700{--tw-text-opacity:1;color:#a16207;color:rgb(161 98 7/var(--tw-text-opacity,1))}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:#9ca3af;color:rgb(156 163 175/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-amber-500\/25{--tw-shadow-color:#f59e0b40;--tw-shadow:var(--tw-shadow-colored)}.shadow-blue-500\/25{--tw-shadow-color:#3b82f640;--tw-shadow:var(--tw-shadow-colored)}.shadow-emerald-500\/25{--tw-shadow-color:#10b98140;--tw-shadow:var(--tw-shadow-colored)}.shadow-green-500\/25{--tw-shadow-color:#22c55e40;--tw-shadow:var(--tw-shadow-colored)}.shadow-indigo-500\/25{--tw-shadow-color:#6366f140;--tw-shadow:var(--tw-shadow-colored)}.shadow-orange-500\/25{--tw-shadow-color:#f9731640;--tw-shadow:var(--tw-shadow-colored)}.shadow-purple-500\/25{--tw-shadow-color:#a855f740;--tw-shadow:var(--tw-shadow-colored)}.shadow-red-500\/25{--tw-shadow-color:#ef444440;--tw-shadow:var(--tw-shadow-colored)}.shadow-teal-500\/25{--tw-shadow-color:#14b8a640;--tw-shadow:var(--tw-shadow-colored)}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}body,html{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hover\:-translate-y-1:hover{--tw-translate-y:-0.25rem}.hover\:-translate-y-1:hover,.hover\:scale-105:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:border-amber-200:hover{--tw-border-opacity:1;border-color:#fde68a;border-color:rgb(253 230 138/var(--tw-border-opacity,1))}.hover\:border-blue-200:hover{--tw-border-opacity:1;border-color:#bfdbfe;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.hover\:border-emerald-200:hover{--tw-border-opacity:1;border-color:#a7f3d0;border-color:rgb(167 243 208/var(--tw-border-opacity,1))}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#d1d5db;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.hover\:border-indigo-200:hover{--tw-border-opacity:1;border-color:#c7d2fe;border-color:rgb(199 210 254/var(--tw-border-opacity,1))}.hover\:border-orange-200:hover{--tw-border-opacity:1;border-color:#fed7aa;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.hover\:border-purple-200:hover{--tw-border-opacity:1;border-color:#e9d5ff;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.hover\:border-red-200:hover{--tw-border-opacity:1;border-color:#fecaca;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.hover\:border-teal-200:hover{--tw-border-opacity:1;border-color:#99f6e4;border-color:rgb(153 246 228/var(--tw-border-opacity,1))}.hover\:bg-amber-50:hover{--tw-bg-opacity:1;background-color:#fffbeb;background-color:rgb(255 251 235/var(--tw-bg-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#eff6ff;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-emerald-50:hover{--tw-bg-opacity:1;background-color:#ecfdf5;background-color:rgb(236 253 245/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#f3f4f6;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#e5e7eb;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:#d1d5db;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#f9fafb;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-600:hover{--tw-bg-opacity:1;background-color:#16a34a;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:#15803d;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-indigo-50:hover{--tw-bg-opacity:1;background-color:#eef2ff;background-color:rgb(238 242 255/var(--tw-bg-opacity,1))}.hover\:bg-orange-50:hover{--tw-bg-opacity:1;background-color:#fff7ed;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.hover\:bg-orange-600:hover{--tw-bg-opacity:1;background-color:#ea580c;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:#c2410c;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-50:hover{--tw-bg-opacity:1;background-color:#faf5ff;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.hover\:bg-recipe-primary\/90:hover{background-color:#ea580ce6}.hover\:bg-recipe-success\/90:hover{background-color:#10b981e6}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#fef2f2;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-600:hover{--tw-bg-opacity:1;background-color:#dc2626;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-teal-50:hover{--tw-bg-opacity:1;background-color:#f0fdfa;background-color:rgb(240 253 250/var(--tw-bg-opacity,1))}.hover\:\!text-orange-400:hover{--tw-text-opacity:1!important;color:#fb923c!important;color:rgb(251 146 60/var(--tw-text-opacity,1))!important}.hover\:text-amber-700:hover{--tw-text-opacity:1;color:#b45309;color:rgb(180 83 9/var(--tw-text-opacity,1))}.hover\:text-blue-700:hover{--tw-text-opacity:1;color:#1d4ed8;color:rgb(29 78 216/var(--tw-text-opacity,1))}.hover\:text-emerald-700:hover{--tw-text-opacity:1;color:#047857;color:rgb(4 120 87/var(--tw-text-opacity,1))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:#4b5563;color:rgb(75 85 99/var(--tw-text-opacity,1))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:#374151;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:text-gray-800:hover{--tw-text-opacity:1;color:#1f2937;color:rgb(31 41 55/var(--tw-text-opacity,1))}.hover\:text-gray-900:hover{--tw-text-opacity:1;color:#111827;color:rgb(17 24 39/var(--tw-text-opacity,1))}.hover\:text-indigo-700:hover{--tw-text-opacity:1;color:#4338ca;color:rgb(67 56 202/var(--tw-text-opacity,1))}.hover\:text-orange-700:hover{--tw-text-opacity:1;color:#c2410c;color:rgb(194 65 12/var(--tw-text-opacity,1))}.hover\:text-purple-700:hover{--tw-text-opacity:1;color:#7e22ce;color:rgb(126 34 206/var(--tw-text-opacity,1))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:#b91c1c;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-teal-700:hover{--tw-text-opacity:1;color:#0f766e;color:rgb(15 118 110/var(--tw-text-opacity,1))}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-lg:hover,.hover\:shadow-md:hover{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.focus\:border-orange-500:focus{--tw-border-opacity:1;border-color:#f97316;border-color:rgb(249 115 22/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-green-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(34 197 94/var(--tw-ring-opacity,1))}.focus\:ring-orange-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(249 115 22/var(--tw-ring-opacity,1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95}.active\:scale-95:active,.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:0.25rem}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}@media (min-width:640px){.sm\:mb-4{margin-bottom:1rem}.sm\:mb-8{margin-bottom:2rem}.sm\:mt-6{margin-top:1.5rem}.sm\:h-40{height:10rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-16{gap:4rem}.sm\:gap-4{gap:1rem}.sm\:space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.sm\:space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-4{padding-bottom:1rem;padding-top:1rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:left-auto{left:auto}.md\:right-4{right:1rem}.md\:top-24{top:6rem}.md\:flex{display:flex}.md\:hidden{display:none}.md\:max-w-sm{max-width:24rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:pt-28{padding-top:7rem}}@media (min-width:1024px){.lg\:h-32{height:8rem}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:gap-2{gap:.5rem}.lg\:space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.375rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.375rem*var(--tw-space-x-reverse))}.lg\:px-3{padding-left:.75rem;padding-right:.75rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-2{padding-bottom:.5rem;padding-top:.5rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1280px){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:gap-1\.5{gap:.375rem}.xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}.xl\:py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.xl\:text-xs{font-size:.75rem;line-height:1rem}}@media (min-width:1536px){.\32xl\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.\32xl\:gap-1{gap:.25rem}.\32xl\:px-2{padding-left:.5rem;padding-right:.5rem}.\32xl\:py-1{padding-bottom:.25rem;padding-top:.25rem}.\32xl\:text-xs{font-size:.75rem;line-height:1rem}}@media print{.print\:block{display:block}.print\:hidden{display:none}}.navbar-container{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);background-color:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);height:80px;left:0;position:fixed;right:0;top:0;z-index:9999}@media (min-width:768px){.navbar-container{height:80px}}.navbar-logo{align-items:flex-start;display:flex;flex-direction:column;transition-duration:.3s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.navbar-logo:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.navbar-logo-maak{font-weight:700}.navbar-logo-kos,.navbar-logo-maak{color:#000;font-family:Inter,sans-serif!important;font-size:1.5rem;letter-spacing:-.02em;line-height:1.1}.navbar-logo-kos{font-weight:300;margin-top:-2px}@media (min-width:768px){.navbar-logo-kos,.navbar-logo-maak{font-size:1.875rem}}.navbar-menu-button{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;padding:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.navbar-menu-button:hover{background-color:#f1f5f9;border-color:#cbd5e1;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.navbar-menu-button:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.navbar-menu-button:active{box-shadow:0 1px 3px #0000001a;transform:translateY(0)}.navbar-dropdown{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fff;border:1px solid #f3f4f6;border-radius:16px;box-shadow:0 20px 40px #0000001a,0 8px 16px #0000000f;margin-top:8px;overflow:hidden;padding:12px 0;position:absolute;right:0;top:100%;transform-origin:top right;transition:all .3s cubic-bezier(.4,0,.2,1);width:280px}@media (min-width:768px){.navbar-dropdown{width:320px}}.navbar-dropdown-gradient{background:linear-gradient(90deg,#fff7ed4d,#0000);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.navbar-menu-section{border-bottom:1px solid #f3f4f6;margin-bottom:8px;padding-bottom:8px}.navbar-menu-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.navbar-menu-item{color:#000;display:block;font-family:Inter,sans-serif!important;font-size:15px;font-weight:700;letter-spacing:-.005em;line-height:1.5;padding:14px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.navbar-menu-item:hover{background-color:#f8fafc;color:#000;transform:translateX(6px)}.navbar-menu-item-clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.navbar-menu-item-clickable:hover{background-color:#f8fafc;color:#000;transform:translateX(6px)}.navbar-submenu{border-left:2px solid #e5e7eb;margin-left:20px;margin-top:4px;overflow:hidden;padding-left:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.navbar-submenu-open{max-height:400px;opacity:1}.navbar-submenu-closed{margin-top:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0}.navbar-submenu-item{border-radius:8px;color:#6b7280;display:block;font-family:Inter,sans-serif!important;font-size:14px;font-weight:400;letter-spacing:-.005em;line-height:1.4;margin:2px 0;padding:10px 16px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.navbar-submenu-item:hover{background-color:#f1f5f9;color:#ea580c;transform:translateX(4px)}.navbar-submenu-icon{color:#9ca3af;transition:color .2s ease}.navbar-submenu-item:hover .navbar-submenu-icon{color:#ea580c}.navbar-bullet-point{background-color:#9ca3af;border-radius:50%;height:4px;margin-right:12px;transition:all .2s ease;width:4px}.navbar-submenu-item:hover .navbar-bullet-point{background-color:#ea580c;transform:scale(1.2)}.navbar-menu-item-primary{background-color:#fff7ed;border-radius:8px;color:#ea580c;display:block;font-family:Inter,sans-serif!important;font-size:15px;font-weight:500;letter-spacing:-.005em;line-height:1.5;margin:4px 8px;padding:14px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1)}.navbar-menu-item-primary:hover{background-color:#fed7aa;color:#c2410c;transform:translateX(6px)}.navbar-menu-item-danger{background:none;border:none;border-radius:8px;color:#dc2626;cursor:pointer;font-family:Inter,sans-serif!important;font-size:15px;font-weight:500;letter-spacing:-.005em;line-height:1.5;margin:4px 8px;padding:14px 20px;text-align:left;transition:all .2s cubic-bezier(.4,0,.2,1);width:calc(100% - 16px)}.navbar-menu-item-danger:hover{background-color:#fef2f2;color:#b91c1c;transform:translateX(6px)}.navbar-menu-icon{color:#000}.hamburger-line{background-color:#475569;border-radius:1px;display:block;height:2.5px;transform-origin:center;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.hamburger-line-middle,.hamburger-line-top{margin-bottom:4px}.navbar-container *{transition-duration:.3s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.video-player-container{aspect-ratio:16/9;background-color:#000;border-radius:12px;box-shadow:0 6px 20px #0000004d;display:block;height:auto;margin:0 auto;max-width:100%;min-height:300px;overflow:hidden;position:relative;width:100%}@media (max-width:1023px){.video-player-container{aspect-ratio:16/9;border-radius:8px;height:auto;margin:0;max-width:100%;min-height:250px;width:100%}}@media (max-width:640px){.video-player-container{aspect-ratio:16/9;border-radius:6px;box-shadow:0 2px 10px #00000026;height:auto;margin:0;max-width:100%;min-height:220px;width:100%}}@media (min-width:1024px){.video-player-container{height:auto;max-width:100%;min-height:450px}}.peach-background-overlay{align-items:center;background:linear-gradient(135deg,#fed7aa,#fbbf24);border-radius:12px;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:all .3s ease;width:100%;z-index:1}.peach-background-overlay:hover{background:linear-gradient(135deg,#fdba74,#f59e0b);transform:scale(1.02)}.demo-placeholder{color:#374151;pointer-events:none;text-align:center}.demo-play-icon{align-items:center;background-color:#ffffffe6;border-radius:50%;box-shadow:0 4px 12px #00000026;display:flex;height:80px;justify-content:center;margin:0 auto 16px;transition:all .3s ease;width:80px}.peach-background-overlay:hover .demo-play-icon{background-color:#fff;box-shadow:0 6px 20px #0003;transform:scale(1.1)}.demo-placeholder p{font-size:16px;font-weight:500;margin:0}@media (max-width:768px){.demo-play-icon{height:60px;width:60px}.demo-placeholder p{font-size:14px}.video-player-container{max-width:90vw;min-height:300px}.video-element{transform:scale(1.2)}.video-player-container:active .video-element{transform:scale(1.5)}}@media (max-width:480px){.video-player-container{min-height:250px}.video-element{transform:scale(1.4)}.video-player-container:active .video-element{transform:scale(1.7)}}.video-play-button{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#e67e22e6;border:3px solid #fffc;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:80px;justify-content:center;left:50%;opacity:.95;position:absolute;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;width:80px;z-index:2}.video-play-button:hover{background-color:#d35400f2;border-color:#fff;box-shadow:0 0 20px #e67e2280;opacity:1;transform:translate(-50%,-50%) scale(1.15)}.video-play-button.playing{opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.8)}.video-player-container:hover .video-play-button.playing{opacity:.8;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.error-icon,.pause-icon,.play-icon{height:36px;width:36px}.zoom-controls{bottom:15px;display:flex;flex-direction:column;gap:8px;position:absolute;right:15px;z-index:3}.zoom-button{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;border:2px solid #fffc;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:44px;justify-content:center;transition:all .3s ease;width:44px}.zoom-button:hover{background-color:#e67e22e6;border-color:#fff;transform:scale(1.1)}.zoom-button svg{height:20px;width:20px}.fullscreen-button{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;border:2px solid #fffc;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .3s ease;width:40px;z-index:3}.fullscreen-button:hover{background-color:#e67e22e6;border-color:#fff;transform:scale(1.1)}.fullscreen-button svg{height:18px;width:18px}@media (max-width:768px){.fullscreen-button{height:48px;right:12px;top:12px;width:48px}.fullscreen-button svg{height:20px;width:20px}.fullscreen-button{background-color:#e67e22e6;border-color:#fff}}.video-error{align-items:center;background-color:#000c;border-radius:12px;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;padding:20px;position:absolute;text-align:center;top:0;width:100%}.error-icon{color:#e74c3c;height:56px;margin-bottom:15px;width:56px}.video-loading{align-items:center;background-color:#0009;border-radius:12px;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;left:0;position:absolute;text-align:center;top:0;width:100%}.loading-spinner{border:5px solid #ffffff4d;border-top-color:#e67e22;height:50px;margin-bottom:15px;width:50px}@media (max-width:768px){.video-play-button{border-width:2px;height:70px;width:70px}.pause-icon,.play-icon{height:28px;width:28px}.error-icon{height:44px;width:44px}.loading-spinner{border-width:4px;height:40px;width:40px}.zoom-controls{bottom:10px;gap:6px;right:10px}.zoom-button{height:38px;width:38px}.zoom-button svg{height:16px;width:16px}}@media (max-width:480px){.video-play-button{height:60px;width:60px}.pause-icon,.play-icon{height:24px;width:24px}.error-icon{height:36px;width:36px}.loading-spinner{border-width:3px;height:32px;width:32px}.zoom-controls{bottom:8px;gap:4px;right:8px}.zoom-button{height:34px;width:34px}.zoom-button svg{height:14px;width:14px}.fullscreen-button{height:44px;right:8px;top:8px;width:44px}.fullscreen-button svg{height:18px;width:18px}}.video-error-path{background-color:#00000080;border-radius:4px;font-family:monospace;font-size:13px;margin-top:12px;max-width:90%;opacity:.9;padding:8px;word-break:break-all}.video-player-container:hover{box-shadow:0 8px 25px #0006;transform:translateY(-2px);transition:all .3s ease}.video-loading p{font-size:16px;font-weight:500;margin-top:10px}@media (max-width:768px){.video-loading p{font-size:14px}}.video-element{cursor:pointer;display:block;height:100%;object-fit:contain;transform-origin:center;transition:transform .3s ease-in-out;width:100%}.video-player-container.fullscreen{aspect-ratio:auto!important;background-color:#000!important;border-radius:0!important;cursor:pointer;height:100vh!important;height:100dvh!important;left:0!important;margin:0!important;max-width:none!important;min-height:auto!important;position:fixed!important;top:0!important;width:100vw!important;z-index:9999!important}.video-player-container.fullscreen:before{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;border-radius:6px;color:#ffffffb3;content:"Click anywhere to exit fullscreen";font-size:16px;left:50%;opacity:0;padding:8px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .3s ease;z-index:1}.video-player-container.fullscreen:active:before,.video-player-container.fullscreen:hover:before{opacity:1}@media (max-width:768px){.video-player-container.fullscreen:before{content:"Tap anywhere to exit fullscreen";font-size:14px;padding:6px 12px}}.video-player-container.fullscreen .video-element{border-radius:0!important;height:100%!important;object-fit:contain!important;width:100%!important}.video-player-container.fullscreen .zoom-controls{bottom:20px!important;right:20px!important}.video-player-container.fullscreen .fullscreen-button{right:20px!important;top:20px!important}.video-player-container.fullscreen .video-controls-overlay{bottom:0!important;left:0!important;right:0!important;width:100%!important}@media (max-width:768px){.video-player-container.fullscreen{bottom:0!important;height:100vh!important;height:100dvh!important;left:0!important;right:0!important;top:0!important;width:100vw!important}.video-player-container.fullscreen .zoom-controls{bottom:30px!important;right:20px!important}.video-player-container.fullscreen .fullscreen-button{height:52px!important;right:20px!important;top:30px!important;width:52px!important}.video-player-container.fullscreen .fullscreen-button svg{height:24px!important;width:24px!important}.video-player-container.fullscreen .video-controls-overlay{padding:20px 15px 15px!important}}.zoom-button:disabled{background-color:#0000004d;border-color:#ffffff4d;cursor:not-allowed;opacity:.4}.zoom-button:disabled:hover{background-color:#0000004d;border-color:#ffffff4d;transform:none}.zoom-reset{background-color:#3498dbb3}.zoom-reset:hover{background-color:#2980b9e6}@media (max-width:768px){.zoom-controls{gap:8px}.zoom-button{border-width:2px;height:42px;width:42px}}.fullscreen-button:focus,.video-play-button:focus,.zoom-button:focus{outline:3px solid #e67e2299;outline-offset:2px}.fullscreen-button,.video-play-button,.zoom-button{transition:all .3s cubic-bezier(.4,0,.2,1)}.demo-video-player{aspect-ratio:16/9;height:auto;max-width:100%;width:100%}.demo-video-section{overflow-x:hidden;width:100%}.video-controls-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;left:0;padding:20px 15px 15px;position:absolute;right:0;transition:opacity .3s ease;z-index:10}.progress-bar-container{background-color:#ffffff4d;border-radius:2px;cursor:pointer;height:4px;margin-bottom:15px;position:relative;width:100%}.progress-bar{height:100%;position:relative;width:100%}.progress-fill{background-color:#e67e22;border-radius:2px;height:100%;transition:width .1s ease}.bottom-controls{align-items:center;display:flex;gap:15px;justify-content:space-between}.left-controls{flex:1 1;gap:12px}.left-controls,.right-controls{align-items:center;display:flex}.right-controls{gap:8px}.control-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:8px;transition:all .2s ease}.control-button:hover{background-color:#fff3;transform:scale(1.1)}.control-button svg{height:20px;width:20px}.time-display{background-color:#00000080;border-radius:4px;color:#fff;font-family:monospace;font-size:14px;font-weight:500;min-width:80px;padding:4px 8px;text-align:center}@media (max-width:768px){.video-controls-overlay{padding:15px 10px 10px}.progress-bar-container{height:6px;margin-bottom:12px}.control-button{min-height:48px;min-width:48px;padding:10px}.control-button svg{height:22px;width:22px}.time-display{font-size:12px;min-width:70px;padding:3px 6px}.left-controls{gap:8px}.bottom-controls{gap:10px}}@media (max-width:480px){.video-controls-overlay{padding:12px 8px 8px}.control-button{min-height:44px;min-width:44px;padding:8px}.control-button svg{height:20px;width:20px}.time-display{font-size:11px;min-width:60px;padding:2px 4px}.left-controls{gap:6px}.bottom-controls{gap:8px}}.apply-global-fonts *{font-family:Inter,sans-serif!important}.typography-display{font-family:Crimson Text,serif!important;font-weight:600;letter-spacing:-.02em;line-height:1.1}.typography-heading{font-family:Inter,sans-serif!important;font-weight:700;letter-spacing:-.025em;line-height:1.2}.typography-heading-medium{font-family:Inter,sans-serif!important;font-weight:600;letter-spacing:-.015em;line-height:1.3}.typography-body{font-family:Inter,sans-serif!important;font-weight:400;letter-spacing:-.005em;line-height:1.6}.typography-body-light{font-family:Inter,sans-serif!important;font-weight:300;letter-spacing:0;line-height:1.7}.typography-body-medium{line-height:1.6}.typography-body-medium,.typography-button{font-family:Inter,sans-serif!important;font-weight:500;letter-spacing:-.005em}.typography-button{line-height:1.4}.typography-form-label{font-weight:500;line-height:1.4}.typography-form-input,.typography-form-label{font-family:Inter,sans-serif!important;letter-spacing:-.005em}.typography-form-input{font-weight:400;line-height:1.5}.apply-inter{font-family:Inter,sans-serif!important}.apply-crimson{font-family:Crimson Text,serif!important}.font-light{font-weight:300!important}.font-normal{font-weight:400!important}.font-medium{font-weight:500!important}.font-semibold{font-weight:600!important}.font-bold{font-weight:700!important}.page-title,h1{font-family:Crimson Text,serif!important;font-weight:600;letter-spacing:-.02em;line-height:1.1}.section-title,h2,h3{font-family:Inter,sans-serif!important;font-weight:600;letter-spacing:-.015em;line-height:1.3}.subsection-title,h4,h5,h6{font-family:Inter,sans-serif!important;font-weight:500;letter-spacing:-.01em;line-height:1.4}.body-text,p{font-weight:400;line-height:1.6}.body-text,.btn,button,p{font-family:Inter,sans-serif!important;letter-spacing:-.005em}.btn,button{font-weight:500}.form-control,input,select,textarea{font-weight:400}.form-control,.form-label,input,label,select,textarea{font-family:Inter,sans-serif!important;letter-spacing:-.005em}.form-label,label{font-weight:500}.card,.modal{font-family:Inter,sans-serif!important}.card h1,.card h2,.card h3,.modal h1,.modal h2,.modal h3{font-family:Inter,sans-serif!important;font-weight:600}.nav,.nav a,.navbar,.navbar a{font-family:Inter,sans-serif!important}.nav a,.navbar a{font-weight:500}*{-webkit-tap-highlight-color:transparent}input[type=email],input[type=password],input[type=text]{font-size:16px}button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}html{-webkit-overflow-scrolling:touch}.auth{align-items:center;background:linear-gradient(to bottom right,#fff7ed,#ffedd5);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-container{background-color:#fff;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 8px 32px #ea580c26;max-width:420px;padding:2.5rem;width:100%}.auth-form{display:flex;flex-direction:column;gap:1.5rem;position:relative}.auth-form h2{color:#374151;font-family:Crimson Text,serif!important;font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem;text-align:center}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.9rem;letter-spacing:-.005em}.form-group input{-webkit-appearance:none;appearance:none;background-color:#fff;border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#374151;font-family:Inter,sans-serif!important;font-size:1rem;padding:.875rem;transition:all .3s ease;width:100%}.form-group input:focus{border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1a;outline:none}.form-group input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}button[type=submit]{align-items:center;background-color:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;font-size:1rem;font-weight:600;justify-content:center;letter-spacing:-.005em;margin-top:.5rem;min-height:3rem;padding:1rem 1.5rem;transition:all .3s ease}button[type=submit]:hover:not(:disabled){background-color:#c2410c;box-shadow:0 4px 12px #ea580c33;transform:translateY(-1px)}.registration-loading{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;border-radius:12px;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.loading-text{color:#6b7280;font-size:.9rem;line-height:1.5;margin-top:1rem;max-width:280px;text-align:center}.auth-form form.opacity-50{transition:opacity .3s ease}.error-message,.success-message{font-family:Inter,sans-serif!important;font-weight:500}.success-message{background-color:#f0f9ff;border:1px solid #bae6fd;color:#0284c7;text-align:center}.auth-switch{color:#6b7280;font-family:Inter,sans-serif!important;margin-top:1.5rem;text-align:center}.auth-switch a{color:#ea580c;font-weight:600;text-decoration:none}.auth-switch a:hover{color:#c2410c;text-decoration:underline}@media (max-width:768px){.auth{align-items:flex-start;min-height:100vh;padding:1rem .5rem .5rem}.auth-container{border-radius:8px;margin-top:1rem;max-width:100%;padding:1.5rem}.auth-form{gap:1.25rem}.auth-form h2{font-size:1.5rem;margin-bottom:.5rem}.form-group{gap:.4rem}.form-group label{font-size:.85rem}.form-group input{border-radius:6px;font-size:16px;min-height:48px;padding:.875rem}button[type=submit]{border-radius:6px;font-size:1rem;min-height:48px;padding:1rem 1.25rem}.google-signin-btn{border-radius:6px;font-size:16px;min-height:48px;padding:12px 15px}.google-signin-btn img{height:18px;margin-right:12px;width:18px}.or-divider{font-size:.9rem;margin:15px 0}.auth-switch{font-size:.9rem;margin-top:1.25rem}.forgot-password-link{margin-bottom:.75rem}.forgot-password-link a{font-size:.85rem}.verification-success{padding:1.5rem 0}.email-icon{font-size:3rem;margin:.75rem 0}.verification-message{font-size:1rem;margin-bottom:.75rem}.verification-instructions{font-size:.9rem;margin-bottom:1.5rem}.verification-actions{gap:.75rem;margin-bottom:1.5rem}.resend-button{font-size:.9rem;min-height:44px;padding:12px 20px}.verification-tips{margin-top:1.5rem;padding:1.25rem}.verification-tips h4{font-size:.9rem;margin-bottom:.75rem}.verification-tips li{font-size:.85rem;padding:.2rem 0 .2rem 1.25rem}.error-message,.success-message{border-radius:6px;font-size:.9rem;padding:.875rem}.registration-loading{border-radius:8px}.loading-text{font-size:.85rem;margin-top:.75rem;max-width:250px}}@media (max-width:480px){.auth{padding:.5rem .25rem .25rem}.auth-container{margin-top:.5rem;padding:1.25rem}.auth-form h2{font-size:1.375rem}.form-group input{padding:.75rem}button[type=submit]{padding:.875rem 1rem}.google-signin-btn{font-size:15px;padding:10px 12px}.verification-success{padding:1.25rem 0}.email-icon{font-size:2.5rem}.verification-tips{padding:1rem}}@media (max-width:768px) and (orientation:landscape){.auth{align-items:center;padding-top:.5rem}.auth-container{margin-top:.5rem;max-width:90%}.auth-form h2{font-size:1.25rem;margin-bottom:.25rem}.auth-form{gap:1rem}.verification-success{padding:1rem 0}.email-icon{font-size:2.5rem;margin:.5rem 0}}.verification-success{padding:2rem 0;text-align:center}.email-icon{animation:bounce 2s infinite;font-size:4rem;margin:1rem 0}.verification-message{color:#374151;font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.verification-instructions{color:#6b7280;line-height:1.6;margin-bottom:2rem}.verification-actions{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.resend-button{align-items:center;background:#3b82f6;border-radius:8px;display:flex;font-family:Inter,sans-serif;font-weight:600;justify-content:center;min-height:2.5rem;transition:all .2s ease}.resend-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.resend-button:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.login-link{border-radius:4px;color:#6b7280;font-weight:600;padding:8px;text-decoration:none;transition:all .2s ease}.login-link:hover{background:#f3f4f6;color:#374151}.verification-tips{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:2rem;padding:1.5rem;text-align:left}.verification-tips h4{color:#374151;font-size:1rem;font-weight:600;margin-bottom:1rem}.verification-tips ul{color:#6b7280;list-style:none;margin:0;padding:0}.verification-tips li{padding:.25rem 0 .25rem 1.5rem;position:relative}.verification-tips li:before{color:#3b82f6;content:"•";font-weight:700;left:0;position:absolute}.forgot-password-link{margin-bottom:1rem;text-align:right}.forgot-password-link a{color:#6b7280;font-size:.9rem;text-decoration:none;transition:color .2s ease}.forgot-password-link a:hover{color:#374151;text-decoration:underline}.forgot-password-info,.reset-password-info{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.5rem;padding:1.5rem;text-align:left}.forgot-password-info p,.reset-password-info p{color:#6b7280;font-size:.9rem;line-height:1.5;margin-bottom:.5rem}.security-note{color:#dc3545!important;font-size:.8rem!important;margin-top:1rem!important}button:disabled{background-color:#9ca3af!important;cursor:not-allowed!important;opacity:.6}button:disabled:hover{background-color:#9ca3af!important;transform:none!important}.google-signin-container{margin-top:20px;text-align:center}.or-divider{align-items:center;color:#888;display:flex;margin:20px 0}.or-divider:after,.or-divider:before{border-bottom:1px solid #ddd;content:"";flex:1 1}.or-divider span{padding:0 10px}.google-signin-btn{align-items:center;background-color:#fff;border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 4px #0000000d;color:#444;cursor:pointer;display:flex;font-size:16px;font-weight:500;justify-content:center;padding:10px 15px;transition:background-color .3s,box-shadow .3s;width:100%}.google-signin-btn:hover{background-color:#f7f7f7;box-shadow:0 4px 6px #0000001a}.google-signin-btn:disabled{background-color:#f0f0f0;cursor:not-allowed;opacity:.7}.google-signin-btn img{height:20px;margin-right:15px;width:20px}@media (max-width:768px){.auth{min-height:100vh;min-height:-webkit-fill-available}.form-group input:focus{box-shadow:0 0 0 3px #ea580c26;transform:scale(1.02)}button:active{transform:scale(.98)}.auth-switch a,.forgot-password-link a,.login-link{border-radius:4px;display:inline-block;line-height:28px;min-height:44px;padding:8px 12px}body{overflow-x:hidden}.auth-form h2,.verification-instructions,.verification-message{-webkit-user-select:none;user-select:none}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.google-signin-btn img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}}@media (prefers-color-scheme:dark){.auth{background:linear-gradient(to bottom right,#1f2937,#111827)}.auth-container{background-color:#374151;border-color:#4b5563}.auth-form h2{color:#f9fafb}.form-group label{color:#e5e7eb}.form-group input{background-color:#4b5563;border-color:#6b7280;color:#f9fafb}.form-group input:focus{background-color:#4b5563;border-color:#ea580c}}.mobile-device .auth{min-height:100vh;min-height:calc(var(--vh, 1vh)*100)}.mobile-device .auth-container{margin:.5rem;max-width:calc(100% - 1rem)}.mobile-device input[type=checkbox].terms-checkbox{zoom:1!important;scale:1!important;transform:none!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important}.ios-device .form-group input{-webkit-appearance:none;border-radius:8px}.ios-device .google-signin-btn{-webkit-appearance:none;border-radius:6px}.android-device .form-group input:focus{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c33;outline:none}@media (hover:none) and (pointer:coarse){.google-signin-btn:hover{background-color:#fff;box-shadow:0 2px 4px #0000000d}button[type=submit]:hover{background-color:#ea580c;box-shadow:none;transform:none}.auth-switch a:hover,.forgot-password-link a:hover,.login-link:hover{background:none;color:#ea580c;text-decoration:underline}}.terms-checkbox-group{margin:1.5rem 0}input[type=checkbox].terms-checkbox{appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-color:#fff!important;border:2px solid #d1d5db!important;border-radius:3px!important;box-shadow:none!important;cursor:pointer;flex-shrink:0;height:18px!important;margin:0 .5rem 0 0!important;margin-top:2px;max-height:18px!important;max-width:18px!important;min-height:18px!important;min-width:18px!important;outline:none!important;padding:0!important;position:relative;scale:1!important;transform:none!important;vertical-align:top!important;width:18px!important}input[type=checkbox].terms-checkbox:checked{background-color:#ea580c!important;border-color:#ea580c!important}input[type=checkbox].terms-checkbox:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}input[type=checkbox].terms-checkbox:focus{outline:2px solid #ea580c!important;outline-offset:2px}input[type=checkbox].terms-checkbox:hover{border-color:#ea580c!important}.terms-checkbox-label{align-items:flex-start;color:#374151;cursor:pointer;display:flex;font-family:Inter,sans-serif;font-size:.9rem;gap:.5rem;line-height:1.5}.terms-text{color:#4b5563;flex:1 1}.terms-link{border-bottom:1px solid #0000;color:#ea580c;font-weight:600;text-decoration:none;transition:all .2s ease}.terms-link:hover{border-bottom-color:#c2410c;color:#c2410c;text-decoration:none}.terms-link:focus{border-radius:2px;outline:2px solid #ea580c;outline-offset:2px}.terms-checkbox:disabled{cursor:not-allowed;opacity:.6}.terms-checkbox-label:has(.terms-checkbox:disabled){cursor:not-allowed;opacity:.7}@media (max-width:768px){.terms-checkbox-group{margin:1.25rem 0}.terms-checkbox-label{font-size:.85rem;gap:.375rem}input[type=checkbox].terms-checkbox{border-radius:3px!important;height:18px!important;margin-right:.5rem!important;margin-top:1px;max-height:18px!important;max-width:18px!important;min-height:18px!important;min-width:18px!important;width:18px!important}input[type=checkbox].terms-checkbox:checked:after{font-size:10px}.terms-text{line-height:1.4}}@media (max-width:480px){.terms-checkbox-group{margin:1rem 0}.terms-checkbox-label{font-size:.8rem;gap:.25rem}input[type=checkbox].terms-checkbox{border-radius:3px!important;height:18px!important;margin-right:.5rem!important;max-height:18px!important;max-width:18px!important;min-height:18px!important;min-width:18px!important;width:18px!important}input[type=checkbox].terms-checkbox:checked:after{font-size:9px}}:root{--primary-green:#10b981;--primary-green-dark:#059669;--primary-green-light:#d1fae5;--accent-orange:#f59e0b;--accent-orange-dark:#d97706;--neutral-50:#f9fafb;--neutral-100:#f3f4f6;--neutral-200:#e5e7eb;--neutral-300:#d1d5db;--neutral-400:#9ca3af;--neutral-500:#6b7280;--neutral-600:#4b5563;--neutral-700:#374151;--neutral-800:#1f2937;--neutral-900:#111827;--white:#fff;--black:#000}body,html{background-color:#fff;background-color:var(--white);color:#374151;color:var(--neutral-700);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;overflow-x:hidden;padding:0}.font-display,.font-heading{color:#111827;color:var(--neutral-900)}.font-body,.font-body-medium{color:var(--neutral-600)}.btn-primary{align-items:center;background-color:#000;background-color:var(--black);border:none;border-radius:8px;color:var(--white);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-primary:hover{background-color:#1f2937;background-color:var(--neutral-800);box-shadow:0 4px 12px #00000026}.btn-secondary{align-items:center;background-color:#fff;background-color:var(--white);border:2px solid #d1d5db;border:2px solid var(--neutral-300);border-radius:8px;color:#374151;color:var(--neutral-700);cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-secondary:hover{background-color:#f9fafb;background-color:var(--neutral-50);border-color:#9ca3af;border-color:var(--neutral-400);transform:translateY(-1px)}.btn-green{align-items:center;background-color:#10b981;background-color:var(--primary-green);border:none;border-radius:24px;color:#fff;color:var(--white);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;text-decoration:none;transition:all .3s ease}.btn-green:hover{background-color:#059669;background-color:var(--primary-green-dark);box-shadow:0 4px 12px #10b9814d;transform:translateY(-1px)}.card{background-color:#fff;background-color:var(--white);border:1px solid #e5e7eb;border:1px solid var(--neutral-200);border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:24px;transition:all .3s ease}.card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.card-large{background-color:#fff;background-color:var(--white);border:1px solid #e5e7eb;border:1px solid var(--neutral-200);border-radius:24px;box-shadow:0 4px 16px #0000001a;padding:32px;transition:all .3s ease}.grid-2{grid-gap:24px;grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{display:grid;gap:24px}.grid-3{grid-gap:24px;grid-template-columns:repeat(3,1fr)}.grid-4{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-2,.grid-3,.grid-4{gap:16px;grid-template-columns:1fr}}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.space-y-8>*+*{margin-top:2rem}.space-y-12>*+*{margin-top:3rem}.container{padding:0 16px}@media (min-width:640px){.container{padding:0 24px}}@media (min-width:1024px){.container{padding:0 32px}}.section{padding:64px 0}@media (min-width:768px){.section{padding:80px 0}}@media (min-width:1024px){.section{padding:96px 0}}.hero{align-items:center;background:linear-gradient(135deg,#fef3c7,#fed7aa);display:flex;min-height:100vh;overflow:hidden;position:relative}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.hero-content{position:relative;z-index:1}.feature-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--neutral-200);border-radius:20px;box-shadow:0 2px 8px #00000014;overflow:hidden;padding:32px;position:relative;transition:all .3s ease}.feature-card:before{background:linear-gradient(90deg,#10b981,#f59e0b);background:linear-gradient(90deg,var(--primary-green),var(--accent-orange));content:"";height:4px;left:0;position:absolute;right:0;top:0}.feature-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.feature-icon{align-items:center;border-radius:12px;display:flex;height:48px;justify-content:center;margin-bottom:20px;width:48px}.feature-icon.orange{background-color:#fef3c7;color:#f59e0b;color:var(--accent-orange)}.feature-icon.green{background-color:#d1fae5;background-color:var(--primary-green-light);color:#10b981;color:var(--primary-green)}.feature-icon.purple{background-color:#f3e8ff;color:#8b5cf6}.testimonial-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--neutral-200);border-radius:16px;box-shadow:0 2px 8px #00000014;padding:24px;transition:all .3s ease}.testimonial-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.testimonial-avatar{align-items:center;border-radius:50%;color:#fff;color:var(--white);display:flex;font-weight:600;height:40px;justify-content:center;margin-right:12px;width:40px}.testimonial-avatar.orange{background-color:#f59e0b;background-color:var(--accent-orange)}.testimonial-avatar.green{background-color:#10b981;background-color:var(--primary-green)}.testimonial-avatar.purple{background-color:#8b5cf6}.cta-section{background:linear-gradient(135deg,#f59e0b,#f59e0b);background:linear-gradient(135deg,var(--accent-orange),#f59e0b);color:#fff;color:var(--white);overflow:hidden;position:relative}.cta-section:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='10' cy='10' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.cta-content{position:relative;z-index:1}.form-input{background-color:#fff;background-color:var(--white);border:2px solid #d1d5db;border:2px solid var(--neutral-300);border-radius:8px;font-size:16px;padding:12px 16px;transition:all .3s ease;width:100%}.form-input:focus{border-color:#10b981;border-color:var(--primary-green);box-shadow:0 0 0 3px #10b9811a;outline:none}.form-label{color:#374151;color:var(--neutral-700);display:block;font-weight:500;margin-bottom:8px}.animate-fade-in-up{animation:fadeInUp .6s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-left{animation:slideInLeft .6s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .6s ease-out}@media (max-width:640px){.hero{min-height:80vh}.hero,.section{padding:40px 0}.feature-card{padding:24px}.btn-green,.btn-primary,.btn-secondary{font-size:14px;padding:10px 20px}}.text-left{text-align:left}.text-right{text-align:right}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.py-8{padding-bottom:2rem;padding-top:2rem}body,html{background:linear-gradient(to bottom right,#fff7ed,#ffedd5)!important;margin:0!important;min-height:100vh;padding:0!important}*{box-sizing:border-box;margin:0;padding:0}:before,body:before,html:before{display:none!important}#root,body{background:linear-gradient(to bottom right,#fff7ed,#ffedd5);color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;margin:0;min-height:100vh;overflow-x:hidden;padding:0}.font-display{color:#374151;font-family:Crimson Text,serif!important;font-weight:600;letter-spacing:-.02em;line-height:1.1}.font-heading{font-weight:700;letter-spacing:-.025em;line-height:1.2}.font-heading,.font-title{color:#374151;font-family:Inter,sans-serif!important}.font-title{font-weight:600;letter-spacing:-.015em;line-height:1.3}.font-body{color:#4b5563;font-weight:400;letter-spacing:-.005em;line-height:1.6}.font-body,.font-body-light{font-family:Inter,sans-serif!important}.font-body-light{color:#6b7280;font-weight:300;letter-spacing:0;line-height:1.7}.font-body-medium{color:#4b5563;font-family:Inter,sans-serif!important;font-weight:500;letter-spacing:-.005em;line-height:1.6}.heading-display{color:#374151;font-family:Crimson Text,serif!important;font-weight:600;letter-spacing:-.02em;line-height:1.1}.heading-primary{font-weight:700;letter-spacing:-.025em;line-height:1.2}.heading-primary,.heading-secondary{color:#374151;font-family:Inter,sans-serif!important}.heading-secondary{font-weight:600;letter-spacing:-.015em;line-height:1.3}.text-body{color:#4b5563;font-weight:400;letter-spacing:-.005em;line-height:1.6}.text-body,.text-light{font-family:Inter,sans-serif!important}.text-light{color:#6b7280;font-weight:300;letter-spacing:0;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:Inter,sans-serif!important;letter-spacing:-.015em;line-height:1.3}h1,h2,h3,h4,h5,h6{color:#374151;font-weight:600}h1{font-family:Crimson Text,serif!important;letter-spacing:-.02em;line-height:1.1}a,button,div,input,label,p,span,textarea{color:#4b5563;font-weight:400;line-height:1.6}a,button,div,input,label,p,span,textarea{font-family:Inter,sans-serif!important;letter-spacing:-.005em}button{font-weight:500}input,select,textarea{background-color:#fff;border:1px solid #d1d5db;color:#374151;font-family:Inter,sans-serif!important;font-weight:400;letter-spacing:-.005em}input:focus,select:focus,textarea:focus{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c1a;outline:none}.App{background:linear-gradient(to bottom right,#fff7ed,#ffedd5);display:flex;flex-direction:column;margin:0;max-width:100%;min-height:100vh;padding:0;position:relative}@media (min-width:768px){.App{padding-top:96px}}.content{align-items:center;background:#0000;display:flex;flex-direction:column;flex-grow:1;padding:0 2rem 2rem}.content h2{color:#374151;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-link{color:#374151}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.create-recipe{border:1px solid #fed7aa;border-radius:12px;box-shadow:0 4px 16px #ea580c26;max-width:500px;padding:20px}.create-recipe h2{margin-bottom:20px}.form-group{margin-bottom:15px}.form-group label{margin-bottom:5px}.form-group input[type=number],.form-group input[type=text],.form-group textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-size:16px;padding:8px;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c1a}.form-group textarea{height:100px;resize:vertical}.add-ingredient{background-color:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;margin:4px 2px;padding:8px 16px;text-align:center;text-decoration:none;transition:all .3s ease}.add-ingredient:hover{background-color:#c2410c;transform:translateY(-1px)}.create-recipe-btn{background-color:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:16px;margin:20px auto 0;padding:10px 20px;text-align:center;text-decoration:none;transition:all .3s ease;width:100%}.create-recipe-btn:hover{background-color:#c2410c;transform:translateY(-1px)}.recipe-actions{display:flex;gap:10px;margin:10px 0}.recipe-actions button{border:none;border-radius:8px;cursor:pointer;padding:5px 10px;transition:all .3s ease}.recipe-actions button:first-child{background-color:#ea580c;color:#fff}.recipe-actions button:first-child:hover{background-color:#c2410c}.recipe-actions button:last-child{background-color:#dc3545;color:#fff}.recipe-actions button:last-child:hover{background-color:#b91c1c}.recipe-actions button:disabled{background-color:#9ca3af;cursor:not-allowed}.recipe-actions button.saved{background-color:#374151;color:#fff}.search-container{display:flex;gap:10px;justify-content:center;margin:20px 0}.search-container input,.search-container select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;padding:8px}.search-container input:focus,.search-container select:focus{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c1a}.search-container button{background-color:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:8px 16px;transition:all .3s ease}.search-container button:hover{background-color:#c2410c;transform:translateY(-1px)}.animate-slide-up{transition:all .3s ease-out}.animate-fade-in{transition:opacity .3s ease-out}.pwa-install-button{background:linear-gradient(135deg,#10b981,#059669);transition:all .3s ease}.pwa-install-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 25px #10b9814d;transform:translateY(-2px)}.offline-mode{filter:grayscale(.3);opacity:.9}.offline-banner{background:linear-gradient(135deg,#f59e0b,#d97706)}.offline-banner,.online-banner{animation:fade-in .3s ease-out;color:#fff;font-weight:500;padding:8px 16px;text-align:center}.online-banner{background:linear-gradient(135deg,#10b981,#059669)}.pwa-icon-bounce{transition:transform .2s ease}.pwa-icon-bounce:hover{transform:scale(1.05)}.pwa-focus:focus{outline:3px solid #10b981;outline-offset:2px}@media (max-width:768px){.pwa-install-prompt{border-radius:16px 16px 0 0;bottom:0;left:0;margin:0;right:0}}.create-recipe{background-color:#fff;margin:0 auto;max-width:1000px;min-height:100vh;padding:2rem}.create-recipe h2{font-size:2rem;font-weight:700;margin-bottom:2rem;text-align:center}.create-recipe h2,.form-group label{color:#374151;font-family:Inter,sans-serif!important}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;font-family:Inter,sans-serif!important;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c1a}.ingredient-row{grid-gap:1rem;align-items:start;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr auto;margin-bottom:1rem}.button-primary{background-color:#ea580c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,sans-serif!important;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.button-primary:hover{background-color:#c2410c;box-shadow:0 4px 8px #ea580c33;transform:translateY(-1px)}.button-secondary{background-color:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,sans-serif!important;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.button-secondary:hover{background-color:#1d4ed8;box-shadow:0 4px 8px #2563eb33;transform:translateY(-1px)}.button-danger{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,sans-serif!important;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.button-danger:hover{background-color:#b91c1c;box-shadow:0 4px 8px #dc262633;transform:translateY(-1px)}.error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-family:Inter,sans-serif!important;margin-bottom:1rem;padding:1rem}.image-upload-container{margin-top:10px}.image-preview{background-color:#fff;border:1px solid #fed7aa;border-radius:8px;display:inline-block;padding:10px}.image-preview,.image-upload-input{margin-bottom:10px}.or-divider{color:#6b7280;font-family:Inter,sans-serif!important;margin:10px 0;text-align:center}.image-url-input{width:100%}.dietary-preferences-container{background-color:#fff7ed;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 2px 8px #ea580c1a;margin-bottom:1.5rem;padding:1.5rem}.dietary-preferences{display:flex;gap:2rem;margin-bottom:15px;margin-top:1rem}.checkbox-label{background-color:#fff;border:2px solid #fed7aa;font-family:Inter,sans-serif!important;gap:12px;padding:10px 16px}.checkbox-label:hover{border-color:#ea580c;box-shadow:0 4px 8px #ea580c1a;transform:translateY(-2px)}.checkbox-label input[type=checkbox]{accent-color:#ea580c;cursor:pointer;height:24px;width:24px}.categories-container{background-color:#eff6ff;border:2px solid #2563eb;border-radius:12px;box-shadow:0 2px 8px #2563eb1a;margin-bottom:1.5rem;margin-top:15px;padding:1.5rem}.categories-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:1rem}.category-checkbox{align-items:center;background-color:#fff;border:2px solid #bfdbfe;border-radius:8px;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;gap:12px;padding:12px 16px;transition:all .3s ease}.category-checkbox:hover{border-color:#2563eb;box-shadow:0 4px 8px #2563eb1a;transform:translateY(-2px)}.category-checkbox input[type=checkbox]{accent-color:#2563eb;cursor:pointer;height:24px;width:24px}.category-checkbox.selected{background-color:#eff6ff;border-color:#2563eb}.section-header{color:#374151;font-family:Inter,sans-serif!important;font-size:1.2rem;font-weight:600;margin-bottom:.5rem}@media (max-width:768px){.create-recipe{border-radius:0;box-sizing:border-box;margin:0;max-width:none!important;min-height:100vh;padding:1rem 1rem 120px;width:100%!important}.create-recipe h2{font-size:1.5rem;margin-bottom:1rem}.dietary-preferences{flex-direction:column;gap:.75rem}.categories-grid{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(100%,1fr))}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{font-size:16px;padding:.6rem}.ingredient-row{gap:.5rem;grid-template-areas:"name" "amount" "unit" "customUnit" "remove";grid-template-columns:1fr}.toggle-btn.large{font-size:.9rem;min-width:120px;padding:10px 15px}.category-checkbox,.checkbox-label{padding:8px 12px;width:100%}.ai-recipe-generator *{max-width:none!important}.generate-recipe-btn,.update-recipe-btn{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;color:#fff!important;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin-bottom:30px;max-width:100%;min-height:48px;padding:16px;touch-action:manipulation;width:100%}.categories-container,.dietary-preferences-container{padding:10px}.form-section{margin-bottom:1rem;margin-top:1.25rem}.button-primary{margin-bottom:30px}.button-danger,.button-primary,.button-secondary,.button-tertiary{-webkit-tap-highlight-color:transparent;align-items:center;display:flex;justify-content:center;min-height:48px;touch-action:manipulation}.button-danger,.button-primary,.button-secondary,.button-tertiary{border-radius:8px;font-weight:600}.preview-actions{display:flex;flex-direction:column;gap:12px;margin-bottom:40px;margin-top:20px}.edit-recipe-btn,.generate-new-btn,.save-recipe-btn{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;display:flex;font-size:1rem;font-weight:600;justify-content:center;min-height:48px;padding:16px;touch-action:manipulation;width:100%}.recipe-generated-section{padding-bottom:40px}.ai-quota-display{border-radius:8px;padding:15px}.ai-quota-display,.cupboard-recipe-form,.form-group{margin-bottom:20px}.form-group textarea{min-height:80px;resize:vertical}.category-checkbox,.checkbox-label,.toggle-btn{-webkit-tap-highlight-color:transparent;min-height:44px;touch-action:manipulation}.category-checkbox,.checkbox-label{align-items:center;display:flex}.ai-image-checkbox{-webkit-tap-highlight-color:transparent;gap:10px;min-height:48px;padding:12px 16px;touch-action:manipulation}.ai-image-checkbox input[type=checkbox]{background-color:#fff;border:2px solid #d1d5db;border-radius:4px;height:20px!important;min-height:20px;min-width:20px;width:20px!important}.ai-image-checkbox input[type=checkbox]:checked{background-color:#ea580c;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:14px 14px;border-color:#ea580c}.ai-image-checkbox .checkbox-text{font-size:14px;line-height:1.3}.ai-image-checkbox .limit-notice{font-size:11px;margin-left:6px}.form-group input[type=email],.form-group input[type=number],.form-group input[type=text],.form-group select{min-height:44px;touch-action:manipulation}}@media (max-width:480px){.create-recipe{padding:.75rem .75rem 100px}.creation-mode-toggle{flex-direction:column;gap:8px;margin-bottom:15px}.toggle-btn.large{font-size:.9rem;min-height:44px;padding:8px 12px;width:100%}.generate-recipe-btn,.update-recipe-btn{font-size:1rem;margin-bottom:25px;min-height:44px;padding:14px}.edit-recipe-btn,.generate-new-btn,.save-recipe-btn{font-size:.95rem;min-height:44px;padding:14px}.form-group input[type=number],.form-group input[type=text],.form-group select,.form-group textarea{font-size:16px;min-height:40px;padding:.5rem}.ai-recipe-generator h3{font-size:1.3rem;margin-bottom:1rem}.ai-daily-limit-note{margin-bottom:15px;padding:12px}.ai-daily-limit-note p{font-size:.9rem}.daily-limit-note{font-size:.85rem;padding:10px}.form-section-title{font-size:1.1rem}.category-group{margin-bottom:15px}.category-checkbox input[type=checkbox],.checkbox-label input[type=checkbox]{height:18px;width:18px}.generate-recipe-btn,.update-recipe-btn{margin-bottom:20px}.button-danger,.button-primary,.button-secondary,.button-tertiary{min-height:44px;padding:12px 16px}.form-group{margin-bottom:15px}.form-section{margin-bottom:.75rem;margin-top:1rem}.preview-actions{gap:10px;margin-bottom:30px}.ai-quota-display{padding:12px}.ai-quota-display,.cupboard-recipe-form{margin-bottom:15px}.toggle-btn{min-height:40px;padding:8px 12px}.category-checkbox,.checkbox-label{min-height:40px;padding:8px 10px}.ai-image-checkbox{gap:8px;min-height:44px;padding:10px 12px}.ai-image-checkbox input[type=checkbox]{background-color:#fff;border:2px solid #d1d5db;border-radius:4px;height:18px!important;min-height:18px;min-width:18px;width:18px!important}.ai-image-checkbox input[type=checkbox]:checked{background-color:#ea580c;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px 12px;border-color:#ea580c}.ai-image-checkbox .checkbox-text{font-size:13px;line-height:1.2}.ai-image-checkbox .limit-notice{font-size:10px;margin-left:4px}}.creation-mode-toggle{display:flex;gap:15px;justify-content:center;margin-bottom:30px}.toggle-btn{background-color:#fff;border:2px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-family:Inter,sans-serif!important;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s}.toggle-btn.large{font-size:1.1rem;min-width:200px;padding:16px 32px}.toggle-btn:hover{background-color:#fff7ed;border-color:#ea580c}.toggle-btn.active{background-color:#ea580c;border-color:#c2410c;box-shadow:0 4px 8px #ea580c33;color:#fff;transform:translateY(-2px)}.ai-quota-display{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border:1px solid #cbd5e1;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin-bottom:2rem;padding:1rem}.quota-header{margin-bottom:.5rem}.quota-header,.quota-info{align-items:center;display:flex;justify-content:space-between}.quota-info{flex:1 1}.quota-refresh-btn{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-left:8px;padding:4px;transition:all .2s ease}.quota-refresh-btn:hover{background-color:#0000000d;transform:scale(1.1)}.quota-refresh-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.quota-label{color:#374151}.quota-label,.quota-unlimited{font-size:.9rem;font-weight:600}.quota-unlimited{color:#059669}.quota-limited{color:#374151;font-size:.9rem;font-weight:500}.quota-exhausted{color:#dc2626;font-weight:600}.quota-remaining{margin-bottom:.25rem}.remaining-text{color:#059669;font-size:.85rem;font-weight:500}.quota-reset{margin-bottom:.25rem}.reset-text{color:#6b7280;font-size:.8rem}.time-until-reset{color:#dc2626;font-size:.75rem;font-weight:600}@media (max-width:768px){.quota-header{gap:.5rem}.quota-header,.quota-info{align-items:flex-start;flex-direction:column}.quota-info{gap:.25rem;width:100%}.quota-refresh-btn{align-self:flex-end;margin-left:0}.ai-quota-display{margin-bottom:1.5rem;padding:.75rem}}.cupboard-toggle{background:linear-gradient(135deg,#f8f9ff,#e8f2ff);border:2px solid #e0e7ff;border-radius:12px;margin-bottom:20px;padding:16px}.cupboard-toggle .checkbox-label{align-items:center;color:#374151;display:flex;font-size:16px;font-weight:600;gap:10px;margin-bottom:5px}.cupboard-toggle .form-text{color:#6b7280;font-size:13px;margin-left:28px;margin-top:5px}.cupboard-recipe-form{background-color:#fff7ed;border:2px solid #fed7aa;border-radius:12px;margin-bottom:20px;padding:20px}.cupboard-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.cupboard-form-header h4{color:#ea580c;font-family:Inter,sans-serif!important;margin:0}.switch-to-normal-btn{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:8px 16px;transition:all .3s ease}.switch-to-normal-btn:hover{background-color:#4b5563}.cupboard-ingredients-selection{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:10px}.cupboard-ingredient-checkbox{align-items:center;gap:10px;padding:12px}.cupboard-ingredient-checkbox:hover{background-color:#fff7ed}.cupboard-ingredient-checkbox.selected{background-color:#ffedd5}.cupboard-ingredient-checkbox input[type=checkbox]{height:18px;width:18px}.cupboard-ingredient-info{gap:2px}.cupboard-ingredient-info .ingredient-amount{font-size:12px}.generated-prompt-preview{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;margin-top:20px;padding:15px}.generated-prompt-preview label{color:#374151;display:block;font-weight:600;margin-bottom:8px}.prompt-preview{color:#4b5563;font-style:italic;line-height:1.5}.prompt-preview strong{color:#ea580c;font-weight:600}@media (max-width:768px){.cupboard-form-header{align-items:flex-start;flex-direction:column;gap:10px}.cupboard-ingredients-selection{grid-template-columns:1fr}.cupboard-ingredient-checkbox{padding:10px}}.ai-recipe-generator{background-color:#fff;border:1px solid #fed7aa;border-radius:15px;box-shadow:0 4px 16px #ea580c26;margin-bottom:30px;margin-left:auto!important;margin-right:auto!important;max-width:none!important;padding:25px;width:100%!important}.ai-daily-limit-note{background-color:#fff7ed;border:2px solid #fed7aa;border-radius:10px;box-shadow:0 2px 8px #ea580c1a;margin-bottom:20px;padding:15px;text-align:center}.ai-daily-limit-note p{color:#92400e;font-family:Inter,sans-serif!important;font-size:.95rem;font-weight:500;line-height:1.4;margin:0}.ai-daily-limit-note strong{color:#ea580c}.ai-recipe-generator h3{color:#374151;font-family:Inter,sans-serif!important;font-weight:700}.ai-recipe-generator *{max-width:none!important}.ai-recipe-generator .form-group,.ai-recipe-generator .form-section,.ai-recipe-generator .generated-recipe-preview,.ai-recipe-generator form{max-width:none!important;width:100%!important}.ai-recipe-generator .form-group input[type=number],.ai-recipe-generator .form-group input[type=text],.ai-recipe-generator .form-group select,.ai-recipe-generator .form-group textarea{border:2px solid #e5e7eb;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s ease;width:100%}.ai-recipe-generator .form-group select{background-color:#fff;cursor:pointer}.ai-recipe-generator .form-group input:focus,.ai-recipe-generator .form-group select:focus,.ai-recipe-generator .form-group textarea:focus{border-color:#ea580c;box-shadow:0 0 0 3px #ea580c1a;outline:none}.ai-info-note{background-color:#fff7ed;border-left:4px solid #ea580c;border-radius:0 4px 4px 0;color:#374151;font-family:Inter,sans-serif!important;font-size:.9rem;line-height:1.5;margin-bottom:20px;padding:12px}.ai-info-note code{background-color:#fed7aa;border-radius:3px;font-family:monospace;padding:2px 4px}.ai-image-note{background-color:#eff6ff;border-left:4px solid #2563eb}.ai-image-note,.daily-limit-note{border-radius:0 4px 4px 0;color:#374151;font-family:Inter,sans-serif!important;font-size:.9rem;line-height:1.5;margin-bottom:20px;padding:12px}.daily-limit-note{background-color:#fffbeb;border-left:4px solid #f59e0b}.preference-options{display:flex;flex-direction:column;gap:10px;margin-top:10px}.radio-label{align-items:center;cursor:pointer;display:flex;gap:8px}.ai-image-checkbox,.radio-label{color:#374151;font-family:Inter,sans-serif!important}.ai-image-checkbox{align-items:center!important;background-color:#fff7ed;border:2px solid #fed7aa;border-radius:10px;cursor:pointer!important;display:flex!important;font-weight:500;gap:12px!important;margin-top:10px;padding:15px 20px;position:relative;transition:all .3s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.ai-image-checkbox:hover{background-color:#ffedd5;border-color:#ea580c;box-shadow:0 3px 6px #ea580c1a;transform:translateY(-2px)}.ai-image-checkbox input[type=checkbox]{accent-color:#ea580c;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;border:2px solid #d1d5db;border-radius:4px;cursor:pointer!important;flex-shrink:0;height:24px!important;margin:0!important;position:relative;transition:all .2s ease;width:24px!important;z-index:2}.ai-image-checkbox input[type=checkbox]:checked{background-color:#ea580c;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:16px 16px;border-color:#ea580c}.ai-image-checkbox input[type=checkbox]:hover{border-color:#ea580c;box-shadow:0 0 0 2px #ea580c1a}.ai-image-checkbox input[type=checkbox]:focus{outline:2px solid #ea580c;outline-offset:2px}.ai-image-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.ai-image-checkbox:has(input[type=checkbox]:checked){background-color:#ffedd5;border-color:#ea580c;box-shadow:0 2px 8px #ea580c33}.ai-image-checkbox.checked{background-color:#ffedd5;border-color:#ea580c;box-shadow:0 2px 8px #ea580c33}.ai-image-checkbox .checkbox-text{flex:1 1;line-height:1.4}.ai-image-checkbox .limit-notice{color:#d32f2f;font-size:12px;font-weight:500;margin-left:8px}.generate-recipe-btn{background-color:#374151!important;border:none;border-radius:8px;box-shadow:0 3px 6px #2563eb33;color:#fff;cursor:pointer;display:block;font-family:Inter,sans-serif!important;font-size:1.1rem;font-weight:600;margin-left:auto;margin-right:auto;margin-top:25px;max-width:400px;padding:16px 32px;transition:all .3s;width:100%}.generate-recipe-btn:hover{background-color:#1d4ed8!important;box-shadow:0 5px 10px #2563eb40;transform:translateY(-2px)}.generate-recipe-btn:disabled{background-color:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.update-recipe-btn{background-color:#ea580c;border:none;border-radius:8px;box-shadow:0 3px 6px #ea580c33;color:#fff;cursor:pointer;display:block;font-family:Inter,sans-serif!important;font-size:1.1rem;font-weight:600;margin-left:auto;margin-right:auto;margin-top:25px;max-width:400px;padding:16px 32px;transition:all .3s;width:100%}.update-recipe-btn:hover{background-color:#c2410c;box-shadow:0 5px 10px #ea580c40;transform:translateY(-2px)}.update-recipe-btn:disabled{background-color:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.generated-recipe-preview{background-color:#fff;border:1px solid #fed7aa;border-radius:8px;box-shadow:0 2px 8px #ea580c1a;margin-top:20px;padding:20px}.generated-recipe-preview h4{color:#374151;font-family:Inter,sans-serif!important;font-size:1.2rem;font-weight:600;margin-bottom:15px;margin-top:0}.preview-section{margin-bottom:15px}.preview-section h5{color:#4b5563;font-family:Inter,sans-serif!important;font-size:1rem;font-weight:600;margin-bottom:8px}.category-tags,.dietary-tags{display:flex;flex-wrap:wrap;gap:8px}.category-tag,.dietary-tag{border-radius:20px;display:inline-block;font-family:Inter,sans-serif!important;font-size:.9rem;font-weight:500;padding:6px 12px}.dietary-tag.vegan{background-color:#10b981;color:#fff}.dietary-tag.vegetarian{background-color:#84cc16;color:#fff}.dietary-tag.non-vegetarian{background-color:#ea580c;color:#fff}.category-tag{background-color:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.no-categories{color:#6b7280;font-family:Inter,sans-serif!important;font-style:italic}.ingredients-count,.instructions-count{color:#4b5563;font-family:Inter,sans-serif!important;margin:8px 0}.generated-image{margin-top:20px;text-align:center}.generated-image h4{color:#059669;font-family:Inter,sans-serif!important;margin-bottom:10px}.generated-image-placeholder{background-color:#fef3c7;border:2px dashed #f59e0b;border-radius:8px;margin-top:20px;padding:20px;text-align:center}.generated-image-placeholder h4{color:#d97706;font-family:Inter,sans-serif!important;margin-bottom:10px}.generated-image-placeholder p{color:#92400e;font-family:Inter,sans-serif!important;font-style:italic;margin:0}.image-error-details{background-color:#fef2f2;border:1px solid #fecaca;border-radius:4px;color:#dc2626;font-family:Inter,sans-serif!important;margin-top:10px;padding:8px}.image-error-details small{font-size:.8rem;line-height:1.4}.generated-image-disabled{background-color:#f3f4f6;border:2px dashed #9ca3af;border-radius:8px;margin-top:20px;padding:20px;text-align:center}.generated-image-disabled h4{color:#6b7280;font-family:Inter,sans-serif!important;margin-bottom:10px}.generated-image-disabled p{color:#4b5563;font-family:Inter,sans-serif!important;font-style:italic;margin:0}.category-help-text{color:#6b7280;font-family:Inter,sans-serif!important;font-size:.85rem;margin:5px 0 10px}.ingredient-categories-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:10px}.ingredient-category-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.ingredient-category-tag{background-color:#fff7ed;border:1px solid #fed7aa;border-radius:20px;color:#ea580c;font-family:Inter,sans-serif!important;font-size:.75rem;padding:2px 10px}.ingredient-categories-summary h6{color:#6b7280;font-family:Inter,sans-serif!important;font-size:.85rem;font-weight:600;margin:10px 0 5px}.category-group{background-color:#fff;border:1px solid #fed7aa;border-radius:8px;box-shadow:0 2px 8px #ea580c1a;margin:20px 0;padding:16px}.category-group-title{border-bottom:2px solid #ea580c;color:#374151;font-family:Inter,sans-serif!important;font-size:1.1rem;font-weight:600;margin:0 0 15px;padding-bottom:10px}.category-options{display:flex;flex-wrap:wrap;gap:12px}.category-option{align-items:center;background-color:#fff;border:1px solid #fed7aa;border-radius:20px;box-shadow:0 1px 3px #ea580c1a;color:#374151;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;font-weight:500;padding:8px 15px;transition:all .2s}.category-option:hover{background-color:#fff7ed;border-color:#ea580c}.category-option.selected{background-color:#ffedd5;border-color:#ea580c;box-shadow:0 2px 5px #ea580c33;color:#ea580c}.selected-categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.selected-category-tag{background-color:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;color:#374151;font-family:Inter,sans-serif!important;font-size:.8rem;padding:2px 8px}.form-section{border-top:1px solid #fed7aa;margin-bottom:1.5rem;margin-top:2rem;padding-top:1rem}.form-section-title{color:#374151;font-family:Inter,sans-serif!important;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.walkthrough-prompt-overlay{background-color:#111827cc;z-index:10000}.walkthrough-prompt-modal{animation:modal-fade-in .3s ease-out;border:1px solid #fed7aa;box-shadow:0 8px 32px #ea580c33;width:90%}@keyframes modal-fade-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.walkthrough-prompt-modal h3{color:#374151;font-family:Inter,sans-serif!important;font-size:22px;font-weight:700;text-align:center}.walkthrough-prompt-modal p{color:#4b5563;font-family:Inter,sans-serif!important;font-size:16px;margin-bottom:24px;text-align:center}.walkthrough-prompt-actions{gap:16px}.walkthrough-prompt-btn{border-radius:8px;font-family:Inter,sans-serif!important;font-size:16px}.skip-btn{background-color:#fff;border:1px solid #d1d5db;color:#6b7280}.skip-btn:hover{background-color:#f9fafb;border-color:#9ca3af}.start-btn{background-color:#ea580c;border:none;color:#fff}.start-btn:hover{background-color:#c2410c}.recipe-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#111827e6;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:10001}.recipe-loading-content{animation:fade-in .5s ease-out;background-color:#fff;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 8px 32px #ea580c33;max-width:500px;padding:30px;text-align:center;width:90%}.recipe-loading-content h3{color:#374151;font-family:Inter,sans-serif!important;font-size:24px;font-weight:700;margin-bottom:20px}.recipe-loading-spinner{height:80px;margin:0 auto 25px;position:relative;width:80px}.spinner{animation:spin 1s ease-in-out infinite;border:8px solid #ea580c1a;border-radius:50%;border-top-color:#ea580c;height:80px;width:80px}.recipe-loading-pun{animation:pun-fade .5s ease-in-out;background-color:#fff7ed;border:1px solid #fed7aa;border-radius:8px;color:#374151;display:inline-block;font-family:Inter,sans-serif!important;font-size:18px;font-weight:500;margin:0 auto 15px;max-width:90%;padding:12px}@keyframes pun-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.recipe-loading-info{color:#6b7280;font-family:Inter,sans-serif!important;font-size:14px;margin-bottom:0}.recipe-generated-section{animation:fade-slide-up .6s ease-out;border-top:2px dashed #fed7aa;margin-top:30px;padding-top:20px}@keyframes fade-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:576px){.recipe-loading-content{padding:20px}.recipe-loading-content h3{font-size:20px}.recipe-loading-pun{font-size:16px}.spinner{border-width:6px}.recipe-loading-spinner,.spinner{height:60px;width:60px}}.generated-recipe-actions{margin-bottom:25px;text-align:left}.back-to-form-btn{align-items:center;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;font-size:14px;font-weight:500;padding:10px 15px;transition:all .2s}.back-to-form-btn:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translateY(-2px)}.back-to-form-btn:before{color:#ea580c;content:"←";font-size:16px;margin-right:8px}.recipe-recovery-banner{align-items:center;background-color:#fffbeb;border:1px solid #f59e0b;border-radius:8px;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:15px 0;padding:15px}.recipe-recovery-banner p{color:#374151;flex:1 1;margin:0}.discard-btn,.recipe-recovery-banner p,.recovery-btn{font-family:Inter,sans-serif!important;font-weight:500}.discard-btn,.recovery-btn{border:none;border-radius:8px;cursor:pointer;padding:8px 16px;transition:all .3s ease}.recovery-btn{background-color:#ea580c;color:#fff}.recovery-btn:hover{background-color:#c2410c;transform:translateY(-1px)}.discard-btn{background-color:#fff;border:1px solid #d1d5db;color:#6b7280}.discard-btn:hover{background-color:#f9fafb;border-color:#9ca3af}@media (max-width:768px){.recipe-recovery-banner{align-items:stretch;flex-direction:column}.recipe-recovery-banner p{margin-bottom:10px}.discard-btn,.recovery-btn{width:100%}}.web-search-results{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;padding:20px}.web-search-results h4{align-items:center;color:#2c3e50;display:flex;font-size:1.3rem;gap:8px;margin-bottom:15px}.toggle-web-search-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;margin-bottom:15px;padding:8px 16px;transition:background-color .3s ease}.toggle-web-search-btn:hover{background:#0056b3}.web-search-text{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#2c3e50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;line-height:1.5;max-height:400px;overflow-y:auto;padding:15px;white-space:pre-wrap}.generated-recipe-preview{background:linear-gradient(135deg,#fff7ed,#fed7aa 50%,#ea580c)!important;border:2px solid #ea580c!important;border-radius:16px!important;box-shadow:0 8px 24px #ea580c26!important;margin-top:1.5rem!important;overflow:hidden;padding:2rem!important;position:relative}.generated-recipe-preview:before{background:#ffffffe6;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:1}.generated-recipe-preview>*{position:relative;z-index:2}.generated-recipe-preview h4{color:#c2410c!important;font-size:1.5rem!important;font-weight:700!important;margin-bottom:1.5rem!important;text-align:center!important;text-shadow:0 1px 2px #0000001a}.recipe-header{border-bottom:2px solid #fed7aa;margin-bottom:1.5rem;padding-bottom:1rem}.recipe-title{color:#1f2937;font-family:Inter,sans-serif!important;font-size:2rem;font-weight:700;margin-bottom:.5rem}.recipe-description{color:#6b7280;font-size:1.1rem;font-style:italic;line-height:1.6;margin:0}.recipe-meta{grid-gap:1rem;background-color:#fffc;border:1px solid #fed7aa;border-radius:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:1rem}.meta-item{flex-direction:column;text-align:center}.meta-label{color:#374151;font-size:.9rem;font-weight:600;margin-bottom:.25rem}.meta-value{color:#ea580c;font-size:1.1rem;font-weight:700}.ingredients-preview,.instructions-preview,.tags-container{background-color:#fffc;border:1px solid #fed7aa;border-radius:12px;padding:1rem}.ingredients-preview,.instructions-preview{max-height:200px;overflow-y:auto}.ingredient-item-preview{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;gap:.5rem;padding:.5rem 0}.ingredient-item-preview:last-child{border-bottom:none}.ingredient-amount{color:#ea580c;font-weight:600}.ingredient-name{color:#374151}.ingredient-notes{color:#6b7280;font-size:.9rem;font-style:italic}.instruction-item-preview{border-bottom:1px solid #f3f4f6;display:flex;gap:.75rem;padding:.75rem 0}.instruction-item-preview:last-child{border-bottom:none}.instruction-number{color:#ea580c;font-weight:700;min-width:25px}.instruction-text{color:#374151;line-height:1.5}.more-ingredients,.more-instructions{color:#6b7280;font-style:italic;font-weight:500;padding:.5rem 0;text-align:center}.ai-metadata-section{background-color:#6366f11a;border:1px solid #c7d2fe;border-radius:12px;padding:1rem}.ai-metadata{display:flex;flex-wrap:wrap;gap:.5rem}.ai-tag{background-color:#6366f1;border-radius:20px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.preview-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.edit-recipe-btn,.generate-new-btn,.save-recipe-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-family:Inter,sans-serif!important;font-weight:600;min-width:150px;padding:.75rem 1.5rem;transition:all .3s ease}.edit-recipe-btn{background-color:#2563eb;color:#fff}.edit-recipe-btn:hover{background-color:#1d4ed8;transform:translateY(-1px)}.generate-new-btn{background-color:#6b7280;color:#fff}.generate-new-btn:hover{background-color:#4b5563;transform:translateY(-1px)}.save-recipe-btn{background-color:#ea580c;color:#fff}.save-recipe-btn:hover{background-color:#c2410c;transform:translateY(-1px)}.save-recipe-btn:disabled{background-color:#9ca3af;cursor:not-allowed;transform:none}.button-tertiary{background-color:#6b7280;border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:Inter,sans-serif!important;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.button-tertiary:hover{background-color:#4b5563;box-shadow:0 4px 8px #6b728033;transform:translateY(-1px)}@media (max-width:768px){.recipe-meta{grid-template-columns:1fr}.preview-actions{flex-direction:column}.edit-recipe-btn,.generate-new-btn,.save-recipe-btn{min-width:0;min-width:auto}.recipe-title{font-size:1.5rem}.generated-recipe-preview{padding:1.5rem!important}}.ai-process-breakdown{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0284c7;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.process-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.process-section-header h4{color:#0c4a6e;font-size:1.3rem;margin:0}.toggle-process-details-btn{background:#0284c7;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:background-color .3s ease}.toggle-process-details-btn:hover{background:#0369a1}.process-details-expanded{margin-top:1rem}.process-detail-section{background:#fff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem}.process-detail-section h5{color:#0c4a6e;font-size:1.1rem;margin-bottom:.5rem;margin-top:0}.process-description{color:#374151;font-style:italic;line-height:1.5;margin-bottom:1rem}.processing-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:1rem 0}.stat-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.stat-number{color:#0284c7;display:block;font-size:2rem}.stat-label{color:#64748b;display:block;margin-top:.25rem}.ingredient-processing-table{margin-top:1rem}.ingredient-processing-table h6{color:#374151;font-size:1rem;margin-bottom:1rem}.ingredient-process-row{grid-gap:1rem;align-items:center;background:#f8fafc;border-left:4px solid #e2e8f0;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr 2fr;margin-bottom:.75rem;padding:1rem}.ingredient-process-row.exact_match{background:#f0fdf4;border-left-color:#10b981}.ingredient-process-row.fuzzy_match{background:#fffbeb;border-left-color:#f59e0b}.ingredient-process-row.authenticity_substitution{background:#f5f3ff;border-left-color:#8b5cf6}.ingredient-process-row.fallback{background:#fef2f2;border-left-color:#ef4444}.ingredient-process-row.skipped{background:#f8fafc;border-left-color:#64748b}.ingredient-arrow{color:#64748b;font-size:1.2rem;text-align:center}.ingredient-final,.ingredient-original{font-size:.9rem}.ingredient-final strong,.ingredient-original strong{color:#374151;display:block;margin-bottom:.25rem}.match-score{color:#64748b;font-size:.8rem;margin-left:.5rem}.ingredient-reason{color:#64748b;font-size:.85rem}.status-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:500;margin-right:.5rem;padding:2px 8px}.status-badge.exact_match{background:#dcfce7;color:#166534}.status-badge.fuzzy_match{background:#fef3c7;color:#92400e}.status-badge.authenticity_substitution{background:#ede9fe;color:#6b21a8}.status-badge.fallback{background:#fee2e2;color:#991b1b}.status-badge.skipped{background:#f1f5f9;color:#475569}.status-badge.skipped:before{content:"⏭️ "}.ingredient-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.ingredient-chip{border-radius:16px;font-size:.85rem;font-weight:500;padding:4px 12px}.ingredient-chip.ai-generated{background:#fef3c7;border:1px solid #f59e0b;color:#92400e}.ingredient-chip.validated{background:#dcfce7;border:1px solid #10b981;color:#166534}.process-step-indicator{background:#ffffffe6;border:1px solid #fed7aa;border-radius:8px;margin:1rem 0;padding:1rem}.process-step-indicator h4{color:#374151;font-size:1rem;margin:0 0 .5rem}.current-step{color:#ea580c;font-weight:600;margin:0}.process-details-live{background:#ffffffe6;border:1px solid #fed7aa;border-radius:8px;margin:1rem 0;padding:1rem}.process-step{color:#374151;font-size:.9rem;padding:.5rem 0}.process-step.completed{color:#10b981;font-weight:500}.web-research-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.research-text{background:#fff;border-radius:6px;color:#374151;font-size:.85rem;line-height:1.4;max-height:200px;overflow-y:auto;padding:1rem;white-space:pre-wrap}.show-full-research-btn{background:#6366f1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.85rem;margin-top:.5rem;padding:6px 12px}.show-full-research-btn:hover{background:#4f46e5}.generation-details{background:#f8fafc;border-radius:8px;padding:1rem}.detail-item{margin-bottom:1rem}.detail-item:last-child{margin-bottom:0}.detail-item strong{color:#374151;display:block;margin-bottom:.5rem}@media (max-width:768px){.ingredient-process-row{gap:.5rem;grid-template-columns:1fr}.ingredient-arrow{transform:rotate(90deg)}.processing-stats{grid-template-columns:1fr}.process-section-header{align-items:stretch;flex-direction:column;gap:1rem}.toggle-process-details-btn{width:100%}}.process-details-live{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-top:20px;padding:20px}.production-phases{display:flex;flex-direction:column;gap:15px}.phase-header{background:linear-gradient(90deg,#007bff,#0056b3);border-radius:10px;box-shadow:0 4px 8px #007bff4d;color:#fff;font-size:18px;font-weight:700;margin-bottom:20px;padding:15px;text-align:center;text-shadow:0 1px 2px #0003}.process-phase{background:#fff;border-left:6px solid;border-radius:12px;box-shadow:0 3px 6px #00000014;overflow:hidden;padding:18px;position:relative;transition:all .3s ease}.process-phase:before{background:linear-gradient(90deg,#0000,#fffc,#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.process-phase:hover{box-shadow:0 6px 15px #0000001f;transform:translateY(-3px)}.phase-1{background:linear-gradient(135deg,#f8fff9,#e8f5e8);border-left-color:#28a745}.phase-2{background:linear-gradient(135deg,#fffdf5,#fff3cd);border-left-color:#ffc107}.phase-3{background:linear-gradient(135deg,#f1f9ff,#d1ecf1);border-left-color:#17a2b8}.phase-title{align-items:center;color:#2c3e50;display:flex;font-size:17px;font-weight:700;gap:8px;margin-bottom:10px}.phase-description{color:#6c757d;font-size:14px;line-height:1.5;margin-bottom:12px}.process-step{border:1px solid #c3e6cb;border-radius:8px;box-shadow:0 2px 4px #1557241a;font-size:14px;font-weight:600;margin:8px 0;padding:10px 15px}.process-step,.process-step.completed{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.process-step.completed{border-color:#c3e6cb}.production-architecture-details{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:15px;box-shadow:0 5px 15px #00000014;margin-top:25px;padding:20px}.architecture-description{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:5px solid #2196f3;border-radius:10px;box-shadow:0 3px 6px #2196f326;color:#495057;font-size:16px;font-weight:500;line-height:1.6;margin-bottom:30px;padding:20px}.phase-1-details{background:linear-gradient(135deg,#f1f8e9,#dcedc8);border-left:5px solid #4caf50;box-shadow:0 3px 8px #4caf5026}.phase-1-details,.phase-2-details{border-radius:12px;margin-bottom:25px;padding:20px}.phase-2-details{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border-left:5px solid #ff9800;box-shadow:0 3px 8px #ff980026}.phase-3-details{background:linear-gradient(135deg,#e0f2f1,#b2dfdb);border-left:5px solid #00bcd4;border-radius:12px;box-shadow:0 3px 8px #00bcd426;margin-bottom:25px;padding:20px}.process-detail-section h6{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:700;gap:10px;margin-bottom:15px}.process-description strong{color:#495057;font-weight:700}.image-generation-results,.matching-stats{background:#ffffffe6;border:2px solid #dee2e6;border-radius:10px;box-shadow:0 2px 6px #0000000d;margin-top:20px;padding:18px}.image-generation-results h6,.matching-stats h6{color:#495057;font-weight:700;margin-bottom:15px}.stats-list{list-style:none;margin:15px 0;padding:0}.stats-list li{align-items:center;color:#495057;display:flex;font-size:15px;font-weight:500;gap:8px;padding:8px 0}.recipe-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:20px}.stat-item{border:2px solid #dee2e6;border-radius:10px;box-shadow:0 3px 8px #00000014;padding:18px;transition:transform .2s ease,box-shadow .2s ease}.stat-item:hover{box-shadow:0 5px 15px #0000001f;transform:translateY(-2px)}.stat-label{color:#6c757d;font-size:13px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.image-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-weight:600;padding:12px}.image-failed{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border:1px solid #f5c6cb;border-radius:8px;color:#721c24;font-weight:600;padding:12px}.image-skipped{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffeaa7;border-radius:8px;color:#856404;font-weight:600;padding:12px}.final-stats{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6}@media (max-width:768px){.production-phases{gap:12px}.phase-header{font-size:16px;padding:12px}.process-phase{padding:15px}.phase-title{font-size:15px}.recipe-stats-grid{gap:15px;grid-template-columns:1fr}.phase-1-details,.phase-2-details,.phase-3-details,.production-architecture-details{padding:15px}}.cupboard-ingredients-grid{grid-gap:1rem;background-color:#fff7ed;border:1px solid #fed7aa;border-radius:12px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:1.5rem;padding:1rem}.cupboard-ingredient-checkbox{align-items:flex-start;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;gap:.75rem;padding:1rem;position:relative;transition:all .3s ease}.cupboard-ingredient-checkbox:hover{border-color:#ea580c;box-shadow:0 4px 12px #ea580c26;transform:translateY(-2px)}.cupboard-ingredient-checkbox.selected{background-color:#fff7ed;border-color:#ea580c;box-shadow:0 2px 8px #ea580c33}.cupboard-ingredient-checkbox input[type=checkbox]{accent-color:#ea580c;cursor:pointer;flex-shrink:0;height:20px;margin:0;width:20px}.cupboard-ingredient-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.cupboard-ingredient-info .ingredient-name{word-wrap:break-word;color:#374151;font-size:.95rem;font-weight:600}.cupboard-ingredient-info .ingredient-amount{color:#6b7280;font-size:.875rem;font-weight:500}.cupboard-ingredient-info .ingredient-location{color:#9ca3af;font-size:.8rem;font-style:italic}.cupboard-actions{border-top:1px solid #e5e7eb;gap:1rem;margin-top:1rem;padding-top:1rem}.clear-all-cupboard-btn,.select-all-cupboard-btn{border:none;border-radius:6px;cursor:pointer;font-family:Inter,sans-serif!important;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .3s ease}.select-all-cupboard-btn{background-color:#ea580c;color:#fff}.select-all-cupboard-btn:hover{background-color:#c2410c;box-shadow:0 2px 6px #ea580c33;transform:translateY(-1px)}.clear-all-cupboard-btn{background-color:#6b7280;color:#fff}.clear-all-cupboard-btn:hover{background-color:#4b5563;box-shadow:0 2px 6px #6b728033;transform:translateY(-1px)}@media (max-width:768px){.cupboard-ingredients-grid{gap:.75rem;grid-template-columns:1fr;padding:1rem}.cupboard-ingredient-checkbox{padding:.75rem}.cupboard-actions{flex-direction:column;gap:.5rem}.clear-all-cupboard-btn,.select-all-cupboard-btn{width:100%}}@media (max-width:480px){.cupboard-ingredients-grid{margin-bottom:1rem;padding:.75rem}.cupboard-ingredient-checkbox{gap:.5rem;padding:.5rem}.cupboard-ingredient-info .ingredient-name{font-size:.9rem}.cupboard-ingredient-info .ingredient-amount{font-size:.8rem}.cupboard-ingredient-info .ingredient-location{font-size:.75rem}}.recipe-sources{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.recipe-sources h4{color:#0c4a6e;font-family:Inter,sans-serif!important;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.sources-content{background-color:#fff;border-radius:8px;overflow:hidden;padding:0}.sources-collapse-toggle{background-color:#e0f2fe;border-bottom:1px solid #bae6fd;padding:.75rem 1rem}.toggle-sources-btn{align-items:center;background:none;border:none;color:#0369a1;cursor:pointer;display:flex;font-family:Inter,sans-serif!important;font-weight:500;gap:.5rem;transition:color .2s ease}.toggle-sources-btn:hover{color:#0c4a6e}.sources-list{padding:1rem}.sources-description{color:#374151;font-family:Inter,sans-serif!important;font-style:italic;margin-bottom:1rem}.sources-items{list-style:none;margin:0 0 1rem;padding:0}.source-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.5rem;padding:.75rem;transition:all .2s ease}.source-item:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.source-item:last-child{margin-bottom:0}.source-website{color:#059669}.source-book,.source-website{font-family:Inter,sans-serif!important;font-weight:500}.source-book{color:#7c3aed}.source-chef{color:#dc2626}.source-chef,.source-general{font-family:Inter,sans-serif!important;font-weight:500}.source-general{color:#374151}.sources-note{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;color:#92400e;font-family:Inter,sans-serif!important;margin:0;padding:.75rem}.sources-preview{padding:1rem;text-align:center}.sources-count{color:#6b7280;font-family:Inter,sans-serif!important;margin:0}@media (max-width:768px){.recipe-sources{margin-bottom:1rem;padding:1rem}.recipe-sources h4{font-size:1rem}.sources-collapse-toggle{padding:.5rem .75rem}.sources-list{padding:.75rem}.source-item{font-size:.9rem;padding:.5rem}}.saved-recipes-container{background:linear-gradient(to bottom right,#fff7ed,#ffedd5);margin:0 auto;max-width:1200px;min-height:100vh;padding:1rem}.saved-recipes-container h1{color:#374151;font-family:Crimson Text,serif!important;font-size:2rem;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem;text-align:center}.recipes-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1200px;padding:.5rem}.recipes-grid .recipe-card{background-color:#fff;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 4px 16px #ea580c26;display:flex;flex-direction:column;overflow:hidden;padding-bottom:.5rem;position:relative;transition:all .3s ease}.recipe-header{margin:.5rem .75rem .25rem;position:relative}.special-indicator-small{background:#1e293b;color:#fff;cursor:pointer;flex-shrink:0;font-size:.7rem;height:1.5rem;right:0;top:0;transition:all .3s ease;width:1.5rem;z-index:20}.special-indicator-small:hover{background:#334155;transform:scale(1.1)}.special-details-tooltip{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 8px 24px #00000026;padding:12px;position:absolute;right:0;top:calc(100% + 8px);width:250px;z-index:30}.special-tooltip-content{color:#374151;font-size:.85rem}.special-tooltip-title{color:#1e293b;font-weight:600;margin-bottom:8px}.special-current-savings{margin-bottom:4px}.special-potential-savings{color:#7c3aed;font-weight:500;margin-bottom:4px}.special-count{color:#6b7280;font-size:.75rem}.recipes-grid .recipe-card:hover{border-color:#ea580c;box-shadow:0 8px 24px #ea580c33;transform:translateY(-2px)}.recipes-grid .recipe-image-container{height:180px;margin-bottom:.5rem;margin-top:0;overflow:hidden;position:relative;width:100%}.recipes-grid .recipe-image{height:100%;object-fit:cover!important;transition:transform .3s ease;width:100%}.recipes-grid .recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#374151;display:-webkit-box;font-family:Inter,sans-serif!important;font-size:1rem!important;font-weight:600;letter-spacing:-.015em;line-height:1.3;margin:0 0 .25rem;overflow:hidden;padding-right:2rem;text-align:left;text-overflow:ellipsis}.recipes-grid .recipe-creator{color:#6b7280;font-family:Inter,sans-serif!important;font-size:.8rem;font-style:italic;margin:.25rem .75rem .5rem;text-align:left}.recipe-info-row{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin:.25rem .75rem .5rem}.recipes-grid .cooking-time,.recipes-grid .servings{align-items:center;color:#4b5563;display:flex;font-family:Inter,sans-serif!important;font-size:.85em;gap:.25rem;margin:0;text-align:left}.cost-summary-compact{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:.5rem .75rem;padding:.5rem .75rem;transition:all .2s ease}.cost-summary-compact:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.cost-main{font-weight:600;margin-bottom:.25rem}.cost-label{font-size:.85em}.cost-label,.cost-value{font-family:Inter,sans-serif!important}.cost-value{color:#16a34a;font-size:1em}.cost-savings-compact{align-items:center;display:flex;font-size:.75em;gap:.5rem;justify-content:space-between}.cupboard-count-compact,.savings-compact{align-items:center;color:#475569;display:flex;font-family:Inter,sans-serif!important;font-weight:500;gap:.25rem}.savings-compact{color:#16a34a}.recipes-grid .recipe-actions{align-items:center;display:flex;gap:.75rem;margin:auto .75rem .5rem}.recipes-grid .favorite-button-large{background:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;color:#ea580c;cursor:pointer;margin:0!important;outline:none!important;padding:0!important;transform:scale(1.1)}.recipes-grid .favorite-button-large:hover{transform:scale(1.2)}.recipes-grid .favorite-button-large:active,.recipes-grid .favorite-button-large:focus,.recipes-grid .favorite-button-large:hover,.recipes-grid button.favorite-button-large{background:none!important;border:none!important;box-shadow:none!important;outline:none!important}.recipes-grid button.favorite-button-large{border-radius:0!important;margin:0!important;padding:0!important}.recipes-grid button.favorite-button-large:active,.recipes-grid button.favorite-button-large:focus,.recipes-grid button.favorite-button-large:hover{background:none!important;border:none!important;box-shadow:none!important;outline:none!important}.recipes-grid .view-details-button{background:linear-gradient(135deg,#374151,#374151);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-family:Inter,sans-serif!important;font-size:.9rem;font-weight:500;padding:.6rem;transition:all .3s ease}.recipes-grid .view-details-button:hover{background:linear-gradient(135deg,#c2410c,#ea580c);box-shadow:0 4px 15px #ea580c4d;transform:translateY(-2px)}.no-recipes{background-color:#fff;border:1px solid #fed7aa;border-radius:12px;color:#6b7280;font-family:Inter,sans-serif!important;font-size:1.1rem;font-weight:400;margin-top:2rem;padding:1.5rem;text-align:center}@media (max-width:768px){.saved-recipes-container{padding:.5rem}.saved-recipes-container h1{font-size:1.75rem;margin-bottom:1rem}.recipes-grid{gap:.75rem;grid-template-columns:1fr;padding:.25rem}.recipes-grid .recipe-card{margin:0;max-width:100%}.recipes-grid .recipe-image-container{height:160px}.recipes-grid .recipe-title{font-size:.95rem!important;margin:0 0 .2rem}.recipe-info-row{gap:.5rem;margin:.2rem .75rem .4rem}.recipes-grid .cooking-time,.recipes-grid .servings{font-size:.8em}.cost-summary-compact{margin:.4rem .75rem;padding:.4rem .75rem}.cost-main{margin-bottom:.2rem}.cost-label{font-size:.8em}.cost-value{font-size:.95em}.cost-savings-compact{font-size:.7em;gap:.25rem}.recipes-grid .recipe-actions{gap:.5rem;margin:.4rem .75rem}.recipes-grid .view-details-button{font-size:.85rem;padding:.5rem}.special-indicator-small{font-size:.6rem;height:1.25rem;width:1.25rem}.special-details-tooltip{padding:10px;width:200px}}@media (max-width:480px){.saved-recipes-container h1{font-size:1.5rem}.recipes-grid .recipe-image-container{height:140px}.recipes-grid .recipe-title{font-size:.9rem!important}.recipe-info-row{gap:.25rem}.cost-savings-compact,.recipe-info-row{align-items:flex-start;flex-direction:column}.cost-savings-compact{gap:.2rem}}.category-nav-container{-ms-overflow-style:none;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 4px #0000000d;overflow-x:auto;position:-webkit-sticky;position:sticky;scrollbar-width:none;top:0;z-index:10}.category-button{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.category-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.category-button:hover:before{left:100%}.category-button{transform-origin:center;will-change:transform}.category-button:hover{transform:scale(1.05) translateY(-1px)}.category-button:active{transform:scale(.98) translateY(0)}.category-button-active{box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.category-button-active:hover{box-shadow:0 12px 35px #0003;transform:translateY(-3px)}.category-button-active{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;background-clip:text}.category-icon{transition:all .3s cubic-bezier(.4,0,.2,1)}.category-button:hover .category-icon{transform:scale(1.1) rotate(5deg)}.category-button-active .category-icon{animation:pulse 2s infinite}.category-button{overflow:hidden;position:relative}.category-button:after{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.category-button:active:after{height:300px;width:300px}.category-nav-container::-webkit-scrollbar{display:none}.category-nav-tabs{align-items:center;display:flex;gap:1rem;min-width:-webkit-max-content;min-width:max-content;padding:1rem}.category-tab{align-items:center;background:#0000;border-bottom:2px solid #0000;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;font-weight:500;justify-content:center;min-height:44px;padding:.75rem 1rem;position:relative;transition:all .2s ease;white-space:nowrap}.category-tab:hover{background:#f9fafb;color:#374151}.category-tab.active{background:#f0fdf4;border-bottom-color:#10b981;color:#059669;font-weight:600}.category-tab.active:before{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-radius:8px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}@media (max-width:768px){.category-nav-container{box-shadow:0 2px 8px #0000001a;position:-webkit-sticky;position:sticky;top:0;z-index:20}.category-nav-tabs{gap:.5rem;padding:.75rem 1rem;scroll-behavior:smooth}.category-tab{border-radius:6px;flex-shrink:0;font-size:.875rem;min-height:40px;padding:.5rem .75rem}.category-tab:hover{background:#f3f4f6}.category-tab.active{background:#ecfdf5;border-bottom-color:#10b981}}@media (max-width:480px){.category-nav-tabs{gap:.375rem;padding:.5rem .75rem}.category-tab{border-radius:4px;font-size:.8rem;min-height:36px;padding:.4rem .6rem}}@media (max-width:375px){.category-nav-tabs{gap:.25rem;padding:.4rem .5rem}.category-tab{font-size:.75rem;min-height:32px;padding:.35rem .5rem}}.modern-recipe-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;cursor:pointer;overflow:hidden;position:relative;touch-action:manipulation;transition:all .3s ease}.modern-recipe-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.modern-recipe-card:active{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}@media (max-width:768px){.modern-recipe-card{border-radius:12px;box-shadow:0 2px 6px #0000000f;transition:all .2s ease}.modern-recipe-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.modern-recipe-card:active{box-shadow:0 2px 6px #00000014;transform:translateY(0)}}@media (max-width:480px){.modern-recipe-card{border-radius:10px;box-shadow:0 1px 4px #0000000d}.modern-recipe-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}}.recipe-image-container{background:#f3f4f6;height:200px;position:relative}.recipe-image-container img{background:#f3f4f6;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.modern-recipe-card:hover .recipe-image-container img{transform:scale(1.05)}@media (max-width:768px){.recipe-image-container{height:160px}.modern-recipe-card:hover .recipe-image-container img{transform:scale(1.02)}}@media (max-width:480px){.recipe-image-container{height:200px}.modern-recipe-card:hover .recipe-image-container img{transform:scale(1.01)}}@media (max-width:375px){.recipe-image-container{height:180px}}.recipe-badge{background:#10b981;border-radius:12px;color:#fff;font-size:12px;font-weight:600;left:12px;padding:4px 8px;position:absolute;top:12px;z-index:2}.recipe-badge.top-50{background:#f59e0b}.recipe-menu-button{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;transition:all .2s ease;width:32px;z-index:2}.recipe-menu-button:hover{background:#f9fafb;transform:scale(1.05)}.recipe-content{padding:24px}.recipe-title{line-clamp:2;font-size:18px;line-height:1.4;margin-bottom:8px}.recipe-meta{gap:16px;margin-bottom:16px}.recipe-time{align-items:center;display:flex;gap:6px}.recipe-author,.recipe-time{color:#6b7280;font-size:14px}.recipe-author{gap:8px}.author-avatar{height:24px;width:24px}@media (max-width:768px){.recipe-content{padding:16px}.recipe-title{font-size:16px;line-height:1.3;margin-bottom:6px}.recipe-meta{gap:12px;margin-bottom:12px}.recipe-author,.recipe-time{font-size:13px}.author-avatar{height:20px;width:20px}}@media (max-width:480px){.recipe-content{padding:20px}.recipe-title{font-size:18px;line-height:1.4;margin-bottom:8px}.recipe-meta{gap:16px;margin-bottom:16px}.recipe-author,.recipe-time{font-size:14px}.author-avatar{height:24px;width:24px}}@media (max-width:375px){.recipe-content{padding:16px}.recipe-title{font-size:16px;line-height:1.3;margin-bottom:6px}.recipe-meta{gap:12px;margin-bottom:12px}.recipe-author,.recipe-time{font-size:12px}.author-avatar{height:20px;width:20px}}.recipe-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:16px}.dietary-tag{background:#f3f4f6;border-radius:12px;color:#374151;flex-shrink:0;font-size:12px;font-weight:500;padding:4px 8px}@media (max-width:768px){.recipe-footer{gap:8px;margin-top:12px}.dietary-tag{font-size:11px;padding:6px 10px}}@media (max-width:480px){.recipe-footer{gap:12px;margin-top:16px}.dietary-tag{font-size:12px;padding:8px 12px}}@media (max-width:375px){.recipe-footer{gap:8px;margin-top:12px}.dietary-tag{font-size:11px;padding:6px 10px}}.cost-display{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:12px;padding:12px}.cost-total{color:#166534;font-size:16px;font-weight:600}.cost-savings{color:#16a34a;font-size:12px;margin-top:4px}.special-badge{background:#f97316;border-radius:12px;color:#fff;font-size:11px;left:60px;position:absolute;top:12px}.dietary-vegan{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.dietary-vegetarian{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.dietary-regular{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.category-badge{font-size:11px;margin-left:4px}.heart-button{align-items:center;background:#0000;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;height:24px;justify-content:center;min-height:44px;min-width:44px;padding:0;touch-action:manipulation;transition:all .2s ease;width:24px}.heart-button:hover{background:#ef44441a;color:#ef4444;transform:scale(1.1)}.heart-button:active{background:#ef444433;transform:scale(.95)}.heart-button.filled{color:#ef4444}.heart-button.filled:hover{background:#ef444426}@media (max-width:768px){.heart-button{height:32px;min-height:40px;min-width:40px;width:32px}}@media (max-width:480px){.heart-button{height:36px;min-height:44px;min-width:44px;width:36px}}@media (max-width:375px){.heart-button{height:28px;min-height:40px;min-width:40px;width:28px}}.search-header{background:linear-gradient(135deg,#fef3c7,#fed7aa);overflow:hidden;padding:64px 0;position:relative}.search-header:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.search-header-content{position:relative;z-index:1}.search-title{color:#111827;font-family:Crimson Text,serif;font-size:3rem;font-weight:600;line-height:1.1;margin-bottom:16px}.search-subtitle{color:#6b7280;font-size:1.25rem;margin-bottom:32px;margin-left:auto;margin-right:auto;max-width:32rem}.nav-tabs{background:#fff;border-bottom:1px solid #e5e7eb;padding:0}.nav-tabs-container{display:flex;gap:32px;padding:16px 0}.nav-tab{border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-weight:500;padding:8px 0;transition:all .2s ease}.nav-tab:hover{color:#111827}.nav-tab.active{border-bottom-color:#10b981;color:#111827}.recipes-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:32px}@media (min-width:768px){.recipes-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.recipes-grid{grid-template-columns:repeat(3,1fr)}}.social-proof{background:#f9fafb;padding:64px 0;text-align:center}.social-proof-title{color:#111827;font-family:Inter,sans-serif;font-size:2rem;font-weight:700;margin-bottom:16px}.social-proof-subtitle{color:#6b7280;font-size:1.125rem}.loading-container{align-items:center;display:flex;justify-content:center;padding:64px 0}@media (min-width:1024px){.search-header{padding:32px 0}.search-title{font-size:2.25rem;margin-bottom:12px}.search-subtitle{font-size:1rem;margin-bottom:24px}.modern-search-bar{max-width:24rem}.search-input{border-radius:8px;font-size:1rem;padding:12px 40px}.search-icon{height:16px;left:12px;width:16px}.nav-tabs-container{gap:24px;padding:12px 0}.nav-tab{font-size:.9rem;padding:6px 0}.recipes-grid{gap:16px;grid-template-columns:repeat(4,1fr);margin-top:24px}.modern-recipe-card{border-radius:12px}.recipe-image-container{height:160px}.recipe-content{padding:16px}.recipe-title{font-size:16px;line-height:1.3;margin-bottom:6px}.recipe-meta{gap:12px;margin-bottom:10px}.recipe-author,.recipe-time{font-size:12px}.recipe-footer{gap:8px;margin-top:10px}.dietary-tag{font-size:11px;padding:4px 8px}.cost-display{margin-bottom:8px;padding:8px}.cost-total{font-size:14px}.cost-savings{font-size:11px}.author-avatar{height:18px;width:18px}.heart-button{height:20px;min-height:32px;min-width:32px;width:20px}}@media (min-width:1280px){.search-header{padding:24px 0}.search-title{font-size:2rem;margin-bottom:8px}.search-subtitle{font-size:.95rem;margin-bottom:20px}.modern-search-bar{max-width:20rem}.search-input{border-radius:6px;font-size:.95rem;padding:10px 36px}.search-icon{height:14px;left:10px;width:14px}.nav-tabs-container{gap:20px;padding:8px 0}.nav-tab{font-size:.85rem;padding:4px 0}.recipes-grid{gap:12px;grid-template-columns:repeat(5,1fr);margin-top:20px}.modern-recipe-card{border-radius:10px}.recipe-image-container{height:140px}.recipe-content{padding:12px}.recipe-title{font-size:14px;line-height:1.2;margin-bottom:4px}.recipe-meta{gap:8px;margin-bottom:8px}.recipe-author,.recipe-time{font-size:11px}.recipe-footer{gap:6px;margin-top:8px}.dietary-tag{font-size:10px;padding:3px 6px}.cost-display{margin-bottom:6px;padding:6px}.cost-total{font-size:12px}.cost-savings{font-size:10px}.author-avatar{height:16px;width:16px}.heart-button{height:18px;min-height:28px;min-width:28px;width:18px}}@media (min-width:1536px){.search-header{padding:20px 0}.search-title{font-size:1.75rem;margin-bottom:6px}.search-subtitle{font-size:.9rem;margin-bottom:16px}.modern-search-bar{max-width:18rem}.search-input{border-radius:4px;font-size:.9rem;padding:8px 32px}.search-icon{height:12px;left:8px;width:12px}.nav-tabs-container{gap:16px;padding:6px 0}.nav-tab{font-size:.8rem;padding:3px 0}.recipes-grid{gap:10px;grid-template-columns:repeat(6,1fr);margin-top:16px}.modern-recipe-card{border-radius:8px}.recipe-image-container{height:120px}.recipe-content{padding:10px}.recipe-title{font-size:13px;line-height:1.1;margin-bottom:3px}.recipe-meta{gap:6px;margin-bottom:6px}.recipe-author,.recipe-time{font-size:10px}.recipe-footer{gap:4px;margin-top:6px}.dietary-tag{font-size:9px;padding:2px 4px}.cost-display{margin-bottom:4px;padding:4px}.cost-total{font-size:11px}.cost-savings{font-size:9px}.author-avatar{height:14px;width:14px}.heart-button{height:16px;min-height:24px;min-width:24px;width:16px}}.filter-main-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.filter-main-btn:hover{border-color:#10b981;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.filter-main-btn:active{box-shadow:0 1px 2px #0000000d;transform:translateY(0)}.filter-dropdown-backdrop{animation:backdropFadeIn .2s ease-out;background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:49}.filter-dropdown{animation:filterDropdownSlide .2s ease-out;margin-top:8px;position:absolute;right:0;top:100%;z-index:50}@keyframes filterDropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-content{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;max-height:70vh;max-width:400px;min-width:320px;overflow-y:auto;padding:20px}.filter-drag-handle{background:#d1d5db;border-radius:2px;display:none;height:4px;margin:0 auto 16px;width:40px}.filter-mobile-header{align-items:center;border-bottom:1px solid #e5e7eb;display:none;justify-content:space-between;margin-bottom:16px;padding-bottom:16px}.filter-mobile-title{color:#111827;font-size:18px;font-weight:600;margin:0}.filter-close-button{align-items:center;background:#f3f4f6;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;touch-action:manipulation;transition:all .2s ease;width:32px}.filter-close-button:hover{background:#e5e7eb;color:#111827}.filter-close-button:active{transform:scale(.95)}.filter-section{margin-bottom:20px}.filter-section:last-of-type{margin-bottom:0}.filter-section-title{color:#374151;font-size:13px;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.filter-options{display:flex;flex-direction:column;gap:8px}.filter-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;padding:8px 0;transition:background-color .15s ease}.filter-option:hover{background-color:#f9fafb}.filter-radio{-webkit-appearance:none;appearance:none;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;height:16px;margin-right:12px;position:relative;transition:all .2s ease;width:16px}.filter-radio:checked{background-color:#10b981;border-color:#10b981}.filter-radio:checked:after{background-color:#fff;border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:6px}.filter-radio:focus{box-shadow:0 0 0 3px #10b9811a;outline:none}.filter-checkbox{-webkit-appearance:none;appearance:none;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:16px;margin-right:12px;position:relative;transition:all .2s ease;width:16px}.filter-checkbox:checked{background-color:#10b981;border-color:#10b981}.filter-checkbox:checked:after{border:solid #fff;border-width:0 2px 2px 0;content:"";height:8px;left:4px;position:absolute;top:1px;transform:rotate(45deg);width:4px}.filter-checkbox:focus{box-shadow:0 0 0 3px #10b9811a;outline:none}.filter-option-label{color:#374151;cursor:pointer;flex:1 1;font-size:14px;font-weight:500}.filter-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;margin-top:20px;padding-top:20px}.filter-reset-all-btn{background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s ease}.filter-reset-all-btn:hover{background:#e5e7eb;border-color:#9ca3af;color:#374151}.filter-apply-btn{background:linear-gradient(135deg,#10b981,#059669);border:1px solid #059669;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.filter-apply-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.filter-apply-btn:active{box-shadow:0 2px 4px #10b98133;transform:translateY(0)}@media (max-width:768px){.filter-dropdown-backdrop{display:block}.filter-main-btn{font-size:13px;min-height:40px;padding:8px 12px;touch-action:manipulation}.filter-dropdown{animation:filterDropdownSlideUpMobile .3s ease-out;bottom:0;left:0;margin-bottom:0;margin-top:0;position:fixed;right:0;top:auto;z-index:51}@keyframes filterDropdownSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.filter-dropdown-content{border:none;border-radius:16px 16px 0 0;border-top:1px solid #e5e7eb;box-shadow:0 -4px 20px #00000026;max-height:85vh;max-width:none;min-width:auto;padding:20px 16px;width:100%}.filter-drag-handle{display:block}.filter-mobile-header{display:flex}.filter-section{margin-bottom:20px}.filter-section-title{font-size:12px;margin-bottom:12px}.filter-option{align-items:center;display:flex;min-height:44px;padding:12px 0}.filter-option-label{font-size:14px}.filter-checkbox,.filter-radio{flex-shrink:0;margin-right:12px;min-height:18px;min-width:18px}.filter-actions{background:#fff;bottom:0;gap:12px;margin-top:20px;padding-bottom:env(safe-area-inset-bottom,16px);padding-top:20px;position:-webkit-sticky;position:sticky}.filter-apply-btn,.filter-reset-all-btn{font-size:14px;min-height:48px;padding:12px 16px;touch-action:manipulation}}@media (max-width:480px){.filter-main-btn{font-size:13px;min-height:44px;padding:8px 12px}.filter-dropdown-content{border-radius:16px 16px 0 0;max-height:90vh;padding:18px 14px}.filter-drag-handle{height:3px;margin-bottom:12px;width:36px}.filter-mobile-header{margin-bottom:14px;padding-bottom:14px}.filter-mobile-title{font-size:16px}.filter-close-button{height:36px;width:36px}.filter-section{margin-bottom:18px}.filter-section-title{font-size:11px;letter-spacing:.03em;margin-bottom:10px}.filter-option{min-height:48px;padding:14px 0}.filter-option-label{font-size:14px;line-height:1.4}.filter-checkbox,.filter-radio{flex-shrink:0;height:18px;margin-right:12px;width:18px}.filter-radio:checked:after{height:6px;width:6px}.filter-checkbox:checked:after{height:8px;left:5px;top:1px;width:4px}.filter-actions{gap:10px;margin-top:18px;padding-bottom:max(16px,env(safe-area-inset-bottom));padding-top:18px}.filter-apply-btn,.filter-reset-all-btn{font-size:14px;font-weight:600;min-height:48px;padding:14px 16px}}@media (max-width:375px){.filter-main-btn{font-size:12px;min-height:44px;padding:8px 10px}.filter-dropdown-content{max-height:92vh;padding:16px 12px}.filter-drag-handle{height:3px;margin-bottom:10px;width:32px}.filter-mobile-header{margin-bottom:12px;padding-bottom:12px}.filter-mobile-title{font-size:15px}.filter-close-button{height:32px;width:32px}.filter-section{margin-bottom:16px}.filter-section-title{font-size:10px;margin-bottom:10px}.filter-option{min-height:44px;padding:12px 0}.filter-option-label{font-size:13px}.filter-checkbox,.filter-radio{height:16px;margin-right:10px;width:16px}.filter-radio:checked:after{height:5px;width:5px}.filter-checkbox:checked:after{height:7px;left:4px;top:0;width:3px}.filter-actions{gap:8px;margin-top:16px;padding-bottom:max(12px,env(safe-area-inset-bottom));padding-top:16px}.filter-apply-btn,.filter-reset-all-btn{font-size:13px;min-height:44px;padding:12px 14px}}@media (max-width:768px){.search-title{font-size:1.8rem;line-height:1.2;margin-bottom:.5rem}.search-subtitle{font-size:.95rem;line-height:1.4;margin-bottom:1.5rem}.nav-tabs-container{-ms-overflow-style:none;gap:12px;overflow-x:auto;padding:12px 16px;scrollbar-width:none}.nav-tabs-container::-webkit-scrollbar{display:none}.nav-tab{align-items:center;display:flex;flex-shrink:0;font-size:.9rem;justify-content:center;min-height:44px;padding:8px 16px;white-space:nowrap}.recipes-grid{gap:12px;grid-template-columns:repeat(2,1fr);padding:0 8px}.modern-search-bar{margin:0 16px;max-width:100%}.search-input{border-radius:12px;font-size:16px;padding:14px 16px}.modern-recipe-card{border-radius:12px;box-shadow:0 2px 8px #00000014}.recipe-image-container{height:160px}.recipe-content{padding:16px}.recipe-title{font-size:16px;line-height:1.3;margin-bottom:8px}.recipe-meta{gap:12px;margin-bottom:12px}.recipe-author,.recipe-time{font-size:13px}.recipe-footer{margin-top:12px}.dietary-tag{font-size:11px;padding:6px 10px}.cost-display{margin-bottom:10px;padding:10px}.cost-total{font-size:14px}.cost-savings{font-size:11px}}@media (max-width:480px){.search-title{font-size:1.6rem;margin-bottom:.4rem}.search-subtitle{font-size:.9rem;margin-bottom:1.25rem}.nav-tabs-container{gap:8px;padding:8px 12px}.nav-tab{font-size:.85rem;min-height:40px;padding:6px 12px}.recipes-grid{gap:16px;grid-template-columns:1fr;padding:0 12px}.modern-search-bar{margin:0 12px}.search-input{font-size:16px;padding:12px 14px}.recipe-image-container{height:200px}.recipe-content{padding:20px}.recipe-title{font-size:18px;line-height:1.4}.recipe-meta{gap:16px;margin-bottom:16px}.recipe-author,.recipe-time{font-size:14px}.dietary-tag{font-size:12px;padding:8px 12px}.cost-display{margin-bottom:12px;padding:12px}.cost-total{font-size:16px}.cost-savings{font-size:12px}}@media (max-width:375px){.search-title{font-size:1.5rem}.search-subtitle{font-size:.85rem}.nav-tabs-container{padding:6px 8px}.nav-tab{font-size:.8rem;min-height:36px;padding:5px 10px}.recipes-grid{gap:12px;padding:0 8px}.modern-search-bar{margin:0 8px}.search-input{padding:10px 12px}.recipe-image-container{height:180px}.recipe-content{padding:16px}.recipe-title{font-size:16px}.recipe-meta{gap:12px;margin-bottom:12px}.recipe-author,.recipe-time{font-size:12px}.dietary-tag{font-size:11px;padding:6px 10px}}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-center{text-align:center}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-4{padding-bottom:1rem;padding-top:1rem}@media (max-width:768px){.py-16{padding-bottom:2rem;padding-top:2rem}.mb-12{margin-bottom:2rem}.mb-8{margin-bottom:1.5rem}}@media (max-width:480px){.py-16{padding-bottom:1.5rem;padding-top:1.5rem}.mb-12{margin-bottom:1.5rem}.mb-8{margin-bottom:1rem}}.touch-target{min-height:44px;min-width:44px}.touch-target,.touch-target-small{align-items:center;display:flex;justify-content:center}.touch-target-small{min-height:36px;min-width:36px}.mobile-scroll{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.no-select{-webkit-user-select:none;user-select:none}@media (max-width:768px){.fade-in{animation:fadeInMobile .4s ease-out}.slide-up{animation:slideUpMobile .4s ease-out}}@keyframes fadeInMobile{0%{opacity:0}to{opacity:1}}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.walkthrough-highlight{animation:walkthrough-pulse-green 1.5s infinite!important;border-radius:12px!important;box-shadow:0 0 0 4px #10b98180,0 0 0 8px #10b98133!important;transition:all .3s ease!important;z-index:10002!important}.walkthrough-highlight-calculate-costs{box-shadow:0 0 0 4px #3b82f699,0 0 0 8px #3b82f64d!important}@keyframes walkthrough-pulse-green{0%{box-shadow:0 0 0 4px #10b98166}50%{box-shadow:0 0 0 8px #10b98133}to{box-shadow:0 0 0 4px #10b98166}}.walkthrough-tooltip{z-index:10001!important}.walkthrough-overlay{z-index:10000!important}[data-recipe-id].walkthrough-highlight{cursor:pointer!important}.walkthrough-tooltip .walkthrough-content h3{color:#10b981;font-weight:600}.walkthrough-tooltip .walkthrough-next{background-color:#10b981;color:#fff}.walkthrough-tooltip .walkthrough-next:hover{background-color:#059669}@media (max-width:768px){.walkthrough-highlight{box-shadow:0 0 0 3px #10b98166!important}@keyframes walkthrough-pulse-green{0%{box-shadow:0 0 0 3px #10b98166}50%{box-shadow:0 0 0 6px #10b98133}to{box-shadow:0 0 0 3px #10b98166}}}.walkthrough-container{pointer-events:none;z-index:9999}.walkthrough-container,.walkthrough-overlay{height:100%;left:0;position:fixed;top:0;width:100%}.walkthrough-overlay{background-color:#0009;pointer-events:auto;transition:clip-path .4s cubic-bezier(.4,0,.2,1),-webkit-clip-path .4s cubic-bezier(.4,0,.2,1);will-change:clip-path,-webkit-clip-path;z-index:10000}.walkthrough-tooltip{animation:walkthrough-fade-in .3s ease-out;background-color:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;max-width:calc(100vw - 20px);pointer-events:auto;position:fixed;width:300px;z-index:10001}@media (max-width:768px){.walkthrough-tooltip{left:50%!important;margin:0!important;max-width:320px!important;right:auto!important;transform:translateX(-50%)!important;width:calc(100vw - 32px)!important}.walkthrough-content{padding:14px}.walkthrough-content h3{font-size:17px;line-height:1.3;margin-bottom:10px}.walkthrough-content p{font-size:14px;line-height:1.5;margin-bottom:8px}.walkthrough-header{padding:10px 14px}.walkthrough-step{font-size:13px}.walkthrough-close{font-size:24px;height:32px;min-height:44px;min-width:44px;width:32px}.walkthrough-actions{flex-wrap:wrap;gap:8px;justify-content:space-between;padding:10px 14px}.walkthrough-btn{-webkit-tap-highlight-color:rgba(0,0,0,.1);flex:1 1;font-size:14px;font-weight:600;min-height:44px;min-width:80px;padding:12px 16px}.walkthrough-interaction-hint{font-size:12px;margin-top:10px;padding:10px}.walkthrough-warning{font-size:12px;padding:10px}.walkthrough-highlight{box-shadow:0 0 0 3px #10b98199,0 0 0 6px #10b9814d!important}.walkthrough-highlight-calculate-costs{box-shadow:0 0 0 3px #3b82f6b3,0 0 0 6px #3b82f666!important}body.walkthrough-open{height:100%;overflow:hidden;position:fixed;width:100%}.walkthrough-interactive{min-height:44px;min-width:44px}.walkthrough-overlay{background-color:#000000bf!important}}@media (max-width:480px){.walkthrough-tooltip{bottom:12px!important;max-width:calc(100vw - 24px)!important;width:calc(100vw - 24px)!important}.walkthrough-content{padding:12px}.walkthrough-content h3{font-size:16px}.walkthrough-content p{font-size:13px}.walkthrough-btn{font-size:13px;min-width:70px;padding:10px 14px}.walkthrough-actions{gap:6px;padding:8px 12px}}@keyframes walkthrough-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.walkthrough-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 16px}.walkthrough-step{color:#666;font-size:14px;font-weight:500}.walkthrough-close{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.walkthrough-close:hover{background-color:#f0f0f0}.walkthrough-content{padding:16px}.walkthrough-content h3{color:#333;font-size:18px;font-weight:600;margin-bottom:8px;margin-top:0}.walkthrough-content p{color:#666;font-size:14px;line-height:1.5;margin:0}.walkthrough-actions{border-top:1px solid #f0f0f0;display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.walkthrough-btn{border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;min-width:70px;padding:8px 16px;transition:all .2s}.walkthrough-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.walkthrough-prev{background-color:#f0f0f0;color:#333}.walkthrough-prev:hover{background-color:#e0e0e0}.walkthrough-skip{background-color:#f0f0f0;color:#666}.walkthrough-skip:hover{background-color:#e0e0e0;color:#333}.walkthrough-next{background-color:#000;color:#fff}.walkthrough-next:hover{background-color:#333}.walkthrough-highlight{animation:walkthrough-pulse 1.5s infinite;background-color:#fffffffa!important;border-radius:12px;box-shadow:0 0 0 4px #10b98180,0 0 0 8px #10b98133;position:relative;transition:all .3s ease;z-index:10002}.walkthrough-highlight-calculate-costs{background-color:initial!important;border-radius:12px!important;box-shadow:0 0 0 4px #3b82f6b3,0 0 0 8px #3b82f666!important;filter:none!important}.walkthrough-highlight-calculate-costs *{opacity:1!important;text-shadow:none!important}.walkthrough-highlight-calculate-costs .bg-green-600,.walkthrough-highlight-calculate-costs button,.walkthrough-highlight-calculate-costs button.bg-green-600{background-color:#16a34a!important;background-image:none!important;border:none!important;box-shadow:0 4px 12px #16a34a66!important;color:#fff!important;opacity:1!important;transform:scale(1.02)!important;transition:all .2s ease!important}.walkthrough-highlight-calculate-costs button.bg-green-600:hover,.walkthrough-highlight-calculate-costs button:hover{background-color:#15803d!important;transform:scale(1.03)!important}.walkthrough-highlight-calculate-costs h3{color:#065f46!important;font-weight:600!important;opacity:1!important}.walkthrough-highlight-calculate-costs p{color:#047857!important;opacity:1!important}.walkthrough-highlight-calculate-costs.bg-green-50{background-color:#f0fdf4!important}@keyframes walkthrough-pulse{0%{box-shadow:0 0 0 4px #10b98180,0 0 0 8px #10b98133}50%{box-shadow:0 0 0 6px #10b98199,0 0 0 12px #10b9814d}to{box-shadow:0 0 0 4px #10b98180,0 0 0 8px #10b98133}}.walkthrough-highlight-calculate-costs{animation:walkthrough-pulse-blue 1.5s infinite!important}@keyframes walkthrough-pulse-blue{0%{box-shadow:0 0 0 4px #3b82f699,0 0 0 8px #3b82f64d}50%{box-shadow:0 0 0 6px #3b82f6b3,0 0 0 12px #3b82f666}to{box-shadow:0 0 0 4px #3b82f699,0 0 0 8px #3b82f64d}}.walkthrough-warning{background-color:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404;font-size:12px;margin-top:8px;padding:8px;text-align:center}.walkthrough-interaction-hint{animation:walkthrough-hint-pulse 2s ease-in-out infinite;background-color:#e0f2fe;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;font-size:13px;font-weight:500;margin-top:12px;padding:8px 12px;text-align:center}@keyframes walkthrough-hint-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.walkthrough-interactive{cursor:pointer!important;position:relative;z-index:10003!important}.walkthrough-btn:disabled{cursor:not-allowed;opacity:.5}.walkthrough-prompt-overlay{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:9998}.walkthrough-prompt-modal{animation:walkthrough-fade-in .3s ease-out;background-color:#fff;border-radius:12px;box-shadow:0 8px 32px #00000026;max-width:400px;padding:24px;text-align:center;width:100%}.walkthrough-prompt-modal h3{color:#333;font-size:20px;font-weight:600;margin-bottom:12px;margin-top:0}.walkthrough-prompt-modal p{color:#666;line-height:1.5;margin-bottom:20px}.walkthrough-prompt-actions{display:flex;gap:12px;justify-content:center}.walkthrough-prompt-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s}.walkthrough-prompt-btn.skip-btn{background-color:#f0f0f0;color:#666}.walkthrough-prompt-btn.skip-btn:hover{background-color:#e0e0e0;color:#333}.walkthrough-prompt-btn.start-btn{background-color:#000;color:#fff}.walkthrough-prompt-btn.start-btn:hover{background-color:#333}@media (max-width:768px){.walkthrough-prompt-overlay{padding:16px}.walkthrough-prompt-modal{padding:20px}.walkthrough-prompt-modal h3{font-size:18px}.walkthrough-prompt-modal p{font-size:14px}.walkthrough-prompt-actions{flex-direction:column;gap:8px}.walkthrough-prompt-btn{padding:12px 20px;width:100%}}.recipe-costs-container{background-color:initial;border-radius:0;box-shadow:none;box-sizing:border-box;margin:0;max-width:100%;min-width:320px;padding:20px;position:relative;width:100%}.costs-title{font-size:1.8em;margin-bottom:25px;text-align:center}.ingredients-price-list{grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0 4px}.ingredient-price-item{background-color:#f8f9fa;border-radius:12px;box-shadow:0 2px 4px #0000000d;cursor:pointer;margin-bottom:16px;overflow:visible;padding:16px;position:relative;transition:all .3s ease}.ingredient-price-item:hover{background-color:#f0f2f5;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.ingredient-price-item:active{box-shadow:0 2px 8px #0000001a;transform:translateY(0)}.ingredient-header{flex-wrap:wrap;gap:12px;margin-bottom:12px}.ingredient-checkbox{accent-color:#3498db;height:22px;width:22px}.ingredient-name{word-wrap:break-word;font-size:1.2em;line-height:1.3;min-width:0}.brand-select-container{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;flex-direction:column;gap:15px;margin:15px 0;overflow:visible;padding:15px;position:relative;z-index:10}.brand-selector-wrapper{margin-bottom:0;position:relative;z-index:10}.brand-image-container{align-self:center;margin-left:0;margin-top:15px;order:3;position:relative;text-align:center}.brand-image{border:3px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 16px #00000026;height:180px;transition:transform .2s ease,box-shadow .2s ease;width:180px}.brand-image:hover{box-shadow:0 6px 20px #0003;transform:scale(1.02)}.brand-image-placeholder{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:3px dashed #dee2e6;border-radius:16px;font-size:1em;gap:8px;height:180px;text-align:center;width:180px}.placeholder-icon{font-size:32px;opacity:.7}.placeholder-text{word-wrap:break-word;font-size:12px;font-weight:500;line-height:1.2;max-width:120px}.brand-select{word-wrap:break-word;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%232c3e50' d='M10.293 3.293 6 7.586 1.707 3.293A1 1 0 0 0 .293 4.707l5 5a1 1 0 0 0 1.414 0l5-5a1 1 0 1 0-1.414-1.414z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;max-height:200px;overflow-y:auto;padding:8px 30px 8px 12px;width:calc(100% - 44px)}.brand-select,.brand-select option{text-overflow:ellipsis;white-space:normal}.brand-select option{color:#2c3e50;font-size:1em;overflow:hidden;padding:12px}.brand-select:focus,.brand-select:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db1a}.special-offer{background:linear-gradient(135deg,#fff5f5,#ffe8e8);border-left:4px solid #e74c3c;margin:10px 0;padding:15px}@media (max-width:768px){.special-offer{border-left-width:3px;border-radius:6px;margin:6px 0;padding:8px}}@media (max-width:480px){.special-offer{border-left-width:2px;border-radius:4px;margin:4px 0;padding:6px}}@media (max-width:390px){.special-offer{border-left-width:2px;border-radius:3px;margin:3px 0;padding:4px}}.special-offer-title{color:#e74c3c;gap:8px}.special-offer-title svg{height:20px;width:20px}.price-details{grid-gap:10px;color:#666;display:grid;font-size:.95em;gap:10px;grid-template-columns:repeat(2,1fr)}.cost-summary{background-color:#f8f9fa;border-radius:12px;margin-top:30px;padding:20px}.cost-row{border-bottom:1px solid #e0e0e0;padding:10px 0}.cost-row:last-child{border-bottom:none}.cost-label{color:#2c3e50}.original-price{color:#666}.savings{color:#27ae60;font-weight:700}.final-price{color:#e74c3c;font-size:1.2em}.order-button{background:linear-gradient(135deg,#3498db,#2980b9);font-size:1.1em;font-weight:500;gap:10px;margin-top:20px;padding:15px;position:relative;transition:all .3s ease;z-index:10}.order-button:hover{box-shadow:0 4px 15px #3498db4d}@media (max-width:768px){.recipe-costs-container{margin:5px;padding:10px}.costs-title{font-size:1.3em;margin-bottom:10px}.ingredients-price-list{gap:6px;grid-template-columns:repeat(2,1fr)}.ingredient-price-item{border-radius:10px;margin-bottom:12px;padding:12px}.ingredient-header{flex-wrap:wrap;gap:10px;margin-bottom:10px}.ingredient-name{font-size:1.1em;font-weight:600;line-height:1.3}.brand-select-container{align-items:center;flex-direction:column;gap:10px;margin:10px 0;padding:10px}.brand-image-container{align-self:center;margin-left:0;margin-top:10px;order:3}.brand-image,.brand-image-placeholder{height:120px;width:120px}.selected-brand-preview{gap:8px;margin-bottom:8px;padding:8px;width:100%}.preview-image-container{height:50px;width:50px}.preview-brand-name{font-size:.85rem}.preview-brand-store{font-size:.75rem}.brand-selector-wrapper{margin-bottom:4px;width:100%}.brand-select{font-size:.8em;min-height:32px;padding:6px;width:100%}.price-details{margin-top:6px}.brand-details{margin-top:6px;padding:6px}.amount-info,.container-volume-info,.excess-amount-info,.price-info{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:3px;padding:3px 0}.detail-label,.detail-value{font-size:.75em;line-height:1.1}.detail-label{font-weight:500;min-width:60px}.detail-value{font-weight:600;text-align:right}.special-offer{margin-top:6px;padding:6px}.special-offer-title{font-size:.85em;margin-bottom:4px}.package-info,.price-options,.savings-info{font-size:.75em}.no-brands-message{color:#6c757d;font-size:.85em;padding:15px;text-align:center}.multi-buy-details div{margin-bottom:3px}.cost-summary{margin-top:10px;padding:8px}.cost-row{font-size:.85em;margin-bottom:4px}.final-price{font-size:1em;font-weight:600}.order-button{font-size:.9em;margin-top:10px;padding:10px;width:100%}}@media (min-width:769px){.recipe-costs-container{margin:20px auto}}.loading{opacity:.7;pointer-events:none}.loading-spinner{align-items:center;display:flex;justify-content:center;min-height:200px}.error-message{background-color:#fff5f5;color:#e74c3c}.brand-details{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-top:15px;padding:20px;position:relative;z-index:1}.amount-info,.container-volume-info,.containers-needed-info,.package-info,.per-kg-info,.price-info{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:10px 0}.container-volume-info{border-bottom:none}.containers-needed-info{background-color:#e3f2fd;border:1px solid #90caf9;border-radius:6px;margin:8px 0;padding:12px 15px}.container-volume-info{background-color:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;margin:8px 0;padding:12px 15px}@media (max-width:768px){.container-volume-info{border-radius:4px;margin:4px 0;padding:6px 8px}}@media (max-width:480px){.container-volume-info{border-radius:3px;margin:3px 0;padding:4px 6px}}@media (max-width:390px){.container-volume-info{border-radius:2px;margin:2px 0;padding:3px 4px}}.price-per-kg-info{align-items:center;background-color:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;display:flex;justify-content:space-between;margin:8px 0;padding:12px 15px}.containers-needed-info .detail-label{color:#1565c0;font-weight:600}.container-volume-info .detail-label,.price-per-kg-info .detail-label{color:#2e7d32;font-weight:600}@media (max-width:768px){.container-volume-info .detail-label,.price-per-kg-info .detail-label{color:#666;font-size:.75em;font-weight:500}}@media (max-width:480px){.container-volume-info .detail-label,.price-per-kg-info .detail-label{color:#666;font-size:.7em;font-weight:500}}@media (max-width:390px){.container-volume-info .detail-label,.price-per-kg-info .detail-label{color:#666;font-size:.65em;font-weight:500}}.container-volume-info .detail-value,.containers-needed-info .detail-value,.price-per-kg-info .detail-value{font-size:1.05em;font-weight:700}@media (max-width:768px){.container-volume-info .detail-value,.containers-needed-info .detail-value,.price-per-kg-info .detail-value{font-size:.75em;font-weight:600}}@media (max-width:480px){.container-volume-info .detail-value,.containers-needed-info .detail-value,.price-per-kg-info .detail-value{font-size:.7em;font-weight:600}}@media (max-width:390px){.container-volume-info .detail-value,.containers-needed-info .detail-value,.price-per-kg-info .detail-value{font-size:.65em;font-weight:600}}.detail-label{color:#666;font-size:.95em;font-weight:500}.detail-value{font-size:1.1em;font-weight:600}@media (max-width:768px){.brand-details{padding:15px}.amount-info,.package-info,.price-info{align-items:flex-start;flex-direction:column;gap:5px}.detail-value{margin-left:10px}}.recipe-suggestions{background-color:#f8f9fa;border-radius:8px;margin-top:2rem;padding:1rem}.suggestions-title{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;text-align:center}.suggestions-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:.5rem}.suggestion-card{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;color:inherit;cursor:pointer;display:block;overflow:hidden;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.suggestion-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-4px)}.suggestion-card:hover .suggestion-title{color:#3498db}.suggestion-image-container{height:200px;position:relative;width:100%}.suggestion-image{height:100%;object-fit:cover;width:100%}.match-count{background-color:#3498dbe6;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;padding:4px 12px;position:absolute;right:12px;top:12px}.suggestion-content{padding:1rem}.suggestion-title{color:#2c3e50;display:block;font-size:1.2rem;font-weight:600;margin-bottom:.5rem;transition:color .2s ease}.recipe-creator{color:#7f8c8d;font-size:.9rem;margin-bottom:1rem}.matched-ingredients h4{color:#2c3e50;font-size:.95rem;margin-bottom:.5rem}.ingredient-tags{display:flex;flex-wrap:wrap;gap:.5rem}.ingredient-tag{background-color:#e8f4f8;border-radius:16px;color:#2980b9;font-size:.85rem;font-weight:500;padding:4px 12px}.suggestions-loading{color:#7f8c8d;font-style:italic;padding:2rem;text-align:center}.suggestions-error{background-color:#fdf0ed;border-radius:8px;color:#e74c3c;margin:1rem 0;padding:1rem;text-align:center}@media (max-width:768px){.suggestions-container{grid-template-columns:1fr}.suggestion-card{max-width:100%}}.brand-selector-wrapper{align-items:center;margin-bottom:10px;width:100%}.brand-select{border:1px solid #ddd;border-radius:4px;font-size:14px;margin-right:8px}.sr-only{border-width:0}@media (max-width:768px){.recipe-costs-container{border-radius:8px;margin:8px;padding:12px}.costs-title{font-size:1.4rem;margin-bottom:12px;padding:8px 0}.ingredient-price-item{border-radius:8px;margin-bottom:8px;padding:12px}.ingredient-header{align-items:center;margin-bottom:8px}.ingredient-name{font-size:1.1rem;font-weight:600;margin-left:8px}.brand-select-container{flex-direction:column;gap:8px;margin-bottom:8px}.brand-image,.brand-image-placeholder{border-radius:6px;height:40px;width:40px}.brand-selector-wrapper{gap:8px;width:100%}.brand-select{border-radius:6px;font-size:1rem;min-height:44px;padding:10px 12px}.brand-select option{font-size:1rem;padding:8px}.brand-details{border-radius:6px;font-size:.9rem;margin-top:8px;padding:8px}.amount-info,.container-volume-info,.containers-needed-info,.excess-amount-info,.package-info,.price-info,.price-per-kg-info,.total-cost-calculation{margin-bottom:6px;padding:4px 0}.detail-label,.detail-value{font-size:.9rem;line-height:1.3}.detail-label{font-weight:600;min-width:80px}.special-offer{border-radius:6px;font-size:.9rem;margin-top:8px;padding:8px}.special-offer-title{font-size:1rem;font-weight:600;margin-bottom:6px}.special-description{font-size:.85rem;margin-bottom:6px}.cost-summary{border-radius:8px;margin-top:12px;padding:12px}.cost-row{font-size:1rem;padding:6px 0}.final-price{font-size:1.2rem;font-weight:700}.order-button{border-radius:8px;font-size:1.1rem;margin-top:12px;min-height:48px;padding:14px 20px}.order-button svg{height:20px;margin-right:8px;width:20px}.special-price-details{border-radius:6px;margin-top:6px;padding:8px}.special-price-header{margin-bottom:6px;padding:4px 0}.special-price-title{font-size:.95rem;font-weight:600}.price-comparison{gap:4px;margin-bottom:6px}.original-price-line,.savings-line,.special-price-line{font-size:.85rem;padding:3px 0}.special-price-badge{border-radius:4px;font-size:.8rem;margin-top:4px;padding:4px 8px}.multi-buy-special{border-radius:6px;margin-top:6px;padding:8px}.special-details{margin-bottom:8px}.special-details div{font-size:.85rem;margin-bottom:4px}.pricing-options{margin-top:8px}.pricing-options label{font-size:.9rem;font-weight:600;margin-bottom:6px}.option-group{gap:6px}.option-item{border-radius:6px;font-size:.85rem;padding:8px}.option-item input[type=radio]{margin-right:8px;transform:scale(1.2)}.option-item label{font-size:.85rem;line-height:1.3}.shortage-warning{color:#d32f2f;font-size:.8rem;font-weight:600}.savings-highlight{font-size:.85rem;font-weight:600}.excess-info{border-radius:4px;font-size:.8rem;margin-top:4px;padding:4px 8px}.cupboard-notice,.preferences-notice{border-radius:6px;font-size:.9rem;margin-bottom:12px;padding:8px 12px}.cupboard-notice p,.preferences-notice p{line-height:1.4;margin:0}.notice-icon{font-size:1rem;margin-right:6px}.cupboard-summary{margin-bottom:12px;padding:8px 12px}.cupboard-stats{gap:8px}.stat-item{padding:4px 0}.stat-label{font-size:.9rem;font-weight:600}.stat-value{font-size:.9rem;font-weight:500}.excess-amount-info{margin-top:4px;padding:4px 0}.excess-highlight{color:#2e7d32;font-weight:600}.excess-note{color:#666;font-size:.8rem;font-style:italic}}@media (max-width:480px){.recipe-costs-container{margin:3px;padding:6px}.costs-title{font-size:1.2rem;margin-bottom:8px}.ingredient-price-item{margin-bottom:4px;padding:6px}.ingredient-header{gap:4px;margin-bottom:4px}.ingredient-name{font-size:.85rem;line-height:1.1;margin-left:4px}.brand-select-container{gap:4px;margin-bottom:4px;padding:4px}.brand-image,.brand-image-placeholder{height:30px;width:30px}.brand-select{font-size:.75rem;min-height:28px;padding:4px 6px}.brand-select option{font-size:.75rem;padding:4px}.search-button{height:32px;width:32px}.search-button svg{height:14px;width:14px}.brand-details{font-size:.75rem;margin-top:4px;padding:4px}.amount-info,.container-volume-info,.excess-amount-info,.package-info,.price-info{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:2px;padding:2px 0}.detail-label,.detail-value{font-size:.7rem;line-height:1.1}.detail-label{font-weight:500;min-width:50px}.detail-value{font-weight:600;text-align:right}.special-offer{font-size:.75rem;margin-top:4px;padding:4px}.special-offer-title{font-size:.8rem;margin-bottom:2px}.special-description{font-size:.7rem;margin-bottom:2px}.cost-summary{margin-top:8px;padding:8px}.cost-row{font-size:.85rem;padding:3px 0}.final-price{font-size:1rem}.order-button{font-size:.9rem;margin-top:8px;min-height:40px;padding:10px 12px}.order-button svg{height:16px;margin-right:4px;width:16px}.special-price-details{margin-top:4px;padding:6px}.special-price-header{margin-bottom:4px;padding:3px 0}.special-price-title{font-size:.9rem}.price-comparison{gap:3px;margin-bottom:4px}.original-price-line,.savings-line,.special-price-line{font-size:.8rem;padding:2px 0}.special-price-badge{font-size:.75rem;margin-top:3px;padding:3px 6px}.multi-buy-special{margin-top:4px;padding:6px}.special-details{margin-bottom:6px}.special-details div{font-size:.8rem;margin-bottom:3px}.pricing-options{margin-top:6px}.pricing-options label{font-size:.85rem;margin-bottom:4px}.option-group{gap:4px}.option-item{font-size:.8rem;padding:6px}.option-item input[type=radio]{margin-right:6px;transform:scale(1.1)}.option-item label{font-size:.8rem;line-height:1.2}.shortage-warning{font-size:.75rem}.savings-highlight{font-size:.8rem}.excess-info{font-size:.75rem;margin-top:3px;padding:3px 6px}.cupboard-notice,.preferences-notice{font-size:.85rem;margin-bottom:10px;padding:6px 10px}.cupboard-notice p,.preferences-notice p{line-height:1.3}.notice-icon{font-size:.9rem;margin-right:4px}.cupboard-summary{margin-bottom:10px;padding:6px 10px}.cupboard-stats{gap:6px}.stat-item{padding:3px 0}.stat-label,.stat-value{font-size:.85rem}.excess-amount-info{margin-top:3px;padding:3px 0}.excess-note{font-size:.75rem}}@media (max-width:768px){.search-modal{border-radius:12px;margin:20px auto;max-height:80vh;max-width:400px;width:95%}.search-modal-header{border-radius:12px 12px 0 0;padding:12px 16px}.search-modal-header h3{font-size:1.1rem;margin:0}.search-input-container{padding:0 16px 12px}.search-input{border-radius:8px;font-size:1rem;min-height:44px;padding:12px}.search-results{max-height:60vh;padding:0 16px 16px}.category-badge{font-size:.8rem;margin:2px;padding:4px 8px}.search-result-item{border-radius:6px;margin-bottom:6px;padding:10px}.search-result-name{font-size:.95rem;font-weight:600;margin-bottom:4px}.search-result-brand,.search-result-price{font-size:.85rem;margin-bottom:2px}.result-category{margin-bottom:12px}.category-header{font-size:.9rem;font-weight:600;margin-bottom:6px;padding:8px 0 6px}}@media (max-width:480px){.search-modal{border-radius:10px;margin:10px auto;max-height:85vh;max-width:350px;width:98%}.search-modal-header{border-radius:10px 10px 0 0;padding:10px 12px}.search-modal-header h3{font-size:1rem}.search-input-container{padding:0 12px 10px}.search-input{border-radius:6px;font-size:.95rem;min-height:40px;padding:10px}.search-results{max-height:65vh;padding:0 12px 12px}.category-badge{font-size:.75rem;margin:1px;padding:3px 6px}.search-result-item{border-radius:5px;margin-bottom:4px;padding:8px}.search-result-name{font-size:.9rem;margin-bottom:3px}.search-result-brand,.search-result-price{font-size:.8rem;margin-bottom:1px}.result-category{margin-bottom:10px}.category-header{font-size:.85rem;margin-bottom:4px;padding:6px 0 4px}}.ingredient-price-item.in-cupboard{background-color:#f8fffe;border-left:4px solid #90c695;opacity:.7}.ingredient-price-item.in-cupboard .ingredient-checkbox:checked{background-color:#90c695}.cupboard-indicator{background-color:#e8f5e8;border-radius:12px;font-size:.8em;margin-left:8px;padding:2px 6px}.ingredient-name{align-items:center;display:flex;gap:4px}.cupboard-summary{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:15px;padding:15px}.cupboard-stats{gap:20px;justify-content:space-between}.stat-item{flex:1 1}.stat-label{font-size:14px;margin-bottom:5px}.stat-value{color:#2c3e50;font-size:16px;font-weight:600}.cupboard-notice{background-color:#f0f8ff;border:1px solid #b3d9ff;border-radius:6px;margin-bottom:16px;padding:12px}.cupboard-notice p{color:#2c5282;margin:0}.excess-amount-info{background-color:#e8f5e8;border:1px solid #90c695;border-radius:4px;margin-top:8px;padding:8px 12px}.excess-amount-info .detail-label{color:#2d5a2d;font-weight:600}.excess-highlight{color:#2d5a2d!important}.excess-note{color:#5a7a5a;font-size:.9em}@media (max-width:768px){.excess-amount-info{border-radius:3px;margin-top:6px;padding:6px 8px}.excess-highlight{font-size:.95em}}@media (max-width:480px){.excess-amount-info{border-radius:2px;margin-top:4px;padding:4px 6px}.excess-highlight{font-size:.9em}}@media (max-width:390px){.excess-amount-info{border-radius:2px;margin-top:3px;padding:3px 4px}.excess-highlight{font-size:.85em}}.preferences-notice{background:linear-gradient(135deg,#fff3e0,#fef7ed);border:1px solid #ffcc80;border-radius:8px;margin-bottom:20px;padding:12px 15px}.preferences-notice p{align-items:center;color:#e65100;display:flex;font-size:14px;gap:8px;margin:0}.notice-icon{font-size:16px}@media (max-width:480px){.cupboard-stats{flex-direction:column;gap:10px}.stat-item{flex-direction:row;justify-content:space-between;text-align:left}.cupboard-notice{padding:10px 12px}.cupboard-notice p{font-size:13px}}@media (max-width:768px){.ingredient-price-item{border-radius:6px;margin-bottom:8px;padding:8px}.ingredient-price-item:hover{transform:translateY(-1px)}.ingredient-header{gap:8px;margin-bottom:6px}.ingredient-checkbox{height:18px;width:18px}.ingredient-name{font-size:.95em;line-height:1.2}.brand-select-container{border-radius:6px;gap:8px;margin:6px 0;padding:6px}.brand-image,.brand-image-placeholder{border-radius:8px;height:100px;width:100px}.brand-select{border-radius:4px;font-size:.8em;padding:5px 6px}.brand-details{border-radius:6px;margin-top:6px;padding:8px 6px}.amount-info,.container-volume-info,.containers-needed-info,.package-info,.price-info,.price-per-kg-info{padding:6px 0}.detail-label,.detail-value{font-size:.8em}.special-offer{border-radius:6px;margin:4px 0;padding:6px}.special-offer-title{font-size:12px;margin-bottom:4px}.cost-summary{border-radius:8px;margin-top:10px;padding:10px 6px}.cost-row{padding:4px 0}.order-button{border-radius:8px;font-size:1em;margin-bottom:35px;margin-top:12px;padding:12px}}@media (max-width:480px){.ingredient-price-item{border-radius:8px;margin-bottom:10px;padding:10px}.ingredient-header{flex-wrap:wrap;gap:8px;margin-bottom:8px}.ingredient-checkbox{height:18px;width:18px}.ingredient-name{font-size:1em;font-weight:600;line-height:1.3}.brand-select-container{gap:6px;margin:4px 0;padding:4px}.brand-image,.brand-image-placeholder{height:90px;width:90px}.brand-select{font-size:.75em;padding:4px 5px}.brand-details{margin-top:4px;padding:6px 4px}.amount-info,.container-volume-info,.containers-needed-info,.package-info,.price-info,.price-per-kg-info{padding:4px 0}.detail-label,.detail-value{font-size:.75em}.special-offer{margin:3px 0;padding:4px}.special-offer-title{font-size:11px;margin-bottom:3px}.cost-summary{margin-top:8px;padding:8px 4px}.cost-row{padding:3px 0}.cost-label{font-size:.85em}.final-price,.order-button{font-size:.95em}.order-button{margin-bottom:45px;margin-top:10px;padding:10px}}.recipe-costs-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin:0 auto;max-width:1200px;padding:16px}.costs-title{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1.5rem;margin-bottom:16px;padding-bottom:8px}.ingredients-price-list{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;margin:0;padding:0}.ingredient-price-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:8px;padding:12px;transition:all .2s ease}.ingredient-price-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-1px)}.ingredient-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.ingredient-checkbox{accent-color:#28a745;cursor:pointer;height:18px;width:18px}.ingredient-name{font-size:1.1rem;margin-left:8px}.brand-select-container{align-items:flex-start;display:flex;gap:12px;margin-bottom:8px}.brand-selector-wrapper{display:flex;flex:1 1;gap:8px}.brand-image-container{flex-shrink:0}.brand-image{border:1px solid #e9ecef;border-radius:6px;height:50px;object-fit:cover;width:50px}.brand-image-placeholder{background:#e9ecef;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;flex-direction:column;font-size:.8rem;height:50px;width:50px}.placeholder-icon{font-size:1.2rem;margin-bottom:2px}.placeholder-text{font-size:.7rem;line-height:1;text-align:center}.brand-select{background:#fff;border:1px solid #ced4da;border-radius:6px;color:#495057;cursor:pointer;flex:1 1;font-size:.95rem;padding:8px 12px;transition:border-color .2s ease}.brand-select option{font-size:.9rem;padding:8px}.brand-select:focus,.brand-select:hover{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.search-button{align-items:center;background:#007bff;border-radius:6px;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.search-button:hover{background:#0056b3}.search-button svg{height:16px;width:16px}.search-button:hover svg{transform:scale(1.1)}.brand-details{background:#fff;border:1px solid #e9ecef;border-radius:6px;font-size:.9rem;margin-top:8px;padding:10px}.amount-info,.container-volume-info,.containers-needed-info,.excess-amount-info,.package-info,.price-info,.price-per-kg-info,.total-cost-calculation{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px;padding:2px 0}.detail-label{color:#495057;flex-shrink:0;font-weight:600;min-width:120px}.special-offer{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-radius:6px;font-size:.9rem;margin-top:8px;padding:10px}.special-offer-title{font-size:1rem;gap:6px;margin-bottom:6px}.special-description{font-size:.85rem;margin-bottom:6px}.cost-summary{border:1px solid #e9ecef;border-radius:8px;margin-top:16px;padding:16px}.cost-row{align-items:center;display:flex;font-size:1rem;justify-content:space-between;padding:6px 0}.cost-row:last-child{border-top:2px solid #e9ecef;font-weight:700;margin-top:8px;padding-top:12px}.cost-label{color:#495057}.original-price{color:#6c757d;text-decoration:line-through}.savings-amount{color:#28a745;font-weight:600}.final-price{color:#2c3e50;font-size:1.2rem;font-weight:700}.order-button{align-items:center;background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:600;gap:8px;justify-content:center;margin-top:16px;min-height:48px;padding:14px 24px;transition:all .2s ease;width:100%}.order-button:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.order-button svg{height:20px;width:20px}.cupboard-notice,.preferences-notice{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;font-size:.9rem;margin-bottom:12px;padding:10px 12px}.cupboard-notice p,.preferences-notice p{color:#0056b3;line-height:1.4;margin:0}.notice-icon{font-size:1rem;margin-right:6px}.cupboard-summary{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:6px;margin-bottom:12px;padding:10px 12px}.cupboard-stats{display:flex;gap:16px;justify-content:space-around}.stat-item{flex-direction:column;text-align:center}.stat-label{color:#0056b3;font-size:.85rem;font-weight:600;margin-bottom:2px}.stat-value{color:#0056b3;font-size:1rem}.excess-amount-info{margin-top:4px;padding:4px 0}.excess-highlight{color:#28a745;font-weight:600}.excess-note{color:#6c757d;font-size:.8rem;font-style:italic}.ingredient-price-item.in-cupboard{background:#f8f9fa;border-color:#dee2e6;opacity:.8}.ingredient-price-item.in-cupboard .ingredient-checkbox:checked{accent-color:#6c757d}.cupboard-indicator{color:#6c757d;font-size:1rem;margin-left:6px}.no-brands-message{background:#f8f9fa;border-radius:4px;color:#6c757d;font-style:italic;margin:8px 0;padding:8px;text-align:center}.search-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.search-modal{animation:modal-slide-in .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:80vh;max-width:500px;overflow:hidden;width:90%}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.search-modal-header{align-items:center;background:#007bff;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.search-modal-header h3{font-size:1.2rem;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.close-button:hover{background:#fff3}.search-input-container{padding:16px 20px 12px}.search-input{border-radius:8px;min-height:44px;padding:12px 16px}.search-input:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a}.result-count{color:#6c757d;font-size:.9rem;margin-left:auto}.category-list{display:flex;flex-wrap:wrap;gap:4px;padding:0 20px 12px}.category-badge{background:#e9ecef;border-radius:12px;color:#495057;font-size:.8rem;padding:4px 8px}.search-results{max-height:60vh;overflow-y:auto;padding:0 20px 20px}.result-category{margin-bottom:16px}.category-header{border-bottom:2px solid #e9ecef;color:#2c3e50;font-size:1rem;font-weight:700;margin-bottom:8px;padding:8px 0 6px}.search-result-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;margin-bottom:6px;padding:12px;transition:all .2s ease}.search-result-item:hover{background:#e9ecef;transform:translateY(-1px)}.search-result-name{color:#2c3e50;font-size:1rem;font-weight:600;margin-bottom:4px}.package-info{color:#6c757d;font-size:.85rem}.search-result-brand{color:#6c757d;font-size:.9rem;margin-bottom:2px}.search-result-price{color:#28a745;font-size:.9rem;font-weight:600}.no-results{color:#6c757d;font-style:italic;padding:20px}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.deselected-ingredients-section{background:#f8f9fa;border:1px solid #e9ecef;border-left:4px solid #6c757d;border-radius:8px;margin-top:20px;padding:12px 16px}.deselected-title{color:#6c757d;font-size:.9rem;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.deselected-ingredients-list{align-items:center;gap:6px}.deselected-ingredient-item{background:#fff;border:1px solid #dee2e6;color:#495057;display:inline-flex;font-size:.8rem;font-weight:500;gap:4px;padding:4px 12px;white-space:nowrap}.deselected-ingredient-item:hover{background:#e9ecef;border-color:#007bff;box-shadow:0 2px 4px #007bff26;color:#007bff;transform:translateY(-1px)}.deselected-ingredient-item.in-cupboard{background:#e8f5e8;border-color:#c3e6cb;color:#155724}.deselected-ingredient-item.in-cupboard:hover{background:#d4edda;border-color:#28a745;color:#28a745}.cupboard-icon{font-size:.8rem;margin-left:2px}@media (max-width:768px){.deselected-ingredients-section{border-left-width:3px;margin-top:16px;padding:10px 12px}.deselected-title{font-size:.8rem;margin-bottom:6px}.deselected-ingredients-list{gap:4px}.deselected-ingredient-item{border-radius:16px;font-size:.75rem;gap:2px;padding:3px 8px}.cupboard-icon{font-size:.7rem;margin-left:1px}}@media (max-width:480px){.deselected-ingredients-section{margin-top:12px;padding:8px 10px}.deselected-title{font-size:.75rem;margin-bottom:4px}.deselected-ingredients-list{gap:3px}.deselected-ingredient-item{border-radius:14px;font-size:.7rem;gap:1px;padding:2px 6px}.cupboard-icon{font-size:.65rem}}.brand-select option[value=see-all]{background-color:#f0f8ff!important;border-top:1px solid #ddd;color:#06c!important;font-weight:700!important;margin-top:4px}.brand-select option[value=show-less]{background-color:#fff0f0!important;border-top:1px solid #ddd;color:#c00!important;font-weight:700!important;margin-top:4px}.brand-select option[value=see-all]:hover,.brand-select option[value=show-less]:hover{background-color:#e6f3ff!important}.brand-select.loading-expansion{opacity:.7;pointer-events:none}.brand-select.loading-expansion:after{color:#666;content:" (Loading...)";font-style:italic}.brand-select.expanded{border-color:#28a745;box-shadow:0 0 0 2px #28a74533}.brand-select.expanded:before{color:#28a745;content:"📄 "}@media (max-width:768px){.brand-select option[value=see-all],.brand-select option[value=show-less]{font-size:.9rem;padding:8px 6px}}@media (max-width:480px){.brand-select option[value=see-all],.brand-select option[value=show-less]{font-size:.85rem;padding:6px 4px}}.price-value-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.original-price-inline{color:#666;font-size:.9rem;font-weight:500;text-decoration:line-through}.detail-value{color:#2c3e50;flex:1 1;text-align:right}@media (max-width:768px){.price-value-container{gap:6px}.original-price-inline{font-size:.85rem}}@media (max-width:480px){.price-value-container{align-items:flex-end;flex-direction:column;gap:4px}.original-price-inline{align-self:flex-end;font-size:.8rem}}.selected-brand-preview{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:12px;margin-bottom:12px;padding:12px;position:relative;z-index:1000}.preview-image-container{flex-shrink:0;height:60px;position:relative;width:60px}.preview-brand-image{border:1px solid #dee2e6;border-radius:6px;height:100%;object-fit:cover;width:100%}.preview-image-placeholder{align-items:center;background:#e9ecef;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;display:flex;height:100%;justify-content:center;width:100%}.preview-image-placeholder .placeholder-icon{font-size:1.5rem}.preview-brand-info{display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:0;overflow:hidden}.preview-brand-name{color:#2c3e50;font-size:.9rem;font-weight:600;margin-bottom:2px}.preview-brand-name,.preview-brand-store{flex:1 1;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-brand-store{color:#6c757d;font-size:.8rem}.custom-dropdown{position:relative;width:100%;z-index:100}.dropdown-header{align-items:center;background:#fff;border:1px solid #ced4da;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;min-height:40px;padding:8px 12px;transition:border-color .2s ease}.dropdown-header:hover{border-color:#007bff}.custom-dropdown.open .dropdown-header{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.selected-text{color:#495057;flex:1 1;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{color:#6c757d;margin-left:8px;transition:transform .2s ease}.dropdown-arrow.up{transform:rotate(180deg)}.dropdown-options{background:#fff;border:1px solid #ced4da;border-radius:0 0 6px 6px;border-top:none;box-shadow:0 4px 12px #00000026;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:9999}.dropdown-option{align-items:center;border-bottom:1px solid #f8f9fa;cursor:pointer;display:flex;gap:12px;min-height:80px;padding:16px 12px;transition:background-color .2s ease}.dropdown-option:hover{background-color:#f8f9fa}.dropdown-option.selected{background-color:#e3f2fd;border-left:3px solid #007bff}.dropdown-option.special-option{background-color:#f0f8ff;color:#06c;font-weight:600}.dropdown-option.special-option:hover{background-color:#e6f3ff}.option-image{flex-shrink:0;height:60px;position:relative;width:60px}.option-brand-image{border:1px solid #e9ecef;border-radius:6px;height:100%;object-fit:cover;width:100%}.option-image-placeholder{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;display:flex;height:100%;justify-content:center;width:100%}.option-image-placeholder .placeholder-icon{font-size:1.2rem}.option-details{flex:1 1;min-width:0}.option-name{color:#2c3e50;font-size:1rem;font-weight:600;line-height:1.3;margin-bottom:4px}.option-brand{color:#6c757d;margin-bottom:3px}.option-brand,.option-price{font-size:.9rem;line-height:1.2}.option-price{color:#28a745;font-weight:500;margin-bottom:6px}.option-badges{display:flex;flex-wrap:wrap;gap:4px}.badge{border-radius:14px;font-size:.75rem;padding:3px 8px;white-space:nowrap}.badge.preference{background-color:#fff3cd;color:#856404}.badge.saved{background-color:#d4edda;color:#155724}.badge.special-price{background-color:#f8d7da;color:#721c24}.badge.multi-buy{background-color:#d1ecf1;color:#0c5460}.badge.special{background-color:#e2e3e5;color:#383d41}.custom-dropdown.loading-expansion .dropdown-header{opacity:.7;pointer-events:none}.custom-dropdown.loading-expansion .selected-text:after{color:#666;content:" (Loading...)";font-style:italic}.custom-dropdown.expanded .dropdown-header{border-color:#28a745;box-shadow:0 0 0 2px #28a74533}@media (max-width:768px){.dropdown-header{min-height:40px;padding:8px 12px}.selected-text{font-size:.9rem}.dropdown-options{max-height:350px}.dropdown-option{gap:10px;min-height:70px;padding:14px 10px}.option-image{height:50px;width:50px}.option-name{font-size:.9rem}.option-brand,.option-price{font-size:.8rem}.badge{font-size:.7rem;padding:2px 6px}}@media (max-width:480px){.dropdown-header{min-height:36px;padding:6px 10px}.selected-text{font-size:.85rem}.dropdown-options{max-height:280px}.dropdown-option{gap:8px;min-height:60px;padding:12px 8px}.option-image{height:45px;width:45px}.option-name{font-size:.85rem}.option-brand,.option-price{font-size:.75rem}.badge{font-size:.65rem;padding:2px 4px}}@media (max-width:390px){.ingredients-price-list{gap:4px;grid-template-columns:repeat(2,1fr)}.ingredient-price-item{margin-bottom:4px;padding:4px}.ingredient-header{gap:4px;margin-bottom:3px}.ingredient-name{font-size:.75em;line-height:1.1}.brand-select-container{align-items:center;gap:8px;margin:8px 0;padding:8px}.brand-image,.brand-image-placeholder{height:100px;width:100px}.selected-brand-preview{gap:6px;margin-bottom:6px;padding:6px}.preview-image-container{height:40px;width:40px}.preview-brand-name{font-size:.8rem}.preview-brand-store{font-size:.7rem}.brand-select{font-size:.65em;min-height:24px;padding:3px}.brand-details{margin-top:4px;padding:3px}.amount-info,.container-volume-info,.excess-amount-info,.price-info{align-items:center;flex-direction:row;justify-content:space-between;margin-bottom:2px;padding:2px 0}.detail-label,.detail-value{font-size:.65em;line-height:1.1}.detail-label{font-weight:500;min-width:45px}.detail-value{font-weight:600;text-align:right}.special-offer{margin-top:4px;padding:3px}.special-offer-title{font-size:.7em;margin-bottom:2px}.cost-summary{margin-top:8px;padding:6px}.cost-row{font-size:.7em;margin-bottom:3px}.order-button{font-size:.8em;margin-top:8px;min-height:36px;padding:8px}}.deselect-popup-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080}.deselect-popup{animation:popupSlideIn .3s ease-out;background-color:#fff;box-shadow:0 20px 40px #0000004d;max-height:90vh;max-width:450px;overflow:hidden;padding:0}@keyframes popupSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.deselect-popup-header{background-color:#f8f9fa;border-bottom:1px solid #e9ecef;padding:20px 24px 16px}.deselect-popup-header h3{color:#2c3e50}.deselect-popup-close{align-items:center;color:#6c757d;display:flex;height:32px;justify-content:center;padding:4px;width:32px}.deselect-popup-close:hover{background-color:#e9ecef;color:#495057}.deselect-popup-content{padding:24px;text-align:center}.deselect-popup-content p{color:#495057;font-size:1rem;line-height:1.5;margin:0 0 16px}.deselect-popup-content p:last-of-type{color:#2c3e50;font-weight:500;margin-bottom:0}.deselect-popup-actions{gap:12px;padding:0 24px 24px}.deselect-popup-btn{border:none;font-size:1rem;gap:8px;min-height:48px;padding:12px 20px}.deselect-popup-btn:disabled{opacity:.6}.cupboard-btn{background-color:#28a745}.cupboard-btn:hover:not(:disabled){background-color:#218838;box-shadow:0 4px 8px #28a7454d;transform:translateY(-1px)}.deselect-only-btn{background-color:#6c757d;color:#fff}.deselect-only-btn:hover:not(:disabled){background-color:#5a6268;box-shadow:0 4px 8px #6c757d4d;transform:translateY(-1px)}.cancel-btn{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.cancel-btn:hover:not(:disabled){background-color:#e9ecef;color:#495057}.loading-spinner{border:2px solid #ffffff4d;border-top-color:#fff;height:16px;width:16px}@media (max-width:768px){.deselect-popup{max-width:400px;width:95%}.deselect-popup-header{padding:16px 20px 12px}.deselect-popup-header h3{font-size:1.1rem}.deselect-popup-content{padding:20px}.deselect-popup-content p{font-size:.95rem}.deselect-popup-actions{gap:10px;padding:0 20px 20px}.deselect-popup-btn{font-size:.95rem;min-height:44px;padding:10px 16px}}@media (max-width:480px){.deselect-popup{max-width:350px;width:98%}.deselect-popup-header{padding:14px 16px 10px}.deselect-popup-content{padding:16px}.deselect-popup-actions{gap:8px;padding:0 16px 16px}.deselect-popup-btn{font-size:.9rem;min-height:40px;padding:8px 12px}}.special-offer{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;box-shadow:0 2px 8px #0ea5e91a;margin:12px 0;padding:16px}.special-offer-title{color:#0c4a6e;font-size:16px;font-weight:700;margin-bottom:8px}.special-description{color:#075985;font-size:14px;margin-bottom:12px}.multi-buy-special{border:1px solid #e0f2fe;border-radius:6px;padding:12px}.special-details{margin-bottom:16px}.special-details div{color:#0c4a6e;font-size:14px;margin:4px 0}.pricing-options{margin-top:16px}.pricing-options label{color:#0c4a6e;margin-bottom:8px}.shortage-warning{background-color:#fef2f2;border-left:3px solid #dc2626;border-radius:4px;color:#dc2626;display:block;font-size:12px;font-weight:500;margin-top:4px;padding:4px 8px}.special-summary{color:#0c4a6e;font-size:16px;margin-bottom:8px}.savings-highlight{color:#059669;margin-bottom:6px}.package-details{color:#374151;font-size:14px;margin-bottom:6px}.bonus-value{background-color:#fef3c7;border-left:3px solid #f59e0b;border-radius:6px;color:#7c2d12;font-size:14px;margin-top:8px;padding:6px 8px}.option-group{gap:8px}.option-item{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:6px;display:flex;padding:8px 12px}.option-item:hover{background:#f0f9ff;border-color:#0ea5e9}.option-item input[type=radio]{accent-color:#0ea5e9;margin-right:8px}.option-item.special-option{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.option-item.special-option:hover{background:linear-gradient(135deg,#fef3c7,#fcd34d);border-color:#d97706}.savings-highlight{color:#d97706;font-weight:700;margin-left:8px}.excess-info{background:#fffbeb;border:1px solid #f59e0b;border-radius:4px;color:#92400e;font-size:13px;margin-top:12px;padding:8px}.special-price-details{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:8px;box-shadow:0 4px 12px #f59e0b33;margin:12px 0;padding:16px}.special-price-header{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:6px;box-shadow:0 2px 6px #f59e0b4d;color:#fff;justify-content:center;margin-bottom:12px;padding:8px 12px}.special-price-icon{font-size:18px;margin-right:8px}.special-price-title{font-size:14px;font-weight:700;letter-spacing:.5px}.price-comparison{gap:8px;margin-bottom:12px}.original-price-line,.savings-line,.special-price-line{padding:4px 0}.original-price-line .label,.savings-line .label,.special-price-line .label{color:#92400e}.original-price-line .price{color:#6b7280;font-size:14px}.special-price-line .price.special-highlight{color:#059669;font-size:18px}.savings-line .savings-amount{background:#d1fae5;border:1px solid #10b981;border-radius:4px;color:#059669;padding:4px 8px}.special-price-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:6px;color:#065f46;font-size:14px;padding:8px 12px}.special-indicator{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.special-badge{border-radius:4px;font-size:12px;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.special-badge.multi-buy{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);border:1px solid #8b5cf6;color:#5b21b6}.special-badge.special-price{background:linear-gradient(135deg,#fed7d7,#feb2b2);border:1px solid #e53e3e;color:#c53030}.savings-badge{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:4px;color:#065f46;font-size:12px;padding:4px 8px}.final-cost{color:#111827;font-size:16px}.original-cost{margin-top:2px}.strikethrough,.total-original-cost{color:#6b7280;font-size:14px}.total-original-cost{margin:4px 0}.total-cost{color:#111827;font-size:18px;margin:8px 0}.total-savings{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #10b981;border-radius:6px;color:#065f46;padding:8px 12px;text-align:center}.special-indicator-small{background:linear-gradient(135deg,#fbbf24,#f59e0b);border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#92400e;display:flex;font-size:12px;font-weight:700;height:24px;justify-content:center;position:absolute;right:8px;top:8px;width:24px}@media (max-width:768px){.option-group{flex-direction:column;gap:8px}.option-item{margin-bottom:6px;padding:8px 12px}.special-offer{margin:8px 0;padding:12px}.special-indicator{font-size:10px;height:20px;right:8px;top:8px;width:20px}}@keyframes special-pulse{0%{box-shadow:0 0 0 0 #0ea5e966}70%{box-shadow:0 0 0 10px #0ea5e900}to{box-shadow:0 0 0 0 #0ea5e900}}.special-offer:hover{animation:special-pulse 2s infinite}.special-price-badge{background:linear-gradient(135deg,#10b981,#059669);border:2px solid #059669;box-shadow:0 3px 10px #10b9814d;font-size:15px;font-weight:700;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase}.special-price-details{overflow:hidden;position:relative}.special-price-details:before{animation:special-shine 3s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes special-shine{0%{left:-100%}to{left:100%}}.special-price-badge{overflow:hidden;position:relative}.special-offer{background:#fff;border:1px solid #ffc107;border-radius:4px;box-shadow:0 1px 2px #ffc1071a;font-size:.75rem;margin-top:4px;padding:4px 6px}.special-offer-title{align-items:center;color:#856404;display:flex;font-size:.8rem;font-weight:600;gap:2px;margin-bottom:2px}.special-offer-title:before{content:"🎉";font-size:.7rem}.special-description{color:#856404;font-size:.7rem;line-height:1.1;margin-bottom:2px}.multi-buy-special{background:#fff;border:1px solid #2196f3;border-radius:4px;box-shadow:0 1px 2px #2196f31a;margin-top:4px;padding:4px 6px}.special-details{margin-bottom:3px}.special-details div{font-size:.7rem;line-height:1.1;margin-bottom:1px}.special-summary{color:#1976d2;font-size:.8rem;font-weight:600;margin-bottom:2px}.savings-highlight{color:#2e7d32;font-size:.7rem;font-weight:600}.package-details{color:#1976d2;font-size:.7rem;margin-bottom:1px}.bonus-value{background:#f3e5f5;border-radius:2px;color:#7b1fa2;display:inline-block;font-size:.7rem;margin-top:1px;padding:1px 4px}.pricing-options{margin-top:3px}.pricing-options label{color:#1976d2;display:block;font-size:.75rem;font-weight:600;margin-bottom:2px}.option-group{display:flex;flex-direction:column;gap:2px}.option-item{background:#f8f9fa;border:1px solid #e9ecef;border-radius:3px;cursor:pointer;font-size:.7rem;padding:3px 5px;transition:all .2s ease}.option-item:hover{background:#e3f2fd;border-color:#007bff}.option-item input[type=radio]{accent-color:#007bff;margin-right:4px;transform:scale(.8)}.option-item.special-option{background:#f8fff9;border-color:#28a745}.option-item.special-option:hover{background:#e8f5e8;border-color:#20c997}.shortage-warning{background:#ffebee;border-radius:2px;color:#d32f2f;font-size:.65rem;font-weight:600;padding:1px 3px}.excess-info{background:#fff3cd;border:1px solid #ffc107;border-radius:2px;color:#856404;font-size:.65rem;margin-top:2px;padding:2px 4px}.special-price-details{background:#fff;border:1px solid #28a745;border-radius:4px;box-shadow:0 1px 2px #28a7451a;margin-top:4px;padding:4px 6px}.special-price-header{align-items:center;display:flex;gap:2px;margin-bottom:2px;padding:1px 0}.special-price-icon{animation:special-bounce 2s infinite;font-size:.7rem}.special-price-title{color:#28a745;font-size:.8rem;font-weight:600;letter-spacing:.2px;text-transform:uppercase}@keyframes special-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-1px)}60%{transform:translateY(-.5px)}}.price-comparison{display:flex;flex-direction:column;gap:1px;margin-bottom:2px}.original-price-line,.savings-line,.special-price-line{align-items:center;display:flex;font-size:.7rem;justify-content:space-between;padding:1px 0}.original-price-line .label,.savings-line .label,.special-price-line .label{color:#495057;font-weight:600;min-width:60px}.original-price-line .price{color:#6c757d;font-weight:500;text-decoration:line-through}.special-price-line .price.special-highlight{color:#28a745;font-size:.8rem;font-weight:700}.savings-line .savings-amount{color:#28a745;font-size:.75rem;font-weight:700}.special-price-badge{background:#28a745;border-radius:8px;box-shadow:0 1px 2px #28a74526;color:#fff;font-size:.65rem;font-weight:600;margin-top:2px;padding:2px 5px;text-align:center}.special-indicator{align-items:center;display:inline-flex;gap:1px}.special-badge,.special-indicator{background:#ffc107;border-radius:6px;color:#856404;font-size:.6rem;font-weight:600;padding:1px 4px}.special-badge{display:inline-block;margin-left:2px}.special-badge.multi-buy{background:#2196f3;color:#fff}.savings-badge,.special-badge.special-price{background:#28a745;color:#fff}.savings-badge{border-radius:6px;display:inline-block;font-size:.6rem;font-weight:600;margin-left:2px;padding:1px 4px}.final-cost{color:#28a745;font-size:.8rem;font-weight:700}.original-cost,.strikethrough{color:#6c757d;text-decoration:line-through}.strikethrough{opacity:.7}.total-original-cost{color:#6c757d;text-decoration:line-through}.total-cost{color:#2c3e50;font-size:.9rem}.total-savings{background:#f8fff9;border:1px solid #e8f5e8;border-radius:2px;color:#28a745;font-size:.75rem;font-weight:600;padding:1px 4px}.special-indicator-small{align-items:center;background:#ffc107;border-radius:4px;color:#856404;display:inline-flex;font-size:.6rem;font-weight:600;gap:1px;margin-left:2px;padding:1px 3px}.special-offer:hover{box-shadow:0 2px 4px #ffc10726}.multi-buy-special:hover{box-shadow:0 2px 4px #2196f326}.special-price-details:hover{box-shadow:0 2px 4px #28a74526}@media (max-width:768px){.special-offer{font-size:.7rem;margin-top:3px;padding:3px 5px}.special-offer-title{font-size:.75rem;margin-bottom:1px}.special-description{font-size:.65rem;margin-bottom:1px}.multi-buy-special{margin-top:3px;padding:3px 5px}.special-details{margin-bottom:2px}.special-details div{font-size:.65rem;margin-bottom:1px}.pricing-options{margin-top:2px}.pricing-options label{font-size:.7rem;margin-bottom:1px}.option-group{gap:1px}.option-item{font-size:.65rem;padding:2px 4px}.option-item input[type=radio]{margin-right:3px;transform:scale(.75)}.shortage-warning{font-size:.6rem;padding:1px 2px}.savings-highlight{font-size:.65rem}.excess-info{font-size:.6rem;margin-top:1px;padding:1px 3px}.special-price-details{margin-top:3px;padding:3px 5px}.special-price-header{margin-bottom:1px;padding:1px 0}.special-price-title{font-size:.75rem}.price-comparison{gap:1px;margin-bottom:1px}.original-price-line,.savings-line,.special-price-line{font-size:.65rem;padding:1px 0}.special-price-badge{font-size:.6rem;margin-top:1px;padding:1px 4px}}@media (max-width:480px){.special-offer{margin:6px 0;padding:10px}.special-offer-title{font-size:.9em;margin-bottom:6px}.special-description{font-size:.8em;margin-bottom:8px}.multi-buy-special{margin:6px 0;padding:8px}.special-details{margin-top:6px}.special-details div{font-size:.8em;margin-bottom:4px}.pricing-options{margin-top:8px}.pricing-options label{font-size:.8em}.option-group{gap:6px}.option-item{margin-bottom:4px;padding:6px 8px}.option-item input[type=radio]{margin-right:6px}.shortage-warning{font-size:.75em;padding:6px}.savings-highlight{font-size:.8em}.excess-info{font-size:.75em;margin-top:6px;padding:6px}.special-price-details{margin:6px 0;padding:8px}.special-price-header{margin-bottom:6px}.special-price-title{font-size:.85em}.price-comparison{margin-bottom:6px}.original-price-line,.savings-line,.special-price-line{margin-bottom:3px}.special-price-badge{font-size:.75em;padding:3px 6px}}@media (max-width:390px){.special-offer{margin:4px 0;padding:8px}.special-offer-title{font-size:.85em;margin-bottom:4px}.special-description{font-size:.75em;margin-bottom:6px}.multi-buy-special{margin:4px 0;padding:6px}.special-details{margin-top:4px}.special-details div{font-size:.75em;margin-bottom:3px}.pricing-options{margin-top:6px}.pricing-options label{font-size:.75em}.option-group{gap:4px}.option-item{margin-bottom:3px;padding:5px 6px}.option-item input[type=radio]{margin-right:4px}.shortage-warning{font-size:.7em;padding:4px}.savings-highlight{font-size:.75em}.excess-info{font-size:.7em;margin-top:4px;padding:4px}.special-price-details{margin:4px 0;padding:6px}.special-price-header{margin-bottom:4px}.special-price-title{font-size:.8em}.price-comparison{margin-bottom:4px}.original-price-line,.savings-line,.special-price-line{margin-bottom:2px}.special-price-badge{font-size:.7em;padding:2px 4px}.compact-special-badge{font-size:.7em;padding:3px 6px}.savings-percentage,.special-price-text{font-size:.7em}.simple-option-selector{gap:4px}.option-choice{font-size:.75em;padding:4px 6px}.option-choice input[type=radio]{margin-right:4px}}.compact-special-badge{min-height:40px}.multi-buy-text,.special-price-text{flex:1 1;font-size:.8rem;font-weight:700;text-align:left}.savings-percentage{background:#fff3;border:1px solid #ffffff4d;border-radius:12px;color:#fff;flex-shrink:0;font-size:.7rem;font-weight:800;letter-spacing:.5px;padding:2px 6px;text-shadow:0 1px 2px #0000004d}@media (max-width:768px){.compact-special-badge{font-size:.8rem;min-height:36px;padding:6px 10px}.multi-buy-text,.special-price-text{font-size:.75rem}.savings-percentage{font-size:.65rem;padding:1px 4px}}@media (max-width:480px){.compact-special-badge{flex-direction:column;font-size:.75rem;gap:2px;min-height:32px;padding:5px 8px}.multi-buy-text,.special-price-text{font-size:.7rem;text-align:center}.savings-percentage{align-self:center;font-size:.6rem;padding:1px 3px}}.compact-special-badge{box-shadow:0 2px 4px #0000001a;display:inline-block;font-size:.85rem;font-weight:700;letter-spacing:.3px;margin-bottom:8px;padding:8px 12px;text-align:center;text-transform:uppercase;width:100%}.compact-special-badge.multi-buy,.compact-special-badge.special-price{background:#ff6b35;border:1px solid #e55a2b;color:#fff}.simple-option-selector{gap:4px;margin-top:6px}.option-choice{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.8rem;gap:8px;padding:6px 8px;transition:all .2s ease}.option-choice:hover{background:#e9ecef;border-color:#007bff}.option-choice.special{background:#fff3cd;border-color:#ffc107}.option-choice.special:hover{background:#ffeaa7;border-color:#ffb300}.option-choice input[type=radio]{accent-color:#007bff;margin:0;transform:scale(.9)}.option-text{color:#495057;flex:1 1;font-weight:500}.option-choice.special .option-text{color:#856404;font-weight:600}@media (max-width:768px){.compact-special-badge{font-size:.75rem;margin-bottom:6px;padding:6px 10px}.simple-option-selector{gap:3px;margin-top:4px}.option-choice{font-size:.75rem;gap:6px;padding:4px 6px}.option-choice input[type=radio]{transform:scale(.85)}}@media (max-width:480px){.compact-special-badge{font-size:.7rem;margin-bottom:5px;padding:5px 8px}.simple-option-selector{gap:2px;margin-top:3px}.option-choice{font-size:.7rem;gap:4px;padding:3px 5px}.option-choice input[type=radio]{transform:scale(.8)}}.mobile-header-content{align-items:center;display:flex;gap:1rem}.mobile-dropdown-option{align-items:center;display:flex;gap:.75rem}.mobile-brand-info,.mobile-option-details{flex:1 1;min-width:0}.modern-recipe-costs{background:#f9fafb;border-radius:16px;box-shadow:0 2px 8px #0000000d;margin:1rem auto;max-width:95%;padding:2rem;width:100%}@media (min-width:1200px){.modern-recipe-costs{max-width:1600px}}@media (min-width:1600px){.modern-recipe-costs{max-width:1800px}}.costs-header{margin-bottom:2rem;text-align:center}.costs-title{color:#111827;font-family:Inter,sans-serif;font-size:1.875rem;font-weight:700;margin-bottom:.5rem}.costs-subtitle{color:#6b7280;font-size:1rem}.cupboard-notice-modern{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;box-sizing:border-box;margin-bottom:2rem;padding:1rem;width:100%}.notice-content{align-items:center;display:flex;gap:.75rem}.notice-icon{color:#92400e;flex-shrink:0;height:1.25rem;width:1.25rem}.notice-content p{color:#92400e;font-size:.875rem;margin:0}.ingredients-grid-modern{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem;width:100%}@media (min-width:1200px){.ingredients-grid-modern{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}@media (min-width:1600px){.ingredients-grid-modern{grid-template-columns:repeat(auto-fill,minmax(450px,1fr))}}@media (max-width:768px){.ingredients-grid-modern{grid-template-columns:1fr}}.ingredient-card-modern{-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:1.5rem;touch-action:manipulation;transition:all .3s ease}.ingredient-card-modern:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.ingredient-card-modern.in-cupboard{background:#f0fdf4;border-color:#bbf7d0}.ingredient-card-header{margin-bottom:1rem}.ingredient-info{align-items:flex-start;gap:1rem}.ingredient-checkbox-container{flex-shrink:0;position:relative}.modern-checkbox{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:1.25rem;position:relative;touch-action:manipulation;transition:all .3s ease;width:1.25rem}.modern-checkbox:checked{background:#10b981;border-color:#10b981}.modern-checkbox:checked+.checkmark:after{color:#fff;content:"✓";font-size:.875rem;font-weight:700;left:2px;position:absolute;top:-2px}.checkmark{height:1.25rem;left:0;pointer-events:none;position:absolute;top:0;width:1.25rem}.cupboard-badge{align-items:center;background:#dcfce7;border-radius:6px;color:#166534;display:flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.25rem .5rem}.brand-selection-modern{margin-bottom:1rem}.selected-brand-preview-modern{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1.5rem;margin-bottom:1rem;padding:1.5rem}.brand-image-container{align-items:center;background:#f3f4f6;border-radius:12px;display:flex;height:7.5rem;justify-content:center;overflow:hidden;width:7.5rem}.brand-image-modern{height:100%;object-fit:cover;width:100%}.brand-image-placeholder{align-items:center;color:#9ca3af;display:flex;height:100%;justify-content:center;width:100%}.brand-info-modern{flex:1 1}.brand-name-modern{color:#111827;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.brand-store-modern{color:#6b7280;font-size:1rem;margin:0 0 .5rem}.brand-price-modern{color:#10b981;font-size:1.25rem;font-weight:700}.brand-selector-modern{position:relative}.no-brands-modern{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.875rem;gap:.5rem;padding:1rem}.brand-details-modern{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1rem}.details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.detail-item-modern{display:flex;flex-direction:column;gap:.25rem}.detail-label-modern{color:#6b7280;font-size:.875rem;font-weight:500}.detail-value-modern{color:#111827;font-size:1rem;font-weight:600}.price-display-modern{align-items:center;display:flex;gap:.5rem}.original-price-modern{font-size:.875rem}.current-price-modern{color:#10b981;font-size:1.125rem;font-weight:700}.ingredient-link-container{align-items:center;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-start;margin-top:1rem;padding-top:1rem;width:100%}.brand-details-modern .ingredient-link-container{border-top:1px solid #e5e7eb;margin-top:.875rem;padding-top:.875rem}.ingredient-link-button{-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background:linear-gradient(135deg,#1e40af,#1e3a8a);border:none;border-radius:10px;box-shadow:0 2px 8px #1e40af40;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:.875rem;font-weight:600;gap:.625rem;justify-content:center;letter-spacing:.025em;line-height:1.5;min-height:44px;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;touch-action:manipulation;transition:all .3s cubic-bezier(.4,0,.2,1)}.ingredient-link-button:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.ingredient-link-button:hover{background:linear-gradient(135deg,#1e3a8a,#172554);box-shadow:0 6px 20px #1e40af66;color:#fff;transform:translateY(-2px)}.ingredient-link-button:hover:before{left:100%}.ingredient-link-button:active{background:linear-gradient(135deg,#1e3a8a,#172554);box-shadow:0 2px 8px #1e40af59;transform:translateY(0)}.ingredient-link-button:focus{box-shadow:0 0 0 3px #1e40af40,0 6px 20px #1e40af66;outline:none}.ingredient-link-button svg{stroke-width:2.5;fill:none;stroke:currentColor;color:#fff;flex-shrink:0;height:1.125rem;transition:transform .3s ease;width:1.125rem}.ingredient-link-button:hover svg{color:#fff;transform:translate(2px,-2px)}.ingredient-link-button span{color:#fff;font-weight:600;letter-spacing:.025em}.special-offer{background:#fef3c7;border:1px solid #fde68a;border-radius:8px;margin-top:1rem;padding:1rem}.compact-special-badge{align-items:center;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:.75rem;padding:.75rem}.compact-special-badge.special-price{background:#fef2f2;border:1px solid #fecaca}.compact-special-badge.multi-buy{background:#f0f9ff;border:1px solid #bae6fd}.special-price-text{color:#dc2626;font-weight:600}.multi-buy-text{color:#0369a1;font-weight:600}.savings-percentage{color:#059669;font-size:.875rem;font-weight:700}.simple-option-selector{display:flex;flex-direction:column;gap:.5rem}.option-choice{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s ease}.option-choice:hover{background:#ffffff80}.option-choice.special{background:#f0f9ff;border:1px solid #bae6fd}.option-text{color:#374151;font-size:.875rem}.cost-summary-modern{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-sizing:border-box;margin-top:2rem;padding:1.5rem;width:100%}.cupboard-summary-modern{border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.cupboard-stats-modern{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item-modern{align-items:center;background:#f9fafb;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.stat-icon{color:#6b7280}.stat-content{display:flex;flex-direction:column;gap:.25rem}.stat-label-modern{color:#6b7280;font-weight:500}.stat-value-modern{color:#111827;font-size:1rem;font-weight:600}.cost-breakdown-modern{display:flex;flex-direction:column;gap:1rem}.cost-item-modern{align-items:center;display:flex;justify-content:space-between;padding:.75rem 0}.cost-item-modern:not(:last-child){border-bottom:1px solid #e5e7eb}.cost-item-modern.final-total{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-top:.5rem;padding:1rem}.cost-label-modern{color:#374151;font-size:1rem;font-weight:500}.cost-item-modern.final-total .cost-label-modern{color:#166534;font-size:1.125rem;font-weight:600}.original-price-modern{color:#9ca3af;font-size:1rem;text-decoration:line-through}.savings-amount-modern{color:#059669;font-size:1rem;font-weight:600}.final-price-modern{color:#166534;font-size:1.25rem;font-weight:700}.order-button-modern{-webkit-tap-highlight-color:transparent;align-items:center;background:#10b981;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin-top:1.5rem;min-height:48px;padding:1rem 2rem;touch-action:manipulation;transition:all .3s ease;width:100%}.order-button-modern:hover{background:#059669;box-shadow:0 8px 24px #10b9814d;transform:translateY(-2px)}.order-button-modern:active{transform:translateY(0)}.deselected-ingredients-section{border-top:1px solid #e5e7eb;margin-top:1.5rem;padding-top:1.5rem}.deselected-title{color:#374151;font-size:1rem;font-weight:600;margin-bottom:.75rem}.deselected-ingredients-list{display:flex;flex-wrap:wrap;gap:.5rem}.deselected-ingredient-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#f3f4f6;border:1px solid #d1d5db;border-radius:20px;color:#374151;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;min-height:36px;padding:.625rem 1rem;touch-action:manipulation;transition:all .2s ease}.deselected-ingredient-item:active{background:#e5e7eb;border-color:#9ca3af;transform:scale(.98)}.deselected-ingredient-item.in-cupboard{background:#fef3c7;border-color:#fde68a;color:#92400e}.cupboard-icon{font-size:.75rem}.deselect-popup-overlay{align-items:center;animation:backdropFadeIn .2s ease-out;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}.deselect-popup{animation:popupSlideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;padding:2rem;width:90%}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.deselect-popup-drag-handle{background:#d1d5db;border-radius:2px;display:none;height:4px;margin:0 auto 1rem;width:40px}.deselect-popup-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.deselect-popup-header h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0}.deselect-popup-close{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:all .2s ease}.deselect-popup-close:hover{background:#f3f4f6;color:#374151}.deselect-popup-content{margin-bottom:1.5rem}.deselect-popup-content p{color:#374151;margin-bottom:.5rem}.deselect-popup-actions{display:flex;flex-direction:column;gap:.75rem}.deselect-popup-btn{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease}.cupboard-btn{background:#10b981;border:none;color:#fff}.cupboard-btn:hover:not(:disabled){background:#059669}.deselect-only-btn{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.deselect-only-btn:hover:not(:disabled){background:#e5e7eb}.cancel-btn{background:#fff;border:1px solid #d1d5db;color:#6b7280}.cancel-btn:hover:not(:disabled){background:#f9fafb;color:#374151}.deselect-popup-btn:disabled{cursor:not-allowed;opacity:.5}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:1rem;width:1rem}@media (min-width:769px){.brand-image-container,.mobile-brand-image-container{height:4.25rem!important;width:4.25rem!important}.selected-brand-preview-modern .brand-image-container{height:5.1rem!important;width:5.1rem!important}.mobile-option-image,.option-image{height:2.55rem!important;width:2.55rem!important}.mobile-header-content,.selected-brand-preview-modern{align-items:center!important;flex-direction:row!important;text-align:left!important}.brand-info-modern,.mobile-brand-info{margin-left:1rem!important;margin-top:0!important}.brand-details-modern{padding:.75rem}.details-grid{gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.ingredient-card-modern{padding:.75rem}.ingredient-info{gap:.5rem}.brand-name-modern{font-size:.9rem}.brand-store-modern{font-size:.8rem}.brand-price-modern{font-size:1rem}.ingredients-grid-modern{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));width:100%}.modern-recipe-costs{max-width:100%;padding:1.5rem}.cost-summary-modern{padding:1rem}.cupboard-stats-modern{gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item-modern{gap:.5rem;padding:.5rem}.stat-label-modern{font-size:.8rem}.stat-value-modern{font-size:.9rem}.cost-breakdown-modern{gap:.5rem}.cost-item-modern{padding:.5rem 0}.cost-label-modern{font-size:.9rem}.cost-item-modern.final-total .cost-label-modern{font-size:1rem}.order-button-modern{font-size:.9rem;margin-top:1rem;padding:.75rem 1.5rem}.ingredient-link-button{background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff;font-size:.8125rem;min-height:40px;padding:.625rem 1.25rem}.ingredient-link-button:hover{background:linear-gradient(135deg,#1e3a8a,#172554);color:#fff}.ingredient-link-button svg{color:#fff;height:1rem;width:1rem}.mobile-brand-details,.mobile-visible{display:none!important}}@media (max-width:768px){.modern-recipe-costs{background:#0000!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;margin:0!important;max-width:100%!important;padding:0!important;width:100%!important}.mobile-hidden{display:none!important}.mobile-visible{display:flex!important}.brand-details-modern.mobile-hidden{display:none!important}.mobile-ingredient-card{border-radius:0;border-top:1px solid #e5e7eb;box-sizing:border-box;margin-bottom:0;padding:1rem;touch-action:manipulation;width:100vw}.ingredients-grid-modern{box-sizing:border-box;gap:0;margin:0 calc(50% - 50vw)!important;max-width:100vw!important;padding:0!important;width:100vw!important}.cost-summary-modern,.cupboard-notice-modern,.ingredient-card-modern,.mobile-ingredient-card{border-radius:0!important;box-sizing:border-box!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;max-width:100vw!important;padding-left:1rem!important;padding-right:1rem!important;width:100vw!important}.mobile-ingredient-header{margin-bottom:.875rem}.mobile-ingredient-info{align-items:center;display:flex;gap:.875rem}.mobile-checkbox-container{align-items:center;display:flex;flex-shrink:0;justify-content:center;margin-bottom:0;margin-top:0}.mobile-checkbox,.mobile-checkbox-container{min-height:24px;min-width:24px;position:relative}.mobile-checkbox{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none;background:#fff;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:1.25rem;touch-action:manipulation;transition:all .2s ease;width:1.25rem}.mobile-checkbox:checked{background:#10b981;border-color:#10b981}.mobile-checkmark{align-items:center;display:flex;height:1.25rem;justify-content:center;left:0;pointer-events:none;position:absolute;top:0;width:1.25rem}.mobile-checkbox:checked+.mobile-checkmark:after{color:#fff;content:"✓";font-size:.875rem;font-weight:700;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.mobile-ingredient-details{flex:1 1}.mobile-ingredient-name{color:#111827;font-size:.9rem;font-weight:600;line-height:1.2;margin:0 0 .25rem}.mobile-ingredient-amount{color:#6b7280;font-size:.8rem;margin:0}.mobile-cupboard-badge{background:#fef3c7;border-radius:4px;color:#92400e;flex-shrink:0;font-size:.8rem;padding:.25rem .5rem}.custom-dropdown.mobile-compact{position:relative;z-index:100}.custom-dropdown.mobile-compact.open{z-index:102}.custom-dropdown.mobile-compact.loading-expansion{opacity:.7;pointer-events:none}.custom-dropdown.mobile-compact.expanded .mobile-dropdown-header{background:#f0fdf4;border-color:#10b981}.mobile-dropdown-header{-webkit-tap-highlight-color:transparent;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;min-height:64px;padding:.875rem;position:relative;touch-action:manipulation;transition:all .2s ease;z-index:101}.mobile-dropdown-header:active{background:#f3f4f6;transform:scale(.98)}.mobile-header-content{align-items:center;display:flex;flex-wrap:nowrap;gap:.75rem;overflow:hidden;position:relative;width:100%}.mobile-brand-image-container{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;flex-shrink:0;height:4.5rem;justify-content:center;min-width:4.5rem;overflow:hidden;width:4.5rem}.mobile-brand-image{height:100%;object-fit:cover;width:100%}.mobile-brand-image-placeholder{align-items:center;color:#9ca3af;display:flex;height:100%;justify-content:center;width:100%}.mobile-brand-info{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;justify-content:center;min-width:0;overflow:hidden;width:0}.mobile-brand-name{color:#111827;font-size:.85rem;font-weight:600;line-height:1.2}.mobile-brand-name,.mobile-brand-store{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.mobile-brand-store{color:#6b7280;font-size:.75rem}.mobile-brand-price{align-items:center;color:#10b981;display:flex;flex-shrink:0;flex-wrap:wrap;font-size:.9rem;font-weight:700;gap:.5rem;line-height:1.3;margin:0;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;white-space:nowrap;width:auto}.mobile-original-price{color:#9ca3af;font-size:.8rem;font-weight:500;text-decoration:line-through}.mobile-special-price{color:#10b981;font-size:.9rem;font-weight:700}.mobile-special-badge{background:#fef3c7;border-radius:4px;color:#92400e;font-size:.7rem;font-weight:600;padding:.125rem .375rem}.mobile-brand-details{border-top:1px solid #e5e7eb;margin-top:.75rem;padding-top:.75rem;width:100%}.mobile-special-deal-info{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem}.mobile-special-deal-text{color:#0369a1;font-size:.875rem;font-weight:600;line-height:1.4}.mobile-savings-badge{align-self:flex-start;background:#10b981;border-radius:6px;color:#fff;font-size:.75rem;font-weight:600;padding:.375rem .625rem}.ingredient-link-container.mobile-visible{display:flex!important}.mobile-dropdown-arrow{color:#6b7280;flex-shrink:0;font-size:.75rem;margin-left:.5rem;min-width:1rem;transition:transform .2s ease}.mobile-dropdown-arrow.up{transform:rotate(180deg)}.mobile-dropdown-options{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e5e7eb;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 12px #0000001a;left:0;max-height:60vh;overflow-y:auto;position:absolute;right:0;top:100%;z-index:100}.mobile-dropdown-option{-webkit-tap-highlight-color:transparent;align-items:center;border-bottom:1px solid #f3f4f6;box-sizing:border-box;cursor:pointer;display:flex;flex-wrap:nowrap;gap:.75rem;min-height:72px;overflow:hidden;padding:1rem .875rem;touch-action:manipulation;transition:background-color .2s ease;width:100%}.mobile-dropdown-option:last-child{border-bottom:none}.mobile-dropdown-option:active{background:#f9fafb}.mobile-dropdown-option.selected{background:#f0fdf4;border-left:4px solid #10b981}.mobile-option-image{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;flex-shrink:0;height:3.5rem;justify-content:center;overflow:hidden;width:3.5rem}.mobile-option-brand-image{height:100%;object-fit:cover;width:100%}.mobile-option-image-placeholder{align-items:center;color:#9ca3af;display:flex;height:100%;justify-content:center;width:100%}.mobile-placeholder-icon{font-size:.75rem}.mobile-option-details{display:flex;flex:1 1 auto;flex-direction:column;gap:.125rem;justify-content:center;min-width:0;overflow:hidden;width:0}.mobile-option-name{color:#111827;font-size:.8rem;font-weight:600;line-height:1.2}.mobile-option-brand,.mobile-option-name{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.mobile-option-brand{color:#6b7280;font-size:.7rem}.mobile-option-price{color:#10b981;flex-shrink:0;font-size:.8rem;font-weight:600;line-height:1.3;margin:0;min-width:-webkit-fit-content;min-width:fit-content;overflow:visible;white-space:nowrap;width:auto}.mobile-option-badges{align-items:center;display:flex;flex-shrink:0;gap:.25rem;margin-top:.125rem}.mobile-badge{border-radius:3px;font-size:.7rem;font-weight:500;padding:.125rem .25rem}.mobile-badge.preference{background:#fef3c7;color:#92400e}.mobile-badge.saved{background:#dbeafe;color:#1e40af}.mobile-badge.special-price{background:#fef2f2;color:#dc2626}.mobile-badge.multi-buy{background:#f0f9ff;color:#0369a1}.mobile-badge.special{background:#f0fdf4;color:#166534}.mobile-special-option{background:#f9fafb;border-left:3px solid #6b7280}.mobile-special-option:hover{background:#f3f4f6}.mobile-special-option:active{background:#e5e7eb}.mobile-special-option.see-all,.mobile-special-option.show-less{border-left-color:#10b981}.ingredients-grid-modern{gap:.75rem;grid-template-columns:1fr;margin-bottom:1rem}.cost-summary-modern{margin-top:1rem;padding:.75rem}.cupboard-stats-modern{gap:.5rem;grid-template-columns:1fr}.stat-item-modern{gap:.5rem;padding:.5rem}.stat-label-modern{font-size:.75rem}.stat-value-modern{font-size:.8rem}.cost-breakdown-modern{gap:.5rem}.cost-item-modern{padding:.5rem 0}.cost-label-modern{font-size:.8rem}.cost-item-modern.final-total .cost-label-modern{font-size:.9rem}.order-button-modern{-webkit-tap-highlight-color:transparent;font-size:.9rem;font-weight:600;margin-top:1rem;min-height:52px;padding:1rem;touch-action:manipulation}.order-button-modern:active{box-shadow:0 2px 8px #10b98133;transform:translateY(0)}.ingredient-card-modern:hover{box-shadow:0 2px 8px #0000000d;transform:none}.order-button-modern:hover{box-shadow:0 4px 12px #10b98133;transform:none}.ingredient-link-container{margin-top:.875rem;padding-top:.875rem}.ingredient-link-button{background:linear-gradient(135deg,#1e40af,#1e3a8a);border-radius:12px;box-shadow:0 2px 8px #1e40af40;color:#fff;font-size:.875rem;justify-content:center;min-height:48px;padding:.875rem 1.5rem;width:100%}.ingredient-link-button:hover{box-shadow:0 4px 12px #1e40af4d;transform:none}.ingredient-link-button:active,.ingredient-link-button:hover{background:linear-gradient(135deg,#1e3a8a,#172554);color:#fff}.ingredient-link-button:active{box-shadow:0 2px 8px #1e40af59;transform:scale(.98)}.ingredient-link-button svg{color:#fff;height:1.125rem;width:1.125rem}.ingredient-link-button:hover svg{color:#fff;transform:none}.ingredient-link-button span{color:#fff}.cupboard-notice-modern{border-radius:10px;margin-bottom:1rem;padding:.875rem}.notice-content{gap:.625rem}.notice-icon{flex-shrink:0;height:1.125rem;width:1.125rem}.notice-content p{font-size:.8125rem;line-height:1.4}.deselect-popup-overlay{align-items:flex-end;padding-bottom:0}.deselect-popup-drag-handle{display:block}.deselect-popup{-webkit-overflow-scrolling:touch;animation:popupSlideUpMobile .3s ease-out;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #00000026;margin:0;max-height:90vh;max-width:100%;overflow-y:auto;padding:1.5rem 1rem max(1rem,env(safe-area-inset-bottom));width:100%}@keyframes popupSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.deselect-popup-header{margin-bottom:1rem}.deselect-popup-header h3{font-size:1.125rem;font-weight:600}.deselect-popup-close{font-size:1.25rem;height:36px;min-height:36px;min-width:36px;width:36px}.deselect-popup-content{margin-bottom:1.25rem}.deselect-popup-content p{font-size:.9rem;line-height:1.5;margin-bottom:.75rem}.deselect-popup-actions{gap:.875rem}.deselect-popup-btn{font-size:.9rem;min-height:48px;padding:.875rem 1rem;touch-action:manipulation}}@media (max-width:375px){.mobile-dropdown-header{min-height:56px;padding:.625rem}.mobile-header-content{gap:.5rem}.mobile-brand-image-container{height:2.75rem;width:2.75rem}.mobile-brand-info{flex:1 1;gap:.125rem;min-width:0}.mobile-brand-name{font-size:.75rem;line-height:1.2}.mobile-brand-store{font-size:.65rem;line-height:1.1}.mobile-brand-price{font-size:.75rem;line-height:1.3}.mobile-dropdown-arrow{font-size:.7rem;margin-left:.25rem}.mobile-dropdown-option{gap:.625rem;min-height:64px;padding:.75rem .625rem}.mobile-option-image{height:2.5rem;width:2.5rem}.mobile-option-name{font-size:.7rem;line-height:1.2}.mobile-option-brand{font-size:.625rem;line-height:1.1}.mobile-option-price{font-size:.7rem;line-height:1.3}.mobile-option-details{flex:1 1;gap:.125rem;min-width:0}.deselect-popup-drag-handle{height:3px;margin-bottom:.875rem;width:32px}.deselect-popup{padding:1.25rem .875rem max(.875rem,env(safe-area-inset-bottom))}.deselect-popup-header{margin-bottom:.875rem}.deselect-popup-header h3{font-size:1rem}.deselect-popup-close{font-size:1.125rem;height:32px;min-height:32px;min-width:32px;width:32px}.deselect-popup-content{margin-bottom:1rem}.deselect-popup-content p{font-size:.85rem;margin-bottom:.625rem}.deselect-popup-actions{gap:.75rem}.deselect-popup-btn{font-size:.85rem;min-height:44px;padding:.75rem .875rem}}@media (max-width:480px){.mobile-ingredient-card{border-radius:10px;margin-bottom:.625rem;padding:.875rem .625rem}.mobile-ingredient-header{margin-bottom:.5rem}.mobile-ingredient-info{gap:.5rem}.mobile-checkbox,.mobile-checkmark{height:.875rem;width:.875rem}.mobile-checkbox:checked+.mobile-checkmark:after{font-size:.75rem}.mobile-ingredient-name{font-size:.8rem}.mobile-ingredient-amount{font-size:.7rem}.mobile-cupboard-badge{font-size:.7rem;padding:.2rem .4rem}.mobile-dropdown-header{min-height:60px;padding:.75rem}.mobile-header-content{align-items:center;gap:.625rem}.mobile-brand-image-container{flex-shrink:0;height:3.5rem;width:3.5rem}.mobile-brand-info{gap:.1875rem;min-width:0}.mobile-brand-name{font-size:.875rem;line-height:1.3}.mobile-brand-store{font-size:.75rem;line-height:1.2}.mobile-brand-price{font-size:.875rem;font-weight:700;line-height:1.4}.mobile-dropdown-arrow{flex-shrink:0;font-size:.875rem;margin-left:auto;padding-left:.5rem}.mobile-dropdown-options{max-height:55vh}.mobile-dropdown-option{gap:.625rem;min-height:68px;padding:.875rem .75rem}.mobile-option-image{flex-shrink:0;height:2.75rem;width:2.75rem}.mobile-option-name{font-size:.75rem;line-height:1.3}.mobile-option-brand{font-size:.65rem}.mobile-option-price{font-size:.75rem;font-weight:600}.mobile-option-details{min-width:0}.mobile-badge{font-size:.7rem;padding:.125rem .25rem}.mobile-ingredient-card{box-sizing:border-box;margin-bottom:.75rem;padding:.875rem .75rem;width:100%}.mobile-ingredient-info{gap:.75rem}.modern-recipe-costs{background:#0000!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;max-width:100%!important}.ingredients-grid-modern,.modern-recipe-costs{margin:0!important;padding:0!important;width:100%!important}.ingredients-grid-modern{box-sizing:border-box;gap:.5rem}.ingredient-card-modern,.mobile-ingredient-card{border-radius:0!important}.mobile-checkbox{height:1.125rem;min-height:22px;min-width:22px;width:1.125rem}.mobile-checkmark{align-items:center;display:flex;height:1.125rem;justify-content:center;width:1.125rem}.mobile-checkbox:checked+.mobile-checkmark:after{color:#fff;content:"✓";font-size:.875rem;font-weight:700;left:50%;line-height:1;position:absolute;top:50%;transform:translate(-50%,-50%)}.mobile-ingredient-name{font-size:.875rem}.mobile-ingredient-amount{font-size:.75rem}.mobile-cupboard-badge{font-size:.75rem;padding:.25rem .5rem}.cost-summary-modern{border-radius:12px;margin-top:.875rem;padding:.875rem}.cupboard-stats-modern{gap:.625rem;margin-bottom:1rem}.stat-item-modern{min-height:48px;padding:.625rem}.cost-breakdown-modern{gap:.75rem}.cost-item-modern{min-height:44px;padding:.75rem 0}.cost-label-modern{font-size:.875rem}.cost-item-modern.final-total{margin-top:.75rem;padding:1rem}.cost-item-modern.final-total .cost-label-modern{font-size:1rem}.final-price-modern{font-size:1.125rem}.savings-amount-modern{font-size:.875rem}.order-button-modern{border-radius:12px;font-size:.875rem;margin-top:1rem;min-height:48px;padding:.875rem 1rem}.ingredient-link-button{background:linear-gradient(135deg,#1e40af,#1e3a8a);color:#fff;font-size:.8125rem;min-height:44px;padding:.75rem 1.25rem}.ingredient-link-button:hover{background:linear-gradient(135deg,#1e3a8a,#172554);color:#fff}.ingredient-link-button svg{color:#fff;height:1rem;width:1rem}.ingredient-link-button span{color:#fff}.deselected-ingredients-section{margin-top:1rem;padding-top:1rem}.deselected-title{font-size:.875rem;margin-bottom:.625rem}.deselected-ingredients-list{gap:.5rem}.deselected-ingredient-item{font-size:.8rem;min-height:36px;padding:.5rem .875rem}}.recipe-details-container{background:linear-gradient(to bottom right,#fff7ed,#ffedd5);color:#374151;font-family:Inter,sans-serif!important;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem;position:relative}.recipe-loading-container{align-items:center;animation:backgroundShift 3s ease-in-out infinite;background:linear-gradient(135deg,#fff7ed,#ffedd5);border-radius:12px;display:flex;justify-content:center;margin:2rem auto;max-width:600px;min-height:60vh;overflow:hidden;position:relative}.recipe-loading-container:before{animation:backgroundShift 8s ease-in-out infinite;background-image:radial-gradient(circle at 20% 80%,#7877c61a 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffb1991a 0,#0000 50%),radial-gradient(circle at 40% 40%,#78c8781a 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes backgroundShift{0%,to{opacity:.3}50%{opacity:.6}}.recipe-error-container{align-items:center;background:linear-gradient(135deg,#fff5f5,#fed7d7);bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;min-height:100vh;padding:20px;position:fixed;right:0;top:0;z-index:9999}.error-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:40px;position:relative;text-align:center;width:100%;z-index:1}.error-icon{animation:wiggle 2s ease-in-out infinite}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.error-title{color:#e53e3e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.8rem;font-weight:600;margin-bottom:15px}.error-message{color:#666;line-height:1.5;margin-bottom:30px}.error-message,.error-return-button{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.1rem}.error-return-button{background:linear-gradient(135deg,#4299e1,#3182ce);border:none;border-radius:25px;box-shadow:0 4px 15px #4299e14d;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.error-return-button:hover{background:linear-gradient(135deg,#3182ce,#2c5282);box-shadow:0 6px 20px #4299e166;transform:translateY(-2px)}.error-return-button:active{transform:translateY(0)}.recipe-header{background-color:#fff;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 4px 16px #ea580c26;margin-bottom:2rem;padding:2rem;text-align:center}.recipe-title{font-family:Crimson Text,serif!important;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}.recipe-creator{color:#6b7280;font-style:italic;margin-bottom:.5rem}.recipe-creator,.recipe-servings{font-family:Inter,sans-serif!important}.recipe-servings{background-color:#fff7ed;border-radius:8px;color:#111827;display:inline-block;font-weight:500;margin-bottom:1.5rem;padding:.75rem 1rem}.action-buttons{flex-direction:column;gap:.5rem;margin-top:1rem}.action-button,.action-buttons{align-items:center;display:flex;justify-content:center;width:100%}.action-button{border:none;border-radius:8px;cursor:pointer;font-family:Inter,sans-serif!important;font-size:.85rem;font-weight:600;gap:.4rem;letter-spacing:-.005em;max-width:180px;padding:.6rem 1.25rem;transition:all .3s ease}.edit-button{background-color:#2563eb;color:#fff}.edit-button:hover{background-color:#1d4ed8;box-shadow:0 4px 8px #2563eb33;transform:translateY(-1px)}.delete-button{background-color:#dc2626;color:#fff}.delete-button:hover{background-color:#b91c1c;box-shadow:0 4px 8px #dc262633;transform:translateY(-1px)}.favorite-button{cursor:pointer;margin:0!important;padding:0!important;transition:transform .3s ease}.favorite-button,.favorite-button:hover{background:none!important;border:none!important;box-shadow:none!important;outline:none!important}.favorite-button:hover{transform:scale(1.1)}.favorite-button:focus{box-shadow:none!important;outline:none!important}button.favorite-button{border:none!important;border-radius:0!important;margin:0!important;padding:0!important}button.favorite-button,button.favorite-button:hover{background:none!important;box-shadow:none!important;outline:none!important}button.favorite-button:hover{border:none!important}.heart-icon,button.favorite-button:active,button.favorite-button:focus{background:none!important;border:none!important;box-shadow:none!important;outline:none!important}.heart-icon{color:#e74c3c;height:24px;transition:all .3s ease;width:24px}.heart-icon.filled{fill:#e74c3c}.heart-icon.filled,.heart-icon.outline{stroke:#e74c3c;background:none!important;border:none!important}.heart-icon.outline{fill:none;stroke-width:2}.recipe-image-container{border-radius:12px;margin:20px 0;overflow:hidden;width:100%}.recipe-image{display:block;height:auto}.recipe-section{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:16px;box-shadow:0 4px 20px #00000014;margin:24px 0;overflow:hidden;padding:0;transition:all .3s ease;width:100%}.collapsible-section{padding:0}.section-toggle-button{align-items:center;background:linear-gradient(135deg,#556486,#0d2047);border:none;border-radius:0;cursor:pointer;display:flex;justify-content:space-between;margin:0;overflow:hidden;padding:24px 28px;position:relative;text-align:left;transition:all .3s ease;width:100%}.section-toggle-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.section-toggle-button:active:before{left:100%}.section-toggle-button:focus{box-shadow:0 0 0 6px #ffd7004d;outline:3px solid gold;outline-offset:2px}.section-toggle-button:active{box-shadow:0 2px 10px #0003;transform:scale(.98)}.collapsible-section .section-title{border:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:600;letter-spacing:.5px;margin:0;padding:0;text-align:left}.collapsible-section .section-title,.toggle-icon{color:#fff;font-size:1.4em;text-shadow:0 1px 2px #0000001a}.toggle-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:50%;display:flex;font-weight:700;height:32px;justify-content:center;margin-left:15px;min-width:24px;text-align:center;transition:all .3s ease;width:32px}.toggle-icon.expanded{background:#ffffff4d}.toggle-icon.collapsed{background:#fff3;transform:rotate(0deg)}.section-toggle-button[aria-expanded=true]{background:linear-gradient(135deg,#111827,#111827)}.section-toggle-button[aria-expanded=true] .section-title:after{content:" (Expanded)";font-size:.8em;font-weight:400;opacity:.8}.section-toggle-button[aria-expanded=false]{background:linear-gradient(135deg,#111827,#2f477c)}.section-toggle-button[aria-expanded=false] .section-title:after{content:" (Tap to expand)";font-size:.8em;font-weight:400;opacity:.8}@media (prefers-contrast:high){.section-toggle-button{background:#000!important;border:2px solid #fff}.collapsible-section .section-title,.toggle-icon{color:#fff!important}.recipe-section{border:3px solid #000}}@media (prefers-reduced-motion:reduce){.ingredients-list,.instruction-item,.instructions-list,.section-toggle-button,.toggle-icon{animation:none!important;transition:none!important}.instruction-item:hover,.section-toggle-button:active{transform:none!important}}.ingredients-list{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#f8f9fa,#fff);box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;list-style:none;margin:0;padding:25px;width:100%}.ingredient-item{align-items:center;background-color:#fff;border-radius:10px;box-shadow:0 2px 4px #0000000d;font-family:Perpetua Titling MT;font-style:normal;gap:20px;margin-bottom:15px;padding:16px 20px;transition:all .3s ease}.ingredient-item:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.ingredient-amount{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;font-family:Perpetua Titling MT;font-style:normal;justify-content:flex-end;min-width:140px;padding:12px 20px}.ingredient-amount .amount{color:#2c3e50;font-size:1.1em;font-weight:700;margin-right:8px}.ingredient-amount .amount,.ingredient-amount .unit{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.ingredient-amount .unit{color:#666;font-size:1em;font-weight:500}.ingredient-name{background-color:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;color:#2c3e50;flex-grow:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.1em;font-weight:600;padding:12px 20px}.ingredient-item:before{display:none}.instructions-list{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#f8f9fa,#fff);box-sizing:border-box;counter-reset:instruction;list-style:none;margin:0;padding:25px}.instruction-item,.instructions-list{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.instruction-item{background:linear-gradient(135deg,#fff,#f8f9fa);border-left:4px solid #111827;border-radius:12px;box-shadow:0 3px 8px #00000014;color:#2c3e50;font-size:1.05em;line-height:1.6;margin-bottom:16px;padding:18px 18px 18px 55px;position:relative;transition:all .2s ease}.instruction-item:hover{box-shadow:0 4px 12px #0000001f;transform:translateX(2px)}.instruction-item:before{background:linear-gradient(135deg,#111827,#0d275f);border-radius:50%;box-shadow:0 2px 6px #4a7c594d;color:#fff;content:counter(instruction);counter-increment:instruction;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:.9em;font-weight:700;height:28px;left:15px;position:absolute;top:50%;transform:translateY(-50%);width:28px}.instruction-item:before,.serving-selector{align-items:center;display:flex;justify-content:center}.serving-selector{background-color:#f8f9fa;border-radius:8px;gap:15px;margin:20px 0;padding:15px}.serving-input{border:2px solid #141719;border-radius:4px;font-family:Perpetua Titling MT;font-size:1.1em;font-style:normal;padding:8px;text-align:center;width:80px}.recipe-cost-section{background-color:#f8f9fa;border-radius:12px;box-shadow:0 2px 8px #0000000d;box-sizing:border-box;margin:30px 0;padding:20px;width:100%}.loading-cost-container{align-items:center;background-color:#fff;border-radius:8px;display:flex;justify-content:center;margin:20px 0;padding:40px 20px}.recipe-price-details-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000000d;margin-top:20px;overflow:hidden}.calculate-cost-button{background:linear-gradient(135deg,#ea580c,#d47558);border-radius:16px;box-shadow:0 4px 20px #ff8a654d;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.4em;font-weight:600;letter-spacing:.5px;margin:0 0 20px;overflow:hidden;padding:24px 28px;position:relative;text-shadow:0 1px 2px #0000001a;transition:all .3s ease;width:100%}.calculate-cost-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.calculate-cost-button:active:before{left:100%}.calculate-cost-button:hover{background:linear-gradient(135deg,#ff7043,#ff8a65);box-shadow:0 6px 25px #ff8a6566;transform:translateY(-2px)}.calculate-cost-button:active{box-shadow:0 2px 10px #ea580c4d;transform:scale(.98)}.calculate-cost-button:focus{box-shadow:0 0 0 6px #ffd7004d;outline:3px solid gold;outline-offset:2px}.save-preferences-button{background-color:#111827;border-radius:8px;box-sizing:border-box;font-family:Perpetua Titling MT;font-size:1em;font-style:normal;font-weight:600;margin:10px 0;padding:12px 24px;transition:all .3s ease;width:100%}.save-preferences-button:hover:not(:disabled){background-color:#111827;transform:translateY(-2px)}.save-preferences-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7;transform:none}@media (max-width:768px){.recipe-details-container{box-sizing:border-box;margin:0;max-width:100%;min-height:100vh;padding:1rem 1rem 120px;width:100%}.recipe-title{word-wrap:break-word;font-size:1.8rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;margin-bottom:.75rem}.recipe-header{border-radius:8px;box-shadow:0 2px 8px #ea580c1a;margin-bottom:1.5rem;padding:1.5rem 1rem;text-align:center}.recipe-creator{font-size:.9rem;line-height:1.3;margin-bottom:.75rem}.recipe-servings{word-wrap:break-word;display:inline-block;font-size:.9rem;margin-bottom:1rem;max-width:100%;padding:.5rem .75rem}.recipe-image-container{border-radius:8px;height:auto;margin:1rem 0;max-height:none;overflow:hidden}.recipe-image{height:auto;max-height:250px;object-fit:cover;width:100%}.action-buttons{align-items:center;flex-direction:column;gap:.5rem;margin-bottom:.75rem;margin-top:.75rem;width:100%}.action-button{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;box-sizing:border-box;display:flex;font-size:.9rem;font-weight:600;justify-content:center;max-width:200px;min-height:48px;padding:.75rem 1.5rem;touch-action:manipulation;width:100%}.recipe-badges{flex-wrap:wrap;gap:.5rem;margin:1rem 0}.badge,.recipe-badges{justify-content:center}.badge{align-items:center;border-radius:16px;display:flex;font-size:.8rem;min-height:32px;padding:.5rem .75rem;touch-action:manipulation}.recipe-categories{flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1rem 0}.category-tag{word-wrap:break-word;align-items:center;border-radius:16px;display:flex;font-size:.8rem;justify-content:center;max-width:100%;min-height:32px;padding:.5rem .75rem;touch-action:manipulation}.recipe-section{border-radius:8px;box-shadow:0 2px 8px #0000000d;margin:1rem 0}.section-toggle-button{-webkit-tap-highlight-color:transparent;border-radius:8px 8px 0 0;font-size:.95rem;min-height:56px;padding:1rem 1.25rem;touch-action:manipulation}.collapsible-section .section-title{font-size:1.1rem;letter-spacing:.3px;line-height:1.3}.toggle-icon{border-radius:50%;font-size:1.1rem;height:28px;min-width:28px;width:28px}.ingredients-list,.instructions-list{padding:1rem}.ingredient-item{align-items:stretch;flex-direction:column;gap:.5rem;margin-bottom:.75rem;padding:.75rem 0}.ingredient-amount{justify-content:center;min-width:auto}.ingredient-amount,.ingredient-name{border-radius:6px;font-size:.9rem;padding:.5rem .75rem}.ingredient-name{text-align:center}.instruction-item{font-size:.95rem;line-height:1.5;margin-bottom:.75rem;padding:1rem 1rem 1rem 3rem}.instruction-item:before{font-size:.8rem;height:24px;left:.75rem;width:24px}.recipe-cost-section{border-radius:8px;margin:1rem 0 2rem;padding:1rem}.calculate-cost-button{font-size:1.1rem;min-height:56px}.calculate-cost-button,.save-preferences-button{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;box-sizing:border-box;display:flex;font-weight:600;justify-content:center;margin-bottom:1rem;padding:1rem 1.25rem;touch-action:manipulation;width:100%}.save-preferences-button{font-size:1rem;min-height:48px}.serving-selector{border-radius:8px;gap:1rem;margin:1rem 0;padding:1rem}.serving-input{border-radius:6px;font-size:1rem;min-height:44px;padding:.5rem;touch-action:manipulation}.recipe-suggestions{margin-bottom:2rem}.action-button,.calculate-cost-button,.error-return-button,.save-preferences-button{border-radius:8px;box-sizing:border-box;font-weight:600}.action-button,.calculate-cost-button,.error-return-button,.favorite-button,.save-preferences-button{-webkit-tap-highlight-color:transparent;align-items:center;display:flex;justify-content:center;min-height:48px;touch-action:manipulation}.favorite-button{min-width:48px}.heart-icon{height:28px;width:28px}.recipe-error-container,.recipe-loading-container{border-radius:8px;margin:1rem;padding:1rem}.error-content{border-radius:8px;padding:1.5rem}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{font-size:1.4rem;margin-bottom:1rem}.error-message{font-size:1rem;margin-bottom:1.5rem}.error-return-button{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:8px;display:flex;font-size:1rem;justify-content:center;min-height:48px;padding:1rem 1.5rem;touch-action:manipulation}}@media (min-width:769px){.recipe-details-container{margin:20px auto}}@media (max-width:480px){.recipe-details-container{margin:0;max-width:100%;padding:.75rem .75rem 100px;width:100%}.recipe-title{font-size:1.5rem;line-height:1.2;margin-bottom:.5rem}.recipe-header{border-radius:6px;margin-bottom:1rem;padding:1rem .75rem;text-align:center}.recipe-creator{font-size:.85rem;margin-bottom:.5rem}.recipe-servings{font-size:.85rem;margin-bottom:.75rem;padding:.4rem .6rem}.action-buttons{align-items:center;flex-direction:column;gap:.5rem;margin-bottom:.75rem;margin-top:.75rem;width:100%}.action-button{border-radius:6px;font-size:.85rem;max-width:180px;min-height:44px;padding:.75rem 1.25rem;width:100%}.recipe-error-container,.recipe-loading-container{margin:.75rem;padding:.75rem}.error-content{padding:1rem}.error-icon{font-size:2.5rem;margin-bottom:.75rem}.error-title{font-size:1.2rem;margin-bottom:.75rem}.error-message{font-size:.9rem;margin-bottom:1rem}.error-return-button{font-size:.9rem;min-height:44px;padding:.75rem 1rem}.recipe-section{border-radius:6px;margin:.75rem 0}.section-toggle-button{font-size:.85rem;min-height:48px;padding:.75rem 1rem}.collapsible-section .section-title,.toggle-icon{font-size:1rem}.toggle-icon{height:24px;min-width:24px;width:24px}.ingredients-list,.instructions-list{padding:.75rem}.ingredient-item{font-size:.85rem;margin-bottom:.5rem;padding:.5rem 0}.ingredient-amount{font-size:.8rem;padding:.4rem .6rem}.ingredient-name{font-size:.85rem;padding:.4rem .6rem}.instruction-item{font-size:.85rem;margin-bottom:.5rem;padding:.75rem .75rem .75rem 2.5rem}.instruction-item:before{font-size:.7rem;height:20px;left:.5rem;width:20px}.recipe-cost-section{margin:.75rem 0 1.5rem;padding:.75rem}.calculate-cost-button{font-size:1rem;margin-bottom:.75rem;min-height:48px;padding:.75rem 1rem}.save-preferences-button{font-size:.9rem;margin-bottom:.75rem;min-height:44px;padding:.75rem 1rem}.section-toggle-button{border-radius:6px 6px 0 0}.section-toggle-button:active{transform:scale(.98)}.action-button,.calculate-cost-button,.error-return-button,.save-preferences-button{border-radius:6px;min-height:44px;padding:.75rem 1rem}.favorite-button{min-height:44px;min-width:44px}.heart-icon{height:24px;width:24px}.serving-input{font-size:.9rem;min-height:40px;padding:.4rem .6rem}.serving-selector{gap:.75rem;margin:.75rem 0;padding:.75rem}.recipe-badges{gap:.4rem;margin:.75rem 0}.badge{border-radius:12px;font-size:.75rem;min-height:28px;padding:.4rem .6rem}.recipe-categories{gap:.4rem;margin:.75rem 0}.category-tag{border-radius:12px;font-size:.75rem;min-height:28px;padding:.4rem .6rem}.recipe-image-container{border-radius:6px;margin:.75rem 0}.recipe-image{max-height:200px}}.recipe-badges{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:15px 0}.badge{align-items:center;border-radius:20px;display:flex;font-size:.9rem;font-weight:500;gap:6px;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase;transition:all .3s ease}.badge:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.vegan-badge{background-color:#4caf50;color:#fff}.vegan-badge:before{content:"🌱";font-size:1.1em}.vegetarian-badge{background-color:#8bc34a;color:#fff}.vegetarian-badge:before{content:"🥗";font-size:1.1em}.recipe-categories{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:15px 0}.category-tag{align-items:center;background-color:#f0f0f0;border:2px solid #0000;border-radius:20px;color:#333;display:flex;font-size:.9rem;gap:6px;padding:8px 16px;transition:all .3s ease}.category-tag:hover{background-color:#e0e0e0;border-color:#000;box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.category-tag[data-category=breakfast]:before{content:"🍳"}.category-tag[data-category=baked]:before{content:"🥖"}.category-tag[data-category=braai]:before{content:"🔥"}.category-tag[data-category="quick and easy"]:before{content:"⚡"}.category-tag[data-category="family meal"]:before{content:"👨‍👩‍👧‍👦"}.category-tag[data-category="meal prep"]:before{content:"🥡"}.category-tag[data-category="fine dining"]:before{content:"🍽️"}.ingredient-prices-container{background-color:#f8f9fa;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:20px}.ingredient-brand-selection{margin-bottom:20px}.ingredient-brand-selection h4{border-bottom:1px solid #dee2e6;color:#343a40;margin-bottom:10px;padding-bottom:5px}.brands-table{border-collapse:collapse;margin-top:10px;width:100%}.brands-table th{background-color:#e9ecef;color:#495057;font-weight:600;padding:10px;text-align:left}.brands-table td{border-bottom:1px solid #dee2e6;padding:10px}.brands-table tr.selected-brand{background-color:#e8f4fd}.preference-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:6px 12px;transition:background-color .2s}.preference-button:hover{background-color:#0069d9}.preferred-badge{color:#ffc107;font-size:1.1rem;margin-right:5px}.recipe-cost-section{background-color:#e9ecef;border-radius:8px;margin:20px 0;padding:15px;text-align:center}.recipe-cost-section h2{color:#212529;margin:0}.calculate-cost-button{background-color:#ea580c;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:1rem;margin:20px auto;padding:10px 20px;transition:background-color .2s}.calculate-cost-button:hover{background-color:#c2410c}.save-all-preferences-button{display:block;font-weight:700;margin:20px auto;padding:12px 24px;transition:background-color .3s,transform .2s}.save-all-preferences-button:hover:not(:disabled){background-color:#111827;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.save-all-preferences-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.preference-info{font-size:.9rem;margin:10px auto 5px;max-width:500px}.save-all-preferences-container{align-items:center;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;margin-top:24px;padding:16px}.save-all-preferences-button{background-color:#111827;border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .2s ease}.save-all-preferences-button:hover{background-color:#218838;box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.preference-info{color:#6c757d;font-size:14px;font-style:italic;margin-top:12px;text-align:center}.ingredients-with-brands{margin-top:20px}.ingredient-options{border-bottom:1px solid #eee;margin-bottom:16px;padding-bottom:16px}.brand-options{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.brand-option{align-items:center;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;padding:10px;transition:background-color .2s ease}.brand-option:hover{background-color:#f9f9f9}.brand-option.selected{background-color:#e7f5ff;border-color:#4dabf7}.brand-option.preferred{background-color:#f8f9fa;border-color:#ffc107}.brand-option.selected.preferred{background-color:#e7f5ff;border-color:#4dabf7;border-left:4px solid #ffc107}.brand-name{flex:2 1;font-weight:600}.brand-company{color:#6c757d;flex:1 1;font-size:14px;font-style:italic}.brand-price{color:#111827;flex:1 1;font-weight:600;text-align:right}.brand-savings{color:#dc3545;font-size:14px}.brand-savings,.preferred-label{font-weight:600;margin-left:12px}.preferred-label{background-color:#ffc107;border-radius:12px;color:#212529;font-size:12px;padding:2px 8px}.set-preferred-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;margin-left:auto;padding:5px 10px}.set-preferred-btn:hover{background-color:#0069d9}.save-all-preferences-button.standalone{background-color:#111827;border:none;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;display:block;font-size:16px;font-weight:600;margin:20px auto;padding:10px 20px;transition:background-color .3s;width:auto}.save-all-preferences-button.standalone:before{content:"";margin-right:0}.save-all-preferences-button.standalone:hover:not(:disabled){background-color:#218838}.save-all-preferences-button.standalone:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.save-preferences-section{background-color:#fff3e0;border-left:5px solid #ff9800;border-radius:10px;box-shadow:0 4px 10px #0000001a;margin:30px 0;padding:20px}.save-preferences-info{color:#333;font-size:16px;line-height:1.5;margin-bottom:20px;text-align:center}.save-preferences-info strong{color:#e65100;font-weight:700}.save-preferences-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-weight:700;margin:20px auto;padding:10px 20px}.save-preferences-button:hover{background-color:#0056b3}.recipe-header{align-items:center;display:flex;flex-direction:column}.recipe-header .action-buttons{align-items:center;display:flex;flex-direction:column!important;gap:.5rem;justify-content:center;width:100%}.recipe-header .action-buttons>*{max-width:180px;width:100%}.recipe-header .favorite-button{align-items:center;display:flex;justify-content:center;max-width:220px;width:100%}.recipe-header .recipe-servings{display:block;margin-bottom:.5rem!important;margin-left:auto;margin-right:auto}@media (max-width:480px){.recipe-header .action-buttons>*{max-width:160px}.recipe-header .recipe-servings{margin-bottom:.4rem!important}}.recipe-header .recipe-badges{margin-bottom:.25rem!important;margin-top:.5rem!important}.recipe-header .recipe-categories{margin-bottom:.75rem!important;margin-top:.25rem!important}.recipe-header .action-buttons{margin-top:.5rem}.instructional-roadmap-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;margin-bottom:30px;padding:20px}.roadmap-title{color:#495057;font-size:1.4rem;gap:8px;justify-content:center;margin-bottom:20px;text-align:center}.roadmap-steps{gap:20px}.roadmap-step{align-items:flex-start;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:15px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.roadmap-step:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.roadmap-step-number{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border-radius:50%;box-shadow:0 2px 4px #007bff4d;color:#fff;display:flex;flex-shrink:0;font-size:1.1rem;font-weight:700;height:40px;justify-content:center;width:40px}.roadmap-content{flex:1 1;min-width:0}.roadmap-image{margin-bottom:10px}.roadmap-image img{border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.roadmap-image img:hover{transform:scale(1.02)}.roadmap-instruction{color:#495057;font-size:1rem;font-weight:500;line-height:1.6}.roadmap-metadata{border-top:1px solid #dee2e6;margin-top:15px;padding-top:15px;text-align:center}.traditional-instructions-section{margin-top:30px}.instructions-title{align-items:center;color:#495057;display:flex;font-size:1.3rem;font-weight:600;gap:8px;margin-bottom:15px}@media (max-width:768px){.instructional-roadmap-section{margin-bottom:20px;padding:15px}.roadmap-title{font-size:1.2rem}.roadmap-step{flex-direction:column;gap:10px;text-align:center}.roadmap-step-number{align-self:center}.roadmap-image img{height:auto;max-width:100%}}.roadmap-step{animation:fadeInUp .5s ease forwards}.roadmap-step:first-child{animation-delay:.1s}.roadmap-step:nth-child(2){animation-delay:.2s}.roadmap-step:nth-child(3){animation-delay:.3s}.roadmap-step:nth-child(4){animation-delay:.4s}.roadmap-step:nth-child(5){animation-delay:.5s}.roadmap-loading{align-items:center;color:#6c757d;display:flex;justify-content:center;padding:40px}.roadmap-loading .spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:20px;margin-right:10px;width:20px}.modern-recipe-details{background:#fafafa;min-height:100vh}.recipe-back-navbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d;display:flex;height:56px;left:0;padding:.75rem 1rem;position:fixed;right:0;top:80px;z-index:9998}@media (min-width:769px){.recipe-back-navbar{display:none}}.recipe-back-button{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;border-radius:8px;color:#111827;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.recipe-back-button:active{background:#f3f4f6;transform:scale(.98)}.recipe-back-button:hover{background:#f9fafb}.back-icon{stroke-width:2.5;height:1.5rem;width:1.5rem}.back-text{font-size:.95rem;font-weight:500}.recipe-hero{background:linear-gradient(135deg,#fef3c7,#fed7aa);overflow:hidden;padding:2rem 0;position:relative}.recipe-hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.3;position:absolute;right:0;top:0}.recipe-hero-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr;position:relative;z-index:1}@media (max-width:768px){.recipe-hero-content{gap:2rem;grid-template-columns:1fr}}.recipe-image-section{position:relative}.recipe-main-image{border-radius:16px;box-shadow:0 8px 32px #0000001f;height:400px;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-main-image:hover{transform:scale(1.02)}.recipe-actions-overlay{display:flex;flex-direction:column;gap:.5rem;position:absolute;right:1rem;top:1rem}.action-button-plus{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:50%;cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .3s ease;width:48px}.action-button-plus:hover{background:#fff;transform:scale(1.1)}.action-button-plus.saved{background:#ef4444e6;color:#fff}.action-button-plus .plus-icon{stroke:#000;transition:all .3s ease}.action-button-plus.saved .plus-icon{stroke:#fff}.action-button-plus:hover .plus-icon{stroke:#000}.action-button-plus.saved:hover .plus-icon{stroke:#fff}.owner-actions{display:flex;flex-direction:column;gap:.5rem}.action-button-delete,.action-button-edit{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .3s ease}.action-button-edit:hover{background:#22c55ee6;color:#fff}.action-button-delete:hover{background:#ef4444e6;color:#fff}.recipe-info{padding:1rem 0}.recipe-meta{justify-content:space-between;margin-bottom:1.5rem}.recipe-author{gap:.75rem}.author-avatar,.recipe-author{align-items:center;display:flex}.author-avatar{background:#e5e7eb;border-radius:50%;height:2rem;justify-content:center;overflow:hidden;width:2rem}.author-avatar .profile-picture-container{height:100%;width:100%}.author-avatar .profile-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.author-info{display:flex;flex-direction:column}.author-name{color:#111827;font-size:.875rem;font-weight:600}.author-label{color:#6b7280;font-size:.75rem}.recipe-stats{display:flex;gap:1rem}.stat-item{align-items:center;color:#6b7280;font-size:.875rem;gap:.5rem}.recipe-title{color:#111827;font-family:Crimson Text,serif;font-size:2.5rem;line-height:1.2;margin-bottom:1.5rem}@media (max-width:768px){.recipe-title{font-size:2rem}}.dietary-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.dietary-badge{align-items:center;border-radius:20px;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.dietary-badge.vegan{background:#dcfce7;border:1px solid #bbf7d0;color:#166534}.dietary-badge.vegetarian{background:#fef3c7;border:1px solid #fde68a;color:#92400e}.category-badge{background:#dbeafe;border-radius:20px;color:#1e40af;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.recipe-nutrition-compact{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-top:1.5rem;overflow:hidden;padding:0}.nutrition-compact-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.875rem 1.25rem;text-align:left;transition:background-color .2s ease;width:100%}.nutrition-compact-header:hover{background:#f9fafb}.nutrition-compact-title{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.nutrition-toggle-icon{color:#6b7280;flex-shrink:0;height:1.25rem;margin-left:.75rem;transition:transform .3s ease;width:1.25rem}.nutrition-toggle-icon.expanded{transform:rotate(180deg)}.nutrition-compact-grid{grid-gap:1rem;animation:slideDown .3s ease-out;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);padding:0 1.25rem 1.25rem}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:1000px;opacity:1;transform:translateY(0)}}.nutrition-compact-item{align-items:center;background:#f9fafb;border-radius:12px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s ease}.nutrition-compact-item:hover{background:#f3f4f6;transform:translateY(-1px)}.nutrition-icon{align-items:center;background:linear-gradient(135deg,#fef3c7,#fed7aa);border-radius:10px;color:#92400e;display:flex;flex-shrink:0;height:2.5rem;justify-content:center;width:2.5rem}.nutrition-compact-content{display:flex;flex:1 1;flex-direction:column;min-width:0}.nutrition-compact-value{color:#111827;font-size:1.125rem;font-weight:700;line-height:1.2}.nutrition-compact-label{color:#6b7280;font-size:.75rem;font-weight:500;letter-spacing:.025em;margin-top:.125rem;text-transform:uppercase}@media (max-width:768px){.nutrition-compact-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}.nutrition-compact-item{gap:.5rem;padding:.625rem}.nutrition-icon{height:2rem;width:2rem}.nutrition-icon svg{height:1rem;width:1rem}.nutrition-compact-value{font-size:1rem}.nutrition-compact-label{font-size:.6875rem}}.recipe-nutrition-breakdown{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-top:1rem;overflow:hidden;padding:0}.nutrition-breakdown-header{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;justify-content:space-between;padding:.875rem 1.25rem;text-align:left;transition:background-color .2s ease;width:100%}.nutrition-breakdown-header:hover{background:#f9fafb}.nutrition-breakdown-title{color:#6b7280;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin:0;text-transform:uppercase}.nutrition-breakdown-content{animation:slideDown .3s ease-out;padding:0 1.25rem 1.25rem}.breakdown-ingredient-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1rem;padding:1rem}.breakdown-ingredient-item:last-child{margin-bottom:0}.breakdown-ingredient-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.75rem}.breakdown-ingredient-name{color:#111827;flex:1 1;font-size:1rem;font-weight:600}.breakdown-ingredient-amount{color:#6b7280;font-size:.875rem;font-weight:500}.breakdown-grams{color:#9ca3af;font-size:.8125rem;margin-left:.25rem}.breakdown-nutrition-section{background:#fff;border-radius:8px;padding:.75rem;width:100%}.breakdown-section-title{border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;padding-bottom:.5rem;text-transform:uppercase}.breakdown-values{display:flex;flex-direction:column;gap:.375rem}.breakdown-value-item{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.breakdown-label{color:#6b7280;font-weight:500}.breakdown-value{color:#111827;font-weight:600}.breakdown-no-data{color:#9ca3af;font-size:.875rem;font-style:italic;padding:.75rem;text-align:center}@media (max-width:768px){.breakdown-ingredient-header{align-items:flex-start;flex-direction:column;gap:.5rem}.breakdown-ingredient-amount{font-size:.8125rem}}.modern-cost-section,.modern-ingredients-section,.modern-instructions-section,.modern-serving-section{padding:3rem 0}@media (max-width:768px){.modern-cost-section{padding:0!important}}.modern-ingredients-section{background:#fff}.modern-instructions-section{background:#f9fafb}.modern-cost-section{background:#fff}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.section-title{color:#111827;font-family:Inter,sans-serif;font-size:1.875rem;font-weight:700}.toggle-button{align-items:center;background:#1e40af26;border:1px solid #1e40af4d;border-radius:8px;color:#1e40af;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1rem;transition:all .3s ease}.toggle-button:hover{background:#1e40af40;border-color:#1e40af80;box-shadow:0 4px 12px #1e40af33;color:#1e3a8a;transform:translateY(-1px)}.toggle-icon{height:1.25rem;transition:transform .3s ease;width:1.25rem}.toggle-icon.expanded{transform:rotate(180deg)}.ingredients-content{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:2rem}.ingredients-photo-section{margin-bottom:2rem}.photo-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.photo-container{text-align:center}.ingredients-photo{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 16px #0000001a;cursor:pointer;height:auto;max-height:400px;max-width:100%;transition:all .3s ease}.ingredients-photo:hover{box-shadow:0 8px 24px #00000026;transform:scale(1.02)}.photo-caption{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.5rem}.ingredients-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.ingredient-card{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.ingredient-card:hover{background:#f3f4f6;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.ingredient-amount{align-items:center;display:flex;flex-direction:column;min-width:80px}.amount{color:#111827;font-size:1.25rem;font-weight:700}.unit{color:#6b7280;font-size:.875rem;text-transform:lowercase}.ingredient-name{color:#111827;flex:1 1;font-size:1rem;margin-left:1rem}.ingredient-display-text{color:#111827;flex:1 1;font-size:1.05rem;font-weight:500;line-height:1.6;padding:.25rem 0}.ingredient-prep{color:#6b7280;font-size:.9rem;font-style:italic;font-weight:400}.instructions-content{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000d;padding:2rem}.roadmap-section{margin-bottom:2rem}.roadmap-header{justify-content:space-between;margin-bottom:1.5rem}.roadmap-header,.roadmap-title{align-items:center;display:flex}.roadmap-title{color:#111827;font-size:1.25rem;font-weight:600;gap:.75rem}.roadmap-meta{display:flex;gap:1rem}.meta-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.roadmap-steps{display:flex;flex-direction:column;gap:1.5rem}.roadmap-step-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:1rem;padding:1.5rem}.step-number{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;width:2rem}.step-content{flex:1 1}.step-image{margin-bottom:1rem}.step-image-img{border:1px solid #d1d5db;border-radius:8px;cursor:pointer;height:auto;max-width:400px;transition:all .3s ease;width:100%}.step-image-img:hover{box-shadow:0 4px 16px #0000001a;transform:scale(1.02)}.image-caption{color:#6b7280;font-size:.75rem;font-style:italic;margin-top:.25rem;text-align:center}.step-instruction{color:#374151;font-size:1rem;line-height:1.6}.traditional-instructions{margin-top:2rem}.instructions-subtitle{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:1.5rem}.instructions-list{display:flex;flex-direction:column;gap:1.5rem}.instruction-step{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:1rem;padding:1.5rem}.step-text{color:#374151;font-size:1rem;line-height:1.6}.cost-header{margin-bottom:2rem;text-align:center}.cost-description{color:#6b7280;font-size:1rem;margin-top:.5rem}.cost-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.calculate-cost-button-modern{align-items:center;background:#10b981;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.calculate-cost-button-modern:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.calculate-cost-button-modern:disabled{cursor:not-allowed;opacity:.7}.save-preferences-button-modern{align-items:center;background:#3b82f6;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.save-preferences-button-modern:hover:not(:disabled){background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.save-preferences-button-modern:disabled{cursor:not-allowed;opacity:.7}.hide-costs-button-modern{align-items:center;background:#6b7280;border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .3s ease}.hide-costs-button-modern:hover:not(:disabled){background:#4b5563;box-shadow:0 4px 12px #6b72804d;transform:translateY(-2px)}.hide-costs-button-modern:disabled{cursor:not-allowed;opacity:.7}@media (max-width:768px){.hide-costs-button-modern{font-size:.9rem;padding:.875rem 1.5rem}}.cost-results{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:16px;padding:2rem}@media (max-width:768px){.cost-results{background:#0000!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}}.cost-summary{margin-bottom:2rem;text-align:center}@media (max-width:768px){.cost-summary{margin-bottom:1rem;padding:1rem}}.total-cost{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:.5rem}.cost-label{color:#166534;font-size:1.25rem;font-weight:600}.cost-amount{color:#166534;font-size:2rem;font-weight:700}.cost-breakdown{color:#16a34a;font-size:.875rem}.recipe-price-details-container{background:#fff;border:1px solid #d1d5db;border-radius:12px;margin-top:1rem;padding:1.5rem;position:relative;z-index:1}@media (max-width:768px){.recipe-price-details-container{background:#0000!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.recipe-hero{padding-bottom:1rem;padding-top:calc(1rem + 136px)}.recipe-hero-content{gap:1.5rem}.recipe-main-image{height:300px}.recipe-meta{align-items:center;display:flex!important;flex-direction:row!important;gap:1rem;justify-content:space-between;width:100%}.recipe-author{display:flex;gap:.75rem}.recipe-author,.recipe-stats{align-items:center;flex-shrink:0}.recipe-stats{display:flex!important;flex-direction:row!important;gap:1rem;justify-content:flex-end}.stat-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;white-space:nowrap}.ingredients-grid{grid-template-columns:1fr}.cost-actions{align-items:center;flex-direction:column}.calculate-cost-button-modern,.save-preferences-button-modern{justify-content:center;width:100%}}.container{margin:0 auto;max-width:1200px;padding:0 1rem}@media (min-width:768px){.container{padding:0 2rem}}@media (max-width:768px){.modern-cost-section .container{margin:0!important;max-width:100%!important;padding:0!important}}@media (max-width:480px){.recipe-meta{align-items:center;display:flex!important;flex-direction:row!important;gap:.5rem;justify-content:space-between;width:100%}.recipe-author{display:flex}.recipe-author,.recipe-stats{align-items:center;flex-shrink:0;gap:.5rem}.recipe-stats{display:flex!important;flex-direction:row!important;justify-content:flex-end}.stat-item{align-items:center;color:#6b7280;display:flex;gap:.25rem;white-space:nowrap}.author-name,.stat-item{font-size:.75rem}.author-label{font-size:.625rem}}.modern-recipe-suggestions{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;margin-top:3rem;padding:4rem 0}.modern-recipe-suggestions .container{margin:0 auto;max-width:1200px;padding:0 1.5rem}.suggestions-header{margin-bottom:3rem;text-align:center}.suggestions-badge{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:50px;box-shadow:0 4px 14px #3b82f64d;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.suggestions-badge:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-2px)}.suggestions-badge svg{height:1.25rem;width:1.25rem}.suggestions-title{color:#374151;font-family:Crimson Text,serif;font-size:2.5rem;font-weight:600;letter-spacing:-.02em;line-height:1.1;margin-bottom:1rem}.suggestions-subtitle{color:#4b5563;font-family:Inter,sans-serif;font-size:1.125rem;font-weight:400;letter-spacing:-.005em;line-height:1.6;margin:0 auto;max-width:600px}.suggestions-loading-modern{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{color:#3b82f6;margin-bottom:1.5rem}.loading-spinner svg{height:2rem;width:2rem}.loading-text{color:#4b5563;font-family:Inter,sans-serif;font-size:1.125rem;font-style:italic;font-weight:400;letter-spacing:-.005em}.suggestions-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-top:2rem}@media (max-width:1024px){.suggestions-grid{gap:1.5rem;grid-template-columns:repeat(2,1fr)}}.modern-suggestion-card{background:#fff;border:1px solid #f1f5f9;border-radius:16px;box-shadow:0 4px 6px #0000000d,0 1px 3px #0000001a;color:inherit;display:block;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease}.modern-suggestion-card:hover{border-color:#e2e8f0;box-shadow:0 20px 40px #0000001a,0 8px 16px #00000014;transform:translateY(-8px)}.modern-suggestion-card:hover .card-image{transform:scale(1.05)}.modern-suggestion-card:hover .recipe-title{color:#3b82f6}.modern-suggestion-card:hover .card-action{background:#3b82f6;color:#fff}.card-image-container{aspect-ratio:1;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);overflow:hidden;position:relative;width:100%}.card-image{height:100%;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;object-fit:cover;object-position:center;transition:transform .4s ease;width:100%}.image-overlay{align-items:flex-start;background:linear-gradient(180deg,#0000001a 0,#0000 30%,#0000 70%,#0003);bottom:0;display:flex;justify-content:flex-end;left:0;padding:1rem;position:absolute;right:0;top:0}.match-badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#22c55ef2;border-radius:20px;box-shadow:0 2px 8px #22c55e4d;color:#fff;display:flex;font-size:.875rem;font-weight:600;gap:.375rem;padding:.5rem .75rem}.match-badge svg{height:1rem;width:1rem}.card-content{padding:1.5rem}.card-header{margin-bottom:1.25rem}.recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#374151;display:-webkit-box;font-family:Inter,sans-serif;font-size:1.375rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;margin-bottom:.75rem;overflow:hidden;transition:color .3s ease}.recipe-meta{align-items:center;flex-wrap:wrap;gap:1rem}.recipe-author,.recipe-time{align-items:center;color:#4b5563;display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:400;gap:.375rem;letter-spacing:-.005em}.recipe-author svg,.recipe-time svg{color:#94a3b8;height:1rem;width:1rem}.matched-ingredients{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:12px;margin-bottom:1.5rem;padding:1rem}.ingredients-label{align-items:center;color:#0369a1;display:flex;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;gap:.5rem;letter-spacing:-.005em;margin-bottom:.75rem}.ingredients-label svg{height:1rem;width:1rem}.ingredients-tags{display:flex;flex-wrap:wrap;gap:.5rem}.ingredient-tag{background:#fff;border:1px solid #bae6fd;border-radius:20px;color:#0369a1;font-family:Inter,sans-serif;font-size:.8125rem;font-weight:400;letter-spacing:-.005em;padding:.375rem .75rem;transition:all .2s ease}.ingredient-tag.more{background:#0369a1;border-color:#0369a1;color:#fff}.ingredient-tag:hover{background:#0369a1;color:#fff;transform:translateY(-1px)}.card-action{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:space-between;margin-top:auto;padding:.875rem 1.25rem;transition:all .3s ease}.view-recipe-text{color:#374151;font-family:Inter,sans-serif;font-size:.9375rem;font-weight:500;letter-spacing:-.005em}.card-action svg{color:#6b7280;height:1.25rem;transition:transform .3s ease;width:1.25rem}.modern-suggestion-card:hover .card-action svg{color:#fff;transform:translateX(4px)}@media (max-width:768px){.modern-recipe-suggestions{padding:3rem 0}.modern-recipe-suggestions .container{padding:0 1rem}.suggestions-title{font-size:2rem}.suggestions-subtitle{font-size:1rem}.suggestions-grid{gap:1rem;grid-template-columns:repeat(2,1fr);padding:0 .5rem}.card-image-container{aspect-ratio:1}.card-content{padding:1rem}.recipe-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;letter-spacing:-.015em;line-height:1.3;overflow:hidden}.recipe-meta{gap:.75rem;margin-bottom:.75rem}.recipe-author,.recipe-time{font-family:Inter,sans-serif;font-size:.8125rem;font-weight:400;letter-spacing:-.005em}.matched-ingredients{margin-bottom:1rem;padding:.75rem}.ingredients-tags{gap:.375rem}.ingredient-tag{font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:-.005em;padding:.25rem .5rem}.card-action{padding:.75rem 1rem}.view-recipe-text{font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:-.005em}}@media (max-width:480px){.modern-recipe-suggestions{margin-top:2rem;padding:2rem 0}.modern-recipe-suggestions .container{padding:0 .75rem}.suggestions-header{margin-bottom:2rem}.suggestions-title{font-size:1.75rem}.suggestions-badge{font-size:.8125rem;padding:.625rem 1.25rem}.suggestions-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);padding:0 .25rem}.card-image-container{aspect-ratio:1}.card-content{padding:.875rem}.recipe-title{-webkit-line-clamp:2;font-family:Inter,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:-.015em;line-height:1.2}.matched-ingredients{margin-bottom:.875rem;padding:.625rem}.ingredients-label{font-size:.8125rem;font-weight:500;margin-bottom:.5rem}.ingredient-tag,.ingredients-label{font-family:Inter,sans-serif;letter-spacing:-.005em}.ingredient-tag{font-size:.6875rem;font-weight:400;padding:.25rem .5rem}.recipe-meta{gap:.5rem;margin-bottom:.625rem}.recipe-author,.recipe-time{font-family:Inter,sans-serif;font-size:.75rem;font-weight:400;letter-spacing:-.005em}.card-action{padding:.625rem .875rem}.view-recipe-text{font-family:Inter,sans-serif;font-size:.8125rem;font-weight:500;letter-spacing:-.005em}}@media (max-width:375px){.suggestions-grid{gap:.5rem;grid-template-columns:repeat(2,1fr);padding:0 .125rem}.card-image-container{aspect-ratio:1}.card-content{padding:.75rem}.recipe-title{font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;letter-spacing:-.015em;line-height:1.1}.matched-ingredients{margin-bottom:.75rem;padding:.5rem}.ingredient-tag{font-family:Inter,sans-serif;font-size:.625rem;font-weight:400;letter-spacing:-.005em;padding:.1875rem .375rem}.card-action{padding:.5rem .75rem}.view-recipe-text{font-family:Inter,sans-serif;font-size:.75rem;font-weight:500;letter-spacing:-.005em}}.modern-suggestion-card{animation:fadeInUp .6s ease-out}.modern-suggestion-card:nth-child(2){animation-delay:.1s}.modern-suggestion-card:nth-child(3){animation-delay:.2s}.modern-suggestion-card:nth-child(4){animation-delay:.3s}.w-4{width:1rem}.h-4{height:1rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-8{width:2rem}.h-8{height:2rem}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.ingredient-management{margin:0 auto;max-width:1200px;padding:20px}.ingredient-form{background:#f5f5f5;border-radius:8px;margin-bottom:20px;padding:20px}.ingredient-form div{margin-bottom:15px}.ingredient-form label{display:block;font-weight:700;margin-bottom:5px}.ingredient-form input,.ingredient-form select{border:1px solid #ddd;border-radius:4px;padding:8px;width:100%}.unit-equivalent{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.form-buttons{display:flex;gap:10px}.form-buttons button{border:none;border-radius:4px;cursor:pointer;padding:10px 20px}.form-buttons button[type=submit]{background-color:#4caf50;color:#fff}.form-buttons button[type=button]{background-color:#f44336;color:#fff}.ingredients-list table{border-collapse:collapse;margin-top:20px;width:100%}.ingredients-list td,.ingredients-list th{border-bottom:1px solid #ddd;padding:12px;text-align:left}.ingredients-list th{background-color:#f5f5f5}.ingredients-list button{border:none;border-radius:4px;cursor:pointer;margin-right:5px;padding:5px 10px}.ingredients-list button:first-child{background-color:#2196f3;color:#fff}.ingredients-list button:last-child{background-color:#f44336;color:#fff}.error{background-color:#ffebee;border-radius:4px;color:#f44336;margin-bottom:20px;padding:10px}.management-links{display:flex;justify-content:flex-end;margin-bottom:20px}.categories-link{background-color:#6f42c1;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:8px 16px;transition:background-color .2s}.categories-link:hover{background-color:#5a32a3}.error-message{color:#721c24;margin-bottom:15px;padding:10px}.profile-container{margin:0 auto;max-width:1200px;padding:20px}.error,.loading,.no-recipes{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#666;font-size:1.2rem;margin-top:50px;padding:20px;text-align:center}.error{background-color:#fdf3f2;color:#e74c3c}.profile-header{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:40px;margin-bottom:40px;padding:20px}.profile-picture-container{background-color:#f8f9fa;border-radius:50%;height:150px;overflow:hidden;position:relative;width:150px}.profile-image{height:100%;object-fit:cover;width:100%}.profile-image.default-icon{padding:15%}.profile-info{flex:1 1}.profile-info h2{color:#2c3e50;font-size:2rem;margin:0 0 10px}.bio{color:#666;font-style:italic;line-height:1.6;margin-bottom:20px}.profile-stats{display:flex;gap:30px;margin-bottom:20px}.profile-stats span{cursor:pointer;transition:color .2s}.profile-stats span:hover{color:#007bff}.follow-button{background-color:#007bff;font-size:1rem;padding:8px 20px;transition:background-color .2s}.follow-button.following{background-color:#6c757d}.follow-button:hover{background-color:#0056b3}.follow-button.following:hover{background-color:#dc3545}.following-list{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:40px;padding:20px}.following-list h3{color:#2c3e50;margin:0 0 20px}.following-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.following-card{align-items:center;background-color:#f8f9fa;border-radius:8px;color:#2c3e50;display:flex;gap:15px;padding:10px;text-decoration:none;transition:transform .2s,box-shadow .2s}.following-card:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.following-avatar{border-radius:50%;height:40px;object-fit:cover;width:40px}.recipes-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.recipe-card{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:inherit;text-decoration:none;transition:transform .2s}.recipe-card:hover{transform:translateY(-2px)}.recipe-image{height:200px;object-fit:cover;width:100%}.recipe-info{padding:15px}.recipe-info h4{color:#2c3e50;margin:0 0 10px}.recipe-info p{color:#666;font-size:.9rem;margin:0}.no-recipes{background-color:#f8f9fa;font-style:italic}@media (max-width:768px){.profile-header{align-items:center;flex-direction:column;gap:20px;text-align:center}.profile-stats{flex-wrap:wrap;justify-content:center}.recipes-grid{grid-template-columns:1fr}}.edit-profile-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:8px;max-height:90vh;max-width:500px;overflow-y:auto;padding:2rem;width:90%}.profile-picture-section{margin-bottom:2rem;text-align:center}.profile-preview{border-radius:50%;height:150px;margin-bottom:1rem;object-fit:cover;width:150px}#profile-picture{display:none}.upload-button{background-color:#007bff;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;padding:.5rem 1rem}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:4px;padding:.5rem;width:100%}.address-section{border-top:1px solid #ddd;margin-top:1.5rem;padding-top:1.5rem}.button-group{display:flex;gap:1rem;margin-top:2rem}.button-group button{border:none;border-radius:4px;cursor:pointer;padding:.5rem 1rem}.button-group button[type=submit]{background-color:#28a745;color:#fff}.button-group button[type=button]{background-color:#dc3545;color:#fff}.feed-container{margin:0 auto;max-width:600px;padding:20px}.feed-column{display:flex;flex-direction:column;gap:20px}.feed-item{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.post-header{border-bottom:1px solid #efefef;padding:12px}.user-info{align-items:center;color:inherit;display:flex;gap:10px;text-decoration:none}.profile-picture-container.user-avatar{height:40px;min-width:40px;width:40px}.suggestion-content .profile-picture-container.user-avatar{height:50px;min-width:50px;width:50px}.post-header .user-info:hover{opacity:.8}.username{font-weight:500}.post-image img{height:auto;max-height:600px;object-fit:cover;width:100%}.post-content{padding:12px}.cooking-time{color:#666;font-size:.9em;margin:8px 0}.view-recipe{color:#0095f6;display:inline-block;font-weight:600;margin-top:8px;text-decoration:none}.suggestion-card{background:#fafafa;padding:12px}.suggestion-header{margin-bottom:12px}.suggestion-content{align-items:center;display:flex;justify-content:space-between}.follow-button{background:#0095f6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:6px 16px}.follow-button:hover{background:#0081d6}.empty-feed{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;padding:40px;text-align:center}.search-users-container{margin:2rem auto;max-width:1200px;padding:0 1rem}.search-form{display:flex;gap:1rem;margin-bottom:2rem}.search-input{border:1px solid #ddd;border-radius:4px;flex:1 1;padding:.75rem}.search-button{background-color:#4caf50;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.search-button:hover{background-color:#45a049}.search-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{border:1px solid #dc3545;padding:.5rem}.users-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:1rem}.user-card{align-items:flex-start;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;padding:20px;transition:transform .2s}.user-card:hover{transform:translateY(-2px)}.user-card .profile-picture-container.user-avatar{height:80px;margin-right:15px;min-width:80px;width:80px}.user-info{flex:1 1}.user-info h4{color:#333;margin:0 0 .5rem}.user-info p{margin:0 0 .5rem}.user-info p,.user-stats{color:#666;font-size:.9rem}.user-stats{display:flex;gap:1rem}.user-stats span{align-items:center;display:inline-flex}.featured-users h3,.search-results h3{color:#333;font-size:1.5rem;margin:2rem 0 1rem}@media (max-width:768px){.search-form{flex-direction:column}.users-grid{grid-template-columns:1fr}.user-card{align-items:center;flex-direction:column;text-align:center}.user-avatar{margin:0 0 1rem}.user-stats{justify-content:center}}.meal-budget-planner{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:2rem auto;max-width:600px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{font-weight:700;margin-bottom:.5rem}.form-group input[type=number],.form-group select{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.5rem;width:100%}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-group label{align-items:center;display:flex;font-weight:400;gap:.5rem}.submit-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem;transition:background-color .2s;width:100%}.submit-button:hover{background-color:#0056b3}.meal-plan-results{border-top:1px solid #ddd;margin-top:2rem;padding-top:2rem}.plan-summary{grid-gap:1rem;background-color:#f8f9fa;border-radius:4px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem;padding:1rem}.plan-summary p{background-color:#fff;border-radius:4px;box-shadow:0 1px 3px #0000001a;margin:0;padding:8px}.meal-schedule{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.day-plan{background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:1rem}.meal-item{border-bottom:1px solid #eee;margin-bottom:1rem;padding-bottom:1rem}.meal-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.meal-item h5{color:#007bff;margin:0 0 .5rem}.meal-item p{margin:.25rem 0}.error-message{border:1px solid #f5c6cb;border-radius:4px;margin:1rem 0}.loading-spinner{display:inline-block;margin-left:.5rem}.price{color:#28a745;font-weight:700}.per-serving{color:#6c757d;font-size:.9em;margin-left:.5rem}.form-text{color:#6c757d;font-size:.875rem;margin-top:.25rem}.meal-item .price{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.ingredient-details{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;margin-top:10px;padding:15px}.ingredient-details h4{color:#495057;font-size:1rem;margin:0 0 15px}.ingredient-item{align-items:flex-start;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.ingredient-item:last-child{border-bottom:none}.ingredient-info{display:flex;flex-direction:column;gap:4px}.ingredient-name{color:#212529;font-weight:500}.ingredient-amount{color:#6c757d;font-size:.9em}.price-detail{text-align:right}.brand-info{color:#28a745;font-weight:500;margin-bottom:2px}.cost-info{display:flex;flex-direction:column;font-size:.9em;gap:2px}.unit-cost{color:#6c757d}.total-cost{font-weight:500}.best-value{color:#007bff;font-size:.85em;font-style:italic}.ingredient-total{border-top:2px solid #e9ecef;color:#28a745;font-weight:500;margin-top:15px;padding-top:10px;text-align:right}.shopping-list-container{margin:0 auto;max-width:1200px;padding:20px}.shopping-list-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.shopping-list-header h1{color:#333;margin:0}.shopping-list-actions{align-items:center;display:flex}.clear-list-button{background-color:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background-color .2s}.clear-list-button:hover{background-color:#b91c1c}.shopping-list-summary{background-color:#f8f9fa;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;font-size:1.1rem;justify-content:space-between;margin-bottom:20px;padding:15px}.total-cost{color:#28a745;font-weight:700}.shopping-list-items{display:flex;flex-direction:column;gap:20px}.shopping-list-group{background-color:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;overflow:hidden}.item-header{align-items:center;background-color:#f0f0f0;border-bottom:1px solid #ddd;padding:10px 15px}.item-header h3{color:#333;margin:0}.item-total{color:#666;font-weight:500}.shopping-list-item{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px}.shopping-list-item:last-child{border-bottom:none}.item-details{align-items:center;gap:20px;width:100%}.item-brand{color:#666;flex:2 1}.item-quantity{align-items:center;display:flex;flex:1 1;gap:5px}.item-quantity span{color:#666}.quantity-input{border:1px solid #ccc;border-radius:4px;padding:5px;text-align:center;width:50px}.item-cost{color:#28a745;flex:1 1;font-weight:500;text-align:right}.item-actions{margin-left:10px}.remove-item-button{align-items:center;background-color:initial;border:none;border-radius:50%;color:#dc3545;cursor:pointer;display:flex;font-size:1.2rem;height:30px;justify-content:center;transition:background-color .2s;width:30px}.remove-item-button:hover{background-color:#f8d7da}.empty-list{align-items:center;background-color:#f8f9fa;border-radius:8px;color:#666;display:flex;flex-direction:column;justify-content:center;padding:40px;text-align:center}.empty-list p{margin:5px 0}.error-message{background-color:#f8d7da;border-radius:6px;color:#dc3545;margin:20px 0;padding:20px;text-align:center}.loading{color:#666;padding:40px}.print-section{display:flex;justify-content:center;margin-top:30px}.print-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .2s}.print-button:hover{background-color:#0069d9}.complete-shopping-button{background-color:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-left:10px;padding:8px 16px;transition:background-color .2s}.complete-shopping-button:hover{background-color:#1d4ed8}.excess-indicator{margin-top:8px}.excess-badge{background-color:#dcfce7;border:1px solid #bbf7d0;border-radius:4px;color:#166534;display:inline-block;font-size:.85em;padding:4px 8px}.excess-cupboard-note{font-style:italic;opacity:.8}.excess-summary{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-top:12px;padding:12px}.excess-title{color:#0369a1;font-size:14px;font-weight:600;margin-bottom:8px}.excess-list{display:flex;flex-wrap:wrap;gap:8px}.excess-item{background-color:#e0f2fe;border:1px solid #7dd3fc;border-radius:4px;color:#0c4a6e;font-size:.85em;padding:4px 8px}@media print{.item-amount input,.print-section,.print\:hidden,.qty-btn-mini,.remove-btn-mini,.remove-item-button,.shopping-list-actions,button,input[type=number]{display:none!important}.shopping-item-card{border:1px solid #ddd!important;box-shadow:none!important;margin-bottom:4px!important;page-break-inside:avoid}.shopping-item-content{padding:6px 8px!important}.item-image-mini{height:48px!important;width:48px!important}.current-price-compact,.item-name-compact{font-size:11px!important}.current-price-compact{color:#333!important}body{background:#fff!important;font-size:12px!important;line-height:1.4!important}.shopping-list-container,body{margin:0!important;padding:0!important}.shopping-list-container{max-width:none!important}.min-h-screen{min-height:auto!important}.bg-recipe-light{background:#fff!important}.sticky{position:static!important}.bg-white,.shadow-recipe,.shadow-sm{box-shadow:none!important}.bg-white{background:#fff!important;border:1px solid #ddd!important;break-inside:avoid;margin-bottom:10px!important;page-break-inside:avoid}.bg-white:first-of-type{border:2px solid #333!important;margin-bottom:20px!important;padding:15px!important}.shopping-list-group,.space-y-3>div{break-inside:avoid;margin-bottom:15px!important;page-break-inside:avoid}.p-4{padding:8px 12px!important}.text-sm{font-size:11px!important}.text-xs{font-size:10px!important}.text-lg{font-size:14px!important}.text-xl{font-size:16px!important}.text-2xl{font-size:18px!important}.bg-gray-50{background:#f9f9f9!important}.space-y-4>*{margin-bottom:15px!important}.item-amount,.item-cost{color:#333!important;font-weight:700!important}.text-gray-600{color:#666!important}.bg-blue-100,.bg-green-100,.bg-orange-100{background:#0000!important;border:1px solid #ccc!important}.text-blue-800,.text-green-800,.text-orange-800{color:#333!important}.shopping-list-item{break-inside:avoid;page-break-inside:avoid}.print-header{border-bottom:2px solid #333;display:block!important;font-size:18px;font-weight:700;margin-bottom:20px;padding-bottom:10px;text-align:center}.item-details,.shopping-list-item{break-inside:avoid;page-break-inside:avoid}@page{size:A4;margin:1cm}}@media (max-width:768px){.shopping-list-container{padding:10px!important}.max-w-2xl{max-width:100%!important;padding:0 8px!important}.p-4{padding:12px!important}.flex.gap-2{gap:4px!important}.px-3.py-1\.5{font-size:12px!important;padding:6px 8px!important}@media (max-width:480px){.shopping-list-header .flex{align-items:stretch;flex-direction:column;gap:8px}.shopping-list-header .flex>div{display:flex;gap:4px}.shopping-list-header .flex>div>button{flex:1 1}}.remove-item-button{min-height:44px;min-width:44px}.shopping-list-item{padding:12px 8px!important}.item-details{gap:12px!important}.text-sm{font-size:13px!important}.text-xs{font-size:11px!important}}.shopping-list-item-modern{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;gap:16px;padding:12px}.shopping-list-item-modern:last-child{border-bottom:none}.item-image-container-sl{align-items:center;background-color:#f8f8f8;border-radius:8px;display:flex;flex-shrink:0;height:56px;justify-content:center;overflow:hidden;width:56px}.item-image-sl{height:100%;object-fit:cover;width:100%}.item-image-placeholder-sl{align-items:center;background-color:#f0f0f0;display:flex;height:100%;justify-content:center;width:100%}.item-details-container-sl{display:flex;flex-direction:column;flex-grow:1;gap:4px}.item-brand-name-sl{color:#333;font-size:1rem;font-weight:600}.item-brand-store-sl{color:#666;font-size:.875rem}.item-badges-sl{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.badge-sl{border-radius:12px;font-size:.75rem;font-weight:500;padding:2px 8px}.multi-buy-sl{background-color:#fffbeb;border:1px solid #fde68a;color:#b45309}.special-price-sl{background-color:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.excess-sl{background-color:#f0f9ff;border:1px solid #bae6fd;color:#075985}.item-actions-container-sl{align-items:center;display:flex;gap:16px}.quantity-control-sl{align-items:center;border:1px solid #e5e7eb;border-radius:8px;display:flex}.quantity-btn-sl{background-color:#fff;border:none;color:#374151;cursor:pointer;font-size:1rem;padding:8px;transition:background-color .2s}.quantity-btn-sl:hover{background-color:#f9fafb}.quantity-btn-sl:first-child{border-bottom-left-radius:7px;border-right:1px solid #e5e7eb;border-top-left-radius:7px}.quantity-btn-sl:last-child{border-bottom-right-radius:7px;border-left:1px solid #e5e7eb;border-top-right-radius:7px}.quantity-input-sl{-moz-appearance:textfield;border:none;color:#111827;font-size:1rem;font-weight:500;text-align:center;width:40px}.quantity-input-sl::-webkit-inner-spin-button,.quantity-input-sl::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.item-cost-sl{min-width:80px;text-align:right}.current-price-sl{color:#16a34a;font-size:1rem;font-weight:600}.original-price-sl{color:#9ca3af;font-size:.875rem;text-decoration:line-through}.remove-btn-sl{background-color:initial;border:none;border-radius:50%;color:#ef4444;cursor:pointer;padding:8px;transition:background-color .2s,color .2s}.remove-btn-sl:hover{background-color:#fee2e2;color:#b91c1c}.shopping-item-card{-webkit-touch-callout:none;background:#fff;border:1px solid #f0f0f0;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:8px;overflow:hidden;position:relative;transition:all .2s ease;user-select:none;-webkit-user-select:none}.shopping-item-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-1px)}.shopping-item-card:active{box-shadow:0 1px 4px #0000001a;transform:scale(.98)}.shopping-item-card.swipe-left{animation:swipeLeftFeedback .3s ease-out}.shopping-item-card.swipe-right{animation:swipeRightFeedback .3s ease-out}@keyframes swipeLeftFeedback{0%{transform:translateX(0)}50%{background-color:#fee2e2;transform:translateX(-10px)}to{transform:translateX(0)}}@keyframes swipeRightFeedback{0%{transform:translateX(0)}50%{background-color:#dcfce7;transform:translateX(10px)}to{transform:translateX(0)}}.shopping-item-content{align-items:center;display:flex;gap:12px;padding:12px}.item-image-mini{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-shrink:0;height:80px;justify-content:center;overflow:hidden;width:80px}.item-image-mini-img{height:100%;object-fit:cover;width:100%}.item-image-mini-placeholder{color:#6c757d;font-size:36px}.item-info-compact{flex:1 1;min-width:0}.item-name-compact{color:#212529;font-size:14px;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-details-compact{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:6px}.item-brand-compact{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excess-indicator,.special-indicator{font-size:12px}.item-actions-compact{align-items:center;display:flex;flex-shrink:0;gap:8px}.quantity-controls-mini{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:20px;display:flex;overflow:hidden}.qty-btn-mini{align-items:center;background:#0000;border:none;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;width:28px}.qty-btn-mini:hover:not(:disabled){background:#e9ecef;color:#212529}.qty-btn-mini:disabled{cursor:not-allowed;opacity:.5}.qty-btn-minus{border-right:1px solid #dee2e6}.qty-btn-plus{border-left:1px solid #dee2e6}.qty-display{color:#212529;font-size:14px;font-weight:600;min-width:24px;padding:0 4px;text-align:center}.price-compact{min-width:60px;text-align:right}.current-price-compact{color:#28a745;font-size:14px;font-weight:600}.original-price-compact{color:#6c757d;font-size:11px;margin-top:-2px;text-decoration:line-through}.remove-btn-mini{align-items:center;background:#fff5f5;border:1px solid #fed7d7;border-radius:50%;color:#e53e3e;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:28px;justify-content:center;transition:all .2s ease;width:28px}.remove-btn-mini:hover{background:#fed7d7;color:#c53030;transform:scale(1.05)}.item-details-expandable{background:#f8f9fa;border-top:1px solid #e9ecef;color:#495057;font-size:11px;padding:8px 12px}.excess-info-mini,.special-offer-mini{margin-bottom:4px}.excess-info-mini:last-child,.special-offer-mini:last-child{margin-bottom:0}@media (max-width:640px){.shopping-item-content{gap:10px;padding:10px}.item-image-mini{height:72px;width:72px}.item-name-compact{font-size:13px}.item-details-compact{font-size:11px}.item-brand-compact{max-width:80px}.qty-btn-mini{font-size:16px;height:32px;width:32px}.qty-display{font-size:15px;min-width:28px}.remove-btn-mini{font-size:14px;height:32px;width:32px}.current-price-compact{font-size:13px}.original-price-compact{font-size:10px}}@media (max-width:480px){.shopping-item-content{gap:8px;padding:8px}.item-actions-compact{gap:6px}.price-compact{min-width:50px}}@media (hover:none) and (pointer:coarse){.qty-btn-mini{font-size:18px;min-height:44px;min-width:44px}.remove-btn-mini{font-size:16px;min-height:44px;min-width:44px}.shopping-item-card:hover{transform:none}.shopping-item-content{min-height:72px;padding:16px 12px}.item-image-mini{height:96px;width:96px}.quantity-controls-mini{min-height:44px}.item-actions-compact{gap:12px}}.qty-btn-mini:focus,.remove-btn-mini:focus{outline:2px solid #3b82f6;outline-offset:2px}.shopping-item-card.updating{opacity:.7;pointer-events:none}.shopping-item-card.updating:after{align-items:center;background:#fffc;bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.qty-display{transition:all .2s ease}.qty-display.changing{color:#3b82f6;transform:scale(1.2)}.shopping-item-card.success-flash{animation:successFlash .6s ease-out}@keyframes successFlash{0%{background-color:#fff}50%{background-color:#dcfce7}to{background-color:#fff}}@media (max-width:640px){.shopping-list-item-modern{flex-wrap:wrap;padding-bottom:56px;position:relative}.item-image-container-sl{height:40px;width:40px}.item-details-container-sl{width:calc(100% - 56px)}.item-brand-name-sl{font-size:.9rem}.item-brand-store-sl{font-size:.8rem}.item-actions-container-sl{background:#f9fafb;border:1px solid #f3f4f6;border-radius:8px;bottom:8px;gap:8px;justify-content:space-between;left:8px;padding:4px;position:absolute;right:8px;width:auto}.quantity-control-sl{flex-grow:1}.quantity-input-sl{width:100%}.item-cost-sl{min-width:65px;text-align:right}.current-price-sl,.original-price-sl{font-size:.9rem}.remove-btn-sl{padding:4px}}.cupboard-container{background:linear-gradient(135deg,#f8fafc,#e2e8f0 50%,#f1f5f9);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;margin:0 auto;max-width:1200px;min-height:100vh;padding:1.5rem;position:relative}.cupboard-container:before{background:radial-gradient(circle at 20% 80%,#3b82f60d 0,#0000 50%),radial-gradient(circle at 80% 20%,#10b9810d 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:0}.cupboard-header{animation:fadeInUp .8s ease-out;margin-bottom:2rem;padding:1.5rem 0;position:relative;text-align:center;z-index:1}.cupboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:#1e293b;font-size:2.5rem;font-weight:800;letter-spacing:-.025em;margin-bottom:.75rem}.cupboard-description{color:#64748b;font-size:1.1rem;font-weight:400;line-height:1.6;margin-bottom:0;margin-left:auto;margin-right:auto;max-width:600px}.loading{color:#6b7280;font-size:1.1rem;padding:2rem;text-align:center}.error-message{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:1rem;padding:1rem}.success-message{background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#16a34a;margin-bottom:1rem;padding:1rem}.add-ingredients-section{animation:slideInUp .6s ease-out .2s both;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #94a3b833;border-radius:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:2rem;padding:2rem;position:relative;transition:all .3s ease;z-index:1}.add-ingredients-section:hover{box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;transform:translateY(-2px)}.add-ingredients-section h2{color:#1e293b;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:1.5rem;text-align:center}.ingredient-input-row{grid-gap:.75rem;align-items:center;animation:fadeIn .4s ease-out;display:grid;gap:.75rem;grid-template-columns:3fr 1fr 1fr 1.5fr auto;margin-bottom:1rem;transition:all .3s ease}.ingredient-input-row:hover{transform:translateX(4px)}.ingredient-autocomplete-container{position:relative}.suggestions-dropdown{background:#fff;border:1px solid #d1d5db;border-radius:0 0 8px 8px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestions-header{background-color:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:.8rem;font-weight:500;padding:.5rem .75rem}.suggestion-item{border-bottom:1px solid #f3f4f6;cursor:pointer;font-size:.9rem;padding:.75rem;transition:background-color .2s ease}.suggestion-item.active,.suggestion-item:hover{background-color:#f9fafb}.suggestion-item:last-child{border-bottom:none}.amount-input,.ingredient-name-input,.location-select,.unit-select{background:#ffffffe6;border:1px solid #94a3b84d;border-radius:12px;color:#1e293b;font-size:.95rem;font-weight:400;padding:.875rem 1rem;transition:all .2s ease}.amount-input::placeholder,.ingredient-name-input::placeholder{color:#94a3b8;font-weight:400}.amount-input:focus,.ingredient-name-input:focus,.location-select:focus,.unit-select:focus{background:#fff;border-color:#3b82f6;border-width:2px;box-shadow:0 0 0 3px #3b82f61a;outline:none;transform:translateY(-1px)}.form-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.add-another-btn{align-items:center;background:linear-gradient(135deg,#64748b,#475569);border:none;border-radius:12px;box-shadow:0 2px 4px #64748b33;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;transition:all .2s ease}.add-another-btn:hover{background:linear-gradient(135deg,#475569,#334155);box-shadow:0 4px 8px #64748b4d;transform:translateY(-1px)}.save-all-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:.95rem;font-weight:700;gap:.5rem;padding:.875rem 2rem;transition:all .2s ease}.save-all-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.cupboard-items-section{animation:slideInUp .6s ease-out .4s both;margin-bottom:2rem;position:relative;z-index:1}.cupboard-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.cupboard-items-section h2{color:#1e293b;font-size:1.5rem;font-weight:700;letter-spacing:-.025em;margin:0}.clear-all-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;box-shadow:0 2px 4px #ef444433;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;opacity:.9;padding:.75rem 1.5rem;transition:all .2s ease}.clear-all-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #ef44444d;opacity:1;transform:translateY(-1px)}.empty-cupboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px dashed #1e40af4d;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:4rem 2rem;text-align:center}.empty-cupboard h3{color:#1e40af;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.empty-cupboard p{color:#6b7280;font-size:1.1rem;font-weight:500;margin:0}.cupboard-items-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recent-shopping-notice{background-color:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;margin-bottom:16px;padding:12px}.recent-shopping-notice p{color:#0369a1;font-weight:500;margin:0}.cupboard-item.recent-from-shopping{animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#fef3c7,#fff);border:2px solid #f59e0b}@keyframes glow{0%{box-shadow:0 0 5px #f59e0b}to{box-shadow:0 0 15px #f59e0b,0 0 25px #f59e0b}}.shopping-indicator{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:12px;font-size:.8em;margin-left:8px;padding:2px 6px}.shopping-date{color:#92400e;font-size:.8em;font-style:italic;margin-top:4px}.notice-icon{margin-right:8px}.cupboard-item{animation:fadeInUp .4s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:1px solid #94a3b833;border-radius:16px;box-shadow:0 2px 4px #0000000d;padding:1.25rem;transition:all .2s ease}.cupboard-item:hover{border-color:#3b82f64d;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.item-name{align-items:center;color:#1e293b;display:flex;font-size:1.1em;font-weight:600;letter-spacing:-.025em;margin:0}.item-details{display:flex;flex-direction:column;gap:.5rem}.amount{color:#3b82f6;font-size:1.1rem;font-weight:600;letter-spacing:-.025em;margin:0}.location{color:#64748b;font-size:.9rem;font-weight:400;margin:0;text-transform:capitalize}.cupboard-actions{display:flex;justify-content:center;margin-top:2rem}.use-cupboard-btn{background:linear-gradient(135deg,#ea580c,#c2410c);border:none;border-radius:12px;box-shadow:0 4px 8px #ea580c33;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .3s ease}.use-cupboard-btn:hover{box-shadow:0 8px 16px #ea580c4d;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.cupboard-container{padding:1rem}.cupboard-header h1{font-size:2rem}.add-ingredients-section{padding:1.5rem}.ingredient-input-row{gap:.75rem;grid-template-columns:1fr}.suggestions-dropdown{font-size:.8rem;max-height:150px}.suggestion-item{padding:.6rem}.remove-btn{justify-self:end;margin-top:.5rem}.form-actions{align-items:center;flex-direction:column}.cupboard-items-grid{gap:.75rem;grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.cupboard-header h1{font-size:1.75rem}.cupboard-description{font-size:1rem}.add-ingredients-section{padding:1rem}.ingredient-input-row{gap:.5rem}.cupboard-section-header{align-items:stretch;flex-direction:column;gap:.75rem}.cupboard-items-section h2{font-size:1.25rem;text-align:center}.clear-all-btn{justify-content:center;padding:.875rem 1.5rem;width:100%}.cupboard-items-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}.cupboard-item{padding:.5rem}.cupboard-item .amount,.cupboard-item .item-name{font-size:.85rem}.cupboard-item .location{font-size:.75rem}.cupboard-item .delete-btn{font-size:.9rem;padding:2px}.use-cupboard-btn{font-size:1rem;padding:.875rem 1.5rem}}.terms-container{align-items:flex-start;background:linear-gradient(to bottom right,#fff7ed,#ffedd5);display:flex;justify-content:center;min-height:100vh;padding:2rem 1rem}.terms-content{background:#fff;border:1px solid #fed7aa;border-radius:12px;box-shadow:0 8px 32px #ea580c26;max-width:800px;overflow:hidden;width:100%}.terms-header{background:linear-gradient(135deg,#ff6b35,#ff8c42);color:#fff;padding:2rem;text-align:center}.terms-header h1{font-family:Crimson Text,serif;font-size:2.5rem;font-weight:600;margin:0}.last-updated{font-size:1rem;margin:.5rem 0 0;opacity:.9}.terms-body{color:#374151;line-height:1.7;padding:2rem}.terms-section{margin-bottom:2rem}.terms-section h2{color:#ea580c;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem}.terms-section p{color:#4b5563;font-size:1rem;margin-bottom:1rem}.terms-section ul{margin:1rem 0;padding-left:1.5rem}.terms-section li{color:#4b5563;margin-bottom:.5rem}.terms-footer{background:#f8f9fa;border-top:1px solid #e9ecef;padding:1.5rem 2rem;text-align:center}.back-to-register{align-items:center;border:2px solid #ea580c;border-radius:8px;color:#ea580c;display:inline-flex;font-family:Inter,sans-serif;font-weight:600;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.back-to-register:hover{background-color:#ea580c;box-shadow:0 4px 12px #ea580c33;color:#fff;transform:translateY(-1px)}@media (max-width:768px){.terms-container{padding:1rem .5rem}.terms-content{border-radius:8px;margin:.5rem}.terms-header{padding:1.5rem}.terms-header h1{font-size:2rem}.terms-body{padding:1.5rem}.terms-section h2{font-size:1.25rem}.terms-section li,.terms-section p{font-size:.9rem}.terms-footer{padding:1rem 1.5rem}.back-to-register{font-size:.9rem;padding:.625rem 1.25rem}}@media (max-width:480px){.terms-container{padding:.5rem .25rem}.terms-content{margin:.25rem}.terms-header{padding:1.25rem}.terms-header h1{font-size:1.75rem}.terms-body{padding:1.25rem}.terms-section{margin-bottom:1.5rem}.terms-section h2{font-size:1.125rem}.terms-section li,.terms-section p{font-size:.85rem}}@media print{.terms-container{background:#fff;padding:0}.terms-content{border:1px solid #ccc;box-shadow:none}.terms-header{background:#f8f9fa!important;color:#333!important}.back-to-register{display:none}}:root{--primary-color:#00d4aa;--primary-dark:#00b894;--secondary-color:#2d3436;--text-primary:#2d3436;--text-secondary:#636e72;--text-muted:#b2bec3;--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#e9ecef;--border-color:#e9ecef;--border-radius:8px;--border-radius-lg:12px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #0000001f;--shadow-lg:0 8px 16px #00000026;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700}.modern-container{background:#fff;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-family);margin:0 auto;max-width:1200px;min-height:100vh;padding:24px;padding:var(--spacing-lg)}.modern-header{align-items:flex-start;border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:48px;margin-bottom:var(--spacing-2xl);padding-bottom:24px;padding-bottom:var(--spacing-lg)}.header-content{flex:1 1}.header-title{color:#2d3436;color:var(--text-primary);font-size:2.5rem;font-weight:700;font-weight:var(--font-weight-bold);line-height:1.2;margin:0 0 8px;margin:0 0 var(--spacing-sm) 0}.header-subtitle{color:#636e72;color:var(--text-secondary);font-size:1.125rem;font-weight:400;font-weight:var(--font-weight-normal);margin:0}.modern-nav{align-items:center;display:flex;gap:24px;gap:var(--spacing-lg);margin-bottom:32px;margin-bottom:var(--spacing-xl)}.nav-logo{color:#2d3436;color:var(--text-primary);font-size:1.5rem;font-weight:700;font-weight:var(--font-weight-bold);text-decoration:none}.nav-links{display:flex;gap:24px;gap:var(--spacing-lg);list-style:none;margin:0;padding:0}.nav-link{color:#636e72;color:var(--text-secondary);font-weight:500;font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s ease}.nav-link:hover{color:#2d3436;color:var(--text-primary)}.search-container{margin:0 auto 32px;margin:0 auto var(--spacing-xl);max-width:400px;position:relative}.search-input{background:#fff;background:var(--bg-primary);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);font-size:1rem;padding:16px 24px 16px 48px;padding:var(--spacing-md) var(--spacing-lg) var(--spacing-md) 48px;transition:border-color .2s ease;width:100%}.search-input:focus{border-color:#00d4aa;border-color:var(--primary-color);outline:none}.search-icon{color:#b2bec3;color:var(--text-muted);height:20px;left:16px;left:var(--spacing-md);position:absolute;top:50%;transform:translateY(-50%);width:20px}.modern-card{background:#fff;background:var(--bg-primary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}.modern-card:hover{box-shadow:0 4px 8px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{background:#f8f9fa;background:var(--bg-secondary);border-bottom:1px solid #e9ecef;border-bottom:1px solid var(--border-color);padding:24px;padding:var(--spacing-lg)}.card-title{color:#2d3436;color:var(--text-primary);font-size:1.5rem;font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 4px;margin:0 0 var(--spacing-xs) 0}.card-description{color:#636e72;color:var(--text-secondary);font-size:.875rem;margin:0}.card-content{padding:24px;padding:var(--spacing-lg)}.modern-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.recipe-card-modern{background:#fff;background:var(--bg-primary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease}.recipe-card-modern:hover{box-shadow:0 4px 8px #0000001f;box-shadow:var(--shadow-md);transform:translateY(-4px)}.recipe-image-modern{cursor:pointer;height:200px;object-fit:cover;transition:transform .2s ease;width:100%}.recipe-image-modern:hover{transform:scale(1.05)}.recipe-content-modern{padding:24px;padding:var(--spacing-lg)}.recipe-title-modern{color:#2d3436;color:var(--text-primary);cursor:pointer;font-size:1.25rem;font-weight:600;font-weight:var(--font-weight-semibold);margin:0 0 16px;margin:0 0 var(--spacing-md) 0;transition:color .2s ease}.recipe-title-modern:hover{color:#00d4aa;color:var(--primary-color)}.recipe-meta-modern{color:#636e72;color:var(--text-secondary);font-size:.875rem;gap:16px;gap:var(--spacing-md)}.recipe-meta-modern,.recipe-price-modern{display:flex;margin-bottom:16px;margin-bottom:var(--spacing-md)}.recipe-price-modern{align-items:center;background:#f8f9fa;background:var(--bg-secondary);border-radius:8px;border-radius:var(--border-radius);justify-content:space-between;padding:16px;padding:var(--spacing-md)}.price-label{color:#b2bec3;color:var(--text-muted);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.price-value{color:#2d3436;color:var(--text-primary);font-size:1.125rem;font-weight:600;font-weight:var(--font-weight-semibold)}.stats-grid-modern{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:48px;margin-bottom:var(--spacing-2xl)}.stat-card-modern{background:#fff;background:var(--bg-primary);border:1px solid #e9ecef;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 2px 4px #0000001a;box-shadow:var(--shadow-sm);padding:24px;padding:var(--spacing-lg);text-align:center}.stat-value-modern{color:#00d4aa;color:var(--primary-color);font-size:2rem;font-weight:700;font-weight:var(--font-weight-bold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.stat-label-modern{color:#636e72;color:var(--text-secondary);font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.btn-modern{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;font-weight:var(--font-weight-medium);gap:8px;gap:var(--spacing-sm);padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-primary{background:#00d4aa;background:var(--primary-color);color:#fff}.btn-primary:hover{background:#00b894;background:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background:#fff;background:var(--bg-primary);border:1px solid #e9ecef;border:1px solid var(--border-color);color:#2d3436;color:var(--text-primary)}.btn-secondary:hover{background:#f8f9fa;background:var(--bg-secondary);border-color:#00d4aa;border-color:var(--primary-color)}.status-badge-modern{align-items:center;border-radius:8px;border-radius:var(--border-radius);display:inline-flex;font-size:.75rem;font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:.5px;padding:4px 8px;padding:var(--spacing-xs) var(--spacing-sm);text-transform:uppercase}.status-active{background:#d4edda;color:#155724}.status-inactive{background:#f8d7da;color:#721c24}.loading-modern{align-items:center;color:#636e72;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;padding:48px;padding:var(--spacing-2xl)}.spinner-modern{animation:spin 1s linear infinite;border:3px solid #e9ecef;border-top:3px solid #00d4aa;border:3px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:32px;margin-bottom:16px;margin-bottom:var(--spacing-md);width:32px}.fade-in{animation:fadeIn .6s ease-out}.slide-up{animation:slideUp .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.featured-section{margin-bottom:48px;margin-bottom:var(--spacing-2xl)}.featured-header{margin-bottom:32px;margin-bottom:var(--spacing-xl);text-align:center}.featured-title{color:#2d3436;color:var(--text-primary);font-size:2rem;font-weight:700;font-weight:var(--font-weight-bold);margin:0 0 8px;margin:0 0 var(--spacing-sm) 0}.featured-subtitle{color:#636e72;color:var(--text-secondary);font-size:1.125rem;margin:0}.featured-grid{grid-gap:24px;grid-gap:var(--spacing-lg);display:grid;gap:24px;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-group-modern{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.form-label-modern{color:#2d3436;color:var(--text-primary);display:block;font-weight:500;font-weight:var(--font-weight-medium);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.form-input-modern{background:#fff;background:var(--bg-primary);border:2px solid #e9ecef;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:16px;padding:var(--spacing-md);transition:border-color .2s ease;width:100%}.form-input-modern:focus{border-color:#00d4aa;border-color:var(--primary-color);outline:none}@media (max-width:768px){.modern-container{padding:16px;padding:var(--spacing-md)}.modern-header{flex-direction:column;gap:16px;gap:var(--spacing-md)}.header-title{font-size:2rem}.modern-grid{grid-template-columns:1fr}.stats-grid-modern{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.stats-grid-modern{grid-template-columns:1fr}.nav-links{flex-direction:column;gap:8px;gap:var(--spacing-sm)}}.meal-planning-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px}.meal-planning-header{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;overflow:hidden;padding:30px;position:relative}.meal-planning-header:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.header-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.meal-planning-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin:0;text-shadow:0 2px 4px #0000001a}.preferences-link-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .3s ease}.preferences-link-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.tab-buttons{background:#f8f9fa;border-radius:12px;box-shadow:inset 0 2px 4px #0000001a;display:flex;gap:0;padding:4px}.tab-buttons button{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;font-size:1.1rem;font-weight:600;overflow:hidden;padding:15px 30px;position:relative;transition:all .3s ease}.tab-buttons button:before{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.tab-buttons button:hover:before{left:100%}.tab-buttons button:hover{color:#333;transform:translateY(-1px)}.tab-buttons button.active{background:linear-gradient(135deg,#ff6b35,#f7931e);box-shadow:0 4px 15px #ff6b354d;color:#fff;transform:translateY(-2px)}.create-meal-plan{display:flex;flex-direction:column;gap:40px}.meal-plan-info-section,.recipe-search-section,.selected-recipes-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:35px;position:relative;transition:all .3s ease}.meal-plan-info-section:hover,.recipe-search-section:hover,.selected-recipes-section:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.meal-plan-info-section:before,.recipe-search-section:before,.selected-recipes-section:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.meal-plan-info-section h2,.recipe-search-section h2,.selected-recipes-section h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:25px;padding-bottom:15px;position:relative}.meal-plan-info-section h2:after,.recipe-search-section h2:after,.selected-recipes-section h2:after{background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.form-group{margin-bottom:25px;position:relative}.form-group label{font-size:1.1rem;font-weight:600;margin-bottom:10px}.form-group input,.form-group select,.form-group textarea{background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;font-family:inherit;font-size:1rem;padding:15px 20px;position:relative;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a;outline:none;transform:translateY(-2px)}.form-group input::placeholder,.form-group textarea::placeholder{color:#999;font-style:italic}.date-inputs{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.search-controls{display:flex;flex-direction:column;gap:15px}.search-type-selector{display:flex;flex-wrap:wrap;gap:10px}.search-type-selector button{background:#fff;border:2px solid #ddd;border-radius:5px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .3s ease}.search-type-selector button:hover{border-color:#ff6b35;color:#ff6b35}.search-type-selector button.active{background:#ff6b35;border-color:#ff6b35;color:#fff}.search-type-selector button:disabled{cursor:not-allowed;opacity:.6}.search-input-group{display:flex;gap:10px}.search-input-group input{border:1px solid #ddd;border-radius:5px;flex:1 1;font-size:1rem;padding:12px}.search-input-group button{background:#ff6b35;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:12px 30px;transition:background .3s ease}.search-input-group button:hover{background:#e55a2b}.search-input-group button:disabled{cursor:not-allowed;opacity:.6}.search-results{margin-top:25px}.search-results h3{color:#333;font-size:1.25rem;margin-bottom:15px}.recipe-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 15px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.recipe-card:before{background:linear-gradient(90deg,#ff6b35,#f7931e);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.recipe-card:hover:before{transform:scaleX(1)}.recipe-card:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-8px) scale(1.02)}.recipe-card img{height:200px;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-card:hover img{transform:scale(1.05)}.recipe-info{padding:20px;position:relative}.recipe-info h4{color:#333;font-size:1.1rem;margin-bottom:8px}.recipe-meta{font-size:.9rem;margin-bottom:10px}.match-info{color:#ff6b35;font-size:.85rem;font-weight:500;margin-bottom:10px}.cost-summary{background:#f8f9fa;border-left:3px solid #ff6b35;border-radius:5px;margin:10px 0;padding:10px}.cost-main{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.cost-label{color:#555;font-weight:500}.cost-value{color:#ff6b35;font-size:1.1rem;font-weight:700}.cupboard-info{color:#28a745}.cupboard-info,.specials-info{font-size:.85rem;margin:5px 0 0}.specials-info{color:#007bff}.allergen-info-banner{align-items:center;background:#e3f2fd;border:2px solid #2196f3;border-radius:8px;display:flex;gap:15px;justify-content:space-between;margin-top:20px;padding:15px}.allergen-info-banner p{color:#1565c0;font-size:.95rem;margin:0}.edit-filters-btn{background:#2196f3;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .3s ease;white-space:nowrap}.edit-filters-btn:hover{background:#1976d2}.add-recipe-btn{background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;overflow:hidden;padding:15px;position:relative;transition:all .3s ease;width:100%}.add-recipe-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.add-recipe-btn:hover:before{left:100%}.add-recipe-btn:hover{background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 20px #4caf5066;transform:translateY(-2px)}.empty-message{color:#999;font-size:1.1rem;padding:40px 20px;text-align:center}.selected-recipes-list{display:flex;flex-direction:column;gap:20px;margin-bottom:25px}.selected-recipe-item{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;display:flex;gap:20px;padding:20px}.selected-recipe-item img{border-radius:8px;height:120px;object-fit:cover;width:120px}.recipe-details{flex:1 1}.recipe-details h4{color:#333;font-size:1.2rem;margin-bottom:15px}.recipe-controls{display:flex;flex-wrap:wrap;gap:20px}.control-group{align-items:center;display:flex;gap:10px}.control-group label{color:#555;font-weight:500}.control-group input,.control-group select{border:1px solid #ddd;border-radius:5px;font-size:.95rem;padding:8px}.control-group input{width:70px}.original-servings{color:#999;font-size:.85rem}.remove-btn{align-items:center;align-self:flex-start;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:10px;box-shadow:0 2px 4px #ef444433;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;margin:0;opacity:.8;padding:0;transition:all .2s ease;width:32px}.remove-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #ef44444d;opacity:1;transform:translateY(-1px) scale(1.05)}.meal-plan-preview{background:#f0f8ff;border-radius:8px;margin-bottom:20px;padding:20px}.meal-plan-preview h3{color:#333;font-size:1.25rem;margin-bottom:15px}.preview-stats{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#fff;border-left:4px solid #ff6b35;border-radius:5px;display:flex;justify-content:space-between;padding:10px 15px}.stat-label{color:#666;font-weight:500}.stat-value{color:#333;font-size:1.1rem;font-weight:700}.save-meal-plan-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:15px;box-shadow:0 6px 20px #ff6b354d;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;overflow:hidden;padding:18px;position:relative;transition:all .3s ease;width:100%}.save-meal-plan-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.save-meal-plan-btn:hover:before{left:100%}.save-meal-plan-btn:hover{background:linear-gradient(135deg,#e55a2b,#e67e22);box-shadow:0 10px 25px #ff6b3566;transform:translateY(-3px)}.view-meal-plans h2{color:#333;font-size:1.75rem;margin-bottom:25px}.meal-plans-list{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.meal-plan-card{background:#fff;border-radius:20px;box-shadow:0 8px 25px #0000001a;overflow:hidden;padding:30px;position:relative;transition:all .3s ease}.meal-plan-card:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.meal-plan-card:hover{box-shadow:0 20px 40px #00000026;transform:translateY(-8px) scale(1.02)}.plan-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.plan-header h3{color:#333;font-size:1.3rem;margin:0}.status-badge{border-radius:20px;font-size:.85rem;font-weight:600;padding:5px 12px}.status-badge.active{background:#4caf50}.status-badge.inactive{background:#999}.plan-description{line-height:1.5}.plan-dates{color:#666;font-size:.95rem;margin-bottom:15px}.plan-stats{border-bottom:1px solid #e0e0e0;border-top:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:15px;padding:15px 0}.plan-stats span{color:#555;font-weight:600}.plan-actions{display:flex;gap:10px}.view-btn{background:#ff6b35;border:none;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:10px;transition:all .3s ease}.view-btn:hover{background:#e55a2b}.delete-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:10px;box-shadow:0 2px 4px #ef444433;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;height:32px;justify-content:center;margin:0;opacity:.8;padding:0;transition:all .2s ease;width:32px}.delete-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #ef44444d;opacity:1;transform:translateY(-1px) scale(1.05)}@media (max-width:768px){.meal-planning-header h1{font-size:2rem}.date-inputs,.recipe-cards{grid-template-columns:1fr}.selected-recipe-item{flex-direction:column}.selected-recipe-item img{height:200px;width:100%}.meal-plans-list,.preview-stats{grid-template-columns:1fr}.plan-actions{flex-direction:column}}.meal-plan-details-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1400px;min-height:100vh;padding:20px;position:relative}.back-btn{align-items:center;background:linear-gradient(135deg,#666,#555);border:none;border-radius:12px;box-shadow:0 4px 15px #6666664d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:8px;margin-bottom:30px;padding:12px 24px;transition:all .3s ease}.back-btn:hover{background:linear-gradient(135deg,#555,#444);box-shadow:0 6px 20px #6666;transform:translateY(-2px)}.meal-plan-header{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;overflow:hidden;padding:35px;position:relative}.meal-plan-header:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.header-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.meal-plan-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin:0;text-shadow:0 2px 4px #0000001a}.status-badge{border-radius:25px;box-shadow:0 4px 15px #0003;font-size:1rem;font-weight:700;padding:10px 20px;transition:all .3s ease}.status-badge.active{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.status-badge.inactive{background:linear-gradient(135deg,#999,#777);color:#fff}.plan-description{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:15px}.plan-dates{color:#555;font-size:1rem}.plan-dates strong{margin-right:10px}.meal-plan-summary{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;overflow:hidden;padding:35px;position:relative;transition:all .3s ease}.meal-plan-summary:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.meal-plan-summary:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.meal-plan-summary h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:25px;padding-bottom:15px;position:relative}.meal-plan-summary h2:after{background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{background:linear-gradient(135deg,#ff6b35,#f7931e);border-radius:15px;box-shadow:0 8px 25px #ff6b354d;color:#fff;display:flex;flex-direction:column;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.summary-item:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.summary-item:hover:before{left:100%}.summary-item:hover{box-shadow:0 15px 35px #ff6b3566;transform:translateY(-5px) scale(1.02)}.summary-label{font-size:.9rem;margin-bottom:8px;opacity:.9}.summary-value{font-size:1.8rem;font-weight:700}.recipes-by-meal-type{display:flex;flex-direction:column;gap:30px}.meal-type-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:35px;position:relative;transition:all .3s ease}.meal-type-section:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.meal-type-section:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.meal-type-section h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:25px;padding-bottom:15px;position:relative}.meal-type-section h2:after{background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.recipes-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.recipe-detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:16px;box-shadow:0 4px 15px #00000014;overflow:hidden;position:relative;transition:all .3s ease}.recipe-detail-card:before{background:linear-gradient(90deg,#ff6b35,#f7931e);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.recipe-detail-card:hover:before{transform:scaleX(1)}.recipe-detail-card:hover{box-shadow:0 15px 35px #00000026;transform:translateY(-8px) scale(1.02)}.recipe-detail-card img{height:240px;object-fit:cover;transition:transform .3s ease;width:100%}.recipe-detail-card:hover img{transform:scale(1.05)}.recipe-content{padding:20px}.recipe-content h3{color:#333;cursor:pointer;font-size:1.3rem;margin-bottom:15px;transition:color .3s ease}.recipe-content h3:hover{color:#ff6b35}.recipe-meta{color:#666;display:flex;font-size:.95rem;gap:15px;margin-bottom:15px}.recipe-pricing{background:#fff;border-left:4px solid #ff6b35;border-radius:8px;margin-bottom:15px;padding:15px}.pricing-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.pricing-row:last-child{margin-bottom:0}.pricing-row span{color:#666}.pricing-row strong{color:#333;font-size:1.1rem}.ingredients-list{margin-bottom:15px}.ingredients-list h4{color:#555;font-size:1rem;margin-bottom:10px}.ingredients-list ul{list-style:none;max-height:200px;overflow-y:auto;padding:0}.ingredients-list li{border-bottom:1px solid #e0e0e0;color:#666;font-size:.9rem;padding:8px 0}.ingredients-list li:last-child{border-bottom:none}.adjusted-indicator{color:#ff6b35;font-size:.8rem;font-style:italic;margin-left:8px}.view-recipe-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:12px;box-shadow:0 4px 15px #ff6b354d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;overflow:hidden;padding:15px;position:relative;transition:all .3s ease;width:100%}.view-recipe-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.view-recipe-btn:hover:before{left:100%}.view-recipe-btn:hover{background:linear-gradient(135deg,#e55a2b,#e67e22);box-shadow:0 6px 20px #ff6b3566;transform:translateY(-2px)}.loading-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.loading-overlay p{background:#fff;border-radius:10px;color:#333;font-size:1.2rem;font-weight:600;padding:30px 50px}@media (max-width:768px){.meal-plan-details-container{padding:15px}.meal-plan-header{padding:20px}.header-content{align-items:flex-start;flex-direction:column;gap:15px}.meal-plan-header h1{font-size:1.75rem}.recipes-grid,.summary-grid{grid-template-columns:1fr}.recipe-meta{flex-direction:column;gap:5px}}.ingredients-list ul::-webkit-scrollbar{width:6px}.ingredients-list ul::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.ingredients-list ul::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.ingredients-list ul::-webkit-scrollbar-thumb:hover{background:#555}.consolidated-ingredients-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;overflow:hidden;padding:35px;position:relative;transition:all .3s ease}.consolidated-ingredients-section:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.consolidated-ingredients-section:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.consolidated-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px}.consolidated-header .header-text{flex:1 1}.consolidated-ingredients-section h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:15px;padding-bottom:15px;position:relative}.consolidated-ingredients-section h2:after{background:linear-gradient(90deg,#4caf50,#45a049);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.consolidated-ingredients-section .section-description{color:#666;font-size:1rem;font-style:italic;margin-bottom:0}.calculate-consolidated-btn{align-items:center;background:linear-gradient(135deg,#4caf50,#45a049);border:none;border-radius:12px;box-shadow:0 4px 15px #4caf504d;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;font-weight:700;gap:10px;overflow:hidden;padding:15px 30px;position:relative;transition:all .3s ease;white-space:nowrap}.calculate-consolidated-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.calculate-consolidated-btn:hover:before{left:100%}.calculate-consolidated-btn:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);box-shadow:0 6px 20px #4caf5066;transform:translateY(-3px)}.calculate-consolidated-btn:disabled{cursor:not-allowed;opacity:.6}.calculate-consolidated-btn svg{height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.consolidated-pricing-section{border-top:2px solid #e0e0e0;margin-top:30px;padding-top:30px}.pricing-header{margin-bottom:20px}.pricing-header h3{color:#333;font-size:1.5rem;margin-bottom:8px}.pricing-description{color:#666;font-size:.95rem;font-style:italic}.consolidated-ingredients-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.consolidated-ingredient-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;box-shadow:0 4px 15px #00000014;padding:20px;position:relative;transition:all .3s ease}.consolidated-ingredient-card:before{background:linear-gradient(90deg,#4caf50,#45a049);content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.consolidated-ingredient-card:hover:before{transform:scaleX(1)}.consolidated-ingredient-card:hover{border-color:#4caf50;box-shadow:0 8px 25px #4caf5033;transform:translateY(-5px) scale(1.02)}.consolidated-ingredient-card .ingredient-info{display:flex;flex-direction:column;gap:8px}.consolidated-ingredient-card .ingredient-amount{color:#4caf50;font-size:1.2rem;font-weight:700}.consolidated-ingredient-card .ingredient-name{color:#333;font-size:1rem;font-weight:500}.consolidated-ingredient-card .ingredient-usage{margin-top:10px;position:relative}.consolidated-ingredient-card .usage-badge{background:#2196f3;border-radius:12px;color:#fff;cursor:help;display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px}.consolidated-ingredient-card .recipes-tooltip{background:#333;border-radius:8px;box-shadow:0 4px 12px #0000004d;color:#fff;display:none;font-size:.85rem;left:0;margin-top:8px;min-width:200px;padding:10px 15px;position:absolute;top:100%;z-index:10}.consolidated-ingredient-card .ingredient-usage:hover .recipes-tooltip{display:block}.consolidated-ingredient-card .recipe-name-item{line-height:1.4;padding:4px 0}@media (max-width:768px){.consolidated-header{align-items:stretch;flex-direction:column}.calculate-consolidated-btn{justify-content:center;width:100%}.consolidated-ingredients-grid{grid-template-columns:1fr}.consolidated-ingredients-section h2{font-size:1.4rem}}.preferences-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.preferences-header{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;margin-bottom:40px;overflow:hidden;padding:30px;position:relative}.preferences-header:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.preferences-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b35,#f7931e);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin:15px 0 10px;text-shadow:0 2px 4px #0000001a}.preferences-subtitle{color:#666;font-size:1.2rem;font-weight:500}.preferences-content{display:flex;flex-direction:column;gap:40px}.preference-section{background:#fff;border-radius:20px;box-shadow:0 10px 30px #0000001a;overflow:hidden;padding:35px;position:relative;transition:all .3s ease}.preference-section:hover{box-shadow:0 15px 40px #00000026;transform:translateY(-5px)}.preference-section:before{background:linear-gradient(90deg,#ff6b35,#f7931e,#4caf50,#2196f3);content:"";height:4px;left:0;position:absolute;right:0;top:0}.preference-section h2{color:#333;font-size:1.8rem;font-weight:700;margin-bottom:25px;padding-bottom:15px;position:relative}.preference-section h2:after{background:linear-gradient(90deg,#ff6b35,#f7931e);border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.preference-section h3{color:#555;font-size:1.25rem;margin:20px 0 15px}.dietary-restrictions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-bottom:20px}.cuisine-checkbox,.dietary-checkbox,.meal-prep-checkbox{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:12px;transition:all .3s ease}.cuisine-checkbox:hover,.dietary-checkbox:hover,.meal-prep-checkbox:hover{background:#fff5f2;border-color:#ff6b35}.cuisine-checkbox input,.dietary-checkbox input,.meal-prep-checkbox input{cursor:pointer;height:18px;margin-right:10px;width:18px}.cuisine-checkbox input:checked~span,.dietary-checkbox input:checked~span,.meal-prep-checkbox input:checked~span{color:#ff6b35;font-weight:600}.add-item-group{display:flex;gap:10px;margin-bottom:15px}.add-item-group input{border:1px solid #ddd;border-radius:5px;flex:1 1;font-size:1rem;padding:10px}.add-item-group button{background:#ff6b35;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:600;padding:10px 25px;transition:background .3s ease}.add-item-group button:hover{background:#e55a2b}.tags-list{display:flex;flex-wrap:wrap;gap:10px}.tag{background:#f0f0f0;border-radius:20px;display:inline-flex;font-size:.95rem;padding:8px 12px}.tag,.tag button{align-items:center}.tag button{background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;margin-left:8px;padding:0;width:20px}.tag button:hover{color:#f44336}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:500;margin-bottom:8px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:10px;width:100%}.form-group input:focus,.form-group select:focus{border-color:#ff6b35;outline:none}.meals-config{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.cuisines-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.cooking-time-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.cooking-time-item{display:flex;flex-direction:column}.cooking-time-item label{color:#555;font-weight:500;margin-bottom:5px}.cooking-time-item input{border:1px solid #ddd;border-radius:5px;padding:8px}.meal-prep-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.shopping-options{display:flex;flex-direction:column;gap:15px}.checkbox-label{align-items:center;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;padding:15px;transition:all .3s ease}.checkbox-label:hover{background:#fff5f2;border-color:#ff6b35}.checkbox-label input{cursor:pointer;height:20px;margin-right:12px;width:20px}.checkbox-label span{color:#333;font-size:1rem}.preferences-actions{display:flex;justify-content:center;margin-top:30px;padding:20px}.save-preferences-btn{background:linear-gradient(135deg,#ff6b35,#f7931e);border:none;border-radius:15px;box-shadow:0 6px 20px #ff6b354d;color:#fff;cursor:pointer;font-size:1.3rem;font-weight:700;overflow:hidden;padding:18px 60px;position:relative;transition:all .3s ease}.save-preferences-btn:before{background:linear-gradient(90deg,#0000,#ffffff4d,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.save-preferences-btn:hover:before{left:100%}.save-preferences-btn:hover{background:linear-gradient(135deg,#e55a2b,#e67e22);box-shadow:0 10px 25px #ff6b3566;transform:translateY(-3px)}.save-preferences-btn:disabled{cursor:not-allowed;opacity:.6}.allergy-tag{background:#dc3545!important;border-color:#dc3545!important}.disliked-tag{background:#ff6b35!important;border-color:#ff6b35!important}.section-description{color:#666;font-size:.9rem;line-height:1.5;margin-bottom:15px}@media (max-width:768px){.preferences-container{padding:15px}.preferences-header h1{font-size:2rem}.preference-section{padding:20px}.cooking-time-grid,.cuisines-grid,.dietary-restrictions-grid,.meals-config{grid-template-columns:1fr}.meal-prep-grid{grid-template-columns:1fr 1fr}}.admin-container{margin:0 auto;max-width:1200px;padding:2rem}.admin-header{margin-bottom:2rem}.admin-header h1{color:#333;font-size:2rem;margin-bottom:.5rem}.admin-subtitle{color:#666;font-size:1rem}.admin-error{background-color:#fee;border:1px solid #fcc;border-radius:4px;color:#c33}.admin-error,.admin-success{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem;position:relative}.admin-success{background-color:#efe;border:1px solid #cfc;border-radius:4px;color:#3c3}.error-close-btn,.success-close-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:1.5rem;line-height:1;margin-left:1rem;opacity:.7;padding:0;transition:opacity .2s}.error-close-btn:hover,.success-close-btn:hover{opacity:1}.admin-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.admin-search{flex:1 1;min-width:250px}.admin-search-input{border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;width:100%}.admin-filter{align-items:center;display:flex;gap:.5rem}.admin-filter label{color:#333;font-weight:500}.admin-filter-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem}.admin-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;padding:1.5rem;text-align:center}.stat-number{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-label{font-size:.9rem;opacity:.9}.admin-users-table{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;overflow:hidden}.admin-users-table table{border-collapse:collapse;width:100%}.admin-users-table thead{background-color:#f8f9fa}.admin-users-table th{border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:1rem;text-align:left}.admin-users-table td{border-bottom:1px solid #dee2e6;padding:1rem}.admin-users-table tbody tr:hover{background-color:#f8f9fa}.admin-users-table tbody tr:last-child td{border-bottom:none}.username-cell{align-items:center;display:flex;gap:.5rem}.admin-badge{background-color:#ff6b6b;border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.power-user-badge{background-color:#51cf66}.power-user-badge,.regular-user-badge{border-radius:12px;color:#fff;font-size:.85rem;font-weight:500;padding:.25rem .75rem}.regular-user-badge{background-color:#868e96}.toggle-button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:150px;padding:.5rem 1rem;transition:all .2s}.toggle-button:disabled{cursor:not-allowed;opacity:.6}.button-loading{animation:pulse 1.5s ease-in-out infinite;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.grant-power{background-color:#51cf66;color:#fff}.grant-power:hover{background-color:#40c057}.remove-power{background-color:#ff6b6b;color:#fff}.remove-power:hover{background-color:#fa5252}.no-results{color:#868e96;padding:2rem;text-align:center}.loading-spinner{color:#666;font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:768px){.admin-container{padding:1rem}.admin-users-table{overflow-x:auto}.admin-users-table table{min-width:800px}.admin-controls{flex-direction:column}.admin-search{min-width:100%}}.verify-email-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.verify-email-card{animation:slideUp .5s ease-out;background:#fff;border-radius:15px;box-shadow:0 10px 30px #0003;max-width:500px;padding:40px;text-align:center;width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.verify-email-card h2{color:#333;font-size:1.8rem;margin-bottom:20px}.verify-email-card p{color:#666;font-size:1rem;line-height:1.6;margin-bottom:15px}.success-icon{animation:bounce 1s ease-in-out}.error-icon,.success-icon{font-size:4rem;margin-bottom:20px}.error-icon{animation:shake .5s ease-in-out}.info-icon{color:#17a2b8;font-size:4rem;margin-bottom:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.redirect-message{color:#888;font-size:.9rem;font-style:italic;margin-top:20px}.login-button{background:#28a745;border-radius:5px;color:#fff;display:inline-block;font-weight:700;margin-top:20px;padding:12px 30px;text-decoration:none;transition:background-color .3s ease}.login-button:hover{background:#218838;color:#fff;text-decoration:none}.error-actions{display:flex;flex-direction:column;gap:15px;margin-top:30px}.resend-button{background:#007bff;border:none;border-radius:5px;color:#fff;cursor:pointer;font-weight:700;padding:12px 24px;transition:background-color .3s ease}.resend-button:hover{background:#0056b3}.register-link{color:#6c757d;font-weight:700;padding:10px;text-decoration:none;transition:color .3s ease}.register-link:hover{color:#495057;text-decoration:underline}.loading-spinner{margin:0 auto 20px}@media (max-width:600px){.verify-email-container{padding:10px}.verify-email-card{padding:30px 20px}.verify-email-card h2{font-size:1.5rem}.error-icon,.info-icon,.success-icon{font-size:3rem}.error-actions{flex-direction:column}}
/*# sourceMappingURL=main.3cd716e0.css.map*/