﻿/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:Inter, system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-700:oklch(50% .134 242.749);--color-sky-800:oklch(44.3% .11 240.79);--color-sky-900:oklch(39.1% .09 240.876);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-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-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:8px;--radius-md:16px;--radius-lg:20px;--radius-xl:24px;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #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);--color-background:#fafaf9;--color-foreground:#0f0f0f;--color-accent:#84cc16;--color-accent-hover:#65a30d;--color-accent-foreground:#fff;--color-border:#e7e5e4;--color-muted:#78716c;--color-muted-foreground:#a8a29e;--color-surface:#fff;--color-surface-raised:#f5f5f4;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-brand-red:#ec1f27;--color-brand-red-hover:#c41920;--radius-full:9999px}}@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;-webkit-text-decoration: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}*,:before,:after{box-sizing:border-box}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.static{position:static}.col-span-2{grid-column:span 2/span 2}.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}}.ms-1{margin-inline-start:calc(var(--spacing) * 1)}.ms-2{margin-inline-start:calc(var(--spacing) * 2)}.me-2{margin-inline-end:calc(var(--spacing) * 2)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.w-9{width:calc(var(--spacing) * 9)}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.flex-shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.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}.flex-col{flex-direction:column}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0{gap:calc(var(--spacing) * 0)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-8{gap:calc(var(--spacing) * 8)}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.border-amber-100{border-color:var(--color-amber-100)}.border-border{border-color:var(--color-border)}.border-danger{border-color:var(--color-danger)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-red-100{border-color:var(--color-red-100)}.border-sky-100{border-color:var(--color-sky-100)}.bg-accent{background-color:var(--color-accent)}.bg-accent\/10{background-color:#84cc161a}@supports (color:color-mix(in lab, red, red)){.bg-accent\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-background{background-color:var(--color-background)}.bg-brand-red{background-color:var(--color-brand-red)}.bg-danger{background-color:var(--color-danger)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-muted{background-color:var(--color-muted)}.bg-red-50{background-color:var(--color-red-50)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-success{background-color:var(--color-success)}.bg-surface{background-color:var(--color-surface)}.bg-surface-raised{background-color:var(--color-surface-raised)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[32px\]{font-size:32px}.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-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.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-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.text-accent{color:var(--color-accent)}.text-accent-foreground{color:var(--color-accent-foreground)}.text-amber-500{color:var(--color-amber-500)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-danger{color:var(--color-danger)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-foreground{color:var(--color-foreground)}.text-muted{color:var(--color-muted)}.text-muted-foreground{color:var(--color-muted-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-sky-500{color:var(--color-sky-500)}.text-sky-700{color:var(--color-sky-700)}.text-sky-800{color:var(--color-sky-800)}.text-sky-900{color:var(--color-sky-900)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-foreground{accent-color:var(--color-foreground)}.opacity-50{opacity:.5}.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-hover{--tw-shadow:0 2px 8px var(--tw-shadow-color,#0000000f);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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + 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)}.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-all{transition-property:all;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))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.16\,1\,0\.3\,1\)\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-muted-foreground::placeholder{color:var(--color-muted-foreground)}@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-accent-hover:hover{background-color:var(--color-accent-hover)}.hover\:bg-brand-red-hover:hover{background-color:var(--color-brand-red-hover)}.hover\:bg-surface-raised:hover{background-color:var(--color-surface-raised)}.hover\:text-foreground:hover{color:var(--color-foreground)}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-hover:hover{--tw-shadow:0 2px 8px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:border-accent:focus{border-color:var(--color-accent)}.focus\:border-danger:focus{border-color:var(--color-danger)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\:ring-accent\/10:focus{--tw-ring-color:#84cc161a}@supports (color:color-mix(in lab, red, red)){.focus\:ring-accent\/10:focus{--tw-ring-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.focus\:ring-red-100:focus{--tw-ring-color:var(--color-red-100)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@keyframes c-progress-in{0%{width:0}to{width:var(--c-pw,100%)}}:root{--brand:#ec1f27;--brand-dark:#c8181f;--brand-soft:#fef0f1;--brand-glow:#ec1f272e;--bg:#f6f7f9;--surface:#fff;--surface-2:#f4f6f8;--surface-soft:#fafbfc;--border:#e6e8ec;--border-strong:#cdd2da;--text-1:#0f172a;--text-2:#475569;--text-3:#94a3b8;--text-inverse:#fff;--success:#10b981;--success-soft:#ecfdf5;--warning:#f59e0b;--warning-soft:#fffbeb;--danger:#ef4444;--danger-soft:#fef2f2;--info:#0ea5e9;--info-soft:#f0f9ff;--macro-protein:#ec1f27;--macro-carb:#2563eb;--macro-fat:#f59e0b;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-pill:9999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 6px #0f172a0d;--shadow-md:0 4px 16px #0f172a0f;--shadow-lg:0 12px 32px #0f172a14;--shadow-brand:0 8px 24px #ec1f2738;--t-fast:.14s cubic-bezier(.4, 0, .2, 1);--t-med:.24s cubic-bezier(.4, 0, .2, 1);--t-smooth:cubic-bezier(.16, 1, .3, 1);--amber-soft:#fef3c7}@media (prefers-color-scheme:dark){:root{--bg:#0d0d0f;--surface:#18181b;--surface-2:#27272a;--surface-soft:#1f1f22;--border:#3f3f46;--border-strong:#52525b;--text-1:#fafafa;--text-2:#a1a1aa;--text-3:#52525b;--text-inverse:#09090b;--brand-soft:#ec1f2726;--brand-glow:#ec1f2724;--success-soft:#10b9811f;--warning-soft:#f59e0b1f;--danger-soft:#ef44441f;--info-soft:#0ea5e91f;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px #00000059;--shadow-md:0 4px 16px #0006;--shadow-lg:0 12px 32px #00000073}}html,body{font-family:var(--font-sans);color:var(--text-1);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;padding:0;font-size:14px;line-height:1.55}h1,h2,h3,h4,h5,h6{color:var(--text-1);margin:0;font-weight:600;line-height:1.25}h1{letter-spacing:-.01em;font-size:24px}h2{letter-spacing:-.005em;font-size:18px}h3{font-size:15px}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brand-dark)}button{cursor:pointer;font-family:inherit}.num,.font-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:var(--space-5) var(--space-4);gap:var(--space-5);flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{padding:var(--space-2) var(--space-3);align-items:center;gap:10px;display:flex}.sidebar-brand img{width:auto;height:30px}.sidebar-brand .brand-text{flex-direction:column;display:flex}.sidebar-brand .brand-name{color:var(--text-1);font-size:14px;font-weight:600;line-height:1.1}.sidebar-brand .brand-sub{color:var(--text-3);letter-spacing:.04em;font-size:11px}.sidebar-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);padding:0 var(--space-3);margin:0 0 var(--space-2);font-size:10px;font-weight:600}.sidebar-nav{flex-direction:column;gap:2px;display:flex}.sidebar-nav a{color:var(--text-2);border-radius:var(--r-md);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;display:flex}.sidebar-nav a:hover{background:var(--surface-2);color:var(--text-1)}.sidebar-nav a.active{background:var(--brand-soft);color:var(--brand-dark);font-weight:600}.sidebar-nav a i{flex-shrink:0;font-size:16px}.sidebar-footer{padding:var(--space-3);background:var(--surface-2);border-radius:var(--r-md);color:var(--text-3);margin-top:auto;font-size:11.5px;line-height:1.5}.sidebar-footer strong{color:var(--text-2);font-weight:600}.main{flex-direction:column;min-width:0;display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);height:64px;padding:0 var(--space-7);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar-title{font-size:16px;font-weight:600}.topbar-actions{align-items:center;gap:var(--space-3);display:flex}.topbar-actions a{color:var(--text-2);border-radius:var(--r-md);transition:background var(--t-fast);align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.topbar-actions a:hover{background:var(--surface-2);color:var(--text-1)}.content{padding:var(--space-7);width:100%;max-width:1180px;margin:0 auto}.content-narrow{max-width:880px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-6);box-shadow:var(--shadow-xs)}.card.flat{box-shadow:none}.card.soft{background:var(--surface-2);border-color:#0000}.section-title{margin-bottom:var(--space-5);align-items:flex-start;gap:12px;display:flex}.section-title h2{font-size:17px}.section-title p{color:var(--text-3);margin-top:2px;font-size:13px}.num-circle{background:var(--brand-soft);width:32px;height:32px;color:var(--brand);border-radius:var(--r-md);flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.num-circle i{font-size:15px}.field{flex-direction:column;gap:6px;display:flex}.field label,.field .field-label{color:var(--text-2);font-size:12.5px;font-weight:500}.field .field-hint{color:var(--text-3);font-size:11.5px}.input,.textarea,.select{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-1);transition:border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast);padding:10px 12px;font-family:inherit;font-size:14px}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.textarea{resize:vertical;min-height:70px;line-height:1.55}.input.error,.textarea.error{border-color:var(--danger)}.field-error{color:var(--danger);margin-top:4px;font-size:12px}.segmented{background:var(--surface-2);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.segmented label{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented .seg-pill{color:var(--text-2);transition:all var(--t-fast);border-radius:7px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.segmented input:checked+.seg-pill{background:var(--surface);color:var(--brand);box-shadow:var(--shadow-xs)}.segmented.segmented-block{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.segmented.segmented-block .seg-pill{justify-content:center}.form-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.btn{border-radius:var(--r-md);color:var(--text-1);transition:all var(--t-fast);white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn i{font-size:16px}.btn-primary{background:var(--brand);color:var(--text-inverse);box-shadow:var(--shadow-brand)}.btn-primary:hover{background:var(--brand-dark);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);color:var(--text-1);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.btn-soft{background:var(--surface-2);color:var(--text-1)}.btn-soft:hover{background:var(--border)}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text-1)}.btn-sm{padding:6px 12px;font-size:12.5px}.btn-lg{padding:14px 22px;font-size:15px}.btn-block{width:100%}.btn:disabled{opacity:.5;pointer-events:none}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.badge{border-radius:var(--r-pill);background:var(--surface-2);color:var(--text-2);align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.badge-success{background:var(--success-soft);color:#047857}.badge-warning{background:var(--warning-soft);color:#b45309}.badge-danger{background:var(--danger-soft);color:#b91c1c}.badge-info{background:var(--info-soft);color:#0369a1}.badge-brand{background:var(--brand-soft);color:var(--brand-dark)}.dot{background:var(--text-3);border-radius:50%;width:8px;height:8px;display:inline-block}.dot.green{background:var(--success)}.dot.amber{background:var(--warning)}.dot.red{background:var(--danger)}.dot.blue{background:var(--info)}.dot.brand{background:var(--brand)}.welcome-hero{text-align:center;padding:var(--space-9) var(--space-5) var(--space-7)}.welcome-icon{background:var(--brand);width:64px;height:64px;color:var(--text-inverse);border-radius:var(--r-lg);margin-bottom:var(--space-5);box-shadow:var(--shadow-brand);justify-content:center;align-items:center;display:inline-flex}.welcome-icon i{font-size:32px}.welcome-hero h1{margin-bottom:var(--space-3);letter-spacing:-.02em;font-size:28px}.welcome-hero .lead{color:var(--text-2);max-width:520px;margin:0 auto var(--space-6);font-size:15px;line-height:1.6}.feature-chips{justify-content:center;gap:var(--space-2);margin-bottom:var(--space-7);flex-wrap:wrap;display:flex}.feature-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;display:inline-flex}.feature-chip i{color:var(--brand);font-size:14px}.meal-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4);gap:var(--space-3);transition:border-color var(--t-fast);flex-direction:column;display:flex}.meal-block:hover{border-color:var(--border-strong)}.meal-block.is-focused{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.meal-block-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.meal-block-name{flex:1;align-items:center;gap:10px;display:flex}.meal-icon{background:var(--surface-2);border-radius:var(--r-md);width:32px;height:32px;color:var(--text-2);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.meal-icon i{font-size:16px}.meal-name-input{color:var(--text-1);background:0 0;border:none;flex:1;min-width:0;padding:0;font-size:14px;font-weight:600}.meal-name-input:focus{outline:none}.meal-name-input::placeholder{color:var(--text-3);font-weight:500}.meal-remove{color:var(--text-3);border-radius:var(--r-sm);transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;padding:6px}.meal-remove:hover{color:var(--danger);background:var(--danger-soft)}.meal-text{border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text-1);resize:vertical;min-height:64px;transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:10px 12px;font-family:inherit;font-size:14px}.meal-text:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.meal-add-btn{background:var(--surface-soft);border:1.5px dashed var(--border);border-radius:var(--r-lg);width:100%;color:var(--text-2);transition:all var(--t-fast);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:13.5px;font-weight:500;display:inline-flex}.meal-add-btn:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.results{gap:var(--space-6);margin-top:var(--space-7);flex-direction:column;animation:.5s cubic-bezier(.16,1,.3,1) results-rise;display:flex}@keyframes results-rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.calorie-hero{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:var(--space-7);gap:var(--space-7);box-shadow:var(--shadow-sm);grid-template-columns:280px 1fr;align-items:center;display:grid}.donut-wrap{justify-content:center;align-items:center;display:flex;position:relative}.donut-svg{width:240px;height:240px;transform:rotate(-90deg)}.donut-bg{fill:none;stroke:var(--surface-2);stroke-width:16px}.donut-fg{fill:none;stroke:var(--brand);stroke-width:16px;stroke-linecap:round;transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1)}.donut-center{text-align:center;pointer-events:none;position:absolute}.donut-center .kcal-value{font-family:var(--font-mono);color:var(--text-1);letter-spacing:-.02em;font-size:38px;font-weight:600;line-height:1}.donut-center .kcal-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-top:6px;font-size:11px}.donut-center .kcal-pct{color:var(--text-2);margin-top:8px;font-size:13px}.energy-info{gap:var(--space-4);flex-direction:column;display:flex}.energy-info-header h2{margin-bottom:4px;font-size:20px}.energy-info-header .energy-sub{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.energy-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.energy-card{background:var(--surface-2);border-radius:var(--r-md);padding:var(--space-3) var(--space-4)}.energy-card .ec-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:5px;font-size:11px;display:flex}.energy-card .ec-label i{font-size:13px}.energy-card .ec-value{font-family:var(--font-mono);color:var(--text-1);letter-spacing:-.01em;margin-top:6px;font-size:18px;font-weight:600}.energy-card .ec-unit{color:var(--text-3);margin-left:3px;font-size:12px;font-weight:500}.energy-card.is-positive .ec-value{color:var(--success)}.macro-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.macro-bar{background:var(--surface-2);border-radius:var(--r-md);padding:var(--space-4)}.macro-bar-head{margin-bottom:var(--space-2);justify-content:space-between;align-items:baseline;display:flex}.macro-bar-name{color:var(--text-2);align-items:center;gap:7px;font-size:13px;font-weight:500;display:flex}.macro-bar-name .macro-dot{border-radius:50%;width:9px;height:9px}.macro-bar-value{font-family:var(--font-mono);font-size:13.5px}.macro-bar-value .v-now{color:var(--text-1);font-weight:600}.macro-bar-value .v-target{color:var(--text-3)}.bar-track{background:var(--border);border-radius:4px;height:7px;overflow:hidden}.bar-fill{border-radius:4px;width:0;height:100%;transition:width 1s cubic-bezier(.16,1,.3,1)}.macro-bar[data-macro=protein] .macro-dot,.macro-bar[data-macro=protein] .bar-fill{background:var(--macro-protein)}.macro-bar[data-macro=carb] .macro-dot,.macro-bar[data-macro=carb] .bar-fill{background:var(--macro-carb)}.macro-bar[data-macro=fat] .macro-dot,.macro-bar[data-macro=fat] .bar-fill{background:var(--macro-fat)}.macro-bar[data-macro=fiber] .macro-dot,.macro-bar[data-macro=fiber] .bar-fill{background:var(--success)}.macro-bar-pct{color:var(--text-3);text-align:right;margin-top:6px;font-size:11.5px}.quick-stats{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.qstat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--space-4)}.qstat-head{color:var(--text-3);align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.qstat-head i{border-radius:var(--r-sm);background:var(--surface-2);justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:inline-flex}.qstat-value{font-family:var(--font-mono);color:var(--text-1);letter-spacing:-.01em;font-size:19px;font-weight:600}.qstat-value .unit{color:var(--text-3);margin-left:3px;font-size:12px;font-weight:500}.qstat-sub{color:var(--text-3);margin-top:2px;font-size:11.5px}.micro-summary{gap:var(--space-2);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.micro-chip{background:var(--surface-2);border-radius:var(--r-pill);color:var(--text-2);align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;display:inline-flex}.micro-chip .mc-num{font-family:var(--font-mono);color:var(--text-1);font-weight:600}.micro-grid{gap:var(--space-5) var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.micro-list-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:0 0 var(--space-3);align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.nutrient-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 0;font-size:13px;display:flex}.nutrient-row:last-child{border-bottom:none}.nutrient-name{color:var(--text-2);flex:1;min-width:0}.nutrient-bar{background:var(--surface-2);border-radius:2px;width:80px;height:4px;overflow:hidden}.nutrient-bar .nbar{border-radius:2px;height:100%;transition:width .9s cubic-bezier(.16,1,.3,1)}.nutrient-pct{font-family:var(--font-mono);text-align:right;min-width:44px;font-size:12px;font-weight:600}.nutrient-row[data-status=adequate] .nbar{background:var(--success)}.nutrient-row[data-status=adequate] .nutrient-pct{color:var(--success)}.nutrient-row[data-status=borderline] .nbar{background:var(--warning)}.nutrient-row[data-status=borderline] .nutrient-pct{color:#b45309}.nutrient-row[data-status=low] .nbar{background:var(--danger)}.nutrient-row[data-status=low] .nutrient-pct{color:var(--danger)}.nutrient-row[data-status=high] .nbar{background:var(--info)}.nutrient-row[data-status=high] .nutrient-pct{color:var(--info)}.meal-detail{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5)}.meal-detail-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.meal-detail-head h3{align-items:center;gap:10px;font-size:15px;display:flex}.meal-detail-head h3 .meal-icon{background:var(--brand-soft);width:28px;height:28px;color:var(--brand)}.meal-detail-totals{gap:var(--space-4);flex-wrap:wrap;display:flex}.meal-detail-totals span{color:var(--text-2);font-size:12px}.meal-detail-totals span .num{color:var(--text-1);font-weight:600}.branch-grid{background:var(--surface-2);border-radius:var(--r-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:8px;display:grid}.branch-grid input[type=radio]{display:none}.branch-grid label{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);cursor:pointer;transition:border-color var(--t-fast), background var(--t-fast);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.branch-grid label:hover{border-color:var(--brand);background:#ec1f270a}.branch-grid input:checked+label{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:0 2px 8px #ec1f272e}.branch-grid input:checked+label i{color:#fff}.branch-grid label i{color:var(--text-3);flex-shrink:0;font-size:15px}.meal-items{flex-direction:column;gap:8px;display:flex}.meal-item{background:var(--surface-2);border-radius:var(--r-sm);border-left:3px solid var(--brand);transition:background var(--t-fast);flex-direction:column;gap:6px;padding:12px 14px;font-size:13px;display:flex}.meal-item:hover{background:#0f172a0a}.meal-item.unmatched{color:#9a3412;opacity:1;background:#fff7ed;border-left-color:#ea580c}.meal-item.unmatched .mi-name{color:#9a3412}.mi-header{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.mi-name{color:var(--text-1);font-size:14px;font-weight:600}.mi-raw{color:var(--text-3);font-size:11.5px;font-style:italic}.mi-qty-sep{color:var(--text-3)}.mi-qty{color:var(--text-2);font-size:13px;font-family:var(--font-mono)}.mi-stats{color:var(--text-3);flex-wrap:wrap;gap:4px 16px;font-size:12.5px;display:flex}.mi-stat{white-space:nowrap}.mi-stat strong{color:var(--text-1);font-weight:600;font-family:var(--font-mono);margin-right:1px}.mi-stat.mi-kcal strong{color:var(--brand);font-size:13.5px}.empty{text-align:center;padding:var(--space-7);color:var(--text-3)}.empty i{color:var(--text-3);margin:0 auto var(--space-3);font-size:32px;display:block}.alert{border-radius:var(--r-md);align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.alert i{flex-shrink:0;margin-top:1px;font-size:18px}.alert-warning{background:var(--warning-soft);color:#92400e}.alert-danger{background:var(--danger-soft);color:#991b1b}.alert-info{background:var(--info-soft);color:#075985}.alert-success{background:var(--success-soft);color:#065f46}@media (max-width:960px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;padding:6px var(--space-3);border-right:none;border-top:1px solid var(--border);z-index:100;flex-direction:row;gap:0;position:fixed;inset:auto 0 0;overflow-x:auto}.sidebar-brand,.sidebar-section-title,.sidebar-footer{display:none}.sidebar-nav{flex-direction:row;flex:1;justify-content:space-around;gap:4px}.sidebar-nav a{text-align:center;flex-direction:column;align-items:center;gap:3px;min-width:56px;padding:6px 10px;font-size:10.5px}.sidebar-nav a i{font-size:18px}.sidebar-nav a.active{color:var(--brand);background:0 0}.topbar{padding:0 var(--space-4);height:56px}.content{padding:var(--space-4) var(--space-4) calc(var(--space-7) + 80px)}.calorie-hero{padding:var(--space-5);gap:var(--space-5);text-align:center;grid-template-columns:1fr}.donut-svg{width:200px;height:200px}.donut-center .kcal-value{font-size:30px}.micro-grid{grid-template-columns:1fr}.welcome-hero{padding:var(--space-7) var(--space-3) var(--space-5)}.welcome-hero h1{font-size:22px}}@media (max-width:540px){.form-grid{grid-template-columns:1fr 1fr}.segmented.segmented-block{grid-auto-flow:row}}.recs-list{flex-direction:column;gap:10px;display:flex}.rec-item{background:var(--surface-2);border-radius:10px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.rec-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:16px;display:flex}.rec-good .rec-icon{color:#10b981;background:#dcfce7}.rec-info .rec-icon{color:#0ea5e9;background:#e0f2fe}.rec-warning .rec-icon{color:#f59e0b;background:#fef3c7}.rec-action .rec-icon{color:#ef4444;background:#fee2e2}.rec-body{flex:1;min-width:0}.rec-title{color:var(--text-1);margin-bottom:3px;font-size:15px;font-weight:600;line-height:1.3}.rec-text{color:var(--text-2);font-size:13.5px;line-height:1.55}#results{display:none}#results.is-visible{animation:.5s cubic-bezier(.16,1,.3,1) results-rise;display:flex}.results-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-4) var(--space-5);justify-content:space-between;align-items:center;gap:var(--space-4);box-shadow:var(--shadow-xs);display:flex}.results-banner-text{flex-direction:column;gap:3px;display:flex}.results-banner-text strong{font-size:16px;font-weight:600}.results-banner-text span{color:var(--text-2);font-size:13px}.results-banner-meta{color:var(--text-3);white-space:nowrap;font-size:12.5px}.summary-grid{gap:var(--space-5);grid-template-columns:1fr 1fr 1fr;align-items:start;display:grid}.summary-col{align-items:center;gap:var(--space-3);flex-direction:column;width:100%;display:flex}.sc-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);align-self:flex-start;font-size:11px;font-weight:600}.donut-outer{justify-content:center;align-items:center;display:flex;position:relative}.donut-outer svg{display:block}.donut-outer svg circle{transition:stroke-dashoffset 1.2s cubic-bezier(.16,1,.3,1)}.donut-inner{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px}.di-num{font-family:var(--font-mono);letter-spacing:-.02em;color:var(--text-1);font-size:26px;font-weight:700;line-height:1}.di-lbl{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);font-size:10px}.di-pct{color:var(--text-2);font-size:11.5px;font-weight:500}.donut-footer{align-items:center;gap:var(--space-3);justify-content:center;width:100%;display:flex}.df-stat{flex-direction:column;align-items:center;gap:2px;display:flex}.df-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.df-val{font-family:var(--font-mono);color:var(--text-1);font-size:15px;font-weight:600}.df-val.green{color:var(--success)}.df-val.amber{color:var(--warning)}.df-val.red{color:var(--danger)}.df-sep{background:var(--border);width:1px;height:26px}.vbar-group{gap:var(--space-4);justify-content:center;align-items:flex-start;width:100%;display:flex}.macro-vbar{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.vbar-val{font-family:var(--font-mono);color:var(--text-1);white-space:nowrap;text-align:center;min-height:16px;font-size:11px;font-weight:600}.vbar-track{background:var(--surface-2);border-radius:6px;flex-shrink:0;width:22px;height:110px;position:relative;overflow:hidden}.vbar-fill{border-radius:6px;height:2px;transition:height 1s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0;right:0}.vbar-protein{background:var(--macro-protein)}.vbar-carb{background:var(--macro-carb)}.vbar-fat{background:var(--macro-fat)}.vbar-fiber{background:var(--success)}.vbar-name{color:var(--text-2);text-align:center;font-size:10px;font-weight:500}.vbar-pct{font-size:10px;font-family:var(--font-mono);color:var(--text-3)}.vbar-pct.green{color:var(--success)}.vbar-pct.amber{color:var(--warning)}.vbar-pct.red{color:var(--danger)}.qstat-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;width:100%;display:grid}.qstat2{background:var(--surface-2);border-radius:var(--r-md);padding:var(--space-3) var(--space-2);text-align:center;flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.qs2-icon{color:var(--text-3);font-size:16px}.qs2-val{font-family:var(--font-mono);color:var(--text-1);letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1}.qs2-unit{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);font-size:10px}.qs2-name{color:var(--text-2);font-size:10.5px;font-weight:500}.card-head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.card-head h2{align-items:center;gap:8px;display:flex}.results-meta{color:var(--text-3);font-size:12px}.micro-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.micros-two-col{gap:var(--space-4) var(--space-7);grid-template-columns:1fr 1fr;display:grid}.micro-col-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:var(--space-3);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.micro-bar-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 80px 40px;grid-template-areas:"head bar pct""detail detail detail";align-items:center;gap:6px 10px;padding:8px 0;font-size:12.5px;display:grid}.micro-bar-row:last-child{border-bottom:none}.micro-bar-head{grid-area:head;justify-content:space-between;align-items:center;display:flex}.micro-bar-name{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.micro-bar-track{background:var(--surface-2);border-radius:2px;grid-area:bar;height:4px;overflow:hidden}.micro-bar-fill{border-radius:2px;width:2%;height:100%;transition:width .9s cubic-bezier(.16,1,.3,1)}.micro-bar-fill.green{background:var(--success)}.micro-bar-fill.amber{background:var(--warning)}.micro-bar-fill.red{background:var(--danger)}.micro-bar-fill.sky{background:var(--info)}.micro-bar-pct{font-family:var(--font-mono);text-align:right;grid-area:pct;font-size:11px;font-weight:600}.micro-bar-pct.green{color:var(--success)}.micro-bar-pct.amber{color:var(--warning)}.micro-bar-pct.red{color:var(--danger)}.micro-bar-pct.sky{color:var(--info)}.micro-bar-detail{background:var(--surface-2);border-radius:var(--r-sm);flex-direction:column;grid-area:detail;gap:4px;margin-top:4px;padding:10px 12px;font-size:12.5px;display:flex}.micro-bar-detail[hidden]{display:none!important}.md-row{justify-content:space-between;gap:12px;display:flex}.md-label{color:var(--text-3)}.md-val{color:var(--text-1);text-align:right;flex:1;font-weight:500}.micro-expand{cursor:pointer;width:20px;height:20px;color:var(--text-3);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.micro-expand:hover{color:var(--brand)}.analyze-cta-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.cta-hint{color:var(--text-3);font-size:13px}.seg-ratio{font-family:var(--font-mono);color:var(--text-3);margin-left:4px;font-size:10.5px}.hint{color:var(--text-3);margin-left:4px;font-size:11px;font-weight:400}.meals-container{gap:var(--space-3);flex-direction:column;display:flex}.meal-name{flex-direction:column;gap:4px;display:flex}.meal-name label{color:var(--text-3);font-size:11px;font-weight:500}.input-meal-name{border:none;border-bottom:1px solid var(--border);color:var(--text-1);background:0 0;width:100%;padding:4px 0;font-family:inherit;font-size:14px;font-weight:600}.input-meal-name:focus{border-bottom-color:var(--brand);outline:none}.meal-actions{justify-content:flex-end;display:flex}.btn-icon{border-radius:var(--r-sm);color:var(--text-3);transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;padding:6px}.btn-icon:hover{color:var(--danger);background:var(--danger-soft)}.add-meal-row{padding-top:var(--space-2);justify-content:flex-start;display:flex}.error-box{background:var(--danger-soft);border-radius:var(--r-md);padding:var(--space-4);color:#991b1b;border:1px solid #fecaca;font-size:13px}.error-box strong{align-items:center;gap:6px;margin-bottom:8px;display:flex}.error-box ul{margin:0;padding-left:20px}.error-box li{margin-bottom:4px}.segmented label[title]{position:relative}.segmented label[title]:hover:after{content:attr(title);background:var(--text-1);color:#fff;border-radius:var(--r-sm);white-space:normal;z-index:100;pointer-events:none;opacity:0;text-align:center;max-width:240px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.4;animation:.2s forwards tooltipIn;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}@keyframes tooltipIn{to{opacity:1}}.qstat-info{color:var(--text-3);cursor:help;font-size:13px;position:absolute;top:8px;right:8px}.qstat-info:hover{color:var(--brand)}.qstat2[data-info]:hover:after{content:attr(data-info);background:var(--text-1);color:#fff;border-radius:var(--r-sm);white-space:normal;z-index:100;pointer-events:none;opacity:0;text-align:center;max-width:220px;padding:8px 12px;font-size:12px;font-weight:400;line-height:1.4;animation:.2s forwards tooltipIn;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.unmatched-banner{border-radius:var(--r-md);color:#9a3412;margin-bottom:var(--space-3);background:#fff7ed;border:1px solid #fed7aa;align-items:flex-start;gap:12px;padding:12px 16px;font-size:13px;display:flex}.unmatched-banner i{color:#ea580c;flex-shrink:0;margin-top:1px;font-size:18px}.unmatched-banner strong{margin-bottom:2px;display:block}.unmatched-foods{flex-wrap:wrap;gap:4px;margin:6px 0 4px;display:flex}.unmatched-foods span{background:#fed7aa;border-radius:4px;padding:1px 7px;font-size:11.5px;font-weight:500}.unmatched-hint{color:#c2410c;margin-top:3px;font-size:12px}.chip-preview{flex-wrap:wrap;gap:5px;margin-top:6px;display:none}.chip{border-radius:20px;align-items:center;padding:3px 9px;font-size:11.5px;font-weight:500;transition:background .2s;display:inline-flex}.chip-loading{background:var(--surface-2);color:var(--text-3)}.chip-ok{color:#065f46;background:#d1fae5}.chip-ok:before{content:"✓ "}.chip-unknown{color:#92400e;background:#fef3c7}.chip-unknown:before{content:"? "}.autocomplete-wrap{position:relative}.autocomplete-list{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);z-index:50;max-height:260px;position:absolute;top:calc(100% - 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0f172a14}.ac-item{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text-1);background:0 0;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:13.5px;display:flex}.ac-item:hover{background:var(--surface-2)}.ac-item:last-child{border-bottom:none}.ac-item i{color:var(--text-3);flex-shrink:0;font-size:14px}.az-page{gap:var(--space-5);max-width:640px;padding:var(--space-6) 0;flex-direction:column;width:100%;margin:0 auto;display:flex}.az-header{text-align:center;padding:var(--space-4) 0 var(--space-2)}.az-logo{letter-spacing:-.05em;color:var(--text-1);margin-bottom:var(--space-4);text-transform:lowercase;font-size:26px;font-weight:800}.az-logo span{color:var(--brand)}.az-headline{letter-spacing:-.03em;color:var(--text-1);margin:0 0 var(--space-2);font-size:clamp(22px,4vw,32px);font-weight:700;line-height:1.15}.az-sub{color:var(--text-3);margin:0;font-size:15px}.az-info-card{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg)}.az-info-toggle{width:100%;padding:var(--space-4) var(--space-5);cursor:pointer;color:var(--text-2);text-align:left;border-radius:var(--r-lg);transition:color var(--t-fast), background var(--t-fast);background:0 0;border:none;justify-content:space-between;align-items:center;font-family:inherit;font-size:14px;font-weight:600;display:flex}.az-info-toggle:hover{color:var(--text-1);background:var(--surface-2)}.az-info-toggle-label{align-items:center;gap:8px;display:flex}.az-toggle-icon{transition:transform .25s var(--t-smooth);font-size:13px}.az-toggle-open{transform:rotate(180deg)}.az-info-body{padding:var(--space-5);border-top:1px solid var(--border);gap:var(--space-4);flex-direction:column;display:flex}.az-collapse-enter{transition:opacity .2s,transform .2s}.az-collapse-start{opacity:0;transform:translateY(-8px)}.az-collapse-end{opacity:1;transform:translateY(0)}.az-field-row{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.az-field-row-2{grid-template-columns:1fr 1fr}.az-field{flex-direction:column;gap:5px;display:flex}.az-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.az-label-unit{text-transform:none;margin-left:4px;font-weight:400}.az-input{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-1);transition:border-color var(--t-fast), box-shadow var(--t-fast);padding:8px 12px;font-family:inherit;font-size:14px;font-weight:500}.az-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.az-select{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text-1);cursor:pointer;transition:border-color var(--t-fast), box-shadow var(--t-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23A8A29E' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:8px 32px 8px 12px;font-family:inherit;font-size:13.5px}.az-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow);outline:none}.az-gender-row{gap:6px;display:flex}.az-gender-opt{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:flex}.az-gender-opt:has(input:checked){border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.az-gender-opt input{opacity:0;width:0;height:0;position:absolute}.az-macro-group{flex-direction:column;gap:6px;display:flex}.az-macro-opt{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-sm);cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:9px 14px;font-family:inherit;font-size:13px;transition:border-color .15s,color .15s,background .15s;display:flex}.az-macro-opt:has(input:checked){border-color:var(--brand);color:var(--text-1);background:var(--brand-soft)}.az-macro-opt input{opacity:0;width:0;height:0;position:absolute}.az-macro-name{align-items:center;gap:8px;font-weight:500;display:flex}.az-macro-ratio{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.az-branch-grid{flex-wrap:wrap;gap:6px;display:flex}.az-branch-grid input[type=radio]{opacity:0;width:0;height:0;position:absolute}.az-branch-grid label{background:var(--surface-2);border:1.5px solid var(--border);border-radius:var(--r-pill);cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 12px;font-size:12.5px;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.az-branch-grid label i{font-size:14px}.az-branch-grid input[type=radio]:checked+label{border-color:var(--brand);color:var(--brand);background:var(--brand-soft)}.az-meal-wrap{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--r-lg);transition:border-color var(--t-fast), box-shadow var(--t-fast);position:relative}.az-meal-wrap:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-glow)}.az-meal-wrap .autocomplete-list{border-top:1px solid var(--border);border-radius:0 0 var(--r-lg) var(--r-lg);border:1px solid var(--border);z-index:50;border-top:none;position:absolute;top:100%;left:-1.5px;right:-1.5px;box-shadow:0 8px 24px #0f172a12}.az-meal-input{width:100%;padding:var(--space-4) var(--space-5);resize:vertical;color:var(--text-1);background:0 0;border:none;outline:none;min-height:130px;font-family:inherit;font-size:15px;line-height:1.65;display:block}.az-meal-input::placeholder{color:var(--text-3)}.az-meal-hint{color:var(--text-3);margin-top:calc(0px - var(--space-3));align-items:flex-start;gap:6px;font-size:12.5px;display:flex}.az-meal-hint i{flex-shrink:0;margin-top:1px;font-size:13px}.az-cta{align-items:center;gap:var(--space-2);padding-top:var(--space-2);flex-direction:column;display:flex}.az-submit{background:var(--brand);color:#fff;border-radius:var(--r-pill);cursor:pointer;letter-spacing:-.01em;min-width:200px;transition:opacity var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);border:none;justify-content:center;align-items:center;gap:10px;padding:13px 44px;font-family:inherit;font-size:15px;font-weight:600;display:inline-flex;box-shadow:0 2px 12px #ec1f2740}.az-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 18px #ec1f274d}.az-submit:active:not(:disabled){transform:translateY(0)}.az-submit:disabled{opacity:.55;cursor:not-allowed}@keyframes az-spin{to{transform:rotate(360deg)}}.az-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite az-spin;display:none}.az-submit.is-loading .az-spinner{display:block}.az-submit.is-loading .az-submit-icon{display:none}.az-submit-hint{color:var(--text-3);font-size:12px}.az-errors{border-radius:var(--r-md);padding:var(--space-4);color:#92400e;background:#fffbeb;border:1px solid #fde68a;font-size:13px}.az-errors strong{color:#b45309;align-items:center;gap:6px;margin-bottom:8px;display:flex}.az-errors ul{margin:0;padding-left:20px}.az-errors li{margin-bottom:4px}.micro-card{border-bottom:1px solid var(--border);padding:12px 0;font-size:12.5px}.micro-card:last-child{border-bottom:none}.mc-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.mc-name-row{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mc-name{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.mc-badge{font-family:var(--font-mono);border-radius:var(--r-pill);letter-spacing:.02em;flex-shrink:0;padding:2px 7px;font-size:10.5px;font-weight:600}.mc-badge-low{color:#92400e;background:#fef3c7}.mc-badge-borderline{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.mc-badge-adequate{color:#065f46;background:#d1fae5}.mc-badge-high{color:#475569;background:#f1f5f9}.mc-bar-wrap{background:var(--surface-2);border-radius:3px;height:5px;margin-bottom:6px;overflow:hidden}.mc-bar-fill{border-radius:3px;width:0;height:100%}.mc-low{background:var(--warning)}.mc-borderline{background:#94a3b8}.mc-adequate{background:var(--success)}.mc-high{background:#94a3b8}.mc-stats{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.mc-stats strong{color:var(--text-1)}.mc-diff{font-size:11.5px;font-weight:500}.mc-diff-low{color:#b45309}.mc-diff-good{color:#059669}.mc-diff-muted{color:var(--text-3)}.mc-toggle{cursor:pointer;width:22px;height:22px;color:var(--text-3);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.mc-toggle:hover{color:var(--brand);background:var(--surface-2)}.mc-detail{background:var(--surface-2);border-radius:var(--r-sm);margin-top:8px;padding:10px 12px}.mc-detail[hidden]{display:none}.mc-sources{flex-wrap:wrap;gap:6px;display:flex}.src-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-2);align-items:center;padding:3px 9px;font-size:11.5px;display:inline-flex}.mc-layer1{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.mc-chip-group{align-items:flex-start;gap:10px;display:flex}.mc-chip-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);flex-shrink:0;min-width:48px;padding-top:4px;font-size:11px;font-weight:600}.mc-chips-row{flex-wrap:wrap;gap:6px;display:flex}.mc-chip{border-radius:var(--r-pill);align-items:center;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.mc-chip-good{color:#065f46;background:#d1fae5}.mc-chip-low{color:#92400e;background:#fef3c7}.mc-chip-muted{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.mc-show-all{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;width:100%;color:var(--text-2);transition:background var(--t-fast), color var(--t-fast), border-color var(--t-fast);margin-bottom:var(--space-4);justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.mc-show-all:hover{background:var(--surface);color:var(--brand);border-color:var(--brand)}.mc-layer2{gap:var(--space-6);flex-direction:column;display:flex}.mc-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:var(--space-3);align-items:center;gap:6px;font-size:11.5px;font-weight:600;display:flex}.mc-list{flex-direction:column;display:flex}.mc-fade-enter{transition:opacity .2s,transform .2s}.mc-fade-enter-start{opacity:0;transform:translateY(-6px)}.mc-fade-enter-end{opacity:1;transform:translateY(0)}@media (max-width:760px){.summary-grid,.micros-two-col{grid-template-columns:1fr}.analyze-cta-row,.results-banner{flex-direction:column;align-items:flex-start}.az-field-row{grid-template-columns:1fr 1fr}.az-field-row-2{grid-template-columns:1fr}.az-headline{font-size:22px}.az-page{padding:var(--space-4) 0}}@keyframes skel-pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes skel-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skel-block{background:var(--surface-2);border-radius:var(--r-sm)}.skel-pulse{animation:1.4s ease-in-out infinite skel-pulse}.skel-micro{height:54px;margin-bottom:8px;position:relative;overflow:hidden}.skel-micro:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff2e 50%,#0000 100%);animation:1.8s infinite skel-shimmer;position:absolute;inset:0}.skel-meal{border-radius:var(--r-md);height:88px;margin-bottom:10px;position:relative;overflow:hidden}.skel-meal:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff2e 50%,#0000 100%);animation:1.8s .2s infinite skel-shimmer;position:absolute;inset:0}.results-loading .donut-outer,.results-loading .vbar-group,.results-loading .qstat-grid{opacity:.12;pointer-events:none;transition:opacity .3s}.results-loading .results-banner{opacity:.35}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-7) var(--space-4);text-align:center;color:var(--text-3);flex-direction:column;display:flex}.empty-state-icon{color:var(--border);margin-bottom:var(--space-1);font-size:32px}.empty-state-title{color:var(--text-2);font-size:13.5px;font-weight:600}.empty-state-sub{color:var(--text-3);font-size:12.5px}.friendly-error{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);align-items:flex-start;gap:14px;padding:14px 18px;display:flex}.friendly-error-icon{color:var(--text-3);flex-shrink:0;margin-top:1px;font-size:22px}.friendly-error-body strong{color:var(--text-1);margin-bottom:3px;font-size:14px;display:block}.friendly-error-body p{color:var(--text-2);margin:0;font-size:13px;line-height:1.5}.card{transition:transform .16s var(--t-smooth), border-color .16s, box-shadow .16s}.card:hover{border-color:#ec1f2738;transform:translateY(-1px);box-shadow:0 4px 18px #0f172a12}@keyframes badge-bounce{0%{transform:scale(1)}35%{transform:scale(1.18)}65%{transform:scale(.95)}to{transform:scale(1)}}.mc-badge:active{animation:badge-bounce .28s var(--t-smooth)}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.results.is-visible .results-banner{animation:banner-in .4s var(--t-smooth) both}.callout{animation:banner-in .35s var(--t-smooth) .2s both}@media print{.sidebar,.topbar,.meal-add-btn,.btn{display:none!important}.app-shell{grid-template-columns:1fr}.content{padding:0}.card,.calorie-hero{box-shadow:none;border:1px solid #ddd}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@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}
/* ── Rich chip system ───────────────────────────────────────── */
.chip-preview{display:none;flex-wrap:wrap;gap:6px;margin-top:8px}
.chip-rich{display:inline-flex;align-items:center;gap:4px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);padding:3px 7px;font-size:12px;max-width:100%;transition:border-color .15s,background .15s}
.chip-rich.chip-loading{background:var(--surface-2);opacity:.75;pointer-events:none}
.chip-rich.chip-complete{border-color:#6ee7b7;background:#ecfdf5}
.chip-rich.chip-missing{border-color:#fcd34d;background:#fffbeb}
.chip-rich.chip-error{border-color:#fca5a5;background:#fef2f2}
.chip-qty{width:40px;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--text-1);text-align:center;padding:0 2px;outline:none;min-width:0;-moz-appearance:textfield}
.chip-qty::-webkit-inner-spin-button,.chip-qty::-webkit-outer-spin-button{-webkit-appearance:none}
.chip-qty:focus{background:rgba(0,0,0,.05);border-radius:4px}
.chip-unit{border:none;background:transparent;font-size:11px;color:var(--text-2);cursor:pointer;padding:0 2px;outline:none;max-width:88px;min-width:0}
.chip-unit:focus{background:rgba(0,0,0,.05);border-radius:4px}
.chip-divider{color:var(--text-3);font-size:11px;user-select:none}
.chip-name{font-size:12px;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.chip-badge{font-size:10px;font-weight:600;white-space:nowrap;padding:1px 5px;border-radius:10px}
.chip-missing .chip-badge{color:#92400e;background:#fde68a}
.chip-error .chip-badge{color:#991b1b;background:#fecaca}
.chip-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:none;background:transparent;color:var(--text-3);cursor:pointer;font-size:14px;line-height:1;padding:0;flex-shrink:0;margin-left:2px}
.chip-remove:hover{background:rgba(0,0,0,.08);color:var(--text-1)}
.submit-guard-hint{font-size:12px;color:var(--text-2);margin-top:6px;text-align:center;display:none}

/* ── Mikro besin şeffaflık katmanı ─────────────────────────── */
.micro-coverage-note{padding:8px 14px;font-size:12px;color:var(--text-3);background:var(--surface-soft,#fafbfc);border-bottom:1px solid var(--border);line-height:1.5}
.micro-coverage-note .bi{margin-right:4px;opacity:.7}
.mt-row-insufficient td{color:var(--text-3)!important;opacity:.65}
.mt-row-partial td .mt-amounts{color:var(--text-3)}
.mt-insufficient-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--text-3);background:var(--surface-soft,#f4f5f7);border:1px solid var(--border);border-radius:4px;padding:2px 8px;white-space:nowrap}
.mt-pct-partial{color:var(--text-3)!important}
.mt-pct-fill-partial{opacity:.4!important}
