@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}:root{--color-green-500:#4caf50;--color-green-600:#43a047;--color-green-light:#c8e6c9;--color-orange-500:#ff5722;--color-orange-600:#f4511e;--color-orange-light:#ffccbc;--color-neutral-100:#f5f5f5;--color-neutral-200:#eee;--color-warm-bg:#fbf7f4;--color-warm-surface:#fdf8f5;--color-warm-card:#f9f5f1;--color-dark:#2c2c2c;--color-text-primary:#2c2c2c;--color-text-muted:#5c5c5c;--color-on-dark:#f2ebe3;--color-on-dark-muted:#e1d5c9;--background:var(--color-warm-bg);--foreground:var(--color-text-primary);--card:var(--color-warm-card);--card-foreground:var(--color-text-primary);--popover:var(--color-warm-card);--popover-foreground:var(--color-text-primary);--primary:var(--color-green-500);--primary-foreground:#fff;--secondary:var(--color-neutral-100);--secondary-foreground:var(--color-text-primary);--muted:var(--color-neutral-200);--muted-foreground:var(--color-text-muted);--accent:var(--color-orange-500);--accent-foreground:#fff;--destructive:#dc2626;--destructive-foreground:#fff;--border:var(--color-neutral-200);--input:var(--color-neutral-200);--ring:var(--color-green-500);--success:#16a34a;--success-foreground:#fff;--warning:#ca8a04;--warning-foreground:var(--color-text-primary);--info:#2563eb;--info-foreground:#fff;--link:var(--color-green-600);--link-hover:var(--color-green-500);--color-tiffany:var(--color-green-500);--shadow-color:#00000014;--shadow-sm:0 1px 4px #0000000f;--shadow-md:0 2px 8px #00000014;--shadow-lg:0 8px 32px #0000001f;--layout-content-max-width:960px;--layout-modal-width:480px;--layout-modal-wide-width:640px;--layout-auth-card-max-width:400px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--font-sans:"Poppins", sans-serif;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--foreground);background-color:var(--background);--font-medium:500;--font-semibold:600;--text-xs:.85rem;--text-sm:.9rem;--text-base:1rem;--text-lg:1.15rem;--text-xl:1.25rem;--text-2xl:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--radius:1rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--size-touch-target:44px;--size-input-height:40px;--size-button-min-height:44px;--size-icon-sm:1.25rem;--size-avatar:48px;--chart-1:var(--color-green-500);--chart-2:var(--color-orange-500);--chart-3:var(--color-green-light);--chart-4:var(--color-orange-light);--chart-5:var(--color-dark);--sidebar:var(--color-warm-card);--sidebar-foreground:var(--color-text-primary);--sidebar-primary:var(--color-green-500);--sidebar-primary-foreground:#fff;--sidebar-accent:var(--color-neutral-100);--sidebar-accent-foreground:var(--color-text-primary);--sidebar-border:var(--border);--sidebar-ring:var(--ring);font-weight:400;line-height:1.5}.dark{--background:#1a1a1a;--foreground:#f2ebe3;--card:#252525;--card-foreground:#f2ebe3;--popover:#252525;--popover-foreground:#f2ebe3;--primary:var(--color-green-500);--primary-foreground:#fff;--secondary:#2d2d2d;--secondary-foreground:#f2ebe3;--muted:#2d2d2d;--muted-foreground:#a8a8a8;--accent:var(--color-orange-500);--accent-foreground:#fff;--destructive:#ef4444;--destructive-foreground:#fff;--border:#ffffff1a;--input:#ffffff26;--ring:var(--color-green-500);--success:#22c55e;--success-foreground:#fff;--warning:#eab308;--warning-foreground:#1a1a1a;--info:#3b82f6;--info-foreground:#fff;--link:var(--color-green-light);--link-hover:var(--color-green-500);--shadow-color:#0000004d;--shadow-sm:0 1px 4px #0003;--shadow-md:0 2px 8px #00000040;--shadow-lg:0 8px 32px #00000059;--chart-1:var(--color-green-light);--chart-2:var(--color-orange-light);--chart-3:var(--color-green-500);--chart-4:var(--color-orange-500);--chart-5:#f2ebe3;--sidebar:#252525;--sidebar-foreground:#f2ebe3;--sidebar-primary:var(--color-green-500);--sidebar-primary-foreground:#fff;--sidebar-accent:#2d2d2d;--sidebar-accent-foreground:#f2ebe3;--sidebar-border:#ffffff1a;--sidebar-ring:var(--color-green-500)}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-orange-500:oklch(70.5% .213 47.604);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-md:28rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab,red,red)){*{outline-color:color-mix(in oklab,var(--ring) 50%,transparent)}}body{background-color:var(--color-warm-bg);color:var(--foreground)}}@layer components;@layer utilities{.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:calc(var(--spacing) * 0)}.top-1\/2{top:50%}.top-8{top:calc(var(--spacing) * 8)}.right-2{right:calc(var(--spacing) * 2)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.max-h-4{max-height:calc(var(--spacing) * 4)}.min-h-4{min-height:calc(var(--spacing) * 4)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-\[var\(--size-button-min-height\)\]{min-height:var(--size-button-min-height)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-full{width:100%}.max-w-4{max-width:calc(var(--spacing) * 4)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-md{max-width:var(--container-md)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-9{min-width:calc(var(--spacing) * 9)}.min-w-\[200px\]{min-width:200px}.flex-none{flex:none}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-blue-100{border-color:var(--color-blue-100)}.border-current{border-color:currentColor}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-9{padding-right:calc(var(--spacing) * 9)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.\!text-lg{font-size:var(--text-lg)!important;line-height:var(--tw-leading,var(--text-lg--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-600{color:var(--color-green-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.group-data-\[disabled\=true\]\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\[disabled\=true\]\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.file\:mr-4::file-selector-button{margin-right:calc(var(--spacing) * 4)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-7::file-selector-button{height:calc(var(--spacing) * 7)}.file\:rounded-full::file-selector-button{border-radius:3.40282e38px}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:px-4::file-selector-button{padding-inline:calc(var(--spacing) * 4)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:font-semibold::file-selector-button{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.file\:text-white::file-selector-button{color:var(--color-white)}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50\/50:hover{background-color:#f9fafb80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-50\/50:hover{background-color:color-mix(in oklab,var(--color-gray-50) 50%,transparent)}}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:file\:bg-green-600:hover::file-selector-button{background-color:var(--color-green-600)}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:translate-y-0:active{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.has-\[height\]\:h-auto:has(:is(height)){height:auto}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;font-family:var(--font-sans);flex-direction:column;margin:0;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}a{color:var(--primary);font-weight:500;text-decoration:none}a:hover{color:var(--accent)}button{border-radius:var(--radius);border:1px solid var(--border);background-color:var(--secondary);color:var(--secondary-foreground);cursor:pointer;padding:.6em 1.2em;font-family:inherit;font-size:1rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}button:hover{background-color:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}input{font-family:inherit}h1{color:var(--foreground);font-size:1.75rem;line-height:1.2}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@media(max-width:768px){.app,.site-footer__inner{max-width:100%;padding-left:var(--space-4);padding-right:var(--space-4)}.site-body{padding-left:var(--space-4);padding-right:var(--space-4)}}@media(max-width:640px){.modal-overlay{padding:0;align-items:stretch}.modal,.modal--wide{max-width:100%;max-height:100%;border-radius:0}}.site-body{flex:1;padding:var(--space-6) var(--space-4)}.app{max-width:var(--layout-content-max-width);margin:0 auto}.app--centered{text-align:center;padding:var(--space-8);color:var(--foreground)}.site-footer{background:var(--primary);color:var(--primary-foreground);padding:var(--space-4);margin-top:auto}.site-footer__inner{max-width:var(--layout-content-max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm)}.site-footer__domain{color:var(--primary-foreground);font-weight:var(--font-medium);opacity:.95}.calculator h1,.cabinet h1,.auth-page h1{margin-top:0;color:var(--foreground);border-bottom:2px solid var(--primary);padding-bottom:var(--space-2)}.calculator-mode-toggles{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);width:100%;justify-content:center}.calculator-mode-toggles__btn{flex:1 1 0;min-width:140px;padding:var(--space-2) var(--space-4);font-size:var(--text-base);font-weight:var(--font-medium);color:var(--foreground);background:var(--card);border:1px solid var(--border);border-radius:9999px;cursor:pointer;transition:background .2s,border-color .2s,color .2s;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.calculator-mode-toggles__btn:hover:not(:disabled){background:var(--background);border-color:var(--primary);color:var(--foreground)}.calculator-mode-toggles__btn--active{background:var(--secondary);border-color:var(--primary);color:var(--foreground)}.calculator-mode-toggles__btn--active:hover{background:var(--secondary);border-color:var(--primary)}.calculator-mode-toggles__btn--disabled,.calculator-mode-toggles__btn:disabled{opacity:.75;cursor:not-allowed}.calculator-mode-toggles__pro-icon{display:inline-flex;align-items:center;justify-content:center;width:1.15em;height:1.15em;font-size:.9em;font-weight:var(--font-semibold);color:var(--primary);border:1px solid currentColor;border-radius:50%;cursor:help;flex-shrink:0}.from-recipe-stub{padding:var(--space-5);margin-bottom:var(--space-4);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);color:var(--foreground)}.from-recipe-stub__text{margin:0 0 1rem;line-height:1.5}.from-recipe-stub__inputs{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-bottom:1rem}.from-recipe-stub__inputs label{display:flex;align-items:center;gap:.5rem;font-weight:500}.from-recipe-stub__inputs input{padding:.4rem .5rem;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);min-width:200px}.from-recipe-stub__inputs input:disabled{opacity:.7;cursor:not-allowed}.from-recipe-stub__pro{margin:0;font-size:var(--text-sm);color:var(--primary);font-weight:var(--font-medium)}.controls{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);margin-bottom:var(--space-4);align-items:center;padding:var(--space-4);background:var(--muted);border-radius:var(--radius-xl);border:1px solid var(--border)}.controls label{display:flex;align-items:center;gap:.35rem;color:var(--foreground);font-weight:var(--font-medium)}.controls input[type=number]{width:5rem;padding:.4rem;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--card)}.controls-recalc{flex-basis:100%;max-width:280px;margin-top:.25rem}.controls input:focus{outline:2px solid var(--ring);outline-offset:0}.output-mass,.calories-per-portion{color:var(--foreground);margin:var(--space-1) 0}.output-mass strong,.calories-per-portion strong{color:var(--foreground)}.recipe-url{display:block;margin-bottom:1rem}.recipe-url input{width:100%;max-width:400px;padding:var(--space-2);border:1px solid var(--input);border-radius:var(--radius-md);background:var(--card)}.ingredients-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-4);background:var(--card);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border)}.ingredients-table th,.ingredients-table td{padding:.65rem .75rem;text-align:left;border-bottom:1px solid var(--muted);font-size:var(--text-base)}.ingredients-table thead{background:var(--muted);color:var(--foreground)}.ingredients-table th{font-weight:var(--font-semibold)}.ingredients-table input{width:100%;min-width:60px;padding:.4rem;border:1px solid var(--input);border-radius:var(--radius-sm);background:var(--background)}.ingredient-combobox{position:relative;width:100%;min-width:120px}.ingredient-combobox input{width:100%;min-width:0;font-size:1rem}.ingredient-combobox__list{position:absolute;left:0;right:0;top:100%;margin:0;padding:0;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:280px;overflow-y:auto;z-index:20;font-size:var(--text-base)}.ingredient-combobox__option{padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--muted);font-size:var(--text-base)}.ingredient-combobox__option:last-child{border-bottom:none}.ingredient-combobox__option:hover,.ingredient-combobox__option:focus-within{background:var(--accent)}.ingredients-table td:last-child{width:2.5rem}.ingredients-table__cal-readonly{min-width:5rem;text-align:center;color:var(--foreground);font-weight:var(--font-medium)}.ingredients-table__cal-total{min-width:8rem;text-align:center;white-space:nowrap;color:var(--foreground);font-weight:var(--font-medium)}.ingredients-table__footer-row{background:var(--muted);font-weight:var(--font-semibold);font-size:var(--text-base)}.ingredients-table__footer-row td{border-top:2px solid var(--input);padding:var(--space-3)}.calculator-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem}.calculator-favorite-btn{background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--link-hover)!important}.calculator-favorite-btn:hover{background:var(--link-hover)!important;color:var(--primary-foreground)!important}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.modal{background:var(--card);border-radius:var(--radius-2xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);max-width:var(--layout-modal-width);width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal h2{margin:0;padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border);font-size:var(--text-xl)}.modal form{padding:var(--space-6);overflow-y:auto}.modal label{display:block;margin-bottom:var(--space-2);color:var(--foreground);font-weight:var(--font-medium)}.modal input[type=text]{width:100%;padding:.6rem;margin-bottom:var(--space-4);border:1px solid var(--input);border-radius:var(--radius-lg);background:var(--background)}.tag-autocomplete{position:relative;border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background);padding:.25rem .5rem;min-height:2.5rem}.tag-autocomplete-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.tag-autocomplete-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.2em .5em;font-size:.85rem;background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius-sm)}.tag-autocomplete-chip-remove{padding:0 .15em;background:none;border:none;cursor:pointer;font-size:1.1em;line-height:1;color:inherit;opacity:.8}.tag-autocomplete-chip-remove:hover{opacity:1}.tag-autocomplete-input{flex:1;min-width:120px;padding:.25em 0;border:none;background:none;font:inherit;color:var(--foreground);outline:none}.tag-autocomplete-list{position:absolute;left:0;right:0;top:100%;margin:0;padding:.25rem 0;list-style:none;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);max-height:220px;overflow-y:auto;z-index:10}.tag-autocomplete-option{padding:.4rem .75rem;cursor:pointer;font-size:var(--text-sm)}.tag-autocomplete-option:hover{background:var(--muted)}.tag-autocomplete-option--create{color:var(--primary);font-style:italic}.modal-tag-filter{margin-bottom:.75rem!important}.modal-tags{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-3);margin-bottom:var(--space-4);background:var(--background);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.modal-tag{display:inline-flex;align-items:center;gap:.35rem;margin:0!important;font-weight:400!important;cursor:pointer;white-space:nowrap}.modal-tag input{margin:0!important;width:auto}.modal-actions{display:flex;gap:.75rem;margin-top:1rem}.modal-actions button{flex:1}.modal-status{margin-top:.75rem;margin-bottom:0}.ingredients-table td:last-child button{padding:.25em .5em;min-width:2rem;border-color:var(--primary);color:var(--foreground)}.ingredients-table td:last-child button:hover{background:var(--secondary);color:var(--foreground)}.calculator>button{margin-bottom:var(--space-4);background:var(--secondary);border-color:var(--primary);color:var(--foreground)}.calculator>button:hover{background:var(--primary);color:var(--primary-foreground)}.save-recipe{margin-top:var(--space-6);padding:var(--space-5);background:var(--accent);border-radius:var(--radius-xl);border:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.save-recipe label{color:var(--foreground);font-weight:var(--font-medium)}.save-recipe input{padding:var(--space-2);border:1px solid var(--input);border-radius:var(--radius-md);margin-left:var(--space-2);min-width:200px}.save-recipe button{background:var(--primary);color:var(--primary-foreground);border-color:var(--link-hover)}.save-recipe button:hover{background:var(--link-hover);color:var(--primary-foreground)}.save-ok{color:var(--foreground);font-weight:var(--font-medium)}.save-err{color:var(--destructive);font-weight:var(--font-medium)}.cabinet-header{margin-bottom:1rem}.cabinet-header h1{margin-bottom:.75rem}.cabinet-top-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.cabinet-top-row .cabinet-search{flex:0 0 auto;margin-right:auto}.cabinet-view-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.cabinet-view-label{font-size:var(--text-sm);color:var(--muted-foreground)}.cabinet-view-toggle{display:flex;gap:0}.cabinet-view-toggle button{padding:.4em .5em;background:var(--muted);border:1px solid var(--border);color:var(--muted-foreground)}.cabinet-view-toggle button:first-child{border-radius:var(--radius-md) 0 0 var(--radius-md)}.cabinet-view-toggle button:last-child{border-radius:0 var(--radius-md) var(--radius-md) 0}.cabinet-view-toggle button+button{margin-left:-1px}.cabinet-view-toggle button:hover{color:var(--foreground);background:var(--background)}.cabinet-view-toggle button.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.cabinet-add-btn{background:var(--primary)!important;color:var(--primary-foreground)!important;border-color:var(--link-hover)!important}.cabinet-add-btn:hover{background:var(--link-hover)!important;color:var(--primary-foreground)!important}.cabinet-search{width:400px;max-width:100%;padding:.5em .75em;font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground)}.cabinet-search::placeholder{color:var(--muted-foreground)}.cabinet-item-main{display:flex;align-items:center;gap:var(--space-4)}.cabinet-item-img{width:var(--size-avatar);height:var(--size-avatar);object-fit:cover;border-radius:var(--radius-md);flex-shrink:0}.cabinet-item-info{flex:1;min-width:0}.cabinet-item-meta{margin-top:.25rem}.cabinet-item-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.125rem}.cabinet-tag{display:inline-block;padding:.15em .5em;font-size:.75rem;background:var(--muted);color:var(--muted-foreground);border-radius:var(--radius-sm)}.cabinet-item-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0;padding:var(--space-2) var(--space-3)}.modal--wide{max-width:var(--layout-modal-wide-width)}.cabinet-list{list-style:none;padding:0;margin:0}.cabinet-list--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.cabinet-list--grid .cabinet-card{margin-bottom:0;flex-direction:column}.cabinet-list--grid .cabinet-card-main{flex-direction:column;align-items:stretch;text-align:left}.cabinet-list--grid .cabinet-item-img{width:100%;height:140px;min-height:140px;border-radius:var(--radius-xl) var(--radius-xl) 0 0}.cabinet-list--grid .cabinet-item-actions{justify-content:flex-end}.cabinet-list--list{display:flex;flex-direction:column;gap:var(--space-4)}.cabinet-list--list .cabinet-card{margin-bottom:0}.cabinet-list--list .cabinet-card-main{align-items:stretch}.cabinet-list--list .cabinet-item-img{width:140px;min-width:140px;height:auto;min-height:100px;object-fit:cover}.cabinet-list li.cabinet-card{padding:0;margin-bottom:var(--space-3);background:var(--card);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:stretch;overflow:hidden}.cabinet-card-main{flex:1;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:inherit;min-width:0}.cabinet-card-main:hover{background:var(--muted)}.cabinet-btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--muted-foreground)}.cabinet-btn-icon:hover{color:var(--foreground);background:var(--muted)}.cabinet-btn-icon--danger:hover{color:var(--destructive, #dc2626)}.cabinet-list li{padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);background:var(--card);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-sm);display:flex;justify-content:space-between;align-items:center}.cabinet-list li:hover{border-color:var(--primary)}.cabinet-list a{color:var(--foreground)}.cabinet-list a:hover{color:var(--primary)}.cabinet-list button{padding:.4em .8em;font-size:var(--text-sm)}.recipe-view-modal h2{margin-top:0}.recipe-view-image{margin:1rem 0}.recipe-view-image img{max-width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius-md)}.recipe-view-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1rem}.recipe-view-modal .cabinet-tag{font-size:.8rem}.recipe-view-description,.recipe-view-ingredients{margin:1.25rem 0}.recipe-view-description h3,.recipe-view-ingredients h3{font-size:1rem;margin:0 0 .5rem}.recipe-view-description-body{font-size:var(--text-sm);line-height:1.5}.recipe-view-description-body ul,.recipe-view-description-body ol{margin:.5em 0;padding-left:1.5em;list-style-position:outside}.recipe-view-description-body ul{list-style-type:disc}.recipe-view-description-body ol{list-style-type:decimal}.recipe-view-ingredients-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.recipe-view-ingredients-table th,.recipe-view-ingredients-table td{padding:.35rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.recipe-view-ingredients-table th{font-weight:600;color:var(--muted-foreground)}.recipe-view-url{font-size:var(--text-sm);margin:.75rem 0}.recipe-view-url a{color:var(--primary);word-break:break-all}.recipe-view-meta{font-size:var(--text-sm);color:var(--muted-foreground);margin:0 0 1rem}.recipe-view-modal .modal-actions{margin-top:1rem}.btn-primary{background:var(--primary)!important;color:var(--primary-foreground)!important}.btn-primary:hover{background:var(--link-hover)!important;color:var(--primary-foreground)!important}.auth-page{max-width:var(--layout-auth-card-max-width);margin:0 auto;padding:var(--space-8);background:var(--card);border-radius:var(--radius-2xl);border:1px solid var(--border);box-shadow:var(--shadow-md)}.auth-page h1{margin-top:0}.auth-page__options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:0}.auth-page__options .flex{align-items:center}.auth-page [data-slot=checkbox]{width:1rem;height:1rem;min-width:1rem;min-height:1rem;flex:0 0 1rem}.auth-page__forgot{font-size:var(--text-sm);color:var(--link);text-decoration:none;line-height:1.5;flex-shrink:0}.auth-page__forgot:hover{color:var(--link-hover)}.auth-page__submit{width:100%;padding:var(--space-3);margin-bottom:var(--space-5);background:var(--primary);color:var(--primary-foreground);border-color:var(--link-hover)}.auth-page__submit:hover{background:var(--link-hover);color:var(--primary-foreground)}.auth-page__divider{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);color:var(--foreground);font-size:var(--text-sm)}.auth-page__divider:before,.auth-page__divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-page__social{display:flex;flex-direction:column;gap:.75rem}.auth-page__social--row{flex-direction:column;gap:.75rem}.auth-page__social--row .auth-page__social-btn{display:flex;width:100%;min-width:0;box-sizing:border-box}.auth-page__social--row .auth-page__telegram-wrap{min-width:0}.auth-page__social-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1rem;border-radius:8px;font-weight:500;text-decoration:none;transition:background .2s,border-color .2s;border:1px solid transparent}.auth-page__google-btn{background:var(--card);color:var(--foreground);border-color:var(--border)}.auth-page__google-btn:hover{background:var(--muted);border-color:var(--input);color:var(--foreground)}.auth-page__google-icon{width:var(--size-icon-sm);height:var(--size-icon-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-base);color:#fff;background:#4285f4;border-radius:2px}.auth-page__telegram-wrap{display:flex;align-items:center;justify-content:center}.auth-page__telegram-wrap .telegram-widget{margin:0;padding:0}.auth-page__telegram-wrap .telegram-widget p{display:none}.auth-page__register{margin-top:var(--space-6);margin-bottom:0;text-align:center;color:var(--foreground);font-size:.95rem}.auth-page__register .auth-page__link-btn,.auth-page__register .auth-page__register-link{margin-left:var(--space-1)}.auth-page__register-link{color:var(--link);font-weight:var(--font-medium);text-decoration:underline}.auth-page__register-link:hover{color:var(--link-hover)}.auth-page form button[type=submit]{width:100%;padding:var(--space-3);margin-top:var(--space-2);background:var(--primary);color:var(--primary-foreground);border-color:var(--link-hover)}.auth-page form button[type=submit]:hover{background:var(--link-hover);color:var(--primary-foreground)}.auth-page__success{color:var(--success);margin-bottom:var(--space-4)}.auth-page__secondary{margin-top:.75rem;margin-bottom:.5rem;text-align:center}.auth-page__link-btn{width:auto;margin:0;padding:0;background:none;border:none;color:var(--link);font-size:inherit;font-weight:var(--font-medium);cursor:pointer;text-decoration:underline}.auth-page__link-btn:hover{color:var(--link-hover);background:transparent}.telegram-widget{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--muted);text-align:center}.telegram-widget--compact{margin-top:0;padding-top:0;border-top:none}.telegram-widget p{color:var(--foreground);margin-bottom:var(--space-2)}.telegram-widget__placeholder{font-size:var(--text-sm);color:var(--foreground);opacity:.85;margin-top:var(--space-1)}.errors{color:var(--destructive);margin-bottom:var(--space-4);padding:var(--space-2);background:var(--accent);border-radius:var(--radius-md);border:1px solid var(--border)}.recipe-editor{border:1px solid var(--input);border-radius:var(--radius-lg);overflow:hidden;background:var(--background);margin-bottom:var(--space-4)}.recipe-editor-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2);background:var(--muted);border-bottom:1px solid var(--border)}.recipe-editor-toolbar button{padding:.35em .6em;font-size:var(--text-sm);min-width:2rem}.recipe-editor-toolbar button.active{background:var(--secondary);border-color:var(--primary)}.toolbar-sep{width:1px;background:var(--border);margin:0 var(--space-1)}.recipe-editor-content{min-height:120px;padding:var(--space-3) var(--space-4);outline:none}.recipe-editor-content--resize{resize:vertical;overflow-y:auto}.recipe-editor-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.recipe-editor-content[data-empty=true]:before{content:attr(data-placeholder);color:var(--muted-foreground);pointer-events:none}.recipe-editor-content p{margin:0 0 .5rem}.recipe-editor-content ul,.recipe-editor-content ol{margin:.5rem 0;padding-left:1.5rem;list-style-position:outside}.recipe-editor-content ul{list-style-type:disc}.recipe-editor-content ol{list-style-type:decimal}.recipe-editor-content img{max-width:100%;height:auto}.recipe-editor-content hr{border:none;border-top:1px solid var(--border);margin:var(--space-4) 0}.recipe-editor-content a{text-decoration:underline}.add-recipe-ingredients{margin-bottom:1rem}.add-recipe-ingredient-header{display:flex;gap:.5rem;margin-bottom:.25rem;padding-right:.25rem;font-size:.85rem;color:var(--muted-foreground)}.add-recipe-ingredient-header span:first-child{flex:2;min-width:120px}.add-recipe-ingredient-header span:nth-child(2),.add-recipe-ingredient-header span:nth-child(3){width:5rem;flex-shrink:0}.add-recipe-ingredient-header span:nth-child(4),.add-recipe-ingredient-actions-col{width:2.5rem;flex-shrink:0}.add-recipe-ingredient-row{display:flex;gap:.5rem;margin-bottom:.5rem;align-items:center}.add-recipe-ingredient-row .ingredient-combobox{flex:2;min-width:120px}.add-recipe-ingredient-row input{padding:var(--space-2);border:1px solid var(--input);border-radius:var(--radius-md);background:var(--background)}.add-recipe-ingredient-row>input{width:5rem}.add-recipe-ingredient-row .add-recipe-ingredient-kcal{width:2.5rem;flex-shrink:0;font-size:.9rem;color:var(--muted-foreground)}.add-recipe-ingredient-row button{padding:.25em .5em;min-width:2rem}.add-recipe-add-ingredient{margin-top:var(--space-2);background:var(--muted)!important;border-color:var(--input)!important}.add-recipe-dropzone{border:2px dashed var(--input);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;cursor:pointer;background:var(--background);transition:border-color .2s,background .2s;min-height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4)}.add-recipe-dropzone:hover,.add-recipe-dropzone.drag-over{border-color:var(--primary);background:var(--accent)}.add-recipe-dropzone-text{color:var(--foreground);font-size:.95rem}.add-recipe-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.add-recipe-preview{max-width:100%;max-height:200px;object-fit:contain;border-radius:var(--radius-md)}
